@olympeio/runtime-node 8.5.1 → 8.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/import/olympe.dm/datamodel/00_bootstrap.newInst.json +1 -1
  2. package/import/olympe.dm/datamodel/00_bootstrap.newRel.json +1 -1
  3. package/import/olympe.dm/datamodel/01_primitives.newInst.json +1 -1
  4. package/import/olympe.dm/datamodel/01_primitives.newRel.json +1 -1
  5. package/import/olympe.dm/datamodel/02_permissions.newInst.json +1 -1
  6. package/import/olympe.dm/datamodel/02_permissions.newRel.json +1 -1
  7. package/import/olympe.dm/datamodel/03_file.newInst.json +1 -1
  8. package/import/olympe.dm/datamodel/03_file.newRel.json +1 -1
  9. package/import/olympe.dm/datamodel/04_modules.newInst.json +1 -1
  10. package/import/olympe.dm/datamodel/04_modules.newRel.json +1 -1
  11. package/import/olympe.dm/datamodel/05_permission_schema.newInst.json +1 -1
  12. package/import/olympe.dm/datamodel/05_permission_schema.newRel.json +1 -1
  13. package/import/olympe.dm/datamodel/05_permission_schema.updateInst.json +1 -1
  14. package/import/olympe.dm/datamodel/06_structure.newInst.json +1 -1
  15. package/import/olympe.dm/datamodel/06_structure.newRel.json +1 -1
  16. package/import/olympe.sc/datamodel/00_primordial.newInst.json +1 -1
  17. package/import/olympe.sc/datamodel/00_primordial.newRel.json +1 -1
  18. package/import/olympe.sc/datamodel/01_language.newInst.json +1 -1
  19. package/import/olympe.sc/datamodel/01_language.newRel.json +1 -1
  20. package/import/olympe.sc/datamodel/logic/01_functions.newInst.json +1 -1
  21. package/import/olympe.sc/datamodel/logic/01_functions.newRel.json +1 -1
  22. package/import/olympe.sc/datamodel/logic/02_actions.newInst.json +1 -1
  23. package/import/olympe.sc/datamodel/logic/02_actions.newRel.json +1 -1
  24. package/index.d.ts +104 -21
  25. package/index.js +659 -646
  26. package/package.json +1 -1
package/index.js CHANGED
@@ -382,656 +382,669 @@ function da(a,b){if(b)a:{var c=ca;a=a.split('.');for(var d=0;d<a.length-1;d++){v
382
382
  da('Array.prototype.values',function(a){return a?a:function(){return ea(this,function(b,c){return c})}});da('Array.prototype.includes',function(a){return a?a:function(b,c){var d=this;d instanceof String&&(d=String(d));var e=d.length;c=c||0;for(0>c&&(c=Math.max(c+e,0));c<e;c++){var f=d[c];if(f===b||Object.is(f,b))return!0}return!1}});function fa(a){if(null==a)throw new TypeError("The 'this' value for String.prototype.padStart must not be null or undefined");return a+''}
383
383
  function ha(a,b){a=void 0!==a?String(a):' ';return 0<b&&a?a.repeat(Math.ceil(b/a.length)).substring(0,b):''}da('String.prototype.padStart',function(a){return a?a:function(b,c){var d=fa(this);return ha(c,b-d.length)+d}});da('String.prototype.padEnd',function(a){return a?a:function(b,c){var d=fa(this);return d+ha(c,b-d.length)}});da('Object.entries',function(a){return a?a:function(b){var c=[],d;for(d in b)Object.prototype.hasOwnProperty.call(b,d)&&c.push([d,b[d]]);return c}});
384
384
  da('Object.values',function(a){return a?a:function(b){var c=[],d;for(d in b)Object.prototype.hasOwnProperty.call(b,d)&&c.push(b[d]);return c}});da('Promise.prototype.finally',function(a){return a?a:function(b){return this.then(function(c){return Promise.resolve(b()).then(function(){return c})},function(c){return Promise.resolve(b()).then(function(){throw c;})})}});var ia=this||self;
385
- function v(a,b){a=a.split('.');let c=ia;a[0]in c||'undefined'==typeof c.execScript||c.execScript('var '+a[0]);for(let d;a.length&&(d=a.shift());)a.length||void 0===b?c[d]&&c[d]!==Object.prototype[d]?c=c[d]:c=c[d]={}:c[d]=b};const olympe={};'object'===typeof window&&(window.olympe=olympe);'object'===typeof global&&(global.olympe=olympe);olympe.EB=(a,...b)=>{b.forEach(c=>{Object.getOwnPropertyNames(c.prototype).forEach(d=>{'constructor'!==d&&void 0===a.prototype[d]&&(a.prototype[d]=c.prototype[d])})})};olympe.cb={};olympe.cb.node={};if('function'===typeof require){const a=require('buffer'),b=require('child_process'),c=require('fs'),d=require('http'),e=require('https'),f=require('lowdb'),g=require('os'),h=require('string_decoder'),k=require('url'),m=require('util'),n=require('ws'),p=require('xmlhttprequest'),q=require('zlib'),r=require('lowdb/adapters/FileAsync'),t=require('lowdb/adapters/Memory'),u={oq:process.argv,hC:process.on.bind(process),buffer:a.Buffer,Blob:global.Blob,exec:b.exec,spawn:b.spawn,createWriteStream:c.createWriteStream,
386
- exists:c.exists,existsSync:c.existsSync,mkdir:c.mkdir,mkdirSync:c.mkdirSync,readFile:c.readFile,readFileSync:c.readFileSync,rmdir:c.rmdir,rmdirSync:c.rmdirSync,writeFile:c.writeFile,writeFileSync:c.writeFileSync,Bw:f,XB:r,Aw:t,gunzipSync:q.gunzipSync,OB:d.createServer,ye:d.request,PB:e.createServer,jw:e.request,$B:g.platform,aC:g.release,hm:k.parse,StringDecoder:h.StringDecoder,WebSocket:n,XMLHttpRequest:p.XMLHttpRequest},w=/%c\[/g,x=/]\s([A-Za-z]+):\scolor:\s#[0-9a-f]+/g;class I{C(D,z){z=m.format.apply(null,
387
- z)+'\n';const T=x.exec(z);null!==T&&(z=z.replace(T[0],T[1]),z=z.substring(0,T.index)+' '+D+' '+z.substring(T.index,z.length),z=z.replace(w,''));w.lastIndex=0;x.lastIndex=0;process.stdout.write(z)}log(...D){this.C('LOG',D)}error(...D){this.C('ERROR',D)}warn(...D){this.C('WARN',D)}info(...D){this.C('INFO',D)}trace(...D){this.C('INFO',D)}}global.Blob=require('cross-blob');global.window=global;global.require=require;global.OlympeNodeAPI=u;global.console=new I}else'undefined'!==typeof window&&(window.OlympeNodeAPI=
388
- {},window.console=console);olympe.V={};olympe.V.Xe={};olympe.V.Xe.Qm=class{C(a){const b=Object.keys(a.Vd);let c,d;c=0;for(d=b.length;c<d;c++)if(a.ud(b[c]).mi())throw Error('Service "'+b[c]+'" is defined as abstract and needs to be overridden');}};olympe.V.Xe.Qm.ka=[olympe.V.Xe.Ho];olympe.V.Xe.Rm=class{C(a){function b(g,h){if(0<=h.indexOf(g))throw Error('Circular dependency detected: '+h.join(' > ')+' > '+g);h=h.concat(g);if(f[g]&&(delete f[g],g=a.ud(g),c(g.di(),h),g=g.Dh,null!==g))for(let k=0,m=g.length;k<m;k++)c(g[k].di(),h)}function c(g,h){for(let k=0,m=g.length,n;k<m;k++)n=g[k],n instanceof olympe.V.pc&&b(n.da(),h)}function d(){for(const g in f)if(Object.prototype.hasOwnProperty.call(f,g))return g}var e=Object.keys(a.Vd);const f={};for(let g=0,h=e.length;g<h;g++)f[e[g]]=
389
- !0;for(;void 0!==(e=d());)b(e,[])}};olympe.V.Xe.Rm.ka=[olympe.V.Xe.Ho];olympe.V.Xe.Ho=class{C(){}};const ja=[],ka=[];olympe.V.Sm=class{constructor(){}static C(a,b){ja.push(new olympe.V.gk(a,b))}static F(a,b,c){a.forEach(d=>{if(null===d||void 0===d)throw Error('Cannot proceed - DI configuration error. '+(c?`Run callback "${c}"`:'A run callback')+' cannot have a null or undefined dependency');});a.push(olympe.V.T.pf);ka.push(new olympe.V.gk(b,c,a))}};olympe.V.Cb=olympe.V.Sm.C;olympe.V.run=olympe.V.Sm.F;olympe.V.Xj=class{constructor(){}C(){}};olympe.V.gk=class{constructor(a,b,c){this.F=a;this.G=[];this.C=b;if(void 0!==c){this.G=c;for(let d=0,e=c.length;d<e;d++)'string'===typeof c[d]&&(c[d]=new olympe.V.pc(c[d]))}}di(){return this.G}};function la(a,b,c){let d=a.C[b];if(void 0===d){const e=a.F[b];if(void 0===e){if(c===olympe.V.Ge.C.Yg)return null;throw Error('Service "'+b+'" not found');}try{d=e.instantiate(a)}catch(f){throw a.N.error('Error during instantiation of service '+b),f;}!e.F&&(a.C[b]=d)}return d}function ma(a,b){const c=b.length,d=Array(c);let e,f;for(e=0;e<c;e++)a.N.C++,f=b[e],d[e]=f instanceof olympe.V.Xj?f.C(a):f,na(a.N);return d}
390
- olympe.V.Ge=class{constructor(a,b,c=2){this.F=a;this.parameters=b;this.C=Object.create(null);this.N=new olympe.V.no(c);a=olympe.V.T.pf;if(void 0!==this.C[a])throw Error('Service "'+a+'" has already been instantiated');this.C[a]=this}tb(){return this.N}getParameter(a){return this.parameters[a.toLowerCase()]}};olympe.V.Ge.C={dr:'exception',Yg:'null'};function oa(a,b,c){function d(f,g){let h,k,m;for(h in f)Object.prototype.hasOwnProperty.call(f,h)&&(k=f[h],m=g.concat((h.startsWith('#')?h.substring(1):h).toLowerCase()),'object'!==typeof k||null===k||h.startsWith('#')?e[m.join('.')]=k:d(k,m))}const e=a.parameters;d(b,c?[c]:[])}function y(a,b,c,...d){A(a.N,'Defining service '+b);a.C(b,c,d,!1,!1)}function pa(a,b,c,...d){A(a.N,'Defining service '+b);a.C(b,c,d,!1,!0)}
391
- function B(a,b,c,d,e=!1){A(a.N,'Defining service (as a factory) '+b);a.C(b,d,c,!0,e)}function qa(a,b,c,d=!1){A(a.N,'Defining service alias '+b);a.C(b,e=>e,[c],!0,d)}function ra(a,b){A(a.N,'Defining abstract service '+b);a.C(b).Uh=!0}function sa(a,b){a.parameters[olympe.J.Z.Lm.toLowerCase()]=b}function C(a,b,c){b=b.toLowerCase();Object.prototype.hasOwnProperty.call(a.parameters,b)||(a.parameters[b]=c)}
392
- olympe.V.Yq=class{constructor(a,b,c){this.Vd=Object.create(null);this.parameters=Object.create(null);this.L=[new olympe.V.Xe.Qm,new olympe.V.Xe.Rm];this.F=[];a&&oa(this,a);b&&oa(this,b,'version');c&&oa(this,c);a=this.getParameter(olympe.V.Z.rs);this.G=void 0!==a?a:3;this.N=new olympe.V.no(this.G)}tb(){return this.N}C(a,b,c,d,e){const f=a instanceof olympe.V.pc?a.da():a;if(3<=arguments.length&&c){const h=c.indexOf(f);if(-1!==h){if(void 0===this.Vd[f])throw Error(`ContainerBuilder.define: Service ${f} references itself and is not an override definition!`);
393
- var g=this.Vd[f];g.id=g.id+'!!'+ ++olympe.V.qk.C;g.F=!0;g=g.id;c[h]=g;this.Vd[g]=this.Vd[f]}}this.Vd[f]=new olympe.V.qk(b,c,d||!1,f);return this.Vd[f]}ud(a){a=this.Vd[a];if(void 0===a)throw Error();return a}getParameter(a){return this.parameters[a.toLowerCase()]}compile(){var a=this.F;this.N.debug('Calling '+a.length+' configure callbacks');this.N.C++;for(let b=0,c=a.length;b<c;b++)A(this.N,'Calling callback'),this.N.C++,a[b].call(null,this),na(this.N);na(this.N);this.N.debug('Configuration summary: '+
394
- Object.keys(this.Vd).length+' definitions');this.N.debug('Compiling...');this.N.C++;a=this.L;for(let b=0,c=a.length;b<c;b++)this.N.debug('running compilation pass '+(b+1)+': '+a[b].constructor.name),a[b].C(this);na(this.N);this.N.debug('Compilation done, returning container');return new olympe.V.Ge(this.Vd,this.parameters,this.G)}};olympe.V.qk=class{constructor(a,b,c,d){this.L=a||null;this.G=!!c;this.C=[];this.Uh=!1;this.Dh=null;if(b){this.C=b;for(let e=0,f=b.length;e<f;e++)'string'===typeof b[e]&&(b[e]=new olympe.V.pc(b[e]))}this.id=d||'';this.F=!1}da(){return this.id}instantiate(a){const b=a.tb();b.debug('Resolving arguments for '+this.id);const c=this.L;let d=ma(a,this.C);const e=()=>{if(this.G)return c.apply(null,d);d.unshift(null);return new (c.bind.apply(c,d))};A(b,'Instantiating '+this.id);const f=olympe.D?olympe.D.tg().run(()=>
395
- e()):e(),g=this.Dh;let h,k,m;if(null!==g&&0<g.length){b.C++;A(b,'Calling configuration callbacks:');k=0;for(m=g.length;k<m;k++)b.C++,h=g[k],A(b,'Calling additional configuration callback '+h.C),d=ma(a,h.di()),d.push(f),h.F.apply(null,d),na(b);na(b)}A(b,'Done instantiating '+this.id);return f}di(){return this.C}mi(){return this.Uh}Cb(a,b,c){null===this.Dh&&(this.Dh=[]);this.Dh.push(new olympe.V.gk(b,c,a))}};olympe.V.qk.C=0;function na(a){0<a.C&&a.C--}function A(a,b){1>=a.F&&ta(a,'log','DI: '+b)}function ta(a,b,c){if(console&&console[b]){var d='';for(let e=0;e<a.C;e++)d+=' ';console[b](d+c)}}olympe.V.no=class{constructor(a){this.F=a;this.C=0}debug(a){2>=this.F&&ta(this,'log','DI: '+a)}info(a){3>=this.F&&ta(this,'info','DI: '+a)}warn(a){4>=this.F&&ta(this,'warn','DI: '+a)}error(a){5>=this.F&&ta(this,'error','DI: '+a)}};olympe.V.la=class extends olympe.V.Xj{constructor(a){super();this.id=a}da(){return this.id}C(a){return a.getParameter(this.id)}};olympe.V.pc=class extends olympe.V.Xj{constructor(a,b){super();this.id=a;this.F=b||olympe.V.Ge.C.dr}da(){return this.id}C(a){return la(a,this.id,this.F)}};olympe.V.T={pf:'di.Container',zz:'di.PublicContainer'};olympe.V.Z={rs:'logging.di'};olympe.V.run([olympe.V.T.pf],a=>{olympe.V.getParameter=b=>a.getParameter(b)});olympe.aa={};function ua(a){a='0'.repeat(12)+a.toString(16);return a.substring(a.length-12,a.length)}function va(){var a=Math.random();return ua((new Date).getTime())+(a.toString(16)+'0'.repeat(8)).substr(2,8)}let wa=Math.pow(2,32)-1;olympe.aa.Qb=function(){return va()};olympe.aa.Il=function(){return va()};olympe.aa.Wl=function(a,b=1){const c=a.substr(12,a.length-12);return ua(parseInt(a.substr(0,12),16)+b)+c};
396
- olympe.aa.Rv=function(a){return ua(parseInt(a.substr(0,12),16)+1)+(Math.random().toString(16)+'00000000').substr(2,8)};let xa=0,ya=0;olympe.aa.Pu=function(){var a=(new Date).getTime();a<=xa?4294967295===ya?(ya=Math.floor(Math.random()/4*wa),xa+=1):ya=Math.floor(ya+(4294967295-ya)/2):(ya=Math.floor(Math.random()/4*wa),xa=a);a='00000000'+ya.toString(16);return ua(xa)+a.substr(a.length-8,8)};olympe.aa.lC=function(){for(let a=0;1E4>a;a++)console.log(olympe.aa.Pu())};
397
- olympe.aa.$e=function(){let a='';for(let b=0;19>b;b++)a+='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'.charAt(Math.floor(62*Math.random()));return'@'+a};olympe.aa.IB=function(a){let b='';for(let c=0;5>c;c++)b+='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'.charAt(Math.floor(62*Math.random()));return(a?a:'UI')+'-'+b};olympe.aa.GB=function(a,b){return(b?b:'UI')+'-'+a};olympe.aa.Zn=class{constructor(a){this.id=a||olympe.aa.Zn.C++}Eb(a){return a?this.id===a.id:!1}toJSON(){return this.id.toString()}toString(){return this.id.toString()}};olympe.aa.Zn.C=0;olympe.aa.mz=class{constructor(a,b,c,d,e,f){this.C=[a||0,b||0,0,c||0,d||0,0,e||0,f||0,1]}set(a,b,c){this.C[3*a+b]=c}get(a,b){return this.C[3*a+b]}};olympe.aa.Wg=function(a,b,c,d,e,f,g,h,k,m,n,p,q){this.values=[a,b,c,0,0,d,e,f,0,0,g,h,k,0,0,m,n,p,q,0]};olympe.aa.Wg.F=function(a){return new olympe.aa.Wg(.213+.787*a,.715-.715*a,.072-.072*a,.213-.213*a,.715+.285*a,.072-.072*a,.213-.213*a,.715-.715*a,.072+.928*a,0,0,0,1)};olympe.aa.Wg.C=function(){return new olympe.aa.Wg(0,0,0,0,0,0,0,0,0,.2125,.7154,.0721,0)};olympe.aa.Wg.prototype.set=function(a,b,c){this.values[5*a+b]=c};olympe.aa.Wg.prototype.get=function(a,b){return this.values[5*a+b]};function za(a){return(new TextEncoder).encode(a).buffer}function Aa(a){return(new TextDecoder('utf8')).decode(a)}olympe.aa.ck=class{O(){}G(){}F(){}L(){}C(){}U(){}};olympe.aa.eu=a=>a.replace('+','-').replace('/','_');olympe.aa.fu=a=>a.replace('-','+').replace('_','/');function Ba(a,b){return a+b&4294967295}
398
- function Ca(a,b){let c=a[0],d=a[1],e=a[2],f=a[3];c=E(c,d,e,f,b[0],7,-680876936);f=E(f,c,d,e,b[1],12,-389564586);e=E(e,f,c,d,b[2],17,606105819);d=E(d,e,f,c,b[3],22,-1044525330);c=E(c,d,e,f,b[4],7,-176418897);f=E(f,c,d,e,b[5],12,1200080426);e=E(e,f,c,d,b[6],17,-1473231341);d=E(d,e,f,c,b[7],22,-45705983);c=E(c,d,e,f,b[8],7,1770035416);f=E(f,c,d,e,b[9],12,-1958414417);e=E(e,f,c,d,b[10],17,-42063);d=E(d,e,f,c,b[11],22,-1990404162);c=E(c,d,e,f,b[12],7,1804603682);f=E(f,c,d,e,b[13],12,-40341101);e=E(e,f,
385
+ function w(a,b){a=a.split('.');let c=ia;a[0]in c||'undefined'==typeof c.execScript||c.execScript('var '+a[0]);for(let d;a.length&&(d=a.shift());)a.length||void 0===b?c[d]&&c[d]!==Object.prototype[d]?c=c[d]:c=c[d]={}:c[d]=b};const olympe={};'object'===typeof window&&(window.olympe=olympe);'object'===typeof global&&(global.olympe=olympe);olympe.CB=(a,...b)=>{b.forEach(c=>{Object.getOwnPropertyNames(c.prototype).forEach(d=>{'constructor'!==d&&void 0===a.prototype[d]&&(a.prototype[d]=c.prototype[d])})})};olympe.bb={};olympe.bb.node={};if('function'===typeof require){const a=require('buffer'),b=require('child_process'),c=require('fs'),d=require('http'),e=require('https'),f=require('lowdb'),g=require('os'),h=require('string_decoder'),k=require('url'),m=require('util'),n=require('ws'),p=require('xmlhttprequest'),q=require('zlib'),r=require('lowdb/adapters/FileAsync'),t=require('lowdb/adapters/Memory'),v={Dq:process.argv,fC:process.on.bind(process),buffer:a.Buffer,Blob:global.Blob,exec:b.exec,spawn:b.spawn,createWriteStream:c.createWriteStream,
386
+ exists:c.exists,existsSync:c.existsSync,mkdir:c.mkdir,mkdirSync:c.mkdirSync,readFile:c.readFile,readFileSync:c.readFileSync,rmdir:c.rmdir,rmdirSync:c.rmdirSync,writeFile:c.writeFile,writeFileSync:c.writeFileSync,Dw:f,VB:r,Cw:t,gunzipSync:q.gunzipSync,MB:d.createServer,Ge:d.request,NB:e.createServer,lw:e.request,YB:g.platform,ZB:g.release,lm:k.parse,StringDecoder:h.StringDecoder,WebSocket:n,XMLHttpRequest:p.XMLHttpRequest},u=/%c\[/g,x=/]\s([A-Za-z]+):\scolor:\s#[0-9a-f]+/g;class G{C(C,z){z=m.format.apply(null,
387
+ z)+'\n';const T=x.exec(z);null!==T&&(z=z.replace(T[0],T[1]),z=z.substring(0,T.index)+' '+C+' '+z.substring(T.index,z.length),z=z.replace(u,''));u.lastIndex=0;x.lastIndex=0;process.stdout.write(z)}log(...C){this.C('LOG',C)}error(...C){this.C('ERROR',C)}warn(...C){this.C('WARN',C)}info(...C){this.C('INFO',C)}trace(...C){this.C('INFO',C)}}global.Blob=require('cross-blob');global.window=global;global.require=require;global.OlympeNodeAPI=v;global.console=new G}else'undefined'!==typeof window&&(window.OlympeNodeAPI=
388
+ {},window.console=console);olympe.U={};olympe.U.bf={};olympe.U.bf.Tm=class{C(a){const b=Object.keys(a.be);let c,d;c=0;for(d=b.length;c<d;c++)if(a.Bd(b[c]).Ci())throw Error('Service "'+b[c]+'" is defined as abstract and needs to be overridden');}};olympe.U.bf.Tm.ka=[olympe.U.bf.No];olympe.U.bf.Um=class{C(a){function b(g,h){if(0<=h.indexOf(g))throw Error('Circular dependency detected: '+h.join(' > ')+' > '+g);h=h.concat(g);if(f[g]&&(delete f[g],g=a.Bd(g),c(g.wi(),h),g=g.Th,null!==g))for(let k=0,m=g.length;k<m;k++)c(g[k].wi(),h)}function c(g,h){for(let k=0,m=g.length,n;k<m;k++)n=g[k],n instanceof olympe.U.uc&&b(n.da(),h)}function d(){for(const g in f)if(Object.prototype.hasOwnProperty.call(f,g))return g}var e=Object.keys(a.be);const f={};for(let g=0,h=e.length;g<h;g++)f[e[g]]=
389
+ !0;for(;void 0!==(e=d());)b(e,[])}};olympe.U.bf.Um.ka=[olympe.U.bf.No];olympe.U.bf.No=class{C(){}};const ja=[],ka=[];olympe.U.Vm=class{constructor(){}static C(a,b){ja.push(new olympe.U.uk(a,b))}static F(a,b,c){a.forEach(d=>{if(null===d||void 0===d)throw Error('Cannot proceed - DI configuration error. '+(c?`Run callback "${c}"`:'A run callback')+' cannot have a null or undefined dependency');});a.push(olympe.U.T.vf);ka.push(new olympe.U.uk(b,c,a))}};olympe.U.Ib=olympe.U.Vm.C;olympe.U.run=olympe.U.Vm.F;olympe.U.kk=class{constructor(){}C(){}};olympe.U.uk=class{constructor(a,b,c){this.F=a;this.G=[];this.C=b;if(void 0!==c){this.G=c;for(let d=0,e=c.length;d<e;d++)'string'===typeof c[d]&&(c[d]=new olympe.U.uc(c[d]))}}wi(){return this.G}};function la(a,b,c){let d=a.C[b];if(void 0===d){const e=a.F[b];if(void 0===e){if(c===olympe.U.Me.C.kh)return null;throw Error('Service "'+b+'" not found');}try{d=e.instantiate(a)}catch(f){throw a.N.error('Error during instantiation of service '+b),f;}!e.F&&(a.C[b]=d)}return d}function ma(a,b){const c=b.length,d=Array(c);let e,f;for(e=0;e<c;e++)a.N.C++,f=b[e],d[e]=f instanceof olympe.U.kk?f.C(a):f,na(a.N);return d}
390
+ olympe.U.Me=class{constructor(a,b,c=2){this.F=a;this.parameters=b;this.C=Object.create(null);this.N=new olympe.U.po(c);a=olympe.U.T.vf;if(void 0!==this.C[a])throw Error('Service "'+a+'" has already been instantiated');this.C[a]=this}rb(){return this.N}getParameter(a){return this.parameters[a.toLowerCase()]}};olympe.U.Me.C={tr:'exception',kh:'null'};function oa(a,b,c){function d(f,g){let h,k,m;for(h in f)Object.prototype.hasOwnProperty.call(f,h)&&(k=f[h],m=g.concat((h.startsWith('#')?h.substring(1):h).toLowerCase()),'object'!==typeof k||null===k||h.startsWith('#')?e[m.join('.')]=k:d(k,m))}const e=a.parameters;d(b,c?[c]:[])}function y(a,b,c,...d){A(a.N,'Defining service '+b);a.C(b,c,d,!1,!1)}function pa(a,b,c,...d){A(a.N,'Defining service '+b);a.C(b,c,d,!1,!0)}
391
+ function B(a,b,c,d,e=!1){A(a.N,'Defining service (as a factory) '+b);a.C(b,d,c,!0,e)}function qa(a,b,c,d=!1){A(a.N,'Defining service alias '+b);a.C(b,e=>e,[c],!0,d)}function ra(a,b){A(a.N,'Defining abstract service '+b);a.C(b).li=!0}function sa(a,b){a.parameters[olympe.H.Z.Om.toLowerCase()]=b}function D(a,b,c){b=b.toLowerCase();Object.prototype.hasOwnProperty.call(a.parameters,b)||(a.parameters[b]=c)}
392
+ olympe.U.mr=class{constructor(a){var b=ta,c=ua;this.be=Object.create(null);this.parameters=Object.create(null);this.L=[new olympe.U.bf.Tm,new olympe.U.bf.Um];this.F=[];b&&oa(this,b);c&&oa(this,c,'version');a&&oa(this,a);a=this.getParameter(olympe.U.Z.As);this.G=void 0!==a?a:3;this.N=new olympe.U.po(this.G)}rb(){return this.N}C(a,b,c,d,e){const f=a instanceof olympe.U.uc?a.da():a;if(3<=arguments.length&&c){const h=c.indexOf(f);if(-1!==h){if(void 0===this.be[f])throw Error(`ContainerBuilder.define: Service ${f} references itself and is not an override definition!`);
393
+ var g=this.be[f];g.id=g.id+'!!'+ ++olympe.U.Dk.C;g.F=!0;g=g.id;c[h]=g;this.be[g]=this.be[f]}}this.be[f]=new olympe.U.Dk(b,c,d||!1,f);return this.be[f]}Bd(a){a=this.be[a];if(void 0===a)throw Error();return a}getParameter(a){return this.parameters[a.toLowerCase()]}compile(){var a=this.F;this.N.debug('Calling '+a.length+' configure callbacks');this.N.C++;for(let b=0,c=a.length;b<c;b++)A(this.N,'Calling callback'),this.N.C++,a[b].call(null,this),na(this.N);na(this.N);this.N.debug('Configuration summary: '+
394
+ Object.keys(this.be).length+' definitions');this.N.debug('Compiling...');this.N.C++;a=this.L;for(let b=0,c=a.length;b<c;b++)this.N.debug('running compilation pass '+(b+1)+': '+a[b].constructor.name),a[b].C(this);na(this.N);this.N.debug('Compilation done, returning container');return new olympe.U.Me(this.be,this.parameters,this.G)}};olympe.U.Dk=class{constructor(a,b,c,d){this.L=a||null;this.G=!!c;this.C=[];this.li=!1;this.Th=null;if(b){this.C=b;for(let e=0,f=b.length;e<f;e++)'string'===typeof b[e]&&(b[e]=new olympe.U.uc(b[e]))}this.id=d||'';this.F=!1}da(){return this.id}instantiate(a){const b=a.rb();b.debug('Resolving arguments for '+this.id);const c=this.L;let d=ma(a,this.C);const e=()=>{if(this.G)return c.apply(null,d);d.unshift(null);return new (c.bind.apply(c,d))};A(b,'Instantiating '+this.id);const f=olympe.D?olympe.D.Vf().run(()=>
395
+ e()):e(),g=this.Th;let h,k,m;if(null!==g&&0<g.length){b.C++;A(b,'Calling configuration callbacks:');k=0;for(m=g.length;k<m;k++)b.C++,h=g[k],A(b,'Calling additional configuration callback '+h.C),d=ma(a,h.wi()),d.push(f),h.F.apply(null,d),na(b);na(b)}A(b,'Done instantiating '+this.id);return f}wi(){return this.C}Ci(){return this.li}Ib(a,b,c){null===this.Th&&(this.Th=[]);this.Th.push(new olympe.U.uk(b,c,a))}};olympe.U.Dk.C=0;function na(a){0<a.C&&a.C--}function A(a,b){1>=a.F&&va(a,'log','DI: '+b)}function va(a,b,c){if(console&&console[b]){var d='';for(let e=0;e<a.C;e++)d+=' ';console[b](d+c)}}olympe.U.po=class{constructor(a){this.F=a;this.C=0}debug(a){2>=this.F&&va(this,'log','DI: '+a)}info(a){3>=this.F&&va(this,'info','DI: '+a)}warn(a){4>=this.F&&va(this,'warn','DI: '+a)}error(a){5>=this.F&&va(this,'error','DI: '+a)}};olympe.U.ha=class extends olympe.U.kk{constructor(a){super();this.id=a}da(){return this.id}C(a){return a.getParameter(this.id)}};olympe.U.uc=class extends olympe.U.kk{constructor(a,b){super();this.id=a;this.F=b||olympe.U.Me.C.tr}da(){return this.id}C(a){return la(a,this.id,this.F)}};olympe.U.T={vf:'di.Container',xz:'di.PublicContainer'};olympe.U.Z={As:'logging.di'};olympe.U.run([olympe.U.T.vf],a=>{olympe.U.getParameter=b=>a.getParameter(b)});olympe.$={};function wa(a){a='0'.repeat(12)+a.toString(16);return a.substring(a.length-12,a.length)}function xa(){var a=Math.random();return wa((new Date).getTime())+(a.toString(16)+'0'.repeat(8)).substr(2,8)}let ya=Math.pow(2,32)-1;olympe.$.Rb=function(){return xa()};olympe.$.Sl=function(){return xa()};olympe.$.em=function(a,b=1){const c=a.substr(12,a.length-12);return wa(parseInt(a.substr(0,12),16)+b)+c};
396
+ olympe.$.Sv=function(a){return wa(parseInt(a.substr(0,12),16)+1)+(Math.random().toString(16)+'00000000').substr(2,8)};let za=0,Aa=0;olympe.$.Qu=function(){var a=(new Date).getTime();a<=za?4294967295===Aa?(Aa=Math.floor(Math.random()/4*ya),za+=1):Aa=Math.floor(Aa+(4294967295-Aa)/2):(Aa=Math.floor(Math.random()/4*ya),za=a);a='00000000'+Aa.toString(16);return wa(za)+a.substr(a.length-8,8)};olympe.$.jC=function(){for(let a=0;1E4>a;a++)console.log(olympe.$.Qu())};
397
+ olympe.$.Sf=function(){let a='';for(let b=0;19>b;b++)a+='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'.charAt(Math.floor(62*Math.random()));return'@'+a};olympe.$.GB=function(a){let b='';for(let c=0;5>c;c++)b+='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'.charAt(Math.floor(62*Math.random()));return(a?a:'UI')+'-'+b};olympe.$.EB=function(a,b){return(b?b:'UI')+'-'+a};olympe.$.ao=class{constructor(a){this.id=a||olympe.$.ao.C++}Jb(a){return a?this.id===a.id:!1}toJSON(){return this.id.toString()}toString(){return this.id.toString()}};olympe.$.ao.C=0;olympe.$.kz=class{constructor(a,b,c,d,e,f){this.C=[a||0,b||0,0,c||0,d||0,0,e||0,f||0,1]}set(a,b,c){this.C[3*a+b]=c}get(a,b){return this.C[3*a+b]}};olympe.$.ih=function(a,b,c,d,e,f,g,h,k,m,n,p,q){this.values=[a,b,c,0,0,d,e,f,0,0,g,h,k,0,0,m,n,p,q,0]};olympe.$.ih.F=function(a){return new olympe.$.ih(.213+.787*a,.715-.715*a,.072-.072*a,.213-.213*a,.715+.285*a,.072-.072*a,.213-.213*a,.715-.715*a,.072+.928*a,0,0,0,1)};olympe.$.ih.C=function(){return new olympe.$.ih(0,0,0,0,0,0,0,0,0,.2125,.7154,.0721,0)};olympe.$.ih.prototype.set=function(a,b,c){this.values[5*a+b]=c};olympe.$.ih.prototype.get=function(a,b){return this.values[5*a+b]};function Ba(a){return(new TextEncoder).encode(a).buffer}function Ca(a){return(new TextDecoder('utf8')).decode(a)}olympe.$.rk=class{O(){}C(){}G(){}L(){}F(){}V(){}};olympe.$.Pp=a=>a.replace('+','-').replace('/','_');olympe.$.ju=a=>a.replace('-','+').replace('_','/');function Da(a,b){return a+b&4294967295}
398
+ function Ea(a,b){let c=a[0],d=a[1],e=a[2],f=a[3];c=E(c,d,e,f,b[0],7,-680876936);f=E(f,c,d,e,b[1],12,-389564586);e=E(e,f,c,d,b[2],17,606105819);d=E(d,e,f,c,b[3],22,-1044525330);c=E(c,d,e,f,b[4],7,-176418897);f=E(f,c,d,e,b[5],12,1200080426);e=E(e,f,c,d,b[6],17,-1473231341);d=E(d,e,f,c,b[7],22,-45705983);c=E(c,d,e,f,b[8],7,1770035416);f=E(f,c,d,e,b[9],12,-1958414417);e=E(e,f,c,d,b[10],17,-42063);d=E(d,e,f,c,b[11],22,-1990404162);c=E(c,d,e,f,b[12],7,1804603682);f=E(f,c,d,e,b[13],12,-40341101);e=E(e,f,
399
399
  c,d,b[14],17,-1502002290);d=E(d,e,f,c,b[15],22,1236535329);c=F(c,d,e,f,b[1],5,-165796510);f=F(f,c,d,e,b[6],9,-1069501632);e=F(e,f,c,d,b[11],14,643717713);d=F(d,e,f,c,b[0],20,-373897302);c=F(c,d,e,f,b[5],5,-701558691);f=F(f,c,d,e,b[10],9,38016083);e=F(e,f,c,d,b[15],14,-660478335);d=F(d,e,f,c,b[4],20,-405537848);c=F(c,d,e,f,b[9],5,568446438);f=F(f,c,d,e,b[14],9,-1019803690);e=F(e,f,c,d,b[3],14,-187363961);d=F(d,e,f,c,b[8],20,1163531501);c=F(c,d,e,f,b[13],5,-1444681467);f=F(f,c,d,e,b[2],9,-51403784);
400
- e=F(e,f,c,d,b[7],14,1735328473);d=F(d,e,f,c,b[12],20,-1926607734);c=G(d^e^f,c,d,b[5],4,-378558);f=G(c^d^e,f,c,b[8],11,-2022574463);e=G(f^c^d,e,f,b[11],16,1839030562);d=G(e^f^c,d,e,b[14],23,-35309556);c=G(d^e^f,c,d,b[1],4,-1530992060);f=G(c^d^e,f,c,b[4],11,1272893353);e=G(f^c^d,e,f,b[7],16,-155497632);d=G(e^f^c,d,e,b[10],23,-1094730640);c=G(d^e^f,c,d,b[13],4,681279174);f=G(c^d^e,f,c,b[0],11,-358537222);e=G(f^c^d,e,f,b[3],16,-722521979);d=G(e^f^c,d,e,b[6],23,76029189);c=G(d^e^f,c,d,b[9],4,-640364487);
401
- f=G(c^d^e,f,c,b[12],11,-421815835);e=G(f^c^d,e,f,b[15],16,530742520);d=G(e^f^c,d,e,b[2],23,-995338651);c=H(c,d,e,f,b[0],6,-198630844);f=H(f,c,d,e,b[7],10,1126891415);e=H(e,f,c,d,b[14],15,-1416354905);d=H(d,e,f,c,b[5],21,-57434055);c=H(c,d,e,f,b[12],6,1700485571);f=H(f,c,d,e,b[3],10,-1894986606);e=H(e,f,c,d,b[10],15,-1051523);d=H(d,e,f,c,b[1],21,-2054922799);c=H(c,d,e,f,b[8],6,1873313359);f=H(f,c,d,e,b[15],10,-30611744);e=H(e,f,c,d,b[6],15,-1560198380);d=H(d,e,f,c,b[13],21,1309151649);c=H(c,d,e,f,
402
- b[4],6,-145523070);f=H(f,c,d,e,b[11],10,-1120210379);e=H(e,f,c,d,b[2],15,718787259);d=H(d,e,f,c,b[9],21,-343485551);a[0]=Ba(c,a[0]);a[1]=Ba(d,a[1]);a[2]=Ba(e,a[2]);a[3]=Ba(f,a[3])}function G(a,b,c,d,e,f){b=Ba(Ba(b,a),Ba(d,f));return Ba(b<<e|b>>>32-e,c)}function E(a,b,c,d,e,f,g){return G(b&c|~b&d,a,b,e,f,g)}function F(a,b,c,d,e,f,g){return G(b&d|c&~d,a,b,e,f,g)}function H(a,b,c,d,e,f,g){return G(c^(b|~d),a,b,e,f,g)}
403
- function Da(a,b=32){const c='0123456789abcdef'.split('');var d=a,e=d.length;a=[1732584193,-271733879,-1732584194,271733878];var f;for(f=64;f<=d.length;f+=64){var g=d.substring(f-64,f),h=[];for(let k=0;64>k;k+=4)h[k>>2]=g.charCodeAt(k)+(g.charCodeAt(k+1)<<8)+(g.charCodeAt(k+2)<<16)+(g.charCodeAt(k+3)<<24);Ca(a,h)}d=d.substring(f-64);g=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(f=0;f<d.length;f++)g[f>>2]|=d.charCodeAt(f)<<(f%4<<3);g[f>>2]|=128<<(f%4<<3);if(55<f)for(Ca(a,g),f=0;16>f;f++)g[f]=0;g[14]=8*e;
404
- Ca(a,g);d='';e=0;b=0<=b?b:32;for(f=0;4>f;f++)for(h=a[f],g=0;4>g;g++){if(++e>b)return d;d+=c[h>>8*g+4&15];if(++e>b)return d;d+=c[h>>8*g&15]}return d}'5d41402abc4b2a76b9719d911017c592'!==Da('hello')&&(Ba=(a,b)=>{const c=(a&65535)+(b&65535);return(a>>16)+(b>>16)+(c>>16)<<16|c&65535});olympe.aa.zc=Da;olympe.aa.hm=function(a){var b=/^(?:(\S*)@)?([^:]+)(?::(\d{2,5}))?$/;const c=/([^&=]+)=([^&=]+)/g,d=/^true|false$/i,e=/^\d+(\.\d+)?$/;var f=a.match(/^(?:([^:/?#]+):)?(?:\/\/([^/?#]*))?\/?([^?#]*)(?:\?([^#]*))?(?:#(.*))?$/);a=f[1];const g=f[2],h=f[3],k=f[4];f=f[5];let m=null,n=null;var p=null;g&&(p=g.match(b),m=p[1],n=p[2],p=p[3]);b={};let q;for(;q=c.exec(k);){let r=q[2];void 0===r?r=!0:d.test(r)?r='true'===r.toLowerCase():e.test(r)?r=parseFloat(r):r=decodeURIComponent(r);b[q[1]]=r}return{scheme:a||
405
- null,xB:g||null,Aq:m||null,host:n||null,port:p&&parseInt(p,10)||null,path:h&&'/'!==h?h:null,query:k||null,HB:f||null,parameters:b}};olympe.aa.fC=function(a){a=a.substring(1);return''===a?new Map:new Map(a.split('&').map(b=>b.split('=')))};olympe.aa.jC=function(a){let b='';for(let c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b+=(b?'&':'?')+c+'='+encodeURIComponent(a[c]));return b};olympe.aa.Xp=(a,b)=>{const c=Object.keys(a).find(d=>a[d]===b);return void 0===c?null:c};olympe.aa.vB=class a{constructor(b,c){this.x=b;this.y=c}add(b){return new a(this.x+b.x,this.y+b.y)}Pl(){return Math.sqrt(this.x*this.x+this.y*this.y)}toString(){return`Vector(${this.x}, ${this.y})`}};olympe.aa.$x=class{constructor(a,b,c,d){this.from=a;this.target=b;this.C=c;this.F=d}toString(){return`(${this.from.toString()}, ${this.target.toString()}, ${this.C.toString()}, ${this.F.toString()})`}};olympe.aa.us=class{constructor(a,b){this.start=a;this.end=b}};olympe.aa.us.C={Ug:'left',ah:'right',Xx:'bottom',RA:'top'};function Ea(a){return`${a.C}.${a.F}.${a.G}`}
406
- olympe.aa.Ue=class{constructor(a,b,c,d){this.C=a;this.F=b;this.G=c;this.L=d||null}static parse(a){a=/([0-9]*)\.([0-9]*)\.([0-9]*)-?([A-z\-_0-9]*)/.exec(a);if(null===a||4>a.length)return olympe.aa.Ue.C;const b=Number.parseInt(a[1],10),c=Number.parseInt(a[2],10),d=Number.parseInt(a[3],10);return isNaN(b)||isNaN(c)||isNaN(d)?olympe.aa.Ue.C:new olympe.aa.Ue(b,c,d,a[4])}Eb(a){return this.C===a.C&&this.F===a.F&&this.G===a.G}toString(){return`${this.C}.${this.F}.${this.G}`+(null!==this.L?`-${this.L}`:'')}};
407
- olympe.aa.Ue.C=new olympe.aa.Ue(Number.NaN,Number.NaN,Number.NaN);olympe.aa.T={Hg:'utils.binaryConverter',Hq:'utils.base64Converter'};olympe.V.Cb(a=>{ra(a,olympe.aa.T.Hg);qa(a,olympe.aa.T.Hq,olympe.aa.T.Hg,!0)},'Utils services');olympe.V.run([olympe.aa.T.Hg],a=>{olympe.aa.ei=()=>a});olympe.cb.node.aa={};const Fa=new Map;olympe.cb.node.aa.ck=class extends olympe.aa.ck{O(a){return(new Uint8Array(OlympeNodeAPI.buffer.from(a,'base64'))).buffer}G(a){return OlympeNodeAPI.buffer.from(a).toString('base64')}F(a,b){a.arrayBuffer().then(olympe.D.Ha().C(b))}L(a){var b=()=>Math.random().toString(16).slice(-4);b=`blob://${`${b()}${b()}-${b()}-${b()}-${b()}-${b()}${b()}${b()}`}`;Fa.set(b,a);return b}C(a,b,c){Fa.has(a)?b(Fa.get(a)):c&&c('No object has been found for that url. Maybe the URL has already been revoked')}U(a){Fa.delete(a)}};olympe.V.Cb(function(a){pa(a,olympe.aa.T.Hg,olympe.cb.node.aa.ck)},'olympe.native.node.utils');olympe.ya={};olympe.ya.yb=class{L(){}ia(){}G(){}$(){}fa(){}sa(){}O(){}U(){}trace(){}debug(){}log(){}info(){}warn(){}error(){}fatal(){}};olympe.ya.yb.prototype.fatal=olympe.ya.yb.prototype.fatal;olympe.ya.yb.prototype.error=olympe.ya.yb.prototype.error;olympe.ya.yb.prototype.warn=olympe.ya.yb.prototype.warn;olympe.ya.yb.prototype.info=olympe.ya.yb.prototype.info;olympe.ya.yb.prototype.log=olympe.ya.yb.prototype.log;olympe.ya.yb.prototype.debug=olympe.ya.yb.prototype.debug;olympe.ya.yb.prototype.trace=olympe.ya.yb.prototype.trace;
408
- olympe.ya.yb.C={yt:0,qf:1,qs:2,Un:3,Gt:4,wc:5,gr:6,Sk:7};olympe.ya.yb.F={0:'TRACE',1:'DEBUG',2:'LOG',3:'INFO',4:'WARN',5:'ERROR',6:'FATAL',7:'NOTHING'};olympe.ya.qa=class{Cc(){}};olympe.ya.Dc={};function Ga(a,b,c,d,e,f){var g=new Date;g=('00'+g.getHours()).substr(-2)+':'+('00'+g.getMinutes()).substr(-2)+':'+('00'+g.getSeconds()).substr(-2)+'.'+('00'+g.getMilliseconds()).substr(-3);f=a.La?`%c[${g}] [${f.toUpperCase()}] ${c}:%c`:`%c[${g}] ${c}:%c`;for(const h of d)f+=' '+h;a.console[b](f,'color: '+e,'color: #444');for(const h of a.Ja.values())h(g,c,b,...d)}
409
- olympe.ya.Dc.yb=class{constructor(a,b,c){this.name=a;this.C=b;this.La=c;this.F=a.toUpperCase();this.Ja=new Map;this.console=console}L(){return this.C}ia(){return this.C<=olympe.ya.yb.C.yt}G(){return this.C<=olympe.ya.yb.C.qf}fa(){return this.C<=olympe.ya.yb.C.qs}$(){return this.C<=olympe.ya.yb.C.Un}sa(){return this.C<=olympe.ya.yb.C.Gt}O(){return this.C<=olympe.ya.yb.C.wc}U(){return this.C<=olympe.ya.yb.C.gr}trace(...a){this.ia()&&Ga(this,'log',this.F,a,'#99b','trace')}debug(...a){this.G()&&Ga(this,
410
- 'log',this.F,a,'#888','debug')}log(...a){this.fa()&&Ga(this,'log',this.F,a,'#000','log')}info(...a){this.$()&&Ga(this,'info',this.F,a,'#00f','info')}warn(...a){this.sa()&&Ga(this,'warn',this.F,a,'#684911','warn')}error(...a){this.O()&&Ga(this,'error',this.F,a,'#f00','error')}fatal(...a){this.U()&&Ga(this,'error',this.F,a,'#f00','fatal')}};olympe.ya.Dc.yb.ka=[olympe.ya.yb];olympe.ya.Dc.qa=class{constructor(a,b,c){this.C=a;this.F=parseInt(b,10);this.G=c;this.channels=new Map;this.N=this.Cc('logging');this.N.info('Logging initialized, global log level is '+olympe.ya.yb.F[b])}Cc(a){var b=this.channels.get(a);if(!b){b=this.F;var c=`${olympe.ya.Z.Mq}.${a}`;Object.prototype.hasOwnProperty.call(this.C.parameters,c.toLowerCase())&&(b=parseInt(this.C.getParameter(c),10));let d=this.G;c=`${c}.${olympe.ya.Z.mt}`;Object.prototype.hasOwnProperty.call(this.C.parameters,c.toLowerCase())&&
411
- (d=!0===this.C.getParameter(c));b=new olympe.ya.Dc.yb(a,b,d);this.channels.set(a,b)}return b}};olympe.ya.Dc.qa.ka=[olympe.ya.qa];olympe.ya.T={ua:'logging.Manager'};olympe.ya.Z={Bn:'logging',Cn:'logging.showLogLevel',Mq:'logging',mt:'showLogLevel'};olympe.V.Cb(function(a){C(a,olympe.ya.Z.Bn,olympe.ya.yb.C.Un);C(a,olympe.ya.Z.Cn,!0);pa(a,olympe.ya.T.ua,olympe.ya.Dc.qa,olympe.V.T.pf,new olympe.V.la(olympe.ya.Z.Bn),new olympe.V.la(olympe.ya.Z.Cn))},'olympe.logging');olympe.V.run([olympe.ya.T.ua],a=>{olympe.ya.tb=b=>a.Cc(b)},'Logging singleton getter initialization');olympe.D={};olympe.D.Z={uo:'df.nodeCreationThreshold'};const Ha=[];function Ia(){}function Ja(){}olympe.D.H=class a{constructor(b,c,d){this.C=void 0===b?Ia:b;this.F=void 0===c?Ha:c;this.$=d}static L(){var b=[];return void 0===b||0===b.length?olympe.D.H.fa:new a(Ja,b)}L(){return this.C?this.C():void 0}G(){return this.F?this.F:Ha}O(){return null===this.C&&null===this.F}U(){return this.C===Ja}};olympe.D.H.$=new olympe.D.H;olympe.D.H.C=new olympe.D.H(null,null);olympe.D.H.fa=new olympe.D.H(Ja);olympe.D.H.G=new olympe.D.H(()=>olympe.D.ea);
412
- olympe.D.H.F=new olympe.D.H(()=>olympe.D.Pa);olympe.D.H.O=new olympe.D.H(()=>olympe.D.ga);olympe.D.H.U=new olympe.D.H(()=>olympe.D.Ub);olympe.D.Og=class{da(){return''}qc(){return''}fb(){}G(){return!1}ia(){return!1}run(a,...b){return a(...b)}C(a){return a}getParent(){return null}zd(){}qg(){}yc(){}Nc(){}xj(){}sa(){}onDestroy(){return''}ui(){}L(){}};olympe.D.Og.prototype.offDestroy=olympe.D.Og.prototype.ui;olympe.D.Og.prototype.onDestroy=olympe.D.Og.prototype.onDestroy;let Ka=0;olympe.V.run([new olympe.V.la(olympe.D.Z.uo)],()=>{});
413
- olympe.D.ic=class{constructor(a='SimpleContext',b){++Ka;this.La=new Map;this.Ra=new Map;this.Va=new Map;this.$b=0;this.name=a;this.id=String(Ka);this.wb=this.Wa=!1;(this.$=void 0===b?olympe.D.Ha():b)&&this.$.yc(this);this.debug=!1}da(){return this.id}qc(){return this.name}run(a,...b){if(!this.Wa){var c=olympe.D.vq(this);a=a(...b);c&&olympe.D.vq(c);return a}}C(a){return(...b)=>this.run(a,...b)}fb(){if(!this.Wa&&!this.wb){this.wb=!0;this.sa();for(const a of this.Ra.keys())this.Ra.has(a)&&this.Ra.get(a)();
414
- this.Ra.clear();this.Va.clear();this.$&&(this.$.Nc(this,!1),this.$=null);this.Wa=!0;this.wb=!1;this.sa()}}G(){return this.Wa}ia(){return this.wb}yc(a){if(!this.Wa){var b;olympe.D.ab(a)?b=a.Ta:olympe.D.cm(a)&&(b=a);b&&this.La.set(b.da(),b)}}Nc(a,b=!0){let c;olympe.D.ab(a)?c=a.Ta:olympe.D.cm(a)&&(c=a);c&&this.La.has(c.da())&&(b&&c.xj(this),this.La.delete(c.da()))}xj(){this.$=null;this.fb()}sa(){const a=this.La;for(const b of a.keys())a.has(b)&&a.get(b).xj(this);this.La.clear();for(const b of this.Va.keys())this.Va.has(b)&&
415
- this.Va.get(b)();this.Va.clear()}onDestroy(a,b){void 0===b&&(++this.$b,b=String(this.$b));this.Ra.set(b,a);return b}ui(a){this.Ra.delete(a)}L(a){if(void 0===b){++this.$b;var b=String(this.$b)}this.Va.set(b,a)}zd(a){this.$&&this.$.Nc(this,!1);(this.$=a||null)&&this.$.yc(this)}getParent(){return this.$}qg(){return this.La}};olympe.D.So=class extends olympe.D.ic{constructor(){super('Root',null)}fb(){}onDestroy(){return''}ui(){}};olympe.D.Og.ka=[olympe.D.Og];let La=0;
416
- function Ma(a,b){a.fa||(a.fa=new Map);a.fa.set(b.da(),b);switch(b.F){case olympe.D.Node.C.Xg:break;case olympe.D.Node.C.eh:break;case olympe.D.Node.C.cj:case olympe.D.Node.C.sf:olympe.D.N.warn('Not bad as such but should not happen!');break;case olympe.D.Node.C.Pg:Na(a,olympe.D.Node.C.Pg);break;case olympe.D.Node.C.OBSOLETE:a.rc=!0;a.F!==olympe.D.Node.C.Pg&&Na(a,olympe.D.Node.C.OBSOLETE);break;case olympe.D.Node.C.rf:olympe.D.N.warn('Adding a destroyed node as upstream => should never happen!');break;
417
- default:olympe.D.N.warn('Unknown state, investigate: ',b.F)}Oa(b,a)}
418
- function Pa(a){if(a.ld){var b=[],c=[];if(a.lf)if(a.lf instanceof olympe.D.Node)if(Qa(a.lf))b=a.lf.Fc;else return;else b=a.lf;else b=null;if(null!==a.Ja){const e=a.Hf;for(let f=0,g=a.Ja.length;f<g;f++)if(null!==e&&-1<e.indexOf(f)){const h=a.Ja[f];if(Qa(h))c.push(h.Fc);else return}else c.push(a.Ja[f])}if(a.ld instanceof Function)var d=a.ld;else b&&(b[a.ld]||olympe.D.N.warn('looks like you forget a cast somewhere around '+a.ld),d=b[a.ld]);a.run(()=>{a.sa();if(void 0!==d){const e=d.apply(b,c);e&&e.vp?
419
- Ra(a,e.Ta):e instanceof olympe.D.Node?Ra(a,e):(J(a,e),void 0===e&&void 0===a.valueType&&Na(a,olympe.D.Node.C.eh))}else Sa(a)})}}function K(a){void 0===a.vc&&(a.vc=a.valueType===olympe.D.Proxy?Ta(void 0,a.yd):Ta(a.valueType,a.yd),a.vc.Ta=a);return a.vc}function Ua(a){void 0!==a.O&&(Va(a.O,a),a.O=void 0)}function Wa(a){if(a.F===olympe.D.Node.C.OBSOLETE&&(a.F=olympe.D.Node.C.eh,null!==a.U))for(const b of a.U.values())Xa(b)}function Na(a,b){b!==a.F&&(a.F=b)}
420
- function Ya(a){if(a.F!==olympe.D.Node.C.OBSOLETE&&a.F!==olympe.D.Node.C.cj&&a.F!==olympe.D.Node.C.Xg&&a.F!==olympe.D.Node.C.Pg){Na(a,olympe.D.Node.C.cj);var b=a.U;if(b)for(const c of b.values())b.has(c.da())&&Ya(c);Na(a,olympe.D.Node.C.OBSOLETE)}}function Za(a,b,c){if(a.F!==olympe.D.Node.C.sf)if(b===a.O)J(a,c,!0);else{if(a.F===olympe.D.Node.C.OBSOLETE||a.F===olympe.D.Node.C.cj)a.rc=!0;Pa(a)}}
421
- function J(a,b,c){b instanceof olympe.D.Node&&(olympe.D.N.warn('We are setting the value of a node as a node, that should never happen?'),b=b.Fc);a.lb||c||void 0===a.O||Ua(a);if(void 0!==b){if((a.lb||a.F===olympe.D.Node.C.eh||a.F===olympe.D.Node.C.OBSOLETE)&&!olympe.D.ab(b)&&void 0!==a.Fc){if(null===b&&null===a.Fc){Wa(a);return}if(null!==b&&null!==a.Fc&&(b.valueOf()===a.Fc.valueOf()||a.Fc.Eb&&a.Fc.Eb(b))){Wa(a);return}}if(!0===a.lb)olympe.D.N.error("Circular dependency detected: updating a downstream node caused this node's (#"+
422
- a.da()+') value to get updated !');else{a.F===olympe.D.Node.C.rf&&olympe.D.N.warn(`trying to set a value on a destroyed node (#${a.da()} ${a.td?', '+a.td:''})`);a.F===olympe.D.Node.C.sf&&olympe.D.N.warn(`trying to set a value on a node being destroyed (#${a.da()} ${a.td?', '+a.td:''})`);a.lb=!0;c=b;var d=!1,e=(f,g)=>f instanceof g?!0:!1;void 0===a.valueType||null===c||e(c,a.valueType)||(e=a.valueType&&a.valueType.name?a.valueType.name:'undefined',b='object'===typeof c?b.constructor.name:typeof c,
423
- c instanceof Object?d=!0:b.toLowerCase()!==e.toLowerCase()&&(d=!0),d&&('string'===b.toLowerCase()&&a.valueType===olympe.D.Pa?(c=olympe.D.pb(c),d=!1):'number'===b.toLowerCase()&&a.valueType===olympe.D.ea?(c=olympe.D.wa(c),d=!1):'boolean'===b.toLowerCase()&&a.valueType===olympe.D.ga&&(c=olympe.D.nc(c),d=!1)));a.Fc=c;Na(a,olympe.D.Node.C.eh);if(b=a.U){d=0;for(const f of b.values())0<d&&Ya(f),d++;for(const f of b.values())Za(f,a,c)}a.lb=!1}}}
424
- function $a(a,b){if(a.F!==olympe.D.Node.C.sf&&a.F!==olympe.D.Node.C.rf&&(a.F!==olympe.D.Node.C.Xg||a.ld)){var c=void 0!==a.defaultValue;a.ld&&b!==a.O&&a.sa();if(c)J(a,a.defaultValue,!0);else if(a.Fc=void 0,Na(a,olympe.D.Node.C.Xg),b=a.U)for(const d of b.values())$a(d,a)}}function Sa(a){if(a.F!==olympe.D.Node.C.Pg){Na(a,olympe.D.Node.C.Pg);var b=a.U;if(b)for(const c of b.values())Sa(c);a.sa();void 0!==a.O&&Ua(a);a.Fc=a.defaultValue}}function Qa(a){return a.F===olympe.D.Node.C.eh}
425
- function Ra(a,b){b===a?olympe.D.N.error('Setting a node as provider of itself. Ignoring'):(a.O&&a.O!==b&&Ua(a),Oa(b,a),Qa(b)?J(a,b.Fc,!0):void 0!==a.defaultValue?J(a,a.defaultValue,!0):$a(a),a.O=b)}function ab(a,b){a.ld&&(a.ld=void 0);a.td='Repeater';Ra(a,b)}function Xa(a){a.O?Wa(a):null!==a.fa&&0===Array.from(a.fa.values()).filter(b=>!Qa(b)).length&&(a.rc&&(a.rc=!1,Pa(a)),Wa(a))}
426
- function Oa(a,b){a.U||(a.U=new Map);a.U.set(b.da(),b);a.F===olympe.D.Node.C.rf&&olympe.D.N.warn('adding a downstream node on a deleted one (#'+a.da()+') !')}function Va(a,b){a.U&&(b=b.da(),a.U.has(b)&&(a.U.delete(b),bb(a)))}function bb(a){if(null===a.getParent()){var b=a.U;b&&0<b.size||a.fb()}}
427
- olympe.D.Node=class extends olympe.D.ic{constructor({valueType:a,ld:b,Zw:c=!0,lf:d,Yl:e,debug:f=!1,Hf:g=null,td:h='Node',Wh:k}={}){++La;super(String(La));this.debug=!!f;this.td=h;h&&'string'===typeof h||(b?this.td=b.name?b.name:'anon()':this.td='Node');this.Ja=e&&0<e.length?e:null;this.Hf=g&&0<g.length?g:null;this.valueType=a;this.Fc=void 0;this.lb=!1;this.F=olympe.D.Node.C.Xg;this.rc=!1;this.U=this.fa=null;this.ld=b;this.lf=d||null;this.defaultValue=this.vc=this.O=void 0;this.Wh=k;d&&d instanceof
428
- olympe.D.Node&&Ma(this,d);if(g)for(b=0;b<g.length;b++)a=e[g[b]],Ma(this,a);c&&Pa(this)}Be(a){this.defaultValue=a;this.F===olympe.D.Node.C.Xg&&J(this,a,!0);return this}Jb(){return this.valueType||Object}G(){return this.F===olympe.D.Node.C.rf}ia(){return this.F===olympe.D.Node.C.sf}yd(...a){if(this.Wh instanceof Function)return this.Wh(...a);var b=a.length;--b;const c=a[b];--b;const d=a[b],e=Array(b);for(var f=0;f<b;f++)e[f]=a[f];a=this.F;a!==olympe.D.Node.C.sf&&a!==olympe.D.Node.C.rf||olympe.D.N.warn('Calling a function on a destroyed node!!!',
429
- this);a=d.G();b=[];if(1===a.length&&-1===a[0])for(var g of e)olympe.D.ab(g)&&b.push(g.Ta);else for(let h=0,k=a.length;h<k;h++)g=a[h],f=e[g],void 0!==f&&null!==f&&f.ae&&(e[g]=f.Ta,b.push(g));return K(new olympe.D.Node({valueType:d.L(),ld:c,lf:this,Yl:e,debug:!1,Hf:b,td:'Proxy.'+c+'()'}))}xj(a){if(null===this.getParent())olympe.D.N.warn('context is undefined, investigate');else if(this.getParent()!==a){olympe.D.N.warn('Investigate a potential issue in creator-createe link: create node mismatch',a,this.getParent());
430
- return}this.zd(null);bb(this)}fb(){var a=this.F;if(a!==olympe.D.Node.C.sf&&a!==olympe.D.Node.C.rf){Na(this,olympe.D.Node.C.sf);if(a=this.U){for(const c of a.values())if(a.has(c.da())){var b=c;b.fa&&b.fa.delete(this.da());b.O&&b.O.da()===this.da()?b.O=void 0:b.fb()}a.clear()}this.U=null;super.fb();if(this.fa){for(const c of this.fa.values())this.fa.has(c.da())&&Va(c,this);this.fa.clear()}this.fa=null;this.O&&(Va(this.O,this),this.O=void 0);this.Fc=void 0;this.Ja&&(this.Ja.length=0,this.Ja=null);this.Hf&&
431
- (this.Hf.length=0,this.Hf=null);this.Wh=this.ld=void 0;this.defaultValue=this.lf=null;this.td=`** Destroyed ** ${this.td}`;Na(this,olympe.D.Node.C.rf)}}qc(){return this.td}};olympe.D.Node.F='rootNode';olympe.D.Node.C={Xg:0,eh:1,Pg:3,cj:4,OBSOLETE:5,sf:6,rf:7};function Ta(a,b){if('function'!==typeof a)return new olympe.D.Proxy(a,b);var c=olympe.D.Proxy.prototype;void 0===a.prototype&&olympe.D.N.error('investigate');c=Object.create(cb(c,a.prototype));c.tj=a;c.wp=b;return c}function L(a){return a.Ta.Fc}function cb(a,b){Object.prototype.hasOwnProperty.call(b,olympe.D.Proxy.Zk)||Object.defineProperty(b,olympe.D.Proxy.Zk,{enumerable:!1,configurable:!1,writable:!1,value:fb(a,b)});return b[olympe.D.Proxy.Zk]}
432
- function gb(a,b){if(a.tj!==b){a.tj=b;b.prototype||olympe.D.N.error('Cast not possible, provided type is not a valid type!');var c=cb(a,b.prototype);Object.setPrototypeOf?Object.setPrototypeOf(a,c):a.__proto__=c;a.Ta&&(a.Ta.valueType=b)}}
433
- function fb(a,b){let c={};if(b.prototype)olympe.D.N.error('first level of prototyping, investigate');else if(b.__proto__)c=Object.create(cb(a,b.__proto__));else return olympe.D.Proxy.prototype;Object.getOwnPropertyNames(b).forEach(d=>{if('function'===typeof b[d]&&'__getReplacementFunction'!==d){var e=b[d].K;null===e||e&&e.O()?c[d]=function(...f){var g=this.Ta;if(g&&Qa(g)&&(g=g.Fc)&&g[d]&&'function'===typeof g[d])return g[d].apply(g,f)}:(e=e||b[d].__oSig__||olympe.D.H.$,c[d]=function(...f){f=this.wp.call(this.Ta,
434
- ...f,e,d);const g=e.$;if(g){const h=this.Ta.Fc;h&&h[g]&&gb(f,h[g])}return e.U()?this:f})}});return c}function hb(a,b){J(a.Ta,b)}function ib(a){$a(a.Ta)}function jb(a){olympe.D.Yb([olympe.D.ga.C],b=>{a.Ta.Be(b)},'setDefaultValue');return a}function kb(a,b){ab(a.Ta,olympe.D.ff(b)?b:b.Ta)}function lb(a,b){olympe.D.ab(b)||olympe.D.ff(b)?kb(a,b):hb(a,b)}
435
- olympe.D.Proxy=class{constructor(a,b){this.Ta=null;this.tj=a;this.wp=b}static ab(a){return!(!a||!a.ae)}Eb(a){return olympe.D.Aa([this,a],(b,c)=>b===c,Boolean)}vd(a){return olympe.D.Aa([this,a],(b,c)=>null===b||null===c?b===c?olympe.D.ga.F:olympe.D.ga.C:b.valueOf()===c.valueOf()?olympe.D.ga.F:olympe.D.ga.C,olympe.D.ga)}vp(){return this.Ta}};olympe.D.Proxy.Zk='__opp__';olympe.D.Proxy.prototype.ae=!0;function mb(a,b){a.node.Be(b);return a}olympe.D.Pi=class{constructor(a,b='FlowSource'){this.node=olympe.D.createNode(a,void 0,void 0,void 0,void 0,b)}update(a){olympe.D.ab(a)?J(this.node,olympe.D.Sa(a)):J(this.node,a);return this}repeat(a){ab(this.node,olympe.D.ab(a)?a.Ta:a);return this}xb(){return K(this.node)}};function nb(a,b,c=1E3,d,e){const f=olympe.D.Ec(olympe.D.ea),g=d||olympe.D.ea.en.jo;let h,k,m,n,p,q;f.update(olympe.D.wa(a));k=window.performance.now();h=b.valueOf();p=h-a.valueOf();if(0!==p&&void 0===q){const r=()=>{f.node.G()||(p=h-a.valueOf(),n=(window.performance.now()-k)/c,1<=n&&(n=1,q=void 0),m=a.valueOf()+p*g(n,0,1,1),f.update(olympe.D.wa(m)),1===n&&void 0!==e&&e(m),1>n&&(q=window.requestAnimationFrame(r)))};q=window.requestAnimationFrame(r)}return f.xb()}
436
- olympe.D.ea=class{constructor(a){this.value=void 0===a||null===a?0:a}toJSON(){return'{ "type": "number", "value": '+JSON.stringify(this.value)+' }'}static Vb(a){let b;'string'===typeof a?b=JSON.parse(a):b=a;return olympe.D.wa(b.value)}qm(){return'number'===typeof this.value&&!isNaN(this.value)}isNaN(){return olympe.D.nc(!this.qm())}Uc(){return null===this.value||void 0===this.value||void 0===this.value.toString||isNaN(this.value)?olympe.D.pb(''):olympe.D.pb(this.value.toString())}toString(a,b){return void 0!==
437
- this.value&&null!==this.value?'number'===typeof a?this.value.toString(a):'number'===typeof b?this.value.toFixed(b):this.value.toString():'-'}toFixed(a){return this.qm()?this.valueOf().toFixed(a):''}static max(a){const b=new Map;let c=-Infinity;const d=olympe.D.Ec(olympe.D.ea,'ONumber.max result'),e=()=>{c=-Infinity;for(const f of b.values())f>c&&(c=f);d.update(olympe.D.wa(c))};a.forEach((f,g)=>{olympe.D.Yb([f],h=>{b.set(g,h.valueOf());e()})},f=>{if(!d.node.G()){var g=b.get(f);b.delete(f);g===c&&e()}});
438
- return d.xb()}Cd(a){return olympe.D.Aa([this,a],(b,c)=>olympe.D.wa(b.valueOf()+c.valueOf()),olympe.D.ea,'ONumber.plus')}Cg(a){return olympe.D.Aa([this,a],(b,c)=>olympe.D.wa(b.valueOf()-c.valueOf()),olympe.D.ea,'ONumber.minus')}round(){return olympe.D.wa(Math.round(this.valueOf()))}Di(){return olympe.D.wa(-this.valueOf())}Ij(a){return olympe.D.Aa([this,a],(b,c)=>olympe.D.wa(b.valueOf()*c.valueOf()),olympe.D.ea,'ONumber.mul')}Zh(a){return olympe.D.Aa([this,a],(b,c)=>olympe.D.wa(b.valueOf()/c.valueOf()),
439
- olympe.D.ea,'ONumber.div')}Ew(a){return olympe.D.Aa([this,a],(b,c)=>olympe.D.wa(b.valueOf()%c.valueOf()),olympe.D.ea,'ONumber.div')}floor(){return olympe.D.wa(Math.floor(this.valueOf()))}ceil(){return olympe.D.wa(Math.ceil(this.valueOf()))}trunc(){return olympe.D.wa(Math.trunc(this.valueOf()))}log(){return olympe.D.wa(Math.log(this.valueOf()))}pow(a){return olympe.D.Aa([this,a],(b,c)=>olympe.D.wa(Math.pow(b.valueOf(),c.valueOf())),olympe.D.ea,'ONumber.pow')}exp(){return olympe.D.wa(Math.exp(this.valueOf()))}vd(a){return olympe.D.Aa([this,
440
- a],(b,c)=>olympe.D.nc(b.Eb(c)),olympe.D.ga,'ONumber.oEquals')}Eb(a){return this.valueOf()===(void 0!==a&&null!==a?a.valueOf():void 0)}valueOf(){return void 0!==this.value?this.value.valueOf():void 0}Dv(){return this.valueOf()}am(a){return olympe.D.Aa([this,a],(b,c)=>b.valueOf()>c.valueOf()?olympe.D.ga.F:olympe.D.ga.C,olympe.D.ga,'ONumber.isBiggerThan')}bx(a){return olympe.D.Aa([this,a],(b,c)=>b.valueOf()>=c.valueOf()?b:olympe.D.wa(c),olympe.D.ea,'ONumber.returnsBiggest')}tq(a){return olympe.D.Aa([this,
441
- a],(b,c)=>b.valueOf()<=c.valueOf()?b:olympe.D.wa(c),olympe.D.ea,'ONumber.returnsSmallest')}qw(a){return olympe.D.Aa([this,a],(b,c)=>b.valueOf()<c.valueOf()?olympe.D.ga.F:olympe.D.ga.C,olympe.D.ga,'ONumber.isSmallerThan')}sin(){return olympe.D.wa(Math.sin(this.valueOf()))}cos(){return olympe.D.wa(Math.cos(this.valueOf()))}atan2(a){return olympe.D.ab(a)?olympe.D.Dd([a],b=>olympe.D.wa(Math.atan2(this.valueOf(),b.valueOf())),olympe.D.ea):olympe.D.wa(Math.atan2(this.valueOf(),a.valueOf()))}abs(){return olympe.D.wa(Math.abs(this.valueOf()))}ri(a,
442
- b){return olympe.D.ab(a)||olympe.D.ab(b)?olympe.D.Dd([a,b],(c,d)=>olympe.D.wa(this.valueOf()*d.valueOf()+c.valueOf()*(1-d.valueOf())),olympe.D.ea):olympe.D.wa(this.valueOf()*b.valueOf()+a.valueOf()*(1-b.valueOf()))}static Jt(a,b,c,d){'number'===typeof a&&(a=olympe.D.Bd(a));'number'===typeof b&&(b=olympe.D.Bd(b));'number'===typeof c&&(c=olympe.D.Bd(c));let e=0,f=olympe.D.Bd(0),g,h;void 0!==b&&void 0!==c&&olympe.D.Cj(b.am(c),()=>{olympe.ya.tb('df').warn('You have a min bigger than max, cap your inputs')});
443
- const k=(m,n)=>{n=olympe.D.Bd(n);const p=olympe.D.ea.animate(n,500);kb(f,p);hb(n,olympe.D.wa(m));e=m};olympe.D.Dd([a],m=>{e+=m.valueOf();e>h?k(h,e):e<g?k(g,e):kb(f,olympe.D.Bd(e))},olympe.D.ea);void 0!==b&&olympe.D.Nj(b.valueOf(),m=>{if(g!==m&&(g=m,g>e)){const n=olympe.D.Bd(e),p=olympe.D.ea.animate(n,400,d);m=olympe.D.wa(g);J(n.Ta,m);e=g;kb(f,p)}});void 0!==c&&olympe.D.Nj(c.valueOf(),m=>{if(h!==m&&(h=m,h<e)){const n=olympe.D.Bd(e),p=olympe.D.ea.animate(n,400,d);m=olympe.D.wa(h);J(n.Ta,m);e=h;kb(f,
444
- p)}});return f}static offset(a){let b;return olympe.D.Dd([a],c=>{void 0===b&&(b=c);return olympe.D.wa(c-b)},olympe.D.ea,'offset')}static Np(a){let b,c,d;return olympe.D.Aa([a],e=>{if(void 0===b)return b=e,c=window.performance.now(),olympe.D.wa(0);d=window.performance.now();const f=olympe.D.wa((e.valueOf()-b.valueOf())/(d-c));b=e;c=d;return f},olympe.D.ea,'derivative')}static kw(a){let b=olympe.D.wa(0),c,d,e;return olympe.D.Aa([a],f=>{if(void 0===c)return c=f,d=window.performance.now(),olympe.D.wa(0);
445
- e=window.performance.now();b=b.Cd((f.valueOf()+c.valueOf())/2*(e-d));c=f;d=e;return b},olympe.D.ea,'integrate')}static xu(a){let b;return olympe.D.Aa([a],c=>{void 0===b&&(b=c.valueOf());const d=olympe.D.wa(c.valueOf()-b.valueOf());b=c;return d},olympe.D.ea,'diff')}static mu(a,b,c){return olympe.D.Dd([a,b,c],(d,e,f)=>{d='number'===typeof d?d:d.valueOf();e='number'===typeof e?e:e.valueOf();f='number'===typeof f?f:f.valueOf();return olympe.D.wa(d>=e?d<=f?d:f:e)},olympe.D.ea)}static animate(a,b,c,d){let e;
446
- return e=olympe.D.Aa([a],f=>{const g=olympe.D.Sa(b,1E3);let h=olympe.D.Sa(e);return void 0===h?olympe.D.wa(f):nb(h,f,g,c,k=>{d&&d(k)})},olympe.D.ea)}static Zt(a,b,c){let d,e,f,g,h,k,m=olympe.D.Bd(),n;olympe.D.Yb([a],p=>{void 0===d?g=d=p.valueOf():d=g;f=window.performance.now();e=p.valueOf();k=e-d;0!==k&&void 0===n&&(n=setInterval(()=>{k=e-d;h=(window.performance.now()-f)/b;1<=h&&(h=1);g=d+k*c(h,0,1,1);hb(m,olympe.D.wa(g));1===h&&(clearTimeout(n),n=void 0)},0))});return m}static Uc(a){return olympe.D.ab(a)?
447
- olympe.D.Aa([a],b=>olympe.D.pb(b.valueOf().toString()),olympe.D.Pa):olympe.D.pb(a)}static Di(a){return olympe.D.ab(a)?olympe.D.Aa([a],b=>olympe.D.wa(-b.valueOf()),olympe.D.ea):olympe.D.wa(-a.valueOf())}static Cd(a,b){return olympe.D.ab(a)||olympe.D.ab(b)?olympe.D.Aa([a,b],(c,d)=>olympe.D.wa(c.valueOf()+d.valueOf()),olympe.D.ea,'plus'):olympe.D.wa(a.valueOf()+b.valueOf())}static Cg(a,b){return olympe.D.ab(a)||olympe.D.ab(b)?olympe.D.Dd([a,b],(c,d)=>olympe.D.wa(c.valueOf()-d.valueOf()),olympe.D.ea,
448
- 'minus'):olympe.D.wa(a.valueOf()-b.valueOf())}static Zh(a,b){return olympe.D.ab(a)||olympe.D.ab(b)?olympe.D.Dd([a,b],(c,d)=>olympe.D.wa(c.valueOf()/d.valueOf()),olympe.D.ea,'div'):olympe.D.wa(a.valueOf()/b.valueOf())}static Xw(a,b){if(void 0===b)return a;olympe.D.Yb([b],c=>{c=olympe.D.wa(L(a).valueOf()+c.valueOf());J(a.Ta,c)},'plusEqual');return a}};olympe.D.ea.ZERO=new olympe.D.ea(0);olympe.D.ea.ONE=new olympe.D.ea(1);olympe.D.ea.Bt=new olympe.D.ea(2);olympe.D.ea.PI=new olympe.D.ea(Math.PI);
449
- olympe.D.ea.Ar=new olympe.D.ea(Infinity);olympe.D.ea.Cs=new olympe.D.ea(-Infinity);olympe.D.ea.to=new olympe.D.ea(NaN);olympe.D.ea.Bz=olympe.D.ea.Xw;olympe.D.ea.Nx=olympe.D.ea.Jt;olympe.D.ea.sz=olympe.D.ea.offset;olympe.D.ea.ly=olympe.D.ea.Np;olympe.D.ea.BB=olympe.D.ea.Np;olympe.D.ea.cz=olympe.D.ea.kw;olympe.D.ea.my=olympe.D.ea.xu;olympe.D.ea.cy=olympe.D.ea.mu;olympe.D.ea.Ox=olympe.D.ea.animate;olympe.D.ea.Px=olympe.D.ea.Zt;olympe.D.ea.SA=olympe.D.ea.Uc;olympe.D.ea.TA=olympe.D.ea.Di;
450
- olympe.D.ea.Az=olympe.D.ea.Cd;olympe.D.ea.nz=olympe.D.ea.Cg;olympe.D.ea.ny=olympe.D.ea.Zh;
451
- olympe.D.ea.en={jo:function(a,b,c,d){return c*a/d+b},Iy:function(a,b,c,d){a/=d;return c*a*a+b},Sy:function(a,b,c,d){a/=d;return-c*a*(a-2)+b},Ey:function(a,b,c,d){a/=d/2;if(1>a)return c/2*a*a+b;a--;return-c/2*(a*(a-2)-1)+b},xy:function(a,b,c,d){a/=d;return c*a*a*a+b},Oy:function(a,b,c,d){a/=d;a--;return c*(a*a*a+1)+b},Cy:function(a,b,c,d){a/=d/2;if(1>a)return c/2*a*a*a+b;a-=2;return c/2*(a*a*a+2)+b},Jy:function(a,b,c,d){a/=d;return c*a*a*a*a+b},Ty:function(a,b,c,d){a/=d;a--;return-c*(a*a*a*a-1)+b},
452
- Fy:function(a,b,c,d){a/=d/2;if(1>a)return c/2*a*a*a*a+b;a-=2;return-c/2*(a*a*a*a-2)+b},Ky:function(a,b,c,d){a/=d;return c*a*a*a*a*a+b},Uy:function(a,b,c,d){a/=d;a--;return c*(a*a*a*a*a+1)+b},Gy:function(a,b,c,d){a/=d/2;if(1>a)return c/2*a*a*a*a*a+b;a-=2;return c/2*(a*a*a*a*a+2)+b},Ly:function(a,b,c,d){return-c*Math.cos(a/d*(Math.PI/2))+c+b},Vy:function(a,b,c,d){return c*Math.sin(a/d*(Math.PI/2))+b},Hy:function(a,b,c,d){return-c/2*(Math.cos(Math.PI*a/d)-1)+b},Ay:function(a,b,c,d){return c*Math.pow(2,
453
- 10*(a/d-1))+b},Ry:function(a,b,c,d){return c*(-Math.pow(2,-10*a/d)+1)+b},Dy:function(a,b,c,d){a/=d/2;if(1>a)return c/2*Math.pow(2,10*(a-1))+b;a--;return c/2*(-Math.pow(2,-10*a)+2)+b},wy:function(a,b,c,d){a/=d;return-c*(Math.sqrt(1-a*a)-1)+b},Ny:function(a,b,c,d){a/=d;a--;return c*Math.sqrt(1-a*a)+b},By:function(a,b,c,d){a/=d/2;if(1>a)return-c/2*(Math.sqrt(1-a*a)-1)+b;a-=2;return c/2*(Math.sqrt(1-a*a)+1)+b},ry:function(a,b,c,d){d=(a/=d)*a;return b+c*(4*d*a+-3*d)},sy:function(a,b,c,d){d=(a/=d)*a;return b+
454
- c*(2*d*d+2*d*a+-3*d)},ty:function(a,b,c,d){d=(a/=d)*a;return b+c*(4*d*a+-9*d+6*a)},uy:function(a,b,c,d){d=(a/=d)*a;return b+c*(-2*d*d+10*d*a+-15*d+8*a)},Qy:function(a,b,c,d){d=(a/=d)*a;const e=d*a;return b+c*(33*e*d+-106*d*d+126*e+-67*d+15*a)},Py:function(a,b,c,d){d=(a/=d)*a;const e=d*a;return b+c*(56*e*d+-175*d*d+200*e+-100*d+20*a)},zy:function(a,b,c,d){d=(a/=d)*a;a*=d;return b+c*(33*a*d+-59*d*d+32*a+-5*d)},yy:function(a,b,c,d){d=(a/=d)*a;a*=d;return b+c*(56*a*d+-105*d*d+60*a+-10*d)},My:function(a,
455
- b,c,d){return(a/=d)<1/2.75?7.5625*c*a*a+b:a<2/2.75?c*(7.5625*(a-=1.5/2.75)*a+.75)+b:a<2.5/2.75?c*(7.5625*(a-=2.25/2.75)*a+.9375)+b:c*(7.5625*(a-=2.625/2.75)*a+.984375)+b},vy:function(a,b,c,d){a=d-a;d=(a/=d)<1/2.75?7.5625*c*a*a:a<2/2.75?c*(7.5625*(a-=1.5/2.75)*a+.75):a<2.5/2.75?c*(7.5625*(a-=2.25/2.75)*a+.9375):c*(7.5625*(a-=2.625/2.75)*a+.984375);return c-d+b}};l=olympe.D.ea.prototype;l.toJSON.K=olympe.D.H.C;l.qm.K=olympe.D.H.C;l.isNaN.K=olympe.D.H.O;l.Uc.K=olympe.D.H.F;
456
- l.toString.K=new olympe.D.H(()=>String,[]);l.toFixed.K=new olympe.D.H(()=>String,[]);l.Cd.K=new olympe.D.H(()=>olympe.D.ea,[0]);l.Cg.K=new olympe.D.H(()=>olympe.D.ea,[0]);l.round.K=olympe.D.H.G;l.Di.K=olympe.D.H.G;l.Ij.K=new olympe.D.H(()=>olympe.D.ea,[0]);l.Zh.K=new olympe.D.H(()=>olympe.D.ea,[0]);l.Ew.K=new olympe.D.H(()=>olympe.D.ea,[0]);l.floor.K=olympe.D.H.G;l.ceil.K=olympe.D.H.G;l.trunc.K=olympe.D.H.G;l.log.K=olympe.D.H.G;l.pow.K=new olympe.D.H(()=>olympe.D.ea,[0]);l.exp.K=olympe.D.H.G;
457
- l.vd.K=new olympe.D.H(()=>olympe.D.ga,[0]);l.Eb.K=olympe.D.H.C;l.valueOf.K=olympe.D.H.C;l.Dv.K=olympe.D.H.C;l.am.K=new olympe.D.H(()=>olympe.D.ga,[0]);l.bx.K=new olympe.D.H(()=>olympe.D.ea,[0]);l.tq.K=new olympe.D.H(()=>olympe.D.ea,[0]);l.qw.K=new olympe.D.H(()=>olympe.D.ga,[0]);l.sin.K=olympe.D.H.G;l.cos.K=olympe.D.H.G;l.atan2.K=new olympe.D.H(()=>olympe.D.ea,[0]);l.abs.K=olympe.D.H.G;l.ri.K=new olympe.D.H(()=>olympe.D.ea,[0,1]);olympe.D.Pa=class{constructor(a){this.value=a}toJSON(){return'{ "type": "string", "value": '+JSON.stringify(this.value)+' }'}static Vb(a){let b;'string'===typeof a?b=JSON.parse(a):b=a;return olympe.D.pb(b.value)}Jp(a){return olympe.D.Pa.concat(this,'.',a)}concat(...a){let b;Array.isArray(a[0])?b=a[0]:b=a;return olympe.D.Aa([this,...b],(...c)=>{let d='';for(let e=0,f=c.length;e<f;e++)d=c[e]?d+c[e].valueOf():d+c[e];return olympe.D.pb(d)},olympe.D.Pa,'OString.concat')}Uc(){return this}Ax(a){return olympe.D.wa(parseInt(this.value,
458
- a))}yq(){return olympe.D.wa(parseFloat(this.value))}toString(){return this.value}valueOf(){return this.value.valueOf()}Eb(a){return this.value===(void 0===a||null===a?void 0:a.valueOf())}vd(a){return olympe.D.Aa([this,a],(b,c)=>olympe.D.nc(c&&b.valueOf()===c.valueOf()),olympe.D.ga,'OString.oEquals')}bm(){return olympe.D.nc(!this.value||0===this.value.length)}contains(a){return olympe.D.Aa([this,a],(b,c)=>olympe.D.nc((c instanceof olympe.D.Pa||'string'===typeof c)&&b.valueOf().includes(c.valueOf())),
459
- olympe.D.ga,'OString.contains')}startsWith(a,b){return olympe.D.Aa([this,a,b||0],(c,d,e)=>olympe.D.nc(c.valueOf().startsWith(d.valueOf(),e.valueOf())),olympe.D.ga,'OString.startsWith')}endsWith(a,b){return olympe.D.Aa([this,a,b||-1],(c,d,e)=>{e=0<=e.valueOf()?e.valueOf():this.Pl().valueOf()+e.valueOf()+1;return olympe.D.nc(c.valueOf().endsWith(d.valueOf(),e))},olympe.D.ga,'OString.endsWith')}indexOf(a,b){return olympe.D.Aa([this,a,b||0],(c,d,e)=>olympe.D.wa(c.valueOf().indexOf(d.valueOf(),e.valueOf())),
460
- olympe.D.ea,'OString.indexOf')}lastIndexOf(a,b){return olympe.D.Aa([this,a,b||Infinity],(c,d,e)=>olympe.D.wa(c.valueOf().lastIndexOf(d.valueOf(),e.valueOf())),olympe.D.ea,'OString.lastIndexOf')}slice(a,b){return olympe.D.Aa([this,a,b],(c,d,e)=>olympe.D.pb(c.valueOf().slice(d.valueOf(),e?e.valueOf():void 0)),olympe.D.Pa,'OString.slice')}Pl(){return olympe.D.wa(this.value.length)}threshold(a){return olympe.D.Aa([this,a],(b,c)=>b.valueOf().length>=c.valueOf()?b:olympe.D.Pa.EMPTY,olympe.D.Pa,'OString.threshold')}toLowerCase(){return olympe.D.pb(this.value.toLowerCase())}toUpperCase(){return olympe.D.pb(this.value.toUpperCase())}trim(){return olympe.D.pb(this.value.trim())}padStart(a,
461
- b){return olympe.D.Aa([this,a,b],(c,d,e)=>olympe.D.pb(c.valueOf().padStart(d.valueOf(),e.valueOf())),olympe.D.Pa,'OString.padStart')}padEnd(a,b){return olympe.D.Aa([this,a,b],(c,d,e)=>olympe.D.pb(c.valueOf().padEnd(d.valueOf(),e.valueOf())),olympe.D.Pa,'OString.padEnd')}replace(a,b){return olympe.D.Aa([this,a,b],(c,d,e)=>olympe.D.pb(c.valueOf().replace(d.valueOf(),e.valueOf())),olympe.D.Pa,'OString.replace')}wx(a,b){return olympe.D.Aa([this,a,b],(c,d,e)=>olympe.D.pb(c.valueOf().substr(d.valueOf(),
462
- e.valueOf())),olympe.D.Pa,'OString.subOStr')}static concat(...a){return olympe.D.pb('').concat(...a)}};olympe.D.Pa.EMPTY=new olympe.D.Pa('');olympe.D.Pa.nt=new olympe.D.Pa(' ');l=olympe.D.Pa.prototype;l.toJSON.K=olympe.D.H.C;l.Jp.K=new olympe.D.H(()=>olympe.D.Pa,[0,1]);l.concat.K=olympe.D.H.F;l.Uc.K=olympe.D.H.F;l.Ax.K=olympe.D.H.G;l.yq.K=olympe.D.H.G;l.toString.K=olympe.D.H.C;l.valueOf.K=olympe.D.H.C;l.Eb.K=olympe.D.H.C;l.vd.K=new olympe.D.H(()=>olympe.D.ga,[0]);l.bm.K=olympe.D.H.O;
463
- l.contains.K=new olympe.D.H(()=>olympe.D.ga,[0]);l.startsWith.K=new olympe.D.H(()=>olympe.D.ga,[0,1]);l.endsWith.K=new olympe.D.H(()=>olympe.D.ga,[0,1]);l.indexOf.K=new olympe.D.H(()=>olympe.D.ea,[0,1]);l.lastIndexOf.K=new olympe.D.H(()=>olympe.D.ea,[0,1]);l.slice.K=new olympe.D.H(()=>olympe.D.Pa,[0,1]);l.Pl.K=olympe.D.H.G;l.threshold.K=new olympe.D.H(()=>olympe.D.Pa,[0]);l.toLowerCase.K=olympe.D.H.F;l.toUpperCase.K=olympe.D.H.F;l.trim.K=olympe.D.H.F;l.padStart.K=olympe.D.H.F;l.padEnd.K=olympe.D.H.F;
464
- l.replace.K=olympe.D.H.F;l.wx.K=olympe.D.H.F;olympe.D.ga=class{constructor(a){this.value=a}toJSON(){return`{ "type": "boolean", "value": ${this.value.valueOf()}}`}static Vb(a){let b;'string'===typeof a?b=JSON.parse(a):b=a;return b.value?olympe.D.ga.F:olympe.D.ga.C}and(a){if(void 0!==a)return olympe.D.ab(a)?olympe.D.Dd([a],b=>new olympe.D.ga(this.valueOf()&&b.valueOf()),olympe.D.ga,'and'):this.value&&a.valueOf()?olympe.D.ga.F:olympe.D.ga.C}Eb(a){return this.valueOf()===(void 0!==a?a.valueOf():void 0)}vd(a){if(void 0!==a)return olympe.D.ab(a)?
465
- olympe.D.Dd([a],b=>new olympe.D.ga(this.valueOf()===b.valueOf()),olympe.D.ga,'oEquals'):this.Eb(a)?olympe.D.ga.F:olympe.D.ga.C}Eg(){return this.value?olympe.D.ga.C:olympe.D.ga.F}Yt(a){if(void 0!==a)return olympe.D.ab(a)?olympe.D.Dd([a],b=>new olympe.D.ga(!(this.valueOf()&&b.valueOf())),olympe.D.ga,'andNot'):this.value&&!a.valueOf()?olympe.D.ga.F:olympe.D.ga.C}or(a){if(void 0!==a)return olympe.D.ab(a)?olympe.D.Dd([a],b=>new olympe.D.ga(this.valueOf()||b.valueOf()),olympe.D.ga,'or'):this.value||a.valueOf()?
466
- olympe.D.ga.F:olympe.D.ga.C}xor(a){return olympe.D.Aa([this,a],(b,c)=>{b=b.valueOf();c=c.valueOf();return olympe.D.nc(b&&!c||!b&&c)},olympe.D.ga,'OBoolean.xor')}Ru(){return this.value}Yp(){return!0===this.value?olympe.D.ea.ONE:olympe.D.ea.ZERO}Uc(){return olympe.D.pb(this.toString())}toString(){return this.value?'true':'false'}valueOf(){return this.value}};olympe.D.ga.F=new olympe.D.ga(!0);olympe.D.ga.C=new olympe.D.ga(!1);l=olympe.D.ga.prototype;l.toJSON.K=olympe.D.H.C;
467
- l.and.K=new olympe.D.H(()=>olympe.D.ga,[0]);l.Eb.K=olympe.D.H.C;l.vd.K=new olympe.D.H(()=>olympe.D.ga,[0]);l.Eg.K=olympe.D.H.O;l.Yt.K=new olympe.D.H(()=>olympe.D.ga,[0]);l.or.K=new olympe.D.H(()=>olympe.D.ga,[0]);l.xor.K=new olympe.D.H(()=>olympe.D.ga,[0]);l.Ru.K=new olympe.D.H(()=>Boolean,[]);l.Yp.K=olympe.D.H.G;l.Uc.K=olympe.D.H.F;l.toString.K=olympe.D.H.C;l.valueOf.K=olympe.D.H.C;function ob(a){return new olympe.D.Ya(new Date(a))}
468
- olympe.D.Ya=class{constructor(a){this.jb=a}toJSON(){return'{ "type": "dateTime", "value": "'+this.jb.toJSON()+'" }'}static Vb(a){let b;'string'===typeof a?b=JSON.parse(a):b=a;return new olympe.D.Ya(new Date(b.value.valueOf()))}static now(){return new olympe.D.Ya(new Date)}hq(){return this.jb&&!isNaN(this.jb.getTime())?olympe.D.ga.F:olympe.D.ga.C}Hr(){return olympe.D.wa(this.jb.getMilliseconds())}Jr(){return olympe.D.wa(this.jb.getSeconds())}Ir(){return olympe.D.wa(this.jb.getMinutes())}Gr(){return olympe.D.wa(this.jb.getHours())}dv(){return olympe.D.wa(this.jb.getDate())}getMonth(){return olympe.D.wa(this.jb.getMonth()+1)}Kr(){return olympe.D.wa(this.jb.getFullYear())}getTime(){return this.jb.getTime()}sx(){var a=
469
- olympe.D,b=a.pb;var c=this.jb.getDate();c=10>c?'0'+c:c;var d=this.jb.getMonth()+1;return b.call(a,`${c}.${10>d?'0'+d:d}.${this.jb.getFullYear()}`)}toLocaleString(a){return void 0===a||'string'===typeof a?olympe.D.pb(this.jb.toLocaleString(a)):olympe.D.Aa([this,a],(b,c)=>olympe.D.pb(b.jb.toLocaleString(c.valueOf())),olympe.D.Pa)}toLocaleDateString(a){return void 0===a||'string'===typeof a?olympe.D.pb(this.jb.toLocaleDateString(a)):olympe.D.Aa([this,a],(b,c)=>olympe.D.pb(b.jb.toLocaleDateString(c.valueOf())),
470
- olympe.D.Pa)}toLocaleTimeString(a){return void 0===a||'string'===typeof a?olympe.D.pb(this.jb.toLocaleTimeString(a)):olympe.D.Aa([this,a],(b,c)=>olympe.D.pb(b.jb.toLocaleTimeString(c.valueOf())),olympe.D.Pa)}Uc(){return olympe.D.pb(this.jb.toISOString())}xq(){return new Date(this.getTime())}zx(){return this}Bx(){return this}Gf(a,b){return olympe.D.Aa([b],c=>{const d=new olympe.D.Ya(new Date(this.jb.getTime()));d.jb['set'+a](this.jb['get'+a]()+c.valueOf());return d},olympe.D.Ya)}Ot(a){return this.Gf('Milliseconds',
471
- a)}Ut(a){return this.Gf('Seconds',a)}Pt(a){return this.Gf('Minutes',a)}Nt(a){return this.Gf('Hours',a)}tl(a){return this.Gf('Date',a)}Vt(a){return'number'===typeof a?this.tl(7*a):this.tl(a.Ij(7))}Qt(a){return this.Gf('Month',a)}Wt(a){return this.Gf('FullYear',a)}ux(){let a=this.jb.getDay();a=0===a?6:a-1;return new olympe.D.Ya(new Date(this.jb.getFullYear(),this.jb.getMonth(),this.jb.getDate()-a))}vx(){return new olympe.D.Ya(new Date(this.jb.getFullYear(),this.jb.getMonth()))}vd(a){return olympe.D.Aa([a],
472
- b=>olympe.D.nc(this.Eb(b)),olympe.D.ga)}Eb(a){return a instanceof olympe.D.Ya?this.getTime()===a.getTime()||isNaN(this.getTime())&&isNaN(a.getTime()):!1}vv(){let a=this.jb.getDay();0===a&&(a=7);return olympe.D.wa(a)}jv(a,b){return olympe.D.Aa([a,b],(c,d)=>{d=d.valueOf();'years'===d?c=this.jb.getFullYear()-c.jb.getFullYear():'months'===d?c=12*(this.jb.getFullYear()-c.jb.getFullYear())+(this.jb.getMonth()-c.jb.getMonth()):(d={milliseconds:1,seconds:1E3,minutes:6E4,hours:36E5,days:864E5,weeks:6048E5}[d],
473
- void 0===d&&(olympe.ya.tb('df').warn("[getDiff] '_unit' is not a valid unit! Defaulting to milliseconds"),d=1),c=Math.trunc((this.jb.getTime()-c.jb.getTime())/d));return olympe.D.wa(c)},olympe.D.ea)}nw(a){return olympe.D.Aa([a],b=>olympe.D.nc(this.getTime()<b.getTime()),olympe.D.ga)}lw(a){return olympe.D.Aa([a],b=>olympe.D.nc(this.getTime()>b.getTime()),olympe.D.ga)}ow(a,b){return olympe.D.Aa([a,b],(c,d)=>olympe.D.nc(this.getTime()>c.getTime()&&this.getTime()<d.getTime()),olympe.D.ga)}valueOf(){return this.hq()?
474
- new Date(this.getTime()):(olympe.ya.tb('df').warn('Invalid datetime, returns Date(0).'),new Date(0))}};olympe.D.Ya.C=ob(0);olympe.D.Ya.F=ob(Number.NaN);l=olympe.D.Ya.prototype;l.hq.K=olympe.D.H.O;l.Hr.K=olympe.D.H.G;l.Jr.K=olympe.D.H.G;l.Ir.K=olympe.D.H.G;l.Gr.K=olympe.D.H.G;l.dv.K=olympe.D.H.G;l.getMonth.K=olympe.D.H.G;l.Kr.K=olympe.D.H.G;l.getTime.K=olympe.D.H.C;l.sx.K=new olympe.D.H(()=>olympe.D.Pa,[0]);l.toLocaleString.K=olympe.D.H.F;l.toLocaleDateString.K=olympe.D.H.F;
475
- l.toLocaleTimeString.K=olympe.D.H.F;l.Uc.K=olympe.D.H.F;l.xq.K=olympe.D.H.C;l.zx.K=new olympe.D.H(()=>olympe.D.Ya,[]);l.Bx.K=new olympe.D.H(()=>olympe.D.Ya,[]);l.Gf.K=new olympe.D.H(()=>olympe.D.Ya,[]);l.Ot.K=new olympe.D.H(()=>olympe.D.Ya,[]);l.Ut.K=new olympe.D.H(()=>olympe.D.Ya,[]);l.Pt.K=new olympe.D.H(()=>olympe.D.Ya,[]);l.Nt.K=new olympe.D.H(()=>olympe.D.Ya,[]);l.tl.K=new olympe.D.H(()=>olympe.D.Ya,[0]);l.Vt.K=new olympe.D.H(()=>olympe.D.Ya,[]);l.Qt.K=new olympe.D.H(()=>olympe.D.Ya,[]);
476
- l.Wt.K=new olympe.D.H(()=>olympe.D.Ya,[0]);l.ux.K=new olympe.D.H(()=>olympe.D.Ya,[]);l.vx.K=new olympe.D.H(()=>olympe.D.Ya,[]);l.vd.K=olympe.D.H.O;l.Eb.K=olympe.D.H.C;l.vv.K=olympe.D.H.G;l.jv.K=new olympe.D.H(()=>olympe.D.ea,[0,1]);l.nw.K=new olympe.D.H(()=>olympe.D.ga,[0]);l.lw.K=new olympe.D.H(()=>olympe.D.ga,[0]);l.ow.K=new olympe.D.H(()=>olympe.D.ga,[0,1]);l.valueOf.K=olympe.D.H.C;const pb=new Map,qb=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i,rb=/^#?([a-f\d])([a-f\d])([a-f\d])([a-f\d])?$/i;function sb(a){const b=c=>{let d;c=c.valueOf();6>c.length?(d=17,c=rb.exec(c)):(d=1,c=qb.exec(c));c=c?c.slice(1).map(e=>parseInt(e,16)*d):[0,0,0];return olympe.D.Color.create(c[0],c[1],c[2],isNaN(c[3])?1:c[3]/255)};return olympe.D.gf(a)?olympe.D.Dd([a],b,olympe.D.Color):b(a)}
477
- olympe.D.Color=class{constructor(a,b,c,d){this.C=olympe.D.wa(void 0!==a?Math.min(255,Math.max(0,Math.round(a))):0);this.F=olympe.D.wa(void 0!==b?Math.min(255,Math.max(0,Math.round(b))):0);this.b=olympe.D.wa(void 0!==c?Math.min(255,Math.max(0,Math.round(c))):0);this.a=olympe.D.wa(void 0!==d?Math.min(1,Math.max(0,d)):1)}toJSON(){return`{ "type": "color", "r": ${this.C.valueOf()}, "g": ${this.F.valueOf()}, "b": ${this.b.valueOf()}, "a": ${this.a.valueOf()} }`}static Vb(a){let b;'string'===typeof a?b=
478
- JSON.parse(a):b=a;return olympe.D.Color.create(b.r,b.g,b.b,b.a)}static create(a,b,c,d=1){return olympe.D.Aa([a,b,c,d],(e,f,g,h)=>{e=olympe.D.wa(void 0!==e?Math.min(255,Math.max(0,Math.round(e.valueOf()))):0);f=olympe.D.wa(void 0!==f?Math.min(255,Math.max(0,Math.round(f.valueOf()))):0);g=olympe.D.wa(void 0!==g?Math.min(255,Math.max(0,Math.round(g.valueOf()))):0);h=olympe.D.wa(void 0!==h?Math.min(1,Math.max(0,h.valueOf())):1);for(let k of pb.values())if(k&&k.C.Eb(e)&&k.F.Eb(f)&&k.b.Eb(g)&&k.a.Eb(h))return k;
479
- return new olympe.D.Color(e,f,g,h)},olympe.D.Color)}xg(){return this.C}pg(){return this.b}ug(){return this.F}og(){return this.a}gu(a,b){return olympe.D.Color.create(this.C.ri(a.xg(),b),this.F.ri(a.ug(),b),this.b.ri(a.pg(),b),this.a.ri(a.og(),b))}Hu(a){return olympe.D.Color.create(this.C,this.F,this.b,a)}zq(){return`rgba(${this.C},${this.F},${this.b},${this.a})`}pm(){const a=(16777216|this.b|this.F<<8|this.C<<16).toString(16).slice(1),b=1===this.a.valueOf()?'':(256|255*this.a).toString(16).slice(1);
480
- return'#'+(a+b).toUpperCase()}toString(){return this.pm()}Eb(a){return a instanceof olympe.D.Color?this.C.valueOf()===a.C.valueOf()&&this.F.valueOf()===a.F.valueOf()&&this.b.valueOf()===a.b.valueOf()&&this.a.valueOf()===a.a.valueOf():!1}};olympe.D.Color.prototype.equals=olympe.D.Color.prototype.Eb;olympe.D.Color.prototype.toHexString=olympe.D.Color.prototype.pm;olympe.D.Color.prototype.toRGBString=olympe.D.Color.prototype.zq;olympe.D.Color.prototype.getAlpha=olympe.D.Color.prototype.og;
481
- olympe.D.Color.prototype.getGreen=olympe.D.Color.prototype.ug;olympe.D.Color.prototype.getBlue=olympe.D.Color.prototype.pg;olympe.D.Color.prototype.getRed=olympe.D.Color.prototype.xg;olympe.D.Color.create=olympe.D.Color.create;l=olympe.D.Color.prototype;l.toJSON.K=olympe.D.H.C;l.xg.K=olympe.D.H.G;l.pg.K=olympe.D.H.G;l.ug.K=olympe.D.H.G;l.og.K=olympe.D.H.G;l.gu.K=new olympe.D.H(()=>olympe.D.Color,[]);l.Hu.K=new olympe.D.H(()=>olympe.D.Color,[]);l.zq.K=new olympe.D.H(()=>String,[]);
482
- l.pm.K=new olympe.D.H(()=>String,[]);l.Eb.K=olympe.D.H.C;olympe.D.File=class{ja(){}ao(){}Hk(){}Rl(){}zj(){}Kl(){}Aj(){}sq(){}};olympe.D.Ub=class{constructor(a,b){this.x=olympe.D.Bd(a);this.y=olympe.D.Bd(b)}toJSON(){return'{ "type": "vector2", "x": '+JSON.stringify(olympe.D.Sa(this.x).valueOf())+', "y": '+JSON.stringify(olympe.D.Sa(this.y).valueOf())+' }'}static Vb(a){let b;'string'===typeof a?b=JSON.parse(a):b=a;return new olympe.D.Ub(b.x,b.y)}hw(){return this.x}qx(a){lb(this.x,a)}iw(){return this.y}rx(a){lb(this.y,a)}Yv(){return this.x.tq(this.y)}Cd(a){return olympe.D.Aa([this,a],(b,c)=>new olympe.D.Ub(b.x.Cd(c.x),b.y.Cd(c.y)),
483
- olympe.D.Ub,'Vector2.plus')}Cg(a){return olympe.D.Aa([this,a],(b,c)=>new olympe.D.Ub(b.x.Cg(c.x),b.y.Cg(c.y)),olympe.D.Ub,'Vector2.minus')}Gw(a){return new olympe.D.Ub(this.x.Ij(a),this.y.Ij(a))}Au(a){return new olympe.D.Ub(this.x.Zh(a),this.y.Zh(a))}Iw(){return new olympe.D.Ub(this.x.Di(),this.y.Di())}Bu(a){return olympe.D.Aa([this,a],(b,c)=>olympe.D.Aa([b.x,b.y,c.x,c.y],(d,e,f,g)=>olympe.D.wa(d*f+e*g),olympe.D.ea),olympe.D.ea)}length(){return olympe.D.Aa([this.x,this.y],(a,b)=>olympe.D.wa(Math.sqrt(a*
484
- a+b*b)),olympe.D.ea)}Lr(){return olympe.D.Aa([this.x,this.y],(a,b)=>{const c=Math.sqrt(a*a+b*b);return new olympe.D.Ub(a/c,b/c)},olympe.D.Ub)}floor(){return olympe.D.Aa([this.x,this.y],(a,b)=>new olympe.D.Ub(Math.floor(a),Math.floor(b)),olympe.D.Ub)}ceil(){return olympe.D.Aa([this.x,this.y],(a,b)=>new olympe.D.Ub(Math.ceil(a),Math.ceil(b)),olympe.D.Ub)}round(){return olympe.D.Aa([this.x,this.y],(a,b)=>new olympe.D.Ub(Math.round(a),Math.round(b)),olympe.D.Ub)}St(a){return new olympe.D.Ub(this.x.Cd(a),
485
- this.y.Cd(a))}Tt(a,b){return new olympe.D.Ub(this.x.Cd(a),this.y.Cd(b))}Uc(){return olympe.D.Aa([this.x,this.y],(a,b)=>olympe.D.pb(`Vector2[${a.valueOf()}, ${b.valueOf()}]`),olympe.D.Pa)}toString(){return`Vector2[${L(this.x)}, ${L(this.y)}]`}Eb(a){return this===a?!0:!1}};l=olympe.D.Ub.prototype;l.toJSON.K=olympe.D.H.C;l.hw.K=olympe.D.H.G;l.qx.K=olympe.D.H.C;l.iw.K=olympe.D.H.G;l.rx.K=olympe.D.H.C;l.Yv.K=olympe.D.H.G;l.Cd.K=new olympe.D.H(()=>olympe.D.Ub,[0]);
486
- l.Cg.K=new olympe.D.H(()=>olympe.D.Ub,[0]);l.Gw.K=olympe.D.H.U;l.Au.K=olympe.D.H.U;l.Iw.K=olympe.D.H.U;l.Bu.K=new olympe.D.H(()=>olympe.D.ea,[0]);l.length.K=olympe.D.H.G;l.Lr.K=olympe.D.H.U;l.floor.K=olympe.D.H.U;l.ceil.K=olympe.D.H.U;l.round.K=olympe.D.H.U;l.St.K=olympe.D.H.U;l.Tt.K=olympe.D.H.U;l.Uc.K=olympe.D.H.F;l.toString.K=olympe.D.H.C;l.Eb.K=olympe.D.H.C;olympe.D.Xf=class{constructor(){}Jb(){}dd(){}get(){}rg(){}has(){}Nf(){}jd(){}df(){}ke(){}Jf(){}forEach(){}hd(){}};olympe.D.Xf.prototype.forEachCurrentValue=olympe.D.Xf.prototype.hd;olympe.D.Xf.prototype.forEach=olympe.D.Xf.prototype.forEach;l=olympe.D.Xf.prototype;l.has.K=olympe.D.H.O;l.Nf.K=olympe.D.H.C;l.jd.K=new olympe.D.H(()=>Object,[]);l.df.K=new olympe.D.H(()=>String,[]);l.ke.K=olympe.D.H.G;l.Jf.K=olympe.D.H.C;l.forEach.K=new olympe.D.H(()=>{},[]);l.hd.K=olympe.D.H.C;olympe.D.fd=class extends olympe.D.Xf{constructor(){super()}Ad(){}cf(){}we(){}bf(){}af(){}ee(){}bi(){}jh(){}};olympe.D.fd.prototype.getCurrentAt=olympe.D.fd.prototype.ee;olympe.D.fd.prototype.getAt=olympe.D.fd.prototype.af;olympe.D.fd.prototype.getCurrentKeyAt=olympe.D.fd.prototype.bf;olympe.D.fd.prototype.getKeyAt=olympe.D.fd.prototype.we;olympe.D.fd.prototype.getCurrentRank=olympe.D.fd.prototype.cf;olympe.D.fd.prototype.getRank=olympe.D.fd.prototype.Ad;l=olympe.D.fd.prototype;l.Ad.K=olympe.D.H.G;
487
- l.cf.K=olympe.D.H.C;l.we.K=new olympe.D.H(()=>String,[]);l.bf.K=olympe.D.H.C;l.af.K=new olympe.D.H(()=>Object,[]);l.ee.K=olympe.D.H.C;l.bi.K=olympe.D.H.C;l.jh.K=new olympe.D.H(()=>Array,[]);olympe.D.uh=class{constructor(a,b){this.O=b||olympe.D.Ha();this.valueType=a||Object;this.values={};this.Va=this.Ja=null;this.ve=0;this.$=Object.create(null);this.wb=Object.create(null);this.size=0;this.L=null;this.O.onDestroy(()=>{const c=this.$;if(c){const d=Object.keys(c),e=d.length;for(let f=0;f<e;f++){let g=c[d[f]],h=Object.keys(g);for(let k=h.length,m=0;m<k;m++)g[h[m]].fb()}}})}Tg(){return this.O}Jb(){return this.valueType}dd(a){this.valueType=a;let b=this.Ja;if(null!==b)for(let c in b)Object.prototype.hasOwnProperty.call(b,
488
- c)&&gb(b[c],a)}get(a){let b=c=>{null===this.Ja&&(this.Ja={});return this.fi(this.Ja,c,this.values[c],this.valueType,'Map.get('+c+')')};return olympe.D.Aa([a],c=>b(c),this.valueType)}rg(a){a=this.values[a];return olympe.D.ab(a)?Qa(a.Ta)?L(a):void 0:a}has(a){let b=c=>{null===this.Va&&(this.Va={});return this.fi(this.Va,c,c in this.values?olympe.D.ga.F:olympe.D.ga.C,olympe.D.ga,'Map.has('+c+')')};return olympe.D.Aa([a],c=>b(c),olympe.D.ga)}Nf(a){return a in this.values}fi(a,b,c,d,e){let f=a[b];f||this.O.run(()=>
489
- {f=olympe.D.sd(d,void 0,e);a[b]=f;f.Ta.onDestroy(()=>delete a[b]);olympe.D.ab(c)?kb(f,c):hb(f,c)});return f}jd(){throw Error('Abstract method getFirstKey needs to be overridden');}df(){throw Error('Abstract method getFirstKey needs to be overridden');}ke(){null===this.L&&this.O.run(()=>{this.L=olympe.D.sd(olympe.D.ea,olympe.D.wa(this.size));this.L.Ta.onDestroy(()=>{this.L=null})});return this.L}Jf(){return this.size}forEach(a,b){let c=this.pl();a=this.xp(c,a,b);this.ol(c,a)}pl(){return String(++this.ve)}ol(a,
490
- b){this.wb[a]=b;olympe.D.Ha().L(()=>{let c=this.$;for(let d in c)Object.prototype.hasOwnProperty.call(c,d)&&delete c[d][a];delete this.wb[a]});this.hd(b)}xp(a,b,c){let d=olympe.D.Ha();return(e,f)=>{d.run(()=>{let g=olympe.D.createNode(void 0,b,null,[e,f,this],null,`forEach-${a}-${f}`);if(void 0!==c)g.onDestroy(()=>{c(f)});this.sl(a,f,g)})}}sl(a,b,c){void 0===this.$[b]&&(this.$[b]={});this.$[b][a]=c}hd(a){let b=this.values;for(let c in b)if(Object.prototype.hasOwnProperty.call(b,c)&&!1===a(b[c],c,
491
- this))break}vj(a,b){void 0!==this.values[a]&&this.Th(a,!0);this.values[a]=b;var c=this.Ja;null!==c&&void 0!==c[a]&&(b&&b instanceof olympe.D.Proxy?kb(c[a],b):hb(c[a],b));c=this.Va;null!==c&&void 0!==c[a]&&lb(c[a],!0);this.size++;c=this.wb;for(let d in c)if(Object.prototype.hasOwnProperty.call(c,d))c[d](b,a,this)}Th(a,b){let c=this.values;if(Object.prototype.hasOwnProperty.call(c,a)){var d=(d=c[a])&&d.ae?L(d):d;var e=this.Ja;null!==e&&void 0!==e[a]&&ib(e[a]);e=this.Va;null!==e&&void 0!==e[a]&&lb(e[a],
492
- !1);delete c[a];this.size--;b||this.Ve()}a=this.$[a];if(void 0!==a)for(let f in a)Object.prototype.hasOwnProperty.call(a,f)&&a[f].fb();return d}Ve(){null!==this.L&&lb(this.L,this.size)}hh(){let a,b;var c=this.Ja;if(null!==c)for(a in c)Object.prototype.hasOwnProperty.call(c,a)&&ib(c[a]);c=this.Va;if(null!==c)for(a in c)Object.prototype.hasOwnProperty.call(c,a)&&lb(c[a],!1);for(a in this.values)Object.prototype.hasOwnProperty.call(this.values,a)&&delete this.values[a];for(a in this.$)if(Object.prototype.hasOwnProperty.call(this.$,
493
- a))for(b in c=this.$[a],c)Object.prototype.hasOwnProperty.call(c,b)&&c[b].fb();this.size=0;null!==this.L&&lb(this.L,this.size)}bg(){const a=this.values;let b='\n';for(let c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b+=a[c]+'\n');return b}};olympe.D.uh.ka=[olympe.D.Xf];l=olympe.D.uh.prototype;l.Tg.K=olympe.D.H.C;l.Jb.K=olympe.D.H.C;l.dd.K=olympe.D.H.C;l.get.K=new olympe.D.H(()=>Object,[],'valueType');l.rg.K=olympe.D.H.C;l.has.K=olympe.D.H.O;l.Nf.K=olympe.D.H.C;l.fi.K=olympe.D.H.C;l.ke.K=olympe.D.H.G;
494
- l.Jf.K=olympe.D.H.C;l.forEach.K=new olympe.D.H(()=>{},[]);l.pl.K=olympe.D.H.C;l.ol.K=olympe.D.H.C;l.xp.K=olympe.D.H.C;l.sl.K=olympe.D.H.C;l.hd.K=olympe.D.H.C;l.vj.K=olympe.D.H.C;l.Th.K=olympe.D.H.C;l.Ve.K=olympe.D.H.C;l.hh.K=olympe.D.H.C;l.bg.K=olympe.D.H.C;olympe.D.Gi=class extends olympe.D.uh{constructor(a,b){super(a,b);this.F=Object.create(null);this.C=[];this.sa=this.La=this.Ra=this.ia=null}dd(a){super.dd(a);if(null!==this.sa)for(let b of this.sa.values())gb(b,a)}jd(){return this.af(0)}df(){return this.we(0)}Ad(a){const b=c=>{null===this.Ra&&(this.Ra=Object.create(null));let d=this.cf(a);d=void 0!==d?olympe.D.wa(d):void 0;return this.fi(this.Ra,c,d,olympe.D.ea,`List.getRank(${c})`)};return olympe.D.ab(a)?K(olympe.D.createNode(olympe.D.ea,b,null,
495
- [a.Ta],[0],'onResolved('+(b.name||'')+')')):b(a)}cf(a){return this.F[a]}we(a){const b=c=>{const d=c.valueOf(),e=this.bf(d);null===this.La&&(this.La=Object.create(null));return this.fi(this.La,String(d),e,String,'List.getKeyAt('+c+')')};return olympe.D.Aa([a],c=>b(c),String)}bf(a){return this.C[a.valueOf()]}af(a){if(olympe.D.ab(a))return this.get(olympe.D.Aa([a],c=>{c=this.we(c);if(!Qa(c.Ta)){const d=olympe.D.Ha();olympe.D.ff(d)&&$a(d)}return c},String));null===this.sa&&(this.sa=new Map);let b=this.sa.get(a);
496
- b||this.O.run(()=>{b=this.get(this.we(a));this.sa.set(a,b);b.Ta.onDestroy(()=>this.sa.delete(a))});return b}ee(a){return this.rg(this.bf(a))}bi(a,b,c,d){let e=this.pl();a=this.kq(e,a,b,c,d);this.ol(e,a)}kq(a,b,c,d,e){return olympe.D.Ha().C((f,g)=>{let h=!1,k=olympe.D.Od([b,c,this.Ad(g)],(m,n,p)=>{p>=m&&p<m+n?h||(d(f,g,this),h=!0):h&&(e(g),h=!1)});if(void 0!==e)k.onDestroy(e.bind(null,g));this.sl(a,g,k)})}jh(){null===this.ia&&this.O.run(()=>{this.ia=olympe.D.sd(Array,this.C.filter(a=>void 0!==a));
497
- this.ia.Ta.onDestroy(()=>{this.L=null})});return this.ia}hd(a){if(this.C.length!==this.size)super.hd(a);else{var b=this.values;for(let c of this.C.filter(d=>void 0!==d))if(Object.prototype.hasOwnProperty.call(b,c)&&!1===a(b[c],c,this))break}}rl(a,b){const c=this.Ra,d=this.La,e=this.F[a],f=b.valueOf();if(e!==f||this.C[e]!==a){var g=this.C[f];void 0!==g&&delete this.F[g];void 0!==e&&null!==e&&this.C[e]===a&&(this.C[e]=void 0);this.F[a]=f;this.C[f]=a;null!==c&&(void 0!==g&&void 0!==c[g]&&ib(c[g]),void 0!==
498
- c[a]&&hb(c[a],olympe.D.wa(f)));null!==d&&(void 0!==e&&null!==e&&void 0!==d[e]&&ib(d[e]),void 0!==d[b]&&hb(d[b],a))}}ql(a){var b=this.La,c=this.F[a];null!==c&&void 0!==c&&null!==b&&(b=b[c],void 0!==b&&L(b)===a&&ib(b));delete this.F[a];this.C.splice(c,1);c=this.Ra;null!==c&&void 0!==c[a]&&ib(c[a])}yp(){if(null!==this.ia){const a=this.C,b=L(this.ia);b&&a.join(',')!==b.join(',')&&hb(this.ia,a)}}Ve(){this.yp();super.Ve()}hh(){var a=this.F;for(b in a)delete a[b];this.C.length=0;a=this.Ra;if(null!==a)for(b in a)ib(a[b]);
499
- a=this.La;if(null!==a)for(b in a)ib(a[parseInt(b,10)]);var b=this.ia;null!==b&&(Ya(b.Ta),hb(b,this.C));return olympe.D.uh.prototype.hh.call(this)}bg(){const a=this.values,b=this.F;let c='[\n';for(let d in a)Object.prototype.hasOwnProperty.call(a,d)&&(c+=`${b[d]}. ${a[d]}\n`);return c+']'}};olympe.D.Gi.ka=[olympe.D.fd];l=olympe.D.Gi.prototype;l.dd.K=olympe.D.H.C;l.jd.K=new olympe.D.H(()=>Object,[]);l.df.K=new olympe.D.H(()=>String,[]);l.Ad.K=olympe.D.H.G;l.cf.K=olympe.D.H.C;
500
- l.we.K=new olympe.D.H(()=>String,[]);l.bf.K=olympe.D.H.C;l.af.K=new olympe.D.H(()=>Object,[]);l.ee.K=olympe.D.H.C;l.bi.K=new olympe.D.H(()=>{},[]);l.kq.K=olympe.D.H.C;l.jh.K=new olympe.D.H(()=>Array,[]);l.hd.K=olympe.D.H.C;l.rl.K=olympe.D.H.C;l.ql.K=olympe.D.H.C;l.yp.K=olympe.D.H.C;l.Ve.K=olympe.D.H.C;l.hh.K=olympe.D.H.C;l.bg.K=olympe.D.H.C;olympe.D.Map=class extends olympe.D.uh{constructor(a){a===olympe.D.Proxy&&(a=Object);super(a);this.C=this.F=null}dd(a){a===olympe.D.Proxy&&(a=Object);null!==this.F&&gb(this.F,a);super.dd(a)}jd(){null===this.F&&this.zl();return this.F}df(){null===this.C&&this.zl();return this.C}zl(){this.Tg().run(()=>{this.F=olympe.D.sd(this.Jb());this.C=olympe.D.sd(String);this.Ci(this.Dl())})}Dl(){const a=this.values;let b,c;for(b in a)if(Object.prototype.hasOwnProperty.call(a,b)){c=b;break}return c}Ci(a){if(void 0!==
501
- a){const b=this.values[a];b&&b instanceof olympe.D.Proxy?kb(this.F,b):hb(this.F,b);hb(this.C,a)}else void 0!==L(this.F)&&(ib(this.F),ib(this.C))}set(a,b){this.vj(a,b);1===this.size&&null!==this.C&&this.Ci(a);this.Ve()}remove(a){const b=this.Th(a);null!==this.C&&L(this.C)===a&&this.Ci(this.Dl());return b}Mr(){this.hh();null!==this.C&&this.Ci(void 0)}};l=olympe.D.Map.prototype;l.dd.K=olympe.D.H.C;l.jd.K=new olympe.D.H(()=>Object,[]);l.df.K=new olympe.D.H(()=>String,[]);l.zl.K=olympe.D.H.C;l.Dl.K=olympe.D.H.C;
502
- l.Ci.K=olympe.D.H.C;l.set.K=olympe.D.H.C;l.remove.K=new olympe.D.H(()=>Object,[]);l.Mr.K=olympe.D.H.C;olympe.D.Fh=class extends olympe.D.Gi{constructor(a){super(a)}set(a,b,c){this.vj(a,b);void 0!==c&&olympe.D.Yb([c],d=>{this.rl(a,d)});this.Ve()}remove(a){this.ql(a);return this.Th(a)}G(){this.hh()}};olympe.D.Fh.prototype.remove.K=olympe.D.H.C;olympe.D.Fh.prototype.G.K=olympe.D.H.C;olympe.D.Fq=class extends olympe.D.Pi{constructor(a,b){super(olympe.D.ea,'animatedFlowSource');this.duration=a;this.C=b||olympe.D.ea.en.jo}xb(){return olympe.D.Nw(this.node,this.duration,this.C,void 0)}};let tb=null;olympe.D.N=void 0;olympe.D.lm=void 0;olympe.D.ih=void 0;olympe.D.gh=new Map;olympe.D.gh.set(0,olympe.D.ea.ZERO);olympe.D.gh.set(1,olympe.D.ea.ONE);olympe.D.gh.set(2,olympe.D.ea.Bt);olympe.D.uj=new Map;olympe.D.uj.set('',olympe.D.Pa.EMPTY);olympe.D.uj.set(' ',olympe.D.Pa.nt);olympe.D.createNode=function(a,b,c,d,e,f,g,h){return new olympe.D.Node({valueType:a,ld:b,lf:c,Yl:d,debug:g,Hf:e,td:f,Wh:h})};olympe.D.ff=function(a){return!!(a&&a instanceof olympe.D.Node)};
503
- olympe.D.sd=function(a,b,c){a=olympe.D.createNode(a,void 0,void 0,void 0,void 0,c);olympe.D.ff(b)?ab(a,b):olympe.D.ab(b)?ab(a,b.Ta):J(a,b);return K(a)};olympe.D.ab=function(a){return!(!a||!a.ae)};olympe.D.gf=function(a){return!(!a||!(a instanceof olympe.D.Node||a.ae))};olympe.D.cm=function(a){return olympe.D.ff(a)||a instanceof olympe.D.ic||a instanceof olympe.D.So};olympe.D.lh=function(a){return a instanceof olympe.D.Pi};
504
- olympe.D.Nj=function(a,b){if(void 0!==a){olympe.D.lh(a)&&(a=a.xb().Ta);if(!olympe.D.gf(a))return b(a);var c=[];olympe.D.ab(a)?c.push(a.Ta):c.push(a);return olympe.D.createNode(void 0,b,null,c,[0],'onResolved')}};olympe.D.Sa=function(a,b){let c=a;olympe.D.ab(a)?c=L(a):olympe.D.ff(a)?c=a.Fc:olympe.D.lh(a)&&(c=L(a.xb()));return void 0===c?b:c};olympe.D.Be=function(a,b){let c;olympe.D.ab(a)?c=a.Ta:olympe.D.ff(a)?c=a:olympe.D.lh(a)&&(c=a.xb().Ta);c&&olympe.D.Yb([b],d=>{c.Be(d)},'setDefaultValue');return a};
505
- olympe.D.Od=function(a,b,c,d){const e=a.length,f=Array(e),g=[];let h;for(let k=0;k<e;k++)h=a[k],void 0!==h&&null!==h&&(void 0!==h.vp?(h=h.Ta,g.push(k)):h instanceof olympe.D.Node?g.push(k):olympe.D.lh(h)&&(h=h.xb().Ta,g.push(k))),f[k]=h;return olympe.D.createNode(c,b,null,f,g,d||'syncNodes')};olympe.D.Dd=function(a,b,c,d){return K(olympe.D.Od(a,b,c,d||'syncProxies'))};const ub=a=>{for(const b of a)if(olympe.D.gf(b)||olympe.D.lh(b))return!1;return!0};
506
- olympe.D.Aa=function(a,b,c,d,e){if(ub(a))return b(...a);const f=olympe.D.Od(a,b,c,d||'TransformFlows');e&&olympe.D.Yb([e],g=>{f.Be(g)},'setDefaultValue');return K(f)};olympe.D.Yb=function(a,b,c){ub(a)?b(...a):olympe.D.Od(a,b,void 0,c||'processFlows')};olympe.D.pq=function(a,b){if(ub(a))b(...a);else{const c=olympe.D.Ha();olympe.D.Od(a,(...d)=>{olympe.D.Ha().fb();c.run(b,...d)},void 0,'processFlowsOnce')}};
507
- olympe.D.km=function(a,b,c){const d=a.length,e=Array(d),f=[];let g;for(let h=0;h<d;h++)g=a[h],void 0!==g&&null!==g&&(olympe.D.ab(g)?(g=g.Ta,f.push(h)):g instanceof olympe.D.Node?f.push(h):olympe.D.lh(g)&&(g=g.xb().Ta,f.push(h))),e[h]=g;0!==f.length&&new olympe.D.Node({ld:b,Yl:e,Hf:f,Zw:!1,td:c})};olympe.D.gC=function(a,b,c){const d=olympe.D.Ha();olympe.D.km(a,(...e)=>{olympe.D.Ha().fb();d.run(b,...e)},c||'processFutureFlowsOnce')};olympe.D.AB=function(a,b,c){a=new olympe.D.Pi(a,c);b(a);return a.xb()};
508
- olympe.D.Ec=function(a,b='flowSource'){return new olympe.D.Pi(a,b)};olympe.D.kC=function(a,b,c,d){const e=olympe.D.Ha();olympe.D.Od(a,(...f)=>{olympe.D.Ha().fb();e.run(b,...f)},c,d||'syncProxiesOnce')};olympe.D.Cj=function(a,b,c){olympe.D.Aa([a],d=>d.valueOf()?b.apply(null,void 0):c&&c.apply(null,void 0),Object,'If')};olympe.D.FB=function(a,b,...c){return a?a.run(b,...c):b(...c)};olympe.D.rC=function(a){return olympe.D.Ha().C(a)};olympe.D.DB=function(a,b,c){olympe.D.Du(a?a.Ta:a,b,c)};
509
- olympe.D.Du=function(a,b,c){if(a){var d=a.da();null===tb&&(tb={});if(tb[d])olympe.D.N.log(`Already started node #${d} dump`+(b?`: ${b}`:''));else{tb[d]=!0;var e=`Starting node #${d} dump`+(b?`: ${b}`:'');c?olympe.D.N.warn(e):olympe.D.N.log(e);var f=`#${d}`+(b?`: ${b}`:'')+':';c=olympe.D.createNode(null,g=>{void 0===g?olympe.D.N.log(f,'undefined'):null===g?olympe.D.N.log(f,'null'):olympe.D.N.log(f,String(g))},null,[a],[0],'DataFlowDump');a.onDestroy(()=>{olympe.D.N.log(`Node #${d} destroyed`+(b?`: ${b}`:
510
- ''))});c.onDestroy(()=>{delete tb[d]})}}else olympe.D.N.log('NOT starting node dump, node is '+String(a))};olympe.D.CB=function(){let a='',b=olympe.D.Ha();for(;null!==b;)a+=b.qc()+' --\x3e ',b=b.getParent();olympe.D.N.log(a)};
511
- olympe.D.wa=function(a){if(void 0===a)return olympe.D.ea.ZERO;if(a instanceof olympe.D.ea)return a;a&&a.valueOf&&(a=a.valueOf());if('number'===typeof a){if(isNaN(a))return olympe.D.ea.to;if(a===Math.PI)return olympe.D.ea.PI;if(Infinity===a)return olympe.D.ea.Ar;if(-Infinity===a)return olympe.D.ea.Cs;if(isNaN(a))var b=!1;else b=parseFloat(a),b=(b|0)===b;return b&&-1<=a&&100>=a?(olympe.D.gh.has(a)||olympe.D.gh.set(a,new olympe.D.ea(a)),olympe.D.gh.get(a)):new olympe.D.ea(a)}return null};
512
- olympe.D.Bd=function(a){return void 0===a?olympe.D.sd(olympe.D.ea):olympe.D.sd(olympe.D.ea,olympe.D.gf(a)?a:olympe.D.wa(a))};olympe.D.Nw=olympe.D.ea.animate;olympe.D.ZB=function(a,b){return new olympe.D.Fq(a,b)};olympe.D.pb=function(a){if(a instanceof olympe.D.Pa)return a;a instanceof Object&&(a=a.valueOf());const b=typeof a;if('string'===b||'number'===b||'boolean'===b)return a=String(a),olympe.D.uj.has(a)?olympe.D.uj.get(a):new olympe.D.Pa(a)};
513
- olympe.D.dC=function(a){return void 0===a?olympe.D.sd(olympe.D.Pa):olympe.D.sd(olympe.D.Pa,olympe.D.gf(a)?a:olympe.D.pb(a))};olympe.D.nc=function(a){return a instanceof olympe.D.ga?a:void 0!==a&&null!==a&&a.valueOf()?olympe.D.ga.F:olympe.D.ga.C};olympe.D.Ww=function(a){return void 0===a?olympe.D.sd(olympe.D.ga):olympe.D.sd(olympe.D.ga,olympe.D.gf(a)?a:olympe.D.nc(a))};olympe.D.Ow=function(a){if(a instanceof Date)return new olympe.D.Ya(a)};
514
- olympe.D.cC=function(a){return olympe.D.sd(olympe.D.Ya,void 0!==a?new olympe.D.Ya(a):null)};olympe.D.gq=a=>a instanceof olympe.D.ga||a instanceof olympe.D.ea||a instanceof olympe.D.Pa||a instanceof olympe.D.Ya;olympe.D.eC=function(a,b){return olympe.D.sd(olympe.D.Ub,void 0===a&&void 0===b?void 0:new olympe.D.Ub(a,b))};olympe.D.Vw=function(a,b,c,d){let e;void 0!==a&&(a instanceof olympe.D.Color?e=a:e=olympe.D.Color.create(a,b,c,d));return olympe.D.sd(olympe.D.Color,e)};olympe.D.bC=olympe.D.Vw;
515
- olympe.D.ru=function(a){olympe.D.N=a;olympe.D.ih=olympe.D.tg()};olympe.D.tg=function(){olympe.D.lm||(olympe.D.lm=new olympe.D.So);return olympe.D.lm};olympe.D.Ha=function(){olympe.D.ih||(olympe.D.ih=olympe.D.tg());return olympe.D.ih};olympe.D.vq=function(a){const b=olympe.D.ih;olympe.D.cm(a)&&(olympe.D.ih=a);return b||null};
516
- olympe.D.Vb=a=>{a='string'===typeof a?JSON.parse(a):a;if(a.type){let b=null;switch(a.type){case 'dateTime':b=olympe.D.Ya.Vb(a);break;case 'number':b=olympe.D.ea.Vb(a);break;case 'string':b=olympe.D.Pa.Vb(a);break;case 'vector2':b=olympe.D.Ub.Vb(a);break;case 'color':b=olympe.D.Color.Vb(a);break;case 'boolean':b=olympe.D.ga.Vb(a)}return b}return null};function vb(a){a.C.G()||(a.G.forEach(b=>{b.fb()}),a.G.clear(),$a(a.F.node),$a(a.size.node),$a(a.O.node),a.U.length=0,a.L.length=0)}
517
- olympe.D.hA=class{constructor(){this.C=new olympe.D.ic('Slot Manager context');this.G=new Map;this.C.run(()=>{this.F=olympe.D.Ec(wb,'Last slot manager entry');this.size=mb(olympe.D.Ec(olympe.D.ea,'SlotManager size').repeat(this.F.xb().Ml()),olympe.D.ea.ZERO);this.O=mb(olympe.D.Ec(olympe.D.ea,'last valid slots'),olympe.D.wa(-1))});this.U=[];this.L=[];this.C.onDestroy(()=>{vb(this)})}};
518
- class wb{constructor(a,b,c,d){this.id=a;this.F=new olympe.D.ic('Slot manager entry');this.L=c;this.O=d;this.F.run(()=>{const e=mb(olympe.D.Ec(olympe.D.ea),olympe.D.ea.ZERO);olympe.D.ab(b)?e.repeat(b):e.update(b);this.C=olympe.D.Ec(olympe.D.ea);this.G=this.C.xb().Cd(e.xb())});this.next=null}da(){return this.id}bw(){return this.C.xb()}Ml(){return this.G}Ad(){return this.L}mw(){return this.O}Fx(a){this.L=a}lx(a){null===a?this.C.update(olympe.D.ea.ZERO):(this.C.repeat(a.Ml()),a.next=this)}Nr(){$a(this.C.node);
519
- this.next=null}fb(){this.F.fb();this.G=this.C=this.next=null}}l=wb.prototype;l.da.K=olympe.D.H.C;l.bw.K=new olympe.D.H(()=>olympe.D.ea);l.Ml.K=new olympe.D.H(()=>olympe.D.ea);l.Ad.K=olympe.D.H.C;l.mw.K=olympe.D.H.C;l.Fx.K=olympe.D.H.C;l.lx.K=olympe.D.H.C;l.Nr.K=olympe.D.H.C;l.fb.K=olympe.D.H.C;olympe.D.T={Ga:'df.Logger'};olympe.V.Cb(a=>{C(a,olympe.D.Z.uo,Number.POSITIVE_INFINITY);B(a,olympe.D.T.Ga,[olympe.ya.T.ua],b=>b.Cc('df'))},'olympe.df');olympe.V.run([olympe.D.T.Ga],a=>{olympe.D.ru(a)},'olympe.df');olympe.async={};function xb(a,b){0<=b&&(a.timeout=b)}function yb(a,b){a.L||a.ia.push(a.G.C(b))}
520
- olympe.async.pn=class{constructor(a,b=void 0===a){this.C=[];this.ia=[];this.G=a||new olympe.D.ic('Async executor context');this.Ja=b;this.F=null;this.O=new Map;this.O.set('Executor',this);this.L=this.U=!1;this.N=null;this.$=this.timeout=0}tb(){return this.N}add(a){this.L||this.C.push(this.G.C(a));return this}start(){this.U||(this.N&&this.N.log('Executor started.'),this.U=!0,0<this.timeout&&(this.$=setTimeout(()=>{this.F='Timeout expired.';this.$=0;this.complete(!1)},this.timeout)))}complete(a){if(!this.L){this.L=
521
- !0;this.$&&(clearTimeout(this.$),this.$=0);this.N&&this.N.log(a?'Executor completed successfully':`Executor completed with error: ${this.F}`);for(const b of this.ia)b(a,a?null:this.F,this.O);this.C=[];this.ia=[];this.O.clear();this.Ja&&this.G.fb()}}};function zb(a){if(0<a.C.length){const b=a.C.shift();a.N&&a.N.log(`Executing next task. ${a.C.length} tasks left in the pipeline.`);a.G.run(()=>{b(()=>{Promise.resolve().then(()=>{zb(a)})},c=>{c&&(a.F=c);a.complete(!1)},a.O)})}else a.complete(!0)}
522
- olympe.async.Mh=class extends olympe.async.pn{static create(){return new olympe.async.Mh(new olympe.D.ic('SequencedExecutor'),!0)}start(){this.U||(super.start(),zb(this))}};
523
- olympe.async.yf=class extends olympe.async.pn{constructor(a,b){super(a,b);this.fa=0;this.sa=!0}static create(){return new olympe.async.yf(new olympe.D.ic('ParallelExecutor'),!0)}run(a){this.N&&this.N.log('Starting a task');this.G.run(()=>{a(()=>{this.done()},b=>{this.sa=!1;b&&(this.F=this.F?`${this.F}. ${b}`:b);this.done()},this.O)})}add(a){super.add(a);this.U&&!this.L&&(this.fa++,this.run(a));return this}done(){this.fa--;0>=this.fa&&this.complete(this.sa)}start(){if(!this.U)if(super.start(),0<this.C.length){this.fa=
524
- this.C.length;for(const a of this.C)this.run(a)}else this.complete(!0)}};olympe.Xb={};olympe.Xb.os=class{constructor(){}set(){}get(){}forEach(){}remove(){}close(){}};olympe.Xb.ns=class{constructor(){}C(){}};olympe.Xb.Storage=class{G(){}O(){}write(){}L(){}F(){}C(){}close(){}};function Ab(a,b,c){a.storage.G(c)}function Bb(a,b,c,d,e){a.storage.write(b,'transactions',c.toJSON(),'text/json',d,e)}function Cb(a,b){a.storage.L(b)}function Db(a,b){a.storage.C(b)}function Eb(a,b,c,d,e,f){a.storage.write(b,'files',c,d,()=>{e('files/'+b)},f)}function Fb(a,b){a.storage.O(b)}olympe.Xb.$q=class{constructor(a){this.storage=a}};olympe.Xb.T={Mk:'localStorage.KeyValueManager',Kh:'localStorage.Storage',Vm:'localStorage.DatacloudStorage',Ga:'localStorage.Logger'};olympe.V.Cb(function(a){ra(a,olympe.Xb.T.Mk);B(a,olympe.Xb.T.Ga,[olympe.ya.T.ua],function(b){return b.Cc('localstorage')});y(a,olympe.Xb.T.Vm,olympe.Xb.$q,olympe.Xb.T.Kh)},'olympe.localstorage');olympe.ca={};olympe.ca.st=class{G(){}F(){}ia(){}O(){}qh(){}yg(){}};function Gb(a){a.N.info('Initializing AUTH layer');if(a.sa&&a.storage&&a.O){const b=a.O.F(),c=olympe.aa.hm(b).parameters;delete c[olympe.ca.Z.Ph];Hb(a.storage,a.sa,d=>{d?a.O.redirect(b.replace(/\?[^?#]+/,''),c,olympe.ca.kl.C.Zf):a.N.error('Could not store auth.token')})}else a.N.debug('Asking to be notified when auth connector gets online'),a.C.G(()=>{if(a.La)if(a.L=olympe.ca.qa.G.Dq,a.N.log('Connector online, parameter auth.autoLogin=true --\x3e attempting to log with parameters'),a.$){const b=new olympe.ca.Request;
525
- b.set('username',a.$);b.nm(a.Ra);a.N.log('Autologin with user "'+a.$+'"');Ib(a,b)}else a.N.error('autoLogin: auto user not specified.'),Jb(a);else a.L=olympe.ca.qa.G.Ph,a.N.log('Connector online, attempting to log with token'),Kb(a)}),a.C.F(()=>{switch(olympe.D.Sa(a.G)){case olympe.ca.qa.C.Tf:a.N.warn('Disconnected from server - session of user '+olympe.D.Sa(a.F.xb()).Tc()+' lost');break;case olympe.ca.qa.C.Qg:a.N.warn('Disconnected from server - guest session lost');break;case olympe.ca.qa.C.th:a.N.warn('Disconnected from server - authentication aborted');
526
- break;case olympe.ca.qa.C.INIT:a.N.warn('Cannot open auth session - no server connection');break;default:a.N.error('Should not get there, investigate')}Lb(a,olympe.ca.qa.C.Ie)});a.C.ia((b,c)=>{if(b===olympe.ca.qa.F.Ei)a.N.info('Authentication revoked'),Jb(a),a.storage&&Mb(a.storage),a.ia.forEach(d=>{d(b,c)});else if(b===olympe.ca.qa.F.On)a.N.info('Redirection to IDP to invalidate token (SAML)'),a.storage&&Mb(a.storage),a.O.C();else throw Error(`Unknown logout step coming from server : ${b}`);});a.N.log('DONE initializing AUTH layer (waiting for connector to be online)')}
527
- function Kb(a){null!==a.storage?(a.N.debug('Retrieving token from local storage'),a.storage.Nd(b=>{if(b){const d=new olympe.ca.Request;var c=b.Tc();d.set('username',c);b=b.vg();d.set('nonce',b);a.N.debug('Token found, trying login with',d);Ib(a,d,a.Wa)}else a.N.debug('No token found, cannot perform auto login. Falling back in GUEST state'),Jb(a)})):(a.N.error('Cannot retrieve token: no storage configured, cannot perform auto login. Falling back in GUEST state'),Jb(a))}
528
- function Lb(a,b){a.N.log('State change: ',Nb(a),'--\x3e',b);a.G.update(b)}function Jb(a){a.F.update(a.Ja);Lb(a,olympe.ca.qa.C.Qg);a.N.info('Authenticated as guest')}function Nb(a){return olympe.D.Sa(a.G.xb())}function Ob(a){const b=olympe.ca.qa.C.Tf,c=olympe.ca.qa.C.Qg,d=olympe.ca.qa.C.th,e=olympe.D.Ec(olympe.D.ga,'auth.isOnline');olympe.D.Yb([a.G],f=>{e.update(olympe.D.nc(f===b||f===c||f===d))},'Router is online');return e.xb()}
529
- function Pb(a){const b=olympe.ca.qa.C.Tf,c=olympe.ca.qa.C.Qg;a=Nb(a);return a===b||a===c}function Qb(a){var b=olympe.public.Ua.get(),c='logoutCallback';void 0===c&&(c=olympe.aa.$e());b.ia.set(c,a)}function Rb(a){return a.F.xb().vg()}function Sb(a,b,c,d=!1){b=b+c?':'+c.message:'';a.N.error(b);a.error.update(olympe.D.pb(b));Lb(a,olympe.ca.qa.C.wc);if(d)throw Error(b);}
530
- function Ib(a,b,c,d){void 0===c&&(c=a.Va);void 0===c&&Sb(a,'No authentication provider specified',null,!0);const e=a.Fb.get(c);e||Sb(a,'Undefined authentication provider "'+c+'"',null,!0);d&&a.U.set('login',d);a.N.log('Sending authentication request using "'+c+'" for '+b);e.Nd(b,a.lb.bind(a));Lb(a,olympe.ca.qa.C.th)}function Tb(a,b,c){a.U.forEach(d=>{d(b,c)})}
531
- olympe.ca.qa=class{constructor(a,b,c,d,e,f,g,h,k,m,n){this.N=a;this.C=b;this.storage=c;this.O=d;this.Va=f;this.Wa=g;this.La=void 0===h?!0:h;this.$=k;this.Ra=m;this.sa=n;this.Fb=new Map;this.G=olympe.D.Ec(String).update(olympe.ca.qa.C.INIT);this.error=olympe.D.Ec(olympe.D.Pa);this.L=null;this.Ja=new olympe.ca.kg('guest','0163d9653067b6237f62','e96e099c-55bb-4004-b0e8-bd76b6209218');this.F=olympe.D.Ec(olympe.ca.kg).update(this.Ja);this.U=new Map;this.ia=new Map;e.forEach(p=>{const q=p.ja();if(this.Fb.has(q))throw Error('Provider "'+
532
- q+'" has already been registered !');this.Fb.set(q,p)});Gb(this)}getState(){return this.G.xb()}fa(){return this.error.xb()}Tc(){return this.F.xb().Tc()}zg(){return this.F.xb().zg()}yg(a,b){this.C.yg(a,olympe.D.Sa(Rb(this)),b)}fm(){this.N.debug('Sending logout');Mb(this.storage);this.C.O(a=>{a?Sb(this,'Logout request rejected:',a):this.N.debug('Logout request acknowledged')})}qh(){Nb(this)===olympe.ca.qa.C.Tf&&this.C.qh(a=>{a&&this.N.error('Was not able to send the auth keep alive message:',a.message)})}lb(a,
533
- b){const c=null===this.L?olympe.ca.qa.G.Pk:this.L;this.L=null;a?(this.N.warn('Authentication rejected: '+a.message+'. Falling back into GUEST state'),Mb(this.storage),this.error.update(olympe.D.pb(a.message)),Jb(this),Tb(this,a,c)):(this.N.info('User '+b.Tc()+' (#'+b.zg()+') successfully authenticated'),this.F.update(b),Lb(this,olympe.ca.qa.C.Tf),Tb(this,a,c),this.storage&&Hb(this.storage,b));this.U.has('login')&&this.U.delete('login')}};
534
- olympe.ca.qa.C={INIT:'init',Ie:'disconnected',Qg:'guest',th:'authenticating',wc:'error',Tf:'authenticated'};olympe.ca.qa.G={Pk:'manual',Dq:'auto',Ph:'tokenOnFirstConnection'};olympe.ca.qa.F={Ei:'accepted',On:'redirect'};olympe.ca.fj=class{ja(){}Nd(){}};olympe.ca.Request=class{constructor(){this.C=new Map}set(a,b){olympe.D.Yb([b],c=>{this.C.set(a.toLocaleLowerCase(),c.toString())})}get(a){(a=this.C.get(a.toLowerCase()))&&a.ae&&(a=L(a));return a?a.valueOf():a}Tc(){return this.get('username')}nm(a){this.set('password',a)}vg(){return this.get('nonce')}toString(){return this.Tc()+(this.vg()?' with nonce':'')+(this.get('password')?' with password':'')}};olympe.ca.kg=class{constructor(a,b,c,d={}){this.G=a;this.De=b;this.C=c;this.F=d}Tc(){return this.G}zg(){return this.De}vg(){return this.C}Pr(){return this.F}na(){var a=olympe.aa,b=a.eu;var c=JSON.stringify({user:this.G,userTag:this.De,nonce:this.C,payload:this.F});c=olympe.aa.ei().G(za(c));return b.call(a,c)}};l=olympe.ca.kg.prototype;l.Tc.K=new olympe.D.H(()=>String,[]);l.zg.K=new olympe.D.H(()=>String,[]);l.vg.K=new olympe.D.H(()=>String,[]);l.Pr.K=new olympe.D.H(()=>Object,[]);
535
- l.na.K=new olympe.D.H(()=>String,[]);function Hb(a,b,c){const d=a.C.C('AUTH');d.set(a.key,'string'===typeof b?b:b.na(),c);d.close()}function Mb(a){const b=a.C.C('AUTH');b.remove(a.key);b.close()}
536
- olympe.ca.kp=class{constructor(a,b,c){this.C=a;this.N=b;this.key='OlympeToken-'+c.C}Nd(a){const b=this.C.C('AUTH');this.N.debug(`olympe.auth.TokenStorage: retrieve token with key ${this.key}`);b.get(this.key,c=>{let d=null;if(c)try{this.N.debug('olympe.auth.TokenStorage: Token retrieved successfully');var e=JSON,f=e.parse;var g=Aa(olympe.aa.ei().O(olympe.aa.fu(c)));const h=f.call(e,g);d=new olympe.ca.kg(h.user,h.userTag,h.nonce,h.payload)}catch(h){this.N.error('Error while unserializing token: ',
537
- h.message)}else this.N.debug('olympe.auth.TokenStorage: No token found');a(d)});b.close()}};olympe.ca.kp.C='OlympeToken';olympe.ca.kl=class{redirect(){}C(){}F(){}};olympe.ca.kl.C={Zf:'GET',Yk:'POST'};olympe.ca.Wj=class{constructor(a){this.C=a||'default'}};olympe.ca.Fb={};olympe.ca.Fb.Pb={};olympe.ca.Fb.Pb.Gh=class{L(){}};olympe.ca.Fb.Pb.pe=class{U(){}};olympe.ca.Fb.Pb.Yd=class{$(){}fa(){}};function Ub(a,b){return olympe.aa.zc(b+'-olympe-'+a.C[b])}olympe.ca.Fb.Vg=class{constructor(a){this.C=a}ja(){return'local'}Nd(a,b){const c=a.Tc();if(c){const d=a.get('password'),e=a.vg();a.C.delete('password');if(void 0!==e&&Ub(this,c)===e){b(null,new olympe.ca.kg(c,'',Ub(this,c)));return}a=olympe.aa.zc(d||'');if(this.C[c]===a){b(null,new olympe.ca.kg(c,'',Ub(this,c)));return}}b(Error('Invalid login'))}};olympe.ca.Fb.Vg.C='local';olympe.ca.Fb.Vg.ka=[olympe.ca.fj];olympe.ca.Fb.Gh=class{constructor(a,b){this.C=a;this.storage=b}ja(){return'localToken'}Nd(a,b){this.storage.Nd(c=>{this.C.L(a,d=>{b(d,c)})})}};olympe.ca.Fb.Gh.C='localToken';olympe.ca.Fb.Gh.ka=[olympe.ca.fj];olympe.ca.Fb.pe=class{constructor(a,b){this.F=a;this.C=b}ja(){return'saml'}Nd(a,b){this.F.U(c=>{c?b(c):this.C.C()})}};olympe.ca.Fb.pe.C='saml';olympe.ca.Fb.pe.ka=[olympe.ca.fj];olympe.ca.Fb.Yd=class{static ci(a,b){const c=new SRPClient,d=c.generateRandomSalt();return{username:a,login:a,salt:d,verifier:c.generateVerifier(d,a,b)}}constructor(a){this.C=a;this.N=olympe.ya.tb('auth')}ja(){return'srp'}Nd(a,b){const c=a.get('password');a.C.delete('password');this.N.debug('Sending SRP request');this.C.$(a,(d,e,f)=>{this.N.debug('Received Salt+B message');if(d)b(d);else{try{const g=new SRPClient;g.step1(a.Tc(),c);const h=g.step2(e,f);a.set('a',h.A);a.set('m1',h.M1)}catch(g){b(g);
538
- return}this.N.debug('Sending SRP A+M (proof) message');this.C.fa(a,b)}})}};olympe.ca.Fb.Yd.C='srp';olympe.ca.Fb.Yd.ka=[olympe.ca.fj];olympe.ca.T={ua:'auth.Manager',Ga:'auth.Logger',Kh:'auth.Storage',Fi:'auth.appNameToken',el:'auth.Redirector'};olympe.ca.bd={ua:'auth.ManagerConnector',ho:'auth.LocalTokenConnector',Yd:'auth.SRPConnector',pe:'auth.SAMLConnector'};olympe.ca.Z={mk:'auth.defaultProvider',io:'auth.localTokenProvider',um:'auth.autoLogin',ym:'auth.autoUser',vm:'auth.autoPassword',Ph:'auth.token',sm:'auth.appToken'};
539
- olympe.V.Cb(function(a){C(a,olympe.ca.Z.mk,'srp');C(a,olympe.ca.Z.io,'localToken');C(a,olympe.ca.Z.um,!1);C(a,olympe.ca.Z.ym,'');C(a,olympe.ca.Z.vm,'');C(a,olympe.ca.Z.Ph,'');C(a,olympe.ca.Z.sm,'default');B(a,olympe.ca.T.Ga,[olympe.ya.T.ua],b=>b.Cc('auth'));y(a,olympe.ca.T.Fi,olympe.ca.Wj,new olympe.V.la(olympe.ca.Z.sm));y(a,olympe.ca.T.Kh,olympe.ca.kp,olympe.Xb.T.Mk,olympe.ca.T.Ga,olympe.ca.T.Fi);ra(a,olympe.ca.bd.ua);ra(a,olympe.ca.T.el);B(a,olympe.ca.T.ua,[olympe.ca.T.Ga,olympe.ca.bd.ua,new olympe.V.pc(olympe.ca.T.Kh,
540
- olympe.V.Ge.C.Yg),new olympe.V.la(olympe.ca.Z.mk),new olympe.V.la(olympe.ca.Z.io),new olympe.V.la(olympe.ca.Z.um),new olympe.V.la(olympe.ca.Z.ym),new olympe.V.la(olympe.ca.Z.vm),new olympe.V.la(olympe.ca.Z.Ph),new olympe.V.pc(olympe.ca.T.el,olympe.V.Ge.C.Yg),new olympe.V.pc(olympe.ca.bd.ho,olympe.V.Ge.C.Yg),new olympe.V.pc(olympe.ca.bd.Yd,olympe.V.Ge.C.Yg),new olympe.V.pc(olympe.ca.bd.pe,olympe.V.Ge.C.Yg)],(b,c,d,e,f,g,h,k,m,n,p,q,r)=>{const t=[];p&&t.push(new olympe.ca.Fb.Gh(p,d));q&&t.push(new olympe.ca.Fb.Yd(q));
541
- r&&n&&t.push(new olympe.ca.Fb.pe(r,n));if(0===t.length)throw Error('At least one provider is needed for auth to start');if(!t.map(u=>u.ja()).includes(e))throw Error('Default provider name'+e+'given by parameter'+olympe.ca.Z.mk+'cannot be found');return new olympe.ca.qa(b,c,d,n,t,e,f,g,h,k,m)},!0)},'olympe.auth');olympe.V.run([olympe.ca.T.ua],a=>{olympe.ca.mc=()=>a});olympe.cb.node.ca={};olympe.cb.node.ca.zo=class{redirect(){console.warn('Redirection n/a in Node.JS')}C(){console.warn('Redirection n/a in Node.JS')}F(){console.warn('Redirection n/a in Node.JS')}};olympe.cb.node.ca.zo.ka=[olympe.ca.kl];olympe.V.Cb(a=>{y(a,olympe.ca.T.el,olympe.cb.node.ca.zo)},'olympe.native.node.auth');olympe.host={};const Vb=new Map,Wb=new Map;olympe.host.xo=class{static register(a,b,...c){Vb.set(a,b);0<c.length&&Wb.set(a,c)}static create(a,b,c,d){const e=Vb.get(a);if(void 0===e)throw Error('Undefined UI element type: '+a);a=Wb.get(a);return void 0!==a?new e(b,c,...a.map(f=>la(d,f))):new e(b,c)}};function Xb(a,b,c){a.N.debug('CREATE #',b,', type=',c);a.C.set(b,olympe.host.xo.create(c,b,a.N,a.L))}function Yb(a,b,c,...d){const e=a.C.get(b);if(void 0!==e){a.N.L()<=olympe.ya.yb.C.qf&&a.N.debug('CALL #'+b+', '+c+'('+Array.prototype.slice.call(d,0)+')');b=[];for(const f of d)if(void 0===f||null===f)b.push(f);else if(olympe.D.ab(f))b.push(a.C.get(f.It)||null);else if('function'===typeof f){const g=f,h=olympe.D.Ha();b.push((...k)=>{h.G()||g(...k)})}else b.push(f.valueOf());e[c].apply(e,b)}}
542
- function Zb(a){var b=olympe.host.be.Lc,c=olympe.host.be.wo.qp;++a.G;const d=a.G;Xb(a,d,c);const e=olympe.D.createNode(b,void 0,void 0,void 0,void 0,'Native('+d+')',!1,function(){var f=arguments.length-2;const g=Array.from({length:f}),h=[],k=arguments[f+1],m=d+'_'+k;this.F.has(m)&&this.F.get(m).fb();for(let n=0;n<f;n++){let p=arguments[n];olympe.D.ab(p)?(h.push(n),p=p.Ta):olympe.D.ff(p)&&h.push(n);g[n]=p}0===h.length?e.run(()=>{Yb(this,d,k,...g)}):(f=olympe.D.createNode(void 0,(...n)=>{e.run(()=>{Yb(this,
543
- d,k,...n)})},void 0,g,h,'Native('+d+').'+k),this.F.set(m,f),f.onDestroy(()=>this.F.delete(m)));return null}.bind(a));e.L(a.O.bind(a,d));a=K(e);a.It=d;J(e,a);return a}olympe.host.qa=class{constructor(a,b){this.N=a;this.L=b;this.G=0;this.C=new Map;this.F=new Map;a.debug('Starting host manager')}tb(){return this.N}O(a){this.N.debug('DESTROY #',a);const b=this.C.get(a);this.C.delete(a);b.fb()}};olympe.host.qd=class{constructor(a){this.C=a;olympe.D.Ha()}F(){return this.C}ia(){return this.C.Ta.ia()}G(){return this.C.Ta.G()}};olympe.host.qd.prototype.F.K=new olympe.D.H(()=>olympe.host.be.qd,[]);olympe.host.lj=class{};olympe.host.Ak=class{constructor(){}};olympe.host.Ak.F=class{constructor(a,b,c=!1){this.name=a;this.value=b;this.C=c}ja(){return this.name}Eb(a){return this.ja()===a.ja()&&this.value===a.value&&this.C===a.C}};olympe.host.Ak.C=class{constructor(a,b,c){this.parameters=c}};function $b(a,b,c){var d=olympe.host.ge;const e=c||olympe.aa.Qb(),f=new olympe.D.ic('onTimeout context');d.C.$(b,e,()=>{f.G()||f.run(a);d.C.G(e)});return new olympe.host.Lc.G(d.C,e)}function ac(a){var b=olympe.host.ge;a=a instanceof olympe.host.Lc.G?a.da():a;b.C.G(a)}function bc(a,b,c){var d=olympe.host.ge;const e=c||olympe.aa.Qb(),f=new olympe.D.ic('onInterval context');d.C.U(b,e,()=>{f.G()?d.C.F(e):f.run(a)});return new olympe.host.Lc.F(d.C,e)}
544
- function cc(a){var b=olympe.host.ge;a=a instanceof olympe.host.Lc.F?a.da():a;b.C.F(a)}olympe.host.Lc=class{constructor(a){this.C=Zb(a)}};olympe.host.Lc.C=class{constructor(a,b){this.ge=a;this.id=b}da(){return this.id}cancel(){}};olympe.host.Lc.L=class extends olympe.host.Lc.C{cancel(){this.ge.O(this.id)}};olympe.host.Lc.G=class extends olympe.host.Lc.C{cancel(){this.ge.G(this.id)}};olympe.host.Lc.F=class extends olympe.host.Lc.C{cancel(){this.ge.F(this.id)}};olympe.host.be={};olympe.host.be.qd=class{fb(){}};olympe.host.be.qd.prototype.destroy=olympe.host.be.qd.prototype.fb;olympe.host.be.wo={Sx:100,Ux:101,Tx:102,Wx:103,Vx:104,Rx:105,Wz:201,Uz:202,Rz:204,Zz:205,Qz:206,Tz:207,Xz:208,$z:209,aA:210,bA:211,Sz:212,Yz:218,Vz:219,cA:220,Pz:221,Oz:222,jA:300,kA:301,lA:302,pA:303,qA:304,rA:305,mA:310,nA:311,oA:312,uz:400,vz:401,wz:402,pz:450,hz:500,fz:501,kz:502,jz:503,gz:504,iz:505,KA:600,BA:601,FA:602,xA:603,yA:604,vA:605,AA:606,QA:607,IA:608,sA:609,wA:610,zA:611,HA:612,MA:613,tA:614,LA:615,GA:616,PA:617,CA:618,DA:619,EA:620,JA:630,uA:631,NA:632,OA:633,sB:700,WA:701,XA:702,
545
- YA:703,$A:704,aB:705,bB:706,ZA:707,dB:708,cB:709,eB:710,iB:711,qB:712,fB:713,gB:714,jB:715,kB:716,mB:717,nB:718,pB:719,lB:720,oB:721,rB:722,hB:723,tB:724,uB:725,qp:800};olympe.host.be.Lc=class{O(){}$(){}G(){}U(){}F(){}};olympe.host.T={bp:'host.System',Mn:'host.HistoryManager',To:'host.Scheduler',Ga:'host.platform.Logger',ua:'host.Manager'};olympe.host.ge=null;olympe.V.Cb(function(a){ra(a,olympe.host.T.bp);ra(a,olympe.host.T.Mn);B(a,olympe.host.T.Ga,[olympe.ya.T.ua],function(b){return b.Cc('host')});y(a,olympe.host.T.ua,olympe.host.qa,olympe.host.T.Ga,olympe.V.T.pf);B(a,olympe.host.T.To,[olympe.host.T.ua],b=>{null===olympe.host.ge&&(olympe.host.ge=new olympe.host.Lc(b));return olympe.host.ge},!0)},'olympe.host');
546
- olympe.V.run([olympe.host.T.To],a=>a,'olympe.host.scheduler');olympe.V.run([olympe.host.T.ua],a=>a,'olympe.host');olympe.cb.node.host={};olympe.cb.node.host.qd=function(a,b){this.N=b};olympe.cb.node.host.qd.prototype.constructor=olympe.cb.node.host.qd;olympe.cb.node.host.qd.prototype.fb=function(){};olympe.cb.node.host.qd.prototype.destroy=olympe.cb.node.host.qd.prototype.fb;olympe.cb.node.host.qd.prototype.tb=function(){return this.N};olympe.cb.node.host.qd.ka=[olympe.host.be.qd];olympe.cb.node.host.yo=class{constructor(a){this.N=a}iq(){this.N.error('No history manager implemented in Node')}};olympe.cb.node.host.yo.ka=[olympe.host.Ak];olympe.cb.node.host.Lc=class{constructor(){this.C={};this.L={}}fb(){}O(a){clearTimeout(this.C[a]);delete this.C[a]}$(a,b,c){this.C[b]=setTimeout(c,a)}G(a){clearTimeout(this.C[a]);delete this.C[a]}U(a,b,c){this.L[b]=setInterval(c,a)}F(a){clearInterval(this.L[a]);delete this.L[a]}};olympe.host.xo.register(olympe.host.be.wo.qp,olympe.cb.node.host.Lc);olympe.cb.node.host.Lc.ka=[olympe.host.be.Lc];olympe.cb.node.host.lj=class{constructor(a){this.N=a}};olympe.cb.node.host.lj.ka=[olympe.host.lj];olympe.V.Cb(function(a){pa(a,olympe.host.T.Mn,olympe.cb.node.host.yo,olympe.host.T.Ga);pa(a,olympe.host.T.bp,olympe.cb.node.host.lj,olympe.host.T.Ga)},'olympe.native.node.host');olympe.Ca={};olympe.Ca.Rb={};olympe.Ca.Rb.Ih={Yk:'POST',Zf:'GET',wr:'HEAD',Fo:'PUT',DELETE:'DELETE',Ks:'OPTIONS',Ps:'PATCH'};olympe.Ca.Rb.ResponseType={mj:'text',Zj:'blob',ARRAY_BUFFER:'arraybuffer'};olympe.Ca.Rb.Headers={Tm:'Content-Type',dy:'Content-Length'};olympe.Ca.Rb.ey={$y:'text/html',JSON:'application/json',wB:'application/zip'};olympe.Ca.Rb.Qe={Lq:0,Uk:200,Nm:201,Ei:202,Qx:400,UA:401,Wy:403,rz:404,lz:405,Iz:500,lt:503};function dc(a){return a.host&&encodeURI(a.host)}function ec(a){return encodeURI(a.path).replace(olympe.Ca.sj.C,(b,c)=>'%'+c)}function fc(a){return void 0===a.G?443===a.port:a.G}olympe.Ca.sj=class{constructor(a,b,c,d){this.host='localhost';this.port=80;this.path='';this.G=!1;void 0!==a&&(this.host=a);void 0!==b&&(this.port=b);void 0!==c&&(this.path=c.replace(/^\/+/,''));void 0!==d&&(this.G=d)}C(){return`${fc(this)?'wss':'ws'}://${dc(this)}:${this.port}/${ec(this)}`}toString(){return`${dc(this)}:${this.port}/${ec(this)}`}};
547
- olympe.Ca.sj.C=/%25([0-9a-f]{2})/i;olympe.Ca.WebSocket=class{constructor(){}send(){}close(){}sa(){}ia(){}fa(){}};function gc(a,b,c,d){a=olympe.aa.hm(a.valueOf());if(!a.host&&!a.path)return null;const e=a.scheme?a.scheme.includes('s'):!1;b=new olympe.Ca.Bk(a.host,a.port||(e?443:80),a.path||'',e,b,c,d,a.query||void 0);a.Aq&&(c=a.Aq.split(':'),2===c.length&&(c=olympe.aa.ei().G(za(`${c[0]}:${c[1]}`)),hc(b,{Authorization:`Basic ${c}`})));return b}function ic(a){return void 0!==a.query?a.query.replace(/[^=&]+/g,b=>encodeURIComponent(b)):null}
548
- function hc(a,b){for(let c in b)Object.prototype.hasOwnProperty.call(b,c)&&(a.headers[c]=b[c])}olympe.Ca.Bk=class extends olympe.Ca.sj{constructor(a,b,c,d,e,f,g,h){super(a,b,c,d);this.method=void 0!==e?e:olympe.Ca.Rb.Ih.Zf;this.query=h;this.headers={};this.body=f;this.F=void 0!==g?g:olympe.Ca.Rb.ResponseType.mj;this.key=null}C(){let a=ic(this);a=a?`?${a}`:'';return dc(this)?`${fc(this)?'https':'http'}://${dc(this)}:${this.port}/${ec(this)}${a}`:`${ec(this)}${a}`}toString(){return this.C()}};
549
- olympe.Ca.Bk.Ih={Yk:'POST',Zf:'GET',wr:'HEAD',Fo:'PUT',DELETE:'DELETE',Ks:'OPTIONS'};olympe.Ca.xr=class{constructor(a,b,c,d){this.data=a;this.status=void 0===b?200:b;this.statusText=void 0===c?'':c;this.headers=void 0===d?{}:d}};function jc(a,b,c){const d=olympe.D.Ha(),e=d.onDestroy(()=>{var f=a.C();const g=f.C.get(b);g&&(f.C.delete(b),g())});return d.C(f=>{d.ui(e);a.C().C.delete(b);c(f)})}olympe.Ca.qa=class{constructor(a){this.N=a;this.F=1;a='Initializing NET layer';this.N.G()&&(a+=' (implementation: '+this.O()+')');this.N.info(a);this.N.log('DONE initializing NET layer (ready to receive connection requests)')}C(){}$(){}ye(){}G(){}L(){}O(){}};function kc(a){return!(!a.C||!a.C.connected)}function lc(a,b,c,d){a.connect();a.C.publish(b,JSON.stringify(c),void 0,e=>{d&&d(e);e&&a.N.error('Failed to publish a message '+c)})}function mc(a,b,c){a.connect();a.C.subscribe(b,void 0,d=>{d?a.N.error(`Failed to subscribe to topic ${b}: ${d}`):a.F.set(b,c)})}function nc(a,b,c){a.connect();a.C.unsubscribe(b,void 0,c);a.F.delete(b)}
550
- olympe.Ca.aj=class{constructor(a,b){this.url=a;this.L=b||null;this.C=null;this.G=[];this.F=new Map;this.N=olympe.ya.tb('MQTT')}connect(a){if(kc(this))return a&&a(),this;a&&this.G.push(a);null===this.C&&(this.C=mqtt.connect(this.url,this.L),this.C.on(olympe.Ca.aj.C.Bs,(b,c)=>{this.F.has(b)?this.F.get(b)(JSON.parse(c.toString())):this.N.warn('There is no subscriber for topic '+b)}),this.C.on(olympe.Ca.aj.C.Qq,()=>this.G.forEach(b=>b())));return this}end(a,b){this.C&&this.C.end(a,{},()=>{b&&b();this.C=
551
- null});return this}};olympe.Ca.aj.C={Qq:'connect',Bs:'message',ay:'close',oy:'end'};olympe.Ca.T={ua:'net.Manager',Ga:'net.Logger'};olympe.Ca.Z={Os:'net.P2PServers',Ns:'net.P2POptions.reliable',Ms:'net.P2POptions.maxRetransmitTime'};olympe.V.Cb(function(a){C(a,olympe.Ca.Z.Os,'stun:stun.l.google.com:19302');C(a,olympe.Ca.Z.Ns,!0);C(a,olympe.Ca.Z.Ms,3E3);ra(a,olympe.Ca.T.ua);B(a,olympe.Ca.T.Ga,[olympe.ya.T.ua],function(b){return b.Cc('net')})},'olympe.net');olympe.Ca.Dc={};olympe.Ca.Dc.Ck=class{constructor(a){this.N=a;this.C=new Map}ye(){}F(){}};function oc(a,b){const c=a.U(b);c.binaryType='arraybuffer';c.onopen=()=>{a.N.info('Websocket OPENED');a.G=!0;a.O?(a.N.debug('Notifying upper layer for WebSocket#'+a.id),a.O()):a.N.warn('Nothing to notify for WebSocket#'+a.id);a.buffer.forEach(c.send.bind(c));a.buffer.length=0};c.onmessage=d=>{d='string'===typeof d.data?String(d.data):a.$(d.data);a.N.debug('#'+a.id+' < '+d);a.F&&a.F(d)};c.onclose=()=>{a.G=!1;a.N.debug('WebSocket#'+a.id+' CLOSE');a.L&&a.L()};c.onerror=()=>{a.N.debug('WebSocket#'+a.id+
400
+ e=F(e,f,c,d,b[7],14,1735328473);d=F(d,e,f,c,b[12],20,-1926607734);c=H(d^e^f,c,d,b[5],4,-378558);f=H(c^d^e,f,c,b[8],11,-2022574463);e=H(f^c^d,e,f,b[11],16,1839030562);d=H(e^f^c,d,e,b[14],23,-35309556);c=H(d^e^f,c,d,b[1],4,-1530992060);f=H(c^d^e,f,c,b[4],11,1272893353);e=H(f^c^d,e,f,b[7],16,-155497632);d=H(e^f^c,d,e,b[10],23,-1094730640);c=H(d^e^f,c,d,b[13],4,681279174);f=H(c^d^e,f,c,b[0],11,-358537222);e=H(f^c^d,e,f,b[3],16,-722521979);d=H(e^f^c,d,e,b[6],23,76029189);c=H(d^e^f,c,d,b[9],4,-640364487);
401
+ f=H(c^d^e,f,c,b[12],11,-421815835);e=H(f^c^d,e,f,b[15],16,530742520);d=H(e^f^c,d,e,b[2],23,-995338651);c=I(c,d,e,f,b[0],6,-198630844);f=I(f,c,d,e,b[7],10,1126891415);e=I(e,f,c,d,b[14],15,-1416354905);d=I(d,e,f,c,b[5],21,-57434055);c=I(c,d,e,f,b[12],6,1700485571);f=I(f,c,d,e,b[3],10,-1894986606);e=I(e,f,c,d,b[10],15,-1051523);d=I(d,e,f,c,b[1],21,-2054922799);c=I(c,d,e,f,b[8],6,1873313359);f=I(f,c,d,e,b[15],10,-30611744);e=I(e,f,c,d,b[6],15,-1560198380);d=I(d,e,f,c,b[13],21,1309151649);c=I(c,d,e,f,
402
+ b[4],6,-145523070);f=I(f,c,d,e,b[11],10,-1120210379);e=I(e,f,c,d,b[2],15,718787259);d=I(d,e,f,c,b[9],21,-343485551);a[0]=Da(c,a[0]);a[1]=Da(d,a[1]);a[2]=Da(e,a[2]);a[3]=Da(f,a[3])}function H(a,b,c,d,e,f){b=Da(Da(b,a),Da(d,f));return Da(b<<e|b>>>32-e,c)}function E(a,b,c,d,e,f,g){return H(b&c|~b&d,a,b,e,f,g)}function F(a,b,c,d,e,f,g){return H(b&d|c&~d,a,b,e,f,g)}function I(a,b,c,d,e,f,g){return H(c^(b|~d),a,b,e,f,g)}
403
+ function Fa(a,b=32){const c='0123456789abcdef'.split('');var d=a,e=d.length;a=[1732584193,-271733879,-1732584194,271733878];var f;for(f=64;f<=d.length;f+=64){var g=d.substring(f-64,f),h=[];for(let k=0;64>k;k+=4)h[k>>2]=g.charCodeAt(k)+(g.charCodeAt(k+1)<<8)+(g.charCodeAt(k+2)<<16)+(g.charCodeAt(k+3)<<24);Ea(a,h)}d=d.substring(f-64);g=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(f=0;f<d.length;f++)g[f>>2]|=d.charCodeAt(f)<<(f%4<<3);g[f>>2]|=128<<(f%4<<3);if(55<f)for(Ea(a,g),f=0;16>f;f++)g[f]=0;g[14]=8*e;
404
+ Ea(a,g);d='';e=0;b=0<=b?b:32;for(f=0;4>f;f++)for(h=a[f],g=0;4>g;g++){if(++e>b)return d;d+=c[h>>8*g+4&15];if(++e>b)return d;d+=c[h>>8*g&15]}return d}'5d41402abc4b2a76b9719d911017c592'!==Fa('hello')&&(Da=(a,b)=>{const c=(a&65535)+(b&65535);return(a>>16)+(b>>16)+(c>>16)<<16|c&65535});olympe.$.Ac=Fa;olympe.$.lm=function(a){var b=/^(?:(\S*)@)?([^:]+)(?::(\d{2,5}))?$/;const c=/([^&=]+)=([^&=]+)/g,d=/^true|false$/i,e=/^\d+(\.\d+)?$/;var f=a.match(/^(?:([^:/?#]+):)?(?:\/\/([^/?#]*))?\/?([^?#]*)(?:\?([^#]*))?(?:#(.*))?$/);a=f[1];const g=f[2],h=f[3],k=f[4];f=f[5];let m=null,n=null;var p=null;g&&(p=g.match(b),m=p[1],n=p[2],p=p[3]);b={};let q;for(;q=c.exec(k);){let r=q[2];void 0===r?r=!0:d.test(r)?r='true'===r.toLowerCase():e.test(r)?r=parseFloat(r):r=decodeURIComponent(r);b[q[1]]=r}return{scheme:a||
405
+ null,vB:g||null,Oq:m||null,host:n||null,port:p&&parseInt(p,10)||null,path:h&&'/'!==h?h:null,query:k||null,FB:f||null,parameters:b}};olympe.$.dC=function(a){a=a.substring(1);return''===a?new Map:new Map(a.split('&').map(b=>b.split('=')))};olympe.$.hC=function(a){let b='';for(let c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b+=(b?'&':'?')+c+'='+encodeURIComponent(a[c]));return b};olympe.$.jq=(a,b)=>{const c=Object.keys(a).find(d=>a[d]===b);return void 0===c?null:c};
406
+ olympe.$.km=(a,b)=>{if(b instanceof Object)for(const c of Object.keys(b)){const d=b[c];d instanceof Object&&void 0!==a[c]?olympe.$.km(a[c],d):a[c]=d}};olympe.$.Tl=(a,b,c)=>{const d=Object.create(null);b(a,e=>{olympe.$.km(d,e);b(`conf.d/${a}`,f=>{olympe.$.km(d,f);c(d)})})};olympe.$.tB=class a{constructor(b,c){this.x=b;this.y=c}add(b){return new a(this.x+b.x,this.y+b.y)}clone(){return new a(this.x,this.y)}Yl(){return Math.sqrt(this.x*this.x+this.y*this.y)}toString(){return`Vector(${this.x}, ${this.y})`}};olympe.$.Yx=class{constructor(a,b,c,d){this.from=a;this.target=b;this.C=c;this.F=d}toString(){return`(${this.from.toString()}, ${this.target.toString()}, ${this.C.toString()}, ${this.F.toString()})`}};olympe.$.Ds=class{constructor(a,b){this.start=a;this.end=b}};olympe.$.Ds.C={gh:'left',mh:'right',Wx:'bottom',PA:'top'};function Ga(a){return`${a.C}.${a.F}.${a.G}`}
407
+ olympe.$.$e=class{constructor(a,b,c,d){this.C=a;this.F=b;this.G=c;this.L=d||null}static parse(a){a=/([0-9]*)\.([0-9]*)\.([0-9]*)-?([A-z\-_0-9]*)/.exec(a);if(null===a||4>a.length)return olympe.$.$e.C;const b=Number.parseInt(a[1],10),c=Number.parseInt(a[2],10),d=Number.parseInt(a[3],10);return isNaN(b)||isNaN(c)||isNaN(d)?olympe.$.$e.C:new olympe.$.$e(b,c,d,a[4])}Jb(a){return this.C===a.C&&this.F===a.F&&this.G===a.G}toString(){return`${this.C}.${this.F}.${this.G}`+(null!==this.L?`-${this.L}`:'')}};
408
+ olympe.$.$e.C=new olympe.$.$e(Number.NaN,Number.NaN,Number.NaN);olympe.$.T={Tg:'utils.binaryConverter',Uq:'utils.base64Converter'};olympe.U.Ib(a=>{ra(a,olympe.$.T.Tg);qa(a,olympe.$.T.Uq,olympe.$.T.Tg,!0)},'Utils services');olympe.U.run([olympe.$.T.Tg],a=>{olympe.$.xh=()=>a});olympe.bb.node.$={};const Ha=new Map;olympe.bb.node.$.rk=class extends olympe.$.rk{O(a){return(new Uint8Array(OlympeNodeAPI.buffer.from(a,'base64'))).buffer}C(a){return OlympeNodeAPI.buffer.from(a).toString('base64')}G(a,b){a.arrayBuffer().then(olympe.D.Ja().vb(b))}L(a){var b=()=>Math.random().toString(16).slice(-4);b=`blob://${`${b()}${b()}-${b()}-${b()}-${b()}-${b()}${b()}${b()}`}`;Ha.set(b,a);return b}F(a,b,c){Ha.has(a)?b(Ha.get(a)):c&&c('No object has been found for that url. Maybe the URL has already been revoked')}V(a){Ha.delete(a)}};olympe.U.Ib(function(a){pa(a,olympe.$.T.Tg,olympe.bb.node.$.rk)},'olympe.native.node.utils');olympe.ua={};olympe.ua.Cb=class{L(){}na(){}G(){}ca(){}ja(){}xa(){}O(){}V(){}trace(){}debug(){}log(){}info(){}warn(){}error(){}fatal(){}};olympe.ua.Cb.prototype.fatal=olympe.ua.Cb.prototype.fatal;olympe.ua.Cb.prototype.error=olympe.ua.Cb.prototype.error;olympe.ua.Cb.prototype.warn=olympe.ua.Cb.prototype.warn;olympe.ua.Cb.prototype.info=olympe.ua.Cb.prototype.info;olympe.ua.Cb.prototype.log=olympe.ua.Cb.prototype.log;olympe.ua.Cb.prototype.debug=olympe.ua.Cb.prototype.debug;olympe.ua.Cb.prototype.trace=olympe.ua.Cb.prototype.trace;
409
+ olympe.ua.Cb.C={Gt:0,wf:1,zs:2,Wn:3,Nt:4,wc:5,wr:6,dl:7};olympe.ua.Cb.F={0:'TRACE',1:'DEBUG',2:'LOG',3:'INFO',4:'WARN',5:'ERROR',6:'FATAL',7:'NOTHING'};olympe.ua.qa=class{Gc(){}};olympe.ua.Hc={};function Ia(a,b,c,d,e,f){var g=new Date;g=('00'+g.getHours()).substr(-2)+':'+('00'+g.getMinutes()).substr(-2)+':'+('00'+g.getSeconds()).substr(-2)+'.'+('00'+g.getMilliseconds()).substr(-3);f=a.Pa?`%c[${g}] [${f.toUpperCase()}] ${c}:%c`:`%c[${g}] ${c}:%c`;for(const h of d)f+=' '+h;a.console[b](f,'color: '+e,'color: #444');for(const h of a.Ea.values())h(g,c,b,...d)}
410
+ olympe.ua.Hc.Cb=class{constructor(a,b,c){this.name=a;this.C=b;this.Pa=c;this.F=a.toUpperCase();this.Ea=new Map;this.console=console}L(){return this.C}na(){return this.C<=olympe.ua.Cb.C.Gt}G(){return this.C<=olympe.ua.Cb.C.wf}ja(){return this.C<=olympe.ua.Cb.C.zs}ca(){return this.C<=olympe.ua.Cb.C.Wn}xa(){return this.C<=olympe.ua.Cb.C.Nt}O(){return this.C<=olympe.ua.Cb.C.wc}V(){return this.C<=olympe.ua.Cb.C.wr}trace(...a){this.na()&&Ia(this,'log',this.F,a,'#99b','trace')}debug(...a){this.G()&&Ia(this,
411
+ 'log',this.F,a,'#888','debug')}log(...a){this.ja()&&Ia(this,'log',this.F,a,'#000','log')}info(...a){this.ca()&&Ia(this,'info',this.F,a,'#00f','info')}warn(...a){this.xa()&&Ia(this,'warn',this.F,a,'#684911','warn')}error(...a){this.O()&&Ia(this,'error',this.F,a,'#f00','error')}fatal(...a){this.V()&&Ia(this,'error',this.F,a,'#f00','fatal')}};olympe.ua.Hc.Cb.ka=[olympe.ua.Cb];olympe.ua.Hc.qa=class{constructor(a,b,c){this.C=a;this.F=parseInt(b,10);this.G=c;this.channels=new Map;this.N=this.Gc('logging');this.N.info('Logging initialized, global log level is '+olympe.ua.Cb.F[b])}Gc(a){var b=this.channels.get(a);if(!b){b=this.F;var c=`${olympe.ua.Z.ar}.${a}`;Object.prototype.hasOwnProperty.call(this.C.parameters,c.toLowerCase())&&(b=parseInt(this.C.getParameter(c),10));let d=this.G;c=`${c}.${olympe.ua.Z.tt}`;Object.prototype.hasOwnProperty.call(this.C.parameters,c.toLowerCase())&&
412
+ (d=!0===this.C.getParameter(c));b=new olympe.ua.Hc.Cb(a,b,d);this.channels.set(a,b)}return b}};olympe.ua.Hc.qa.ka=[olympe.ua.qa];olympe.ua.T={ta:'logging.Manager'};olympe.ua.Z={Dn:'logging',En:'logging.showLogLevel',ar:'logging',tt:'showLogLevel'};olympe.U.Ib(function(a){D(a,olympe.ua.Z.Dn,olympe.ua.Cb.C.Wn);D(a,olympe.ua.Z.En,!0);pa(a,olympe.ua.T.ta,olympe.ua.Hc.qa,olympe.U.T.vf,new olympe.U.ha(olympe.ua.Z.Dn),new olympe.U.ha(olympe.ua.Z.En))},'olympe.logging');olympe.U.run([olympe.ua.T.ta],a=>{olympe.ua.rb=b=>a.Gc(b)},'Logging singleton getter initialization');olympe.D={};olympe.D.Z={vo:'df.nodeCreationThreshold'};const Ja=[];function Ka(){}function La(){}olympe.D.J=class a{constructor(b,c,d){this.C=void 0===b?Ka:b;this.F=void 0===c?Ja:c;this.ca=d}static L(){var b=[];return void 0===b||0===b.length?olympe.D.J.ja:new a(La,b)}L(){return this.C?this.C():void 0}G(){return this.F?this.F:Ja}O(){return null===this.C&&null===this.F}V(){return this.C===La}};olympe.D.J.ca=new olympe.D.J;olympe.D.J.C=new olympe.D.J(null,null);olympe.D.J.ja=new olympe.D.J(La);olympe.D.J.G=new olympe.D.J(()=>olympe.D.ea);
413
+ olympe.D.J.F=new olympe.D.J(()=>olympe.D.Oa);olympe.D.J.O=new olympe.D.J(()=>olympe.D.fa);olympe.D.J.V=new olympe.D.J(()=>olympe.D.Yb);olympe.D.$g=class{da(){return''}Qj(){return''}hb(){}Kb(){return!1}Vd(){return!1}run(a,...b){return a(...b)}vb(a){return a}getParent(){return null}Jq(){}Eg(){}Of(){}detach(){}Nj(){}ze(){}onDestroy(){return''}dg(){}Sc(){return''}Bq(){}};olympe.D.$g.prototype.offDestroy=olympe.D.$g.prototype.dg;olympe.D.$g.prototype.onDestroy=olympe.D.$g.prototype.onDestroy;let Ma=0;olympe.U.run([new olympe.U.ha(olympe.D.Z.vo)],()=>{});
414
+ olympe.D.kc=class{constructor(a='SimpleContext',b){++Ma;this.ja=new Map;this.na=new Map;this.ca=new Map;this.fb=0;this.name=a;this.id=String(Ma);this.Pa=this.xa=!1;(this.L=void 0===b?olympe.D.Ja():b)&&this.L.Of(this);this.debug=!1}da(){return this.id}Qj(){return this.name}run(a,...b){if(!this.xa){var c=olympe.D.Iq(this);a=a(...b);c&&olympe.D.Iq(c);return a}}vb(a){return(...b)=>this.run(a,...b)}hb(){if(!this.xa&&!this.Pa){this.Pa=!0;this.ze();for(const a of this.na.keys())this.na.has(a)&&this.na.get(a)();
415
+ this.na.clear();this.ca.clear();this.L&&(this.L.detach(this,!1),this.L=null);this.xa=!0;this.Pa=!1;this.ze()}}Kb(){return this.xa}Vd(){return this.Pa}Of(a){if(!this.xa){var b;olympe.D.Za(a)?b=a.Sa:olympe.D.hm(a)&&(b=a);b&&this.ja.set(b.da(),b)}}detach(a,b=!0){let c;olympe.D.Za(a)?c=a.Sa:olympe.D.hm(a)&&(c=a);c&&this.ja.has(c.da())&&(b&&c.Nj(this),this.ja.delete(c.da()))}Nj(){this.L=null;this.hb()}ze(){const a=this.ja;for(const b of a.keys())a.has(b)&&a.get(b).Nj(this);this.ja.clear();for(const b of this.ca.keys())this.ca.has(b)&&
416
+ this.ca.get(b)();this.ca.clear()}onDestroy(a,b){void 0===b&&(++this.fb,b=String(this.fb));this.na.set(b,a);return b}dg(a){this.na.delete(a)}Sc(a){if(void 0===b){++this.fb;var b=String(this.fb)}this.ca.set(b,a);return b}Bq(a){this.ca.delete(a)}Jq(a){this.L&&this.L.detach(this,!1);(this.L=a||null)&&this.L.Of(this)}getParent(){return this.L}Eg(){return this.ja}};olympe.D.Yo=class extends olympe.D.kc{constructor(){super('Root',null)}hb(){}onDestroy(){return''}dg(){}};olympe.D.$g.ka=[olympe.D.$g];let Na=0;
417
+ function Oa(a,b){a.O||(a.O=new Map);a.O.set(b.da(),b);switch(b.C){case olympe.D.Node.C.jh:break;case olympe.D.Node.C.qh:break;case olympe.D.Node.C.sj:case olympe.D.Node.C.yf:olympe.D.N.warn('Not bad as such but should not happen!');break;case olympe.D.Node.C.ah:Pa(a,olympe.D.Node.C.ah);break;case olympe.D.Node.C.OBSOLETE:a.gb=!0;a.C!==olympe.D.Node.C.ah&&Pa(a,olympe.D.Node.C.OBSOLETE);break;case olympe.D.Node.C.xf:olympe.D.N.warn('Adding a destroyed node as upstream => should never happen!');break;
418
+ default:olympe.D.N.warn('Unknown state, investigate: ',b.C)}Qa(b,a)}
419
+ function Ra(a){if(a.nd){var b=[],c=[];if(a.qf)if(a.qf instanceof olympe.D.Node)if(Sa(a.qf))b=a.qf.Jc;else return;else b=a.qf;else b=null;if(null!==a.V){const e=a.Nf;for(let f=0,g=a.V.length;f<g;f++)if(null!==e&&-1<e.indexOf(f)){const h=a.V[f];if(Sa(h))c.push(h.Jc);else return}else c.push(a.V[f])}if(a.nd instanceof Function)var d=a.nd;else b&&(b[a.nd]||olympe.D.N.warn('looks like you forget a cast somewhere around '+a.nd),d=b[a.nd]);a.run(()=>{a.ze();if(void 0!==d){const e=d.apply(b,c);e&&e.Cp?Ta(a,
420
+ e.Sa):e instanceof olympe.D.Node?Ta(a,e):(J(a,e),void 0===e&&void 0===a.valueType&&Pa(a,olympe.D.Node.C.qh))}else Ua(a)})}}function K(a){void 0===a.Xa&&(a.Xa=a.valueType===olympe.D.Proxy?Va(void 0,a.xb):Va(a.valueType,a.xb),a.Xa.Sa=a);return a.Xa}function Wa(a){void 0!==a.F&&(Xa(a.F,a),a.F=void 0)}function Ya(a){if(a.C===olympe.D.Node.C.OBSOLETE&&(a.C=olympe.D.Node.C.qh,null!==a.G))for(const b of a.G.values())Za(b)}function Pa(a,b){b!==a.C&&(a.C=b)}
421
+ function $a(a){if(a.C!==olympe.D.Node.C.OBSOLETE&&a.C!==olympe.D.Node.C.sj&&a.C!==olympe.D.Node.C.jh&&a.C!==olympe.D.Node.C.ah){Pa(a,olympe.D.Node.C.sj);var b=a.G;if(b)for(const c of b.values())b.has(c.da())&&$a(c);Pa(a,olympe.D.Node.C.OBSOLETE)}}function ab(a,b,c){if(a.C!==olympe.D.Node.C.yf)if(b===a.F)J(a,c,!0);else{if(a.C===olympe.D.Node.C.OBSOLETE||a.C===olympe.D.Node.C.sj)a.gb=!0;Ra(a)}}
422
+ function J(a,b,c){b instanceof olympe.D.Node&&(olympe.D.N.warn('We are setting the value of a node as a node, that should never happen?'),b=b.Jc);a.Ea||c||void 0===a.F||Wa(a);if(void 0!==b){if((a.Ea||a.C===olympe.D.Node.C.qh||a.C===olympe.D.Node.C.OBSOLETE)&&!olympe.D.Za(b)&&void 0!==a.Jc){if(null===b&&null===a.Jc){Ya(a);return}if(null!==b&&null!==a.Jc&&(b.valueOf()===a.Jc.valueOf()||a.Jc.Jb&&a.Jc.Jb(b))){Ya(a);return}}if(!0===a.Ea)olympe.D.N.error("Circular dependency detected: updating a downstream node caused this node's (#"+
423
+ a.da()+') value to get updated !');else{a.C===olympe.D.Node.C.xf&&olympe.D.N.warn(`trying to set a value on a destroyed node (#${a.da()} ${a.hd?', '+a.hd:''})`);a.C===olympe.D.Node.C.yf&&olympe.D.N.warn(`trying to set a value on a node being destroyed (#${a.da()} ${a.hd?', '+a.hd:''})`);a.Ea=!0;c=b;var d=!1,e=(f,g)=>f instanceof g?!0:!1;void 0===a.valueType||null===c||e(c,a.valueType)||(e=a.valueType&&a.valueType.name?a.valueType.name:'undefined',b='object'===typeof c?b.constructor.name:typeof c,
424
+ c instanceof Object?d=!0:b.toLowerCase()!==e.toLowerCase()&&a.valueType!==Object&&(d=!0),d&&('string'===b.toLowerCase()&&a.valueType===olympe.D.Oa?(c=olympe.D.sb(c),d=!1):'number'===b.toLowerCase()&&a.valueType===olympe.D.ea?(c=olympe.D.va(c),d=!1):'boolean'===b.toLowerCase()&&a.valueType===olympe.D.fa&&(c=olympe.D.qc(c),d=!1)));a.Jc=c;Pa(a,olympe.D.Node.C.qh);if(b=a.G){d=0;for(const f of b.values())0<d&&$a(f),d++;for(const f of b.values())ab(f,a,c)}a.Ea=!1}}}
425
+ function bb(a,b){if(a.C!==olympe.D.Node.C.yf&&a.C!==olympe.D.Node.C.xf&&(a.C!==olympe.D.Node.C.jh||a.nd)){var c=void 0!==a.defaultValue;a.nd&&b!==a.F&&a.ze();if(c)J(a,a.defaultValue,!0);else if(a.Jc=void 0,Pa(a,olympe.D.Node.C.jh),b=a.G)for(const d of b.values())bb(d,a)}}function Ua(a){if(a.C!==olympe.D.Node.C.ah){Pa(a,olympe.D.Node.C.ah);var b=a.G;if(b)for(const c of b.values())Ua(c);a.ze();void 0!==a.F&&Wa(a);a.Jc=a.defaultValue}}function Sa(a){return a.C===olympe.D.Node.C.qh}
426
+ function Ta(a,b){b===a?olympe.D.N.error('Setting a node as provider of itself. Ignoring'):(a.F&&a.F!==b&&Wa(a),Qa(b,a),Sa(b)?J(a,b.Jc,!0):void 0!==a.defaultValue?J(a,a.defaultValue,!0):bb(a),a.F=b)}function cb(a,b){a.nd&&(a.nd=void 0);a.hd='Repeater';Ta(a,b)}function Za(a){a.F?Ya(a):null!==a.O&&0===Array.from(a.O.values()).filter(b=>!Sa(b)).length&&(a.gb&&(a.gb=!1,Ra(a)),Ya(a))}
427
+ function Qa(a,b){a.G||(a.G=new Map);a.G.set(b.da(),b);a.C===olympe.D.Node.C.xf&&olympe.D.N.warn('adding a downstream node on a deleted one (#'+a.da()+') !')}function Xa(a,b){a.G&&(b=b.da(),a.G.has(b)&&(a.G.delete(b),eb(a)))}function eb(a){if(null===a.getParent()){var b=a.G;b&&0<b.size||a.hb()}}
428
+ olympe.D.Node=class extends olympe.D.kc{constructor({valueType:a,nd:b,cx:c=!0,qf:d,fm:e,debug:f=!1,Nf:g=null,hd:h='Node',ni:k}={}){++Na;super(String(Na));this.debug=!!f;this.hd=h;h&&'string'===typeof h||(b?this.hd=b.name?b.name:'anon()':this.hd='Node');this.V=e&&0<e.length?e:null;this.Nf=g&&0<g.length?g:null;this.valueType=a;this.Jc=void 0;this.Ea=!1;this.C=olympe.D.Node.C.jh;this.gb=!1;this.G=this.O=null;this.nd=b;this.qf=d||null;this.defaultValue=this.Xa=this.F=void 0;this.ni=k;d&&d instanceof olympe.D.Node&&
429
+ Oa(this,d);if(g)for(b=0;b<g.length;b++)a=e[g[b]],Oa(this,a);c&&Ra(this)}Je(a){this.defaultValue=a;this.C===olympe.D.Node.C.jh&&J(this,a,!0);return this}Mb(){return this.valueType||Object}Kb(){return this.C===olympe.D.Node.C.xf}Vd(){return this.C===olympe.D.Node.C.yf}xb(...a){if(this.ni instanceof Function)return this.ni(...a);var b=a.length;--b;const c=a[b];--b;const d=a[b],e=Array(b);for(var f=0;f<b;f++)e[f]=a[f];a=this.C;a!==olympe.D.Node.C.yf&&a!==olympe.D.Node.C.xf||olympe.D.N.warn('Calling a function on a destroyed node!!!',
430
+ this);a=d.G();b=[];if(1===a.length&&-1===a[0])for(var g of e)olympe.D.Za(g)&&b.push(g.Sa);else for(let h=0,k=a.length;h<k;h++)g=a[h],f=e[g],void 0!==f&&null!==f&&f.ie&&(e[g]=f.Sa,b.push(g));return K(new olympe.D.Node({valueType:d.L(),nd:c,qf:this,fm:e,debug:!1,Nf:b,hd:'Proxy.'+c+'()'}))}Nj(a){if(null===this.getParent())olympe.D.N.warn('context is undefined, investigate');else if(this.getParent()!==a){olympe.D.N.warn('Investigate a potential issue in creator-createe link: create node mismatch',a,this.getParent());
431
+ return}this.Jq(null);eb(this)}hb(){var a=this.C;if(a!==olympe.D.Node.C.yf&&a!==olympe.D.Node.C.xf){Pa(this,olympe.D.Node.C.yf);if(a=this.G){for(const c of a.values())if(a.has(c.da())){var b=c;b.O&&b.O.delete(this.da());b.F&&b.F.da()===this.da()?b.F=void 0:b.hb()}a.clear()}this.G=null;super.hb();if(this.O){for(const c of this.O.values())this.O.has(c.da())&&Xa(c,this);this.O.clear()}this.O=null;this.F&&(Xa(this.F,this),this.F=void 0);this.Jc=void 0;this.V&&(this.V.length=0,this.V=null);this.Nf&&(this.Nf.length=
432
+ 0,this.Nf=null);this.ni=this.nd=void 0;this.defaultValue=this.qf=null;this.hd=`** Destroyed ** ${this.hd}`;Pa(this,olympe.D.Node.C.xf)}}Qj(){return this.hd}};olympe.D.Node.F='rootNode';olympe.D.Node.C={jh:0,qh:1,ah:3,sj:4,OBSOLETE:5,yf:6,xf:7};function Va(a,b){if('function'!==typeof a)return new olympe.D.Proxy(a,b);var c=olympe.D.Proxy.prototype;void 0===a.prototype&&olympe.D.N.error('investigate');c=Object.create(fb(c,a.prototype));c.Jj=a;c.Dp=b;return c}function L(a){return a.Sa.Jc}function fb(a,b){Object.prototype.hasOwnProperty.call(b,olympe.D.Proxy.ll)||Object.defineProperty(b,olympe.D.Proxy.ll,{enumerable:!1,configurable:!1,writable:!1,value:gb(a,b)});return b[olympe.D.Proxy.ll]}
433
+ function ib(a,b){if(a.Jj!==b){a.Jj=b;b.prototype||olympe.D.N.error('Cast not possible, provided type is not a valid type!');var c=fb(a,b.prototype);Object.setPrototypeOf?Object.setPrototypeOf(a,c):a.__proto__=c;a.Sa&&(a.Sa.valueType=b)}}
434
+ function gb(a,b){let c={};if(b.prototype)olympe.D.N.error('first level of prototyping, investigate');else if(b.__proto__)c=Object.create(fb(a,b.__proto__));else return olympe.D.Proxy.prototype;Object.getOwnPropertyNames(b).forEach(d=>{if('function'===typeof b[d]&&'__getReplacementFunction'!==d){var e=b[d].K;null===e||e&&e.O()?c[d]=function(...f){var g=this.Sa;if(g&&Sa(g)&&(g=g.Jc)&&g[d]&&'function'===typeof g[d])return g[d].apply(g,f)}:(e=e||b[d].__oSig__||olympe.D.J.ca,c[d]=function(...f){f=this.Dp.call(this.Sa,
435
+ ...f,e,d);const g=e.ca;if(g){const h=this.Sa.Jc;h&&h[g]&&ib(f,h[g])}return e.V()?this:f})}});return c}function jb(a,b){J(a.Sa,b)}function kb(a){bb(a.Sa)}function lb(a){olympe.D.rc([olympe.D.fa.C],b=>{a.Sa.Je(b)},'setDefaultValue');return a}function mb(a,b){cb(a.Sa,olympe.D.lf(b)?b:b.Sa)}function nb(a,b){olympe.D.Za(b)||olympe.D.lf(b)?mb(a,b):jb(a,b)}
436
+ olympe.D.Proxy=class{constructor(a,b){this.Sa=null;this.Jj=a;this.Dp=b}static Za(a){return!(!a||!a.ie)}Jb(a){return olympe.D.ya([this,a],(b,c)=>b===c,Boolean)}yd(a){return olympe.D.ya([this,a],(b,c)=>null===b||null===c?b===c?olympe.D.fa.F:olympe.D.fa.C:b.valueOf()===c.valueOf()?olympe.D.fa.F:olympe.D.fa.C,olympe.D.fa)}Cp(){return this.Sa}};olympe.D.Proxy.ll='__opp__';olympe.D.Proxy.prototype.ie=!0;function ob(a,b){a.node.Je(b);return a}olympe.D.dj=class{constructor(a,b='FlowSource'){this.node=olympe.D.createNode(a,void 0,void 0,void 0,void 0,b)}update(a){olympe.D.Za(a)?J(this.node,olympe.D.Ta(a)):J(this.node,a);return this}repeat(a){cb(this.node,olympe.D.Za(a)?a.Sa:a);return this}clear(){bb(this.node);return this}yb(){return K(this.node)}};function pb(a,b,c=1E3,d,e){const f=olympe.D.Ic(olympe.D.ea),g=d||olympe.D.ea.hn.lo;let h,k,m,n;f.update(olympe.D.va(a));const p=window.performance.now(),q=b.valueOf();m=q-a.valueOf();if(0!==m&&void 0===n){const r=()=>{f.node.Kb()||(m=q-a.valueOf(),k=(window.performance.now()-p)/c,1<=k&&(k=1,n=void 0),h=a.valueOf()+m*g(k,0,1,1),f.update(olympe.D.va(h)),1===k&&void 0!==e&&e(h),1>k&&(n=window.requestAnimationFrame(r)))};n=window.requestAnimationFrame(r)}return f.yb()}
437
+ olympe.D.ea=class{constructor(a){this.value=void 0===a||null===a?0:a}toJSON(){return'{ "type": "number", "value": '+JSON.stringify(this.value)+' }'}static $b(a){let b;'string'===typeof a?b=JSON.parse(a):b=a;return olympe.D.va(b.value)}tm(){return'number'===typeof this.value&&!isNaN(this.value)}isNaN(){return olympe.D.qc(!this.tm())}Xc(){return null===this.value||void 0===this.value||void 0===this.value.toString||isNaN(this.value)?olympe.D.sb(''):olympe.D.sb(this.value.toString())}toString(a,b){return void 0!==
438
+ this.value&&null!==this.value?'number'===typeof a?this.value.toString(a):'number'===typeof b?this.value.toFixed(b):this.value.toString():'-'}toFixed(a){return this.tm()?this.valueOf().toFixed(a):''}static max(a){const b=new Map;let c=-Infinity;const d=olympe.D.Ic(olympe.D.ea,'ONumber.max result'),e=()=>{c=-Infinity;for(const f of b.values())f>c&&(c=f);d.update(olympe.D.va(c))};a.forEach((f,g)=>{olympe.D.rc([f],h=>{b.set(g,h.valueOf());e()})},f=>{if(!d.node.Kb()){var g=b.get(f);b.delete(f);g===c&&
439
+ e()}});return d.yb()}Gd(a){return olympe.D.ya([this,a],(b,c)=>olympe.D.va(b.valueOf()+c.valueOf()),olympe.D.ea,'ONumber.plus')}Og(a){return olympe.D.ya([this,a],(b,c)=>olympe.D.va(b.valueOf()-c.valueOf()),olympe.D.ea,'ONumber.minus')}round(){return olympe.D.va(Math.round(this.valueOf()))}Ri(){return olympe.D.va(-this.valueOf())}$j(a){return olympe.D.ya([this,a],(b,c)=>olympe.D.va(b.valueOf()*c.valueOf()),olympe.D.ea,'ONumber.mul')}ri(a){return olympe.D.ya([this,a],(b,c)=>olympe.D.va(b.valueOf()/c.valueOf()),
440
+ olympe.D.ea,'ONumber.div')}Fw(a){return olympe.D.ya([this,a],(b,c)=>olympe.D.va(b.valueOf()%c.valueOf()),olympe.D.ea,'ONumber.div')}floor(){return olympe.D.va(Math.floor(this.valueOf()))}ceil(){return olympe.D.va(Math.ceil(this.valueOf()))}trunc(){return olympe.D.va(Math.trunc(this.valueOf()))}log(){return olympe.D.va(Math.log(this.valueOf()))}pow(a){return olympe.D.ya([this,a],(b,c)=>olympe.D.va(Math.pow(b.valueOf(),c.valueOf())),olympe.D.ea,'ONumber.pow')}exp(){return olympe.D.va(Math.exp(this.valueOf()))}yd(a){return olympe.D.ya([this,
441
+ a],(b,c)=>olympe.D.qc(b.Jb(c)),olympe.D.fa,'ONumber.oEquals')}Jb(a){return this.valueOf()===(void 0!==a&&null!==a?a.valueOf():void 0)}valueOf(){return void 0!==this.value?this.value.valueOf():void 0}Ev(){return this.valueOf()}gm(a){return olympe.D.ya([this,a],(b,c)=>b.valueOf()>c.valueOf()?olympe.D.fa.F:olympe.D.fa.C,olympe.D.fa,'ONumber.isBiggerThan')}hx(a){return olympe.D.ya([this,a],(b,c)=>b.valueOf()>=c.valueOf()?b:olympe.D.va(c),olympe.D.ea,'ONumber.returnsBiggest')}Hq(a){return olympe.D.ya([this,
442
+ a],(b,c)=>b.valueOf()<=c.valueOf()?b:olympe.D.va(c),olympe.D.ea,'ONumber.returnsSmallest')}sw(a){return olympe.D.ya([this,a],(b,c)=>b.valueOf()<c.valueOf()?olympe.D.fa.F:olympe.D.fa.C,olympe.D.fa,'ONumber.isSmallerThan')}sin(){return olympe.D.va(Math.sin(this.valueOf()))}cos(){return olympe.D.va(Math.cos(this.valueOf()))}atan2(a){return olympe.D.Za(a)?olympe.D.Hd([a],b=>olympe.D.va(Math.atan2(this.valueOf(),b.valueOf())),olympe.D.ea):olympe.D.va(Math.atan2(this.valueOf(),a.valueOf()))}abs(){return olympe.D.va(Math.abs(this.valueOf()))}Hi(a,
443
+ b){return olympe.D.Za(a)||olympe.D.Za(b)?olympe.D.Hd([a,b],(c,d)=>olympe.D.va(this.valueOf()*d.valueOf()+c.valueOf()*(1-d.valueOf())),olympe.D.ea):olympe.D.va(this.valueOf()*b.valueOf()+a.valueOf()*(1-b.valueOf()))}static Qt(a,b,c,d){'number'===typeof a&&(a=olympe.D.Fd(a));'number'===typeof b&&(b=olympe.D.Fd(b));'number'===typeof c&&(c=olympe.D.Fd(c));let e=0;const f=olympe.D.Fd(0);let g,h;void 0!==b&&void 0!==c&&olympe.D.Uj(b.gm(c),()=>{olympe.ua.rb('df').warn('You have a min bigger than max, cap your inputs')});
444
+ const k=(m,n)=>{n=olympe.D.Fd(n);const p=olympe.D.ea.animate(n,500);mb(f,p);jb(n,olympe.D.va(m));e=m};olympe.D.Hd([a],m=>{e+=m.valueOf();e>h?k(h,e):e<g?k(g,e):mb(f,olympe.D.Fd(e))},olympe.D.ea);void 0!==b&&olympe.D.ck(b.valueOf(),m=>{if(g!==m&&(g=m,g>e)){const n=olympe.D.Fd(e),p=olympe.D.ea.animate(n,400,d);m=olympe.D.va(g);J(n.Sa,m);e=g;mb(f,p)}});void 0!==c&&olympe.D.ck(c.valueOf(),m=>{if(h!==m&&(h=m,h<e)){const n=olympe.D.Fd(e),p=olympe.D.ea.animate(n,400,d);m=olympe.D.va(h);J(n.Sa,m);e=h;mb(f,
445
+ p)}});return f}static offset(a){let b;return olympe.D.Hd([a],c=>{void 0===b&&(b=c);return olympe.D.va(c-b)},olympe.D.ea,'offset')}static Yp(a){let b,c,d;return olympe.D.ya([a],e=>{if(void 0===b)return b=e,c=window.performance.now(),olympe.D.va(0);d=window.performance.now();const f=olympe.D.va((e.valueOf()-b.valueOf())/(d-c));b=e;c=d;return f},olympe.D.ea,'derivative')}static mw(a){let b=olympe.D.va(0),c,d,e;return olympe.D.ya([a],f=>{if(void 0===c)return c=f,d=window.performance.now(),olympe.D.va(0);
446
+ e=window.performance.now();b=b.Gd((f.valueOf()+c.valueOf())/2*(e-d));c=f;d=e;return b},olympe.D.ea,'integrate')}static zu(a){let b;return olympe.D.ya([a],c=>{void 0===b&&(b=c.valueOf());const d=olympe.D.va(c.valueOf()-b.valueOf());b=c;return d},olympe.D.ea,'diff')}static qu(a,b,c){return olympe.D.Hd([a,b,c],(d,e,f)=>{d='number'===typeof d?d:d.valueOf();e='number'===typeof e?e:e.valueOf();f='number'===typeof f?f:f.valueOf();return olympe.D.va(d>=e?d<=f?d:f:e)},olympe.D.ea)}static animate(a,b,c,d){let e;
447
+ return e=olympe.D.ya([a],f=>{const g=olympe.D.Ta(b,1E3),h=olympe.D.Ta(e);return void 0===h?olympe.D.va(f):pb(h,f,g,c,k=>{d&&d(k)})},olympe.D.ea)}static eu(a,b,c){let d,e,f,g,h,k,m=olympe.D.Fd(),n;olympe.D.rc([a],p=>{void 0===d?g=d=p.valueOf():d=g;f=window.performance.now();e=p.valueOf();k=e-d;0!==k&&void 0===n&&(n=setInterval(()=>{k=e-d;h=(window.performance.now()-f)/b;1<=h&&(h=1);g=d+k*c(h,0,1,1);jb(m,olympe.D.va(g));1===h&&(clearTimeout(n),n=void 0)},0))});return m}static Xc(a){return olympe.D.Za(a)?
448
+ olympe.D.ya([a],b=>olympe.D.sb(b.valueOf().toString()),olympe.D.Oa):olympe.D.sb(a)}static Ri(a){return olympe.D.Za(a)?olympe.D.ya([a],b=>olympe.D.va(-b.valueOf()),olympe.D.ea):olympe.D.va(-a.valueOf())}static Gd(a,b){return olympe.D.Za(a)||olympe.D.Za(b)?olympe.D.ya([a,b],(c,d)=>olympe.D.va(c.valueOf()+d.valueOf()),olympe.D.ea,'plus'):olympe.D.va(a.valueOf()+b.valueOf())}static Og(a,b){return olympe.D.Za(a)||olympe.D.Za(b)?olympe.D.Hd([a,b],(c,d)=>olympe.D.va(c.valueOf()-d.valueOf()),olympe.D.ea,
449
+ 'minus'):olympe.D.va(a.valueOf()-b.valueOf())}static ri(a,b){return olympe.D.Za(a)||olympe.D.Za(b)?olympe.D.Hd([a,b],(c,d)=>olympe.D.va(c.valueOf()/d.valueOf()),olympe.D.ea,'div'):olympe.D.va(a.valueOf()/b.valueOf())}static ax(a,b){if(void 0===b)return a;olympe.D.rc([b],c=>{c=olympe.D.va(L(a).valueOf()+c.valueOf());J(a.Sa,c)},'plusEqual');return a}};olympe.D.ea.ZERO=new olympe.D.ea(0);olympe.D.ea.ONE=new olympe.D.ea(1);olympe.D.ea.Jt=new olympe.D.ea(2);olympe.D.ea.PI=new olympe.D.ea(Math.PI);
450
+ olympe.D.ea.Nr=new olympe.D.ea(Infinity);olympe.D.ea.Ms=new olympe.D.ea(-Infinity);olympe.D.ea.uo=new olympe.D.ea(NaN);olympe.D.ea.zz=olympe.D.ea.ax;olympe.D.ea.Mx=olympe.D.ea.Qt;olympe.D.ea.qz=olympe.D.ea.offset;olympe.D.ea.jy=olympe.D.ea.Yp;olympe.D.ea.zB=olympe.D.ea.Yp;olympe.D.ea.az=olympe.D.ea.mw;olympe.D.ea.ky=olympe.D.ea.zu;olympe.D.ea.ay=olympe.D.ea.qu;olympe.D.ea.Nx=olympe.D.ea.animate;olympe.D.ea.Ox=olympe.D.ea.eu;olympe.D.ea.QA=olympe.D.ea.Xc;olympe.D.ea.RA=olympe.D.ea.Ri;
451
+ olympe.D.ea.yz=olympe.D.ea.Gd;olympe.D.ea.lz=olympe.D.ea.Og;olympe.D.ea.ly=olympe.D.ea.ri;
452
+ olympe.D.ea.hn={lo:function(a,b,c,d){return c*a/d+b},Gy:function(a,b,c,d){a/=d;return c*a*a+b},Qy:function(a,b,c,d){a/=d;return-c*a*(a-2)+b},Cy:function(a,b,c,d){a/=d/2;if(1>a)return c/2*a*a+b;a--;return-c/2*(a*(a-2)-1)+b},vy:function(a,b,c,d){a/=d;return c*a*a*a+b},My:function(a,b,c,d){a/=d;a--;return c*(a*a*a+1)+b},Ay:function(a,b,c,d){a/=d/2;if(1>a)return c/2*a*a*a+b;a-=2;return c/2*(a*a*a+2)+b},Hy:function(a,b,c,d){a/=d;return c*a*a*a*a+b},Ry:function(a,b,c,d){a/=d;a--;return-c*(a*a*a*a-1)+b},
453
+ Dy:function(a,b,c,d){a/=d/2;if(1>a)return c/2*a*a*a*a+b;a-=2;return-c/2*(a*a*a*a-2)+b},Iy:function(a,b,c,d){a/=d;return c*a*a*a*a*a+b},Sy:function(a,b,c,d){a/=d;a--;return c*(a*a*a*a*a+1)+b},Ey:function(a,b,c,d){a/=d/2;if(1>a)return c/2*a*a*a*a*a+b;a-=2;return c/2*(a*a*a*a*a+2)+b},Jy:function(a,b,c,d){return-c*Math.cos(a/d*(Math.PI/2))+c+b},Ty:function(a,b,c,d){return c*Math.sin(a/d*(Math.PI/2))+b},Fy:function(a,b,c,d){return-c/2*(Math.cos(Math.PI*a/d)-1)+b},yy:function(a,b,c,d){return c*Math.pow(2,
454
+ 10*(a/d-1))+b},Py:function(a,b,c,d){return c*(-Math.pow(2,-10*a/d)+1)+b},By:function(a,b,c,d){a/=d/2;if(1>a)return c/2*Math.pow(2,10*(a-1))+b;a--;return c/2*(-Math.pow(2,-10*a)+2)+b},uy:function(a,b,c,d){a/=d;return-c*(Math.sqrt(1-a*a)-1)+b},Ly:function(a,b,c,d){a/=d;a--;return c*Math.sqrt(1-a*a)+b},zy:function(a,b,c,d){a/=d/2;if(1>a)return-c/2*(Math.sqrt(1-a*a)-1)+b;a-=2;return c/2*(Math.sqrt(1-a*a)+1)+b},py:function(a,b,c,d){d=(a/=d)*a;return b+c*(4*d*a+-3*d)},qy:function(a,b,c,d){d=(a/=d)*a;return b+
455
+ c*(2*d*d+2*d*a+-3*d)},ry:function(a,b,c,d){d=(a/=d)*a;return b+c*(4*d*a+-9*d+6*a)},sy:function(a,b,c,d){d=(a/=d)*a;return b+c*(-2*d*d+10*d*a+-15*d+8*a)},Oy:function(a,b,c,d){d=(a/=d)*a;const e=d*a;return b+c*(33*e*d+-106*d*d+126*e+-67*d+15*a)},Ny:function(a,b,c,d){d=(a/=d)*a;const e=d*a;return b+c*(56*e*d+-175*d*d+200*e+-100*d+20*a)},xy:function(a,b,c,d){d=(a/=d)*a;a*=d;return b+c*(33*a*d+-59*d*d+32*a+-5*d)},wy:function(a,b,c,d){d=(a/=d)*a;a*=d;return b+c*(56*a*d+-105*d*d+60*a+-10*d)},Ky:function(a,
456
+ b,c,d){return(a/=d)<1/2.75?7.5625*c*a*a+b:a<2/2.75?c*(7.5625*(a-=1.5/2.75)*a+.75)+b:a<2.5/2.75?c*(7.5625*(a-=2.25/2.75)*a+.9375)+b:c*(7.5625*(a-=2.625/2.75)*a+.984375)+b},ty:function(a,b,c,d){a=d-a;d=(a/=d)<1/2.75?7.5625*c*a*a:a<2/2.75?c*(7.5625*(a-=1.5/2.75)*a+.75):a<2.5/2.75?c*(7.5625*(a-=2.25/2.75)*a+.9375):c*(7.5625*(a-=2.625/2.75)*a+.984375);return c-d+b}};l=olympe.D.ea.prototype;l.toJSON.K=olympe.D.J.C;l.tm.K=olympe.D.J.C;l.isNaN.K=olympe.D.J.O;l.Xc.K=olympe.D.J.F;
457
+ l.toString.K=new olympe.D.J(()=>String,[]);l.toFixed.K=new olympe.D.J(()=>String,[]);l.Gd.K=new olympe.D.J(()=>olympe.D.ea,[0]);l.Og.K=new olympe.D.J(()=>olympe.D.ea,[0]);l.round.K=olympe.D.J.G;l.Ri.K=olympe.D.J.G;l.$j.K=new olympe.D.J(()=>olympe.D.ea,[0]);l.ri.K=new olympe.D.J(()=>olympe.D.ea,[0]);l.Fw.K=new olympe.D.J(()=>olympe.D.ea,[0]);l.floor.K=olympe.D.J.G;l.ceil.K=olympe.D.J.G;l.trunc.K=olympe.D.J.G;l.log.K=olympe.D.J.G;l.pow.K=new olympe.D.J(()=>olympe.D.ea,[0]);l.exp.K=olympe.D.J.G;
458
+ l.yd.K=new olympe.D.J(()=>olympe.D.fa,[0]);l.Jb.K=olympe.D.J.C;l.valueOf.K=olympe.D.J.C;l.Ev.K=olympe.D.J.C;l.gm.K=new olympe.D.J(()=>olympe.D.fa,[0]);l.hx.K=new olympe.D.J(()=>olympe.D.ea,[0]);l.Hq.K=new olympe.D.J(()=>olympe.D.ea,[0]);l.sw.K=new olympe.D.J(()=>olympe.D.fa,[0]);l.sin.K=olympe.D.J.G;l.cos.K=olympe.D.J.G;l.atan2.K=new olympe.D.J(()=>olympe.D.ea,[0]);l.abs.K=olympe.D.J.G;l.Hi.K=new olympe.D.J(()=>olympe.D.ea,[0,1]);olympe.D.Oa=class{constructor(a){this.value=a}toJSON(){return'{ "type": "string", "value": '+JSON.stringify(this.value)+' }'}static $b(a){let b;'string'===typeof a?b=JSON.parse(a):b=a;return olympe.D.sb(b.value)}Tp(a){return olympe.D.Oa.concat(this,'.',a)}concat(...a){let b;Array.isArray(a[0])?b=a[0]:b=a;return olympe.D.ya([this,...b],(...c)=>{let d='';for(let e=0,f=c.length;e<f;e++)d=c[e]?d+c[e].valueOf():d+c[e];return olympe.D.sb(d)},olympe.D.Oa,'OString.concat')}Xc(){return this}Fx(a){return olympe.D.va(parseInt(this.value,
459
+ a))}Mq(){return olympe.D.va(parseFloat(this.value))}toString(){return this.value}valueOf(){return this.value.valueOf()}Jb(a){return this.value===(void 0===a||null===a?void 0:a.valueOf())}yd(a){return olympe.D.ya([this,a],(b,c)=>olympe.D.qc(c&&b.valueOf()===c.valueOf()),olympe.D.fa,'OString.oEquals')}kf(){return olympe.D.qc(!this.value||0===this.value.length)}contains(a){return olympe.D.ya([this,a],(b,c)=>olympe.D.qc((c instanceof olympe.D.Oa||'string'===typeof c)&&b.valueOf().includes(c.valueOf())),
460
+ olympe.D.fa,'OString.contains')}startsWith(a,b){return olympe.D.ya([this,a,b||0],(c,d,e)=>olympe.D.qc(c.valueOf().startsWith(d.valueOf(),e.valueOf())),olympe.D.fa,'OString.startsWith')}endsWith(a,b){return olympe.D.ya([this,a,b||-1],(c,d,e)=>{e=0<=e.valueOf()?e.valueOf():this.Yl().valueOf()+e.valueOf()+1;return olympe.D.qc(c.valueOf().endsWith(d.valueOf(),e))},olympe.D.fa,'OString.endsWith')}indexOf(a,b){return olympe.D.ya([this,a,b||0],(c,d,e)=>olympe.D.va(c.valueOf().indexOf(d.valueOf(),e.valueOf())),
461
+ olympe.D.ea,'OString.indexOf')}lastIndexOf(a,b){return olympe.D.ya([this,a,b||Infinity],(c,d,e)=>olympe.D.va(c.valueOf().lastIndexOf(d.valueOf(),e.valueOf())),olympe.D.ea,'OString.lastIndexOf')}slice(a,b){return olympe.D.ya([this,a,b],(c,d,e)=>olympe.D.sb(c.valueOf().slice(d.valueOf(),e?e.valueOf():void 0)),olympe.D.Oa,'OString.slice')}Yl(){return olympe.D.va(this.value.length)}threshold(a){return olympe.D.ya([this,a],(b,c)=>b.valueOf().length>=c.valueOf()?b:olympe.D.Oa.EMPTY,olympe.D.Oa,'OString.threshold')}toLowerCase(){return olympe.D.sb(this.value.toLowerCase())}toUpperCase(){return olympe.D.sb(this.value.toUpperCase())}trim(){return olympe.D.sb(this.value.trim())}padStart(a,
462
+ b){return olympe.D.ya([this,a,b],(c,d,e)=>olympe.D.sb(c.valueOf().padStart(d.valueOf(),e.valueOf())),olympe.D.Oa,'OString.padStart')}padEnd(a,b){return olympe.D.ya([this,a,b],(c,d,e)=>olympe.D.sb(c.valueOf().padEnd(d.valueOf(),e.valueOf())),olympe.D.Oa,'OString.padEnd')}replace(a,b){return olympe.D.ya([this,a,b],(c,d,e)=>olympe.D.sb(c.valueOf().replace(d.valueOf(),e.valueOf())),olympe.D.Oa,'OString.replace')}Cx(a,b){return olympe.D.ya([this,a,b],(c,d,e)=>olympe.D.sb(c.valueOf().substr(d.valueOf(),
463
+ e.valueOf())),olympe.D.Oa,'OString.subOStr')}static concat(...a){return olympe.D.sb('').concat(...a)}};olympe.D.Oa.EMPTY=new olympe.D.Oa('');olympe.D.Oa.ut=new olympe.D.Oa(' ');l=olympe.D.Oa.prototype;l.toJSON.K=olympe.D.J.C;l.Tp.K=new olympe.D.J(()=>olympe.D.Oa,[0,1]);l.concat.K=olympe.D.J.F;l.Xc.K=olympe.D.J.F;l.Fx.K=olympe.D.J.G;l.Mq.K=olympe.D.J.G;l.toString.K=olympe.D.J.C;l.valueOf.K=olympe.D.J.C;l.Jb.K=olympe.D.J.C;l.yd.K=new olympe.D.J(()=>olympe.D.fa,[0]);l.kf.K=olympe.D.J.O;
464
+ l.contains.K=new olympe.D.J(()=>olympe.D.fa,[0]);l.startsWith.K=new olympe.D.J(()=>olympe.D.fa,[0,1]);l.endsWith.K=new olympe.D.J(()=>olympe.D.fa,[0,1]);l.indexOf.K=new olympe.D.J(()=>olympe.D.ea,[0,1]);l.lastIndexOf.K=new olympe.D.J(()=>olympe.D.ea,[0,1]);l.slice.K=new olympe.D.J(()=>olympe.D.Oa,[0,1]);l.Yl.K=olympe.D.J.G;l.threshold.K=new olympe.D.J(()=>olympe.D.Oa,[0]);l.toLowerCase.K=olympe.D.J.F;l.toUpperCase.K=olympe.D.J.F;l.trim.K=olympe.D.J.F;l.padStart.K=olympe.D.J.F;l.padEnd.K=olympe.D.J.F;
465
+ l.replace.K=olympe.D.J.F;l.Cx.K=olympe.D.J.F;olympe.D.fa=class{constructor(a){this.value=a}toJSON(){return`{ "type": "boolean", "value": ${this.value.valueOf()}}`}static $b(a){let b;'string'===typeof a?b=JSON.parse(a):b=a;return b.value?olympe.D.fa.F:olympe.D.fa.C}and(a){if(void 0!==a)return olympe.D.Za(a)?olympe.D.Hd([a],b=>new olympe.D.fa(this.valueOf()&&b.valueOf()),olympe.D.fa,'and'):this.value&&a.valueOf()?olympe.D.fa.F:olympe.D.fa.C}Jb(a){return this.valueOf()===(void 0!==a?a.valueOf():void 0)}yd(a){if(void 0!==a)return olympe.D.Za(a)?
466
+ olympe.D.Hd([a],b=>new olympe.D.fa(this.valueOf()===b.valueOf()),olympe.D.fa,'oEquals'):this.Jb(a)?olympe.D.fa.F:olympe.D.fa.C}Qg(){return this.value?olympe.D.fa.C:olympe.D.fa.F}du(a){if(void 0!==a)return olympe.D.Za(a)?olympe.D.Hd([a],b=>new olympe.D.fa(!(this.valueOf()&&b.valueOf())),olympe.D.fa,'andNot'):this.value&&!a.valueOf()?olympe.D.fa.F:olympe.D.fa.C}or(a){if(void 0!==a)return olympe.D.Za(a)?olympe.D.Hd([a],b=>new olympe.D.fa(this.valueOf()||b.valueOf()),olympe.D.fa,'or'):this.value||a.valueOf()?
467
+ olympe.D.fa.F:olympe.D.fa.C}xor(a){return olympe.D.ya([this,a],(b,c)=>{b=b.valueOf();c=c.valueOf();return olympe.D.qc(b&&!c||!b&&c)},olympe.D.fa,'OBoolean.xor')}Su(){return this.value}kq(){return!0===this.value?olympe.D.ea.ONE:olympe.D.ea.ZERO}Xc(){return olympe.D.sb(this.toString())}toString(){return this.value?'true':'false'}valueOf(){return this.value}};olympe.D.fa.F=new olympe.D.fa(!0);olympe.D.fa.C=new olympe.D.fa(!1);l=olympe.D.fa.prototype;l.toJSON.K=olympe.D.J.C;
468
+ l.and.K=new olympe.D.J(()=>olympe.D.fa,[0]);l.Jb.K=olympe.D.J.C;l.yd.K=new olympe.D.J(()=>olympe.D.fa,[0]);l.Qg.K=olympe.D.J.O;l.du.K=new olympe.D.J(()=>olympe.D.fa,[0]);l.or.K=new olympe.D.J(()=>olympe.D.fa,[0]);l.xor.K=new olympe.D.J(()=>olympe.D.fa,[0]);l.Su.K=new olympe.D.J(()=>Boolean,[]);l.kq.K=olympe.D.J.G;l.Xc.K=olympe.D.J.F;l.toString.K=olympe.D.J.C;l.valueOf.K=olympe.D.J.C;function qb(a){return new olympe.D.ab(new Date(a))}
469
+ olympe.D.ab=class{constructor(a){this.mb=a}toJSON(){return'{ "type": "dateTime", "value": "'+this.mb.toJSON()+'" }'}static $b(a){let b;'string'===typeof a?b=JSON.parse(a):b=a;return new olympe.D.ab(new Date(b.value.valueOf()))}static now(){return new olympe.D.ab(new Date)}tq(){return this.mb&&!isNaN(this.mb.getTime())?olympe.D.fa.F:olympe.D.fa.C}Vr(){return olympe.D.va(this.mb.getMilliseconds())}Xr(){return olympe.D.va(this.mb.getSeconds())}Wr(){return olympe.D.va(this.mb.getMinutes())}Ur(){return olympe.D.va(this.mb.getHours())}dv(){return olympe.D.va(this.mb.getDate())}getMonth(){return olympe.D.va(this.mb.getMonth()+1)}Yr(){return olympe.D.va(this.mb.getFullYear())}getTime(){return this.mb.getTime()}yx(){var a=
470
+ olympe.D,b=a.sb;var c=this.mb.getDate();c=10>c?'0'+c:c;var d=this.mb.getMonth()+1;return b.call(a,`${c}.${10>d?'0'+d:d}.${this.mb.getFullYear()}`)}toLocaleString(a){return void 0===a||'string'===typeof a?olympe.D.sb(this.mb.toLocaleString(a)):olympe.D.ya([this,a],(b,c)=>olympe.D.sb(b.mb.toLocaleString(c.valueOf())),olympe.D.Oa)}toLocaleDateString(a){return void 0===a||'string'===typeof a?olympe.D.sb(this.mb.toLocaleDateString(a)):olympe.D.ya([this,a],(b,c)=>olympe.D.sb(b.mb.toLocaleDateString(c.valueOf())),
471
+ olympe.D.Oa)}toLocaleTimeString(a){return void 0===a||'string'===typeof a?olympe.D.sb(this.mb.toLocaleTimeString(a)):olympe.D.ya([this,a],(b,c)=>olympe.D.sb(b.mb.toLocaleTimeString(c.valueOf())),olympe.D.Oa)}Xc(){return olympe.D.sb(this.mb.toISOString())}Lq(){return new Date(this.getTime())}Ex(){return this}Gx(){return this}clone(){return new olympe.D.ab(new Date(this.mb.getTime()))}Cf(a,b){return olympe.D.ya([b],c=>{const d=this.clone();d.mb['set'+a](this.mb['get'+a]()+c.valueOf());return d},olympe.D.ab)}Ut(a){return this.Cf('Milliseconds',
472
+ a)}$t(a){return this.Cf('Seconds',a)}Vt(a){return this.Cf('Minutes',a)}Tt(a){return this.Cf('Hours',a)}El(a){return this.Cf('Date',a)}au(a){return'number'===typeof a?this.El(7*a):this.El(a.$j(7))}Wt(a){return this.Cf('Month',a)}bu(a){return this.Cf('FullYear',a)}Ax(){let a=this.mb.getDay();a=0===a?6:a-1;return new olympe.D.ab(new Date(this.mb.getFullYear(),this.mb.getMonth(),this.mb.getDate()-a))}Bx(){return new olympe.D.ab(new Date(this.mb.getFullYear(),this.mb.getMonth()))}yd(a){return olympe.D.ya([a],
473
+ b=>olympe.D.qc(this.Jb(b)),olympe.D.fa)}Jb(a){return a instanceof olympe.D.ab?this.getTime()===a.getTime()||isNaN(this.getTime())&&isNaN(a.getTime()):!1}wv(){let a=this.mb.getDay();0===a&&(a=7);return olympe.D.va(a)}jv(a,b){return olympe.D.ya([a,b],(c,d)=>{d=d.valueOf();'years'===d?c=this.mb.getFullYear()-c.mb.getFullYear():'months'===d?c=12*(this.mb.getFullYear()-c.mb.getFullYear())+(this.mb.getMonth()-c.mb.getMonth()):(d={milliseconds:1,seconds:1E3,minutes:6E4,hours:36E5,days:864E5,weeks:6048E5}[d],
474
+ void 0===d&&(olympe.ua.rb('df').warn("[getDiff] '_unit' is not a valid unit! Defaulting to milliseconds"),d=1),c=Math.trunc((this.mb.getTime()-c.mb.getTime())/d));return olympe.D.va(c)},olympe.D.ea)}pw(a){return olympe.D.ya([a],b=>olympe.D.qc(this.getTime()<b.getTime()),olympe.D.fa)}nw(a){return olympe.D.ya([a],b=>olympe.D.qc(this.getTime()>b.getTime()),olympe.D.fa)}qw(a,b){return olympe.D.ya([a,b],(c,d)=>olympe.D.qc(this.getTime()>c.getTime()&&this.getTime()<d.getTime()),olympe.D.fa)}valueOf(){return this.tq().valueOf()?
475
+ new Date(this.getTime()):(olympe.ua.rb('df').warn('Invalid datetime, returns Date(0).'),new Date(0))}};olympe.D.ab.C=qb(0);olympe.D.ab.F=qb(Number.NaN);l=olympe.D.ab.prototype;l.tq.K=olympe.D.J.O;l.Vr.K=olympe.D.J.G;l.Xr.K=olympe.D.J.G;l.Wr.K=olympe.D.J.G;l.Ur.K=olympe.D.J.G;l.dv.K=olympe.D.J.G;l.getMonth.K=olympe.D.J.G;l.Yr.K=olympe.D.J.G;l.getTime.K=olympe.D.J.C;l.yx.K=new olympe.D.J(()=>olympe.D.Oa,[0]);l.toLocaleString.K=olympe.D.J.F;l.toLocaleDateString.K=olympe.D.J.F;
476
+ l.toLocaleTimeString.K=olympe.D.J.F;l.Xc.K=olympe.D.J.F;l.Lq.K=olympe.D.J.C;l.Ex.K=new olympe.D.J(()=>olympe.D.ab,[]);l.Gx.K=new olympe.D.J(()=>olympe.D.ab,[]);l.Cf.K=new olympe.D.J(()=>olympe.D.ab,[]);l.Ut.K=new olympe.D.J(()=>olympe.D.ab,[]);l.$t.K=new olympe.D.J(()=>olympe.D.ab,[]);l.Vt.K=new olympe.D.J(()=>olympe.D.ab,[]);l.Tt.K=new olympe.D.J(()=>olympe.D.ab,[]);l.El.K=new olympe.D.J(()=>olympe.D.ab,[0]);l.au.K=new olympe.D.J(()=>olympe.D.ab,[]);l.Wt.K=new olympe.D.J(()=>olympe.D.ab,[]);
477
+ l.bu.K=new olympe.D.J(()=>olympe.D.ab,[0]);l.Ax.K=new olympe.D.J(()=>olympe.D.ab,[]);l.Bx.K=new olympe.D.J(()=>olympe.D.ab,[]);l.yd.K=olympe.D.J.O;l.Jb.K=olympe.D.J.C;l.wv.K=olympe.D.J.G;l.jv.K=new olympe.D.J(()=>olympe.D.ea,[0,1]);l.pw.K=new olympe.D.J(()=>olympe.D.fa,[0]);l.nw.K=new olympe.D.J(()=>olympe.D.fa,[0]);l.qw.K=new olympe.D.J(()=>olympe.D.fa,[0,1]);l.valueOf.K=olympe.D.J.C;const rb=new Map,sb=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i,tb=/^#?([a-f\d])([a-f\d])([a-f\d])([a-f\d])?$/i;function ub(a){const b=c=>{let d;c=c.valueOf();6>c.length?(d=17,c=tb.exec(c)):(d=1,c=sb.exec(c));c=c?c.slice(1).map(e=>parseInt(e,16)*d):[0,0,0];return olympe.D.Color.create(c[0],c[1],c[2],isNaN(c[3])?1:c[3]/255)};return olympe.D.mf(a)?olympe.D.Hd([a],b,olympe.D.Color):b(a)}
478
+ olympe.D.Color=class{constructor(a,b,c,d){this.C=olympe.D.va(void 0!==a?Math.min(255,Math.max(0,Math.round(a))):0);this.F=olympe.D.va(void 0!==b?Math.min(255,Math.max(0,Math.round(b))):0);this.b=olympe.D.va(void 0!==c?Math.min(255,Math.max(0,Math.round(c))):0);this.a=olympe.D.va(void 0!==d?Math.min(1,Math.max(0,d)):1)}toJSON(){return`{ "type": "color", "r": ${this.C.valueOf()}, "g": ${this.F.valueOf()}, "b": ${this.b.valueOf()}, "a": ${this.a.valueOf()} }`}static $b(a){let b;'string'===typeof a?b=
479
+ JSON.parse(a):b=a;return olympe.D.Color.create(b.r,b.g,b.b,b.a)}static create(a,b,c,d=1){return olympe.D.ya([a,b,c,d],(e,f,g,h)=>{e=olympe.D.va(void 0!==e?Math.min(255,Math.max(0,Math.round(e.valueOf()))):0);f=olympe.D.va(void 0!==f?Math.min(255,Math.max(0,Math.round(f.valueOf()))):0);g=olympe.D.va(void 0!==g?Math.min(255,Math.max(0,Math.round(g.valueOf()))):0);h=olympe.D.va(void 0!==h?Math.min(1,Math.max(0,h.valueOf())):1);for(let k of rb.values())if(k&&k.C.Jb(e)&&k.F.Jb(f)&&k.b.Jb(g)&&k.a.Jb(h))return k;
480
+ return new olympe.D.Color(e,f,g,h)},olympe.D.Color)}Jg(){return this.C}Dg(){return this.b}Hg(){return this.F}Cg(){return this.a}ku(a,b){return olympe.D.Color.create(this.C.Hi(a.Jg(),b),this.F.Hi(a.Hg(),b),this.b.Hi(a.Dg(),b),this.a.Hi(a.Cg(),b))}Iu(a){return olympe.D.Color.create(this.C,this.F,this.b,a)}Nq(){return`rgba(${this.C},${this.F},${this.b},${this.a})`}sm(){const a=(16777216|this.b|this.F<<8|this.C<<16).toString(16).slice(1),b=1===this.a.valueOf()?'':(256|255*this.a).toString(16).slice(1);
481
+ return'#'+(a+b).toUpperCase()}toString(){return this.sm()}Jb(a){return a instanceof olympe.D.Color?this.C.valueOf()===a.C.valueOf()&&this.F.valueOf()===a.F.valueOf()&&this.b.valueOf()===a.b.valueOf()&&this.a.valueOf()===a.a.valueOf():!1}};olympe.D.Color.prototype.equals=olympe.D.Color.prototype.Jb;olympe.D.Color.prototype.toHexString=olympe.D.Color.prototype.sm;olympe.D.Color.prototype.toRGBString=olympe.D.Color.prototype.Nq;olympe.D.Color.prototype.getAlpha=olympe.D.Color.prototype.Cg;
482
+ olympe.D.Color.prototype.getGreen=olympe.D.Color.prototype.Hg;olympe.D.Color.prototype.getBlue=olympe.D.Color.prototype.Dg;olympe.D.Color.prototype.getRed=olympe.D.Color.prototype.Jg;olympe.D.Color.create=olympe.D.Color.create;l=olympe.D.Color.prototype;l.toJSON.K=olympe.D.J.C;l.Jg.K=olympe.D.J.G;l.Dg.K=olympe.D.J.G;l.Hg.K=olympe.D.J.G;l.Cg.K=olympe.D.J.G;l.ku.K=new olympe.D.J(()=>olympe.D.Color,[]);l.Iu.K=new olympe.D.J(()=>olympe.D.Color,[]);l.Nq.K=new olympe.D.J(()=>String,[]);
483
+ l.sm.K=new olympe.D.J(()=>String,[]);l.Jb.K=olympe.D.J.C;olympe.D.File=class{ia(){}co(){}Vk(){}$l(){}Oj(){}Ul(){}Pj(){}Gq(){}};olympe.D.Yb=class{constructor(a,b){this.x=olympe.D.Fd(a);this.y=olympe.D.Fd(b)}toJSON(){return'{ "type": "vector2", "x": '+JSON.stringify(olympe.D.Ta(this.x).valueOf())+', "y": '+JSON.stringify(olympe.D.Ta(this.y).valueOf())+' }'}static $b(a){let b;'string'===typeof a?b=JSON.parse(a):b=a;return new olympe.D.Yb(b.x,b.y)}jw(){return this.x}wx(a){nb(this.x,a)}kw(){return this.y}xx(a){nb(this.y,a)}Zv(){return this.x.Hq(this.y)}Gd(a){return olympe.D.ya([this,a],(b,c)=>new olympe.D.Yb(b.x.Gd(c.x),b.y.Gd(c.y)),
484
+ olympe.D.Yb,'Vector2.plus')}Og(a){return olympe.D.ya([this,a],(b,c)=>new olympe.D.Yb(b.x.Og(c.x),b.y.Og(c.y)),olympe.D.Yb,'Vector2.minus')}Hw(a){return new olympe.D.Yb(this.x.$j(a),this.y.$j(a))}Cu(a){return new olympe.D.Yb(this.x.ri(a),this.y.ri(a))}Jw(){return new olympe.D.Yb(this.x.Ri(),this.y.Ri())}Du(a){return olympe.D.ya([this,a],(b,c)=>olympe.D.ya([b.x,b.y,c.x,c.y],(d,e,f,g)=>olympe.D.va(d*f+e*g),olympe.D.ea),olympe.D.ea)}length(){return olympe.D.ya([this.x,this.y],(a,b)=>olympe.D.va(Math.sqrt(a*
485
+ a+b*b)),olympe.D.ea)}Zr(){return olympe.D.ya([this.x,this.y],(a,b)=>{const c=Math.sqrt(a*a+b*b);return new olympe.D.Yb(a/c,b/c)},olympe.D.Yb)}floor(){return olympe.D.ya([this.x,this.y],(a,b)=>new olympe.D.Yb(Math.floor(a),Math.floor(b)),olympe.D.Yb)}ceil(){return olympe.D.ya([this.x,this.y],(a,b)=>new olympe.D.Yb(Math.ceil(a),Math.ceil(b)),olympe.D.Yb)}round(){return olympe.D.ya([this.x,this.y],(a,b)=>new olympe.D.Yb(Math.round(a),Math.round(b)),olympe.D.Yb)}Yt(a){return new olympe.D.Yb(this.x.Gd(a),
486
+ this.y.Gd(a))}Zt(a,b){return new olympe.D.Yb(this.x.Gd(a),this.y.Gd(b))}Xc(){return olympe.D.ya([this.x,this.y],(a,b)=>olympe.D.sb(`Vector2[${a.valueOf()}, ${b.valueOf()}]`),olympe.D.Oa)}toString(){return`Vector2[${L(this.x)}, ${L(this.y)}]`}Jb(a){return this===a?!0:!1}};l=olympe.D.Yb.prototype;l.toJSON.K=olympe.D.J.C;l.jw.K=olympe.D.J.G;l.wx.K=olympe.D.J.C;l.kw.K=olympe.D.J.G;l.xx.K=olympe.D.J.C;l.Zv.K=olympe.D.J.G;l.Gd.K=new olympe.D.J(()=>olympe.D.Yb,[0]);
487
+ l.Og.K=new olympe.D.J(()=>olympe.D.Yb,[0]);l.Hw.K=olympe.D.J.V;l.Cu.K=olympe.D.J.V;l.Jw.K=olympe.D.J.V;l.Du.K=new olympe.D.J(()=>olympe.D.ea,[0]);l.length.K=olympe.D.J.G;l.Zr.K=olympe.D.J.V;l.floor.K=olympe.D.J.V;l.ceil.K=olympe.D.J.V;l.round.K=olympe.D.J.V;l.Yt.K=olympe.D.J.V;l.Zt.K=olympe.D.J.V;l.Xc.K=olympe.D.J.F;l.toString.K=olympe.D.J.C;l.Jb.K=olympe.D.J.C;olympe.D.lg=class{constructor(){}Mb(){}cd(){}get(){}Fg(){}has(){}Zf(){}ld(){}gf(){}zc(){}Tf(){}forEach(){}jd(){}};olympe.D.lg.prototype.forEachCurrentValue=olympe.D.lg.prototype.jd;olympe.D.lg.prototype.forEach=olympe.D.lg.prototype.forEach;l=olympe.D.lg.prototype;l.has.K=olympe.D.J.O;l.Zf.K=olympe.D.J.C;l.ld.K=new olympe.D.J(()=>Object,[]);l.gf.K=new olympe.D.J(()=>String,[]);l.zc.K=olympe.D.J.G;l.Tf.K=olympe.D.J.C;l.forEach.K=new olympe.D.J(()=>{},[]);l.jd.K=olympe.D.J.C;olympe.D.ed=class extends olympe.D.lg{constructor(){super()}Dd(){}ff(){}Fe(){}ef(){}df(){}me(){}ui(){}zh(){}};olympe.D.ed.prototype.getCurrentAt=olympe.D.ed.prototype.me;olympe.D.ed.prototype.getAt=olympe.D.ed.prototype.df;olympe.D.ed.prototype.getCurrentKeyAt=olympe.D.ed.prototype.ef;olympe.D.ed.prototype.getKeyAt=olympe.D.ed.prototype.Fe;olympe.D.ed.prototype.getCurrentRank=olympe.D.ed.prototype.ff;olympe.D.ed.prototype.getRank=olympe.D.ed.prototype.Dd;l=olympe.D.ed.prototype;l.Dd.K=olympe.D.J.G;
488
+ l.ff.K=olympe.D.J.C;l.Fe.K=new olympe.D.J(()=>String,[]);l.ef.K=olympe.D.J.C;l.df.K=new olympe.D.J(()=>Object,[]);l.me.K=olympe.D.J.C;l.ui.K=olympe.D.J.C;l.zh.K=new olympe.D.J(()=>Array,[]);olympe.D.Kh=class{constructor(a,b){this.O=b||olympe.D.Ja();this.valueType=a||Object;this.values={};this.Xa=this.Ea=null;this.Rf=0;this.ca=Object.create(null);this.Zb=Object.create(null);this.size=0;this.L=null;this.O.onDestroy(()=>{const c=this.ca;if(c){const d=Object.keys(c),e=d.length;for(let f=0;f<e;f++){let g=c[d[f]],h=Object.keys(g);for(let k=h.length,m=0;m<k;m++)g[h[m]].hb()}}})}fh(){return this.O}Mb(){return this.valueType}cd(a){this.valueType=a;let b=this.Ea;if(null!==b)for(let c in b)Object.prototype.hasOwnProperty.call(b,
489
+ c)&&ib(b[c],a)}get(a){let b=c=>{null===this.Ea&&(this.Ea={});return this.xi(this.Ea,c,this.values[c],this.valueType,'Map.get('+c+')')};return olympe.D.ya([a],c=>b(c),this.valueType)}Fg(a){a=this.values[a];return olympe.D.Za(a)?Sa(a.Sa)?L(a):void 0:a}has(a){let b=c=>{null===this.Xa&&(this.Xa={});return this.xi(this.Xa,c,c in this.values?olympe.D.fa.F:olympe.D.fa.C,olympe.D.fa,'Map.has('+c+')')};return olympe.D.ya([a],c=>b(c),olympe.D.fa)}Zf(a){return a in this.values}xi(a,b,c,d,e){let f=a[b];f||this.O.run(()=>
490
+ {f=olympe.D.vd(d,void 0,e);a[b]=f;f.Sa.onDestroy(()=>delete a[b]);olympe.D.Za(c)?mb(f,c):jb(f,c)});return f}ld(){throw Error('Abstract method getFirstKey needs to be overridden');}gf(){throw Error('Abstract method getFirstKey needs to be overridden');}zc(){null===this.L&&this.O.run(()=>{this.L=olympe.D.vd(olympe.D.ea,olympe.D.va(this.size));this.L.Sa.onDestroy(()=>{this.L=null})});return this.L}Tf(){return this.size}forEach(a,b){let c=this.Al();a=this.Ep(c,a,b);this.zl(c,a)}Al(){return String(++this.Rf)}zl(a,
491
+ b){this.Zb[a]=b;olympe.D.Ja().Sc(()=>{let c=this.ca;for(let d in c)Object.prototype.hasOwnProperty.call(c,d)&&delete c[d][a];delete this.Zb[a]});this.jd(b)}Ep(a,b,c){let d=olympe.D.Ja();return(e,f)=>{d.run(()=>{let g=olympe.D.createNode(void 0,b,null,[e,f,this],null,`forEach-${a}-${f}`);if(void 0!==c)g.onDestroy(()=>{c(f)});this.Dl(a,f,g)})}}Dl(a,b,c){void 0===this.ca[b]&&(this.ca[b]={});this.ca[b][a]=c}jd(a){let b=this.values;for(let c in b)if(Object.prototype.hasOwnProperty.call(b,c)&&!1===a(b[c],
492
+ c,this))break}Lj(a,b){void 0!==this.values[a]&&this.ki(a,!0);this.values[a]=b;var c=this.Ea;null!==c&&void 0!==c[a]&&(b&&b instanceof olympe.D.Proxy?mb(c[a],b):jb(c[a],b));c=this.Xa;null!==c&&void 0!==c[a]&&nb(c[a],!0);this.size++;c=this.Zb;for(let d in c)if(Object.prototype.hasOwnProperty.call(c,d))c[d](b,a,this)}ki(a,b){let c=this.values;if(Object.prototype.hasOwnProperty.call(c,a)){var d=(d=c[a])&&d.ie?L(d):d;var e=this.Ea;null!==e&&void 0!==e[a]&&kb(e[a]);e=this.Xa;null!==e&&void 0!==e[a]&&nb(e[a],
493
+ !1);delete c[a];this.size--;b||this.af()}a=this.ca[a];if(void 0!==a)for(let f in a)Object.prototype.hasOwnProperty.call(a,f)&&a[f].hb();return d}af(){null!==this.L&&nb(this.L,this.size)}th(){let a,b;var c=this.Ea;if(null!==c)for(a in c)Object.prototype.hasOwnProperty.call(c,a)&&kb(c[a]);c=this.Xa;if(null!==c)for(a in c)Object.prototype.hasOwnProperty.call(c,a)&&nb(c[a],!1);for(a in this.values)Object.prototype.hasOwnProperty.call(this.values,a)&&delete this.values[a];for(a in this.ca)if(Object.prototype.hasOwnProperty.call(this.ca,
494
+ a))for(b in c=this.ca[a],c)Object.prototype.hasOwnProperty.call(c,b)&&c[b].hb();this.size=0;null!==this.L&&nb(this.L,this.size)}pg(){const a=this.values;let b='\n';for(let c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b+=a[c]+'\n');return b}};olympe.D.Kh.ka=[olympe.D.lg];l=olympe.D.Kh.prototype;l.fh.K=olympe.D.J.C;l.Mb.K=olympe.D.J.C;l.cd.K=olympe.D.J.C;l.get.K=new olympe.D.J(()=>Object,[],'valueType');l.Fg.K=olympe.D.J.C;l.has.K=olympe.D.J.O;l.Zf.K=olympe.D.J.C;l.xi.K=olympe.D.J.C;l.zc.K=olympe.D.J.G;
495
+ l.Tf.K=olympe.D.J.C;l.forEach.K=new olympe.D.J(()=>{},[]);l.Al.K=olympe.D.J.C;l.zl.K=olympe.D.J.C;l.Ep.K=olympe.D.J.C;l.Dl.K=olympe.D.J.C;l.jd.K=olympe.D.J.C;l.Lj.K=olympe.D.J.C;l.ki.K=olympe.D.J.C;l.af.K=olympe.D.J.C;l.th.K=olympe.D.J.C;l.pg.K=olympe.D.J.C;olympe.D.Ui=class extends olympe.D.Kh{constructor(a,b){super(a,b);this.F=Object.create(null);this.C=[];this.xa=this.Pa=this.fb=this.na=null}cd(a){super.cd(a);if(null!==this.xa)for(let b of this.xa.values())ib(b,a)}ld(){return this.df(0)}gf(){return this.Fe(0)}Dd(a){const b=c=>{null===this.fb&&(this.fb=Object.create(null));let d=this.ff(a);d=void 0!==d?olympe.D.va(d):void 0;return this.xi(this.fb,c,d,olympe.D.ea,`List.getRank(${c})`)};return olympe.D.Za(a)?K(olympe.D.createNode(olympe.D.ea,b,null,
496
+ [a.Sa],[0],'onResolved('+(b.name||'')+')')):b(a)}ff(a){return this.F[a]}Fe(a){const b=c=>{const d=c.valueOf(),e=this.ef(d);null===this.Pa&&(this.Pa=Object.create(null));return this.xi(this.Pa,String(d),e,String,'List.getKeyAt('+c+')')};return olympe.D.ya([a],c=>b(c),String)}ef(a){return this.C[a.valueOf()]}df(a){if(olympe.D.Za(a))return this.get(olympe.D.ya([a],c=>{c=this.Fe(c);if(!Sa(c.Sa)){const d=olympe.D.Ja();olympe.D.lf(d)&&bb(d)}return c},String));null===this.xa&&(this.xa=new Map);let b=this.xa.get(a);
497
+ b||this.O.run(()=>{b=this.get(this.Fe(a));this.xa.set(a,b);b.Sa.onDestroy(()=>this.xa.delete(a))});return b}me(a){return this.Fg(this.ef(a))}ui(a,b,c,d){let e=this.Al();a=this.wq(e,a,b,c,d);this.zl(e,a)}wq(a,b,c,d,e){return olympe.D.Ja().vb((f,g)=>{let h=!1,k=olympe.D.Wd([b,c,this.Dd(g)],(m,n,p)=>{p>=m&&p<m+n?h||(d(f,g,this),h=!0):h&&(e(g),h=!1)});if(void 0!==e)k.onDestroy(e.bind(null,g));this.Dl(a,g,k)})}zh(){null===this.na&&this.O.run(()=>{this.na=olympe.D.vd(Array,this.C.filter(a=>void 0!==a));
498
+ this.na.Sa.onDestroy(()=>{this.L=null})});return this.na}jd(a){if(this.C.length!==this.size)super.jd(a);else{var b=this.values;for(let c of this.C.filter(d=>void 0!==d))if(Object.prototype.hasOwnProperty.call(b,c)&&!1===a(b[c],c,this))break}}Cl(a,b){const c=this.fb,d=this.Pa,e=this.F[a],f=b.valueOf();if(e!==f||this.C[e]!==a){var g=this.C[f];void 0!==g&&delete this.F[g];void 0!==e&&null!==e&&this.C[e]===a&&(this.C[e]=void 0);this.F[a]=f;this.C[f]=a;null!==c&&(void 0!==g&&void 0!==c[g]&&kb(c[g]),void 0!==
499
+ c[a]&&jb(c[a],olympe.D.va(f)));null!==d&&(void 0!==e&&null!==e&&void 0!==d[e]&&kb(d[e]),void 0!==d[b]&&jb(d[b],a))}}Bl(a){var b=this.Pa,c=this.F[a];null!==c&&void 0!==c&&null!==b&&(b=b[c],void 0!==b&&L(b)===a&&kb(b));delete this.F[a];this.C.splice(c,1);c=this.fb;null!==c&&void 0!==c[a]&&kb(c[a])}Fp(){if(null!==this.na){const a=this.C,b=L(this.na);b&&a.join(',')!==b.join(',')&&jb(this.na,a)}}af(){this.Fp();super.af()}th(){var a=this.F;for(b in a)delete a[b];this.C.length=0;a=this.fb;if(null!==a)for(b in a)kb(a[b]);
500
+ a=this.Pa;if(null!==a)for(b in a)kb(a[parseInt(b,10)]);var b=this.na;null!==b&&($a(b.Sa),jb(b,this.C));return olympe.D.Kh.prototype.th.call(this)}pg(){const a=this.values,b=this.F;let c='[\n';for(let d in a)Object.prototype.hasOwnProperty.call(a,d)&&(c+=`${b[d]}. ${a[d]}\n`);return c+']'}};olympe.D.Ui.ka=[olympe.D.ed];l=olympe.D.Ui.prototype;l.cd.K=olympe.D.J.C;l.ld.K=new olympe.D.J(()=>Object,[]);l.gf.K=new olympe.D.J(()=>String,[]);l.Dd.K=olympe.D.J.G;l.ff.K=olympe.D.J.C;
501
+ l.Fe.K=new olympe.D.J(()=>String,[]);l.ef.K=olympe.D.J.C;l.df.K=new olympe.D.J(()=>Object,[]);l.me.K=olympe.D.J.C;l.ui.K=new olympe.D.J(()=>{},[]);l.wq.K=olympe.D.J.C;l.zh.K=new olympe.D.J(()=>Array,[]);l.jd.K=olympe.D.J.C;l.Cl.K=olympe.D.J.C;l.Bl.K=olympe.D.J.C;l.Fp.K=olympe.D.J.C;l.af.K=olympe.D.J.C;l.th.K=olympe.D.J.C;l.pg.K=olympe.D.J.C;olympe.D.Map=class extends olympe.D.Kh{constructor(a){a===olympe.D.Proxy&&(a=Object);super(a);this.C=this.F=null}cd(a){a===olympe.D.Proxy&&(a=Object);null!==this.F&&ib(this.F,a);super.cd(a)}ld(){null===this.F&&this.Ll();return this.F}gf(){null===this.C&&this.Ll();return this.C}Ll(){this.fh().run(()=>{this.F=olympe.D.vd(this.Mb());this.C=olympe.D.vd(String);this.Qi(this.Ol())})}Ol(){const a=this.values;let b,c;for(b in a)if(Object.prototype.hasOwnProperty.call(a,b)){c=b;break}return c}Qi(a){if(void 0!==
502
+ a){const b=this.values[a];b&&b instanceof olympe.D.Proxy?mb(this.F,b):jb(this.F,b);jb(this.C,a)}else void 0!==L(this.F)&&(kb(this.F),kb(this.C))}set(a,b){this.Lj(a,b);1===this.size&&null!==this.C&&this.Qi(a);this.af()}remove(a){const b=this.ki(a);null!==this.C&&L(this.C)===a&&this.Qi(this.Ol());return b}clear(){this.th();null!==this.C&&this.Qi(void 0)}};l=olympe.D.Map.prototype;l.cd.K=olympe.D.J.C;l.ld.K=new olympe.D.J(()=>Object,[]);l.gf.K=new olympe.D.J(()=>String,[]);l.Ll.K=olympe.D.J.C;
503
+ l.Ol.K=olympe.D.J.C;l.Qi.K=olympe.D.J.C;l.set.K=olympe.D.J.C;l.remove.K=new olympe.D.J(()=>Object,[]);l.clear.K=olympe.D.J.C;olympe.D.Vh=class extends olympe.D.Ui{constructor(a){super(a)}set(a,b,c){this.Lj(a,b);void 0!==c&&olympe.D.rc([c],d=>{this.Cl(a,d)});this.af()}remove(a){this.Bl(a);return this.ki(a)}clear(){this.th()}};olympe.D.Vh.prototype.remove.K=olympe.D.J.C;olympe.D.Vh.prototype.clear.K=olympe.D.J.C;olympe.D.Sq=class extends olympe.D.dj{constructor(a,b){super(olympe.D.ea,'animatedFlowSource');this.duration=a;this.C=b||olympe.D.ea.hn.lo}yb(){return olympe.D.Ow(this.node,this.duration,this.C,void 0)}};let vb=null;olympe.D.N=void 0;olympe.D.om=void 0;olympe.D.vh=void 0;olympe.D.sh=new Map;olympe.D.sh.set(0,olympe.D.ea.ZERO);olympe.D.sh.set(1,olympe.D.ea.ONE);olympe.D.sh.set(2,olympe.D.ea.Jt);olympe.D.Kj=new Map;olympe.D.Kj.set('',olympe.D.Oa.EMPTY);olympe.D.Kj.set(' ',olympe.D.Oa.ut);olympe.D.createNode=function(a,b,c,d,e,f,g,h){return new olympe.D.Node({valueType:a,nd:b,qf:c,fm:d,debug:g,Nf:e,hd:f,ni:h})};olympe.D.lf=function(a){return!!(a&&a instanceof olympe.D.Node)};
504
+ olympe.D.vd=function(a,b,c){a=olympe.D.createNode(a,void 0,void 0,void 0,void 0,c);olympe.D.lf(b)?cb(a,b):olympe.D.Za(b)?cb(a,b.Sa):J(a,b);return K(a)};olympe.D.Za=function(a){return!(!a||!a.ie)};olympe.D.mf=function(a){return!(!a||!(a instanceof olympe.D.Node||a.ie))};olympe.D.hm=function(a){return olympe.D.lf(a)||a instanceof olympe.D.kc||a instanceof olympe.D.Yo};olympe.D.Dh=function(a){return a instanceof olympe.D.dj};
505
+ olympe.D.ck=function(a,b){if(void 0!==a){olympe.D.Dh(a)&&(a=a.yb().Sa);if(!olympe.D.mf(a))return b(a);var c=[];olympe.D.Za(a)?c.push(a.Sa):c.push(a);return olympe.D.createNode(void 0,b,null,c,[0],'onResolved')}};olympe.D.Ta=function(a,b){let c=a;olympe.D.Za(a)?c=L(a):olympe.D.lf(a)?c=a.Jc:olympe.D.Dh(a)&&(c=L(a.yb()));return void 0===c?b:c};olympe.D.Je=function(a,b){let c;olympe.D.Za(a)?c=a.Sa:olympe.D.lf(a)?c=a:olympe.D.Dh(a)&&(c=a.yb().Sa);c&&olympe.D.rc([b],d=>{c.Je(d)},'setDefaultValue');return a};
506
+ olympe.D.Wd=function(a,b,c,d){const e=a.length,f=Array(e),g=[];let h;for(let k=0;k<e;k++)h=a[k],void 0!==h&&null!==h&&(void 0!==h.Cp?(h=h.Sa,g.push(k)):h instanceof olympe.D.Node?g.push(k):olympe.D.Dh(h)&&(h=h.yb().Sa,g.push(k))),f[k]=h;return olympe.D.createNode(c,b,null,f,g,d||'syncNodes')};olympe.D.Hd=function(a,b,c,d){return K(olympe.D.Wd(a,b,c,d||'syncProxies'))};const wb=a=>{for(const b of a)if(olympe.D.mf(b)||olympe.D.Dh(b))return!1;return!0};
507
+ olympe.D.ya=function(a,b,c,d,e){if(wb(a))return b(...a);const f=olympe.D.Wd(a,b,c,d||'TransformFlows');e&&olympe.D.rc([e],g=>{f.Je(g)},'setDefaultValue');return K(f)};olympe.D.rc=function(a,b,c){wb(a)?b(...a):olympe.D.Wd(a,b,void 0,c||'processFlows')};olympe.D.Eq=function(a,b){if(wb(a))b(...a);else{const c=olympe.D.Ja();olympe.D.Wd(a,(...d)=>{olympe.D.Ja().hb();c.run(b,...d)},void 0,'processFlowsOnce')}};
508
+ olympe.D.nm=function(a,b,c){const d=a.length,e=Array(d),f=[];let g;for(let h=0;h<d;h++)g=a[h],void 0!==g&&null!==g&&(olympe.D.Za(g)?(g=g.Sa,f.push(h)):g instanceof olympe.D.Node?f.push(h):olympe.D.Dh(g)&&(g=g.yb().Sa,f.push(h))),e[h]=g;0!==f.length&&new olympe.D.Node({nd:b,fm:e,Nf:f,cx:!1,hd:c})};olympe.D.eC=function(a,b,c){const d=olympe.D.Ja();olympe.D.nm(a,(...e)=>{olympe.D.Ja().hb();d.run(b,...e)},c||'processFutureFlowsOnce')};olympe.D.yB=function(a,b,c){a=new olympe.D.dj(a,c);b(a);return a.yb()};
509
+ olympe.D.Ic=function(a,b='flowSource'){return new olympe.D.dj(a,b)};olympe.D.iC=function(a,b,c,d){const e=olympe.D.Ja();olympe.D.Wd(a,(...f)=>{olympe.D.Ja().hb();e.run(b,...f)},c,d||'syncProxiesOnce')};olympe.D.Uj=function(a,b,c){olympe.D.ya([a],d=>d.valueOf()?b.apply(null,void 0):c&&c.apply(null,void 0),Object,'If')};olympe.D.DB=function(a,b,...c){return a?a.run(b,...c):b(...c)};olympe.D.pC=function(a){return olympe.D.Ja().vb(a)};olympe.D.BB=function(a,b,c){olympe.D.Eu(a?a.Sa:a,b,c)};
510
+ olympe.D.Eu=function(a,b,c){if(a){var d=a.da();null===vb&&(vb={});if(vb[d])olympe.D.N.log(`Already started node #${d} dump`+(b?`: ${b}`:''));else{vb[d]=!0;var e=`Starting node #${d} dump`+(b?`: ${b}`:'');c?olympe.D.N.warn(e):olympe.D.N.log(e);var f=`#${d}`+(b?`: ${b}`:'')+':';c=olympe.D.createNode(null,g=>{void 0===g?olympe.D.N.log(f,'undefined'):null===g?olympe.D.N.log(f,'null'):olympe.D.N.log(f,String(g))},null,[a],[0],'DataFlowDump');a.onDestroy(()=>{olympe.D.N.log(`Node #${d} destroyed`+(b?`: ${b}`:
511
+ ''))});c.onDestroy(()=>{delete vb[d]})}}else olympe.D.N.log('NOT starting node dump, node is '+String(a))};olympe.D.AB=function(){let a='',b=olympe.D.Ja();for(;null!==b;)a+=b.Qj()+' --\x3e ',b=b.getParent();olympe.D.N.log(a)};
512
+ olympe.D.va=function(a){if(void 0===a)return olympe.D.ea.ZERO;if(a instanceof olympe.D.ea)return a;a&&a.valueOf&&(a=a.valueOf());if('number'===typeof a){if(isNaN(a))return olympe.D.ea.uo;if(a===Math.PI)return olympe.D.ea.PI;if(Infinity===a)return olympe.D.ea.Nr;if(-Infinity===a)return olympe.D.ea.Ms;if(isNaN(a))var b=!1;else b=parseFloat(a),b=(b|0)===b;return b&&-1<=a&&100>=a?(olympe.D.sh.has(a)||olympe.D.sh.set(a,new olympe.D.ea(a)),olympe.D.sh.get(a)):new olympe.D.ea(a)}return null};
513
+ olympe.D.Fd=function(a){return void 0===a?olympe.D.vd(olympe.D.ea):olympe.D.vd(olympe.D.ea,olympe.D.mf(a)?a:olympe.D.va(a))};olympe.D.Ow=olympe.D.ea.animate;olympe.D.XB=function(a,b){return new olympe.D.Sq(a,b)};olympe.D.sb=function(a){if(a instanceof olympe.D.Oa)return a;a instanceof Object&&(a=a.valueOf());const b=typeof a;if('string'===b||'number'===b||'boolean'===b)return a=String(a),olympe.D.Kj.has(a)?olympe.D.Kj.get(a):new olympe.D.Oa(a)};
514
+ olympe.D.bC=function(a){return void 0===a?olympe.D.vd(olympe.D.Oa):olympe.D.vd(olympe.D.Oa,olympe.D.mf(a)?a:olympe.D.sb(a))};olympe.D.qc=function(a){return a instanceof olympe.D.fa?a:void 0!==a&&null!==a&&a.valueOf()?olympe.D.fa.F:olympe.D.fa.C};olympe.D.Zw=function(a){return void 0===a?olympe.D.vd(olympe.D.fa):olympe.D.vd(olympe.D.fa,olympe.D.mf(a)?a:olympe.D.qc(a))};olympe.D.Pw=function(a){if(a instanceof Date)return new olympe.D.ab(a)};
515
+ olympe.D.aC=function(a){return olympe.D.vd(olympe.D.ab,void 0!==a?new olympe.D.ab(a):null)};olympe.D.sq=a=>a instanceof olympe.D.fa||a instanceof olympe.D.ea||a instanceof olympe.D.Oa||a instanceof olympe.D.ab;olympe.D.cC=function(a,b){return olympe.D.vd(olympe.D.Yb,void 0===a&&void 0===b?void 0:new olympe.D.Yb(a,b))};olympe.D.Yw=function(a,b,c,d){let e;void 0!==a&&(a instanceof olympe.D.Color?e=a:e=olympe.D.Color.create(a,b,c,d));return olympe.D.vd(olympe.D.Color,e)};olympe.D.$B=olympe.D.Yw;
516
+ olympe.D.vu=function(a){olympe.D.N=a;olympe.D.vh=olympe.D.Vf()};olympe.D.Vf=function(){olympe.D.om||(olympe.D.om=new olympe.D.Yo);return olympe.D.om};olympe.D.Ja=function(){olympe.D.vh||(olympe.D.vh=olympe.D.Vf());return olympe.D.vh};olympe.D.Iq=function(a){const b=olympe.D.vh;olympe.D.hm(a)&&(olympe.D.vh=a);return b||null};
517
+ olympe.D.$b=a=>{a='string'===typeof a?JSON.parse(a):a;if(a.type){let b=null;switch(a.type){case 'dateTime':b=olympe.D.ab.$b(a);break;case 'number':b=olympe.D.ea.$b(a);break;case 'string':b=olympe.D.Oa.$b(a);break;case 'vector2':b=olympe.D.Yb.$b(a);break;case 'color':b=olympe.D.Color.$b(a);break;case 'boolean':b=olympe.D.fa.$b(a)}return b}return null};function xb(a){a.C.Kb()||(a.G.forEach(b=>{b.hb()}),a.G.clear(),a.F.clear(),a.size.clear(),a.O.clear(),a.V.length=0,a.L.length=0)}
518
+ olympe.D.fA=class{constructor(){this.C=new olympe.D.kc('Slot Manager context');this.G=new Map;this.C.run(()=>{this.F=olympe.D.Ic(yb,'Last slot manager entry');this.size=ob(olympe.D.Ic(olympe.D.ea,'SlotManager size').repeat(this.F.yb().Wl()),olympe.D.ea.ZERO);this.O=ob(olympe.D.Ic(olympe.D.ea,'last valid slots'),olympe.D.va(-1))});this.V=[];this.L=[];this.C.onDestroy(()=>{xb(this)})}zc(){return this.size.yb()}};
519
+ class yb{constructor(a,b,c,d){this.id=a;this.F=new olympe.D.kc('Slot manager entry');this.L=c;this.O=d;this.F.run(()=>{const e=ob(olympe.D.Ic(olympe.D.ea),olympe.D.ea.ZERO);olympe.D.Za(b)?e.repeat(b):e.update(b);this.C=olympe.D.Ic(olympe.D.ea);this.G=this.C.yb().Gd(e.yb())});this.next=null}da(){return this.id}cw(){return this.C.yb()}Wl(){return this.G}Dd(){return this.L}ow(){return this.O}Jx(a){this.L=a}rx(a){null===a?this.C.update(olympe.D.ea.ZERO):(this.C.repeat(a.Wl()),a.next=this)}$r(){this.C.clear();
520
+ this.next=null}hb(){this.F.hb();this.G=this.C=this.next=null}}l=yb.prototype;l.da.K=olympe.D.J.C;l.cw.K=new olympe.D.J(()=>olympe.D.ea);l.Wl.K=new olympe.D.J(()=>olympe.D.ea);l.Dd.K=olympe.D.J.C;l.ow.K=olympe.D.J.C;l.Jx.K=olympe.D.J.C;l.rx.K=olympe.D.J.C;l.$r.K=olympe.D.J.C;l.hb.K=olympe.D.J.C;olympe.D.T={Ha:'df.Logger'};olympe.U.Ib(a=>{D(a,olympe.D.Z.vo,Number.POSITIVE_INFINITY);B(a,olympe.D.T.Ha,[olympe.ua.T.ta],b=>b.Gc('df'))},'olympe.df');olympe.U.run([olympe.D.T.Ha],a=>{olympe.D.vu(a)},'olympe.df');olympe.async={};function zb(a,b){0<=b&&(a.timeout=b)}function Ab(a,b){a.L||a.na.push(a.G.vb(b))}
521
+ olympe.async.rn=class{constructor(a,b=void 0===a){this.C=[];this.na=[];this.G=a||new olympe.D.kc('Async executor context');this.Ea=b;this.F=null;this.O=new Map;this.O.set('Executor',this);this.L=this.V=!1;this.N=null;this.ca=this.timeout=0}rb(){return this.N}add(a){this.L||this.C.push(this.G.vb(a));return this}start(){this.V||(this.N&&this.N.log('Executor started.'),this.V=!0,0<this.timeout&&(this.ca=setTimeout(()=>{this.F='Timeout expired.';this.ca=0;this.complete(!1)},this.timeout)))}clear(){this.C=
522
+ [];this.na=[];this.O.clear();this.Ea&&this.G.hb()}complete(a){if(!this.L){this.L=!0;this.ca&&(clearTimeout(this.ca),this.ca=0);this.N&&this.N.log(a?'Executor completed successfully':`Executor completed with error: ${this.F}`);for(const b of this.na)b(a,a?null:this.F,this.O);this.clear()}}};
523
+ function Bb(a){if(0<a.C.length){const b=a.C.shift();a.N&&a.N.log(`Executing next task. ${a.C.length} tasks left in the pipeline.`);a.G.run(()=>{b(()=>{Promise.resolve().then(()=>{Bb(a)})},c=>{c&&(a.F=c);a.complete(!1)},a.O)})}else a.complete(!0)}olympe.async.di=class extends olympe.async.rn{static create(){return new olympe.async.di(new olympe.D.kc('SequencedExecutor'),!0)}start(){this.V||(super.start(),Bb(this))}};
524
+ olympe.async.Ff=class extends olympe.async.rn{constructor(a,b){super(a,b);this.ja=0;this.xa=!0}static create(){return new olympe.async.Ff(new olympe.D.kc('ParallelExecutor'),!0)}run(a){this.N&&this.N.log('Starting a task');this.G.run(()=>{a(()=>{this.done()},b=>{this.xa=!1;b&&(this.F=this.F?`${this.F}. ${b}`:b);this.done()},this.O)})}add(a){super.add(a);this.V&&!this.L&&(this.ja++,this.run(a));return this}done(){this.ja--;0>=this.ja&&this.complete(this.xa)}start(){if(!this.V)if(super.start(),0<this.C.length){this.ja=
525
+ this.C.length;for(const a of this.C)this.run(a)}else this.complete(!0)}};olympe.Ub={};olympe.Ub.xs=class{constructor(){}set(){}get(){}forEach(){}remove(){}clear(){}close(){}};olympe.Ub.ws=class{constructor(){}C(){}};olympe.Ub.Storage=class{G(){}O(){}write(){}L(){}F(){}C(){}close(){}};function Cb(a,b,c){a.storage.G(c)}function Db(a,b,c,d,e){a.storage.write(b,'transactions',c.toJSON(),'text/json',d,e)}function Eb(a,b){a.storage.L(b)}function Fb(a,b){a.storage.C(b)}function Gb(a,b,c,d,e,f){a.storage.write(b,'files',c,d,()=>{e('files/'+b)},f)}function Hb(a,b){a.storage.O(b)}olympe.Ub.pr=class{constructor(a){this.storage=a}};olympe.Ub.T={lj:'localStorage.KeyValueManager',bi:'localStorage.Storage',Ym:'localStorage.DatacloudStorage',Ha:'localStorage.Logger'};olympe.U.Ib(function(a){ra(a,olympe.Ub.T.lj);B(a,olympe.Ub.T.Ha,[olympe.ua.T.ta],function(b){return b.Gc('localstorage')});y(a,olympe.Ub.T.Ym,olympe.Ub.pr,olympe.Ub.T.bi)},'olympe.localstorage');olympe.aa={};olympe.aa.At=class{O(){}L(){}Ea(){}ca(){}Gh(){}Kg(){}lq(){}};function Ib(a){a.N.info('Initializing AUTH layer');if(a.xa&&a.storage&&a.O){const b=a.O.C(),c=olympe.$.lm(b).parameters;delete c[olympe.aa.Z.gi];Jb(a.storage,a.xa,d=>{d?a.O.redirect(b.replace(/\?[^?#]+/,''),c,olympe.aa.$h.C.Oe):a.N.error('Could not store auth.token')})}else a.N.debug('Asking to be notified when auth connector gets online'),a.F.O(()=>{if(a.Pa)if(a.L=olympe.aa.qa.G.Qq,a.N.log('Connector online, parameter auth.autoLogin=true --\x3e attempting to log with parameters'),a.ca){const b=new olympe.aa.Request;
526
+ b.set('username',a.ca);b.qm(a.fb);a.N.log('Autologin with user "'+a.ca+'"');Kb(a,b)}else a.N.error('autoLogin: auto user not specified.'),Lb(a);else a.L=olympe.aa.qa.G.gi,a.N.log('Connector online, attempting to log with token'),Mb(a)}),a.F.L(()=>{switch(olympe.D.Ta(a.G)){case olympe.aa.qa.C.hg:a.N.warn('Disconnected from server - session of user '+olympe.D.Ta(a.C.yb()).Rc()+' lost');break;case olympe.aa.qa.C.bh:a.N.warn('Disconnected from server - guest session lost');break;case olympe.aa.qa.C.Jh:a.N.warn('Disconnected from server - authentication aborted');
527
+ break;case olympe.aa.qa.C.INIT:a.N.warn('Cannot open auth session - no server connection');break;default:a.N.error('Should not get there, investigate')}Nb(a,olympe.aa.qa.C.Ne)});a.F.Ea((b,c)=>{if(b===olympe.aa.qa.F.Si)a.N.info('Authentication revoked'),Lb(a),a.storage&&Ob(a.storage),a.na.forEach(d=>{d(b,c)});else if(b===olympe.aa.qa.F.Qn)a.N.info('Redirection to IDP to invalidate token (SAML)'),a.storage&&Ob(a.storage),a.O.F();else throw Error(`Unknown logout step coming from server : ${b}`);});a.N.log('DONE initializing AUTH layer (waiting for connector to be online)')}
528
+ function Mb(a){null!==a.storage?(a.N.debug('Retrieving token from local storage'),a.storage.Ed(b=>{if(b){const d=new olympe.aa.Request;var c=b.Rc();d.set('username',c);b=b.hf();d.set('nonce',b);a.N.debug('Token found, trying login with',d);Kb(a,d,a.gb)}else a.N.debug('No token found, cannot perform auto login. Falling back in GUEST state'),Lb(a)})):(a.N.error('Cannot retrieve token: no storage configured, cannot perform auto login. Falling back in GUEST state'),Lb(a))}
529
+ function Nb(a,b){a.N.log('State change: ',Pb(a),'--\x3e',b);a.G.update(b)}function Lb(a){a.C.update(a.Ea);Nb(a,olympe.aa.qa.C.bh);a.N.info('Authenticated as guest')}function Pb(a){return olympe.D.Ta(a.G.yb())}function Qb(a){const b=olympe.aa.qa.C.hg,c=olympe.aa.qa.C.bh,d=olympe.aa.qa.C.Jh,e=olympe.D.Ic(olympe.D.fa,'auth.isOnline');olympe.D.rc([a.G],f=>{e.update(olympe.D.qc(f===b||f===c||f===d))},'Router is online');return e.yb()}
530
+ function Rb(a){const b=olympe.aa.qa.C.hg,c=olympe.aa.qa.C.bh;a=Pb(a);return a===b||a===c}function Sb(a){var b=olympe.public.Qa.get(),c='logoutCallback';void 0===c&&(c=olympe.$.Sf());b.na.set(c,a)}function Tb(a){return a.C.yb().hf()}function Ub(a,b,c,d=!1){b=b+c?':'+c.message:'';a.N.error(b);a.error.update(olympe.D.sb(b));Nb(a,olympe.aa.qa.C.wc);if(d)throw Error(b);}
531
+ function Kb(a,b,c,d){void 0===c&&(c=a.Xa);void 0===c&&Ub(a,'No authentication provider specified',null,!0);const e=a.zb.get(c);e||Ub(a,'Undefined authentication provider "'+c+'"',null,!0);d&&a.V.set('login',d);a.N.log('Sending authentication request using "'+c+'" for '+b);e.Ed(b,a.xb.bind(a));Nb(a,olympe.aa.qa.C.Jh)}function Vb(a,b,c){a.V.forEach(d=>{d(b,c)})}
532
+ olympe.aa.qa=class{constructor(a,b,c,d,e,f,g,h,k,m,n){this.N=a;this.F=b;this.storage=c;this.O=d;this.Xa=f;this.gb=g;this.Pa=void 0===h?!0:h;this.ca=k;this.fb=m;this.xa=n;this.zb=new Map;this.G=olympe.D.Ic(String).update(olympe.aa.qa.C.INIT);this.error=olympe.D.Ic(olympe.D.Oa);this.L=null;this.Ea=new olympe.aa.Xe('guest','0163d9653067b6237f62','e96e099c-55bb-4004-b0e8-bd76b6209218');this.C=olympe.D.Ic(olympe.aa.Xe).update(this.Ea);this.V=new Map;this.na=new Map;e.forEach(p=>{const q=p.ia();if(this.zb.has(q))throw Error('Provider "'+
533
+ q+'" has already been registered !');this.zb.set(q,p)});Ib(this)}getState(){return this.G.yb()}ja(){return this.error.yb()}Rc(){return this.C.yb().Rc()}Yf(){return this.C.yb().Yf()}yh(){return this.C.yb().yh()}Kg(a,b){this.F.Kg(a,olympe.D.Ta(Tb(this)),b)}jm(){this.N.debug('Sending logout');Ob(this.storage);this.F.ca(a=>{a?Ub(this,'Logout request rejected:',a):this.N.debug('Logout request acknowledged')})}Gh(){Pb(this)===olympe.aa.qa.C.hg&&this.F.Gh(a=>{a&&this.N.error('Was not able to send the auth keep alive message:',
534
+ a.message)})}xb(a,b){const c=null===this.L?olympe.aa.qa.G.Hs:this.L;this.L=null;a?(this.N.warn('Authentication rejected: '+a.message+'. Falling back into GUEST state'),Ob(this.storage),this.error.update(olympe.D.sb(a.message)),Lb(this),Vb(this,a,c)):(this.N.info('User '+b.Rc()+' (#'+b.Yf()+') successfully authenticated'),this.C.update(b),Nb(this,olympe.aa.qa.C.hg),Vb(this,a,c),this.storage&&Jb(this.storage,b));this.V.has('login')&&this.V.delete('login')}};
535
+ olympe.aa.qa.C={INIT:'init',Ne:'disconnected',bh:'guest',Jh:'authenticating',wc:'error',hg:'authenticated'};olympe.aa.qa.G={Hs:'manual',Qq:'auto',gi:'tokenOnFirstConnection'};olympe.aa.qa.F={Si:'accepted',Qn:'redirect'};olympe.aa.Zh=class{ia(){}Ed(){}};olympe.aa.Request=class{constructor(){this.C=new Map}set(a,b){olympe.D.rc([b],c=>{this.C.set(a.toLocaleLowerCase(),c.toString())})}get(a){(a=this.C.get(a.toLowerCase()))&&a.ie&&(a=L(a));return a?a.valueOf():a}Rc(){return this.get('username')}qm(a){this.set('password',a)}hf(){return this.get('nonce')}toString(){return this.Rc()+(this.hf()?' with nonce':'')+(this.get('password')?' with password':'')}};olympe.aa.Xe=class{constructor(a,b,c,d={}){this.L=a;this.Ke=b;this.F=c;this.G=d}Rc(){return this.L}Yf(){return this.Ke}hf(){return this.F}ij(){return this.G}yh(){return null}oa(){var a=olympe.$,b=a.Pp;var c=JSON.stringify({user:this.L,userTag:this.Ke,nonce:this.F,payload:this.G});c=olympe.$.xh().C(Ba(c));return b.call(a,c)}};l=olympe.aa.Xe.prototype;l.Rc.K=new olympe.D.J(()=>String,[]);l.Yf.K=new olympe.D.J(()=>String,[]);l.hf.K=new olympe.D.J(()=>String,[]);l.ij.K=new olympe.D.J(()=>Object,[]);
536
+ l.yh.K=new olympe.D.J(()=>String,[]);l.oa.K=new olympe.D.J(()=>String,[]);olympe.aa.jl=class extends olympe.aa.Xe{constructor(a,b,c,d){super(a,b,c,d)}yh(){return this.ij().access_token||null}};olympe.aa.Zo=class extends olympe.aa.Xe{constructor(a,b,c,d){super(a,b,c,d);this.C=null}yh(){return this.C}oa(){var a=olympe.$.xh(),b={user:this.Rc(),userTag:this.Yf(),nonce:this.hf(),payload:this.ij(),fullToken:this.C},c=olympe.$,d=c.Pp;b=JSON.stringify(b);a=a.C(Ba(b));return d.call(c,a)}};function Jb(a,b,c){const d=a.C.C('AUTH');d.set(a.key,'string'===typeof b?b:b.oa(),c);d.close()}function Ob(a){const b=a.C.C('AUTH');b.remove(a.key);b.close()}
537
+ olympe.aa.rp=class{constructor(a,b,c){this.C=a;this.N=b;this.key='OlympeToken-'+c.C}Ed(a){const b=this.C.C('AUTH');this.N.debug(`olympe.auth.TokenStorage: retrieve token with key ${this.key}`);b.get(this.key,c=>{let d=null;if(c)try{this.N.debug('olympe.auth.TokenStorage: Token retrieved successfully');{var e=JSON,f=e.parse;var g=Ca(olympe.$.xh().O(olympe.$.ju(c)));const h=f.call(e,g);if(h.fullToken){const k=new olympe.aa.Zo(h.user,h.userTag,h.nonce,h.payload);k.C=h.fullToken;d=k}else d=h.payload&&
538
+ h.payload.id_token?new olympe.aa.jl(h.user,h.userTag,h.nonce,h.payload):new olympe.aa.Xe(h.user,h.userTag,h.nonce,h.payload)}}catch(h){this.N.error('Error while unserializing token: ',h.message)}else this.N.debug('olympe.auth.TokenStorage: No token found');a(d)});b.close()}};olympe.aa.rp.C='OlympeToken';olympe.aa.$h=class{redirect(){}F(){}C(){}};olympe.aa.$h.C={Oe:'GET',kl:'POST'};olympe.aa.jk=class{constructor(a){this.C=a||'default'}};olympe.aa.zb={};olympe.aa.zb.Sb={};olympe.aa.zb.Sb.Wh=class{V(){}};olympe.aa.zb.Sb.te=class{ja(){}};olympe.aa.zb.Sb.ge=class{na(){}xa(){}};function Wb(a,b){return olympe.$.Ac(b+'-olympe-'+a.C[b])}olympe.aa.zb.hh=class{constructor(a){this.C=a}ia(){return'local'}Ed(a,b){const c=a.Rc();if(c){const d=a.get('password'),e=a.hf();a.C.delete('password');if(void 0!==e&&Wb(this,c)===e){b(null,new olympe.aa.Xe(c,'',Wb(this,c)));return}a=olympe.$.Ac(d||'');if(this.C[c]===a){b(null,new olympe.aa.Xe(c,'',Wb(this,c)));return}}b(Error('Invalid login'))}};olympe.aa.zb.hh.C='local';olympe.aa.zb.hh.ka=[olympe.aa.Zh];olympe.aa.zb.Wh=class{constructor(a,b){this.C=a;this.storage=b}ia(){return'localToken'}Ed(a,b){this.storage.Ed(c=>{this.C.V(a,(d,e)=>{b(d,e||c)})})}};olympe.aa.zb.Wh.C='localToken';olympe.aa.zb.Wh.ka=[olympe.aa.Zh];olympe.aa.zb.il=class{constructor(a,b){this.C=a;this.F=b}ia(){return'openID'}Ed(){const a=this.C.C();this.C.redirect(`${this.F}/auth?url=${a}`,null,olympe.aa.$h.C.Oe)}};olympe.aa.zb.il.C='openID';olympe.aa.zb.il.ka=[olympe.aa.Zh];olympe.aa.zb.te=class{constructor(a,b){this.F=a;this.C=b}ia(){return'saml'}Ed(a,b){this.F.ja(c=>{c?b(c):this.C.F()})}};olympe.aa.zb.te.C='saml';olympe.aa.zb.te.ka=[olympe.aa.Zh];olympe.aa.zb.ge=class{static vi(a,b){const c=new SRPClient,d=c.generateRandomSalt();return{username:a,login:a,salt:d,verifier:c.generateVerifier(d,a,b)}}constructor(a){this.C=a;this.N=olympe.ua.rb('auth')}ia(){return'srp'}Ed(a,b){const c=a.get('password');a.C.delete('password');this.N.debug('Sending SRP request');this.C.na(a,(d,e,f)=>{this.N.debug('Received Salt+B message');if(d)b(d);else{try{const g=new SRPClient;g.step1(a.Rc(),c);const h=g.step2(e,f);a.set('a',h.A);a.set('m1',h.M1)}catch(g){b(g);
539
+ return}this.N.debug('Sending SRP A+M (proof) message');this.C.xa(a,b)}})}};olympe.aa.zb.ge.C='srp';olympe.aa.zb.ge.ka=[olympe.aa.Zh];olympe.aa.T={ta:'auth.Manager',Ha:'auth.Logger',bi:'auth.Storage',Ti:'auth.appNameToken',wj:'auth.Redirector'};olympe.aa.ad={ta:'auth.ManagerConnector',jo:'auth.LocalTokenConnector',ge:'auth.SRPConnector',te:'auth.SAMLConnector'};olympe.aa.Z={Ak:'auth.defaultProvider',ko:'auth.localTokenProvider',xm:'auth.autoLogin',Bm:'auth.autoUser',ym:'auth.autoPassword',gi:'auth.token',vm:'auth.appToken'};
540
+ olympe.U.Ib(function(a){D(a,olympe.aa.Z.Ak,'srp');D(a,olympe.aa.Z.ko,'localToken');D(a,olympe.aa.Z.xm,!1);D(a,olympe.aa.Z.Bm,'');D(a,olympe.aa.Z.ym,'');D(a,olympe.aa.Z.gi,'');D(a,olympe.aa.Z.vm,'default');B(a,olympe.aa.T.Ha,[olympe.ua.T.ta],b=>b.Gc('auth'));y(a,olympe.aa.T.Ti,olympe.aa.jk,new olympe.U.ha(olympe.aa.Z.vm));y(a,olympe.aa.T.bi,olympe.aa.rp,olympe.Ub.T.lj,olympe.aa.T.Ha,olympe.aa.T.Ti);ra(a,olympe.aa.ad.ta);ra(a,olympe.aa.T.wj);B(a,olympe.aa.T.ta,[olympe.aa.T.Ha,olympe.aa.ad.ta,new olympe.U.uc(olympe.aa.T.bi,
541
+ olympe.U.Me.C.kh),new olympe.U.ha(olympe.aa.Z.Ak),new olympe.U.ha(olympe.aa.Z.ko),new olympe.U.ha(olympe.aa.Z.xm),new olympe.U.ha(olympe.aa.Z.Bm),new olympe.U.ha(olympe.aa.Z.ym),new olympe.U.ha(olympe.aa.Z.gi),new olympe.U.uc(olympe.aa.T.wj,olympe.U.Me.C.kh),new olympe.U.uc(olympe.aa.ad.jo,olympe.U.Me.C.kh),new olympe.U.uc(olympe.aa.ad.ge,olympe.U.Me.C.kh),new olympe.U.uc(olympe.aa.ad.te,olympe.U.Me.C.kh)],(b,c,d,e,f,g,h,k,m,n,p,q,r)=>{const t=[];p&&t.push(new olympe.aa.zb.Wh(p,d));q&&t.push(new olympe.aa.zb.ge(q));
542
+ r&&n&&t.push(new olympe.aa.zb.te(r,n));n&&c&&t.push(new olympe.aa.zb.il(n,c.lq()));if(0===t.length)throw Error('At least one provider is needed for auth to start');if(!t.map(v=>v.ia()).includes(e))throw Error('Default provider name'+e+'given by parameter'+olympe.aa.Z.Ak+'cannot be found');return new olympe.aa.qa(b,c,d,n,t,e,f,g,h,k,m)},!0)},'olympe.auth');olympe.U.run([olympe.aa.T.ta],a=>{olympe.aa.lc=()=>a});olympe.bb.node.aa={};olympe.bb.node.aa.Ao=class{redirect(){console.warn('Redirection n/a in Node.JS')}F(){console.warn('Redirection n/a in Node.JS')}C(){console.warn('Redirection n/a in Node.JS')}};olympe.bb.node.aa.Ao.ka=[olympe.aa.$h];olympe.U.Ib(a=>{y(a,olympe.aa.T.wj,olympe.bb.node.aa.Ao)},'olympe.native.node.auth');olympe.host={};const Xb=new Map,Yb=new Map;olympe.host.yo=class{static register(a,b,...c){Xb.set(a,b);0<c.length&&Yb.set(a,c)}static create(a,b,c,d){const e=Xb.get(a);if(void 0===e)throw Error('Undefined UI element type: '+a);a=Yb.get(a);return void 0!==a?new e(b,c,...a.map(f=>la(d,f))):new e(b,c)}};function Zb(a,b,c){a.N.debug('CREATE #',b,', type=',c);a.C.set(b,olympe.host.yo.create(c,b,a.N,a.L))}function $b(a,b,c,...d){const e=a.C.get(b);if(void 0!==e){a.N.L()<=olympe.ua.Cb.C.wf&&a.N.debug('CALL #'+b+', '+c+'('+Array.prototype.slice.call(d,0)+')');b=[];for(const f of d)if(void 0===f||null===f)b.push(f);else if(olympe.D.Za(f))b.push(a.C.get(f.Pt)||null);else if('function'===typeof f){const g=f,h=olympe.D.Ja();b.push((...k)=>{h.Kb()||g(...k)})}else b.push(f.valueOf());e[c].apply(e,b)}}
543
+ function ac(a){var b=olympe.host.je.Oc,c=olympe.host.je.xo.xp;++a.G;const d=a.G;Zb(a,d,c);const e=olympe.D.createNode(b,void 0,void 0,void 0,void 0,'Native('+d+')',!1,function(){var f=arguments.length-2;const g=Array.from({length:f}),h=[],k=arguments[f+1],m=d+'_'+k;this.F.has(m)&&this.F.get(m).hb();for(let n=0;n<f;n++){let p=arguments[n];olympe.D.Za(p)?(h.push(n),p=p.Sa):olympe.D.lf(p)&&h.push(n);g[n]=p}0===h.length?e.run(()=>{$b(this,d,k,...g)}):(f=olympe.D.createNode(void 0,(...n)=>{e.run(()=>{$b(this,
544
+ d,k,...n)})},void 0,g,h,'Native('+d+').'+k),this.F.set(m,f),f.onDestroy(()=>this.F.delete(m)));return null}.bind(a));e.Sc(a.O.bind(a,d));a=K(e);a.Pt=d;J(e,a);return a}olympe.host.qa=class{constructor(a,b){this.N=a;this.L=b;this.G=0;this.C=new Map;this.F=new Map;a.debug('Starting host manager')}rb(){return this.N}O(a){this.N.debug('DESTROY #',a);const b=this.C.get(a);this.C.delete(a);b.hb()}};olympe.host.sd=class{constructor(a){this.C=a;this.F=olympe.D.Ja()}G(){return this.C}Vd(){return this.C.Sa.Vd()||this.F.Vd()}Kb(){return this.C.Sa.Kb()}};olympe.host.sd.prototype.G.K=new olympe.D.J(()=>olympe.host.je.sd,[]);olympe.host.Cj=class{};olympe.host.Ok=class{constructor(){}};olympe.host.Ok.F=class{constructor(a,b,c=!1){this.name=a;this.value=b;this.C=c}ia(){return this.name}Jb(a){return this.ia()===a.ia()&&this.value===a.value&&this.C===a.C}};olympe.host.Ok.C=class{constructor(a,b,c){this.parameters=c}};function bc(a,b,c){var d=olympe.host.ne;const e=c||olympe.$.Rb(),f=new olympe.D.kc('onTimeout context');d.C.ca(b,e,()=>{f.Kb()||f.run(a);d.C.G(e)});return new olympe.host.Oc.G(d.C,e)}function cc(a){var b=olympe.host.ne;a=a instanceof olympe.host.Oc.G?a.da():a;b.C.G(a)}function dc(a,b,c){var d=olympe.host.ne;const e=c||olympe.$.Rb(),f=new olympe.D.kc('onInterval context');d.C.V(b,e,()=>{f.Kb()?d.C.F(e):f.run(a)});return new olympe.host.Oc.F(d.C,e)}
545
+ function ec(a){var b=olympe.host.ne;a=a instanceof olympe.host.Oc.F?a.da():a;b.C.F(a)}olympe.host.Oc=class{constructor(a){this.C=ac(a)}};olympe.host.Oc.C=class{constructor(a,b){this.ne=a;this.id=b}da(){return this.id}cancel(){}};olympe.host.Oc.L=class extends olympe.host.Oc.C{cancel(){this.ne.O(this.id)}};olympe.host.Oc.G=class extends olympe.host.Oc.C{cancel(){this.ne.G(this.id)}};olympe.host.Oc.F=class extends olympe.host.Oc.C{cancel(){this.ne.F(this.id)}};olympe.host.je={};olympe.host.je.sd=class{hb(){}};olympe.host.je.sd.prototype.destroy=olympe.host.je.sd.prototype.hb;olympe.host.je.xo={Rx:100,Tx:101,Sx:102,Vx:103,Ux:104,Qx:105,Uz:201,Sz:202,Pz:204,Xz:205,Oz:206,Rz:207,Vz:208,Yz:209,Zz:210,$z:211,Qz:212,Wz:218,Tz:219,aA:220,Nz:221,Mz:222,hA:300,iA:301,jA:302,nA:303,oA:304,pA:305,kA:310,lA:311,mA:312,rz:400,sz:401,uz:402,nz:450,fz:500,dz:501,iz:502,hz:503,ez:504,gz:505,IA:600,zA:601,DA:602,vA:603,wA:604,tA:605,yA:606,OA:607,GA:608,qA:609,uA:610,xA:611,FA:612,KA:613,rA:614,JA:615,EA:616,NA:617,AA:618,BA:619,CA:620,HA:630,sA:631,LA:632,MA:633,qB:700,UA:701,VA:702,
546
+ WA:703,YA:704,ZA:705,$A:706,XA:707,bB:708,aB:709,cB:710,gB:711,oB:712,dB:713,eB:714,hB:715,iB:716,kB:717,lB:718,nB:719,jB:720,mB:721,pB:722,fB:723,rB:724,sB:725,xp:800};olympe.host.je.Oc=class{O(){}ca(){}G(){}V(){}F(){}};olympe.host.T={jp:'host.System',On:'host.HistoryManager',$o:'host.Scheduler',Ha:'host.platform.Logger',ta:'host.Manager'};olympe.host.ne=null;olympe.U.Ib(function(a){ra(a,olympe.host.T.jp);ra(a,olympe.host.T.On);B(a,olympe.host.T.Ha,[olympe.ua.T.ta],function(b){return b.Gc('host')});y(a,olympe.host.T.ta,olympe.host.qa,olympe.host.T.Ha,olympe.U.T.vf);B(a,olympe.host.T.$o,[olympe.host.T.ta],b=>{null===olympe.host.ne&&(olympe.host.ne=new olympe.host.Oc(b));return olympe.host.ne},!0)},'olympe.host');
547
+ olympe.U.run([olympe.host.T.$o],a=>a,'olympe.host.scheduler');olympe.U.run([olympe.host.T.ta],a=>a,'olympe.host');olympe.bb.node.host={};olympe.bb.node.host.sd=function(a,b){this.N=b};olympe.bb.node.host.sd.prototype.constructor=olympe.bb.node.host.sd;olympe.bb.node.host.sd.prototype.hb=function(){};olympe.bb.node.host.sd.prototype.destroy=olympe.bb.node.host.sd.prototype.hb;olympe.bb.node.host.sd.prototype.rb=function(){return this.N};olympe.bb.node.host.sd.ka=[olympe.host.je.sd];olympe.bb.node.host.zo=class{constructor(a){this.N=a}uq(){this.N.error('No history manager implemented in Node')}};olympe.bb.node.host.zo.ka=[olympe.host.Ok];olympe.bb.node.host.Oc=class{constructor(){this.C={};this.L={}}hb(){}O(a){clearTimeout(this.C[a]);delete this.C[a]}ca(a,b,c){this.C[b]=setTimeout(c,a)}G(a){clearTimeout(this.C[a]);delete this.C[a]}V(a,b,c){this.L[b]=setInterval(c,a)}F(a){clearInterval(this.L[a]);delete this.L[a]}};olympe.host.yo.register(olympe.host.je.xo.xp,olympe.bb.node.host.Oc);olympe.bb.node.host.Oc.ka=[olympe.host.je.Oc];olympe.bb.node.host.Cj=class{constructor(a){this.N=a}};olympe.bb.node.host.Cj.ka=[olympe.host.Cj];olympe.U.Ib(function(a){pa(a,olympe.host.T.On,olympe.bb.node.host.zo,olympe.host.T.Ha);pa(a,olympe.host.T.jp,olympe.bb.node.host.Cj,olympe.host.T.Ha)},'olympe.native.node.host');olympe.Ca={};olympe.Ca.Vb={};olympe.Ca.Vb.Yh={kl:'POST',Oe:'GET',Jr:'HEAD',Lo:'PUT',DELETE:'DELETE',Ts:'OPTIONS',Xs:'PATCH'};olympe.Ca.Vb.ResponseType={Dj:'text',mk:'blob',ARRAY_BUFFER:'arraybuffer'};olympe.Ca.Vb.Headers={Wm:'Content-Type',by:'Content-Length'};olympe.Ca.Vb.cy={Yy:'text/html',JSON:'application/json',uB:'application/zip'};olympe.Ca.Vb.Ve={$q:0,fl:200,Qm:201,Si:202,Px:400,SA:401,Uy:403,pz:404,jz:405,Gz:500,st:503};function fc(a){return a.host&&encodeURI(a.host)}function gc(a){return encodeURI(a.path).replace(olympe.Ca.Ij.C,(b,c)=>'%'+c)}function hc(a){return void 0===a.G?443===a.port:a.G}olympe.Ca.Ij=class{constructor(a,b,c,d){this.host='localhost';this.port=80;this.path='';this.G=!1;void 0!==a&&(this.host=a);void 0!==b&&(this.port=b);void 0!==c&&(this.path=c.replace(/^\/+/,''));void 0!==d&&(this.G=d)}C(){return`${hc(this)?'wss':'ws'}://${fc(this)}:${this.port}/${gc(this)}`}toString(){return`${fc(this)}:${this.port}/${gc(this)}`}};
548
+ olympe.Ca.Ij.C=/%25([0-9a-f]{2})/i;olympe.Ca.WebSocket=class{constructor(){}send(){}close(){}xa(){}na(){}ja(){}};function ic(a,b,c,d){a=olympe.$.lm(a.valueOf());if(!a.host&&!a.path)return null;const e=a.scheme?a.scheme.includes('s'):!1;b=new olympe.Ca.Pk(a.host,a.port||(e?443:80),a.path||'',e,b,c,d,a.query||void 0);a.Oq&&(c=a.Oq.split(':'),2===c.length&&(c=olympe.$.xh().C(Ba(`${c[0]}:${c[1]}`)),jc(b,{Authorization:`Basic ${c}`})));return b}function kc(a){return void 0!==a.query?a.query.replace(/[^=&]+/g,b=>encodeURIComponent(b)):null}
549
+ function jc(a,b){for(let c in b)Object.prototype.hasOwnProperty.call(b,c)&&(a.headers[c]=b[c])}olympe.Ca.Pk=class extends olympe.Ca.Ij{constructor(a,b,c,d,e,f,g,h){super(a,b,c,d);this.method=void 0!==e?e:olympe.Ca.Vb.Yh.Oe;this.query=h;this.headers={};this.body=f;this.F=void 0!==g?g:olympe.Ca.Vb.ResponseType.Dj;this.key=null}C(){let a=kc(this);a=a?`?${a}`:'';return fc(this)?`${hc(this)?'https':'http'}://${fc(this)}:${this.port}/${gc(this)}${a}`:`${gc(this)}${a}`}toString(){return this.C()}};
550
+ olympe.Ca.Pk.Yh={kl:'POST',Oe:'GET',Jr:'HEAD',Lo:'PUT',DELETE:'DELETE',Ts:'OPTIONS'};olympe.Ca.Kr=class{constructor(a,b,c,d){this.data=a;this.status=void 0===b?200:b;this.statusText=void 0===c?'':c;this.headers=void 0===d?{}:d}};function lc(a,b,c){const d=olympe.D.Ja(),e=d.onDestroy(()=>{var f=a.C();const g=f.C.get(b);g&&(f.C.delete(b),g())});return d.vb(f=>{d.dg(e);a.C().C.delete(b);c(f)})}olympe.Ca.qa=class{constructor(a){this.N=a;this.F=1;a='Initializing NET layer';this.N.G()&&(a+=' (implementation: '+this.O()+')');this.N.info(a);this.N.log('DONE initializing NET layer (ready to receive connection requests)')}C(){}ca(){}Ge(){}G(){}L(){}O(){}};function mc(a){return!(!a.C||!a.C.connected)}function nc(a,b,c,d){a.connect();a.C.publish(b,JSON.stringify(c),void 0,e=>{d&&d(e);e&&a.N.error('Failed to publish a message '+c)})}function oc(a,b,c){a.connect();a.C.subscribe(b,void 0,d=>{d?a.N.error(`Failed to subscribe to topic ${b}: ${d}`):a.F.set(b,c)})}function pc(a,b,c){a.connect();a.C.unsubscribe(b,void 0,c);a.F.delete(b)}
551
+ olympe.Ca.qj=class{constructor(a,b){this.url=a;this.L=b||null;this.C=null;this.G=[];this.F=new Map;this.N=olympe.ua.rb('MQTT')}connect(a){if(mc(this))return a&&a(),this;a&&this.G.push(a);null===this.C&&(this.C=mqtt.connect(this.url,this.L),this.C.on(olympe.Ca.qj.C.Ls,(b,c)=>{this.F.has(b)?this.F.get(b)(JSON.parse(c.toString())):this.N.warn('There is no subscriber for topic '+b)}),this.C.on(olympe.Ca.qj.C.er,()=>this.G.forEach(b=>b())));return this}end(a,b){this.C&&this.C.end(a,{},()=>{b&&b();this.C=
552
+ null});return this}};olympe.Ca.qj.C={er:'connect',Ls:'message',Zx:'close',my:'end'};olympe.Ca.T={ta:'net.Manager',Ha:'net.Logger'};olympe.Ca.Z={Ws:'net.P2PServers',Vs:'net.P2POptions.reliable',Us:'net.P2POptions.maxRetransmitTime'};olympe.U.Ib(function(a){D(a,olympe.Ca.Z.Ws,'stun:stun.l.google.com:19302');D(a,olympe.Ca.Z.Vs,!0);D(a,olympe.Ca.Z.Us,3E3);ra(a,olympe.Ca.T.ta);B(a,olympe.Ca.T.Ha,[olympe.ua.T.ta],function(b){return b.Gc('net')})},'olympe.net');olympe.Ca.Hc={};olympe.Ca.Hc.Qk=class{constructor(a){this.N=a;this.C=new Map}Ge(){}F(){}};function qc(a,b){const c=a.V(b);c.binaryType='arraybuffer';c.onopen=()=>{a.N.info('Websocket OPENED');a.G=!0;a.O?(a.N.debug('Notifying upper layer for WebSocket#'+a.id),a.O()):a.N.warn('Nothing to notify for WebSocket#'+a.id);a.buffer.forEach(c.send.bind(c));a.buffer.length=0};c.onmessage=d=>{d='string'===typeof d.data?String(d.data):a.ca(d.data);a.N.debug('#'+a.id+' < '+d);a.F&&a.F(d)};c.onclose=()=>{a.G=!1;a.N.debug('WebSocket#'+a.id+' CLOSE');a.L&&a.L()};c.onerror=()=>{a.N.debug('WebSocket#'+a.id+
552
553
  ' ERROR')};a.C=c}
553
- olympe.Ca.Dc.WebSocket=class{constructor(a,b){this.N=b;this.id=a;this.C=null;this.buffer=[];this.G=!1;this.F=this.L=this.O=null}da(){return this.id}send(a){this.N.debug('#'+this.id+' > '+a);this.G?this.C.send(a):this.buffer.push(a)}close(){const a=this.C.constructor,b=this.C.readyState;b===a.OPEN||b===a.CONNECTING?(this.N.debug('Force closing native websocket'),this.C.close(1E3)):this.N.debug('Try to force close native websocket, but not open nor connecting')}sa(a){this.O=a||null}ia(a){this.F=a||
554
- null}fa(a){this.L=a||null}U(){}$(){}};olympe.Ca.Dc.WebSocket.ka=[olympe.Ca.WebSocket];olympe.cb.node.Ca={};olympe.cb.node.Ca.Hs=class extends olympe.Ca.qa{constructor(a,b){super(a,b);this.U=new olympe.cb.node.Ca.Ck(a)}O(){return'NodeJS'}L(){return olympe.D.ga.F}$(a){var b=this.F++;a=a.C();this.N.debug('CREATE Websocket #'+b+' to '+a);b=new olympe.cb.node.Ca.Is(b,this.N);oc(b,a);return b}ye(a,b){this.N.debug('SEND HTTP '+a.method+' to '+a.C());const c=this.F++;b=jc(this,c,b);this.U.ye(c,{u:a.C(),s:fc(a),h:dc(a),p:a.port,z:ec(a),q:ic(a),m:a.method,v:a.headers,k:a.key,c:null,a:null,j:!1,b:a.body,r:a.F},b)}G(){this.N.warn('DOWNLOAD FILE not available with node native implementation. URL:')}C(){return this.U}};olympe.cb.node.Ca.Ck=class extends olympe.Ca.Dc.Ck{ye(a,b,c){const d=b.s,e=b.b,f=b.m;var g=b.v;const h=b.k,k=b.c,m=b.a,n=b.j;var p=b.h;const q=b.p;let r=b.z;r.startsWith('/')||(r=`/${r}`);const t=b.q,u=b.u,w=b.r;b={host:p,port:q,path:t?r+'?'+t:r,method:f};g&&(b.headers=g);g=(x,I,D)=>new Promise((z,T)=>{OlympeNodeAPI.readFile(x,(S,eb)=>{S?T(S):(D[I]=eb,z(D))})});p=x=>{const I=z=>{z.setEncoding(w===olympe.Ca.Rb.ResponseType.mj?'utf-8':'binary');let T='';z.on('data',S=>{T+=S});z.on('end',()=>{if(w!==
555
- olympe.Ca.Rb.ResponseType.mj){var S=(new Uint8Array(OlympeNodeAPI.buffer.from(T,'binary'))).buffer;S=w===olympe.Ca.Rb.ResponseType.Zj?new Blob([S]):S}else S=T;c(this.F(z.statusCode,z.statusMessage,S,z.headers))})},D=d?new OlympeNodeAPI.jw(x,I):new OlympeNodeAPI.ye(x,I);this.C.set(a,()=>{D.abort()});D.on('error',z=>{c(this.F(0,'Conection refused','Error connecting to '+u+' with method '+f+', code = '+z.code+', message = '+z.message,''))});!e||'POST'!==f&&'PUT'!==f?D.end():(e instanceof Blob?e.arrayBuffer():
556
- Promise.resolve(e)).then(z=>{D.write(z instanceof ArrayBuffer?OlympeNodeAPI.buffer.from(z):z);D.end()})};d&&(h||k||m)?h&&k&&m?(b.rejectUnauthorized=n,g(h,'key',b).then(g.bind(null,k,'cert')).then(g.bind(null,m,'ca')).then(p).catch(x=>{this.N.log('Error loading self signed files:',x)})):this.N.warn('All three self signed files must be specified!'):p(b)}F(a,b,c,d){this.N.debug('Received HTTP response',a,c);return new olympe.Ca.xr(c,a,b,d)}};olympe.cb.node.Ca.Is=class extends olympe.Ca.Dc.WebSocket{U(a){return new OlympeNodeAPI.WebSocket(a)}$(a){a=new Uint8Array(a);return(new OlympeNodeAPI.StringDecoder('utf8')).write(a)}};olympe.cb.node.Ca.Z={VA:'native.html.net.useWorkers'};olympe.V.Cb(function(a){pa(a,olympe.Ca.T.ua,olympe.cb.node.Ca.Hs,olympe.Ca.T.Ga,olympe.host.T.ua)},'olympe.native.node.net');olympe.cb.node.Xb={};olympe.cb.node.Xb.oo=class{constructor(a){this.F={};this.N=a}C(a){void 0===this.F[a]&&(this.F[a]=new olympe.cb.node.Xb.po(a,this.N));return pc(this.F[a])}};olympe.cb.node.Xb.oo.ka=[olympe.Xb.ns];function pc(a){if(a.C)return a;a.C=!0;a.db=OlympeNodeAPI.Bw(new OlympeNodeAPI.Aw);return a}olympe.cb.node.Xb.po=class{constructor(a,b){this.name=a;this.N=b;this.C=!1;this.db=void 0}close(){}get(a,b){this.C||pc(this);b(this.db.get(a).value(),a)}set(a,b,c){this.C||pc(this);this.db.set(a,b).write();c&&c(!0)}forEach(a,b){this.C||pc(this);const c=this.db.getState();for(let d in c)a(c[d],d);b()}remove(a){this.C||pc(this);this.db.unset(a).write()}};olympe.cb.node.Xb.po.ka=[olympe.Xb.os];olympe.V.Cb(function(a){y(a,olympe.Xb.T.Mk,olympe.cb.node.Xb.oo,olympe.Xb.T.Ga)},'olympe.native.node.localstorage');olympe.cb.node.storage={};olympe.cb.node.storage.Storage=class{constructor(a){this.N=a}G(a){a&&a('Not Implemented.')}O(a){a&&a('Not Implemented.')}write(a,b,c,d,e){e&&e('Not Implemented.')}L(a){a&&a('Not Implemented.')}F(a){a&&a('Not Implemented.')}C(a){a&&a('Not Implemented.')}close(a){a(null)}};olympe.cb.node.storage.Storage.ka=[olympe.Xb.Storage];olympe.V.Cb(function(a){pa(a,olympe.Xb.T.Kh,olympe.cb.node.storage.Storage,olympe.host.T.Ga)},'olympe.native.html.storage');olympe.Pf={};olympe.Pf.Z={VERSION:'version.version',Jq:'version.branch',nf:'version.commit',wt:'version.tag',vn:'version.olympe-framework',Kq:'version.build'};olympe.V.Cb(function(a){C(a,olympe.Pf.Z.VERSION,'');C(a,olympe.Pf.Z.Jq,'');C(a,olympe.Pf.Z.nf,'');C(a,olympe.Pf.Z.wt,'');C(a,olympe.Pf.Z.vn,'');C(a,olympe.Pf.Z.Kq,'')},'olympe.main');(function(){function a(e,f){OlympeNodeAPI.readFile(e,(g,h)=>{g?console.error(g):(h=JSON.parse(h),f(h))})}function b(){if(void 0!==c&&void 0!==d){var e=Object.create(null);for(var f=2;f<OlympeNodeAPI.oq.length;f++){var g=/^true|false$/i,h=/^\d+(\.\d+)?$/,k=void 0;const m=/([^?&=]+)(=?([^?&=]+))?/g.exec(OlympeNodeAPI.oq[f]);k=m[3];void 0===k?k=!0:g.test(k)?k='true'===k.toLowerCase():h.test(k)&&(k=parseFloat(k));e[m[1]]=k}e=new olympe.V.Yq(d,c,e);h=e.tb();h.debug('Registering configurations...');h.C++;
557
- for(let m=0,n=ja.length;m<n;m++)f=e,g=ja[m],A(f.N,'Registering configure callback '+(g.C?'for module '+g.C:'')),f.F.push(g.F);na(h);h.debug('done registering');e=e.compile();g=e.tb();g.debug('Running run callbacks of container...');for(let m=0,n=ka.length;m<n;m++)g.C++,h=ka[m],f=e,k=ma(f,h.di()),k.push(f),f.N.debug('Calling run callback '+(h.C?'for module '+h.C:'')),h.F.apply(null,k),na(g);g.debug('done calling run callbacks. DI process completed!')}}let c,d;a('oConfig.json',function(e){d=e;b()});
558
- a('version.json',function(e){c=e;b()})})();olympe.dc={};olympe.dc.Fa=function(a){if('string'===typeof a)return a;let b=null;a=olympe.D.Sa(a);void 0!==a&&null!==a&&(a=a.valueOf(),'string'===typeof a?b=a:a.R?b=a.R():'function'===typeof a&&(b=olympe.dc.va.Wb(a)));return b||''};v('olympe.dc.instanceToTag',olympe.dc.Fa);olympe.dc.Xa=function(){return olympe.dc.Sc().view};olympe.dc.Ka={ORIGIN:'<',DESTINATION:'>',Ug:'<',ah:'>'};v('olympe.dc.RelationDirection',olympe.dc.Ka);olympe.dc.Ef=class{F(){}ec(){}lc(){}oa(){}mb(){}};olympe.dc.$k=class{G(){}da(){}O(){}};function qc(a,b,c,d,e,f,g){d=new olympe.dc.ma(olympe.dc.ma.ra.rj,{file:b,url:null,content:c,Fg:e?h=>{rc(a,b,c);f(h)}:f,mimeType:d,Qf:g||null},[olympe.dc.Xa().source(b)||olympe.dc.Qa.ed]);a.F.send(d)}function rc(a,b,c){const d=olympe.dc.Fa(b);a.C.set(d,c);const e=olympe.aa.$e();sc(olympe.dc.Xa(),d,f=>{f||(a.C.delete(d),tc(olympe.dc.Xa(),d,e))},e)}
559
- function uc(a,b,c,d){olympe.D.pq([b.fq(),b.R(),b.Hk(),b.Rl()],(e,f,g,h)=>{a.C.has(f)?c(a.C.get(f)):(e=new olympe.dc.ma(olympe.dc.ma.ra.Mi,{file:f,url:e.valueOf()?null:g,mimeType:h.valueOf(),Fg:a.G?k=>{rc(a,f,k);c(k)}:c,Qf:d},[olympe.dc.Xa().source(f)||olympe.dc.Qa.ed]),a.F.send(e))})}
560
- olympe.dc.lr=class{constructor(a,b,c,d,e){this.N=a;this.F=c;this.G=e;this.C=new Map}ce(a,b,c,d,e,f=!0){b=b instanceof olympe.D.Pa?b.valueOf():b;'string'===typeof b?b=new Blob([za(b)],{type:c}):b instanceof ArrayBuffer&&(b=new Blob([b],{type:c}));qc(this,a,b,c,f&&this.G,d,e)}};olympe.dc.tr=class{constructor(){}};olympe.dc.Hd=class{R(){}};olympe.dc.Hd.prototype.getTag=olympe.dc.Hd.prototype.R;olympe.dc.Hd.prototype.R.K=new olympe.D.H(()=>String,[]);olympe.dc.Jc={le:'ff022000000000000000',Mg:'ff02200000000000000e',Mm:'ff02200000000000000f'};olympe.dc.Ob={VERSION:'@v',Jd:'@s'};olympe.dc.ag={cd:'?'};olympe.dc.qa=class{constructor(a,b,c,d,e,f){this.N=a;this.F=b;this.C=f}Ol(){return this.F.Ol()}ce(a,b,c,d,e,f){f?this.C.ce(a,b,c,g=>{g&&f.update(a,olympe.dm.File.urlProp,g);f.update(a,olympe.dm.File.C,olympe.D.ga.F);d(g)},e):this.C.ce(a,b,c,d,e)}};function vc(a,b){a.F.unshift(b);return a}olympe.dc.ma=class{constructor(a,b,c){this.type=a;this.content=b;this.C=c;this.F=[]}validate(a=null){this.F.forEach(b=>{b(a||null)})}toString(){const a=olympe.aa.Xp(olympe.dc.ma.ra,this.type);return a?a:'UNKNOWN_MESSAGE'}};olympe.dc.ma.ra={$f:10,Yy:11,Yo:20,gA:21,qt:22,ml:23,zh:24,yh:25,Zy:26,wk:28,Dz:30,Ez:31,Qh:40,nl:41,vh:45,Dm:46,tk:47,rj:50,Mi:51,nk:52,Dt:60,bt:61,pr:62,qr:63,Oq:64,Cm:65,Xy:90,lk:91,xk:92,Dn:93,co:94,bj:95,pt:96};olympe.dc.Ne=class{C(){}};olympe.dc.al=class{constructor(...a){this.Kb=a}C(a,b,c){const d=this.Kb.length,e=(f,g,h)=>{g||f>=d?c(g,h):this.Kb[f].C(a,h,e.bind(null,f+1))};e(0,null,b)}};olympe.dc.al.ka=[olympe.dc.Ne];olympe.dc.Bc=class{constructor(a){this.tag='string'===typeof a?a:a.R()}R(){return this.tag}toJSON(){return'{ "type": "reference", "tag": '+JSON.stringify(this.tag)+' }'}static Vb(a){let b;'string'===typeof a?b=JSON.parse(a):b=a;return new olympe.dc.Bc(b.tag)}};olympe.dc.Bc.ka=[olympe.dc.Hd];olympe.dc.Bc.prototype.toJSON.K=olympe.D.H.C;olympe.dc.Af=class{send(){}C(){}sa(){}O(){}};olympe.dc.Nh={Bo:'online',Tk:'offline',Xn:'invalidate'};olympe.dc.Qa={kb:'self',ed:'server',kt:'self.only'};const wc=olympe.dc.Ka.ORIGIN,xc=olympe.dc.Ka.DESTINATION,yc=new Map,zc=new Map,Ac=new Map,Bc=new Map;function Cc(a,b){var c=olympe.dm.File;let d=c;'function'===typeof c&&(d=b.entry);c=[...(d.om||[])];return olympe.dc.va.C(a,b,...c)}function M(a,b){Bc.set(a,b);return a}function Dc(a){return(a=yc.get(a))&&a.F||olympe.dc.Sync}function Ec(a,b,c){const d=a+'@'+(b===xc?wc:xc);if(zc.has(d))throw Error(`Try to register the same relation (${b+a}) multiple times.`);zc.set(d,c)}
561
- function Fc(a){a=a.R()+'@'+a.Oa();return zc.get(a)||olympe.dc.Sync}function N(a,b){b.NAME=a;Ac.set(a,b)}function O(a){return a.NAME||null}
562
- olympe.dc.va=class{constructor(){}static C(a,b,...c){if(yc.has(a))throw Error(`Tag: ${a} - overwriting already defined sync ${yc.get(a).F.name} with ${b.name}`);let d=null;const e=c.length;if(0<e){d=Array(e);for(let f=0;f<e;f++){let g=c[f];d[f]='string'===typeof g?new olympe.V.pc(g):g}}b=new olympe.dc.za.Entry(a,b,d);yc.set(a,b);return b.F.entry=b}static Wb(a){return(a=a.entry)&&a.R()||null}};olympe.dc.za={};function Gc(a,b){a.C=b}function P(a,b){b=b.kd();Ec(b.R(),b.Oa(),a.F);return b}function Hc(a){a.G=!0;return a}
563
- olympe.dc.za.Entry=class{constructor(a,b,c){this.tag=a;this.F=b;this.om=c||null;this.C=null;this.G=!1}R(){return this.tag}instantiate(a,b){const c=this.F;if(this.mi()&&b.getParameter(olympe.dc.Z.hn)){var d=olympe.dc.Xa();d=`Trying to instantiate an abstract class ${d.name(this)} (${this.R()}).`+` This may happen when the implementation of another class extending ${d.name(this)} has not been registered`;olympe.ya.tb('dc').error(d)}return this.om?(a=[void 0,a].concat(ma(b,this.om)),new c(...a)):new c(void 0,
564
- a)}Ba(a){return new olympe.dc.za.Property(a)}Ma(a,b=olympe.dc.Ka.DESTINATION){Ec(a,b,this.F);return new olympe.dc.W.Ab(a,b)}mi(){return this.G}};v('olympe.dc.registry.Entry',olympe.dc.za.Entry);olympe.dc.za.Entry.prototype.addRelation=olympe.dc.za.Entry.prototype.Ma;olympe.dc.za.Entry.prototype.addProperty=olympe.dc.za.Entry.prototype.Ba;olympe.dc.za.Entry.ka=[olympe.dc.Hd];olympe.dc.za.Property=class{constructor(a){this.tag=a}R(){return this.tag}};olympe.dc.za.Property.ka=[olympe.dc.Hd];olympe.dc.za.Relation=class a{constructor(b,c){this.tag=b;this.direction=c||olympe.dc.Ka.DESTINATION}R(){return this.tag}Oa(){return this.direction}kd(){const b=olympe.dc.Ka.ORIGIN,c=olympe.dc.Ka.DESTINATION;return new a(this.tag,this.direction===b?c:b)}toString(){return this.direction+this.tag}};olympe.dc.za.Relation.prototype.getInverse=olympe.dc.za.Relation.prototype.kd;olympe.dc.za.Relation.prototype.getDirection=olympe.dc.za.Relation.prototype.Oa;olympe.dc.za.Relation.prototype.getTag=olympe.dc.za.Relation.prototype.R;
565
- olympe.dc.za.Relation.ka=[olympe.dc.Hd];olympe.dc.db={};function Ic(a,b,c,d,e=olympe.dc.Qa.kb){const f=b.da();Jc(a.F,b,e,c,d);return g=>{if(g)a.F.push(f);else{g=a.F;const h=g.F.get(f);if(void 0!==h){const k=g.C.indexOf(f);g.C.splice(k,1);Kc(g,Lc(g,h.C,g.C.length),h.source);g.F.delete(f)}}}}function Mc(a,b,c){b&&a.C.Nc(b);c&&a.C.zd(c)}
566
- olympe.dc.db.ar=class{constructor(a,b,c,d,e){this.N=a;this.C=b;this.F=new olympe.dc.db.Wq(a,b,d);this.view=new olympe.dc.bb(a,b);this.Fw=new olympe.dc.db.Fs(this.N,this.view,b,e);this.G=new olympe.dc.tr}tb(){return this.N}Ol(){return this.G}persist(a){this.C.ia();this.C.La(a,olympe.dc.db.Instance.C.Xk);this.C.fa()}mf(a,b){this.F.mf(a,b)}};const Nc=olympe.dc.Ob.VERSION,Oc=olympe.dc.Ob.Jd,Pc=olympe.dc.Jc.le,Qc=olympe.dc.Jc.Mg;
567
- olympe.dc.db.Database=class a extends Map{constructor(b,c){super();this.id=olympe.aa.Qb();this.N=b;this.Ra=olympe.D.Ha();this.yd=c.get('defaultSource')||olympe.dc.Qa.kb;this.O=olympe.dc.db.Database.G.IDLE;this.$=new Map;this.wb=[];this.L=[];this.Ja=new Map;b=c.get('garbageCollector')||olympe.dc.db.Ah.C.pk;new olympe.dc.db.Ah(this,b,this.Ra);c.get('debug')&&this.xe()}da(){return this.id}getState(){return this.O}tb(){return this.N}create(b,c){const d=this.G(b,!0);d.qc(c&&parseInt(c.get(Nc),10)||1);
568
- d.se(c&&c.get(Oc)||this.yd);c&&(c.delete(Nc),c.delete(Oc),this.$b(d,c));this.C(a.F.Vn,b)}update(b,c,d=!1){if(void 0!==c&&null!==c){b=this.G(b,!0);var e=c&&parseInt(c.get(Nc),10);0>e||!d&&b.version()>=e||(c.delete(Nc),b.qc(isNaN(e)?b.version()+1:e),this.$b(b,c))}}lc(b){const c=this.get(b);void 0!==c&&(this.sa(c,!1),this.C(a.F.Wn,b))}rc(b,c,d){c=this.G(c,!0);d=this.G(d,!0);switch(b){case Pc:c.ze(d);break;case Qc:c.xe(d);break;default:c.Ra(b,d)}}yc(b,c,d){c=this.get(c);d=this.get(d);if(void 0!==c&&void 0!==
569
- d)switch(b){case Pc:c.Mj(d);break;case Qc:c.Jj(d);break;default:c.G(b,d)}}Nc(b){for(const c of b)this.G(c).ia()}zd(b){for(const c of b)(b=this.get(c))&&b.sa()}La(b,c){b.forEach(d=>{this.G(d).pi(c)})}qc(b){const c=this.get(b);void 0!==c&&(c.clear(),super.delete(b),this.C(a.F.gn,b))}G(b,c=!1){let d=this.get(b);void 0===d&&(d=new olympe.dc.db.Instance(b,this),this.set(b,d),this.C(a.F.fn,b),c&&this.C(a.F.pj,b));return d}Va(b,c){return function*(d,e){const f=olympe.dm.Relation.C.oj,g=olympe.dm.Relation.C.ij,
570
- h=olympe.dc.Ka.ORIGIN,k=olympe.dc.Ka.DESTINATION,m=a.C.Zg+olympe.dc.ob.Vp(c),n=(new Map).set(d,!1),p=(q,r)=>(q=e.get(q))&&0!==(q.get(m)&r);for(const q of n.keys())n.get(q)||(n.set(q,!0),yield q),d=e.get(q),void 0!==d&&d.forEach((r,t)=>{(t[0]===h&&p(t.substring(1),g)||t[0]===k&&p(t.substring(1),f))&&Array.from(r.keys()).filter(u=>!n.has(u)).forEach(u=>{n.set(u,!1)})})}(b,this)}lb(b){Rc(this.L[0],olympe.aa.$e(),b)}U(b){this.L[0].C.delete(b)}C(b,c,...d){this.$.has(b)&&this.$.get(b).forEach(e=>{e(c,...d)})}sa(b,
571
- c){this.Ja.set(b,c)}se(b,c,d,e){0<this.L.length&&Sc(this.L[0],b).Ba(e?Tc+c:c,d)}ve(b,c,d,e,f){if(0<this.L.length){var g=this.L[0];d===Uc?f?Sc(g,b).sa(c,e):Sc(g,b).Ja(c,e):f?Sc(g,b).Wa(c,e):Sc(g,b).wb(c,e)}}F(b,c){let d=this.$.get(b);void 0===d&&(d=[],this.$.set(b,d));d.push(c)}Wa(b){this.wb.push(b)}vc(b){return this.L.reduce((c,d)=>d.G.has(b)||c,!1)}ia(){this.O===a.G.IDLE&&(this.O=a.G.Iq);this.L.unshift(new olympe.dc.db.fr(this,this.Ra))}fa(){this.O=a.G.nf;this.ze();Vc(this.L[0]);this.L.shift();0===
572
- this.L.length&&(this.wb.forEach(b=>{b()}),this.O=a.G.IDLE)}$b(b,c){const d=a.C.cd;for(const [e,f]of c)void 0!==f&&(e[0]===d?b.Oj(e.substr(1),f):b.update(e,f))}ze(){const b=a.C.ORIGIN,c=this.Ja,d=new Map,e=(g,h)=>{const k=g.get(b+Pc);k&&k.forEach((m,n)=>{g!==m&&(d.set(m,h),c.delete(n),e(m,h))})};c.forEach((g,h)=>{d.set(h,g);e(h,g)});const f=this.L[0];d.forEach((g,h)=>{h.zd(g)&&(h=h.tag(),g?Sc(f,h).create():Sc(f,h).delete())});this.Ja.clear()}xe(){const b=a.C.DESTINATION,c=a.F.rk,d=a.F.hj,e=new Set,
573
- f=new Map;this.F(a.F.Vn,g=>{e.add(g)});this.F(c,g=>{e.delete(g);f.delete(g)});this.F(d,(g,...h)=>{if(h[0]===Qc&&h[1]===b){const k=h[2];this.get(k).Hb()||(h=f.get(k)||new Set,0===h.size&&f.set(k,h),h.add(g))}});this.Wa(()=>{e.forEach(g=>{const h=this.get(g);h&&null===h.model()&&this.N.error(`\n[DEBUG - DATABASE]\nInstance ${g} created but does not exist !\n${h.toString()}`)});e.clear();f.forEach((g,h)=>{const k=this.get(h);k&&this.N.error(`\n[DEBUG - DATABASE]\nThe model ${h} is extended by other models but does not exist !`+
574
- `\nExtension models: ${Array.from(g.values()).join(', ')}`+`\n\n ${k.toString()}`)});f.clear()})}};olympe.dc.db.Database.C={Zg:'$',Br:'~',cd:'?',Uj:'=',ek:'@',ORIGIN:olympe.dc.Ka.ORIGIN,DESTINATION:olympe.dc.Ka.DESTINATION};olympe.dc.db.Database.F={fn:0,gn:1,mp:2,pj:3,Jm:4,Km:5,rk:6,DELETE:7,hj:8,gl:9,Vn:10,Wn:11,No:12};olympe.dc.db.Database.G={IDLE:0,Iq:1,nf:2};const Q=olympe.dc.db.Database.F,Wc=olympe.dc.db.Database.C.Zg,Xc=olympe.dc.db.Database.C.Br,Yc=olympe.dc.db.Database.C.cd,Zc=olympe.dc.db.Database.C.Uj,$c=olympe.dc.db.Database.C.ek,R=olympe.dc.Ka.ORIGIN,U=olympe.dc.Ka.DESTINATION,ad=olympe.dc.Jc.le,bd=olympe.dc.Jc.Mg;
575
- olympe.dc.db.Instance=class a extends Map{constructor(b,c){super();this.C=b;this.Nc=olympe.dc.Qa.kb;this.e=!1;this.wb=0;this.F=void 0;this.c=0;this.Ja=a.C.Xk;this.db=c}tag(){return this.C}Hb(){return this.e}$b(){return this.db.vc(this.C)}source(){return this.Nc}version(){return this.wb}model(){const b=this.get(U+ad);return b&&b.values().next().value||null}Ze(){const b=this.get(U+bd);return b&&b.values().next().value||null}yd(){return this.Ja!==a.C.rp}toString(){var b=this.Ib(olympe.dc.Sync.nameProp.R());
576
- b=`Instance: ${this.C}, Exist: ${this.e}, Name: ${b}`;var c=this.model();if(c){var d=c.Ib(olympe.dc.Sync.nameProp.R())||'No model name';b+=`\nModel: ${c.C}, Exist: ${c.e}, Model name: ${d}`}else b+='\nModel: no model';(c=this.Ze())?(d=c.Ib(olympe.dc.Sync.nameProp.R())||'No extension name',b+=`\nExtension: ${c.C}, Exist: ${c.e}, Extension name: ${d}`):b+='\nExtension: no extension';return b}Ib(b,c=!1){const d=this.get(Wc+b);return c||void 0!==d?d:this.get(Zc+b)}La(b,c=!1){const d=this.get(Yc+b);return c||
577
- void 0!==d?d:this.get(Xc+b)}update(b,c){const d=Wc+b;var e=this.get(d);e=void 0===e?null:e;if(e!==c){if(e instanceof olympe.dc.Bc){if(c instanceof olympe.dc.Bc&&c.R()===e.R())return;this.db.get(e.R()).yc();this.db.lc(e.R())}c instanceof olympe.dc.Bc&&(e=this.db.G(c.R(),!0),e.F&&e.F.tag!==this.C&&this.db.tb().fatal('Instance',c.R(),'referenced multiple times!\nThis instance is currently property of',e.F.tag,'(for the property '+e.F.Pj+')','and is assigned as a property of',this.C,'(for the property '+
578
- b+')'),e.ti(this.C,b));e=Zc+b;null===c?(this.delete(d),c=(c=this.model())&&c.La(b),void 0!==c?(this.set(e,c),this.O(b,c,!0)):this.O(b,null,!1)):(this.set(d,c),this.delete(e),this.O(b,c,!1))}}Oj(b,c){const d=Yc+b;var e=this.get(d);(void 0===e?null:e)!==c&&(e=Xc+b,null===c?(this.delete(d),c=(c=this.Ze())&&c.La(b),c=void 0===c?null:c,null!==c&&this.set(e,c),this.$((new Map).set(b,c))):(void 0!==this.get(e)&&this.delete(e),this.set(d,c),this.$((new Map).set(b,c))))}Ra(b,c){var d=R+b;const e=this.lb(U+
579
- b);d=c.lb(d);e.has(c.C)||(e.set(c.C,c),d.set(this.C,this),this.db.C(Q.hj,this.C,b,U,c.C),this.db.C(Q.hj,c.C,b,R,this.C),this.e&&c.e&&(this.L(b,U,c,!0),c.L(b,R,this,!0)))}G(b,c){const d=R+b;void 0!==this.Wa(U+b,c.C)&&(c.Wa(d,this.C),this.db.C(Q.gl,this.C,b,U,c.C),this.db.C(Q.gl,c.C,b,R,this.C),this.e&&c.e&&(this.L(b,U,c,!1),c.L(b,R,this,!1)))}ze(b){const c=this.model();if(null!==c){if(c===b)return;this.G(ad,c)}this.Ra(ad,b);b.forEach((d,e)=>{e[0]!==Yc&&e[0]!==Xc||this.Va(e.substr(1),d)});(b.e||b===
580
- this)&&this.db.sa(this,!0)}Mj(b){this.G(ad,b);this.forEach((c,d)=>{this.Va(d.substr(1),null)});this.db.sa(this,!1)}xe(b){const c=this.Ze();if(null!==c){if(c===b)return;this.G(bd,c)}this.Ra(bd,b);const d=new Map;b.forEach((e,f)=>{if(f[0]===Yc||f[0]===Xc)f=f.substr(1),this.has(Yc+f)||(this.set(Xc+f,e),d.set(f,e))});this.$(d)}Jj(b){this.G(bd,b);const c=new Map;this.forEach((d,e)=>{e[0]===Xc&&(this.delete(e),c.set(e.substr(1),null))});this.$(c)}vc(b,c,d){const e=(...f)=>{var g=f.length;const h=f[g-2];
581
- (g=this.db.get(f[g-1]))&&(h?g.ia():g.sa());d(...f)};this.fa(b,c,e);return e}fa(b,c,d){const e=this.lb($c+b);e.has(c)||(e.set(c,d),this.ia(),this.db.C(Q.Jm,this.C,b,c))}U(b,c){const d=this.Wa($c+b,c);void 0!==d&&(this.sa(),this.db.C(Q.Km,this.C,b,c));return d}se(b){this.Nc=b}qc(b){this.wb=b}pi(b){this.Ja=b;this.rc()||this.db.C(Q.pj,this.C)}zd(b){const c=this.e!==b;c&&(b?(this.e=b,this.oi()):(this.nh(),this.e=b),this.ve(b));return c}ia(){this.c++;1===this.c&&this.db.C(Q.mp,this.C)}sa(){0<this.c?--this.c:
582
- this.db.C(Q.No,this.C,`Try to decrease references on instance ${this.C} but the reference counter is already 0.\n`+'It happens when you try to remove a callback from an instance multiple times.\nThis counter reference is used for garbage collection of instances in the database.');0===this.c&&this.db.C(Q.pj,this.C)}rc(){return 0<this.c||this.Ja!==olympe.dc.db.Instance.C.Xk}clear(){this.forEach((b,c)=>{const d=c[0];if(d===R||d===U){const e=c.substr(1),f=d===R?U:R;b.forEach(g=>{const h=g.get(f+e);h.delete(this.C);
583
- 0===h.size&&g.delete(f+e)})}d===Wc&&b instanceof olympe.dc.Bc&&this.db.get(b.R()).yc()});void 0!==this.F&&this.db.get(this.F.tag).delete(Wc+this.F.Pj)}ti(b,c){void 0===this.F&&this.ia();this.F={tag:b,Pj:c}}yc(){void 0!==this.F&&(this.sa(),this.F=void 0)}oi(){this.forEach((b,c)=>{const d=c[0];if(d===R||d===U){const e=c.substr(1),f=d===R?U:R;b.forEach(g=>{g.e&&(this.L(e,d,g,!0),g.L(e,f,this,!0))})}else d!==Wc&&d!==Zc||this.O(c.substr(1),b,d===Zc)})}nh(){this.forEach((b,c)=>{const d=c[0];if(d!==$c){var e=
584
- c.substr(1);d===R?b.forEach(f=>{f.G(e,this)}):d===U?b.forEach(f=>{this.G(e,f)}):d===Wc&&this.update(d,null);this.delete(c)}});this.wb=0;if(void 0!==this.F){const b=this.db.get(this.F.tag),c=b.get(Wc+this.F.Pj);c&&c.R&&c.R()===this.C&&b.update(this.F.Pj,null)}}ve(b){this.db.C(b?Q.rk:Q.DELETE,this.C)}O(b,c,d){this.e&&this.db.se(this.C,b,c,d)}L(b,c,d,e){this.db.ve(this.C,b,c,d.C,e)}$(b,c=[]){var d=this.get(R+ad);void 0!==d&&d.forEach(e=>{b.forEach((f,g)=>e.Va(g,f))});d=this.get(R+bd);void 0!==d&&d.forEach((e,
585
- f)=>{if(!c.includes(e.tag())){var g=new Map;b.forEach((h,k)=>{e.has(Yc+k)||(g.set(k,h),null!==h?e.set(Xc+k,h):e.delete(Xc+k))});e.$(g,[...c,f])}})}Va(b,c){if(!this.has(Wc+b)){const d=Zc+b,e=this.get(d);c!==(void 0!==e?e:null)&&(null===c?this.delete(d):this.set(d,c),this.O(b,c,null!==c))}}lb(b){let c=this.get(b);void 0===c&&(c=new Map,this.set(b,c));return c}Wa(b,c){const d=this.get(b);if(void 0!==d){const e=d.get(c);d.delete(c);0===d.size&&this.delete(b);return e}}};
586
- olympe.dc.db.Instance.C={rp:0,Rs:1,Xk:2};const Uc=olympe.dc.db.Database.C.DESTINATION,Tc=olympe.dc.db.Database.C.Uj,cd=olympe.dc.db.Database.C.Zg,dd=olympe.dc.db.Database.C.ek,ed=olympe.dc.db.Database.C.ORIGIN+Uc,fd=cd+cd;function Rc(a,b,c){let d=a.C.get(b);void 0===d&&(d=[],a.C.set(b,d));a.buffer.push([b,d.length]);d.push(c)}
587
- function Vc(a){const b=a.O;a.F.forEach((c,d)=>{const e=b.get(d);if(c.U()||c.$()){var f=e.get(dd);f&&gd(a,f,c.U(),d);c.$()&&a.G.add(d)}for(const [m,n]of c.Ld()){var g=m[0]===Tc;d=a;var h=e;f=g?m.substr(1):m;var k=n;const p=h.get(dd+cd+f);p&&gd(d,p,k,g);(h=h.get(dd+fd))&&gd(d,h,f,k,g)}for(const m of c.qc())hd(a,e,...m)});a.F.clear();id(a)}function Sc(a,b){let c=a.F.get(b);void 0===c&&(c=new olympe.dc.db.vf(b),a.F.set(b,c));return c}
588
- function gd(a,b,...c){b.forEach((d,e)=>{Rc(a,e,d.bind(null,...c))})}function hd(a,b,c,d,e,f){const g=b.get(dd+d+c);g&&gd(a,g,f,e);(b=b.get(dd+ed))&&gd(a,b,c,d,f,e)}function id(a){a.L.run(()=>{const b=a.C;for(const [d,e]of a.buffer){var c=b.get(d);(c=c&&c[e])&&c()}});a.C.clear();a.buffer.length=0}olympe.dc.db.fr=class{constructor(a,b){this.O=a;this.L=b;this.F=new Map;this.G=new Set;this.C=new Map;this.buffer=[]}};function jd(a){const b=olympe.dc.db.Database.F.gn,c=olympe.dc.db.Database.F.rk,d=olympe.dc.db.Database.F.DELETE,e=olympe.dc.db.Database.F.hj,f=olympe.dc.db.Database.F.gl,g=olympe.dc.db.Database.F.Jm,h=olympe.dc.db.Database.F.Km,k=()=>{};a.C.F(olympe.dc.db.Database.F.fn,()=>{});a.C.F(b,()=>{});a.C.F(c,m=>{a.C.lb(()=>{kd(a.view,m,k,`monitorRelations${m}`)})});a.C.F(d,m=>{a.C.lb(()=>{ld(a.view,m,`monitorRelations${m}`)})});a.C.F(e,()=>{});a.C.F(f,()=>{});a.C.F(g,()=>{});a.C.F(h,()=>{})}
589
- olympe.dc.db.Fs=class{constructor(a,b,c,d){this.N=a;this.view=b;this.C=c;d&&jd(this)}debug(a){const b=olympe.dc.Fa(a);if(this.C.has(b)){var c=this.C.get(a);a='\n[DEBUG - DATABASE]\n'+c.toString();if(!c.Hb()){const d=[];for(;null!==c&&!d.includes(c.tag());)d.push(c.tag()),c=c.model();c=this.C.get(d[d.length-1]);const e=olympe.dc.db.Database.C.Zg+olympe.dc.Sync.nameProp.R();d.push('???');a+='\n\nThe instance <<'+b+'>> does not exists because the instance '+c.tag()+' (name: '+c.get(e)+') has no model.\nList: '+
590
- d.join(' --M--\x3e ')}this.N.info(a)}else this.N.info('[DATABASE] Instance',b,'has never been created or referred by the database')}};olympe.dc.db.Ah=class a{constructor(b,c,d){this.N=b.tb();this.C=b;this.G=new Set;this.mode=c;this.O=d;this.F=!1;c!==a.C.pk&&this.U()}run(){if(!this.F)switch(this.mode){case a.C.Cq:this.F=!0;this.O.run(()=>{$b(()=>{this.L();this.F=!1},0)});break;case a.C.$o:this.F=!0,this.L(),this.F=!1}}L(){const b=this.C;for(const c of this.G){const d=b.get(c);d&&!d.rc()&&this.C.qc(c)}this.G.clear()}U(){this.C.Wa(this.run.bind(this));const b=olympe.dc.db.Database.F.mp,c=olympe.dc.db.Database.F.Wn,d=olympe.dc.db.Database.F.No,
591
- e=olympe.dc.db.Database.G.IDLE,f=g=>{this.G.add(g);this.C.getState()===e&&this.run()};this.C.F(olympe.dc.db.Database.F.pj,f.bind(this));this.C.F(c,f.bind(this));this.C.F(b,g=>{this.G.delete(g)});this.C.F(d,(g,...h)=>{this.N.error(h[0])})}};olympe.dc.db.Ah.C={pk:0,$o:1,Cq:2};const md=olympe.dc.db.Database.C.ORIGIN,nd=olympe.dc.db.Database.C.DESTINATION,od=olympe.dc.db.Database.C.Zg,pd=olympe.dc.db.Database.C.Uj,qd=md+nd,rd=od+od,sd=olympe.dc.db.Database.G;function sc(a,b,c,d){const e=a.C.G(olympe.dc.Fa(b));d=d||td(a);e.fa('',d,c);e.Hb()&&a.F.run(()=>{c(!0,b)});return d}function tc(a,b,c,d=!1){const e=V(a,b);if(null!==e){const f=e.U('',c);void 0!==f&&(a.C.getState()===sd.nf&&a.C.U(c),!d&&e.Hb()&&a.F.run(()=>{f(!1,b)}))}}
592
- function kd(a,b,c,d){const e=a.C.G(olympe.dc.Fa(b));b=d||td(a);const f=e.vc(qd,b,c);e.Hb()&&e.forEach((g,h)=>{g=h[0];g!==md&&g!==nd||ud(a,e,h,!0,f,!0)})}function ld(a,b,c){const d=V(a,b);if(null!==d){const e=d.U(qd,c);void 0!==e&&(a.C.getState()!==sd.nf||d.$b()||a.C.U(c),d.Hb()&&d.forEach((f,g)=>{f=g[0];(f===md||f===nd)&&e&&ud(a,d,g,!1,e,!0)}))}}function td(a){++a.L;return String(a.L)}
593
- function vd(a,b,c,d){b=a.C.G(olympe.dc.Fa(b));c=olympe.dc.Fa(c);const e=od+c,f=td(a);b.fa(e,f,d);if(b.Hb()){let g=!1,h=b.get(e);void 0===h&&(g=!0,h=b.get(pd+c));if(void 0===h)return f;a.F.run(()=>{d(h,g)})}return f}function V(a,b,c=!1){if(null===b||void 0===b)throw Error('Provided tag is null or undefined.');a=a.C.get(olympe.dc.Fa(b));return!a||c&&!a.Hb()?null:a}
594
- function wd(a,b,c){b=a.C.G(olympe.dc.Fa(b));const d=td(a);b.fa(rd,d,c);b.Hb()&&b.forEach((e,f)=>{const g=f[0];g!==od&&g!==pd||a.F.run(()=>{c(f.substr(1),e,g===pd)})});return d}function ud(a,b,c,d,e,f){(b=b.get(c))&&b.forEach((g,h)=>{g.Hb()&&(f?a.F.run(()=>{e(c.substr(1),c[0],d,h)}):a.F.run(()=>{e(d,h)}))})}function xd(a,b,c,d,e){b=a.C.G(olympe.dc.Fa(b));c=c.Oa()+c.R();e=e||td(a);d=b.vc(c,e,d);b.Hb()&&ud(a,b,c,!0,d,!1);return e}
595
- function yd(a,b,c,d){b=V(a,b);if(null!==b){c=c.Oa()+c.R();const e=b.U(c,d);void 0!==e&&(a.C.getState()!==sd.nf||b.$b()||a.C.U(d),b.Hb()&&ud(a,b,c,!1,e,!1))}}function zd(a,b,c){return c===olympe.dc.ob.NONE?0:a.Ib(b,olympe.dc.ob.Vp(c),!0)||0}function Ad(a,b){return function*(c){if(c)for(const [d,e]of c)if(c=d[0],c===md||c===nd){const f=d.substring(1);for(const g of e.keys())yield[f,c,g]}}(V(a,b,!0))}
596
- function Bd(a,b,c){if(!a.Hb(b))return a.N.warn(`No instance found with tag ${b}`),new Map;const d=new Map,e=[olympe.dc.Fa(b)];for(const f of e){const g=a.$a(f,c);d.set(f,g);for(const h of g.filter(k=>!d.has(k)))e.push(h)}a.N.debug(`Found ${d.size} instances in sub-tree rooted at ${olympe.dc.Fa(b)}`);return d}function Cd(a,b,c){return null!==a.El(c,olympe.dc.Sync.extendRel,d=>olympe.dc.Xa().em(d,olympe.dc.Sync.propertyRel,b))}
597
- function Dd(a,b,c,d){return(c=(a=V(a,b,!0))&&a.get(d+c))?Array.from(c.values()).filter(e=>e.Hb()).length:0}
598
- olympe.dc.bb=class{constructor(a,b){this.N=a;this.F=new olympe.D.ic('DB View context');this.C=b;this.L=0}da(){return this.C.da()}G(a,b,c){a=V(this,a);null!==a&&(b=olympe.dc.Fa(b),a.U(od+b,c),this.C.getState()===sd.nf&&this.C.U(c))}Hb(a){a=V(this,a);return!(!a||!a.Hb())}name(a){return(a=V(this,a))?a.Ib(olympe.dc.Sync.nameProp.R()):''}model(a){return(a=(a=V(this,a,!0))?a.model():null)?a.tag():null}Ze(a){return(a=(a=V(this,a,!0))&&a.Ze())?a.tag():null}mh(a){a=V(this,a,!0);return!(!a||!a.Ze())}Of(a,b){a=
599
- (a=V(this,a,!0))&&a.model();return!(!a||!this.ni(a.tag(),b))}version(a){return(a=V(this,a,!0))&&a.version()}source(a){return(a=V(this,a,!0))&&a.source()}Fj(a){return(a=V(this,a,!1))?!!a.yd():!0}Ib(a,b,c){b=(a=V(this,a,!0))?a.Ib(olympe.dc.Fa(b),c):null;return void 0!==b?b:null}Ld(a,b=!1){var c=V(this,a,!0);a=new Map;if(c)for(const [d,e]of c)c=d[0],(c===od||!b&&c===pd)&&a.set(d.substring(1),e);return a}$a(a,b){return this.ii(a,[b])}em(a,b,c){return this.$a(a,b).includes(olympe.dc.Fa(c))}ii(a,b){a=V(this,
600
- a,!0);if(!a)return[];a=[a.tag()];for(const c of b){b=[];for(const d of a)if(a=V(this,d,!0).get(c.Oa()+c.R()),void 0!==a)for(const e of a.values())e.Hb()&&b.push(e.tag());a=b}return a}uc(a,b){var c=V(this,a,!0);return c?(c=c.get(b.Oa()+b.R()))&&1<c.size?(this.N.warn(`Relation ${b.R()} to instance ${a} is not unique: found ${c.size} related items`),null):(a=c?c.values().next().value:null)&&a.Hb()?a.tag():null:null}Tl(a,b,c){a=olympe.dc.Fa(a);const d=Bd(this,a,b);d.delete(a);return c?(c=olympe.dc.Fa(c),
601
- d.has(c)?Array.from(Bd(this,c,b.kd()).keys()).filter(e=>d.has(e)):[]):Array.from(d.keys())}El(a,b,c){if(!this.Hb(a))return null;b=Bd(this,a,b);const d=[olympe.dc.Fa(a)];for(const e of d){if(c(e))return e;if(a=b.get(e))for(const f of a.filter(g=>!d.includes(g)))d.push(f)}return null}Fl(a,b,c){return this.ii(a,b).find(c)||null}Iu(a,b,c){return this.ii(a,b).filter(c)}gi(a,b=olympe.dc.Sync){var c=V(this,a,!0);const d=b&&V(this,b,!0),e=[c];for(;c&&c!==d;){c=c.Ze();if(e.includes(c))throw Error(`Cycle detected when following recursively extend relations from base model instance "${a}".`);
602
- if(c&&!c.Hb())throw a=`Try to get all extensions of the model ${olympe.dc.Fa(a)} but one of them does not exists (${c.tag()})`,Error(a);null!==c&&e.push(c)}c=V(this,olympe.dc.Sync,!0);if(d!==c&&e[e.length-1]===c)throw Error(`The model "${this.name(a)}" (tag = ${a}) does not extend the expected model "${this.name(b)}" (tag = ${b}).`);return e.map(f=>f.tag())}ni(a,b){const c=olympe.dc.Fa(b);return!!this.El(a,olympe.dc.Sync.extendRel,d=>d===c)}fe(a){return this.$a(a,olympe.dc.Sync.instancesRel)}};
603
- olympe.dc.bb.prototype.getInstances=olympe.dc.bb.prototype.fe;olympe.dc.bb.prototype.isExtending=olympe.dc.bb.prototype.ni;olympe.dc.bb.prototype.getExtendedModels=olympe.dc.bb.prototype.gi;olympe.dc.bb.prototype.findAllRelated=olympe.dc.bb.prototype.Iu;olympe.dc.bb.prototype.findRelated=olympe.dc.bb.prototype.Fl;olympe.dc.bb.prototype.findRecursive=olympe.dc.bb.prototype.El;olympe.dc.bb.prototype.getRecursiveRelated=olympe.dc.bb.prototype.Tl;olympe.dc.bb.prototype.getUniqueRelated=olympe.dc.bb.prototype.uc;
604
- olympe.dc.bb.prototype.getMultiRelated=olympe.dc.bb.prototype.ii;olympe.dc.bb.prototype.isRelated=olympe.dc.bb.prototype.em;olympe.dc.bb.prototype.getRelated=olympe.dc.bb.prototype.$a;olympe.dc.bb.prototype.getProperties=olympe.dc.bb.prototype.Ld;olympe.dc.bb.prototype.getProperty=olympe.dc.bb.prototype.Ib;olympe.dc.bb.prototype.isPersisted=olympe.dc.bb.prototype.Fj;olympe.dc.bb.prototype.instanceOf=olympe.dc.bb.prototype.Of;olympe.dc.bb.prototype.isModel=olympe.dc.bb.prototype.mh;
605
- olympe.dc.bb.prototype.extension=olympe.dc.bb.prototype.Ze;olympe.dc.bb.prototype.model=olympe.dc.bb.prototype.model;olympe.dc.bb.prototype.name=olympe.dc.bb.prototype.name;olympe.dc.bb.prototype.exist=olympe.dc.bb.prototype.Hb;olympe.dc.db.Pc=class a{constructor(b){this.id=b||olympe.aa.Il();this.C=new Map}toJSON(){let b='{ "id": '+JSON.stringify(this.id)+', "instances": {';for(const c of this.C.keys()){const d=this.C.get(c);b+=JSON.stringify(c)+': '+d.toJSON()+', '}b.endsWith(', ')&&(b=b.substr(0,b.length-2));return b+'}}'}static Vb(b){var c;'string'===typeof b?c=JSON.parse(b):c=b;b=new olympe.dc.db.Pc(c.id);c=c.instances;for(const d of Object.keys(c)){const e=olympe.dc.db.vf.Vb(c[d]);b.C.set(d,e)}return b}da(){return this.id}G(b){const c=
606
- olympe.dc.db.vf.C.Rk,d=olympe.dc.db.vf.C.DELETE,e=olympe.dc.db.vf.C.qj;this.C.forEach((f,g)=>{const h=f.getState();switch(h.id){case c:b.F(g,f.Va()?f.Ld():void 0);break;case e:f.Va()&&b.ec(g,f.Ld(),h.ai);break;case d:b.lc(g,h.ai)}for(const [k,m,n]of f.O())n?b.oa(k,g,m):b.mb(k,g,m)})}O(){let b=0;this.C.forEach(c=>{b+=c.rc()});return b}F(b,c){b=this.L(b).create();c&&b.La(c)}ec(b,c,d){c&&(b=this.L(b).La(c),d&&b.yc())}lc(b,c=olympe.dc.ob.NONE){const d=this.C.get(b);if(d&&d.U())this.U(b,c);else{this.L(b).delete(c);
607
- for(const e of this.fa(b,c))this.C.get(e).Ld().clear(),this.ia(e,!0)}}oa(b,c,d){this.L(c).sa(b,d);this.L(d).Wa(b,c)}mb(b,c,d){this.L(c).Ja(b,d);this.L(d).wb(b,c)}fe(){return function*(b){for(const c of b.values())if(c.U()||c.$()||c.Va())yield c}(this.C)}Nb(b){return this.C.get(olympe.dc.Fa(b))||null}U(b,c=olympe.dc.ob.NONE){b=this.fa(b,c);for(const d of b)this.ia(d,!1),this.C.delete(d)}La(){return function*(b){for(var c=b.next();!c.done;){c=c.value;const d=c.tag();yield*c.O((e,f,g)=>[e,d,f,g]);c=
608
- b.next()}}(this.C.values())}Tl(b,c,d=(e,f)=>[e,f]){return this.sa(b,c,d)}*sa(b,c,d,e=[]){e.push(b);b=this.Nb(b);for(const [f,g]of b.$a(c))e.includes(f)||(yield*this.sa(f,c,d,e),yield d(f,g))}$(b,c,d){const e=this.C.get(c),f=this.C.get(d);e&&e.fa(b,olympe.dc.Ka.DESTINATION,d);f&&f.fa(b,olympe.dc.Ka.ORIGIN,c)}Ja(){const b=new a(this.id);this.C.forEach((c,d)=>{b.C.set(d,c.vc())});return b}ia(b,c){var d=olympe.dc.Ka.ORIGIN;const e=olympe.dc.Ka.DESTINATION,f=this.C.get(b);for(const [g,h,k]of f.O()){if(!k&&
609
- c)continue;const m=this.C.get(h);m&&m.fa(g,d,b)}for(const [g,h,k]of f.Ra())(k||!c)&&(d=this.C.get(h))&&d.fa(g,e,b)}fa(b,c){const d=olympe.dm.Relation.C.ij,e=olympe.dm.Relation.C.oj,f=olympe.dc.Ka.ORIGIN,g=olympe.dc.Xa();b=new Set([b]);for(const k of b){var h=this.C.get(k);if(void 0!==h){for(const [m,n]of h.O())zd(g,m,c)&e&&b.add(n);for(const [m,n]of h.Ra())zd(g,m,c)&d&&b.add(n)}for(const [m,n,p]of Ad(g,k))h=n===f?d:e,zd(g,m,c)&h&&b.add(p)}return Array.from(b).filter(k=>this.C.has(k))}L(b){let c=this.C.get(b);
610
- void 0===c&&(c=new olympe.dc.db.vf(b),this.C.set(b,c));return c}};olympe.dc.db.Pc.ka=[olympe.dc.Ef,olympe.dc.$k];const Ed=new Map;
611
- olympe.dc.db.vf=class a{constructor(b){this.ia=b;this.G=a.F(a.C.qj,!1);this.L=this.F=this.C=null}toJSON(){let b='{ "tag": '+JSON.stringify(this.ia)+', "state": '+JSON.stringify(this.G);if(this.C){b+=', "properties": {';for(var c of this.C.keys()){const d=this.C.get(c);b+=JSON.stringify(c)+': ';b=d.toJSON?b+d.toJSON():b+JSON.stringify(d);b+=', '}b.endsWith(', ')&&(b=b.substr(0,b.length-2));b+='}'}if(this.F){b+=', "relations": {';for(const d of this.F.keys()){c=this.F.get(d);b+=JSON.stringify(d)+': {';
612
- for(const e of c.keys())b+=JSON.stringify(e)+': '+JSON.stringify(c.get(e))+', ';b.endsWith(', ')&&(b=b.substr(0,b.length-2));b+='}, '}b.endsWith(', ')&&(b=b.substr(0,b.length-2));b+='}'}return b+'}'}static Vb(b){var c;'string'===typeof b?c=JSON.parse(b):c=b;b=new olympe.dc.db.vf(c.tag);b.G=c.state;const d=c.properties;if(d){b.C=new Map;for(var e of Object.keys(d)){const f=d[e],g=f.type;let h=f;g&&('reference'===g?h=olympe.dc.Bc.Vb(f):h=olympe.D.Vb(f));null!==h&&void 0!==h&&b.C.set(e,h)}}if(c=c.relations){b.F=
613
- new Map;for(const f of Object.keys(c)){e=new Map;for(const g of Object.keys(c[f]))e.set(g,c[f][g]);b.F.set(f,e)}}return b}static F(b,c){const d=String(b)+','+String(c);let e=Ed.get(d);void 0===e&&(e={id:b,ai:c},Ed.set(d,e));return e}tag(){return this.ia}getState(){return this.G}create(){this.G=a.F(a.C.Rk);return this}delete(b=olympe.dc.ob.NONE){this.G=a.F(a.C.DELETE,b);this.C=null;return this}yc(){this.G.id===a.C.qj&&(this.G=a.F(a.C.qj,!0))}Ba(b,c){if(this.G.type===a.C.DELETE)return this;this.C||
614
- (this.C=new Map);this.C.set(b,c);return this}La(b){this.C||(this.C=new Map);b.forEach((c,d)=>{this.C.set(d,c)});return this}$b(b){this.C&&this.C.delete(b);0===this.C.size&&(this.C=null)}sa(b,c){null===this.F&&(this.F=new Map);this.Ma(this.F,b,c,!0)}Ja(b,c){null===this.F&&(this.F=new Map);this.Ma(this.F,b,c,!1)}Wa(b,c){this.L||(this.L=new Map);this.Ma(this.L,b,c,!0)}wb(b,c){this.L||(this.L=new Map);this.Ma(this.L,b,c,!1)}Nc(b,c,d){if(c=c===olympe.dc.Ka.ORIGIN?this.L:this.F)return(b=c.get(b))&&b.get(d)}fa(b,
615
- c,d){const e=(c=c===olympe.dc.Ka.ORIGIN?this.L:this.F)&&c.get(b);e&&e.delete(d);e&&0===e.size&&c.delete(b)}U(){return this.G.id===a.C.Rk}$(){return this.G.id===a.C.DELETE}rc(){let b=this.C?this.C.size:0;this.F&&this.F.forEach(c=>{b+=c.size});return b}vc(){const b=new a(this.ia);b.G=this.G;this.C&&b.La(this.C);for(const [c,d,e]of this.O())e?b.sa(c,d):b.Ja(c,d);for(const [c,d,e]of this.Ra())e?b.Wa(c,d):b.wb(c,d);return b}Va(){return null!==this.C}Ld(){return this.C||new Map}Ib(b){if(this.C)return this.C.get(b)}$a(b,
616
- c=(d,e)=>[d,e]){return function*(d){if(d=d&&d.get(b.R()))for(const [e,f]of d)yield c(e,f)}(b.Oa()===olympe.dc.Ka.ORIGIN?this.L:this.F)}O(b=(c,d,e)=>[c,d,e]){return this.lb(this.F,b)}Ra(b=(c,d,e)=>[c,d,e]){return this.lb(this.L,b)}qc(b=(c,d,e,f)=>[c,d,e,f]){const c=olympe.dc.Ka.ORIGIN,d=olympe.dc.Ka.DESTINATION;return function*(e,f,g){yield*e(f,(h,k,m)=>b(h,d,k,m));yield*e(g,(h,k,m)=>b(h,c,k,m))}(this.lb.bind(this),this.F,this.L)}Ma(b,c,d,e){if(this.G.id!==a.C.DELETE||!e){var f=b.get(c);if(void 0===
617
- f)f=new Map,b.set(c,f);else if(b=f.get(d),void 0!==b&&b!==e){f.delete(d);return}f.set(d,e)}}*lb(b,c){if(null!==b)for(const [d,e]of b){b=e.entries();for(const [f,g]of b)yield c(d,f,g)}}};olympe.dc.db.vf.C={Rk:0,qj:1,DELETE:2};function Jc(a,b,c,d,e){const f=olympe.dc.db.Instance.C.Rs,g=olympe.dc.db.Instance.C.rp,h=b.da();if(a.F.has(h))throw Error(`You try to execute the patch ${h} a second times whereas the first execution has not been validated yet.`);const k=new Fd(b,Gd(a,b),c);a.C.push(h);a.F.set(h,k);a.G.ia();a.G.La(d,f);a.G.La(e,g);Kc(a,b,c);a.G.fa()}function Kc(a,b,c){a.L.C(c,b,d=>{d||a.N.debug('CommitController: Rebase of patch',b.da(),'done')})}
618
- function Lc(a,b,c){return a.C.slice(0,c).map(d=>a.F.get(d)).reduce((d,e)=>e?e.mf(d):d,b)}
619
- function Gd(a,b){const c=a.G,d=olympe.dc.db.Database.C.Zg,e=olympe.dc.db.Database.C.cd,f=olympe.dc.db.Database.C.ORIGIN,g=olympe.dc.db.Database.C.DESTINATION,h=olympe.dc.Ob.VERSION,k=new olympe.dc.db.Pc('rev-'+b.da());a.N.debug('Generate the reverse graphLayer of',b.da());b.C.forEach((m,n)=>{if(m.U()){k.lc(n,olympe.dc.ob.NONE);for(const [t,u]of m.O())k.mb(t,n,u)}else{var p=c.get(n);if(void 0!==p){var q=(new Map).set(h,p.version());if(m.$()){m=m.getState().ai;for(const t of c.Va(n,m))c.get(t).forEach((u,
620
- w)=>{const x=w[0],I=w.substr(1);x===d?q.set(I,u):x===e?q.set(w,u):x===f?u.forEach((D,z)=>{k.oa(I,z,t,0)}):x===g&&u.forEach((D,z)=>{k.oa(I,t,z,0)})}),k.F(t,q,0)}else{for(const t of m.Ld().keys()){var r=t[0]===e;const u=r?t.substr(1):t;r=r?p.La(u,!0):p.Ib(u,!0);q.set(t,void 0===r?null:r)}1<q.size&&k.ec(n,q,!0,0);for(const [t,u,w]of m.O())w?k.mb(t,n,u):k.oa(t,n,u)}}}});return k}
621
- olympe.dc.db.Wq=class{constructor(a,b,c){this.N=a;this.G=b;this.L=c;this.C=[];this.F=new Map}mf(a,b){Kc(this,Lc(this,a,this.C.length),b)}push(a){const b=this.C.indexOf(a);if(-1<b){const c=this.F.get(a);this.C.splice(b,1);Lc(this,c.F,b);this.F.delete(a)}}};function Hd(a,b,c,d){const e=olympe.dc.Ka.DESTINATION;c=c.tag();const f=a.C.Nb(c);b.Ld().forEach((g,h)=>{f.Ba(h,g);b.$b(h)});for(const [g,h,k,m]of b.qc()){if(!m)continue;const n=h===e?c:k,p=h===e?k:c;a.C.oa(g,n,p);d.$(g,n,p)}}
622
- function Id(a,b,c,d){const e=olympe.dc.Ka.DESTINATION,f=c.tag(),g=a.C.Nb(f);b.Ld().forEach((h,k)=>{void 0!==c.Ib(k)&&(g.Ba(k,h),b.$b(k))});for(const [h,k,m]of b.O()){const n=c.Nc(h,e,k);void 0!==n&&(d.$(h,f,k),n===m&&a.C.$(h,f,k))}}
623
- class Fd{constructor(a,b,c){this.F=a;this.C=b;this.source=c;this.db=olympe.dc.Xa()}da(){return this.F.da()}mf(a){var b=this.F.C,c=a.C;const d=b.size>c.size,e=d?b:c;b=d?c:b;for(const [g,h]of b){b=g;var f=e.get(b);void 0!==f&&(c=d?f:h,f=d?h:f,f.$()?c.U()||this.C.U(b,f.getState().ai):c.$()?(Hd(this,f,c,a),a.U(b,c.getState().ai)):Id(this,f,c,a))}return a}};olympe.dc.db.T={Ga:'dc.db.Logger',ua:'dc.db.DatabaseManager',Li:'dc.db.Database',bb:'dc.db.Driver',Qi:'dc.db.Graph',Um:'dc.db.DataProcessor',Xm:'dc.db.DebugProcessor',Qs:'dc.db.PermissionProcessor',Hh:'dc.db.GraphMonitor'};olympe.dc.db.Z={yn:'db.garbageCollector',Hh:'db.monitor',Wm:'db.debug'};
624
- olympe.V.Cb(function(a){C(a,olympe.dc.db.Z.yn,olympe.dc.db.Ah.C.$o);C(a,olympe.dc.db.Z.Hh,!1);C(a,olympe.dc.db.Z.Wm,!1);B(a,olympe.dc.db.T.Ga,[olympe.ya.T.ua],b=>b.Cc('dc.db'));B(a,olympe.dc.db.T.Li,[olympe.dc.db.T.Ga,new olympe.V.la(olympe.dc.Z.Ym),new olympe.V.la(olympe.dc.db.Z.yn),new olympe.V.la(olympe.dc.Z.ig),new olympe.V.la(olympe.dc.db.Z.Wm)],(b,c,d,e,f)=>{d=e?olympe.dc.db.Ah.C.pk:d;c=(new Map).set('defaultSource',c).set('garbageCollector',d).set('debug',f);return new olympe.dc.db.Database(b,
625
- c)});B(a,olympe.dc.db.T.Qi,[olympe.dc.db.T.ua],b=>b.Ol());B(a,olympe.dc.db.T.bb,[olympe.dc.db.T.ua],b=>b.view);B(a,olympe.dc.db.T.Hh,[olympe.dc.db.T.ua],b=>b.Fw);y(a,olympe.dc.db.T.Xm,olympe.dc.db.Kb.cn,olympe.dc.T.Ga);B(a,olympe.dc.db.T.Um,[olympe.dc.db.T.Ga,olympe.dc.db.T.Li,olympe.V.T.pf,new olympe.V.la(olympe.dc.Z.qf)],(b,c,d,e)=>{b=new olympe.dc.db.Kb.up(b,c);e&&(b=new olympe.dc.al(la(d,olympe.dc.db.T.Xm),b));return b});y(a,olympe.dc.db.T.Qs,olympe.dc.db.Kb.dg,olympe.dc.T.Ga,olympe.dc.T.Lg,olympe.dc.T.oe);
626
- y(a,olympe.dc.db.T.ua,olympe.dc.db.ar,olympe.dc.db.T.Ga,olympe.dc.db.T.Li,olympe.dc.T.oe,olympe.dc.db.T.Um,new olympe.V.la(olympe.dc.db.Z.Hh))},'olympe.dc.db');olympe.V.run([olympe.dc.db.T.Li,olympe.dc.db.T.Hh],(a,b)=>{void 0!==window&&(window.db=a,window.dbMonitor=b)},'DC.DB debug service injection');olympe.dc.db.Kb={};olympe.dc.db.Kb.up=class{constructor(a,b){this.N=a;this.G=b;this.buffer=[]}C(a,b,c){this.G.ia();b.G(this);this.G.fa();c(null,b)}F(a,b){this.G.create(a,b)}ec(a,b,c){this.G.update(a,b,c)}lc(a,b=olympe.dc.ob.NONE){for(const c of this.G.Va(a,b))this.G.lc(c)}oa(a,b,c){this.G.rc(a,b,c)}mb(a,b,c){this.G.yc(a,b,c)}};olympe.dc.db.Kb.up.ka=[olympe.dc.Ne,olympe.dc.Ef];function Jd(a,b,c){if(!b)return'';let d='';if(c&&1<c)return'...';for(const [e,f]of b)d+=(d?', "':'"')+e+'":',f?f instanceof olympe.dc.Bc||f instanceof olympe.dc.Sync?d+='new olympe.dc.Reference("'+f.R()+'")':f instanceof olympe.D.Color?d+='new olympe.df.Color("'+f.xg()+','+f.ug()+','+f.pg()+','+f.og()+'")':f.constructor&&Object.prototype.hasOwnProperty.call(f.constructor.prototype,'toString')?d+=JSON.stringify(f.toString()):'object'===typeof f&&(d+=Jd(a,f,(c||0)+1)):d+=JSON.stringify(f);return'{'+
627
- (d?d:'')+'}'}function Kd(a){switch(a){case olympe.dc.Jc.le:return'Model';case olympe.dc.Sync.La.R():return'Owner';case olympe.dc.Sync.F.R():return'GroupOfObjects';default:return''}}
628
- olympe.dc.db.Kb.cn=class{constructor(a){this.N=a;this.G=''}C(a,b,c){this.G='Patch #'+b.da()+' (source: '+a+')';b.G(this);this.N.info(this.G);this.G='';c(null,b)}log(a,b){this.G+='\ndb.'+a+';'+(b?' // '+b:'')}F(a,b){this.log('createInstance("'+a+'", '+Jd(this,b)+')')}ec(a,b){this.log('updateInstance("'+a+'", '+Jd(this,b)+')')}lc(a,b){var c=olympe.dc.Xa();const d=c.model(a);c=d?c.name(d)+' #'+d:'';this.log('deleteInstance("'+a+'", rule: '+b+')',c)}oa(a,b,c){this.log('createRelation("'+a+'", "'+b+'", "'+
629
- c+'")',Kd(a))}mb(a,b,c){this.log('deleteRelation("'+a+'", "'+b+'", "'+c+'")',Kd(a))}};olympe.dc.db.Kb.cn.ka=[olympe.dc.Ef,olympe.dc.Ne];olympe.dc.db.Kb.dg=class{constructor(a,b,c){this.N=a;this.db=b;this.L=c;this.G=new Ld;this.F=Object.create(null)}C(a,b,c){let d=null;if(a!==olympe.dc.Qa.ed){b.G(this.G);const e=this.G.flush();a=this.L.sa(a);this.F[a]||(this.F[a]=new olympe.dc.ha.dg(a));try{b.G(new Md(this.F[a],this.db,e))}catch(f){d=f}}null!==d?c(d,null):c(null,b)}};class Nd{constructor(){this.G={};this.C={};this.F={}}}
630
- class Ld{constructor(){this.C=new Nd}flush(){const a=this.C;this.C=null;return a}F(a){this.C.C[a]=a}ec(){}lc(a){this.C.F[a]=a}oa(a,b,c){a===olympe.dc.Sync.modelRel.R()&&(this.C.G[b]=c)}mb(){}}function W(a,b){throw Error('Permission error for instance: '+a+': '+b);}
631
- class Md{constructor(a,b,c){var d=olympe.dc.mc();this.C=olympe.D.createNode(Number);this.L=new olympe.dc.ba.Ki(this.C,a);this.db=b;this.G=d;this.O=c}F(a){const b=this.O.G[a]||this.db.model(a);b?(J(this.C,olympe.dm.Ia.C.gj),this.L.C(this.G,b)||W(a,'CreateInstance requires CREATE permission on the model '+b)):W(a,'CreateInstance requires to create a relation with the model')}ec(a){J(this.C,olympe.dm.Ia.C.READ_WRITE);!this.O.C[a]||this.L.C(this.G,a)||W(a,'UpdateInstance requires READ_WRITE permission on the instance')}lc(a){J(this.C,
632
- olympe.dm.Ia.C.Ko);!this.O.C[a]||this.L.C(this.G,a)||W(a,'DeleteInstance requires READ_DELETE permission on the instance')}oa(a,b,c){!this.O.F[b]&&W(b,'Cannot create a relation which link an instance deleted in the same transaction');!this.O.F[c]&&W(c,'Cannot create a relation which link an instance deleted in the same transaction');J(this.C,olympe.dm.Ia.C.gj);!this.O.C[a]||this.L.C(this.G,a)||W(a,'CreateRelation requires READ_CREATE permission on the PropDef');let d=!1,e=!1;switch(this.db.Ib(a,olympe.dm.Relation.xi)){case olympe.dm.Relation.G.il:J(this.C,
633
- olympe.dm.Ia.C.READ_WRITE);d=!0;break;case olympe.dm.Relation.G.hl:J(this.C,olympe.dm.Ia.C.fg);d=!0;break;case olympe.dm.Relation.G.Ok:J(this.C,olympe.dm.Ia.C.READ_WRITE);e=!0;break;case olympe.dm.Relation.G.Nk:J(this.C,olympe.dm.Ia.C.fg);e=!0;break;case olympe.dm.Relation.G.bk:J(this.C,olympe.dm.Ia.C.READ_WRITE);d=e=!0;break;case olympe.dm.Relation.G.$j:J(this.C,olympe.dm.Ia.C.fg),d=e=!0}!d||!this.O.C[c]||this.L.C(this.G,c)||W(c,'CreateRelation requires more permissions on this instance');!e||!this.O.C[b]||
634
- this.L.C(this.G,b)||W(b,'CreateRelation requires more permissions on this instance')}mb(a,b,c){J(this.C,olympe.dm.Ia.C.gj);this.L.C(this.G,a)||W(a,'DeleteRelation requires READ_CREATE permission on the PropDef');let d=!1,e=!1;switch(this.db.Ib(a,olympe.dm.Relation.xi)){case olympe.dm.Relation.G.il:J(this.C,olympe.dm.Ia.C.READ_WRITE);d=!0;break;case olympe.dm.Relation.G.hl:J(this.C,olympe.dm.Ia.C.fg);d=!0;break;case olympe.dm.Relation.G.Ok:J(this.C,olympe.dm.Ia.C.READ_WRITE);e=!0;break;case olympe.dm.Relation.G.Nk:J(this.C,
635
- olympe.dm.Ia.C.fg);e=!0;break;case olympe.dm.Relation.G.bk:J(this.C,olympe.dm.Ia.C.READ_WRITE);d=e=!0;break;case olympe.dm.Relation.G.$j:J(this.C,olympe.dm.Ia.C.fg),d=e=!0}d&&!this.L.C(this.G,c)&&W(c,'DeleteRelation requires more permissions on this instance');e&&!this.L.C(this.G,b)&&W(b,'DeleteRelation requires more permissions on this instance')}}olympe.dc.db.Kb.dg.ka=[olympe.dc.Ne,olympe.dc.Ef,olympe.dc.Ef];olympe.dc.transaction={};function Od(a,b){a.F&&a.Qj?(a.F=!1,Pd(olympe.dc.ki(),olympe.dc.ma.ra.Cm,{i:a.da()},b)):b&&b(!0,null)}
636
- olympe.dc.wh=class{constructor(a,b){this.id=a||olympe.aa.Qb();this.C=new olympe.D.ic('BurstTransaction#'+this.id,b);this.G=Qd(this);this.F=this.Qj=!1;this.C.onDestroy(()=>Od(this));this.O=new Set;this.L=new Map}push(a,b){const c=olympe.dc.Fa(a);a=b.subscribe(d=>{for(const [e,f]of d)this.L.get(e)!==f&&(this.L.set(e,f),this.G(c,olympe.dc.Fa(e),f.valueOf()))});this.O.add(a)}complete(){return new Promise((a,b)=>{Od(this,(c,d)=>{for(const e of this.O)e.unsubscribe();c?a():b(d)})})}update(a,b,c){const d=
637
- olympe.dc.Fa(a),e=olympe.dc.Fa(b);void 0===d||void 0===e?olympe.dc.ki().tb().error('Burst transaction: instance tag or property tag is undefined'):this.C.run(()=>{olympe.D.km([c],f=>{this.F=!0;f instanceof olympe.dc.Bc?olympe.dc.ki().tb().error('Cannot send complex property values in burst transactions'):this.G(d,e,f.valueOf())})})}stop(){this.C.fb()}da(){return this.id}Bg(){return this.Qj}toString(){return'Burst transaction #'+this.id}};olympe.dc.wh.prototype.complete=olympe.dc.wh.prototype.complete;
638
- olympe.dc.wh.prototype.push=olympe.dc.wh.prototype.push;olympe.dc.Ia=class{Mb(){}toString(){}};olympe.dc.transaction.xf=class{constructor(a){this.id=a||olympe.aa.Il();this.ta=[];this.size=0}da(){return this.id}O(){return this.size}concat(a){this.ta.push(...a.ta)}G(a){const b=olympe.dc.transaction.xf.C,c=this.ta.length;let d=0;for(;d<c;)switch(this.ta[d]){case b.Om:a.F(this.ta[d+1],this.ta[d+2],this.ta[d+3]);d+=4;break;case b.lp:a.ec(this.ta[d+1],this.ta[d+2],this.ta[d+3],this.ta[d+4]);d+=5;break;case b.Zm:a.lc(this.ta[d+1],this.ta[d+2],this.ta[d+3]);d+=4;break;case b.Pm:a.oa(this.ta[d+1],this.ta[d+
639
- 2],this.ta[d+3],this.ta[d+4]);d+=5;break;case b.$m:a.mb(this.ta[d+1],this.ta[d+2],this.ta[d+3],this.ta[d+4]);d+=5;break;default:throw Error('Invalid Patch operations "'+this.ta[d]+'"');}}F(a,b,c){this.ta.push(olympe.dc.transaction.xf.C.Om,a,b,c);this.size++}ec(a,b,c,d){this.ta.push(olympe.dc.transaction.xf.C.lp,a,b,c,d);this.size++}lc(a,b=olympe.dc.ob.NONE,c){this.ta.push(olympe.dc.transaction.xf.C.Zm,a,b,c);this.size++}oa(a,b,c,d){if('string'!==typeof a)throw Error('Relation should be created using a tag as string (most likely a relation object is given here instead)');
640
- this.ta.push(olympe.dc.transaction.xf.C.Pm,a,b,c,d);this.size++}mb(a,b,c,d){this.ta.push(olympe.dc.transaction.xf.C.$m,a,b,c,d);this.size++}};olympe.dc.transaction.xf.C={Om:1,lp:2,Zm:3,Pm:4,$m:5};olympe.dc.transaction.xf.ka=[olympe.dc.Ef,olympe.dc.$k];function Rd(a,b){return a.U[b]||a.db.source(b)||olympe.dc.Qa.ed}function Sd(a,b){return a.O.has(b)?a.O.get(b):a.db.Fj(b)}function Td(a,b,c,d){var e=d&&d.get(olympe.dc.Ob.VERSION);a.G.set(b,Number(e)||1);d&&(a.U[b]=d.get(olympe.dc.Ob.Jd));e=Rd(a,b);a.O.set(b,c&&a.ph);a.ad(e,c,f=>{f.F(b,d,0)})}function Ud(a,b,c,d){null===a.C&&(a.C=Object.create(null));c in a.C||(a.C[c]=[]);0>a.C[c].indexOf(b)&&(Vd(a,b).F(c,(new Map).set(olympe.dc.Ob.Jd,d),0),a.C[c].push(b))}
641
- function Vd(a,b){let c=a.F.get(b);c||(c=new olympe.dc.db.Pc(a.id),a.F.set(b,c));return c}
642
- olympe.dc.transaction.Ts=class{constructor(a,b){this.id=b||olympe.aa.Qb();this.db=a;this.F=new Map;this.L=new olympe.dc.db.Pc(b);this.G=new Map;this.U={};this.$={};this.O=new Map;this.C=null;this.ph=!0}bm(){return 0===this.L.C.size}persist(a){this.ph=a}ec(a,b,c=!1){var d=b&&b.get(olympe.dc.Ob.VERSION);this.G.set(a,Number(d)||1);d=Rd(this,a);if(!d)throw Error('Attempt to update an instance which has an unknown source.');this.ad(d,Sd(this,a),e=>{e.ec(a,b,c,0)})}lc(a,b){const c=Rd(this,a),d=Sd(this,
643
- a);this.ad(c,d,f=>{f.lc(a,b)});var e=this.db.model(a);e&&(e=Rd(this,e),c!==e&&this.ad(e,d,f=>{f.lc(a,b)}))}oa(a,b,c){const d=Rd(this,b),e=Rd(this,c),f=Sd(this,b)&&Sd(this,c);this.ad(d,f,g=>{g.oa(a,b,c,0)});f&&d!==e&&(Ud(this,d,c,e),Ud(this,e,b,d),this.ad(e,f,g=>{g.oa(a,b,c,0)}))}mb(a,b,c){const d=Rd(this,b),e=Rd(this,c),f=Sd(this,b)&&Sd(this,c);this.ad(d,f,g=>{g.mb(a,b,c,0)});f&&d!==e&&this.ad(e,f,g=>{g.mb(a,b,c,0)})}ad(a,b,c){c(this.L);b&&this.ph&&c(Vd(this,a))}};function Wd(a,b,c){const d=Object.create(null);if(!b)return d;for(let [e,f]of b){b=e;if(b===olympe.dc.Ob.Jd)if(f===olympe.dc.Qa.kb)d[b]=olympe.dc.Xa().da();else{if(f===olympe.dc.Qa.ed)continue}else b.startsWith(olympe.dc.Ob.VERSION)?(b=b.substr(1),f=null===f?1:f):b.startsWith(olympe.dc.ag.cd)&&(b='fd'+b.substr(1));const g=a.$(f);c&&g instanceof Object&&8===g.c?a.U.set(b,g):d[b]=g}return d}
644
- function Xd(a){if(0===a.U.size)return null;const b=Object.create(null);a.U.forEach((c,d)=>{b[d]=c});a.U.clear();return b}
645
- class Yd{constructor(){this.U=new Map}$(a){return a instanceof olympe.D.Pa||a instanceof olympe.D.ga||a instanceof olympe.D.ea?a.valueOf():a instanceof Date||a instanceof olympe.D.Ya?(a=a instanceof olympe.D.Ya?a.valueOf():a,{c:4,y:a.getUTCFullYear(),M:a.getUTCMonth()+1,d:a.getUTCDate(),h:a.getUTCHours(),m:a.getUTCMinutes(),s:a.getUTCSeconds(),S:a.getUTCMilliseconds(),z:0}):a instanceof olympe.D.Color?{c:7,r:a.xg().valueOf(),g:a.ug().valueOf(),b:a.pg().valueOf(),a:a.og().valueOf()}:a&&'function'===
646
- typeof a.R?{c:8,t:a.R()}:a}}function Zd(a){a.hf=[];a.de=[];a.Ce=[];a.jf=[];a.Ye=[]}function $d(a){const b={};0<a.Ye.length&&(b.Ye=a.Ye);0<a.de.length&&(b.de=a.de);0<a.hf.length&&(b.hf=a.hf);0<a.Ce.length&&(b.Ce=a.Ce);0<a.jf.length&&(b.jf=a.jf);Zd(a);return b}function ae(a){const b=[...a.Ye,...a.de,...a.hf,...a.Ce,...a.jf];Zd(a);return b}
647
- olympe.dc.transaction.$g=class{constructor(a=!1){this.hf=[];this.de=[];this.Ce=[];this.jf=[];this.Ye=[];this.G=a;this.C=olympe.D?new Yd:new class extends Yd{$(b){return b&&'function'===typeof b.R?{c:8,t:b.R()}:b}}}flush(){return JSON.stringify(ae(this))}F(a,b,c=-1){this.hf.push({o:1,t:a,p:Wd(this.C,b||null,this.G),i:c});this.G&&(b=Xd(this.C))&&this.Ce.push({o:2,t:a,p:b,i:c})}ec(a,b,c,d=-1){this.Ce.push({o:2,t:a,p:Wd(this.C,b||null,!1),i:d})}lc(a,b,c=-1){this.de.push({o:3,t:a,f:b,i:c})}oa(a,b,c,d=
648
- -1){if(!a)throw Error('Cannot create relation of undefined type');if(!b)throw Error(`Cannot create relation ${a} from undefined origin to ${c}`);if(!c)throw Error(`Cannot create relation ${a} from ${b} to undefined destination`);this.jf.push({o:4,m:a,l:b,r:c,i:d})}mb(a,b,c,d=-1){if(!a)throw Error('Cannot delete relation of undefined type');if(!b)throw Error('Cannot delete relation with undefined origin');if(!c)throw Error('Cannot delete relation with undefined destination');this.Ye.push({o:5,m:a,
649
- l:b,r:c,i:d})}};olympe.dc.transaction.$g.ka=[olympe.dc.Ef];olympe.dc.transaction.dh=class{constructor(a){this.id=a||olympe.aa.Qb();this.C=new Map;this.L=new Map}da(){return this.id}F(a,b){this.C.has(a)&&console.warn('Try to add twice the same instance in the graph');const c=new olympe.dc.transaction.dh.Instance(a);if(b)for(const [d,e]of b)c.Ba(d,e);this.C.set(a,c)}ec(){throw Error('UpdateInstance should never be called on a SubGraph since it represents the result of a GraphDef Query');}lc(){throw Error('DeleteInstance should never be called on a SubGraph since it represents the result of a GraphDef Query');
650
- }oa(a,b,c){a=new olympe.dc.transaction.dh.Relation(b,c,a);this.L.set(a.toString(),a)}mb(a,b,c){a=new olympe.dc.transaction.dh.Relation(b,c,a);this.L.delete(a.F+'.'+a.G+'.'+a.C)}O(){return this.L.size+this.C.size}fe(){return this.C}G(a){const b=new Map;this.C.forEach((c,d)=>{const e=new Map;be(c,(f,g)=>{if(g instanceof olympe.dc.Bc){const h=b.get(d)||new Map;h.set(f,g);b.set(d,h)}else e.set(f,g)});a.F(d,e)});b.forEach((c,d)=>{a.ec(d,c)});this.L.forEach(c=>{a.oa(c.C,c.F,c.G)})}};
651
- function be(a,b){a.C.forEach((c,d)=>{b(d,b)})}olympe.dc.transaction.dh.Instance=class{constructor(a){this.tag=a;this.C=new Map}R(){return this.tag}Ba(a,b){this.C.set(a,b);return this}deleteProperty(a){this.C.delete(a);return this}};olympe.dc.transaction.dh.Relation=class{constructor(a,b,c){this.F=a;this.G=b;this.C=olympe.dc.Fa(c)}toString(){return this.F+'.'+this.G+'.'+this.C}};olympe.dc.transaction.dh.ka=[olympe.dc.Ef,olympe.dc.$k];function ce(a,b,c,d){c=a.create(c?c:olympe.dc.Sync,void 0);if('string'===typeof b)c.setProperty(olympe.dc.Sync.nameProp,b||'');else for(let f=Object.keys(b),g=f.length,h=0;h<g;h++)c.setProperty(f[h],b[f[h]]);b=c.R();d=d||olympe.dc.Sync;const e=olympe.dc.Sync.extendRel.R();a.We(new olympe.dc.transaction.ta.dn(e,b,!1));a.We(new olympe.dc.transaction.ta.jk(e,b,d));return c}function de(a){return(b,c)=>a.forEach(d=>d&&d(b,c))}
652
- olympe.dc.ib=class{constructor(a){this.id=a||olympe.aa.Qb();this.ta=[];this.ph=!0;this.Cl=[];this.Qj=!1}da(){return this.id}Rp(){return this.ta.length}We(a){a&&this.ta.push(a);return a}persist(a){this.ph=a;return this}Mb(a){a.persist(this.ph);const b=this.ta;for(let c=0,d=b.length;c<d;c++)b[c].Mb(a)}create(a,b){return this.We(new olympe.dc.transaction.ta.nd(a,b))}im(a,b=!0){const c=olympe.dc.Fa(a);var d=this.ta.find(e=>e instanceof olympe.dc.transaction.ta.nd&&e.R()===c);if(d)return d.persist(b);
653
- d=olympe.dc.Xa().model(a);if(null===d)throw Error('Try to persist a instance that does not exist: '+a);return this.create(d,a).persist(b)}delete(a,b=olympe.dc.ob.DELETE){this.We(new olympe.dc.transaction.ta.Oi(a,b))}update(a,b,c){return this.We(new olympe.dc.transaction.ta.fh(a,b,c))}oa(a,b,c){this.We(new olympe.dc.transaction.ta.jk(a,b,c))}mb(a,b,c,d){this.We(new olympe.dc.transaction.ta.br(a,b,c,d))}uu(a,b,c,d){this.We(new olympe.dc.transaction.ta.dn(a,b,c,d))}defineProperty(a,b,c,d,e,f){f=this.create(olympe.dm.Property,
654
- f);f.setProperty(olympe.dc.Sync.nameProp,c||'');void 0!==e&&this.update(a,olympe.dc.ag.cd+f.R(),e);this.oa(olympe.dc.Sync.propertyRel,a,f);this.oa(olympe.dm.Property.typeRel,f,b);d&&this.oa(olympe.dc.Sync.F,f,d);this.oa(olympe.dc.Sync.containsRel,a,f);return f}Yh(a,b,c='',d,{Xh:e=olympe.dm.Relation.L.Vk,wi:f=olympe.dm.Relation.G.fl,Op:g=olympe.dm.Relation.C.Oo,Mp:h=olympe.dm.Relation.C.ak,Ai:k=olympe.dm.Relation.C.Pn}={},m=olympe.aa.Qb()){m=this.create(olympe.dm.Relation,m);m.setProperty(olympe.dc.Sync.nameProp,
655
- c||'');m.setProperty(olympe.dm.Relation.ul,e);m.setProperty(olympe.dm.Relation.xi,f);m.setProperty(olympe.dm.Relation.Bl,g);m.setProperty(olympe.dm.Relation.Al,h);m.setProperty(olympe.dm.Relation.mm,k);this.oa(olympe.dc.Sync.fa,a,m);this.oa(olympe.dm.Relation.destinationModelRel,m,b);d&&this.oa(olympe.dc.Sync.F,m,d);this.oa(olympe.dc.Sync.containsRel,a,m);return m}Bg(){return this.Qj}Xt(a){this.Cl.push(olympe.D.Ha().C(a))}gd(a){a=de([...this.Cl,a]);ee(this,a,!1)}Gu(a){a=de([...this.Cl,a]);ee(this,
656
- a,!0)}toString(){return`Transaction #${this.id}`}};olympe.dc.ib.prototype.executeAsLarge=olympe.dc.ib.prototype.Gu;olympe.dc.ib.prototype.execute=olympe.dc.ib.prototype.gd;olympe.dc.ib.prototype.afterExecution=olympe.dc.ib.prototype.Xt;olympe.dc.ib.prototype.deleteAllRelations=olympe.dc.ib.prototype.uu;olympe.dc.ib.prototype.deleteRelation=olympe.dc.ib.prototype.mb;olympe.dc.ib.prototype.createRelation=olympe.dc.ib.prototype.oa;olympe.dc.ib.prototype.update=olympe.dc.ib.prototype.update;
657
- olympe.dc.ib.prototype['delete']=olympe.dc.ib.prototype.delete;olympe.dc.ib.prototype.persistInstance=olympe.dc.ib.prototype.im;olympe.dc.ib.prototype.create=olympe.dc.ib.prototype.create;olympe.dc.ib.prototype.persist=olympe.dc.ib.prototype.persist;olympe.dc.ib.prototype.addOperation=olympe.dc.ib.prototype.We;olympe.dc.ib.prototype.getId=olympe.dc.ib.prototype.da;olympe.dc.ib.ka=[olympe.dc.Ia];function Qd(a){var b=olympe.dc.ki();const c=a.da();b.G.set(c,a);a.C.onDestroy(()=>{b.G.delete(c)});return b.U.bind(b,a)}function fe(a){const b=olympe.dc.ma.ra.tk;a.F.C(olympe.dc.ma.ra.Dm,(c,d)=>{c=d.id;var e=d.rollback;d=d.error;const f=a.G.get(c);void 0!==f&&(a.G.delete(c),f.stop());olympe.dc.Sc().mf(e,olympe.dc.Qa.kb);a.N.warn(`Fast update (id=${c}) has been refused and is rolled back. Error: ${d}`)});a.F.C(b,(c,d)=>{c=d.finalize;var e=d.error;(d=(d=a.C.get(d.id))&&d.pop())&&d(c,e)})}
658
- function ee(a,b,c=!1){var d=olympe.dc.ki();const e=b?olympe.D.Ha().C(b):void 0;b=olympe.dc.Sc();const f=a.da(),g=new olympe.dc.transaction.Ts(d.db,f);a.Mb(g);if(g.bm())e&&e(!0,null);else{d.C.set(f,[]);const h=[],k=[];for(const n of g.G.keys())Sd(g,n)?h.push(n):k.push(n);const m=Ic(b,g.L,h,k);ge(d,g,(n,p,q)=>{p?(he(d,f,h,g.F.size),ie(d,g,c,a.Bg(),(r,t)=>{!r&&d.C.has(f)&&(d.C.get(f).forEach(u=>u(olympe.dc.transaction.lg.C.bj,t)),je(d,f));m(r);n&&n(r);e&&e(r,t)})):(d.N.error(q),m(!1),e&&e(!1,q))})}}
659
- function Pd(a,b,c,d){b=vc(new olympe.dc.ma(b,c,[olympe.dc.Qa.ed]),e=>{e instanceof Error?(a.N.error(e.message),d&&d(!1,e.message)):d&&d(!0,null)});a.F.send(b)}
660
- function ge(a,b,c){const d=[];for(const p of b.G.keys())a.db.Of(p,olympe.dm.File)&&Sd(b,p)&&d.push(p);if(0===d.length)c(null,!0,null);else{var e=olympe.dm.File.urlProp.R(),f=olympe.dm.File.C.R(),g=olympe.dm.File.modificationDateProp.R(),h=Array.from(b.F.values()),k=[],m=new olympe.async.yf(olympe.D.tg()),n=olympe.aa.ei();d.forEach(p=>{m.add((q,r)=>{const t=a.db.Ib(p,e,!0),u=a.db.Ib(p,olympe.dm.File.mimeTypeProp)||'application/data';t.startsWith('blob:')?n.C(t,w=>{n.U(t);null===w?q():a.O.ce(p,w,u,
661
- x=>{const I=h.reduce((D,z)=>D||z.Nb(p),null);null!==I&&(I.Ba(e,x).Ba(f,!0),k.push([p,x]));q()},x=>{r(x)})}):(2048<t.length&&a.N.error('Trying to create a file with an URL longer than 2048. It likely is a data url and should be an object url. File tag:',p),q())})});yb(m,(p,q)=>{let r=null;if(p){const t=new olympe.dc.db.Pc;k.forEach(([u,w])=>{const x=new Map;x.set(e,w).set(f,!0).set(g,olympe.D.Ya.now());t.ec(u,x,!0,0)});r=Ic(olympe.dc.Sc(),t,[],[])}c(r,p,q)});m.start()}}
662
- function he(a,b,c,d){const e=olympe.D.tg(),f=new olympe.async.yf(e);0<a.timeout&&xb(f,a.timeout);const g=a.C.get(b);for(let h=0;h<d;h++)f.add((k,m,n)=>{g.push(e.C((p,q)=>{n.set('final',p);q?m(q):k()}))});yb(f,(h,k,m)=>{h||a.N.warn(`An error occurred while processing the notification of transaction (${b}): ${k}.`);m.get('final')!==olympe.dc.transaction.lg.C.vo&&olympe.dc.Sc().persist(c);je(a,b)});f.start()}
663
- function ie(a,b,c,d,e){b=b.F;if(0===b.size)e(!0,null);else{var f=c?olympe.dc.ma.ra.nl:olympe.dc.ma.ra.Qh;c=(h,k,m,n)=>{h=vc(new olympe.dc.ma(f,{ad:h,Bg:d},[k]),p=>{p instanceof Error?n(p.message):m()});a.F.send(h)};var g=new olympe.async.yf(olympe.D.tg());for(const [h,k]of b)g.add(c.bind(null,k,h));yb(g,e);g.start()}}function je(a,b){a.C.delete(b);if(0===a.C.size){for(const c of a.L)c();a.L=[]}}function ke(a,b){0<a.C.size?a.L.push(olympe.D.Ha().C(b)):b()}
664
- olympe.dc.transaction.lg=class{constructor(a,b,c,d,e){this.N=a;this.db=b;this.F=c;this.O=d;this.timeout=e;this.G=new Map;this.C=new Map;this.L=[];fe(this)}tb(){return this.N}U(a,b,c,d){const e=olympe.dc.Qa.kb,f=olympe.dc.Ob.VERSION,g=a.Bg(),h=this.db.version(b),k=this.db.source(b);a=new olympe.dc.db.Pc(a.da());a.ec(b,(new Map).set(c,d).set(f,h+1),!1,0);olympe.dc.Sc().mf(a.Ja(),e);k!==e&&this.F.send(new olympe.dc.ma(olympe.dc.ma.ra.vh,{ad:a,Bg:g},[k]))}};olympe.dc.transaction.lg.C={bj:0,Gs:1,vo:2};olympe.dc.transaction.T={Ga:'dc.transaction.Logger',ua:'dc.transaction.Manager'};olympe.dc.transaction.Z={TIMEOUT:'dc.transaction.timeout'};olympe.V.Cb(function(a){C(a,olympe.dc.transaction.Z.TIMEOUT,6E4);B(a,olympe.dc.transaction.T.Ga,[olympe.ya.T.ua],b=>b.Cc('dc'));y(a,olympe.dc.transaction.T.ua,olympe.dc.transaction.lg,olympe.dc.transaction.T.Ga,olympe.dc.T.Lg,olympe.dc.T.oe,olympe.dc.T.xh,new olympe.V.la(olympe.dc.transaction.Z.TIMEOUT))},'olympe.dc.transaction');olympe.dc.transaction.ta={};function X(a){return olympe.dc.Fa(a)}function le(a,b){const c=new Map;for(const [d,e]of b)c.set(d,a.Sa(e));return c}olympe.dc.transaction.ta.Vf=class{Mb(){throw Error('Abstract method build() not override !');}toString(){throw Error('Abstract method toString() not override !');}Sa(a){a=olympe.D.Sa(a);return void 0===a||null===a?null:olympe.D.gq(a)?a.valueOf():a}};olympe.dc.transaction.ta.Vf.ka=[olympe.dc.Ia];olympe.dc.transaction.ta.nd=class extends olympe.dc.transaction.ta.Vf{constructor(a,b){super();this.tag=void 0!==b?b:olympe.aa.Qb();this.model=a;this.C=new Map;this.F=!0;this.C.set(olympe.dc.Ob.VERSION,1)}R(){return X(this.tag)}Wb(){return X(this.model)}persist(a){this.F=a;return this}si(){this.C.set(olympe.dc.Ob.Jd,olympe.dc.Qa.kb)}setProperty(a,b){this.C.set(olympe.dc.Fa(a),b);return this}Sj(a){this.setProperty(olympe.dc.Sync.nameProp.R(),a);return this}Mb(a){const b=olympe.dc.Xa(),c=this.Wb(),
665
- d=this.R();if(void 0===c)throw Error('OperationError: Cannot create instance, model tag is undefined');if(this.C.has(olympe.dc.Ob.Jd))this.C.get(olympe.dc.Ob.Jd)===olympe.dc.Qa.kt&&(this.C.set(olympe.dc.Ob.Jd,olympe.dc.Qa.kb),this.F=!1);else{var e=b.source(c);this.C.set(olympe.dc.Ob.Jd,null!==e?e:olympe.dc.Qa.ed)}if(b.Hb(d)&&!b.Fj(d)&&this.F){e=new Map([...b.Ld(d,!0),...le(this,this.C)]);for(const f of e.values())if(f instanceof olympe.dc.Bc&&!Sd(a,f.R())){const g=new olympe.dc.ib;g.im(f.R());g.Mb(a)}Td(a,
666
- d,this.F,e);a.oa(olympe.dc.Sync.modelRel.R(),d,c);for(const [f,g,h]of Ad(b,d))Sd(a,h)&&(g===olympe.dc.Ka.ORIGIN?a.oa(f,h,d):a.oa(f,d,h))}else b.Hb(d)||(Td(a,d,this.F,le(this,this.C)),a.oa(olympe.dc.Sync.modelRel.R(),d,c))}toString(){return`CreateInstance(${this.Wb()}, ${this.R()})`}};olympe.dc.transaction.ta.nd.prototype.setProperty=olympe.dc.transaction.ta.nd.prototype.setProperty;olympe.dc.transaction.ta.nd.prototype.localSource=olympe.dc.transaction.ta.nd.prototype.si;
667
- olympe.dc.transaction.ta.nd.prototype.persist=olympe.dc.transaction.ta.nd.prototype.persist;olympe.dc.transaction.ta.nd.prototype.getModelTag=olympe.dc.transaction.ta.nd.prototype.Wb;olympe.dc.transaction.ta.nd.prototype.getTag=olympe.dc.transaction.ta.nd.prototype.R;olympe.dc.transaction.ta.nd.ka=[olympe.dc.Hd];olympe.dc.transaction.ta.jk=class extends olympe.dc.transaction.ta.Vf{constructor(a,b,c){super();this.type=a.Oa?a:new olympe.dc.W.Ab(X(a));this.C=b;this.F=c}Oa(){return this.Sa(this.type).Oa()}Mb(a){const b=X(this.type);if(''===b)throw Error('OperationError: Cannot create relation, type is undefined, null or empty string');if(b===olympe.dc.Jc.le)throw Error('OperationError: Cannot create the instance -> model relation');const c=X(this.C);if(''===c)throw Error('OperationError: Cannot create relation, origin tag is undefined, null or empty string');
668
- const d=X(this.F);if(''===d)throw Error('OperationError: Cannot create relation, destination tag is undefined, null or empty string');this.Oa()===olympe.dc.Ka.DESTINATION?a.oa(b,c,d):a.oa(b,d,c)}toString(){return`CreateRelation('${this.Oa()}${X(this.type)}, ${X(this.C)}, ${X(this.F)})`}};olympe.dc.transaction.ta.ky=class extends olympe.dc.transaction.ta.Vf{constructor(a,b=olympe.dc.ob.DELETE){super();this.model=a;this.C=b}Wb(){return X(this.model)}Mb(a){const b=this.Wb();if(void 0===b)throw Error('OperationError: Cannot delete instances of model, model is undefined');const c=olympe.dc.Xa();for(const d of c.fe(b))d!==b&&(new olympe.dc.transaction.ta.Oi(d,this.C)).Mb(a)}toString(){return`DeleteAllInstances(${this.Wb()}, ${this.C})`}};olympe.dc.transaction.ta.dn=class extends olympe.dc.transaction.ta.Vf{constructor(a,b,c,d){super();this.type=a.Oa?a:new olympe.dc.W.Ab(X(a));this.C=b;this.F=c||!1;this.G=d instanceof Array?d.map(e=>X(e)):null}Oa(){return this.Sa(this.type).Oa()}Mb(a){const b=X(this.type);if(void 0===b)throw Error('OperationError: Cannot delete relation, type is undefined');if(b===olympe.dc.Jc.le)throw Error('OperationError: Cannot delete the instance -> model relation');const c=X(this.C);if(void 0===c)throw Error('OperationError: Cannot delete relation, left tag is undefined');
669
- var d=olympe.dc.Xa();const e=this.Oa(),f=this.G;d=d.$a(c,this.type);for(const g of d)e===olympe.dc.Ka.DESTINATION?a.mb(b,c,g):a.mb(b,g,c),null!==f&&0<=f.indexOf(g)||this.F&&(new olympe.dc.transaction.ta.Oi(g,olympe.dc.ob.DELETE)).Mb(a)}toString(){return`DeleteAllRelations(${this.Oa()}${X(this.type)}, ${X(this.C)}, ${this.F})`}};olympe.dc.transaction.ta.Oi=class extends olympe.dc.transaction.ta.Vf{constructor(a,b=olympe.dc.ob.DELETE){super();this.tag=a;this.C=b}R(){return X(this.tag)}Mb(a){const b=olympe.dc.Xa(),c=this.R();if(void 0===c)throw Error('OperationError: Cannot delete instance, tag is undefined');const d=b.model(c);0<=b.version(c)&&d&&a.lc(c,this.C)}toString(){return'DeleteInstance('+this.R()+', '+this.C+')'}};olympe.dc.transaction.ta.br=class extends olympe.dc.transaction.ta.jk{constructor(a,b,c,d=!1){super(a,b,c);this.G=d}Mb(a){const b=X(this.type);if(void 0===b)throw Error('OperationError: Cannot delete relation, type is undefined');if(b===olympe.dc.Jc.le)throw Error('OperationError: Cannot delete the instance -> model relation');const c=X(this.C);if(void 0===c)throw Error('OperationError: Cannot delete relation, left tag is undefined');const d=X(this.F);if(void 0===d)throw Error('OperationError: Cannot delete relation, right tag is undefined');
670
- this.Oa()===olympe.dc.Ka.DESTINATION?a.mb(b,c,d):a.mb(b,d,c);this.G&&(new olympe.dc.transaction.ta.Oi(d,olympe.dc.ob.DELETE)).Mb(a)}toString(){return'DeleteRelation('+this.Oa()+X(this.type)+', '+X(this.C)+', '+X(this.F)+', '+this.G+')'}};olympe.dc.transaction.ta.fh=class extends olympe.dc.transaction.ta.Vf{constructor(a,b,c){super();this.tag=a;this.C=new Map;this.C.set(olympe.dc.Ob.VERSION,-1);void 0!==b&&this.setProperty(b,c)}R(){return X(this.tag)}setProperty(a,b){this.C.set(X(a),b);return this}Mb(a){const b=this.R();if(void 0===b)throw Error('OperationError: Cannot update instance, tag is undefined');const c=olympe.dc.Xa();var d=c.version(b),e=a.G.get(b);e=void 0!==e?e:d;if(null===e)throw Error('OperationError: Instance #'+b+' not found so it cannot be updated');
671
- d=le(this,this.C);0>=d.get(olympe.dc.Ob.VERSION)&&d.set(olympe.dc.Ob.VERSION,e+1);for(const [f,g]of d)e=c.Ib(b,f),e instanceof olympe.dc.Bc&&(e=e.R(),a.$[e]=!0),g instanceof olympe.dc.Bc&&!Sd(a,g.R())&&(e=new olympe.dc.ib,e.im(g.R()),e.Mb(a));a.ec(b,d)}toString(){return'UpdateInstance('+this.R()+', '+le(this,this.C)+')'}};olympe.dc.transaction.ta.fh.prototype.setProperty=olympe.dc.transaction.ta.fh.prototype.setProperty;olympe.dc.transaction.ta.fh.prototype.getTag=olympe.dc.transaction.ta.fh.prototype.R;olympe.dc.query={};function me(a,b,c){let d=a.C.get(b);void 0===d&&(d=new Set,a.C.set(b,d));b=olympe.aa.Qb();d.add(b);a.F.set(b,c)}function ne(a,b){if(a.C.has(b)){for(const c of a.C.get(b))a.F.delete(c);a.C.delete(b)}}
672
- function oe(a,b,c){if(a.C.has(b)){if(!a.G.has(b)){a.G.add(b);for(const d of a.C.get(b)){const e=a.F.get(d);a.F.delete(d);c instanceof olympe.dc.query.$h.Ti?e(Error(c.fa()),c):e(null,c)}a.C.delete(b);a.G.delete(b)}}else a.N.info(`Graph result of graphdef ${b} has no associated handler in the datacloud`)}olympe.dc.query.Vq=class{constructor(a){this.N=a;this.C=new Map;this.F=new Map;this.G=new Set}};olympe.dc.je=class{ja(){}L(){}G(){}O(){}na(){}toString(){}};olympe.dc.Gd={hg:0,ej:1,bl:2,ot:0,Zf:1};olympe.dc.Gd.toString=function(a){for(const [b,c]of Object.entries(olympe.dc.Gd))if(c===a)return b;return null};olympe.dc.ob={NONE:-1,DUMP:0,DELETE:1,RUNTIME:2};v('olympe.dc.FollowRules',olympe.dc.ob);olympe.dc.ob.toString=function(a){for(const [b,c]of Object.entries(olympe.dc.ob))if(c===a)return b;return null};
673
- olympe.dc.ob.Vp=function(a){const b=olympe.dm.Relation,c=olympe.dc.ob.DELETE,d=olympe.dc.ob.DUMP,e=olympe.dc.ob.RUNTIME;switch(a){case d:return b.Bl.R();case c:return b.Al.R();case e:return b.mm.R()}};function pe(a){return null===a.C?olympe.dc.ob.NONE:a.C}function qe(a,b){a.validate(b,'activateFollowRules');return a}function re(a,b,c=!1){a.validate(olympe.dc.ob.NONE,'follow');a.U=se(a,b,c);return a}
674
- function te(a,b=1){a.validate(olympe.dc.ob.NONE,'back');let c=a.U;for(let d=0;d<b&&null!==c;d++)c=a.F.get(c.G)||null;a.U=c}function ue(a){return null!==a.C&&a.C!==olympe.dc.ob.NONE}function ve(a){if(ue(a))throw Error('An implicit GraphDef has no blocks');return a.F.values()}
675
- function se(a,b,c){c=new olympe.dc.query.Relation(b.R(),b.Oa(),c||b instanceof olympe.dc.W.Tb);b=[];var d;for(var e of we(a)){if(d=a.F.get(e)){var f=new olympe.dc.query.Si(c,d.id);d.F.has(f.da())?d=d.F.get(f.da()):(d.F.set(f.da(),f),d=f)}else{d=a;var g=c;const h=olympe.aa.zc(d.G);f=olympe.aa.zc(h+g.toString());g=d.F.get(f)||new olympe.dc.query.Si(g,h);d.O.set(f,g);d=g}f=d.da();a.F.set(f,d);b.push(f)}e=b[0];a.ia.set(e,b);return a.F.get(e)}
676
- function xe(a,b){if(ue(a))a.$.push(b);else throw Error('You cannot add a "skip predicate" to an explicit graphdef. Please activate a follow rule first.');return a}function ye(a,b){a.fa=b;return a}function ze(a){const b=new olympe.dc.uf(a.G,a.L);b.C=a.C;for(const [c,d]of a.O)b.O.set(c,d);for(const [c,d]of a.F)b.F.set(c,d);b.fa=a.fa;b.$=[...a.$];return b}function Ae(a,b){return ue(a)?new olympe.dc.query.Fk(ze(a),b||olympe.D.Ha()):new olympe.dc.query.Ri(ze(a),b||olympe.D.Ha())}
677
- function we(a){let b=a.U;const c=[];for(;b&&b.wf.recursive;)c.push(b.da()),b=a.F.get(b.G)||null;c.push(b&&b.da()||olympe.aa.zc(a.G));const d=[];c.slice(0,5).forEach(e=>{d.push(...a.ia.get(e))});return d}
678
- olympe.dc.uf=class{constructor(a,b=olympe.dc.Gd.hg){if(void 0===a||null===a)throw Error('Cannot create GraphDef with undefined or null baseTag');this.G=olympe.dc.Fa(a);this.L=b;this.C=null;this.$=[];this.U=null;this.O=new Map;this.F=new Map;this.fa=null;this.ia=(new Map).set(olympe.aa.zc(this.G),[olympe.aa.zc(this.G)])}static lc(a,b){olympe.dc.uf.de([a],b)}static de(a,b){const c=new olympe.dc.ib;a.forEach(d=>c.delete(d,olympe.dc.ob.DELETE));c.gd(b)}toJSON(){const a=Object.create(null),b=c=>{const d=
679
- Object.create(null),e=c.wf;d.t=e.R();d.d=e.Oa();d.r=e.recursive;d.c=c.qg().map(b);return d};a.t=this.G;a.o=this.L;a.f=pe(this);a.b=Array.from(this.O.keys()).map(c=>b(this.F.get(c)));return JSON.stringify(a)}static Vb(a){a='string'===typeof a?JSON.parse(a):a;const b=qe(new olympe.dc.uf(a.t,a.o),a.f),c=d=>{const e=new olympe.dc.za.Relation(d.t,d.d);re(b,e,d.r);for(const f of d.c)c(f);te(b)};for(const d of a.b)c(d);return b}da(){const a=olympe.aa.zc,b=d=>d.da()+d.qg().map(e=>b(e)).sort().join(''),c=
680
- Array.from(this.O,([,d])=>b(d)).sort().join('');return a(`${this.L}-${this.G}${c}-${pe(this)}`)}add(a,b=!1){this.validate(olympe.dc.ob.NONE,'add');se(this,a,b);return this}gd(a=b=>b){null===this.C&&(this.C=olympe.dc.ob.NONE);const b=olympe.dc.kh();a=olympe.D.Ha().C(a);switch(this.L){case olympe.dc.Gd.hg:case olympe.dc.Gd.ej:const c=Be(b,this,a);olympe.D.Ha().L(()=>{Ce(olympe.dc.kh(),c.da())});break;case olympe.dc.Gd.bl:De(b,this,a);break;default:throw Error('Wrong graph operation');}}validate(a,b){if(null!==
681
- this.C&&this.C!==a)throw Error(this.C>olympe.dc.ob.NONE?`Method ${b} can't be called on an implicit Graphdef`:`Method ${b} can't be called on an explicit Graphdef`);this.C=a}};function Ee(a,b){a.data.G(b.data);a.C.forEach((c,d)=>{if(b.C.has(d))d=b.C.get(d),d.add.push(...c.add),d.remove.push(...c.remove);else{var e=c.remove;const f=new Fe(d);f.add=c.add;f.remove=e;b.C.set(d,f)}})}function Ge(a,b){a.C.forEach((c,d)=>b(d,c.add,c.remove))}olympe.dc.query.vr=class{constructor(a,b){this.id=a;this.C=new Map;this.data=b}da(){return this.id}F(){return this.data}};class Fe{constructor(a){this.id=a;this.add=[];this.remove=[]}da(){return this.id}};function He(a){return(a=a.wd)&&olympe.dc.Xa().source(a)||olympe.dc.Qa.ed}function Ie(a){return Array.from(a.ia,b=>a.C.get(b))}function Je(a){if(!a.G){for(const b of a.L.values())b();a.L.clear();a.G=!0}}
682
- olympe.dc.query.Ri=class{constructor(a,b){this.Ag=a;this.wd=a.G;this.id=a.da();this.U=new olympe.D.ic(`GraphSubscription ${this.id}`,b);this.N=olympe.ya.tb('dc.query');this.ia=[];this.C=new Map;this.G=!1;this.L=new Map;b=olympe.aa.zc(this.wd);if(!ue(a))for(const c of ve(a))this.C.set(c.da(),c),c.G===b&&this.ia.push(c.da())}da(){return this.id}kf(a,b){b=b||olympe.aa.Qb();this.G?a():this.L.set(b,olympe.D.Ha().C(a));return b}vi(a){return this.L.delete(a)}onDestroy(a){this.U.onDestroy(a)}release(){this.U.fb()}O(){return function*(a,
683
- b){yield a;for(const c of b)yield*c.fe()}(this.wd,this.C.values())}$(a){const b=olympe.aa.zc(this.wd);Ke(a,(c,d)=>{if(b!==c)if(c=this.C.get(c),void 0===c)this.N.error('Try to apply a block result that does not exists in the original query');else for(const e of d)c.C.add(e)})}fa(a){let b=[],c=[];const d=olympe.aa.zc(this.wd);Ge(a,(e,f,g)=>{const h=d===e,k=this.C.get(e);h||void 0!==k?h?(b.push(...f),c.push(...g)):(b=b.concat(f.filter(m=>{k.C.has(m)?m=!1:(k.C.add(m),m=!0);return m})),c=c.concat(g.filter(m=>
684
- k.C.delete(m)))):this.N.error(`A notification contains a block ${e} which is not present in the current graph query ${this.id}`)});Mc(olympe.dc.Sc(),b,c)}Kp(a){const b=a.wd,c=[],d=this.wd;d===b&&c.push(olympe.aa.zc(d));this.C.forEach((k,m)=>{k.C.has(b)&&c.push(m)});const e=olympe.aa.zc,f=this.C,g=(k,m)=>{const n=m.wf,p=[e(k+n),e(k+new olympe.dc.query.Relation(n.tag,n.direction,!0))].filter(q=>f.has(q));return 0<p.length?m.qg().reduce((q,r)=>q&&g(p[0],r),!0):!1},h=Ie(a);return void 0!==c.find(k=>{for(const m of h)if(!g(k,
685
- m))return!1;return!0})}};olympe.dc.query.Si=class{constructor(a,b){this.wf=a;this.F=new Map;this.C=new Set;this.G=b;this.id=olympe.aa.zc(b+a.toString());this.apply=!0}toJSON(){let a='{ "id": '+JSON.stringify(this.id)+', "parentId": '+JSON.stringify(this.G)+', "apply": '+JSON.stringify(this.apply)+', ';a+='"relation": '+this.wf.toJSON();if(0<this.F.size){a+=', "children": [';for(const b of this.F.values())a+=b.toJSON()+', ';a.endsWith(', ')&&(a=a.substr(0,a.length-2));a+=']'}if(0<this.C.size){a+=', "instances": [';for(const b of this.C)a+=
686
- JSON.stringify(b)+', ';a.endsWith(', ')&&(a=a.substr(0,a.length-2));a+=']'}return a+'}'}static Vb(a){var b;'string'===typeof a?b=JSON.parse(a):b=a;a=olympe.dc.query.Relation.Vb(b.relation);a=new olympe.dc.query.Si(a,b.parentId);a.id=b.id;a.apply=b.apply;if(b.instances)for(const c of b.instances)a.C.add(c);if(b.children)for(const c of b.children)b=olympe.dc.query.Si.Vb(c),a.F.set(b.id,b);return a}da(){return this.id}qg(){return Array.from(this.F.values())}fe(){return this.C.values()}toString(){return this.G+
687
- this.wf.toString()}};function Ke(a,b){a.C.forEach((c,d)=>b(d,c))}
688
- olympe.dc.query.Bh=class{constructor(a,b,c,d){this.id=a;this.source=b;this.G=c;this.C=new Map;this.ad=d}toJSON(){let a=`{ "id": "${this.id}", "source": "${this.source}", "destination": "${this.G}"`;a.endsWith(', ')&&(a=a.substr(0,a.length-2));a+=', "blocks": {';for(const [b,c]of this.C)a+=`"${b}": ${JSON.stringify(Array.from(c))}, `;a.endsWith(', ')&&(a=a.substr(0,a.length-2));a+=`}, "patch": ${this.ad.toJSON()}`;return a+'}'}static Vb(a){let b;'string'===typeof a?b=JSON.parse(a):b=a;a=olympe.dc.db.Pc.Vb(b.patch);
689
- a=new olympe.dc.query.Bh(b.id,b.source,b.destination,a);for(const [c,d]of Object.entries(b.blocks))a.C.set(c,new Set(d));return a}da(){return this.id}F(){return this.ad}};const Le=olympe.dc.Jc.le,Me=olympe.dc.Jc.Mg,Ne=olympe.dc.Ka.ORIGIN,Oe=olympe.dc.Ka.DESTINATION;function Pe(a,b,c){const d=a.Ag.$;return c.filter(e=>d.reduce((f,g)=>f&&!g(b,e.wf),!0))}
690
- olympe.dc.query.Fk=class extends olympe.dc.query.Ri{constructor(a,b){super(a,b);this.F=(new Set).add(a.G)}O(){return this.F.values()}$(a){a=a.F();for(const b of a.fe())b.$()?this.F.delete(b.tag()):b.U()&&this.F.add(b.tag())}fa(a){let b=[],c=[];Ge(a,(d,e,f)=>{b=b.concat(e.filter(g=>{if(this.F.has(g)&&this.wd!==g)return!1;this.F.add(g);return!0}));c=c.concat(f.filter(g=>this.F.delete(g)))});Mc(olympe.dc.Sc(),b,c)}Kp(a,b){var c=a.wd,d=Array.from(a.C.values()),e=Pe(this,c,d);if(e.length===d.length&&!this.F.has(c))return!1;
691
- c=olympe.dm.Relation.C.oj;d=olympe.dm.Relation.C.ij;const f=olympe.dc.Xa();for(const k of e){var g=k.wf,h=g.R();e=g.Oa();if(e!==Oe||h!==Le&&h!==Me){if(!f.Hb(g))return this.N.info('ImplicitGraphQuery: [Sub. ID:',b,']: checking coverage of graphPath',a.da(),'failed at the relation',h,'which is not in local DB'),!1;g=zd(f,g,pe(this.Ag));h=0===k.qg().length;if(!(g&(e===Ne?h?12:d:h?3:c)))return!1}}return!0}};function Qe(a){let b=null;for(a=[...a.W];null===b&&0<a.length;)b=a.pop().Jb();return b}function Re(a,b){a.U()||(a=`Calling "${b}" on subscription with id ${a.da()} while it is not ready (thus no data is available).`+'This call should be made within an onReady callback.',olympe.ya.tb('dc').warn(a))}function Se(a,b){const c=a.Zb().Tg();return new rxjs.Observable(d=>{c.run(()=>{olympe.D.Yb([b],e=>{d.next(e.valueOf())})});c.L(()=>{d.complete()})})}
692
- olympe.dc.pa=class{constructor(a,b,c){void 0===a||null===a?olympe.ya.tb('dc').warn('attempt to create a listdef with a null or undefind basetag. This listdef is thus without effect.'):(this.F=olympe.D.Aa([a],olympe.dc.Fa,String),this.W=void 0!==b&&(Array.isArray(b)?b:[b])||[],this.valueType=c||Qe(this),this.C=null)}mc(){return olympe.dc.mc()}gd(){if(null===this.C){const a=olympe.dc.kh();this.C=Te(a,this);null!==this.valueType&&this.C.dd(this.valueType);olympe.D.Ha().L(()=>{Ue(a,this.C.da());this.C=
693
- null})}return this}Zb(){null===this.C&&this.gd();return this.C}dd(a){this.valueType=a;null!==this.C&&this.C.dd(this.valueType)}Jb(){return null!==this.C?this.C.Jb():null===this.valueType?olympe.dc.Sync:this.valueType}Zc(){return this.F}Ik(){return this.W}kf(a,b){return this.Zb().kf(a,b)}vi(a){this.Zb().vi(a)}Sr(){return this.Zb().zd()}Rr(){return this.Zb().U()}get(a){return this.Zb().get(a)}jh(){return this.Zb().jh()}rg(a){const b=this.Zb();Re(b,'getCurrent');return b.rg(a)}has(a){return this.Zb().has(a)}Nf(a){const b=
694
- this.Zb();Re(b,'hasCurrent');return b.Nf(a)}af(a){return this.Zb().af(a)}Pw(a){return Se(this,this.af(a))}ee(a){const b=this.Zb();Re(b,'getCurrentAt');return b.ee(a)}we(a){return this.Zb().we(a)}bf(a){const b=this.Zb();Re(b,'getCurrentKeyAt');return b.bf(a)}Ad(a){return this.Zb().Ad(a)}Sw(a){return Se(this,this.Ad(a))}cf(a){const b=this.Zb();Re(b,'getCurrentRank');return b.cf(a)}jd(){return this.Zb().jd()}Qw(){return Se(this,this.jd())}df(){return this.Zb().df()}ke(){return this.Zb().ke()}Tw(){return Se(this,
695
- this.ke())}Jf(){const a=this.Zb();Re(a,'getCurrentSize');return a.Jf()}forEach(a,b){this.Zb().forEach(a,b)}hd(a){const b=this.Zb();Re(b,'forEachCurrentValue');return b.hd(a)}bi(a,b,c,d){a=new olympe.dc.W.xd(a,b);(new olympe.dc.pa(this.F,[...this.W,a],this.valueType)).forEach(c,d)}transform(...a){var b=a;if(Array.isArray(a[0])){if(1<a.length)throw Error('ListDef.transform() should be called either with one array argument, or with ... arguments, but not both');b=a[0]}a=[...this.W];for(const c of b){if(void 0===
696
- c)throw Error('ListDef.transform(): Trying to set an undefined transformer');if(c instanceof olympe.dc.za.Property)throw Error(`ListDef.transform(): Properties cannot be used as transformer, unlike relations ${c}`);if(!c||'function'!==typeof c.getTransform)break;a.push(c)}b=new olympe.dc.pa(this.F,a);b.dd(Qe(b)||this.valueType||Object);return b}Tj(a){return this.transform(new olympe.dc.W.Se(a))}filter(a){return this.transform(new olympe.dc.W.Xc(a))}If(){const a=new olympe.dc.Zi(this.F,null===this.valueType?
697
- void 0:this.valueType);let b=this.W;b instanceof Array||(b=b?[b]:[]);a.transform(b);return a}toString(){let a=this.W;a=a?', '+(a.join?a.join(', '):a.toString()):'';return'ListDef(#'+olympe.D.Sa(this.F)+a+')'}Qr(){return this.Zb().bg()}Uc(){return olympe.D.Aa([this.ke()],a=>{let b='[';for(let c=0;c<a;c++){const d=this.ee(c).toString();b=0<c&&c<a?b+(', '+d):b+d}return olympe.D.pb(b+']')},olympe.D.Pa)}};olympe.dc.pa.prototype.filter=olympe.dc.pa.prototype.filter;olympe.dc.pa.prototype.union=olympe.dc.pa.prototype.Tj;
698
- olympe.dc.pa.prototype.transform=olympe.dc.pa.prototype.transform;olympe.dc.pa.prototype.forEachCurrentValue=olympe.dc.pa.prototype.hd;olympe.dc.pa.prototype.forEach=olympe.dc.pa.prototype.forEach;olympe.dc.pa.prototype.getCurrentSize=olympe.dc.pa.prototype.Jf;olympe.dc.pa.prototype.observeSize=olympe.dc.pa.prototype.Tw;olympe.dc.pa.prototype.observeFirst=olympe.dc.pa.prototype.Qw;olympe.dc.pa.prototype.getCurrentRank=olympe.dc.pa.prototype.cf;olympe.dc.pa.prototype.observeRank=olympe.dc.pa.prototype.Sw;
699
- olympe.dc.pa.prototype.getCurrentAt=olympe.dc.pa.prototype.ee;olympe.dc.pa.prototype.observeAt=olympe.dc.pa.prototype.Pw;olympe.dc.pa.prototype.offReady=olympe.dc.pa.prototype.vi;olympe.dc.pa.prototype.onReady=olympe.dc.pa.prototype.kf;olympe.dc.pa.prototype.getBaseTag=olympe.dc.pa.prototype.Zc;olympe.dc.pa.ka=[olympe.D.fd];l=olympe.dc.pa.prototype;l.mc.K=olympe.D.H.C;l.gd.K=olympe.D.H.L();l.Zb.K=new olympe.D.H(()=>olympe.dc.query.Subscription,[]);l.dd.K=new olympe.D.H(()=>{},[]);
700
- l.Zc.K=new olympe.D.H(()=>String,[]);l.Ik.K=new olympe.D.H(()=>Array,[]);l.kf.K=new olympe.D.H(()=>String,[]);l.vi.K=new olympe.D.H(()=>{},[]);l.Sr.K=olympe.D.H.O;l.Rr.K=olympe.D.H.C;l.get.K=new olympe.D.H(()=>olympe.dc.Sync,[],'valueType');l.jh.K=new olympe.D.H(()=>Array,[]);l.rg.K=olympe.D.H.C;l.has.K=olympe.D.H.O;l.Nf.K=olympe.D.H.C;l.af.K=new olympe.D.H(()=>olympe.dc.Sync,[],'valueType');l.ee.K=olympe.D.H.C;l.we.K=new olympe.D.H(()=>String,[]);l.bf.K=olympe.D.H.C;l.Ad.K=olympe.D.H.G;l.cf.K=olympe.D.H.C;
701
- l.jd.K=new olympe.D.H(()=>olympe.dc.Sync,[],'valueType');l.df.K=new olympe.D.H(()=>String,[]);l.ke.K=olympe.D.H.G;l.Jf.K=olympe.D.H.C;l.forEach.K=new olympe.D.H(()=>{},[]);l.hd.K=olympe.D.H.C;l.bi.K=new olympe.D.H(()=>{},[]);l.transform.K=new olympe.D.H(()=>olympe.dc.pa,[]);l.Tj.K=new olympe.D.H(()=>olympe.dc.pa,[]);l.filter.K=new olympe.D.H(()=>olympe.dc.pa,[]);l.If.K=new olympe.D.H(()=>olympe.dc.Zi,[]);l.toString.K=olympe.D.H.C;l.Qr.K=olympe.D.H.C;l.Uc.K=olympe.D.H.F;const Ve={Lx:'append',sk:'filter_not',tn:'filter_and',un:'filter_or'};function We(a,b){a=Xe(a);a=olympe.dc.Sync.Nb(a);return(new olympe.dc.ha.zm(a,b)).G}
702
- olympe.dc.Zi=class{constructor(a,b){this.C=Xe(a);this.N=olympe.dc.kh().tb();this.valueType=void 0===b?olympe.dc.Sync:b;this.W=[];this.ta=[]}Mb(){return new olympe.dc.pa(this.C,this.W,this.valueType)}transform(a){for(let b=0,c=a.length,d;b<c;b++){d=a[b];if(void 0===d)throw new Ye('transform','Trying to set an undefined transformer');if(d instanceof olympe.dc.za.Property)throw new Ye('transform','Properties cannot be used as transformer, unlike relations '+d);if(!d||'function'!==typeof d.getTransform)throw new Ye('transform',
703
- 'one of the argument is not a Transformer '+d);const e=d.Jb();null!==e&&(this.valueType=e);this.W.push(d)}return this}Tj(a){this.W.push(new olympe.dc.W.Se(a));return this}Dx(a){this.W.push(new olympe.dc.W.Se(Xe(a)));return this}Vr(a){this.valueType=a;return this}Vi(a){this.W.push(a);this.valueType=a.Jb()||olympe.dc.Sync;return this}Mu(a){for(const b of a)this.W.push(b),this.valueType=b.Jb()||olympe.dc.Sync;return this}Lu(a,b,c){a=new olympe.dc.W.Tb(a,a.Oa(),b,c);this.W.push(a);this.valueType=a.Jb()||
704
- olympe.dc.Sync;return this}Ku(a){const b=[];let c;for(let d=0;d<a.length;d++){const e=a[d];b.push(e.R());void 0===c&&(c=e.Oa())}a=new olympe.dc.W.Wd(b,c);this.W.push(a);this.valueType=a.Jb()||olympe.dc.Sync;return this}Ur(){this.Vi(olympe.dc.Sync.instancesRel);return this}te(a){var b=this.ta.pop();b===Ve.sk&&(a=new olympe.dc.ba.me(a),b=this.ta.pop());switch(b){case Ve.tn:b=this.W.pop().C;b instanceof olympe.dc.ba.Wf?(b=b.ba,b.push(a),a=new olympe.dc.ba.Wf(...b)):a=new olympe.dc.ba.Wf(b,a);b=this.ta.pop();
705
- break;case Ve.un:b=this.W.pop().C,b instanceof olympe.dc.ba.cg?(b=b.ba,b.push(a),a=new olympe.dc.ba.cg(...b)):a=new olympe.dc.ba.cg(b,a),b=this.ta.pop()}b===Ve.sk&&(a=new olympe.dc.ba.me(a),this.ta.pop());this.W.push(new olympe.dc.W.Xc(a));return this}Eu(a,b,c){return this.te(new olympe.dc.ba.od(We(a,c),new olympe.dc.ha.Oc(b)))}contains(a,b,c=!1,d){return this.te(new olympe.dc.ba.Ed(We(a,d),new olympe.dc.ha.Oc(b),c))}Of(a){if(!(a instanceof Array))throw new Ye('instanceOf','Provided argument "models" must be an array.');
706
- const b=[];for(let c=0;c<a.length;c++)b.push(Xe(a[c]));return this.te(new olympe.dc.ba.Ke(b))}Bj(a){return this.te(new olympe.dc.ba.od(new olympe.dc.ha.Re,new olympe.dc.ha.Oc(Xe(a))))}Fu(a){if(!Array.isArray(a))throw Error('ExcludeInstances should be called with an array');if(0<a.length){this.Eg().Bj(a[0]);for(let b=1,c=a.length;b<c;b++)this.and().Eg().Bj(a[b])}return this}li(a,b){if(!(a instanceof Array))throw new Ye('hasRelated','Provided argument "relations" must be an array.');const c=[],d=[];
707
- a.forEach(e=>{c.push(e);d.push(e.Oa())});return this.te(new olympe.dc.ba.Je(c,d,b))}Tr(a,b,c){a=We(a,c);return this.te(new olympe.dc.ba.Td(a,new olympe.dc.ha.Oc(b)))}Wr(a,b,c){a=We(a,c);return this.te(new olympe.dc.ba.$d(a,new olympe.dc.ha.Oc(b)))}Cw(a,b,c,d){a=We(a,d);return this.te(new olympe.dc.ba.Oe(a,b,c))}filter(a){const b=new class extends olympe.dc.ba.Uf{C(c,d){return a(olympe.dc.Sync.Nb(d))}};return this.te(b)}Eg(){this.ta.push(Ve.sk);return this}and(){this.W[this.W.length-1]instanceof olympe.dc.W.Xc&&
708
- this.ta.push(Ve.tn);return this}or(){this.W[this.W.length-1]instanceof olympe.dc.W.Xc&&this.ta.push(Ve.un);return this}tx(a,b,c){a=Xe(a);let d=null;switch(olympe.dc.Xa().uc(a,olympe.dm.Property.typeRel)){case olympe.dm.String.P.R():d=new olympe.dc.qb.String(new olympe.dc.ha.Kd(a,c));break;case olympe.dm.Number.P.R():d=new olympe.dc.qb.Number(new olympe.dc.ha.Id(a,c));break;case olympe.dm.DateTime.P.R():d=new olympe.dc.qb.DateTime(new olympe.dc.ha.Fd(a,c))}c=d;null!==c&&this.W.push(new olympe.dc.W.rd(c,
709
- b));return this}sort(a,b,c){const d=new class extends olympe.dc.qb.Uf{L(e,f){return a(olympe.dc.Sync.Nb(f))}G(e,f){return b(e,f).valueOf()}};this.W.push(new olympe.dc.W.rd(d,c));return this}zu(){this.W.push(new olympe.dc.W.Wc);return this}rw(a,b){this.W.push(new olympe.dc.W.xd(a,b));return this}};class Ye extends Error{constructor(a,b){super(`ListDefBuilder.${a}(): ${b}`)}}
710
- function Xe(a){return'string'===typeof a||a instanceof olympe.D.Pa?a:'function'===typeof a?olympe.dc.va.Wb(a):olympe.D.ab(a)?a.tj===olympe.D.Pa?a:olympe.D.Aa([a],b=>olympe.D.pb(olympe.dc.Fa(b)),olympe.D.Pa):a.R()}l=olympe.dc.Zi.prototype;l.Mb.K=new olympe.D.H(()=>olympe.dc.pa,[]);l.transform.K=olympe.D.H.L();l.Tj.K=olympe.D.H.L();l.Dx.K=olympe.D.H.L();l.Vr.K=olympe.D.H.L();l.Vi.K=olympe.D.H.L();l.Mu.K=olympe.D.H.L();l.Lu.K=olympe.D.H.L();l.Ku.K=olympe.D.H.L();l.Ur.K=olympe.D.H.L();l.te.K=olympe.D.H.L();
711
- l.Eu.K=olympe.D.H.L();l.contains.K=olympe.D.H.L();l.Of.K=olympe.D.H.L();l.Bj.K=olympe.D.H.L();l.Fu.K=olympe.D.H.L();l.li.K=olympe.D.H.L();l.Tr.K=olympe.D.H.L();l.Wr.K=olympe.D.H.L();l.Cw.K=olympe.D.H.L();l.filter.K=olympe.D.H.L();l.Eg.K=olympe.D.H.L();l.and.K=olympe.D.H.L();l.or.K=olympe.D.H.L();l.tx.K=olympe.D.H.L();l.sort.K=olympe.D.H.L();l.zu.K=olympe.D.H.L();l.rw.K=olympe.D.H.L();olympe.dc.query.ko=class{constructor(a){this.id=a;this.C=[];this.data=new olympe.dc.db.Pc}F(a){this.C.push(olympe.dc.Fa(a))}da(){return this.id}};function Ze(a){return olympe.D.ab(a)?'Node#'+a.Ta.da():String(a)}function $e(a,b){return olympe.D.ab(b)?'{"c":"Parameter","v":"'+a.add(b)+'"}':JSON.stringify(b)}olympe.dc.query.Go=class{constructor(){this.C=0;this.values=null}add(a){let b;b=olympe.D.ab(a)?'n'+a.Ta.da():'p'+ ++this.C;null===this.values&&(this.values={});this.values[b]=a;return b}get(a){return this.values[a]}forEach(a){const b=this.values;if(null!==b)for(let c=Object.keys(b),d=c.length,e=0;e<d;e++)a(b[c[e]],c[e])}};olympe.dc.Sb=class{ja(){}C(){}F(){}na(){}toString(){}};function Be(a,b,c){var d=olympe.dc.Qa.kb;const e=b.da();let f=af(a.za,e),g=olympe.dc.Qa.kb;null===f&&(f=Ae(b,a.G),a.L||(g=He(f)));bf(a.za,f,d,g);c&&me(a.F,e,c);b=olympe.dc.ma.ra.zh;const h=olympe.dc.ma.ra.yh,k=m=>{null!==m&&(a.N.error(`graph subscription "${e}" failed to subscribe ${m}`),cf(a.za,e,d),ne(a.F,e),c(m,null))};g===olympe.dc.Qa.kb?(a.N.debug('QueryManager: [ID:',e,'] GraphQuery processed locally'),a.O.C(d,f,k)):(b=vc(new olympe.dc.ma(f.Ag.L===olympe.dc.Gd.ej?h:b,f,[g]),k),a.N.debug('QueryManager: [ID:',
712
- e,'] sending GraphQuery to',g),a.C.send(b));return f}function Ce(a,b){var c=olympe.dc.Qa.kb;const d=olympe.dc.Qa.kb;if(c===d){const e=af(a.za,b).Ag.L,f=df(a.za,b);cf(a.za,b,c)&&f!==d&&e===olympe.dc.Gd.hg&&(c=vc(new olympe.dc.ma(olympe.dc.ma.ra.wk,String(b),[f]),g=>{g&&a.N.error(`Unsubscription of graphdef ${b} failed: ${g.message}`)}),a.C.send(c))}else cf(a.za,b,c)}
713
- function De(a,b,c){var d=olympe.dc.Qa.kb;b=Ae(b,a.G);const e=b.da();var f=a.F.C.has(e);c&&me(a.F,e,c);if(!f){f=h=>{h&&(ne(a.F,e),c(h,null))};var g=He(b);g===olympe.dc.Qa.kb?a.O.C(d,b,f):(d=vc(new olympe.dc.ma(olympe.dc.ma.ra.yh,b,[g]),f),a.C.send(d))}}
714
- function Te(a,b){var c=olympe.dc.Qa.kb;const d=b.Zc();var e=new olympe.dc.query.Go;let f;f=d;olympe.D.ab(f)&&(f=e.add(d));b=(b=b.Ik())?Array.isArray(b)?b:[b]:null;const g=olympe.dc.query.Subscription.G(f,b,e);e=ef(a.za,g);null===e&&(a.N.debug('QueryMGR: new',a.L?'local':'remote','subscription "',g,'": #',`${f},`,b),e=new olympe.dc.query.Subscription(g,d,b,a.G),a.L||e.lb());a.ia.C(c,e,h=>{h&&(ff(a.za,g,c||olympe.dc.Qa.kb),a.N.error(`subscription "${g}" failed to subscribe ${h}`))});return e}
715
- function Ue(a,b){var c=olympe.dc.Qa.kb;if(c===olympe.dc.Qa.kb){const d=df(a.za,b);a.N.debug('QueryMGR: [ID:',b,'] - Unregistered');ff(a.za,b,c)&&d!==olympe.dc.Qa.kb&&(c=vc(new olympe.dc.ma(olympe.dc.ma.ra.ml,String(b),[d]),e=>{e&&a.N.error(`Unsubscription of listdef ${b} failed, ${e.message}`)}),a.C.send(c))}else ff(a.za,b,c)}
716
- function gf(a){const b=olympe.dc.ma.ra.Dn,c=olympe.dc.ma.ra.lk,d=olympe.dc.ma.ra.co;a.C.C(olympe.dc.ma.ra.xk,(e,f)=>{hf(a,f,e)});a.C.C(b,(e,f)=>{jf(a,f,e)});a.C.C(c,(e,f)=>{olympe.dc.Sc().mf(f,e)});a.C.C(d,(e,f)=>{kf(a,f,e)});a.C.O((e,f)=>{lf(a,f,e)})}function mf(a,b){a.N.log('Received subscribeToAll command');b=b?olympe.D.Ha().C(b):void 0;const c=new olympe.dc.ma(olympe.dc.ma.ra.$f,null,[olympe.dc.Qa.ed]);b&&vc(c,b);a.C.send(c)}
717
- function hf(a,b,c=olympe.dc.Qa.kb){b.G!==olympe.dc.Qa.kb?a.N.error(`Graphdefs registered from peers is not supported yet ! (id: ${b.da()})`):a.$.C(c,b,d=>{d&&a.N.error(`An error occurred during the process of a graphdef result ${b.da()}: ${d.message}`)})}
718
- function jf(a,b,c=olympe.dc.Qa.kb){const d=nf(a.za,b.da());0!==d.length&&(1<d.length||d[0]!==olympe.dc.Qa.kb?a.N.error(`Notification received for graphdefs subscription registered from peers. Not supported yet ! (id: ${b.da()})`):a.U.C(c,b,e=>{e&&a.N.error(`An error occurred during the process of a graphNotification ${b.da()}`)}))}
719
- function kf(a,b,c=olympe.dc.Qa.kb){const d=of(a.za,b.da());1<d.length||d[0]!==olympe.dc.Qa.kb?a.N.error(`Listdefs registered from peers is not supported yet ! (id: ${b.da()})`):a.fa.C(c,b,e=>{e&&a.N.error(`An error occurred during the process of a listNotification ${b.da()}`)})}
720
- function lf(a,b,c){a.N.debug('Source event',b,'received for source',c);if(b===olympe.dc.Nh.Bo){const d=(e,f)=>{f&&a.N.error(`Error after trying to resubscribe to ${e}: ${f}`)};pf(a.za,c).forEach(e=>{me(a.F,e.da(),d.bind(a,e.da()));a.N.debug(`resubscribing graph subscription ${e.da()} to destination : ${c}`);e=vc(new olympe.dc.ma(olympe.dc.ma.ra.zh,e,[c]),d.bind(a,e.da()));a.C.send(e)});qf(a.za,c).forEach(e=>{a.N.debug(`resubscribing list subscription ${e.da()} to destination : ${c}`);e=vc(new olympe.dc.ma(olympe.dc.ma.ra.Yo,
721
- e,[c]),d.bind(a,e.da()));a.C.send(e)})}}olympe.dc.query.Vs=class{constructor(a,b,c,d,e,f){this.N=a;this.L=b;this.C=c;this.za=d;this.F=e;this.G=new olympe.D.ic('Query Manager context');this.ia=f[0];this.O=f[1];this.$=f[2];this.U=f[3];this.fa=f[4];gf(this)}tb(){return this.N}};olympe.dc.query.Relation=class extends olympe.dc.za.Relation{constructor(a,b,c){super(a,b);this.recursive=c}toJSON(){let a='{ "tag": '+JSON.stringify(this.R())+', ';a+='"direction": '+JSON.stringify(this.Oa())+', ';a+='"recursive": '+JSON.stringify(this.recursive);return a+'}'}static Vb(a){let b;'string'===typeof a?b=JSON.parse(a):b=a;return new olympe.dc.query.Relation(b.tag,b.direction,b.recursive)}static from(a){return new olympe.dc.query.Relation(a.R(),a.Oa(),a instanceof olympe.dc.W.Tb)}kd(){const a=
722
- olympe.dc.Ka.DESTINATION,b=olympe.dc.Ka.ORIGIN;return new olympe.dc.query.Relation(this.tag,this.direction===a?b:a,this.recursive)}toString(){return`${this.direction}${this.tag}${this.recursive?'-r':''}`}};olympe.dc.query.Subscription=class a extends olympe.D.Gi{constructor(b,c,d,e){super(olympe.dc.Sync,new olympe.D.ic('context subscription '+b,e));this.id=b;this.yd=c;this.W=d||null;this.G=this.O.run(()=>olympe.D.Bd(olympe.dc.query.Subscription.C.INIT));this.Nc=!1;this.fa=this.yc=null}static G(b,c,d){let e;try{e=b;if(c)for(let f=0,g=c.length;f<g;f++)e+='|'+c[f].na(d);else e+='|null';e=olympe.aa.zc(e)}catch(f){e=olympe.aa.Qb()}return e}da(){return this.id}Zc(){return this.yd}ef(){return this.W}lb(){const b=
723
- olympe.dc.Xa(),c=olympe.D.Sa(this.Zc());return c?b.Fj(c)?b.source(c)||olympe.dc.Qa.ed:olympe.dc.Qa.kb:olympe.dc.Qa.ed}xe(){const b=L(this.G);return b&&b.valueOf()>=olympe.dc.query.Subscription.C.Xo}ze(){if(this.G.Ta.G())throw Error(`Cannot set destroyed subscription '${this.id}' as subscribed`);const b=this.yc;this.yc=null;for(let c in b)if(Object.prototype.hasOwnProperty.call(b,c))b[c](this);lb(this.G,olympe.D.Bd(olympe.dc.query.Subscription.C.Xo))}zd(){return olympe.D.Aa([this.G],()=>{},olympe.D.ga)}U(){const b=
724
- L(this.G);return b&&b.valueOf()>=olympe.dc.query.Subscription.C.Jo}kf(b,c){this.U()?b(this):(null===this.fa&&(this.fa=new Map),void 0===c&&(c=olympe.aa.Qb()),this.fa.set(c,olympe.D.Ha().C(b)));return c||''}vi(b){null!==this.fa&&b&&this.fa.delete(b)}vc(){const b=olympe.dc.query.Subscription.C.Jo;if(!this.G.Ta.G()&&olympe.D.Sa(this.G)!==b&&(this.Ve(),lb(this.G,b),null!==this.fa)){for(const c of this.fa.values())c(this);this.fa=null}}onDestroy(b){this.O.onDestroy(b)}release(){this.O.fb()}Wa(b){if(!this.G.Ta.G()){for(let c=
725
- 0,d=b.length;c<d;c++)this.rl(b[c],c);if(this.U())this.Ve();else{this.Nc=b=!0;for(let c in this.F)if(Object.prototype.hasOwnProperty.call(this.F,c)&&!Object.prototype.hasOwnProperty.call(this.values,c)){b=!1;break}b&&this.vc()}}}rc(b){const c=this.F;for(let d in c)Object.prototype.hasOwnProperty.call(c,d)&&b(c[d],d)}$b(b,c){if(!this.G.Ta.G()&&(this.vj(b,olympe.dc.Sync.Nb(c)),b=this.U(),this.Nc&&!b)){b=!0;for(let d in this.F)if(Object.prototype.hasOwnProperty.call(this.F,d)&&!Object.prototype.hasOwnProperty.call(this.values,
726
- d)){b=!1;break}b&&this.vc()}}qc(b){this.G.Ta.G()||(this.ql(b),this.Th(b,!this.U()))}bg(){return this.U()?super.bg():'Subscription is not ready!'}se(){const b=olympe.D.Sa(this.Zc());return olympe.dc.query.Subscription.F(b,this.ef())}static F(b,c){var d=new olympe.dc.uf(b,olympe.dc.Gd.hg);if(null===c)return[d];b=[];b.push(d);for(let e=0,f=c.length;e<f;e++){const g=c[e];if(g instanceof olympe.dc.W.Ab||g instanceof olympe.dc.W.Tb)b.forEach(h=>{const k=olympe.dc.query.Relation.from(g);re(h,k,k.recursive)});
727
- else if(g instanceof olympe.dc.W.Se)d=a.F(olympe.D.Sa(g.Zc()),g.ef()),b.push(...d);else if(g instanceof olympe.dc.W.Xc||g instanceof olympe.dc.W.rd){const h=g.G();b.forEach(k=>{for(const m of h){for(const n of m)re(k,n,n.recursive);te(k,m.length)}})}}return b}};olympe.dc.query.Subscription.C={INIT:0,Xo:1,Jo:2};olympe.dc.query.Subscription.prototype.bg.K=olympe.D.H.C;function ef(a,b){return a.F.has(b)?a.F.get(b).F():null}function ff(a,b,c){return rf(a,a.F,b,c)}function df(a,b){for(const [c,d]of a.G)if(d.has(b))return c;return null}function af(a,b){return a.C.has(b)?a.C.get(b).F():null}function bf(a,b,c,d){const e=b.da();let f=a.C.get(e);void 0===f&&(f=new olympe.dc.query.za.ur(b,a.L,a),a.C.set(e,f));f.L(c);sf(a,e,d)}function cf(a,b,c){return rf(a,a.C,b,c)}function nf(a,b){return(a=a.C.get(b))?Array.from(a.C.keys()):[]}
728
- function of(a,b){return(a=a.F.get(b))?Array.from(a.C.keys()):[]}function pf(a,b){const c=new Set;(a.G.get(b)||new Set).forEach(d=>{(d=a.C.get(d))&&c.add(d.F())});return c}function qf(a,b){const c=new Set;(a.G.get(b)||new Set).forEach(d=>{(d=a.F.get(d))&&c.add(d.F())});return c}function tf(a,b,c){a=a.F.get(b);if(void 0===a)throw Error(`Check if the subscription ${b} has been processed, but it has never been registered`);b=a.G.get(c);a.G.set(c,!0);return b||!1}
729
- function sf(a,b,c){let d=a.G.get(c);d?d.add(b):(d=(new Set).add(b),a.G.set(c,d))}function uf(a,b,c){var d=olympe.dc.Qa.kb;const e=b.da();let f=a.F.get(e);void 0===f&&(f=new olympe.dc.query.za.ws(b,a.L),a.F.set(e,f));f.L(c);sf(a,e,d)}function rf(a,b,c,d){if(!b.has(c))return!1;const e=b.get(c);var f=e.C.get(d)-1;0===f?(e.C.delete(d),e.G.delete(d),f=0===e.C.size):(e.C.set(d,f),f=!1);return f?((d=df(a,c))&&a.G.get(d).delete(c),e.F().release(),b.delete(c),!0):0===e.C.get(d)}
730
- function vf(a,b,c){const d=a.C.get(b);d?wf(d,c):a.N.error(`Try to set the subscription ${c.da()} as covered by a graphquery that is not registered (${b}).`)}olympe.dc.query.ut=class{constructor(a,b){this.N=a;this.C=new Map;this.F=new Map;this.G=new Map;this.L=b}};olympe.dc.Mc=class{ja(){}Jb(){}getTransform(){}na(){}toString(){}};olympe.dc.Io=class{G(){}};olympe.dc.re=class{ja(){}F(){}C(){}na(){}toString(){}};olympe.dc.query.T={Ga:'olympe.dc.query.Logger',ua:'olympe.dc.query.QueryManager'};olympe.dc.query.fc={Cf:'olympe.dc.query.SubscriptionRegistry',fk:'olympe.dc.query.CallbackRegistry',Fn:'olympe.dc.query.GraphProcessor',En:'olympe.dc.query.GraphNotificationProcessor',Gn:'olympe.dc.query.GraphResultProcessor',eo:'olympe.dc.query.ListProcessor',Xi:'olympe.dc.query.ListNotificationProcessor'};olympe.dc.query.Z={Zo:'subscription.debug'};
731
- olympe.V.Cb(function(a){C(a,olympe.dc.query.Z.Zo,!1);B(a,olympe.dc.query.T.Ga,[olympe.ya.T.ua],b=>b.Cc('dc.query'));y(a,olympe.dc.query.fc.Cf,olympe.dc.query.ut,olympe.dc.query.T.Ga,new olympe.V.la(olympe.dc.query.Z.Zo));y(a,olympe.dc.query.fc.fk,olympe.dc.query.Vq,olympe.dc.query.T.Ga);y(a,olympe.dc.query.fc.eo,olympe.dc.query.Kb.mo,olympe.dc.query.T.Ga,olympe.dc.T.Lg,olympe.dc.query.fc.Cf,olympe.dc.transaction.T.ua,new olympe.V.la(olympe.dc.Z.ig));y(a,olympe.dc.query.fc.Fn,olympe.dc.query.Kb.Kn,
732
- olympe.dc.query.T.Ga,olympe.dc.query.fc.Cf,new olympe.V.la(olympe.dc.Z.ig));y(a,olympe.dc.query.fc.Gn,olympe.dc.query.Kb.Ln,olympe.dc.query.T.Ga,olympe.dc.query.fc.Cf,olympe.dc.query.fc.fk);y(a,olympe.dc.query.fc.En,olympe.dc.query.Kb.Jn,olympe.dc.query.T.Ga,olympe.dc.query.fc.Cf);y(a,olympe.dc.query.fc.Xi,olympe.dc.query.Kb.lo,olympe.dc.query.T.Ga,olympe.dc.T.Lg,olympe.dc.query.fc.Cf);B(a,olympe.dc.query.T.ua,[olympe.dc.query.T.Ga,new olympe.V.la(olympe.dc.Z.ig),olympe.dc.T.oe,olympe.dc.query.fc.Cf,
733
- olympe.dc.query.fc.fk,olympe.dc.query.fc.eo,olympe.dc.query.fc.Fn,olympe.dc.query.fc.Gn,olympe.dc.query.fc.En,olympe.dc.query.fc.Xi],(b,c,d,e,f,g,h,k,m,n)=>new olympe.dc.query.Vs(b,c,d,e,f,[g,h,k,m,n]))});olympe.V.run([olympe.dc.query.fc.Cf],a=>{window.subscriptions=a});olympe.dc.query.za={};function xf(){const a=Error.stackTraceLimit;Error.stackTraceLimit=16;let b=Error().stack||'';b=b.split('\n').map(d=>d.trim());var c='Error'===b[0]?2:1;b=b.slice(c,Error.stackTraceLimit+c).reverse();c=[];for(const d of b)if(c.push(' '+d),d.includes('at ListDef.')||d.includes('at GraphDef.'))break;Error.stackTraceLimit=a;3<c.length&&(c=c.slice(c.length-3));return c.join('\n')||b.join('\n')}
734
- olympe.dc.query.za.hp=class{constructor(a,b,c){this.C=new Map;this.G=new Map;this.wd=a;this.O=b;this.$=c}F(){}L(a){var b=this.C.get(a);this.C.set(a,void 0!==b?b+1:1);b=this.G.get(a);this.G.set(a,void 0!==b?b:!1)}};function wf(a,b){const c=b.da();a.U.set(c,b);olympe.D.Ha().onDestroy(()=>{a.U.delete(c)})}olympe.dc.query.za.ur=class extends olympe.dc.query.za.hp{constructor(a,b,c){super(a.wd,a,b);this.za=c;this.U=new Map;b&&xf()}F(){return this.O}};olympe.dc.query.za.ws=class extends olympe.dc.query.za.hp{constructor(a,b){super(a.Zc(),a,b);this.U=new Map}F(){return this.O}L(a){super.L(a);if(this.$){const b='md_'+olympe.aa.Qb();this.U.set(b,xf());olympe.D.Ha().onDestroy(()=>{this.U.delete(b)})}}};olympe.dc.query.Kb={};olympe.dc.query.Kb.Jn=class{constructor(a,b){this.N=a;this.za=b}C(a,b,c){const d=b.da();this.za.C.has(d)?(af(this.za,d).fa(b),olympe.dc.Sc().mf(b.F(),a),c(null,b)):c(Error(`Received a notification for the graphdef ${d} which does not exist.`),b)}};olympe.dc.query.Kb.Jn.ka=[olympe.dc.Ne];olympe.dc.query.Kb.Kn=class{constructor(a,b,c){this.N=a;this.za=b;this.F=c}C(a,b,c){var d=b.da();if(a===olympe.dc.Qa.kb||this.za.C.has(d)){if(c(null,b),a=af(this.za,d),this.F||a&&a.G)a=olympe.dc.Qa.kb,d=new olympe.dc.query.Bh(d,a,a,new olympe.dc.db.Pc),hf(olympe.dc.kh(),d)}else c(Error('The local Graph Engine is not implemented yet. It should handle Graphdefs addressed to instances owned by this local OVM'),b)}};olympe.dc.query.Kb.Kn.ka=[olympe.dc.Ne];olympe.dc.query.Kb.Ln=class{constructor(a,b,c){this.N=a;this.F=b;this.G=c}C(a,b,c){const d=b.da();if(this.F.C.has(d)){const f=af(this.F,d);if(b instanceof olympe.dc.query.$h.Ti)cf(this.F,d,a);else if(!f.G){f.$(b);const g=olympe.dc.Sc();Mc(g,f.O());g.mf(b.F(),b.G);f.onDestroy(()=>{Mc(g,void 0,f.O())});Je(f)}}let e;b instanceof olympe.dc.query.$h.Ti&&(e=`graph subscription "${d}" failed to create the initial result: ${b.fa()}`,this.N.error(e));oe(this.G,b.da(),b);c(e?Error(e):null,b)}};
735
- olympe.dc.query.Kb.Ln.ka=[olympe.dc.Ne];const yf=[],zf=new Map;function Af(a,b,c,d){sc(a.db,d,e=>{e?b.Nf(c)?a.N.warn('Adding the same index twice (should never happen) for sub #'+b.da()+', index #'+c+', tag #'+d):b.$b(c,d):Bf(a,b,c,d)},c)}function Bf(a,b,c,d){tc(a.db,d,c,!0);b.qc(c);yf.length=0;b.rc(function(e,f){yf[e]=f});c=a=0;for(d=yf.length;a<d;a++)'string'===typeof yf[a]&&(yf[c++]=yf[a]);yf.length=c;b.Wa(yf)}
736
- olympe.dc.query.Kb.lo=class{constructor(a,b,c){this.N=a;this.db=b;this.za=c}C(a,b,c){const d=b.da();a=b.C;const e=ef(this.za,d);if(null===e)c(Error(`Received list notification for undefined subscription "${d}"`),b);else{yf.length=a.length;e.rc((f,g)=>{if(f=e.rg(g)){f=f.R();var h=zf.get(f);void 0===h?zf.set(f,g):'string'===typeof h?zf.set(f,[h,g]):h.push(g)}else this.N.warn('Subscription #'+d+' has a rank for index #'+g+' but no instance. This is caused by receiving a new list notification before receiving all instances of the previous list notification.')});
737
- for(let f=0,g=a.length;f<g;f++){const h=a[f];let k=zf.get(h);void 0===k?(k=olympe.aa.Qb(),Af(this,e,k,h)):'string'===typeof k?zf.delete(h):(k=k.pop(),0===k.length&&zf.delete(h));yf[f]=k}for(const [f,g]of zf){if('string'===typeof g)Bf(this,e,g,f);else for(let h=0,k=g.length;h<k;h++)Bf(this,e,g[h],f);zf.delete(f)}e.Wa(yf);c(null,b)}}};olympe.dc.query.Kb.lo.ka=[olympe.dc.Ne];function Cf(a,b,c,d){const e=c.da();a.N.debug('ListProcessor: [ID:',e,'] - processing with source ',b);uf(a.za,c,b);if(tf(a.za,e,olympe.dc.Qa.kb))a.N.debug('ListProcessor: [ID:',e,'] - id already processed');else{a.N.debug('ListProcessor: [ID:',e,'] - NOT processed yet.');const f=c.lb();a.F||f===olympe.dc.Qa.kb?(a.N.debug('QueryMGR: [ID:',e,'] - Local subscription, no need for coverage check, booting subscription '),Df(a,c)):c.Tg().run(()=>{const g=[c.Zc()],h=m=>m instanceof olympe.dc.W.Se,k=(c.ef()||
738
- []).filter(h);for(const m of k)g.push(m.Zc()),k.push(...(m.ef()||[]).filter(h));ke(a.G,()=>{olympe.D.Yb(g,()=>{Ef(a,c,(m,n)=>{m?Df(a,c):a.N.error(n)})})})})}b===olympe.dc.Qa.kb||tf(a.za,e,b)||a.notify(b,c);d(null,c)}
739
- function Df(a,b){if(b.U())a.N.debug('ListProcessor: [ID:',b.da(),'] - Subscription already booted, ignoring');else{a.N.debug('ListProcessor: [ID:',b.da(),'] - Booting subscription');var c=new olympe.dc.cc.gp(a.db,a.N),d=Ff(a,b,c),e=b.da();b.Tg().run(()=>{olympe.D.Yb([b.Zc()],f=>{const g=olympe.dc.Fa(f);a.N.debug('ListProcessor: [ID:',b.da(),'] - Booting with baseTag',g);b.xe()||b.ze();sc(a.db,g,h=>d(h,g),e);olympe.D.Ha().L(()=>tc(a.db,g,e));a.db.Hb(g.valueOf())||Gf(c);b.U()||(Gf(c),b.Wa([]))})})}}
740
- function Ef(a,b,c){var d=b.lb();const e=b.da(),f=Array.from(pf(a.za,d));d=b.se();a.N.debug('ListProcessor: [ID:',e,'] - checking coverage of remote subscription over',d.length,'paths.');const g=new olympe.async.yf(olympe.D.Ha()),h=k=>{g.add((m,n)=>{k.gd(p=>{p?n(`The subscription ${e} is not covered by an existing graphdef, `+`and the specific graphdef id ${k.da()} has encountered an error: ${p}`):m()});vf(a.za,k.da(),b)})};d.forEach(k=>{const m=Ae(k);let n=!1;for(let p=0,q=f.length;p<q;p++){const r=
741
- f[p];if(r.Kp(m,e)){h(r.Ag,!1);n=!0;break}}n?a.N.debug('ListProcessor: [ID:',b.da(),'] - graphPath',k,' is covered'):h(k,!0)});yb(g,c);g.start()}
742
- function Ff(a,b,c){const d=new olympe.dc.cc.Ji;let e=!1;const f=b.Tg(),g=b.ef(),h=[];h[g?g.length:0]=f.C((k,m,n,p)=>{f.ia()||f.G()||(k?b.Nf(n)?a.N.warn('Adding the same index twice (should never happen) for sub #',b.da(),', index #',n,', tag #',m):(a.N.debug('ListProcessor: [ID:',b.da(),'] - Adding Instance',m,'to the subscription'),b.$b(n,m)):(a.N.debug('ListProcessor: [ID:',b.da(),'] - Removing Instance',m,'from the subscription'),b.qc(n)),e||(Hf(c,()=>{p.Ff();Gf(c)}),p.mc().Rf(b.Wa.bind(b)),e=
743
- !0),If(c,n))});if(null!==g){const k=olympe.dc.mc();for(let m=g.length-1;0<=m;m--)h[m]=f.C(g[m].getTransform(k,c,h[m+1]))}return(k,m)=>{const n=b.da();c.register(n,null);const p=d.C(k,m,n,null);if(null!==p)h[0](k,m,n,p.$c(k,m,n))}}
744
- olympe.dc.query.Kb.mo=class{constructor(a,b,c,d,e){this.N=a;this.db=b;this.za=c;this.G=d;this.F=e}C(a,b,c){Cf(this,a,b,c)}notify(a,b){const c=b.da();this.N.debug(`Register notification of list subscription ${c} for destination ${a}`);const d=()=>{const f=new olympe.dc.query.ko(c);b.hd(g=>f.F(g));kf(olympe.dc.kh(),f)};let e=!1;b.forEach(()=>{e&&d()});b.kf(()=>{e=!0;d()})}};olympe.dc.query.Kb.mo.ka=[olympe.dc.Ne];olympe.dc.query.$h={};olympe.dc.query.$h.Ti=class extends olympe.dc.query.Bh{constructor(a,b,c,d){super(a,b,c,new olympe.dc.db.Pc);this.error=d}fa(){return this.error}};olympe.dc.cc={};function Jf(a,b){for(let c=0;c<b;c++)if(null!==a.F)a=a.F;else break;return a}function Kf(a,b){a=a.U;if(null!==a)for(let c in a)Object.prototype.hasOwnProperty.call(a,c)&&b.push(c)}olympe.dc.cc.Ni=class{constructor(a,b){this.C=a;this.fa=b?b.fa+1:0;this.U=Object.create(null);this.F=null}mc(){return this.C}$c(a,b,c){a?this.U[c]=b:delete this.U[c];null===this.F&&(this.F=new olympe.dc.cc.Ni(this.C,this));return this.F}Ff(){this.C.O()?this.C.G():this.C.$(this.fa-1)}};olympe.dc.cc.qa=class{constructor(){}C(){}O(){}$(){}G(){}Rf(){}};olympe.dc.cc.Ji=class{constructor(){this.U=this.L=this.index=this.F=null}O(){return null!==this.F}$(a){if(null!==this.F)throw Error('Manager already activated (depth='+this.F+')');this.F=a;this.G()}C(a,b,c){b=this.L;if(a&&null!==b)throw Error('The AutoManger handles only a single item.');a?(b=new olympe.dc.cc.Ni(this),this.index=c,this.L=b):this.L=this.index=null;return b}G(){if(null===this.F)throw Error('Manager not activated, need to set a depth before updating ranks');if(null!==this.U){const a=
745
- [];null!==this.L&&(0<=this.F?Kf(Jf(this.L,this.F),a):a.push(this.index));this.U(a)}}Rf(a){this.U=a}};olympe.dc.cc.Ji.ka=[olympe.dc.cc.qa];function Lf(a,b){olympe.D.gf(a.value)?(a.node=olympe.D.Nj(a.value,b),Qa(a.node)||b()):b()}function Mf(a,b){if(olympe.D.gf(a.value)){const c=olympe.D.Ha(),d=a.O;olympe.D.Yb([a.value],e=>{d!==e.valueOf()&&(c.run(()=>Lf(a,b)),olympe.D.Ha().fb())})}}
746
- class Nf extends olympe.dc.cc.Ni{constructor(a,b,c){super(a);this.index=b;this.value=c;this.O=this.Sa();this.position=this.node=null;this.$=!1;this.L=null}Sa(){const a=olympe.D.Sa(this.value);return a?a.valueOf():a}fb(){this.node&&(this.node.fb(),this.node=null);this.L=this.value=null}G(){return null===this.value}}
747
- function Of(a,b){if(!b.G()){var c=a.F;var d=a.sa,e=b.Sa(),f=0;let g=c.length,h=0,k;for(null!==b.position&&--g;g>f;){h=Math.floor((f+g)/2);k=d(c[h].O,e);if(0===k||2>g-f){0>k&&null!==b.position&&b.position<=h&&(k=d(c[g].O,e));h=0>k?g:h;break}0>k?f=h:g=h}c=h;b.O=b.Sa();if(c!==b.position){d=a.F;e=d.length;f=b.position;null===f&&(f=e);if(c<f)for(e=f;e>c;e--)d[e]=d[e-1],d[e].position=e;else for(e=f;e<c;e++)d[e]=d[e+1],d[e].position=e;d[c]=b;d[c].position=c;b.$&&a.G()}}}
748
- function Pf(a){const b=a.sa;a.F.sort((c,d)=>b(c.Sa(),d.Sa()))}
749
- olympe.dc.cc.fp=class{constructor(a){this.sa=a;this.L=null;this.F=[];this.U=[];this.fa=null;this.ia=new Map}C(a,b,c,d){b='$'+c;const e=this.F;let f;if(a)f=new Nf(this,c,d),this.ia.set(b,f),this.O()?Lf(f,()=>Of(this,f)):(f.position=e.length,e.push(f));else{f=this.ia.get(b);if(void 0===f)throw Error('Trying to remove an non-registered item: "'+c+'"');this.ia.delete(b);null!==f.position&&(this.O()?this.remove(f):delete e[f.position]);f.fb()}return f}O(){return null!==this.L}$(a){if(null!==this.L)throw Error('Manager already activated (depth='+
750
- this.L+')');this.L=a;Pf(this);for(let b=0,c=this.F.length;b<c;b++){const d=this.F[b];d.position=b;Mf(d,()=>Of(this,d))}this.G()}G(){if(null===this.L)throw Error('Manager not activated, need to set a depth before updating ranks');const a=this.F.length;this.U.length=0;for(let d=0;d<a;d++){let e=this.F[d];if(!e.$){var b=e,c=this.L;b.$=!0;b.L=Jf(b,c)}0>this.L?this.U.push(e.index):e.L&&Kf(e.L,this.U)}this.fa&&this.fa(this.U)}Rf(a){this.fa=a}remove(a){const b=this.F,c=b.length-1;if(null!==a.position){for(a=
751
- a.position;a<c;a++)b[a]=b[a+1],b[a].position=a;b.length=c}}};olympe.dc.cc.fp.ka=[olympe.dc.cc.qa];class Qf extends olympe.dc.cc.Ni{constructor(a,b,c){super(a);this.index=b;this.tag=c;this.$=this.O=this.L=!1;this.G=null}}
752
- function Rf(a,b,c,d,e){const f=Object.create(null),g=a.sa,h=a.L;let k,m,n;a.ia=!0;m=0;for(n=g.length;m<n;m++)f[g[m]]=null;g.length=0;m=c;for(n=Math.min(b.length,d);m<n;m++)k=b[m],c=h[k],void 0!==c&&(delete f[k],g.push(k),c.L||(c.L=!0,e(!0,c.tag,c.index,c)));for(k in f)Object.prototype.hasOwnProperty.call(f,k)&&(c=h[k],c.L&&(c.L=!1,e(!1,c.tag,c.index,c)),c.O&&(c.G=null,delete h[k]),delete f[k]);a.ia=!1;null!==a.F&&a.G()}
753
- olympe.dc.cc.Qk=class{constructor(){this.L={};this.sa=[];this.F=null;this.ia=!1;this.U=[];this.fa=null}O(){return null!==this.F}$(a){if(null!==this.F)throw Error('Manager already activated (depth='+this.F+')');this.F=a;this.G()}G(){if(null===this.F)throw Error('Manager not activated, need to set a depth before updating ranks');if(!this.ia){var a=this.sa,b=a.length,c=this.L,d;for(d=this.U.length=0;d<b;d++){var e=c[a[d]];if(0>this.F)this.U.push(e.index);else{if(!e.$){var f=e,g=this.F;f.$=!0;f.G=Jf(f,
754
- g)}null!==e.G&&Kf(e.G,this.U)}}this.fa&&this.fa(this.U)}}Rf(a){this.fa=a}C(a,b,c){let d=this.L[c];a?void 0===d?(d=new Qf(this,c,b),this.L[c]=d):(d.tag=b,d.O=!1):void 0!==d&&(d.O=!0);return d}};olympe.dc.cc.Qk.ka=[olympe.dc.cc.qa];function Gf(a){if(!a.F){for(let b in a.G)Sf(a.G[b]);a.F=!0}a.L=null;a.O=null}function Hf(a,b,c){a.G[c||'root'].U=b}function If(a,b,c){a.G[c||'root'].Ff(b)}function Tf(a,b,c,d){const e=a.O,f=b+d+c;let g=e[f];void 0===g&&(g=Dd(a.db,b,c,d),e[f]=g);return g}function Uf(a,b){a.F||a.C.Ff(b)}function Vf(a,b,c,d,e){if(!a.F){let f=Tf(a,c,d,e||olympe.dc.Ka.DESTINATION);e||(f+=Tf(a,c,d,olympe.dc.Ka.ORIGIN));0===f&&Uf(a,b)}}
755
- function Wf(a,b){const c=a.G[b];void 0!==c?(a.N&&a.N.debug('Set current block to',b,null!==c.G?'parent = '+c.G.da():''),a.C=c):a.N&&a.N.error('Try to set a block that does not exists:',b)}function Xf(a){const b=String(++a.U),c=a.C;a.G[b]=new Yf(b,c);Zf(c,b);c.L||(c.L=()=>Wf(a,c.da()));return b}function $f(a,b){const c=a.C;a.C.L=()=>{Wf(a,c.da());b()}}function ag(a,b){Sf(b?a.G[b]:a.C)}
756
- olympe.dc.cc.gp=class{constructor(a,b){this.db=a;this.N=b||null;this.L=Object.create(null);this.O=Object.create(null);this.F=!1;this.U=0;this.C=new Yf('root');this.G=Object.create(null);this.G.root=this.C}register(a,b,c,d,e){this.F||(null!==b&&c&&d&&e?(c=Tf(this,c,d,e),d=this.L[b]||0,this.L[b]=++d,this.C.C===b&&c<=d&&(this.C.C=a)):this.C.C=a)}};function Zf(a,b){null===a.F&&(a.F=Object.create(null));a.F[b]=!1}function Sf(a){a.O=!0;null!==a.G&&a.G.notify(a.id)}
757
- class Yf{constructor(a,b){this.id=a;this.G=b||null;this.C=this.U=this.L=this.F=null;this.O=!1}da(){return this.id}Ff(a){const b=this.U;if(this.O||this.C===a||null===a)b&&b(),!b&&Sf(this)}notify(a){const b=this.L,c=this.F;if(this.O)b&&b();else if(!c[a]){a=c[a]=!0;for(let d in c)if(!c[d]){a=!1;break}a&&b&&b()}}};olympe.dc.ha={};olympe.dc.ha.Re=class{ja(){return O(olympe.dc.ha.Re)}C(){return[]}F(a,b){return b}na(){return'{"c":"'+this.ja()+'","a":[]}'}toString(){return'Tag()'}};N('olympe.dc.valuedefs.Tag',olympe.dc.ha.Re);olympe.dc.ha.Re.ka=[olympe.dc.re];olympe.dc.ha.Oc=class{constructor(a){this.value=a}ja(){return O(olympe.dc.ha.Oc)}C(){return[]}F(){return this.value}na(a){a=$e(a,this.value);return`{"c":"${this.ja()}","a":[${a}]}`}toString(){return`Constant(${Ze(this.value)})`}};N('olympe.dc.valuedefs.Constant',olympe.dc.ha.Oc);olympe.dc.ha.Oc.ka=[olympe.dc.re];function bg(a,b,c,d){const e=olympe.dc.Xa(),f=new olympe.dc.cc.Ji,g=new olympe.dc.cc.gp(e);let h=!1;const k=Object.create(null),m=r=>{if(0<r.length)for(const t in k)r[0]===t&&d(k[t])};let n=(r,t,u,w)=>{const x=olympe.D.Ha();x.ia()||x.G()||(h||(Hf(g,()=>{w.Ff();Gf(g)}),w.mc().Rf(m),h=!0),r?k[u]=t:delete k[u],If(g,u))};const p=olympe.D.Ha();if(null!==c)for(let r=c.length-1;0<=r;r--)n=c[r].getTransform(a,g,p.C(n));n=p.C(n);const q=olympe.aa.Qb();sc(e,b,(r,t)=>{g.register(q,null);const u=f.C(r,b,q,null);
758
- n(r,t,q,u.$c(r,b,q))},q);p.onDestroy(()=>{tc(e,b,q)});e.Hb(b)||Gf(g)}function cg(a,b,c){const d=c.node,e=olympe.dc.Xa(),f=a.L(),g=vd(e,b,a.O,d.C(h=>{null!==h&&(h=f(h));null===h?$a(c.node):c.update(h)}));d.onDestroy(()=>e.G(b,a.O,g))}
759
- olympe.dc.ha.Ac=class{constructor(a,b,c){this.O=a&&a.R?a.R():a;this.W=b&&b.filter(d=>d instanceof olympe.dc.W.Ab||d instanceof olympe.dc.W.Tb)||null;this.G=c||null;this.defaultValue=null}ja(){}Jb(){}L(){}C(){return(this.W||[]).reduce((a,b)=>a.concat(olympe.dc.query.Relation.from(b)),[])}Be(a){this.defaultValue=a;return this}ef(){return this.W}Zc(){return this.G}F(a,b){const c=olympe.D.Ec(this.Jb()||Object,'AbstractProperty valueType');null!==this.defaultValue&&mb(c,this.defaultValue);b=this.G||b;
760
- null!==this.W?bg(a,b,this.W,d=>{cg(this,d,c)}):cg(this,b,c);return c.xb()}na(a){const b=$e(a,this.O),c=$e(a,this.G);let d='null';this.W&&(d=this.W.map(function(e){return e.na(a)}).join(','));return`{"c":"${this.ja()}","a":["${b}",${d},${c}]}`}toString(){const a=Ze(this.O),b=this.G?','+Ze(this.G):'';let c='';this.W&&(c=','+this.W.join(','));return this.ja().replace(/^.+\./,'')+'('+a+c+b+')'}};olympe.dc.ha.Ac.ka=[olympe.dc.re];olympe.dc.ha.Id=class extends olympe.dc.ha.Ac{constructor(a,b,c){super(a,b,c)}ja(){return O(olympe.dc.ha.Id)}L(){return olympe.dc.aa.Bb.xl}Jb(){return olympe.D.ea}};N('olympe.dc.valuedefs.NumberProperty',olympe.dc.ha.Id);olympe.dc.ha.Kd=class extends olympe.dc.ha.Ac{constructor(a,b,c){super(a,b,c)}ja(){return O(olympe.dc.ha.Kd)}L(){return olympe.dc.aa.Bb.yl}Jb(){return olympe.D.Pa}};N('olympe.dc.valuedefs.StringProperty',olympe.dc.ha.Kd);olympe.dc.ha.Pd=class extends olympe.dc.ha.Ac{constructor(a,b,c){super(a,b,c)}ja(){return O(olympe.dc.ha.Pd)}L(){return olympe.dc.aa.Bb.vl}Jb(){return olympe.D.ga}};N('olympe.dc.valuedefs.BooleanProperty',olympe.dc.ha.Pd);olympe.dc.ha.Fd=class extends olympe.dc.ha.Ac{constructor(a,b,c){super(a,b,c)}ja(){return O(olympe.dc.ha.Fd)}L(){return olympe.dc.aa.Bb.wl}Jb(){return olympe.D.Ya}};N('olympe.dc.valuedefs.DateTimeProperty',olympe.dc.ha.Fd);olympe.dc.ha.dg=class{constructor(a){this.De=a&&a.R?a.R():a}ja(){return O(olympe.dc.ha.dg)}C(){return[]}F(a,b){a=new olympe.dc.pa(b,olympe.dc.Sync.F,olympe.dm.rb);b=new olympe.dc.pa(b,olympe.dc.Sync.La,olympe.dm.User);const c=a.transform(olympe.dm.rb.L);c.dd(olympe.dm.Ia);const d=new olympe.dc.pa(this.De,[olympe.dm.User.C,olympe.dm.Db.G],olympe.dm.Ia),e=olympe.D.createNode(Number);let f=!1;c.kf(()=>{d.kf(()=>{let g=0;c.hd(h=>{d.hd(k=>{h.R()===k.R()&&(g|=L(k.Lf()).valueOf())})});J(e,g);f=!0})});c.forEach(g=>
761
- {d.forEach(h=>{f&&g.R()===h.R()&&J(e,e.Fc.valueOf()|L(h.Lf()).valueOf())})});return olympe.D.Od([this.De,b.ee(0),a.ke(),e],(g,h,k,m)=>0===k.valueOf()?h&&g===h.R()?olympe.dm.Ia.C.wn:olympe.dm.Ia.C.NONE:m)}na(a){a=$e(a,this.De);return'{"c":"'+this.ja()+'","a":["'+a+'"]}'}toString(){const a=Ze(this.De);return this.ja().replace(/^.+\./,'')+'('+a+')'}};N('olympe.dc.valuedefs.Permission',olympe.dc.ha.dg);olympe.dc.ha.dg.ka=[olympe.dc.re];olympe.dc.ha.zm=class{constructor(a,b){if(olympe.D.gf(a))throw Error('Dataflows of Property not supported by AnyProperty');const c=a.R(),d=olympe.dc.Xa().uc(a,olympe.dm.Property.typeRel);if(!d)throw Error('Type of property '+a+'unavailable locally, cannot proceed with AnyProperty');a=null;switch(d){case olympe.dm.String.P.R():a=new olympe.dc.ha.Kd(c,b);break;case olympe.dm.Number.P.R():a=new olympe.dc.ha.Id(c,b);break;case olympe.dm.Boolean.P.R():a=new olympe.dc.ha.Pd(c,b);break;case olympe.dm.DateTime.P.R():a=
762
- new olympe.dc.ha.Fd(c,b)}this.G=a}ja(){return this.G.ja()}C(){return this.G.C()}F(a,b){return this.G.F(a,b)}na(a){return this.G.na(a)}toString(){return this.G.toString()}};olympe.dc.ha.zm.ka=[olympe.dc.re];olympe.dc.qb={};olympe.dc.qb.Number=class{constructor(a){this.C=a}ja(){return O(olympe.dc.qb.Number)}O(){return this.C.C()}L(a,b){return this.C.F(a,b)}G(a,b){return a!==b?a>b?1:-1:0}na(a){return`{"c":"${this.ja()}",a:[${this.C.na(a)}]}`}toString(){return`Number(${this.C.toString()})`}};N('olympe.dc.comparators.Number',olympe.dc.qb.Number);olympe.dc.qb.Number.ka=[olympe.dc.je];olympe.dc.qb.String=class{constructor(a){this.C=a}ja(){return O(olympe.dc.qb.String)}O(){return this.C.C()}L(a,b){return olympe.D.Aa([this.C.F(a,b)],c=>c.toLowerCase(),olympe.D.Pa)}G(a,b){return void 0===a?void 0===b?0:1:a!==b?a>b?1:-1:0}na(a){return`{"c":"${this.ja()}",a:[${this.C.na(a)}]}`}toString(){return`String(${this.C.toString()})`}};N('olympe.dc.comparators.String',olympe.dc.qb.String);olympe.dc.qb.String.ka=[olympe.dc.je];olympe.dc.qb.DateTime=class{constructor(a){this.C=a}ja(){return O(olympe.dc.qb.DateTime)}O(){return this.C.C()}L(a,b){return this.C.F(a,b)}G(a,b){if(!a)return b?-1:0;if(!b)return 1;a=a.getTime();b=b.getTime();return a!==b?a>b?1:-1:0}na(a){return'{"c":"'+this.ja()+'",a:['+this.C.na(a)+']}'}toString(){return'Number('+this.C.toString()+')'}};N('olympe.dc.comparators.DateTime',olympe.dc.qb.DateTime);olympe.dc.qb.DateTime.ka=[olympe.dc.je];let dg=0;olympe.dc.qb.Uf=class{constructor(){this.id=dg++}ja(){return'CustomLocalComparator#'+dg}O(){return[]}L(){throw Error('GetComparedValue function was not implemented.');}G(){throw Error('Compare function was not implemented.');}na(){return`{"c":"${this.ja()}"}`}toString(){return this.ja()+'()'}};olympe.dc.qb.Uf.ka=[olympe.dc.je];olympe.dc.ba={};olympe.dc.ba.me=class{constructor(a){this.G=a}ja(){return O(olympe.dc.ba.me)}F(){return this.G.F()}C(a,b){return olympe.D.Nj(this.G.C(a,b),c=>!c.valueOf())}na(a){return`{"c":"${this.ja()}","a":[${this.G.na(a)}]}`}toString(){return'Not('+this.G.toString()+')'}};N('olympe.dc.predicates.Not',olympe.dc.ba.me);olympe.dc.ba.me.ka=[olympe.dc.Sb];olympe.dc.ba.Wf=class{constructor(a){this.ba=[];for(let b=arguments.length,c=0;c<b;c++)Array.isArray(arguments[c])?this.ba=this.ba.concat(arguments[c]):this.ba.push(arguments[c])}ja(){return O(olympe.dc.ba.Wf)}F(){return this.ba.reduce((a,b)=>a.concat(b.F()),[])}C(a,b){return olympe.D.Od(this.ba.map(c=>c.C(a,b)),function(){for(let c=arguments.length,d=0;d<c;d++)if(!arguments[d].valueOf())return!1;return!0})}na(a){const b=this.ba.map(c=>c.na(a));return'{"c":"'+this.ja()+'","a":['+b.join(',')+']}'}toString(){return'And('+
763
- this.ba.map(a=>a.toString()).join(',')+')'}};N('olympe.dc.predicates.And',olympe.dc.ba.Wf);olympe.dc.ba.Wf.ka=[olympe.dc.Sb];olympe.dc.ba.cg=class{constructor(a){this.ba=[];for(let b=arguments.length,c=0;c<b;c++)Array.isArray(arguments[c])?this.ba=this.ba.concat(arguments[c]):this.ba.push(arguments[c])}ja(){return O(olympe.dc.ba.cg)}F(){return this.ba.reduce((a,b)=>a.concat(b.F()),[])}C(a,b){return olympe.D.Od(this.ba.map(c=>c.C(a,b)),function(){for(let c=arguments.length,d=0;d<c;d++)if(arguments[d].valueOf())return!0;return!1})}na(a){const b=this.ba.map(c=>c.na(a));return'{"c":"'+this.ja()+'","a":['+b.join(',')+']}'}toString(){return'Or('+
764
- this.ba.map(a=>a.toString()).join(',')+')'}};N('olympe.dc.predicates.Or',olympe.dc.ba.cg);olympe.dc.ba.cg.ka=[olympe.dc.Sb];olympe.dc.ba.Vj=class{constructor(a,b){this.G=a;this.L=b}ja(){}F(){return[this.G.C(),this.L.C()]}C(a,b){return olympe.D.Od([this.G.F(a,b),this.L.F(a,b)],(c,d)=>this.O(Number(c.valueOf()),Number(d.valueOf())))}O(){}na(a){return'{"c":"'+this.ja()+'","a":['+this.G.na(a)+','+this.L.na(a)+']}'}toString(){return this.ja().replace(/^.+\./,'')+'('+this.G.toString()+','+this.L.toString()+')'}};olympe.dc.ba.Vj.ka=[olympe.dc.Sb];olympe.dc.ba.od=class{constructor(a,b){this.G=a;this.L=b}ja(){return O(olympe.dc.ba.od)}F(){return[this.G.C(),this.L.C()]}C(a,b){return olympe.D.Aa([this.G.F(a,b),this.L.F(a,b)],(c,d)=>'object'===typeof c&&void 0!==c.vd?c.vd(d):'object'===typeof d&&void 0!==d.vd?d.vd(c):olympe.D.nc(c.valueOf()===d.valueOf()),olympe.D.ga,'Test equal predicate')}na(a){return'{"c":"'+this.ja()+'","a":['+this.G.na(a)+','+this.L.na(a)+']}'}toString(){return'Equals('+this.G.toString()+','+this.L.toString()+')'}};
765
- N('olympe.dc.predicates.Equals',olympe.dc.ba.od);olympe.dc.ba.od.ka=[olympe.dc.Sb];olympe.dc.ba.er=class extends olympe.dc.ba.od{constructor(a,b){super(a,new olympe.dc.ha.Oc(b))}};olympe.dc.ba.er.ka=[olympe.dc.Sb];olympe.dc.ba.Td=class extends olympe.dc.ba.Vj{constructor(a,b){super(a,b)}ja(){return O(olympe.dc.ba.Td)}O(a,b){return a>b}};N('olympe.dc.predicates.Greater',olympe.dc.ba.Td);olympe.dc.ba.$d=class extends olympe.dc.ba.Vj{constructor(a,b){super(a,b)}ja(){return O(olympe.dc.ba.$d)}O(a,b){return a<b}};N('olympe.dc.predicates.Smaller',olympe.dc.ba.$d);olympe.dc.ba.Ed=class{constructor(a,b,c){this.source=a;this.value=b;this.G=c?c:!1}ja(){return O(olympe.dc.ba.Ed)}F(){return[this.source.C(),this.value.C()]}C(a,b){return olympe.D.Aa([this.source.F(a,b),this.value.F(a,b),this.G],(c,d,e)=>{c=String(c);d=String(d);e.valueOf()||(c=c.toLowerCase(),d=d.toLowerCase());return olympe.D.nc(c.includes(d))},olympe.D.ga)}na(a){const b=this.source.na(a),c=this.value.na(a);a=$e(a,this.G);return'{"c":"'+this.ja()+'","a":['+b+','+c+','+a+']}'}toString(){const a=Ze(this.G);
766
- return'Contains('+this.source.toString()+','+this.value.toString()+','+a+')'}};N('olympe.dc.predicates.Contains',olympe.dc.ba.Ed);olympe.dc.ba.Ed.ka=[olympe.dc.Sb];olympe.dc.ba.Oe=class{constructor(a,b,c){this.source=a;this.L=b;this.G=void 0===c?!0:c}ja(){return O(olympe.dc.ba.Oe)}F(){return[this.source.C()]}C(a,b){return olympe.D.Od([this.source.F(a,b),this.L,this.G],(c,d,e)=>{c=String(c);d=String(d);e.valueOf()||(c=c.toLowerCase(),d=d.toLowerCase());return(new RegExp(d)).test(c)})}na(a){const b=this.source.na(a),c=$e(a,this.L);a=$e(a,this.G);return'{"c":"'+this.ja()+'","a":['+b+','+c+','+a+']}'}toString(){const a=Ze(this.G);return'Regex('+this.source.toString()+
767
- ','+this.L+','+a+')'}};N('olympe.dc.predicates.Regex',olympe.dc.ba.Oe);olympe.dc.ba.Oe.ka=[olympe.dc.Sb];olympe.dc.ba.Ke=class{constructor(a){this.G=new Set;a instanceof Array?a.forEach(b=>{this.G.add(olympe.dc.Fa(b))}):this.G.add(olympe.dc.Fa(a))}ja(){return O(olympe.dc.ba.Ke)}F(){return[]}C(a,b){const c=olympe.D.createNode(Boolean),d=olympe.dc.Xa();let e=[];const f=()=>{e.forEach(h=>{yd(d,h.tag,h.C,h.id)});e=[]},g=(h,k)=>{if(h)if(k===olympe.dc.Fa(olympe.dc.Sync))J(c,this.G.has(k)),f();else{for(const m of e)if(m.tag===k)throw Error(`You should never extend a model to itself (${k})`);this.G.has(k)?(J(c,
768
- !0),f()):(h=new eg(k,olympe.dc.Sync.extendRel),e.push(h),xd(d,h.tag,h.C,g,h.id))}};a=new eg(b,olympe.dc.Sync.modelRel);e.push(a);xd(d,a.tag,a.C,g,a.id);c.onDestroy(f);Qa(c)||J(c,!1);return c}na(){return'{"c":"'+this.ja()+'","a":['+JSON.stringify(Array.from(this.G))+']}'}toString(){return'InstanceOf('+Array.from(this.G).join(', ')+')'}};class eg{constructor(a,b){this.tag=a;this.C=b;this.id=olympe.aa.$e()}}N('olympe.dc.predicates.InstanceOf',olympe.dc.ba.Ke);olympe.dc.ba.Ke.ka=[olympe.dc.Sb];function fg(a){return a.G.map(b=>b.R())}function gg(a){return a.G.map(b=>b.Oa())}
769
- olympe.dc.ba.Je=class{constructor(a,b,c){this.G=[];this.L=c instanceof Array?c:void 0!==c?[olympe.dc.Fa(c)]:[];a=Array.isArray(a)?a:[a];for(let d=0,e=a.length;d<e;d++)c=a[d],c instanceof olympe.dc.W.Tb?this.G.push(new hg(c.R(),c.Oa(),c.F,c.C)):this.G.push(new hg(olympe.dc.Fa(c),b[d],1,1))}ja(){return O(olympe.dc.ba.Je)}F(){return[this.G.reduce((a,b)=>a.concat(b),[])]}C(a,b){const c=olympe.D.createNode(Boolean),d=olympe.aa.Qb(),e=olympe.dc.Xa();let f=0;a=(h,k)=>{0!==this.L.length&&!this.L.includes(k)||
770
- c.G()||(f+=h?1:-1,J(c,0<f))};const g=this.G;for(let h=g.length-1;0<=h;h--)a=ig(g[h],e,a,d+h);sc(e,b,a,d);olympe.D.Ha().onDestroy(()=>{tc(e,b,d)});c.Be(!1);return c}na(){return'{"c":"'+this.ja()+'","a":['+JSON.stringify(this.G.map(a=>a.na()))+(0!==this.L.length?',"'+this.L.toString():'')+'"]}'}toString(){return'HasRelated('+(0!==this.L.length?'#'+this.L.toString()+', ':'')+this.G.map(a=>a.na())+')'}};N('olympe.dc.predicates.HasRelated',olympe.dc.ba.Je);
771
- function ig(a,b,c,d){const e=Object.create(null);d+=olympe.aa.$e();const f=(g,h,k)=>{k>=a.F&&c(g,h);if(!(0<=a.C&&k>=a.C)){var m=d+k;g?e[h]||(e[h]=!0,xd(b,h,a,(n,p)=>{f(n,p,k+1)},m)):(delete e[h],yd(b,h,a,m))}};return(g,h)=>f(g,h,0)}class hg extends olympe.dc.query.Relation{constructor(a,b,c,d){super(a,b,1!==c||1!==d);this.F=c;this.C=d}na(){return`${this.R()}, ${this.Oa()}, ${this.F}, ${this.C}`}}olympe.dc.ba.Je.ka=[olympe.dc.Sb];olympe.dc.ba.Ki=class{constructor(a,b){this.G=a;this.value=b}C(a,b){return olympe.D.Od([this.G,this.value.F(a,b)],(c,d)=>{c=c.valueOf();return(Number(c)&Number(d.valueOf()))===Number(c)})}ja(){return O(olympe.dc.ba.Ki)}F(){return[this.value.C()]}na(a){const b=olympe.D.ab(this.G)?L(this.G).valueOf():this.G.valueOf();return'{"c":"'+this.ja()+'","a":['+b+','+this.value.na(a)+']}'}toString(){const a=olympe.D.ab(this.G)?L(this.G).valueOf():this.G.valueOf();return this.ja().replace(/^.+\./,'')+'('+a.toString()+
772
- ','+this.value.toString()+')'}};N('olympe.dc.predicates.BitMask',olympe.dc.ba.Ki);olympe.dc.ba.Ki.ka=[olympe.dc.Sb];let jg=0;olympe.dc.ba.Uf=class{constructor(){this.id=jg++}ja(){return'CustomLocalPredicate#'+this.id}F(){return[]}C(){throw Error('Test function was not implemented.');}na(){return`{"c":"${this.ja()}"}`}toString(){return this.ja()+'()'}};olympe.dc.ba.Uf.ka=[olympe.dc.Sb];olympe.dc.ba.yk=class{constructor(a,b,c){this.G=[];this.L=void 0!==c?c.map(olympe.dc.Fa):null;a=Array.isArray(a)?a:[a];for(let d=0,e=a.length;d<e;d++)c=a[d],c instanceof olympe.dc.W.Tb?this.G.push(new kg(c.R(),c.Oa(),c.F,c.C)):this.G.push(new kg(olympe.dc.Fa(c),b[d],1,1))}ja(){return O(olympe.dc.ba.yk)}F(){return[this.G.reduce((a,b)=>a.concat(b),[])]}C(a,b){const c=olympe.D.createNode(Boolean),d=olympe.dc.Xa(),e=olympe.aa.$e();a=(h,k,m)=>{k&&(null===this.L||this.L.includes(m))&&h(1)};const f=this.G;
773
- for(let h=f.length-1;0<=h;h--)a=f[h].getTransform(d,a,e+h);let g=0;sc(d,b,a.bind(null,h=>{c.ia()||c.G()||(g+=h,J(c,0<g))}),e);olympe.D.Ha().onDestroy(()=>tc(d,b,e));c.Be(!1);return c}na(){return'{"c":"'+this.ja()+'","a":['+JSON.stringify(this.G.map(a=>a.na()))+(null!==this.L?',"'+this.L.toString():'')+'"]}'}toString(){return'HasRelatedTree('+(null!==this.L?'#['+this.L.toString()+'], ':'')+this.G.map(a=>a.na())+')'}};N('olympe.dc.predicates.HasRelatedTree',olympe.dc.ba.yk);
774
- class kg extends olympe.dc.query.Relation{constructor(a,b,c,d){super(a,b,1!==c||1!==d);this.F=c;this.C=d;this.L=new Map;this.G=new Map}getTransform(a,b,c){const d=this.G,e=this.L,f=new Set,g=(k,m,n)=>{e.has(m)?e.get(m).set(c+n,k):e.set(m,(new Map).set(c+n,k))},h=(k,m,n,p,q)=>{const r=olympe.aa.$e();if(p){const t=n+q,u=w=>{const x=e.get(q);if(f.has(t))throw Error(`Try to use the predicate HasRelatedTree with recursion in a graph cluster containing a loop around instances ${n} and ${q}`);void 0!==x&&
775
- null!==x&&(f.add(t),d.set(q,(d.get(q)||0)+w),Array.from(x.values()).forEach(I=>I(w)));f.delete(t)};g(k,q,n);d.has(q)?k(d.get(q)):(m>=this.F&&b(w=>{d.set(q,(d.get(q)||0)+w);k(w)},p,q),(0>this.C||m<=this.C)&&q!==n&&xd(a,q,this,h.bind(this,u,m+1,q),r))}else k(-d.get(q)),e.get(q).delete(c+n),0===e.get(q).size&&(d.delete(q),e.delete(q),yd(a,q,this,r))};return(k,m,n)=>h(k,0,'origin',m,n)}na(){return`${this.R()}, ${this.Oa()}, ${this.F}, ${this.C}`}}olympe.dc.ba.yk.ka=[olympe.dc.Sb];olympe.dc.W={};olympe.dc.W.jj={jr:1,zr:-1,Tn:0};olympe.dc.W.iA={Mx:!0,jy:!1};olympe.dc.W.Ab=class extends olympe.dc.za.Relation{constructor(a,b){super(olympe.dc.Fa(a),b||olympe.dc.Ka.DESTINATION)}Jb(){return Fc(this)}ja(){return O(olympe.dc.W.Ab)}kd(){return new olympe.dc.W.Ab(this.tag,this.direction===olympe.dc.Ka.DESTINATION?olympe.dc.Ka.ORIGIN:olympe.dc.Ka.DESTINATION)}getTransform(a,b,c){const d=olympe.dc.Xa(),e=this.R(),f=this.Oa();return(g,h,k,m)=>{Vf(b,k,h,e,f);g?xd(d,h,this,(n,p)=>{const q=olympe.aa.zc(k+f+e+p,20),r=m.$c(n,p,q);n&&b.register(q,k,h,e,f);c(n,p,q,r)},
776
- k):yd(d,h,this,k)}}na(){return'{"c":"'+this.ja()+'","a":["'+this.R()+'","'+this.Oa()+'"]}'}toString(){return'Related('+this.Oa()+this.R()+')'}};N('olympe.dc.transformers.Related',olympe.dc.W.Ab);olympe.dc.W.Ab.ka=[olympe.dc.Mc];olympe.dc.W.Tb=class extends olympe.dc.za.Relation{constructor(a,b,c,d){super(olympe.dc.Fa(a),b||olympe.dc.Ka.DESTINATION);this.F='number'===typeof c?c:1;this.C='number'===typeof d?d:-1}Jb(){return Fc(this)}ja(){return O(olympe.dc.W.Tb)}getTransform(a,b,c){const d=olympe.dc.Xa(),e=Object.create(null),f=olympe.dc.Ka.ORIGIN,g=olympe.dc.Ka.DESTINATION,h=this.R(),k=this.Oa(),m=(p,q,r)=>{if(!(0<=this.C&&p>=this.C)){var t=d.$a(r,this);p+=1;for(let u=0,w=t.length;u<w;u++){if(void 0!==e[t[u]]||r===t[u])continue;
777
- const x=olympe.aa.zc(q+k+(h+'_'+p)+t[u],20);b.register(x,q,r,h,k||g);null===k&&b.register(x,q,r,h,f)}}},n=(p,q,r,t,u,w)=>{u&&!b.F&&m(p,t,w);p>=this.F?c(u,w,t,r.$c(u,w,t)):Vf(b,t,w,h,k);0<=this.C&&p>=this.C||(u?e[w]||(e[w]=!0,xd(d,w,this,(x,I)=>{const D=p+1,z=olympe.aa.zc(t+k+(h+'_'+D)+I,20);n(D,w,r,z,x,I)},t)):(yd(d,w,this,t),delete e[w]))};return(p,q,r,t)=>n(0,null,t,r,p,q)}na(){return'{"c":"'+this.ja()+'","a":["'+this.R()+'","'+this.Oa()+'",'+this.F+','+this.C+']}'}toString(){return'RecursiveRelated('+
778
- this.Oa()+this.R()+'['+this.F+'..'+this.C+'])'}};N('olympe.dc.transformers.RecursiveRelated',olympe.dc.W.Tb);olympe.dc.W.Tb.ka=[olympe.dc.Mc];function lg(a){return a.C.map(b=>b.R())}
779
- olympe.dc.W.Wd=class{constructor(a,b){this.direction=b||olympe.dc.Ka.DESTINATION;this.C=a.map(c=>new olympe.dc.za.Relation(c,this.direction))}Jb(){return olympe.dc.Sync}ja(){return O(olympe.dc.W.Wd)}Oa(){return this.direction}getTransform(a,b,c){const d=olympe.dc.Xa(),e=(f,g,h,k)=>xd(d,f,k,(m,n)=>{var p=k.Oa();var q=k.R();p=olympe.aa.zc(g+p+q+n,20);q=h.$c(m,n,p);m&&b.register(p,g,f,k.R(),k.Oa());c(m,n,p,q)},g);return(f,g,h,k)=>{f?this.C.forEach(m=>{Vf(b,h,g,m.R(),m.Oa());e(g,h,k,m)}):this.C.forEach(m=>
780
- {yd(d,g,m,h)})}}na(){return'{"c":"'+this.ja()+'","a":['+JSON.stringify(lg(this))+',"'+this.direction+'"]}'}toString(){return'MultiRelated('+this.Oa()+'['+lg(this).join(',')+'])'}};N('olympe.dc.transformers.MultiRelated',olympe.dc.W.Wd);olympe.dc.W.Wd.ka=[olympe.dc.Mc];olympe.dc.W.uk=class{constructor(a,b,c,d){this.C=new olympe.dc.za.Relation(olympe.dc.Fa(a),c||olympe.dc.Ka.DESTINATION);this.F=new olympe.dc.za.Relation(olympe.dc.Fa(b),d||olympe.dc.Ka.DESTINATION)}Jb(){return Fc(this.C)}ja(){return O(olympe.dc.W.uk)}getTransform(a,b,c){const d=olympe.dc.Xa(),e={},f=this.C.R(),g=this.C.Oa(),h=this.F.R(),k=this.F.Oa();let m=null,n=null;const p=(r,t,u,w,x,I)=>{if(x){if(x=()=>{const D=olympe.aa.zc(u+g+(f+'_'+r)+I,20),z=t.$c(!0,I,D);m=r;n=()=>{c(!1,I,D,t.$c(!1,I,D))};
781
- b.register(D,u,w,f,g);c(!0,I,D,z)},x.cq=r,e[w]=x,null===m||r<m)n&&n(),x()}else if(m===r){n();e[w]=!0;x=Infinity;let D=null;for(let z=Object.keys(e),T=z.length,S=0;S<T;S++){let eb=e[z[S]];eb.cq<x&&(x=eb.cq,D=eb)}D&&D()}},q=(r,t,u,w,x)=>{w?e[x]||(e[x]=!0,Vf(b,u,x,f,g),Vf(b,u,x,h,k),xd(d,x,this.C,p.bind(this,r,t,u,x),u+'_val'),xd(d,x,this.F,q.bind(this,r+1,t,u),u+'_follow')):(yd(d,x,this.F,u+'_follow'),yd(d,x,this.C,u+'_val'),delete e[x])};return(r,t,u,w)=>q(0,w,u,r,t)}na(){return'{"c":"'+this.ja()+
782
- '","a":["'+this.C.toString()+'","'+this.F.toString()+'"]}'}toString(){return'FirstRelated('+this.C.toString()+', '+this.F.toString()+')'}};N('olympe.dc.transformers.FirstRelated',olympe.dc.W.uk);olympe.dc.W.uk.ka=[olympe.dc.Mc];olympe.dc.W.Wc=class{Jb(){return null}ja(){return O(olympe.dc.W.Wc)}getTransform(a,b,c){const d={};return function(e,f,g,h){e?void 0===d[f]?(d[f]=1,b.C.C!==g||b.F||(b.C.C=f),c(!0,f,f,h.$c(!0,f,f))):(d[f]++,Uf(b,g)):void 0!==d[f]&&0>=--d[f]&&(delete d[f],c(!1,f,f,h.$c(!1,f,f)))}}na(){return'{"c":"'+this.ja()+'"}'}toString(){return'Distinct()'}};N('olympe.dc.transformers.Distinct',olympe.dc.W.Wc);olympe.dc.W.Wc.ka=[olympe.dc.Mc];olympe.dc.W.rd=class{constructor(a,b){this.C=a;this.F=void 0===b?!0:!!b}Jb(){return null}ja(){return O(olympe.dc.W.rd)}G(){return[this.C.O()]}getTransform(a,b,c){const d=new olympe.dc.cc.fp(this.F?this.C.G.bind(this.C):(e,f)=>this.C.G(f,e));return(e,f,g)=>{var h=e?this.C.L(a,f):void 0;h=d.C(e,f,g,h);c(e,f,g,h)}}na(a){return'{"c":"'+this.ja()+'","a":['+this.C.na(a)+','+JSON.stringify(this.F)+']}'}toString(){return'Sort('+this.C.toString()+','+JSON.stringify(this.F)+')'}};
783
- N('olympe.dc.transformers.Sort',olympe.dc.W.rd);olympe.dc.W.rd.ka=[olympe.dc.Mc,olympe.dc.Io];olympe.dc.W.Xc=class{constructor(a){this.C=a}Jb(){return null}ja(){return O(olympe.dc.W.Xc)}G(){return this.C.F()}getTransform(a,b,c){function d(f,g,h,k){k=k.valueOf();!1===k&&Uf(b,g);k!==!!e[g]&&(e[g]=k,c(k,f,g,h.$c(k,f,g)))}const e={};return(f,g,h,k)=>{const m='@'+h;f?(f=this.C.C(a,g),olympe.D.ab(f)&&(f=f.Ta),olympe.D.ff(f)?(b.F||void 0!==olympe.D.Sa(f)||Uf(b,h),e[m]=f,olympe.D.Yb([f],n=>{d(g,h,k,n)},'filterResultHandler')):d(g,h,k,f)):(void 0!==e[m]&&(e[m].fb(),delete e[m]),d(g,h,k,!1),delete e[h])}}na(a){return'{"c":"'+
784
- this.ja()+'","a":['+this.C.na(a)+']}'}toString(){return'Filter('+this.C.toString()+')'}};N('olympe.dc.transformers.Filter',olympe.dc.W.Xc);olympe.dc.W.Xc.ka=[olympe.dc.Mc,olympe.dc.Io];olympe.dc.W.xd=class{constructor(a,b){this.start=a;this.C=b}Jb(){return null}ja(){return O(olympe.dc.W.xd)}Rp(){return this.C}getTransform(a,b,c){const d=new olympe.dc.cc.Qk;let e,f,g,h=!1;const k=()=>{if(void 0!==f&&void 0!==g&&void 0!==e){var n=f+g;b.F||(b.C.C=e[0>n-1?0:Math.min(e.length,n)-1]);Rf(d,e,f,n,c)}};olympe.D.Dd([this.start,this.C],(n,p)=>{f=n.valueOf();g=p.valueOf();k()});$f(b,k);const m=Xf(b);Wf(b,m);return(n,p,q,r)=>{h||(r.mc().Rf(t=>{e=t;ag(b,m)}),Hf(b,()=>r.Ff(),m),h=!0);d.C(n,p,
785
- q,null);If(b,q,m)}}na(a){return'{"c":"'+this.ja()+'","a":['+$e(a,this.start)+','+$e(a,this.C)+']}'}toString(){return`Limit(${olympe.D.Sa(this.start)},${olympe.D.Sa(this.C)})`}};N('olympe.dc.transformers.Limit',olympe.dc.W.xd);olympe.dc.W.xd.ka=[olympe.dc.Mc];function mg(a,b,c,d,e,f){function g(p,q){if(m)for(var r=m.length-1;0<=r;r--)f=m[r].getTransform(b,e,n.C(f));f=n.C(f);e.register(h,null);r=d.C(p,q,c,null);f(p,q,h,r.$c(p,q,h))}const h=olympe.aa.Qb(),k=olympe.dc.Xa(),m=a.W,n=olympe.D.Ha();olympe.D.Yb([a.C],p=>{ng(k,p,g,h);void 0===k.model(p)&&Gf(e)})}function ng(a,b,c,d){const e=b&&b.valueOf();e&&(sc(a,e,c,d),olympe.D.Ha().L(()=>tc(a,e,d)))}
786
- olympe.dc.W.Se=class{constructor(a,b){this.W=this.C=null;a instanceof olympe.dc.pa?(this.C=a.Zc(),this.W=a.Ik()):(this.C=a,b&&(this.W=b))}Jb(){return null}ja(){return O(olympe.dc.W.Se)||''}ef(){return this.W}Zc(){return this.C}getTransform(a,b,c){const d=new olympe.dc.cc.Qk,e=new olympe.dc.cc.Ji;let f=[],g=[],h=!1,k=!1;const m=Xf(b),n=Xf(b);$f(b,()=>{const p=f.concat(g);0<p.length?b.F||(b.C.C=p[p.length-1]):ag(b);Rf(d,p,0,p.length,c)});Wf(b,n);mg(this,a,this.C,e,b,(p,q,r,t)=>{const u=olympe.D.Ha();
787
- u.ia()||u.G()||(k||(t.mc().Rf(w=>{g=w;ag(b,n)}),Hf(b,()=>t.Ff(),n),k=!0),d.C(p,q,r),If(b,r,n))});Wf(b,m);return(p,q,r,t)=>{h||(t.mc().Rf(u=>{f=u;ag(b,m)}),Hf(b,()=>t.Ff(),m),h=!0);d.C(p,q,r,m);If(b,r,m)}}na(a){const b=this.W?'['+this.W.map(c=>c.na(a)).join(',')+']':'null';return'{"c":"'+this.ja()+'","a":['+$e(a,this.C)+','+b+']}'}toString(){const a=olympe.D.ab(this.C)?'N:'+this.C.Ta.da():this.C.valueOf(),b=this.W?','+this.W.map(c=>c.toString()).join(','):'';return'Union('+a+b+')'}};
788
- N('olympe.dc.transformers.Union',olympe.dc.W.Se);olympe.dc.W.Se.ka=[olympe.dc.Mc];olympe.dc.Sf={};function og(a,b){let c=yc.get(b)||null,d=null;for(;!c&&b&&b!==d;){d=b;b=a.db.Ze(b);if(null===b)break;c=yc.get(b)||null}return c||null}function pg(a,b){const c=og(a,a.db.model(b));return null===c?(a.N.error(`Instantiation of a Sync (tag = '${b}') that does not exist (or incompletely exists) in the local database.\n
554
+ olympe.Ca.Hc.WebSocket=class{constructor(a,b){this.N=b;this.id=a;this.C=null;this.buffer=[];this.G=!1;this.F=this.L=this.O=null}da(){return this.id}send(a){this.N.debug('#'+this.id+' > '+a);this.G?this.C.send(a):this.buffer.push(a)}close(){const a=this.C.constructor,b=this.C.readyState;b===a.OPEN||b===a.CONNECTING?(this.N.debug('Force closing native websocket'),this.C.close(1E3)):this.N.debug('Try to force close native websocket, but not open nor connecting')}xa(a){this.O=a||null}na(a){this.F=a||
555
+ null}ja(a){this.L=a||null}V(){}ca(){}};olympe.Ca.Hc.WebSocket.ka=[olympe.Ca.WebSocket];olympe.bb.node.Ca={};olympe.bb.node.Ca.Qs=class extends olympe.Ca.qa{constructor(a,b){super(a,b);this.V=new olympe.bb.node.Ca.Qk(a)}O(){return'NodeJS'}L(){return olympe.D.fa.F}ca(a){var b=this.F++;a=a.C();this.N.debug('CREATE Websocket #'+b+' to '+a);b=new olympe.bb.node.Ca.Rs(b,this.N);qc(b,a);return b}Ge(a,b){this.N.debug('SEND HTTP '+a.method+' to '+a.C());const c=this.F++;b=lc(this,c,b);this.V.Ge(c,{u:a.C(),s:hc(a),h:fc(a),p:a.port,z:gc(a),q:kc(a),m:a.method,v:a.headers,k:a.key,c:null,a:null,j:!1,b:a.body,r:a.F},
556
+ b)}G(){this.N.warn('DOWNLOAD FILE not available with node native implementation. URL:')}C(){return this.V}};olympe.bb.node.Ca.Qk=class extends olympe.Ca.Hc.Qk{Ge(a,b,c){const d=b.s,e=b.b,f=b.m;var g=b.v;const h=b.k,k=b.c,m=b.a,n=b.j;var p=b.h;const q=b.p;let r=b.z;r.startsWith('/')||(r=`/${r}`);const t=b.q,v=b.u,u=b.r;b={host:p,port:q,path:t?r+'?'+t:r,method:f};g&&(b.headers=g);g=(x,G,C)=>new Promise((z,T)=>{OlympeNodeAPI.readFile(x,(S,hb)=>{S?T(S):(C[G]=hb,z(C))})});p=x=>{const G=z=>{z.setEncoding(u===olympe.Ca.Vb.ResponseType.Dj?'utf-8':'binary');let T='';z.on('data',S=>{T+=S});z.on('end',()=>{if(u!==
557
+ olympe.Ca.Vb.ResponseType.Dj){var S=(new Uint8Array(OlympeNodeAPI.buffer.from(T,'binary'))).buffer;S=u===olympe.Ca.Vb.ResponseType.mk?new Blob([S]):S}else S=T;c(this.F(z.statusCode,z.statusMessage,S,z.headers))})},C=d?new OlympeNodeAPI.lw(x,G):new OlympeNodeAPI.Ge(x,G);this.C.set(a,()=>{C.abort()});C.on('error',z=>{c(this.F(0,'Conection refused','Error connecting to '+v+' with method '+f+', code = '+z.code+', message = '+z.message,''))});!e||'POST'!==f&&'PUT'!==f?C.end():(e instanceof Blob?e.arrayBuffer():
558
+ Promise.resolve(e)).then(z=>{C.write(z instanceof ArrayBuffer?OlympeNodeAPI.buffer.from(z):z);C.end()})};d&&(h||k||m)?h&&k&&m?(b.rejectUnauthorized=n,g(h,'key',b).then(g.bind(null,k,'cert')).then(g.bind(null,m,'ca')).then(p).catch(x=>{this.N.log('Error loading self signed files:',x)})):this.N.warn('All three self signed files must be specified!'):p(b)}F(a,b,c,d){this.N.debug('Received HTTP response',a,c);return new olympe.Ca.Kr(c,a,b,d)}};olympe.bb.node.Ca.Rs=class extends olympe.Ca.Hc.WebSocket{V(a){return new OlympeNodeAPI.WebSocket(a)}ca(a){a=new Uint8Array(a);return(new OlympeNodeAPI.StringDecoder('utf8')).write(a)}};olympe.bb.node.Ca.Z={TA:'native.html.net.useWorkers'};olympe.U.Ib(function(a){pa(a,olympe.Ca.T.ta,olympe.bb.node.Ca.Qs,olympe.Ca.T.Ha,olympe.host.T.ta)},'olympe.native.node.net');olympe.bb.node.Ub={};olympe.bb.node.Ub.qo=class{constructor(a){this.F={};this.N=a}C(a){void 0===this.F[a]&&(this.F[a]=new olympe.bb.node.Ub.ro(a,this.N));return rc(this.F[a])}};olympe.bb.node.Ub.qo.ka=[olympe.Ub.ws];function rc(a){if(a.C)return a;a.C=!0;a.db=OlympeNodeAPI.Dw(new OlympeNodeAPI.Cw);return a}olympe.bb.node.Ub.ro=class{constructor(a,b){this.name=a;this.N=b;this.C=!1;this.db=void 0}close(){}get(a,b){this.C||rc(this);b(this.db.get(a).value(),a)}set(a,b,c){this.C||rc(this);this.db.set(a,b).write();c&&c(!0)}forEach(a,b){this.C||rc(this);const c=this.db.getState();for(let d in c)a(c[d],d);b()}remove(a){this.C||rc(this);this.db.unset(a).write()}clear(){this.C||rc(this);this.db.setState({})}};
559
+ olympe.bb.node.Ub.ro.ka=[olympe.Ub.xs];olympe.U.Ib(function(a){y(a,olympe.Ub.T.lj,olympe.bb.node.Ub.qo,olympe.Ub.T.Ha)},'olympe.native.node.localstorage');olympe.bb.node.storage={};olympe.bb.node.storage.Storage=class{constructor(a){this.N=a}G(a){a&&a('Not Implemented.')}O(a){a&&a('Not Implemented.')}write(a,b,c,d,e){e&&e('Not Implemented.')}L(a){a&&a('Not Implemented.')}F(a){a&&a('Not Implemented.')}C(a){a&&a('Not Implemented.')}close(a){a(null)}};olympe.bb.node.storage.Storage.ka=[olympe.Ub.Storage];olympe.U.Ib(function(a){pa(a,olympe.Ub.T.bi,olympe.bb.node.storage.Storage,olympe.host.T.Ha)},'olympe.native.html.storage');olympe.ag={};olympe.ag.Z={VERSION:'version.version',Wq:'version.branch',uf:'version.commit',Et:'version.tag',xn:'version.olympe-framework',Xq:'version.build'};olympe.U.Ib(function(a){D(a,olympe.ag.Z.VERSION,'');D(a,olympe.ag.Z.Wq,'');D(a,olympe.ag.Z.uf,'');D(a,olympe.ag.Z.Et,'');D(a,olympe.ag.Z.xn,'');D(a,olympe.ag.Z.Xq,'')},'olympe.main');let ua,ta;function sc(a,b){OlympeNodeAPI.readFile(a,(c,d)=>{c?b(Object.create(null)):(d=JSON.parse(d),b(d))})}
560
+ function tc(){if(void 0!==ua&&void 0!==ta){0===Object.keys(ta).length&&console.warn('No configuration found. Check presence of oConfig.json');0===Object.keys(ua).length&&console.warn('No version found. Check presence of version.json');var a=Object.create(null);for(var b=2;b<OlympeNodeAPI.Dq.length;b++){var c=/^true|false$/i,d=/^\d+(\.\d+)?$/,e=void 0;const f=/([^?&=]+)(=?([^?&=]+))?/g.exec(OlympeNodeAPI.Dq[b]);e=f[3];void 0===e?e=!0:c.test(e)?e='true'===e.toLowerCase():d.test(e)&&(e=parseFloat(e));
561
+ a[f[1]]=e}a=new olympe.U.mr(a);d=a.rb();d.debug('Registering configurations...');d.C++;for(let f=0,g=ja.length;f<g;f++)b=a,c=ja[f],A(b.N,'Registering configure callback '+(c.C?'for module '+c.C:'')),b.F.push(c.F);na(d);d.debug('done registering');a=a.compile();c=a.rb();c.debug('Running run callbacks of container...');for(let f=0,g=ka.length;f<g;f++)c.C++,d=ka[f],b=a,e=ma(b,d.wi()),e.push(b),b.N.debug('Calling run callback '+(d.C?'for module '+d.C:'')),d.F.apply(null,e),na(c);c.debug('done calling run callbacks. DI process completed!')}}
562
+ olympe.$.Tl('oConfig.json',sc,function(a){ta=a;tc()});sc('version.json',function(a){ua=a;tc()});olympe.dc={};olympe.dc.Da=function(a){if('string'===typeof a)return a;let b=null;a=olympe.D.Ta(a);void 0!==a&&null!==a&&(a=a.valueOf(),'string'===typeof a?b=a:a.R?b=a.R():'function'===typeof a&&(b=olympe.dc.wa.mc(a)));return b||''};w('olympe.dc.instanceToTag',olympe.dc.Da);olympe.dc.Ua=function(){return olympe.dc.Wc().view};olympe.dc.Ka={ORIGIN:'<',DESTINATION:'>',gh:'<',mh:'>'};w('olympe.dc.RelationDirection',olympe.dc.Ka);olympe.dc.Lf=class{Tb(){}ac(){}oc(){}la(){}nb(){}};olympe.dc.ml=class{gd(){}da(){}zc(){}};function uc(a,b,c,d,e,f,g){d=new olympe.dc.ma(olympe.dc.ma.ra.Hj,{file:b,url:null,content:c,Rg:e?h=>{vc(a,b,c);f(h)}:f,mimeType:d,eg:g||null},[olympe.dc.Ua().source(b)||olympe.dc.La.dd]);a.F.send(d)}function vc(a,b,c){const d=olympe.dc.Da(b);a.C.set(d,c);const e=olympe.$.Sf();wc(olympe.dc.Ua(),d,f=>{f||(a.C.delete(d),xc(olympe.dc.Ua(),d,e))},e)}
563
+ function yc(a,b,c,d){olympe.D.Eq([b.rq(),b.R(),b.Vk(),b.$l()],(e,f,g,h)=>{a.C.has(f)?c(a.C.get(f)):(e=new olympe.dc.ma(olympe.dc.ma.ra.aj,{file:f,url:e.valueOf()?null:g,mimeType:h.valueOf(),Rg:a.G?k=>{vc(a,f,k);c(k)}:c,eg:d},[olympe.dc.Ua().source(f)||olympe.dc.La.dd]),a.F.send(e))})}
564
+ olympe.dc.Br=class{constructor(a,b,c,d,e){this.N=a;this.F=c;this.G=e;this.C=new Map}le(a,b,c,d,e,f=!0){b=b instanceof olympe.D.Oa?b.valueOf():b;'string'===typeof b?b=new Blob([Ba(b)],{type:c}):b instanceof ArrayBuffer&&(b=new Blob([b],{type:c}));uc(this,a,b,c,f&&this.G,d,e)}};olympe.dc.Nd=class{R(){}};olympe.dc.Nd.prototype.getTag=olympe.dc.Nd.prototype.R;olympe.dc.Nd.prototype.R.K=new olympe.D.J(()=>String,[]);olympe.dc.Fc={ce:'ff022000000000000000',Zg:'ff02200000000000000e',Pm:'ff02200000000000000f'};olympe.dc.Pb={VERSION:'@v',Pd:'@s'};olympe.dc.og={bd:'?'};olympe.dc.qa=class{constructor(a,b,c,d,e,f){this.N=a;this.C=f}le(a,b,c,d,e,f){f?this.C.le(a,b,c,g=>{g&&f.update(a,olympe.dm.File.urlProp,g);f.update(a,olympe.dm.File.C,olympe.D.fa.F);d(g)},e):this.C.le(a,b,c,d,e)}};function zc(a,b){a.F.unshift(b);return a}olympe.dc.ma=class{constructor(a,b,c){this.type=a;this.content=b;this.C=c;this.F=[]}validate(a=null){this.F.forEach(b=>{b(a||null)})}toString(){const a=olympe.$.jq(olympe.dc.ma.ra,this.type);return a?a:'UNKNOWN_MESSAGE'}};olympe.dc.ma.ra={ng:10,Wy:11,fp:20,eA:21,xt:22,xl:23,Ph:24,Oh:25,Xy:26,Kk:28,Bz:30,Cz:31,hi:40,yl:41,Ug:45,Gm:46,Gk:47,Hj:50,aj:51,Bk:52,Lt:60,it:61,Dr:62,Er:63,cr:64,Yq:65,Vy:90,zk:91,Lk:92,Fn:93,fo:94,rj:95,wt:96};olympe.dc.Te=class{C(){}};olympe.dc.nl=class{constructor(...a){this.Nb=a}C(a,b,c){const d=this.Nb.length,e=(f,g,h)=>{g||f>=d?c(g,h):this.Nb[f].C(a,h,e.bind(null,f+1))};e(0,null,b)}};olympe.dc.nl.ka=[olympe.dc.Te];olympe.dc.Ec=class{constructor(a){this.tag='string'===typeof a?a:a.R()}R(){return this.tag}toJSON(){return'{ "type": "reference", "tag": '+JSON.stringify(this.tag)+' }'}static $b(a){let b;'string'===typeof a?b=JSON.parse(a):b=a;return new olympe.dc.Ec(b.tag)}};olympe.dc.Ec.ka=[olympe.dc.Nd];olympe.dc.Ec.prototype.toJSON.K=olympe.D.J.C;olympe.dc.Hf=class{send(){}C(){}xa(){}O(){}};olympe.dc.ei={Co:'online',el:'offline',Zn:'invalidate'};olympe.dc.La={jb:'self',dd:'server',rt:'self.only'};const Ac=olympe.dc.Ka.ORIGIN,Bc=olympe.dc.Ka.DESTINATION,Cc=new Map,Dc=new Map,Ec=new Map,Fc=new Map;function Gc(a,b){var c=olympe.dm.File;let d=c;'function'===typeof c&&(d=b.entry);c=[...(d.rm||[])];return olympe.dc.wa.C(a,b,...c)}function M(a,b){Fc.set(a,b);return a}function Hc(a){return(a=Cc.get(a))&&a.F||olympe.dc.Sync}function Ic(a,b,c){const d=a+'@'+(b===Bc?Ac:Bc);if(Dc.has(d))throw Error(`Try to register the same relation (${b+a}) multiple times.`);Dc.set(d,c)}
565
+ function Jc(a){a=a.R()+'@'+a.Na();return Dc.get(a)||olympe.dc.Sync}function N(a,b){b.NAME=a;Ec.set(a,b)}function O(a){return a.NAME||null}
566
+ olympe.dc.wa=class{constructor(){}static C(a,b,...c){if(Cc.has(a))throw Error(`Tag: ${a} - overwriting already defined sync ${Cc.get(a).F.name} with ${b.name}`);let d=null;const e=c.length;if(0<e){d=Array(e);for(let f=0;f<e;f++){let g=c[f];d[f]='string'===typeof g?new olympe.U.uc(g):g}}b=new olympe.dc.za.Entry(a,b,d);Cc.set(a,b);return b.F.entry=b}static mc(a){return(a=a.entry)&&a.R()||null}};olympe.dc.za={};function Kc(a,b){a.C=b}function P(a,b){b=b.xd();Ic(b.R(),b.Na(),a.F);return b}function Lc(a){a.G=!0;return a}
567
+ olympe.dc.za.Entry=class{constructor(a,b,c){this.tag=a;this.F=b;this.rm=c||null;this.C=null;this.G=!1}R(){return this.tag}instantiate(a,b){const c=this.F;if(this.Ci()&&b.getParameter(olympe.dc.Z.ln)){var d=olympe.dc.Ua();d=`Trying to instantiate an abstract class ${d.name(this)} (${this.R()}).`+` This may happen when the implementation of another class extending ${d.name(this)} has not been registered`;olympe.ua.rb('dc').error(d)}return this.rm?(a=[void 0,a].concat(ma(b,this.rm)),new c(...a)):new c(void 0,
568
+ a)}Ba(a){return new olympe.dc.za.Property(a)}Ma(a,b=olympe.dc.Ka.DESTINATION){Ic(a,b,this.F);return new olympe.dc.W.Db(a,b)}Ci(){return this.G}};w('olympe.dc.registry.Entry',olympe.dc.za.Entry);olympe.dc.za.Entry.prototype.addRelation=olympe.dc.za.Entry.prototype.Ma;olympe.dc.za.Entry.prototype.addProperty=olympe.dc.za.Entry.prototype.Ba;olympe.dc.za.Entry.ka=[olympe.dc.Nd];olympe.dc.za.Property=class{constructor(a){this.tag=a}R(){return this.tag}};olympe.dc.za.Property.ka=[olympe.dc.Nd];olympe.dc.za.Relation=class a{constructor(b,c){this.tag=b;this.direction=c||olympe.dc.Ka.DESTINATION}R(){return this.tag}Na(){return this.direction}xd(){const b=olympe.dc.Ka.ORIGIN,c=olympe.dc.Ka.DESTINATION;return new a(this.tag,this.direction===b?c:b)}toString(){return this.direction+this.tag}};olympe.dc.za.Relation.prototype.getInverse=olympe.dc.za.Relation.prototype.xd;olympe.dc.za.Relation.prototype.getDirection=olympe.dc.za.Relation.prototype.Na;olympe.dc.za.Relation.prototype.getTag=olympe.dc.za.Relation.prototype.R;
569
+ olympe.dc.za.Relation.ka=[olympe.dc.Nd];olympe.dc.db={};function Mc(a,b,c,d,e){var f=olympe.dc.La.jb;const g=c.da();Nc(a.F,b,c,d,e,f);return h=>{if(h)a.F.push(g);else{h=a.F;const k=h.G.get(g);if(void 0!==k){const m=h.F.indexOf(g);h.F.splice(m,1);Oc(h,Pc(h,k.C,h.F.length),k.source);h.G.delete(g)}}}}function Qc(a,b,c){b&&a.C.Xa(b);c&&a.C.xb(c)}
570
+ olympe.dc.db.qr=class{constructor(a,b,c,d,e){this.N=a;this.C=b;this.F=new olympe.dc.db.kr(a,b,d);this.view=new olympe.dc.$a(a,b);this.Gw=new olympe.dc.db.Os(this.N,this.view,b,e)}rb(){return this.N}persist(a){this.C.ja();this.C.Ea(a,olympe.dc.db.Instance.C.Io);this.C.ca()}rf(a,b){this.F.rf(a,b)}};const Rc=olympe.dc.Pb.VERSION,Sc=olympe.dc.Pb.Pd,Tc=olympe.dc.Fc.ce,Uc=olympe.dc.Fc.Zg;
571
+ olympe.dc.db.Database=class a extends Map{constructor(b,c){super();this.id=olympe.$.Rb();this.N=b;this.Pa=olympe.D.Ja();this.ke=c.get('defaultSource')||olympe.dc.La.jb;this.L=olympe.dc.db.Database.G.IDLE;this.V=new Map;this.Zb=[];this.G=[];this.xa=new Map;b=c.get('garbageCollector')||olympe.dc.db.Qh.C.Ck;new olympe.dc.db.Qh(this,b,this.Pa);c.get('debug')&&this.Ae()}da(){return this.id}getState(){return this.L}rb(){return this.N}create(b,c){const d=this.Lb(b,!0);d.Qc(c&&parseInt(c.get(Rc),10)||1);
572
+ d.Sd(c&&c.get(Sc)||this.ke);c&&(c.delete(Rc),c.delete(Sc),this.Qc(d,c));this.C(a.F.Xn,b)}update(b,c,d=!1){if(void 0!==c&&null!==c){b=this.Lb(b,!0);var e=c&&parseInt(c.get(Rc),10);0>e||!d&&b.version()>=e||(c.delete(Rc),b.Qc(isNaN(e)?b.version()+1:e),this.Qc(b,c))}}oc(b){const c=this.get(b);void 0!==c&&(this.na(c,!1),this.C(a.F.Yn,b))}zd(b,c,d){c=this.Lb(c,!0);d=this.Lb(d,!0);switch(b){case Tc:c.Be(d);break;case Uc:c.Ae(d);break;default:c.Pa(b,d)}}ud(b,c,d){c=this.get(c);d=this.get(d);if(void 0!==c&&
573
+ void 0!==d)switch(b){case Tc:c.Gi(d);break;case Uc:c.Fi(d);break;default:c.G(b,d)}}Xa(b){for(const c of b)this.Lb(c).Of()}xb(b){for(const c of b)(b=this.get(c))&&b.detach()}Ea(b,c){b.forEach(d=>{this.Lb(d).Ng(c)})}uh(b){const c=this.get(b);void 0!==c&&(c.clear(),super.delete(b),this.C(a.F.kn,b))}Lb(b,c=!1){let d=this.get(b);void 0===d&&(d=new olympe.dc.db.Instance(b,this),this.set(b,d),this.C(a.F.jn,b),c&&this.C(a.F.Fj,b));return d}Ee(b,c,d=!1,e=null){return{[Symbol.iterator]:function*(f){const g=
574
+ olympe.dm.Relation.C.Ej,h=olympe.dm.Relation.C.yj,k=olympe.dc.Ka.ORIGIN,m=olympe.dc.Ka.DESTINATION,n=a.C.lh+olympe.dc.ob.hq(c),p=d?h:g,q=d?g:h,r=(new Map).set(f,!1),t=(u,x)=>(u=this.get(u))&&0!==(u.get(n)&x),v=([u,x])=>!r.has(u)&&(e?e(x):!0);for(const u of r.keys())r.get(u)||(r.set(u,!0),yield u),f=this.get(u),void 0!==f&&f.forEach((x,G)=>{(G[0]===k&&t(G.substring(1),q)||G[0]===m&&t(G.substring(1),p))&&Array.from(x.entries()).filter(v).forEach(([C])=>{r.set(C,!1)})})}.bind(this,b)}}gb(b){Vc(this.G[0],
575
+ olympe.$.Sf(),b)}O(b){this.G[0].C.delete(b)}C(b,c,...d){this.V.has(b)&&this.V.get(b).forEach(e=>{e(c,...d)})}na(b,c){this.xa.set(b,c)}Sd(b,c,d,e){0<this.G.length&&this.G[0].Lb(b).Ba(e?Wc+c:c,d)}xe(b,c,d,e,f){if(0<this.G.length){var g=this.G[0];d===Xc?f?g.Lb(b).ja(c,e):g.Lb(b).na(c,e):f?g.Lb(b).fb(c,e):g.Lb(b).gb(c,e)}}F(b,c){let d=this.V.get(b);void 0===d&&(d=[],this.V.set(b,d));d.push(c)}fb(b){this.Zb.push(b)}fd(b){return this.G.reduce((c,d)=>d.G.has(b)||c,!1)}ja(){this.L===a.G.IDLE&&(this.L=a.G.Vq);
576
+ this.G.unshift(new olympe.dc.db.vr(this,this.Pa))}ca(){this.L=a.G.uf;this.Be();Yc(this.G[0]);this.G.shift();0===this.G.length&&(this.Zb.forEach(b=>{b()}),this.L=a.G.IDLE)}Qc(b,c){const d=a.C.bd;for(const [e,f]of c)void 0!==f&&(e[0]===d?b.Zj(e.substr(1),f):b.update(e,f))}Be(){const b=a.C.ORIGIN,c=this.xa,d=new Map,e=(g,h)=>{const k=g.get(b+Tc);k&&k.forEach((m,n)=>{g!==m&&(d.set(m,h),c.delete(n),e(m,h))})};c.forEach((g,h)=>{d.set(h,g);e(h,g)});const f=this.G[0];d.forEach((g,h)=>{h.ke(g)&&(h=h.tag(),
577
+ g?f.Lb(h).create():f.Lb(h).delete())});this.xa.clear()}Ae(){const b=a.C.DESTINATION,c=a.F.Ek,d=a.F.xj,e=new Set,f=new Map;this.F(a.F.Xn,g=>{e.add(g)});this.F(c,g=>{e.delete(g);f.delete(g)});this.F(d,(g,...h)=>{if(h[0]===Uc&&h[1]===b){const k=h[2];this.get(k).Fb()||(h=f.get(k)||new Set,0===h.size&&f.set(k,h),h.add(g))}});this.fb(()=>{e.forEach(g=>{const h=this.get(g);h&&null===h.model()&&this.N.error(`\n[DEBUG - DATABASE]\nInstance ${g} created but does not exist !\n${h.toString()}`)});e.clear();f.forEach((g,
578
+ h)=>{const k=this.get(h);k&&this.N.error(`\n[DEBUG - DATABASE]\nThe model ${h} is extended by other models but does not exist !`+`\nExtension models: ${Array.from(g.values()).join(', ')}`+`\n\n ${k.toString()}`)});f.clear()})}};olympe.dc.db.Database.C={lh:'$',Pr:'~',bd:'?',hk:'=',sk:'@',ORIGIN:olympe.dc.Ka.ORIGIN,DESTINATION:olympe.dc.Ka.DESTINATION};olympe.dc.db.Database.F={jn:0,kn:1,tp:2,Fj:3,Mm:4,Nm:5,Ek:6,DELETE:7,xj:8,sl:9,Xn:10,Yn:11,To:12};olympe.dc.db.Database.G={IDLE:0,Vq:1,uf:2};const Q=olympe.dc.db.Database.F,Zc=olympe.dc.db.Database.C.lh,$c=olympe.dc.db.Database.C.Pr,ad=olympe.dc.db.Database.C.bd,bd=olympe.dc.db.Database.C.hk,cd=olympe.dc.db.Database.C.sk,R=olympe.dc.Ka.ORIGIN,U=olympe.dc.Ka.DESTINATION,dd=olympe.dc.Fc.ce,ed=olympe.dc.Fc.Zg;
579
+ olympe.dc.db.Instance=class a extends Map{constructor(b,c){super();this.C=b;this.ud=olympe.dc.La.jb;this.e=!1;this.xb=0;this.F=void 0;this.c=0;this.xa=a.C.Io;this.db=c}tag(){return this.C}Fb(){return this.e}Zb(){return this.db.fd(this.C)}source(){return this.ud}version(){return this.xb}model(){const b=this.get(U+dd);return b&&b.values().next().value||null}cf(){const b=this.get(U+ed);return b&&b.values().next().value||null}persisted(){return this.xa!==a.C.yp}toString(){var b=this.Gb(olympe.dc.Sync.nameProp.R());
580
+ b=`Instance: ${this.C}, Exist: ${this.e}, Name: ${b}`;var c=this.model();if(c){var d=c.Gb(olympe.dc.Sync.nameProp.R())||'No model name';b+=`\nModel: ${c.C}, Exist: ${c.e}, Model name: ${d}`}else b+='\nModel: no model';(c=this.cf())?(d=c.Gb(olympe.dc.Sync.nameProp.R())||'No extension name',b+=`\nExtension: ${c.C}, Exist: ${c.e}, Extension name: ${d}`):b+='\nExtension: no extension';return b}Gb(b,c=!1){const d=this.get(Zc+b);return c||void 0!==d?d:this.get(bd+b)}Ea(b,c=!1){const d=this.get(ad+b);return c||
581
+ void 0!==d?d:this.get($c+b)}update(b,c){const d=Zc+b;var e=this.get(d);e=void 0===e?null:e;if(e!==c){if(e instanceof olympe.dc.Ec){if(c instanceof olympe.dc.Ec&&c.R()===e.R())return;this.db.get(e.R()).zd();this.db.oc(e.R())}c instanceof olympe.dc.Ec&&(e=this.db.Lb(c.R(),!0),e.F&&e.F.tag!==this.C&&this.db.rb().fatal('Instance',c.R(),'referenced multiple times!\nThis instance is currently property of',e.F.tag,'(for the property '+e.F.dk+')','and is assigned as a property of',this.C,'(for the property '+
582
+ b+')'),e.Ei(this.C,b));e=bd+b;null===c?(this.delete(d),c=(c=this.model())&&c.Ea(b),void 0!==c?(this.set(e,c),this.O(b,c,!0)):this.O(b,null,!1)):(this.set(d,c),this.delete(e),this.O(b,c,!1))}}Zj(b,c){const d=ad+b;var e=this.get(d);(void 0===e?null:e)!==c&&(e=$c+b,null===c?(this.delete(d),c=(c=this.cf())&&c.Ea(b),c=void 0===c?null:c,null!==c&&this.set(e,c),this.ca((new Map).set(b,c))):(void 0!==this.get(e)&&this.delete(e),this.set(d,c),this.ca((new Map).set(b,c))))}Pa(b,c){var d=R+b;const e=this.gb(U+
583
+ b);d=c.gb(d);e.has(c.C)||(e.set(c.C,c),d.set(this.C,this),this.db.C(Q.xj,this.C,b,U,c.C),this.db.C(Q.xj,c.C,b,R,this.C),this.e&&c.e&&(this.L(b,U,c,!0),c.L(b,R,this,!0)))}G(b,c){const d=R+b;void 0!==this.Xa(U+b,c.C)&&(c.Xa(d,this.C),this.db.C(Q.sl,this.C,b,U,c.C),this.db.C(Q.sl,c.C,b,R,this.C),this.e&&c.e&&(this.L(b,U,c,!1),c.L(b,R,this,!1)))}Be(b){const c=this.model();if(null!==c){if(c===b)return;this.G(dd,c)}this.Pa(dd,b);b.forEach((d,e)=>{e[0]!==ad&&e[0]!==$c||this.fb(e.substr(1),d)});(b.e||b===
584
+ this)&&this.db.na(this,!0)}Gi(b){this.G(dd,b);this.forEach((c,d)=>{this.fb(d.substr(1),null)});this.db.na(this,!1)}Ae(b){const c=this.cf();if(null!==c){if(c===b)return;this.G(ed,c)}this.Pa(ed,b);const d=new Map;b.forEach((e,f)=>{if(f[0]===ad||f[0]===$c)f=f.substr(1),this.has(ad+f)||(this.set($c+f,e),d.set(f,e))});this.ca(d)}Fi(b){this.G(ed,b);const c=new Map;this.forEach((d,e)=>{e[0]===$c&&(this.delete(e),c.set(e.substr(1),null))});this.ca(c)}fd(b,c,d){const e=(...f)=>{var g=f.length;const h=f[g-
585
+ 2];(g=this.db.get(f[g-1]))&&(h?g.Of():g.detach());d(...f)};this.ja(b,c,e);return e}ja(b,c,d){const e=this.gb(cd+b);e.has(c)||(e.set(c,d),this.Of(),this.db.C(Q.Mm,this.C,b,c))}V(b,c){const d=this.Xa(cd+b,c);void 0!==d&&(this.detach(),this.db.C(Q.Nm,this.C,b,c));return d}Sd(b){this.ud=b}Qc(b){this.xb=b}Ng(b){this.xa=b;this.na()||this.db.C(Q.Fj,this.C)}ke(b){const c=this.e!==b;c&&(b?(this.e=b,this.Mg()):(this.Rf(),this.e=b),this.xe(b));return c}Of(){this.c++;1===this.c&&this.db.C(Q.tp,this.C)}detach(){0<
586
+ this.c?--this.c:this.db.C(Q.To,this.C,`Try to decrease references on instance ${this.C} but the reference counter is already 0.\n`+'It happens when you try to remove a callback from an instance multiple times.\nThis counter reference is used for garbage collection of instances in the database.');0===this.c&&this.db.C(Q.Fj,this.C)}na(){return 0<this.c||this.xa===olympe.dc.db.Instance.C.Jo}clear(){this.forEach((b,c)=>{const d=c[0];if(d===R||d===U){const e=c.substr(1),f=d===R?U:R;b.forEach(g=>{const h=
587
+ g.get(f+e);h.delete(this.C);0===h.size&&g.delete(f+e)})}d===Zc&&b instanceof olympe.dc.Ec&&this.db.get(b.R()).zd()});void 0!==this.F&&this.db.get(this.F.tag).delete(Zc+this.F.dk)}Ei(b,c){void 0===this.F&&this.Of();this.F={tag:b,dk:c}}zd(){void 0!==this.F&&(this.detach(),this.F=void 0)}Mg(){this.forEach((b,c)=>{const d=c[0];if(d===R||d===U){const e=c.substr(1),f=d===R?U:R;b.forEach(g=>{g.e&&(this.L(e,d,g,!0),g.L(e,f,this,!0))})}else d!==Zc&&d!==bd||this.O(c.substr(1),b,d===bd)})}Rf(){this.forEach((b,
588
+ c)=>{const d=c[0];if(d!==cd){var e=c.substr(1);d===R?b.forEach(f=>{f.G(e,this)}):d===U?b.forEach(f=>{this.G(e,f)}):d===Zc&&this.update(d,null);this.delete(c)}});this.xb=0;if(void 0!==this.F){const b=this.db.get(this.F.tag),c=b.get(Zc+this.F.dk);c&&c.R&&c.R()===this.C&&b.update(this.F.dk,null)}}xe(b){this.db.C(b?Q.Ek:Q.DELETE,this.C)}O(b,c,d){this.e&&this.db.Sd(this.C,b,c,d)}L(b,c,d,e){this.db.xe(this.C,b,c,d.C,e)}ca(b,c=[]){var d=this.get(R+dd);void 0!==d&&d.forEach(e=>{b.forEach((f,g)=>e.fb(g,f))});
589
+ d=this.get(R+ed);void 0!==d&&d.forEach((e,f)=>{if(!c.includes(e.tag())){var g=new Map;b.forEach((h,k)=>{e.has(ad+k)||(g.set(k,h),null!==h?e.set($c+k,h):e.delete($c+k))});e.ca(g,[...c,f])}})}fb(b,c){if(!this.has(Zc+b)){const d=bd+b,e=this.get(d);c!==(void 0!==e?e:null)&&(null===c?this.delete(d):this.set(d,c),this.O(b,c,null!==c))}}gb(b){let c=this.get(b);void 0===c&&(c=new Map,this.set(b,c));return c}Xa(b,c){const d=this.get(b);if(void 0!==d){const e=d.get(c);d.delete(c);0===d.size&&this.delete(b);
590
+ return e}}};olympe.dc.db.Instance.C={yp:0,Jo:1,Io:2};const Xc=olympe.dc.db.Database.C.DESTINATION,Wc=olympe.dc.db.Database.C.hk,fd=olympe.dc.db.Database.C.lh,gd=olympe.dc.db.Database.C.sk,hd=olympe.dc.db.Database.C.ORIGIN+Xc,id=fd+fd;function Vc(a,b,c){let d=a.C.get(b);void 0===d&&(d=[],a.C.set(b,d));a.buffer.push([b,d.length]);d.push(c)}
591
+ function Yc(a){const b=a.O;a.F.forEach((c,d)=>{const e=b.get(d);if(c.He()||c.O()){var f=e.get(gd);f&&jd(a,f,c.He(),d);c.O()&&a.G.add(d)}for(const [m,n]of c.Cd()){var g=m[0]===Wc;d=a;var h=e;f=g?m.substr(1):m;var k=n;const p=h.get(gd+fd+f);p&&jd(d,p,k,g);(h=h.get(gd+id))&&jd(d,h,f,k,g)}for(const m of c.Zb())kd(a,e,...m)});a.F.clear();ld(a)}function jd(a,b,...c){b.forEach((d,e)=>{Vc(a,e,d.bind(null,...c))})}
592
+ function kd(a,b,c,d,e,f){const g=b.get(gd+d+c);g&&jd(a,g,f,e);(b=b.get(gd+hd))&&jd(a,b,c,d,f,e)}function ld(a){a.L.run(()=>{const b=a.C;for(const [d,e]of a.buffer){var c=b.get(d);(c=c&&c[e])&&c()}});a.C.clear();a.buffer.length=0}olympe.dc.db.vr=class{constructor(a,b){this.O=a;this.L=b;this.F=new Map;this.G=new Set;this.C=new Map;this.buffer=[]}Lb(a){let b=this.F.get(a);void 0===b&&(b=new olympe.dc.db.Bf(a),this.F.set(a,b));return b}};function md(a){const b=olympe.dc.db.Database.F.kn,c=olympe.dc.db.Database.F.Ek,d=olympe.dc.db.Database.F.DELETE,e=olympe.dc.db.Database.F.xj,f=olympe.dc.db.Database.F.sl,g=olympe.dc.db.Database.F.Mm,h=olympe.dc.db.Database.F.Nm,k=()=>{};a.C.F(olympe.dc.db.Database.F.jn,()=>{});a.C.F(b,()=>{});a.C.F(c,m=>{a.C.gb(()=>{nd(a.view,m,k,`monitorRelations${m}`)})});a.C.F(d,m=>{a.C.gb(()=>{od(a.view,m,`monitorRelations${m}`)})});a.C.F(e,()=>{});a.C.F(f,()=>{});a.C.F(g,()=>{});a.C.F(h,()=>{})}
593
+ olympe.dc.db.Os=class{constructor(a,b,c,d){this.N=a;this.view=b;this.C=c;d&&md(this)}debug(a){const b=olympe.dc.Da(a);if(this.C.has(b)){var c=this.C.get(a);a='\n[DEBUG - DATABASE]\n'+c.toString();if(!c.Fb()){const d=[];for(;null!==c&&!d.includes(c.tag());)d.push(c.tag()),c=c.model();c=this.C.get(d[d.length-1]);const e=olympe.dc.db.Database.C.lh+olympe.dc.Sync.nameProp.R();d.push('???');a+='\n\nThe instance <<'+b+'>> does not exists because the instance '+c.tag()+' (name: '+c.get(e)+') has no model.\nList: '+
594
+ d.join(' --M--\x3e ')}this.N.info(a)}else this.N.info('[DATABASE] Instance',b,'has never been created or referred by the database')}};olympe.dc.db.Qh=class a{constructor(b,c,d){this.N=b.rb();this.C=b;this.G=new Set;this.mode=c;this.O=d;this.F=!1;c!==a.C.Ck&&this.V()}run(){if(!this.F)switch(this.mode){case a.C.Pq:this.F=!0;this.O.run(()=>{bc(()=>{this.L();this.F=!1},0)});break;case a.C.hp:this.F=!0,this.L(),this.F=!1}}L(){const b=this.C,c=olympe.dc.ob.RUNTIME,d=this.G,e=h=>b.get(h);var f=h=>!(h.persisted()||h.na());for(var g of d){const h=b.get(g);if(h&&!h.na()){if(!h.persisted())continue;Array.from(b.Ee(g,c,!1,f)).forEach(k=>{d.add(k)});
595
+ b.uh(g)}d.delete(g)}for(const h of d)f=Array.from(b.Ee(h,c,!0)).map(e),g=Array.from(b.Ee(h,c)).map(e),f.some(k=>k.na())?g.filter(k=>!k.persisted()).forEach(k=>{d.delete(k.tag())}):f.concat(g).filter(k=>!k.persisted()).map(k=>k.tag()).forEach(k=>{d.delete(k);b.uh(k)});d.clear()}V(){this.C.fb(this.run.bind(this));const b=olympe.dc.db.Database.F.tp,c=olympe.dc.db.Database.F.Yn,d=olympe.dc.db.Database.F.To,e=olympe.dc.db.Database.G.IDLE,f=g=>{this.G.add(g);this.C.getState()===e&&this.run()};this.C.F(olympe.dc.db.Database.F.Fj,
596
+ f.bind(this));this.C.F(c,f.bind(this));this.C.F(b,g=>{this.G.delete(g)});this.C.F(d,(g,...h)=>{this.N.error(h[0])})}};olympe.dc.db.Qh.C={Ck:0,hp:1,Pq:2};const pd=olympe.dc.db.Database.C.ORIGIN,qd=olympe.dc.db.Database.C.DESTINATION,rd=olympe.dc.db.Database.C.lh,sd=olympe.dc.db.Database.C.hk,td=pd+qd,ud=rd+rd,vd=olympe.dc.db.Database.G;function wc(a,b,c,d){const e=a.C.Lb(olympe.dc.Da(b));d=d||wd(a);e.ja('',d,c);e.Fb()&&a.F.run(()=>{c(!0,b)});return d}function xc(a,b,c,d=!1){const e=V(a,b);if(null!==e){const f=e.V('',c);void 0!==f&&(a.C.getState()===vd.uf&&a.C.O(c),!d&&e.Fb()&&a.F.run(()=>{f(!1,b)}))}}
597
+ function nd(a,b,c,d){const e=a.C.Lb(olympe.dc.Da(b));b=d||wd(a);const f=e.fd(td,b,c);e.Fb()&&e.forEach((g,h)=>{g=h[0];g!==pd&&g!==qd||xd(a,e,h,!0,f,!0)})}function od(a,b,c){const d=V(a,b);if(null!==d){const e=d.V(td,c);void 0!==e&&(a.C.getState()!==vd.uf||d.Zb()||a.C.O(c),d.Fb()&&d.forEach((f,g)=>{f=g[0];(f===pd||f===qd)&&e&&xd(a,d,g,!1,e,!0)}))}}function wd(a){++a.L;return String(a.L)}
598
+ function yd(a,b,c,d){b=a.C.Lb(olympe.dc.Da(b));c=olympe.dc.Da(c);const e=rd+c,f=wd(a);b.ja(e,f,d);if(b.Fb()){let g=!1,h=b.get(e);void 0===h&&(g=!0,h=b.get(sd+c));if(void 0===h)return f;a.F.run(()=>{d(h,g)})}return f}function V(a,b,c=!1){if(null===b||void 0===b)throw Error('Provided tag is null or undefined.');a=a.C.get(olympe.dc.Da(b));return!a||c&&!a.Fb()?null:a}
599
+ function zd(a,b,c){b=a.C.Lb(olympe.dc.Da(b));const d=wd(a);b.ja(ud,d,c);b.Fb()&&b.forEach((e,f)=>{const g=f[0];g!==rd&&g!==sd||a.F.run(()=>{c(f.substr(1),e,g===sd)})});return d}function xd(a,b,c,d,e,f){(b=b.get(c))&&b.forEach((g,h)=>{g.Fb()&&(f?a.F.run(()=>{e(c.substr(1),c[0],d,h)}):a.F.run(()=>{e(d,h)}))})}function Ad(a,b,c,d,e){b=a.C.Lb(olympe.dc.Da(b));c=c.Na()+c.R();e=e||wd(a);d=b.fd(c,e,d);b.Fb()&&xd(a,b,c,!0,d,!1);return e}
600
+ function Bd(a,b,c,d){b=V(a,b);if(null!==b){c=c.Na()+c.R();const e=b.V(c,d);void 0!==e&&(a.C.getState()!==vd.uf||b.Zb()||a.C.O(d),b.Fb()&&xd(a,b,c,!1,e,!1))}}function Cd(a,b,c){return c===olympe.dc.ob.NONE?0:a.Gb(b,olympe.dc.ob.hq(c),!0)||0}function Dd(a,b){return function*(c){if(c)for(const [d,e]of c)if(c=d[0],c===pd||c===qd){const f=d.substring(1);for(const g of e.keys())yield[f,c,g]}}(V(a,b,!0))}
601
+ function Ed(a,b,c){if(!a.Fb(b))return a.N.warn(`No instance found with tag ${b}`),new Map;const d=new Map,e=[olympe.dc.Da(b)];for(const f of e){const g=a.Wa(f,c);d.set(f,g);for(const h of g.filter(k=>!d.has(k)))e.push(h)}a.N.debug(`Found ${d.size} instances in sub-tree rooted at ${olympe.dc.Da(b)}`);return d}function Fd(a,b,c){return null!==a.Pl(c,olympe.dc.Sync.extendRel,d=>olympe.dc.Ua().im(d,olympe.dc.Sync.propertyRel,b))}
602
+ function Gd(a,b,c,d){return(c=(a=V(a,b,!0))&&a.get(d+c))?Array.from(c.values()).filter(e=>e.Fb()).length:0}
603
+ olympe.dc.$a=class{constructor(a,b){this.N=a;this.F=new olympe.D.kc('DB View context');this.C=b;this.L=0}da(){return this.C.da()}G(a,b,c){a=V(this,a);null!==a&&(b=olympe.dc.Da(b),a.V(rd+b,c),this.C.getState()===vd.uf&&this.C.O(c))}Fb(a){a=V(this,a);return!(!a||!a.Fb())}name(a){return(a=V(this,a))?a.Gb(olympe.dc.Sync.nameProp.R()):''}model(a){return(a=(a=V(this,a,!0))?a.model():null)?a.tag():null}cf(a){return(a=(a=V(this,a,!0))&&a.cf())?a.tag():null}Eh(a){a=V(this,a,!0);return!(!a||!a.cf())}$f(a,b){a=
604
+ (a=V(this,a,!0))&&a.model();return!(!a||!this.Di(a.tag(),b))}version(a){return(a=V(this,a,!0))&&a.version()}source(a){return(a=V(this,a,!0))&&a.source()}Wj(a){return(a=V(this,a,!1))?!!a.persisted():!0}Gb(a,b,c){b=(a=V(this,a,!0))?a.Gb(olympe.dc.Da(b),c):null;return void 0!==b?b:null}Cd(a,b=!1){var c=V(this,a,!0);a=new Map;if(c)for(const [d,e]of c)c=d[0],(c===rd||!b&&c===sd)&&a.set(d.substring(1),e);return a}Ee(a,b){return this.C.Ee(a,b)}Wa(a,b){return this.zi(a,[b])}im(a,b,c){return this.Wa(a,b).includes(olympe.dc.Da(c))}zi(a,
605
+ b){a=V(this,a,!0);if(!a)return[];a=[a.tag()];for(const c of b){b=[];for(const d of a)if(a=V(this,d,!0).get(c.Na()+c.R()),void 0!==a)for(const e of a.values())e.Fb()&&b.push(e.tag());a=b}return a}pc(a,b){var c=V(this,a,!0);return c?(c=c.get(b.Na()+b.R()))&&1<c.size?(this.N.warn(`Relation ${b.R()} to instance ${a} is not unique: found ${c.size} related items`),null):(a=c?c.values().next().value:null)&&a.Fb()?a.tag():null:null}Sj(a,b,c){a=olympe.dc.Da(a);const d=Ed(this,a,b);d.delete(a);return c?(c=
606
+ olympe.dc.Da(c),d.has(c)?Array.from(Ed(this,c,b.xd()).keys()).filter(e=>d.has(e)):[]):Array.from(d.keys())}Pl(a,b,c){if(!this.Fb(a))return null;b=Ed(this,a,b);const d=[olympe.dc.Da(a)];for(const e of d){if(c(e))return e;if(a=b.get(e))for(const f of a.filter(g=>!d.includes(g)))d.push(f)}return null}Ql(a,b,c){return this.zi(a,b).find(c)||null}Ku(a,b,c){return this.zi(a,b).filter(c)}yi(a,b=olympe.dc.Sync){var c=V(this,a,!0);const d=b&&V(this,b,!0),e=[c];for(;c&&c!==d;){c=c.cf();if(e.includes(c))throw Error(`Cycle detected when following recursively extend relations from base model instance "${a}".`);
607
+ if(c&&!c.Fb())throw a=`Try to get all extensions of the model ${olympe.dc.Da(a)} but one of them does not exists (${c.tag()})`,Error(a);null!==c&&e.push(c)}c=V(this,olympe.dc.Sync,!0);if(d!==c&&e[e.length-1]===c)throw Error(`The model "${this.name(a)}" (tag = ${a}) does not extend the expected model "${this.name(b)}" (tag = ${b}).`);return e.map(f=>f.tag())}Di(a,b){const c=olympe.dc.Da(b);return!!this.Pl(a,olympe.dc.Sync.extendRel,d=>d===c)}md(a){return this.Wa(a,olympe.dc.Sync.instancesRel)}};
608
+ olympe.dc.$a.prototype.getInstances=olympe.dc.$a.prototype.md;olympe.dc.$a.prototype.isExtending=olympe.dc.$a.prototype.Di;olympe.dc.$a.prototype.getExtendedModels=olympe.dc.$a.prototype.yi;olympe.dc.$a.prototype.findAllRelated=olympe.dc.$a.prototype.Ku;olympe.dc.$a.prototype.findRelated=olympe.dc.$a.prototype.Ql;olympe.dc.$a.prototype.findRecursive=olympe.dc.$a.prototype.Pl;olympe.dc.$a.prototype.getRecursiveRelated=olympe.dc.$a.prototype.Sj;olympe.dc.$a.prototype.getUniqueRelated=olympe.dc.$a.prototype.pc;
609
+ olympe.dc.$a.prototype.getMultiRelated=olympe.dc.$a.prototype.zi;olympe.dc.$a.prototype.isRelated=olympe.dc.$a.prototype.im;olympe.dc.$a.prototype.getRelated=olympe.dc.$a.prototype.Wa;olympe.dc.$a.prototype.getProperties=olympe.dc.$a.prototype.Cd;olympe.dc.$a.prototype.getProperty=olympe.dc.$a.prototype.Gb;olympe.dc.$a.prototype.isPersisted=olympe.dc.$a.prototype.Wj;olympe.dc.$a.prototype.instanceOf=olympe.dc.$a.prototype.$f;olympe.dc.$a.prototype.isModel=olympe.dc.$a.prototype.Eh;
610
+ olympe.dc.$a.prototype.extension=olympe.dc.$a.prototype.cf;olympe.dc.$a.prototype.model=olympe.dc.$a.prototype.model;olympe.dc.$a.prototype.name=olympe.dc.$a.prototype.name;olympe.dc.$a.prototype.exist=olympe.dc.$a.prototype.Fb;olympe.dc.db.Dc=class a{constructor(b){this.id=b||olympe.$.Sl();this.Va=new Map}toJSON(){let b='{ "id": '+JSON.stringify(this.id)+', "instances": {';for(const c of this.Va.keys()){const d=this.Va.get(c);b+=JSON.stringify(c)+': '+d.toJSON()+', '}b.endsWith(', ')&&(b=b.substr(0,b.length-2));return b+'}}'}static $b(b){var c;'string'===typeof b?c=JSON.parse(b):c=b;b=new olympe.dc.db.Dc(c.id);c=c.instances;for(const d of Object.keys(c)){const e=olympe.dc.db.Bf.$b(c[d]);b.Va.set(d,e)}return b}da(){return this.id}gd(b){const c=
611
+ olympe.dc.db.Bf.C.cl,d=olympe.dc.db.Bf.C.DELETE,e=olympe.dc.db.Bf.C.Gj;this.Va.forEach((f,g)=>{const h=f.getState();switch(h.id){case c:b.Tb(g,f.Pa()?f.Cd():void 0);break;case e:f.Pa()&&b.ac(g,f.Cd(),h.ti);break;case d:b.oc(g,h.ti)}for(const [k,m,n]of f.Ud())n?b.la(k,g,m):b.nb(k,g,m)})}zc(){let b=0;this.Va.forEach(c=>{b+=c.zc()});return b}Tb(b,c){b=this.Lb(b).create();c&&b.xa(c)}ac(b,c,d){c&&(b=this.Lb(b).xa(c),d&&b.Qc())}oc(b,c=olympe.dc.ob.NONE){const d=this.Va.get(b);if(d&&d.He())this.uh(b,c);
612
+ else{this.Lb(b).delete(c);for(const e of this.Ee(b,c))this.Va.get(e).Cd().clear(),this.Sp(e,!0)}}la(b,c,d){this.Lb(c).ja(b,d);this.Lb(d).fb(b,c)}nb(b,c,d){this.Lb(c).na(b,d);this.Lb(d).gb(b,c)}wh(){return this.Va}md(){return function*(b){for(const c of b.values())if(c.He()||c.O()||c.Pa())yield c}(this.Va)}Qb(b){return this.Va.get(olympe.dc.Da(b))||null}uh(b,c=olympe.dc.ob.NONE){b=this.Ee(b,c);for(const d of b)this.Sp(d,!1),this.Va.delete(d)}Ud(){return function*(b){for(var c=b.next();!c.done;){c=
613
+ c.value;const d=c.tag();yield*c.Ud((e,f,g)=>[e,d,f,g]);c=b.next()}}(this.Va.values())}Sj(b,c,d=(e,f)=>[e,f]){return this.Fq(b,c,d)}*Fq(b,c,d,e=[]){e.push(b);b=this.Qb(b);for(const [f,g]of b.Wa(c))e.includes(f)||(yield*this.Fq(f,c,d,e),yield d(f,g))}Kl(b,c,d){const e=this.Va.get(c),f=this.Va.get(d);e&&e.V(b,olympe.dc.Ka.DESTINATION,d);f&&f.V(b,olympe.dc.Ka.ORIGIN,c)}clone(){const b=new a(this.id);this.Va.forEach((c,d)=>{b.Va.set(d,c.clone())});return b}Sp(b,c){var d=olympe.dc.Ka.ORIGIN;const e=olympe.dc.Ka.DESTINATION,
614
+ f=this.Va.get(b);for(const [g,h,k]of f.Ud()){if(!k&&c)continue;const m=this.Va.get(h);m&&m.V(g,d,b)}for(const [g,h,k]of f.Ea())(k||!c)&&(d=this.Va.get(h))&&d.V(g,e,b)}Ee(b,c){const d=olympe.dm.Relation.C.yj,e=olympe.dm.Relation.C.Ej,f=olympe.dc.Ka.ORIGIN,g=olympe.dc.Ua();b=new Set([b]);for(const k of b){var h=this.Va.get(k);if(void 0!==h){for(const [m,n]of h.Ud())Cd(g,m,c)&e&&b.add(n);for(const [m,n]of h.Ea())Cd(g,m,c)&d&&b.add(n)}for(const [m,n,p]of Dd(g,k))h=n===f?d:e,Cd(g,m,c)&h&&b.add(p)}return Array.from(b).filter(k=>
615
+ this.Va.has(k))}Lb(b){let c=this.Va.get(b);void 0===c&&(c=new olympe.dc.db.Bf(b),this.Va.set(b,c));return c}};olympe.dc.db.Dc.ka=[olympe.dc.Lf,olympe.dc.ml];const Hd=new Map;
616
+ olympe.dc.db.Bf=class a{constructor(b){this.ca=b;this.G=a.F(a.C.Gj,!1);this.L=this.F=this.C=null}toJSON(){let b='{ "tag": '+JSON.stringify(this.ca)+', "state": '+JSON.stringify(this.G);if(this.C){b+=', "properties": {';for(var c of this.C.keys()){const d=this.C.get(c);b+=JSON.stringify(c)+': ';b=d.toJSON?b+d.toJSON():b+JSON.stringify(d);b+=', '}b.endsWith(', ')&&(b=b.substr(0,b.length-2));b+='}'}if(this.F){b+=', "relations": {';for(const d of this.F.keys()){c=this.F.get(d);b+=JSON.stringify(d)+': {';
617
+ for(const e of c.keys())b+=JSON.stringify(e)+': '+JSON.stringify(c.get(e))+', ';b.endsWith(', ')&&(b=b.substr(0,b.length-2));b+='}, '}b.endsWith(', ')&&(b=b.substr(0,b.length-2));b+='}'}return b+'}'}static $b(b){var c;'string'===typeof b?c=JSON.parse(b):c=b;b=new olympe.dc.db.Bf(c.tag);b.G=c.state;const d=c.properties;if(d){b.C=new Map;for(var e of Object.keys(d)){const f=d[e],g=f.type;let h=f;g&&('reference'===g?h=olympe.dc.Ec.$b(f):h=olympe.D.$b(f));null!==h&&void 0!==h&&b.C.set(e,h)}}if(c=c.relations){b.F=
618
+ new Map;for(const f of Object.keys(c)){e=new Map;for(const g of Object.keys(c[f]))e.set(g,c[f][g]);b.F.set(f,e)}}return b}static F(b,c){const d=String(b)+','+String(c);let e=Hd.get(d);void 0===e&&(e={id:b,ti:c},Hd.set(d,e));return e}tag(){return this.ca}getState(){return this.G}create(){this.G=a.F(a.C.cl);return this}delete(b=olympe.dc.ob.NONE){this.G=a.F(a.C.DELETE,b);this.C=null;return this}Qc(){this.G.id===a.C.Gj&&(this.G=a.F(a.C.Gj,!0))}Ba(b,c){if(this.G.type===a.C.DELETE)return this;this.C||
619
+ (this.C=new Map);this.C.set(b,c);return this}xa(b){this.C||(this.C=new Map);b.forEach((c,d)=>{this.C.set(d,c)});return this}xb(b){this.C&&this.C.delete(b);0===this.C.size&&(this.C=null)}ja(b,c){null===this.F&&(this.F=new Map);this.Ma(this.F,b,c,!0)}na(b,c){null===this.F&&(this.F=new Map);this.Ma(this.F,b,c,!1)}fb(b,c){this.L||(this.L=new Map);this.Ma(this.L,b,c,!0)}gb(b,c){this.L||(this.L=new Map);this.Ma(this.L,b,c,!1)}fd(b,c,d){if(c=c===olympe.dc.Ka.ORIGIN?this.L:this.F)return(b=c.get(b))&&b.get(d)}V(b,
620
+ c,d){const e=(c=c===olympe.dc.Ka.ORIGIN?this.L:this.F)&&c.get(b);e&&e.delete(d);e&&0===e.size&&c.delete(b)}He(){return this.G.id===a.C.cl}O(){return this.G.id===a.C.DELETE}zc(){let b=this.C?this.C.size:0;this.F&&this.F.forEach(c=>{b+=c.size});return b}clone(){const b=new a(this.ca);b.G=this.G;this.C&&b.xa(this.C);for(const [c,d,e]of this.Ud())e?b.ja(c,d):b.na(c,d);for(const [c,d,e]of this.Ea())e?b.fb(c,d):b.gb(c,d);return b}Pa(){return null!==this.C}Cd(){return this.C||new Map}Gb(b){if(this.C)return this.C.get(b)}Wa(b,
621
+ c=(d,e)=>[d,e]){return function*(d){if(d=d&&d.get(b.R()))for(const [e,f]of d)yield c(e,f)}(b.Na()===olympe.dc.Ka.ORIGIN?this.L:this.F)}Ud(b=(c,d,e)=>[c,d,e]){return this.Xa(this.F,b)}Ea(b=(c,d,e)=>[c,d,e]){return this.Xa(this.L,b)}Zb(b=(c,d,e,f)=>[c,d,e,f]){const c=olympe.dc.Ka.ORIGIN,d=olympe.dc.Ka.DESTINATION;return function*(e,f,g){yield*e(f,(h,k,m)=>b(h,d,k,m));yield*e(g,(h,k,m)=>b(h,c,k,m))}(this.Xa.bind(this),this.F,this.L)}Ma(b,c,d,e){if(this.G.id!==a.C.DELETE||!e){var f=b.get(c);if(void 0===
622
+ f)f=new Map,b.set(c,f);else if(b=f.get(d),void 0!==b&&b!==e){f.delete(d);return}f.set(d,e)}}*Xa(b,c){if(null!==b)for(const [d,e]of b){b=e.entries();for(const [f,g]of b)yield c(d,f,g)}}};olympe.dc.db.Bf.C={cl:0,Gj:1,DELETE:2};function Nc(a,b,c,d,e,f=olympe.dc.La.jb){const g=olympe.dc.db.Instance.C.Jo,h=olympe.dc.db.Instance.C.yp,k=c.da();if(a.G.has(k))throw Error(`You try to execute the patch ${k} a second times whereas the first execution has not been validated yet.`);const m=new Id(c,Jd(a,c),f);a.F.push(k);a.G.set(k,m);a.C.ja();a.C.Ea(d,g);a.C.Ea(e,h);Oc(a,c,f);const n=Array.from(c.md()).filter(p=>p.He()).map(p=>p.tag());a.C.Xa(n);a.C.ca();0<n.length&&b.Sc(()=>{a.C.ja();a.C.xb(n);a.C.ca()})}
623
+ function Oc(a,b,c){a.L.C(c,b,d=>{d||a.N.debug('CommitController: Rebase of patch',b.da(),'done')})}function Pc(a,b,c){return a.F.slice(0,c).map(d=>a.G.get(d)).reduce((d,e)=>e?e.rf(d):d,b)}
624
+ function Jd(a,b){const c=a.C,d=olympe.dc.db.Database.C.lh,e=olympe.dc.db.Database.C.bd,f=olympe.dc.db.Database.C.ORIGIN,g=olympe.dc.db.Database.C.DESTINATION,h=olympe.dc.Pb.VERSION,k=new olympe.dc.db.Dc('rev-'+b.da());a.N.debug('Generate the reverse graphLayer of',b.da());b.wh().forEach((m,n)=>{if(m.He()){k.oc(n,olympe.dc.ob.NONE);for(const [t,v]of m.Ud())k.nb(t,n,v)}else{var p=c.get(n);if(void 0!==p){var q=(new Map).set(h,p.version());if(m.O()){m=m.getState().ti;for(const t of c.Ee(n,m))c.get(t).forEach((v,
625
+ u)=>{const x=u[0],G=u.substr(1);x===d?q.set(G,v):x===e?q.set(u,v):x===f?v.forEach((C,z)=>{k.la(G,z,t,0)}):x===g&&v.forEach((C,z)=>{k.la(G,t,z,0)})}),k.Tb(t,q,0)}else{for(const t of m.Cd().keys()){var r=t[0]===e;const v=r?t.substr(1):t;r=r?p.Ea(v,!0):p.Gb(v,!0);q.set(t,void 0===r?null:r)}1<q.size&&k.ac(n,q,!0,0);for(const [t,v,u]of m.Ud())u?k.nb(t,n,v):k.la(t,n,v)}}}});return k}
626
+ olympe.dc.db.kr=class{constructor(a,b,c){this.N=a;this.C=b;this.L=c;this.F=[];this.G=new Map}rf(a,b){Oc(this,Pc(this,a,this.F.length),b)}push(a){const b=this.F.indexOf(a);if(-1<b){const c=this.G.get(a);this.F.splice(b,1);Pc(this,c.F,b);this.G.delete(a)}}};function Kd(a,b,c,d){const e=olympe.dc.Ka.DESTINATION;c=c.tag();const f=a.C.Qb(c);b.Cd().forEach((g,h)=>{f.Ba(h,g);b.xb(h)});for(const [g,h,k,m]of b.Zb()){if(!m)continue;const n=h===e?c:k,p=h===e?k:c;a.C.la(g,n,p);d.Kl(g,n,p)}}
627
+ function Ld(a,b,c,d){const e=olympe.dc.Ka.DESTINATION,f=c.tag(),g=a.C.Qb(f);b.Cd().forEach((h,k)=>{void 0!==c.Gb(k)&&(g.Ba(k,h),b.xb(k))});for(const [h,k,m]of b.Ud()){const n=c.fd(h,e,k);void 0!==n&&(d.Kl(h,f,k),n===m&&a.C.Kl(h,f,k))}}
628
+ class Id{constructor(a,b,c){this.F=a;this.C=b;this.source=c;this.db=olympe.dc.Ua()}da(){return this.F.da()}rf(a){var b=this.F.wh(),c=a.wh();const d=b.size>c.size,e=d?b:c;b=d?c:b;for(const [g,h]of b){b=g;var f=e.get(b);void 0!==f&&(c=d?f:h,f=d?h:f,f.O()?c.He()||this.C.uh(b,f.getState().ti):c.O()?(Kd(this,f,c,a),a.uh(b,c.getState().ti)):Ld(this,f,c,a))}return a}};olympe.dc.db.T={Ha:'dc.db.Logger',ta:'dc.db.DatabaseManager',$i:'dc.db.Database',$a:'dc.db.Driver',Jk:'dc.db.Graph',Xm:'dc.db.DataProcessor',$m:'dc.db.DebugProcessor',Ys:'dc.db.PermissionProcessor',Xh:'dc.db.GraphMonitor'};olympe.dc.db.Z={An:'db.garbageCollector',Xh:'db.monitor',Zm:'db.debug'};
629
+ olympe.U.Ib(function(a){D(a,olympe.dc.db.Z.An,olympe.dc.db.Qh.C.hp);D(a,olympe.dc.db.Z.Xh,!1);D(a,olympe.dc.db.Z.Zm,!1);B(a,olympe.dc.db.T.Ha,[olympe.ua.T.ta],b=>b.Gc('dc.db'));B(a,olympe.dc.db.T.$i,[olympe.dc.db.T.Ha,new olympe.U.ha(olympe.dc.Z.an),new olympe.U.ha(olympe.dc.db.Z.An),new olympe.U.ha(olympe.dc.Z.xg),new olympe.U.ha(olympe.dc.db.Z.Zm)],(b,c,d,e,f)=>{d=e?olympe.dc.db.Qh.C.Ck:d;c=(new Map).set('defaultSource',c).set('garbageCollector',d).set('debug',f);return new olympe.dc.db.Database(b,
630
+ c)});B(a,olympe.dc.db.T.$a,[olympe.dc.db.T.ta],b=>b.view);B(a,olympe.dc.db.T.Xh,[olympe.dc.db.T.ta],b=>b.Gw);y(a,olympe.dc.db.T.$m,olympe.dc.db.Nb.fn,olympe.dc.T.Ha);B(a,olympe.dc.db.T.Xm,[olympe.dc.db.T.Ha,olympe.dc.db.T.$i,olympe.U.T.vf,new olympe.U.ha(olympe.dc.Z.wf)],(b,c,d,e)=>{b=new olympe.dc.db.Nb.Bp(b,c);e&&(b=new olympe.dc.nl(la(d,olympe.dc.db.T.$m),b));return b});y(a,olympe.dc.db.T.Ys,olympe.dc.db.Nb.rg,olympe.dc.T.Ha,olympe.dc.T.Yg,olympe.dc.T.se);y(a,olympe.dc.db.T.ta,olympe.dc.db.qr,
631
+ olympe.dc.db.T.Ha,olympe.dc.db.T.$i,olympe.dc.T.se,olympe.dc.db.T.Xm,new olympe.U.ha(olympe.dc.db.Z.Xh))},'olympe.dc.db');olympe.U.run([olympe.dc.db.T.$i,olympe.dc.db.T.Xh],(a,b)=>{void 0!==window&&(window.db=a,window.dbMonitor=b)},'DC.DB debug service injection');olympe.dc.db.Nb={};olympe.dc.db.Nb.Bp=class{constructor(a,b){this.N=a;this.F=b;this.buffer=[]}C(a,b,c){this.F.ja();b.gd(this);this.F.ca();c(null,b)}Tb(a,b){this.F.create(a,b)}ac(a,b,c){this.F.update(a,b,c)}oc(a,b=olympe.dc.ob.NONE){for(const c of this.F.Ee(a,b))this.F.oc(c)}la(a,b,c){this.F.zd(a,b,c)}nb(a,b,c){this.F.ud(a,b,c)}};olympe.dc.db.Nb.Bp.ka=[olympe.dc.Te,olympe.dc.Lf];function Md(a,b,c){if(!b)return'';let d='';if(c&&1<c)return'...';for(const [e,f]of b)d+=(d?', "':'"')+e+'":',f?f instanceof olympe.dc.Ec||f instanceof olympe.dc.Sync?d+='new olympe.dc.Reference("'+f.R()+'")':f instanceof olympe.D.Color?d+='new olympe.df.Color("'+f.Jg()+','+f.Hg()+','+f.Dg()+','+f.Cg()+'")':f.constructor&&Object.prototype.hasOwnProperty.call(f.constructor.prototype,'toString')?d+=JSON.stringify(f.toString()):'object'===typeof f&&(d+=Md(a,f,(c||0)+1)):d+=JSON.stringify(f);return'{'+
632
+ (d?d:'')+'}'}function Nd(a){switch(a){case olympe.dc.Fc.ce:return'Model';case olympe.dc.Sync.Ea.R():return'Owner';case olympe.dc.Sync.F.R():return'GroupOfObjects';default:return''}}
633
+ olympe.dc.db.Nb.fn=class{constructor(a){this.N=a;this.Fh=''}C(a,b,c){this.Fh='Patch #'+b.da()+' (source: '+a+')';b.gd(this);this.N.info(this.Fh);this.Fh='';c(null,b)}log(a,b){this.Fh+='\ndb.'+a+';'+(b?' // '+b:'')}Tb(a,b){this.log('createInstance("'+a+'", '+Md(this,b)+')')}ac(a,b){this.log('updateInstance("'+a+'", '+Md(this,b)+')')}oc(a,b){var c=olympe.dc.Ua();const d=c.model(a);c=d?c.name(d)+' #'+d:'';this.log('deleteInstance("'+a+'", rule: '+b+')',c)}la(a,b,c){this.log('createRelation("'+a+'", "'+
634
+ b+'", "'+c+'")',Nd(a))}nb(a,b,c){this.log('deleteRelation("'+a+'", "'+b+'", "'+c+'")',Nd(a))}};olympe.dc.db.Nb.fn.ka=[olympe.dc.Lf,olympe.dc.Te];olympe.dc.db.Nb.rg=class{constructor(a,b,c){this.N=a;this.db=b;this.L=c;this.G=new Od;this.F=Object.create(null)}C(a,b,c){let d=null;if(a!==olympe.dc.La.dd){b.gd(this.G);const e=this.G.flush();a=this.L.xa(a);this.F[a]||(this.F[a]=new olympe.dc.ga.rg(a));try{b.gd(new Pd(this.F[a],this.db,e))}catch(f){d=f}}null!==d?c(d,null):c(null,b)}};class Qd{constructor(){this.G={};this.C={};this.F={}}}
635
+ class Od{constructor(){this.C=new Qd}flush(){const a=this.C;this.C=null;return a}Tb(a){this.C.C[a]=a}ac(){}oc(a){this.C.F[a]=a}la(a,b,c){a===olympe.dc.Sync.modelRel.R()&&(this.C.G[b]=c)}nb(){}}function W(a,b){throw Error('Permission error for instance: '+a+': '+b);}
636
+ class Pd{constructor(a,b,c){var d=olympe.dc.lc();this.C=olympe.D.createNode(Number);this.G=new olympe.dc.ba.Yi(this.C,a);this.db=b;this.F=d;this.L=c}Tb(a){const b=this.L.G[a]||this.db.model(a);b?(J(this.C,olympe.dm.Ia.C.vj),this.G.C(this.F,b)||W(a,'CreateInstance requires CREATE permission on the model '+b)):W(a,'CreateInstance requires to create a relation with the model')}ac(a){J(this.C,olympe.dm.Ia.C.READ_WRITE);!this.L.C[a]||this.G.C(this.F,a)||W(a,'UpdateInstance requires READ_WRITE permission on the instance')}oc(a){J(this.C,
637
+ olympe.dm.Ia.C.Qo);!this.L.C[a]||this.G.C(this.F,a)||W(a,'DeleteInstance requires READ_DELETE permission on the instance')}la(a,b,c){!this.L.F[b]&&W(b,'Cannot create a relation which link an instance deleted in the same transaction');!this.L.F[c]&&W(c,'Cannot create a relation which link an instance deleted in the same transaction');J(this.C,olympe.dm.Ia.C.vj);!this.L.C[a]||this.G.C(this.F,a)||W(a,'CreateRelation requires READ_CREATE permission on the PropDef');let d=!1,e=!1;switch(this.db.Gb(a,olympe.dm.Relation.Mi)){case olympe.dm.Relation.G.ul:J(this.C,
638
+ olympe.dm.Ia.C.READ_WRITE);d=!0;break;case olympe.dm.Relation.G.tl:J(this.C,olympe.dm.Ia.C.ug);d=!0;break;case olympe.dm.Relation.G.al:J(this.C,olympe.dm.Ia.C.READ_WRITE);e=!0;break;case olympe.dm.Relation.G.$k:J(this.C,olympe.dm.Ia.C.ug);e=!0;break;case olympe.dm.Relation.G.qk:J(this.C,olympe.dm.Ia.C.READ_WRITE);d=e=!0;break;case olympe.dm.Relation.G.nk:J(this.C,olympe.dm.Ia.C.ug),d=e=!0}!d||!this.L.C[c]||this.G.C(this.F,c)||W(c,'CreateRelation requires more permissions on this instance');!e||!this.L.C[b]||
639
+ this.G.C(this.F,b)||W(b,'CreateRelation requires more permissions on this instance')}nb(a,b,c){J(this.C,olympe.dm.Ia.C.vj);this.G.C(this.F,a)||W(a,'DeleteRelation requires READ_CREATE permission on the PropDef');let d=!1,e=!1;switch(this.db.Gb(a,olympe.dm.Relation.Mi)){case olympe.dm.Relation.G.ul:J(this.C,olympe.dm.Ia.C.READ_WRITE);d=!0;break;case olympe.dm.Relation.G.tl:J(this.C,olympe.dm.Ia.C.ug);d=!0;break;case olympe.dm.Relation.G.al:J(this.C,olympe.dm.Ia.C.READ_WRITE);e=!0;break;case olympe.dm.Relation.G.$k:J(this.C,
640
+ olympe.dm.Ia.C.ug);e=!0;break;case olympe.dm.Relation.G.qk:J(this.C,olympe.dm.Ia.C.READ_WRITE);d=e=!0;break;case olympe.dm.Relation.G.nk:J(this.C,olympe.dm.Ia.C.ug),d=e=!0}d&&!this.G.C(this.F,c)&&W(c,'DeleteRelation requires more permissions on this instance');e&&!this.G.C(this.F,b)&&W(b,'DeleteRelation requires more permissions on this instance')}}olympe.dc.db.Nb.rg.ka=[olympe.dc.Te,olympe.dc.Lf,olympe.dc.Lf];olympe.dc.transaction={};function Rd(a){a&&a(!0,null)}function Sd(a,b,c,d){const e=b+' , '+c;a.L.set(e,d);a.O.add(e);a.ca(b,[c],[d],olympe.dc.La.jb);null===a.F&&(a.F=setTimeout(a.G.bind(a),a.ja))}
641
+ olympe.dc.Lh=class{constructor(a,b){this.id=a||olympe.$.Rb();this.C=new olympe.D.kc('BurstTransaction#'+this.id,b);this.ca=Td(this);this.C.onDestroy(()=>Rd());this.V=new Set;this.L=new Map;this.O=new Set;this.F=null;this.ja=olympe.dc.Ch().V}G(){null!==this.F&&(clearTimeout(this.F),this.F=null);const a=new Map;this.O.forEach(b=>{const c=b.split(' , ');let d=a.get(c[0]);void 0===d&&(d=new Map,a.set(c[0],d));d.set(c[1],this.L.get(b))});0<a.size&&Ud(this,a);this.O.clear()}push(a,b){const c=olympe.dc.Da(a);
642
+ a=b.subscribe(d=>{for(const [e,f]of d)d=olympe.dc.Da(e),this.L.get(c+' , '+d)!==f&&Sd(this,c,d,f.valueOf())});this.V.add(a)}complete(){return new Promise((a,b)=>{this.G();Rd((c,d)=>{for(const e of this.V)e.unsubscribe();c?a():b(d)})})}update(a,b,c){const d=olympe.dc.Da(a),e=olympe.dc.Da(b);void 0===d||void 0===e?olympe.dc.Ch().rb().error('Burst transaction: instance tag or property tag is undefined'):(this.C.run(()=>{olympe.D.nm([c],f=>{f instanceof olympe.dc.Ec?olympe.dc.Ch().rb().error('Cannot send complex property values in burst transactions'):
643
+ Sd(this,d,e,f.valueOf())})}),this.C.Sc(this.G.bind(this)))}stop(){this.C.hb()}da(){return this.id}nf(){return!1}toString(){return'Burst transaction #'+this.id}};olympe.dc.Lh.prototype.complete=olympe.dc.Lh.prototype.complete;olympe.dc.Lh.prototype.push=olympe.dc.Lh.prototype.push;olympe.dc.Ia=class{C(){}toString(){}};olympe.dc.transaction.Ef=class{constructor(a){this.id=a||olympe.$.Sl();this.sa=[];this.size=0}da(){return this.id}zc(){return this.size}concat(a){this.sa.push(...a.sa)}gd(a){const b=olympe.dc.transaction.Ef.C,c=this.sa.length;let d=0;for(;d<c;)switch(this.sa[d]){case b.Rm:a.Tb(this.sa[d+1],this.sa[d+2],this.sa[d+3]);d+=4;break;case b.sp:a.ac(this.sa[d+1],this.sa[d+2],this.sa[d+3],this.sa[d+4]);d+=5;break;case b.bn:a.oc(this.sa[d+1],this.sa[d+2],this.sa[d+3]);d+=4;break;case b.Sm:a.la(this.sa[d+1],
644
+ this.sa[d+2],this.sa[d+3],this.sa[d+4]);d+=5;break;case b.cn:a.nb(this.sa[d+1],this.sa[d+2],this.sa[d+3],this.sa[d+4]);d+=5;break;default:throw Error('Invalid Patch operations "'+this.sa[d]+'"');}}Tb(a,b,c){this.sa.push(olympe.dc.transaction.Ef.C.Rm,a,b,c);this.size++}ac(a,b,c,d){this.sa.push(olympe.dc.transaction.Ef.C.sp,a,b,c,d);this.size++}oc(a,b=olympe.dc.ob.NONE,c){this.sa.push(olympe.dc.transaction.Ef.C.bn,a,b,c);this.size++}la(a,b,c,d){if('string'!==typeof a)throw Error('Relation should be created using a tag as string (most likely a relation object is given here instead)');
645
+ this.sa.push(olympe.dc.transaction.Ef.C.Sm,a,b,c,d);this.size++}nb(a,b,c,d){this.sa.push(olympe.dc.transaction.Ef.C.cn,a,b,c,d);this.size++}};olympe.dc.transaction.Ef.C={Rm:1,sp:2,bn:3,Sm:4,cn:5};olympe.dc.transaction.Ef.ka=[olympe.dc.Lf,olympe.dc.ml];function Vd(a,b){return a.ca[b]||a.db.source(b)||olympe.dc.La.dd}function Wd(a,b){return a.V.has(b)?a.V.get(b):a.db.Wj(b)}function Xd(a,b,c,d){null===a.C&&(a.C=Object.create(null));c in a.C||(a.C[c]=[]);0>a.C[c].indexOf(b)&&(Yd(a,b).Tb(c,(new Map).set(olympe.dc.Pb.Pd,d),0),a.C[c].push(b))}function Yd(a,b){let c=a.F.get(b);c||(c=new olympe.dc.db.Dc(a.id),a.F.set(b,c));return c}
646
+ olympe.dc.transaction.$s=class{constructor(a,b){this.id=b||olympe.$.Rb();this.db=a;this.F=new Map;this.O=new olympe.dc.db.Dc(b);this.G=new Map;this.ca={};this.ja={};this.V=new Map;this.C=null;this.L=!0}kf(){return 0===this.O.wh().size}zc(){return this.F.size}persist(a){this.L=a}Tb(a,b,c){var d=c&&c.get(olympe.dc.Pb.VERSION);this.G.set(a,Number(d)||1);c&&(this.ca[a]=c.get(olympe.dc.Pb.Pd));d=Vd(this,a);this.V.set(a,b&&this.L);this.Bc(d,b,e=>{e.Tb(a,c,0)})}ac(a,b,c=!1){var d=b&&b.get(olympe.dc.Pb.VERSION);
647
+ this.G.set(a,Number(d)||1);d=Vd(this,a);if(!d)throw Error('Attempt to update an instance which has an unknown source.');this.Bc(d,Wd(this,a),e=>{e.ac(a,b,c,0)})}oc(a,b){const c=Vd(this,a),d=Wd(this,a);this.Bc(c,d,f=>{f.oc(a,b)});var e=this.db.model(a);e&&(e=Vd(this,e),c!==e&&this.Bc(e,d,f=>{f.oc(a,b)}))}la(a,b,c){const d=Vd(this,b),e=Vd(this,c),f=Wd(this,b)&&Wd(this,c);this.Bc(d,f,g=>{g.la(a,b,c,0)});f&&d!==e&&(Xd(this,d,c,e),Xd(this,e,b,d),this.Bc(e,f,g=>{g.la(a,b,c,0)}))}nb(a,b,c){const d=Vd(this,
648
+ b),e=Vd(this,c),f=Wd(this,b)&&Wd(this,c);this.Bc(d,f,g=>{g.nb(a,b,c,0)});f&&d!==e&&this.Bc(e,f,g=>{g.nb(a,b,c,0)})}Bc(a,b,c){c(this.O);b&&this.L&&c(Yd(this,a))}};function Zd(a,b,c){const d=Object.create(null);if(!b)return d;for(const f of Array.from(b.keys()).sort()){let g=f;var e=b.get(f);if(g===olympe.dc.Pb.Pd)if(e===olympe.dc.La.jb)d[g]=olympe.dc.Ua().da();else{if(e===olympe.dc.La.dd)continue}else g.startsWith(olympe.dc.Pb.VERSION)?(g=g.substr(1),e=null===e?1:e):g.startsWith(olympe.dc.og.bd)&&(g='fd'+g.substr(1));e=a.ca(e);c&&e instanceof Object&&8===e.c?a.V.set(g,e):d[g]=e}return d}
649
+ function $d(a){if(0===a.V.size)return null;const b=Object.create(null);a.V.forEach((c,d)=>{b[d]=c});a.V.clear();return b}
650
+ class ae{constructor(){this.V=new Map}ca(a){return a instanceof olympe.D.Oa||a instanceof olympe.D.fa||a instanceof olympe.D.ea?a.valueOf():a instanceof Date||a instanceof olympe.D.ab?(a=a instanceof olympe.D.ab?a.valueOf():a,{c:4,y:a.getUTCFullYear(),M:a.getUTCMonth()+1,d:a.getUTCDate(),h:a.getUTCHours(),m:a.getUTCMinutes(),s:a.getUTCSeconds(),S:a.getUTCMilliseconds(),z:0}):a instanceof olympe.D.Color?{c:7,r:a.Jg().valueOf(),g:a.Hg().valueOf(),b:a.Dg().valueOf(),a:a.Cg().valueOf()}:a&&'function'===
651
+ typeof a.R?{c:8,t:a.R()}:a}}function be(a){a.bg=[];a.ye=[];a.sf=[];a.cg=[];a.Qf=[]}function ce(a){const b={};0<a.Qf.length&&(b.Qf=a.Qf);0<a.ye.length&&(b.ye=a.ye);0<a.bg.length&&(b.bg=a.bg);0<a.sf.length&&(b.sf=a.sf);0<a.cg.length&&(b.cg=a.cg);be(a);return b}function de(a){const b=[...a.Qf,...a.ye,...a.bg,...a.sf,...a.cg];be(a);return b}
652
+ olympe.dc.transaction.re=class{constructor(a=!1){this.bg=[];this.ye=[];this.sf=[];this.cg=[];this.Qf=[];this.F=a;this.C=olympe.D?new ae:new class extends ae{ca(b){return b&&'function'===typeof b.R?{c:8,t:b.R()}:b}}}flush(){return JSON.stringify(de(this))}Tb(a,b,c=-1){this.bg.push({o:1,t:a,p:Zd(this.C,b||null,this.F),i:c});this.F&&(b=$d(this.C))&&this.sf.push({o:2,t:a,p:b,i:c})}ac(a,b,c,d=-1){this.sf.push({o:2,t:a,p:Zd(this.C,b||null,!1),i:d})}oc(a,b,c=-1){this.ye.push({o:3,t:a,f:b,i:c})}la(a,b,c,
653
+ d=-1){if(!a)throw Error('Cannot create relation of undefined type');if(!b)throw Error(`Cannot create relation ${a} from undefined origin to ${c}`);if(!c)throw Error(`Cannot create relation ${a} from ${b} to undefined destination`);this.cg.push({o:4,m:a,l:b,r:c,i:d})}nb(a,b,c,d=-1){if(!a)throw Error('Cannot delete relation of undefined type');if(!b)throw Error('Cannot delete relation with undefined origin');if(!c)throw Error('Cannot delete relation with undefined destination');this.Qf.push({o:5,m:a,
654
+ l:b,r:c,i:d})}};olympe.dc.transaction.re.ka=[olympe.dc.Lf];olympe.dc.transaction.ph=class{constructor(a){this.id=a||olympe.$.Rb();this.Va=new Map;this.C=new Map}da(){return this.id}Tb(a,b){this.Va.has(a)&&console.warn('Try to add twice the same instance in the graph');const c=new olympe.dc.transaction.ph.Instance(a);if(b)for(const [d,e]of b)c.Ba(d,e);this.Va.set(a,c)}ac(){throw Error('UpdateInstance should never be called on a SubGraph since it represents the result of a GraphDef Query');}oc(){throw Error('DeleteInstance should never be called on a SubGraph since it represents the result of a GraphDef Query');
655
+ }la(a,b,c){a=new olympe.dc.transaction.ph.Relation(b,c,a);this.C.set(a.toString(),a)}nb(a,b,c){a=new olympe.dc.transaction.ph.Relation(b,c,a);this.C.delete(a.F+'.'+a.G+'.'+a.C)}zc(){return this.C.size+this.Va.size}md(){return this.Va}gd(a){const b=new Map;this.Va.forEach((c,d)=>{const e=new Map;ee(c,(f,g)=>{if(g instanceof olympe.dc.Ec){const h=b.get(d)||new Map;h.set(f,g);b.set(d,h)}else e.set(f,g)});a.Tb(d,e)});b.forEach((c,d)=>{a.ac(d,c)});this.C.forEach(c=>{a.la(c.C,c.F,c.G)})}};
656
+ function ee(a,b){a.C.forEach((c,d)=>{b(d,b)})}olympe.dc.transaction.ph.Instance=class{constructor(a){this.tag=a;this.C=new Map}R(){return this.tag}Ba(a,b){this.C.set(a,b);return this}deleteProperty(a){this.C.delete(a);return this}};olympe.dc.transaction.ph.Relation=class{constructor(a,b,c){this.F=a;this.G=b;this.C=olympe.dc.Da(c)}toString(){return this.F+'.'+this.G+'.'+this.C}};olympe.dc.transaction.ph.ka=[olympe.dc.Lf,olympe.dc.ml];function fe(a,b,c,d){c=a.create(c?c:olympe.dc.Sync,void 0);if('string'===typeof b)c.setProperty(olympe.dc.Sync.nameProp,b||'');else for(let f=Object.keys(b),g=f.length,h=0;h<g;h++)c.setProperty(f[h],b[f[h]]);b=c.R();d=d||olympe.dc.Sync;const e=olympe.dc.Sync.extendRel.R();a.we(new olympe.dc.transaction.sa.gn(e,b,!1));a.we(new olympe.dc.transaction.sa.xk(e,b,d));return c}function ge(a){return(b,c)=>a.forEach(d=>d&&d(b,c))}
657
+ olympe.dc.lb=class{constructor(a){this.id=a||olympe.$.Rb();this.sa=[];this.G=!0;this.F=[]}da(){return this.id}we(a){a&&this.sa.push(a);return a}persist(a){this.G=a;return this}C(a){a.persist(this.G);const b=this.sa;for(let c=0,d=b.length;c<d;c++)b[c].C(a)}create(a,b){return this.we(new olympe.dc.transaction.sa.pd(a,b))}mm(a,b=!0){const c=olympe.dc.Da(a);var d=this.sa.find(e=>e instanceof olympe.dc.transaction.sa.pd&&e.R()===c);if(d)return d.persist(b);d=olympe.dc.Ua().model(a);if(null===d)throw Error('Try to persist a instance that does not exist: '+
658
+ a);return this.create(d,a).persist(b)}delete(a,b=olympe.dc.ob.DELETE){this.we(new olympe.dc.transaction.sa.cj(a,b))}update(a,b,c){return this.we(new olympe.dc.transaction.sa.rh(a,b,c))}la(a,b,c){this.we(new olympe.dc.transaction.sa.xk(a,b,c))}nb(a,b,c,d){this.we(new olympe.dc.transaction.sa.rr(a,b,c,d))}xu(a,b,c,d){this.we(new olympe.dc.transaction.sa.gn(a,b,c,d))}defineProperty(a,b,c,d,e,f){f=this.create(olympe.dm.Property,f);f.setProperty(olympe.dc.Sync.nameProp,c||'');void 0!==e&&this.update(a,
659
+ olympe.dc.og.bd+f.R(),e);this.la(olympe.dc.Sync.propertyRel,a,f);this.la(olympe.dm.Property.typeRel,f,b);d&&this.la(olympe.dc.Sync.F,f,d);this.la(olympe.dc.Sync.containsRel,a,f);return f}pi(a,b,c='',d,{oi:e=olympe.dm.Relation.L.gl,Li:f=olympe.dm.Relation.G.rl,$p:g=olympe.dm.Relation.C.Uo,Xp:h=olympe.dm.Relation.C.pk,Oi:k=olympe.dm.Relation.C.Rn}={},m=olympe.$.Rb()){m=this.create(olympe.dm.Relation,m);m.setProperty(olympe.dc.Sync.nameProp,c||'');m.setProperty(olympe.dm.Relation.Fl,e);m.setProperty(olympe.dm.Relation.Mi,
660
+ f);m.setProperty(olympe.dm.Relation.Nl,g);m.setProperty(olympe.dm.Relation.Ml,h);m.setProperty(olympe.dm.Relation.pm,k);this.la(olympe.dc.Sync.ja,a,m);this.la(olympe.dm.Relation.destinationModelRel,m,b);d&&this.la(olympe.dc.Sync.F,m,d);this.la(olympe.dc.Sync.containsRel,a,m);return m}nf(){return!1}cu(a){this.F.push(olympe.D.Ja().vb(a))}wd(a){a=ge([...this.F,a]);he(this,a,!1)}Hu(a){a=ge([...this.F,a]);he(this,a,!0)}toString(){return`Transaction #${this.id}`}};
661
+ olympe.dc.lb.prototype.executeAsLarge=olympe.dc.lb.prototype.Hu;olympe.dc.lb.prototype.execute=olympe.dc.lb.prototype.wd;olympe.dc.lb.prototype.afterExecution=olympe.dc.lb.prototype.cu;olympe.dc.lb.prototype.deleteAllRelations=olympe.dc.lb.prototype.xu;olympe.dc.lb.prototype.deleteRelation=olympe.dc.lb.prototype.nb;olympe.dc.lb.prototype.createRelation=olympe.dc.lb.prototype.la;olympe.dc.lb.prototype.update=olympe.dc.lb.prototype.update;olympe.dc.lb.prototype['delete']=olympe.dc.lb.prototype.delete;
662
+ olympe.dc.lb.prototype.persistInstance=olympe.dc.lb.prototype.mm;olympe.dc.lb.prototype.create=olympe.dc.lb.prototype.create;olympe.dc.lb.prototype.persist=olympe.dc.lb.prototype.persist;olympe.dc.lb.prototype.addOperation=olympe.dc.lb.prototype.we;olympe.dc.lb.prototype.getId=olympe.dc.lb.prototype.da;olympe.dc.lb.ka=[olympe.dc.Ia];function Td(a){var b=olympe.dc.Ch();const c=a.da();b.G.set(c,a);a.C.onDestroy(()=>{b.G.delete(c)});return b.ca.bind(b,a)}function Ud(a,b){var c=olympe.dc.Ch();const d=olympe.dc.Pb.VERSION,e=a.nf(),f=[];a=new olympe.dc.db.Dc(a.da());for(const h of b.keys()){const k=c.db.version(h);var g=c.db.source(h);g!==olympe.dc.La.jb&&(f.includes(g)||f.push(g),g=b.get(h),g.set(d,k+1),a.ac(h,g,!1,0))}c.F.send(new olympe.dc.ma(olympe.dc.ma.ra.Ug,{Bc:a,nf:e},f))}
663
+ function ie(a){const b=olympe.dc.ma.ra.Gk;a.F.C(olympe.dc.ma.ra.Gm,(c,d)=>{c=d.id;var e=d.rollback;d=d.error;const f=a.G.get(c);void 0!==f&&(a.G.delete(c),f.stop());olympe.dc.Wc().rf(e,olympe.dc.La.jb);a.N.warn(`Fast update (id=${c}) has been refused and is rolled back. Error: ${d}`)});a.F.C(b,(c,d)=>{c=d.finalize;var e=d.error;(d=(d=a.C.get(d.id))&&d.pop())&&d(c,e)})}
664
+ function he(a,b,c=!1){var d=olympe.dc.Ch();const e=olympe.D.Ja(),f=b?e.vb(b):void 0;b=olympe.dc.Wc();const g=a.da(),h=new olympe.dc.transaction.$s(d.db,g);a.C(h);if(h.kf())f&&f(!0,null);else{d.C.set(g,[]);const k=[],m=[];for(const p of h.G.keys())Wd(h,p)?k.push(p):m.push(p);const n=Mc(b,e,h.O,k,m);je(d,h,(p,q,r)=>{q?(ke(d,g,k,h.zc()),le(d,h,c,a.nf(),(t,v)=>{!t&&d.C.has(g)&&(d.C.get(g).forEach(u=>u(olympe.dc.transaction.zg.C.rj,v)),me(d,g));n(t);p&&p(t);f&&f(t,v)})):(d.N.error(r),n(!1),f&&f(!1,r))})}}
665
+ function je(a,b,c){const d=[];for(const p of b.G.keys())a.db.$f(p,olympe.dm.File)&&Wd(b,p)&&d.push(p);if(0===d.length)c(null,!0,null);else{var e=olympe.dm.File.urlProp.R(),f=olympe.dm.File.C.R(),g=olympe.dm.File.modificationDateProp.R(),h=Array.from(b.F.values()),k=[],m=new olympe.async.Ff(olympe.D.Vf()),n=olympe.$.xh();d.forEach(p=>{m.add((q,r)=>{const t=a.db.Gb(p,e,!0),v=a.db.Gb(p,olympe.dm.File.mimeTypeProp)||'application/data';t.startsWith('blob:')?n.F(t,u=>{n.V(t);null===u?q():a.O.le(p,u,v,x=>
666
+ {const G=h.reduce((C,z)=>C||z.Qb(p),null);null!==G&&(G.Ba(e,x).Ba(f,!0),k.push([p,x]));q()},x=>{r(x)})}):(2048<t.length&&a.N.error('Trying to create a file with an URL longer than 2048. It likely is a data url and should be an object url. File tag:',p),q())})});Ab(m,(p,q)=>{let r=null;if(p){const t=new olympe.dc.db.Dc;k.forEach(([v,u])=>{const x=new Map;x.set(e,u).set(f,!0).set(g,olympe.D.ab.now());t.ac(v,x,!0,0)});r=Mc(olympe.dc.Wc(),olympe.D.Vf(),t,[],[])}c(r,p,q)});m.start()}}
667
+ function ke(a,b,c,d){const e=olympe.D.Vf(),f=new olympe.async.Ff(e);0<a.timeout&&zb(f,a.timeout);const g=a.C.get(b);for(let h=0;h<d;h++)f.add((k,m,n)=>{g.push(e.vb((p,q)=>{n.set('final',p);q?m(q):k()}))});Ab(f,(h,k,m)=>{h||a.N.warn(`An error occurred while processing the notification of transaction (${b}): ${k}.`);m.get('final')!==olympe.dc.transaction.zg.C.wo&&olympe.dc.Wc().persist(c);me(a,b)});f.start()}
668
+ function le(a,b,c,d,e){b=b.F;if(0===b.size)e(!0,null);else{var f=c?olympe.dc.ma.ra.yl:olympe.dc.ma.ra.hi;c=(h,k,m,n)=>{h=zc(new olympe.dc.ma(f,{Bc:h,nf:d},[k]),p=>{p instanceof Error?n(p.message):m()});a.F.send(h)};var g=new olympe.async.Ff(olympe.D.Vf());for(const [h,k]of b)g.add(c.bind(null,k,h));Ab(g,e);g.start()}}function me(a,b){a.C.delete(b);if(0===a.C.size){for(const c of a.L)c();a.L=[]}}function ne(a,b){0<a.C.size?a.L.push(olympe.D.Ja().vb(b)):b()}
669
+ olympe.dc.transaction.zg=class{constructor(a,b,c,d,e,f){this.N=a;this.db=b;this.F=c;this.O=d;this.timeout=e;this.V=f;this.G=new Map;this.C=new Map;this.L=[];ie(this)}rb(){return this.N}ca(a,b,c,d,e){const f=olympe.dc.La.jb,g=olympe.dc.Pb.VERSION,h=a.nf();a=new olympe.dc.db.Dc(a.da());const k=this.db.version(b);e=void 0!==e?e:this.db.source(b);const m=new Map;for(let n=0;n<c.length;n++)m.set(c[n],d[n]);m.set(g,k+1);a.ac(b,m,!1,0);olympe.dc.Wc().rf(a.clone(),f);e!==f&&this.F.send(new olympe.dc.ma(olympe.dc.ma.ra.Ug,
670
+ {Bc:a,nf:h},[e]))}};olympe.dc.transaction.zg.C={rj:0,Ps:1,wo:2};olympe.dc.transaction.T={Ha:'dc.transaction.Logger',ta:'dc.transaction.Manager'};olympe.dc.transaction.Z={TIMEOUT:'dc.transaction.timeout',Fm:'dc.transaction.burstInterval'};
671
+ olympe.U.Ib(function(a){D(a,olympe.dc.transaction.Z.TIMEOUT,6E4);D(a,olympe.dc.transaction.Z.Fm,30);B(a,olympe.dc.transaction.T.Ha,[olympe.ua.T.ta],b=>b.Gc('dc'));y(a,olympe.dc.transaction.T.ta,olympe.dc.transaction.zg,olympe.dc.transaction.T.Ha,olympe.dc.T.Yg,olympe.dc.T.se,olympe.dc.T.Mh,new olympe.U.ha(olympe.dc.transaction.Z.TIMEOUT),new olympe.U.ha(olympe.dc.transaction.Z.Fm))},'olympe.dc.transaction');olympe.dc.transaction.sa={};function X(a){return olympe.dc.Da(a)}function oe(a,b){const c=new Map;for(const [d,e]of b)c.set(d,a.Ta(e));return c}olympe.dc.transaction.sa.jg=class{C(){throw Error('Abstract method build() not override !');}toString(){throw Error('Abstract method toString() not override !');}Ta(a){a=olympe.D.Ta(a);return void 0===a||null===a?null:olympe.D.sq(a)?a.valueOf():a}};olympe.dc.transaction.sa.jg.ka=[olympe.dc.Ia];olympe.dc.transaction.sa.pd=class extends olympe.dc.transaction.sa.jg{constructor(a,b){super();this.tag=void 0!==b?b:olympe.$.Rb();this.model=a;this.F=new Map;this.G=!0;this.F.set(olympe.dc.Pb.VERSION,1)}R(){return X(this.tag)}mc(){return X(this.model)}persist(a){this.G=a;return this}Ii(){this.F.set(olympe.dc.Pb.Pd,olympe.dc.La.jb)}setProperty(a,b){this.F.set(olympe.dc.Da(a),b);return this}fk(a){this.setProperty(olympe.dc.Sync.nameProp.R(),a);return this}C(a){const b=olympe.dc.Ua(),c=this.mc(),d=
672
+ this.R();if(void 0===c)throw Error('OperationError: Cannot create instance, model tag is undefined');if(this.F.has(olympe.dc.Pb.Pd))this.F.get(olympe.dc.Pb.Pd)===olympe.dc.La.rt&&(this.F.set(olympe.dc.Pb.Pd,olympe.dc.La.jb),this.G=!1);else{var e=b.source(c);this.F.set(olympe.dc.Pb.Pd,null!==e?e:olympe.dc.La.dd)}if(b.Fb(d)&&!b.Wj(d)&&this.G){e=new Map([...b.Cd(d,!0),...oe(this,this.F)]);for(const f of e.values())if(f instanceof olympe.dc.Ec&&!Wd(a,f.R())){const g=new olympe.dc.lb;g.mm(f.R());g.C(a)}a.Tb(d,
673
+ this.G,e);a.la(olympe.dc.Sync.modelRel.R(),d,c);for(const [f,g,h]of Dd(b,d))Wd(a,h)&&(g===olympe.dc.Ka.ORIGIN?a.la(f,h,d):a.la(f,d,h))}else b.Fb(d)||(a.Tb(d,this.G,oe(this,this.F)),a.la(olympe.dc.Sync.modelRel.R(),d,c))}toString(){return`CreateInstance(${this.mc()}, ${this.R()})`}};olympe.dc.transaction.sa.pd.prototype.setProperty=olympe.dc.transaction.sa.pd.prototype.setProperty;olympe.dc.transaction.sa.pd.prototype.localSource=olympe.dc.transaction.sa.pd.prototype.Ii;
674
+ olympe.dc.transaction.sa.pd.prototype.persist=olympe.dc.transaction.sa.pd.prototype.persist;olympe.dc.transaction.sa.pd.prototype.getModelTag=olympe.dc.transaction.sa.pd.prototype.mc;olympe.dc.transaction.sa.pd.prototype.getTag=olympe.dc.transaction.sa.pd.prototype.R;olympe.dc.transaction.sa.pd.ka=[olympe.dc.Nd];olympe.dc.transaction.sa.xk=class extends olympe.dc.transaction.sa.jg{constructor(a,b,c){super();this.type=a.Na?a:new olympe.dc.W.Db(X(a));this.F=b;this.G=c}Na(){return this.Ta(this.type).Na()}C(a){const b=X(this.type);if(''===b)throw Error('OperationError: Cannot create relation, type is undefined, null or empty string');if(b===olympe.dc.Fc.ce)throw Error('OperationError: Cannot create the instance -> model relation');const c=X(this.F);if(''===c)throw Error('OperationError: Cannot create relation, origin tag is undefined, null or empty string');
675
+ const d=X(this.G);if(''===d)throw Error('OperationError: Cannot create relation, destination tag is undefined, null or empty string');this.Na()===olympe.dc.Ka.DESTINATION?a.la(b,c,d):a.la(b,d,c)}toString(){return`CreateRelation('${this.Na()}${X(this.type)}, ${X(this.F)}, ${X(this.G)})`}};olympe.dc.transaction.sa.iy=class extends olympe.dc.transaction.sa.jg{constructor(a,b=olympe.dc.ob.DELETE){super();this.model=a;this.F=b}mc(){return X(this.model)}C(a){const b=this.mc();if(void 0===b)throw Error('OperationError: Cannot delete instances of model, model is undefined');const c=olympe.dc.Ua();for(const d of c.md(b))d!==b&&(new olympe.dc.transaction.sa.cj(d,this.F)).C(a)}toString(){return`DeleteAllInstances(${this.mc()}, ${this.F})`}};olympe.dc.transaction.sa.gn=class extends olympe.dc.transaction.sa.jg{constructor(a,b,c,d){super();this.type=a.Na?a:new olympe.dc.W.Db(X(a));this.F=b;this.G=c||!1;this.L=d instanceof Array?d.map(e=>X(e)):null}Na(){return this.Ta(this.type).Na()}C(a){const b=X(this.type);if(void 0===b)throw Error('OperationError: Cannot delete relation, type is undefined');if(b===olympe.dc.Fc.ce)throw Error('OperationError: Cannot delete the instance -> model relation');const c=X(this.F);if(void 0===c)throw Error('OperationError: Cannot delete relation, left tag is undefined');
676
+ var d=olympe.dc.Ua();const e=this.Na(),f=this.L;d=d.Wa(c,this.type);for(const g of d)e===olympe.dc.Ka.DESTINATION?a.nb(b,c,g):a.nb(b,g,c),null!==f&&0<=f.indexOf(g)||this.G&&(new olympe.dc.transaction.sa.cj(g,olympe.dc.ob.DELETE)).C(a)}toString(){return`DeleteAllRelations(${this.Na()}${X(this.type)}, ${X(this.F)}, ${this.G})`}};olympe.dc.transaction.sa.cj=class extends olympe.dc.transaction.sa.jg{constructor(a,b=olympe.dc.ob.DELETE){super();this.tag=a;this.F=b}R(){return X(this.tag)}C(a){const b=olympe.dc.Ua(),c=this.R();if(void 0===c)throw Error('OperationError: Cannot delete instance, tag is undefined');const d=b.model(c);0<=b.version(c)&&d&&a.oc(c,this.F)}toString(){return'DeleteInstance('+this.R()+', '+this.F+')'}};olympe.dc.transaction.sa.rr=class extends olympe.dc.transaction.sa.xk{constructor(a,b,c,d=!1){super(a,b,c);this.L=d}C(a){const b=X(this.type);if(void 0===b)throw Error('OperationError: Cannot delete relation, type is undefined');if(b===olympe.dc.Fc.ce)throw Error('OperationError: Cannot delete the instance -> model relation');const c=X(this.F);if(void 0===c)throw Error('OperationError: Cannot delete relation, left tag is undefined');const d=X(this.G);if(void 0===d)throw Error('OperationError: Cannot delete relation, right tag is undefined');
677
+ this.Na()===olympe.dc.Ka.DESTINATION?a.nb(b,c,d):a.nb(b,d,c);this.L&&(new olympe.dc.transaction.sa.cj(d,olympe.dc.ob.DELETE)).C(a)}toString(){return'DeleteRelation('+this.Na()+X(this.type)+', '+X(this.F)+', '+X(this.G)+', '+this.L+')'}};olympe.dc.transaction.sa.rh=class extends olympe.dc.transaction.sa.jg{constructor(a,b,c){super();this.tag=a;this.F=new Map;this.F.set(olympe.dc.Pb.VERSION,-1);void 0!==b&&this.setProperty(b,c)}R(){return X(this.tag)}setProperty(a,b){this.F.set(X(a),b);return this}C(a){const b=this.R();if(void 0===b)throw Error('OperationError: Cannot update instance, tag is undefined');const c=olympe.dc.Ua();var d=c.version(b),e=a.G.get(b);e=void 0!==e?e:d;if(null===e)throw Error('OperationError: Instance #'+b+' not found so it cannot be updated');
678
+ d=oe(this,this.F);0>=d.get(olympe.dc.Pb.VERSION)&&d.set(olympe.dc.Pb.VERSION,e+1);for(const [f,g]of d)e=c.Gb(b,f),e instanceof olympe.dc.Ec&&(e=e.R(),a.ja[e]=!0),g instanceof olympe.dc.Ec&&!Wd(a,g.R())&&(e=new olympe.dc.lb,e.mm(g.R()),e.C(a));a.ac(b,d)}toString(){return'UpdateInstance('+this.R()+', '+oe(this,this.F)+')'}};olympe.dc.transaction.sa.rh.prototype.setProperty=olympe.dc.transaction.sa.rh.prototype.setProperty;olympe.dc.transaction.sa.rh.prototype.getTag=olympe.dc.transaction.sa.rh.prototype.R;olympe.dc.query={};function pe(a,b,c){let d=a.C.get(b);void 0===d&&(d=new Set,a.C.set(b,d));b=olympe.$.Rb();d.add(b);a.F.set(b,c)}function qe(a,b){if(a.C.has(b)){for(const c of a.C.get(b))a.F.delete(c);a.C.delete(b)}}
679
+ function re(a,b,c){if(a.C.has(b)){if(!a.G.has(b)){a.G.add(b);for(const d of a.C.get(b)){const e=a.F.get(d);a.F.delete(d);c instanceof olympe.dc.query.si.gj?e(Error(c.ja()),c):e(null,c)}a.C.delete(b);a.G.delete(b)}}else a.N.info(`Graph result of graphdef ${b} has no associated handler in the datacloud`)}olympe.dc.query.jr=class{constructor(a){this.N=a;this.C=new Map;this.F=new Map;this.G=new Set}};olympe.dc.pe=class{ia(){}L(){}G(){}O(){}oa(){}toString(){}};olympe.dc.Ld={wg:0,uj:1,ol:2,vt:0,Oe:1};olympe.dc.Ld.toString=function(a){for(const [b,c]of Object.entries(olympe.dc.Ld))if(c===a)return b;return null};olympe.dc.ob={NONE:-1,DUMP:0,DELETE:1,RUNTIME:2};w('olympe.dc.FollowRules',olympe.dc.ob);olympe.dc.ob.toString=function(a){for(const [b,c]of Object.entries(olympe.dc.ob))if(c===a)return b;return null};
680
+ olympe.dc.ob.hq=function(a){const b=olympe.dm.Relation,c=olympe.dc.ob.DELETE,d=olympe.dc.ob.DUMP,e=olympe.dc.ob.RUNTIME;switch(a){case d:return b.Nl.R();case c:return b.Ml.R();case e:return b.pm.R()}};function se(a){return null===a.C?olympe.dc.ob.NONE:a.C}function te(a,b){a.validate(b,'activateFollowRules');return a}function ue(a,b,c=!1){a.validate(olympe.dc.ob.NONE,'follow');a.V=ve(a,b,c);return a}
681
+ function we(a,b=1){a.validate(olympe.dc.ob.NONE,'back');let c=a.V;for(let d=0;d<b&&null!==c;d++)c=a.F.get(c.F)||null;a.V=c}function xe(a){return null!==a.C&&a.C!==olympe.dc.ob.NONE}function ye(a){if(xe(a))throw Error('An implicit GraphDef has no blocks');return a.F.values()}
682
+ function ve(a,b,c){c=new olympe.dc.query.Relation(b.R(),b.Na(),c||b instanceof olympe.dc.W.Xb);b=[];var d;for(var e of ze(a)){if(d=a.F.get(e)){var f=new olympe.dc.query.fj(c,d.id);d.C.has(f.da())?d=d.C.get(f.da()):(d.C.set(f.da(),f),d=f)}else{d=a;var g=c;const h=olympe.$.Ac(d.G);f=olympe.$.Ac(h+g.toString());g=d.F.get(f)||new olympe.dc.query.fj(g,h);d.O.set(f,g);d=g}f=d.da();a.F.set(f,d);b.push(f)}e=b[0];a.na.set(e,b);return a.F.get(e)}
683
+ function Ae(a,b){if(xe(a))a.ca.push(b);else throw Error('You cannot add a "skip predicate" to an explicit graphdef. Please activate a follow rule first.');return a}function Be(a,b){a.ja=b;return a}function Ce(a,b){return xe(a)?new olympe.dc.query.Tk(a.clone(),b||olympe.D.Ja()):new olympe.dc.query.ej(a.clone(),b||olympe.D.Ja())}
684
+ function ze(a){let b=a.V;const c=[];for(;b&&b.Df.recursive;)c.push(b.da()),b=a.F.get(b.F)||null;c.push(b&&b.da()||olympe.$.Ac(a.G));const d=[];c.slice(0,5).forEach(e=>{d.push(...a.na.get(e))});return d}
685
+ olympe.dc.Af=class{constructor(a,b=olympe.dc.Ld.wg){if(void 0===a||null===a)throw Error('Cannot create GraphDef with undefined or null baseTag');this.G=olympe.dc.Da(a);this.L=b;this.C=null;this.ca=[];this.V=null;this.O=new Map;this.F=new Map;this.ja=null;this.na=(new Map).set(olympe.$.Ac(this.G),[olympe.$.Ac(this.G)])}static oc(a,b){olympe.dc.Af.ye([a],b)}static ye(a,b){const c=new olympe.dc.lb;a.forEach(d=>c.delete(d,olympe.dc.ob.DELETE));c.wd(b)}toJSON(){const a=Object.create(null),b=c=>{const d=
686
+ Object.create(null),e=c.Df;d.t=e.R();d.d=e.Na();d.r=e.recursive;d.c=c.Eg().map(b);return d};a.t=this.G;a.o=this.L;a.f=se(this);a.b=Array.from(this.O.keys()).map(c=>b(this.F.get(c)));return JSON.stringify(a)}static $b(a){a='string'===typeof a?JSON.parse(a):a;const b=te(new olympe.dc.Af(a.t,a.o),a.f),c=d=>{const e=new olympe.dc.za.Relation(d.t,d.d);ue(b,e,d.r);for(const f of d.c)c(f);we(b)};for(const d of a.b)c(d);return b}da(){const a=olympe.$.Ac,b=d=>d.da()+d.Eg().map(e=>b(e)).sort().join(''),c=Array.from(this.O,
687
+ ([,d])=>b(d)).sort().join('');return a(`${this.L}-${this.G}${c}-${se(this)}`)}add(a,b=!1){this.validate(olympe.dc.ob.NONE,'add');ve(this,a,b);return this}wd(a=b=>b){null===this.C&&(this.C=olympe.dc.ob.NONE);const b=olympe.dc.Ah();a=olympe.D.Ja().vb(a);switch(this.L){case olympe.dc.Ld.wg:case olympe.dc.Ld.uj:const c=De(b,this,a);olympe.D.Ja().Sc(()=>{Ee(olympe.dc.Ah(),c.da())});break;case olympe.dc.Ld.ol:Fe(b,this,a);break;default:throw Error('Wrong graph operation');}}validate(a,b){if(null!==this.C&&
688
+ this.C!==a)throw Error(this.C>olympe.dc.ob.NONE?`Method ${b} can't be called on an implicit Graphdef`:`Method ${b} can't be called on an explicit Graphdef`);this.C=a}clone(){const a=new olympe.dc.Af(this.G,this.L);a.C=this.C;for(const [b,c]of this.O)a.O.set(b,c);for(const [b,c]of this.F)a.F.set(b,c);a.ja=this.ja;a.ca=[...this.ca];return a}};function Ge(a,b){a.data.gd(b.data);a.C.forEach((c,d)=>{if(b.C.has(d))d=b.C.get(d),d.add.push(...c.add),d.remove.push(...c.remove);else{var e=c.remove;const f=new He(d);f.add=c.add;f.remove=e;b.C.set(d,f)}})}function Ie(a,b){a.C.forEach((c,d)=>b(d,c.add,c.remove))}olympe.dc.query.Ir=class{constructor(a,b){this.id=a;this.C=new Map;this.data=b}da(){return this.id}F(){return this.data}};class He{constructor(a){this.id=a;this.add=[];this.remove=[]}da(){return this.id}};function Je(a){return(a=a.C)&&olympe.dc.Ua().source(a)||olympe.dc.La.dd}function Ke(a){return Array.from(a.na,b=>a.F.get(b))}function Le(a){if(!a.G){for(const b of a.L.values())b();a.L.clear();a.G=!0}}
689
+ olympe.dc.query.ej=class{constructor(a,b){this.Lg=a;this.C=a.G;this.id=a.da();this.V=new olympe.D.kc(`GraphSubscription ${this.id}`,b);this.N=olympe.ua.rb('dc.query');this.na=[];this.F=new Map;this.G=!1;this.L=new Map;b=olympe.$.Ac(this.C);if(!xe(a))for(const c of ye(a))this.F.set(c.da(),c),c.F===b&&this.na.push(c.da())}da(){return this.id}pf(a,b){b=b||olympe.$.Rb();this.G?a():this.L.set(b,olympe.D.Ja().vb(a));return b}Ki(a){return this.L.delete(a)}onDestroy(a){this.V.onDestroy(a)}release(){this.V.hb()}O(){return function*(a,
690
+ b){yield a;for(const c of b)yield*c.md()}(this.C,this.F.values())}ca(a){const b=olympe.$.Ac(this.C);Me(a,(c,d)=>{if(b!==c)if(c=this.F.get(c),void 0===c)this.N.error('Try to apply a block result that does not exists in the original query');else for(const e of d)c.Va.add(e)})}ja(a){let b=[],c=[];const d=olympe.$.Ac(this.C);Ie(a,(e,f,g)=>{const h=d===e,k=this.F.get(e);h||void 0!==k?h?(b.push(...f),c.push(...g)):(b=b.concat(f.filter(m=>{k.Va.has(m)?m=!1:(k.Va.add(m),m=!0);return m})),c=c.concat(g.filter(m=>
691
+ k.Va.delete(m)))):this.N.error(`A notification contains a block ${e} which is not present in the current graph query ${this.id}`)});Qc(olympe.dc.Wc(),b,c)}Up(a){const b=a.C,c=[],d=this.C;d===b&&c.push(olympe.$.Ac(d));this.F.forEach((k,m)=>{k.Va.has(b)&&c.push(m)});const e=olympe.$.Ac,f=this.F,g=(k,m)=>{const n=m.Df,p=[e(k+n),e(k+new olympe.dc.query.Relation(n.tag,n.direction,!0))].filter(q=>f.has(q));return 0<p.length?m.Eg().reduce((q,r)=>q&&g(p[0],r),!0):!1},h=Ke(a);return void 0!==c.find(k=>{for(const m of h)if(!g(k,
692
+ m))return!1;return!0})}};olympe.dc.query.fj=class{constructor(a,b){this.Df=a;this.C=new Map;this.Va=new Set;this.F=b;this.id=olympe.$.Ac(b+a.toString());this.apply=!0}toJSON(){let a='{ "id": '+JSON.stringify(this.id)+', "parentId": '+JSON.stringify(this.F)+', "apply": '+JSON.stringify(this.apply)+', ';a+='"relation": '+this.Df.toJSON();if(0<this.C.size){a+=', "children": [';for(const b of this.C.values())a+=b.toJSON()+', ';a.endsWith(', ')&&(a=a.substr(0,a.length-2));a+=']'}if(0<this.Va.size){a+=', "instances": [';for(const b of this.Va)a+=
693
+ JSON.stringify(b)+', ';a.endsWith(', ')&&(a=a.substr(0,a.length-2));a+=']'}return a+'}'}static $b(a){var b;'string'===typeof a?b=JSON.parse(a):b=a;a=olympe.dc.query.Relation.$b(b.relation);a=new olympe.dc.query.fj(a,b.parentId);a.id=b.id;a.apply=b.apply;if(b.instances)for(const c of b.instances)a.Va.add(c);if(b.children)for(const c of b.children)b=olympe.dc.query.fj.$b(c),a.C.set(b.id,b);return a}da(){return this.id}Eg(){return Array.from(this.C.values())}md(){return this.Va.values()}wh(){return function*(a,
694
+ b){for(const c of a)yield c;for(const c of b)yield*c.wh()}(this.md(),this.C.values())}toString(){return this.F+this.Df.toString()}};function Me(a,b){a.C.forEach((c,d)=>b(d,c))}
695
+ olympe.dc.query.Rh=class{constructor(a,b,c,d){this.id=a;this.source=b;this.G=c;this.C=new Map;this.Bc=d}toJSON(){let a=`{ "id": "${this.id}", "source": "${this.source}", "destination": "${this.G}"`;a.endsWith(', ')&&(a=a.substr(0,a.length-2));a+=', "blocks": {';for(const [b,c]of this.C)a+=`"${b}": ${JSON.stringify(Array.from(c))}, `;a.endsWith(', ')&&(a=a.substr(0,a.length-2));a+=`}, "patch": ${this.Bc.toJSON()}`;return a+'}'}static $b(a){let b;'string'===typeof a?b=JSON.parse(a):b=a;a=olympe.dc.db.Dc.$b(b.patch);
696
+ a=new olympe.dc.query.Rh(b.id,b.source,b.destination,a);for(const [c,d]of Object.entries(b.blocks))a.C.set(c,new Set(d));return a}da(){return this.id}F(){return this.Bc}};const Ne=olympe.dc.Fc.ce,Oe=olympe.dc.Fc.Zg,Pe=olympe.dc.Ka.ORIGIN,Qe=olympe.dc.Ka.DESTINATION;function Re(a,b,c){const d=a.Lg.ca;return c.filter(e=>d.reduce((f,g)=>f&&!g(b,e.Df),!0))}
697
+ olympe.dc.query.Tk=class extends olympe.dc.query.ej{constructor(a,b){super(a,b);this.Va=(new Set).add(a.G)}O(){return this.Va.values()}ca(a){a=a.F();for(const b of a.md())b.O()?this.Va.delete(b.tag()):b.He()&&this.Va.add(b.tag())}ja(a){let b=[],c=[];Ie(a,(d,e,f)=>{b=b.concat(e.filter(g=>{if(this.Va.has(g)&&this.C!==g)return!1;this.Va.add(g);return!0}));c=c.concat(f.filter(g=>this.Va.delete(g)))});Qc(olympe.dc.Wc(),b,c)}Up(a,b){var c=a.C,d=Array.from(a.F.values()),e=Re(this,c,d);if(e.length===d.length&&
698
+ !this.Va.has(c))return!1;c=olympe.dm.Relation.C.Ej;d=olympe.dm.Relation.C.yj;const f=olympe.dc.Ua();for(const k of e){var g=k.Df,h=g.R();e=g.Na();if(e!==Qe||h!==Ne&&h!==Oe){if(!f.Fb(g))return this.N.info('ImplicitGraphQuery: [Sub. ID:',b,']: checking coverage of graphPath',a.da(),'failed at the relation',h,'which is not in local DB'),!1;g=Cd(f,g,se(this.Lg));h=0===k.Eg().length;if(!(g&(e===Pe?h?12:d:h?3:c)))return!1}}return!0}};function Se(a){let b=null;for(a=[...a.W];null===b&&0<a.length;)b=a.pop().Mb();return b}function Te(a,b){a.V()||(a=`Calling "${b}" on subscription with id ${a.da()} while it is not ready (thus no data is available).`+'This call should be made within an onReady callback.',olympe.ua.rb('dc').warn(a))}function Ue(a,b){const c=a.bc().fh();return new rxjs.Observable(d=>{c.run(()=>{olympe.D.rc([b],e=>{d.next(e.valueOf())})});c.Sc(()=>{d.complete()})})}
699
+ olympe.dc.pa=class{constructor(a,b,c){void 0===a||null===a?olympe.ua.rb('dc').warn('attempt to create a listdef with a null or undefind basetag. This listdef is thus without effect.'):(this.F=olympe.D.ya([a],olympe.dc.Da,String),this.W=void 0!==b&&(Array.isArray(b)?b:[b])||[],this.valueType=c||Se(this),this.C=null)}lc(){return olympe.dc.lc()}wd(){if(null===this.C){const a=olympe.dc.Ah();this.C=Ve(a,this);null!==this.valueType&&this.C.cd(this.valueType);olympe.D.Ja().Sc(()=>{We(a,this.C.da());this.C=
700
+ null})}return this}bc(){null===this.C&&this.wd();return this.C}cd(a){this.valueType=a;null!==this.C&&this.C.cd(this.valueType)}Mb(){return null!==this.C?this.C.Mb():null===this.valueType?olympe.dc.Sync:this.valueType}kd(){return this.F}Wk(){return this.W}pf(a,b){return this.bc().pf(a,b)}Ki(a){this.bc().Ki(a)}ds(){return this.bc().Ae()}cs(){return this.bc().V()}get(a){return this.bc().get(a)}zh(){return this.bc().zh()}Fg(a){const b=this.bc();Te(b,'getCurrent');return b.Fg(a)}has(a){return this.bc().has(a)}Zf(a){const b=
701
+ this.bc();Te(b,'hasCurrent');return b.Zf(a)}df(a){return this.bc().df(a)}Qw(a){return Ue(this,this.df(a))}me(a){const b=this.bc();Te(b,'getCurrentAt');return b.me(a)}Fe(a){return this.bc().Fe(a)}ef(a){const b=this.bc();Te(b,'getCurrentKeyAt');return b.ef(a)}Dd(a){return this.bc().Dd(a)}Tw(a){return Ue(this,this.Dd(a))}ff(a){const b=this.bc();Te(b,'getCurrentRank');return b.ff(a)}ld(){return this.bc().ld()}Rw(){return Ue(this,this.ld())}gf(){return this.bc().gf()}zc(){return this.bc().zc()}Uw(){return Ue(this,
702
+ this.zc())}Tf(){const a=this.bc();Te(a,'getCurrentSize');return a.Tf()}forEach(a,b){this.bc().forEach(a,b)}jd(a){const b=this.bc();Te(b,'forEachCurrentValue');return b.jd(a)}ui(a,b,c,d){a=new olympe.dc.W.Ad(a,b);(new olympe.dc.pa(this.F,[...this.W,a],this.valueType)).forEach(c,d)}transform(...a){var b=a;if(Array.isArray(a[0])){if(1<a.length)throw Error('ListDef.transform() should be called either with one array argument, or with ... arguments, but not both');b=a[0]}a=[...this.W];for(const c of b){if(void 0===
703
+ c)throw Error('ListDef.transform(): Trying to set an undefined transformer');if(c instanceof olympe.dc.za.Property)throw Error(`ListDef.transform(): Properties cannot be used as transformer, unlike relations ${c}`);if(!c||'function'!==typeof c.getTransform)break;a.push(c)}b=new olympe.dc.pa(this.F,a);b.cd(Se(b)||this.valueType||Object);return b}gk(a){return this.transform(new olympe.dc.W.Ye(a))}filter(a){return this.transform(new olympe.dc.W.$c(a))}Pf(){const a=new olympe.dc.oj(this.F,null===this.valueType?
704
+ void 0:this.valueType);let b=this.W;b instanceof Array||(b=b?[b]:[]);a.transform(b);return a}toString(){let a=this.W;a=a?', '+(a.join?a.join(', '):a.toString()):'';return'ListDef(#'+olympe.D.Ta(this.F)+a+')'}bs(){return this.bc().pg()}Xc(){return olympe.D.ya([this.zc()],a=>{let b='[';for(let c=0;c<a;c++){const d=this.me(c).toString();b=0<c&&c<a?b+(', '+d):b+d}return olympe.D.sb(b+']')},olympe.D.Oa)}};olympe.dc.pa.prototype.filter=olympe.dc.pa.prototype.filter;olympe.dc.pa.prototype.union=olympe.dc.pa.prototype.gk;
705
+ olympe.dc.pa.prototype.transform=olympe.dc.pa.prototype.transform;olympe.dc.pa.prototype.forEachCurrentValue=olympe.dc.pa.prototype.jd;olympe.dc.pa.prototype.forEach=olympe.dc.pa.prototype.forEach;olympe.dc.pa.prototype.getCurrentSize=olympe.dc.pa.prototype.Tf;olympe.dc.pa.prototype.observeSize=olympe.dc.pa.prototype.Uw;olympe.dc.pa.prototype.observeFirst=olympe.dc.pa.prototype.Rw;olympe.dc.pa.prototype.getCurrentRank=olympe.dc.pa.prototype.ff;olympe.dc.pa.prototype.observeRank=olympe.dc.pa.prototype.Tw;
706
+ olympe.dc.pa.prototype.getCurrentAt=olympe.dc.pa.prototype.me;olympe.dc.pa.prototype.observeAt=olympe.dc.pa.prototype.Qw;olympe.dc.pa.prototype.offReady=olympe.dc.pa.prototype.Ki;olympe.dc.pa.prototype.onReady=olympe.dc.pa.prototype.pf;olympe.dc.pa.prototype.getBaseTag=olympe.dc.pa.prototype.kd;olympe.dc.pa.ka=[olympe.D.ed];l=olympe.dc.pa.prototype;l.lc.K=olympe.D.J.C;l.wd.K=olympe.D.J.L();l.bc.K=new olympe.D.J(()=>olympe.dc.query.Subscription,[]);l.cd.K=new olympe.D.J(()=>{},[]);
707
+ l.kd.K=new olympe.D.J(()=>String,[]);l.Wk.K=new olympe.D.J(()=>Array,[]);l.pf.K=new olympe.D.J(()=>String,[]);l.Ki.K=new olympe.D.J(()=>{},[]);l.ds.K=olympe.D.J.O;l.cs.K=olympe.D.J.C;l.get.K=new olympe.D.J(()=>olympe.dc.Sync,[],'valueType');l.zh.K=new olympe.D.J(()=>Array,[]);l.Fg.K=olympe.D.J.C;l.has.K=olympe.D.J.O;l.Zf.K=olympe.D.J.C;l.df.K=new olympe.D.J(()=>olympe.dc.Sync,[],'valueType');l.me.K=olympe.D.J.C;l.Fe.K=new olympe.D.J(()=>String,[]);l.ef.K=olympe.D.J.C;l.Dd.K=olympe.D.J.G;l.ff.K=olympe.D.J.C;
708
+ l.ld.K=new olympe.D.J(()=>olympe.dc.Sync,[],'valueType');l.gf.K=new olympe.D.J(()=>String,[]);l.zc.K=olympe.D.J.G;l.Tf.K=olympe.D.J.C;l.forEach.K=new olympe.D.J(()=>{},[]);l.jd.K=olympe.D.J.C;l.ui.K=new olympe.D.J(()=>{},[]);l.transform.K=new olympe.D.J(()=>olympe.dc.pa,[]);l.gk.K=new olympe.D.J(()=>olympe.dc.pa,[]);l.filter.K=new olympe.D.J(()=>olympe.dc.pa,[]);l.Pf.K=new olympe.D.J(()=>olympe.dc.oj,[]);l.toString.K=olympe.D.J.C;l.bs.K=olympe.D.J.C;l.Xc.K=olympe.D.J.F;const Xe={Kx:'append',Fk:'filter_not',vn:'filter_and',wn:'filter_or'};function Ye(a,b){a=Ze(a);a=olympe.dc.Sync.Qb(a);return(new olympe.dc.ga.Cm(a,b)).G}
709
+ olympe.dc.oj=class{constructor(a,b){this.C=Ze(a);this.N=olympe.dc.Ah().rb();this.valueType=void 0===b?olympe.dc.Sync:b;this.W=[];this.sa=[]}Re(){return new olympe.dc.pa(this.C,this.W,this.valueType)}transform(a){for(let b=0,c=a.length,d;b<c;b++){d=a[b];if(void 0===d)throw new $e('transform','Trying to set an undefined transformer');if(d instanceof olympe.dc.za.Property)throw new $e('transform','Properties cannot be used as transformer, unlike relations '+d);if(!d||'function'!==typeof d.getTransform)throw new $e('transform',
710
+ 'one of the argument is not a Transformer '+d);const e=d.Mb();null!==e&&(this.valueType=e);this.W.push(d)}return this}gk(a){this.W.push(new olympe.dc.W.Ye(a));return this}Hx(a){this.W.push(new olympe.dc.W.Ye(Ze(a)));return this}fs(a){this.valueType=a;return this}jj(a){this.W.push(a);this.valueType=a.Mb()||olympe.dc.Sync;return this}Ou(a){for(const b of a)this.W.push(b),this.valueType=b.Mb()||olympe.dc.Sync;return this}Nu(a,b,c){a=new olympe.dc.W.Xb(a,a.Na(),b,c);this.W.push(a);this.valueType=a.Mb()||
711
+ olympe.dc.Sync;return this}Mu(a){const b=[];let c;for(let d=0;d<a.length;d++){const e=a[d];b.push(e.R());void 0===c&&(c=e.Na())}a=new olympe.dc.W.de(b,c);this.W.push(a);this.valueType=a.Mb()||olympe.dc.Sync;return this}Va(){this.jj(olympe.dc.Sync.instancesRel);return this}Ce(a){var b=this.sa.pop();b===Xe.Fk&&(a=new olympe.dc.ba.qe(a),b=this.sa.pop());switch(b){case Xe.vn:b=this.W.pop().C;b instanceof olympe.dc.ba.kg?(b=b.ba,b.push(a),a=new olympe.dc.ba.kg(...b)):a=new olympe.dc.ba.kg(b,a);b=this.sa.pop();
712
+ break;case Xe.wn:b=this.W.pop().C,b instanceof olympe.dc.ba.qg?(b=b.ba,b.push(a),a=new olympe.dc.ba.qg(...b)):a=new olympe.dc.ba.qg(b,a),b=this.sa.pop()}b===Xe.Fk&&(a=new olympe.dc.ba.qe(a),this.sa.pop());this.W.push(new olympe.dc.W.$c(a));return this}Fu(a,b,c){return this.Ce(new olympe.dc.ba.qd(Ye(a,c),new olympe.dc.ga.Tc(b)))}contains(a,b,c=!1,d){return this.Ce(new olympe.dc.ba.Id(Ye(a,d),new olympe.dc.ga.Tc(b),c))}$f(a){if(!(a instanceof Array))throw new $e('instanceOf','Provided argument "models" must be an array.');
713
+ const b=[];for(let c=0;c<a.length;c++)b.push(Ze(a[c]));return this.Ce(new olympe.dc.ba.Qe(b))}Tj(a){return this.Ce(new olympe.dc.ba.qd(new olympe.dc.ga.We,new olympe.dc.ga.Tc(Ze(a))))}Gu(a){if(!Array.isArray(a))throw Error('ExcludeInstances should be called with an array');if(0<a.length){this.Qg().Tj(a[0]);for(let b=1,c=a.length;b<c;b++)this.and().Qg().Tj(a[b])}return this}Bi(a,b){if(!(a instanceof Array))throw new $e('hasRelated','Provided argument "relations" must be an array.');const c=[],d=[];
714
+ a.forEach(e=>{c.push(e);d.push(e.Na())});return this.Ce(new olympe.dc.ba.Pe(c,d,b))}es(a,b,c){a=Ye(a,c);return this.Ce(new olympe.dc.ba.ae(a,new olympe.dc.ga.Tc(b)))}gs(a,b,c){a=Ye(a,c);return this.Ce(new olympe.dc.ba.he(a,new olympe.dc.ga.Tc(b)))}Ew(a,b,c,d){a=Ye(a,d);return this.Ce(new olympe.dc.ba.Ue(a,b,c))}filter(a){const b=new class extends olympe.dc.ba.ig{C(c,d){return a(olympe.dc.Sync.Qb(d))}};return this.Ce(b)}Qg(){this.sa.push(Xe.Fk);return this}and(){this.W[this.W.length-1]instanceof olympe.dc.W.$c&&
715
+ this.sa.push(Xe.vn);return this}or(){this.W[this.W.length-1]instanceof olympe.dc.W.$c&&this.sa.push(Xe.wn);return this}zx(a,b,c){a=Ze(a);let d=null;switch(olympe.dc.Ua().pc(a,olympe.dm.Property.typeRel)){case olympe.dm.String.P.R():d=new olympe.dc.tb.String(new olympe.dc.ga.Rd(a,c));break;case olympe.dm.Number.P.R():d=new olympe.dc.tb.Number(new olympe.dc.ga.Od(a,c));break;case olympe.dm.DateTime.P.R():d=new olympe.dc.tb.DateTime(new olympe.dc.ga.Jd(a,c))}c=d;null!==c&&this.W.push(new olympe.dc.W.td(c,
716
+ b));return this}sort(a,b,c){const d=new class extends olympe.dc.tb.ig{L(e,f){return a(olympe.dc.Sync.Qb(f))}G(e,f){return b(e,f).valueOf()}};this.W.push(new olympe.dc.W.td(d,c));return this}Bu(){this.W.push(new olympe.dc.W.Zc);return this}tw(a,b){this.W.push(new olympe.dc.W.Ad(a,b));return this}};class $e extends Error{constructor(a,b){super(`ListDefBuilder.${a}(): ${b}`)}}
717
+ function Ze(a){return'string'===typeof a||a instanceof olympe.D.Oa?a:'function'===typeof a?olympe.dc.wa.mc(a):olympe.D.Za(a)?a.Jj===olympe.D.Oa?a:olympe.D.ya([a],b=>olympe.D.sb(olympe.dc.Da(b)),olympe.D.Oa):a.R()}l=olympe.dc.oj.prototype;l.Re.K=new olympe.D.J(()=>olympe.dc.pa,[]);l.transform.K=olympe.D.J.L();l.gk.K=olympe.D.J.L();l.Hx.K=olympe.D.J.L();l.fs.K=olympe.D.J.L();l.jj.K=olympe.D.J.L();l.Ou.K=olympe.D.J.L();l.Nu.K=olympe.D.J.L();l.Mu.K=olympe.D.J.L();l.Va.K=olympe.D.J.L();l.Ce.K=olympe.D.J.L();
718
+ l.Fu.K=olympe.D.J.L();l.contains.K=olympe.D.J.L();l.$f.K=olympe.D.J.L();l.Tj.K=olympe.D.J.L();l.Gu.K=olympe.D.J.L();l.Bi.K=olympe.D.J.L();l.es.K=olympe.D.J.L();l.gs.K=olympe.D.J.L();l.Ew.K=olympe.D.J.L();l.filter.K=olympe.D.J.L();l.Qg.K=olympe.D.J.L();l.and.K=olympe.D.J.L();l.or.K=olympe.D.J.L();l.zx.K=olympe.D.J.L();l.sort.K=olympe.D.J.L();l.Bu.K=olympe.D.J.L();l.tw.K=olympe.D.J.L();olympe.dc.query.mo=class{constructor(a){this.id=a;this.C=[];this.data=new olympe.dc.db.Dc}F(a){this.C.push(olympe.dc.Da(a))}da(){return this.id}};function af(a){return olympe.D.Za(a)?'Node#'+a.Sa.da():String(a)}function bf(a,b){return olympe.D.Za(b)?'{"c":"Parameter","v":"'+a.add(b)+'"}':JSON.stringify(b)}
719
+ olympe.dc.query.Mo=class{constructor(){this.C=0;this.values=null}add(a){let b;b=olympe.D.Za(a)?'n'+a.Sa.da():'p'+ ++this.C;null===this.values&&(this.values={});this.values[b]=a;return b}get(a){return this.values[a]}clear(){const a=this.values;if(null!==a)for(let b=Object.keys(a),c=b.length,d=0;d<c;d++)delete a[b[d]]}forEach(a){const b=this.values;if(null!==b)for(let c=Object.keys(b),d=c.length,e=0;e<d;e++)a(b[c[e]],c[e])}};olympe.dc.Wb=class{ia(){}C(){}F(){}oa(){}toString(){}};function De(a,b,c){var d=olympe.dc.La.jb;const e=b.da();let f=cf(a.za,e),g=olympe.dc.La.jb;null===f&&(f=Ce(b,a.G),a.L||(g=Je(f)));df(a.za,f,d,g);c&&pe(a.F,e,c);b=olympe.dc.ma.ra.Ph;const h=olympe.dc.ma.ra.Oh,k=m=>{null!==m&&(a.N.error(`graph subscription "${e}" failed to subscribe ${m}`),ef(a.za,e,d),qe(a.F,e),c(m,null))};g===olympe.dc.La.jb?(a.N.debug('QueryManager: [ID:',e,'] GraphQuery processed locally'),a.O.C(d,f,k)):(b=zc(new olympe.dc.ma(f.Lg.L===olympe.dc.Ld.uj?h:b,f,[g]),k),a.N.debug('QueryManager: [ID:',
720
+ e,'] sending GraphQuery to',g),a.C.send(b));return f}function Ee(a,b){var c=olympe.dc.La.jb;const d=olympe.dc.La.jb;if(c===d){const e=cf(a.za,b).Lg.L,f=ff(a.za,b);ef(a.za,b,c)&&f!==d&&e===olympe.dc.Ld.wg&&(c=zc(new olympe.dc.ma(olympe.dc.ma.ra.Kk,String(b),[f]),g=>{g&&a.N.error(`Unsubscription of graphdef ${b} failed: ${g.message}`)}),a.C.send(c))}else ef(a.za,b,c)}
721
+ function Fe(a,b,c){var d=olympe.dc.La.jb;b=Ce(b,a.G);const e=b.da();var f=a.F.C.has(e);c&&pe(a.F,e,c);if(!f){f=h=>{h&&(qe(a.F,e),c(h,null))};var g=Je(b);g===olympe.dc.La.jb?a.O.C(d,b,f):(d=zc(new olympe.dc.ma(olympe.dc.ma.ra.Oh,b,[g]),f),a.C.send(d))}}
722
+ function Ve(a,b){var c=olympe.dc.La.jb;const d=b.kd();var e=new olympe.dc.query.Mo;let f;f=d;olympe.D.Za(f)&&(f=e.add(d));b=(b=b.Wk())?Array.isArray(b)?b:[b]:null;const g=olympe.dc.query.Subscription.G(f,b,e);e=gf(a.za,g);null===e&&(a.N.debug('QueryMGR: new',a.L?'local':'remote','subscription "',g,'": #',`${f},`,b),e=new olympe.dc.query.Subscription(g,d,b,a.G),a.L||e.xb());a.na.C(c,e,h=>{h&&(hf(a.za,g,c||olympe.dc.La.jb),a.N.error(`subscription "${g}" failed to subscribe ${h}`))});return e}
723
+ function We(a,b){var c=olympe.dc.La.jb;if(c===olympe.dc.La.jb){const d=ff(a.za,b);a.N.debug('QueryMGR: [ID:',b,'] - Unregistered');hf(a.za,b,c)&&d!==olympe.dc.La.jb&&(c=zc(new olympe.dc.ma(olympe.dc.ma.ra.xl,String(b),[d]),e=>{e&&a.N.error(`Unsubscription of listdef ${b} failed, ${e.message}`)}),a.C.send(c))}else hf(a.za,b,c)}
724
+ function jf(a){const b=olympe.dc.ma.ra.Fn,c=olympe.dc.ma.ra.zk,d=olympe.dc.ma.ra.fo;a.C.C(olympe.dc.ma.ra.Lk,(e,f)=>{kf(a,f,e)});a.C.C(b,(e,f)=>{lf(a,f,e)});a.C.C(c,(e,f)=>{olympe.dc.Wc().rf(f,e)});a.C.C(d,(e,f)=>{mf(a,f,e)});a.C.O((e,f)=>{nf(a,f,e)})}function of(a,b){a.N.log('Received subscribeToAll command');b=b?olympe.D.Ja().vb(b):void 0;const c=new olympe.dc.ma(olympe.dc.ma.ra.ng,null,[olympe.dc.La.dd]);b&&zc(c,b);a.C.send(c)}
725
+ function kf(a,b,c=olympe.dc.La.jb){b.G!==olympe.dc.La.jb?a.N.error(`Graphdefs registered from peers is not supported yet ! (id: ${b.da()})`):a.ca.C(c,b,d=>{d&&a.N.error(`An error occurred during the process of a graphdef result ${b.da()}: ${d.message}`)})}
726
+ function lf(a,b,c=olympe.dc.La.jb){const d=pf(a.za,b.da());0!==d.length&&(1<d.length||d[0]!==olympe.dc.La.jb?a.N.error(`Notification received for graphdefs subscription registered from peers. Not supported yet ! (id: ${b.da()})`):a.V.C(c,b,e=>{e&&a.N.error(`An error occurred during the process of a graphNotification ${b.da()}`)}))}
727
+ function mf(a,b,c=olympe.dc.La.jb){const d=qf(a.za,b.da());1<d.length||d[0]!==olympe.dc.La.jb?a.N.error(`Listdefs registered from peers is not supported yet ! (id: ${b.da()})`):a.ja.C(c,b,e=>{e&&a.N.error(`An error occurred during the process of a listNotification ${b.da()}`)})}
728
+ function nf(a,b,c){a.N.debug('Source event',b,'received for source',c);if(b===olympe.dc.ei.Co){const d=(e,f)=>{f&&a.N.error(`Error after trying to resubscribe to ${e}: ${f}`)};rf(a.za,c).forEach(e=>{pe(a.F,e.da(),d.bind(a,e.da()));a.N.debug(`resubscribing graph subscription ${e.da()} to destination : ${c}`);e=zc(new olympe.dc.ma(olympe.dc.ma.ra.Ph,e,[c]),d.bind(a,e.da()));a.C.send(e)});sf(a.za,c).forEach(e=>{a.N.debug(`resubscribing list subscription ${e.da()} to destination : ${c}`);e=zc(new olympe.dc.ma(olympe.dc.ma.ra.fp,
729
+ e,[c]),d.bind(a,e.da()));a.C.send(e)})}}olympe.dc.query.bt=class{constructor(a,b,c,d,e,f){this.N=a;this.L=b;this.C=c;this.za=d;this.F=e;this.G=new olympe.D.kc('Query Manager context');this.na=f[0];this.O=f[1];this.ca=f[2];this.V=f[3];this.ja=f[4];jf(this)}rb(){return this.N}};olympe.dc.query.Relation=class extends olympe.dc.za.Relation{constructor(a,b,c){super(a,b);this.recursive=c}toJSON(){let a='{ "tag": '+JSON.stringify(this.R())+', ';a+='"direction": '+JSON.stringify(this.Na())+', ';a+='"recursive": '+JSON.stringify(this.recursive);return a+'}'}static $b(a){let b;'string'===typeof a?b=JSON.parse(a):b=a;return new olympe.dc.query.Relation(b.tag,b.direction,b.recursive)}static from(a){return new olympe.dc.query.Relation(a.R(),a.Na(),a instanceof olympe.dc.W.Xb)}xd(){const a=
730
+ olympe.dc.Ka.DESTINATION,b=olympe.dc.Ka.ORIGIN;return new olympe.dc.query.Relation(this.tag,this.direction===a?b:a,this.recursive)}toString(){return`${this.direction}${this.tag}${this.recursive?'-r':''}`}};olympe.dc.query.Subscription=class a extends olympe.D.Ui{constructor(b,c,d,e){super(olympe.dc.Sync,new olympe.D.kc('context subscription '+b,e));this.id=b;this.xe=c;this.W=d||null;this.G=this.O.run(()=>olympe.D.Fd(olympe.dc.query.Subscription.C.INIT));this.Sd=!1;this.ja=this.ke=null}static G(b,c,d){let e;try{e=b;if(c)for(let f=0,g=c.length;f<g;f++)e+='|'+c[f].oa(d);else e+='|null';e=olympe.$.Ac(e)}catch(f){e=olympe.$.Rb()}return e}da(){return this.id}kd(){return this.xe}jf(){return this.W}xb(){const b=
731
+ olympe.dc.Ua(),c=olympe.D.Ta(this.kd());return c?b.Wj(c)?b.source(c)||olympe.dc.La.dd:olympe.dc.La.jb:olympe.dc.La.dd}Mg(){const b=L(this.G);return b&&b.valueOf()>=olympe.dc.query.Subscription.C.ep}Ng(){if(this.G.Sa.Kb())throw Error(`Cannot set destroyed subscription '${this.id}' as subscribed`);const b=this.ke;this.ke=null;for(let c in b)if(Object.prototype.hasOwnProperty.call(b,c))b[c](this);nb(this.G,olympe.D.Fd(olympe.dc.query.Subscription.C.ep))}Ae(){return olympe.D.ya([this.G],()=>{},olympe.D.fa)}V(){const b=
732
+ L(this.G);return b&&b.valueOf()>=olympe.dc.query.Subscription.C.Po}pf(b,c){this.V()?b(this):(null===this.ja&&(this.ja=new Map),void 0===c&&(c=olympe.$.Rb()),this.ja.set(c,olympe.D.Ja().vb(b)));return c||''}Ki(b){null!==this.ja&&b&&this.ja.delete(b)}zd(){const b=olympe.dc.query.Subscription.C.Po;if(!this.G.Sa.Kb()&&olympe.D.Ta(this.G)!==b&&(this.af(),nb(this.G,b),null!==this.ja)){for(const c of this.ja.values())c(this);this.ja=null}}onDestroy(b){this.O.onDestroy(b)}release(){this.O.hb()}gb(b){if(!this.G.Sa.Kb()){for(let c=
733
+ 0,d=b.length;c<d;c++)this.Cl(b[c],c);if(this.V())this.af();else{this.Sd=b=!0;for(let c in this.F)if(Object.prototype.hasOwnProperty.call(this.F,c)&&!Object.prototype.hasOwnProperty.call(this.values,c)){b=!1;break}b&&this.zd()}}}ud(b){const c=this.F;for(let d in c)Object.prototype.hasOwnProperty.call(c,d)&&b(c[d],d)}Qc(b,c){if(!this.G.Sa.Kb()&&(this.Lj(b,olympe.dc.Sync.Qb(c)),b=this.V(),this.Sd&&!b)){b=!0;for(let d in this.F)if(Object.prototype.hasOwnProperty.call(this.F,d)&&!Object.prototype.hasOwnProperty.call(this.values,
734
+ d)){b=!1;break}b&&this.zd()}}fd(b){this.G.Sa.Kb()||(this.Bl(b),this.ki(b,!this.V()))}pg(){return this.V()?super.pg():'Subscription is not ready!'}Be(){const b=olympe.D.Ta(this.kd());return olympe.dc.query.Subscription.F(b,this.jf())}static F(b,c){var d=new olympe.dc.Af(b,olympe.dc.Ld.wg);if(null===c)return[d];b=[];b.push(d);for(let e=0,f=c.length;e<f;e++){const g=c[e];if(g instanceof olympe.dc.W.Db||g instanceof olympe.dc.W.Xb)b.forEach(h=>{const k=olympe.dc.query.Relation.from(g);ue(h,k,k.recursive)});
735
+ else if(g instanceof olympe.dc.W.Ye)d=a.F(olympe.D.Ta(g.kd()),g.jf()),b.push(...d);else if(g instanceof olympe.dc.W.$c||g instanceof olympe.dc.W.td){const h=g.G();b.forEach(k=>{for(const m of h){for(const n of m)ue(k,n,n.recursive);we(k,m.length)}})}}return b}};olympe.dc.query.Subscription.C={INIT:0,ep:1,Po:2};olympe.dc.query.Subscription.prototype.pg.K=olympe.D.J.C;function gf(a,b){return a.F.has(b)?a.F.get(b).F():null}function hf(a,b,c){return tf(a,a.F,b,c)}function ff(a,b){for(const [c,d]of a.G)if(d.has(b))return c;return null}function cf(a,b){return a.C.has(b)?a.C.get(b).F():null}function df(a,b,c,d){const e=b.da();let f=a.C.get(e);void 0===f&&(f=new olympe.dc.query.za.Hr(b,a.L,a),a.C.set(e,f));f.L(c);uf(a,e,d)}function ef(a,b,c){return tf(a,a.C,b,c)}function pf(a,b){return(a=a.C.get(b))?Array.from(a.C.keys()):[]}
736
+ function qf(a,b){return(a=a.F.get(b))?Array.from(a.C.keys()):[]}function rf(a,b){const c=new Set;(a.G.get(b)||new Set).forEach(d=>{(d=a.C.get(d))&&c.add(d.F())});return c}function sf(a,b){const c=new Set;(a.G.get(b)||new Set).forEach(d=>{(d=a.F.get(d))&&c.add(d.F())});return c}function vf(a,b,c){a=a.F.get(b);if(void 0===a)throw Error(`Check if the subscription ${b} has been processed, but it has never been registered`);b=a.G.get(c);a.G.set(c,!0);return b||!1}
737
+ function uf(a,b,c){let d=a.G.get(c);d?d.add(b):(d=(new Set).add(b),a.G.set(c,d))}function wf(a,b,c){var d=olympe.dc.La.jb;const e=b.da();let f=a.F.get(e);void 0===f&&(f=new olympe.dc.query.za.Fs(b,a.L),a.F.set(e,f));f.L(c);uf(a,e,d)}function tf(a,b,c,d){if(!b.has(c))return!1;const e=b.get(c);var f=e.C.get(d)-1;0===f?(e.C.delete(d),e.G.delete(d),f=0===e.C.size):(e.C.set(d,f),f=!1);return f?((d=ff(a,c))&&a.G.get(d).delete(c),e.F().release(),b.delete(c),!0):0===e.C.get(d)}
738
+ function xf(a,b,c){const d=a.C.get(b);d?yf(d,c):a.N.error(`Try to set the subscription ${c.da()} as covered by a graphquery that is not registered (${b}).`)}olympe.dc.query.Ct=class{constructor(a,b){this.N=a;this.C=new Map;this.F=new Map;this.G=new Map;this.L=b}};olympe.dc.Pc=class{ia(){}Mb(){}getTransform(){}oa(){}toString(){}};olympe.dc.Oo=class{G(){}};olympe.dc.ve=class{ia(){}F(){}C(){}oa(){}toString(){}};olympe.dc.query.T={Ha:'olympe.dc.query.Logger',ta:'olympe.dc.query.QueryManager'};olympe.dc.query.hc={Jf:'olympe.dc.query.SubscriptionRegistry',tk:'olympe.dc.query.CallbackRegistry',Hn:'olympe.dc.query.GraphProcessor',Gn:'olympe.dc.query.GraphNotificationProcessor',In:'olympe.dc.query.GraphResultProcessor',ho:'olympe.dc.query.ListProcessor',mj:'olympe.dc.query.ListNotificationProcessor'};olympe.dc.query.Z={gp:'subscription.debug'};
739
+ olympe.U.Ib(function(a){D(a,olympe.dc.query.Z.gp,!1);B(a,olympe.dc.query.T.Ha,[olympe.ua.T.ta],b=>b.Gc('dc.query'));y(a,olympe.dc.query.hc.Jf,olympe.dc.query.Ct,olympe.dc.query.T.Ha,new olympe.U.ha(olympe.dc.query.Z.gp));y(a,olympe.dc.query.hc.tk,olympe.dc.query.jr,olympe.dc.query.T.Ha);y(a,olympe.dc.query.hc.ho,olympe.dc.query.Nb.oo,olympe.dc.query.T.Ha,olympe.dc.T.Yg,olympe.dc.query.hc.Jf,olympe.dc.transaction.T.ta,new olympe.U.ha(olympe.dc.Z.xg));y(a,olympe.dc.query.hc.Hn,olympe.dc.query.Nb.Mn,
740
+ olympe.dc.query.T.Ha,olympe.dc.query.hc.Jf,new olympe.U.ha(olympe.dc.Z.xg));y(a,olympe.dc.query.hc.In,olympe.dc.query.Nb.Nn,olympe.dc.query.T.Ha,olympe.dc.query.hc.Jf,olympe.dc.query.hc.tk);y(a,olympe.dc.query.hc.Gn,olympe.dc.query.Nb.Ln,olympe.dc.query.T.Ha,olympe.dc.query.hc.Jf);y(a,olympe.dc.query.hc.mj,olympe.dc.query.Nb.no,olympe.dc.query.T.Ha,olympe.dc.T.Yg,olympe.dc.query.hc.Jf);B(a,olympe.dc.query.T.ta,[olympe.dc.query.T.Ha,new olympe.U.ha(olympe.dc.Z.xg),olympe.dc.T.se,olympe.dc.query.hc.Jf,
741
+ olympe.dc.query.hc.tk,olympe.dc.query.hc.ho,olympe.dc.query.hc.Hn,olympe.dc.query.hc.In,olympe.dc.query.hc.Gn,olympe.dc.query.hc.mj],(b,c,d,e,f,g,h,k,m,n)=>new olympe.dc.query.bt(b,c,d,e,f,[g,h,k,m,n]))});olympe.U.run([olympe.dc.query.hc.Jf],a=>{window.subscriptions=a});olympe.dc.query.za={};function zf(){const a=Error.stackTraceLimit;Error.stackTraceLimit=16;let b=Error().stack||'';b=b.split('\n').map(d=>d.trim());var c='Error'===b[0]?2:1;b=b.slice(c,Error.stackTraceLimit+c).reverse();c=[];for(const d of b)if(c.push(' '+d),d.includes('at ListDef.')||d.includes('at GraphDef.'))break;Error.stackTraceLimit=a;3<c.length&&(c=c.slice(c.length-3));return c.join('\n')||b.join('\n')}
742
+ olympe.dc.query.za.op=class{constructor(a,b){this.C=new Map;this.G=new Map;this.O=a;this.ca=b}F(){}L(a){var b=this.C.get(a);this.C.set(a,void 0!==b?b+1:1);b=this.G.get(a);this.G.set(a,void 0!==b?b:!1)}};function yf(a,b){const c=b.da();a.V.set(c,b);olympe.D.Ja().onDestroy(()=>{a.V.delete(c)})}olympe.dc.query.za.Hr=class extends olympe.dc.query.za.op{constructor(a,b,c){super(a,b);this.za=c;this.V=new Map;b&&zf()}F(){return this.O}};olympe.dc.query.za.Fs=class extends olympe.dc.query.za.op{constructor(a,b){super(a,b);this.V=new Map}F(){return this.O}L(a){super.L(a);if(this.ca){const b='md_'+olympe.$.Rb();this.V.set(b,zf());olympe.D.Ja().onDestroy(()=>{this.V.delete(b)})}}};olympe.dc.query.Nb={};olympe.dc.query.Nb.Ln=class{constructor(a,b){this.N=a;this.za=b}C(a,b,c){const d=b.da();this.za.C.has(d)?(cf(this.za,d).ja(b),olympe.dc.Wc().rf(b.F(),a),c(null,b)):c(Error(`Received a notification for the graphdef ${d} which does not exist.`),b)}};olympe.dc.query.Nb.Ln.ka=[olympe.dc.Te];olympe.dc.query.Nb.Mn=class{constructor(a,b,c){this.N=a;this.za=b;this.F=c}C(a,b,c){var d=b.da();if(a===olympe.dc.La.jb||this.za.C.has(d)){if(c(null,b),a=cf(this.za,d),this.F||a&&a.G)a=olympe.dc.La.jb,d=new olympe.dc.query.Rh(d,a,a,new olympe.dc.db.Dc),kf(olympe.dc.Ah(),d)}else c(Error('The local Graph Engine is not implemented yet. It should handle Graphdefs addressed to instances owned by this local OVM'),b)}};olympe.dc.query.Nb.Mn.ka=[olympe.dc.Te];olympe.dc.query.Nb.Nn=class{constructor(a,b,c){this.N=a;this.F=b;this.G=c}C(a,b,c){const d=b.da();if(this.F.C.has(d)){const f=cf(this.F,d);if(b instanceof olympe.dc.query.si.gj)ef(this.F,d,a);else if(!f.G){f.ca(b);const g=olympe.dc.Wc();Qc(g,f.O());g.rf(b.F(),b.G);f.onDestroy(()=>{Qc(g,void 0,f.O())});Le(f)}}let e;b instanceof olympe.dc.query.si.gj&&(e=`graph subscription "${d}" failed to create the initial result: ${b.ja()}`,this.N.error(e));re(this.G,b.da(),b);c(e?Error(e):null,b)}};
743
+ olympe.dc.query.Nb.Nn.ka=[olympe.dc.Te];const Af=[],Bf=new Map;function Cf(a,b,c,d){wc(a.db,d,e=>{e?b.Zf(c)?a.N.warn('Adding the same index twice (should never happen) for sub #'+b.da()+', index #'+c+', tag #'+d):b.Qc(c,d):Df(a,b,c,d)},c)}function Df(a,b,c,d){xc(a.db,d,c,!0);b.fd(c);Af.length=0;b.ud(function(e,f){Af[e]=f});c=a=0;for(d=Af.length;a<d;a++)'string'===typeof Af[a]&&(Af[c++]=Af[a]);Af.length=c;b.gb(Af)}
744
+ olympe.dc.query.Nb.no=class{constructor(a,b,c){this.N=a;this.db=b;this.za=c}C(a,b,c){const d=b.da();a=b.C;const e=gf(this.za,d);if(null===e)c(Error(`Received list notification for undefined subscription "${d}"`),b);else{Af.length=a.length;e.ud((f,g)=>{if(f=e.Fg(g)){f=f.R();var h=Bf.get(f);void 0===h?Bf.set(f,g):'string'===typeof h?Bf.set(f,[h,g]):h.push(g)}else this.N.warn('Subscription #'+d+' has a rank for index #'+g+' but no instance. This is caused by receiving a new list notification before receiving all instances of the previous list notification.')});
745
+ for(let f=0,g=a.length;f<g;f++){const h=a[f];let k=Bf.get(h);void 0===k?(k=olympe.$.Rb(),Cf(this,e,k,h)):'string'===typeof k?Bf.delete(h):(k=k.pop(),0===k.length&&Bf.delete(h));Af[f]=k}for(const [f,g]of Bf){if('string'===typeof g)Df(this,e,g,f);else for(let h=0,k=g.length;h<k;h++)Df(this,e,g[h],f);Bf.delete(f)}e.gb(Af);c(null,b)}}};olympe.dc.query.Nb.no.ka=[olympe.dc.Te];function Ef(a,b,c,d){const e=c.da();a.N.debug('ListProcessor: [ID:',e,'] - processing with source ',b);wf(a.za,c,b);if(vf(a.za,e,olympe.dc.La.jb))a.N.debug('ListProcessor: [ID:',e,'] - id already processed');else{a.N.debug('ListProcessor: [ID:',e,'] - NOT processed yet.');const f=c.xb();a.F||f===olympe.dc.La.jb?(a.N.debug('QueryMGR: [ID:',e,'] - Local subscription, no need for coverage check, booting subscription '),Ff(a,c)):c.fh().run(()=>{const g=[c.kd()],h=m=>m instanceof olympe.dc.W.Ye,k=(c.jf()||
746
+ []).filter(h);for(const m of k)g.push(m.kd()),k.push(...(m.jf()||[]).filter(h));ne(a.G,()=>{olympe.D.rc(g,()=>{Gf(a,c,(m,n)=>{m?Ff(a,c):a.N.error(n)})})})})}b===olympe.dc.La.jb||vf(a.za,e,b)||a.notify(b,c);d(null,c)}
747
+ function Ff(a,b){if(b.V())a.N.debug('ListProcessor: [ID:',b.da(),'] - Subscription already booted, ignoring');else{a.N.debug('ListProcessor: [ID:',b.da(),'] - Booting subscription');var c=new olympe.dc.fc.np(a.db,a.N),d=Hf(a,b,c),e=b.da();b.fh().run(()=>{olympe.D.rc([b.kd()],f=>{const g=olympe.dc.Da(f);a.N.debug('ListProcessor: [ID:',b.da(),'] - Booting with baseTag',g);b.Mg()||b.Ng();wc(a.db,g,h=>d(h,g),e);olympe.D.Ja().Sc(()=>xc(a.db,g,e));a.db.Fb(g.valueOf())||If(c);b.V()||(If(c),b.gb([]))})})}}
748
+ function Gf(a,b,c){var d=b.xb();const e=b.da(),f=Array.from(rf(a.za,d));d=b.Be();a.N.debug('ListProcessor: [ID:',e,'] - checking coverage of remote subscription over',d.length,'paths.');const g=new olympe.async.Ff(olympe.D.Ja()),h=k=>{g.add((m,n)=>{k.wd(p=>{p?n(`The subscription ${e} is not covered by an existing graphdef, `+`and the specific graphdef id ${k.da()} has encountered an error: ${p}`):m()});xf(a.za,k.da(),b)})};d.forEach(k=>{const m=Ce(k);let n=!1;for(let p=0,q=f.length;p<q;p++){const r=
749
+ f[p];if(r.Up(m,e)){h(r.Lg,!1);n=!0;break}}n?a.N.debug('ListProcessor: [ID:',b.da(),'] - graphPath',k,' is covered'):h(k,!0)});Ab(g,c);g.start()}
750
+ function Hf(a,b,c){const d=new olympe.dc.fc.Xi;let e=!1;const f=b.fh(),g=b.jf(),h=[];h[g?g.length:0]=f.vb((k,m,n,p)=>{f.Vd()||f.Kb()||(k?b.Zf(n)?a.N.warn('Adding the same index twice (should never happen) for sub #',b.da(),', index #',n,', tag #',m):(a.N.debug('ListProcessor: [ID:',b.da(),'] - Adding Instance',m,'to the subscription'),b.Qc(n,m)):(a.N.debug('ListProcessor: [ID:',b.da(),'] - Removing Instance',m,'from the subscription'),b.fd(n)),e||(Jf(c,()=>{p.Mf();If(c)}),p.lc().fg(b.gb.bind(b)),
751
+ e=!0),Kf(c,n))});if(null!==g){const k=olympe.dc.lc();for(let m=g.length-1;0<=m;m--)h[m]=f.vb(g[m].getTransform(k,c,h[m+1]))}return(k,m)=>{const n=b.da();c.register(n,null);const p=d.C(k,m,n,null);if(null!==p)h[0](k,m,n,Lf(p,k,m,n))}}
752
+ olympe.dc.query.Nb.oo=class{constructor(a,b,c,d,e){this.N=a;this.db=b;this.za=c;this.G=d;this.F=e}C(a,b,c){Ef(this,a,b,c)}notify(a,b){const c=b.da();this.N.debug(`Register notification of list subscription ${c} for destination ${a}`);const d=()=>{const f=new olympe.dc.query.mo(c);b.jd(g=>f.F(g));mf(olympe.dc.Ah(),f)};let e=!1;b.forEach(()=>{e&&d()});b.pf(()=>{e=!0;d()})}};olympe.dc.query.Nb.oo.ka=[olympe.dc.Te];olympe.dc.query.si={};olympe.dc.query.si.gj=class extends olympe.dc.query.Rh{constructor(a,b,c,d){super(a,b,c,new olympe.dc.db.Dc);this.error=d}ja(){return this.error}};olympe.dc.fc={};function Lf(a,b,c,d){b?a.O[d]=c:delete a.O[d];null===a.F&&(a.F=new olympe.dc.fc.bj(a.C,a));return a.F}function Mf(a,b){for(let c=0;c<b;c++)if(null!==a.F)a=a.F;else break;return a}function Nf(a,b){a=a.O;if(null!==a)for(let c in a)Object.prototype.hasOwnProperty.call(a,c)&&b.push(c)}olympe.dc.fc.bj=class{constructor(a,b){this.C=a;this.ca=b?b.ca+1:0;this.O=Object.create(null);this.F=null}lc(){return this.C}Mf(){this.C.O()?this.C.G():this.C.ca(this.ca-1)}};olympe.dc.fc.qa=class{constructor(){}C(){}O(){}ca(){}G(){}fg(){}};olympe.dc.fc.Xi=class{constructor(){this.V=this.L=this.index=this.F=null}O(){return null!==this.F}ca(a){if(null!==this.F)throw Error('Manager already activated (depth='+this.F+')');this.F=a;this.G()}C(a,b,c){b=this.L;if(a&&null!==b)throw Error('The AutoManger handles only a single item.');a?(b=new olympe.dc.fc.bj(this),this.index=c,this.L=b):this.L=this.index=null;return b}G(){if(null===this.F)throw Error('Manager not activated, need to set a depth before updating ranks');if(null!==this.V){const a=
753
+ [];null!==this.L&&(0<=this.F?Nf(Mf(this.L,this.F),a):a.push(this.index));this.V(a)}}fg(a){this.V=a}};olympe.dc.fc.Xi.ka=[olympe.dc.fc.qa];function Of(a,b){olympe.D.mf(a.value)?(a.node=olympe.D.ck(a.value,b),Sa(a.node)||b()):b()}function Pf(a,b){if(olympe.D.mf(a.value)){const c=olympe.D.Ja(),d=a.L;olympe.D.rc([a.value],e=>{d!==e.valueOf()&&(c.run(()=>Of(a,b)),olympe.D.Ja().hb())})}}
754
+ class Qf extends olympe.dc.fc.bj{constructor(a,b,c){super(a);this.index=b;this.value=c;this.L=this.Ta();this.position=this.node=null;this.V=!1;this.G=null}Ta(){const a=olympe.D.Ta(this.value);return a?a.valueOf():a}hb(){this.node&&(this.node.hb(),this.node=null);this.G=this.value=null}Kb(){return null===this.value}}
755
+ function Rf(a,b){if(!b.Kb()){var c=a.F;var d=a.xa,e=b.Ta(),f=0;let g=c.length,h=0,k;for(null!==b.position&&--g;g>f;){h=Math.floor((f+g)/2);k=d(c[h].L,e);if(0===k||2>g-f){0>k&&null!==b.position&&b.position<=h&&(k=d(c[g].L,e));h=0>k?g:h;break}0>k?f=h:g=h}c=h;b.L=b.Ta();if(c!==b.position){d=a.F;e=d.length;f=b.position;null===f&&(f=e);if(c<f)for(e=f;e>c;e--)d[e]=d[e-1],d[e].position=e;else for(e=f;e<c;e++)d[e]=d[e+1],d[e].position=e;d[c]=b;d[c].position=c;b.V&&a.G()}}}
756
+ function Sf(a){const b=a.xa;a.F.sort((c,d)=>b(c.Ta(),d.Ta()))}
757
+ olympe.dc.fc.mp=class{constructor(a){this.xa=a;this.L=null;this.F=[];this.V=[];this.ja=null;this.na=new Map}C(a,b,c,d){b='$'+c;const e=this.F;let f;if(a)f=new Qf(this,c,d),this.na.set(b,f),this.O()?Of(f,()=>Rf(this,f)):(f.position=e.length,e.push(f));else{f=this.na.get(b);if(void 0===f)throw Error('Trying to remove an non-registered item: "'+c+'"');this.na.delete(b);null!==f.position&&(this.O()?this.remove(f):delete e[f.position]);f.hb()}return f}O(){return null!==this.L}ca(a){if(null!==this.L)throw Error('Manager already activated (depth='+
758
+ this.L+')');this.L=a;Sf(this);for(let b=0,c=this.F.length;b<c;b++){const d=this.F[b];d.position=b;Pf(d,()=>Rf(this,d))}this.G()}G(){if(null===this.L)throw Error('Manager not activated, need to set a depth before updating ranks');const a=this.F.length;this.V.length=0;for(let d=0;d<a;d++){let e=this.F[d];if(!e.V){var b=e,c=this.L;b.V=!0;b.G=Mf(b,c)}0>this.L?this.V.push(e.index):e.G&&Nf(e.G,this.V)}this.ja&&this.ja(this.V)}fg(a){this.ja=a}remove(a){const b=this.F,c=b.length-1;if(null!==a.position){for(a=
759
+ a.position;a<c;a++)b[a]=b[a+1],b[a].position=a;b.length=c}}};olympe.dc.fc.mp.ka=[olympe.dc.fc.qa];class Tf extends olympe.dc.fc.bj{constructor(a,b,c){super(a);this.index=b;this.tag=c;this.ja=this.V=this.L=!1;this.G=null}}
760
+ function Uf(a,b,c,d,e){const f=Object.create(null),g=a.xa,h=a.L;let k,m,n;a.na=!0;m=0;for(n=g.length;m<n;m++)f[g[m]]=null;g.length=0;m=c;for(n=Math.min(b.length,d);m<n;m++)k=b[m],c=h[k],void 0!==c&&(delete f[k],g.push(k),c.L||(c.L=!0,e(!0,c.tag,c.index,c)));for(k in f)Object.prototype.hasOwnProperty.call(f,k)&&(c=h[k],c.L&&(c.L=!1,e(!1,c.tag,c.index,c)),c.V&&(c.G=null,delete h[k]),delete f[k]);a.na=!1;null!==a.F&&a.G()}
761
+ olympe.dc.fc.bl=class{constructor(){this.L={};this.xa=[];this.F=null;this.na=!1;this.V=[];this.ja=null}O(){return null!==this.F}ca(a){if(null!==this.F)throw Error('Manager already activated (depth='+this.F+')');this.F=a;this.G()}G(){if(null===this.F)throw Error('Manager not activated, need to set a depth before updating ranks');if(!this.na){var a=this.xa,b=a.length,c=this.L,d;for(d=this.V.length=0;d<b;d++){var e=c[a[d]];if(0>this.F)this.V.push(e.index);else{if(!e.ja){var f=e,g=this.F;f.ja=!0;f.G=
762
+ Mf(f,g)}null!==e.G&&Nf(e.G,this.V)}}this.ja&&this.ja(this.V)}}fg(a){this.ja=a}C(a,b,c){let d=this.L[c];a?void 0===d?(d=new Tf(this,c,b),this.L[c]=d):(d.tag=b,d.V=!1):void 0!==d&&(d.V=!0);return d}};olympe.dc.fc.bl.ka=[olympe.dc.fc.qa];function If(a){if(!a.F){for(let b in a.G)Vf(a.G[b]);a.F=!0}a.L=null;a.O=null}function Jf(a,b,c){a.G[c||'root'].V=b}function Kf(a,b,c){a.G[c||'root'].Mf(b)}function Wf(a,b,c,d){const e=a.O,f=b+d+c;let g=e[f];void 0===g&&(g=Gd(a.db,b,c,d),e[f]=g);return g}function Xf(a,b){a.F||a.C.Mf(b)}function Yf(a,b,c,d,e){if(!a.F){let f=Wf(a,c,d,e||olympe.dc.Ka.DESTINATION);e||(f+=Wf(a,c,d,olympe.dc.Ka.ORIGIN));0===f&&Xf(a,b)}}
763
+ function Zf(a,b){const c=a.G[b];void 0!==c?(a.N&&a.N.debug('Set current block to',b,null!==c.G?'parent = '+c.G.da():''),a.C=c):a.N&&a.N.error('Try to set a block that does not exists:',b)}function $f(a){const b=String(++a.V),c=a.C;a.G[b]=new ag(b,c);bg(c,b);c.L||(c.L=()=>Zf(a,c.da()));return b}function cg(a,b){const c=a.C;a.C.L=()=>{Zf(a,c.da());b()}}function dg(a,b){Vf(b?a.G[b]:a.C)}
764
+ olympe.dc.fc.np=class{constructor(a,b){this.db=a;this.N=b||null;this.L=Object.create(null);this.O=Object.create(null);this.F=!1;this.V=0;this.C=new ag('root');this.G=Object.create(null);this.G.root=this.C}register(a,b,c,d,e){this.F||(null!==b&&c&&d&&e?(c=Wf(this,c,d,e),d=this.L[b]||0,this.L[b]=++d,this.C.C===b&&c<=d&&(this.C.C=a)):this.C.C=a)}};function bg(a,b){null===a.F&&(a.F=Object.create(null));a.F[b]=!1}function Vf(a){a.O=!0;null!==a.G&&a.G.notify(a.id)}
765
+ class ag{constructor(a,b){this.id=a;this.G=b||null;this.C=this.V=this.L=this.F=null;this.O=!1}da(){return this.id}Mf(a){const b=this.V;if(this.O||this.C===a||null===a)b&&b(),!b&&Vf(this)}notify(a){const b=this.L,c=this.F;if(this.O)b&&b();else if(!c[a]){a=c[a]=!0;for(let d in c)if(!c[d]){a=!1;break}a&&b&&b()}}};olympe.dc.ga={};olympe.dc.ga.We=class{ia(){return O(olympe.dc.ga.We)}C(){return[]}F(a,b){return b}oa(){return'{"c":"'+this.ia()+'","a":[]}'}toString(){return'Tag()'}};N('olympe.dc.valuedefs.Tag',olympe.dc.ga.We);olympe.dc.ga.We.ka=[olympe.dc.ve];olympe.dc.ga.Tc=class{constructor(a){this.value=a}ia(){return O(olympe.dc.ga.Tc)}C(){return[]}F(){return this.value}oa(a){a=bf(a,this.value);return`{"c":"${this.ia()}","a":[${a}]}`}toString(){return`Constant(${af(this.value)})`}};N('olympe.dc.valuedefs.Constant',olympe.dc.ga.Tc);olympe.dc.ga.Tc.ka=[olympe.dc.ve];function eg(a,b,c,d){const e=olympe.dc.Ua(),f=new olympe.dc.fc.Xi,g=new olympe.dc.fc.np(e);let h=!1;const k=Object.create(null),m=r=>{if(0<r.length)for(const t in k)r[0]===t&&d(k[t])};let n=(r,t,v,u)=>{const x=olympe.D.Ja();x.Vd()||x.Kb()||(h||(Jf(g,()=>{u.Mf();If(g)}),u.lc().fg(m),h=!0),r?k[v]=t:delete k[v],Kf(g,v))};const p=olympe.D.Ja();if(null!==c)for(let r=c.length-1;0<=r;r--)n=c[r].getTransform(a,g,p.vb(n));n=p.vb(n);const q=olympe.$.Rb();wc(e,b,(r,t)=>{g.register(q,null);const v=f.C(r,b,q,
766
+ null);n(r,t,q,Lf(v,r,b,q))},q);p.onDestroy(()=>{xc(e,b,q)});e.Fb(b)||If(g)}function fg(a,b,c){const d=c.node,e=olympe.dc.Ua(),f=a.L(),g=yd(e,b,a.O,d.vb(h=>{null!==h&&(h=f(h));null===h?c.clear():c.update(h)}));d.onDestroy(()=>e.G(b,a.O,g))}
767
+ olympe.dc.ga.Cc=class{constructor(a,b,c){this.O=a&&a.R?a.R():a;this.W=b&&b.filter(d=>d instanceof olympe.dc.W.Db||d instanceof olympe.dc.W.Xb)||null;this.G=c||null;this.defaultValue=null}ia(){}Mb(){}L(){}C(){return(this.W||[]).reduce((a,b)=>a.concat(olympe.dc.query.Relation.from(b)),[])}Je(a){this.defaultValue=a;return this}jf(){return this.W}kd(){return this.G}F(a,b){const c=olympe.D.Ic(this.Mb()||Object,'AbstractProperty valueType');null!==this.defaultValue&&ob(c,this.defaultValue);b=this.G||b;
768
+ null!==this.W?eg(a,b,this.W,d=>{fg(this,d,c)}):fg(this,b,c);return c.yb()}oa(a){const b=bf(a,this.O),c=bf(a,this.G);let d='null';this.W&&(d=this.W.map(function(e){return e.oa(a)}).join(','));return`{"c":"${this.ia()}","a":["${b}",${d},${c}]}`}toString(){const a=af(this.O),b=this.G?','+af(this.G):'';let c='';this.W&&(c=','+this.W.join(','));return this.ia().replace(/^.+\./,'')+'('+a+c+b+')'}};olympe.dc.ga.Cc.ka=[olympe.dc.ve];olympe.dc.ga.Od=class extends olympe.dc.ga.Cc{constructor(a,b,c){super(a,b,c)}ia(){return O(olympe.dc.ga.Od)}L(){return olympe.dc.$.Eb.Il}Mb(){return olympe.D.ea}};N('olympe.dc.valuedefs.NumberProperty',olympe.dc.ga.Od);olympe.dc.ga.Rd=class extends olympe.dc.ga.Cc{constructor(a,b,c){super(a,b,c)}ia(){return O(olympe.dc.ga.Rd)}L(){return olympe.dc.$.Eb.Jl}Mb(){return olympe.D.Oa}};N('olympe.dc.valuedefs.StringProperty',olympe.dc.ga.Rd);olympe.dc.ga.Yd=class extends olympe.dc.ga.Cc{constructor(a,b,c){super(a,b,c)}ia(){return O(olympe.dc.ga.Yd)}L(){return olympe.dc.$.Eb.Gl}Mb(){return olympe.D.fa}};N('olympe.dc.valuedefs.BooleanProperty',olympe.dc.ga.Yd);olympe.dc.ga.Jd=class extends olympe.dc.ga.Cc{constructor(a,b,c){super(a,b,c)}ia(){return O(olympe.dc.ga.Jd)}L(){return olympe.dc.$.Eb.Hl}Mb(){return olympe.D.ab}};N('olympe.dc.valuedefs.DateTimeProperty',olympe.dc.ga.Jd);olympe.dc.ga.rg=class{constructor(a){this.Ke=a&&a.R?a.R():a}ia(){return O(olympe.dc.ga.rg)}C(){return[]}F(a,b){a=new olympe.dc.pa(b,olympe.dc.Sync.F,olympe.dm.ub);b=new olympe.dc.pa(b,olympe.dc.Sync.Ea,olympe.dm.User);const c=a.transform(olympe.dm.ub.L);c.cd(olympe.dm.Ia);const d=new olympe.dc.pa(this.Ke,[olympe.dm.User.C,olympe.dm.Hb.G],olympe.dm.Ia),e=olympe.D.createNode(Number);let f=!1;c.pf(()=>{d.pf(()=>{let g=0;c.jd(h=>{d.jd(k=>{h.R()===k.R()&&(g|=L(k.Wf()).valueOf())})});J(e,g);f=!0})});c.forEach(g=>
769
+ {d.forEach(h=>{f&&g.R()===h.R()&&J(e,e.Jc.valueOf()|L(h.Wf()).valueOf())})});return olympe.D.Wd([this.Ke,b.me(0),a.zc(),e],(g,h,k,m)=>0===k.valueOf()?h&&g===h.R()?olympe.dm.Ia.C.yn:olympe.dm.Ia.C.NONE:m)}oa(a){a=bf(a,this.Ke);return'{"c":"'+this.ia()+'","a":["'+a+'"]}'}toString(){const a=af(this.Ke);return this.ia().replace(/^.+\./,'')+'('+a+')'}};N('olympe.dc.valuedefs.Permission',olympe.dc.ga.rg);olympe.dc.ga.rg.ka=[olympe.dc.ve];olympe.dc.ga.Cm=class{constructor(a,b){if(olympe.D.mf(a))throw Error('Dataflows of Property not supported by AnyProperty');const c=a.R(),d=olympe.dc.Ua().pc(a,olympe.dm.Property.typeRel);if(!d)throw Error('Type of property '+a+'unavailable locally, cannot proceed with AnyProperty');a=null;switch(d){case olympe.dm.String.P.R():a=new olympe.dc.ga.Rd(c,b);break;case olympe.dm.Number.P.R():a=new olympe.dc.ga.Od(c,b);break;case olympe.dm.Boolean.P.R():a=new olympe.dc.ga.Yd(c,b);break;case olympe.dm.DateTime.P.R():a=
770
+ new olympe.dc.ga.Jd(c,b)}this.G=a}ia(){return this.G.ia()}C(){return this.G.C()}F(a,b){return this.G.F(a,b)}oa(a){return this.G.oa(a)}toString(){return this.G.toString()}};olympe.dc.ga.Cm.ka=[olympe.dc.ve];olympe.dc.tb={};olympe.dc.tb.Number=class{constructor(a){this.C=a}ia(){return O(olympe.dc.tb.Number)}O(){return this.C.C()}L(a,b){return this.C.F(a,b)}G(a,b){return a!==b?a>b?1:-1:0}oa(a){return`{"c":"${this.ia()}",a:[${this.C.oa(a)}]}`}toString(){return`Number(${this.C.toString()})`}};N('olympe.dc.comparators.Number',olympe.dc.tb.Number);olympe.dc.tb.Number.ka=[olympe.dc.pe];olympe.dc.tb.String=class{constructor(a){this.C=a}ia(){return O(olympe.dc.tb.String)}O(){return this.C.C()}L(a,b){return olympe.D.ya([this.C.F(a,b)],c=>c.toLowerCase(),olympe.D.Oa)}G(a,b){return void 0===a?void 0===b?0:1:a!==b?a>b?1:-1:0}oa(a){return`{"c":"${this.ia()}",a:[${this.C.oa(a)}]}`}toString(){return`String(${this.C.toString()})`}};N('olympe.dc.comparators.String',olympe.dc.tb.String);olympe.dc.tb.String.ka=[olympe.dc.pe];olympe.dc.tb.DateTime=class{constructor(a){this.C=a}ia(){return O(olympe.dc.tb.DateTime)}O(){return this.C.C()}L(a,b){return this.C.F(a,b)}G(a,b){if(!a)return b?-1:0;if(!b)return 1;a=a.getTime();b=b.getTime();return a!==b?a>b?1:-1:0}oa(a){return'{"c":"'+this.ia()+'",a:['+this.C.oa(a)+']}'}toString(){return'Number('+this.C.toString()+')'}};N('olympe.dc.comparators.DateTime',olympe.dc.tb.DateTime);olympe.dc.tb.DateTime.ka=[olympe.dc.pe];let gg=0;olympe.dc.tb.ig=class{constructor(){this.id=gg++}ia(){return'CustomLocalComparator#'+gg}O(){return[]}L(){throw Error('GetComparedValue function was not implemented.');}G(){throw Error('Compare function was not implemented.');}oa(){return`{"c":"${this.ia()}"}`}toString(){return this.ia()+'()'}};olympe.dc.tb.ig.ka=[olympe.dc.pe];olympe.dc.ba={};olympe.dc.ba.qe=class{constructor(a){this.G=a}ia(){return O(olympe.dc.ba.qe)}F(){return this.G.F()}C(a,b){return olympe.D.ck(this.G.C(a,b),c=>!c.valueOf())}oa(a){return`{"c":"${this.ia()}","a":[${this.G.oa(a)}]}`}toString(){return'Not('+this.G.toString()+')'}};N('olympe.dc.predicates.Not',olympe.dc.ba.qe);olympe.dc.ba.qe.ka=[olympe.dc.Wb];olympe.dc.ba.kg=class{constructor(a){this.ba=[];for(let b=arguments.length,c=0;c<b;c++)Array.isArray(arguments[c])?this.ba=this.ba.concat(arguments[c]):this.ba.push(arguments[c])}ia(){return O(olympe.dc.ba.kg)}F(){return this.ba.reduce((a,b)=>a.concat(b.F()),[])}C(a,b){return olympe.D.Wd(this.ba.map(c=>c.C(a,b)),function(){for(let c=arguments.length,d=0;d<c;d++)if(!arguments[d].valueOf())return!1;return!0})}oa(a){const b=this.ba.map(c=>c.oa(a));return'{"c":"'+this.ia()+'","a":['+b.join(',')+']}'}toString(){return'And('+
771
+ this.ba.map(a=>a.toString()).join(',')+')'}};N('olympe.dc.predicates.And',olympe.dc.ba.kg);olympe.dc.ba.kg.ka=[olympe.dc.Wb];olympe.dc.ba.qg=class{constructor(a){this.ba=[];for(let b=arguments.length,c=0;c<b;c++)Array.isArray(arguments[c])?this.ba=this.ba.concat(arguments[c]):this.ba.push(arguments[c])}ia(){return O(olympe.dc.ba.qg)}F(){return this.ba.reduce((a,b)=>a.concat(b.F()),[])}C(a,b){return olympe.D.Wd(this.ba.map(c=>c.C(a,b)),function(){for(let c=arguments.length,d=0;d<c;d++)if(arguments[d].valueOf())return!0;return!1})}oa(a){const b=this.ba.map(c=>c.oa(a));return'{"c":"'+this.ia()+'","a":['+b.join(',')+']}'}toString(){return'Or('+
772
+ this.ba.map(a=>a.toString()).join(',')+')'}};N('olympe.dc.predicates.Or',olympe.dc.ba.qg);olympe.dc.ba.qg.ka=[olympe.dc.Wb];olympe.dc.ba.ik=class{constructor(a,b){this.G=a;this.L=b}ia(){}F(){return[this.G.C(),this.L.C()]}C(a,b){return olympe.D.Wd([this.G.F(a,b),this.L.F(a,b)],(c,d)=>this.O(Number(c.valueOf()),Number(d.valueOf())))}O(){}oa(a){return'{"c":"'+this.ia()+'","a":['+this.G.oa(a)+','+this.L.oa(a)+']}'}toString(){return this.ia().replace(/^.+\./,'')+'('+this.G.toString()+','+this.L.toString()+')'}};olympe.dc.ba.ik.ka=[olympe.dc.Wb];olympe.dc.ba.qd=class{constructor(a,b){this.G=a;this.L=b}ia(){return O(olympe.dc.ba.qd)}F(){return[this.G.C(),this.L.C()]}C(a,b){return olympe.D.ya([this.G.F(a,b),this.L.F(a,b)],(c,d)=>'object'===typeof c&&void 0!==c.yd?c.yd(d):'object'===typeof d&&void 0!==d.yd?d.yd(c):olympe.D.qc(c.valueOf()===d.valueOf()),olympe.D.fa,'Test equal predicate')}oa(a){return'{"c":"'+this.ia()+'","a":['+this.G.oa(a)+','+this.L.oa(a)+']}'}toString(){return'Equals('+this.G.toString()+','+this.L.toString()+')'}};
773
+ N('olympe.dc.predicates.Equals',olympe.dc.ba.qd);olympe.dc.ba.qd.ka=[olympe.dc.Wb];olympe.dc.ba.ur=class extends olympe.dc.ba.qd{constructor(a,b){super(a,new olympe.dc.ga.Tc(b))}};olympe.dc.ba.ur.ka=[olympe.dc.Wb];olympe.dc.ba.ae=class extends olympe.dc.ba.ik{constructor(a,b){super(a,b)}ia(){return O(olympe.dc.ba.ae)}O(a,b){return a>b}};N('olympe.dc.predicates.Greater',olympe.dc.ba.ae);olympe.dc.ba.he=class extends olympe.dc.ba.ik{constructor(a,b){super(a,b)}ia(){return O(olympe.dc.ba.he)}O(a,b){return a<b}};N('olympe.dc.predicates.Smaller',olympe.dc.ba.he);olympe.dc.ba.Id=class{constructor(a,b,c){this.source=a;this.value=b;this.G=c?c:!1}ia(){return O(olympe.dc.ba.Id)}F(){return[this.source.C(),this.value.C()]}C(a,b){return olympe.D.ya([this.source.F(a,b),this.value.F(a,b),this.G],(c,d,e)=>{c=String(c);d=String(d);e.valueOf()||(c=c.toLowerCase(),d=d.toLowerCase());return olympe.D.qc(c.includes(d))},olympe.D.fa)}oa(a){const b=this.source.oa(a),c=this.value.oa(a);a=bf(a,this.G);return'{"c":"'+this.ia()+'","a":['+b+','+c+','+a+']}'}toString(){const a=af(this.G);
774
+ return'Contains('+this.source.toString()+','+this.value.toString()+','+a+')'}};N('olympe.dc.predicates.Contains',olympe.dc.ba.Id);olympe.dc.ba.Id.ka=[olympe.dc.Wb];olympe.dc.ba.Ue=class{constructor(a,b,c){this.source=a;this.L=b;this.G=void 0===c?!0:c}ia(){return O(olympe.dc.ba.Ue)}F(){return[this.source.C()]}C(a,b){return olympe.D.Wd([this.source.F(a,b),this.L,this.G],(c,d,e)=>{c=String(c);d=String(d);e.valueOf()||(c=c.toLowerCase(),d=d.toLowerCase());return(new RegExp(d)).test(c)})}oa(a){const b=this.source.oa(a),c=bf(a,this.L);a=bf(a,this.G);return'{"c":"'+this.ia()+'","a":['+b+','+c+','+a+']}'}toString(){const a=af(this.G);return'Regex('+this.source.toString()+
775
+ ','+this.L+','+a+')'}};N('olympe.dc.predicates.Regex',olympe.dc.ba.Ue);olympe.dc.ba.Ue.ka=[olympe.dc.Wb];olympe.dc.ba.Qe=class{constructor(a){this.G=new Set;a instanceof Array?a.forEach(b=>{this.G.add(olympe.dc.Da(b))}):this.G.add(olympe.dc.Da(a))}ia(){return O(olympe.dc.ba.Qe)}F(){return[]}C(a,b){const c=olympe.D.createNode(Boolean),d=olympe.dc.Ua();let e=[];const f=()=>{e.forEach(h=>{Bd(d,h.tag,h.C,h.id)});e=[]},g=(h,k)=>{if(h)if(k===olympe.dc.Da(olympe.dc.Sync))J(c,this.G.has(k)),f();else{for(const m of e)if(m.tag===k)throw Error(`You should never extend a model to itself (${k})`);this.G.has(k)?(J(c,
776
+ !0),f()):(h=new hg(k,olympe.dc.Sync.extendRel),e.push(h),Ad(d,h.tag,h.C,g,h.id))}};a=new hg(b,olympe.dc.Sync.modelRel);e.push(a);Ad(d,a.tag,a.C,g,a.id);c.onDestroy(f);Sa(c)||J(c,!1);return c}oa(){return'{"c":"'+this.ia()+'","a":['+JSON.stringify(Array.from(this.G))+']}'}toString(){return'InstanceOf('+Array.from(this.G).join(', ')+')'}};class hg{constructor(a,b){this.tag=a;this.C=b;this.id=olympe.$.Sf()}}N('olympe.dc.predicates.InstanceOf',olympe.dc.ba.Qe);olympe.dc.ba.Qe.ka=[olympe.dc.Wb];function ig(a){return a.G.map(b=>b.R())}function jg(a){return a.G.map(b=>b.Na())}
777
+ olympe.dc.ba.Pe=class{constructor(a,b,c){this.G=[];this.L=c instanceof Array?c:void 0!==c?[olympe.dc.Da(c)]:[];a=Array.isArray(a)?a:[a];for(let d=0,e=a.length;d<e;d++)c=a[d],c instanceof olympe.dc.W.Xb?this.G.push(new kg(c.R(),c.Na(),c.F,c.C)):this.G.push(new kg(olympe.dc.Da(c),b[d],1,1))}ia(){return O(olympe.dc.ba.Pe)}F(){return[this.G.reduce((a,b)=>a.concat(b),[])]}C(a,b){const c=olympe.D.createNode(Boolean),d=olympe.$.Rb(),e=olympe.dc.Ua();let f=0;a=(h,k)=>{0!==this.L.length&&!this.L.includes(k)||
778
+ c.Kb()||(f+=h?1:-1,J(c,0<f))};const g=this.G;for(let h=g.length-1;0<=h;h--)a=lg(g[h],e,a,d+h);wc(e,b,a,d);olympe.D.Ja().onDestroy(()=>{xc(e,b,d)});c.Je(!1);return c}oa(){return'{"c":"'+this.ia()+'","a":['+JSON.stringify(this.G.map(a=>a.oa()))+(0!==this.L.length?',"'+this.L.toString():'')+'"]}'}toString(){return'HasRelated('+(0!==this.L.length?'#'+this.L.toString()+', ':'')+this.G.map(a=>a.oa())+')'}};N('olympe.dc.predicates.HasRelated',olympe.dc.ba.Pe);
779
+ function lg(a,b,c,d){const e=Object.create(null);d+=olympe.$.Sf();const f=(g,h,k)=>{k>=a.F&&c(g,h);if(!(0<=a.C&&k>=a.C)){var m=d+k;g?e[h]||(e[h]=!0,Ad(b,h,a,(n,p)=>{f(n,p,k+1)},m)):(delete e[h],Bd(b,h,a,m))}};return(g,h)=>f(g,h,0)}class kg extends olympe.dc.query.Relation{constructor(a,b,c,d){super(a,b,1!==c||1!==d);this.F=c;this.C=d}oa(){return`${this.R()}, ${this.Na()}, ${this.F}, ${this.C}`}}olympe.dc.ba.Pe.ka=[olympe.dc.Wb];olympe.dc.ba.Yi=class{constructor(a,b){this.G=a;this.value=b}C(a,b){return olympe.D.Wd([this.G,this.value.F(a,b)],(c,d)=>{c=c.valueOf();return(Number(c)&Number(d.valueOf()))===Number(c)})}ia(){return O(olympe.dc.ba.Yi)}F(){return[this.value.C()]}oa(a){const b=olympe.D.Za(this.G)?L(this.G).valueOf():this.G.valueOf();return'{"c":"'+this.ia()+'","a":['+b+','+this.value.oa(a)+']}'}toString(){const a=olympe.D.Za(this.G)?L(this.G).valueOf():this.G.valueOf();return this.ia().replace(/^.+\./,'')+'('+a.toString()+
780
+ ','+this.value.toString()+')'}};N('olympe.dc.predicates.BitMask',olympe.dc.ba.Yi);olympe.dc.ba.Yi.ka=[olympe.dc.Wb];let mg=0;olympe.dc.ba.ig=class{constructor(){this.id=mg++}ia(){return'CustomLocalPredicate#'+this.id}F(){return[]}C(){throw Error('Test function was not implemented.');}oa(){return`{"c":"${this.ia()}"}`}toString(){return this.ia()+'()'}};olympe.dc.ba.ig.ka=[olympe.dc.Wb];olympe.dc.ba.Mk=class{constructor(a,b,c){this.G=[];this.L=void 0!==c?c.map(olympe.dc.Da):null;a=Array.isArray(a)?a:[a];for(let d=0,e=a.length;d<e;d++)c=a[d],c instanceof olympe.dc.W.Xb?this.G.push(new ng(c.R(),c.Na(),c.F,c.C)):this.G.push(new ng(olympe.dc.Da(c),b[d],1,1))}ia(){return O(olympe.dc.ba.Mk)}F(){return[this.G.reduce((a,b)=>a.concat(b),[])]}C(a,b){const c=olympe.D.createNode(Boolean),d=olympe.dc.Ua(),e=olympe.$.Sf();a=(h,k,m)=>{k&&(null===this.L||this.L.includes(m))&&h(1)};const f=this.G;
781
+ for(let h=f.length-1;0<=h;h--)a=f[h].getTransform(d,a,e+h);let g=0;wc(d,b,a.bind(null,h=>{c.Vd()||c.Kb()||(g+=h,J(c,0<g))}),e);olympe.D.Ja().onDestroy(()=>xc(d,b,e));c.Je(!1);return c}oa(){return'{"c":"'+this.ia()+'","a":['+JSON.stringify(this.G.map(a=>a.oa()))+(null!==this.L?',"'+this.L.toString():'')+'"]}'}toString(){return'HasRelatedTree('+(null!==this.L?'#['+this.L.toString()+'], ':'')+this.G.map(a=>a.oa())+')'}};N('olympe.dc.predicates.HasRelatedTree',olympe.dc.ba.Mk);
782
+ class ng extends olympe.dc.query.Relation{constructor(a,b,c,d){super(a,b,1!==c||1!==d);this.F=c;this.C=d;this.L=new Map;this.G=new Map}getTransform(a,b,c){const d=this.G,e=this.L,f=new Set,g=(k,m,n)=>{e.has(m)?e.get(m).set(c+n,k):e.set(m,(new Map).set(c+n,k))},h=(k,m,n,p,q)=>{const r=olympe.$.Sf();if(p){const t=n+q,v=u=>{const x=e.get(q);if(f.has(t))throw Error(`Try to use the predicate HasRelatedTree with recursion in a graph cluster containing a loop around instances ${n} and ${q}`);void 0!==x&&
783
+ null!==x&&(f.add(t),d.set(q,(d.get(q)||0)+u),Array.from(x.values()).forEach(G=>G(u)));f.delete(t)};g(k,q,n);d.has(q)?k(d.get(q)):(m>=this.F&&b(u=>{d.set(q,(d.get(q)||0)+u);k(u)},p,q),(0>this.C||m<=this.C)&&q!==n&&Ad(a,q,this,h.bind(this,v,m+1,q),r))}else k(-d.get(q)),e.get(q).delete(c+n),0===e.get(q).size&&(d.delete(q),e.delete(q),Bd(a,q,this,r))};return(k,m,n)=>h(k,0,'origin',m,n)}oa(){return`${this.R()}, ${this.Na()}, ${this.F}, ${this.C}`}}olympe.dc.ba.Mk.ka=[olympe.dc.Wb];olympe.dc.W={};olympe.dc.W.zj={zr:1,Mr:-1,Vn:0};olympe.dc.W.gA={Lx:!0,hy:!1};olympe.dc.W.Db=class extends olympe.dc.za.Relation{constructor(a,b){super(olympe.dc.Da(a),b||olympe.dc.Ka.DESTINATION)}Mb(){return Jc(this)}ia(){return O(olympe.dc.W.Db)}xd(){return new olympe.dc.W.Db(this.tag,this.direction===olympe.dc.Ka.DESTINATION?olympe.dc.Ka.ORIGIN:olympe.dc.Ka.DESTINATION)}getTransform(a,b,c){const d=olympe.dc.Ua(),e=this.R(),f=this.Na();return(g,h,k,m)=>{Yf(b,k,h,e,f);g?Ad(d,h,this,(n,p)=>{const q=olympe.$.Ac(k+f+e+p,20),r=Lf(m,n,p,q);n&&b.register(q,k,h,e,f);c(n,p,q,r)},
784
+ k):Bd(d,h,this,k)}}oa(){return'{"c":"'+this.ia()+'","a":["'+this.R()+'","'+this.Na()+'"]}'}toString(){return'Related('+this.Na()+this.R()+')'}};N('olympe.dc.transformers.Related',olympe.dc.W.Db);olympe.dc.W.Db.ka=[olympe.dc.Pc];olympe.dc.W.Xb=class extends olympe.dc.za.Relation{constructor(a,b,c,d){super(olympe.dc.Da(a),b||olympe.dc.Ka.DESTINATION);this.F='number'===typeof c?c:1;this.C='number'===typeof d?d:-1}Mb(){return Jc(this)}ia(){return O(olympe.dc.W.Xb)}getTransform(a,b,c){const d=olympe.dc.Ua(),e=Object.create(null),f=olympe.dc.Ka.ORIGIN,g=olympe.dc.Ka.DESTINATION,h=this.R(),k=this.Na(),m=(p,q,r)=>{if(!(0<=this.C&&p>=this.C)){var t=d.Wa(r,this);p+=1;for(let v=0,u=t.length;v<u;v++){if(void 0!==e[t[v]]||r===t[v])continue;
785
+ const x=olympe.$.Ac(q+k+(h+'_'+p)+t[v],20);b.register(x,q,r,h,k||g);null===k&&b.register(x,q,r,h,f)}}},n=(p,q,r,t,v,u)=>{v&&!b.F&&m(p,t,u);p>=this.F?c(v,u,t,Lf(r,v,u,t)):Yf(b,t,u,h,k);0<=this.C&&p>=this.C||(v?e[u]||(e[u]=!0,Ad(d,u,this,(x,G)=>{const C=p+1,z=olympe.$.Ac(t+k+(h+'_'+C)+G,20);n(C,u,r,z,x,G)},t)):(Bd(d,u,this,t),delete e[u]))};return(p,q,r,t)=>n(0,null,t,r,p,q)}oa(){return'{"c":"'+this.ia()+'","a":["'+this.R()+'","'+this.Na()+'",'+this.F+','+this.C+']}'}toString(){return'RecursiveRelated('+
786
+ this.Na()+this.R()+'['+this.F+'..'+this.C+'])'}};N('olympe.dc.transformers.RecursiveRelated',olympe.dc.W.Xb);olympe.dc.W.Xb.ka=[olympe.dc.Pc];function og(a){return a.C.map(b=>b.R())}
787
+ olympe.dc.W.de=class{constructor(a,b){this.direction=b||olympe.dc.Ka.DESTINATION;this.C=a.map(c=>new olympe.dc.za.Relation(c,this.direction))}Mb(){return olympe.dc.Sync}ia(){return O(olympe.dc.W.de)}Na(){return this.direction}getTransform(a,b,c){const d=olympe.dc.Ua(),e=(f,g,h,k)=>Ad(d,f,k,(m,n)=>{var p=k.Na();var q=k.R();p=olympe.$.Ac(g+p+q+n,20);q=Lf(h,m,n,p);m&&b.register(p,g,f,k.R(),k.Na());c(m,n,p,q)},g);return(f,g,h,k)=>{f?this.C.forEach(m=>{Yf(b,h,g,m.R(),m.Na());e(g,h,k,m)}):this.C.forEach(m=>
788
+ {Bd(d,g,m,h)})}}oa(){return'{"c":"'+this.ia()+'","a":['+JSON.stringify(og(this))+',"'+this.direction+'"]}'}toString(){return'MultiRelated('+this.Na()+'['+og(this).join(',')+'])'}};N('olympe.dc.transformers.MultiRelated',olympe.dc.W.de);olympe.dc.W.de.ka=[olympe.dc.Pc];olympe.dc.W.Hk=class{constructor(a,b,c,d){this.C=new olympe.dc.za.Relation(olympe.dc.Da(a),c||olympe.dc.Ka.DESTINATION);this.F=new olympe.dc.za.Relation(olympe.dc.Da(b),d||olympe.dc.Ka.DESTINATION)}Mb(){return Jc(this.C)}ia(){return O(olympe.dc.W.Hk)}getTransform(a,b,c){const d=olympe.dc.Ua(),e={},f=this.C.R(),g=this.C.Na(),h=this.F.R(),k=this.F.Na();let m=null,n=null;const p=(r,t,v,u,x,G)=>{if(x){if(x=()=>{const C=olympe.$.Ac(v+g+(f+'_'+r)+G,20),z=Lf(t,!0,G,C);m=r;n=()=>{c(!1,G,C,Lf(t,!1,G,C))};
789
+ b.register(C,v,u,f,g);c(!0,G,C,z)},x.qq=r,e[u]=x,null===m||r<m)n&&n(),x()}else if(m===r){n();e[u]=!0;x=Infinity;let C=null;for(let z=Object.keys(e),T=z.length,S=0;S<T;S++){let hb=e[z[S]];hb.qq<x&&(x=hb.qq,C=hb)}C&&C()}},q=(r,t,v,u,x)=>{u?e[x]||(e[x]=!0,Yf(b,v,x,f,g),Yf(b,v,x,h,k),Ad(d,x,this.C,p.bind(this,r,t,v,x),v+'_val'),Ad(d,x,this.F,q.bind(this,r+1,t,v),v+'_follow')):(Bd(d,x,this.F,v+'_follow'),Bd(d,x,this.C,v+'_val'),delete e[x])};return(r,t,v,u)=>q(0,u,v,r,t)}oa(){return'{"c":"'+this.ia()+
790
+ '","a":["'+this.C.toString()+'","'+this.F.toString()+'"]}'}toString(){return'FirstRelated('+this.C.toString()+', '+this.F.toString()+')'}};N('olympe.dc.transformers.FirstRelated',olympe.dc.W.Hk);olympe.dc.W.Hk.ka=[olympe.dc.Pc];olympe.dc.W.Zc=class{Mb(){return null}ia(){return O(olympe.dc.W.Zc)}getTransform(a,b,c){const d={};return function(e,f,g,h){e?void 0===d[f]?(d[f]=1,b.C.C!==g||b.F||(b.C.C=f),c(!0,f,f,Lf(h,!0,f,f))):(d[f]++,Xf(b,g)):void 0!==d[f]&&0>=--d[f]&&(delete d[f],c(!1,f,f,Lf(h,!1,f,f)))}}oa(){return'{"c":"'+this.ia()+'"}'}toString(){return'Distinct()'}};N('olympe.dc.transformers.Distinct',olympe.dc.W.Zc);olympe.dc.W.Zc.ka=[olympe.dc.Pc];olympe.dc.W.td=class{constructor(a,b){this.C=a;this.F=void 0===b?!0:!!b}Mb(){return null}ia(){return O(olympe.dc.W.td)}G(){return[this.C.O()]}getTransform(a,b,c){const d=new olympe.dc.fc.mp(this.F?this.C.G.bind(this.C):(e,f)=>this.C.G(f,e));return(e,f,g)=>{var h=e?this.C.L(a,f):void 0;h=d.C(e,f,g,h);c(e,f,g,h)}}oa(a){return'{"c":"'+this.ia()+'","a":['+this.C.oa(a)+','+JSON.stringify(this.F)+']}'}toString(){return'Sort('+this.C.toString()+','+JSON.stringify(this.F)+')'}};
791
+ N('olympe.dc.transformers.Sort',olympe.dc.W.td);olympe.dc.W.td.ka=[olympe.dc.Pc,olympe.dc.Oo];olympe.dc.W.$c=class{constructor(a){this.C=a}Mb(){return null}ia(){return O(olympe.dc.W.$c)}G(){return this.C.F()}getTransform(a,b,c){function d(f,g,h,k){k=k.valueOf();!1===k&&Xf(b,g);k!==!!e[g]&&(e[g]=k,c(k,f,g,Lf(h,k,f,g)))}const e={};return(f,g,h,k)=>{const m='@'+h;f?(f=this.C.C(a,g),olympe.D.Za(f)&&(f=f.Sa),olympe.D.lf(f)?(b.F||void 0!==olympe.D.Ta(f)||Xf(b,h),e[m]=f,olympe.D.rc([f],n=>{d(g,h,k,n)},'filterResultHandler')):d(g,h,k,f)):(void 0!==e[m]&&(e[m].hb(),delete e[m]),d(g,h,k,!1),delete e[h])}}oa(a){return'{"c":"'+
792
+ this.ia()+'","a":['+this.C.oa(a)+']}'}toString(){return'Filter('+this.C.toString()+')'}};N('olympe.dc.transformers.Filter',olympe.dc.W.$c);olympe.dc.W.$c.ka=[olympe.dc.Pc,olympe.dc.Oo];olympe.dc.W.Ad=class{constructor(a,b){this.start=a;this.C=b}Mb(){return null}ia(){return O(olympe.dc.W.Ad)}getTransform(a,b,c){const d=new olympe.dc.fc.bl;let e,f,g,h=!1;const k=()=>{if(void 0!==f&&void 0!==g&&void 0!==e){var n=f+g;b.F||(b.C.C=e[0>n-1?0:Math.min(e.length,n)-1]);Uf(d,e,f,n,c)}};olympe.D.Hd([this.start,this.C],(n,p)=>{f=n.valueOf();g=p.valueOf();k()});cg(b,k);const m=$f(b);Zf(b,m);return(n,p,q,r)=>{h||(r.lc().fg(t=>{e=t;dg(b,m)}),Jf(b,()=>r.Mf(),m),h=!0);d.C(n,p,q,null);Kf(b,q,m)}}oa(a){return'{"c":"'+
793
+ this.ia()+'","a":['+bf(a,this.start)+','+bf(a,this.C)+']}'}toString(){return`Limit(${olympe.D.Ta(this.start)},${olympe.D.Ta(this.C)})`}};N('olympe.dc.transformers.Limit',olympe.dc.W.Ad);olympe.dc.W.Ad.ka=[olympe.dc.Pc];function pg(a,b,c,d,e,f){function g(p,q){if(m)for(var r=m.length-1;0<=r;r--)f=m[r].getTransform(b,e,n.vb(f));f=n.vb(f);e.register(h,null);r=d.C(p,q,c,null);f(p,q,h,Lf(r,p,q,h))}const h=olympe.$.Rb(),k=olympe.dc.Ua(),m=a.W,n=olympe.D.Ja();olympe.D.rc([a.C],p=>{qg(k,p,g,h);void 0===k.model(p)&&If(e)})}function qg(a,b,c,d){const e=b&&b.valueOf();e&&(wc(a,e,c,d),olympe.D.Ja().Sc(()=>xc(a,e,d)))}
794
+ olympe.dc.W.Ye=class{constructor(a,b){this.W=this.C=null;a instanceof olympe.dc.pa?(this.C=a.kd(),this.W=a.Wk()):(this.C=a,b&&(this.W=b))}Mb(){return null}ia(){return O(olympe.dc.W.Ye)||''}jf(){return this.W}kd(){return this.C}getTransform(a,b,c){const d=new olympe.dc.fc.bl,e=new olympe.dc.fc.Xi;let f=[],g=[],h=!1,k=!1;const m=$f(b),n=$f(b);cg(b,()=>{const p=f.concat(g);0<p.length?b.F||(b.C.C=p[p.length-1]):dg(b);Uf(d,p,0,p.length,c)});Zf(b,n);pg(this,a,this.C,e,b,(p,q,r,t)=>{const v=olympe.D.Ja();
795
+ v.Vd()||v.Kb()||(k||(t.lc().fg(u=>{g=u;dg(b,n)}),Jf(b,()=>t.Mf(),n),k=!0),d.C(p,q,r),Kf(b,r,n))});Zf(b,m);return(p,q,r,t)=>{h||(t.lc().fg(v=>{f=v;dg(b,m)}),Jf(b,()=>t.Mf(),m),h=!0);d.C(p,q,r,m);Kf(b,r,m)}}oa(a){const b=this.W?'['+this.W.map(c=>c.oa(a)).join(',')+']':'null';return'{"c":"'+this.ia()+'","a":['+bf(a,this.C)+','+b+']}'}toString(){const a=olympe.D.Za(this.C)?'N:'+this.C.Sa.da():this.C.valueOf(),b=this.W?','+this.W.map(c=>c.toString()).join(','):'';return'Union('+a+b+')'}};
796
+ N('olympe.dc.transformers.Union',olympe.dc.W.Ye);olympe.dc.W.Ye.ka=[olympe.dc.Pc];olympe.dc.gg={};function rg(a,b){let c=Cc.get(b)||null,d=null;for(;!c&&b&&b!==d;){d=b;b=a.db.cf(b);if(null===b)break;c=Cc.get(b)||null}return c||null}function sg(a,b){const c=rg(a,a.db.model(b));return null===c?(a.N.error(`Instantiation of a Sync (tag = '${b}') that does not exist (or incompletely exists) in the local database.\n
789
797
  This could lead to unwanted behaviour and must be fixed.
790
- For more information, activate the database debug mode or call "dbMonitor.debug(${b})" from this console.`),new olympe.dc.Sync(void 0,b)):c.instantiate(b,a.C)}function qg(a,b,c){c=olympe.dc.Fa(c);const d=og(a,c);if(null===d)throw Error(`Instantiation of a discrete Sync with a model not present in the GraphDB (tag = ${c}).`);return olympe.dc.Sync.instantiate(d,b,a.C,pg(a,c))}olympe.dc.Sf.SyncManager=class{constructor(a,b,c){this.N=a;this.db=b;this.C=c}};olympe.dc.Sf.T={Ga:'dc.syncs.Logger',ua:'dc.syncs.SyncManager'};olympe.V.Cb(function(a){B(a,olympe.dc.Sf.T.Ga,[olympe.ya.T.ua],b=>b.Cc('dc'));y(a,olympe.dc.Sf.T.ua,olympe.dc.Sf.SyncManager,olympe.dc.Sf.T.Ga,olympe.dc.T.Lg,olympe.V.T.pf)});olympe.dc.aa={};olympe.dc.aa.MB=function(a){a=olympe.dc.Fa(a);const b=olympe.D.Ec(olympe.D.Pa,'getInstanceName'),c=olympe.dc.Xa(),d=vd(c,a,olympe.dc.Sync.nameProp,b.update.bind(b));olympe.D.Ha().L(c.G.bind(c,a,olympe.dc.Sync.nameProp,d));return b.xb()};olympe.dc.aa.RB=function(a){return olympe.D.Aa([a],b=>olympe.D.Ww(olympe.dc.Xa().mh(b)),olympe.D.ga)};olympe.dc.aa.SB=function(a){return(a=olympe.D.Sa(a))?olympe.dc.Xa().mh(a):!1};olympe.dc.aa.Ls=class a{constructor(b=olympe.dc.Qa.ed){this.G=b}F(b){const c=new olympe.dc.db.Pc;this.C(b,c);return c}O(b,c,d){const e=new olympe.dc.db.Pc(b),f=new olympe.dc.query.Bh(b,this.G,c,e);this.C(d,e,(g,h)=>{h=h||[];const k=f.C.get(g)||new Set;for(const m of h)k.add(m);f.C.set(g,k)});return f}L(b,c){const d=new olympe.dc.db.Pc(b),e=new olympe.dc.query.vr(b,d);this.C(c,d,(f,g,h)=>{h=h||[];const k=new Fe(f);k.add=g||[];k.remove=h;e.C.set(f,k)});return e}C(b,c,d){const e=olympe.dc.Ob.Jd;for(const f of b)switch(b=
791
- f.i?f.i:-1,f.o){case 1:const g=f.p;g[e]||(g[e]=this.G);c.F(f.t,a.C(g),b);break;case 2:c.ec(f.t,a.C(f.p),!0,b);break;case 3:c.lc(f.t,f.f,b);break;case 4:c.oa(f.m,f.l,f.r,b);break;case 5:c.mb(f.m,f.l,f.r,b);break;case 6:d&&d(f.i,f.a,f.d);break;default:throw Error('Undefined patch operation: '+f.o);}}static C(b){const c=new Map;for(const [d,e]of Object.entries(b)){b=d;if(b===olympe.dc.Ob.Jd||b===olympe.dc.Ob.VERSION){c.set(b,e);continue}else if('v'===d){c.set(olympe.dc.Ob.VERSION,e);continue}let f=typeof e;
792
- b.startsWith('fd')&&(b=olympe.dc.ag.cd+b.substr(2));'object'===f&&(f=e&&e.c?String(e.c):'untyped');switch(f){case '1':case '2':case '3':throw Error('Complex format for primitive types not supported.');case 'string':c.set(b,String(e));break;case 'boolean':c.set(b,!!e);break;case 'number':c.set(b,Number(e));break;case '4':c.set(b,new Date(Date.UTC(e.y,e.M-1,e.d,e.h,e.m,e.s,e.S)));break;case '5':c.set(b,new Date(Date.UTC(e.y,e.M-1,e.d)));break;case '6':c.set(b,new Date(Date.UTC(e.y||1970,e.M&&e.M-1||
793
- 0,e.d||1,e.h,e.m,e.s,e.S)));break;case '7':c.set(b,new olympe.D.Color(e.r,e.g,e.b,e.a));break;case '8':c.set(b,new olympe.dc.Bc(e.t));break;case 'untyped':null===e&&c.set(b,null)}}return c}};olympe.dc.aa.Bb={};olympe.dc.aa.Bb.yl=a=>'string'===typeof a||'number'===typeof a||'boolean'===typeof a||a instanceof String?olympe.D.pb(a):a instanceof olympe.D.Pa?a:null;olympe.dc.aa.Bb.vl=a=>'boolean'===typeof a||a instanceof Boolean?olympe.D.nc(a):a instanceof olympe.D.ga?a:null;olympe.dc.aa.Bb.xl=a=>'number'===typeof a||a instanceof Number?olympe.D.wa(a):'string'===typeof a||a instanceof String?olympe.D.wa(Number.parseFloat(a.valueOf())):a instanceof olympe.D.ea?a:null;
794
- olympe.dc.aa.Bb.wl=function(a){return'number'===typeof a||a instanceof Number?ob(a.valueOf()):'string'===typeof a||a instanceof String?new olympe.D.Ya(new Date(a.valueOf().valueOf())):a instanceof Date?new olympe.D.Ya(a):a instanceof olympe.D.Ya?a:null};olympe.dc.aa.Bb.Hp=function(a){return a instanceof olympe.D.Color?a:'string'===typeof a||a instanceof String?sb(a.valueOf()):null};olympe.dc.aa.Bb.Ip=a=>a instanceof olympe.dc.Sync?a:a instanceof olympe.dc.Bc?olympe.dc.Sync.Nb(a.tag):null;
795
- olympe.dc.aa.Bb.ng=a=>a instanceof olympe.dc.Bc?olympe.dc.Sync.Nb(a.tag):a;olympe.dc.aa.Bb.nu=a=>{switch(typeof a){case 'boolean':return olympe.D.nc(a);case 'number':return olympe.D.wa(a);case 'string':return olympe.D.pb(a);case 'object':if(a instanceof Date)return olympe.D.Ow(a)}return a};
796
- olympe.dc.aa.Bb.JB=a=>{switch(a){case olympe.D.ga:return olympe.dc.aa.Bb.vl;case olympe.D.Pa:return olympe.dc.aa.Bb.yl;case olympe.D.ea:return olympe.dc.aa.Bb.xl;case olympe.D.Ya:return olympe.dc.aa.Bb.wl;case olympe.D.Color:return olympe.dc.aa.Bb.Hp;case olympe.dc.Sync:return olympe.dc.aa.Bb.Ip;default:return olympe.dc.aa.Bb.ng}};olympe.dc.T={ua:'dc.Manager',Qi:'dc.Graph',Lg:'dc.DBView',Ga:'dc.Logger',At:'dc.TransactionLogger',xh:'dc.FileServiceManager',oe:'dc.Router'};olympe.dc.Z={qf:'dc.debug',ig:'dc.subscribeAll',Ym:'dc.defaultSource',rn:'dc.fileCache',hn:'dc.errorOnAbstractInstantiation'};
797
- olympe.V.Cb(function(a){C(a,olympe.dc.Z.qf,!1);C(a,olympe.dc.Z.ig,!1);C(a,olympe.dc.Z.Ym,olympe.dc.Qa.ed);C(a,olympe.dc.Z.rn,!0);C(a,olympe.dc.Z.hn,!0);B(a,olympe.dc.T.Ga,[olympe.ya.T.ua],b=>b.Cc('dc'));qa(a,olympe.dc.T.At,olympe.dc.transaction.T.Ga);qa(a,olympe.dc.T.Qi,olympe.dc.db.T.Qi);qa(a,olympe.dc.T.Lg,olympe.dc.db.T.bb);y(a,olympe.dc.T.xh,olympe.dc.lr,olympe.dc.T.Ga,olympe.Ca.T.ua,olympe.dc.T.oe,olympe.aa.T.Hg,new olympe.V.la(olympe.dc.Z.rn));ra(a,olympe.dc.T.oe);y(a,olympe.dc.T.ua,olympe.dc.qa,
798
- olympe.dc.T.Ga,olympe.dc.db.T.ua,olympe.dc.query.T.ua,olympe.dc.transaction.T.ua,olympe.dc.Sf.T.ua,olympe.dc.T.xh)},'olympe.dc');olympe.V.run([olympe.dc.db.T.ua,olympe.dc.query.T.ua,olympe.dc.transaction.T.ua,olympe.dc.Sf.T.ua,olympe.dc.T.ua,olympe.dc.T.xh],(a,b,c,d,e,f)=>{olympe.dc.Sc=()=>a;olympe.dc.kh=()=>b;olympe.dc.ki=()=>c;olympe.dc.Vl=()=>d;olympe.dc.mc=()=>e;olympe.dc.nv=()=>f},'DC singleton getter initialization');function rg(a,b,c,...d){b=olympe.dc.Fa(b);var e=yc.get(b)||null;if(e=e&&e.C)return e(a,c,...d);a=a.create(b);c&&a.setProperty(olympe.dc.Sync.nameProp,c);return a.R()}
799
- olympe.dc.Sync=class{constructor(a,b){this.tag=b;this.ia=olympe.dc.mc&&olympe.dc.mc();this.db=olympe.dc.Sc&&olympe.dc.Sc().view;this.model=null}static Nb(a){return pg(olympe.dc.Vl(),olympe.dc.Fa(a))}static uv(a){var b=og(olympe.dc.Vl(),olympe.dc.Fa(a));b=b&&b.F;return new olympe.dc.pa(olympe.dc.Fa(a),olympe.dc.Sync.instancesRel,b)}static instantiate(a,b,c,d){a=a.instantiate(b,c);a.model=d;return a}mc(){return this.ia}R(){return this.tag}gw(){return this.db.version(this)}Xr(){return this.db.source(this)}ja(){return this.ub(olympe.dc.Sync.nameProp)}Up(){return olympe.D.Aa([this.ja()],
800
- a=>olympe.D.pb(a),olympe.D.Pa,'getDisplayName',olympe.D.pb('('+this.toString()+')'))}hi(){this.model||(this.model=olympe.dc.Sync.Nb(this.db.model(this)));return this.model}Wb(){return this.model?this.model.R():this.db.model(this)}zv(){return this.hi().transform(new olympe.dc.W.Tb(olympe.dc.Jc.Mg,olympe.dc.Ka.DESTINATION,0))}fe(){return this.$a(olympe.dc.Sync.instancesRel,olympe.dc.Sync)}mh(){return olympe.D.Aa([this.$p()],()=>olympe.D.ga.F,olympe.D.ga,'isModel',olympe.D.ga.C)}Rw(a){return new rxjs.Observable(b=>
801
- {const c=vd(this.db,this.tag,a,d=>{null===d||void 0===d?b.next(null):b.next(d)});olympe.D.Ha().L(()=>{b.complete();this.db.G(this.tag,a,c)})})}Ib(a){return this.db.Ib(this.tag,a,!0)}gi(){return this.transform(new olympe.dc.W.Tb(olympe.dc.Sync.extendRel.R(),olympe.dc.Ka.DESTINATION,1))}$p(){return this.tc(olympe.dc.Sync.extendRel,olympe.dc.Sync)}Zu(){return this.tc(olympe.dc.Sync.vc,olympe.dc.Sync)}Ll(){return this.$a(olympe.dc.Sync.containsRel,olympe.dc.Sync)}Hv(){return this.tc(olympe.dc.Sync.La,
802
- olympe.dm.User)}Ov(){return new olympe.dc.pa(this.R(),[new olympe.dc.W.Tb(olympe.dc.Sync.extendRel.R(),olympe.dc.Sync.extendRel.Oa(),0),olympe.dc.Sync.propertyRel,new olympe.dc.W.Wc],olympe.dm.Property)}tv(){return new olympe.dc.pa(this.R(),[new olympe.dc.W.Tb(olympe.dc.Sync.extendRel.R(),olympe.dc.Sync.extendRel.Oa()),olympe.dc.Sync.propertyRel,new olympe.dc.W.Wc],olympe.dm.Property)}Fv(){return this.$a(olympe.dc.Sync.propertyRel,olympe.dm.Property)}rv(){return this.$a(olympe.dc.Sync.Va,olympe.dm.Property)}Wp(){return this.$a(olympe.dc.Sync.F,
803
- olympe.dm.rb)}Mf(a,b,c){const d=olympe.D.Ec(c,'Sync valueType'),e=vd(this.db,this.tag,a,olympe.D.Ha().C(f=>{b&&null!==f&&void 0!==f&&(f=b(f));null===f||void 0===f?$a(d.node):d.update(f)}));d.node.onDestroy(()=>this.db.G(this.tag,a,e));return d.node}ub(a){return K(this.Mf(a,olympe.dc.aa.Bb.yl,olympe.D.Pa))}Md(a){return K(this.Mf(a,olympe.dc.aa.Bb.xl,olympe.D.ea))}wg(a){return K(this.Mf(a,olympe.dc.aa.Bb.vl,olympe.D.ga))}ji(a){return K(this.Mf(a,olympe.dc.aa.Bb.wl,olympe.D.Ya))}aq(){return K(this.Mf(olympe.dm.Color.valueProp,
804
- olympe.dc.aa.Bb.Hp,olympe.D.Color))}Qv(a){return K(this.Mf(a,olympe.dc.aa.Bb.Ip,olympe.dc.Sync))}$a(a,b){a=a instanceof olympe.dc.W.Ab?a:new olympe.dc.W.Ab(a.R(),a.Oa());return new olympe.dc.pa(this.R(),a,b)}tc(a,b){return this.$a(a,b).jd()}bo(a,b){a=this.db.$a(this,a);return b?a:a.map(c=>olympe.dc.Sync.Nb(c))}av(a,b){return this.bo(a,b)[0]||null}Gl(a,b){const c=this.db,d=olympe.aa.Qb(),e=olympe.D.Ha(),f=new Map;xd(c,this.tag,a,(g,h)=>{g?(g=new olympe.D.ic(`forEachRelated: (${this.tag})-[:${a.R()}]-(${h})`,
805
- e),f.set(h,g),g.run(b,olympe.dc.Sync.Nb(h))):f.has(h)&&(f.get(h).fb(),f.delete(h))},d);e.L(()=>{yd(c,this.tag,a,d)})}yx(){return new olympe.dc.pa(this.R(),[],Dc(this.R()))}transform(...a){return(new olympe.dc.pa(this.R(),[],this.constructor)).transform(...a)}Uc(){return this.Up()}toString(){if(!this.db.Hb(this.tag))return`unknown object #${this.tag||'NULL_TAG'}`;const a=this.db.model(this.tag);var b=this.db.name(this);b=b?` instanceName: '${b}'`:'';return a?`${this.db.name(a)}#${this.tag}${b}`:`orphan object (no model) #${this.tag}${b}`}Eb(a){return a instanceof
806
- olympe.dc.Sync?this.R()===a.R():!1}vd(a){return olympe.D.Aa([a],b=>olympe.D.nc(this.Eb(b)),olympe.D.ga)}wu(a){const b=this.db;let c=!1;if(void 0===a||null===a)a=new olympe.dc.ib,c=!0;const d=olympe.dc.Ka.ORIGIN;for(const [e,f,g]of Ad(b,this))f===d?a.mb(e,g,this):e!==olympe.dc.Sync.modelRel.R()&&a.mb(e,this,g);a.delete(this,olympe.dc.ob.NONE);c&&a.gd()}ev(){const a=new olympe.dc.ib;a.delete(this,olympe.dc.ob.DELETE);return a}};olympe.dc.Sync.prototype.getProperty=olympe.dc.Sync.prototype.Ib;
807
- olympe.dc.Sync.prototype.observeProperty=olympe.dc.Sync.prototype.Rw;olympe.dc.Sync.prototype.getModelTag=olympe.dc.Sync.prototype.Wb;olympe.dc.Sync.prototype.getModel=olympe.dc.Sync.prototype.hi;olympe.dc.Sync.prototype.getName=olympe.dc.Sync.prototype.ja;olympe.dc.Sync.prototype.getTag=olympe.dc.Sync.prototype.R;olympe.dc.Sync.getInstancesOf=olympe.dc.Sync.uv;olympe.dc.Sync.getInstance=olympe.dc.Sync.Nb;olympe.dc.Sync.P=olympe.dc.va.C('ff021000000000000001',olympe.dc.Sync);olympe.dc.Sync.ti=olympe.dc.Sync.P.Ba(olympe.dc.Ob.VERSION);
808
- olympe.dc.Sync.nameProp=olympe.dc.Sync.P.Ba('ff023000000000000011');v('olympe.dc.Sync.nameProp',olympe.dc.Sync.nameProp);olympe.dc.Sync.Ja=olympe.dc.Sync.P.Ba('ff023000000000000012');olympe.dc.Sync.fa=olympe.dc.Sync.P.Ma('ff02200000000000000a');olympe.dc.Sync.Va=olympe.dc.Sync.P.Ma('ff02200000000000000b',olympe.dc.Ka.ORIGIN);olympe.dc.Sync.propertyRel=olympe.dc.Sync.P.Ma('ff02200000000000000c');v('olympe.dc.Sync.propertyRel',olympe.dc.Sync.propertyRel);
809
- olympe.dc.Sync.typeRel=olympe.dc.Sync.P.Ma('ff02200000000000000d',olympe.dc.Ka.ORIGIN);olympe.dc.Sync.modelRel=olympe.dc.Sync.P.Ma(olympe.dc.Jc.le);v('olympe.dc.Sync.modelRel',olympe.dc.Sync.modelRel);olympe.dc.Sync.instancesRel=P(olympe.dc.Sync.P,olympe.dc.Sync.modelRel);v('olympe.dc.Sync.instancesRel',olympe.dc.Sync.instancesRel);olympe.dc.Sync.La=olympe.dc.Sync.P.Ma('ff022000000000000002');olympe.dc.Sync.F=olympe.dc.Sync.P.Ma('ff022000000000000003');olympe.dc.Sync.extendRel=olympe.dc.Sync.P.Ma(olympe.dc.Jc.Mg);
810
- v('olympe.dc.Sync.extendRel',olympe.dc.Sync.extendRel);olympe.dc.Sync.extendedByRel=P(olympe.dc.Sync.P,olympe.dc.Sync.extendRel);v('olympe.dc.Sync.extendedByRel',olympe.dc.Sync.extendedByRel);olympe.dc.Sync.containsRel=olympe.dc.Sync.P.Ma(olympe.dc.Jc.Mm);v('olympe.dc.Sync.containsRel',olympe.dc.Sync.containsRel);olympe.dc.Sync.vc=P(olympe.dc.Sync.P,olympe.dc.Sync.containsRel);olympe.dc.Sync.ka=[olympe.dc.Hd];l=olympe.dc.Sync.prototype;l.mc.K=olympe.D.H.C;l.R.K=new olympe.D.H(()=>String,[]);
811
- l.gw.K=new olympe.D.H(()=>Number,[]);l.Xr.K=new olympe.D.H(()=>String,[]);l.ja.K=olympe.D.H.F;l.Up.K=olympe.D.H.F;l.hi.K=new olympe.D.H(()=>olympe.dc.Sync,[]);l.Wb.K=new olympe.D.H(()=>String,[]);l.zv.K=new olympe.D.H(()=>olympe.dc.pa,[]);l.fe.K=new olympe.D.H(()=>olympe.dc.pa,[]);l.mh.K=olympe.D.H.O;l.gi.K=new olympe.D.H(()=>olympe.dc.pa,[]);l.$p.K=new olympe.D.H(()=>olympe.dc.Sync,[]);l.Zu.K=new olympe.D.H(()=>olympe.dc.Sync,[]);l.Ll.K=new olympe.D.H(()=>olympe.dc.pa,[]);
812
- l.Hv.K=new olympe.D.H(()=>olympe.dm.User,[]);l.Ov.K=new olympe.D.H(()=>olympe.dc.pa,[]);l.tv.K=new olympe.D.H(()=>olympe.dc.pa,[]);l.Fv.K=new olympe.D.H(()=>olympe.dc.pa,[]);l.rv.K=new olympe.D.H(()=>olympe.dc.pa,[]);l.Wp.K=new olympe.D.H(()=>olympe.dc.pa,[]);l.Mf.K=new olympe.D.H(()=>olympe.D.Node,[]);l.ub.K=olympe.D.H.F;l.Md.K=olympe.D.H.G;l.wg.K=olympe.D.H.O;l.ji.K=new olympe.D.H(()=>olympe.D.Ya,[]);l.aq.K=new olympe.D.H(()=>olympe.D.Color,[]);l.Qv.K=new olympe.D.H(()=>olympe.dc.Sync,[]);
813
- l.$a.K=new olympe.D.H(()=>olympe.dc.pa,[]);l.tc.K=new olympe.D.H(()=>olympe.dc.Sync,[]);l.bo.K=olympe.D.H.C;l.av.K=olympe.D.H.C;l.Gl.K=new olympe.D.H(()=>{},[]);l.yx.K=new olympe.D.H(()=>olympe.dc.pa,[]);l.transform.K=new olympe.D.H(()=>olympe.dc.pa,[]);l.Uc.K=olympe.D.H.F;l.toString.K=olympe.D.H.C;l.Eb.K=olympe.D.H.C;l.vd.K=olympe.D.H.O;l.wu.K=new olympe.D.H(()=>{},[]);l.ev.K=new olympe.D.H(()=>olympe.dc.ib,[]);olympe.dc.$i=class{constructor(a){this.instance=a}R(){return this.instance.R()}mi(){return jb(this.instance.wg(olympe.dc.Sync.Ja))}lv(){return this.instance.tc(olympe.dc.Sync.extendRel,olympe.dc.Sync)}gi(){return this.instance.transform(new olympe.dc.W.Tb(olympe.dc.Sync.extendRel.R(),olympe.dc.Ka.DESTINATION,olympe.dc.W.jj.jr))}Ul(){return this.instance.transform(new olympe.dc.W.Tb(olympe.dc.Sync.extendRel.R(),olympe.dc.Ka.DESTINATION,olympe.dc.W.jj.Tn))}Ld(){return this.Ul().transform(olympe.dc.Sync.propertyRel,
814
- new olympe.dc.W.Wc)}Ev(){return this.instance.transform(olympe.dc.Sync.propertyRel)}Yr(){return this.Ul().transform(olympe.dc.Sync.fa,new olympe.dc.W.Wc)}Gv(){return this.instance.transform(olympe.dc.Sync.fa)}static from(a){return olympe.D.Aa([a],b=>{const c=b.R(),d=olympe.dc.Xa();if(!d.mh(c))throw Error(`Instance "${d.name(c)}" (tag=${c}) is not a model.`);return new olympe.dc.$i(b)},olympe.dc.$i,'transformToModelInfo')}static mi(){return jb((void 0).wg(olympe.dc.Sync.Ja))}};olympe.dc.$i.ka=[olympe.dc.Hd];
815
- l=olympe.dc.$i.prototype;l.lv.K=new olympe.D.H(()=>olympe.dc.Sync,[]);l.gi.K=new olympe.D.H(()=>olympe.dc.pa,[]);l.Ul.K=new olympe.D.H(()=>olympe.dc.pa,[]);l.Ld.K=new olympe.D.H(()=>olympe.dc.pa,[]);l.Ev.K=new olympe.D.H(()=>olympe.dc.pa,[]);l.Yr.K=new olympe.D.H(()=>olympe.dc.pa,[]);l.Gv.K=new olympe.D.H(()=>olympe.dc.pa,[]);olympe.dc.oz=class{};olympe.dc.X={};olympe.dc.X.Yn=class{constructor(a){this.N=a}};olympe.dc.X.Yn.Qe={Lh:0,Hz:1,Jz:3,qz:4};olympe.dc.X.Ui=class{};function Y(a){if(a.fa)throw Error('Cannot modify definition after definition is written');}
816
- olympe.dc.X.vb=class{constructor(a,b){a=this.C=a;if(a.C)throw b=a.C.ja(),a=a.C.R(),Error('Cannot work on a new definition without calling done on the previous one or popping it. '+`Make sure done() method has been called on previous definition ${b} (${a})`);if(void 0===this)throw Error('Current def cannot be set to undefined.');a.C=this;this.tag=b;this.G=new Map;this.ia=olympe.dc.Sync.P.R();this.$=new Map;this.Ra=new Map;this.La=new Map;this.Ja=new Map;this.fa=this.sa=!1;this.U=null}Rj(a){Y(this);
817
- this.ia=a;return this}Wb(){return this.ia}Bi(a){Y(this);this.U=a;return this}kx(){this.sa=!0;return this}jx(a){Y(this);const b=new Map;if('string'===typeof a){const c=olympe.dc.Sync.nameProp.R();b.set(c,a||'')}else Object.keys(a).forEach(c=>{b.set(c,a[c])});this.G=b;return this}rh(a){Y(this);Object.keys(a).forEach(b=>{this.G.set(b,a[b])});return this}setProperty(a,b){Y(this);this.G.set(a,b);return this}Sj(a){Y(this);const b=olympe.dc.Sync.nameProp.R();this.G.set(b,a);return this}Ep(a){Y(this);this.$.set(a,
818
- a);return this}Rt(a){Y(this);this.Ra.set(a,a);return this}wj(a,b){Y(this);if(!a)throw Error('Cannot relate an object to another without a relation tag');if(a===olympe.dc.Sync.containsRel.R())throw Error('Container must be defined using dedicated helpers setContainedIn');b&&this.La.set(a+'.'+b,[a,b]);return this}Vh(a,b){Y(this);if(!a)throw Error('Cannot relate an object to another without a relation tag');if(a===olympe.dc.Sync.containsRel.R())throw Error('Container must be defined using dedicated helper setContainedIn');
819
- b&&this.Ja.set(a+'.'+b,[a,b]);return this}done(){if(this.fa)return this;const a=sg(this.C,this.sa);a.F(this.tag,this.G,-1);const b=this.C.Sp();this.$.forEach(c=>{b.includes(c)?this.C.jq('Instance '+this.tag+' is added to a goo that is among the default ones, this call is unnecessary'):a.oa(olympe.dc.Sync.F.R(),this.tag,c,-1)});b.forEach(c=>{a.oa(olympe.dc.Sync.F.R(),this.tag,c,-1)});tg(this.C,this);a.oa(olympe.dc.Jc.le,this.tag,this.ia,-1);this.U&&a.oa(olympe.dc.Jc.Mm,this.U,this.tag,-1);this.Ra.forEach(c=>
820
- {a.oa(olympe.dm.rb.C.R(),this.tag,c,-1)});this.L(-1);this.La.forEach(c=>{a.oa(c[0],this.tag,c[1],-1)});this.Ja.forEach(c=>{a.oa(c[0],c[1],this.tag,-1)});this.fa=!0;this.C.C=void 0;return this}L(){}R(){return this.tag}ja(){return this.G.get('ff023000000000000011')}};olympe.dc.X.vb.prototype.getName=olympe.dc.X.vb.prototype.ja;olympe.dc.X.vb.prototype.getTag=olympe.dc.X.vb.prototype.R;olympe.dc.X.vb.prototype.done=olympe.dc.X.vb.prototype.done;olympe.dc.X.vb.prototype.addRelationFrom=olympe.dc.X.vb.prototype.Vh;
821
- olympe.dc.X.vb.prototype.addRelationTo=olympe.dc.X.vb.prototype.wj;olympe.dc.X.vb.prototype.addParentGoo=olympe.dc.X.vb.prototype.Rt;olympe.dc.X.vb.prototype.addToGroupOfObjects=olympe.dc.X.vb.prototype.Ep;olympe.dc.X.vb.prototype.setName=olympe.dc.X.vb.prototype.Sj;olympe.dc.X.vb.prototype.setProperty=olympe.dc.X.vb.prototype.setProperty;olympe.dc.X.vb.prototype.setProperties=olympe.dc.X.vb.prototype.rh;olympe.dc.X.vb.prototype.setNameOrProperties=olympe.dc.X.vb.prototype.jx;
822
- olympe.dc.X.vb.prototype.setOptional=olympe.dc.X.vb.prototype.kx;olympe.dc.X.vb.prototype.setContainedIn=olympe.dc.X.vb.prototype.Bi;olympe.dc.X.vb.prototype.setModelTag=olympe.dc.X.vb.prototype.Rj;function ug(a,b,c){const d={[olympe.dc.Sync.nameProp.R()]:b.name||''},e=olympe.dc.Fa(olympe.dm.Property),f=olympe.dc.Sync.propertyRel.R(),g=b.tag;a.C.push();a.C.Dg(g,e).rh(d).done();a.C.pop();b=b.type;sg(a.C).oa(f,a.R(),g,c);sg(a.C).oa(olympe.dm.Property.typeRel.R(),g,b,c);const h=sg(a.C);a.$.forEach(k=>{h.oa(olympe.dc.Sync.F.R(),g,k,c)})}
823
- olympe.dc.X.Qc=class extends olympe.dc.X.vb{constructor(a,b){super(a,b);this.O=this.C.OBJECT;this.Va=new Map;this.Wa=new Map}wq(a){Y(this);this.O=a;return this}extends(a){return this.wq(a)}Uh(){Y(this);this.setProperty(olympe.dc.Sync.Ja.R(),!0);return this}defineProperty(a,b,c,d){Y(this);this.Va.set(a,new olympe.dc.X.Qc.Property(a,b,c,d));void 0!==d&&super.setProperty(olympe.dc.ag.cd+a,d);return this}Yh(a,b,c,d,e,{Xh:f=0,wi:g=0,Ai:h=0}={}){Y(this);b=new olympe.dc.X.Qc.Relation(a,this.R(),b,c||'',
824
- d,e,h,f,g);this.Wa.set(a,b);return this}L(a){super.L(a);sg(this.C).oa(olympe.dc.Sync.extendRel.R(),this.tag,this.O,a);this.Va.forEach(b=>{ug(this,b,a)});this.Wa.forEach(b=>{this.C.Yh(b.C,b.G,b.F,b.name,b.Op,b.Mp,{Ai:b.Ai,Xh:b.Xh,wi:b.wi},a);const c=sg(this.C);this.$.forEach(d=>{c.oa(olympe.dc.Sync.F.R(),b.C,d,a)})})}};olympe.dc.X.Qc.prototype.defineRelation=olympe.dc.X.Qc.prototype.Yh;olympe.dc.X.Qc.prototype.defineProperty=olympe.dc.X.Qc.prototype.defineProperty;
825
- olympe.dc.X.Qc.prototype['abstract']=olympe.dc.X.Qc.prototype.Uh;olympe.dc.X.Qc.prototype['extends']=olympe.dc.X.Qc.prototype.extends;olympe.dc.X.Qc.prototype.setParentTag=olympe.dc.X.Qc.prototype.wq;olympe.dc.X.Qc.Property=class{constructor(a,b,c,d){this.tag=a;this.type=b;this.name=c||'';this.defaultValue=d}};olympe.dc.X.Qc.Relation=class{constructor(a,b,c,d,e,f,g,h,k){this.C=a;this.G=b;this.F=c;this.name=d;this.Op=e;this.Mp=f;this.Ai=g;this.Xh=h;this.wi=k}};function sg(a,b){return b?a.fa:a.F}function tg(a,b){0<a.L.length&&(b.U||a.F.oa(olympe.dc.Sync.containsRel.R(),a.L[a.L.length-1].R(),b.R(),-1))}
826
- olympe.dc.X.xa=class{constructor(a){if(a&&void 0===a.log)throw Error('Argument of OSaveFileBuilder is not a logger - might be a source, adapt implementing classes');this.F=new olympe.dc.transaction.$g(!0);this.fa=new olympe.dc.transaction.$g(!0);this.N=a||null;this.sa=[];this.La=!1;this.G=null;this.Ja=new Map;this.U=null;this.$=[];this.ia=Object.create(null);this.C=void 0;this.L=[];this.O=!0;this.DEFAULT=olympe.dc.ag.cd;this.OBJECT=olympe.dc.Sync.P.R();this.PROPERTY=olympe.dm.Property.P.R();this.RELATION=
827
- olympe.dm.Relation.P.R();this.STRING=olympe.dm.String.P.R();this.BOOLEAN=olympe.dm.Boolean.P.R();this.NUMBER=olympe.dm.Number.P.R();this.DATETIME=olympe.dm.DateTime.P.R();this.COLOR=olympe.dm.Color.P.R();this.FILE=olympe.dm.File.P.R();this.GOO=olympe.dm.rb.P.R();this.OPERATION=olympe.dm.Ia.P.R();this.ROLE=olympe.dm.Db.P.R();this.USER=olympe.dm.User.P.R();this.ONE_ONE=olympe.dm.Relation.L.Js;this.ONE_MANY=olympe.dm.Relation.L.Vk;this.MANY_ONE=olympe.dm.Relation.L.zs;this.MANY_MANY=olympe.dm.Relation.L.ys;
828
- this.NONE=olympe.dm.Ia.C.NONE;this.READ=olympe.dm.Ia.C.dl;this.READ_CREATE=olympe.dm.Ia.C.gj;this.READ_WRITE=olympe.dm.Ia.C.READ_WRITE;this.READ_DELETE=olympe.dm.Ia.C.Ko;this.READ_CREATE_WRITE=olympe.dm.Ia.C.Xs;this.READ_LINK=olympe.dm.Ia.C.fg;this.READ_CREATE_LINK=olympe.dm.Ia.C.Ws;this.READ_WRITE_LINK=olympe.dm.Ia.C.$s;this.READ_DELETE_LINK=olympe.dm.Ia.C.Zs;this.READ_CREATE_WRITE_LINK=olympe.dm.Ia.C.Ys;this.FULL=olympe.dm.Ia.C.wn;this.RELATION_CREATE=olympe.dm.Relation.G.fl;this.RIGHT_WRITE=olympe.dm.Relation.G.il;
829
- this.RIGHT_LINK=olympe.dm.Relation.G.hl;this.LEFT_WRITE=olympe.dm.Relation.G.Ok;this.LEFT_LINK=olympe.dm.Relation.G.Nk;this.BOTH_WRITE=olympe.dm.Relation.G.bk;this.BOTH_LINK=olympe.dm.Relation.G.$j;this.DUMP_IGNORE=olympe.dm.Relation.C.Pn;this.DUMP_REF=olympe.dm.Relation.C.Oo;this.DUMP_REVERSE_REF=olympe.dm.Relation.C.gt;this.DUMP_UNILATERAL=olympe.dm.Relation.C.oj;this.DUMP_REVERSE_UNILATERAL=olympe.dm.Relation.C.ij;this.DUMP_EVERYTHING=olympe.dm.Relation.C.jn;this.DUMP_DEFAULT=olympe.dm.Relation.C.cd;
830
- this.DUMP_REV_DEFAULT=olympe.dm.Relation.C.ft;this.DELETE_REF=this.DUMP_BOTH_REF=olympe.dm.Relation.C.ak;this.DELETE_REF_AND_DESTINATION=olympe.dm.Relation.C.ct;this.DELETE_REF_AND_ORIGIN=olympe.dm.Relation.C.dt;this.DELETE_EVERYTHING=olympe.dm.Relation.C.jn;this.OLYMPE_AUTHENTICATED_USERS=olympe.dm.Db.O;this.DEFAULT_GOO=olympe.dm.rb.wb}Sp(){return[...this.sa]}push(){this.L.push(this.C);this.C=void 0}pop(){if(this.C)throw Error('Cannot unstack definition: current definition not closed');this.C=this.L.pop()}Ju(){var a=
831
- (g,h)=>{if(!g&&!h)return null;const k={rootTag:this.U};0!==this.$.length&&(k.dependencies=this.$);g&&(k.operations=g);h&&(k.optionalOperations=h);return k};const b=$d(this.F),c=$d(this.fa),d={wd:this.U};var e=a(b.Ye,c.Ye);e&&(d.Ye=e);const f=a(b.de,c.de);e&&(d.de=f);if(e=a(b.hf,c.hf))d.hf=e;if(e=a(b.Ce,c.Ce))d.Ce=e;if(a=a(b.jf,c.jf))d.jf=a;return d}Sv(){return this.U}ix(a){this.O=a}log(...a){this.O&&this.N&&this.N.log(...a)}oh(...a){this.O&&this.N&&this.N.debug(...a)}jq(...a){this.O&&this.N&&this.N.warn(...a)}iq(...a){this.O&&
832
- this.N&&this.N.error(...a)}Gp(a){if(a&&20===a.length&&!this.La){if(this.ia[a])throw Error('Tag '+a+' is used to define more than one keyword');return this.ia[a]=a}this.G=null===this.G?olympe.aa.Il():olympe.aa.Rv(this.G);this.log('Generating new tag to replace '+a+'. New tag is: '+this.G);return this.G}Wl(a){const b=this.Ja.get(a)||1,c=olympe.aa.Wl(a,b);this.Ja.set(a,b+1);return c}ox(a){this.La=a}yu(){}ex(...a){this.oh('Setting as default goo ',a);this.sa=a}mx(a){this.U=a}Mt(a,b,c){this.oh('Adding a dependency to DC module ',
833
- a,' version ',b);this.$.push({moduleName:a,dataModelVersion:c})}Dg(a,b){return(new olympe.dc.X.vb(this,a)).Rj(b)}Kw(a,b){return(new olympe.dc.X.Qc(this,a)).Sj(b)}Jw(a,b){return(new olympe.dc.X.Qc(this,a)).Sj(b).Uh()}lq(a){return new olympe.dc.X.Rc(this,a)}Mw(a){return new olympe.dc.X.Te(this,a)}Kj(a,b,c){this.F.oa(a,b,c,-1)}Lw(a,b,c){return this.lq(this.Gp(c)).wj(olympe.dm.Ia.O.R(),b).Vh(olympe.dm.rb.L.R(),a)}defineProperty(a,b,c,d,e){this.oh('Defining property ',d,' on model ',a);d={[olympe.dc.Sync.nameProp.R()]:d||
834
- ''};void 0!==e&&this.ec(a,{[olympe.dc.ag.cd+c]:e});this.C?(this.push(),this.Dg(c,olympe.dm.Property.P.R()).rh(d).done(),this.pop()):this.Dg(c,olympe.dm.Property.P.R()).rh(d).Bi(a).done();this.Kj(olympe.dc.Sync.propertyRel.R(),a,c);this.Kj(olympe.dm.Property.typeRel.R(),c,b)}Yh(a,b,c,d,e,f,{Xh:g=olympe.dm.Relation.L.Vk,wi:h=olympe.dm.Relation.G.fl,Ai:k=0}={},m=-1){if(void 0===e||null===e)throw Error('Cannot define a relation without defining the dump follow rules (must be set to db.DUMP_<something> and cannot be undefined or null)');
835
- if(void 0===f||null===f)throw Error('Cannot define a relation without defining the delete follow rules (must be set to db.DELETE_<something> and cannot be undefined or null)');const n=olympe.dm.Relation;d={[olympe.dc.Sync.nameProp.R()]:d||'',[n.ul.R()]:g,[n.xi.R()]:h,[n.Bl.R()]:e,[n.Al.R()]:f,[n.mm.R()]:k};this.C?(this.push(),this.Dg(a,n.P.R()).rh(d).done(),this.pop()):this.Dg(a,n.P.R()).rh(d).Bi(b).done();this.F.oa(n.originModelRel.R(),b,a,m);this.F.oa(n.destinationModelRel.R(),a,c,m)}ww(a,b){this.oh('Linking instance ',
836
- a,' to goo ',b);this.F.oa(olympe.dc.Sync.F.R(),a,b,-1)}sw(a,b){this.F.oa(olympe.dm.rb.L.R(),a,b,-1)}tw(a,b){this.F.oa(olympe.dm.Ia.O.R(),a,b,-1)}uw(a,b){this.F.oa(olympe.dm.Db.C.R(),a,b,-1)}ec(a,b,c=!1){this.oh('Updating instance ',a);delete b[olympe.dc.Ob.Jd];delete b[olympe.dc.Ob.VERSION];const d=new Map;Object.keys(b).forEach(e=>{d.set(e,b[e])});this.F.ec(a,d,c,-1)}assign(a,b,c){this.Kj(b,a,c)}au(a,b,c){this.fa.oa(b,a,c,-1)}su(a){return new olympe.dc.Bc(a)}ou(a,b,c,d){const e={c:7};e.r=a;e.g=b;
837
- e.b=c;e.a=d;return e}pu({year:a=1970,month:b=1,day:c=1,hour:d=1,minute:e=0,second:f=0,YB:g=0,mC:h=0}={}){const k={c:4};k.y=a;k.M=b;k.d=c;k.h=d;k.m=e;k.s=f;k.S=g;k.z=h;return k}Nu(a){a=new Date(Date.parse(a));const b={c:4};b.y=a.getFullYear();b.M=a.getMonth()+1;b.d=a.getDate();b.h=a.getHours();b.m=a.getMinutes();b.s=a.getSeconds();b.S=a.getMilliseconds();b.z=-a.getTimezoneOffset();return b}qu(a){a='number'===typeof a?new Date(a):a;const b={c:4};b.h=a.getHours();b.m=a.getMinutes();b.s=a.getSeconds();
838
- b.S=a.getMilliseconds();b.z=a.getTimezoneOffset();b.y=a.getFullYear();b.M=a.getMonth()+1;b.d=a.getDate();return b}ci(a,b,c){return olympe.ca.Fb.Yd.ci(a,c)}Qp(a,b){return olympe.ca.Fb.Yd.ci(a,b)}mb(){throw Error('DeleteRelation method on OSaveFile is deprecated');}lc(){throw Error('DeleteInstance method on OSaveFile is deprecated');}static Dw(a){const b=[],c=[],d=[],e=f=>{b.find(g=>g.moduleName===f.moduleName&&g.dataModelVersion===f.dataModelVersion)||b.push(f)};for(const f of Object.values(a))(f.dependencies||
839
- []).forEach(g=>e(g)),c.push(...(f.operations||[])),d.push(...(f.optionalOperations||[]));a={rootTag:a.wd};0!==b.length&&(a.dependencies=b);0!==c.length&&(a.operations=c);0!==d.length&&(a.optionalOperations=d);return a}};olympe.dc.X.xa.mergeContents=olympe.dc.X.xa.Dw;olympe.dc.X.xa.prototype.deleteInstance=olympe.dc.X.xa.prototype.lc;olympe.dc.X.xa.prototype.deleteRelation=olympe.dc.X.xa.prototype.mb;olympe.dc.X.xa.prototype.generateAuthenticationData=olympe.dc.X.xa.prototype.Qp;
840
- olympe.dc.X.xa.prototype.generateAuthData=olympe.dc.X.xa.prototype.ci;olympe.dc.X.xa.prototype.createDateTimeLegacy=olympe.dc.X.xa.prototype.qu;olympe.dc.X.xa.prototype.fromISODate=olympe.dc.X.xa.prototype.Nu;olympe.dc.X.xa.prototype.createDateTime=olympe.dc.X.xa.prototype.pu;olympe.dc.X.xa.prototype.createColor=olympe.dc.X.xa.prototype.ou;olympe.dc.X.xa.prototype.createReference=olympe.dc.X.xa.prototype.su;olympe.dc.X.xa.prototype.assignOptional=olympe.dc.X.xa.prototype.au;
841
- olympe.dc.X.xa.prototype.assign=olympe.dc.X.xa.prototype.assign;olympe.dc.X.xa.prototype.updateInstance=olympe.dc.X.xa.prototype.ec;olympe.dc.X.xa.prototype.linkRoleToUser=olympe.dc.X.xa.prototype.uw;olympe.dc.X.xa.prototype.linkOperationToRole=olympe.dc.X.xa.prototype.tw;olympe.dc.X.xa.prototype.linkGroupOfObjectsToOperation=olympe.dc.X.xa.prototype.sw;olympe.dc.X.xa.prototype.linkToGroupOfObjects=olympe.dc.X.xa.prototype.ww;olympe.dc.X.xa.prototype.defineRelation=olympe.dc.X.xa.prototype.Yh;
842
- olympe.dc.X.xa.prototype.defineProperty=olympe.dc.X.xa.prototype.defineProperty;olympe.dc.X.xa.prototype.newPermissions=olympe.dc.X.xa.prototype.Lw;olympe.dc.X.xa.prototype.newRelation=olympe.dc.X.xa.prototype.Kj;olympe.dc.X.xa.prototype.newUser=olympe.dc.X.xa.prototype.Mw;olympe.dc.X.xa.prototype.newOperation=olympe.dc.X.xa.prototype.lq;olympe.dc.X.xa.prototype.newAbstractModel=olympe.dc.X.xa.prototype.Jw;olympe.dc.X.xa.prototype.newModel=olympe.dc.X.xa.prototype.Kw;
843
- olympe.dc.X.xa.prototype.newInstance=olympe.dc.X.xa.prototype.Dg;olympe.dc.X.xa.prototype.addDependency=olympe.dc.X.xa.prototype.Mt;olympe.dc.X.xa.prototype.setRootInstanceTag=olympe.dc.X.xa.prototype.mx;olympe.dc.X.xa.prototype.setDefaultGroupOfObjects=olympe.dc.X.xa.prototype.ex;olympe.dc.X.xa.prototype.disableChecks=olympe.dc.X.xa.prototype.yu;olympe.dc.X.xa.prototype.setUseNewTags=olympe.dc.X.xa.prototype.ox;olympe.dc.X.xa.prototype.assignTag=olympe.dc.X.xa.prototype.Gp;
844
- olympe.dc.X.xa.prototype.logError=olympe.dc.X.xa.prototype.iq;olympe.dc.X.xa.prototype.logWarn=olympe.dc.X.xa.prototype.jq;olympe.dc.X.xa.prototype.logDebug=olympe.dc.X.xa.prototype.oh;olympe.dc.X.xa.prototype.log=olympe.dc.X.xa.prototype.log;olympe.dc.X.xa.prototype.setLoggingEnabled=olympe.dc.X.xa.prototype.ix;olympe.dc.X.xa.prototype.getRootInstanceTag=olympe.dc.X.xa.prototype.Sv;olympe.dc.X.xa.prototype.flushContents=olympe.dc.X.xa.prototype.Ju;
845
- olympe.dc.X.xa.prototype.getDefaultGroupOfObjects=olympe.dc.X.xa.prototype.Sp;olympe.dc.X.Rc=class extends olympe.dc.X.vb{constructor(a,b){super(a,b);this.F=0;this.Rj(olympe.dc.Fa(olympe.dm.Ia))}Cp(){Y(this);this.F|=1;this.G.set(olympe.dm.Ia.G.R(),this.F);return this}zp(){Y(this);this.F|=2;this.G.set(olympe.dm.Ia.G.R(),this.F);return this}Fp(){Y(this);this.F|=4;this.G.set(olympe.dm.Ia.G.R(),this.F);return this}Ap(){Y(this);this.F|=8;this.G.set(olympe.dm.Ia.G.R(),this.F);return this}Bp(){Y(this);this.F|=16;this.G.set(olympe.dm.Ia.G.R(),this.F);return this}Lt(){this.Cp().Ap().zp().Bp().Fp();
846
- return this}bu(a){this.Vh(olympe.dm.rb.L.R(),a);return this}cu(a){this.wj(olympe.dm.Ia.O.R(),a);return this}};olympe.dc.X.Rc.prototype.associateToRole=olympe.dc.X.Rc.prototype.cu;olympe.dc.X.Rc.prototype.associateToGoo=olympe.dc.X.Rc.prototype.bu;olympe.dc.X.Rc.prototype.addAllPermissions=olympe.dc.X.Rc.prototype.Lt;olympe.dc.X.Rc.prototype.addLinkPermission=olympe.dc.X.Rc.prototype.Bp;olympe.dc.X.Rc.prototype.addDeletePermission=olympe.dc.X.Rc.prototype.Ap;
847
- olympe.dc.X.Rc.prototype.addWritePermission=olympe.dc.X.Rc.prototype.Fp;olympe.dc.X.Rc.prototype.addCreatePermission=olympe.dc.X.Rc.prototype.zp;olympe.dc.X.Rc.prototype.addReadPermission=olympe.dc.X.Rc.prototype.Cp;olympe.dc.X.Bf=class extends olympe.dc.X.Qc{constructor(a,b,c){super(a,b);this.F=this.description=null;this.setProperty(olympe.dm.BrickMetadata.lb.R(),olympe.dm.BrickMetadata.qc.Ss);null!==c&&this.Dp(c)}Dp(a){this.Bi(a);this.Vh(olympe.dm.Lb.G.R(),a);return this}hx(a){this.G.set(olympe.dm.Rd.Wa.R(),a);return this}fx(a){Y(this);this.description=a;return this}nx(a){Y(this);this.F=a;return this}L(a){super.L(a);if(null!==this.description||null!==this.F)this.C.push(),a=this.C.Dg(this.C.Wl(this.tag),olympe.sc.oc.P.R()),
848
- this.description&&a.setProperty(olympe.sc.oc.C.R(),this.description),this.F&&a.setProperty(olympe.sc.oc.L.R(),this.F),a.Bi(this.tag).Ep(this.tag).wj(olympe.sc.oc.G.R(),this.tag).done(),this.C.pop()}};olympe.dc.X.Bf.prototype.setSummary=olympe.dc.X.Bf.prototype.nx;olympe.dc.X.Bf.prototype.setDescription=olympe.dc.X.Bf.prototype.fx;olympe.dc.X.Bf.prototype.setIcon=olympe.dc.X.Bf.prototype.hx;olympe.dc.X.Bf.prototype.addToFolder=olympe.dc.X.Bf.prototype.Dp;olympe.dc.X.Te=class extends olympe.dc.X.vb{constructor(a,b){super(a,b);this.F=this.O=null;this.Rj(olympe.dc.Fa(olympe.dm.User))}px(a){Y(this);this.O=a;return this}nm(a){Y(this);this.F=a;return this}gx(){return this}du(a){Y(this);this.Vh(olympe.dm.User.C.R(),a);return this}L(a){super.L(a);if(null==this.O||''===this.O)throw Error('A username must be set when calling new User');if(null==this.F||''===this.F)throw Error('A password must be set when calling new User');const b=this.C.Qp(this.O,this.F),
849
- c=new Map;c.set(olympe.dm.User.loginProp.R(),b.login);c.set(olympe.dm.User.saltProp.R(),b.salt);c.set(olympe.dm.User.verifierProp.R(),b.verifier);sg(this.C).ec(this.R(),c,!1,a)}};olympe.dc.X.Te.prototype.awardRole=olympe.dc.X.Te.prototype.du;olympe.dc.X.Te.prototype.setDomain=olympe.dc.X.Te.prototype.gx;olympe.dc.X.Te.prototype.setPassword=olympe.dc.X.Te.prototype.nm;olympe.dc.X.Te.prototype.setUsername=olympe.dc.X.Te.prototype.px;olympe.dc.X.T={Er:'dc.io.IOService',Rg:'dc.io.IOUrlsProvider'};olympe.V.Cb(function(a){ra(a,olympe.dc.X.T.Rg);B(a,olympe.dc.X.T.Er,[olympe.ya.T.ua,olympe.Ca.T.ua,olympe.ca.T.ua,olympe.dc.X.T.Rg],b=>new olympe.dc.X.Yn(b.Cc('dc.io')))},'olympe.dc.io');olympe.dc.X.TB=function(a,b,c=!1){if(a.startsWith('@')||a.startsWith('v'))return!1;a.startsWith(olympe.dc.ag.cd)&&(a=a.substring(1));const d=olympe.dc.Xa();return b?c?Cd(d,a,b):Cd(d,a,d.model(b)):d.Hb(a)};olympe.Za={};olympe.Za.Df=class{da(){}Tc(){}ia(){}fa(){}$(){}close(){}};olympe.Za.ra={ot:1,Ps:2,dz:3,ek:4,py:5};olympe.Za.Vg=class{constructor(a,b,c,d){this.N=a;this.Ra=new olympe.D.ic('Local source');this.F=new Map;this.sa=b;this.C=c;this.Ja=this.G=null;this.O=this.L=!1;d.get('syncTimeout');d.get('autoSync')&&this.Wa();d.get('autoPersist')&&this.Va()}lb(a){this.Ja=a}$b(a){const b=olympe.D.Ha().C(a);a=new olympe.async.Mh;a.add((c,d)=>{this.U(e=>e?d(e.message):c())});a.add((c,d)=>{this.La(e=>{e?d(e.message):c()})});a.add((c,d)=>{this.C.storage.F(d)});yb(a,(c,d)=>{b(c?null:Error(d))});a.start()}wb(a,b,c,d,e){const f=
850
- olympe.dc.ma.ra.nl,g=olympe.dc.ma.ra.lk,h=new olympe.dc.db.Pc,k=new olympe.async.yf(olympe.D.Ha()),m=(n,p,q)=>{const r=n.tag(),t=n.Ib(olympe.dm.File.mimeTypeProp.R());Fb(this.C,u=>{olympe.dc.nv().ce(r,u,t,w=>{n.Ba(olympe.dm.File.urlProp.R(),w);const x=new Map;x.set(olympe.dm.File.urlProp.R(),w);h.ec(r,x);this.C.storage.C(q)})})};for(const n of c)(c=a.Nb(n))&&c.U()&&k.add(m.bind(this,c));yb(k,(n,p)=>{n?(n=vc(new olympe.dc.ma(f,a,[b.da()]),q=>{q?e(q.message):(this.G(b.da(),g,h),q=Array.from(a.fe()).map(r=>
851
- r.tag()),olympe.dc.Sc().persist(q),d())}),b.ia(n)):e(`Transaction synchronisation failed! ${p?p:''}`)});k.start()}La(a){const b=olympe.async.Mh.create(),c=b.G;b.add((d,e)=>{this.C.storage.F(e)});b.add((d,e,f)=>{const g=olympe.dc.Qa.kb,h=f.get('files'),k=new olympe.async.yf(c);this.F.forEach((m,n)=>{if(n!==g){const p=this.Ja.L(n);null!==p?(k.add(this.wb.bind(this,m,p,h)),this.C.storage.C(void 0)):e(`The source: ${n} is not reachable.`)}});yb(k,(m,n)=>{m?d():e(n||void 0)});k.start()});yb(b,(d,e)=>{a(d?
852
- null:Error(e));d&&(this.O=!1,this.F.clear())});b.start()}U(a){const b=new olympe.async.Mh(olympe.D.Ha());b.add((c,d)=>{Cb(this.C,e=>null===e?c():d(e))});b.add(c=>{const d=olympe.dc.Sc();this.F.forEach((e,f)=>{const g=Array.from(e.fe()).map(h=>h.tag());Ic(d,e,g,[],f)(!0)});c()});yb(b,(c,d)=>{a(d?Error(d):null)});b.start()}da(){return olympe.dc.Qa.kb}Tc(){return''}ia(a){var b=olympe.dc.ma.ra.Qh,c=olympe.dc.ma.ra.vh;const d=olympe.dc.ma.ra.zh,e=olympe.dc.ma.ra.yh,f=olympe.dc.ma.ra.$f,g=olympe.dc.ma.ra.xk,
853
- h=olympe.dc.ma.ra.rj,k=olympe.dc.ma.ra.nk,m=olympe.dc.ma.ra.Mi;var n=olympe.dc.ma.ra.tk;const p=a.type;switch(p){case f:a.validate(null);this.C.storage.G(void 0);this.U(w=>{null!==w&&this.N.error(`Could not load transactions: ${w.message}`)});break;case b:case c:const q=a.content;a.C.forEach(w=>{let x=this.F.get(w);void 0===x&&(x=new olympe.dc.db.Pc,this.F.set(w,x));q.G(x);this.L&&(this.O=!0)});a.validate(null);a=olympe.dc.transaction.lg.C.vo;this.G(olympe.dc.Qa.kb,n,{id:q.da(),finalize:a});break;
854
- case e:case d:const r=a.C[0],t=a.content;a.validate(null);Ab(this.C,t.da(),w=>{this.N.warn('No graphresult for subscription : '+t.da(),w,'\n',t.Ag.toJSON());this.N.warn();this.G(r,g,new olympe.dc.query.Bh(t.da(),r,olympe.dc.Qa.kb,new olympe.dc.db.Pc))});break;case h:case m:case k:n=a.content;b=n.file;const u=n.Fg;c=n.Qf;p===h?Eb(this.C,b,n.content,n.mimeType,u,c):p===m?Fb(this.C,w=>{u(w)}):this.C.storage.C(c);a.validate(null)}}fa(a){this.G=a}$(){}close(){this.Ra.fb()}Wa(){olympe.D.Yb([Ob(this.sa)],
855
- a=>{if(a.valueOf()){const b=this.F.keys();this.La(c=>{if(c)this.N.error('An error occurred while auto synchronising:\n'+c.message);else if(this.N.debug('Auto synchronise transactions successfully'),this.L)for(const d of b)Db(this.C,e=>{this.N.error(`Could not clear transactions for ${d}: ${e}.`)})})}})}Va(){let a;olympe.D.Yb([Ob(this.sa)],b=>{b.valueOf()?(this.L=!1,a&&(cc(a),a=null)):(this.L=!0,a=bc(()=>{if(this.O){this.O=!1;for(const c of this.F.keys())Bb(this.C,c,this.F.get(c),()=>{},d=>{this.N.error(`Could persist transaction for ${c}: ${d}`)})}},
856
- 5E3))})}};olympe.Za.Vg.C='context';olympe.Za.Vg.ka=[olympe.Za.Df];function vg(a,b){const c=b.da();a.C[c]?a.N.error('Attempt to register a source twice'):(a.C[c]=b,a.N.debug(`New source '${c}' added to the router.`))}olympe.Za.va=class{constructor(a){this.N=a;this.C=Object.create(null);this.F=Object.create(null)}forEach(a){const b=Object.keys(this.C);for(let c=0,d=b.length;c<d;c++)a(this.C[b[c]])}};olympe.Za.kj=class{C(){}};olympe.Za.Buffer=class{constructor(){this.counter=0;this.bc=new Map}buffer(a){const b=this.counter++;this.bc.set(b,a);return this.C.bind(this,b)}C(a){this.bc.delete(a)}};olympe.Za.Af=class a{constructor(b,c,d,e,f,g){this.N=b;this.U=c;this.$=new olympe.Za.Buffer(this);this.za=d;this.G=this.wb(g);this.Va=e;this.Ra=new olympe.D.ic('Data Router context');this.F=new Map;this.ia=new Map;this.Wa(f)}Wa(b){this.N.info('Initializing DR layer');vg(this.za,b);b.fa(this.Ja.bind(this));b.$(this.fa.bind(this));b.lb(this);this.O((c,d)=>{this.N.debug('Source event occurred',d,'fired by source',c);if(d===olympe.dc.Nh.Xn&&(d=this.za,d.C[c])){const e=d.C[c];delete d.F[c];delete d.C[c];
857
- e.close();d.N.debug('Peer connection closed :',c)}});olympe.D.Cj(Ob(this.U),()=>{this.N.info('Router: ONLINE')},()=>{this.N.log('Router: OFFLINE (no auth layer not online)');for(const c of this.$.bc.values())this.La(c)});this.N.log('DONE initializing DR layer (waiting for AUTH layer session to be established)')}send(b){vc(b,this.$.buffer(b));this.La(b)}sa(b){return(b=this.L(b))?b.Tc():''}C(b,c){const d=olympe.aa.Qb();let e=this.F.get(b);void 0===e&&(e=new Map,this.F.set(b,e));e.set(d,c)}O(b){this.ia.set(olympe.aa.$e(),
858
- b)}Ja(b,c,d){this.F.has(c)&&this.F.get(c).forEach(e=>{e(b,d)})}L(b,c=!0){let d=this.za.C[b]||null;if(!c||null!==d)return d;d=this.Ra.run(()=>this.Va.C(b,this));vg(this.za,d);return d}fa(b,c){this.ia.forEach(d=>{d(b,c)})}La(b){this.N.debug('Processing message',b.toString());const c=b.type!==olympe.dc.ma.ra.ml&&b.type!==olympe.dc.ma.ra.wk;this.lb(b).forEach(d=>{(d=this.L(d,c))&&d.ia(b)})}lb(b){var c=olympe.dc.ma.ra.$f,d=olympe.dc.ma.ra.yh,e=olympe.dc.ma.ra.zh,f=olympe.dc.ma.ra.Qh,g=olympe.dc.ma.ra.vh;
859
- const h=olympe.dc.ma.ra.rj,k=olympe.dc.ma.ra.nk,m=olympe.dc.ma.ra.Mi;switch(b.type){case c:e=this.G.get(a.C.$f)||[];break;case d:case e:e=this.G.get(a.C.bl)||[];break;case f:case g:e=this.G.get(a.C.zt)||[];break;case h:case m:case k:e=this.G.get(a.C.ir)||[];break;default:e=[]}c=b.content;d=!Pb(this.U);for(var n of e)if(e=n,f=c&&c.da&&c.da(),g=e.get('type'),g===a.F.Tk&&d||g===a.F.Nn&&e.get('id')===f||g===a.F.cd)return n=n.get('destinations'),this.N.debug('Message',b.toString(),'is redirect to',n),
860
- n;this.N.debug('Message',b.toString(),'not redirect');return b.C}wb(b){const c=Object.values(olympe.Za.Af.C),d=Object.values(olympe.Za.Af.F);b=Object.entries(b);const e=new Map;b.forEach(([f,g])=>{if(c.includes(f))if(g instanceof Array){var h=[];e.set(f,h);g.forEach(k=>{const m=k.type;if(d.includes(m)){var n=k.destinations;n instanceof Array?(n=(new Map).set('type',m).set('destinations',n),h.push(n),m===a.F.Nn&&n.set('id',k.id)):this.N.error('Routing rule',f,m,'is not valid. Destinations must be stored in an array')}else this.N.error('Routing rule',
861
- f,m,'is not valid. Valid rules are',d.toString())})}else this.N.error('Routing rule',f,'is not valid. Rules must be ordered in an array');else this.N.error('Routing rule',f,'is not valid. Valid messages are',c.toString())});return e}};olympe.Za.Af.C={$f:'getContext',bl:'query',zt:'transaction',ir:'file'};olympe.Za.Af.F={cd:'default',Tk:'offline',Nn:'id'};olympe.Za.Af.ka=[olympe.dc.Af];olympe.Za.T={ua:'dr.Manager',Ga:'dr.Logger',Wo:'dr.SourceRegistry',oe:'dr.sources.Router',bh:'dr.sources.Factory',Yi:'dr.sources.Local'};olympe.Za.Z={xm:'dr.autoSync',wm:'dr.autoPersist',ap:'dr.syncTimeout',Ro:'dr.routing'};
862
- olympe.V.Cb(function(a){C(a,olympe.Za.Z.Ro,{});C(a,olympe.Za.Z.xm,!1);C(a,olympe.Za.Z.wm,!1);C(a,olympe.Za.Z.ap,3E4);B(a,olympe.Za.T.Ga,[olympe.ya.T.ua],b=>b.Cc('dr'));y(a,olympe.Za.T.Wo,olympe.Za.va,olympe.Za.T.Ga);B(a,olympe.Za.T.Yi,[olympe.Za.T.Ga,olympe.ca.T.ua,olympe.Xb.T.Vm,new olympe.V.la(olympe.Za.Z.xm),new olympe.V.la(olympe.Za.Z.wm),new olympe.V.la(olympe.Za.Z.ap)],(b,c,d,e,f,g)=>{e=(new Map).set('autoSync',e).set('autoPersist',f).set('syncTimeout',g);return new olympe.Za.Vg(b,c,d,e)});
863
- y(a,olympe.Za.T.oe,olympe.Za.Af,olympe.Za.T.Ga,olympe.ca.T.ua,olympe.Za.T.Wo,olympe.Za.T.bh,olympe.Za.T.Yi,new olympe.V.la(olympe.Za.Z.Ro));qa(a,olympe.dc.T.oe,olympe.Za.T.oe);ra(a,olympe.Za.T.bh);B(a,olympe.dc.query.fc.Xi,[olympe.dc.query.fc.Xi],b=>new olympe.dc.al(b))},'olympe.dr');olympe.J={};olympe.J.xc={Kg:1,qf:2,wc:3,Le:4,Rq:5,Ch:6,xz:7};olympe.J.ra={Ch:1,Et:2,hr:3,Eh:5};olympe.J.qa=class{O(){}connect(){}pi(){}zd(){}yc(){}se(){}Nc(){}G(){}nh(){}ze(){}Ra(){}ti(){}rq(){}uq(){}};olympe.J.qa.C={INIT:'initialize',CONNECTING:'connecting',Ie:'disconnected',Jg:'connected',wc:'error'};olympe.J.qa.G={Uk:1,nr:-1,Dr:-2,xt:-3};function wg(a,b,c,d,e,f){const g=gc(a.L+'/'+b,olympe.Ca.Rb.Ih.Fo,c,olympe.Ca.Rb.ResponseType.Zj);hc(g,{Authorization:olympe.D.Sa(Rb(a.F)),[olympe.Ca.Rb.Headers.Tm]:d||'application/octet-stream'});a.G.ye(g,h=>{h=h.status;h===olympe.Ca.Rb.Qe.Uk||h===olympe.Ca.Rb.Qe.Nm?(h=new URL(g.C()),e(h.pathname)):f&&(h=`Failed to create file ${b}. Response code ${h}`,a.N.error(h),f(h))})}
864
- function xg(a,b,c,d,e,f){const g=olympe.D.Ha();e={Fg:g.C(e),Qf:f&&g.C(f)};if(a.C.has(b))a.C.get(b).push(e);else{a.C.set(b,[e]);if(null===c){var h=gc(a.L+'/'+b);hc(h,{Authorization:olympe.D.Sa(Rb(a.F))})}else h=gc(c);h.F=olympe.Ca.Rb.ResponseType.Zj;hc(h,{[olympe.Ca.Rb.Headers.Tm]:d||'application/octet-stream'});a.O.run(()=>{a.G.ye(h,k=>{const m=k.status,n=a.C.get(b);if(200<=m&&300>m){const p=k.data;n&&n.forEach(q=>{if(g.G()){const r=g.qc(),t=g.da();a.N.warn(`Context ${r} ${t} is being destroyed while file tag ${b} is being downloaded`)}q.Fg(p)})}else{const p=
865
- `Failed to download file ${b}. Response code ${m}`;n&&n.forEach(q=>{q.Qf&&q.Qf(p)})}a.C.delete(b)})})}}function yg(a,b,c,d){const e=gc(a.L+'/'+b,olympe.Ca.Rb.Ih.DELETE);hc(e,{Authorization:olympe.D.Sa(Rb(a.F))});a.G.ye(e,f=>{f=f.status;200<=f&&300>f?c():(f=`Failed to delete file ${b}. Response code ${f}`,a.N.error(f),d&&d(f))})}olympe.J.kr=class{constructor(a,b,c,d){this.N=a;this.G=b;this.F=c;this.L=d;this.C=new Map;this.O=new olympe.D.ic('File manager context')}};const zg=olympe.dc.ma.ra.$f,Ag=olympe.dc.ma.ra.Qh,Bg=olympe.dc.ma.ra.nl,Cg=olympe.dc.ma.ra.vh,Dg=olympe.dc.ma.ra.Yo,Eg=olympe.dc.ma.ra.ml,Fg=olympe.dc.ma.ra.yh,Gg=olympe.dc.ma.ra.zh,Hg=olympe.dc.ma.ra.wk,Ig=olympe.dc.ma.ra.Dn,Jg=olympe.dc.ma.ra.xk,Kg=olympe.dc.ma.ra.nk,Lg=olympe.dc.ma.ra.Mi,Mg=olympe.dc.ma.ra.rj,Ng=olympe.dc.ma.ra.tk,Og=olympe.dc.ma.ra.Dt,Pg=olympe.dc.ma.ra.bt,Qg=olympe.dc.ma.ra.pr,Rg=olympe.dc.ma.ra.Cm,Sg=olympe.dc.ma.ra.Oq;
866
- function Tg(a){a.F.Ra(olympe.J.xc.Kg,a.Va.bind(a));olympe.D.Yb([Ob(a.L)],b=>{b=b.valueOf()?olympe.dc.Nh.Bo:olympe.dc.Nh.Tk;a.U&&a.U(a.id,b)},'Server source is online')}function Ug(a,b,c){const d=new olympe.dc.transaction.$g(!0);b.G(d);Vg(a,a.wb,Ag,!0,ae(d),e=>{c&&c(e);a.C(olympe.dc.Qa.ed,Ng,{id:b.da(),finalize:olympe.dc.transaction.lg.C.Gs})})}
867
- function Wg(a,b,c,d){const e=c.da();a.N.log('Graphdef (ID ',e,') sent: ',c);const f=c instanceof olympe.dc.query.Fk?a.Wa:a.La,g=(new olympe.J.Y.Ri).na(c);c=new olympe.async.yf(a.O);b===Gg&&c.add((k,m)=>{a.G.set(e,{notification:null,Uw:a.O.C(n=>n?m(n):k())});Z(a,b,g,n=>n&&m(n.message))});const h=olympe.D.Ha();c.add((k,m)=>{h.run(()=>{Vg(a,f,Fg,!1,g,a.O.C(n=>n?m(n.message):k()))})});yb(c,(k,m)=>{const n=a.G.get(e);k&&n&&n.notification?a.C(a.id,Ig,n.notification):!k&&n&&Xg(a,Hg,e,p=>p&&a.N.warn(p));
868
- a.G.delete(e);k&&b===Gg&&a.F.rq(e);d(m?Error(m):null)});c.start()}function Xg(a,b,c,d){a.N.log('Unsubscribe to: ',c);a.F.uq(c);Z(a,b,{i:c},d)}
869
- function Yg(a,b,c,d){const e=new olympe.dc.query.Go,f=c.da();var g=c.Zc();let h=g;olympe.D.ab(g)&&(h=e.add(g));let k;try{k=Zg(a,c.ef(),e)}catch(n){d(Error(`serialization failed for subscription "${f}": ${n.message}`));return}const m=olympe.J.Df.C.Cr;g=$g(e);c={i:c.da(),y:m,b:h};k&&(c.q=k);g&&(c.p=g);Z(a,b,c,d);e.forEach((n,p)=>{olympe.D.ab(n)&&olympe.D.Yb([n],q=>ah(a,f,bh(p,q),r=>null!==r&&a.N.warn(r)))})}function Z(a,b,c,d){b={c:b};Object.assign(b,c);a.F.G(olympe.J.xc.Kg,b,d&&(e=>{d(e)}))}
870
- function Vg(a,b,c,d,e,f){if(a.F.O()){const g=olympe.J.xc.Kg;!d&&e&&Object.assign(e,{c});c=olympe.D.Sa(Rb(a.L)).valueOf();a.F.nh(b,g,c,d,e,f)}else a.N.error('Server is disconnected, data request of type',c,'on url',b,'is canceled.'),f(Error('Server is disconnected'))}function Zg(a,b,c){return b&&0<b.length?ch(a.lb,b,c):null}function ah(a,b,c,d){c&&Z(a,olympe.dc.ma.ra.qt,{i:b,p:c},d)}
871
- olympe.J.Df=class{constructor(a,b,c,d,e,f){this.id=a;this.N=b;this.F=c;this.L=e;this.lb=new olympe.J.Y.cl;this.U=this.C=null;this.O=new olympe.D.ic('Server source context');this.sa=new olympe.dc.aa.Ls(this.id);this.Ja=new olympe.J.kr(this.N,d,this.L,f[0]);if(7!==f.length)throw Error('Some HTTP end points to the orchestrator are not specified ! Please check DI of olympe.communication module; wants 7 urls but got: '+f.length);this.Ra=f[3];this.Wa=f[4];this.La=f[5];this.wb=f[6];this.G=new Map;Tg(this)}da(){return this.id}Tc(){return olympe.D.Sa(this.L.zg())}ia(a){var b=
872
- a.type;const c=a.validate.bind(a);a=a.content;switch(b){case zg:Vg(this,this.Ra,olympe.dc.ma.ra.$f,!1,null,c);break;case Cg:b=new olympe.dc.transaction.$g;var d=a.ad;a=a.Bg;d.G(b);Z(this,olympe.dc.ma.ra.vh,{i:d.da(),r:a,p:ae(b)});c(null);break;case Ag:b=new olympe.dc.transaction.$g;d=a.ad;a=a.Bg;d.G(b);Z(this,olympe.dc.ma.ra.Qh,{i:d.da(),r:a,p:ae(b)},c);break;case Bg:Ug(this,a.ad,c);break;case Fg:case Gg:Wg(this,b,a,c);break;case Hg:Xg(this,b,a,c);break;case Dg:Yg(this,b,a,c);break;case Eg:Z(this,
873
- b,{i:a},c);break;case Og:Z(this,Og,{},c);break;case Pg:Z(this,Pg,{},c);break;case Qg:Z(this,Qg,{},c);break;case Rg:Z(this,Rg,a,c);break;case Sg:Z(this,Sg,{},c);break;case Lg:case Kg:case Mg:b===Lg?xg(this.Ja,a.file,a.url,a.mimeType,a.Fg,a.Qf):b===Mg?wg(this.Ja,a.file,a.content,a.mimeType,a.Fg,a.Qf):yg(this.Ja,a.file,a.Fg,a.Qf);c();break;default:this.N.info(`Message of type ${b} not supported yet`)}}fa(a){this.C=a}$(a){this.U=a}close(){this.U(this.id,olympe.dc.Nh.Xn);this.O.fb()}Va(a){var b=olympe.dc.ma.ra.lk,
874
- c=olympe.dc.ma.ra.Dm;const d=olympe.dc.ma.ra.bj,e=olympe.dc.ma.ra.pt;var f=olympe.dc.ma.ra.co;const g=olympe.dc.ma.ra.qr,h=a.c;h===b?(a=this.sa.F(a.p),this.C(this.id,b,a)):h===c?(b=a.error.reason,f=this.sa.F(a.p),this.C(this.id,c,{id:a.i,rollback:f,error:b})):h===Jg?(c=olympe.dc.Qa.kb,b=olympe.dc.Qa.ed,f=a.i,0<a.s?c=new olympe.dc.query.$h.Ti(f,b,c,a.info.error.reason):(c=this.sa.O(f,c,a.p),this.N.debug('< Graphdef Result (ID ',c.da(),'):',a.p),this.N.log('< Graphdef Result (ID ',c.da(),') with',c.F().O(),
875
- 'operations')),this.C(this.id,Jg,c)):h===Ig?(c=a.i,a=this.sa.L(c,a.p),this.G.has(c)?(c=this.G.get(c),c.notification?Ee(a,c.notification):c.notification=a):this.C(this.id,Ig,a)):h===f?(c=new olympe.dc.query.ko(a.i),a.l.forEach(c.F.bind(c)),this.C(this.id,f,c)):h===d?this.C(this.id,Ng,{id:a.i,finalize:olympe.dc.transaction.lg.C.bj,error:0<a.s?a.info.error.reason:null}):h===e?(c=this.G.get(a.i))&&c.Uw(0<a.s?a.info.error.reason:null):h===g&&this.C(this.id,g,{QB:a.ids,nC:a.undo_stack_size,iC:a.redo_stack_size})}};
876
- olympe.J.Df.C={Cr:1,fA:2};olympe.J.Df.F={100:'Insufficient Rights',200:'Constraints',300:'IOException',400:'Unexpected',500:'Non Existing Subscription'};olympe.J.Df.ka=[olympe.Za.Df];olympe.J.kj=class{constructor(a,b,c,d,e){this.N=a;this.O=b;this.G=c;this.F=d;this.L=e}C(a,b){a=new olympe.J.Df(a,this.N,this.O,this.G,this.F,this.L);a.fa(b.Ja.bind(b));a.$(b.fa.bind(b));return a}};olympe.J.kj.ka=[olympe.Za.kj];olympe.J.Ui=class{constructor(){}};olympe.J.Ui.ka=[olympe.dc.X.Ui];olympe.J.Ea={};function dh(a){return new Promise(b=>a.C.end(!1,()=>b()))}function eh(a,b,c){mc(a.C,b,d=>{d=new olympe.J.Ea.bc.Request(d.dest,d.src,d.auth,d.seq,d.type,d.content);return c(d)})}function fh(a,b,c){a.G.set(b,c)}function gh(a,b){return new Promise((c,d)=>{nc(a.C,b,e=>e?d(e):c())})}function hh(a,b){return new Promise((c,d)=>{a.O.yg(b.Nd(),(e,f)=>e?d(e):c(f))})}
877
- olympe.J.Ea.qa=class{constructor(a,b,c,d){this.N=a;this.O=c;this.G=new Map;a=d.get('url');d=d.get('connectionOptions');this.C=new olympe.Ca.aj(a,d);this.F=1;this.L=olympe.aa.Qb()}connect(){return new Promise(a=>{kc(this.C)?a():this.C.connect(()=>{mc(this.C,this.L,b=>{b=new olympe.J.Ea.bc.Response(b.dest,b.src,b.seq,b.type,b.content);const c=this.G.get(b.G);c&&c(b);this.G.delete(b.G)});a()})})}Gg(a,b,c){return new Promise((d,e)=>{const f=a.source,g=new olympe.J.Ea.bc.Response(f,this.L,a.F,b,c);lc(this.C,
878
- f,g.na(),h=>h?e(h):d())})}request(a,b,c){return new Promise((d,e)=>{const f=this.F;this.F++;var g=olympe.D.Sa(Rb(this.O));g=new olympe.J.Ea.bc.Request(a,this.L,g,f,b,c);lc(this.C,a,g.na(),h=>h?e(h):d(f))})}notify(a,b,c){return new Promise((d,e)=>{var f=this.F;this.F++;f=new olympe.J.Ea.bc.Response(b,a,f,olympe.J.Ea.bc.Response.ra.Rh,c);lc(this.C,b,f.na(),g=>g?e(g):d())})}};olympe.J.Ea.bc={};olympe.J.Ea.bc.Request=class{constructor(a,b,c,d,e,f){this.F=d;this.L=a;this.source=b;this.G=c;this.O=e;this.C=f||null}Nd(){return this.G}na(){return{dest:this.L,src:this.source,seq:this.F,auth:this.G,type:this.O.toString(),content:this.C}}toString(){return JSON.stringify(this)}};olympe.J.Ea.bc.Request.ra={Zf:'GET',dk:'CALL',hg:'SUBSCRIBE'};olympe.J.Ea.bc.Response=class{constructor(a,b,c,d,e){this.G=c;this.L=a;this.source=b;this.F=d;this.C=e||null}na(){return{dest:this.L,src:this.source,seq:this.G,type:this.F.toString(),content:this.C}}toString(){return JSON.stringify(this)}};olympe.J.Ea.bc.Response.ra={Rh:'VALUE',rm:'ACK',wc:'ERROR'};olympe.J.Ea.eb={};olympe.J.Ea.eb.pc=class{constructor(a){this.C=olympe.J.Ea.mc();this.F=a;this.N=olympe.ya.tb(`Service ${this.F}`)}start(){return this.C.connect()}Hj(){return new rxjs.Observable(a=>{eh(this.C,this.F,b=>a.next(new olympe.J.Ea.eb.ma(b,this.C)));return()=>gh(this.C,this.F).catch(b=>this.N.error('Failed to unsubscribe from '+this.F+', error: '+b))})}stop(){return dh(this.C)}};olympe.J.Ea.eb.pc.prototype.stop=olympe.J.Ea.eb.pc.prototype.stop;olympe.J.Ea.eb.pc.prototype.listen=olympe.J.Ea.eb.pc.prototype.Hj;
879
- olympe.J.Ea.eb.pc.prototype.start=olympe.J.Ea.eb.pc.prototype.start;olympe.J.Ea.eb.Uq=class extends olympe.J.Ea.eb.pc{toString(){return`CallService with id ${this.F}`}};olympe.J.Ea.eb.In=class extends olympe.J.Ea.eb.pc{toString(){return`GetService with id ${this.F}`}};olympe.J.Ea.eb.Oh=class extends olympe.J.Ea.eb.pc{constructor(a){super(a);this.Lj=olympe.aa.Qb()}Hj(){return new rxjs.Observable(a=>{eh(this.C,this.F,b=>{this.C.Gg(b,olympe.J.Ea.bc.Response.ra.Rh,{Lj:this.Lj}).catch(c=>a.error(c));a.next()});return()=>gh(this.C,this.F).catch(b=>this.N.error('Failed to unsubscribe from a SubscribeService with error '+b))})}notify(a){return this.C.notify(this.F,this.Lj,a)}};olympe.J.Ea.eb.Oh.prototype.notify=olympe.J.Ea.eb.Oh.prototype.notify;
880
- olympe.J.Ea.eb.Oh.prototype.listen=olympe.J.Ea.eb.Oh.prototype.Hj;olympe.J.Ea.eb.Client=class{static call(a,b){return new Promise((c,d)=>{const e=olympe.J.Ea.mc();e.connect().then(()=>e.request(a,olympe.J.Ea.bc.Request.ra.dk,b)).then(f=>{fh(e,f,g=>{g.F===olympe.J.Ea.bc.Response.ra.rm?c():d(g.C.errorMessage)})}).catch(f=>d(f))})}static get(a,b){return new Promise((c,d)=>{const e=olympe.J.Ea.mc();e.connect().then(()=>e.request(a,olympe.J.Ea.bc.Request.ra.Zf,b)).then(f=>{fh(e,f,g=>{const h=g.C;h&&g.F===olympe.J.Ea.bc.Response.ra.Rh?c(h):d(null!==h?h.errorMessage:'no payload')})}).catch(f=>
881
- d(f))})}static observe(a,b){return new rxjs.Observable(c=>{const d=olympe.J.Ea.mc();let e=null;d.connect().then(()=>d.request(a,olympe.J.Ea.bc.Request.ra.hg,b)).then(f=>{fh(d,f,g=>{const h=g.C;h&&g.F===olympe.J.Ea.bc.Response.ra.Rh?(e=h.Lj,eh(d,e,k=>{k.C?c.next(k.C):c.error('No payload')})):c.error(null!==h?h.errorMessage:'No payload')})}).catch(f=>c.error(f));return()=>e&&gh(d,e).catch(f=>olympe.ya.tb('ServiceClient').error('Failed to unsubscribe from a topic '+f))})}};
882
- olympe.J.Ea.eb.Client.observe=olympe.J.Ea.eb.Client.observe;olympe.J.Ea.eb.Client.get=olympe.J.Ea.eb.Client.get;olympe.J.Ea.eb.Client.call=olympe.J.Ea.eb.Client.call;olympe.J.Ea.eb.ma=class{constructor(a,b){this.request=a;this.C=b}De(){return hh(this.C,this.request)}body(){return this.request.C}Kt(){return this.C.Gg(this.request,olympe.J.Ea.bc.Response.ra.rm,void 0)}Gg(a){return this.C.Gg(this.request,olympe.J.Ea.bc.Response.ra.Rh,a)}Pp(a){return this.C.Gg(this.request,olympe.J.Ea.bc.Response.ra.wc,{errorMessage:a.message})}};olympe.J.Ea.eb.ma.prototype.fail=olympe.J.Ea.eb.ma.prototype.Pp;olympe.J.Ea.eb.ma.prototype.reply=olympe.J.Ea.eb.ma.prototype.Gg;
883
- olympe.J.Ea.eb.ma.prototype.ack=olympe.J.Ea.eb.ma.prototype.Kt;olympe.J.Ea.eb.ma.prototype.body=olympe.J.Ea.eb.ma.prototype.body;olympe.J.Ea.eb.ma.prototype.userTag=olympe.J.Ea.eb.ma.prototype.De;olympe.J.Pb={};function ih(a,b,c,d){c.c=b;a.C.G(olympe.J.xc.Le,c,d)}
884
- olympe.J.Pb.Ua=class{constructor(a,b,c){this.N=a;this.C=b;this.sa=c}G(a){this.C.zd(a)}F(a){this.C.se(a)}ia(a){this.C.ti(olympe.J.xc.Le,'logoutHandler');this.C.Ra(olympe.J.xc.Le,b=>{const c=b.c;c===olympe.J.Pb.Ua.C.ss?(this.C.ze(),a(olympe.ca.qa.F.Ei,b)):c===olympe.J.Pb.Ua.C.it&&a(olympe.ca.qa.F.On,b)},'logoutHandler')}L(a,b){ih(this,olympe.J.Pb.Ua.C.Le,{token:a.vg()},(c,d)=>{if(null!==c)b(c);else switch(d.c){case olympe.J.Pb.Ua.C.wc:b(Error('Invalid token'));break;case olympe.J.Pb.Ua.C.Lh:b(null);
885
- break;default:b(Error('Unknown response from server'))}})}$(a,b){ih(this,olympe.J.Pb.Ua.C.yr,{I:a.Tc()},(c,d)=>{if(null!==c)b(c);else switch(d.c){case olympe.J.Pb.Ua.C.wc:b(Error(`Username '${a.Tc()}' invalid, or password does not match`));break;case olympe.J.Pb.Ua.C.rt:c=d.payload;b(null,c.S,c.B);break;default:b(Error('Unknown response from server'))}})}fa(a,b){ih(this,olympe.J.Pb.Ua.C.Eq,{A:a.get('a'),M:a.get('m1'),I:a.Tc()},(c,d)=>{if(null!==c)b(c);else switch(d.c){case olympe.J.Pb.Ua.C.wc:this.N.debug('Login failed, invalid username or password');
886
- b(Error('Invalid username or password'));break;case olympe.J.Pb.Ua.C.Lh:c=d.payload;this.N.debug('Login successful, creating token');b(null,new olympe.ca.kg(c.userName,c.userTag,c.rndCook));break;default:b(Error(`Unknown response from server (type ${d.c})`))}})}U(a){ih(this,olympe.J.Pb.Ua.C.pe,{},(b,c)=>{null!==b?a(b):c.url&&c.request?a(null,c.url,c.request.replace(/\s/g,''),c.id):a(Error('Missing parameters from server response'))})}O(a){this.C.G(olympe.J.xc.Le,{c:olympe.J.Pb.Ua.C.ts},a)}qh(a){this.C.G(olympe.J.xc.Le,
887
- {c:olympe.J.Pb.Ua.C.Eh},a)}yg(a,b,c){this.C.nh(this.sa+'/'+a,olympe.J.xc.Le,b,!1,null,(d,e)=>{c(d,e)})}};olympe.J.Pb.Ua.C={Le:1,ts:2,wc:3,Eh:5,Lh:6,yr:10,rt:11,Eq:12,pe:13,it:14,ss:20};olympe.J.Pb.Ua.ka=[olympe.ca.st,olympe.ca.Fb.Pb.Gh,olympe.ca.Fb.Pb.Yd,olympe.ca.Fb.Pb.pe];olympe.J.Y={};olympe.J.Y.Mc=function(){};olympe.J.Y.Mc.prototype.na=function(){};olympe.J.Y.je=function(){};olympe.J.Y.je.prototype.na=function(){};olympe.J.Y.Sb=function(){};olympe.J.Y.Sb.prototype.na=function(){};olympe.J.Y.re=function(){};olympe.J.Y.re.prototype.na=function(){};olympe.J.Y.cl=function(){this.W={};this.qb={};this.ba={};this.ha=Object.create(null);var a=new olympe.J.Y.W.Ab;this.W[O(olympe.dc.W.Ab)]=a;a=new olympe.J.Y.W.Wd;this.W[O(olympe.dc.W.Wd)]=a;a=new olympe.J.Y.W.Tb;this.W[O(olympe.dc.W.Tb)]=a;this.W[O(olympe.dc.W.rd)]=new olympe.J.Y.W.rd;this.W[O(olympe.dc.W.Xc)]=new olympe.J.Y.W.Xc;this.W[O(olympe.dc.W.xd)]=new olympe.J.Y.W.xd;this.W[O(olympe.dc.W.Wc)]=new olympe.J.Y.W.Wc;a=new olympe.J.Y.qb.Number;this.qb[O(olympe.dc.qb.Number)]=a;a=new olympe.J.Y.qb.String;
888
- this.qb[O(olympe.dc.qb.String)]=a;this.ba[O(olympe.dc.ba.od)]=new olympe.J.Y.ba.od;this.ba[O(olympe.dc.ba.Td)]=new olympe.J.Y.ba.Td;this.ba[O(olympe.dc.ba.$d)]=new olympe.J.Y.ba.$d;this.ba[O(olympe.dc.ba.Ed)]=new olympe.J.Y.ba.Ed;this.ba[O(olympe.dc.ba.Oe)]=new olympe.J.Y.ba.Oe;this.ba[O(olympe.dc.ba.me)]=new olympe.J.Y.ba.me;a=new olympe.J.Y.ba.Je;this.ba[O(olympe.dc.ba.Je)]=a;a=new olympe.J.Y.ba.Ke;this.ba[O(olympe.dc.ba.Ke)]=a;this.ha[O(olympe.dc.ha.Oc)]=new olympe.J.Y.ha.Oc;a=new olympe.J.Y.ha.Id;
889
- this.ha[O(olympe.dc.ha.Id)]=a;a=new olympe.J.Y.ha.Kd;this.ha[O(olympe.dc.ha.Kd)]=a;a=new olympe.J.Y.ha.Pd;this.ha[O(olympe.dc.ha.Pd)]=a;a=new olympe.J.Y.ha.Fd;this.ha[O(olympe.dc.ha.Fd)]=a;this.ha[O(olympe.dc.ha.Re)]=new olympe.J.Y.ha.Re};olympe.J.Y.cl.prototype.constructor=olympe.J.Y.cl;
890
- function ch(a,b,c){var d='[';for(let k=0,m=b.length;k<m;k++){var e=0===k?'':',';var f=a;var g=b[k],h=c;const n=g.ja(),p=f.W[n];if(void 0===p)throw Error('No serializer registered for transformer: '+n);f=p.na(g,h,f);d+=e+f}return d+']'}function jh(a,b,c){var d=b.ja(),e=a.ba[d];if(void 0===e)throw Error('No predicate registered for predicate: '+d);return e.na(b,c,a)}function kh(a,b,c){var d=b.ja(),e=a.ha[d];if(void 0===e)throw Error('No valueDef registered for valueDef: '+d);return e.na(b,c,a)}
891
- function $g(a){var b='';a.forEach(function(c,d){c&&c.ae&&(c=L(c));void 0!==c&&(c=JSON.stringify(c&&c.valueOf()),b+=(b?',':'')+'"'+d+'":'+c)});return b?'{'+b+'}':''}function bh(a,b){b&&b.ae&&(b=L(b));return void 0!==b?'{"'+a+'":'+JSON.stringify(b&&b.valueOf())+'}':''}
892
- function lh(a,b){return a&&a.ae?'"$'+b.add(a)+'"':a instanceof olympe.D.ga||a instanceof olympe.D.ea?String(a):a instanceof olympe.D.Pa?'"'+a+'"':a instanceof olympe.D.Ya?(a=a.xq(),String(`{"c":4,"y":${a.getUTCFullYear()},"M":${a.getUTCMonth()+1},"d":${a.getUTCDate()},"h":${a.getUTCHours()},"m":${a.getUTCMinutes()},"s":${a.getUTCSeconds()},"S":${a.getUTCMilliseconds()},"z":0}`)):a instanceof olympe.D.Color?'{"c":7,"r":'+a.xg().valueOf()+',"g":'+a.ug().valueOf()+',"b":'+a.pg().valueOf()+',"a":'+a.og().valueOf()+
893
- '}':a instanceof olympe.dc.Bc?'{"c":8,"t":"'+a.R()+'"}':JSON.stringify(a)};olympe.J.Y.Ri=class{na(a){const b=Object.create(null);b.i=a.da();b.b=[a.wd];b.m=!0;b.v=!0;b.f=a instanceof olympe.dc.query.Fk?pe(a.Ag):olympe.dc.ob.NONE;b.q=Ie(a).map(this.C.bind(this));return b}C(a){const b=a.wf,c=b.Oa()===olympe.dc.Ka.ORIGIN?olympe.J.Y.W.Ab.C.Ug:olympe.J.Y.W.Ab.C.ah,d=Object.create(null);d.t=b.R();d.d=c;d.v=a.apply;d.r=b.recursive;d.q=a.qg().map(this.C.bind(this));return d}};olympe.J.Y.W={};olympe.J.Y.W.Wc=function(){};olympe.J.Y.W.Wc.prototype.constructor=olympe.J.Y.W.Wc;olympe.J.Y.W.Wc.prototype.na=function(){return'{"y":15}'};olympe.J.Y.W.Wc.ka=[olympe.J.Y.Mc];olympe.J.Y.W.Xc=function(){};olympe.J.Y.W.Xc.prototype.constructor=olympe.J.Y.W.Xc;olympe.J.Y.W.Xc.prototype.na=function(a,b,c){return'{"y":21,"p":'+jh(c,a.C,b)+'}'};olympe.J.Y.W.Xc.ka=[olympe.J.Y.Mc];olympe.J.Y.W.Wd=function(){};olympe.J.Y.W.Wd.prototype.constructor=olympe.J.Y.W.Wd;olympe.J.Y.W.Wd.prototype.na=function(a){var b=null!==a.Oa()?a.Oa()===olympe.dc.Ka.ORIGIN?olympe.J.Y.W.Ab.C.Ug:olympe.J.Y.W.Ab.C.ah:olympe.J.Y.W.Ab.C.Bm;return'{"y":12,"t":'+JSON.stringify(lg(a))+',"d":'+b+'}'};olympe.J.Y.W.Wd.ka=[olympe.J.Y.Mc];olympe.J.Y.W.Tb=function(){};olympe.J.Y.W.Tb.prototype.constructor=olympe.J.Y.W.Tb;olympe.J.Y.W.Tb.prototype.na=function(a){const b=null!==a.Oa()?a.Oa()===olympe.dc.Ka.ORIGIN?olympe.J.Y.W.Ab.C.Ug:olympe.J.Y.W.Ab.C.ah:olympe.J.Y.W.Ab.C.Bm;return'{"y":11,"t":"'+a.R()+'","d":'+b+',"s":'+a.F+',"e":'+a.C+'}'};olympe.J.Y.W.Tb.ka=[olympe.J.Y.Mc];olympe.J.Y.W.Ab=function(){};olympe.J.Y.W.Ab.C={Bm:0,Ug:1,ah:2};olympe.J.Y.W.Ab.prototype.constructor=olympe.J.Y.W.Ab;olympe.J.Y.W.Ab.prototype.na=function(a){const b=a.Oa()===olympe.dc.Ka.ORIGIN?olympe.J.Y.W.Ab.C.Ug:olympe.J.Y.W.Ab.C.ah;return'{"y":10,"t":"'+a.R()+'","d":'+b+'}'};olympe.J.Y.W.Ab.ka=[olympe.J.Y.Mc];olympe.J.Y.W.rd=function(){};olympe.J.Y.W.rd.prototype.constructor=olympe.J.Y.W.rd;olympe.J.Y.W.rd.prototype.na=function(a,b,c){var d=a.C;const e=d.ja();var f=c.qb[e];if(void 0===f)throw Error('No comparator registered for comparator: '+e);return'{"y":20,"o":'+f.na(d,b,c)+(a.F?'':',"a":false')+'}'};olympe.J.Y.W.rd.ka=[olympe.J.Y.Mc];olympe.J.Y.W.xd=function(){};olympe.J.Y.W.xd.prototype.constructor=olympe.J.Y.W.xd;olympe.J.Y.W.xd.prototype.na=function(a,b){var c=a.start;c=c&&c.ae?'"$'+b.add(c)+'"':JSON.stringify(c);a=(a=a.Rp())&&a.ae?'"$'+b.add(a)+'"':JSON.stringify(a);return'{"y":22,"s":'+c+',"n":'+a+'}'};olympe.J.Y.W.xd.ka=[olympe.J.Y.Mc];olympe.J.Y.qb={};olympe.J.Y.qb.Number=class{constructor(){}na(a,b,c){return`{"y":11,"v":${kh(c,a.C,b)}}`}};olympe.J.Y.qb.Number.ka=[olympe.J.Y.je];olympe.J.Y.qb.String=class{constructor(){}na(a,b,c){return`{"y":10,"v":${kh(c,a.C,b)}}`}};olympe.J.Y.qb.String.ka=[olympe.J.Y.je];olympe.J.Y.ba={};olympe.J.Y.ba.Ed=function(){};olympe.J.Y.ba.Ed.prototype.constructor=olympe.J.Y.ba.Ed;olympe.J.Y.ba.Ed.prototype.na=function(a,b,c){const d=kh(c,a.source,b);c=kh(c,a.value,b);a=lh(a.G,b);return'{"y":20,"s":'+d+',"v":'+c+',"a":'+a+'}'};olympe.J.Y.ba.Ed.ka=[olympe.J.Y.Sb];olympe.J.Y.ba.od=function(){};olympe.J.Y.ba.od.prototype.constructor=olympe.J.Y.ba.od;olympe.J.Y.ba.od.prototype.na=function(a,b,c){const d=kh(c,a.G,b);a=kh(c,a.L,b);return'{"y":10,"l":'+d+',"r":'+a+'}'};olympe.J.Y.ba.od.ka=[olympe.J.Y.Sb];olympe.J.Y.ba.Td=function(){};olympe.J.Y.ba.Td.prototype.constructor=olympe.J.Y.ba.Td;olympe.J.Y.ba.Td.prototype.na=function(a,b,c){const d=kh(c,a.G,b);a=kh(c,a.L,b);return'{"y":11,"l":'+d+',"r":'+a+'}'};olympe.J.Y.ba.Td.ka=[olympe.J.Y.Sb];olympe.J.Y.ba.Je=class{na(a){const b=fg(a).map(d=>'"'+d+'"'),c=gg(a).map(d=>d===olympe.dc.Ka.DESTINATION?'2':'1');a=a.L;return'{"y":81,"r":['+b.toString()+'],"d":['+c.toString()+']'+(0!==a.length?',"t":"'+a.toString()+'"':'')+'}'}};olympe.J.Y.ba.Je.ka=[olympe.J.Y.Sb];olympe.J.Y.ba.Ke=class{na(a){return'{"y":80,"m":['+Array.from(a.G).map(b=>'"'+b+'"').toString()+']}'}};olympe.J.Y.ba.Ke.ka=[olympe.J.Y.Sb];olympe.J.Y.ba.me=class{na(a,b,c){return'{"y":30,"p":'+jh(c,a.G,b)+'}'}};olympe.J.Y.ba.me.ka=[olympe.J.Y.Sb];olympe.J.Y.ba.Oe=class{na(a,b,c){c=kh(c,a.source,b);const d=a.L;a=lh(a.G,b);return'{"y":23,"s":'+c+',"r":"'+d+'","a":'+a+'}'}};olympe.J.Y.ba.Oe.ka=[olympe.J.Y.Sb];olympe.J.Y.ba.$d=function(){};olympe.J.Y.ba.$d.prototype.constructor=olympe.J.Y.ba.$d;olympe.J.Y.ba.$d.prototype.na=function(a,b,c){var d=kh(c,a.G,b);a=kh(c,a.L,b);return'{"y":12,"l":'+d+',"r":'+a+'}'};olympe.J.Y.ba.$d.ka=[olympe.J.Y.Sb];olympe.J.Y.ha={};olympe.J.Y.ha.Ac=function(){};olympe.J.Y.ha.Ac.prototype.constructor=olympe.J.Y.ha.Ac;olympe.J.Y.ha.Ac.prototype.C=function(){};olympe.J.Y.ha.Ac.prototype.na=function(a,b,c){var d=lh(a.O,b),e=a.Zc();e=e?',"b":'+lh(e,b):'';a=(a=a.ef())?',"q":'+ch(c,a,b):'';return'{"y":'+this.C()+',"t":'+d+e+a+'}'};olympe.J.Y.ha.Ac.ka=[olympe.J.Y.re];olympe.J.Y.ha.Pd=function(){olympe.J.Y.ha.Ac.call(this)};olympe.J.Y.ha.Pd.prototype=Object.create(olympe.J.Y.ha.Ac.prototype);olympe.J.Y.ha.Pd.prototype.constructor=olympe.J.Y.ha.Pd;olympe.J.Y.ha.Pd.prototype.C=function(){return 13};olympe.J.Y.ha.Oc=function(){};olympe.J.Y.ha.Oc.prototype.constructor=olympe.J.Y.ha.Oc;olympe.J.Y.ha.Oc.prototype.na=function(a,b){return'{"y":10,"v":'+lh(a.value,b)+'}'};olympe.J.Y.ha.Oc.ka=[olympe.J.Y.re];olympe.J.Y.ha.Fd=function(){olympe.J.Y.ha.Ac.call(this)};olympe.J.Y.ha.Fd.prototype=Object.create(olympe.J.Y.ha.Ac.prototype);olympe.J.Y.ha.Fd.prototype.constructor=olympe.J.Y.ha.Fd;olympe.J.Y.ha.Fd.prototype.C=function(){return 14};olympe.J.Y.ha.Id=function(){olympe.J.Y.ha.Ac.call(this)};olympe.J.Y.ha.Id.prototype=Object.create(olympe.J.Y.ha.Ac.prototype);olympe.J.Y.ha.Id.prototype.constructor=olympe.J.Y.ha.Id;olympe.J.Y.ha.Id.prototype.C=function(){return 11};olympe.J.Y.ha.Kd=function(){olympe.J.Y.ha.Ac.call(this)};olympe.J.Y.ha.Kd.prototype=Object.create(olympe.J.Y.ha.Ac.prototype);olympe.J.Y.ha.Kd.prototype.constructor=olympe.J.Y.ha.Kd;olympe.J.Y.ha.Kd.prototype.C=function(){return 12};olympe.J.Y.ha.Re=class{na(){return'{"y":19}'}};olympe.J.Y.ha.Re.ka=[olympe.J.Y.re];olympe.J.Dc={};olympe.J.Dc.qa=class{constructor(a,b,c,d){this.N=a;this.qc=b;this.La=c;this.F=null;this.Cb=d;this.xe=this.Cb.get('reconnectionDelay');this.rc=d.get('autoConnect');this.Jx=d.get('retryHttpOverload');this.sa=olympe.aa.Ue.parse(d.get('clientVersion'));this.lb=olympe.aa.Ue.parse(d.get('serverVersion'));this.C=olympe.J.qa.C.INIT;this.wb=d.get('getContextMode');this.qq=1;this.ia=new Map;this.Va=new Map;this.L=olympe.D.Ec(olympe.D.ga,'Server is online');this.ve=new Map;this.yd=new Map;this.$b=[];this.fa=
894
- new Map;this.vc=new Set;this.Ja=0;this.xx(d)}O(){return this.C===olympe.J.qa.C.Jg}connect(){this.rc=!0;this.N.log('Asking NET layer for a connection to',dc(this.La)+':'+this.La.port,'...');this.F=this.qc.$(this.La);this.F.sa(this.ze.bind(this));this.F.ia(this.oi.bind(this));this.F.fa(()=>{this.F=null;this.C===olympe.J.qa.C.Jg&&2>this.Ja?(this.Ja++,setTimeout(()=>{this.connect()},100)):this.C!==olympe.J.qa.C.wc&&(this.Ja=0,this.U(olympe.J.qa.C.Ie))});0===this.Ja&&this.U(olympe.J.qa.C.CONNECTING)}pi(){const a=
895
- olympe.J.qa.C.CONNECTING;if(this.C===olympe.J.qa.C.Jg||this.C===a)this.rc=!1,this.U(olympe.J.qa.C.Ie)}zd(a,b){void 0===b&&(b=olympe.aa.Qb());this.ve.set(b,a);olympe.D.Sa(this.L)===olympe.D.ga.F&&a()}yc(a){this.ve.delete(a)}se(a,b){void 0===b&&(b=olympe.aa.Qb());this.yd.set(b,a);olympe.D.Sa(this.L)===olympe.D.ga.C&&a()}Nc(a){this.yd.delete(a)}ze(){this.Ja=0;this.N.debug('Websocket connected, sending handshake. Client version:',Ea(this.sa),'subscribeEverything:',this.wb?'NO':'YES');this.G(olympe.J.xc.Ch,
896
- {c:olympe.J.ra.Ch,cv:Ea(this.sa),m:this.wb?0:1},this.Cx.bind(this))}G(a,b,c){const d=this.qq;this.qq++;b={seqId:d,messageFamily:a,payload:b};void 0!==c&&this.ia.set(d,this.Ix(c));this.O()||a===olympe.J.xc.Ch&&this.C===olympe.J.qa.C.CONNECTING?(a=JSON.stringify(b),this.N.debug('>',this.Wa(b)),this.F.send(a),void 0!==c&&this.fa.set(d,Date.now())):this.$b.push(b)}nh(a,b,c,d,e,f){c&&''!==c||this.N.warn('Trying to send an http request with an invalid authorizationToken');const g=gc(a);if(e){g.method=olympe.Ca.Rb.Ih.Yk;
897
- e=d?e:{messageFamily:b,seqId:1,payload:e};const k=JSON.stringify(e);g.body=k;hc(g,{'Content-Type':'application/json'});this.N.log('HTTP POST >',this.Wa(e))}else this.N.log('HTTP GET call to',a);g.F=olympe.Ca.Rb.ResponseType.mj;hc(g,{Authorization:c});const h=()=>{this.qc.ye(g,k=>{switch(k.status){case olympe.Ca.Rb.Qe.Uk:case olympe.Ca.Rb.Qe.Nm:case olympe.Ca.Rb.Qe.Ei:k=k.data;if(b!==olympe.J.xc.Kg||d){f&&f(null,k);break}k=this.oi(k);f&&f(k);k&&this.N.error(k.message);break;case olympe.Ca.Rb.Qe.lt:$b(h,
898
- this.Jx);break;case olympe.Ca.Rb.Qe.Lq:this.N.debug(`HTTP request canceled (${a}).`);f&&f(null);break;default:k=Error(`Server is currently not available, http status: ${k.status}`),f&&f(k)}})};h()}Ra(a,b,c){void 0===c&&(c=olympe.aa.Qb());let d=this.Va.get(a);void 0===d&&(d=new Map,this.Va.set(a,d));d.set(c,b)}ti(a,b){a=this.Va.get(a);void 0!==a&&a.delete(b)}rq(a){this.vc.add(a)}uq(a){this.vc.delete(a)}xx(a){this.N.info('Initializing SERVER layer');if(this.N.G()){const b=['Server layer parameters:'];
899
- a.forEach((c,d)=>{b.push(d+'="'+c+'"')});this.N.debug(b.join('\n\t'))}this.Ra(olympe.J.xc.wc,b=>{switch(b.c){case olympe.J.ra.Et:this.N.error('Unknown message sent to the server:',olympe.J.qa.F[b.s]);break;case olympe.J.ra.hr:this.N.error('Fatal error, the last message is probably too big according to the websocket config.'),this.fa.forEach((c,d)=>{this.Mj(d,b.i)})}});a.get('autoConnect')&&(this.N.debug('Connecting automatically'),this.connect());olympe.D.Cj(this.L.xb(),()=>{for(const b of this.ve.values())b();
900
- bc(this.Oj.bind(this),3E4,'checkTimeoutMessages')},()=>{for(const b of this.yd.values())b();cc('checkTimeoutMessages');this.Oj()});this.N.log('DONE initializing SERVER layer (waiting for NET layer connection to be opened)')}U(a){if(this.C!==a)switch(this.N.log('State change '+this.C+' --\x3e '+a),this.C=a,a){case olympe.J.qa.C.CONNECTING:break;case olympe.J.qa.C.Jg:this.L.update(olympe.D.ga.F);olympe.D.Cj(this.qc.L().Eg(),this.Jj.bind(this,this.xe/4));break;case olympe.J.qa.C.wc:this.N.error('Connection to server',
901
- this.La.C(),'aborted due to error');this.L.update(olympe.D.ga.C);break;case olympe.J.qa.C.Ie:this.L.update(olympe.D.ga.C);this.rc&&(this.N.info('Disconnected, will try to auto reconnect in',this.xe,'ms'),$b(()=>{this.connect()},this.xe));break;default:throw Error('State machine error in server manager. Should not get in state '+a);}}Cx(a,b){if(a)this.$('Error in receiving handshake response: '+a.message);else{this.N.debug('Handshake response received');a=olympe.J.qa.G;var c=b.sv||'undefined',d=b.activityTimeout?
902
- Math.max(b.activityTimeout-60,5):null;switch(b.status){case a.Dr:this.$(`Framework version (${Ea(this.sa)}) provided to the orchestrator was not valid. See orchestrator logs for more info.`);return;case a.xt:this.$(`Framework version (${Ea(this.sa)}) is not compatible with the orchestrator in use. See orchestrator logs for more info.`);return;case a.nr:this.$('Handshake failed. See orchestrator logs for more info.');return}if(this.lb.Eb(olympe.aa.Ue.C))this.N.warn('Handshake successful but received server version',
903
- c,'is invalid. Cannot check against it');else try{const f=olympe.aa.Ue.parse(c);var e=this.lb;if(f.C!==e.C?f.C<e.C:f.F!==e.F?f.F<e.F:f.G<e.G){this.$(`Framework v${Ea(this.sa)} is expecting Orchestrator to be at least in v${Ea(this.lb)}`);return}this.N.log('Handshake successful. Orchestrator version: ',f,'required:',Ea(this.lb))}catch(f){this.$(f);return}this.Hx(c,d)}}$(a){this.N.error(a);this.U(olympe.J.qa.C.wc)}Hx(a,b){this.N.info('Connected to',this.La.C(),' | ',a?'server version:'+a:'',null!==
904
- b?`activity timeout: ${b}s`:'');this.U(olympe.J.qa.C.Jg);null===b||this.wb||this.Kx(b);this.$b.forEach(c=>{const d=JSON.stringify(c);this.N.debug('>',this.Wa(c));this.F.send(d);c=c.seqId;this.ia.has(c)&&this.fa.set(c,Date.now())});this.$b.length=0}Kx(a){cc('keepAliveSubscription');const b=bc(()=>{this.O()?this.G(olympe.J.xc.Kg,{c:olympe.J.ra.Eh,subIds:Array.from(this.vc)},(c,d)=>c&&this.N.error(d)):b.cancel()},1E3*a,'keepAliveSubscription')}Jj(a){if(this.C===olympe.J.qa.C.Jg){var b=olympe.D.Ha(),
905
- c='onConnectionLost'+olympe.aa.Qb();this.N.debug('Sending Ping');this.G(olympe.J.xc.Rq,{c:1},()=>{ac(c);b.G()||b.run(()=>{$b(this.Jj.bind(this,a),4*a,c)})});$b(()=>{this.N.debug('Force close websocket after offline for',a);olympe.D.tg().run(()=>{this.C!==olympe.J.qa.C.Ie&&(this.F&&this.F.close(),this.U(olympe.J.qa.C.Ie))})},a,c)}}Ix(a){const b=olympe.J.qa.L.Lh,c=olympe.J.qa.L.Ds;return d=>{if(null!==d&&void 0!==d){var e=null,f=d.s;if(f===c)this.N.debug(`Try to unsubscribe multiple times. This could be because you logged out before unsubscribe. ${d.info.error.reason}`);
906
- else if(void 0!==f&&f!==b){e=void 0!==olympe.J.qa.F[f]?`Status code = ${f} [${olympe.J.qa.F[f]}]`:`Status code = ${f}`;f=d.info;if(void 0!==f&&void 0!==f.error){var g=f.error.reason;'string'===typeof g&&0<g.length&&(e+=`\nReason:\n${f.error.reason}`);g=f.error.detailedReason;'string'===typeof g&&0<g.length&&(e+=`\nDetails:\n${f.error.detailedReason}`)}e=Error('Rejected by orchestrator:\n'+e)}a(e,d)}}}oi(a){try{var b=JSON.parse(a)}catch(d){return this.N.error('Unable to parse response from server: '+
907
- d.toString()),Error('Unable to parse response from server')}this.N.debug('<',this.Wa(b));a=b.seqId;const c=b.messageFamily;b=b.payload;if(this.fa.delete(a)){const d=this.ia.get(a);d&&d(b);this.ia.delete(a)}a=this.Va.get(c);if(void 0!==a)for(const d of a.values())d(b);return null}Oj(){const a=Date.now();for(const [b,c]of this.fa)3E4<a-c&&(this.N.warn(`No response was received from the server for the seqId = ${b}`),this.Mj(b,{error:{reason:'Message timeout: never receive acknowledge'}}))}Mj(a,b){if(this.fa.delete(a)){b=
908
- {s:23,info:b};const c=this.ia.get(a);c&&c(b);this.ia.delete(a)}}Wa(a){var b=JSON.parse(JSON.stringify(a));a=olympe.aa.Xp;const c=b.messageFamily,d=a(olympe.J.xc,c),e=b.payload;b='';switch(c){case olympe.J.xc.Kg:b=a(olympe.dc.ma.ra,e.c);break;case olympe.J.xc.wc:b=a(olympe.J.ra,e.c);break;case olympe.J.xc.Le:b=a(olympe.J.Pb.Ua.C,e.c);break;case olympe.J.xc.Ch:2===e.c&&(b=a(olympe.J.qa.G,e.status))}a=`${d} message`;b&&0<b.length&&(a+=` with payload "${b}"`);return a}};olympe.J.Dc.qa.F=1E3;
909
- olympe.J.Dc.qa.G=3E4;olympe.J.Dc.qa.C='checkTimeoutMessages';olympe.J.qa.L={Lh:0,Ds:18,bz:23};
910
- olympe.J.qa.F={0:'OK',1:'SRP Authentication First Step Failed',2:'SRP Authentication Last Step Failed',3:'SRP Authentication Bad Credentials',4:'AutoLogin Authentication Failed',5:'AutoLogin Authentication Token Invalid',6:'Logout Failed',7:'SAML Request Generation Failed',8:'SAML Authentication Save Failed',9:'Invalid SAML Response',10:'SAML User Not Found',11:'Transaction Failed',12:'GetContext Failed',13:'Notification Failed',15:'FileService Clean Failed',17:'Try to subscribe multiple times',18:'Try to unsubscribe multiple times',
911
- 21:'GraphDef Query Failed',22:'Client Request Invalid',23:'Internal Server Error',24:'File Retrieval Error',25:'File Does Not Exists',26:'Restore Failed',27:'Permission Error',14:'Handshake Failed',28:'Client Version Too Old',29:'Client Version Invalid Format',34:'Server overloaded, retry later',35:'Add token error',36:'Keep token alive error',37:'Unknown client message',39:'Fetch data while concurrency transaction'};olympe.J.Dc.qa.ka=[olympe.J.qa];olympe.J.T={ua:'server.Manager',Fm:'server.bus.Manager',Ga:'server.Logger',bh:'server.SourceFactory',sn:'server.FileSvcHttpRequest',Dk:'server.ImportFileSvcHttpRequest',Yj:'server.BackupSvcHttpRequest',An:'server.GetContextSvcPathRequest',Qn:'server.ImplicitGDSvcPathRequest',kn:'server.ExplicitGDSvcPathRequest',jp:'server.TransactionOverHttpPathRequest',pp:'server.UserTokenRequest',Rg:'server.IOUrlsProvider'};olympe.J.bd={sh:'server.connectors.Auth',Kz:'server.connectors.Signaling'};
912
- olympe.J.Z={Ud:'server.host',ne:'server.port',Zd:'server.ssl',tm:'server.autoConnect',Lo:'server.reconnectionDelay',Mo:'server.reconnectionShortDelay',Qo:'server.retryHttpOnOverload',Lm:'server.clientVersion',Uo:'server.serverVersion',Em:'bus.host',Gm:'bus.path',Hm:'bus.port',Im:'bus.vhost',Eh:'bus.keepalive',et:'bus.reschedulePings',Pq:'bus.clientId',Nq:'bus.clean',at:'bus.reconnectPeriod',Sq:'bus.connectTimeout',np:'bus.username',Do:'bus.password',Us:'bus.queueQoSZero'};
913
- olympe.J.Gb={ie:'server.basePath',tp:'server.wsPath',qn:'server.filePath',Sn:'server.importFilePath',Am:'server.backupSvcPath',zn:'server.GetContextSvcPath',Rn:'server.ImplicitGraphdefSvcPath',ln:'server.ExplicitGraphdefSvcPath',ip:'server.TransactionOverHttpPath',op:'server.userTokenSvcPath'};
914
- olympe.V.Cb(function(a){var b='object'===typeof window&&window.location&&window.location.hostname||'localhost';const c='localhost'===b;C(a,olympe.J.Z.Ud,b);C(a,olympe.J.Z.ne,c?8080:443);C(a,olympe.J.Z.Zd,'localhost'!==b);C(a,olympe.J.Gb.ie,'OlympeServer');C(a,olympe.J.Gb.tp,'websocket');C(a,olympe.J.Gb.qn,'rest/filesvc');C(a,olympe.J.Gb.Sn,'rest/importsvc');C(a,olympe.J.Gb.Am,'rest/backupsvc');C(a,olympe.J.Gb.zn,'rest/initialData');C(a,olympe.J.Gb.Rn,'rest/querysvc/graphDefImplicit');C(a,olympe.J.Gb.ln,
915
- 'rest/querysvc/graphDefExplicit');C(a,olympe.J.Gb.ip,'rest/transaction');C(a,olympe.J.Gb.op,'rest/token');C(a,olympe.J.Z.tm,!0);C(a,olympe.J.Z.Lo,5E3);C(a,olympe.J.Z.Mo,500);C(a,olympe.J.Z.Qo,5E3);C(a,olympe.J.Z.Uo,'5.9.4');C(a,olympe.J.Z.Em,'');C(a,olympe.J.Z.Gm,c?'':'/mqtt');C(a,olympe.J.Z.Hm,c?15675:443);C(a,olympe.J.Z.Im,c?'/':'');C(a,olympe.J.Z.np,'guest');C(a,olympe.J.Z.Do,'guest');b=a.getParameter(olympe.Pf.Z.vn);if(void 0!==b)sa(a,b);else throw Error('Framework version could not be found! Is field "olympe-framework" present in version.json?');
916
- B(a,olympe.J.T.Ga,[olympe.ya.T.ua],d=>d.Cc('communication'));B(a,'server.WebSocketRequest',[new olympe.V.la(olympe.J.Z.Ud),new olympe.V.la(olympe.J.Z.ne),new olympe.V.la(olympe.J.Z.Zd),new olympe.V.la(olympe.J.Gb.ie),new olympe.V.la(olympe.J.Gb.tp)],(d,e,f,g,h)=>new olympe.Ca.sj(d,e,(g+'/'+h).replace(/\/+/g,'/').replace(/\/$/,''),f));b=(d,e,f,g,h)=>(new olympe.Ca.Bk(d,e,(g+'/'+h).replace(/\/+/g,'/').replace(/\/$/,''),f)).C();B(a,olympe.J.T.sn,[new olympe.V.la(olympe.J.Z.Ud),new olympe.V.la(olympe.J.Z.ne),
917
- new olympe.V.la(olympe.J.Z.Zd),new olympe.V.la(olympe.J.Gb.ie),new olympe.V.la(olympe.J.Gb.qn)],b);B(a,olympe.J.T.Dk,[new olympe.V.la(olympe.J.Z.Ud),new olympe.V.la(olympe.J.Z.ne),new olympe.V.la(olympe.J.Z.Zd),new olympe.V.la(olympe.J.Gb.ie),new olympe.V.la(olympe.J.Gb.Sn)],b);B(a,olympe.J.T.Yj,[new olympe.V.la(olympe.J.Z.Ud),new olympe.V.la(olympe.J.Z.ne),new olympe.V.la(olympe.J.Z.Zd),new olympe.V.la(olympe.J.Gb.ie),new olympe.V.la(olympe.J.Gb.Am)],b);B(a,olympe.J.T.An,[new olympe.V.la(olympe.J.Z.Ud),
918
- new olympe.V.la(olympe.J.Z.ne),new olympe.V.la(olympe.J.Z.Zd),new olympe.V.la(olympe.J.Gb.ie),new olympe.V.la(olympe.J.Gb.zn)],b);B(a,olympe.J.T.Qn,[new olympe.V.la(olympe.J.Z.Ud),new olympe.V.la(olympe.J.Z.ne),new olympe.V.la(olympe.J.Z.Zd),new olympe.V.la(olympe.J.Gb.ie),new olympe.V.la(olympe.J.Gb.Rn)],b);B(a,olympe.J.T.kn,[new olympe.V.la(olympe.J.Z.Ud),new olympe.V.la(olympe.J.Z.ne),new olympe.V.la(olympe.J.Z.Zd),new olympe.V.la(olympe.J.Gb.ie),new olympe.V.la(olympe.J.Gb.ln)],b);B(a,olympe.J.T.jp,
919
- [new olympe.V.la(olympe.J.Z.Ud),new olympe.V.la(olympe.J.Z.ne),new olympe.V.la(olympe.J.Z.Zd),new olympe.V.la(olympe.J.Gb.ie),new olympe.V.la(olympe.J.Gb.ip)],b);B(a,olympe.J.T.pp,[new olympe.V.la(olympe.J.Z.Ud),new olympe.V.la(olympe.J.Z.ne),new olympe.V.la(olympe.J.Z.Zd),new olympe.V.la(olympe.J.Gb.ie),new olympe.V.la(olympe.J.Gb.op)],b);B(a,'server.ManagerConfig',[new olympe.V.la(olympe.J.Z.tm),new olympe.V.la(olympe.J.Z.Lo),new olympe.V.la(olympe.J.Z.Mo),new olympe.V.la(olympe.J.Z.Lm),new olympe.V.la(olympe.J.Z.Uo),
920
- new olympe.V.la(olympe.dc.Z.ig),new olympe.V.la(olympe.J.Z.Qo)],(...d)=>{const e='autoConnect reconnectionDelay reconnectionShortDelay clientVersion serverVersion getContextMode retryHttpOverload'.split(' '),f=new Map;d.forEach((g,h)=>f.set(e[h],g));return f});B(a,'server.bus.ManagerConfig',[new olympe.V.la(olympe.J.Z.Ud),new olympe.V.la(olympe.J.Z.Em),new olympe.V.la(olympe.J.Z.Gm),new olympe.V.la(olympe.J.Z.Hm),new olympe.V.la(olympe.J.Z.Im),new olympe.V.la(olympe.J.Z.np),new olympe.V.la(olympe.J.Z.Zd),
921
- new olympe.V.la(olympe.J.Z.Eh),new olympe.V.la(olympe.J.Z.et),new olympe.V.la(olympe.J.Z.Pq),new olympe.V.la(olympe.J.Z.Nq),new olympe.V.la(olympe.J.Z.at),new olympe.V.la(olympe.J.Z.Sq),new olympe.V.la(olympe.J.Z.Do),new olympe.V.la(olympe.J.Z.Us)],(d,e,f,g,h,k,m,...n)=>{e=`${m?'wss://':'ws://'}${e||d}:${g}${f}/ws`;const p='keepalive reschedulePings clientId clean reconnectPeriod connectTimeout password queueQoSZero'.split(' ');n=n.reduce((q,r,t)=>{q[p[t]]=r;return q},{});n.username=`${h||d.split('.')[0]}:${k}`;
922
- d=new Map;d.set('url',e);d.set('connectionOptions',n);return d});y(a,olympe.J.T.ua,olympe.J.Dc.qa,olympe.J.T.Ga,olympe.Ca.T.ua,'server.WebSocketRequest','server.ManagerConfig');y(a,olympe.J.bd.sh,olympe.J.Pb.Ua,olympe.J.T.Ga,olympe.J.T.ua,olympe.J.T.pp);y(a,olympe.J.T.Fm,olympe.J.Ea.qa,olympe.J.T.Ga,olympe.Ca.T.ua,olympe.ca.T.ua,'server.bus.ManagerConfig');qa(a,olympe.ca.bd.ua,olympe.J.bd.sh);qa(a,olympe.ca.bd.ho,olympe.J.bd.sh);qa(a,olympe.ca.bd.Yd,olympe.J.bd.sh);qa(a,olympe.ca.bd.pe,olympe.J.bd.sh);
923
- B(a,olympe.J.T.bh,[olympe.ya.T.ua,olympe.J.T.ua,olympe.Ca.T.ua,olympe.ca.T.ua,olympe.J.T.sn,olympe.J.T.Dk,olympe.J.T.Yj,olympe.J.T.An,olympe.J.T.Qn,olympe.J.T.kn,olympe.J.T.jp],(d,e,f,g,h,k,m,n,p,q,r)=>new olympe.J.kj(d.Cc('server.source'),e,f,g,[h,k,m,n,p,q,r]));y(a,olympe.J.T.Rg,olympe.J.Ui,olympe.J.T.Dk,olympe.J.T.Yj);qa(a,olympe.dc.X.T.Rg,olympe.J.T.Rg);qa(a,olympe.Za.T.bh,olympe.J.T.bh)},'olympe.communication');olympe.V.run([olympe.J.T.Fm],a=>{olympe.J.Ea.mc=()=>a});olympe.jc={};olympe.jc.Gq=class{run(){}};olympe.jc.qa=class{constructor(a,b){this.C=a;this.N=b;this.F=null;this.G='';this.N.info('HC Manager will execute application registered as:',this.C)}zi(a,b,c=''){b||(b='default');b===this.C?(null===this.F?this.N.log('Application',c,'designated to be launched'):this.N.log('OVERRIDE: Application',c,'designated to be launched'),this.F=a,this.G=c):this.N.debug('ignoring application:'+c+' as it is registered under name '+b+' and not '+this.C)}run(){null!==this.F?(this.N.info('Running application:',this.G),
924
- this.F.run()):this.N.error('No app registered under name: '+this.C)}};olympe.jc.zi=function(a,b,c){const d=a.tb();c?d.debug('Pre-registering application '+b+' under name '+c+' (use '+olympe.jc.Z.Ee+'='+c+' to start it)'):d.debug('Pre-registering application '+b+' as default one');a.ud(olympe.jc.T.ua).Cb([b],function(e,f){f.zi(e,c,b)},'olympe.hc.registerApp')};olympe.jc.T={ua:'hc.Manager',Ga:'hc.Logger'};olympe.jc.Z={Ee:'hc.app',vk:'hc.globalToken'};olympe.V.Cb(function(a){C(a,olympe.jc.Z.Ee,'default');C(a,olympe.jc.Z.vk,!1);B(a,olympe.jc.T.Ga,[olympe.ya.T.ua],b=>b.Cc('hc'));B(a,olympe.ca.T.Fi,[new olympe.V.la(olympe.jc.Z.Ee),new olympe.V.la(olympe.jc.Z.vk)],(b,c)=>new olympe.ca.Wj(c?'':b));y(a,olympe.jc.T.ua,olympe.jc.qa,new olympe.V.la(olympe.jc.Z.Ee),olympe.jc.T.Ga)},'olympe.hc');olympe.V.run([olympe.jc.T.ua],a=>a.run(),'olympe.hc');olympe.dm={};olympe.dm.rb=class extends olympe.dc.Sync{sa(){return this.$a(olympe.dm.rb.L,olympe.dm.Ia)}};olympe.dm.rb.P=olympe.dc.va.C('ff021000000000000007',olympe.dm.rb);olympe.dm.rb.L=olympe.dm.rb.P.Ma('ff022000000000000010');olympe.dm.rb.C=olympe.dm.rb.P.Ma('ff02200000000000000u');olympe.dm.rb.pi=P(olympe.dm.rb.P,olympe.dc.Sync.F);olympe.dm.rb.nh=P(olympe.dm.rb.P,olympe.dm.rb.C);olympe.dm.rb.zd=M('00000000000000000GOO','MODELS_GOO');olympe.dm.rb.wb=M('10000000000000000GOO','DEFAULT_GOO');
925
- olympe.dm.rb.se=M('12000000000000000GOO','PERMISSIONS_GOO');olympe.dm.rb.prototype.sa.K=new olympe.D.H(()=>olympe.dc.pa,[]);olympe.dm.Ia=class extends olympe.dc.Sync{constructor(a,b){super(a,b)}Lf(){return this.Md(olympe.dm.Ia.G)}ku(){return olympe.D.Aa([this.Lf()],a=>parseInt(a,10)&olympe.dm.Ia.L.dl?olympe.D.ga.F:olympe.D.ga.C,olympe.D.ga)}hu(){return olympe.D.Aa([this.Lf()],a=>parseInt(a,10)&olympe.dm.Ia.L.Tq?olympe.D.ga.F:olympe.D.ga.C,olympe.D.ga)}lu(){return olympe.D.Aa([this.Lf()],a=>parseInt(a,10)&olympe.dm.Ia.L.Ht?olympe.D.ga.F:olympe.D.ga.C,olympe.D.ga)}iu(){return olympe.D.Aa([this.Lf()],a=>parseInt(a,10)&olympe.dm.Ia.L.DELETE?
926
- olympe.D.ga.F:olympe.D.ga.C,olympe.D.ga)}ju(){return olympe.D.Aa([this.Lf()],a=>parseInt(a,10)&olympe.dm.Ia.L.ps?olympe.D.ga.F:olympe.D.ga.C,olympe.D.ga)}Zr(){return this.$a(olympe.dm.Ia.O,olympe.dm.Db)}Wp(){return this.$a(olympe.dm.Ia.F,olympe.dm.rb)}};olympe.dm.Ia.P=olympe.dc.va.C('ff021000000000000008',olympe.dm.Ia);olympe.dm.Ia.G=olympe.dm.Ia.P.Ba('ff023000000000000021');olympe.dm.Ia.O=olympe.dm.Ia.P.Ma('ff022000000000000007');olympe.dm.Ia.F=P(olympe.dm.Ia.P,olympe.dm.rb.L);
927
- olympe.dm.Ia.$=M('00000000000000000OPS','GUEST_ROLE_DEFAULT_OPERATION');olympe.dm.Ia.U=M('13000000000000000OPS','AUTHENTICATED_ROLE_DEFAULT_OPERATION');olympe.dm.Ia.C={NONE:0,dl:1,gj:3,READ_WRITE:5,Ko:9,Xs:7,Fz:15,fg:17,Ws:19,$s:21,Zs:25,Ys:23,Gz:29,wn:31};olympe.dm.Ia.L={dl:1,Tq:2,Ht:4,DELETE:8,ps:16};l=olympe.dm.Ia.prototype;l.Lf.K=olympe.D.H.G;l.ku.K=olympe.D.H.O;l.hu.K=olympe.D.H.O;l.lu.K=olympe.D.H.O;l.iu.K=olympe.D.H.O;l.ju.K=olympe.D.H.O;l.Zr.K=new olympe.D.H(()=>olympe.dc.pa,[]);olympe.dm.Db=class extends olympe.dc.Sync{constructor(a,b){super(a,b)}ja(){return this.ub(olympe.dc.Sync.nameProp)}$r(){return olympe.D.Pa.EMPTY}pw(){return olympe.D.ga.C}ew(){return this.$a(olympe.dm.Db.C,olympe.dm.User)}Uu(){return this.$a(olympe.dm.Db.U,olympe.dm.Db)}Jv(){return this.$a(olympe.dm.Db.L,olympe.dm.Db)}bs(){return this.$a(olympe.dm.Db.G,olympe.dm.Ia)}};olympe.dm.Db.P=olympe.dc.va.C('ff021000000000000002',olympe.dm.Db);olympe.dm.Db.ia=olympe.dm.Db.P.Ba('ff023000000000000035');
928
- olympe.dm.Db.C=olympe.dm.Db.P.Ma('ff022000000000000005');olympe.dm.Db.L=olympe.dm.Db.P.Ma('ff022000000000000006');olympe.dm.Db.U=P(olympe.dm.Db.P,olympe.dm.Db.L);olympe.dm.Db.G=P(olympe.dm.Db.P,olympe.dm.Ia.O);olympe.dm.Db.O=M('ff011000000000000001','AUTHENTICATED_USERS');olympe.dm.Db.$=M('ff011000000000000002','GUEST_USERS_ROLE');l=olympe.dm.Db.prototype;l.ja.K=olympe.D.H.F;l.$r.K=olympe.D.H.F;l.pw.K=olympe.D.H.O;l.ew.K=new olympe.D.H(()=>olympe.dc.pa,[]);l.Uu.K=new olympe.D.H(()=>olympe.dc.pa,[]);
929
- l.Jv.K=new olympe.D.H(()=>olympe.dc.pa,[]);l.bs.K=new olympe.D.H(()=>olympe.dc.pa,[]);olympe.dm.User=class extends olympe.dc.Sync{constructor(a,b){super(a,b)}ov(){return this.Ql()}ja(){return this.Ql()}Ql(){return this.ub(olympe.dm.User.loginProp)}ds(){return this.ub(olympe.dm.User.G)}cs(){return olympe.D.Pa.EMPTY}Wv(){return this.ub(olympe.dm.User.saltProp)}fw(){return this.ub(olympe.dm.User.verifierProp)}es(){return this.$a(olympe.dm.User.C,olympe.dm.Db)}};olympe.dm.User.P=olympe.dc.va.C('ff021000000000000003',olympe.dm.User);olympe.dm.User.loginProp=olympe.dm.User.P.Ba('ff023000000000000001');
930
- v('olympe.dm.User.loginProp',olympe.dm.User.loginProp);olympe.dm.User.G=olympe.dm.User.P.Ba('ff023000000000000002');olympe.dm.User.saltProp=olympe.dm.User.P.Ba('ff023000000000000004');v('olympe.dm.User.saltProp',olympe.dm.User.saltProp);olympe.dm.User.verifierProp=olympe.dm.User.P.Ba('ff023000000000000005');v('olympe.dm.User.verifierProp',olympe.dm.User.verifierProp);olympe.dm.User.O=olympe.dm.User.P.Ba('ff023000000000000020');olympe.dm.User.SAMLnameIdProp=olympe.dm.User.P.Ba('ff023000000000000036');
931
- v('olympe.dm.User.SAMLnameIdProp',olympe.dm.User.SAMLnameIdProp);olympe.dm.User.C=P(olympe.dm.User.P,olympe.dm.Db.C);olympe.dm.User.L=M('0163d9653067b6237f62','GUEST_USER');l=olympe.dm.User.prototype;l.ov.K=olympe.D.H.F;l.ja.K=olympe.D.H.F;l.Ql.K=olympe.D.H.F;l.ds.K=olympe.D.H.F;l.cs.K=olympe.D.H.F;l.Wv.K=olympe.D.H.F;l.fw.K=olympe.D.H.F;l.es.K=new olympe.D.H(()=>olympe.dc.pa,[]);olympe.dm.Rd=class extends olympe.dm.rb{U(){return this.Ll()}Ra(){return this.ub(olympe.dm.Rd.Wa)}};olympe.dm.Rd.P=olympe.dc.va.C('01621fb84e3300000000',olympe.dm.Rd);olympe.dm.Rd.Wa=olympe.dm.Rd.P.Ba('01609de3f292e3c2c6ff');olympe.dm.Rd.prototype.U.K=new olympe.D.H(()=>olympe.dc.pa,[]);olympe.dm.Rd.prototype.Ra.K=olympe.D.H.F;olympe.dm.BrickMetadata=class extends olympe.dm.Rd{Va(){return this.ub(olympe.dm.BrickMetadata.lb)}Ja(){return this.ub(olympe.dm.BrickMetadata.$b)}C(){return null}};olympe.dm.BrickMetadata.P=Hc(olympe.dc.va.C('01621fb84e3500000000',olympe.dm.BrickMetadata));olympe.dm.BrickMetadata.lb=olympe.dm.BrickMetadata.P.Ba('01621fb84e320000f001');olympe.dm.BrickMetadata.$b=olympe.dm.BrickMetadata.P.Ba('01703376c4a81c0e9d94');olympe.dm.BrickMetadata.oi=olympe.dm.BrickMetadata.P.Ma('0161ae97622bb21f335b');
932
- olympe.dm.BrickMetadata.qc={yz:'private',Ss:'public'};olympe.dm.BrickMetadata.Nc=M('01703376c4a81c0e9d95','BRICK_STATUS');olympe.dm.BrickMetadata.Qe={qy:'experimental',Lz:'stable',iy:'deprecated'};olympe.dm.BrickMetadata.prototype.Va.K=olympe.D.H.F;olympe.dm.BrickMetadata.prototype.Ja.K=olympe.D.H.F;olympe.dm.BrickMetadata.prototype.C.K=new olympe.D.H(()=>String,[]);olympe.dm.Lb=class extends olympe.dm.BrickMetadata{L(){return new olympe.dc.pa(this.R(),[new olympe.dc.W.Tb(olympe.dm.Lb.O.R(),olympe.dc.Ka.DESTINATION,olympe.dc.W.jj.Tn,olympe.dc.W.jj.zr),olympe.dm.Lb.G])}C(){return null}$(){return this.$a(olympe.dm.Lb.O,olympe.dm.Lb)}O(){return this.$a(olympe.dm.Lb.G)}};olympe.dm.Lb.P=olympe.dc.va.C('01612df1db9749227626',olympe.dm.Lb);olympe.dm.Lb.O=olympe.dm.Lb.P.Ma('016a697ef00ce7554691');olympe.dm.Lb.ia=P(olympe.dm.Lb.P,olympe.dm.Lb.O);olympe.dm.Lb.G=olympe.dm.Lb.P.Ma('016a697ef00ce7554692');
933
- P(olympe.dc.Sync.P,olympe.dm.Lb.G);olympe.dm.Lb.prototype.L.K=new olympe.D.H(()=>olympe.dc.pa,[]);olympe.dm.Lb.prototype.$.K=new olympe.D.H(()=>olympe.dc.pa,[]);olympe.dm.Lb.prototype.O.K=new olympe.D.H(()=>olympe.dc.pa,[]);olympe.dm.Module=class extends olympe.dc.Sync{mv(){return this.ub(olympe.dm.Module.U)}Bv(){return this.Md(olympe.dm.Module.$)}fs(){return this.ub(olympe.dm.Module.G)}Iv(){return this.ub(olympe.dm.Module.ia)}Wu(){return this.ub(olympe.dm.Module.L)}Cv(){return this.$a(olympe.dm.Module.O,olympe.dm.Module)}Xv(){return this.$a(olympe.dm.Module.C,olympe.dm.pd)}};olympe.dm.Module.P=olympe.dc.va.C('ff021000000000000040',olympe.dm.Module);olympe.dm.Module.U=olympe.dm.Module.P.Ba('ff023000000000000042');
934
- olympe.dm.Module.$=olympe.dm.Module.P.Ba('ff023000000000000043');olympe.dm.Module.G=olympe.dm.Module.P.Ba('ff023000000000000044');olympe.dm.Module.ia=olympe.dm.Module.P.Ba('ff023000000000000045');olympe.dm.Module.L=olympe.dm.Module.P.Ba('ff023000000000000046');olympe.dm.Module.creationDateProp=olympe.dm.Module.P.Ba('ff023000000000000049');olympe.dm.Module.C=olympe.dm.Module.P.Ma('ff022000000000000013');olympe.dm.Module.O=olympe.dm.Module.P.Ma('ff022000000000000014');
935
- olympe.dm.Module.sa=M('016a69b9bceabd815b77','OLYMPE_SERVER_MODULE');l=olympe.dm.Module.prototype;l.mv.K=olympe.D.H.F;l.Bv.K=olympe.D.H.G;l.fs.K=olympe.D.H.F;l.Iv.K=olympe.D.H.F;l.Wu.K=olympe.D.H.F;l.Cv.K=new olympe.D.H(()=>olympe.dc.pa,[]);l.Xv.K=new olympe.D.H(()=>olympe.dc.pa,[]);olympe.dm.File=class extends olympe.dc.Sync{static ce(a,b,c,d,e,f){e=e||'application/data';d=olympe.aa.ei().L(new Blob([d],{type:e}));return olympe.dm.File.Lp(a,b,c,d,e,f)}static Lp(a,b,c,d,e,f){a=b.create(a,f);b=olympe.D.Ya.now();a.setProperty(olympe.dm.File.nameProp,c||'file').setProperty(olympe.dc.Sync.nameProp,c||'file').setProperty(olympe.dm.File.urlProp,d).setProperty(olympe.dm.File.creationDateProp,b).setProperty(olympe.dm.File.modificationDateProp,b).setProperty(olympe.dm.File.mimeTypeProp,
936
- e||'application/data').setProperty(olympe.dm.File.C,!1);return a.R()}constructor(a,b,c,d,e){super(a,b);this.F=c;this.G=d;this.C=e}Rl(){return this.ub(olympe.dm.File.mimeTypeProp)}zj(a,b){const c=olympe.D.Ha().C(a),d=b&&olympe.D.Ha().C(b);(a=this.db.Ib(this,olympe.dm.File.urlProp,!0))&&a.startsWith('blob:')?this.C.C(a,e=>{this.C.F(e,c)},d):uc(this.F,this,e=>{this.C.F(e,c)},e=>{d&&d(e)})}Kl(a,b){this.zj(c=>{a(Aa(c))},b)}Aj(a,b){const c=olympe.D.Ha().C(a);b=b&&olympe.D.Ha().C(b);const d=this.db.Ib(this,
937
- olympe.dm.File.C),e=this.db.Ib(this,olympe.dm.File.urlProp),f=g=>{const h=this.db.Ib(this,olympe.dm.File.mimeTypeProp);this.C.F(g,k=>{c(`data:${h};base64,${this.C.G(k)}`)})};d&&d.valueOf()?uc(this.F,this,f.bind(this),b):e&&e.startsWith('blob:')?this.C.C(e,f.bind(this),b):a(e)}sq(a,b){const c=b&&olympe.D.Ha().C(b);olympe.D.pq([a],d=>{const e=new olympe.dc.ib;e.update(this,olympe.dc.Sync.nameProp,d);e.update(this,olympe.dm.File.nameProp,d);e.gd(f=>{c&&c(f)})})}dx(){this.G.G(this.db.Ib(this,olympe.dm.File.mimeTypeProp))}Hk(){return this.ub(olympe.dm.File.urlProp)}ao(){return this.ub(olympe.dm.File.nameProp)}$u(){return this.ji(olympe.dm.File.creationDateProp)}Av(){return this.ji(olympe.dm.File.modificationDateProp)}fq(){return this.wg(olympe.dm.File.C)}};
938
- olympe.dm.File.prototype.saveAs=olympe.dm.File.prototype.dx;olympe.dm.File.prototype.getContentUrl=olympe.dm.File.prototype.Aj;olympe.dm.File.prototype.getContentAsString=olympe.dm.File.prototype.Kl;olympe.dm.File.prototype.getContentAsBinary=olympe.dm.File.prototype.zj;olympe.dm.File.createFileFromURL=olympe.dm.File.Lp;olympe.dm.File.createFile=olympe.dm.File.ce;olympe.dm.File.P=olympe.dc.va.C('ff021000000000000030',olympe.dm.File,olympe.dc.T.xh,olympe.Ca.T.ua,olympe.aa.T.Hg);
939
- olympe.dm.File.nameProp=olympe.dm.File.P.Ba('ff023000000000000050');v('olympe.dm.File.nameProp',olympe.dm.File.nameProp);olympe.dm.File.creationDateProp=olympe.dm.File.P.Ba('ff023000000000000051');v('olympe.dm.File.creationDateProp',olympe.dm.File.creationDateProp);olympe.dm.File.modificationDateProp=olympe.dm.File.P.Ba('ff023000000000000055');v('olympe.dm.File.modificationDateProp',olympe.dm.File.modificationDateProp);olympe.dm.File.mimeTypeProp=olympe.dm.File.P.Ba('ff023000000000000052');
940
- v('olympe.dm.File.mimeTypeProp',olympe.dm.File.mimeTypeProp);olympe.dm.File.urlProp=olympe.dm.File.P.Ba('ff023000000000000053');v('olympe.dm.File.urlProp',olympe.dm.File.urlProp);olympe.dm.File.C=olympe.dm.File.P.Ba('ff023000000000000054');olympe.dm.File.P.C=olympe.dm.File.ce.bind(null,olympe.dm.File);olympe.dm.File.ka=[olympe.D.File];l=olympe.dm.File.prototype;l.Rl.K=olympe.D.H.F;l.zj.K=new olympe.D.H(()=>{},[]);l.Kl.K=new olympe.D.H(()=>{},[]);l.Aj.K=new olympe.D.H(()=>{},[]);l.sq.K=olympe.D.H.C;
941
- l.Hk.K=olympe.D.H.F;l.ao.K=olympe.D.H.F;l.$u.K=new olympe.D.H(()=>olympe.D.Ya,[]);l.Av.K=new olympe.D.H(()=>olympe.D.Ya,[]);l.fq.K=olympe.D.H.O;olympe.dm.pd=class extends olympe.dc.Sync{C(){return this.ub(olympe.dm.pd.G)}G(){return this.Md(olympe.dm.pd.L)}F(){return this.$a(olympe.dm.pd.C,olympe.dm.Module)}};olympe.dm.pd.P=olympe.dc.va.C('ff021000000000000041',olympe.dm.pd);olympe.dm.pd.G=olympe.dm.pd.P.Ba('ff023000000000000047');olympe.dm.pd.L=olympe.dm.pd.P.Ba('ff023000000000000048');olympe.dm.pd.C=olympe.dm.Module.C.kd();olympe.dm.pd.prototype.C.K=olympe.D.H.F;olympe.dm.pd.prototype.G.K=olympe.D.H.G;
942
- olympe.dm.pd.prototype.F.K=new olympe.D.H(()=>olympe.dc.pa,[]);olympe.dm.hc=class extends olympe.dm.Lb{G(){return this.ub(olympe.dm.hc.$)}fa(){return this.ub(olympe.dm.hc.Ra)}F(){return this.$a(olympe.dm.hc.U,olympe.dm.hc)}};olympe.dm.hc.P=olympe.dc.va.C('0163d9594700fcf61e54',olympe.dm.hc);olympe.dm.hc.$=olympe.dm.hc.P.Ba('017869c7d2833c9492c1');olympe.dm.hc.Ra=olympe.dm.hc.P.Ba('017869c80bb9929c76d0');olympe.dm.hc.U=olympe.dm.hc.P.Ma('ff02200000000000002b');olympe.dm.hc.yc=P(olympe.dm.hc.P,olympe.dm.hc.U);olympe.dm.hc.sa=olympe.dm.hc.P.Ma('ff02200000000000002a');
943
- P(olympe.dc.Sync.P,olympe.dm.hc.sa);olympe.dm.hc.rc=M('100000000000000000dd','PRIMORDIAL');olympe.dm.hc.prototype.G.K=olympe.D.H.F;olympe.dm.hc.prototype.fa.K=olympe.D.H.F;olympe.dm.hc.prototype.F.K=new olympe.D.H(()=>olympe.dc.pa,[]);olympe.dm.Property=class extends olympe.dc.Sync{constructor(a,b){super(a,b)}F(){return this.tc(olympe.dm.Property.definingModelRel,olympe.dc.Sync)}C(){return this.tc(olympe.dm.Property.typeRel,olympe.dc.Sync)}Uc(){return this.F().ja().Jp(this.ja())}};olympe.dm.Property.P=olympe.dc.va.C('ff021000000000000005',olympe.dm.Property);olympe.dm.Property.definingModelRel=P(olympe.dm.Property.P,olympe.dc.Sync.propertyRel);v('olympe.dm.Property.definingModelRel',olympe.dm.Property.definingModelRel);
944
- olympe.dm.Property.typeRel=P(olympe.dm.Property.P,olympe.dc.Sync.typeRel);v('olympe.dm.Property.typeRel',olympe.dm.Property.typeRel);olympe.dm.Property.prototype.F.K=new olympe.D.H(()=>olympe.dc.Sync,[]);olympe.dm.Property.prototype.C.K=new olympe.D.H(()=>olympe.dc.Sync,[]);olympe.dm.Relation=class extends olympe.dc.Sync{constructor(a,b){super(a,b)}wv(){return olympe.D.Pa.EMPTY}Tu(){return this.Md(olympe.dm.Relation.ul)}Kv(){return this.Md(olympe.dm.Relation.xi)}Tp(){return this.$a(olympe.dm.Relation.destinationModelRel,olympe.dc.Sync).jd()}Zp(){return this.$a(olympe.dm.Relation.originModelRel,olympe.dc.Sync).jd()}Uc(){return this.Zp().ja().concat(['-',this.ja(),'->',this.Tp().ja()])}};olympe.dm.Relation.P=olympe.dc.va.C('ff021000000000000006',olympe.dm.Relation);
945
- olympe.dm.Relation.xi=olympe.dm.Relation.P.Ba('ff023000000000000030');olympe.dm.Relation.ul=olympe.dm.Relation.P.Ba('ff023000000000000034');olympe.dm.Relation.Bl=olympe.dm.Relation.P.Ba('ff023000000000000037');olympe.dm.Relation.Al=olympe.dm.Relation.P.Ba('ff023000000000000137');olympe.dm.Relation.mm=olympe.dm.Relation.P.Ba('ff023000000000000237');olympe.dm.Relation.originModelRel=P(olympe.dm.Relation.P,olympe.dc.Sync.fa);v('olympe.dm.Relation.originModelRel',olympe.dm.Relation.originModelRel);
946
- olympe.dm.Relation.destinationModelRel=P(olympe.dm.Relation.P,olympe.dc.Sync.Va);v('olympe.dm.Relation.destinationModelRel',olympe.dm.Relation.destinationModelRel);olympe.dm.Relation.C={Pn:0,ak:5,Oo:1,gt:4,oj:2,ij:8,jn:10,ct:6,dt:9,cd:6,ft:9};olympe.dm.Relation.L={Js:3,Vk:4,zs:5,ys:6};olympe.dm.Relation.G={fl:0,il:1,hl:2,Ok:4,Nk:8,bk:5,$j:10};l=olympe.dm.Relation.prototype;l.wv.K=olympe.D.H.F;l.Tu.K=olympe.D.H.G;l.Kv.K=olympe.D.H.G;l.Tp.K=new olympe.D.H(()=>olympe.dc.Sync,[]);
947
- l.Zp.K=new olympe.D.H(()=>olympe.dc.Sync,[]);olympe.dm.Jh=class extends olympe.dm.Lb{};olympe.dm.Jh.P=olympe.dc.va.C('ff021000000000000020',olympe.dm.Jh);olympe.dm.Jh.$=M('10000000000000000000','ROOT_OF_ROOTS');olympe.dm.Jh.U=M('10000000000000000001','OLYMPE_FOLDER');olympe.dm.eg=class extends olympe.dc.Sync{C(){}};olympe.dm.eg.P=olympe.dc.va.C('ff021000000000000019',olympe.dm.eg);olympe.dm.String=class extends olympe.dm.eg{C(){return this.ub(olympe.dm.String.valueProp)}};olympe.dm.String.P=olympe.dc.va.C('ff021000000000000011',olympe.dm.String);olympe.dm.String.valueProp=olympe.dm.String.P.Ba('ff023000000000000026');v('olympe.dm.String.valueProp',olympe.dm.String.valueProp);olympe.dm.String.prototype.C.K=olympe.D.H.F;olympe.dm.Boolean=class extends olympe.dm.eg{C(){return this.wg(olympe.dm.Boolean.valueProp)}};olympe.dm.Boolean.P=olympe.dc.va.C('ff021000000000000012',olympe.dm.Boolean);olympe.dm.Boolean.valueProp=olympe.dm.Boolean.P.Ba('ff023000000000000027');v('olympe.dm.Boolean.valueProp',olympe.dm.Boolean.valueProp);olympe.dm.Boolean.prototype.C.K=olympe.D.H.O;olympe.dm.Color=class extends olympe.dm.eg{C(){return this.aq()}};olympe.dm.Color.P=olympe.dc.va.C('ff021000000000000017',olympe.dm.Color);olympe.dm.Color.valueProp=olympe.dm.Color.P.Ba('ff023000000000000032');v('olympe.dm.Color.valueProp',olympe.dm.Color.valueProp);olympe.dm.Color.prototype.C.K=new olympe.D.H(()=>olympe.D.Color,[]);olympe.dm.DateTime=class extends olympe.dm.eg{C(){return this.ji(olympe.dm.DateTime.valueProp)}};olympe.dm.DateTime.P=olympe.dc.va.C('ff021000000000000014',olympe.dm.DateTime);olympe.dm.DateTime.valueProp=olympe.dm.DateTime.P.Ba('ff023000000000000029');v('olympe.dm.DateTime.valueProp',olympe.dm.DateTime.valueProp);olympe.dm.DateTime.prototype.C.K=new olympe.D.H(()=>olympe.D.Ya,[]);olympe.dm.Ng=class extends olympe.dm.String{ja(){return olympe.D.Aa([super.ja(),super.C()],(a,b)=>''!==a.valueOf()?a:b,olympe.D.Pa)}Ad(){return this.Md(olympe.dm.Ng.C)}};olympe.dm.Ng.P=olympe.dc.va.C('016cdd861b32d56c81f7',olympe.dm.Ng);olympe.dm.Ng.C=olympe.dm.Ng.P.Ba('017a7690c915975ea995');olympe.dm.Ng.prototype.Ad.K=olympe.D.H.G;olympe.dm.mn=class extends olympe.dm.BrickMetadata{};olympe.dm.mn.P=olympe.dc.va.C('017a768f966fc08ebb98',olympe.dm.mn);olympe.dm.Number=class extends olympe.dm.eg{C(){return this.Md(olympe.dm.Number.valueProp)}};olympe.dm.Number.P=olympe.dc.va.C('ff021000000000000013',olympe.dm.Number);olympe.dm.Number.valueProp=olympe.dm.Number.P.Ba('ff023000000000000028');v('olympe.dm.Number.valueProp',olympe.dm.Number.valueProp);olympe.dm.Number.prototype.C.K=olympe.D.H.G;olympe.yj={};olympe.yj.qa=class{constructor(){}};olympe.yj.T={ua:'datetime.Manager'};olympe.V.Cb(function(a){pa(a,olympe.yj.T.ua,olympe.yj.qa)},'olympe.datetime');olympe.sc={};olympe.sc.T={Ga:'sc.Logger',jl:'sc.RootContext'};olympe.sc.Z={qf:'sc.debug',Zq:'sc.disableTheme',Eo:'sc.production',Co:'sc.onstartTimeout',Po:'sc.remoteActionTimeout',As:'google.apikey'};
948
- olympe.V.Cb(a=>{C(a,olympe.sc.Z.qf,!1);C(a,olympe.sc.Z.Zq,!1);C(a,olympe.sc.Z.Eo,!1);C(a,olympe.sc.Z.Co,2E4);C(a,olympe.sc.Z.As,'AIzaSyD0rTnF3Tq-ZjgdaqyvC8Jg-RSgpZM2jBU');C(a,olympe.sc.Z.Po,1E4);B(a,olympe.sc.T.Ga,[olympe.ya.T.ua],b=>b.Cc('sc'));B(a,olympe.sc.T.jl,[new olympe.V.la(olympe.sc.Z.Eo),new olympe.V.la(olympe.sc.Z.Co)],(b,c)=>{const d=new olympe.sc.zb('root',null);olympe.sc.cx=d;d.set('Production',b);d.set('onstartTimeout',c);return d})},'olympe.sc');
949
- olympe.V.run([olympe.sc.T.jl],a=>{window.ctx=a});olympe.sc.WB=(a,b,c)=>{a.oa(olympe.dc.Sync.containsRel,c,b);a.oa(olympe.dc.Sync.F,b,c);a.oa(olympe.dm.rb.C,b,c)};olympe.sc.UB=(a,b,c,d)=>{a.oa(olympe.dc.Sync.F,b,d);a.oa(olympe.dm.rb.C,b,d);a.oa(olympe.dc.Sync.containsRel,c,b);a.oa(olympe.sc.Runnable.F,c,b);a.oa(olympe.sc.Runnable.C,c,b)};olympe.sc.oC=(a,b,c,d)=>{a.mb(olympe.dc.Sync.F,b,d);a.mb(olympe.dm.rb.C,b,d);a.mb(olympe.dc.Sync.containsRel,c,b);a.mb(olympe.sc.Runnable.F,c,b);a.mb(olympe.sc.Runnable.C,c,b)};
950
- olympe.sc.Ej=()=>null!==olympe.dc.Xa().uc(void 0,olympe.sc.Runnable.C.kd());olympe.sc.qC=(a,b,c)=>{a.mb(olympe.dc.Sync.containsRel,c,b);a.mb(olympe.dc.Sync.F,b,c);a.mb(olympe.dm.rb.C,b,c)};olympe.sc.vw=(a,b,c)=>{a.oa(olympe.dc.Sync.F,b,c);a.oa(olympe.sc.Na.G,c,b)};olympe.sc.Ex=(a,b,c)=>{a.mb(olympe.dc.Sync.F,b,c);a.mb(olympe.sc.Na.G,c,b)};olympe.sc.VB=(a,b,c)=>{olympe.sc.vw(a,b,c);a.oa(olympe.dc.Sync.containsRel,c,b);a.oa(olympe.dm.rb.C,b,c)};
951
- olympe.sc.pC=(a,b,c)=>{olympe.sc.Ex(a,b,c);a.mb(olympe.dc.Sync.containsRel,c,b);a.mb(olympe.dm.rb.C,b,c)};olympe.sc.zB=(a,b,c,d,e)=>{d=a.create(olympe.sc.oc).setProperty(olympe.sc.oc.C,d||null).setProperty(olympe.sc.oc.L,e||null);a.oa(olympe.sc.oc.G,d,b);a.oa(olympe.dc.Sync.containsRel,b,d);a.oa(olympe.dc.Sync.F,d,c);return d.R()};olympe.sc.ng=a=>{a=olympe.dc.aa.Bb.ng(a);return a instanceof olympe.sc.Xd?a.C():a};olympe.sc.NB=a=>{a=olympe.dc.Sync.Nb(a.tag);return a instanceof olympe.sc.Xd?a.C():a};
952
- olympe.sc.KB=function(a){const b=olympe.dm.Lb.G.kd(),c=olympe.dc.Sync.containsRel.kd();var d=olympe.dc.Fa(a);if(void 0===d)return[];a=olympe.dc.Xa();var e=a.model(d);const f=[],g=[];let h=[];if(a.ni(e,olympe.dm.Lb))h.push(d);else{for(;null===a.uc(d,b);){e=a.uc(d,olympe.dc.Sync.instancesRel);const k=a.uc(d,c);e===k?(f.push(d),d=a.uc(k,c)):d=k}g.push(d);h.push(a.uc(g[0],b))}h=h.concat(a.Tl(h[0],olympe.dm.Lb.ia));return[...f,...g,...h].reverse()};
953
- olympe.sc.LB=a=>{a=a.valueOf();return a.startsWith('image/')?olympe.sc.Sg:a.startsWith('video/')?olympe.sc.Sh:a.startsWith('font/')||a.startsWith('application/font-woff')?olympe.sc.Ic:olympe.dm.File};olympe.sc.Metadata=class extends olympe.dc.Sync{constructor(a,b){super(a,b)}};olympe.sc.Metadata.P=olympe.dc.va.C('0161ae936c62f9fcd131',olympe.sc.Metadata);olympe.sc.oc=class extends olympe.dc.Sync{F(){return this.ub(olympe.sc.oc.L)}C(){return this.ub(olympe.sc.oc.C)}};olympe.sc.oc.P=olympe.dc.va.C('01703376c4a81c0e9d90',olympe.sc.oc);olympe.sc.oc.L=olympe.sc.oc.P.Ba('01703376c4a81c0e9d91');olympe.sc.oc.C=olympe.sc.oc.P.Ba('01703376c4a81c0e9d92');olympe.sc.oc.G=olympe.sc.oc.P.Ma('01703376c4a81c0e9d93');P(olympe.dc.Sync.P,olympe.sc.oc.G);olympe.sc.oc.prototype.F.K=olympe.D.H.F;olympe.sc.oc.prototype.C.K=olympe.D.H.F;olympe.sc.Ae={};olympe.sc.Ae.mg={by:null,jt:'screenflow',Ct:'ui-design',Vo:'software-intelligence',kk:'data-management'};olympe.sc.Kc=class extends olympe.dm.BrickMetadata{C(){return olympe.sc.Ae.mg.Vo}F(){return this.$a(olympe.sc.Kc.G,olympe.sc.logic.zf)}G(){return this.$a(olympe.sc.Kc.O,olympe.sc.logic.Me)}};olympe.sc.Kc.P=olympe.dc.va.C('011100000000000adef0',olympe.sc.Kc);olympe.sc.Kc.G=olympe.sc.Kc.P.Ma('016ac4f59a2917fdef01');olympe.sc.Kc.O=olympe.sc.Kc.P.Ma('016ac4f59a2917fdef02');olympe.sc.Kc.P.C=(a,b)=>ce(a,b||'New function signature',olympe.sc.Kc,olympe.sc.logic.Sd).R();
954
- olympe.sc.Kc.prototype.F.K=new olympe.D.H(()=>olympe.dc.pa,[]);olympe.sc.Kc.prototype.G.K=new olympe.D.H(()=>olympe.dc.pa,[]);function mh(a,b){[].forEach(c=>c.call(a,b,(d,e)=>{null===e?b.remove(d):b.set(d,e)}))}function nh(a,b){const c=[];for(const d of b)b=a.db.Ib(d,olympe.sc.logic.kc.Dj,!0),c[b]=d;return c}
955
- olympe.sc.Na=class extends olympe.dm.BrickMetadata{gs(a,b,c,d,e=!0){e||olympe.ya.tb('sc').error('parameter own= false ignored, investigate');return olympe.D.Be(K(this.Mf(a,olympe.dc.aa.Bb.ng,c)),d)}Uv(){return this.$a(olympe.sc.Na.G,olympe.sc.Runnable)}Xu(){return this.$a(olympe.sc.Na.Ra,olympe.sc.Runnable)}eq(){return this.db.Ib(this,olympe.sc.Na.sa)}Ej(){return null!==this.db.uc(this.tag,olympe.sc.Runnable.C.kd())}Jk(){return this.$a(olympe.sc.Na.O,olympe.sc.logic.nb)}Wi(){return this.$a(olympe.sc.Na.U,
956
- olympe.sc.logic.sb)}};olympe.sc.Na.P=olympe.dc.va.C('0112000000000000def0',olympe.sc.Na);olympe.sc.Na.sa=olympe.sc.Na.P.Ba('01692aa71f3108454479');olympe.sc.Na.yc=olympe.sc.Na.P.Ba('016a979c7ced58e5ead4');olympe.sc.Na.rc=olympe.sc.Na.P.Ba('0166446c1f128ebc903a');olympe.sc.Na.G=olympe.sc.Na.P.Ma('01692a4af82e8984742c');olympe.sc.Na.Ra=olympe.sc.Na.P.Ma('01692a4af82e8984742d');olympe.sc.Na.O=olympe.sc.Na.P.Ma('01621fb84e320000f00a');olympe.sc.Na.U=olympe.sc.Na.P.Ma('01621fb84e320000f00b');
957
- olympe.sc.Na.ze=olympe.sc.Na.P.Ma('0171838bcfed0000e00e');olympe.sc.Na.xe=olympe.sc.Na.P.Ma('0171838bcfed0000a00a');l=olympe.sc.Na.prototype;l.gs.K=olympe.D.H.C;l.Uv.K=new olympe.D.H(()=>olympe.dc.pa,[]);l.Xu.K=new olympe.D.H(()=>olympe.dc.pa,[]);l.eq.K=olympe.D.H.C;l.Ej.K=olympe.D.H.C;l.Jk.K=new olympe.D.H(()=>olympe.dc.pa,[]);l.Wi.K=new olympe.D.H(()=>olympe.dc.pa,[]);function oh(a,b,c){var d=olympe.sc.logic.hb.L.kd();const e=olympe.sc.logic.hb.G;var f=olympe.sc.logic.hb.C;const g=olympe.sc.Na.yc;d=a.db.$a(a.Wb(),d).find(m=>a.db.em(m,e,g));if(!d||ph(b))qh(b,g),c(null);else{d=a.db.uc(d,f);f=b.$c(d);var h=olympe.dc.Sync.Nb(d);d=h.hi();h.run(f);var k=$b(()=>{a.N.error(`Timeout on onStart function defined on the Runnable ${a.db.name(a)} (${a.tag}).`);c(h.R())},b.Sa('onstartTimeout'));rh(f,d.G(),b.C.C(()=>{k.cancel();c(h.R())}),h);qh(f,d.F())}}
958
- function sh(a,b){if(1===b.length)return[(d,e)=>{null!==e?a.set(d,e):a.remove(d)}];const c=b.map(()=>new Map);return c.map(d=>(e,f)=>{null!==f?d.set(e,f):d.delete(e);a:{for(const g of c)if(f=g.get(e),void 0!==f){a.set(e,f);break a}a.remove(e)}})}
959
- function th(a,b,c){const d=olympe.D.Ha(),e=wd(a.db,a.tag,d.C((f,g,h)=>{const k=h?c:b;null!==k&&(h&&b&&b(f,null),null===g||void 0===g?k(f,null):k(f,olympe.sc.ng(g)))}));d.onDestroy(()=>{var f=a.db;const g=V(f,a.tag);null!==g&&(g.U(rd,e),f.C.getState()===sd.nf&&f.C.U(e))})}
960
- olympe.sc.Runnable=class extends olympe.dm.BrickMetadata{constructor(a,b,c){super(a,b);this.N=c}run(a){const b=this.ud();this.setup(a);this.onInit(a);b.eq()?(this.N.debug(`Hardcoded runnable ${this.db.name(this)} with tag ${this.tag} running in context ${a.da()}`),this.L(a)):(this.N.debug(`Softcoded runnable ${this.db.name(this)} with tag ${this.tag} running in context ${a.da()}`),oh(this,a,c=>{b.Gl(olympe.sc.Na.G,d=>{if(c!==d.R()&&d instanceof olympe.sc.Runnable){var e=d.R();e=a.$c(e);d.ud().Ej()&&
961
- (e.Ja=!0);d.run(e)}})}));a.onDestroy(this.onDestroy.bind(this,a))}onInit(){}L(){}onDestroy(){}$n(a,b,c,d){a=b.xb(a,c,!0);void 0!==d&&olympe.D.Be(a,d);return a}Pv(a,b,c,d,e){olympe.D.km([d],f=>{b.set(a,olympe.D.gq(f)?f.valueOf():f)});return this.$n(a,b,c,e)}Tv(){return this.tc(olympe.sc.Runnable.F,olympe.sc.Na)}ud(){return this.hi()}Vv(){return this.tc(olympe.sc.Runnable.O,olympe.sc.Na)}setup(a){mh(this.ud(),a);const b=a.C,c=this.O(),d=sh(a,c),e=[];c.forEach((f,g)=>{f===this.fa?e[0]=g:f===this.$&&
962
- (e[1]=g)});void 0!==e[0]&&void 0!==e[1]&&(b.run(()=>{th(this,d[e[0]],d[e[1]])}),c[e[0]]=null,c[e[1]]=null);b.run(()=>{c.forEach((f,g)=>{f&&f.call(this,a,d[g])})})}O(){return[this.fa,this.$]}fa(a,b){th(this,b,null)}$(a,b){th(this,null,b)}Wa(a,b){const c=this.db,d=olympe.sc.logic.hb.C.kd(),e=olympe.sc.logic.hb.U,f=olympe.sc.logic.hb.O;this.Gl(d,g=>{var h=g.R();if(h=c.uc(h,e)||c.uc(h,f))g=uh(g,a,b.bind(null,h)),olympe.D.Ha().onDestroy(g)})}};
963
- olympe.sc.Runnable.P=Hc(olympe.dc.va.C('01130000000000ca1100',olympe.sc.Runnable));olympe.sc.Runnable.F=olympe.sc.Runnable.P.Ma('01692a4af82e8984742b');olympe.sc.Runnable.C=olympe.sc.Runnable.P.Ma('01756a18d4921c103111');olympe.sc.Runnable.O=P(olympe.sc.Runnable.P,olympe.sc.Na.G);olympe.sc.Runnable.U=P(olympe.sc.Runnable.P,olympe.sc.Na.Ra);P(olympe.sc.Na.P,olympe.sc.Runnable.F);P(olympe.sc.Na.P,olympe.sc.Runnable.C);l=olympe.sc.Runnable.prototype;l.$n.K=new olympe.D.H(()=>Object,[]);l.Pv.K=olympe.D.H.C;
964
- l.Tv.K=new olympe.D.H(()=>olympe.sc.Na,[]);l.ud.K=new olympe.D.H(()=>olympe.sc.Na,[]);l.Vv.K=new olympe.D.H(()=>olympe.sc.Na,[]);function vh(a){if(a){if('string'===typeof a)return a;if(a instanceof olympe.sc.Xd)return(a=a.F())?a.valueOf():null;if('function'===typeof a.R)return a.R()}return null}olympe.sc.Xd=class extends olympe.dc.Sync{F(){return this.db.$a(this,olympe.sc.Xd.C)[0]}C(){return olympe.dc.Sync.Nb(vh(this))}toString(){const a=vh(this);let b;a&&(b=this.db.name(a));return b||super.toString()}};olympe.sc.Xd.P=olympe.dc.va.C('0163c9ae01f2d6e9ca49',olympe.sc.Xd);olympe.sc.Xd.C=olympe.sc.Xd.P.Ma('0169b5a8a33144fb0b49');
965
- P(olympe.dc.Sync.P,olympe.sc.Xd.C);olympe.sc.Xd.prototype.F.K=new olympe.D.H(()=>String,[]);olympe.sc.Xd.prototype.C.K=new olympe.D.H(()=>olympe.dc.Sync,[]);olympe.sc.an=class extends olympe.dm.Lb{C(){return olympe.sc.Ae.mg.kk}};olympe.sc.an.P=olympe.dc.va.C('0163a68ce44f3d1fa84c',olympe.sc.an);olympe.sc.Ig=class extends olympe.dm.BrickMetadata{};olympe.sc.Ig.P=olympe.dc.va.C('016324fde11a836f76c2',olympe.sc.Ig);olympe.sc.Ig.P.C=function(a,b){return ce(a,b||'New model',olympe.sc.Ig).R()};let wh=null;
966
- function xh(a,b){wh=a;re(re(new olympe.dc.uf(a,olympe.dc.Gd.ej),olympe.sc.Da.he.$),olympe.sc.Vc.G.kd()).gd((c,d)=>{if(c)olympe.ya.tb('sc').error('Error while loading business container:',c.message),b(olympe.sc.Vc.C.wc);else{c=null;for(const [e,f]of d.F().La())e===olympe.sc.Vc.G.R()&&(c=f);null!==c?xe(qe(new olympe.dc.uf(c),olympe.dc.ob.RUNTIME),(e,f)=>{const g=olympe.dc.Jc.le,h=olympe.dc.Jc.Mg,k=f.R();f=f.Oa();return olympe.dc.Xa().Of(e,olympe.sc.Ig)&&f===olympe.dc.Ka.ORIGIN&&(k===g||k===h)}).gd(()=>
967
- b(olympe.sc.Vc.C.fo)):(olympe.ya.tb('sc').error('No container found for the application',a),b(olympe.sc.Vc.C.Sk))}})}olympe.sc.Vc=class extends olympe.dc.Sync{};olympe.sc.Vc.C={fo:0,Sk:1,wc:2};olympe.sc.Vc.P=olympe.dc.va.C('017b3aa8fae1e3d044dc',olympe.sc.Vc);olympe.sc.Vc.G=olympe.sc.Vc.P.Ma('017b3aa8fd1659291b92');olympe.sc.Vc.L=olympe.sc.Vc.P.Ma('017b3aa8fe7ec3fd52f2');olympe.sc.Map=class extends olympe.dc.Sync{};olympe.sc.Map.P=olympe.dc.va.C('01631aacd5c1f9d61c5d',olympe.sc.Map);olympe.sc.Fh=class extends olympe.sc.Map{};olympe.sc.Fh.P=olympe.dc.va.C('01631aacd8276ea98490',olympe.sc.Fh);olympe.sc.Sg=class extends olympe.dm.File{L(){const a=olympe.D.Ec(olympe.D.Pa);this.Aj(b=>{a.update(olympe.D.pb(b))});return a.xb()}};olympe.sc.Sg.P=Cc('01644b6297305d62fca2',olympe.sc.Sg);olympe.sc.Sg.P.C=olympe.dm.File.ce.bind(null,olympe.sc.Sg);olympe.sc.Sg.prototype.L.K=olympe.D.H.F;olympe.sc.Ic=class extends olympe.dm.File{L(){return this.ub(olympe.sc.Ic.G)}O(){return this.ub(olympe.sc.Ic.L)}U(){return this.Md(olympe.sc.Ic.O)}};olympe.sc.Ic.P=Cc('01647e113043c637b541',olympe.sc.Ic);olympe.sc.Ic.G=olympe.sc.Ic.P.Ba('01647e35ecd24ef0b88d');olympe.sc.Ic.L=olympe.sc.Ic.P.Ba('01647e677f5d1cfbdf42');olympe.sc.Ic.O=olympe.sc.Ic.P.Ba('01647e6780999bf8bd25');olympe.sc.Ic.P.C=(a,b,c,d)=>{c=olympe.dm.File.ce(olympe.sc.Ic,a,b,c,d);a.update(c,olympe.sc.Ic.G,b.split('.')[0]);return c};
968
- olympe.sc.Ic.prototype.L.K=olympe.D.H.F;olympe.sc.Ic.prototype.O.K=olympe.D.H.F;olympe.sc.Ic.prototype.U.K=olympe.D.H.G;olympe.sc.Sh=class extends olympe.dm.File{};olympe.sc.Sh.P=Cc('0164643c432146a71d5c',olympe.sc.Sh);olympe.sc.Sh.P.C=olympe.dm.File.ce.bind(null,olympe.sc.Sh);olympe.sc.sp=class extends olympe.dc.Sync{};olympe.sc.sp.P=olympe.dc.va.C('016421bb3797e22d1c4e',olympe.sc.sp);let yh=0,zh=0;const Ah=olympe.dc.Fa;function ph(a){return(a=a.Sa('EditionMode'))?a:!1}function qh(a,b){a.set(b,(new Date).getTime())}function rh(a,b,c,d){Bh(a,b,c,!0,d)}function Ch(a,b){b=olympe.dc.Fa(b);if(a.O&&a.O.has(b)){var c=a.O.get(b)-1;0===c?(a.O.delete(b),0===a.O.size&&(a.O=null),a=!0):(a.O.set(b,c),a=!1)}else a=!1;a&&Mc(olympe.dc.Sc(),void 0,[b])}function Dh(a,b){if(null===a)return null;if(a.has(b))return a.get(b);for(const c of a.values())if(c.Ja&&(a=Dh(c.L,b)))return a;return null}
969
- function Eh(a){a.La=!0;a.sa(b=>{Eh(b)})}function Fh(a){a.La=!1;a.sa(b=>{Fh(b)})}function Gh(a,b,c,d){const e='$'+b;a.ia.set(b,!0);c.map(f=>'@'+f+'.'+b).forEach(f=>{(f=a.U&&a.U.get(f))&&f.forEach(g=>{g(d)})});a.sa(f=>{!f.La&&f.ia.has(b)||f.data.has(e)||Gh(f,b,c,d)});a.ia.delete(b)}
970
- function Bh(a,b,c,d,e){if(!a.C||a.C.ia())return()=>{};b=Ah(b);const f=e?Ah(e):'*',g=Hh(a,'@'+f+'.'+b,d?h=>{g();c(h)}:c);a=e?(a=a.Sl(f))?a.Sa(b,!0):void 0:a.Sa(b);void 0!==a&&(d&&g(),c(a));olympe.D.Ha().onDestroy(g);return g}function Hh(a,b,c){a.U||(a.U=new Map);let d=a.U.get(b);void 0===d&&(d=new Map,a.U.set(b,d));++yh;const e=yh;d.set(e,c);return()=>{const f=a.U.get(b);f&&(f.delete(e),0===f.size&&a.U.delete(b))}}
971
- function Ih(a,b){b=olympe.dc.Fa(b);a.O||(a.O=new Map);const c=a.O.get(b)||0;a.O.set(b,c+1);0===c&&Mc(olympe.dc.Sc(),[b])}function Jh(a,b,c){a.ia.set(b,!0);const d=a.U&&a.U.get('&'+b);if(d)for(const e of d.values())e(c);a.sa(e=>{e.ia.has(b)||Jh(e,b,c)});a.ia.delete(b)}function Kh(a,b){a.fa.has(b)||(a.fa.add(b),Jh(a,b,a))}function Lh(a){return(a=a.Sa('Production'))?a:!1}
972
- olympe.sc.zb=class{constructor(a,b=olympe.sc.cx){++zh;this.tag=a;this.fa=new Set;this.$=b;this.C=new olympe.D.ic('SC Context');this.data=new Map;this.O=this.F=this.L=this.U=null;this.id=zh;this.Ja=!1;this.ia=new Map;this.La=!1;this.N=olympe.ya.tb('sc');this.C.onDestroy(()=>{this.sa(c=>c.fb());this.O&&this.O.forEach((c,d)=>{for(let e=0;e<c;e++)Ch(this,d)});b&&this.$.Va(this);this.fa.clear();this.C=this.$=null;null!==this.F&&0<this.F.length&&this.N.warn(`The context ${this.tag} destroys but still has unreleased transactions. You probably forgot to end a transaction.`);
973
- this.F=null})}R(){return this.tag}da(){return this.id}getParent(){return this.$}set(a,b){if(this.C&&!this.C.ia()){a=Ah(a);var c='$'+a,d=this.data.get(c);d&&d.valueOf&&(d=d.valueOf());if(void 0===b||null===b)void 0!==d&&(this.data.delete(c),Gh(this,a,['*',this.tag,...this.fa],null));else if(void 0===d||b.valueOf()!==d.valueOf())this.data.set(c,b),Gh(this,a,['*',this.tag,...this.fa],b)}}remove(a){this.C&&!this.C.ia()&&(a=Ah(a),this.data.delete('$'+a)&&Gh(this,a,['*',this.tag,...this.fa],null))}xb(a,
974
- b,c=!1){const d=olympe.dc.Fa(a),e=olympe.D.Ec(b||Object,`Get context value flow source of ${d}`);e.node.onDestroy(this.on(a,f=>{null===f?$a(e.node):e.update(f)},c?this.tag:void 0));return e.xb()}get(a,b=!0){a=this.Sa(a,b);return void 0!==a?a:null}observe(a,b=!1,c=!0){return new rxjs.Observable(d=>{const e=this.on(a,f=>{(null!==f||b)&&d.next(f);this.onDestroy(()=>d.complete())},c?this.tag:void 0);this.onDestroy(e)})}Sa(a,b=!1){a='$'+Ah(a);let c=this.data.get(a),d=this.$;if(!b)for(;void 0===c&&null!==
975
- d;)c=d.data.get(a),d=d.$;return c}on(a,b,c){return Bh(this,a,b,!1,c)}$c(a){a=Ah(a);null===this.L&&(this.L=new Map);let b=this.L.get(a);if(void 0===b){b=new olympe.sc.zb(a,this);let c=this;for(;c&&c.Ja;)c=c.$;this.L.set(a,b);c&&Jh(c,a,b)}return b}Wa(a){null===this.L&&(this.L=new Map);let b=this.L.get(a);if(void 0!==b){if(b instanceof olympe.sc.so)return b;throw Error('Try to create a MultiContext with the same tag than a standard context');}b=new olympe.sc.so(a,this);this.L.set(a,b);return b}$w(a){this.F||
976
- (this.F=[]);this.F.push({transaction:a,Gj:!1})}Xl(){var a=this;let b=null;for(;(!b||b&&b.Gj)&&a;){const c=a.F;c&&0<c.length&&(b=c[c.length-1]);a=a.$}if(b&&!b.Gj)return b.transaction;this.F||(this.F=[]);a=new olympe.sc.ib;this.F.push({transaction:a,Gj:!0});return a}ax(a){if(null!==this.F){const b=this.F.pop();0===this.F.length&&(this.F=null);if(b&&b.Gj){b.transaction.gd((c,d)=>{a&&a(!0,c,d)});return}}a&&a(!1,!0,null)}Yw(){if(null===this.F)return null;const a=this.F.pop();0===this.F.length&&(this.F=
977
- null);return a&&a.transaction||null}mq(a,b){const c=this.Sl(a);c&&b(c);return Hh(this,'&'+a,b)}Sl(a){if(a===this.tag||this.fa.has(a)||!a)return this;let b=this.$;for(;b;){if(a===b.tag||b.fa.has(a))return b;const c=Dh(b.L,a);if(c)return c;b=b.$}return null}sa(a){if(this.L)for(const b of this.L.values())a(b)}Va(a){this.L&&this.L.delete(a.R())}onDestroy(a){if(null===this.C)a();else this.C.onDestroy(a)}fb(){this.C&&!this.C.G()&&this.C.fb()}G(){return null===this.C||this.C.G()}};
978
- olympe.sc.zb.prototype.getOtherContext=olympe.sc.zb.prototype.Sl;olympe.sc.zb.prototype.onContext=olympe.sc.zb.prototype.mq;olympe.sc.zb.prototype.popTransaction=olympe.sc.zb.prototype.Yw;olympe.sc.zb.prototype.releaseTransaction=olympe.sc.zb.prototype.ax;olympe.sc.zb.prototype.getTransaction=olympe.sc.zb.prototype.Xl;olympe.sc.zb.prototype.pushTransaction=olympe.sc.zb.prototype.$w;olympe.sc.zb.prototype.observe=olympe.sc.zb.prototype.observe;olympe.sc.zb.prototype.get=olympe.sc.zb.prototype.get;
979
- olympe.sc.zb.prototype.remove=olympe.sc.zb.prototype.remove;olympe.sc.zb.prototype.set=olympe.sc.zb.prototype.set;olympe.sc.zb.prototype.getParent=olympe.sc.zb.prototype.getParent;olympe.sc.zb.C='EditionMode';olympe.sc.zb.G='Production';olympe.sc.zb.F='onstartTimeout';function Mh(a){const b=new olympe.sc.zb(a.tag,a);a.Ra.set(b.da(),b);a.fa.forEach(c=>{Kh(b,c)});a.Ja&&(b.Ja=!0);a.La&&Eh(b);return b}olympe.sc.so=class extends olympe.sc.zb{constructor(a,b){super(a,b);this.Ra=new Map}sa(a){for(const b of this.Ra.values())a(b)}Va(a){super.Va(a);this.Ra.delete(a.da())}$c(){throw Error('GetChild should never be called on a MultiContext');}Wa(){throw Error('getMultiChild should never be called on a MultiContext');}};olympe.sc.logic={};olympe.sc.logic.Hn=(a,b)=>a===b?0:a>b?1:-1;
980
- olympe.sc.logic.ez=(a,b,c,d,e,f,g)=>{const h=b.R();b=olympe.D.Sa(b.C().R());let k,m;if(b===olympe.dc.Fa(olympe.dm.String))k=c.valueOf().toLowerCase(),m=p=>p.ub(h).toLowerCase();else if(b===olympe.dc.Fa(olympe.dm.Number))k=c.valueOf(),m=p=>p.Md(h);else if(b===olympe.dc.Fa(olympe.dm.DateTime))k=c.getTime(),m=p=>olympe.D.Aa([p.ji(h)],q=>q.getTime(),Number,'FilterList Date&DateTime TransformFlows');else{c=olympe.dc.Xa().name(b);g.warn(`Properties of type ${c} are not supported. List will not be filtered.`);e(a);
981
- return}let n;if('<'===f)n=(p,q)=>olympe.sc.logic.Hn(q,p);else if('>'===f)n=(p,q)=>olympe.sc.logic.Hn(p,q);else{g.error(`Unknown inequality ${f}. Please use '<' or '>'`);return}e(a.If().filter(p=>olympe.D.Aa([m(p)],q=>{q=n(q.valueOf(),k);return olympe.D.nc(d.valueOf()?1===q:0<=q)},olympe.D.ga,'FilterList ListDefBuilder Filter TransformFlows')).Mb())};
982
- olympe.sc.logic.yB=(a,b)=>{if(a instanceof olympe.D.ea)return a;if(a instanceof olympe.D.Pa)return a.yq();if(a instanceof olympe.D.ga)return a.Yp();if('string'===typeof a||'number'===typeof a)return olympe.D.wa(Number(a));b.error(`Could not parse provided value ${a} into a number`);return olympe.D.ea.to};olympe.sc.logic.za={};olympe.sc.logic.za.mr=class{constructor(a,b,...c){this.L=new Map;this.O=new Map;this.P=olympe.dc.va.C(a,b,...c);Gc(this.P,(d,e)=>{var f=b.Jl()||olympe.sc.logic.Function;e=ce(d,{[olympe.dc.Sync.nameProp.R()]:e},b,f).R();f=new olympe.sc.logic.controllers.ht;let g=0;for(const [h,k]of this.L)Nh(f,d,e,k[0],k[1],{Zl:h,$l:g}),g++;g=0;for(const [h,k]of this.O)Oh(f,d,e,k[0],k[1],{gm:h,$l:g}),g++;f=olympe.dc.Xa();(f.ni(b,olympe.sc.logic.ik)||f.ni(b,olympe.sc.logic.hk))&&d.update(e,olympe.sc.Na.sa,!0);return e})}F(a,
983
- b,c){this.L.set(olympe.dc.Fa(a),[b,olympe.dc.Fa(c)]);return this}G(a,b,c){this.O.set(olympe.dc.Fa(a),[b,olympe.dc.Fa(c)]);return this}R(){return this.P.R()}};function Ph(a){Gc(a.P,(b,c)=>{b=b.create(a.P.F);b.setProperty(olympe.dc.Sync.nameProp,c);return b.R()})}olympe.sc.logic.za.xn=class{constructor(a,b,c){this.P=olympe.dc.va.C(a,b,...c);Ph(this)}R(){return this.P.R()}};olympe.sc.logic.za.xn.ka=[olympe.dc.Hd];const Qh=Object.create(null),Rh=Object.create(null);function Sh(a){if(void 0===Qh[a])throw Error(`Tag: ${a} - does not correspond to a registered function`);return Dc(a)}
984
- function Th(a,b){if(Rh[a]){var c=Sh(a);throw Error(`Tag: ${a} - overwriting already defined functionDef "${c.name}" with "${b.name}"`);}for(c=new olympe.sc.logic.za.mr(a,b,...[]);b!==olympe.sc.logic.Sd;){b=Object.getPrototypeOf(b.prototype).constructor;var d=olympe.dc.va.Wb(b);if(!d||void 0===Rh[d])throw Error(`FunctionDefinition "${b.name}" is not registered in the FunctionRegistry.`);const f=Rh[d];d=f;var e=c.F.bind(c);for(const [g,h]of d.L)e(g,h[0],h[1]);d=f;e=c.G.bind(c);for(const [g,h]of d.O)e(g,
985
- h[0],h[1])}return Rh[a]=c}olympe.sc.logic.va=class{constructor(){}static C(a,b,...c){if(Qh[a])throw c=Sh(a),Error(`Tag: ${a} - overwriting already defined function "${c.name}" with "${b.name}"`);b=new olympe.sc.logic.za.xn(a,b,[olympe.sc.T.Ga].concat(c));return Qh[a]=b}};olympe.sc.logic.gy=class{};olympe.sc.logic.He=class extends olympe.dc.Sync{};olympe.sc.logic.He.P=olympe.dc.va.C('01621fb84e320000cf00',olympe.sc.logic.He);olympe.sc.logic.Error=class{constructor(a,b){this.code=a;this.C=b}static create(a,b){return new olympe.sc.logic.Error(b,a)}yv(){return this.C}Vu(){return this.code}};v('olympe.sc.logic.Error',olympe.sc.logic.Error);olympe.sc.logic.Error.prototype.getCode=olympe.sc.logic.Error.prototype.Vu;olympe.sc.logic.Error.prototype.getMessage=olympe.sc.logic.Error.prototype.yv;olympe.sc.logic.Error.create=olympe.sc.logic.Error.create;
986
- olympe.sc.logic.tf=class extends olympe.sc.logic.He{static create(a,b){return new olympe.sc.logic.Error(b,a)}};olympe.sc.logic.tf.P=olympe.dc.va.C('016eeb5ede9f3094d8f0',olympe.sc.logic.tf);olympe.sc.logic.Yc=class extends olympe.dc.Sync{C(){return this.tc(olympe.sc.logic.Yc.yi,olympe.dc.Sync)}};olympe.sc.logic.Yc.P=olympe.dc.va.C('016ac4f59ee8ea2081ba',olympe.sc.logic.Yc);olympe.sc.logic.Yc.nq=olympe.sc.logic.Yc.P.Ba('017bc044aeacce7ffc8f');olympe.sc.logic.Yc.yi=olympe.sc.logic.Yc.P.Ma('016ac4f5a0091c4790e2');P(olympe.dc.Sync.P,olympe.sc.logic.Yc.yi);olympe.sc.logic.Yc.prototype.C.K=new olympe.D.H(()=>olympe.dc.Sync,[]);olympe.sc.logic.zf=class extends olympe.sc.logic.Yc{};olympe.sc.logic.zf.P=olympe.dc.va.C('016ac4f59c592b862457',olympe.sc.logic.zf);olympe.sc.logic.zf.Hl=olympe.sc.Kc.G.kd();olympe.sc.logic.zf.P.C=(a,b,c,d,e)=>{b=ce(a,b||'New Predefined Input',olympe.sc.logic.zf,olympe.sc.logic.nb);b.setProperty(olympe.sc.logic.Yc.nq,e);a.oa(olympe.sc.logic.Yc.yi,b,c);a.oa(olympe.sc.Kc.G,d,b);return b.R()};olympe.sc.logic.Me=class extends olympe.sc.logic.Yc{};olympe.sc.logic.Me.P=olympe.dc.va.C('016ac4f59dd99f5df3e1',olympe.sc.logic.Me);olympe.sc.logic.Me.Hl=P(olympe.sc.logic.Me.P,olympe.sc.Kc.O);olympe.sc.logic.Me.P.C=(a,b,c,d,e)=>{b=ce(a,b||'New Predefined Output',olympe.sc.logic.Me,olympe.sc.logic.sb);b.setProperty(olympe.sc.logic.Yc.nq,e);a.oa(olympe.sc.logic.Yc.yi,b,c);a.oa(olympe.sc.Kc.O,d,b);return b.R()};olympe.sc.logic.Sd=class extends olympe.sc.Na{static Jl(){return olympe.sc.logic.Function}C(){return olympe.sc.Ae.mg.Vo}U(){return this.Ll().If().Of([olympe.sc.logic.Function]).and().Eg().Of([olympe.sc.logic.Gc,olympe.sc.logic.Hc]).Mb()}pv(){return this.Jk().If().li([olympe.dc.Sync.modelRel,olympe.sc.logic.zf.Hl]).Mb()}qv(){return this.Wi().If().li([olympe.dc.Sync.modelRel,olympe.sc.logic.Me.Hl]).Mb()}Kf(a){const b=this.db.Fl(this,[olympe.sc.Na.O],c=>this.db.model(c)===olympe.dc.Fa(a));return b?olympe.dc.Sync.Nb(b):
987
- null}sg(a){const b=this.db.Fl(this,[olympe.sc.Na.U],c=>this.db.model(c)===olympe.dc.Fa(a));return b?olympe.dc.Sync.Nb(b):null}cw(){return this.Jk().If().li([olympe.dc.Sync.modelRel],olympe.sc.logic.nb).Mb()}dw(){return this.Wi().If().li([olympe.dc.Sync.modelRel],olympe.sc.logic.sb).Mb()}};Th('01621fb84e320000f000',olympe.sc.logic.Sd);l=olympe.sc.logic.Sd.prototype;l.pv.K=new olympe.D.H(()=>olympe.dc.pa,[]);l.qv.K=new olympe.D.H(()=>olympe.dc.pa,[]);l.Kf.K=new olympe.D.H(()=>olympe.sc.logic.nb,[]);
988
- l.sg.K=new olympe.D.H(()=>olympe.sc.logic.sb,[]);l.cw.K=new olympe.D.H(()=>olympe.dc.pa,[]);l.dw.K=new olympe.D.H(()=>olympe.dc.pa,[]);olympe.sc.logic.Fe=class extends olympe.sc.logic.Sd{static Jl(){return olympe.sc.logic.Action}F(){return this.Kf('016ac63229782039429f')}G(){return this.sg('016ac6322acf67eebfe7')}L(){return this.Wi().If().Vi(olympe.sc.logic.kc.typeRel).Bj(olympe.sc.logic.tf).Mb().ke().am(olympe.D.ea.ZERO)}};olympe.sc.logic.Fe.$='016ac63229782039429f';olympe.sc.logic.Fe.ia='016ac6322acf67eebfe7';
989
- olympe.sc.logic.Fe.P=Th('01621fb84e320000a000',olympe.sc.logic.Fe).F('016ac63229782039429f','Control Flow',olympe.sc.logic.He).G('016ac6322acf67eebfe7','Control Flow',olympe.sc.logic.He);olympe.sc.logic.Fe.prototype.F.K=new olympe.D.H(()=>olympe.sc.logic.nb,[]);olympe.sc.logic.Fe.prototype.G.K=new olympe.D.H(()=>olympe.sc.logic.sb,[]);olympe.sc.logic.Fe.prototype.L.K=olympe.D.H.O;olympe.sc.logic.ik=class extends olympe.sc.logic.Sd{};olympe.sc.logic.ik.P=Th('01621fb84e320000f011',olympe.sc.logic.ik).P;olympe.sc.logic.hk=class extends olympe.sc.logic.Fe{};olympe.sc.logic.hk.P=Th('01621fb84e320000f012',olympe.sc.logic.hk).P;olympe.sc.logic.nj=class extends olympe.sc.logic.Fe{};olympe.sc.logic.nj.P=olympe.dc.va.C('0162f6779fe5aca669c7',olympe.sc.logic.nj,olympe.sc.T.Ga);olympe.sc.logic.nj.P.C=function(a,b){return ce(a,{[olympe.dc.Sync.nameProp.R()]:b,[olympe.sc.Na.sa.R()]:!1},olympe.sc.logic.nj,olympe.sc.logic.Action).R()};function Uh(a,b,c){a.onUpdate=(d,e,f)=>{e.forEach((g,h)=>{e[h]=olympe.dc.aa.Bb.nu(g)});c(...e,...f)};a.setup(b);a.L(b)}
990
- olympe.sc.logic.Function=class extends olympe.sc.Runnable{O(){return[this.Wa]}L(a){const b=this.db.name(this.Wb());this.N.debug(`Function ${b} (${this.Wb()}) is hardcoded`);const c=this.G(a),d=new olympe.D.ic(`Function ${b} (${this.tag}) runCodedBrick`,a.C);this.setupUpdate(a,e=>{d.G()||(d.sa(),d.run(this.onUpdate.bind(this,a,e,c)))},()=>d.sa())}G(a){return this.getOutputs().map(b=>a.set.bind(a,b))}onUpdate(){this.N.error(`Function ${this.db.name(this.Wb())} (${this.Wb()}) is flagged as hardcoded, but method onUpdate() has not been overridden.`)}getInputs(){var a=
991
- this.ud();return nh(a,a.db.$a(a.tag,olympe.sc.Na.O))}getOutputs(){var a=this.ud();return nh(a,a.db.$a(a.tag,olympe.sc.Na.U))}setupUpdate(a,b,c){const d=this.getInputs();if(0<d.length){const e=[],f=new Set;d.forEach((g,h)=>{a.on(g,k=>{e[h]=k;null!==k&&void 0!==k?f.add(g):f.delete(g);f.size===d.length?b(e):c()},this.tag)})}else b([])}};olympe.sc.logic.Function.P=olympe.dc.va.C('0168c6f020f2a96f0000',olympe.sc.logic.Function,olympe.sc.T.Ga);olympe.sc.logic.kc=class extends olympe.dc.Sync{C(){return this.tc(olympe.sc.logic.kc.typeRel,olympe.dc.Sync)}F(){return this.Md(olympe.sc.logic.kc.Dj)}};olympe.sc.logic.kc.P=olympe.dc.va.C('0168a431d25001540000',olympe.sc.logic.kc);olympe.sc.logic.kc.Dj=olympe.sc.logic.kc.P.Ba('01740c5d4ae4b520dd01');olympe.sc.logic.kc.typeRel=olympe.sc.logic.kc.P.Ma('0168a431d3b9b7438424');P(olympe.dc.Sync.P,olympe.sc.logic.kc.typeRel);olympe.sc.logic.kc.prototype.C.K=new olympe.D.H(()=>olympe.dc.Sync,[]);
992
- olympe.sc.logic.kc.prototype.F.K=olympe.D.H.G;olympe.sc.logic.nb=class extends olympe.sc.logic.kc{};olympe.sc.logic.nb.P=olympe.dc.va.C('0168a431d25001540001',olympe.sc.logic.nb);olympe.sc.logic.nb.tu=olympe.sc.logic.kc.P.Ba('01740c5d4ae4b520dd02');olympe.sc.logic.nb.Ou=P(olympe.sc.logic.nb.P,olympe.sc.Na.O);olympe.sc.logic.nb.jm=olympe.sc.logic.nb.P.Ma('0168a431d91f2578000b',olympe.dc.Ka.ORIGIN);olympe.sc.logic.nb.$t=olympe.sc.logic.nb.P.Ma('01621fb84e32000000a1',olympe.dc.Ka.ORIGIN);
993
- olympe.sc.logic.nb.Cu=olympe.sc.logic.nb.P.Ma('01621fb84e32000000d1',olympe.dc.Ka.ORIGIN);olympe.sc.logic.nb.P.C=function(a,b,c,d,e,f=olympe.sc.logic.nb){f=a.create(f);f.setProperty(olympe.dc.Sync.nameProp,b||'New input');a.oa(olympe.sc.logic.kc.typeRel,f,c);void 0!==e&&f.setProperty(olympe.sc.logic.kc.Dj,e);d&&a.oa(olympe.sc.Na.O,d,f);return f.R()};olympe.sc.logic.sb=class extends olympe.sc.logic.kc{};olympe.sc.logic.sb.P=olympe.dc.va.C('0168a431d25001540002',olympe.sc.logic.sb);olympe.sc.logic.sb.Ou=P(olympe.sc.logic.sb.P,olympe.sc.Na.U);olympe.sc.logic.sb.jm=olympe.sc.logic.sb.P.Ma('0168a431d91f25780003',olympe.dc.Ka.ORIGIN);olympe.sc.logic.sb.Gx=olympe.sc.logic.sb.P.Ma('01621fb84e32000000a2',olympe.dc.Ka.ORIGIN);olympe.sc.logic.sb.vu=olympe.sc.logic.sb.P.Ma('01621fb84e32000000d2',olympe.dc.Ka.ORIGIN);
994
- olympe.sc.logic.sb.P.C=function(a,b,c,d,e,f=olympe.sc.logic.sb){f=a.create(f);f.setProperty(olympe.dc.Sync.nameProp,b||'New output');a.oa(olympe.sc.logic.kc.typeRel,f,c);void 0!==e&&f.setProperty(olympe.sc.logic.kc.Dj,e);d&&a.oa(olympe.sc.Na.U,d,f);return f.R()};olympe.sc.logic.Action=class extends olympe.sc.logic.Function{setupUpdate(a,b,c){const d=this.ud().F().R(),e=[];this.getInputs().filter(f=>f!==d).forEach((f,g)=>{e[g]=void 0;a.on(f,h=>{e[g]=h},this.tag)});if(d)a.on(d,f=>{f?b(e):c()},this.tag);else this.N.error(`Action ${this.db.name(this.Wb())} (${this.Wb()}) has no predefined input control flow.`)}G(a){const b=this.ud().G().R();return this.getOutputs().map(c=>c===b?()=>a.set(c,Date.now()):a.set.bind(a,c))}};
995
- olympe.sc.logic.Action.P=olympe.dc.va.C('0168c6f020f2a96a0000',olympe.sc.logic.Action,olympe.sc.T.Ga);olympe.sc.logic.Gc=class extends olympe.sc.logic.Function{run(a){this.setup(a);const b=a.getParent(),c=this.db.uc(this,olympe.sc.logic.Gc.G),d=this.db.uc(this,olympe.sc.logic.Gc.L);a.on(c,e=>b.set(d,e),this.tag)}F(){return this.tc(olympe.sc.logic.Gc.G,olympe.sc.logic.nb)}La(){return this.tc(olympe.sc.logic.Gc.L,olympe.sc.logic.sb)}};olympe.sc.logic.Gc.P=olympe.dc.va.C('01621fb84e32000000a0',olympe.sc.logic.Gc,olympe.sc.T.Ga);olympe.sc.logic.Gc.G=P(olympe.sc.logic.Gc.P,olympe.sc.logic.nb.$t);
996
- olympe.sc.logic.Gc.L=P(olympe.sc.logic.Gc.P,olympe.sc.logic.sb.Gx);olympe.sc.logic.Gc.P.C=function(a,b,c){b=a.create(olympe.sc.logic.Gc);a.oa(olympe.sc.logic.Gc.L,b,c);a.oa(olympe.dc.Sync.containsRel,b,c);return b.R()};olympe.sc.logic.Gc.prototype.F.K=new olympe.D.H(()=>olympe.sc.logic.nb,[]);olympe.sc.logic.Gc.prototype.La.K=new olympe.D.H(()=>olympe.sc.logic.sb,[]);olympe.sc.logic.Hc=class extends olympe.sc.logic.Function{run(a){const b=a.getParent(),c=this.db.uc(this,olympe.sc.logic.Hc.L),d=this.db.uc(this,olympe.sc.logic.Hc.G);b.on(c,e=>a.set(d,e),b)}La(){return this.tc(olympe.sc.logic.Hc.L,olympe.sc.logic.nb)}F(){return this.tc(olympe.sc.logic.Hc.G,olympe.sc.logic.sb)}};olympe.sc.logic.Hc.P=olympe.dc.va.C('01621fb84e32000000d0',olympe.sc.logic.Hc,olympe.sc.T.Ga);olympe.sc.logic.Hc.L=P(olympe.sc.logic.Hc.P,olympe.sc.logic.nb.Cu);
997
- olympe.sc.logic.Hc.G=P(olympe.sc.logic.Hc.P,olympe.sc.logic.sb.vu);olympe.sc.logic.Hc.P.C=function(a,b,c){b=a.create(olympe.sc.logic.Hc);a.oa(olympe.sc.logic.Hc.L,b,c);a.oa(olympe.dc.Sync.containsRel,b,c);return b.R()};olympe.sc.logic.Hc.prototype.La.K=new olympe.D.H(()=>olympe.sc.logic.nb,[]);olympe.sc.logic.Hc.prototype.F.K=new olympe.D.H(()=>olympe.sc.logic.sb,[]);function uh(a,b,c){const d=a.db.uc(a,olympe.sc.logic.hb.$)||a.db.uc(a,olympe.sc.logic.hb.G),e=a.db.uc(a,olympe.sc.logic.hb.L),f=a.C.bind(a,b,c);if(null!==d&&null!==e){let h;const k=b.mq(e,m=>{h&&h();h=m.on(d,f,e)});return()=>{f(null);k();h&&h()}}const g=vd(a.db,a,olympe.sc.logic.hb.valueProp,f);return()=>{f(null);a.db.G(a,olympe.sc.logic.hb.valueProp,g)}}
998
- olympe.sc.logic.hb=class extends olympe.dc.Sync{constructor(a,b,c){super(a,b);this.N=c}C(a,b,c){const d='detachInstance'+this.tag,e=a.Sa(d,!0);e&&(e(),a.remove(d));const f=olympe.sc.ng(c);if(f instanceof olympe.dc.Sync){const g=a.getParent();Ih(g,f);a.set(d,()=>Ch(g,f))}b(f)}hs(){const a=this.transform(olympe.sc.logic.hb.O,olympe.sc.logic.kc.typeRel);a.dd(olympe.dc.Sync);return a.jd()}aw(){return this.tc(olympe.sc.logic.hb.L,olympe.dc.Sync)}Zv(){return this.tc(olympe.sc.logic.hb.$,olympe.sc.logic.sb)}$v(){return this.tc(olympe.sc.logic.hb.G,
999
- olympe.dm.Property)}hv(){return this.tc(olympe.sc.logic.hb.C,olympe.dc.Sync)}fv(){return this.tc(olympe.sc.logic.hb.O,olympe.sc.logic.nb)}gv(){return this.tc(olympe.sc.logic.hb.U,olympe.dm.Property)}};olympe.sc.logic.hb.P=olympe.dc.va.C('0168a431d91f25780000',olympe.sc.logic.hb,olympe.sc.T.Ga);olympe.sc.logic.hb.valueProp=olympe.sc.logic.hb.P.Ba('0168a431d91f25780001');olympe.sc.logic.hb.L=olympe.sc.logic.hb.P.Ma('0168a431d91f25780002');olympe.sc.logic.hb.$=P(olympe.sc.logic.hb.P,olympe.sc.logic.sb.jm);
1000
- olympe.sc.logic.hb.G=olympe.sc.logic.hb.P.Ma('0168a431d91f25780004');olympe.sc.logic.hb.C=olympe.sc.logic.hb.P.Ma('0168a431d91f2578000a');olympe.sc.logic.hb.O=P(olympe.sc.logic.hb.P,olympe.sc.logic.nb.jm);olympe.sc.logic.hb.U=olympe.sc.logic.hb.P.Ma('0168a431d91f2578000c');P(olympe.dc.Sync.P,olympe.sc.logic.hb.L);P(olympe.dm.Property.P,olympe.sc.logic.hb.G);P(olympe.dc.Sync.P,olympe.sc.logic.hb.C);P(olympe.dm.Property.P,olympe.sc.logic.hb.U);l=olympe.sc.logic.hb.prototype;
1001
- l.hs.K=new olympe.D.H(()=>olympe.dc.Sync,[]);l.aw.K=new olympe.D.H(()=>olympe.dc.Sync,[]);l.Zv.K=new olympe.D.H(()=>olympe.sc.logic.sb,[]);l.$v.K=new olympe.D.H(()=>olympe.dm.Property,[]);l.hv.K=new olympe.D.H(()=>olympe.dc.Sync,[]);l.fv.K=new olympe.D.H(()=>olympe.sc.logic.nb,[]);l.gv.K=new olympe.D.H(()=>olympe.dm.Property,[]);olympe.sc.logic.Yf=class{constructor(){this.transaction=null;this.db=olympe.dc.Xa();this.info=null}Xl(){null===this.transaction&&(this.transaction=new olympe.dc.ib);return this.transaction}Mb(){this.Xl().gd(void 0)}};
1002
- olympe.sc.logic.Yf.F=class{constructor(a,b,c,d){this.C=a;this.name=b;this.G=olympe.dc.Fa(c);this.F=d&&olympe.dc.Fa(d)||null}ja(){return this.name}Ej(){return this.C===olympe.sc.logic.Yf.C.Bq||this.C===olympe.sc.logic.Yf.C.Pk}R(){return this.C===olympe.sc.logic.Yf.C.dk||this.C===olympe.sc.logic.Yf.C.Ft?this.F||'':this.G}};olympe.sc.logic.Yf.C={Yx:'Brick',Pk:'Manual',Bq:'Anon',Ft:'ValCall',dk:'Call'};olympe.sc.logic.Yf.ka=[olympe.dc.Hd];function Vh(a){olympe.D.Yb([a.F],b=>{if(null===b)for(const c of a.O.values())c();else for(const c of a.C.values())Wh(a,b,c)},'funcDefUpdater')}function Wh(a,b,c){const d=Mh(a.U),e=a.G.map(g=>{const h=olympe.D.Sa(g).R();return k=>olympe.D.Yb([k],m=>d.set(h,m),'updateInputValueInContext')}),f=a.L.map(g=>d.xb(olympe.D.Sa(g).R(),Object,!0));qg(a.$,'manualRun',b).run(d);c.F(...e);olympe.D.Yb(f,c.C,'resolvedOutputsProvider');olympe.D.Ha().L(d.fb.bind(d))}
1003
- olympe.sc.logic.Es=class{constructor(a,b,c,d,e){this.$=a;this.F=b;this.U=c.Wa('manualRun');this.G=d;this.L=e;this.C=new Map;this.O=new Map;Vh(this)}run(a,b){const c=olympe.aa.$e();a=new Xh(a,b);this.C.set(c,a);olympe.D.Ha().L(()=>this.C.delete(c));b=olympe.D.Sa(this.F);void 0!==b&&null!==b&&Wh(this,b,a)}};class Xh{constructor(a,b){this.F=a;this.C=b}}olympe.sc.logic.Es.C='manualRun';function Yh(a){function b(c){let d=c;switch(c&&c.type){case 1:d=new Date(c.datetime);break;case 2:d=olympe.D.Color.create(c.r,c.g,c.b,c.a);break;case 3:d=olympe.sc.logic.Error.create(c.msg,c.code);break;case 4:d=olympe.dc.Sync.Nb(c.tag);break;case 5:d=new Map(Object.entries(c.map).map(([e,f])=>[e,b(f)]));break;default:Array.isArray(d)?d=d.map(e=>b(e)):'object'===typeof c&&(d=Yh(c))}return d}return a&&Object.entries(a).reduce((c,[d,e])=>{c[d]=b(e);return c},{})}
1004
- function Zh(a,b){const c=a.ud(),d=c.Kk().R(),e=c.Lk().R(),f=c.Nl().R();b.on(d,g=>{g&&(g=olympe.sc.logic.Pe.na(a.getInputs().reduce((h,k)=>{h[k]=b.get(k);return h},{})),olympe.J.Ea.eb.Client.get(a.Wb(),g).then(h=>{h=Yh(h);for(const [k,m]of Object.entries(h))k!==e&&k!==f&&b.set(k,m);b.set(e,h[e]);b.set(f,h[f])}).catch(h=>{b.set(f,olympe.sc.logic.tf.create(h.toString(),1))}))},a.tag)}
1005
- function $h(a,b,c,d,e){b.on(c,f=>{f&&(d.cancel(),f=olympe.sc.logic.Pe.na(a.getOutputs().reduce((g,h)=>{g[h]=b.get(h);return g},{})),e.Gg(f).finally(()=>b.fb()))},a.tag)}
1006
- olympe.sc.logic.Pe=class extends olympe.sc.logic.Function{static na(a){function b(c){let d=c;if(c instanceof Date||c instanceof olympe.D.Ya)d={type:1,datetime:(c instanceof olympe.D.Ya?c.valueOf():c).toISOString()};else if(c instanceof olympe.D.Color)d={type:2,r:c.xg().valueOf(),g:c.ug().valueOf(),b:c.pg().valueOf(),a:c.og().valueOf()};else if(c instanceof olympe.sc.logic.Error)d={type:3,code:c.code,msg:c.C};else if(c&&'function'===typeof c.R)d={type:4,tag:c.R()};else if(Array.isArray(d))d=d.map(e=>
1007
- b(e));else if(d instanceof Map){c=Object.create(null);for(const [e,f]of d)'string'===typeof e&&(c[e]=b(f));d={type:5,map:c}}else'object'===typeof d&&(d=olympe.sc.logic.Pe.na(c));return d}return a&&Object.entries(a).reduce((c,[d,e])=>{c[d]=b(e);return c},{})}constructor(a,b,c,d){super(a,b,c);this.timeout=d}run(a){this.db.Ib(this,olympe.sc.logic.Pe.G)?this.F(a):(this.setup(a),Zh(this,a))}F(a){const b=a.Wa(this.tag),c=this.Wb(),d=new olympe.J.Ea.eb.In(c);a.onDestroy(()=>{d.stop().catch(e=>this.N.error(`Error while stopping remote service ${c}: ${e}`))});
1008
- d.start().then(()=>{const e=this.ud(),f=e.bq().R(),g=e.Kk().R(),h=e.Lk().R(),k=e.Nl().R();d.Hj().subscribe(rxjs.Subscriber.create(m=>{const n=Yh(m.body()),p=Mh(b),q=$b(()=>{m.Pp(Error(`Timeout reached on remote action ${this.db.name(this)} (${this.tag})`));p.fb()},this.timeout);$h(this,p,h,q,m);$h(this,p,k,q,m);super.run(p);for(const [r,t]of Object.entries(n))r!==g&&p.set(r,t);p.get(f)?p.set(g,n[g]):m.De().then(r=>{p.set(f,r);p.set(g,n[g])})},m=>{this.N.error(`Error while listening on remote action ${this.db.name(this)} (${this.tag}): ${m.message}`)}))})}};
1009
- olympe.sc.logic.Pe.P=olympe.dc.va.C('017a7b0c5dcbd8964c5d',olympe.sc.logic.Pe,olympe.sc.T.Ga,new olympe.V.la(olympe.sc.Z.Po));olympe.sc.logic.Pe.G=olympe.sc.logic.Pe.P.Ba('017a7b0c62a02a89444f');olympe.sc.logic.controllers={};olympe.sc.logic.controllers.Ek=class{constructor(a,b,c,d,e){this.db=olympe.dc.Xa();this.Zl=a;this.C=b;this.gm=c;this.F=d;this.typeRel=e}};olympe.sc.logic.controllers.Ek.C={hy:-1,az:1};olympe.sc.logic.controllers.Cz=class extends olympe.sc.logic.controllers.Ek{constructor(){super(olympe.sc.logic.zf,olympe.sc.Kc.G,olympe.sc.logic.Me,olympe.sc.Kc.O,olympe.sc.logic.Yc.yi)}};function Nh(a,b,c,d,e,{defaultValue:f=null,Zl:g=olympe.sc.logic.nb,$l:h}={}){a=ai(a,b,c,d,e,a.Zl,a.C,h,g);void 0!==f&&null!==f&&b.update(a,olympe.sc.logic.nb.tu,f);f=rg(b,olympe.sc.logic.Hc,void 0,a);b.oa(olympe.dc.Sync.F,f,c);b.oa(olympe.sc.Na.G,c,f);e=rg(b,olympe.sc.logic.sb,'Descender output',e);b.oa(olympe.dc.Sync.F,e,c);b.oa(olympe.sc.logic.Hc.G,f,e);b.oa(olympe.dc.Sync.containsRel,f,e)}
1010
- function Oh(a,b,c,d,e,{gm:f=olympe.sc.logic.sb,$l:g}={}){a=ai(a,b,c,d,e,a.gm,a.F,g,f);b.oa(olympe.dc.Sync.F,a,c);a=rg(b,olympe.sc.logic.Gc,void 0,a);b.oa(olympe.dc.Sync.F,a,c);b.oa(olympe.sc.Na.G,c,a);e=rg(b,olympe.sc.logic.nb,'Ascender input',e);b.oa(olympe.dc.Sync.F,e,c);b.oa(olympe.sc.logic.Gc.G,a,e);b.oa(olympe.dc.Sync.containsRel,a,e)}function ai(a,b,c,d,e,f,g,h,k){a=h?h:a.db.$a(c,g).length;d=rg(b,f,d,e,c,a,k);b.oa(olympe.dc.Sync.containsRel,c,d);b.oa(olympe.dc.Sync.F,d,c);return d}
1011
- olympe.sc.logic.controllers.ht=class extends olympe.sc.logic.controllers.Ek{constructor(){super(olympe.sc.logic.nb,olympe.sc.Na.O,olympe.sc.logic.sb,olympe.sc.Na.U,olympe.sc.logic.kc.typeRel)}};olympe.sc.logic.ue={};olympe.sc.logic.ue.rr=class extends olympe.sc.logic.Function{constructor(a,b,c){super(a,b,c)}onUpdate(a,[b,c,d],[e]){fetch(`https://maps.googleapis.com/maps/api/geocode/json?latlng=${b},${c}&key=${d}`).then(f=>{f.ok?f.json().then(g=>{'OK'===g.status?e(g.results[0].formatted_address):e('No match')}):e('No match')})}};olympe.sc.logic.va.C('0162d8f863d612851555',olympe.sc.logic.ue.rr);olympe.sc.logic.ue.sr=class extends olympe.sc.logic.Function{constructor(a,b,c,d){super(a,b,c);this.F=d}onUpdate(a,[b],[c]){try{c(olympe.dc.aa.Bb.ng(this.F.getParameter(b)))}catch(d){this.N.debug('Parameter not found : '+b)}}};olympe.sc.logic.va.C('0166e45d472c667c91a0',olympe.sc.logic.ue.sr,olympe.V.T.pf);olympe.sc.logic.ue.Fr=class extends olympe.sc.logic.Function{constructor(a,b,c,d){super(a,b,c);this.F=d}run(a){Uh(this,a,b=>{olympe.D.Yb([Ob(this.F)],c=>{b(c)})})}};olympe.sc.logic.va.C('0171a137d3955814862d',olympe.sc.logic.ue.Fr,olympe.ca.T.ua);olympe.sc.logic.ue.tt=class extends olympe.sc.logic.Function{onUpdate(a,[b,c],[d]){const e=olympe.dc.Fa(b);e?ye(qe(new olympe.dc.uf(e),olympe.dc.ob.RUNTIME),c).gd(()=>{d(olympe.dc.Sync.Nb(e))}):this.N.warn('Cannot subscribe to an instance with no tag: '+e)}};olympe.sc.logic.va.C('0174bf4b7e006e4b788a',olympe.sc.logic.ue.tt);olympe.sc.logic.actions={};olympe.sc.logic.actions.Xq=class extends olympe.sc.logic.Action{constructor(a,b,c,d){super(a,b,c);this.F=d}onUpdate(a,b,[c]){this.F.O()?c():(this.F.zd(()=>{this.F.yc('connectAction');c()},'connectAction'),olympe.D.Ha().L(()=>{this.F.yc('connectAction')}),this.F.connect())}};olympe.sc.logic.va.C('01760e73465c1c401b06',olympe.sc.logic.actions.Xq,olympe.J.T.ua);olympe.sc.logic.actions.cr=class extends olympe.sc.logic.Action{constructor(a,b,c,d){super(a,b,c);this.F=d}onUpdate(a,b,[c]){this.F.O()?(this.F.se(()=>{this.F.Nc('disconnectAction');c()},'disconnectAction'),olympe.D.Ha().L(()=>{this.F.Nc('disconnectAction')}),this.F.pi()):c()}};olympe.sc.logic.va.C('01760e73465c1c401b08',olympe.sc.logic.actions.cr,olympe.J.T.ua);olympe.sc.logic.ue.vs=class extends olympe.sc.logic.Function{run(a){this.setup(a);const [b,c,d]=this.G(a);let e,f=null,g=null;const h=a.getParent(),k=()=>{null===g||0===e?(this.N.warn('No list to iter upon'),this.N.info(a.R())):f<e?(b(g.ee(f)),f++,c((new Date).getTime())):(Fh(h),d((new Date).getTime()))};this.getInputs().forEach((m,n)=>a.on(m,p=>{if(p)switch(n){case 0:g=p;break;case 1:e=g.Jf();f=0;Eh(h);k();break;case 2:k();break;default:this.N.error('Unhandled input')}},this.tag))}};
1012
- olympe.sc.logic.va.C('0171889b060b6cd54300',olympe.sc.logic.ue.vs);olympe.sc.logic.actions.xs=class extends olympe.sc.logic.Action{constructor(a,b,c,d){super(a,b,c);this.si=d}onUpdate(a,b,[c,d]){this.si.U(e=>{null!==e?c(olympe.sc.logic.tf.create(e.message,100)):d()})}};olympe.sc.logic.va.C('01774b2923083a39b010',olympe.sc.logic.actions.xs,olympe.Za.T.Yi);olympe.sc.logic.actions.vt=class extends olympe.sc.logic.Action{constructor(a,b,c,d,e){super(a,b,c);this.si=d;this.F=e}run(a){Uh(this,a,(b,c)=>{Pb(this.F)?this.si.$b(d=>{null!==d?b(olympe.sc.logic.tf.create(d.message,100)):c()}):b(olympe.sc.logic.tf.create('Not connected to server',100))})}};olympe.sc.logic.va.C('0171a13bc1b0c4d628d8',olympe.sc.logic.actions.vt,olympe.Za.T.Yi,olympe.ca.T.ua);olympe.sc.logic.ac={};olympe.sc.logic.ac.Gk=class extends olympe.sc.logic.Sd{F(){return this.Kf('016ac63808535703691c')}};olympe.sc.logic.ac.Gk.P=Th('0169b6876a03f139d50a',olympe.sc.logic.ac.Gk).F('016ac63808535703691c','Control Flow',olympe.sc.logic.He);olympe.sc.logic.ac.Gk.prototype.F.K=new olympe.D.H(()=>olympe.sc.logic.nb,[]);olympe.sc.logic.ac.Wk=class extends olympe.sc.logic.Sd{F(){return this.Kf('016ac63809a9a8e6db96')}G(){return this.sg('016ac6380ab003363b3e')}};Th('01646ad602f933b8caaf',olympe.sc.logic.ac.Wk).F('016ac63809a9a8e6db96','Object',olympe.dc.Sync).G('016ac6380ab003363b3e','Value',olympe.dm.String);olympe.sc.logic.ac.Wk.prototype.F.K=new olympe.D.H(()=>olympe.sc.logic.nb,[]);olympe.sc.logic.ac.Wk.prototype.G.K=new olympe.D.H(()=>olympe.sc.logic.sb,[]);olympe.sc.logic.ac.dj=class extends olympe.sc.logic.Sd{F(){return this.Kf('016ac6380bd98f1d91a0')}L(){return this.sg('016ac63c589ae38ca3ae')}G(){return this.sg('016ac63c5a377fceabaa')}};Th('0168ec42fc01747a98b6',olympe.sc.logic.ac.dj).F('016ac6380bd98f1d91a0','Object',olympe.dc.Sync).G('016ac63c589ae38ca3ae','Longitude',olympe.dm.Number).G('016ac63c5a377fceabaa','Latitude',olympe.dm.Number);olympe.sc.logic.ac.dj.prototype.F.K=new olympe.D.H(()=>olympe.sc.logic.nb,[]);
1013
- olympe.sc.logic.ac.dj.prototype.L.K=new olympe.D.H(()=>olympe.sc.logic.sb,[]);olympe.sc.logic.ac.dj.prototype.G.K=new olympe.D.H(()=>olympe.sc.logic.sb,[]);olympe.sc.logic.ac.gg=class extends olympe.sc.logic.Sd{static Jl(){return olympe.sc.logic.Pe}Kk(){return this.Kf('017a7b07b09e3b22c8b4')}bq(){return this.Kf('017a7b07ba05807a74b0')}Lk(){return this.sg('017a7b0818c12388d731')}Nl(){return this.sg('017a7b085146d5e69aec')}js(){return olympe.D.ga.F}};olympe.sc.logic.ac.gg.ia='017a7b07b09e3b22c8b4';olympe.sc.logic.ac.gg.ve='017a7b07ba05807a74b0';olympe.sc.logic.ac.gg.yd='017a7b0818c12388d731';olympe.sc.logic.ac.gg.$='017a7b085146d5e69aec';
1014
- olympe.sc.logic.ac.gg.P=Th('017a7b07a948e30508fa',olympe.sc.logic.ac.gg).F('017a7b07b09e3b22c8b4','Control Flow',olympe.sc.logic.He).F('017a7b07ba05807a74b0','User',olympe.dm.User).G('017a7b0818c12388d731','Control Flow',olympe.sc.logic.He).G('017a7b085146d5e69aec','Error Flow',olympe.sc.logic.tf);l=olympe.sc.logic.ac.gg.prototype;l.Kk.K=new olympe.D.H(()=>olympe.sc.logic.nb,[]);l.bq.K=new olympe.D.H(()=>olympe.sc.logic.nb,[]);l.Lk.K=new olympe.D.H(()=>olympe.sc.logic.sb,[]);
1015
- l.Nl.K=new olympe.D.H(()=>olympe.sc.logic.sb,[]);l.js.K=olympe.D.H.O;olympe.sc.logic.ac.cp=class extends olympe.sc.logic.Sd{F(){return this.Kf('016ac63c5b3ed0562740')}};Th('016a9766c230916ea5ec',olympe.sc.logic.ac.cp).F('016ac63c5b3ed0562740','Control Flow',olympe.sc.logic.He);olympe.sc.logic.ac.cp.prototype.F.K=new olympe.D.H(()=>olympe.sc.logic.nb,[]);olympe.sc.Da={};olympe.sc.Da.he=class extends olympe.sc.Na{C(){return olympe.sc.Ae.mg.jt}};olympe.sc.Da.he.P=Hc(olympe.dc.va.C('01120300000000adef00',olympe.sc.Da.he));olympe.sc.Da.he.$=olympe.sc.Da.he.P.Ma('0171bc1f15da96dfdb89');P(olympe.dm.Jh.P,olympe.sc.Da.he.$);olympe.sc.Da.Hi=class extends olympe.sc.Runnable{run(a){Kh(a,this.Wb());super.run(a)}F(){const a=this.db.uc(this.Wb(),olympe.sc.Da.he.$);return olympe.dc.Sync.Nb(a)}};olympe.sc.Da.Hi.P=Hc(olympe.dc.va.C('0113030000000aca1100',olympe.sc.Da.Hi));olympe.sc.Da.Hi.prototype.F.K=new olympe.D.H(()=>olympe.dm.hc,[]);olympe.sc.Da.gb=class extends olympe.dc.Sync{ms(){return this.wg(olympe.sc.Da.gb.G)}Hw(){return this.wg(olympe.sc.Da.gb.lb)}ls(){return this.Md(olympe.sc.Da.gb.C)}kv(){return this.ub(olympe.sc.Da.gb.U)}Nv(){return this.ub(olympe.sc.Da.gb.Wa)}Mv(){return this.ub(olympe.sc.Da.gb.sa)}Yu(){return this.ub(olympe.sc.Da.gb.Ra)}xv(){return this.ub(olympe.sc.Da.gb.$)}Su(){return this.ub(olympe.sc.Da.gb.L)}Lv(){return this.ub(olympe.sc.Da.gb.ia)}ks(){return this.ub(olympe.sc.Da.gb.O)}};
1016
- olympe.sc.Da.gb.P=olympe.dc.va.C('011203300000000adef5',olympe.sc.Da.gb);olympe.sc.Da.gb.G=olympe.sc.Da.gb.P.Ba('011203300000000adef6');olympe.sc.Da.gb.lb=olympe.sc.Da.gb.P.Ba('011203300000000adef7');olympe.sc.Da.gb.C=olympe.sc.Da.gb.P.Ba('011203300000000adef8');olympe.sc.Da.gb.U=olympe.sc.Da.gb.P.Ba('011203300000000adef9');olympe.sc.Da.gb.Wa=olympe.sc.Da.gb.P.Ba('011203300000000adefa');olympe.sc.Da.gb.sa=olympe.sc.Da.gb.P.Ba('011203300000000adefb');olympe.sc.Da.gb.L=olympe.sc.Da.gb.P.Ba('011203300000000adefc');
1017
- olympe.sc.Da.gb.Ra=olympe.sc.Da.gb.P.Ba('011203300000000adefd');olympe.sc.Da.gb.$=olympe.sc.Da.gb.P.Ba('011203300000000adefe');olympe.sc.Da.gb.ia=olympe.sc.Da.gb.P.Ba('011203300000000adeff');olympe.sc.Da.gb.O=olympe.sc.Da.gb.P.Ba('011203300000000adee0');olympe.sc.Da.gb.wb={INIT:0,Zx:1,dA:2,Nz:3,Mz:4,eA:5,wc:9};l=olympe.sc.Da.gb.prototype;l.ms.K=olympe.D.H.O;l.Hw.K=olympe.D.H.O;l.ls.K=olympe.D.H.G;l.kv.K=olympe.D.H.F;l.Nv.K=olympe.D.H.F;l.Mv.K=olympe.D.H.F;l.Yu.K=olympe.D.H.F;l.xv.K=olympe.D.H.F;
1018
- l.Su.K=olympe.D.H.F;l.Lv.K=olympe.D.H.F;l.ks.K=olympe.D.H.F;olympe.sc.Da.zk=class extends olympe.sc.Da.Hi{run(a){super.run(a);qh(a,olympe.sc.Na.rc)}};olympe.sc.Da.zk.P=olympe.dc.va.C('0113032000000aca1102',olympe.sc.Da.zk,olympe.sc.T.Ga);olympe.sc.Da.qe=class extends olympe.sc.Da.he{F(){return(new olympe.dc.Zi(this.R(),olympe.sc.Da.gb)).Vi(olympe.sc.Da.qe.ia).Mb().jd()}};olympe.sc.Da.qe.P=olympe.dc.va.C('011203300000000adef3',olympe.sc.Da.qe);olympe.sc.Da.qe.ia=olympe.sc.Da.qe.P.Ma('011203300000000adef4');P(olympe.sc.Da.gb.P,olympe.sc.Da.qe.ia);
1019
- olympe.sc.Da.qe.P.C=(a,b,c)=>{b=ce(a,b||'New Service Application model',olympe.sc.Da.qe,olympe.sc.Da.zk);a.oa(olympe.sc.Da.he.$,b,c);c=a.create(olympe.sc.Da.gb).R();a.oa(olympe.sc.Da.qe.ia,b,c);return b.R()};olympe.sc.Da.qe.prototype.F.K=new olympe.D.H(()=>olympe.sc.Da.gb,[]);olympe.sc.jg=class extends olympe.dc.Sync{static get(){return olympe.dc.Sync.Nb('011203300000000adf0f')}};olympe.sc.jg.P=olympe.dc.va.C('011203300000000adf00',olympe.sc.jg);olympe.sc.jg.G=olympe.sc.jg.P.Ba('011203300000000adf01');olympe.sc.jg.C=olympe.sc.jg.P.Ba('011203300000000adf02');olympe.sc.jg.L='011203300000000adf0f';olympe.sc.fy=class{};olympe.sc.bn=class extends olympe.dm.BrickMetadata{C(){return olympe.sc.Ae.mg.kk}};olympe.sc.bn.P=olympe.dc.va.C('01645fe6873aeea59e64',olympe.sc.bn);olympe.sc.Qd=class extends olympe.sc.Runnable{G(){return this.$a(olympe.sc.Qd.L,olympe.sc.Runnable)}F(){return this.$a(olympe.sc.Qd.G,olympe.dm.Property)}};olympe.sc.Qd.P=Hc(olympe.dc.va.C('016c2d996d9ca27fa9d8',olympe.sc.Qd));olympe.sc.Qd.L=olympe.sc.Qd.P.Ma('016c3cb7742ec9309e0b');olympe.sc.Qd.G=olympe.sc.Qd.P.Ma('016c42d3454636f90533');olympe.sc.Qd.prototype.G.K=new olympe.D.H(()=>olympe.dc.pa,[]);olympe.sc.Qd.prototype.F.K=new olympe.D.H(()=>olympe.dc.pa,[]);olympe.sc.nn=class extends olympe.dm.Lb{C(){return olympe.sc.Ae.mg.kk}};olympe.sc.nn.P=olympe.dc.va.C('017a7a9ff057958e5678',olympe.sc.nn);olympe.sc.qo=class extends olympe.dm.Lb{C(){return olympe.sc.Ae.mg.Ct}};olympe.sc.qo.P=olympe.dc.va.C('01644b6d4543b344b857',olympe.sc.qo);olympe.sc.ro=class extends olympe.dc.Sync{};olympe.sc.ro.P=olympe.dc.va.C('0162f672366be5ca7a86',olympe.sc.ro);olympe.sc.ep=class extends olympe.sc.Qd{};olympe.sc.ep.P=olympe.dc.va.C('016d3f37610ae4fc3962',olympe.sc.ep);olympe.sc.Text=class extends olympe.dm.String{};olympe.sc.Text.P=olympe.dc.va.C('016cfca73e63f9ab5ba4',olympe.sc.Text);olympe.sc.ib=class extends olympe.dc.ib{create(a,b){b=super.create(a,b);var c=null===wh?null:olympe.dc.Xa().ii(wh,[olympe.sc.Da.he.$,olympe.sc.Vc.G.kd()])[0]||null;null!==c?olympe.dc.Xa().Of(a,olympe.sc.Ig)&&this.oa(olympe.sc.Vc.L,c,b):olympe.ya.tb('sc').warn('No business container for new instance of',olympe.dc.Fa(a));return b}};olympe.sc.Ae.BrickMetadata=olympe.dm.BrickMetadata;olympe.sc.Ae.Rd=olympe.dm.Rd;olympe.sc.md={};function bi(a){a.N.info('Starting application '+a.C);let b=!1;const c=olympe.dc.Xa();if(0<a.C.length){const d=sc(c,a.C,(e,f)=>{if(e){const g=qg(olympe.dc.Vl(),'app_instance',f);g.run?(a.N.debug('application retrieved: running'),(new olympe.D.ic('Application execution context',a.F.C)).run(()=>{b=!0;g.run(a.F.$c(g.R()))})):a.N.error('application retrieved: not an Application with a run() method')}else ci(a)});olympe.D.Ha().onDestroy(()=>{tc(c,a.C,d)});$b(()=>{b||a.N.warn(`requested application ${a.C} may not be available (it may not exist or the logged user may not have the correct permissions)`)},
798
+ For more information, activate the database debug mode or call "dbMonitor.debug(${b})" from this console.`),new olympe.dc.Sync(void 0,b)):c.instantiate(b,a.C)}function tg(a){var b=olympe.dc.cm();a=olympe.dc.Da(a);const c=rg(b,a);if(null===c)throw Error(`Instantiation of a discrete Sync with a model not present in the GraphDB (tag = ${a}).`);return olympe.dc.Sync.instantiate(c,'app_instance',b.C,sg(b,a))}olympe.dc.gg.SyncManager=class{constructor(a,b,c){this.N=a;this.db=b;this.C=c}};olympe.dc.gg.T={Ha:'dc.syncs.Logger',ta:'dc.syncs.SyncManager'};olympe.U.Ib(function(a){B(a,olympe.dc.gg.T.Ha,[olympe.ua.T.ta],b=>b.Gc('dc'));y(a,olympe.dc.gg.T.ta,olympe.dc.gg.SyncManager,olympe.dc.gg.T.Ha,olympe.dc.T.Yg,olympe.U.T.vf)});olympe.dc.$={};olympe.dc.$.KB=function(a){a=olympe.dc.Da(a);const b=olympe.D.Ic(olympe.D.Oa,'getInstanceName'),c=olympe.dc.Ua(),d=yd(c,a,olympe.dc.Sync.nameProp,b.update.bind(b));olympe.D.Ja().Sc(c.G.bind(c,a,olympe.dc.Sync.nameProp,d));return b.yb()};olympe.dc.$.PB=function(a){return olympe.D.ya([a],b=>olympe.D.Zw(olympe.dc.Ua().Eh(b)),olympe.D.fa)};olympe.dc.$.QB=function(a){return(a=olympe.D.Ta(a))?olympe.dc.Ua().Eh(a):!1};olympe.dc.$.Go=class a{constructor(b=olympe.dc.La.dd){this.G=b}F(b){const c=new olympe.dc.db.Dc;this.C(b,c);return c}O(b,c,d){const e=new olympe.dc.db.Dc(b),f=new olympe.dc.query.Rh(b,this.G,c,e);this.C(d,e,(g,h)=>{h=h||[];const k=f.C.get(g)||new Set;for(const m of h)k.add(m);f.C.set(g,k)});return f}L(b,c){const d=new olympe.dc.db.Dc(b),e=new olympe.dc.query.Ir(b,d);this.C(c,d,(f,g,h)=>{h=h||[];const k=new He(f);k.add=g||[];k.remove=h;e.C.set(f,k)});return e}C(b,c,d){const e=olympe.dc.Pb.Pd;for(const f of b)switch(b=
799
+ f.i?f.i:-1,f.o){case 1:const g=a.C(f.p||{});g.has(e)||g.set(e,this.G);c.Tb(f.t,g,b);break;case 2:c.ac(f.t,a.C(f.p),!0,b);break;case 3:c.oc(f.t,f.f,b);break;case 4:c.la(f.m,f.l,f.r,b);break;case 5:c.nb(f.m,f.l,f.r,b);break;case 6:d&&d(f.i,f.a,f.d);break;default:throw Error('Undefined patch operation: '+f.o);}}static C(b){const c=new Map;for(const [d,e]of Object.entries(b)){b=d;if(b===olympe.dc.Pb.Pd||b===olympe.dc.Pb.VERSION){c.set(b,e);continue}else if('v'===d){c.set(olympe.dc.Pb.VERSION,e);continue}let f=
800
+ typeof e;b.startsWith('fd')&&(b=olympe.dc.og.bd+b.substr(2));'object'===f&&(f=e&&e.c?String(e.c):'untyped');switch(f){case '1':case '2':case '3':throw Error('Complex format for primitive types not supported.');case 'string':c.set(b,String(e));break;case 'boolean':c.set(b,!!e);break;case 'number':c.set(b,Number(e));break;case '4':c.set(b,new Date(Date.UTC(e.y,e.M-1,e.d,e.h,e.m,e.s,e.S)));break;case '5':c.set(b,new Date(Date.UTC(e.y,e.M-1,e.d)));break;case '6':c.set(b,new Date(Date.UTC(e.y||1970,e.M&&
801
+ e.M-1||0,e.d||1,e.h,e.m,e.s,e.S)));break;case '7':c.set(b,new olympe.D.Color(e.r,e.g,e.b,e.a));break;case '8':c.set(b,new olympe.dc.Ec(e.t));break;case 'untyped':null===e&&c.set(b,null)}}return c}};olympe.dc.$.Eb={};olympe.dc.$.Eb.Jl=a=>'string'===typeof a||'number'===typeof a||'boolean'===typeof a||a instanceof String?olympe.D.sb(a):a instanceof olympe.D.Oa?a:null;olympe.dc.$.Eb.Gl=a=>'boolean'===typeof a||a instanceof Boolean?olympe.D.qc(a):a instanceof olympe.D.fa?a:null;olympe.dc.$.Eb.Il=a=>'number'===typeof a||a instanceof Number?olympe.D.va(a):'string'===typeof a||a instanceof String?olympe.D.va(Number.parseFloat(a.valueOf())):a instanceof olympe.D.ea?a:null;
802
+ olympe.dc.$.Eb.Hl=function(a){return'number'===typeof a||a instanceof Number?qb(a.valueOf()):'string'===typeof a||a instanceof String?new olympe.D.ab(new Date(a.valueOf().valueOf())):a instanceof Date?new olympe.D.ab(a):a instanceof olympe.D.ab?a:null};olympe.dc.$.Eb.Qp=function(a){return a instanceof olympe.D.Color?a:'string'===typeof a||a instanceof String?ub(a.valueOf()):null};olympe.dc.$.Eb.Rp=a=>a instanceof olympe.dc.Sync?a:a instanceof olympe.dc.Ec?olympe.dc.Sync.Qb(a.tag):null;
803
+ olympe.dc.$.Eb.Bg=a=>a instanceof olympe.dc.Ec?olympe.dc.Sync.Qb(a.tag):a;olympe.dc.$.Eb.ru=a=>{switch(typeof a){case 'boolean':return olympe.D.qc(a);case 'number':return olympe.D.va(a);case 'string':return olympe.D.sb(a);case 'object':if(a instanceof Date)return olympe.D.Pw(a)}return a};
804
+ olympe.dc.$.Eb.HB=a=>{switch(a){case olympe.D.fa:return olympe.dc.$.Eb.Gl;case olympe.D.Oa:return olympe.dc.$.Eb.Jl;case olympe.D.ea:return olympe.dc.$.Eb.Il;case olympe.D.ab:return olympe.dc.$.Eb.Hl;case olympe.D.Color:return olympe.dc.$.Eb.Qp;case olympe.dc.Sync:return olympe.dc.$.Eb.Rp;default:return olympe.dc.$.Eb.Bg}};olympe.dc.T={ta:'dc.Manager',Jk:'dc.Graph',Yg:'dc.DBView',Ha:'dc.Logger',It:'dc.TransactionLogger',Mh:'dc.FileServiceManager',se:'dc.Router'};olympe.dc.Z={wf:'dc.debug',xg:'dc.subscribeAll',an:'dc.defaultSource',tn:'dc.fileCache',ln:'dc.errorOnAbstractInstantiation'};
805
+ olympe.U.Ib(function(a){D(a,olympe.dc.Z.wf,!1);D(a,olympe.dc.Z.xg,!1);D(a,olympe.dc.Z.an,olympe.dc.La.dd);D(a,olympe.dc.Z.tn,!0);D(a,olympe.dc.Z.ln,!0);B(a,olympe.dc.T.Ha,[olympe.ua.T.ta],b=>b.Gc('dc'));qa(a,olympe.dc.T.It,olympe.dc.transaction.T.Ha);qa(a,olympe.dc.T.Jk,olympe.dc.db.T.Jk);qa(a,olympe.dc.T.Yg,olympe.dc.db.T.$a);y(a,olympe.dc.T.Mh,olympe.dc.Br,olympe.dc.T.Ha,olympe.Ca.T.ta,olympe.dc.T.se,olympe.$.T.Tg,new olympe.U.ha(olympe.dc.Z.tn));ra(a,olympe.dc.T.se);y(a,olympe.dc.T.ta,olympe.dc.qa,
806
+ olympe.dc.T.Ha,olympe.dc.db.T.ta,olympe.dc.query.T.ta,olympe.dc.transaction.T.ta,olympe.dc.gg.T.ta,olympe.dc.T.Mh)},'olympe.dc');olympe.U.run([olympe.dc.db.T.ta,olympe.dc.query.T.ta,olympe.dc.transaction.T.ta,olympe.dc.gg.T.ta,olympe.dc.T.ta,olympe.dc.T.Mh],(a,b,c,d,e,f)=>{olympe.dc.Wc=()=>a;olympe.dc.Ah=()=>b;olympe.dc.Ch=()=>c;olympe.dc.cm=()=>d;olympe.dc.lc=()=>e;olympe.dc.nv=()=>f},'DC singleton getter initialization');olympe.dc.Sync=class{constructor(a,b){this.tag=b;this.ja=olympe.dc.lc&&olympe.dc.lc();this.db=olympe.dc.Wc&&olympe.dc.Wc().view;this.model=null}static Tb(a,b,c,...d){b=olympe.dc.Da(b);var e=Cc.get(b)||null;if(e=e&&e.C)return e(a,c,...d);a=a.create(b);c&&a.setProperty(olympe.dc.Sync.nameProp,c);return a.R()}static Qb(a){return sg(olympe.dc.cm(),olympe.dc.Da(a))}static vv(a){var b=rg(olympe.dc.cm(),olympe.dc.Da(a));b=b&&b.F;return new olympe.dc.pa(olympe.dc.Da(a),olympe.dc.Sync.instancesRel,b)}static instantiate(a,
807
+ b,c,d){a=a.instantiate(b,c);a.model=d;return a}lc(){return this.ja}R(){return this.tag}iw(){return this.db.version(this)}hs(){return this.db.source(this)}ia(){return this.wb(olympe.dc.Sync.nameProp)}gq(){return olympe.D.ya([this.ia()],a=>olympe.D.sb(a),olympe.D.Oa,'getDisplayName',olympe.D.sb('('+this.toString()+')'))}Rj(){this.model||(this.model=olympe.dc.Sync.Qb(this.db.model(this)));return this.model}mc(){return this.model?this.model.R():this.db.model(this)}Av(){return this.Rj().transform(new olympe.dc.W.Xb(olympe.dc.Fc.Zg,
808
+ olympe.dc.Ka.DESTINATION,0))}md(){return this.Wa(olympe.dc.Sync.instancesRel,olympe.dc.Sync)}Eh(){return olympe.D.ya([this.nq()],()=>olympe.D.fa.F,olympe.D.fa,'isModel',olympe.D.fa.C)}Sw(a){return new rxjs.Observable(b=>{const c=yd(this.db,this.tag,a,d=>{null===d||void 0===d?b.next(null):b.next(d)});olympe.D.Ja().Sc(()=>{b.complete();this.db.G(this.tag,a,c)})})}Gb(a){return this.db.Gb(this.tag,a,!0)}yi(){return this.transform(new olympe.dc.W.Xb(olympe.dc.Sync.extendRel.R(),olympe.dc.Ka.DESTINATION,
809
+ 1))}nq(){return this.vc(olympe.dc.Sync.extendRel,olympe.dc.Sync)}Zu(){return this.vc(olympe.dc.Sync.zd,olympe.dc.Sync)}Vl(){return this.Wa(olympe.dc.Sync.containsRel,olympe.dc.Sync)}Iv(){return this.vc(olympe.dc.Sync.Ea,olympe.dm.User)}Pv(){return new olympe.dc.pa(this.R(),[new olympe.dc.W.Xb(olympe.dc.Sync.extendRel.R(),olympe.dc.Sync.extendRel.Na(),0),olympe.dc.Sync.propertyRel,new olympe.dc.W.Zc],olympe.dm.Property)}uv(){return new olympe.dc.pa(this.R(),[new olympe.dc.W.Xb(olympe.dc.Sync.extendRel.R(),
810
+ olympe.dc.Sync.extendRel.Na()),olympe.dc.Sync.propertyRel,new olympe.dc.W.Zc],olympe.dm.Property)}Gv(){return this.Wa(olympe.dc.Sync.propertyRel,olympe.dm.Property)}tv(){return this.Wa(olympe.dc.Sync.fb,olympe.dm.Property)}iq(){return this.Wa(olympe.dc.Sync.F,olympe.dm.ub)}Xf(a,b,c){const d=olympe.D.Ic(c,'Sync valueType'),e=yd(this.db,this.tag,a,olympe.D.Ja().vb(f=>{b&&null!==f&&void 0!==f&&(f=b(f));null===f||void 0===f?d.clear():d.update(f)}));d.node.onDestroy(()=>this.db.G(this.tag,a,e));return d.node}wb(a){return K(this.Xf(a,
811
+ olympe.dc.$.Eb.Jl,olympe.D.Oa))}Td(a){return K(this.Xf(a,olympe.dc.$.Eb.Il,olympe.D.ea))}Ig(a){return K(this.Xf(a,olympe.dc.$.Eb.Gl,olympe.D.fa))}Ai(a){return K(this.Xf(a,olympe.dc.$.Eb.Hl,olympe.D.ab))}oq(){return K(this.Xf(olympe.dm.Color.valueProp,olympe.dc.$.Eb.Qp,olympe.D.Color))}Rv(a){return K(this.Xf(a,olympe.dc.$.Eb.Rp,olympe.dc.Sync))}Wa(a,b){a=a instanceof olympe.dc.W.Db?a:new olympe.dc.W.Db(a.R(),a.Na());return new olympe.dc.pa(this.R(),a,b)}vc(a,b){return this.Wa(a,b).ld()}cq(a,b){a=this.db.Wa(this,
812
+ a);return b?a:a.map(c=>olympe.dc.Sync.Qb(c))}av(a,b){return this.cq(a,b)[0]||null}Rl(a,b){const c=this.db,d=olympe.$.Rb(),e=olympe.D.Ja(),f=new Map;Ad(c,this.tag,a,(g,h)=>{g?(g=new olympe.D.kc(`forEachRelated: (${this.tag})-[:${a.R()}]-(${h})`,e),f.set(h,g),g.run(b,olympe.dc.Sync.Qb(h))):f.has(h)&&(f.get(h).hb(),f.delete(h))},d);e.Sc(()=>{Bd(c,this.tag,a,d)})}Dx(){return new olympe.dc.pa(this.R(),[],Hc(this.R()))}transform(...a){return(new olympe.dc.pa(this.R(),[],this.constructor)).transform(...a)}Xc(){return this.gq()}toString(){if(!this.db.Fb(this.tag))return`unknown object #${this.tag||
813
+ 'NULL_TAG'}`;const a=this.db.model(this.tag);var b=this.db.name(this);b=b?` instanceName: '${b}'`:'';return a?`${this.db.name(a)}#${this.tag}${b}`:`orphan object (no model) #${this.tag}${b}`}Jb(a){return a instanceof olympe.dc.Sync?this.R()===a.R():!1}yd(a){return olympe.D.ya([a],b=>olympe.D.qc(this.Jb(b)),olympe.D.fa)}yu(a){const b=this.db;let c=!1;if(void 0===a||null===a)a=new olympe.dc.lb,c=!0;const d=olympe.dc.Ka.ORIGIN;for(const [e,f,g]of Dd(b,this))f===d?a.nb(e,g,this):e!==olympe.dc.Sync.modelRel.R()&&
814
+ a.nb(e,this,g);a.delete(this,olympe.dc.ob.NONE);c&&a.wd()}ev(){const a=new olympe.dc.lb;a.delete(this,olympe.dc.ob.DELETE);return a}};olympe.dc.Sync.prototype.getProperty=olympe.dc.Sync.prototype.Gb;olympe.dc.Sync.prototype.observeProperty=olympe.dc.Sync.prototype.Sw;olympe.dc.Sync.prototype.getModelTag=olympe.dc.Sync.prototype.mc;olympe.dc.Sync.prototype.getModel=olympe.dc.Sync.prototype.Rj;olympe.dc.Sync.prototype.getName=olympe.dc.Sync.prototype.ia;olympe.dc.Sync.prototype.getTag=olympe.dc.Sync.prototype.R;
815
+ olympe.dc.Sync.getInstancesOf=olympe.dc.Sync.vv;olympe.dc.Sync.getInstance=olympe.dc.Sync.Qb;olympe.dc.Sync.P=olympe.dc.wa.C('ff021000000000000001',olympe.dc.Sync);olympe.dc.Sync.Gi=olympe.dc.Sync.P.Ba(olympe.dc.Pb.VERSION);olympe.dc.Sync.nameProp=olympe.dc.Sync.P.Ba('ff023000000000000011');w('olympe.dc.Sync.nameProp',olympe.dc.Sync.nameProp);olympe.dc.Sync.xa=olympe.dc.Sync.P.Ba('ff023000000000000012');olympe.dc.Sync.ja=olympe.dc.Sync.P.Ma('ff02200000000000000a');
816
+ olympe.dc.Sync.fb=olympe.dc.Sync.P.Ma('ff02200000000000000b',olympe.dc.Ka.ORIGIN);olympe.dc.Sync.propertyRel=olympe.dc.Sync.P.Ma('ff02200000000000000c');w('olympe.dc.Sync.propertyRel',olympe.dc.Sync.propertyRel);olympe.dc.Sync.typeRel=olympe.dc.Sync.P.Ma('ff02200000000000000d',olympe.dc.Ka.ORIGIN);olympe.dc.Sync.modelRel=olympe.dc.Sync.P.Ma(olympe.dc.Fc.ce);w('olympe.dc.Sync.modelRel',olympe.dc.Sync.modelRel);olympe.dc.Sync.instancesRel=P(olympe.dc.Sync.P,olympe.dc.Sync.modelRel);
817
+ w('olympe.dc.Sync.instancesRel',olympe.dc.Sync.instancesRel);olympe.dc.Sync.Ea=olympe.dc.Sync.P.Ma('ff022000000000000002');olympe.dc.Sync.F=olympe.dc.Sync.P.Ma('ff022000000000000003');olympe.dc.Sync.extendRel=olympe.dc.Sync.P.Ma(olympe.dc.Fc.Zg);w('olympe.dc.Sync.extendRel',olympe.dc.Sync.extendRel);olympe.dc.Sync.extendedByRel=P(olympe.dc.Sync.P,olympe.dc.Sync.extendRel);w('olympe.dc.Sync.extendedByRel',olympe.dc.Sync.extendedByRel);olympe.dc.Sync.containsRel=olympe.dc.Sync.P.Ma(olympe.dc.Fc.Pm);
818
+ w('olympe.dc.Sync.containsRel',olympe.dc.Sync.containsRel);olympe.dc.Sync.zd=P(olympe.dc.Sync.P,olympe.dc.Sync.containsRel);olympe.dc.Sync.ka=[olympe.dc.Nd];l=olympe.dc.Sync.prototype;l.lc.K=olympe.D.J.C;l.R.K=new olympe.D.J(()=>String,[]);l.iw.K=new olympe.D.J(()=>Number,[]);l.hs.K=new olympe.D.J(()=>String,[]);l.ia.K=olympe.D.J.F;l.gq.K=olympe.D.J.F;l.Rj.K=new olympe.D.J(()=>olympe.dc.Sync,[]);l.mc.K=new olympe.D.J(()=>String,[]);l.Av.K=new olympe.D.J(()=>olympe.dc.pa,[]);
819
+ l.md.K=new olympe.D.J(()=>olympe.dc.pa,[]);l.Eh.K=olympe.D.J.O;l.yi.K=new olympe.D.J(()=>olympe.dc.pa,[]);l.nq.K=new olympe.D.J(()=>olympe.dc.Sync,[]);l.Zu.K=new olympe.D.J(()=>olympe.dc.Sync,[]);l.Vl.K=new olympe.D.J(()=>olympe.dc.pa,[]);l.Iv.K=new olympe.D.J(()=>olympe.dm.User,[]);l.Pv.K=new olympe.D.J(()=>olympe.dc.pa,[]);l.uv.K=new olympe.D.J(()=>olympe.dc.pa,[]);l.Gv.K=new olympe.D.J(()=>olympe.dc.pa,[]);l.tv.K=new olympe.D.J(()=>olympe.dc.pa,[]);l.iq.K=new olympe.D.J(()=>olympe.dc.pa,[]);
820
+ l.Xf.K=new olympe.D.J(()=>olympe.D.Node,[]);l.wb.K=olympe.D.J.F;l.Td.K=olympe.D.J.G;l.Ig.K=olympe.D.J.O;l.Ai.K=new olympe.D.J(()=>olympe.D.ab,[]);l.oq.K=new olympe.D.J(()=>olympe.D.Color,[]);l.Rv.K=new olympe.D.J(()=>olympe.dc.Sync,[]);l.Wa.K=new olympe.D.J(()=>olympe.dc.pa,[]);l.vc.K=new olympe.D.J(()=>olympe.dc.Sync,[]);l.cq.K=olympe.D.J.C;l.av.K=olympe.D.J.C;l.Rl.K=new olympe.D.J(()=>{},[]);l.Dx.K=new olympe.D.J(()=>olympe.dc.pa,[]);l.transform.K=new olympe.D.J(()=>olympe.dc.pa,[]);l.Xc.K=olympe.D.J.F;
821
+ l.toString.K=olympe.D.J.C;l.Jb.K=olympe.D.J.C;l.yd.K=olympe.D.J.O;l.yu.K=new olympe.D.J(()=>{},[]);l.ev.K=new olympe.D.J(()=>olympe.dc.lb,[]);olympe.dc.pj=class{constructor(a){this.instance=a}R(){return this.instance.R()}Ci(){return lb(this.instance.Ig(olympe.dc.Sync.xa))}lv(){return this.instance.vc(olympe.dc.Sync.extendRel,olympe.dc.Sync)}yi(){return this.instance.transform(new olympe.dc.W.Xb(olympe.dc.Sync.extendRel.R(),olympe.dc.Ka.DESTINATION,olympe.dc.W.zj.zr))}bm(){return this.instance.transform(new olympe.dc.W.Xb(olympe.dc.Sync.extendRel.R(),olympe.dc.Ka.DESTINATION,olympe.dc.W.zj.Vn))}Cd(){return this.bm().transform(olympe.dc.Sync.propertyRel,
822
+ new olympe.dc.W.Zc)}Fv(){return this.instance.transform(olympe.dc.Sync.propertyRel)}Ud(){return this.bm().transform(olympe.dc.Sync.ja,new olympe.dc.W.Zc)}Hv(){return this.instance.transform(olympe.dc.Sync.ja)}static from(a){return olympe.D.ya([a],b=>{const c=b.R(),d=olympe.dc.Ua();if(!d.Eh(c))throw Error(`Instance "${d.name(c)}" (tag=${c}) is not a model.`);return new olympe.dc.pj(b)},olympe.dc.pj,'transformToModelInfo')}static Ci(){return lb((void 0).Ig(olympe.dc.Sync.xa))}};olympe.dc.pj.ka=[olympe.dc.Nd];
823
+ l=olympe.dc.pj.prototype;l.lv.K=new olympe.D.J(()=>olympe.dc.Sync,[]);l.yi.K=new olympe.D.J(()=>olympe.dc.pa,[]);l.bm.K=new olympe.D.J(()=>olympe.dc.pa,[]);l.Cd.K=new olympe.D.J(()=>olympe.dc.pa,[]);l.Fv.K=new olympe.D.J(()=>olympe.dc.pa,[]);l.Ud.K=new olympe.D.J(()=>olympe.dc.pa,[]);l.Hv.K=new olympe.D.J(()=>olympe.dc.pa,[]);olympe.dc.mz=class{};olympe.dc.Y={};olympe.dc.Y.$n=class{constructor(a){this.N=a}};olympe.dc.Y.$n.Ve={ci:0,Fz:1,Hz:3,oz:4};olympe.dc.Y.hj=class{};function Y(a){if(a.ja)throw Error('Cannot modify definition after definition is written');}
824
+ olympe.dc.Y.Ab=class{constructor(a,b){a=this.C=a;if(a.C)throw b=a.C.ia(),a=a.C.R(),Error('Cannot work on a new definition without calling done on the previous one or popping it. '+`Make sure done() method has been called on previous definition ${b} (${a})`);if(void 0===this)throw Error('Current def cannot be set to undefined.');a.C=this;this.tag=b;this.G=new Map;this.na=olympe.dc.Sync.P.R();this.ca=new Map;this.fb=new Map;this.Pa=new Map;this.Ea=new Map;this.ja=this.xa=!1;this.V=null}ek(a){Y(this);
825
+ this.na=a;return this}mc(){return this.na}Pi(a){Y(this);this.V=a;return this}qx(){this.xa=!0;return this}px(a){Y(this);const b=new Map;if('string'===typeof a){const c=olympe.dc.Sync.nameProp.R();b.set(c,a||'')}else Object.keys(a).forEach(c=>{b.set(c,a[c])});this.G=b;return this}Hh(a){Y(this);Object.keys(a).forEach(b=>{this.G.set(b,a[b])});return this}setProperty(a,b){Y(this);this.G.set(a,b);return this}fk(a){Y(this);const b=olympe.dc.Sync.nameProp.R();this.G.set(b,a);return this}Lp(a){Y(this);this.ca.set(a,
826
+ a);return this}Xt(a){Y(this);this.fb.set(a,a);return this}Mj(a,b){Y(this);if(!a)throw Error('Cannot relate an object to another without a relation tag');if(a===olympe.dc.Sync.containsRel.R())throw Error('Container must be defined using dedicated helpers setContainedIn');b&&this.Pa.set(a+'.'+b,[a,b]);return this}mi(a,b){Y(this);if(!a)throw Error('Cannot relate an object to another without a relation tag');if(a===olympe.dc.Sync.containsRel.R())throw Error('Container must be defined using dedicated helper setContainedIn');
827
+ b&&this.Ea.set(a+'.'+b,[a,b]);return this}done(){if(this.ja)return this;const a=ug(this.C,this.xa);a.Tb(this.tag,this.G,-1);const b=this.C.eq();this.ca.forEach(c=>{b.includes(c)?this.C.vq('Instance '+this.tag+' is added to a goo that is among the default ones, this call is unnecessary'):a.la(olympe.dc.Sync.F.R(),this.tag,c,-1)});b.forEach(c=>{a.la(olympe.dc.Sync.F.R(),this.tag,c,-1)});vg(this.C,this);a.la(olympe.dc.Fc.ce,this.tag,this.na,-1);this.V&&a.la(olympe.dc.Fc.Pm,this.V,this.tag,-1);this.fb.forEach(c=>
828
+ {a.la(olympe.dm.ub.C.R(),this.tag,c,-1)});this.L(-1);this.Pa.forEach(c=>{a.la(c[0],this.tag,c[1],-1)});this.Ea.forEach(c=>{a.la(c[0],c[1],this.tag,-1)});this.ja=!0;this.C.C=void 0;return this}L(){}R(){return this.tag}ia(){return this.G.get('ff023000000000000011')}};olympe.dc.Y.Ab.prototype.getName=olympe.dc.Y.Ab.prototype.ia;olympe.dc.Y.Ab.prototype.getTag=olympe.dc.Y.Ab.prototype.R;olympe.dc.Y.Ab.prototype.done=olympe.dc.Y.Ab.prototype.done;olympe.dc.Y.Ab.prototype.addRelationFrom=olympe.dc.Y.Ab.prototype.mi;
829
+ olympe.dc.Y.Ab.prototype.addRelationTo=olympe.dc.Y.Ab.prototype.Mj;olympe.dc.Y.Ab.prototype.addParentGoo=olympe.dc.Y.Ab.prototype.Xt;olympe.dc.Y.Ab.prototype.addToGroupOfObjects=olympe.dc.Y.Ab.prototype.Lp;olympe.dc.Y.Ab.prototype.setName=olympe.dc.Y.Ab.prototype.fk;olympe.dc.Y.Ab.prototype.setProperty=olympe.dc.Y.Ab.prototype.setProperty;olympe.dc.Y.Ab.prototype.setProperties=olympe.dc.Y.Ab.prototype.Hh;olympe.dc.Y.Ab.prototype.setNameOrProperties=olympe.dc.Y.Ab.prototype.px;
830
+ olympe.dc.Y.Ab.prototype.setOptional=olympe.dc.Y.Ab.prototype.qx;olympe.dc.Y.Ab.prototype.setContainedIn=olympe.dc.Y.Ab.prototype.Pi;olympe.dc.Y.Ab.prototype.setModelTag=olympe.dc.Y.Ab.prototype.ek;function wg(a,b,c){const d={[olympe.dc.Sync.nameProp.R()]:b.name||''},e=olympe.dc.Da(olympe.dm.Property),f=olympe.dc.Sync.propertyRel.R(),g=b.tag;a.C.push();a.C.Pg(g,e).Hh(d).done();a.C.pop();b=b.type;ug(a.C).la(f,a.R(),g,c);ug(a.C).la(olympe.dm.Property.typeRel.R(),g,b,c);const h=ug(a.C);a.ca.forEach(k=>{h.la(olympe.dc.Sync.F.R(),g,k,c)})}
831
+ olympe.dc.Y.Uc=class extends olympe.dc.Y.Ab{constructor(a,b){super(a,b);this.O=this.C.OBJECT;this.Xa=new Map;this.gb=new Map}Kq(a){Y(this);this.O=a;return this}extends(a){return this.Kq(a)}li(){Y(this);this.setProperty(olympe.dc.Sync.xa.R(),!0);return this}defineProperty(a,b,c,d){Y(this);this.Xa.set(a,new olympe.dc.Y.Uc.Property(a,b,c,d));void 0!==d&&super.setProperty(olympe.dc.og.bd+a,d);return this}pi(a,b,c,d,e,{oi:f=0,Li:g=0,Oi:h=0}={}){Y(this);b=new olympe.dc.Y.Uc.Relation(a,this.R(),b,c||'',
832
+ d,e,h,f,g);this.gb.set(a,b);return this}L(a){super.L(a);ug(this.C).la(olympe.dc.Sync.extendRel.R(),this.tag,this.O,a);this.Xa.forEach(b=>{wg(this,b,a)});this.gb.forEach(b=>{this.C.pi(b.C,b.G,b.F,b.name,b.$p,b.Xp,{Oi:b.Oi,oi:b.oi,Li:b.Li},a);const c=ug(this.C);this.ca.forEach(d=>{c.la(olympe.dc.Sync.F.R(),b.C,d,a)})})}};olympe.dc.Y.Uc.prototype.defineRelation=olympe.dc.Y.Uc.prototype.pi;olympe.dc.Y.Uc.prototype.defineProperty=olympe.dc.Y.Uc.prototype.defineProperty;
833
+ olympe.dc.Y.Uc.prototype['abstract']=olympe.dc.Y.Uc.prototype.li;olympe.dc.Y.Uc.prototype['extends']=olympe.dc.Y.Uc.prototype.extends;olympe.dc.Y.Uc.prototype.setParentTag=olympe.dc.Y.Uc.prototype.Kq;olympe.dc.Y.Uc.Property=class{constructor(a,b,c,d){this.tag=a;this.type=b;this.name=c||'';this.defaultValue=d}};olympe.dc.Y.Uc.Relation=class{constructor(a,b,c,d,e,f,g,h,k){this.C=a;this.G=b;this.F=c;this.name=d;this.$p=e;this.Xp=f;this.Oi=g;this.oi=h;this.Li=k}};function ug(a,b){return b?a.V:a.F}function vg(a,b){0<a.L.length&&(b.V||a.F.la(olympe.dc.Sync.containsRel.R(),a.L[a.L.length-1].R(),b.R(),-1))}
834
+ olympe.dc.Y.Aa=class{constructor(a){if(a&&void 0===a.log)throw Error('Argument of OSaveFileBuilder is not a logger - might be a source, adapt implementing classes');this.F=new olympe.dc.transaction.re(!0);this.V=new olympe.dc.transaction.re(!0);this.N=a||null;this.na=[];this.Ea=!1;this.G=null;this.xa=new Map;this.ca=null;this.ja=Object.create(null);this.C=void 0;this.L=[];this.O=!0;this.DEFAULT=olympe.dc.og.bd;this.OBJECT=olympe.dc.Sync.P.R();this.PROPERTY=olympe.dm.Property.P.R();this.RELATION=olympe.dm.Relation.P.R();
835
+ this.STRING=olympe.dm.String.P.R();this.BOOLEAN=olympe.dm.Boolean.P.R();this.NUMBER=olympe.dm.Number.P.R();this.DATETIME=olympe.dm.DateTime.P.R();this.COLOR=olympe.dm.Color.P.R();this.FILE=olympe.dm.File.P.R();this.GOO=olympe.dm.ub.P.R();this.OPERATION=olympe.dm.Ia.P.R();this.ROLE=olympe.dm.Hb.P.R();this.USER=olympe.dm.User.P.R();this.ONE_ONE=olympe.dm.Relation.L.Ss;this.ONE_MANY=olympe.dm.Relation.L.gl;this.MANY_ONE=olympe.dm.Relation.L.Js;this.MANY_MANY=olympe.dm.Relation.L.Is;this.NONE=olympe.dm.Ia.C.NONE;
836
+ this.READ=olympe.dm.Ia.C.ql;this.READ_CREATE=olympe.dm.Ia.C.vj;this.READ_WRITE=olympe.dm.Ia.C.READ_WRITE;this.READ_DELETE=olympe.dm.Ia.C.Qo;this.READ_CREATE_WRITE=olympe.dm.Ia.C.dt;this.READ_LINK=olympe.dm.Ia.C.ug;this.READ_CREATE_LINK=olympe.dm.Ia.C.ct;this.READ_WRITE_LINK=olympe.dm.Ia.C.gt;this.READ_DELETE_LINK=olympe.dm.Ia.C.ft;this.READ_CREATE_WRITE_LINK=olympe.dm.Ia.C.et;this.FULL=olympe.dm.Ia.C.yn;this.RELATION_CREATE=olympe.dm.Relation.G.rl;this.RIGHT_WRITE=olympe.dm.Relation.G.ul;this.RIGHT_LINK=
837
+ olympe.dm.Relation.G.tl;this.LEFT_WRITE=olympe.dm.Relation.G.al;this.LEFT_LINK=olympe.dm.Relation.G.$k;this.BOTH_WRITE=olympe.dm.Relation.G.qk;this.BOTH_LINK=olympe.dm.Relation.G.nk;this.DUMP_IGNORE=olympe.dm.Relation.C.Rn;this.DUMP_REF=olympe.dm.Relation.C.Uo;this.DUMP_REVERSE_REF=olympe.dm.Relation.C.nt;this.DUMP_UNILATERAL=olympe.dm.Relation.C.Ej;this.DUMP_REVERSE_UNILATERAL=olympe.dm.Relation.C.yj;this.DUMP_EVERYTHING=olympe.dm.Relation.C.mn;this.DUMP_DEFAULT=olympe.dm.Relation.C.bd;this.DUMP_REV_DEFAULT=
838
+ olympe.dm.Relation.C.mt;this.DELETE_REF=this.DUMP_BOTH_REF=olympe.dm.Relation.C.pk;this.DELETE_REF_AND_DESTINATION=olympe.dm.Relation.C.jt;this.DELETE_REF_AND_ORIGIN=olympe.dm.Relation.C.kt;this.DELETE_EVERYTHING=olympe.dm.Relation.C.mn;this.OLYMPE_AUTHENTICATED_USERS=olympe.dm.Hb.O;this.DEFAULT_GOO=olympe.dm.ub.Zb}eq(){return[...this.na]}push(){this.L.push(this.C);this.C=void 0}pop(){if(this.C)throw Error('Cannot unstack definition: current definition not closed');this.C=this.L.pop()}Lu(){const a=
839
+ new Map,b=olympe.dc.Y.zt.C(this.ca,this.F,this.V);for(const [c,d]of b.entries())a.set(c,d.G());return a}Tv(){return this.ca}ox(a){this.O=a}log(...a){this.O&&this.N&&this.N.log(...a)}Ji(...a){this.O&&this.N&&this.N.debug(...a)}vq(...a){this.O&&this.N&&this.N.warn(...a)}uq(...a){this.O&&this.N&&this.N.error(...a)}Op(a){if(a&&20===a.length&&!this.Ea){if(this.ja[a])throw Error('Tag '+a+' is used to define more than one keyword');return this.ja[a]=a}this.G=null===this.G?olympe.$.Sl():olympe.$.Sv(this.G);
840
+ this.log('Generating new tag to replace '+a+'. New tag is: '+this.G);return this.G}em(a){const b=this.xa.get(a)||1,c=olympe.$.em(a,b);this.xa.set(a,b+1);return c}ux(a){this.Ea=a}Au(){}kx(...a){this.Ji('Setting as default goo ',a);this.na=a}sx(a){this.ca=a}Pg(a,b){return(new olympe.dc.Y.Ab(this,a)).ek(b)}Lw(a,b){return(new olympe.dc.Y.Uc(this,a)).fk(b)}Kw(a,b){return(new olympe.dc.Y.Uc(this,a)).fk(b).li()}zq(a){return new olympe.dc.Y.Vc(this,a)}Nw(a){return new olympe.dc.Y.Ze(this,a)}ak(a,b,c){this.F.la(a,
841
+ b,c,-1)}Mw(a,b,c){return this.zq(this.Op(c)).Mj(olympe.dm.Ia.O.R(),b).mi(olympe.dm.ub.L.R(),a)}defineProperty(a,b,c,d,e){this.Ji('Defining property ',d,' on model ',a);d={[olympe.dc.Sync.nameProp.R()]:d||''};void 0!==e&&this.ac(a,{[olympe.dc.og.bd+c]:e});this.C?(this.push(),this.Pg(c,olympe.dm.Property.P.R()).Hh(d).done(),this.pop()):this.Pg(c,olympe.dm.Property.P.R()).Hh(d).Pi(a).done();this.ak(olympe.dc.Sync.propertyRel.R(),a,c);this.ak(olympe.dm.Property.typeRel.R(),c,b)}pi(a,b,c,d,e,f,{oi:g=olympe.dm.Relation.L.gl,
842
+ Li:h=olympe.dm.Relation.G.rl,Oi:k=0}={},m=-1){if(void 0===e||null===e)throw Error('Cannot define a relation without defining the dump follow rules (must be set to db.DUMP_<something> and cannot be undefined or null)');if(void 0===f||null===f)throw Error('Cannot define a relation without defining the delete follow rules (must be set to db.DELETE_<something> and cannot be undefined or null)');const n=olympe.dm.Relation;d={[olympe.dc.Sync.nameProp.R()]:d||'',[n.Fl.R()]:g,[n.Mi.R()]:h,[n.Nl.R()]:e,[n.Ml.R()]:f,
843
+ [n.pm.R()]:k};this.C?(this.push(),this.Pg(a,n.P.R()).Hh(d).done(),this.pop()):this.Pg(a,n.P.R()).Hh(d).Pi(b).done();this.F.la(n.originModelRel.R(),b,a,m);this.F.la(n.destinationModelRel.R(),a,c,m)}yw(a,b){this.Ji('Linking instance ',a,' to goo ',b);this.F.la(olympe.dc.Sync.F.R(),a,b,-1)}uw(a,b){this.F.la(olympe.dm.ub.L.R(),a,b,-1)}vw(a,b){this.F.la(olympe.dm.Ia.O.R(),a,b,-1)}ww(a,b){this.F.la(olympe.dm.Hb.C.R(),a,b,-1)}ac(a,b,c=!1){this.Ji('Updating instance ',a);delete b[olympe.dc.Pb.Pd];delete b[olympe.dc.Pb.VERSION];
844
+ const d=new Map;Object.keys(b).forEach(e=>{d.set(e,b[e])});this.F.ac(a,d,c,-1)}assign(a,b,c){this.ak(b,a,c)}fu(a,b,c){this.V.la(b,a,c,-1)}wu(a){return new olympe.dc.Ec(a)}su(a,b,c,d){const e={c:7};e.r=a;e.g=b;e.b=c;e.a=d;return e}tu({year:a=1970,month:b=1,day:c=1,hour:d=1,minute:e=0,second:f=0,WB:g=0,kC:h=0}={}){const k={c:4};k.y=a;k.M=b;k.d=c;k.h=d;k.m=e;k.s=f;k.S=g;k.z=h;return k}Pu(a){a=new Date(Date.parse(a));const b={c:4};b.y=a.getFullYear();b.M=a.getMonth()+1;b.d=a.getDate();b.h=a.getHours();
845
+ b.m=a.getMinutes();b.s=a.getSeconds();b.S=a.getMilliseconds();b.z=-a.getTimezoneOffset();return b}uu(a){a='number'===typeof a?new Date(a):a;const b={c:4};b.h=a.getHours();b.m=a.getMinutes();b.s=a.getSeconds();b.S=a.getMilliseconds();b.z=a.getTimezoneOffset();b.y=a.getFullYear();b.M=a.getMonth()+1;b.d=a.getDate();return b}vi(a,b,c){return olympe.aa.zb.ge.vi(a,c)}bq(a,b){return olympe.aa.zb.ge.vi(a,b)}nb(){throw Error('DeleteRelation method on OSaveFile is deprecated');}oc(){throw Error('DeleteInstance method on OSaveFile is deprecated');
846
+ }};olympe.dc.Y.Aa.prototype.deleteInstance=olympe.dc.Y.Aa.prototype.oc;olympe.dc.Y.Aa.prototype.deleteRelation=olympe.dc.Y.Aa.prototype.nb;olympe.dc.Y.Aa.prototype.generateAuthenticationData=olympe.dc.Y.Aa.prototype.bq;olympe.dc.Y.Aa.prototype.generateAuthData=olympe.dc.Y.Aa.prototype.vi;olympe.dc.Y.Aa.prototype.createDateTimeLegacy=olympe.dc.Y.Aa.prototype.uu;olympe.dc.Y.Aa.prototype.fromISODate=olympe.dc.Y.Aa.prototype.Pu;olympe.dc.Y.Aa.prototype.createDateTime=olympe.dc.Y.Aa.prototype.tu;
847
+ olympe.dc.Y.Aa.prototype.createColor=olympe.dc.Y.Aa.prototype.su;olympe.dc.Y.Aa.prototype.createReference=olympe.dc.Y.Aa.prototype.wu;olympe.dc.Y.Aa.prototype.assignOptional=olympe.dc.Y.Aa.prototype.fu;olympe.dc.Y.Aa.prototype.assign=olympe.dc.Y.Aa.prototype.assign;olympe.dc.Y.Aa.prototype.updateInstance=olympe.dc.Y.Aa.prototype.ac;olympe.dc.Y.Aa.prototype.linkRoleToUser=olympe.dc.Y.Aa.prototype.ww;olympe.dc.Y.Aa.prototype.linkOperationToRole=olympe.dc.Y.Aa.prototype.vw;
848
+ olympe.dc.Y.Aa.prototype.linkGroupOfObjectsToOperation=olympe.dc.Y.Aa.prototype.uw;olympe.dc.Y.Aa.prototype.linkToGroupOfObjects=olympe.dc.Y.Aa.prototype.yw;olympe.dc.Y.Aa.prototype.defineRelation=olympe.dc.Y.Aa.prototype.pi;olympe.dc.Y.Aa.prototype.defineProperty=olympe.dc.Y.Aa.prototype.defineProperty;olympe.dc.Y.Aa.prototype.newPermissions=olympe.dc.Y.Aa.prototype.Mw;olympe.dc.Y.Aa.prototype.newRelation=olympe.dc.Y.Aa.prototype.ak;olympe.dc.Y.Aa.prototype.newUser=olympe.dc.Y.Aa.prototype.Nw;
849
+ olympe.dc.Y.Aa.prototype.newOperation=olympe.dc.Y.Aa.prototype.zq;olympe.dc.Y.Aa.prototype.newAbstractModel=olympe.dc.Y.Aa.prototype.Kw;olympe.dc.Y.Aa.prototype.newModel=olympe.dc.Y.Aa.prototype.Lw;olympe.dc.Y.Aa.prototype.newInstance=olympe.dc.Y.Aa.prototype.Pg;olympe.dc.Y.Aa.prototype.setRootInstanceTag=olympe.dc.Y.Aa.prototype.sx;olympe.dc.Y.Aa.prototype.setDefaultGroupOfObjects=olympe.dc.Y.Aa.prototype.kx;olympe.dc.Y.Aa.prototype.disableChecks=olympe.dc.Y.Aa.prototype.Au;
850
+ olympe.dc.Y.Aa.prototype.setUseNewTags=olympe.dc.Y.Aa.prototype.ux;olympe.dc.Y.Aa.prototype.assignTag=olympe.dc.Y.Aa.prototype.Op;olympe.dc.Y.Aa.prototype.logError=olympe.dc.Y.Aa.prototype.uq;olympe.dc.Y.Aa.prototype.logWarn=olympe.dc.Y.Aa.prototype.vq;olympe.dc.Y.Aa.prototype.logDebug=olympe.dc.Y.Aa.prototype.Ji;olympe.dc.Y.Aa.prototype.log=olympe.dc.Y.Aa.prototype.log;olympe.dc.Y.Aa.prototype.setLoggingEnabled=olympe.dc.Y.Aa.prototype.ox;olympe.dc.Y.Aa.prototype.getRootInstanceTag=olympe.dc.Y.Aa.prototype.Tv;
851
+ olympe.dc.Y.Aa.prototype.flushContents=olympe.dc.Y.Aa.prototype.Lu;olympe.dc.Y.Aa.prototype.getDefaultGroupOfObjects=olympe.dc.Y.Aa.prototype.eq;olympe.dc.Y.Vc=class extends olympe.dc.Y.Ab{constructor(a,b){super(a,b);this.F=0;this.ek(olympe.dc.Da(olympe.dm.Ia))}Jp(){Y(this);this.F|=1;this.G.set(olympe.dm.Ia.G.R(),this.F);return this}Gp(){Y(this);this.F|=2;this.G.set(olympe.dm.Ia.G.R(),this.F);return this}Mp(){Y(this);this.F|=4;this.G.set(olympe.dm.Ia.G.R(),this.F);return this}Hp(){Y(this);this.F|=8;this.G.set(olympe.dm.Ia.G.R(),this.F);return this}Ip(){Y(this);this.F|=16;this.G.set(olympe.dm.Ia.G.R(),this.F);return this}St(){this.Jp().Hp().Gp().Ip().Mp();
852
+ return this}gu(a){this.mi(olympe.dm.ub.L.R(),a);return this}hu(a){this.Mj(olympe.dm.Ia.O.R(),a);return this}};olympe.dc.Y.Vc.prototype.associateToRole=olympe.dc.Y.Vc.prototype.hu;olympe.dc.Y.Vc.prototype.associateToGoo=olympe.dc.Y.Vc.prototype.gu;olympe.dc.Y.Vc.prototype.addAllPermissions=olympe.dc.Y.Vc.prototype.St;olympe.dc.Y.Vc.prototype.addLinkPermission=olympe.dc.Y.Vc.prototype.Ip;olympe.dc.Y.Vc.prototype.addDeletePermission=olympe.dc.Y.Vc.prototype.Hp;
853
+ olympe.dc.Y.Vc.prototype.addWritePermission=olympe.dc.Y.Vc.prototype.Mp;olympe.dc.Y.Vc.prototype.addCreatePermission=olympe.dc.Y.Vc.prototype.Gp;olympe.dc.Y.Vc.prototype.addReadPermission=olympe.dc.Y.Vc.prototype.Jp;olympe.dc.Y.If=class extends olympe.dc.Y.Uc{constructor(a,b,c){super(a,b);this.F=this.description=null;this.setProperty(olympe.dm.BrickMetadata.xb.R(),olympe.dm.BrickMetadata.fd.Zs);null!==c&&this.Kp(c)}Kp(a){this.Pi(a);this.mi(olympe.dm.Ob.G.R(),a);return this}nx(a){this.G.set(olympe.dm.$d.gb.R(),a);return this}lx(a){Y(this);this.description=a;return this}tx(a){Y(this);this.F=a;return this}L(a){super.L(a);if(null!==this.description||null!==this.F)this.C.push(),a=this.C.Pg(this.C.em(this.tag),olympe.sc.tc.P.R()),
854
+ this.description&&a.setProperty(olympe.sc.tc.C.R(),this.description),this.F&&a.setProperty(olympe.sc.tc.L.R(),this.F),a.Pi(this.tag).Lp(this.tag).Mj(olympe.sc.tc.G.R(),this.tag).done(),this.C.pop()}};olympe.dc.Y.If.prototype.setSummary=olympe.dc.Y.If.prototype.tx;olympe.dc.Y.If.prototype.setDescription=olympe.dc.Y.If.prototype.lx;olympe.dc.Y.If.prototype.setIcon=olympe.dc.Y.If.prototype.nx;olympe.dc.Y.If.prototype.addToFolder=olympe.dc.Y.If.prototype.Kp;olympe.dc.Y.zt=class a{constructor(b,c,d){this.F=b;this.sa=c||[];this.C=d||[]}static C(b,c,d){if(c instanceof olympe.dc.transaction.re&&d instanceof olympe.dc.transaction.re){c=ce(c);var e=ce(d)}else e=new olympe.dc.transaction.re(!0),c.gd(e),c=ce(e),d.gd(e),e=ce(e);d=new Map;var f=new a(b,c.Qf,e.Qf);f.kf()||d.set('delRel',f);f=new a(b,c.ye,e.ye);f.kf()||d.set('detInst',f);f=new a(b,c.bg,e.bg);f.kf()||d.set('newInst',f);f=new a(b,c.sf,e.sf);f.kf()||d.set('updateInst',f);b=new a(b,c.cg,e.cg);b.kf()||
855
+ d.set('newRel',b);return d}kf(){return 0===this.sa.length+this.C.length}G(){const b=(d,e)=>{var f=d.o,g=e.o;return f!==g?f<g?-1:1:1===f||2===f||3===f?(f=d.t,g=e.t,f===g?(d=Object.keys(d.p)[0],e=Object.keys(e.p)[0],void 0!==d?d.localeCompare(e):1):f.localeCompare(g)):4===f||5===f?(f=d.l,g=e.l,f===g?(f=d.m,g=e.m,f===g?d.r.localeCompare(e.r):f.localeCompare(g)):f.localeCompare(g)):JSON.stringify(f).localeCompare(JSON.stringify(g))},c=Object.create(null);c.rootTag=this.F;c.operations=this.sa.sort(b);
856
+ c.optionalOperations=this.C.sort(b);return c}};olympe.dc.Y.Ze=class extends olympe.dc.Y.Ab{constructor(a,b){super(a,b);this.F=this.O=null;this.ek(olympe.dc.Da(olympe.dm.User))}vx(a){Y(this);this.O=a;return this}qm(a){Y(this);this.F=a;return this}mx(){return this}iu(a){Y(this);this.mi(olympe.dm.User.C.R(),a);return this}L(a){super.L(a);if(null==this.O||''===this.O)throw Error('A username must be set when calling new User');if(null==this.F||''===this.F)throw Error('A password must be set when calling new User');const b=this.C.bq(this.O,this.F),
857
+ c=new Map;c.set(olympe.dm.User.loginProp.R(),b.login);c.set(olympe.dm.User.saltProp.R(),b.salt);c.set(olympe.dm.User.verifierProp.R(),b.verifier);ug(this.C).ac(this.R(),c,!1,a)}};olympe.dc.Y.Ze.prototype.awardRole=olympe.dc.Y.Ze.prototype.iu;olympe.dc.Y.Ze.prototype.setDomain=olympe.dc.Y.Ze.prototype.mx;olympe.dc.Y.Ze.prototype.setPassword=olympe.dc.Y.Ze.prototype.qm;olympe.dc.Y.Ze.prototype.setUsername=olympe.dc.Y.Ze.prototype.vx;olympe.dc.Y.T={Sr:'dc.io.IOService',dh:'dc.io.IOUrlsProvider'};olympe.U.Ib(function(a){ra(a,olympe.dc.Y.T.dh);B(a,olympe.dc.Y.T.Sr,[olympe.ua.T.ta,olympe.Ca.T.ta,olympe.aa.T.ta,olympe.dc.Y.T.dh],b=>new olympe.dc.Y.$n(b.Gc('dc.io')))},'olympe.dc.io');olympe.dc.Y.RB=function(a,b,c=!1){if(a.startsWith('@')||a.startsWith('v'))return!1;a.startsWith(olympe.dc.og.bd)&&(a=a.substring(1));const d=olympe.dc.Ua();return b?c?Fd(d,a,b):Fd(d,a,d.model(b)):d.Fb(a)};olympe.Ya={};olympe.Ya.Kf=class{da(){}Rc(){}na(){}ja(){}ca(){}close(){}};olympe.Ya.ra={vt:1,Xs:2,bz:3,sk:4,ny:5};olympe.Ya.hh=class{constructor(a,b,c,d){this.N=a;this.fb=new olympe.D.kc('Local source');this.F=new Map;this.xa=b;this.C=c;this.Ea=this.G=null;this.O=this.L=!1;d.get('syncTimeout');d.get('autoSync')&&this.gb();d.get('autoPersist')&&this.Xa()}xb(a){this.Ea=a}Qc(a){const b=olympe.D.Ja().vb(a);a=new olympe.async.di;a.add((c,d)=>{this.V(e=>e?d(e.message):c())});a.add((c,d)=>{this.Pa(e=>{e?d(e.message):c()})});a.add((c,d)=>{this.C.storage.F(d)});Ab(a,(c,d)=>{b(c?null:Error(d))});a.start()}Zb(a,b,c,d,e){const f=
858
+ olympe.dc.ma.ra.yl,g=olympe.dc.ma.ra.zk,h=new olympe.dc.db.Dc,k=new olympe.async.Ff(olympe.D.Ja()),m=(n,p,q)=>{const r=n.tag(),t=n.Gb(olympe.dm.File.mimeTypeProp.R());Hb(this.C,v=>{olympe.dc.nv().le(r,v,t,u=>{n.Ba(olympe.dm.File.urlProp.R(),u);const x=new Map;x.set(olympe.dm.File.urlProp.R(),u);h.ac(r,x);this.C.storage.C(q)})})};for(const n of c)(c=a.Qb(n))&&c.He()&&k.add(m.bind(this,c));Ab(k,(n,p)=>{n?(n=zc(new olympe.dc.ma(f,a,[b.da()]),q=>{q?e(q.message):(this.G(b.da(),g,h),q=Array.from(a.md()).map(r=>
859
+ r.tag()),olympe.dc.Wc().persist(q),d())}),b.na(n)):e(`Transaction synchronisation failed! ${p?p:''}`)});k.start()}Pa(a){const b=olympe.async.di.create(),c=b.G;b.add((d,e)=>{this.C.storage.F(e)});b.add((d,e,f)=>{const g=olympe.dc.La.jb,h=f.get('files'),k=new olympe.async.Ff(c);this.F.forEach((m,n)=>{if(n!==g){const p=this.Ea.L(n);null!==p?(k.add(this.Zb.bind(this,m,p,h)),this.C.storage.C(void 0)):e(`The source: ${n} is not reachable.`)}});Ab(k,(m,n)=>{m?d():e(n||void 0)});k.start()});Ab(b,(d,e)=>{a(d?
860
+ null:Error(e));d&&(this.O=!1,this.F.clear())});b.start()}V(a){const b=new olympe.async.di(olympe.D.Ja());b.add((c,d)=>{Eb(this.C,e=>null===e?c():d(e))});b.add(c=>{const d=olympe.dc.Wc();this.F.forEach((e,f)=>{const g=Array.from(e.md()).map(h=>h.tag());Mc(d,e,g,[],f)(!0)});c()});Ab(b,(c,d)=>{a(d?Error(d):null)});b.start()}da(){return olympe.dc.La.jb}Rc(){return''}na(a){var b=olympe.dc.ma.ra.hi,c=olympe.dc.ma.ra.Ug;const d=olympe.dc.ma.ra.Ph,e=olympe.dc.ma.ra.Oh,f=olympe.dc.ma.ra.ng,g=olympe.dc.ma.ra.Lk,
861
+ h=olympe.dc.ma.ra.Hj,k=olympe.dc.ma.ra.Bk,m=olympe.dc.ma.ra.aj;var n=olympe.dc.ma.ra.Gk;const p=a.type;switch(p){case f:a.validate(null);this.C.storage.G(void 0);this.V(u=>{null!==u&&this.N.error(`Could not load transactions: ${u.message}`)});break;case b:case c:const q=a.content;a.C.forEach(u=>{let x=this.F.get(u);void 0===x&&(x=new olympe.dc.db.Dc,this.F.set(u,x));q.gd(x);this.L&&(this.O=!0)});a.validate(null);a=olympe.dc.transaction.zg.C.wo;this.G(olympe.dc.La.jb,n,{id:q.da(),finalize:a});break;
862
+ case e:case d:const r=a.C[0],t=a.content;a.validate(null);Cb(this.C,t.da(),u=>{this.N.warn('No graphresult for subscription : '+t.da(),u,'\n',t.Lg.toJSON());this.N.warn();this.G(r,g,new olympe.dc.query.Rh(t.da(),r,olympe.dc.La.jb,new olympe.dc.db.Dc))});break;case h:case m:case k:n=a.content;b=n.file;const v=n.Rg;c=n.eg;p===h?Gb(this.C,b,n.content,n.mimeType,v,c):p===m?Hb(this.C,u=>{v(u)}):this.C.storage.C(c);a.validate(null)}}ja(a){this.G=a}ca(){}close(){this.fb.hb()}gb(){olympe.D.rc([Qb(this.xa)],
863
+ a=>{if(a.valueOf()){const b=this.F.keys();this.Pa(c=>{if(c)this.N.error('An error occurred while auto synchronising:\n'+c.message);else if(this.N.debug('Auto synchronise transactions successfully'),this.L)for(const d of b)Fb(this.C,e=>{this.N.error(`Could not clear transactions for ${d}: ${e}.`)})})}})}Xa(){let a;olympe.D.rc([Qb(this.xa)],b=>{b.valueOf()?(this.L=!1,a&&(ec(a),a=null)):(this.L=!0,a=dc(()=>{if(this.O){this.O=!1;for(const c of this.F.keys())Db(this.C,c,this.F.get(c),()=>{},d=>{this.N.error(`Could persist transaction for ${c}: ${d}`)})}},
864
+ 5E3))})}};olympe.Ya.hh.C='context';olympe.Ya.hh.ka=[olympe.Ya.Kf];function xg(a,b){const c=b.da();a.C[c]?a.N.error('Attempt to register a source twice'):(a.C[c]=b,a.N.debug(`New source '${c}' added to the router.`))}olympe.Ya.wa=class{constructor(a){this.N=a;this.C=Object.create(null);this.F=Object.create(null)}forEach(a){const b=Object.keys(this.C);for(let c=0,d=b.length;c<d;c++)a(this.C[b[c]])}};olympe.Ya.Bj=class{C(){}};olympe.Ya.Buffer=class{constructor(){this.counter=0;this.ec=new Map}buffer(a){const b=this.counter++;this.ec.set(b,a);return this.clear.bind(this,b)}clear(a){this.ec.delete(a)}};olympe.Ya.Hf=class a{constructor(b,c,d,e,f,g){this.N=b;this.V=c;this.ca=new olympe.Ya.Buffer(this);this.za=d;this.G=this.Zb(g);this.Xa=e;this.fb=new olympe.D.kc('Data Router context');this.F=new Map;this.na=new Map;this.gb(f)}gb(b){this.N.info('Initializing DR layer');xg(this.za,b);b.ja(this.Ea.bind(this));b.ca(this.ja.bind(this));b.xb(this);this.O((c,d)=>{this.N.debug('Source event occurred',d,'fired by source',c);if(d===olympe.dc.ei.Zn&&(d=this.za,d.C[c])){const e=d.C[c];delete d.F[c];delete d.C[c];
865
+ e.close();d.N.debug('Peer connection closed :',c)}});olympe.D.Uj(Qb(this.V),()=>{this.N.info('Router: ONLINE')},()=>{this.N.log('Router: OFFLINE (no auth layer not online)');for(const c of this.ca.ec.values())this.Pa(c)});this.N.log('DONE initializing DR layer (waiting for AUTH layer session to be established)')}send(b){zc(b,this.ca.buffer(b));this.Pa(b)}xa(b){return(b=this.L(b))?b.Rc():''}C(b,c){const d=olympe.$.Rb();let e=this.F.get(b);void 0===e&&(e=new Map,this.F.set(b,e));e.set(d,c)}O(b){this.na.set(olympe.$.Sf(),
866
+ b)}Ea(b,c,d){this.F.has(c)&&this.F.get(c).forEach(e=>{e(b,d)})}L(b,c=!0){let d=this.za.C[b]||null;if(!c||null!==d)return d;d=this.fb.run(()=>this.Xa.C(b,this));xg(this.za,d);return d}ja(b,c){this.na.forEach(d=>{d(b,c)})}Pa(b){this.N.debug('Processing message',b.toString());const c=b.type!==olympe.dc.ma.ra.xl&&b.type!==olympe.dc.ma.ra.Kk;this.xb(b).forEach(d=>{(d=this.L(d,c))&&d.na(b)})}xb(b){var c=olympe.dc.ma.ra.ng,d=olympe.dc.ma.ra.Oh,e=olympe.dc.ma.ra.Ph,f=olympe.dc.ma.ra.hi,g=olympe.dc.ma.ra.Ug;
867
+ const h=olympe.dc.ma.ra.Hj,k=olympe.dc.ma.ra.Bk,m=olympe.dc.ma.ra.aj;switch(b.type){case c:e=this.G.get(a.C.ng)||[];break;case d:case e:e=this.G.get(a.C.ol)||[];break;case f:case g:e=this.G.get(a.C.Ht)||[];break;case h:case m:case k:e=this.G.get(a.C.yr)||[];break;default:e=[]}c=b.content;d=!Rb(this.V);for(var n of e)if(e=n,f=c&&c.da&&c.da(),g=e.get('type'),g===a.F.el&&d||g===a.F.Pn&&e.get('id')===f||g===a.F.bd)return n=n.get('destinations'),this.N.debug('Message',b.toString(),'is redirect to',n),
868
+ n;this.N.debug('Message',b.toString(),'not redirect');return b.C}Zb(b){const c=Object.values(olympe.Ya.Hf.C),d=Object.values(olympe.Ya.Hf.F);b=Object.entries(b);const e=new Map;b.forEach(([f,g])=>{if(c.includes(f))if(g instanceof Array){var h=[];e.set(f,h);g.forEach(k=>{const m=k.type;if(d.includes(m)){var n=k.destinations;n instanceof Array?(n=(new Map).set('type',m).set('destinations',n),h.push(n),m===a.F.Pn&&n.set('id',k.id)):this.N.error('Routing rule',f,m,'is not valid. Destinations must be stored in an array')}else this.N.error('Routing rule',
869
+ f,m,'is not valid. Valid rules are',d.toString())})}else this.N.error('Routing rule',f,'is not valid. Rules must be ordered in an array');else this.N.error('Routing rule',f,'is not valid. Valid messages are',c.toString())});return e}};olympe.Ya.Hf.C={ng:'getContext',ol:'query',Ht:'transaction',yr:'file'};olympe.Ya.Hf.F={bd:'default',el:'offline',Pn:'id'};olympe.Ya.Hf.ka=[olympe.dc.Hf];olympe.Ya.T={ta:'dr.Manager',Ha:'dr.Logger',cp:'dr.SourceRegistry',se:'dr.sources.Router',oh:'dr.sources.Factory',nj:'dr.sources.Local'};olympe.Ya.Z={Am:'dr.autoSync',zm:'dr.autoPersist',ip:'dr.syncTimeout',Xo:'dr.routing'};
870
+ olympe.U.Ib(function(a){D(a,olympe.Ya.Z.Xo,{});D(a,olympe.Ya.Z.Am,!1);D(a,olympe.Ya.Z.zm,!1);D(a,olympe.Ya.Z.ip,3E4);B(a,olympe.Ya.T.Ha,[olympe.ua.T.ta],b=>b.Gc('dr'));y(a,olympe.Ya.T.cp,olympe.Ya.wa,olympe.Ya.T.Ha);B(a,olympe.Ya.T.nj,[olympe.Ya.T.Ha,olympe.aa.T.ta,olympe.Ub.T.Ym,new olympe.U.ha(olympe.Ya.Z.Am),new olympe.U.ha(olympe.Ya.Z.zm),new olympe.U.ha(olympe.Ya.Z.ip)],(b,c,d,e,f,g)=>{e=(new Map).set('autoSync',e).set('autoPersist',f).set('syncTimeout',g);return new olympe.Ya.hh(b,c,d,e)});
871
+ y(a,olympe.Ya.T.se,olympe.Ya.Hf,olympe.Ya.T.Ha,olympe.aa.T.ta,olympe.Ya.T.cp,olympe.Ya.T.oh,olympe.Ya.T.nj,new olympe.U.ha(olympe.Ya.Z.Xo));qa(a,olympe.dc.T.se,olympe.Ya.T.se);ra(a,olympe.Ya.T.oh);B(a,olympe.dc.query.hc.mj,[olympe.dc.query.hc.mj],b=>new olympe.dc.nl(b))},'olympe.dr');olympe.H={};olympe.H.xc={Xg:1,wf:2,wc:3,Se:4,fr:5,Sh:6,vz:7};olympe.H.ra={Sh:1,Mt:2,xr:3,Uh:5};olympe.H.qa=class{O(){}connect(){}Ng(){}ke(){}fd(){}Sd(){}zd(){}G(){}Rf(){}Be(){}Ea(){}Ei(){}yq(){}Aq(){}};olympe.H.qa.C={INIT:'initialize',CONNECTING:'connecting',Ne:'disconnected',Wg:'connected',wc:'error'};olympe.H.qa.G={fl:1,Cr:-1,Rr:-2,Ft:-3};function yg(a,b,c,d,e,f){const g=ic(a.L+'/'+b,olympe.Ca.Vb.Yh.Lo,c,olympe.Ca.Vb.ResponseType.mk);jc(g,{Authorization:olympe.D.Ta(Tb(a.F)),[olympe.Ca.Vb.Headers.Wm]:d||'application/octet-stream'});a.G.Ge(g,h=>{h=h.status;h===olympe.Ca.Vb.Ve.fl||h===olympe.Ca.Vb.Ve.Qm?(h=new URL(g.C()),e(h.pathname)):f&&(h=`Failed to create file ${b}. Response code ${h}`,a.N.error(h),f(h))})}
872
+ function zg(a,b,c,d,e,f){const g=olympe.D.Ja();e={Rg:g.vb(e),eg:f&&g.vb(f)};if(a.C.has(b))a.C.get(b).push(e);else{a.C.set(b,[e]);if(null===c){var h=ic(a.L+'/'+b);jc(h,{Authorization:olympe.D.Ta(Tb(a.F))})}else h=ic(c);h.F=olympe.Ca.Vb.ResponseType.mk;jc(h,{[olympe.Ca.Vb.Headers.Wm]:d||'application/octet-stream'});a.O.run(()=>{a.G.Ge(h,k=>{const m=k.status,n=a.C.get(b);if(200<=m&&300>m){const p=k.data;n&&n.forEach(q=>{if(g.Kb()){const r=g.Qj(),t=g.da();a.N.warn(`Context ${r} ${t} is being destroyed while file tag ${b} is being downloaded`)}q.Rg(p)})}else{const p=
873
+ `Failed to download file ${b}. Response code ${m}`;n&&n.forEach(q=>{q.eg&&q.eg(p)})}a.C.delete(b)})})}}function Ag(a,b,c,d){const e=ic(a.L+'/'+b,olympe.Ca.Vb.Yh.DELETE);jc(e,{Authorization:olympe.D.Ta(Tb(a.F))});a.G.Ge(e,f=>{f=f.status;200<=f&&300>f?c():(f=`Failed to delete file ${b}. Response code ${f}`,a.N.error(f),d&&d(f))})}olympe.H.Ar=class{constructor(a,b,c,d){this.N=a;this.G=b;this.F=c;this.L=d;this.C=new Map;this.O=new olympe.D.kc('File manager context')}};const Bg=olympe.dc.ma.ra.ng,Cg=olympe.dc.ma.ra.hi,Dg=olympe.dc.ma.ra.yl,Eg=olympe.dc.ma.ra.Ug,Fg=olympe.dc.ma.ra.fp,Gg=olympe.dc.ma.ra.xl,Hg=olympe.dc.ma.ra.Oh,Ig=olympe.dc.ma.ra.Ph,Jg=olympe.dc.ma.ra.Kk,Kg=olympe.dc.ma.ra.Fn,Lg=olympe.dc.ma.ra.Lk,Mg=olympe.dc.ma.ra.Bk,Ng=olympe.dc.ma.ra.aj,Og=olympe.dc.ma.ra.Hj,Pg=olympe.dc.ma.ra.Gk,Qg=olympe.dc.ma.ra.Lt,Rg=olympe.dc.ma.ra.it,Sg=olympe.dc.ma.ra.Dr,Tg=olympe.dc.ma.ra.Yq,Ug=olympe.dc.ma.ra.cr;
874
+ function Vg(a){a.F.Ea(olympe.H.xc.Xg,a.Xa.bind(a));olympe.D.rc([Qb(a.L)],b=>{b=b.valueOf()?olympe.dc.ei.Co:olympe.dc.ei.el;a.V&&a.V(a.id,b)},'Server source is online')}function Wg(a,b,c){const d=new olympe.dc.transaction.re(!0);b.gd(d);Xg(a,a.Zb,Cg,!0,de(d),e=>{c&&c(e);a.C(olympe.dc.La.dd,Pg,{id:b.da(),finalize:olympe.dc.transaction.zg.C.Ps})})}
875
+ function Yg(a,b,c,d){const e=c.da();a.N.log('Graphdef (ID ',e,') sent: ',c);const f=c instanceof olympe.dc.query.Tk?a.gb:a.Pa,g=(new olympe.H.X.ej).oa(c);c=new olympe.async.Ff(a.O);b===Ig&&c.add((k,m)=>{a.G.set(e,{notification:null,Xw:a.O.vb(n=>n?m(n):k())});Z(a,b,g,n=>n&&m(n.message))});const h=olympe.D.Ja();c.add((k,m)=>{h.run(()=>{Xg(a,f,Hg,!1,g,a.O.vb(n=>n?m(n.message):k()))})});Ab(c,(k,m)=>{const n=a.G.get(e);k&&n&&n.notification?a.C(a.id,Kg,n.notification):!k&&n&&Zg(a,Jg,e,p=>p&&a.N.warn(p));
876
+ a.G.delete(e);k&&b===Ig&&a.F.yq(e);d(m?Error(m):null)});c.start()}function Zg(a,b,c,d){a.N.log('Unsubscribe to: ',c);a.F.Aq(c);Z(a,b,{i:c},d)}
877
+ function $g(a,b,c,d){const e=new olympe.dc.query.Mo,f=c.da();var g=c.kd();let h=g;olympe.D.Za(g)&&(h=e.add(g));let k;try{k=ah(a,c.jf(),e)}catch(n){d(Error(`serialization failed for subscription "${f}": ${n.message}`));return}const m=olympe.H.Kf.C.Qr;g=bh(e);c={i:c.da(),y:m,b:h};k&&(c.q=k);g&&(c.p=g);Z(a,b,c,d);e.forEach((n,p)=>{olympe.D.Za(n)&&olympe.D.rc([n],q=>ch(a,f,dh(p,q),r=>null!==r&&a.N.warn(r)))})}function Z(a,b,c,d){b={c:b};Object.assign(b,c);a.F.G(olympe.H.xc.Xg,b,d&&(e=>{d(e)}))}
878
+ function Xg(a,b,c,d,e,f){if(a.F.O()){const g=olympe.H.xc.Xg;!d&&e&&Object.assign(e,{c});c=olympe.D.Ta(Tb(a.L)).valueOf();a.F.Rf(b,g,c,d,e,f)}else a.N.error('Server is disconnected, data request of type',c,'on url',b,'is canceled.'),f(Error('Server is disconnected'))}function ah(a,b,c){return b&&0<b.length?eh(a.xb,b,c):null}function ch(a,b,c,d){c&&Z(a,olympe.dc.ma.ra.xt,{i:b,p:c},d)}
879
+ olympe.H.Kf=class{constructor(a,b,c,d,e,f){this.id=a;this.N=b;this.F=c;this.L=e;this.xb=new olympe.H.X.pl;this.V=this.C=null;this.O=new olympe.D.kc('Server source context');this.xa=new olympe.dc.$.Go(this.id);this.Ea=new olympe.H.Ar(this.N,d,this.L,f[0]);if(7!==f.length)throw Error('Some HTTP end points to the orchestrator are not specified ! Please check DI of olympe.communication module; wants 7 urls but got: '+f.length);this.fb=f[3];this.gb=f[4];this.Pa=f[5];this.Zb=f[6];this.G=new Map;Vg(this)}da(){return this.id}Rc(){return olympe.D.Ta(this.L.Yf())}na(a){var b=
880
+ a.type;const c=a.validate.bind(a);a=a.content;switch(b){case Bg:Xg(this,this.fb,olympe.dc.ma.ra.ng,!1,null,c);break;case Eg:b=new olympe.dc.transaction.re;var d=a.Bc;a=a.nf;d.gd(b);Z(this,olympe.dc.ma.ra.Ug,{i:d.da(),r:a,p:de(b)});c(null);break;case Cg:b=new olympe.dc.transaction.re;d=a.Bc;a=a.nf;d.gd(b);Z(this,olympe.dc.ma.ra.hi,{i:d.da(),r:a,p:de(b)},c);break;case Dg:Wg(this,a.Bc,c);break;case Hg:case Ig:Yg(this,b,a,c);break;case Jg:Zg(this,b,a,c);break;case Fg:$g(this,b,a,c);break;case Gg:Z(this,
881
+ b,{i:a},c);break;case Qg:Z(this,Qg,{},c);break;case Rg:Z(this,Rg,{},c);break;case Sg:Z(this,Sg,{},c);break;case Tg:Z(this,Tg,a,c);break;case Ug:Z(this,Ug,{},c);break;case Ng:case Mg:case Og:b===Ng?zg(this.Ea,a.file,a.url,a.mimeType,a.Rg,a.eg):b===Og?yg(this.Ea,a.file,a.content,a.mimeType,a.Rg,a.eg):Ag(this.Ea,a.file,a.Rg,a.eg);c();break;default:this.N.info(`Message of type ${b} not supported yet`)}}ja(a){this.C=a}ca(a){this.V=a}close(){this.V(this.id,olympe.dc.ei.Zn);this.O.hb()}Xa(a){var b=olympe.dc.ma.ra.zk,
882
+ c=olympe.dc.ma.ra.Gm;const d=olympe.dc.ma.ra.rj,e=olympe.dc.ma.ra.wt;var f=olympe.dc.ma.ra.fo;const g=olympe.dc.ma.ra.Er,h=a.c;h===b?(a=this.xa.F(a.p),this.C(this.id,b,a)):h===c?(b=a.error.reason,f=this.xa.F(a.p),this.C(this.id,c,{id:a.i,rollback:f,error:b})):h===Lg?(c=olympe.dc.La.jb,b=olympe.dc.La.dd,f=a.i,0<a.s?c=new olympe.dc.query.si.gj(f,b,c,a.info.error.reason):(c=this.xa.O(f,c,a.p),this.N.debug('< Graphdef Result (ID ',c.da(),'):',a.p),this.N.log('< Graphdef Result (ID ',c.da(),') with',c.F().zc(),
883
+ 'operations')),this.C(this.id,Lg,c)):h===Kg?(c=a.i,a=this.xa.L(c,a.p),this.G.has(c)?(c=this.G.get(c),c.notification?Ge(a,c.notification):c.notification=a):this.C(this.id,Kg,a)):h===f?(c=new olympe.dc.query.mo(a.i),a.l.forEach(c.F.bind(c)),this.C(this.id,f,c)):h===d?this.C(this.id,Pg,{id:a.i,finalize:olympe.dc.transaction.zg.C.rj,error:0<a.s?a.info.error.reason:null}):h===e?(c=this.G.get(a.i))&&c.Xw(0<a.s?a.info.error.reason:null):h===g&&this.C(this.id,g,{OB:a.ids,lC:a.undo_stack_size,gC:a.redo_stack_size})}};
884
+ olympe.H.Kf.C={Qr:1,dA:2};olympe.H.Kf.F={100:'Insufficient Rights',200:'Constraints',300:'IOException',400:'Unexpected',500:'Non Existing Subscription'};olympe.H.Kf.ka=[olympe.Ya.Kf];olympe.H.Bj=class{constructor(a,b,c,d,e){this.N=a;this.O=b;this.G=c;this.F=d;this.L=e}C(a,b){a=new olympe.H.Kf(a,this.N,this.O,this.G,this.F,this.L);a.ja(b.Ea.bind(b));a.ca(b.ja.bind(b));return a}};olympe.H.Bj.ka=[olympe.Ya.Bj];olympe.H.hj=class{constructor(){}};olympe.H.hj.ka=[olympe.dc.Y.hj];olympe.H.Ga={};function fh(a){return new Promise(b=>a.C.end(!1,()=>b()))}function gh(a,b,c){oc(a.C,b,d=>{d=new olympe.H.Ga.ec.Request(d.dest,d.src,d.auth,d.seq,d.type,d.content);return c(d)})}function hh(a,b,c){a.G.set(b,c)}function ih(a,b){return new Promise((c,d)=>{pc(a.C,b,e=>e?d(e):c())})}function jh(a,b){return new Promise((c,d)=>{a.O.Kg(b.Ed(),(e,f)=>e?d(e):c(f))})}
885
+ olympe.H.Ga.qa=class{constructor(a,b,c,d){this.N=a;this.O=c;this.G=new Map;a=d.get('url');d=d.get('connectionOptions');this.C=new olympe.Ca.qj(a,d);this.F=1;this.L=olympe.$.Rb()}connect(){return new Promise(a=>{mc(this.C)?a():this.C.connect(()=>{oc(this.C,this.L,b=>{b=new olympe.H.Ga.ec.Response(b.dest,b.src,b.seq,b.type,b.content);const c=this.G.get(b.G);c&&c(b);this.G.delete(b.G)});a()})})}Sg(a,b,c){return new Promise((d,e)=>{const f=a.source,g=new olympe.H.Ga.ec.Response(f,this.L,a.F,b,c);nc(this.C,
886
+ f,g.oa(),h=>h?e(h):d())})}request(a,b,c){return new Promise((d,e)=>{const f=this.F;this.F++;var g=olympe.D.Ta(Tb(this.O));g=new olympe.H.Ga.ec.Request(a,this.L,g,f,b,c);nc(this.C,a,g.oa(),h=>h?e(h):d(f))})}notify(a,b,c){return new Promise((d,e)=>{var f=this.F;this.F++;f=new olympe.H.Ga.ec.Response(b,a,f,olympe.H.Ga.ec.Response.ra.ii,c);nc(this.C,b,f.oa(),g=>g?e(g):d())})}};olympe.H.Ga.ec={};olympe.H.Ga.ec.Request=class{constructor(a,b,c,d,e,f){this.F=d;this.L=a;this.source=b;this.G=c;this.O=e;this.C=f||null}Ed(){return this.G}oa(){return{dest:this.L,src:this.source,seq:this.F,auth:this.G,type:this.O.toString(),content:this.C}}toString(){return JSON.stringify(this)}};olympe.H.Ga.ec.Request.ra={Oe:'GET',Zq:'CALL',wg:'SUBSCRIBE'};olympe.H.Ga.ec.Response=class{constructor(a,b,c,d,e){this.G=c;this.L=a;this.source=b;this.F=d;this.C=e||null}oa(){return{dest:this.L,src:this.source,seq:this.G,type:this.F.toString(),content:this.C}}toString(){return JSON.stringify(this)}};olympe.H.Ga.ec.Response.ra={ii:'VALUE',um:'ACK',wc:'ERROR'};olympe.H.Ga.cb={};olympe.H.Ga.cb.uc=class{constructor(a){this.C=olympe.H.Ga.lc();this.F=a;this.N=olympe.ua.rb(`Service ${this.F}`)}start(){return this.C.connect()}Yj(){return new rxjs.Observable(a=>{gh(this.C,this.F,b=>a.next(new olympe.H.Ga.cb.ma(b,this.C)));return()=>ih(this.C,this.F).catch(b=>this.N.error('Failed to unsubscribe from '+this.F+', error: '+b))})}stop(){return fh(this.C)}};olympe.H.Ga.cb.uc.prototype.stop=olympe.H.Ga.cb.uc.prototype.stop;olympe.H.Ga.cb.uc.prototype.listen=olympe.H.Ga.cb.uc.prototype.Yj;
887
+ olympe.H.Ga.cb.uc.prototype.start=olympe.H.Ga.cb.uc.prototype.start;olympe.H.Ga.cb.ir=class extends olympe.H.Ga.cb.uc{toString(){return`CallService with id ${this.F}`}};olympe.H.Ga.cb.Kn=class extends olympe.H.Ga.cb.uc{toString(){return`GetService with id ${this.F}`}};olympe.H.Ga.cb.fi=class extends olympe.H.Ga.cb.uc{constructor(a){super(a);this.bk=olympe.$.Rb()}Yj(){return new rxjs.Observable(a=>{gh(this.C,this.F,b=>{this.C.Sg(b,olympe.H.Ga.ec.Response.ra.ii,{bk:this.bk}).catch(c=>a.error(c));a.next()});return()=>ih(this.C,this.F).catch(b=>this.N.error('Failed to unsubscribe from a SubscribeService with error '+b))})}notify(a){return this.C.notify(this.F,this.bk,a)}};olympe.H.Ga.cb.fi.prototype.notify=olympe.H.Ga.cb.fi.prototype.notify;
888
+ olympe.H.Ga.cb.fi.prototype.listen=olympe.H.Ga.cb.fi.prototype.Yj;olympe.H.Ga.cb.Client=class{static call(a,b){return new Promise((c,d)=>{const e=olympe.H.Ga.lc();e.connect().then(()=>e.request(a,olympe.H.Ga.ec.Request.ra.Zq,b)).then(f=>{hh(e,f,g=>{g.F===olympe.H.Ga.ec.Response.ra.um?c():d(g.C.errorMessage)})}).catch(f=>d(f))})}static get(a,b){return new Promise((c,d)=>{const e=olympe.H.Ga.lc();e.connect().then(()=>e.request(a,olympe.H.Ga.ec.Request.ra.Oe,b)).then(f=>{hh(e,f,g=>{const h=g.C;h&&g.F===olympe.H.Ga.ec.Response.ra.ii?c(h):d(null!==h?h.errorMessage:'no payload')})}).catch(f=>
889
+ d(f))})}static observe(a,b){return new rxjs.Observable(c=>{const d=olympe.H.Ga.lc();let e=null;d.connect().then(()=>d.request(a,olympe.H.Ga.ec.Request.ra.wg,b)).then(f=>{hh(d,f,g=>{const h=g.C;h&&g.F===olympe.H.Ga.ec.Response.ra.ii?(e=h.bk,gh(d,e,k=>{k.C?c.next(k.C):c.error('No payload')})):c.error(null!==h?h.errorMessage:'No payload')})}).catch(f=>c.error(f));return()=>e&&ih(d,e).catch(f=>olympe.ua.rb('ServiceClient').error('Failed to unsubscribe from a topic '+f))})}};
890
+ olympe.H.Ga.cb.Client.observe=olympe.H.Ga.cb.Client.observe;olympe.H.Ga.cb.Client.get=olympe.H.Ga.cb.Client.get;olympe.H.Ga.cb.Client.call=olympe.H.Ga.cb.Client.call;olympe.H.Ga.cb.ma=class{constructor(a,b){this.request=a;this.C=b}Ke(){return jh(this.C,this.request)}body(){return this.request.C}Rt(){return this.C.Sg(this.request,olympe.H.Ga.ec.Response.ra.um,void 0)}Sg(a){return this.C.Sg(this.request,olympe.H.Ga.ec.Response.ra.ii,a)}aq(a){return this.C.Sg(this.request,olympe.H.Ga.ec.Response.ra.wc,{errorMessage:a.message})}};olympe.H.Ga.cb.ma.prototype.fail=olympe.H.Ga.cb.ma.prototype.aq;olympe.H.Ga.cb.ma.prototype.reply=olympe.H.Ga.cb.ma.prototype.Sg;
891
+ olympe.H.Ga.cb.ma.prototype.ack=olympe.H.Ga.cb.ma.prototype.Rt;olympe.H.Ga.cb.ma.prototype.body=olympe.H.Ga.cb.ma.prototype.body;olympe.H.Ga.cb.ma.prototype.userTag=olympe.H.Ga.cb.ma.prototype.Ke;olympe.H.Sb={};function kh(a,b,c,d){c.c=b;a.C.G(olympe.H.xc.Se,c,d)}
892
+ olympe.H.Sb.Qa=class{constructor(a,b,c,d,e,f){this.N=a;this.C=b;this.F=e;this.Pa=c;this.G=d;this.storage=f;const g=this.storage.C('AUTH');g&&(g.get('redirectTo',h=>{h&&(g.remove('redirectTo'),g.close(),this.F.redirect(h,null,olympe.aa.$h.C.Oe))}),g.close())}O(a){this.C.ke(a)}L(a){this.C.Sd(a)}Ea(a){this.C.Ei(olympe.H.xc.Se,'logoutHandler');this.C.Ea(olympe.H.xc.Se,b=>{const c=b.c;c===olympe.H.Sb.Qa.C.Bs?(this.C.Be(),a(olympe.aa.qa.F.Si,b)):c===olympe.H.Sb.Qa.C.pt&&a(olympe.aa.qa.F.Qn,b)},'logoutHandler')}V(a,
893
+ b){kh(this,olympe.H.Sb.Qa.C.Se,{token:a.hf()},(c,d)=>{if(null!==c)b(c);else switch(d.c){case olympe.H.Sb.Qa.C.wc:b(Error('Invalid token'));break;case olympe.H.Sb.Qa.C.ci:c=null;var e=d.payload;if(e){d=e.userName;const f=e.userTag,g=e.rndCook,h=e.payload,k=e.protocol;'SAML'===k?(e=e.samlToken,c=new olympe.aa.Zo(d,f,g,h),c.C=e):'openid'===k&&(c=new olympe.aa.jl(d,f,g,h))}b(null,c);break;default:b(Error('Unknown response from server'))}})}na(a,b){kh(this,olympe.H.Sb.Qa.C.Lr,{I:a.Rc()},(c,d)=>{if(null!==
894
+ c)b(c);else switch(d.c){case olympe.H.Sb.Qa.C.wc:b(Error(`Username '${a.Rc()}' invalid, or password does not match`));break;case olympe.H.Sb.Qa.C.yt:c=d.payload;b(null,c.S,c.B);break;default:b(Error('Unknown response from server'))}})}xa(a,b){kh(this,olympe.H.Sb.Qa.C.Rq,{A:a.get('a'),M:a.get('m1'),I:a.Rc()},(c,d)=>{if(null!==c)b(c);else switch(d.c){case olympe.H.Sb.Qa.C.wc:this.N.debug('Login failed, invalid username or password');b(Error('Invalid username or password'));break;case olympe.H.Sb.Qa.C.ci:c=
895
+ d.payload;this.N.debug('Login successful, creating token');d=c.payload?JSON.parse(c.payload):void 0;b(null,new olympe.aa.Xe(c.userName,c.userTag,c.rndCook,d));break;default:b(Error(`Unknown response from server (type ${d.c})`))}})}ja(a){kh(this,olympe.H.Sb.Qa.C.te,{},(b,c)=>{null!==b?a(b):c.url&&c.request?a(null,c.url,c.request.replace(/\s/g,''),c.id):a(Error('Missing parameters from server response'))})}ca(a){const b=olympe.D.Ta(olympe.aa.lc().C.yb())||null;if(b instanceof olympe.aa.jl){const c=
896
+ e=>{const f=Object.create(null);f.url=e;f.olympe_token=b.hf();f.access_token=b.ij().access_token||null;this.F.redirect(`${this.G}/logout`,f)};a=this.F.C();const d=new URL(a);if(0!==d.hash.length||0!==d.search.length){const e=this.storage.C('AUTH');d.hash='';d.search='';e&&e.set('redirectTo',a,()=>{e.close();c(d.toString())})}else c(a)}else this.C.G(olympe.H.xc.Se,{c:olympe.H.Sb.Qa.C.Cs},a)}Gh(a){this.C.G(olympe.H.xc.Se,{c:olympe.H.Sb.Qa.C.Uh},a)}Kg(a,b,c){this.C.Rf(this.Pa+'/'+a,olympe.H.xc.Se,b,
897
+ !1,null,(d,e)=>{c(d,e)})}lq(){return this.G}};olympe.H.Sb.Qa.C={Se:1,Cs:2,wc:3,Uh:5,ci:6,Lr:10,yt:11,Rq:12,te:13,pt:14,Bs:20};olympe.H.Sb.Qa.ka=[olympe.aa.At,olympe.aa.zb.Sb.Wh,olympe.aa.zb.Sb.ge,olympe.aa.zb.Sb.te];olympe.H.X={};olympe.H.X.Pc=function(){};olympe.H.X.Pc.prototype.oa=function(){};olympe.H.X.pe=function(){};olympe.H.X.pe.prototype.oa=function(){};olympe.H.X.Wb=function(){};olympe.H.X.Wb.prototype.oa=function(){};olympe.H.X.ve=function(){};olympe.H.X.ve.prototype.oa=function(){};olympe.H.X.pl=function(){this.W={};this.tb={};this.ba={};this.ga=Object.create(null);var a=new olympe.H.X.W.Db;this.W[O(olympe.dc.W.Db)]=a;a=new olympe.H.X.W.de;this.W[O(olympe.dc.W.de)]=a;a=new olympe.H.X.W.Xb;this.W[O(olympe.dc.W.Xb)]=a;this.W[O(olympe.dc.W.td)]=new olympe.H.X.W.td;this.W[O(olympe.dc.W.$c)]=new olympe.H.X.W.$c;this.W[O(olympe.dc.W.Ad)]=new olympe.H.X.W.Ad;this.W[O(olympe.dc.W.Zc)]=new olympe.H.X.W.Zc;a=new olympe.H.X.tb.Number;this.tb[O(olympe.dc.tb.Number)]=a;a=new olympe.H.X.tb.String;
898
+ this.tb[O(olympe.dc.tb.String)]=a;this.ba[O(olympe.dc.ba.qd)]=new olympe.H.X.ba.qd;this.ba[O(olympe.dc.ba.ae)]=new olympe.H.X.ba.ae;this.ba[O(olympe.dc.ba.he)]=new olympe.H.X.ba.he;this.ba[O(olympe.dc.ba.Id)]=new olympe.H.X.ba.Id;this.ba[O(olympe.dc.ba.Ue)]=new olympe.H.X.ba.Ue;this.ba[O(olympe.dc.ba.qe)]=new olympe.H.X.ba.qe;a=new olympe.H.X.ba.Pe;this.ba[O(olympe.dc.ba.Pe)]=a;a=new olympe.H.X.ba.Qe;this.ba[O(olympe.dc.ba.Qe)]=a;this.ga[O(olympe.dc.ga.Tc)]=new olympe.H.X.ga.Tc;a=new olympe.H.X.ga.Od;
899
+ this.ga[O(olympe.dc.ga.Od)]=a;a=new olympe.H.X.ga.Rd;this.ga[O(olympe.dc.ga.Rd)]=a;a=new olympe.H.X.ga.Yd;this.ga[O(olympe.dc.ga.Yd)]=a;a=new olympe.H.X.ga.Jd;this.ga[O(olympe.dc.ga.Jd)]=a;this.ga[O(olympe.dc.ga.We)]=new olympe.H.X.ga.We};olympe.H.X.pl.prototype.constructor=olympe.H.X.pl;
900
+ function eh(a,b,c){var d='[';for(let k=0,m=b.length;k<m;k++){var e=0===k?'':',';var f=a;var g=b[k],h=c;const n=g.ia(),p=f.W[n];if(void 0===p)throw Error('No serializer registered for transformer: '+n);f=p.oa(g,h,f);d+=e+f}return d+']'}function lh(a,b,c){var d=b.ia(),e=a.ba[d];if(void 0===e)throw Error('No predicate registered for predicate: '+d);return e.oa(b,c,a)}function mh(a,b,c){var d=b.ia(),e=a.ga[d];if(void 0===e)throw Error('No valueDef registered for valueDef: '+d);return e.oa(b,c,a)}
901
+ function bh(a){var b='';a.forEach(function(c,d){c&&c.ie&&(c=L(c));void 0!==c&&(c=JSON.stringify(c&&c.valueOf()),b+=(b?',':'')+'"'+d+'":'+c)});return b?'{'+b+'}':''}function dh(a,b){b&&b.ie&&(b=L(b));return void 0!==b?'{"'+a+'":'+JSON.stringify(b&&b.valueOf())+'}':''}
902
+ function nh(a,b){return a&&a.ie?'"$'+b.add(a)+'"':a instanceof olympe.D.fa||a instanceof olympe.D.ea?String(a):a instanceof olympe.D.Oa?'"'+a+'"':a instanceof olympe.D.ab?(a=a.Lq(),String(`{"c":4,"y":${a.getUTCFullYear()},"M":${a.getUTCMonth()+1},"d":${a.getUTCDate()},"h":${a.getUTCHours()},"m":${a.getUTCMinutes()},"s":${a.getUTCSeconds()},"S":${a.getUTCMilliseconds()},"z":0}`)):a instanceof olympe.D.Color?'{"c":7,"r":'+a.Jg().valueOf()+',"g":'+a.Hg().valueOf()+',"b":'+a.Dg().valueOf()+',"a":'+a.Cg().valueOf()+
903
+ '}':a instanceof olympe.dc.Ec?'{"c":8,"t":"'+a.R()+'"}':JSON.stringify(a)};olympe.H.X.ej=class{oa(a){const b=Object.create(null);b.i=a.da();b.b=[a.C];b.m=!0;b.v=!0;b.f=a instanceof olympe.dc.query.Tk?se(a.Lg):olympe.dc.ob.NONE;b.q=Ke(a).map(this.C.bind(this));return b}C(a){const b=a.Df,c=b.Na()===olympe.dc.Ka.ORIGIN?olympe.H.X.W.Db.C.gh:olympe.H.X.W.Db.C.mh,d=Object.create(null);d.t=b.R();d.d=c;d.v=a.apply;d.r=b.recursive;d.q=a.Eg().map(this.C.bind(this));return d}};olympe.H.X.W={};olympe.H.X.W.Zc=function(){};olympe.H.X.W.Zc.prototype.constructor=olympe.H.X.W.Zc;olympe.H.X.W.Zc.prototype.oa=function(){return'{"y":15}'};olympe.H.X.W.Zc.ka=[olympe.H.X.Pc];olympe.H.X.W.$c=function(){};olympe.H.X.W.$c.prototype.constructor=olympe.H.X.W.$c;olympe.H.X.W.$c.prototype.oa=function(a,b,c){return'{"y":21,"p":'+lh(c,a.C,b)+'}'};olympe.H.X.W.$c.ka=[olympe.H.X.Pc];olympe.H.X.W.de=function(){};olympe.H.X.W.de.prototype.constructor=olympe.H.X.W.de;olympe.H.X.W.de.prototype.oa=function(a){var b=null!==a.Na()?a.Na()===olympe.dc.Ka.ORIGIN?olympe.H.X.W.Db.C.gh:olympe.H.X.W.Db.C.mh:olympe.H.X.W.Db.C.Em;return'{"y":12,"t":'+JSON.stringify(og(a))+',"d":'+b+'}'};olympe.H.X.W.de.ka=[olympe.H.X.Pc];olympe.H.X.W.Xb=function(){};olympe.H.X.W.Xb.prototype.constructor=olympe.H.X.W.Xb;olympe.H.X.W.Xb.prototype.oa=function(a){const b=null!==a.Na()?a.Na()===olympe.dc.Ka.ORIGIN?olympe.H.X.W.Db.C.gh:olympe.H.X.W.Db.C.mh:olympe.H.X.W.Db.C.Em;return'{"y":11,"t":"'+a.R()+'","d":'+b+',"s":'+a.F+',"e":'+a.C+'}'};olympe.H.X.W.Xb.ka=[olympe.H.X.Pc];olympe.H.X.W.Db=function(){};olympe.H.X.W.Db.C={Em:0,gh:1,mh:2};olympe.H.X.W.Db.prototype.constructor=olympe.H.X.W.Db;olympe.H.X.W.Db.prototype.oa=function(a){const b=a.Na()===olympe.dc.Ka.ORIGIN?olympe.H.X.W.Db.C.gh:olympe.H.X.W.Db.C.mh;return'{"y":10,"t":"'+a.R()+'","d":'+b+'}'};olympe.H.X.W.Db.ka=[olympe.H.X.Pc];olympe.H.X.W.td=function(){};olympe.H.X.W.td.prototype.constructor=olympe.H.X.W.td;olympe.H.X.W.td.prototype.oa=function(a,b,c){var d=a.C;const e=d.ia();var f=c.tb[e];if(void 0===f)throw Error('No comparator registered for comparator: '+e);return'{"y":20,"o":'+f.oa(d,b,c)+(a.F?'':',"a":false')+'}'};olympe.H.X.W.td.ka=[olympe.H.X.Pc];olympe.H.X.W.Ad=function(){};olympe.H.X.W.Ad.prototype.constructor=olympe.H.X.W.Ad;olympe.H.X.W.Ad.prototype.oa=function(a,b){var c=a.start;c=c&&c.ie?'"$'+b.add(c)+'"':JSON.stringify(c);a=(a=a.C)&&a.ie?'"$'+b.add(a)+'"':JSON.stringify(a);return'{"y":22,"s":'+c+',"n":'+a+'}'};olympe.H.X.W.Ad.ka=[olympe.H.X.Pc];olympe.H.X.tb={};olympe.H.X.tb.Number=class{constructor(){}oa(a,b,c){return`{"y":11,"v":${mh(c,a.C,b)}}`}};olympe.H.X.tb.Number.ka=[olympe.H.X.pe];olympe.H.X.tb.String=class{constructor(){}oa(a,b,c){return`{"y":10,"v":${mh(c,a.C,b)}}`}};olympe.H.X.tb.String.ka=[olympe.H.X.pe];olympe.H.X.ba={};olympe.H.X.ba.Id=function(){};olympe.H.X.ba.Id.prototype.constructor=olympe.H.X.ba.Id;olympe.H.X.ba.Id.prototype.oa=function(a,b,c){const d=mh(c,a.source,b);c=mh(c,a.value,b);a=nh(a.G,b);return'{"y":20,"s":'+d+',"v":'+c+',"a":'+a+'}'};olympe.H.X.ba.Id.ka=[olympe.H.X.Wb];olympe.H.X.ba.qd=function(){};olympe.H.X.ba.qd.prototype.constructor=olympe.H.X.ba.qd;olympe.H.X.ba.qd.prototype.oa=function(a,b,c){const d=mh(c,a.G,b);a=mh(c,a.L,b);return'{"y":10,"l":'+d+',"r":'+a+'}'};olympe.H.X.ba.qd.ka=[olympe.H.X.Wb];olympe.H.X.ba.ae=function(){};olympe.H.X.ba.ae.prototype.constructor=olympe.H.X.ba.ae;olympe.H.X.ba.ae.prototype.oa=function(a,b,c){const d=mh(c,a.G,b);a=mh(c,a.L,b);return'{"y":11,"l":'+d+',"r":'+a+'}'};olympe.H.X.ba.ae.ka=[olympe.H.X.Wb];olympe.H.X.ba.Pe=class{oa(a){const b=ig(a).map(d=>'"'+d+'"'),c=jg(a).map(d=>d===olympe.dc.Ka.DESTINATION?'2':'1');a=a.L;return'{"y":81,"r":['+b.toString()+'],"d":['+c.toString()+']'+(0!==a.length?',"t":"'+a.toString()+'"':'')+'}'}};olympe.H.X.ba.Pe.ka=[olympe.H.X.Wb];olympe.H.X.ba.Qe=class{oa(a){return'{"y":80,"m":['+Array.from(a.G).map(b=>'"'+b+'"').toString()+']}'}};olympe.H.X.ba.Qe.ka=[olympe.H.X.Wb];olympe.H.X.ba.qe=class{oa(a,b,c){return'{"y":30,"p":'+lh(c,a.G,b)+'}'}};olympe.H.X.ba.qe.ka=[olympe.H.X.Wb];olympe.H.X.ba.Ue=class{oa(a,b,c){c=mh(c,a.source,b);const d=a.L;a=nh(a.G,b);return'{"y":23,"s":'+c+',"r":"'+d+'","a":'+a+'}'}};olympe.H.X.ba.Ue.ka=[olympe.H.X.Wb];olympe.H.X.ba.he=function(){};olympe.H.X.ba.he.prototype.constructor=olympe.H.X.ba.he;olympe.H.X.ba.he.prototype.oa=function(a,b,c){var d=mh(c,a.G,b);a=mh(c,a.L,b);return'{"y":12,"l":'+d+',"r":'+a+'}'};olympe.H.X.ba.he.ka=[olympe.H.X.Wb];olympe.H.X.ga={};olympe.H.X.ga.Cc=function(){};olympe.H.X.ga.Cc.prototype.constructor=olympe.H.X.ga.Cc;olympe.H.X.ga.Cc.prototype.C=function(){};olympe.H.X.ga.Cc.prototype.oa=function(a,b,c){var d=nh(a.O,b),e=a.kd();e=e?',"b":'+nh(e,b):'';a=(a=a.jf())?',"q":'+eh(c,a,b):'';return'{"y":'+this.C()+',"t":'+d+e+a+'}'};olympe.H.X.ga.Cc.ka=[olympe.H.X.ve];olympe.H.X.ga.Yd=function(){olympe.H.X.ga.Cc.call(this)};olympe.H.X.ga.Yd.prototype=Object.create(olympe.H.X.ga.Cc.prototype);olympe.H.X.ga.Yd.prototype.constructor=olympe.H.X.ga.Yd;olympe.H.X.ga.Yd.prototype.C=function(){return 13};olympe.H.X.ga.Tc=function(){};olympe.H.X.ga.Tc.prototype.constructor=olympe.H.X.ga.Tc;olympe.H.X.ga.Tc.prototype.oa=function(a,b){return'{"y":10,"v":'+nh(a.value,b)+'}'};olympe.H.X.ga.Tc.ka=[olympe.H.X.ve];olympe.H.X.ga.Jd=function(){olympe.H.X.ga.Cc.call(this)};olympe.H.X.ga.Jd.prototype=Object.create(olympe.H.X.ga.Cc.prototype);olympe.H.X.ga.Jd.prototype.constructor=olympe.H.X.ga.Jd;olympe.H.X.ga.Jd.prototype.C=function(){return 14};olympe.H.X.ga.Od=function(){olympe.H.X.ga.Cc.call(this)};olympe.H.X.ga.Od.prototype=Object.create(olympe.H.X.ga.Cc.prototype);olympe.H.X.ga.Od.prototype.constructor=olympe.H.X.ga.Od;olympe.H.X.ga.Od.prototype.C=function(){return 11};olympe.H.X.ga.Rd=function(){olympe.H.X.ga.Cc.call(this)};olympe.H.X.ga.Rd.prototype=Object.create(olympe.H.X.ga.Cc.prototype);olympe.H.X.ga.Rd.prototype.constructor=olympe.H.X.ga.Rd;olympe.H.X.ga.Rd.prototype.C=function(){return 12};olympe.H.X.ga.We=class{oa(){return'{"y":19}'}};olympe.H.X.ga.We.ka=[olympe.H.X.ve];olympe.H.Hc={};function oh(a,b){a.N.info('Initializing SERVER layer');if(a.N.G()){const c=['Server layer parameters:'];b.forEach((d,e)=>{c.push(e+'="'+d+'"')});a.N.debug(c.join('\n\t'))}a.Ea(olympe.H.xc.wc,c=>{switch(c.c){case olympe.H.ra.Mt:a.N.error('Unknown message sent to the server:',olympe.H.qa.F[c.s]);break;case olympe.H.ra.xr:a.N.error('Fatal error, the last message is probably too big according to the websocket config.'),a.V.forEach((d,e)=>{ph(a,e,c.i)})}});b.get('autoConnect')&&(a.N.debug('Connecting automatically'),
904
+ a.connect());olympe.D.Uj(a.L.yb(),()=>{for(const c of a.xe.values())c();dc(a.Gi.bind(a),3E4,'checkTimeoutMessages')},()=>{for(const c of a.ud.values())c();ec('checkTimeoutMessages');a.Gi()});a.N.log('DONE initializing SERVER layer (waiting for NET layer connection to be opened)')}
905
+ function qh(a,b){if(a.C!==b)switch(a.N.log('State change '+a.C+' --\x3e '+b),a.C=b,b){case olympe.H.qa.C.CONNECTING:break;case olympe.H.qa.C.Wg:a.L.update(olympe.D.fa.F);olympe.D.Uj(a.xb.L().Qg(),a.Fi.bind(a,a.Ae/4));break;case olympe.H.qa.C.wc:a.N.error('Connection to server',a.xa.C(),'aborted due to error');a.L.update(olympe.D.fa.C);break;case olympe.H.qa.C.Ne:a.L.update(olympe.D.fa.C);a.Qc&&(a.N.info('Disconnected, will try to auto reconnect in',a.Ae,'ms'),bc(()=>{a.connect()},a.Ae));break;default:throw Error('State machine error in server manager. Should not get in state '+
906
+ b);}}
907
+ function rh(a,b){const c=olympe.H.qa.L.ci,d=olympe.H.qa.L.Ns;return e=>{if(null!==e&&void 0!==e){var f=null,g=e.s;if(g===d)a.N.debug(`Try to unsubscribe multiple times. This could be because you logged out before unsubscribe. ${e.info.error.reason}`);else if(void 0!==g&&g!==c){f=void 0!==olympe.H.qa.F[g]?`Status code = ${g} [${olympe.H.qa.F[g]}]`:`Status code = ${g}`;g=e.info;if(void 0!==g&&void 0!==g.error){var h=g.error.reason;'string'===typeof h&&0<h.length&&(f+=`\nReason:\n${g.error.reason}`);h=
908
+ g.error.detailedReason;'string'===typeof h&&0<h.length&&(f+=`\nDetails:\n${g.error.detailedReason}`)}f=Error('Rejected by orchestrator:\n'+f)}b(f,e)}}}
909
+ function sh(a){var b=JSON.parse(JSON.stringify(a));a=olympe.$.jq;const c=b.messageFamily,d=a(olympe.H.xc,c),e=b.payload;b='';switch(c){case olympe.H.xc.Xg:b=a(olympe.dc.ma.ra,e.c);break;case olympe.H.xc.wc:b=a(olympe.H.ra,e.c);break;case olympe.H.xc.Se:b=a(olympe.H.Sb.Qa.C,e.c);break;case olympe.H.xc.Sh:2===e.c&&(b=a(olympe.H.qa.G,e.status))}a=`${d} message`;b&&0<b.length&&(a+=` with payload "${b}"`);return a}
910
+ function ph(a,b,c){if(a.V.delete(b)){c={s:23,info:c};const d=a.ca.get(b);d&&d(c);a.ca.delete(b)}}function th(a,b){a.N.error(b);qh(a,olympe.H.qa.C.wc)}function uh(a,b,c){a.N.info('Connected to',a.xa.C(),' | ',b?'server version:'+b:'',null!==c?`activity timeout: ${c}s`:'');qh(a,olympe.H.qa.C.Wg);null===c||a.Xa||vh(a,c);a.gb.forEach(d=>{const e=JSON.stringify(d);a.N.debug('>',sh(d));a.F.send(e);d=d.seqId;a.ca.has(d)&&a.V.set(d,Date.now())});a.gb.length=0}
911
+ function vh(a,b){ec('keepAliveSubscription');const c=dc(()=>{a.O()?a.G(olympe.H.xc.Xg,{c:olympe.H.ra.Uh,subIds:Array.from(a.Zb)},(d,e)=>d&&a.N.error(e)):c.cancel()},1E3*b,'keepAliveSubscription')}
912
+ olympe.H.Hc.qa=class{constructor(a,b,c,d){this.N=a;this.xb=b;this.xa=c;this.F=null;this.Ib=d;this.Ae=this.Ib.get('reconnectionDelay');this.Qc=d.get('autoConnect');this.fx=d.get('retryHttpOverload');this.ja=olympe.$.$e.parse(d.get('clientVersion'));this.fb=olympe.$.$e.parse(d.get('serverVersion'));this.C=olympe.H.qa.C.INIT;this.Xa=d.get('getContextMode');this.Zj=1;this.ca=new Map;this.Pa=new Map;this.L=olympe.D.Ic(olympe.D.fa,'Server is online');this.xe=new Map;this.ud=new Map;this.gb=[];this.V=new Map;
913
+ this.Zb=new Set;this.na=0;this.ex=new Map;oh(this,d)}O(){return this.C===olympe.H.qa.C.Wg}connect(){this.Qc=!0;this.N.log('Asking NET layer for a connection to',fc(this.xa)+':'+this.xa.port,'...');this.F=this.xb.ca(this.xa);this.F.xa(this.Be.bind(this));this.F.na(this.Mg.bind(this));this.F.ja(()=>{this.F=null;this.C===olympe.H.qa.C.Wg&&2>this.na?(this.na++,setTimeout(()=>{this.connect()},100)):this.C!==olympe.H.qa.C.wc&&(this.na=0,qh(this,olympe.H.qa.C.Ne))});0===this.na&&qh(this,olympe.H.qa.C.CONNECTING)}Ng(){const a=
914
+ olympe.H.qa.C.CONNECTING;if(this.C===olympe.H.qa.C.Wg||this.C===a)this.Qc=!1,qh(this,olympe.H.qa.C.Ne)}ke(a,b){void 0===b&&(b=olympe.$.Rb());this.xe.set(b,a);olympe.D.Ta(this.L)===olympe.D.fa.F&&a()}fd(a){this.xe.delete(a)}Sd(a,b){void 0===b&&(b=olympe.$.Rb());this.ud.set(b,a);olympe.D.Ta(this.L)===olympe.D.fa.C&&a()}zd(a){this.ud.delete(a)}Be(){this.na=0;this.N.debug('Websocket connected, sending handshake. Client version:',Ga(this.ja),'subscribeEverything:',this.Xa?'NO':'YES');this.G(olympe.H.xc.Sh,
915
+ {c:olympe.H.ra.Sh,cv:Ga(this.ja),m:this.Xa?0:1},this.$w.bind(this))}G(a,b,c){const d=this.Zj;this.Zj++;b={seqId:d,messageFamily:a,payload:b};void 0!==c&&this.ca.set(d,rh(this,c));this.O()||a===olympe.H.xc.Sh&&this.C===olympe.H.qa.C.CONNECTING?(a=JSON.stringify(b),this.N.debug('>',sh(b)),this.F.send(a),void 0!==c&&this.V.set(d,Date.now())):this.gb.push(b)}Rf(a,b,c,d,e,f){c&&''!==c||this.N.warn('Trying to send an http request with an invalid authorizationToken');const g=ic(a);if(e){g.method=olympe.Ca.Vb.Yh.kl;
916
+ e=d?e:{messageFamily:b,seqId:1,payload:e};const k=JSON.stringify(e);g.body=k;jc(g,{'Content-Type':'application/json'});this.N.log('HTTP POST >',sh(e))}else this.N.log('HTTP GET call to',a);g.F=olympe.Ca.Vb.ResponseType.Dj;jc(g,{Authorization:c});const h=()=>{this.xb.Ge(g,k=>{switch(k.status){case olympe.Ca.Vb.Ve.fl:case olympe.Ca.Vb.Ve.Qm:case olympe.Ca.Vb.Ve.Si:k=k.data;if(b!==olympe.H.xc.Xg||d){f&&f(null,k);break}k=this.Mg(k);f&&f(k);k&&this.N.error(k.message);break;case olympe.Ca.Vb.Ve.st:bc(h,
917
+ this.fx);break;case olympe.Ca.Vb.Ve.$q:this.N.debug(`HTTP request canceled (${a}).`);f&&f(null);break;default:k=Error(`Server is currently not available, http status: ${k.status}`),f&&f(k)}})};h()}Ea(a,b,c){void 0===c&&(c=olympe.$.Rb());let d=this.Pa.get(a);void 0===d&&(d=new Map,this.Pa.set(a,d));d.set(c,b)}Ei(a,b){a=this.Pa.get(a);void 0!==a&&a.delete(b)}yq(a){this.Zb.add(a)}Aq(a){this.Zb.delete(a)}$w(a,b){if(a)th(this,'Error in receiving handshake response: '+a.message);else{this.N.debug('Handshake response received');
918
+ var c=olympe.H.qa.G;a=b.sv||'undefined';var d=b.activityTimeout?Math.max(b.activityTimeout-60,5):null;switch(b.status){case c.Rr:th(this,`Framework version (${Ga(this.ja)}) provided to the orchestrator was not valid. See orchestrator logs for more info.`);return;case c.Ft:th(this,`Framework version (${Ga(this.ja)}) is not compatible with the orchestrator in use. See orchestrator logs for more info.`);return;case c.Cr:th(this,'Handshake failed. See orchestrator logs for more info.');return}if(this.fb.Jb(olympe.$.$e.C))this.N.warn('Handshake successful but received server version',
919
+ a,'is invalid. Cannot check against it');else try{const f=olympe.$.$e.parse(a);var e=this.fb;if(f.C!==e.C?f.C<e.C:f.F!==e.F?f.F<e.F:f.G<e.G){th(this,`Framework v${Ga(this.ja)} is expecting Orchestrator to be at least in v${Ga(this.fb)}`);return}this.N.log('Handshake successful. Orchestrator version: ',f,'required:',Ga(this.fb))}catch(f){th(this,f);return}if(b=b.identityProviders)for(const [f,g]of Object.entries(b))this.ex.set(f,g);uh(this,a,d)}}Fi(a){if(this.C===olympe.H.qa.C.Wg){var b=olympe.D.Ja(),
920
+ c='onConnectionLost'+olympe.$.Rb();this.N.debug('Sending Ping');this.G(olympe.H.xc.fr,{c:1},()=>{cc(c);b.Kb()||b.run(()=>{bc(this.Fi.bind(this,a),4*a,c)})});bc(()=>{this.N.debug('Force close websocket after offline for',a);olympe.D.Vf().run(()=>{this.C!==olympe.H.qa.C.Ne&&(this.F&&this.F.close(),qh(this,olympe.H.qa.C.Ne))})},a,c)}}Mg(a){try{var b=JSON.parse(a)}catch(d){return this.N.error('Unable to parse response from server: '+d.toString()),Error('Unable to parse response from server')}this.N.debug('<',
921
+ sh(b));a=b.seqId;const c=b.messageFamily;b=b.payload;if(this.V.delete(a)){const d=this.ca.get(a);d&&d(b);this.ca.delete(a)}a=this.Pa.get(c);if(void 0!==a)for(const d of a.values())d(b);return null}Gi(){const a=Date.now();for(const [b,c]of this.V)3E4<a-c&&(this.N.warn(`No response was received from the server for the seqId = ${b}`),ph(this,b,{error:{reason:'Message timeout: never receive acknowledge'}}))}};olympe.H.Hc.qa.F=1E3;olympe.H.Hc.qa.G=3E4;olympe.H.Hc.qa.C='checkTimeoutMessages';
922
+ olympe.H.qa.L={ci:0,Ns:18,$y:23};
923
+ olympe.H.qa.F={0:'OK',1:'SRP Authentication First Step Failed',2:'SRP Authentication Last Step Failed',3:'SRP Authentication Bad Credentials',4:'AutoLogin Authentication Failed',5:'AutoLogin Authentication Token Invalid',6:'Logout Failed',7:'SAML Request Generation Failed',8:'SAML Authentication Save Failed',9:'Invalid SAML Response',10:'SAML User Not Found',11:'Transaction Failed',12:'GetContext Failed',13:'Notification Failed',15:'FileService Clean Failed',17:'Try to subscribe multiple times',18:'Try to unsubscribe multiple times',
924
+ 21:'GraphDef Query Failed',22:'Client Request Invalid',23:'Internal Server Error',24:'File Retrieval Error',25:'File Does Not Exists',26:'Restore Failed',27:'Permission Error',14:'Handshake Failed',28:'Client Version Too Old',29:'Client Version Invalid Format',34:'Server overloaded, retry later',35:'Add token error',36:'Keep token alive error',37:'Unknown client message',39:'Fetch data while concurrency transaction'};olympe.H.Hc.qa.ka=[olympe.H.qa];olympe.H.T={ta:'server.Manager',Im:'server.bus.Manager',Ha:'server.Logger',oh:'server.SourceFactory',un:'server.FileSvcHttpRequest',Rk:'server.ImportFileSvcHttpRequest',lk:'server.BackupSvcHttpRequest',Fo:'server.OpenIDSvcHttpRequest',Cn:'server.GetContextSvcPathRequest',Sn:'server.ImplicitGDSvcPathRequest',nn:'server.ExplicitGDSvcPathRequest',qp:'server.TransactionOverHttpPathRequest',wp:'server.UserTokenRequest',dh:'server.IOUrlsProvider'};olympe.H.ad={Ih:'server.connectors.Auth',Iz:'server.connectors.Signaling'};
925
+ olympe.H.Z={Md:'server.host',fe:'server.port',Qd:'server.ssl',wm:'server.autoConnect',Ro:'server.reconnectionDelay',So:'server.reconnectionShortDelay',Wo:'server.retryHttpOnOverload',Om:'server.clientVersion',ap:'server.serverVersion',Hm:'bus.host',Jm:'bus.path',Km:'bus.port',Lm:'bus.vhost',Uh:'bus.keepalive',lt:'bus.reschedulePings',dr:'bus.clientId',br:'bus.clean',ht:'bus.reconnectPeriod',gr:'bus.connectTimeout',up:'bus.username',Ho:'bus.password',at:'bus.queueQoSZero'};
926
+ olympe.H.Bb={Xd:'server.basePath',Ap:'server.wsPath',sn:'server.filePath',Un:'server.importFilePath',Dm:'server.backupSvcPath',Eo:'server.openIDSvcPath',Bn:'server.GetContextSvcPath',Tn:'server.ImplicitGraphdefSvcPath',pn:'server.ExplicitGraphdefSvcPath',pp:'server.TransactionOverHttpPath',vp:'server.userTokenSvcPath'};
927
+ olympe.U.Ib(function(a){var b='object'===typeof window&&window.location&&window.location.hostname||'localhost';const c='localhost'===b;D(a,olympe.H.Z.Md,b);D(a,olympe.H.Z.fe,c?8080:443);D(a,olympe.H.Z.Qd,'localhost'!==b);D(a,olympe.H.Bb.Xd,'OlympeServer');D(a,olympe.H.Bb.Ap,'websocket');D(a,olympe.H.Bb.sn,'rest/filesvc');D(a,olympe.H.Bb.Un,'rest/importsvc');D(a,olympe.H.Bb.Dm,'rest/backupsvc');D(a,olympe.H.Bb.Eo,'rest/openid');D(a,olympe.H.Bb.Bn,'rest/initialData');D(a,olympe.H.Bb.Tn,'rest/querysvc/graphDefImplicit');
928
+ D(a,olympe.H.Bb.pn,'rest/querysvc/graphDefExplicit');D(a,olympe.H.Bb.pp,'rest/transaction');D(a,olympe.H.Bb.vp,'rest/token');D(a,olympe.H.Z.wm,!0);D(a,olympe.H.Z.Ro,5E3);D(a,olympe.H.Z.So,500);D(a,olympe.H.Z.Wo,5E3);D(a,olympe.H.Z.ap,'5.9.7');D(a,olympe.H.Z.Hm,'');D(a,olympe.H.Z.Jm,c?'':'/mqtt');D(a,olympe.H.Z.Km,c?15675:443);D(a,olympe.H.Z.Lm,c?'/':'');D(a,olympe.H.Z.up,'guest');D(a,olympe.H.Z.Ho,'guest');b=a.getParameter(olympe.ag.Z.xn);if(void 0!==b)sa(a,b);else throw Error('Framework version could not be found! Is field "olympe-framework" present in version.json?');
929
+ B(a,olympe.H.T.Ha,[olympe.ua.T.ta],d=>d.Gc('communication'));B(a,'server.WebSocketRequest',[new olympe.U.ha(olympe.H.Z.Md),new olympe.U.ha(olympe.H.Z.fe),new olympe.U.ha(olympe.H.Z.Qd),new olympe.U.ha(olympe.H.Bb.Xd),new olympe.U.ha(olympe.H.Bb.Ap)],(d,e,f,g,h)=>new olympe.Ca.Ij(d,e,(g+'/'+h).replace(/\/+/g,'/').replace(/\/$/,''),f));b=(d,e,f,g,h)=>(new olympe.Ca.Pk(d,e,(g+'/'+h).replace(/\/+/g,'/').replace(/\/$/,''),f)).C();B(a,olympe.H.T.un,[new olympe.U.ha(olympe.H.Z.Md),new olympe.U.ha(olympe.H.Z.fe),
930
+ new olympe.U.ha(olympe.H.Z.Qd),new olympe.U.ha(olympe.H.Bb.Xd),new olympe.U.ha(olympe.H.Bb.sn)],b);B(a,olympe.H.T.Rk,[new olympe.U.ha(olympe.H.Z.Md),new olympe.U.ha(olympe.H.Z.fe),new olympe.U.ha(olympe.H.Z.Qd),new olympe.U.ha(olympe.H.Bb.Xd),new olympe.U.ha(olympe.H.Bb.Un)],b);B(a,olympe.H.T.lk,[new olympe.U.ha(olympe.H.Z.Md),new olympe.U.ha(olympe.H.Z.fe),new olympe.U.ha(olympe.H.Z.Qd),new olympe.U.ha(olympe.H.Bb.Xd),new olympe.U.ha(olympe.H.Bb.Dm)],b);B(a,olympe.H.T.Fo,[new olympe.U.ha(olympe.H.Z.Md),
931
+ new olympe.U.ha(olympe.H.Z.fe),new olympe.U.ha(olympe.H.Z.Qd),new olympe.U.ha(olympe.H.Bb.Xd),new olympe.U.ha(olympe.H.Bb.Eo)],b);B(a,olympe.H.T.Cn,[new olympe.U.ha(olympe.H.Z.Md),new olympe.U.ha(olympe.H.Z.fe),new olympe.U.ha(olympe.H.Z.Qd),new olympe.U.ha(olympe.H.Bb.Xd),new olympe.U.ha(olympe.H.Bb.Bn)],b);B(a,olympe.H.T.Sn,[new olympe.U.ha(olympe.H.Z.Md),new olympe.U.ha(olympe.H.Z.fe),new olympe.U.ha(olympe.H.Z.Qd),new olympe.U.ha(olympe.H.Bb.Xd),new olympe.U.ha(olympe.H.Bb.Tn)],b);B(a,olympe.H.T.nn,
932
+ [new olympe.U.ha(olympe.H.Z.Md),new olympe.U.ha(olympe.H.Z.fe),new olympe.U.ha(olympe.H.Z.Qd),new olympe.U.ha(olympe.H.Bb.Xd),new olympe.U.ha(olympe.H.Bb.pn)],b);B(a,olympe.H.T.qp,[new olympe.U.ha(olympe.H.Z.Md),new olympe.U.ha(olympe.H.Z.fe),new olympe.U.ha(olympe.H.Z.Qd),new olympe.U.ha(olympe.H.Bb.Xd),new olympe.U.ha(olympe.H.Bb.pp)],b);B(a,olympe.H.T.wp,[new olympe.U.ha(olympe.H.Z.Md),new olympe.U.ha(olympe.H.Z.fe),new olympe.U.ha(olympe.H.Z.Qd),new olympe.U.ha(olympe.H.Bb.Xd),new olympe.U.ha(olympe.H.Bb.vp)],
933
+ b);B(a,'server.ManagerConfig',[new olympe.U.ha(olympe.H.Z.wm),new olympe.U.ha(olympe.H.Z.Ro),new olympe.U.ha(olympe.H.Z.So),new olympe.U.ha(olympe.H.Z.Om),new olympe.U.ha(olympe.H.Z.ap),new olympe.U.ha(olympe.dc.Z.xg),new olympe.U.ha(olympe.H.Z.Wo)],(...d)=>{const e='autoConnect reconnectionDelay reconnectionShortDelay clientVersion serverVersion getContextMode retryHttpOverload'.split(' '),f=new Map;d.forEach((g,h)=>f.set(e[h],g));return f});B(a,'server.bus.ManagerConfig',[new olympe.U.ha(olympe.H.Z.Md),
934
+ new olympe.U.ha(olympe.H.Z.Hm),new olympe.U.ha(olympe.H.Z.Jm),new olympe.U.ha(olympe.H.Z.Km),new olympe.U.ha(olympe.H.Z.Lm),new olympe.U.ha(olympe.H.Z.up),new olympe.U.ha(olympe.H.Z.Qd),new olympe.U.ha(olympe.H.Z.Uh),new olympe.U.ha(olympe.H.Z.lt),new olympe.U.ha(olympe.H.Z.dr),new olympe.U.ha(olympe.H.Z.br),new olympe.U.ha(olympe.H.Z.ht),new olympe.U.ha(olympe.H.Z.gr),new olympe.U.ha(olympe.H.Z.Ho),new olympe.U.ha(olympe.H.Z.at)],(d,e,f,g,h,k,m,...n)=>{e=`${m?'wss://':'ws://'}${e||d}:${g}${f}/ws`;
935
+ const p='keepalive reschedulePings clientId clean reconnectPeriod connectTimeout password queueQoSZero'.split(' ');n=n.reduce((q,r,t)=>{q[p[t]]=r;return q},{});n.username=`${h||d.split('.')[0]}:${k}`;d=new Map;d.set('url',e);d.set('connectionOptions',n);return d});y(a,olympe.H.T.ta,olympe.H.Hc.qa,olympe.H.T.Ha,olympe.Ca.T.ta,'server.WebSocketRequest','server.ManagerConfig');y(a,olympe.H.ad.Ih,olympe.H.Sb.Qa,olympe.H.T.Ha,olympe.H.T.ta,olympe.H.T.wp,olympe.H.T.Fo,olympe.aa.T.wj,olympe.Ub.T.lj);y(a,
936
+ olympe.H.T.Im,olympe.H.Ga.qa,olympe.H.T.Ha,olympe.Ca.T.ta,olympe.aa.T.ta,'server.bus.ManagerConfig');qa(a,olympe.aa.ad.ta,olympe.H.ad.Ih);qa(a,olympe.aa.ad.jo,olympe.H.ad.Ih);qa(a,olympe.aa.ad.ge,olympe.H.ad.Ih);qa(a,olympe.aa.ad.te,olympe.H.ad.Ih);B(a,olympe.H.T.oh,[olympe.ua.T.ta,olympe.H.T.ta,olympe.Ca.T.ta,olympe.aa.T.ta,olympe.H.T.un,olympe.H.T.Rk,olympe.H.T.lk,olympe.H.T.Cn,olympe.H.T.Sn,olympe.H.T.nn,olympe.H.T.qp],(d,e,f,g,h,k,m,n,p,q,r)=>new olympe.H.Bj(d.Gc('server.source'),e,f,g,[h,k,m,
937
+ n,p,q,r]));y(a,olympe.H.T.dh,olympe.H.hj,olympe.H.T.Rk,olympe.H.T.lk);qa(a,olympe.dc.Y.T.dh,olympe.H.T.dh);qa(a,olympe.Ya.T.oh,olympe.H.T.oh)},'olympe.communication');olympe.U.run([olympe.H.T.Im],a=>{olympe.H.Ga.lc=()=>a});olympe.nc={};olympe.nc.Tq=class{run(){}};olympe.nc.qa=class{constructor(a,b){this.C=a;this.N=b;this.F=null;this.G='';this.N.info('HC Manager will execute application registered as:',this.C)}Ni(a,b,c=''){b||(b='default');b===this.C?(null===this.F?this.N.log('Application',c,'designated to be launched'):this.N.log('OVERRIDE: Application',c,'designated to be launched'),this.F=a,this.G=c):this.N.debug('ignoring application:'+c+' as it is registered under name '+b+' and not '+this.C)}run(){null!==this.F?(this.N.info('Running application:',this.G),
938
+ this.F.run()):this.N.error('No app registered under name: '+this.C)}};olympe.nc.Ni=function(a,b,c){const d=a.rb();c?d.debug('Pre-registering application '+b+' under name '+c+' (use '+olympe.nc.Z.Le+'='+c+' to start it)'):d.debug('Pre-registering application '+b+' as default one');a.Bd(olympe.nc.T.ta).Ib([b],function(e,f){f.Ni(e,c,b)},'olympe.hc.registerApp')};olympe.nc.T={ta:'hc.Manager',Ha:'hc.Logger'};olympe.nc.Z={Le:'hc.app',Ik:'hc.globalToken'};olympe.U.Ib(function(a){D(a,olympe.nc.Z.Le,'default');D(a,olympe.nc.Z.Ik,!1);B(a,olympe.nc.T.Ha,[olympe.ua.T.ta],b=>b.Gc('hc'));B(a,olympe.aa.T.Ti,[new olympe.U.ha(olympe.nc.Z.Le),new olympe.U.ha(olympe.nc.Z.Ik)],(b,c)=>new olympe.aa.jk(c?'':b));y(a,olympe.nc.T.ta,olympe.nc.qa,new olympe.U.ha(olympe.nc.Z.Le),olympe.nc.T.Ha)},'olympe.hc');olympe.U.run([olympe.nc.T.ta],a=>a.run(),'olympe.hc');olympe.dm={};olympe.dm.ub=class extends olympe.dc.Sync{na(){return this.Wa(olympe.dm.ub.L,olympe.dm.Ia)}};olympe.dm.ub.P=olympe.dc.wa.C('ff021000000000000007',olympe.dm.ub);olympe.dm.ub.L=olympe.dm.ub.P.Ma('ff022000000000000010');olympe.dm.ub.C=olympe.dm.ub.P.Ma('ff02200000000000000u');olympe.dm.ub.Fi=P(olympe.dm.ub.P,olympe.dc.Sync.F);olympe.dm.ub.Ng=P(olympe.dm.ub.P,olympe.dm.ub.C);olympe.dm.ub.xe=M('00000000000000000GOO','MODELS_GOO');olympe.dm.ub.Zb=M('10000000000000000GOO','DEFAULT_GOO');
939
+ olympe.dm.ub.Ae=M('12000000000000000GOO','PERMISSIONS_GOO');olympe.dm.ub.prototype.na.K=new olympe.D.J(()=>olympe.dc.pa,[]);olympe.dm.Ia=class extends olympe.dc.Sync{constructor(a,b){super(a,b)}Wf(){return this.Td(olympe.dm.Ia.G)}ou(){return olympe.D.ya([this.Wf()],a=>parseInt(a,10)&olympe.dm.Ia.L.ql?olympe.D.fa.F:olympe.D.fa.C,olympe.D.fa)}lu(){return olympe.D.ya([this.Wf()],a=>parseInt(a,10)&olympe.dm.Ia.L.hr?olympe.D.fa.F:olympe.D.fa.C,olympe.D.fa)}pu(){return olympe.D.ya([this.Wf()],a=>parseInt(a,10)&olympe.dm.Ia.L.Ot?olympe.D.fa.F:olympe.D.fa.C,olympe.D.fa)}mu(){return olympe.D.ya([this.Wf()],a=>parseInt(a,10)&olympe.dm.Ia.L.DELETE?
940
+ olympe.D.fa.F:olympe.D.fa.C,olympe.D.fa)}nu(){return olympe.D.ya([this.Wf()],a=>parseInt(a,10)&olympe.dm.Ia.L.ys?olympe.D.fa.F:olympe.D.fa.C,olympe.D.fa)}js(){return this.Wa(olympe.dm.Ia.O,olympe.dm.Hb)}iq(){return this.Wa(olympe.dm.Ia.F,olympe.dm.ub)}};olympe.dm.Ia.P=olympe.dc.wa.C('ff021000000000000008',olympe.dm.Ia);olympe.dm.Ia.G=olympe.dm.Ia.P.Ba('ff023000000000000021');olympe.dm.Ia.O=olympe.dm.Ia.P.Ma('ff022000000000000007');olympe.dm.Ia.F=P(olympe.dm.Ia.P,olympe.dm.ub.L);
941
+ olympe.dm.Ia.ca=M('00000000000000000OPS','GUEST_ROLE_DEFAULT_OPERATION');olympe.dm.Ia.V=M('13000000000000000OPS','AUTHENTICATED_ROLE_DEFAULT_OPERATION');olympe.dm.Ia.C={NONE:0,ql:1,vj:3,READ_WRITE:5,Qo:9,dt:7,Dz:15,ug:17,ct:19,gt:21,ft:25,et:23,Ez:29,yn:31};olympe.dm.Ia.L={ql:1,hr:2,Ot:4,DELETE:8,ys:16};l=olympe.dm.Ia.prototype;l.Wf.K=olympe.D.J.G;l.ou.K=olympe.D.J.O;l.lu.K=olympe.D.J.O;l.pu.K=olympe.D.J.O;l.mu.K=olympe.D.J.O;l.nu.K=olympe.D.J.O;l.js.K=new olympe.D.J(()=>olympe.dc.pa,[]);olympe.dm.Hb=class extends olympe.dc.Sync{constructor(a,b){super(a,b)}ia(){return this.wb(olympe.dc.Sync.nameProp)}ks(){return olympe.D.Oa.EMPTY}rw(){return olympe.D.fa.C}fw(){return this.Wa(olympe.dm.Hb.C,olympe.dm.User)}Vu(){return this.Wa(olympe.dm.Hb.V,olympe.dm.Hb)}Kv(){return this.Wa(olympe.dm.Hb.L,olympe.dm.Hb)}ls(){return this.Wa(olympe.dm.Hb.G,olympe.dm.Ia)}};olympe.dm.Hb.P=olympe.dc.wa.C('ff021000000000000002',olympe.dm.Hb);olympe.dm.Hb.na=olympe.dm.Hb.P.Ba('ff023000000000000035');
942
+ olympe.dm.Hb.C=olympe.dm.Hb.P.Ma('ff022000000000000005');olympe.dm.Hb.L=olympe.dm.Hb.P.Ma('ff022000000000000006');olympe.dm.Hb.V=P(olympe.dm.Hb.P,olympe.dm.Hb.L);olympe.dm.Hb.G=P(olympe.dm.Hb.P,olympe.dm.Ia.O);olympe.dm.Hb.O=M('ff011000000000000001','AUTHENTICATED_USERS');olympe.dm.Hb.ca=M('ff011000000000000002','GUEST_USERS_ROLE');l=olympe.dm.Hb.prototype;l.ia.K=olympe.D.J.F;l.ks.K=olympe.D.J.F;l.rw.K=olympe.D.J.O;l.fw.K=new olympe.D.J(()=>olympe.dc.pa,[]);
943
+ l.Vu.K=new olympe.D.J(()=>olympe.dc.pa,[]);l.Kv.K=new olympe.D.J(()=>olympe.dc.pa,[]);l.ls.K=new olympe.D.J(()=>olympe.dc.pa,[]);olympe.dm.User=class extends olympe.dc.Sync{constructor(a,b){super(a,b)}ov(){return this.Zl()}ia(){return this.Zl()}Zl(){return this.wb(olympe.dm.User.loginProp)}ns(){return this.wb(olympe.dm.User.G)}ms(){return olympe.D.Oa.EMPTY}Xv(){return this.wb(olympe.dm.User.saltProp)}hw(){return this.wb(olympe.dm.User.verifierProp)}os(){return this.Wa(olympe.dm.User.C,olympe.dm.Hb)}};olympe.dm.User.P=olympe.dc.wa.C('ff021000000000000003',olympe.dm.User);olympe.dm.User.loginProp=olympe.dm.User.P.Ba('ff023000000000000001');
944
+ w('olympe.dm.User.loginProp',olympe.dm.User.loginProp);olympe.dm.User.G=olympe.dm.User.P.Ba('ff023000000000000002');olympe.dm.User.saltProp=olympe.dm.User.P.Ba('ff023000000000000004');w('olympe.dm.User.saltProp',olympe.dm.User.saltProp);olympe.dm.User.verifierProp=olympe.dm.User.P.Ba('ff023000000000000005');w('olympe.dm.User.verifierProp',olympe.dm.User.verifierProp);olympe.dm.User.O=olympe.dm.User.P.Ba('ff023000000000000020');olympe.dm.User.SAMLnameIdProp=olympe.dm.User.P.Ba('ff023000000000000036');
945
+ w('olympe.dm.User.SAMLnameIdProp',olympe.dm.User.SAMLnameIdProp);olympe.dm.User.C=P(olympe.dm.User.P,olympe.dm.Hb.C);olympe.dm.User.L=M('0163d9653067b6237f62','GUEST_USER');l=olympe.dm.User.prototype;l.ov.K=olympe.D.J.F;l.ia.K=olympe.D.J.F;l.Zl.K=olympe.D.J.F;l.ns.K=olympe.D.J.F;l.ms.K=olympe.D.J.F;l.Xv.K=olympe.D.J.F;l.hw.K=olympe.D.J.F;l.os.K=new olympe.D.J(()=>olympe.dc.pa,[]);olympe.dm.$d=class extends olympe.dm.ub{O(){return this.Vl()}Pa(){return this.wb(olympe.dm.$d.gb)}};olympe.dm.$d.P=olympe.dc.wa.C('01621fb84e3300000000',olympe.dm.$d);olympe.dm.$d.gb=olympe.dm.$d.P.Ba('01609de3f292e3c2c6ff');olympe.dm.$d.prototype.O.K=new olympe.D.J(()=>olympe.dc.pa,[]);olympe.dm.$d.prototype.Pa.K=olympe.D.J.F;olympe.dm.BrickMetadata=class extends olympe.dm.$d{fb(){return this.wb(olympe.dm.BrickMetadata.xb)}xa(){return this.wb(olympe.dm.BrickMetadata.Qc)}C(){return null}};olympe.dm.BrickMetadata.P=Lc(olympe.dc.wa.C('01621fb84e3500000000',olympe.dm.BrickMetadata));olympe.dm.BrickMetadata.xb=olympe.dm.BrickMetadata.P.Ba('01621fb84e320000f001');olympe.dm.BrickMetadata.Qc=olympe.dm.BrickMetadata.P.Ba('01703376c4a81c0e9d94');olympe.dm.BrickMetadata.Ei=olympe.dm.BrickMetadata.P.Ma('0161ae97622bb21f335b');
946
+ olympe.dm.BrickMetadata.fd={wz:'private',Zs:'public'};olympe.dm.BrickMetadata.ke=M('01703376c4a81c0e9d95','BRICK_STATUS');olympe.dm.BrickMetadata.Ve={oy:'experimental',Jz:'stable',gy:'deprecated'};olympe.dm.BrickMetadata.prototype.fb.K=olympe.D.J.F;olympe.dm.BrickMetadata.prototype.xa.K=olympe.D.J.F;olympe.dm.BrickMetadata.prototype.C.K=new olympe.D.J(()=>String,[]);olympe.dm.Ob=class extends olympe.dm.BrickMetadata{L(){return new olympe.dc.pa(this.R(),[new olympe.dc.W.Xb(olympe.dm.Ob.O.R(),olympe.dc.Ka.DESTINATION,olympe.dc.W.zj.Vn,olympe.dc.W.zj.Mr),olympe.dm.Ob.G])}C(){return null}ca(){return this.Wa(olympe.dm.Ob.O,olympe.dm.Ob)}V(){return this.Wa(olympe.dm.Ob.G)}};olympe.dm.Ob.P=olympe.dc.wa.C('01612df1db9749227626',olympe.dm.Ob);olympe.dm.Ob.O=olympe.dm.Ob.P.Ma('016a697ef00ce7554691');olympe.dm.Ob.na=P(olympe.dm.Ob.P,olympe.dm.Ob.O);olympe.dm.Ob.G=olympe.dm.Ob.P.Ma('016a697ef00ce7554692');
947
+ P(olympe.dc.Sync.P,olympe.dm.Ob.G);olympe.dm.Ob.prototype.L.K=new olympe.D.J(()=>olympe.dc.pa,[]);olympe.dm.Ob.prototype.ca.K=new olympe.D.J(()=>olympe.dc.pa,[]);olympe.dm.Ob.prototype.V.K=new olympe.D.J(()=>olympe.dc.pa,[]);olympe.dm.Module=class extends olympe.dc.Sync{mv(){return this.wb(olympe.dm.Module.V)}Cv(){return this.Td(olympe.dm.Module.ca)}ps(){return this.wb(olympe.dm.Module.G)}Jv(){return this.wb(olympe.dm.Module.na)}Xu(){return this.wb(olympe.dm.Module.L)}Dv(){return this.Wa(olympe.dm.Module.O,olympe.dm.Module)}Yv(){return this.Wa(olympe.dm.Module.C,olympe.dm.rd)}};olympe.dm.Module.P=olympe.dc.wa.C('ff021000000000000040',olympe.dm.Module);olympe.dm.Module.V=olympe.dm.Module.P.Ba('ff023000000000000042');
948
+ olympe.dm.Module.ca=olympe.dm.Module.P.Ba('ff023000000000000043');olympe.dm.Module.G=olympe.dm.Module.P.Ba('ff023000000000000044');olympe.dm.Module.na=olympe.dm.Module.P.Ba('ff023000000000000045');olympe.dm.Module.L=olympe.dm.Module.P.Ba('ff023000000000000046');olympe.dm.Module.creationDateProp=olympe.dm.Module.P.Ba('ff023000000000000049');olympe.dm.Module.C=olympe.dm.Module.P.Ma('ff022000000000000013');olympe.dm.Module.O=olympe.dm.Module.P.Ma('ff022000000000000014');
949
+ olympe.dm.Module.Pa=M('016a69b9bceabd815b77','OLYMPE_SERVER_MODULE');l=olympe.dm.Module.prototype;l.mv.K=olympe.D.J.F;l.Cv.K=olympe.D.J.G;l.ps.K=olympe.D.J.F;l.Jv.K=olympe.D.J.F;l.Xu.K=olympe.D.J.F;l.Dv.K=new olympe.D.J(()=>olympe.dc.pa,[]);l.Yv.K=new olympe.D.J(()=>olympe.dc.pa,[]);olympe.dm.File=class extends olympe.dc.Sync{static le(a,b,c,d,e,f){e=e||'application/data';d=olympe.$.xh().L(new Blob([d],{type:e}));return olympe.dm.File.Wp(a,b,c,d,e,f)}static Wp(a,b,c,d,e,f){a=b.create(a,f);b=olympe.D.ab.now();a.setProperty(olympe.dm.File.nameProp,c||'file').setProperty(olympe.dc.Sync.nameProp,c||'file').setProperty(olympe.dm.File.urlProp,d).setProperty(olympe.dm.File.creationDateProp,b).setProperty(olympe.dm.File.modificationDateProp,b).setProperty(olympe.dm.File.mimeTypeProp,
950
+ e||'application/data').setProperty(olympe.dm.File.C,!1);return a.R()}constructor(a,b,c,d,e){super(a,b);this.F=c;this.G=d;this.C=e}$l(){return this.wb(olympe.dm.File.mimeTypeProp)}Oj(a,b){const c=olympe.D.Ja().vb(a),d=b&&olympe.D.Ja().vb(b);(a=this.db.Gb(this,olympe.dm.File.urlProp,!0))&&a.startsWith('blob:')?this.C.F(a,e=>{this.C.G(e,c)},d):yc(this.F,this,e=>{this.C.G(e,c)},e=>{d&&d(e)})}Ul(a,b){this.Oj(c=>{a(Ca(c))},b)}Pj(a,b){const c=olympe.D.Ja().vb(a);b=b&&olympe.D.Ja().vb(b);const d=this.db.Gb(this,
951
+ olympe.dm.File.C),e=this.db.Gb(this,olympe.dm.File.urlProp),f=g=>{const h=this.db.Gb(this,olympe.dm.File.mimeTypeProp);this.C.G(g,k=>{c(`data:${h};base64,${this.C.C(k)}`)})};d&&d.valueOf()?yc(this.F,this,f.bind(this),b):e&&e.startsWith('blob:')?this.C.F(e,f.bind(this),b):a(e)}Gq(a,b){const c=b&&olympe.D.Ja().vb(b);olympe.D.Eq([a],d=>{const e=new olympe.dc.lb;e.update(this,olympe.dc.Sync.nameProp,d);e.update(this,olympe.dm.File.nameProp,d);e.wd(f=>{c&&c(f)})})}jx(){this.G.G(this.db.Gb(this,olympe.dm.File.mimeTypeProp))}Vk(){return this.wb(olympe.dm.File.urlProp)}co(){return this.wb(olympe.dm.File.nameProp)}$u(){return this.Ai(olympe.dm.File.creationDateProp)}Bv(){return this.Ai(olympe.dm.File.modificationDateProp)}rq(){return this.Ig(olympe.dm.File.C)}};
952
+ olympe.dm.File.prototype.saveAs=olympe.dm.File.prototype.jx;olympe.dm.File.prototype.getContentUrl=olympe.dm.File.prototype.Pj;olympe.dm.File.prototype.getContentAsString=olympe.dm.File.prototype.Ul;olympe.dm.File.prototype.getContentAsBinary=olympe.dm.File.prototype.Oj;olympe.dm.File.createFileFromURL=olympe.dm.File.Wp;olympe.dm.File.createFile=olympe.dm.File.le;olympe.dm.File.P=olympe.dc.wa.C('ff021000000000000030',olympe.dm.File,olympe.dc.T.Mh,olympe.Ca.T.ta,olympe.$.T.Tg);
953
+ olympe.dm.File.nameProp=olympe.dm.File.P.Ba('ff023000000000000050');w('olympe.dm.File.nameProp',olympe.dm.File.nameProp);olympe.dm.File.creationDateProp=olympe.dm.File.P.Ba('ff023000000000000051');w('olympe.dm.File.creationDateProp',olympe.dm.File.creationDateProp);olympe.dm.File.modificationDateProp=olympe.dm.File.P.Ba('ff023000000000000055');w('olympe.dm.File.modificationDateProp',olympe.dm.File.modificationDateProp);olympe.dm.File.mimeTypeProp=olympe.dm.File.P.Ba('ff023000000000000052');
954
+ w('olympe.dm.File.mimeTypeProp',olympe.dm.File.mimeTypeProp);olympe.dm.File.urlProp=olympe.dm.File.P.Ba('ff023000000000000053');w('olympe.dm.File.urlProp',olympe.dm.File.urlProp);olympe.dm.File.C=olympe.dm.File.P.Ba('ff023000000000000054');olympe.dm.File.P.C=olympe.dm.File.le.bind(null,olympe.dm.File);olympe.dm.File.ka=[olympe.D.File];l=olympe.dm.File.prototype;l.$l.K=olympe.D.J.F;l.Oj.K=new olympe.D.J(()=>{},[]);l.Ul.K=new olympe.D.J(()=>{},[]);l.Pj.K=new olympe.D.J(()=>{},[]);l.Gq.K=olympe.D.J.C;
955
+ l.Vk.K=olympe.D.J.F;l.co.K=olympe.D.J.F;l.$u.K=new olympe.D.J(()=>olympe.D.ab,[]);l.Bv.K=new olympe.D.J(()=>olympe.D.ab,[]);l.rq.K=olympe.D.J.O;olympe.dm.rd=class extends olympe.dc.Sync{C(){return this.wb(olympe.dm.rd.G)}G(){return this.Td(olympe.dm.rd.L)}F(){return this.Wa(olympe.dm.rd.C,olympe.dm.Module)}};olympe.dm.rd.P=olympe.dc.wa.C('ff021000000000000041',olympe.dm.rd);olympe.dm.rd.G=olympe.dm.rd.P.Ba('ff023000000000000047');olympe.dm.rd.L=olympe.dm.rd.P.Ba('ff023000000000000048');olympe.dm.rd.C=olympe.dm.Module.C.xd();olympe.dm.rd.prototype.C.K=olympe.D.J.F;olympe.dm.rd.prototype.G.K=olympe.D.J.G;
956
+ olympe.dm.rd.prototype.F.K=new olympe.D.J(()=>olympe.dc.pa,[]);olympe.dm.ic=class extends olympe.dm.Ob{G(){return this.wb(olympe.dm.ic.ca)}Ea(){return this.wb(olympe.dm.ic.Xa)}F(){return this.Wa(olympe.dm.ic.V,olympe.dm.ic)}};olympe.dm.ic.P=olympe.dc.wa.C('0163d9594700fcf61e54',olympe.dm.ic);olympe.dm.ic.ca=olympe.dm.ic.P.Ba('017869c7d2833c9492c1');olympe.dm.ic.Xa=olympe.dm.ic.P.Ba('017869c80bb9929c76d0');olympe.dm.ic.V=olympe.dm.ic.P.Ma('ff02200000000000002b');olympe.dm.ic.Sd=P(olympe.dm.ic.P,olympe.dm.ic.V);olympe.dm.ic.Pa=olympe.dm.ic.P.Ma('ff02200000000000002a');
957
+ P(olympe.dc.Sync.P,olympe.dm.ic.Pa);olympe.dm.ic.ud=M('100000000000000000dd','PRIMORDIAL');olympe.dm.ic.prototype.G.K=olympe.D.J.F;olympe.dm.ic.prototype.Ea.K=olympe.D.J.F;olympe.dm.ic.prototype.F.K=new olympe.D.J(()=>olympe.dc.pa,[]);olympe.dm.Property=class extends olympe.dc.Sync{constructor(a,b){super(a,b)}F(){return this.vc(olympe.dm.Property.definingModelRel,olympe.dc.Sync)}C(){return this.vc(olympe.dm.Property.typeRel,olympe.dc.Sync)}Xc(){return this.F().ia().Tp(this.ia())}};olympe.dm.Property.P=olympe.dc.wa.C('ff021000000000000005',olympe.dm.Property);olympe.dm.Property.definingModelRel=P(olympe.dm.Property.P,olympe.dc.Sync.propertyRel);w('olympe.dm.Property.definingModelRel',olympe.dm.Property.definingModelRel);
958
+ olympe.dm.Property.typeRel=P(olympe.dm.Property.P,olympe.dc.Sync.typeRel);w('olympe.dm.Property.typeRel',olympe.dm.Property.typeRel);olympe.dm.Property.prototype.F.K=new olympe.D.J(()=>olympe.dc.Sync,[]);olympe.dm.Property.prototype.C.K=new olympe.D.J(()=>olympe.dc.Sync,[]);olympe.dm.Relation=class extends olympe.dc.Sync{constructor(a,b){super(a,b)}xv(){return olympe.D.Oa.EMPTY}Uu(){return this.Td(olympe.dm.Relation.Fl)}Lv(){return this.Td(olympe.dm.Relation.Mi)}fq(){return this.Wa(olympe.dm.Relation.destinationModelRel,olympe.dc.Sync).ld()}mq(){return this.Wa(olympe.dm.Relation.originModelRel,olympe.dc.Sync).ld()}Xc(){return this.mq().ia().concat(['-',this.ia(),'->',this.fq().ia()])}};olympe.dm.Relation.P=olympe.dc.wa.C('ff021000000000000006',olympe.dm.Relation);
959
+ olympe.dm.Relation.Mi=olympe.dm.Relation.P.Ba('ff023000000000000030');olympe.dm.Relation.Fl=olympe.dm.Relation.P.Ba('ff023000000000000034');olympe.dm.Relation.Nl=olympe.dm.Relation.P.Ba('ff023000000000000037');olympe.dm.Relation.Ml=olympe.dm.Relation.P.Ba('ff023000000000000137');olympe.dm.Relation.pm=olympe.dm.Relation.P.Ba('ff023000000000000237');olympe.dm.Relation.originModelRel=P(olympe.dm.Relation.P,olympe.dc.Sync.ja);w('olympe.dm.Relation.originModelRel',olympe.dm.Relation.originModelRel);
960
+ olympe.dm.Relation.destinationModelRel=P(olympe.dm.Relation.P,olympe.dc.Sync.fb);w('olympe.dm.Relation.destinationModelRel',olympe.dm.Relation.destinationModelRel);olympe.dm.Relation.C={Rn:0,pk:5,Uo:1,nt:4,Ej:2,yj:8,mn:10,jt:6,kt:9,bd:6,mt:9};olympe.dm.Relation.L={Ss:3,gl:4,Js:5,Is:6};olympe.dm.Relation.G={rl:0,ul:1,tl:2,al:4,$k:8,qk:5,nk:10};l=olympe.dm.Relation.prototype;l.xv.K=olympe.D.J.F;l.Uu.K=olympe.D.J.G;l.Lv.K=olympe.D.J.G;l.fq.K=new olympe.D.J(()=>olympe.dc.Sync,[]);
961
+ l.mq.K=new olympe.D.J(()=>olympe.dc.Sync,[]);olympe.dm.ai=class extends olympe.dm.Ob{};olympe.dm.ai.P=olympe.dc.wa.C('ff021000000000000020',olympe.dm.ai);olympe.dm.ai.ca=M('10000000000000000000','ROOT_OF_ROOTS');olympe.dm.ai.V=M('10000000000000000001','OLYMPE_FOLDER');olympe.dm.tg=class extends olympe.dc.Sync{C(){}};olympe.dm.tg.P=olympe.dc.wa.C('ff021000000000000019',olympe.dm.tg);olympe.dm.String=class extends olympe.dm.tg{C(){return this.wb(olympe.dm.String.valueProp)}};olympe.dm.String.P=olympe.dc.wa.C('ff021000000000000011',olympe.dm.String);olympe.dm.String.valueProp=olympe.dm.String.P.Ba('ff023000000000000026');w('olympe.dm.String.valueProp',olympe.dm.String.valueProp);olympe.dm.String.prototype.C.K=olympe.D.J.F;olympe.dm.Boolean=class extends olympe.dm.tg{C(){return this.Ig(olympe.dm.Boolean.valueProp)}};olympe.dm.Boolean.P=olympe.dc.wa.C('ff021000000000000012',olympe.dm.Boolean);olympe.dm.Boolean.valueProp=olympe.dm.Boolean.P.Ba('ff023000000000000027');w('olympe.dm.Boolean.valueProp',olympe.dm.Boolean.valueProp);olympe.dm.Boolean.prototype.C.K=olympe.D.J.O;olympe.dm.Color=class extends olympe.dm.tg{C(){return this.oq()}};olympe.dm.Color.P=olympe.dc.wa.C('ff021000000000000017',olympe.dm.Color);olympe.dm.Color.valueProp=olympe.dm.Color.P.Ba('ff023000000000000032');w('olympe.dm.Color.valueProp',olympe.dm.Color.valueProp);olympe.dm.Color.prototype.C.K=new olympe.D.J(()=>olympe.D.Color,[]);olympe.dm.DateTime=class extends olympe.dm.tg{C(){return this.Ai(olympe.dm.DateTime.valueProp)}};olympe.dm.DateTime.P=olympe.dc.wa.C('ff021000000000000014',olympe.dm.DateTime);olympe.dm.DateTime.valueProp=olympe.dm.DateTime.P.Ba('ff023000000000000029');w('olympe.dm.DateTime.valueProp',olympe.dm.DateTime.valueProp);olympe.dm.DateTime.prototype.C.K=new olympe.D.J(()=>olympe.D.ab,[]);olympe.dm.Enum=class extends olympe.dm.String{static create(a,b,c,d,e){const f=olympe.dc.Ua();e=void 0!==e?e:f.Fb(b)&&f.md(b).length||0;return a.create(b).setProperty(olympe.dm.String.valueProp,c).setProperty(olympe.dc.Sync.nameProp,d||c).setProperty(olympe.dm.Enum.rankProp,e).R()}ia(){return olympe.D.ya([super.ia(),super.C()],(a,b)=>''!==a.valueOf()?a:b,olympe.D.Oa)}Dd(){return this.Td(olympe.dm.Enum.rankProp)}};olympe.dm.Enum.create=olympe.dm.Enum.create;
962
+ olympe.dm.Enum.P=olympe.dc.wa.C('016cdd861b32d56c81f7',olympe.dm.Enum);olympe.dm.Enum.rankProp=olympe.dm.Enum.P.Ba('017a7690c915975ea995');olympe.dm.Enum.prototype.Dd.K=olympe.D.J.G;olympe.dm.zf=class extends olympe.dm.BrickMetadata{static create(a,b){return fe(a,b||{},olympe.dm.zf,olympe.dm.Enum).R()}gw(){return this.Wa(olympe.dc.Sync.instancesRel,olympe.dm.Enum)}};olympe.dm.zf.prototype.getValues=olympe.dm.zf.prototype.gw;olympe.dm.zf.create=olympe.dm.zf.create;olympe.dm.zf.P=olympe.dc.wa.C('017a768f966fc08ebb98',olympe.dm.zf);olympe.dm.Number=class extends olympe.dm.tg{C(){return this.Td(olympe.dm.Number.valueProp)}};olympe.dm.Number.P=olympe.dc.wa.C('ff021000000000000013',olympe.dm.Number);olympe.dm.Number.valueProp=olympe.dm.Number.P.Ba('ff023000000000000028');w('olympe.dm.Number.valueProp',olympe.dm.Number.valueProp);olympe.dm.Number.prototype.C.K=olympe.D.J.G;olympe.sc={};olympe.sc.T={Ha:'sc.Logger',vl:'sc.RootContext'};olympe.sc.Z={wf:'sc.debug',nr:'sc.disableTheme',Ko:'sc.production',Do:'sc.onstartTimeout',Vo:'sc.remoteActionTimeout',Ks:'google.apikey'};
963
+ olympe.U.Ib(a=>{D(a,olympe.sc.Z.wf,!1);D(a,olympe.sc.Z.nr,!1);D(a,olympe.sc.Z.Ko,!1);D(a,olympe.sc.Z.Do,2E4);D(a,olympe.sc.Z.Ks,'AIzaSyD0rTnF3Tq-ZjgdaqyvC8Jg-RSgpZM2jBU');D(a,olympe.sc.Z.Vo,1E4);B(a,olympe.sc.T.Ha,[olympe.ua.T.ta],b=>b.Gc('sc'));B(a,olympe.sc.T.vl,[new olympe.U.ha(olympe.sc.Z.Ko),new olympe.U.ha(olympe.sc.Z.Do)],(b,c)=>{const d=new olympe.sc.eb('root','root',null);olympe.sc.ix=d;d.set('Production',b);d.set('onstartTimeout',c);return d})},'olympe.sc');
964
+ olympe.U.run([olympe.sc.T.vl],a=>{window.ctx=a});olympe.sc.UB=(a,b,c)=>{a.la(olympe.dc.Sync.containsRel,c,b);a.la(olympe.dc.Sync.F,b,c);a.la(olympe.dm.ub.C,b,c)};olympe.sc.SB=(a,b,c,d)=>{a.la(olympe.dc.Sync.F,b,d);a.la(olympe.dm.ub.C,b,d);a.la(olympe.dc.Sync.containsRel,c,b);a.la(olympe.sc.Runnable.F,c,b);a.la(olympe.sc.Runnable.C,c,b)};olympe.sc.mC=(a,b,c,d)=>{a.nb(olympe.dc.Sync.F,b,d);a.nb(olympe.dm.ub.C,b,d);a.nb(olympe.dc.Sync.containsRel,c,b);a.nb(olympe.sc.Runnable.F,c,b);a.nb(olympe.sc.Runnable.C,c,b)};
965
+ olympe.sc.Vj=()=>null!==olympe.dc.Ua().pc(void 0,olympe.sc.Runnable.C.xd());olympe.sc.oC=(a,b,c)=>{a.nb(olympe.dc.Sync.containsRel,c,b);a.nb(olympe.dc.Sync.F,b,c);a.nb(olympe.dm.ub.C,b,c)};olympe.sc.xw=(a,b,c)=>{a.la(olympe.dc.Sync.F,b,c);a.la(olympe.sc.Ra.G,c,b)};olympe.sc.Ix=(a,b,c)=>{a.nb(olympe.dc.Sync.F,b,c);a.nb(olympe.sc.Ra.G,c,b)};olympe.sc.TB=(a,b,c)=>{olympe.sc.xw(a,b,c);a.la(olympe.dc.Sync.containsRel,c,b);a.la(olympe.dm.ub.C,b,c)};
966
+ olympe.sc.nC=(a,b,c)=>{olympe.sc.Ix(a,b,c);a.nb(olympe.dc.Sync.containsRel,c,b);a.nb(olympe.dm.ub.C,b,c)};olympe.sc.xB=(a,b,c,d,e)=>{d=a.create(olympe.sc.tc).setProperty(olympe.sc.tc.C,d||null).setProperty(olympe.sc.tc.L,e||null);a.la(olympe.sc.tc.G,d,b);a.la(olympe.dc.Sync.containsRel,b,d);a.la(olympe.dc.Sync.F,d,c);return d.R()};olympe.sc.Bg=a=>{a=olympe.dc.$.Eb.Bg(a);return a instanceof olympe.sc.ee?a.C():a};olympe.sc.LB=a=>{a=olympe.dc.Sync.Qb(a.tag);return a instanceof olympe.sc.ee?a.C():a};
967
+ olympe.sc.IB=function(a){const b=olympe.dm.Ob.G.xd(),c=olympe.dc.Sync.containsRel.xd();var d=olympe.dc.Da(a);if(void 0===d)return[];a=olympe.dc.Ua();var e=a.model(d);const f=[],g=[];let h=[];if(a.Di(e,olympe.dm.Ob))h.push(d);else{for(;null===a.pc(d,b);){e=a.pc(d,olympe.dc.Sync.instancesRel);const k=a.pc(d,c);e===k?(f.push(d),d=a.pc(k,c)):d=k}g.push(d);h.push(a.pc(g[0],b))}h=h.concat(a.Sj(h[0],olympe.dm.Ob.na));return[...f,...g,...h].reverse()};
968
+ olympe.sc.JB=a=>{a=a.valueOf();return a.startsWith('image/')?olympe.sc.eh:a.startsWith('video/')?olympe.sc.ji:a.startsWith('font/')||a.startsWith('application/font-woff')?olympe.sc.Mc:olympe.dm.File};let wh=0,xh=0;const yh=olympe.dc.Da;function zh(a,b){if(a.G)for(const c of a.G.values())b(c)}function Ah(a,b){b=olympe.dc.Da(b);if(a.L&&a.L.has(b)){var c=a.L.get(b)-1;0===c?(a.L.delete(b),0===a.L.size&&(a.L=null),a=!0):(a.L.set(b,c),a=!1)}else a=!1;a&&Qc(olympe.dc.Wc(),void 0,[b])}function Bh(a,b){a.G&&a.G.delete(b.da())}function Ch(a,b){if(null===a)return null;if(a.has(b))return a.get(b);for(const c of a.values())if(c.na&&!c.id.startsWith('_')&&(a=Ch(c.G,b)))return a;return null}
969
+ function Dh(a){a.xa=!0;zh(a,b=>{Dh(b)})}function Eh(a){a.xa=!1;zh(a,b=>{Eh(b)})}function Fh(a,b,c,d){const e='$'+b;a.ja.add(b);c.map(f=>'@'+f+'.'+b).forEach(f=>{(f=a.O&&a.O.get(f))&&f.forEach(g=>{g(d)})});zh(a,f=>{!f.xa&&f.ja.has(b)||f.data.has(e)||Fh(f,b,c,d)});a.ja.delete(b)}function Gh(a,b,c){a.O||(a.O=new Map);let d=a.O.get(b);void 0===d&&(d=new Map,a.O.set(b,d));++wh;const e=wh;d.set(e,c);return()=>{const f=a.O.get(b);f&&(f.delete(e),0===f.size&&a.O.delete(b))}}
970
+ function Hh(a,b){b=olympe.dc.Da(b);a.L||(a.L=new Map);const c=a.L.get(b)||0;a.L.set(b,c+1);0===c&&Qc(olympe.dc.Wc(),[b])}function Ih(a,b,c){a.ja.add(b);const d=a.O&&a.O.get('&'+b);if(d)for(const e of d.values())e(c);zh(a,e=>{e.ja.has(b)||Ih(e,b,c)});a.ja.delete(b)}function Jh(a,b){b=yh(b);null===a.G&&(a.G=new Map);let c=a.G.get(b);if(!c){c=new olympe.sc.eb(b,void 0,a);a.G.set(b,c);for(a=c.V;a&&a.na;)a=a.V;a&&Ih(a,b,c)}return c}function Kh(a){return(a=a.Ta('Production'))?a:!1}
971
+ olympe.sc.eb=class{constructor(a,b,c=olympe.sc.ix){++xh;this.id=a;this.ca=new Set;this.V=c;this.hd=b||null;this.C=new olympe.D.kc('SC Context');this.data=new Map;this.L=this.F=this.G=this.O=null;this.Ea=xh;this.na=!1;this.ja=new Set;this.xa=!1;this.N=olympe.ua.rb('sc');this.C.onDestroy(()=>{zh(this,d=>d.hb());this.L&&this.L.forEach((d,e)=>{for(let f=0;f<d;f++)Ah(this,e)});c&&Bh(this.V,this);this.ca.clear();this.C=this.V=null;null!==this.F&&0<this.F.length&&this.N.warn(`The context ${this.id} destroys but still has unreleased transactions. You probably forgot to end a transaction.`);
972
+ this.F=null})}da(){return this.id}getParent(){return this.V}set(a,b){if(this.C&&!this.C.Vd()){a=yh(a);var c='$'+a,d=this.data.get(c);d&&d.valueOf&&(d=d.valueOf());if(void 0===b||null===b)void 0!==d&&(this.data.delete(c),Fh(this,a,['*',this.id,...this.ca],null));else if(void 0===d||b.valueOf()!==d.valueOf())this.data.set(c,b),Fh(this,a,['*',this.id,...this.ca],b)}}remove(a){this.C&&!this.C.Vd()&&(a=yh(a),this.data.delete('$'+a)&&Fh(this,a,['*',this.id,...this.ca],null))}yb(a,b,c=!1){const d=olympe.dc.Da(a),
973
+ e=olympe.D.Ic(b||Object,`Get context value flow source of ${d}`);e.node.onDestroy(this.on(a,f=>{null===f?e.clear():e.update(f)},c?this.id:void 0));return e.yb()}get(a,b=!0){a=this.Ta(a,b);return void 0!==a?a:null}observe(a,b=!1,c=!0){return new rxjs.Observable(d=>{const e=this.on(a,f=>{(null!==f||b)&&d.next(f);this.onDestroy(()=>d.complete())},c?this.id:void 0);this.onDestroy(e)})}Ta(a,b=!1){a='$'+yh(a);let c=this.data.get(a),d=this.V;if(!b)for(;void 0===c&&null!==d;)c=d.data.get(a),d=d.V;return c}on(a,
974
+ b,c){if(!this.C||this.C.Vd())return()=>{};const d=yh(a),e=c?yh(c):'*';a=Gh(this,'@'+e+'.'+d,b);c=c?(c=this.am(e))?c.Ta(d,!0):void 0:this.Ta(d);void 0!==c&&b(c);olympe.D.Ja().onDestroy(a);return a}Vp(a){const b='_'+olympe.$.Rb();null===this.G&&(this.G=new Map);a=new olympe.sc.eb(b,a,this);this.G.set(b,a);return a}dx(a){this.F||(this.F=[]);this.F.push({transaction:a,Xj:!1})}Bh(){var a=this;let b=null;for(;(!b||b&&b.Xj)&&a;){const c=a.F;c&&0<c.length&&(b=c[c.length-1]);a=a.V}if(b&&!b.Xj)return b.transaction;
975
+ this.F||(this.F=[]);a=new olympe.sc.lb;this.F.push({transaction:a,Xj:!0});return a}gx(a){if(null!==this.F){const b=this.F.pop();0===this.F.length&&(this.F=null);if(b&&b.Xj){b.transaction.wd((c,d)=>{a&&a(!0,c,d)});return}}a&&a(!1,!0,null)}bx(){if(null===this.F)return null;const a=this.F.pop();0===this.F.length&&(this.F=null);return a&&a.transaction||null}Cq(a,b){const c=this.am(a);c&&b(c);return Gh(this,'&'+a,b)}am(a){if(a===this.id||this.ca.has(a)||!a)return this;let b=this.V;for(;b;){if(a===b.id||
976
+ b.ca.has(a))return b;const c=Ch(b.G,a);if(c)return c;b=b.V}return null}Ww(a){return null!==this.C?this.C.Sc(a):'noId'}Vw(a){null!==this.C&&this.C.Bq(a)}onDestroy(a){return null===this.C?(a(),'noId'):this.C.onDestroy(a)}dg(a){null!==this.C&&this.C.dg(a)}hb(){this.C&&!this.C.Kb()&&this.C.hb()}clear(){this.C&&!this.C.Kb()&&this.C.ze()}Kb(){return null===this.C||this.C.Kb()}};olympe.sc.eb.prototype.clear=olympe.sc.eb.prototype.clear;olympe.sc.eb.prototype.destroy=olympe.sc.eb.prototype.hb;
977
+ olympe.sc.eb.prototype.offDestroy=olympe.sc.eb.prototype.dg;olympe.sc.eb.prototype.onDestroy=olympe.sc.eb.prototype.onDestroy;olympe.sc.eb.prototype.offClear=olympe.sc.eb.prototype.Vw;olympe.sc.eb.prototype.onClear=olympe.sc.eb.prototype.Ww;olympe.sc.eb.prototype.getOtherContext=olympe.sc.eb.prototype.am;olympe.sc.eb.prototype.onContext=olympe.sc.eb.prototype.Cq;olympe.sc.eb.prototype.popTransaction=olympe.sc.eb.prototype.bx;olympe.sc.eb.prototype.releaseTransaction=olympe.sc.eb.prototype.gx;
978
+ olympe.sc.eb.prototype.getTransaction=olympe.sc.eb.prototype.Bh;olympe.sc.eb.prototype.pushTransaction=olympe.sc.eb.prototype.dx;olympe.sc.eb.prototype.createChild=olympe.sc.eb.prototype.Vp;olympe.sc.eb.prototype.observe=olympe.sc.eb.prototype.observe;olympe.sc.eb.prototype.get=olympe.sc.eb.prototype.get;olympe.sc.eb.prototype.remove=olympe.sc.eb.prototype.remove;olympe.sc.eb.prototype.set=olympe.sc.eb.prototype.set;olympe.sc.eb.prototype.getParent=olympe.sc.eb.prototype.getParent;
979
+ olympe.sc.eb.C='EditionMode';olympe.sc.eb.G='Production';olympe.sc.eb.F='onstartTimeout';olympe.sc.Metadata=class extends olympe.dc.Sync{constructor(a,b){super(a,b)}};olympe.sc.Metadata.P=olympe.dc.wa.C('0161ae936c62f9fcd131',olympe.sc.Metadata);olympe.sc.tc=class extends olympe.dc.Sync{F(){return this.wb(olympe.sc.tc.L)}C(){return this.wb(olympe.sc.tc.C)}};olympe.sc.tc.P=olympe.dc.wa.C('01703376c4a81c0e9d90',olympe.sc.tc);olympe.sc.tc.L=olympe.sc.tc.P.Ba('01703376c4a81c0e9d91');olympe.sc.tc.C=olympe.sc.tc.P.Ba('01703376c4a81c0e9d92');olympe.sc.tc.G=olympe.sc.tc.P.Ma('01703376c4a81c0e9d93');P(olympe.dc.Sync.P,olympe.sc.tc.G);olympe.sc.tc.prototype.F.K=olympe.D.J.F;olympe.sc.tc.prototype.C.K=olympe.D.J.F;olympe.sc.Ie={};olympe.sc.Ie.Ag={$x:null,qt:'screenflow',Kt:'ui-design',bp:'software-intelligence',yk:'data-management'};olympe.sc.yc=class extends olympe.dm.BrickMetadata{C(){return olympe.sc.Ie.Ag.bp}F(){return this.Wa(olympe.sc.yc.G,olympe.sc.logic.sg)}G(){return this.Wa(olympe.sc.yc.O,olympe.sc.logic.Gf)}};olympe.sc.yc.P=olympe.dc.wa.C('011100000000000adef0',olympe.sc.yc);olympe.sc.yc.G=olympe.sc.yc.P.Ma('016ac4f59a2917fdef01');olympe.sc.yc.O=olympe.sc.yc.P.Ma('016ac4f59a2917fdef02');olympe.sc.yc.P.C=(a,b)=>fe(a,b||'New function signature',olympe.sc.yc,olympe.sc.logic.Kd).R();
980
+ olympe.sc.yc.prototype.F.K=new olympe.D.J(()=>olympe.dc.pa,[]);olympe.sc.yc.prototype.G.K=new olympe.D.J(()=>olympe.dc.pa,[]);function Lh(a,b){[].forEach(c=>c.call(a,b,(d,e)=>{null===e?b.remove(d):b.set(d,e)}))}function Mh(a,b){const c=[];for(const d of b)b=a.db.Gb(d,olympe.sc.logic.jc.C,!0),c[b]=d;return c}
981
+ olympe.sc.Ra=class extends olympe.dm.BrickMetadata{qs(a,b,c,d,e=!0){e||olympe.ua.rb('sc').error('parameter own= false ignored, investigate');return olympe.D.Je(K(this.Xf(a,olympe.dc.$.Eb.Bg,c)),d)}Vv(){return this.Wa(olympe.sc.Ra.G,olympe.sc.Runnable)}Yu(){return this.Wa(olympe.sc.Ra.Pa,olympe.sc.Runnable)}eo(){return this.db.Gb(this,olympe.sc.Ra.Xa)}Vj(){return null!==this.db.pc(this.tag,olympe.sc.Runnable.C.xd())}Xk(){return this.Wa(olympe.sc.Ra.O,olympe.sc.logic.kb)}kj(){return this.Wa(olympe.sc.Ra.V,
982
+ olympe.sc.logic.pb)}};olympe.sc.Ra.P=olympe.dc.wa.C('0112000000000000def0',olympe.sc.Ra);olympe.sc.Ra.Xa=olympe.sc.Ra.P.Ba('01692aa71f3108454479');olympe.sc.Ra.ud=olympe.sc.Ra.P.Ba('0166446c1f128ebc903a');olympe.sc.Ra.G=olympe.sc.Ra.P.Ma('01692a4af82e8984742c');olympe.sc.Ra.Pa=olympe.sc.Ra.P.Ma('01692a4af82e8984742d');olympe.sc.Ra.O=olympe.sc.Ra.P.Ma('01621fb84e320000f00a');olympe.sc.Ra.V=olympe.sc.Ra.P.Ma('01621fb84e320000f00b');olympe.sc.Ra.Mg=olympe.sc.Ra.P.Ma('0171838bcfed0000e00e');
983
+ olympe.sc.Ra.Rf=olympe.sc.Ra.P.Ma('0171838bcfed0000a00a');l=olympe.sc.Ra.prototype;l.qs.K=olympe.D.J.C;l.Vv.K=new olympe.D.J(()=>olympe.dc.pa,[]);l.Yu.K=new olympe.D.J(()=>olympe.dc.pa,[]);l.eo.K=olympe.D.J.C;l.Vj.K=olympe.D.J.C;l.Xk.K=new olympe.D.J(()=>olympe.dc.pa,[]);l.kj.K=new olympe.D.J(()=>olympe.dc.pa,[]);function Nh(a,b){if(1===b.length)return[(d,e)=>{null!==e?a.set(d,e):a.remove(d)}];const c=b.map(()=>new Map);return c.map(d=>(e,f)=>{null!==f?d.set(e,f):d.delete(e);a:{for(const g of c)if(f=g.get(e),void 0!==f){a.set(e,f);break a}a.remove(e)}})}
984
+ function Oh(a,b,c){const d=olympe.D.Ja(),e=zd(a.db,a.tag,d.vb((f,g,h)=>{const k=h?c:b;null!==k&&(h&&b&&b(f,null),null===g||void 0===g?k(f,null):k(f,olympe.sc.Bg(g)))}));d.onDestroy(()=>{var f=a.db;const g=V(f,a.tag);null!==g&&(g.V(ud,e),f.C.getState()===vd.uf&&f.C.O(e))})}
985
+ olympe.sc.Runnable=class extends olympe.dm.BrickMetadata{constructor(a,b,c){super(a,b);this.N=c}run(a){const b=this.Bd();this.setup(a);this.onInit(a);b.eo()?(this.N.debug(`Hardcoded runnable ${this.db.name(this)} with tag ${this.tag} running in context ${a.Ea}`),this.G(a)):(this.N.debug(`Softcoded runnable ${this.db.name(this)} with tag ${this.tag} running in context ${a.Ea}`),b.Rl(olympe.sc.Ra.G,c=>{if(c instanceof olympe.sc.Runnable){const d=Jh(a,c);c.Bd().Vj()&&(d.na=!0);c.run(d)}}));a.onDestroy(this.onDestroy.bind(this,
986
+ a))}onInit(){}G(){}onDestroy(){}bo(a,b,c,d){a=b.yb(a,c,!0);void 0!==d&&olympe.D.Je(a,d);return a}Qv(a,b,c,d,e){olympe.D.nm([d],f=>{b.set(a,olympe.D.sq(f)?f.valueOf():f)});return this.bo(a,b,c,e)}Uv(){return this.vc(olympe.sc.Runnable.F,olympe.sc.Ra)}Bd(){return this.Rj()}Wv(){return this.vc(olympe.sc.Runnable.O,olympe.sc.Ra)}setup(a){Lh(this.Bd(),a);const b=a.C,c=this.L(),d=Nh(a,c),e=[];c.forEach((f,g)=>{f===this.ca?e[0]=g:f===this.V&&(e[1]=g)});void 0!==e[0]&&void 0!==e[1]&&(b.run(()=>{Oh(this,d[e[0]],
987
+ d[e[1]])}),c[e[0]]=null,c[e[1]]=null);b.run(()=>{c.forEach((f,g)=>{f&&f.call(this,a,d[g])})})}L(){return[this.ca,this.V]}ca(a,b){Oh(this,b,null)}V(a,b){Oh(this,null,b)}Xa(a,b){const c=this.db,d=olympe.sc.logic.qb.L.xd(),e=olympe.sc.logic.qb.G,f=olympe.sc.logic.qb.C;this.Rl(d,g=>{var h=g.R();if(h=c.pc(h,e)||c.pc(h,f))g=Ph(g,a,b.bind(null,h)),olympe.D.Ja().onDestroy(g)})}};olympe.sc.Runnable.P=Lc(olympe.dc.wa.C('01130000000000ca1100',olympe.sc.Runnable));olympe.sc.Runnable.F=olympe.sc.Runnable.P.Ma('01692a4af82e8984742b');
988
+ olympe.sc.Runnable.C=olympe.sc.Runnable.P.Ma('01756a18d4921c103111');olympe.sc.Runnable.O=P(olympe.sc.Runnable.P,olympe.sc.Ra.G);olympe.sc.Runnable.V=P(olympe.sc.Runnable.P,olympe.sc.Ra.Pa);P(olympe.sc.Ra.P,olympe.sc.Runnable.F);P(olympe.sc.Ra.P,olympe.sc.Runnable.C);l=olympe.sc.Runnable.prototype;l.bo.K=new olympe.D.J(()=>Object,[]);l.Qv.K=olympe.D.J.C;l.Uv.K=new olympe.D.J(()=>olympe.sc.Ra,[]);l.Bd.K=new olympe.D.J(()=>olympe.sc.Ra,[]);l.Wv.K=new olympe.D.J(()=>olympe.sc.Ra,[]);function Qh(a){if(a){if('string'===typeof a)return a;if(a instanceof olympe.sc.ee)return(a=a.F())?a.valueOf():null;if('function'===typeof a.R)return a.R()}return null}olympe.sc.ee=class extends olympe.dc.Sync{F(){return this.db.Wa(this,olympe.sc.ee.C)[0]}C(){return olympe.dc.Sync.Qb(Qh(this))}toString(){const a=Qh(this);let b;a&&(b=this.db.name(a));return b||super.toString()}};olympe.sc.ee.P=olympe.dc.wa.C('0163c9ae01f2d6e9ca49',olympe.sc.ee);olympe.sc.ee.C=olympe.sc.ee.P.Ma('0169b5a8a33144fb0b49');
989
+ P(olympe.dc.Sync.P,olympe.sc.ee.C);olympe.sc.ee.prototype.F.K=new olympe.D.J(()=>String,[]);olympe.sc.ee.prototype.C.K=new olympe.D.J(()=>olympe.dc.Sync,[]);olympe.sc.dn=class extends olympe.dm.Ob{C(){return olympe.sc.Ie.Ag.yk}};olympe.sc.dn.P=olympe.dc.wa.C('0163a68ce44f3d1fa84c',olympe.sc.dn);olympe.sc.Vg=class extends olympe.dm.BrickMetadata{};olympe.sc.Vg.P=olympe.dc.wa.C('016324fde11a836f76c2',olympe.sc.Vg);olympe.sc.Vg.P.C=function(a,b){return fe(a,b||'New model',olympe.sc.Vg).R()};let Rh=null;
990
+ function Sh(a,b){Rh=a;ue(ue(new olympe.dc.Af(a,olympe.dc.Ld.uj),olympe.sc.Fa.oe.ca),olympe.sc.Yc.G.xd()).wd((c,d)=>{if(c)olympe.ua.rb('sc').error('Error while loading business container:',c.message),b(olympe.sc.Yc.C.wc);else{c=null;for(const [e,f]of d.F().Ud())e===olympe.sc.Yc.G.R()&&(c=f);null!==c?Ae(te(new olympe.dc.Af(c),olympe.dc.ob.RUNTIME),(e,f)=>{const g=olympe.dc.Fc.ce,h=olympe.dc.Fc.Zg,k=f.R();f=f.Na();return olympe.dc.Ua().$f(e,olympe.sc.Vg)&&f===olympe.dc.Ka.ORIGIN&&(k===g||k===h)}).wd(()=>
991
+ b(olympe.sc.Yc.C.io)):(olympe.ua.rb('sc').error('No container found for the application',a),b(olympe.sc.Yc.C.dl))}})}olympe.sc.Yc=class extends olympe.dc.Sync{};olympe.sc.Yc.C={io:0,dl:1,wc:2};olympe.sc.Yc.P=olympe.dc.wa.C('017b3aa8fae1e3d044dc',olympe.sc.Yc);olympe.sc.Yc.G=olympe.sc.Yc.P.Ma('017b3aa8fd1659291b92');olympe.sc.Yc.L=olympe.sc.Yc.P.Ma('017b3aa8fe7ec3fd52f2');olympe.sc.Map=class extends olympe.dc.Sync{};olympe.sc.Map.P=olympe.dc.wa.C('01631aacd5c1f9d61c5d',olympe.sc.Map);olympe.sc.Vh=class extends olympe.sc.Map{};olympe.sc.Vh.P=olympe.dc.wa.C('01631aacd8276ea98490',olympe.sc.Vh);olympe.sc.eh=class extends olympe.dm.File{L(){const a=olympe.D.Ic(olympe.D.Oa);this.Pj(b=>{a.update(olympe.D.sb(b))});return a.yb()}};olympe.sc.eh.P=Gc('01644b6297305d62fca2',olympe.sc.eh);olympe.sc.eh.P.C=olympe.dm.File.le.bind(null,olympe.sc.eh);olympe.sc.eh.prototype.L.K=olympe.D.J.F;olympe.sc.Mc=class extends olympe.dm.File{L(){return this.wb(olympe.sc.Mc.G)}O(){return this.wb(olympe.sc.Mc.L)}V(){return this.Td(olympe.sc.Mc.O)}};olympe.sc.Mc.P=Gc('01647e113043c637b541',olympe.sc.Mc);olympe.sc.Mc.G=olympe.sc.Mc.P.Ba('01647e35ecd24ef0b88d');olympe.sc.Mc.L=olympe.sc.Mc.P.Ba('01647e677f5d1cfbdf42');olympe.sc.Mc.O=olympe.sc.Mc.P.Ba('01647e6780999bf8bd25');olympe.sc.Mc.P.C=(a,b,c,d)=>{c=olympe.dm.File.le(olympe.sc.Mc,a,b,c,d);a.update(c,olympe.sc.Mc.G,b.split('.')[0]);return c};
992
+ olympe.sc.Mc.prototype.L.K=olympe.D.J.F;olympe.sc.Mc.prototype.O.K=olympe.D.J.F;olympe.sc.Mc.prototype.V.K=olympe.D.J.G;olympe.sc.ji=class extends olympe.dm.File{};olympe.sc.ji.P=Gc('0164643c432146a71d5c',olympe.sc.ji);olympe.sc.ji.P.C=olympe.dm.File.le.bind(null,olympe.sc.ji);olympe.sc.zp=class extends olympe.dc.Sync{};olympe.sc.zp.P=olympe.dc.wa.C('016421bb3797e22d1c4e',olympe.sc.zp);olympe.sc.logic={};olympe.sc.logic.Jn=(a,b)=>a===b?0:a>b?1:-1;
993
+ olympe.sc.logic.cz=(a,b,c,d,e,f,g)=>{const h=b.R();b=olympe.D.Ta(b.C().R());let k,m;if(b===olympe.dc.Da(olympe.dm.String))k=c.valueOf().toLowerCase(),m=p=>p.wb(h).toLowerCase();else if(b===olympe.dc.Da(olympe.dm.Number))k=c.valueOf(),m=p=>p.Td(h);else if(b===olympe.dc.Da(olympe.dm.DateTime))k=c.getTime(),m=p=>olympe.D.ya([p.Ai(h)],q=>q.getTime(),Number,'FilterList Date&DateTime TransformFlows');else{c=olympe.dc.Ua().name(b);g.warn(`Properties of type ${c} are not supported. List will not be filtered.`);e(a);
994
+ return}let n;if('<'===f)n=(p,q)=>olympe.sc.logic.Jn(q,p);else if('>'===f)n=(p,q)=>olympe.sc.logic.Jn(p,q);else{g.error(`Unknown inequality ${f}. Please use '<' or '>'`);return}e(a.Pf().filter(p=>olympe.D.ya([m(p)],q=>{q=n(q.valueOf(),k);return olympe.D.qc(d.valueOf()?1===q:0<=q)},olympe.D.fa,'FilterList ListDefBuilder Filter TransformFlows')).Re())};
995
+ olympe.sc.logic.wB=(a,b)=>{if(a instanceof olympe.D.ea)return a;if(a instanceof olympe.D.Oa)return a.Mq();if(a instanceof olympe.D.fa)return a.kq();if('string'===typeof a||'number'===typeof a)return olympe.D.va(Number(a));b.error(`Could not parse provided value ${a} into a number`);return olympe.D.ea.uo};olympe.sc.logic.za={};function Th(a){Kc(a.P,(b,c)=>{b=b.create(a.P.F);b.setProperty(olympe.dc.Sync.nameProp,c);return b.R()})}olympe.sc.logic.za.zn=class{constructor(a,b,c){this.P=olympe.dc.wa.C(a,b,...c);Th(this)}R(){return this.P.R()}};olympe.sc.logic.za.zn.ka=[olympe.dc.Nd];const Uh=Object.create(null),Vh=Object.create(null);function Wh(a){if(void 0===Uh[a])throw Error(`Tag: ${a} - does not correspond to a registered function`);return Hc(a)}function Xh(a,b,c=olympe.sc.logic.Function){if(Vh[a]){var d=Wh(a);throw Error(`Tag: ${a} - overwriting already defined functionDef "${d.name}" with "${b.name}"`);}d=olympe.dc.wa.C(a,b,...[]);Kc(d,(e,f,g)=>{const h=new olympe.sc.logic.Nh;f=h.create(f,g,b,c);e.we(h.Bh());return f.R()});return Vh[a]=d}
996
+ olympe.sc.logic.wa=class{constructor(){}static C(a,b,...c){if(Uh[a])throw c=Wh(a),Error(`Tag: ${a} - overwriting already defined function "${c.name}" with "${b.name}"`);b=new olympe.sc.logic.za.zn(a,b,[olympe.sc.T.Ha].concat(c));return Uh[a]=b}};olympe.sc.logic.ey=class{};olympe.sc.logic.Zi=class extends olympe.dc.Sync{};olympe.sc.logic.Zi.P=olympe.dc.wa.C('01621fb84e320000cf00',olympe.sc.logic.Zi);olympe.sc.logic.Error=class{constructor(a,b){this.code=a;this.xq=b}static create(a,b){return new olympe.sc.logic.Error(b,a)}zv(){return this.xq}Wu(){return this.code}};w('olympe.sc.logic.Error',olympe.sc.logic.Error);olympe.sc.logic.Error.prototype.getCode=olympe.sc.logic.Error.prototype.Wu;olympe.sc.logic.Error.prototype.getMessage=olympe.sc.logic.Error.prototype.zv;olympe.sc.logic.Error.create=olympe.sc.logic.Error.create;
997
+ olympe.sc.logic.mg=class extends olympe.sc.logic.Zi{static create(a,b){return new olympe.sc.logic.Error(b,a)}};olympe.sc.logic.mg.P=olympe.dc.wa.C('016eeb5ede9f3094d8f0',olympe.sc.logic.mg);olympe.sc.logic.Nc=class extends olympe.dc.Sync{C(){return this.vc(olympe.sc.logic.Nc.C,olympe.dc.Sync)}};olympe.sc.logic.Nc.P=olympe.dc.wa.C('016ac4f59ee8ea2081ba',olympe.sc.logic.Nc);olympe.sc.logic.Nc.G=olympe.sc.logic.Nc.P.Ba('017bc044aeacce7ffc8f');olympe.sc.logic.Nc.C=olympe.sc.logic.Nc.P.Ma('016ac4f5a0091c4790e2');P(olympe.dc.Sync.P,olympe.sc.logic.Nc.C);olympe.sc.logic.Nc.prototype.C.K=new olympe.D.J(()=>olympe.dc.Sync,[]);olympe.sc.logic.sg=class extends olympe.sc.logic.Nc{};olympe.sc.logic.sg.P=olympe.dc.wa.C('016ac4f59c592b862457',olympe.sc.logic.sg);olympe.sc.logic.sg.L=olympe.sc.yc.G.xd();olympe.sc.logic.sg.P.C=(a,b,c,d,e)=>{b=fe(a,b||'New Predefined Input',olympe.sc.logic.sg,olympe.sc.logic.kb);b.setProperty(olympe.sc.logic.Nc.G,e);a.la(olympe.sc.logic.Nc.C,b,c);a.la(olympe.sc.yc.G,d,b);return b.R()};olympe.sc.logic.Gf=class extends olympe.sc.logic.Nc{};olympe.sc.logic.Gf.P=olympe.dc.wa.C('016ac4f59dd99f5df3e1',olympe.sc.logic.Gf);olympe.sc.logic.Gf.L=P(olympe.sc.logic.Gf.P,olympe.sc.yc.O);olympe.sc.logic.Gf.P.C=(a,b,c,d,e)=>{b=fe(a,b||'New Predefined Output',olympe.sc.logic.Gf,olympe.sc.logic.pb);b.setProperty(olympe.sc.logic.Nc.G,e);a.la(olympe.sc.logic.Nc.C,b,c);a.la(olympe.sc.yc.O,d,b);return b.R()};olympe.sc.logic.Kd=class extends olympe.sc.Ra{C(){return olympe.sc.Ie.Ag.bp}O(){return this.Vl().Pf().$f([olympe.sc.logic.Function]).and().Qg().$f([olympe.sc.logic.Kc,olympe.sc.logic.Lc]).Re()}pv(){return this.Xk().Pf().Bi([olympe.dc.Sync.modelRel,olympe.sc.logic.sg.L]).Re()}qv(){return this.kj().Pf().Bi([olympe.dc.Sync.modelRel,olympe.sc.logic.Gf.L]).Re()}Uf(a){const b=this.db.Ql(this,[olympe.sc.Ra.O],c=>this.db.model(c)===olympe.dc.Da(a));return b?olympe.dc.Sync.Qb(b):null}Gg(a){const b=this.db.Ql(this,
998
+ [olympe.sc.Ra.V],c=>this.db.model(c)===olympe.dc.Da(a));return b?olympe.dc.Sync.Qb(b):null}dw(){return this.Xk().Pf().Bi([olympe.dc.Sync.modelRel],olympe.sc.logic.kb).Re()}ew(){return this.kj().Pf().Bi([olympe.dc.Sync.modelRel],olympe.sc.logic.pb).Re()}};Xh('01621fb84e320000f000',olympe.sc.logic.Kd,olympe.sc.logic.Function);l=olympe.sc.logic.Kd.prototype;l.pv.K=new olympe.D.J(()=>olympe.dc.pa,[]);l.qv.K=new olympe.D.J(()=>olympe.dc.pa,[]);l.Uf.K=new olympe.D.J(()=>olympe.sc.logic.kb,[]);
999
+ l.Gg.K=new olympe.D.J(()=>olympe.sc.logic.pb,[]);l.dw.K=new olympe.D.J(()=>olympe.dc.pa,[]);l.ew.K=new olympe.D.J(()=>olympe.dc.pa,[]);olympe.sc.logic.tf=class extends olympe.sc.logic.Kd{F(){return this.Uf('016ac63229782039429f')}G(){return this.Gg('016ac6322acf67eebfe7')}L(){return this.kj().Pf().jj(olympe.sc.logic.jc.typeRel).Tj(olympe.sc.logic.mg).Re().zc().gm(olympe.D.ea.ZERO)}};olympe.sc.logic.tf.ca='016ac63229782039429f';olympe.sc.logic.tf.na='016ac6322acf67eebfe7';olympe.sc.logic.tf.P=Xh('01621fb84e320000a000',olympe.sc.logic.tf,olympe.sc.logic.Action);
1000
+ olympe.sc.logic.tf.prototype.F.K=new olympe.D.J(()=>olympe.sc.logic.kb,[]);olympe.sc.logic.tf.prototype.G.K=new olympe.D.J(()=>olympe.sc.logic.pb,[]);olympe.sc.logic.tf.prototype.L.K=olympe.D.J.O;olympe.sc.logic.wk=class extends olympe.sc.logic.Kd{};olympe.sc.logic.wk.P=Xh('01621fb84e320000f011',olympe.sc.logic.wk);olympe.sc.logic.vk=class extends olympe.sc.logic.tf{};olympe.sc.logic.vk.P=Xh('01621fb84e320000f012',olympe.sc.logic.vk);function Yh(a,b,c){a.onUpdate=(d,e,f)=>{e.forEach((g,h)=>{e[h]=olympe.dc.$.Eb.ru(g)});c(...e,...f)};a.setup(b);a.G(b)}function Zh(a,b){const c=olympe.dc.Ua();return a.getOutputs().map(d=>c.im(d,olympe.sc.logic.jc.typeRel,olympe.sc.logic.Zi)?()=>b.set(d,Date.now()):b.set.bind(b,d))}
1001
+ olympe.sc.logic.Function=class extends olympe.sc.Runnable{L(){return[this.Xa]}G(a){const b=this.db.name(this.mc());this.N.debug(`Function ${b} (${this.mc()}) is hardcoded`);const c=Zh(this,a),d=new olympe.D.kc(`Function ${b} (${this.tag}) runCodedBrick`,a.C);this.setupUpdate(a,e=>{d.Kb()||(d.ze(),d.run(this.onUpdate.bind(this,a,e,c)))},()=>d.ze())}onUpdate(){this.N.error(`Function ${this.db.name(this.mc())} (${this.mc()}) is flagged as hardcoded, but method onUpdate() has not been overridden.`)}getInputs(){var a=
1002
+ this.Bd();return Mh(a,a.db.Wa(a.tag,olympe.sc.Ra.O))}getOutputs(){var a=this.Bd();return Mh(a,a.db.Wa(a.tag,olympe.sc.Ra.V))}setupUpdate(a,b,c){const d=this.getInputs();if(0<d.length){const e=[],f=new Set;d.forEach((g,h)=>{a.on(g,k=>{e[h]=k;null!==k&&void 0!==k?f.add(g):f.delete(g);f.size===d.length?b(e):c()},this.tag)})}else b([])}};olympe.sc.logic.Function.P=olympe.dc.wa.C('0168c6f020f2a96f0000',olympe.sc.logic.Function,olympe.sc.T.Ha);olympe.sc.logic.jc=class extends olympe.dc.Sync{C(){return this.vc(olympe.sc.logic.jc.typeRel,olympe.dc.Sync)}F(){return this.Td(olympe.sc.logic.jc.C)}};olympe.sc.logic.jc.P=olympe.dc.wa.C('0168a431d25001540000',olympe.sc.logic.jc);olympe.sc.logic.jc.C=olympe.sc.logic.jc.P.Ba('01740c5d4ae4b520dd01');olympe.sc.logic.jc.typeRel=olympe.sc.logic.jc.P.Ma('0168a431d3b9b7438424');P(olympe.dc.Sync.P,olympe.sc.logic.jc.typeRel);olympe.sc.logic.jc.prototype.C.K=new olympe.D.J(()=>olympe.dc.Sync,[]);
1003
+ olympe.sc.logic.jc.prototype.F.K=olympe.D.J.G;olympe.sc.logic.kb=class extends olympe.sc.logic.jc{};olympe.sc.logic.kb.P=olympe.dc.wa.C('0168a431d25001540001',olympe.sc.logic.kb);olympe.sc.logic.kb.ca=olympe.sc.logic.jc.P.Ba('01740c5d4ae4b520dd02');olympe.sc.logic.kb.V=P(olympe.sc.logic.kb.P,olympe.sc.Ra.O);olympe.sc.logic.kb.G=olympe.sc.logic.kb.P.Ma('0168a431d91f2578000b',olympe.dc.Ka.ORIGIN);olympe.sc.logic.kb.L=olympe.sc.logic.kb.P.Ma('01621fb84e32000000a1',olympe.dc.Ka.ORIGIN);
1004
+ olympe.sc.logic.kb.O=olympe.sc.logic.kb.P.Ma('01621fb84e32000000d1',olympe.dc.Ka.ORIGIN);olympe.sc.logic.kb.P.C=function(a,b,c,d,e,f=olympe.sc.logic.kb){f=a.create(f);f.setProperty(olympe.dc.Sync.nameProp,b||'New input');a.la(olympe.sc.logic.jc.typeRel,f,c);void 0!==e&&f.setProperty(olympe.sc.logic.jc.C,e);d&&a.la(olympe.sc.Ra.O,d,f);return f.R()};olympe.sc.logic.pb=class extends olympe.sc.logic.jc{};olympe.sc.logic.pb.P=olympe.dc.wa.C('0168a431d25001540002',olympe.sc.logic.pb);olympe.sc.logic.pb.V=P(olympe.sc.logic.pb.P,olympe.sc.Ra.V);olympe.sc.logic.pb.G=olympe.sc.logic.pb.P.Ma('0168a431d91f25780003',olympe.dc.Ka.ORIGIN);olympe.sc.logic.pb.O=olympe.sc.logic.pb.P.Ma('01621fb84e32000000a2',olympe.dc.Ka.ORIGIN);olympe.sc.logic.pb.L=olympe.sc.logic.pb.P.Ma('01621fb84e32000000d2',olympe.dc.Ka.ORIGIN);
1005
+ olympe.sc.logic.pb.P.C=function(a,b,c,d,e,f=olympe.sc.logic.pb){f=a.create(f);f.setProperty(olympe.dc.Sync.nameProp,b||'New output');a.la(olympe.sc.logic.jc.typeRel,f,c);void 0!==e&&f.setProperty(olympe.sc.logic.jc.C,e);d&&a.la(olympe.sc.Ra.V,d,f);return f.R()};olympe.sc.logic.Action=class extends olympe.sc.logic.Function{setupUpdate(a,b,c){const d=this.Bd().F().R(),e=[];this.getInputs().filter(f=>f!==d).forEach((f,g)=>{e[g]=void 0;a.on(f,h=>{e[g]=h},this.tag)});if(d)a.on(d,f=>{f?b(e):c()},this.tag);else this.N.error(`Action ${this.db.name(this.mc())} (${this.mc()}) has no predefined input control flow.`)}};olympe.sc.logic.Action.P=olympe.dc.wa.C('0168c6f020f2a96a0000',olympe.sc.logic.Action,olympe.sc.T.Ha);olympe.sc.logic.Kc=class extends olympe.sc.logic.Function{run(a){this.setup(a);const b=a.getParent(),c=this.db.pc(this,olympe.sc.logic.Kc.G),d=this.db.pc(this,olympe.sc.logic.Kc.L);a.on(c,e=>b.set(d,e),this.tag)}F(){return this.vc(olympe.sc.logic.Kc.G,olympe.sc.logic.kb)}Ea(){return this.vc(olympe.sc.logic.Kc.L,olympe.sc.logic.pb)}};olympe.sc.logic.Kc.P=olympe.dc.wa.C('01621fb84e32000000a0',olympe.sc.logic.Kc,olympe.sc.T.Ha);olympe.sc.logic.Kc.G=P(olympe.sc.logic.Kc.P,olympe.sc.logic.kb.L);
1006
+ olympe.sc.logic.Kc.L=P(olympe.sc.logic.Kc.P,olympe.sc.logic.pb.O);olympe.sc.logic.Kc.P.C=function(a,b,c){b=a.create(olympe.sc.logic.Kc);a.la(olympe.sc.logic.Kc.L,b,c);a.la(olympe.dc.Sync.containsRel,b,c);return b.R()};olympe.sc.logic.Kc.prototype.F.K=new olympe.D.J(()=>olympe.sc.logic.kb,[]);olympe.sc.logic.Kc.prototype.Ea.K=new olympe.D.J(()=>olympe.sc.logic.pb,[]);olympe.sc.logic.Lc=class extends olympe.sc.logic.Function{run(a){const b=a.getParent(),c=this.db.pc(this,olympe.sc.logic.Lc.L),d=this.db.pc(this,olympe.sc.logic.Lc.G);b.on(c,e=>a.set(d,e),b.da())}Ea(){return this.vc(olympe.sc.logic.Lc.L,olympe.sc.logic.kb)}F(){return this.vc(olympe.sc.logic.Lc.G,olympe.sc.logic.pb)}};olympe.sc.logic.Lc.P=olympe.dc.wa.C('01621fb84e32000000d0',olympe.sc.logic.Lc,olympe.sc.T.Ha);olympe.sc.logic.Lc.L=P(olympe.sc.logic.Lc.P,olympe.sc.logic.kb.O);
1007
+ olympe.sc.logic.Lc.G=P(olympe.sc.logic.Lc.P,olympe.sc.logic.pb.L);olympe.sc.logic.Lc.P.C=function(a,b,c){b=a.create(olympe.sc.logic.Lc);a.la(olympe.sc.logic.Lc.L,b,c);a.la(olympe.dc.Sync.containsRel,b,c);return b.R()};olympe.sc.logic.Lc.prototype.Ea.K=new olympe.D.J(()=>olympe.sc.logic.kb,[]);olympe.sc.logic.Lc.prototype.F.K=new olympe.D.J(()=>olympe.sc.logic.pb,[]);function Ph(a,b,c){const d=a.db.pc(a,olympe.sc.logic.qb.ca)||a.db.pc(a,olympe.sc.logic.qb.O),e=a.db.pc(a,olympe.sc.logic.qb.V),f=a.C.bind(a,b,c);if(null!==d&&null!==e){let h;const k=b.Cq(e,m=>{h&&h();h=m.on(d,f,e)});return()=>{f(null);k();h&&h()}}const g=yd(a.db,a,olympe.sc.logic.qb.valueProp,f);return()=>{f(null);a.db.G(a,olympe.sc.logic.qb.valueProp,g)}}
1008
+ olympe.sc.logic.qb=class extends olympe.dc.Sync{constructor(a,b,c){super(a,b);this.N=c}C(a,b,c){const d='detachInstance'+this.tag,e=a.Ta(d,!0);e&&(e(),a.remove(d));const f=olympe.sc.Bg(c);if(f instanceof olympe.dc.Sync){const g=a.getParent();Hh(g,f);a.set(d,()=>Ah(g,f))}b(f)}rs(){const a=this.transform(olympe.sc.logic.qb.C,olympe.sc.logic.jc.typeRel);a.cd(olympe.dc.Sync);return a.ld()}bw(){return this.vc(olympe.sc.logic.qb.V,olympe.dc.Sync)}$v(){return this.vc(olympe.sc.logic.qb.ca,olympe.sc.logic.pb)}aw(){return this.vc(olympe.sc.logic.qb.O,
1009
+ olympe.dm.Property)}hv(){return this.vc(olympe.sc.logic.qb.L,olympe.dc.Sync)}fv(){return this.vc(olympe.sc.logic.qb.C,olympe.sc.logic.kb)}gv(){return this.vc(olympe.sc.logic.qb.G,olympe.dm.Property)}};olympe.sc.logic.qb.P=olympe.dc.wa.C('0168a431d91f25780000',olympe.sc.logic.qb,olympe.sc.T.Ha);olympe.sc.logic.qb.valueProp=olympe.sc.logic.qb.P.Ba('0168a431d91f25780001');olympe.sc.logic.qb.V=olympe.sc.logic.qb.P.Ma('0168a431d91f25780002');olympe.sc.logic.qb.ca=P(olympe.sc.logic.qb.P,olympe.sc.logic.pb.G);
1010
+ olympe.sc.logic.qb.O=olympe.sc.logic.qb.P.Ma('0168a431d91f25780004');olympe.sc.logic.qb.L=olympe.sc.logic.qb.P.Ma('0168a431d91f2578000a');olympe.sc.logic.qb.C=P(olympe.sc.logic.qb.P,olympe.sc.logic.kb.G);olympe.sc.logic.qb.G=olympe.sc.logic.qb.P.Ma('0168a431d91f2578000c');P(olympe.dc.Sync.P,olympe.sc.logic.qb.V);P(olympe.dm.Property.P,olympe.sc.logic.qb.O);P(olympe.dc.Sync.P,olympe.sc.logic.qb.L);P(olympe.dm.Property.P,olympe.sc.logic.qb.G);l=olympe.sc.logic.qb.prototype;
1011
+ l.rs.K=new olympe.D.J(()=>olympe.dc.Sync,[]);l.bw.K=new olympe.D.J(()=>olympe.dc.Sync,[]);l.$v.K=new olympe.D.J(()=>olympe.sc.logic.pb,[]);l.aw.K=new olympe.D.J(()=>olympe.dm.Property,[]);l.hv.K=new olympe.D.J(()=>olympe.dc.Sync,[]);l.fv.K=new olympe.D.J(()=>olympe.sc.logic.kb,[]);l.gv.K=new olympe.D.J(()=>olympe.dm.Property,[]);function $h(a,b,c,d=olympe.sc.logic.kb){if(a.info){var e=(a.info.C?a.C.G.bind(a.C):a.C.O.bind(a.C))(a.Bh(),a.info.R(),b,c,a.info.F.size,d);c=e.tag;d=e.Zp;e=e.Ju;a.info.F.set(b.toLowerCase(),{tag:olympe.dc.Da(c),Zp:olympe.dc.Da(d),Fh:olympe.dc.Da(e)})}else throw Error('Cannot add input without defining a function/action first');}
1012
+ function ai(a,b,c,d=olympe.sc.logic.pb){if(a.info){var e=(a.info.C?a.C.L.bind(a.C):a.C.V.bind(a.C))(a.Bh(),a.info.R(),b,c,a.info.G.size,d);c=e.tag;d=e.Np;e=e.exit;a.info.G.set(b.toLowerCase(),{tag:olympe.dc.Da(c),Np:olympe.dc.Da(d),input:olympe.dc.Da(e)})}else throw Error('Cannot add input without defining a function/action first');}
1013
+ olympe.sc.logic.Nh=class{constructor(){this.db=olympe.dc.Ua();this.C=new olympe.sc.logic.controllers.ot;this.info=this.transaction=null}Bh(){null===this.transaction&&(this.transaction=new olympe.dc.lb);return this.transaction}create(a,b,c=olympe.sc.logic.Kd,d=olympe.sc.logic.Function){if(null!==this.info)return olympe.ua.rb('sc').warn('A function has already been assigned to this builder via a create...() or edit...() method. Ignore this call.'),this.info;const e=this.Bh();d=fe(e,a,c,d);e.la(olympe.dc.Sync.containsRel,
1014
+ b,d);this.info=new olympe.sc.logic.Nh.C(a,d);if(this.db.Di(c,olympe.sc.logic.wk)||this.db.Di(c,olympe.sc.logic.vk))e.update(d,olympe.sc.Ra.Xa,!0),this.info.C=!0;const f=olympe.sc.logic.Nc.C,g=olympe.sc.logic.Nc.G,h=(k,m)=>this.db.Gb(k,g)-this.db.Gb(m,g);a=this.db.Sj(c,olympe.dc.Sync.extendRel,olympe.sc.logic.Kd).concat(c);a.forEach(k=>{this.db.Wa(k,olympe.sc.yc.G).sort(h).forEach(m=>{$h(this,this.db.name(m),this.db.pc(m,f),m)})});a.forEach(k=>{this.db.Wa(k,olympe.sc.yc.O).sort(h).forEach(m=>{ai(this,
1015
+ this.db.name(m),this.db.pc(m,f),m)})});return this.info}};olympe.sc.logic.Nh.C=class{constructor(a,b){this.name=a;this.L=olympe.dc.Da(b);this.C=!1;this.F=new Map;this.G=new Map}R(){return this.L}ia(){return this.name}Vj(){return!1}};olympe.sc.logic.Nh.F='A function has already been assigned to this builder via a create...() or edit...() method. Ignore this call.';olympe.sc.logic.Nh.ka=[olympe.dc.Nd];function bi(a,b){const c=a.Bd(),d=c.Yk().R(),e=c.Zk().R(),f=c.Xl().R();b.on(d,g=>{g&&(g=new Map(a.getInputs().map(h=>[h,b.get(h)])),g=olympe.sc.logic.Aj.oa(g),olympe.H.Ga.cb.Client.get(a.mc(),g).then(h=>{h=ci(h,a.F.bind(a,b));for(const [k,m]of h)k!==e&&k!==f&&b.set(k,m);b.set(e,h.get(e));b.set(f,h.get(f))}).catch(h=>{b.set(f,olympe.sc.logic.mg.create(h.toString(),1))}))},b.da())}
1016
+ function di(a,b,c,d,e){b.on(c,f=>{f&&(d.cancel(),f=new Map(a.getOutputs().map(g=>[g,b.get(g)])),f=olympe.sc.logic.Aj.oa(f),e.Sg(f).finally(()=>b.hb()))},b.da())}
1017
+ olympe.sc.logic.nh=class extends olympe.sc.logic.Function{constructor(a,b,c,d,e){super(a,b,c);this.Ea=d;this.timeout=e}run(a){this.db.Gb(this,olympe.sc.logic.nh.G)?this.gb(a):(this.setup(a),bi(this,a))}gb(a){const b=this.mc(),c=new olympe.H.Ga.cb.Kn(b);a.onDestroy(()=>{c.stop().catch(d=>this.N.error(`Error while stopping remote service ${b}: ${d}`))});c.start().then(()=>{const d=this.Bd(),e=d.pq().R(),f=d.Yk().R(),g=d.Zk().R(),h=d.Xl().R();c.Yj().subscribe(rxjs.Subscriber.create(k=>{const m=a.Vp('remote call'),
1018
+ n=ci(k.body(),this.F.bind(this,m)),p=bc(()=>{k.aq(Error(`Timeout reached on remote action ${this.db.name(this)} (${this.tag})`));m.hb()},this.timeout);di(this,m,g,p,k);di(this,m,h,p,k);super.run(m);for(const [q,r]of n)q!==f&&m.set(q,r);m.get(e)?m.set(f,n.get(f)):k.Ke().then(q=>{m.set(e,q);m.set(f,n.get(f))})},k=>{this.N.error(`Error while listening on remote action ${this.db.name(this)} (${this.tag}): ${k.message}`)}))})}F(a,b){const c=Array.from(b.md()).map(d=>d.tag());Mc(this.Ea,a.C,b,[],c)}};
1019
+ olympe.sc.logic.nh.P=olympe.dc.wa.C('017a7b0c5dcbd8964c5d',olympe.sc.logic.nh,olympe.sc.T.Ha,olympe.dc.db.T.ta,new olympe.U.ha(olympe.sc.Z.Vo));olympe.sc.logic.nh.G=olympe.sc.logic.nh.P.Ba('017a7b0c62a02a89444f');function ci(a,b){const c=(new olympe.dc.$.Go(olympe.dc.La.dd)).F(a.p||[]);b&&b(c);b=new Map;for(const [d,e]of Object.entries(a.v||{}))b.set(d,ei(olympe.sc.logic.Aj,e));return b}function fi(a){a.Bc=new olympe.dc.db.Dc;a.values=Object.create(null)}
1020
+ function ei(a,b){if(null===b||void 0===b)return null;switch(b.t){case 1:return new Date(b.d);case 2:return olympe.D.Color.create(b.r,b.g,b.b,b.a);case 3:return olympe.sc.logic.Error.create(b.m,b.c);case 4:return olympe.dc.Sync.Qb(b.v);case 5:return new Map(Object.entries(b.m).map(([c,d])=>[c,ei(a,d)]));default:return Array.isArray(b)?b.map(c=>ei(a,c)):'object'===typeof b?Object.entries(b).reduce((c,[d,e])=>{c[d]=ei(a,e);return c},{}):b}}
1021
+ function gi(a,b){var c=a.db;a=a.Bc;if(c.Fb(b)){a.Tb(b,c.Cd(b,!0),0);a.la(olympe.dc.Fc.ce,b,c.model(b),0);for(const [d,e,f]of Dd(c,b))(c=a.Qb(f))&&c.He()&&(e===olympe.dc.Ka.DESTINATION?a.la(d,b,f,0):a.la(d,f,b,0))}else olympe.ua.rb('Remote Action').error(`Try to serialize an instance ${b} that does not exist in the local datacloud.`)}
1022
+ olympe.sc.logic.Aj=class{constructor(){this.db=olympe.dc.Ua();fi(this)}static oa(a){const b=new olympe.sc.logic.Aj;for(const [c,d]of a)null!==d&&void 0!==d&&(b.values[c]=b.C(d));return b.flush()}flush(){const a=Object.create(null),b=new olympe.dc.transaction.re;this.Bc.gd(b);a.p=de(b);a.v=this.values;fi(this);return a}C(a){switch(!0){case a instanceof olympe.D.ab:return{t:1,d:a.valueOf().toISOString()};case a instanceof Date:return{t:1,d:a.toISOString()};case a instanceof olympe.D.Color:return{t:2,
1023
+ r:a.Jg().valueOf(),g:a.Hg().valueOf(),b:a.Dg().valueOf(),a:a.Cg().valueOf()};case a instanceof olympe.sc.logic.Error:return{t:3,c:a.code,m:a.xq};case a&&'function'===typeof a.R:return a=a.R(),gi(this,a),{t:4,v:a};case Array.isArray(a):return a.map(this.C.bind(this));case a instanceof Map:const b=Object.create(null);for(const [c,d]of a)'string'===typeof c&&(b[c]=this.C(d));return{t:5,m:b};case 'object'===typeof a:return Object.entries(a).reduce((c,[d,e])=>{c[d]=this.C(e);return c},{});default:return a}}};olympe.sc.logic.controllers={};olympe.sc.logic.controllers.Sk=class{constructor(a,b,c){this.db=olympe.dc.Ua();this.C=a;this.F=b;this.typeRel=c}};olympe.sc.logic.controllers.Sk.C={fy:-1,Zy:1};olympe.sc.logic.controllers.Az=class extends olympe.sc.logic.controllers.Sk{constructor(){super(olympe.sc.yc.G,olympe.sc.yc.O,olympe.sc.logic.Nc.C)}};function hi(a,b,c,d,e,f,g,h,k){a=void 0!==h?h:a.db.Wa(c,g).length;d=olympe.dc.Sync.Tb(b,f,d,e,c,a,k);b.la(olympe.dc.Sync.containsRel,c,d);b.la(olympe.dc.Sync.F,d,c);return d}
1024
+ olympe.sc.logic.controllers.ot=class extends olympe.sc.logic.controllers.Sk{constructor(){super(olympe.sc.Ra.O,olympe.sc.Ra.V,olympe.sc.logic.jc.typeRel)}G(a,b,c,d,e,f=olympe.sc.logic.kb){return hi(this,a,b,c,d,olympe.sc.logic.kb,this.C,e,f)}L(a,b,c,d,e,f=olympe.sc.logic.pb){return hi(this,a,b,c,d,olympe.sc.logic.pb,this.F,e,f)}O(a,b,c,d,e,f=olympe.sc.logic.kb){c=hi(this,a,b,c,d,olympe.sc.logic.kb,this.C,e,f);e=olympe.dc.Sync.Tb(a,olympe.sc.logic.Lc,void 0,c);a.la(olympe.dc.Sync.F,e,b);a.la(olympe.sc.Ra.G,
1025
+ b,e);d=olympe.dc.Sync.Tb(a,olympe.sc.logic.pb,'Descender output',d);a.la(olympe.dc.Sync.F,d,b);a.la(olympe.sc.logic.Lc.G,e,d);a.la(olympe.dc.Sync.containsRel,e,d);return{tag:c,Zp:e,Ju:d}}V(a,b,c,d,e,f=olympe.sc.logic.pb){c=hi(this,a,b,c,d,olympe.sc.logic.pb,this.F,e,f);a.la(olympe.dc.Sync.F,c,b);e=olympe.dc.Sync.Tb(a,olympe.sc.logic.Kc,void 0,c);a.la(olympe.dc.Sync.F,e,b);a.la(olympe.sc.Ra.G,b,e);d=olympe.dc.Sync.Tb(a,olympe.sc.logic.kb,'Ascender input',d);a.la(olympe.dc.Sync.F,d,b);a.la(olympe.sc.logic.Kc.G,
1026
+ e,d);a.la(olympe.dc.Sync.containsRel,e,d);return{tag:c,Np:e,exit:d}}};olympe.sc.logic.De={};olympe.sc.logic.De.Fr=class extends olympe.sc.logic.Function{constructor(a,b,c){super(a,b,c)}onUpdate(a,[b,c,d],[e]){fetch(`https://maps.googleapis.com/maps/api/geocode/json?latlng=${b},${c}&key=${d}`).then(f=>{f.ok?f.json().then(g=>{'OK'===g.status?e(g.results[0].formatted_address):e('No match')}):e('No match')})}};olympe.sc.logic.wa.C('0162d8f863d612851555',olympe.sc.logic.De.Fr);olympe.sc.logic.De.Gr=class extends olympe.sc.logic.Function{constructor(a,b,c,d){super(a,b,c);this.F=d}onUpdate(a,[b],[c]){try{c(olympe.dc.$.Eb.Bg(this.F.getParameter(b)))}catch(d){this.N.debug('Parameter not found : '+b)}}};olympe.sc.logic.wa.C('0166e45d472c667c91a0',olympe.sc.logic.De.Gr,olympe.U.T.vf);olympe.sc.logic.De.Tr=class extends olympe.sc.logic.Function{constructor(a,b,c,d){super(a,b,c);this.F=d}run(a){Yh(this,a,b=>{olympe.D.rc([Qb(this.F)],c=>{b(c)})})}};olympe.sc.logic.wa.C('0171a137d3955814862d',olympe.sc.logic.De.Tr,olympe.aa.T.ta);olympe.sc.logic.De.Bt=class extends olympe.sc.logic.Function{onUpdate(a,[b,c],[d]){const e=olympe.dc.Da(b);e?Be(te(new olympe.dc.Af(e),olympe.dc.ob.RUNTIME),c).wd(()=>{d(olympe.dc.Sync.Qb(e))}):this.N.warn('Cannot subscribe to an instance with no tag: '+e)}};olympe.sc.logic.wa.C('0174bf4b7e006e4b788a',olympe.sc.logic.De.Bt);olympe.sc.logic.actions={};olympe.sc.logic.actions.lr=class extends olympe.sc.logic.Action{constructor(a,b,c,d){super(a,b,c);this.F=d}onUpdate(a,b,[c]){this.F.O()?c():(this.F.ke(()=>{this.F.fd('connectAction');c()},'connectAction'),olympe.D.Ja().Sc(()=>{this.F.fd('connectAction')}),this.F.connect())}};olympe.sc.logic.wa.C('01760e73465c1c401b06',olympe.sc.logic.actions.lr,olympe.H.T.ta);olympe.sc.logic.actions.sr=class extends olympe.sc.logic.Action{constructor(a,b,c,d){super(a,b,c);this.F=d}onUpdate(a,b,[c]){this.F.O()?(this.F.Sd(()=>{this.F.zd('disconnectAction');c()},'disconnectAction'),olympe.D.Ja().Sc(()=>{this.F.zd('disconnectAction')}),this.F.Ng()):c()}};olympe.sc.logic.wa.C('01760e73465c1c401b08',olympe.sc.logic.actions.sr,olympe.H.T.ta);olympe.sc.logic.De.Es=class extends olympe.sc.logic.Function{run(a){this.setup(a);const [b,c,d]=Zh(this,a);let e,f=null,g=null;const h=a.getParent(),k=()=>{null===g||0===e?(this.N.warn('No list to iter upon'),this.N.info(a.da())):f<e?(b(g.me(f)),f++,c((new Date).getTime())):(Eh(h),d((new Date).getTime()))};this.getInputs().forEach((m,n)=>a.on(m,p=>{if(p)switch(n){case 0:g=p;break;case 1:e=g.Tf();f=0;Dh(h);k();break;case 2:k();break;default:this.N.error('Unhandled input')}},this.tag))}};
1027
+ olympe.sc.logic.wa.C('0171889b060b6cd54300',olympe.sc.logic.De.Es);olympe.sc.logic.actions.Gs=class extends olympe.sc.logic.Action{constructor(a,b,c,d){super(a,b,c);this.Ii=d}onUpdate(a,b,[c,d]){this.Ii.V(e=>{null!==e?c(olympe.sc.logic.mg.create(e.message,100)):d()})}};olympe.sc.logic.wa.C('01774b2923083a39b010',olympe.sc.logic.actions.Gs,olympe.Ya.T.nj);olympe.sc.logic.actions.Dt=class extends olympe.sc.logic.Action{constructor(a,b,c,d,e){super(a,b,c);this.Ii=d;this.F=e}run(a){Yh(this,a,(b,c)=>{Rb(this.F)?this.Ii.Qc(d=>{null!==d?b(olympe.sc.logic.mg.create(d.message,100)):c()}):b(olympe.sc.logic.mg.create('Not connected to server',100))})}};olympe.sc.logic.wa.C('0171a13bc1b0c4d628d8',olympe.sc.logic.actions.Dt,olympe.Ya.T.nj,olympe.aa.T.ta);olympe.sc.logic.cc={};olympe.sc.logic.cc.Uk=class extends olympe.sc.logic.Kd{F(){return this.Uf('016ac63808535703691c')}};olympe.sc.logic.cc.Uk.P=Xh('0169b6876a03f139d50a',olympe.sc.logic.cc.Uk);olympe.sc.logic.cc.Uk.prototype.F.K=new olympe.D.J(()=>olympe.sc.logic.kb,[]);olympe.sc.logic.cc.hl=class extends olympe.sc.logic.Kd{F(){return this.Uf('016ac63809a9a8e6db96')}G(){return this.Gg('016ac6380ab003363b3e')}};Xh('01646ad602f933b8caaf',olympe.sc.logic.cc.hl);olympe.sc.logic.cc.hl.prototype.F.K=new olympe.D.J(()=>olympe.sc.logic.kb,[]);olympe.sc.logic.cc.hl.prototype.G.K=new olympe.D.J(()=>olympe.sc.logic.pb,[]);olympe.sc.logic.cc.tj=class extends olympe.sc.logic.Kd{F(){return this.Uf('016ac6380bd98f1d91a0')}L(){return this.Gg('016ac63c589ae38ca3ae')}G(){return this.Gg('016ac63c5a377fceabaa')}};Xh('0168ec42fc01747a98b6',olympe.sc.logic.cc.tj);olympe.sc.logic.cc.tj.prototype.F.K=new olympe.D.J(()=>olympe.sc.logic.kb,[]);olympe.sc.logic.cc.tj.prototype.L.K=new olympe.D.J(()=>olympe.sc.logic.pb,[]);olympe.sc.logic.cc.tj.prototype.G.K=new olympe.D.J(()=>olympe.sc.logic.pb,[]);olympe.sc.logic.cc.vg=class extends olympe.sc.logic.Kd{Yk(){return this.Uf('017a7b07b09e3b22c8b4')}pq(){return this.Uf('017a7b07ba05807a74b0')}Zk(){return this.Gg('017a7b0818c12388d731')}Xl(){return this.Gg('017a7b085146d5e69aec')}ss(){return olympe.D.fa.F}};olympe.sc.logic.cc.vg.na='017a7b07b09e3b22c8b4';olympe.sc.logic.cc.vg.Be='017a7b07ba05807a74b0';olympe.sc.logic.cc.vg.Sd='017a7b0818c12388d731';olympe.sc.logic.cc.vg.ca='017a7b085146d5e69aec';
1028
+ olympe.sc.logic.cc.vg.P=Xh('017a7b07a948e30508fa',olympe.sc.logic.cc.vg,olympe.sc.logic.nh);l=olympe.sc.logic.cc.vg.prototype;l.Yk.K=new olympe.D.J(()=>olympe.sc.logic.kb,[]);l.pq.K=new olympe.D.J(()=>olympe.sc.logic.kb,[]);l.Zk.K=new olympe.D.J(()=>olympe.sc.logic.pb,[]);l.Xl.K=new olympe.D.J(()=>olympe.sc.logic.pb,[]);l.ss.K=olympe.D.J.O;olympe.sc.logic.cc.kp=class extends olympe.sc.logic.Kd{F(){return this.Uf('016ac63c5b3ed0562740')}};Xh('016a9766c230916ea5ec',olympe.sc.logic.cc.kp);olympe.sc.logic.cc.kp.prototype.F.K=new olympe.D.J(()=>olympe.sc.logic.kb,[]);olympe.sc.Fa={};olympe.sc.Fa.oe=class extends olympe.sc.Ra{C(){return olympe.sc.Ie.Ag.qt}};olympe.sc.Fa.oe.P=Lc(olympe.dc.wa.C('01120300000000adef00',olympe.sc.Fa.oe));olympe.sc.Fa.oe.ca=olympe.sc.Fa.oe.P.Ma('0171bc1f15da96dfdb89');P(olympe.dm.ai.P,olympe.sc.Fa.oe.ca);olympe.sc.Fa.Vi=class extends olympe.sc.Runnable{run(a){var b=this.mc();a.id===b||a.ca.has(b)||(a.ca.add(b),Ih(a,b,a));super.run(a)}F(){const a=this.db.pc(this.mc(),olympe.sc.Fa.oe.ca);return olympe.dc.Sync.Qb(a)}};olympe.sc.Fa.Vi.P=Lc(olympe.dc.wa.C('0113030000000aca1100',olympe.sc.Fa.Vi));olympe.sc.Fa.Vi.prototype.F.K=new olympe.D.J(()=>olympe.dm.ic,[]);olympe.sc.Fa.ib=class extends olympe.dc.Sync{vs(){return this.Ig(olympe.sc.Fa.ib.G)}Iw(){return this.Ig(olympe.sc.Fa.ib.xb)}us(){return this.Td(olympe.sc.Fa.ib.C)}kv(){return this.wb(olympe.sc.Fa.ib.V)}Ov(){return this.wb(olympe.sc.Fa.ib.gb)}Nv(){return this.wb(olympe.sc.Fa.ib.Pa)}Tl(){this.wb(olympe.sc.Fa.ib.Xa)}yv(){return this.wb(olympe.sc.Fa.ib.ca)}Tu(){return this.wb(olympe.sc.Fa.ib.L)}Mv(){return this.wb(olympe.sc.Fa.ib.na)}ts(){return this.wb(olympe.sc.Fa.ib.O)}};
1029
+ olympe.sc.Fa.ib.P=olympe.dc.wa.C('011203300000000adef5',olympe.sc.Fa.ib);olympe.sc.Fa.ib.G=olympe.sc.Fa.ib.P.Ba('011203300000000adef6');olympe.sc.Fa.ib.xb=olympe.sc.Fa.ib.P.Ba('011203300000000adef7');olympe.sc.Fa.ib.C=olympe.sc.Fa.ib.P.Ba('011203300000000adef8');olympe.sc.Fa.ib.V=olympe.sc.Fa.ib.P.Ba('011203300000000adef9');olympe.sc.Fa.ib.gb=olympe.sc.Fa.ib.P.Ba('011203300000000adefa');olympe.sc.Fa.ib.Pa=olympe.sc.Fa.ib.P.Ba('011203300000000adefb');olympe.sc.Fa.ib.L=olympe.sc.Fa.ib.P.Ba('011203300000000adefc');
1030
+ olympe.sc.Fa.ib.Xa=olympe.sc.Fa.ib.P.Ba('011203300000000adefd');olympe.sc.Fa.ib.ca=olympe.sc.Fa.ib.P.Ba('011203300000000adefe');olympe.sc.Fa.ib.na=olympe.sc.Fa.ib.P.Ba('011203300000000adeff');olympe.sc.Fa.ib.O=olympe.sc.Fa.ib.P.Ba('011203300000000adee0');olympe.sc.Fa.ib.Zb={INIT:0,Xx:1,bA:2,Lz:3,Kz:4,cA:5,wc:9};l=olympe.sc.Fa.ib.prototype;l.vs.K=olympe.D.J.O;l.Iw.K=olympe.D.J.O;l.us.K=olympe.D.J.G;l.kv.K=olympe.D.J.F;l.Ov.K=olympe.D.J.F;l.Nv.K=olympe.D.J.F;l.Tl.K=olympe.D.J.F;l.yv.K=olympe.D.J.F;
1031
+ l.Tu.K=olympe.D.J.F;l.Mv.K=olympe.D.J.F;l.ts.K=olympe.D.J.F;olympe.sc.Fa.Nk=class extends olympe.sc.Fa.Vi{run(a){super.run(a);a.set(olympe.sc.Ra.ud,(new Date).getTime())}};olympe.sc.Fa.Nk.P=olympe.dc.wa.C('0113032000000aca1102',olympe.sc.Fa.Nk,olympe.sc.T.Ha);olympe.sc.Fa.ue=class extends olympe.sc.Fa.oe{F(){return(new olympe.dc.oj(this.R(),olympe.sc.Fa.ib)).jj(olympe.sc.Fa.ue.na).Re().ld()}};olympe.sc.Fa.ue.P=olympe.dc.wa.C('011203300000000adef3',olympe.sc.Fa.ue);olympe.sc.Fa.ue.na=olympe.sc.Fa.ue.P.Ma('011203300000000adef4');P(olympe.sc.Fa.ib.P,olympe.sc.Fa.ue.na);
1032
+ olympe.sc.Fa.ue.P.C=(a,b,c)=>{b=fe(a,b||'New Service Application model',olympe.sc.Fa.ue,olympe.sc.Fa.Nk);a.la(olympe.sc.Fa.oe.ca,b,c);c=a.create(olympe.sc.Fa.ib).R();a.la(olympe.sc.Fa.ue.na,b,c);return b.R()};olympe.sc.Fa.ue.prototype.F.K=new olympe.D.J(()=>olympe.sc.Fa.ib,[]);olympe.sc.yg=class extends olympe.dc.Sync{static get(){return olympe.dc.Sync.Qb('011203300000000adf0f')}};olympe.sc.yg.P=olympe.dc.wa.C('011203300000000adf00',olympe.sc.yg);olympe.sc.yg.G=olympe.sc.yg.P.Ba('011203300000000adf01');olympe.sc.yg.C=olympe.sc.yg.P.Ba('011203300000000adf02');olympe.sc.yg.L='011203300000000adf0f';olympe.sc.dy=class{};olympe.sc.en=class extends olympe.dm.BrickMetadata{C(){return olympe.sc.Ie.Ag.yk}};olympe.sc.en.P=olympe.dc.wa.C('01645fe6873aeea59e64',olympe.sc.en);olympe.sc.Zd=class extends olympe.sc.Runnable{Ea(){return this.Wa(olympe.sc.Zd.L,olympe.sc.Runnable)}F(){return this.Wa(olympe.sc.Zd.G,olympe.dm.Property)}};olympe.sc.Zd.P=Lc(olympe.dc.wa.C('016c2d996d9ca27fa9d8',olympe.sc.Zd));olympe.sc.Zd.L=olympe.sc.Zd.P.Ma('016c3cb7742ec9309e0b');olympe.sc.Zd.G=olympe.sc.Zd.P.Ma('016c42d3454636f90533');olympe.sc.Zd.prototype.Ea.K=new olympe.D.J(()=>olympe.dc.pa,[]);olympe.sc.Zd.prototype.F.K=new olympe.D.J(()=>olympe.dc.pa,[]);olympe.sc.qn=class extends olympe.dm.Ob{C(){return olympe.sc.Ie.Ag.yk}};olympe.sc.qn.P=olympe.dc.wa.C('017a7a9ff057958e5678',olympe.sc.qn);olympe.sc.so=class extends olympe.dm.Ob{C(){return olympe.sc.Ie.Ag.Kt}};olympe.sc.so.P=olympe.dc.wa.C('01644b6d4543b344b857',olympe.sc.so);olympe.sc.to=class extends olympe.dc.Sync{};olympe.sc.to.P=olympe.dc.wa.C('0162f672366be5ca7a86',olympe.sc.to);olympe.sc.lp=class extends olympe.sc.Zd{};olympe.sc.lp.P=olympe.dc.wa.C('016d3f37610ae4fc3962',olympe.sc.lp);olympe.sc.Text=class extends olympe.dm.String{};olympe.sc.Text.P=olympe.dc.wa.C('016cfca73e63f9ab5ba4',olympe.sc.Text);olympe.sc.lb=class extends olympe.dc.lb{create(a,b){b=super.create(a,b);var c=null===Rh?null:olympe.dc.Ua().zi(Rh,[olympe.sc.Fa.oe.ca,olympe.sc.Yc.G.xd()])[0]||null;null!==c?olympe.dc.Ua().$f(a,olympe.sc.Vg)&&this.la(olympe.sc.Yc.L,c,b):olympe.ua.rb('sc').warn('No business container for new instance of',olympe.dc.Da(a));return b}};olympe.sc.Ie.BrickMetadata=olympe.dm.BrickMetadata;olympe.sc.Ie.$d=olympe.dm.$d;olympe.sc.od={};function ii(a){a.N.info('Starting application '+a.C);let b=!1;const c=olympe.dc.Ua();if(0<a.C.length){const d=wc(c,a.C,(e,f)=>{if(e){const g=tg(f);g.run?(a.N.debug('application retrieved: running'),(new olympe.D.kc('Application execution context',a.F.C)).run(()=>{b=!0;g.run(Jh(a.F,g.R()))})):a.N.error('application retrieved: not an Application with a run() method')}else ji(a)});olympe.D.Ja().onDestroy(()=>{xc(c,a.C,d)});bc(()=>{b||a.N.warn(`requested application ${a.C} may not be available (it may not exist or the logged user may not have the correct permissions)`)},
1020
1033
  1E4)}}
1021
- function di(a,b){if(a.L)a.N.debug('Sending getContext request'),mf(a.O,d=>{d?a.N.error('failed to synchronise (authenticated) with server: '+d.message):(a.N.debug('synchronisation request successful'),b())});else{var c=olympe.dc.Gd.hg;const d=olympe.dc.Gd.ej,e=Lh(a.F)?d:c;a.N.debug((Lh(a.F)?'PULLING':'SUBSCRIBING')+' application '+a.C);c=new olympe.async.Mh(olympe.D.Ha());c.add((f,g)=>{qe(new olympe.dc.uf(a.C,e),olympe.dc.ob.RUNTIME).gd(h=>{h?g(h.message):f()})});c.add(f=>{olympe.D.Yb([a.G.zg()],g=>
1022
- {(new olympe.dc.pa(g)).kf(f)})});c.add((f,g)=>{const h=olympe.sc.Vc.C.fo,k=olympe.sc.Vc.C.Sk;xh(a.C,m=>{switch(m){case h:case k:f();break;default:g('Error while loading the business container')}})});yb(c,(f,g)=>{if(g)throw Error(g);b()});c.start()}}function ci(a){a.N.debug('Stop the application');a.F.C.sa()}
1023
- olympe.sc.md.ll=class{constructor(a,b,c,d,e,f,g){this.G=a;this.O=b;this.N=c;this.F=d;this.C=e;this.L=f;this.U=g||!1}run(){const a=olympe.ca.qa.C.Tf,b=olympe.ca.qa.C.Ie,c=olympe.ca.qa.C.Qg,d=olympe.ca.qa.C.th;this.N.debug('runtime starting for app #'+this.C);let e=!1;const f=()=>{e||(bi(this),e=!0)};olympe.D.Yb([this.G.getState()],g=>{switch(g){case a:case c:this.N.debug('Server session opened, calling once connected callback');di(this,f);break;case b:this.N.debug('Disconnected, working offline.');
1024
- this.U&&!e&&di(this,f);break;case d:this.N.debug('waiting for authentication');break;default:this.N.debug('No server session available, waiting for connection'),e=!1,ci(this)}},'Runtime initial auth state listener')}};olympe.sc.md.ll.C='app_instance';olympe.sc.md.ll.ka=[olympe.jc.Gq];olympe.sc.md.Ii={RUNTIME:'sc.runtime.Main'};olympe.sc.md.Z={Ee:'sc.app',Ao:'sc.offlineStart'};
1025
- olympe.V.Cb(function(a){C(a,olympe.sc.md.Z.Ee,'');C(a,olympe.sc.md.Z.Ao,!1);B(a,olympe.ca.T.Fi,[new olympe.V.la(olympe.jc.Z.Ee),new olympe.V.la(olympe.sc.md.Z.Ee),new olympe.V.la(olympe.jc.Z.vk)],(b,c,d)=>new olympe.ca.Wj(d?'':b+(c?'-'+c:'')));y(a,olympe.sc.md.Ii.RUNTIME,olympe.sc.md.ll,olympe.ca.T.ua,olympe.dc.query.T.ua,olympe.sc.T.Ga,olympe.sc.T.jl,new olympe.V.la(olympe.sc.md.Z.Ee),new olympe.V.la(olympe.dc.Z.ig),new olympe.V.la(olympe.sc.md.Z.Ao));olympe.jc.zi(a,olympe.sc.md.Ii.RUNTIME,'sc.runtime');
1026
- olympe.jc.zi(a,olympe.sc.md.Ii.RUNTIME,'sc.headless');olympe.jc.zi(a,olympe.sc.md.Ii.RUNTIME)},'olympe.sc.runtime');olympe.public={};function ei(a,b){const c=new olympe.ca.Request;for(const [d,e]of a)c.set(d,e);return new Promise(d=>{Ib(olympe.public.Ua.get(),c,b,()=>{d()})})}
1027
- olympe.public.Ua=class{static Qu(a,b){return olympe.ca.Fb.Yd.ci(a,b)}static getState(){return Nb(olympe.public.Ua.get())}static bv(){return olympe.D.Sa(olympe.public.Ua.get().zg())}static Nd(){return olympe.D.Sa(Rb(olympe.public.Ua.get()))}static qh(){olympe.public.Ua.get().qh()}static yg(a){return new Promise((b,c)=>{olympe.public.Ua.get().yg(a,d=>d?c(d):b())})}static yw(a,b){return ei((new Map).set('username',a).set('password',b),'srp')}static xw(a,b){return ei((new Map).set('username',a).set('password',
1028
- b),'saml')}static zw(a,b){return ei((new Map).set('username',a).set('nonce',b),'localToken')}static fm(){return new Promise(a=>{Qb(()=>{olympe.public.Ua.get().ia.delete('logoutCallback');a()});olympe.public.Ua.get().fm()})}static get(){return olympe.ca.mc()}};olympe.public.Ua.logout=olympe.public.Ua.fm;olympe.public.Ua.loginToken=olympe.public.Ua.zw;olympe.public.Ua.loginSAML=olympe.public.Ua.xw;olympe.public.Ua.loginSRP=olympe.public.Ua.yw;olympe.public.Ua.getUserFromToken=olympe.public.Ua.yg;
1029
- olympe.public.Ua.sendKeepAlive=olympe.public.Ua.qh;olympe.public.Ua.getToken=olympe.public.Ua.Nd;olympe.public.Ua.getCurrentUser=olympe.public.Ua.bv;olympe.public.Ua.getState=olympe.public.Ua.getState;olympe.public.Ua.generateSRPData=olympe.public.Ua.Qu;olympe.public.Sb=class{static create(a){return new class extends olympe.dc.ba.Uf{C(b,c){b=a(olympe.dc.Sync.Nb(c));if('boolean'===typeof b)return b;const d=olympe.D.Ec(olympe.D.ga),e=b.subscribe(f=>d.update(olympe.D.nc(f)));olympe.D.Ha().L(()=>e.unsubscribe());return d.xb()}}}};
1030
- olympe.public.je=class{static create(a){return new class extends olympe.dc.qb.Uf{L(b,c){return olympe.dc.Sync.Nb(c)}G(b,c){b=a(b,c);if('number'===typeof b)return b;const d=olympe.D.Ec(olympe.D.ea),e=b.subscribe(f=>d.update(olympe.D.wa(f)));olympe.D.Ha().L(()=>e.unsubscribe());return d.xb()}}}};'object'===typeof exports&&(exports={FunctionBrick:olympe.sc.logic.Function,ActionBrick:olympe.sc.logic.Action,Context:olympe.sc.zb,registerBrick:olympe.sc.logic.va.C,ErrorFlow:olympe.sc.logic.Error,Entry:olympe.dc.za.Entry,Color:olympe.D.Color,Parameter:olympe.V.la,Auth:olympe.public.Ua,AuthState:{INIT:olympe.ca.qa.C.INIT,DISCONNECTED:olympe.ca.qa.C.Ie,GUEST:olympe.ca.qa.C.Qg,AUTHENTICATING:olympe.ca.qa.C.th,ERROR:olympe.ca.qa.C.wc,AUTHENTICATED:olympe.ca.qa.C.Tf},Config:class{static getParameter(a){return olympe.V.getParameter(a)}},
1031
- Sync:olympe.dc.Sync,StringPrimitive:olympe.dm.String,NumberPrimitive:olympe.dm.Number,BooleanPrimitive:olympe.dm.Boolean,DatetimePrimitive:olympe.dm.DateTime,ColorPrimitive:olympe.dm.Color,File:olympe.dm.File,User:olympe.dm.User,BusinessObject:olympe.dc.Sync,PropertyPrimitive:olympe.dm.Property,RelationPrimitive:olympe.dm.Relation,DBView:class extends olympe.dc.bb{static get(){return olympe.dc.Xa()}},ListDef:olympe.dc.pa,instanceToTag:olympe.dc.Fa,registerSync:olympe.dc.va.C,onDestroy:a=>olympe.D.Ha().onDestroy(a),
1032
- offDestroy:a=>olympe.D.Ha().ui(a),Direction:olympe.dc.Ka,FollowRules:olympe.dc.ob,transformers:{Related:olympe.dc.W.Ab,RecursiveRelated:olympe.dc.W.Tb,Distinct:olympe.dc.W.Wc,Filter:olympe.dc.W.Xc,Limit:olympe.dc.W.xd,Sort:olympe.dc.W.rd,Union:olympe.dc.W.Se},Predicate:olympe.public.Sb,predicates:{And:olympe.dc.ba.Wf,Or:olympe.dc.ba.cg,Not:olympe.dc.ba.me,Equals:olympe.dc.ba.od,Contains:olympe.dc.ba.Ed,Greater:olympe.dc.ba.Td,Smaller:olympe.dc.ba.$d,HasRelated:olympe.dc.ba.Je,InstanceOf:olympe.dc.ba.Ke,
1033
- Regex:olympe.dc.ba.Oe},Comparator:olympe.public.je,comparators:{Number:olympe.dc.qb.Number,String:olympe.dc.qb.String,DateTime:olympe.dc.qb.DateTime},valuedefs:{BooleanProperty:olympe.dc.ha.Pd,StringProperty:olympe.dc.ha.Kd,NumberProperty:olympe.dc.ha.Id,DateTimeProperty:olympe.dc.ha.Fd,Constant:olympe.dc.ha.Oc,Tag:olympe.dc.ha.Re},Transaction:olympe.sc.ib,CreateInstance:olympe.dc.transaction.ta.nd,UpdateInstance:olympe.dc.transaction.ta.fh,BurstTransaction:olympe.dc.wh,ServiceClient:olympe.J.Ea.eb.Client,
1034
- ServiceMessage:olympe.J.Ea.eb.ma,Service:olympe.J.Ea.eb.pc,GetService:olympe.J.Ea.eb.In,CallService:olympe.J.Ea.eb.Uq,SubscribeService:olympe.J.Ea.eb.Oh});
1034
+ function ki(a,b){if(a.L)a.N.debug('Sending getContext request'),of(a.O,d=>{d?a.N.error('failed to synchronise (authenticated) with server: '+d.message):(a.N.debug('synchronisation request successful'),b())});else{var c=olympe.dc.Ld.wg;const d=olympe.dc.Ld.uj,e=Kh(a.F)?d:c;a.N.debug((Kh(a.F)?'PULLING':'SUBSCRIBING')+' application '+a.C);c=new olympe.async.di(olympe.D.Ja());c.add((f,g)=>{te(new olympe.dc.Af(a.C,e),olympe.dc.ob.RUNTIME).wd(h=>{h?g(h.message):f()})});c.add(f=>{olympe.D.rc([a.G.Yf()],g=>
1035
+ {(new olympe.dc.pa(g)).pf(f)})});c.add((f,g)=>{const h=olympe.sc.Yc.C.io,k=olympe.sc.Yc.C.dl;Sh(a.C,m=>{switch(m){case h:case k:f();break;default:g('Error while loading the business container')}})});Ab(c,(f,g)=>{if(g)throw Error(g);b()});c.start()}}function ji(a){a.N.debug('Stop the application');a.F.C.ze()}
1036
+ olympe.sc.od.wl=class{constructor(a,b,c,d,e,f,g){this.G=a;this.O=b;this.N=c;this.F=d;this.C=e;this.L=f;this.V=g||!1}run(){const a=olympe.aa.qa.C.hg,b=olympe.aa.qa.C.Ne,c=olympe.aa.qa.C.bh,d=olympe.aa.qa.C.Jh;this.N.debug('runtime starting for app #'+this.C);let e=!1;const f=()=>{e||(ii(this),e=!0)};olympe.D.rc([this.G.getState()],g=>{switch(g){case a:case c:this.N.debug('Server session opened, calling once connected callback');ki(this,f);break;case b:this.N.debug('Disconnected, working offline.');
1037
+ this.V&&!e&&ki(this,f);break;case d:this.N.debug('waiting for authentication');break;default:this.N.debug('No server session available, waiting for connection'),e=!1,ji(this)}},'Runtime initial auth state listener')}};olympe.sc.od.wl.C='app_instance';olympe.sc.od.wl.ka=[olympe.nc.Tq];olympe.sc.od.Wi={RUNTIME:'sc.runtime.Main'};olympe.sc.od.Z={Le:'sc.app',Bo:'sc.offlineStart'};
1038
+ olympe.U.Ib(function(a){D(a,olympe.sc.od.Z.Le,'');D(a,olympe.sc.od.Z.Bo,!1);B(a,olympe.aa.T.Ti,[new olympe.U.ha(olympe.nc.Z.Le),new olympe.U.ha(olympe.sc.od.Z.Le),new olympe.U.ha(olympe.nc.Z.Ik)],(b,c,d)=>new olympe.aa.jk(d?'':b+(c?'-'+c:'')));y(a,olympe.sc.od.Wi.RUNTIME,olympe.sc.od.wl,olympe.aa.T.ta,olympe.dc.query.T.ta,olympe.sc.T.Ha,olympe.sc.T.vl,new olympe.U.ha(olympe.sc.od.Z.Le),new olympe.U.ha(olympe.dc.Z.xg),new olympe.U.ha(olympe.sc.od.Z.Bo));olympe.nc.Ni(a,olympe.sc.od.Wi.RUNTIME,'sc.runtime');
1039
+ olympe.nc.Ni(a,olympe.sc.od.Wi.RUNTIME,'sc.headless');olympe.nc.Ni(a,olympe.sc.od.Wi.RUNTIME)},'olympe.sc.runtime');olympe.public={};function li(a,b){const c=new olympe.aa.Request;for(const [d,e]of a)c.set(d,e);return new Promise(d=>{Kb(olympe.public.Qa.get(),c,b,()=>{d()})})}
1040
+ olympe.public.Qa=class{static Ru(a,b){return olympe.aa.zb.ge.vi(a,b)}static getState(){return Pb(olympe.public.Qa.get())}static bv(){return olympe.D.Ta(olympe.public.Qa.get().Yf())}static Ed(){return olympe.D.Ta(Tb(olympe.public.Qa.get()))}static rv(){return olympe.D.Ta(olympe.public.Qa.get().yh())||void 0}static Gh(){olympe.public.Qa.get().Gh()}static Kg(a){return new Promise((b,c)=>{olympe.public.Qa.get().Kg(a,d=>d?c(d):b())})}static Aw(a,b){return li((new Map).set('username',a).set('password',
1041
+ b),'srp')}static zw(a,b){return li((new Map).set('username',a).set('password',b),'saml')}static Bw(a,b){return li((new Map).set('username',a).set('nonce',b),'localToken')}static jm(){return new Promise(a=>{Sb(()=>{olympe.public.Qa.get().na.delete('logoutCallback');a()});olympe.public.Qa.get().jm()})}static get(){return olympe.aa.lc()}};olympe.public.Qa.logout=olympe.public.Qa.jm;olympe.public.Qa.loginToken=olympe.public.Qa.Bw;olympe.public.Qa.loginSAML=olympe.public.Qa.zw;
1042
+ olympe.public.Qa.loginSRP=olympe.public.Qa.Aw;olympe.public.Qa.getUserFromToken=olympe.public.Qa.Kg;olympe.public.Qa.sendKeepAlive=olympe.public.Qa.Gh;olympe.public.Qa.getIDPToken=olympe.public.Qa.rv;olympe.public.Qa.getToken=olympe.public.Qa.Ed;olympe.public.Qa.getCurrentUser=olympe.public.Qa.bv;olympe.public.Qa.getState=olympe.public.Qa.getState;olympe.public.Qa.generateSRPData=olympe.public.Qa.Ru;olympe.public.Wb=class{static create(a){return new class extends olympe.dc.ba.ig{C(b,c){b=a(olympe.dc.Sync.Qb(c));if('boolean'===typeof b)return b;const d=olympe.D.Ic(olympe.D.fa),e=b.subscribe(f=>d.update(olympe.D.qc(f)));olympe.D.Ja().Sc(()=>e.unsubscribe());return d.yb()}}}};
1043
+ olympe.public.pe=class{static create(a){return new class extends olympe.dc.tb.ig{L(b,c){return olympe.dc.Sync.Qb(c)}G(b,c){b=a(b,c);if('number'===typeof b)return b;const d=olympe.D.Ic(olympe.D.ea),e=b.subscribe(f=>d.update(olympe.D.va(f)));olympe.D.Ja().Sc(()=>e.unsubscribe());return d.yb()}}}};'object'===typeof exports&&(exports={FunctionBrick:olympe.sc.logic.Function,ActionBrick:olympe.sc.logic.Action,Context:olympe.sc.eb,registerBrick:olympe.sc.logic.wa.C,ErrorFlow:olympe.sc.logic.Error,Entry:olympe.dc.za.Entry,Color:olympe.D.Color,Parameter:olympe.U.ha,Auth:olympe.public.Qa,AuthState:{INIT:olympe.aa.qa.C.INIT,DISCONNECTED:olympe.aa.qa.C.Ne,GUEST:olympe.aa.qa.C.bh,AUTHENTICATING:olympe.aa.qa.C.Jh,ERROR:olympe.aa.qa.C.wc,AUTHENTICATED:olympe.aa.qa.C.hg},Config:class{static getParameter(a){return olympe.U.getParameter(a)}},
1044
+ Sync:olympe.dc.Sync,StringPrimitive:olympe.dm.String,NumberPrimitive:olympe.dm.Number,BooleanPrimitive:olympe.dm.Boolean,DatetimePrimitive:olympe.dm.DateTime,ColorPrimitive:olympe.dm.Color,Enum:olympe.dm.zf,EnumValue:olympe.dm.Enum,File:olympe.dm.File,User:olympe.dm.User,BusinessObject:olympe.dc.Sync,PropertyPrimitive:olympe.dm.Property,RelationPrimitive:olympe.dm.Relation,DBView:class extends olympe.dc.$a{static get(){return olympe.dc.Ua()}},ListDef:olympe.dc.pa,instanceToTag:olympe.dc.Da,registerSync:olympe.dc.wa.C,
1045
+ onDestroy:a=>olympe.D.Ja().onDestroy(a),offDestroy:a=>olympe.D.Ja().dg(a),Direction:olympe.dc.Ka,FollowRules:olympe.dc.ob,transformers:{Related:olympe.dc.W.Db,RecursiveRelated:olympe.dc.W.Xb,Distinct:olympe.dc.W.Zc,Filter:olympe.dc.W.$c,Limit:olympe.dc.W.Ad,Sort:olympe.dc.W.td,Union:olympe.dc.W.Ye},Predicate:olympe.public.Wb,predicates:{And:olympe.dc.ba.kg,Or:olympe.dc.ba.qg,Not:olympe.dc.ba.qe,Equals:olympe.dc.ba.qd,Contains:olympe.dc.ba.Id,Greater:olympe.dc.ba.ae,Smaller:olympe.dc.ba.he,HasRelated:olympe.dc.ba.Pe,
1046
+ InstanceOf:olympe.dc.ba.Qe,Regex:olympe.dc.ba.Ue},Comparator:olympe.public.pe,comparators:{Number:olympe.dc.tb.Number,String:olympe.dc.tb.String,DateTime:olympe.dc.tb.DateTime},valuedefs:{BooleanProperty:olympe.dc.ga.Yd,StringProperty:olympe.dc.ga.Rd,NumberProperty:olympe.dc.ga.Od,DateTimeProperty:olympe.dc.ga.Jd,Constant:olympe.dc.ga.Tc,Tag:olympe.dc.ga.We},Transaction:olympe.sc.lb,CreateInstance:olympe.dc.transaction.sa.pd,UpdateInstance:olympe.dc.transaction.sa.rh,BurstTransaction:olympe.dc.Lh,
1047
+ ServiceClient:olympe.H.Ga.cb.Client,ServiceMessage:olympe.H.Ga.cb.ma,Service:olympe.H.Ga.cb.uc,GetService:olympe.H.Ga.cb.Kn,CallService:olympe.H.Ga.cb.ir,SubscribeService:olympe.H.Ga.cb.fi});
1035
1048
 
1036
1049
 
1037
1050
  }.bind(this))();