@liascript/exporter
Version:
A generic exporter for LiaScript
1 lines • 123 kB
JavaScript
!function(){function t(t,e,n,r){Object.defineProperty(t,e,{get:n,set:r,enumerable:!0,configurable:!0})}var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},n=e.parcelRequire55a5;n.register("9WzNc",(function(e,r){t(e.exports,"default",(function(){return u}));var i=n("jwduU");function o(t,e,n){return o="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){var r=(0,i.default)(t,e);if(r){var o=Object.getOwnPropertyDescriptor(r,e);return o.get?o.get.call(n||t):o.value}},o(t,e,n)}function u(t,e,n){return o(t,e,n)}})),n.register("jwduU",(function(e,r){t(e.exports,"default",(function(){return o}));var i=n("div3d");function o(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=(0,i.default)(t)););return t}})),n.register("auvHb",(function(e,r){t(e.exports,"uint8_to_base64",(function(){return l})),t(e.exports,"base64_to_unit8",(function(){return f})),t(e.exports,"Sync",(function(){return h}));var i=n("9Klpk"),o=n("3bWnf"),u=n("eT7f3"),a=n("7OeKL"),c=n("edmAk"),s=n("ie2ZQ");function l(t){return(0,s.encode)(t)}function f(t){return(0,s.decode)(t)}function d(){for(var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:16,e="",n=0;n<t;n++)e+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".charAt(Math.floor(62*Math.random()));return e}var h=function(){"use strict";function t(e,n,r,o){var s,l=arguments.length>4&&void 0!==arguments[4]&&arguments[4],f=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],h=this;(0,i.default)(this,t),(0,u.default)(this,"isConnected",!1),(0,u.default)(this,"replyOnReceive",!1);try{(s=window.localStorage.getItem("lia-token"))||(s=d(),window.localStorage.setItem("lia-token",s))}catch(t){console.warn("cannot write to localStorage"),s=d()}this.token=s,this.urlCounter=0,this.cbConnection=e,this.cbRelay=n,this.onConnect=r,this.onReceive=o,this.replyOnReceive=l;var v=this,g=function(t){var e=function(){return 200*(t.db.getPeers().length+1)+(t.db.initialized?5e3:1e3)},n=null;function r(){if(t.isConnected)try{t.broadcast(!0,t.db.encode()),n=window.setTimeout(r,e())}catch(t){console.warn("Gossip error:",t),n=null}}return function(){n&&window.clearTimeout(n),t.db.initialized?r():t.db.initPromise?t.db.initPromise.then(r):n=window.setTimeout(r,e())}}(v);this.gossip=g;var p=a.throttle((function(){v.broadcast(!0,v.db.encode()),g()}),1e3);this.db=new(0,c.CRDT)(s,f?function(t,e){if(v.db){switch(e){case"cursor":h.sync("update",{cmd:"cursor",param:t});break;case"peer":h.sync("update",{cmd:"peer",param:t});break;case"code":h.sync("update",{cmd:"code",param:t});break;case"quiz":h.sync("update",{cmd:"quiz",param:t});break;case"survey":h.sync("update",{cmd:"survey",param:t});break;case"chat":h.sync("update",{cmd:"chat",param:t});break;case"exit":try{e=null,h.broadcast(!0,t),h.destroy()}catch(t){}break;default:console.warn("Sync unknown origin",e)}e&&p()}}:void 0)}return(0,o.default)(t,[{key:"connect",value:function(t){this.room=t.room,this.course=t.course,this.password=t.password,this.isConnected=!0}},{key:"destroy",value:function(){this.db.destroy(),this.cbConnection("disconnect",this.token),this.isConnected=!1}},{key:"disconnect",value:function(){this.db.removePeer()}},{key:"uniqueID",value:function(){return"string"==typeof this.room&&(this.room.startsWith('"')&&this.room.endsWith('"')||this.room.startsWith("'")&&this.room.endsWith("'"))?this.room:this.course&&this.room?JSON.stringify({course:this.course,room:this.room,pw:a.getHashCode(this.password||"")}):(console.warn("Sync: no uniqueID"),null)}},{key:"sendToLia",value:function(t){this.cbRelay(t)}},{key:"sync",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.cbConnection(t,e)}},{key:"sendDisconnectError",value:function(t){this.sync("error",t)}},{key:"sendConnect",value:function(){this.sync("connect",this.token),this.onConnect&&this.onConnect()}},{key:"pubsubSend",value:function(t,e){var n,r=JSON.stringify({topic:t,message:e}),i=new TextEncoder;this.broadcast(!1,i.encode(r)),this.replyOnReceive&&(null===(n=this.onReceive)||void 0===n||n.call(this,t,e))}},{key:"pubsubReceive",value:function(t){try{var e,n=(new TextDecoder).decode(t),r=JSON.parse(n);null===(e=this.onReceive)||void 0===e||e.call(this,r.topic,r.message)}catch(t){console.warn("Sync: pubsubReceive",t.message)}}},{key:"broadcast",value:function(t,e){console.warn("broadcast needs to be implemented")}},{key:"load",value:function(t,e){try{for(var n=this,r=function(r){var i=document.createElement("script");i.async=!1,i.defer=!0,i.src=t[r],n.urlCounter++;var o=n;i.onload=function(){console.log("successfully loaded =>",t),o.urlCounter--,0==o.urlCounter&&e.init(!0)},i.onerror=function(n){console.warn("could not load =>",t,n),o.urlCounter=0,e.init(!1,"could not load => ".concat(t))},document.head.appendChild(i)},i=0;i<t.length;i++)r(i)}catch(t){console.error("load: ",t),e.init(!1,t.message)}}},{key:"publish",value:function(t){switch(t.message.cmd){case"update":break;case"join":this.db.init(t.message.param),this.gossip();break;case"chat":this.db.addChatMessage(t.message.param);break;case"quiz":var e,n;"quiz"===(null===(e=t.track)||void 0===e?void 0:e[0][0])&&"id"===(null===(n=t.track)||void 0===n?void 0:n[1][0])?this.db.addQuiz(t.track[0][1],t.track[1][1],t.message.param):console.warn("SyncTX wrong event ->",t);break;case"survey":var r,i;"survey"===(null===(r=t.track)||void 0===r?void 0:r[0][0])&&"id"===(null===(i=t.track)||void 0===i?void 0:i[1][0])?this.db.addSurvey(t.track[0][1],t.track[1][1],t.message.param):console.warn("SyncTX wrong event ->",t);break;case"code":var o,u;"code"===(null===(o=t.track)||void 0===o?void 0:o[0][0])&&"id"===(null===(u=t.track)||void 0===u?void 0:u[1][0])?this.db.updateCode(t.track[0][1],t.track[1][1],t.message.param.j,t.message.param.msg):console.warn("SyncTX wrong event ->",t);break;case"codes":var a;if("code"===(null===(a=t.track)||void 0===a?void 0:a[0][0])&&1===t.track.length)for(var c=0;c<t.message.param.length;c++)for(var s=0;s<t.message.param[c].length;s++)this.db.initCode(t.track[0][1],c,s,t.message.param[c][s]);else console.warn("SyncTX wrong event ->",t);break;case"cursor":var l;"code"==(null===(l=t.track)||void 0===l?void 0:l[0][0])&&this.db.setCursor(t.track[0][1],t.message.param);break;case"broadcast":this.broadcast(!0,t.message.param);default:console.warn("SyncTX unknown command:",t.message)}}},{key:"applyUpdate",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.db.applyUpdate(t,e)}}]),t}()})),n.register("edmAk",(function(e,r){t(e.exports,"CRDT",(function(){return v}));var i=n("9Klpk"),o=n("3bWnf"),u=n("eT7f3"),a=n("bgoEC"),c=n("5ENmm"),s=n("bymyA"),l=n("7OeKL"),f=n("17n8H"),d="peers",h="cursors",v=function(){"use strict";function t(e,n){(0,i.default)(this,t),(0,u.default)(this,"timestamp",Date.now()),(0,u.default)(this,"initialized",!1),(0,u.default)(this,"initPromise",null),this.doc=new s.Doc,this.callback=n||function(t,e){console.warn("SyncDB: no callback provided")},this.length=0,this.peerID=e,this.peers=this.doc.getMap(d),this.cursors=this.doc.getMap(h),this.codes=this.doc.getMap("c"),this.quizzes=new(0,f.YKeyValue)(this.doc.getArray("q")),this.surveys=new(0,f.YKeyValue)(this.doc.getArray("s")),this.chat=new(0,f.YKeyValue)(this.doc.getArray("chat"))}return(0,o.default)(t,[{key:"init",value:function(t){var e=this;return this.initPromise=new Promise((function(n){e.initState=t,e.length=Math.max(e.length,t.length);var r=e;e.doc.transact((function(){for(var n=0;n<t.length;n++)r.initMap(e.quizzes,n,t[n].q),r.initMap(e.surveys,n,t[n].s),r.initText(n,t[n].c);r.peers.set(r.peerID,!0)}),e.peerID),e.registerCallbacks(),e.initialized=!0,n()})),this.initPromise}},{key:"registerCallbacks",value:function(){var t=this;this.peers.observe((function(e){var n=t.getPeers();t.callback(n,"peer")})),this.cursors.observe((function(e){var n=t.getPeers();t.callback(t.getCursors(n),"cursor")})),this.quizzes.on("change",(function(e){var n=t.getUpdates(t.quizzes,e);n&&t.callback(n,"quiz")})),this.surveys.on("change",(function(e){var n=t.getUpdates(t.surveys,e);n&&t.callback(n,"survey")})),this.chat.on("change",(function(e){var n,r=[],i=!0,o=!1,u=void 0;try{for(var a,s=e[Symbol.iterator]();!(i=(a=s.next()).done);i=!0){var l=(0,c.default)(a.value,2),f=l[0],d=l[1];"add"===d.action&&((n=d.newValue).id=parseInt(f),r.push(n))}}catch(t){o=!0,u=t}finally{try{i||null==s.return||s.return()}finally{if(o)throw u}}r.length>0&&t.callback(r,"chat")})),this.codes.observeDeep((function(e){var n=new Set,r=!0,i=!1,o=void 0;try{for(var u,a=e[Symbol.iterator]();!(r=(u=a.next()).done);r=!0){var s=u.value.currentTarget.keys(),l=!0,f=!1,d=void 0;try{for(var h,v=s[Symbol.iterator]();!(l=(h=v.next()).done);l=!0){var g=h.value;try{var p=(0,c.default)(JSON.parse(g),1)[0];n.add(p)}catch(t){}}}catch(t){f=!0,d=t}finally{try{l||null==v.return||v.return()}finally{if(f)throw d}}}}catch(t){i=!0,o=t}finally{try{r||null==a.return||a.return()}finally{if(i)throw o}}n.size>0&&t.callback(t.getCode(n),"code")})),this.peers.set(this.peerID,!0)}},{key:"encode",value:function(){return s.encodeStateAsUpdate(this.doc)}},{key:"destroy",value:function(){this.doc.destroy()}},{key:"applyUpdate",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=this;this.doc.transact((function(){e?(n.doc.destroy(),n.doc=new s.Doc,s.applyUpdate(n.doc,t),n.peers=n.doc.getMap(d),n.cursors=n.doc.getMap(h),n.codes=n.doc.getMap("c"),n.quizzes=new(0,f.YKeyValue)(n.doc.getArray("q")),n.surveys=new(0,f.YKeyValue)(n.doc.getArray("s")),n.chat=new(0,f.YKeyValue)(n.doc.getArray("chat")),n.init(n.initState)):s.applyUpdate(n.doc,t)}))}},{key:"log",value:function(){console.warn("*********** PEERS ***********"),console.warn(this.peers.toJSON()),console.warn("*********** STATE ***********"),console.warn(this.doc.toJSON())}},{key:"initMap",value:function(t,e,n){if(0!==n.length)for(var r,i=0;i<n.length;i++){for(var o in(r=t.get(this.id(e,i)))||(r={}),n[i])r[o]=n[i][o];t.set(this.id(e,i),r)}}},{key:"initText",value:function(t,e){if(0!==e.length)for(var n=0;n<e.length;n++)for(var r=0;r<e[n].length;r++)this.initCode(t,n,r,e[n][r])}},{key:"diff",value:function(t){return s.encodeStateAsUpdate(this.doc,t)}},{key:"getCode",value:function(t){var e=[],n=!0,r=!1,i=void 0;try{for(var o,u=t[Symbol.iterator]();!(n=(o=u.next()).done);n=!0){var a=o.value;e.push({id:a,data:this.getAllTexts(a)})}}catch(t){r=!0,i=t}finally{try{n||null==u.return||u.return()}finally{if(r)throw i}}return e}},{key:"getCursors",value:function(t){var e=[],n=this.cursors.toJSON(),r=!0,i=!1,o=void 0;try{for(var u,a=t[Symbol.iterator]();!(r=(u=a.next()).done);r=!0){var c=u.value;c!==this.peerID&&void 0!==n[c]&&e.push(n[c])}}catch(t){i=!0,o=t}finally{try{r||null==a.return||a.return()}finally{if(i)throw o}}return e}},{key:"getPeers",value:function(){var t=this.peers.toJSON();return t?Object.entries(t).filter((function(t){var e=(0,c.default)(t,2);return e[0],e[1]})).map((function(t){var e=(0,c.default)(t,2),n=e[0];return e[1],n})):[]}},{key:"removePeer",value:function(t){var e=this;this.doc.transact((function(){e.peers.set(t||e.peerID,!1)})),void 0===t&&this.callback(this.encode(),"exit")}},{key:"id",value:function(t,e,n){return void 0===n?JSON.stringify([t,e]):JSON.stringify([t,e,n])}},{key:"getMap",value:function(t,e,n){return this.doc.getMap(this.id(e,n))}},{key:"getAllMaps",value:function(t){for(var e=[],n=0;n<this.length;n++){for(var r=[],i=0;t.has(this.id(n,i));i++)r.push(t.get(this.id(n,i)));e.push(r)}return e}},{key:"getMaps",value:function(t,e){for(var n=[],r=0;e.has(this.id(t,r));r++)n.push(e.get(this.id(t,r)));return n}},{key:"getAllTexts",value:function(t){for(var e,n=[],r=0;this.codes.has(this.id(t,r,0));r++){for(var i=[],o=0;this.codes.has(this.id(t,r,o));o++)e=this.codes.get(this.id(t,r,o)),i.push((null==e?void 0:e.toString())||"");n.push(i)}return n}},{key:"addQuiz",value:function(t,e,n){this.addRecord(this.quizzes,t,e,n)}},{key:"addSurvey",value:function(t,e,n){this.addRecord(this.surveys,t,e,n)}},{key:"addRecord",value:function(t,e,n,r){var i=t.get(this.id(e,n));i||(i={}),i[this.peerID]=r,t.set(this.id(e,n),i)}},{key:"initCode",value:function(t,e,n,r){if(!this.codes.has(this.id(t,e,n))){var i=this.doc.clientID;this.doc.clientID=0;var o=new s.Text;o.insert(0,r),this.codes.set(this.id(t,e,n),o),this.doc.clientID=i}}},{key:"addChatMessage",value:function(t){this.chat.set(""+Date.now(),{color:this.getColor(),message:t,user:this.peerID})}},{key:"updateCode",value:function(t,e,n,r){var i=this;this.codes.has(this.id(t,e,n))&&this.doc.transact((function(){var o=i.codes.get(i.id(t,e,n));if(void 0!==o){var u=!0,a=!1,c=void 0;try{for(var s,l=r[Symbol.iterator]();!(u=(s=l.next()).done);u=!0){var f=s.value;switch(f.action){case"insert":o.insert(f.index,f.content);break;case"remove":o.delete(f.index,f.content.length);break;default:console.warn("Sync code, unknown action ->",f)}}}catch(t){a=!0,c=t}finally{try{u||null==l.return||l.return()}finally{if(a)throw c}}}}),"code")}},{key:"getColor",value:function(){return this.color||(this.color=l.getColorFor(this.peerID)),this.color}},{key:"setCursor",value:function(t,e){var n=this;this.doc.transact((function(){n.cursors.set(n.peerID,{id:n.peerID,section:t,project:e.project,file:e.file,state:e.state,color:n.getColor()})}),"cursor")}},{key:"removeCursor",value:function(){this.cursors.delete(this.peerID)}},{key:"getUpdates",value:function(t,e){var n=new Set,r=[],i=!0,o=!1,u=void 0;try{for(var s,l=e[Symbol.iterator]();!(i=(s=l.next()).done);i=!0){var f=(0,c.default)(s.value,2),d=f[0],h=f[1];switch(h.action){case"update":if(JSON.stringify(Object.keys(h.oldValue).sort())!==JSON.stringify(Object.keys(h.newValue).sort())){r.push([d,(0,a.default)({},h.oldValue,h.newValue)]);continue}case"add":try{var v=(0,c.default)(JSON.parse(d),1)[0];n.add(v)}catch(t){}}}}catch(t){o=!0,u=t}finally{try{i||null==l.return||l.return()}finally{if(o)throw u}}var g=[],p=!0,y=!1,k=void 0;try{for(var w,m=n[Symbol.iterator]();!(p=(w=m.next()).done);p=!0){var b=w.value;g.push({id:b,data:this.getMaps(b,t)})}}catch(t){y=!0,k=t}finally{try{p||null==m.return||m.return()}finally{if(y)throw k}}var _=!0,S=!1,x=void 0;try{for(var E,C=r[Symbol.iterator]();!(_=(E=C.next()).done);_=!0){var D=(0,c.default)(E.value,2),U=D[0],A=D[1];t.set(U,A)}}catch(t){S=!0,x=t}finally{try{_||null==C.return||C.return()}finally{if(S)throw x}}return g.length>0?g:null}}]),t}()})),n.register("bymyA",(function(r,i){t(r.exports,"Doc",(function(){return Q})),t(r.exports,"Text",(function(){return Re})),t(r.exports,"applyUpdate",(function(){return ut})),t(r.exports,"encodeStateAsUpdate",(function(){return at}));var o=n("f1evb"),u=n("9Klpk"),a=n("3bWnf"),c=n("eT7f3"),s=n("9WzNc"),l=n("div3d"),f=n("kb0qF"),d=n("bgoEC"),h=n("7j4mF"),v=n("5ENmm"),g=n("6Wo7Q"),p=n("bWNdT"),y=n("32Euv"),k=n("l6jCY"),w=n("7qPwo"),m=n("3db39"),b=n("lOVDE"),_=n("iwMp2"),S=n("i9WxE"),x=n("8C35u"),E=n("3bx5p"),C=n("jKUB9"),D=n("9eXpO"),U=n("hrH1s"),A=n("dNOud"),I=(A=n("dNOud"),n("iitZb")),T=n("b0TDd"),O=n("byQoJ"),V=(n("c01oj"),n("ktjib"),n("2EkIU")),N=n("7ke8k"),M=(k.Observable,function t(e,n){"use strict";(0,u.default)(this,t),this.clock=e,this.len=n}),R=function t(){"use strict";(0,u.default)(this,t),this.clients=new Map},B=function(t,e,n){return e.clients.forEach((function(e,r){for(var i=t.doc.store.clients.get(r),o=0;o<e.length;o++){var u=e[o];At(t,i,u.clock,u.len,n)}}))},L=function(t,e){var n=t.clients.get(e.client);return void 0!==n&&null!==function(t,e){for(var n=0,r=t.length-1;n<=r;){var i=m.floor((n+r)/2),o=t[i],u=o.clock;if(u<=e){if(e<u+o.len)return i;n=i+1}else r=i-1}return null}(n,e.clock)},P=function(t){t.clients.forEach((function(t){var e,n;for(t.sort((function(t,e){return t.clock-e.clock})),e=1,n=1;e<t.length;e++){var r=t[n-1],i=t[e];r.clock+r.len>=i.clock?r.len=m.max(r.len,i.clock+i.len-r.clock):(n<e&&(t[n]=i),n++)}t.length=n}))},j=function(t){for(var e=function(e){t[e].clients.forEach((function(r,i){if(!n.clients.has(i)){for(var o=r.slice(),u=e+1;u<t.length;u++)w.appendTo(o,t[u].clients.get(i)||[]);n.clients.set(i,o)}}))},n=new R,r=0;r<t.length;r++)e(r);return P(n),n},J=function(t,e,n,r){b.setIfUndefined(t.clients,e,(function(){return[]})).push(new M(n,r))},F=function(){return new R},W=function(t){var e=F();return t.clients.forEach((function(t,n){for(var r=[],i=0;i<t.length;i++){var o=t[i];if(o.deleted){var u=o.id.clock,a=o.length;if(i+1<t.length)for(var c=t[i+1];i+1<t.length&&c.deleted;c=t[1+ ++i])a+=c.length;r.push(new M(u,a))}}r.length>0&&e.clients.set(n,r)})),e},z=function(t,e){_.writeVarUint(t.restEncoder,e.clients.size),w.from(e.clients.entries()).sort((function(t,e){return e[0]-t[0]})).forEach((function(e){var n=(0,v.default)(e,2),r=n[0],i=n[1];t.resetDsCurVal(),_.writeVarUint(t.restEncoder,r);var o=i.length;_.writeVarUint(t.restEncoder,o);for(var u=0;u<o;u++){var a=i[u];t.writeDsClock(a.clock),t.writeDsLen(a.len)}}))},q=function(t){for(var e=function(e){t.resetDsCurVal();var r=S.readVarUint(t.restDecoder),i=S.readVarUint(t.restDecoder);if(i>0)for(var o=b.setIfUndefined(n.clients,r,(function(){return[]})),u=0;u<i;u++)o.push(new M(t.readDsClock(),t.readDsLen()))},n=new R,r=S.readVarUint(t.restDecoder),i=0;i<r;i++)e();return n},K=function(t,e,n){for(var r=new R,i=S.readVarUint(t.restDecoder),o=0;o<i;o++){t.resetDsCurVal();for(var u=S.readVarUint(t.restDecoder),a=S.readVarUint(t.restDecoder),c=n.clients.get(u)||[],s=_t(n,u),l=0;l<a;l++){var f=t.readDsClock(),d=f+t.readDsLen();if(f<s){s<d&&J(r,u,s,d-s);var h=xt(c,f),v=c[h];for(!v.deleted&&v.id.clock<f&&(c.splice(h+1,0,ln(e,v,f-v.id.clock)),h++);h<c.length&&(v=c[h++]).id.clock<d;)v.deleted||(d<v.id.clock+v.length&&c.splice(h,0,ln(e,v,d-v.id.clock)),v.delete(e))}else J(r,u,f,d-f)}}if(r.clients.size>0){var g=new nt;return _.writeVarUint(g.restEncoder,0),z(g,r),g.toUint8Array()}return null},Y=x.uint32,Q=function(t){"use strict";(0,f.default)(n,t);var e=(0,p.default)(n);function n(){var t,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=r.guid,a=void 0===i?x.uuidv4():i,c=r.collectionid,s=void 0===c?null:c,l=r.gc,f=void 0===l||l,d=r.gcFilter,h=void 0===d?function(){return!0}:d,v=r.meta,g=void 0===v?null:v,p=r.autoLoad,y=void 0!==p&&p,k=r.shouldLoad,w=void 0===k||k;(0,u.default)(this,n),(t=e.call(this)).gc=f,t.gcFilter=h,t.clientID=Y(),t.guid=a,t.collectionid=s,t.share=new Map,t.store=new mt,t._transaction=null,t._transactionCleanups=[],t.subdocs=new Set,t._item=null,t.shouldLoad=w,t.autoLoad=y,t.meta=g,t.isLoaded=!1,t.isSynced=!1,t.whenLoaded=E.create((function(e){t.on("load",(function(){t.isLoaded=!0,e((0,o.default)(t))}))}));var m=function(){return E.create((function(e){var n=function(r){void 0!==r&&!0!==r||(t.off("sync",n),e())};t.on("sync",n)}))};return t.on("sync",(function(e){!1===e&&t.isSynced&&(t.whenSynced=m()),t.isSynced=void 0===e||!0===e,t.isSynced&&!t.isLoaded&&t.emit("load",[])})),t.whenSynced=m(),t}return(0,a.default)(n,[{key:"load",value:function(){var t=this,e=this._item;null===e||this.shouldLoad||Rt(e.parent.doc,(function(e){e.subdocsLoaded.add(t)}),null,!0),this.shouldLoad=!0}},{key:"getSubdocs",value:function(){return this.subdocs}},{key:"getSubdocGuids",value:function(){return new Set(w.from(this.subdocs).map((function(t){return t.guid})))}},{key:"transact",value:function(t){return Rt(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:null)}},{key:"get",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ee,n=this,r=b.setIfUndefined(this.share,t,(function(){var t=new e;return t._integrate(n,null),t})),i=r.constructor;if(e!==ee&&i!==e){if(i===ee){var o=new e;o._map=r._map,r._map.forEach((function(t){for(;null!==t;t=t.left)t.parent=o})),o._start=r._start;for(var u=o._start;null!==u;u=u.right)u.parent=o;return o._length=r._length,this.share.set(t,o),o._integrate(this,null),o}throw new Error("Type with the name ".concat(t," has already been defined with a different constructor"))}return r}},{key:"getArray",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this.get(t,ke)}},{key:"getText",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this.get(t,Re)}},{key:"getMap",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this.get(t,me)}},{key:"getXmlElement",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this.get(t,Pe)}},{key:"getXmlFragment",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this.get(t,Le)}},{key:"toJSON",value:function(){var t={};return this.share.forEach((function(e,n){t[n]=e.toJSON()})),t}},{key:"destroy",value:function(){var t=this;w.from(this.subdocs).forEach((function(t){return t.destroy()}));var e=this._item;if(null!==e){this._item=null;var r=e.content;r.doc=new n((0,h.default)((0,d.default)({guid:this.guid},r.opts),{shouldLoad:!1})),r.doc._item=e,Rt(e.parent.doc,(function(n){var i=r.doc;e.deleted||n.subdocsAdded.add(i),n.subdocsRemoved.add(t)}),null,!0)}this.emit("destroyed",[!0]),this.emit("destroy",[this]),(0,s.default)((0,l.default)(n.prototype),"destroy",this).call(this)}},{key:"on",value:function(t,e){(0,s.default)((0,l.default)(n.prototype),"on",this).call(this,t,e)}},{key:"off",value:function(t,e){(0,s.default)((0,l.default)(n.prototype),"off",this).call(this,t,e)}}]),n}(k.Observable),G=function(){"use strict";function t(e){(0,u.default)(this,t),this.restDecoder=e}return(0,a.default)(t,[{key:"resetDsCurVal",value:function(){}},{key:"readDsClock",value:function(){return S.readVarUint(this.restDecoder)}},{key:"readDsLen",value:function(){return S.readVarUint(this.restDecoder)}}]),t}(),H=function(t){"use strict";(0,f.default)(n,t);var e=(0,p.default)(n);function n(){return(0,u.default)(this,n),e.apply(this,arguments)}return(0,a.default)(n,[{key:"readLeftID",value:function(){return pt(S.readVarUint(this.restDecoder),S.readVarUint(this.restDecoder))}},{key:"readRightID",value:function(){return pt(S.readVarUint(this.restDecoder),S.readVarUint(this.restDecoder))}},{key:"readClient",value:function(){return S.readVarUint(this.restDecoder)}},{key:"readInfo",value:function(){return S.readUint8(this.restDecoder)}},{key:"readString",value:function(){return S.readVarString(this.restDecoder)}},{key:"readParentInfo",value:function(){return 1===S.readVarUint(this.restDecoder)}},{key:"readTypeRef",value:function(){return S.readVarUint(this.restDecoder)}},{key:"readLen",value:function(){return S.readVarUint(this.restDecoder)}},{key:"readAny",value:function(){return S.readAny(this.restDecoder)}},{key:"readBuf",value:function(){return C.copyUint8Array(S.readVarUint8Array(this.restDecoder))}},{key:"readJSON",value:function(){return JSON.parse(S.readVarString(this.restDecoder))}},{key:"readKey",value:function(){return S.readVarString(this.restDecoder)}}]),n}(G),X=function(){"use strict";function t(e){(0,u.default)(this,t),this.dsCurrVal=0,this.restDecoder=e}return(0,a.default)(t,[{key:"resetDsCurVal",value:function(){this.dsCurrVal=0}},{key:"readDsClock",value:function(){return this.dsCurrVal+=S.readVarUint(this.restDecoder),this.dsCurrVal}},{key:"readDsLen",value:function(){var t=S.readVarUint(this.restDecoder)+1;return this.dsCurrVal+=t,t}}]),t}(),Z=function(t){"use strict";(0,f.default)(n,t);var e=(0,p.default)(n);function n(t){var r;return(0,u.default)(this,n),(r=e.call(this,t)).keys=[],S.readVarUint(t),r.keyClockDecoder=new S.IntDiffOptRleDecoder(S.readVarUint8Array(t)),r.clientDecoder=new S.UintOptRleDecoder(S.readVarUint8Array(t)),r.leftClockDecoder=new S.IntDiffOptRleDecoder(S.readVarUint8Array(t)),r.rightClockDecoder=new S.IntDiffOptRleDecoder(S.readVarUint8Array(t)),r.infoDecoder=new S.RleDecoder(S.readVarUint8Array(t),S.readUint8),r.stringDecoder=new S.StringDecoder(S.readVarUint8Array(t)),r.parentInfoDecoder=new S.RleDecoder(S.readVarUint8Array(t),S.readUint8),r.typeRefDecoder=new S.UintOptRleDecoder(S.readVarUint8Array(t)),r.lenDecoder=new S.UintOptRleDecoder(S.readVarUint8Array(t)),r}return(0,a.default)(n,[{key:"readLeftID",value:function(){return new vt(this.clientDecoder.read(),this.leftClockDecoder.read())}},{key:"readRightID",value:function(){return new vt(this.clientDecoder.read(),this.rightClockDecoder.read())}},{key:"readClient",value:function(){return this.clientDecoder.read()}},{key:"readInfo",value:function(){return this.infoDecoder.read()}},{key:"readString",value:function(){return this.stringDecoder.read()}},{key:"readParentInfo",value:function(){return 1===this.parentInfoDecoder.read()}},{key:"readTypeRef",value:function(){return this.typeRefDecoder.read()}},{key:"readLen",value:function(){return this.lenDecoder.read()}},{key:"readAny",value:function(){return S.readAny(this.restDecoder)}},{key:"readBuf",value:function(){return S.readVarUint8Array(this.restDecoder)}},{key:"readJSON",value:function(){return S.readAny(this.restDecoder)}},{key:"readKey",value:function(){var t=this.keyClockDecoder.read();if(t<this.keys.length)return this.keys[t];var e=this.stringDecoder.read();return this.keys.push(e),e}}]),n}(X),$=function(){"use strict";function t(){(0,u.default)(this,t),this.restEncoder=_.createEncoder()}return(0,a.default)(t,[{key:"toUint8Array",value:function(){return _.toUint8Array(this.restEncoder)}},{key:"resetDsCurVal",value:function(){}},{key:"writeDsClock",value:function(t){_.writeVarUint(this.restEncoder,t)}},{key:"writeDsLen",value:function(t){_.writeVarUint(this.restEncoder,t)}}]),t}(),tt=function(t){"use strict";(0,f.default)(n,t);var e=(0,p.default)(n);function n(){return(0,u.default)(this,n),e.apply(this,arguments)}return(0,a.default)(n,[{key:"writeLeftID",value:function(t){_.writeVarUint(this.restEncoder,t.client),_.writeVarUint(this.restEncoder,t.clock)}},{key:"writeRightID",value:function(t){_.writeVarUint(this.restEncoder,t.client),_.writeVarUint(this.restEncoder,t.clock)}},{key:"writeClient",value:function(t){_.writeVarUint(this.restEncoder,t)}},{key:"writeInfo",value:function(t){_.writeUint8(this.restEncoder,t)}},{key:"writeString",value:function(t){_.writeVarString(this.restEncoder,t)}},{key:"writeParentInfo",value:function(t){_.writeVarUint(this.restEncoder,t?1:0)}},{key:"writeTypeRef",value:function(t){_.writeVarUint(this.restEncoder,t)}},{key:"writeLen",value:function(t){_.writeVarUint(this.restEncoder,t)}},{key:"writeAny",value:function(t){_.writeAny(this.restEncoder,t)}},{key:"writeBuf",value:function(t){_.writeVarUint8Array(this.restEncoder,t)}},{key:"writeJSON",value:function(t){_.writeVarString(this.restEncoder,JSON.stringify(t))}},{key:"writeKey",value:function(t){_.writeVarString(this.restEncoder,t)}}]),n}($),et=function(){"use strict";function t(){(0,u.default)(this,t),this.restEncoder=_.createEncoder(),this.dsCurrVal=0}return(0,a.default)(t,[{key:"toUint8Array",value:function(){return _.toUint8Array(this.restEncoder)}},{key:"resetDsCurVal",value:function(){this.dsCurrVal=0}},{key:"writeDsClock",value:function(t){var e=t-this.dsCurrVal;this.dsCurrVal=t,_.writeVarUint(this.restEncoder,e)}},{key:"writeDsLen",value:function(t){0===t&&D.unexpectedCase(),_.writeVarUint(this.restEncoder,t-1),this.dsCurrVal+=t}}]),t}(),nt=function(t){"use strict";(0,f.default)(n,t);var e=(0,p.default)(n);function n(){var t;return(0,u.default)(this,n),(t=e.call(this)).keyMap=new Map,t.keyClock=0,t.keyClockEncoder=new _.IntDiffOptRleEncoder,t.clientEncoder=new _.UintOptRleEncoder,t.leftClockEncoder=new _.IntDiffOptRleEncoder,t.rightClockEncoder=new _.IntDiffOptRleEncoder,t.infoEncoder=new _.RleEncoder(_.writeUint8),t.stringEncoder=new _.StringEncoder,t.parentInfoEncoder=new _.RleEncoder(_.writeUint8),t.typeRefEncoder=new _.UintOptRleEncoder,t.lenEncoder=new _.UintOptRleEncoder,t}return(0,a.default)(n,[{key:"toUint8Array",value:function(){var t=_.createEncoder();return _.writeVarUint(t,0),_.writeVarUint8Array(t,this.keyClockEncoder.toUint8Array()),_.writeVarUint8Array(t,this.clientEncoder.toUint8Array()),_.writeVarUint8Array(t,this.leftClockEncoder.toUint8Array()),_.writeVarUint8Array(t,this.rightClockEncoder.toUint8Array()),_.writeVarUint8Array(t,_.toUint8Array(this.infoEncoder)),_.writeVarUint8Array(t,this.stringEncoder.toUint8Array()),_.writeVarUint8Array(t,_.toUint8Array(this.parentInfoEncoder)),_.writeVarUint8Array(t,this.typeRefEncoder.toUint8Array()),_.writeVarUint8Array(t,this.lenEncoder.toUint8Array()),_.writeUint8Array(t,_.toUint8Array(this.restEncoder)),_.toUint8Array(t)}},{key:"writeLeftID",value:function(t){this.clientEncoder.write(t.client),this.leftClockEncoder.write(t.clock)}},{key:"writeRightID",value:function(t){this.clientEncoder.write(t.client),this.rightClockEncoder.write(t.clock)}},{key:"writeClient",value:function(t){this.clientEncoder.write(t)}},{key:"writeInfo",value:function(t){this.infoEncoder.write(t)}},{key:"writeString",value:function(t){this.stringEncoder.write(t)}},{key:"writeParentInfo",value:function(t){this.parentInfoEncoder.write(t?1:0)}},{key:"writeTypeRef",value:function(t){this.typeRefEncoder.write(t)}},{key:"writeLen",value:function(t){this.lenEncoder.write(t)}},{key:"writeAny",value:function(t){_.writeAny(this.restEncoder,t)}},{key:"writeBuf",value:function(t){_.writeVarUint8Array(this.restEncoder,t)}},{key:"writeJSON",value:function(t){_.writeAny(this.restEncoder,t)}},{key:"writeKey",value:function(t){var e=this.keyMap.get(t);void 0===e?(this.keyClockEncoder.write(this.keyClock++),this.stringEncoder.write(t)):this.keyClockEncoder.write(e)}}]),n}(et),rt=function(t,e,n){var r=new Map;n.forEach((function(t,n){_t(e,n)>t&&r.set(n,t)})),bt(e).forEach((function(t,e){n.has(e)||r.set(e,0)})),_.writeVarUint(t.restEncoder,r.size),w.from(r.entries()).sort((function(t,e){return e[0]-t[0]})).forEach((function(n){var r=(0,v.default)(n,2),i=r[0],o=r[1];!function(t,e,n,r){r=m.max(r,e[0].id.clock);var i=xt(e,r);_.writeVarUint(t.restEncoder,e.length-i),t.writeClient(n),_.writeVarUint(t.restEncoder,r);var o=e[i];o.write(t,r-o.id.clock);for(var u=i+1;u<e.length;u++)e[u].write(t,0)}(t,e.clients.get(i),i,o)}))},it=function(t,e,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new Z(t);return Rt(e,(function(t){t.local=!1;var e=!1,n=t.doc,i=n.store,o=function(t,e){for(var n=b.create(),r=S.readVarUint(t.restDecoder),i=0;i<r;i++){var o=S.readVarUint(t.restDecoder),u=new Array(o),a=t.readClient(),c=S.readVarUint(t.restDecoder);n.set(a,{i:0,refs:u});for(var s=0;s<o;s++){var l=t.readInfo();switch(U.BITS5&l){case 0:var f=t.readLen();u[s]=new ze(pt(a,c),f),c+=f;break;case 10:var d=S.readVarUint(t.restDecoder);u[s]=new vn(pt(a,c),d),c+=d;break;default:var h=!(l&(U.BIT7|U.BIT8)),v=new fn(pt(a,c),null,(l&U.BIT8)===U.BIT8?t.readLeftID():null,null,(l&U.BIT7)===U.BIT7?t.readRightID():null,h?t.readParentInfo()?e.get(t.readString()):t.readLeftID():null,h&&(l&U.BIT6)===U.BIT6?t.readString():null,dn(t,l));u[s]=v,c+=v.length}}}return n}(r,n),u=function(t,e,n){var r=[],i=w.from(n.keys()).sort((function(t,e){return t-e}));if(0===i.length)return null;var o=function(){if(0===i.length)return null;for(var t=n.get(i[i.length-1]);t.refs.length===t.i;){if(i.pop(),!(i.length>0))return null;t=n.get(i[i.length-1])}return t},u=o();if(null===u)return null;for(var a=new mt,c=new Map,s=function(t,e){var n=c.get(t);(null==n||n>e)&&c.set(t,e)},l=u.refs[u.i++],f=new Map,d=function(){var t=!0,e=!1,o=void 0;try{for(var u,c=function(){var t=u.value,e=t.id.client,r=n.get(e);r?(r.i--,a.clients.set(e,r.refs.slice(r.i)),n.delete(e),r.i=0,r.refs=[]):a.clients.set(e,[t]),i=i.filter((function(t){return t!==e}))},s=r[Symbol.iterator]();!(t=(u=s.next()).done);t=!0)c()}catch(t){e=!0,o=t}finally{try{t||null==s.return||s.return()}finally{if(e)throw o}}r.length=0};;){if(l.constructor!==vn){var h=b.setIfUndefined(f,l.id.client,(function(){return _t(e,l.id.client)}))-l.id.clock;if(h<0)r.push(l),s(l.id.client,l.id.clock-1),d();else{var v=l.getMissing(t,e);if(null!==v){r.push(l);var g=n.get(v)||{refs:[],i:0};if(g.refs.length!==g.i){l=g.refs[g.i++];continue}s(v,_t(e,v)),d()}else(0===h||h<l.length)&&(l.integrate(t,h),f.set(l.id.client,l.id.clock+l.length))}}if(r.length>0)l=r.pop();else if(null!==u&&u.i<u.refs.length)l=u.refs[u.i++];else{if(null===(u=o()))break;l=u.refs[u.i++]}}if(a.clients.size>0){var p=new nt;return rt(p,a,new Map),_.writeVarUint(p.restEncoder,0),{missing:c,update:p.toUint8Array()}}return null}(t,i,o),a=i.pendingStructs;if(a){var c=!0,s=!1,l=void 0;try{for(var f,d=a.missing[Symbol.iterator]();!(c=(f=d.next()).done);c=!0){var h=(0,v.default)(f.value,2),g=h[0];if(h[1]<_t(i,g)){e=!0;break}}}catch(t){s=!0,l=t}finally{try{c||null==d.return||d.return()}finally{if(s)throw l}}if(u){var p=!0,y=!1,k=void 0;try{for(var m,x=u.missing[Symbol.iterator]();!(p=(m=x.next()).done);p=!0){var E=(0,v.default)(m.value,2),C=E[0],D=E[1],A=a.missing.get(C);(null==A||A>D)&&a.missing.set(C,D)}}catch(t){y=!0,k=t}finally{try{p||null==x.return||x.return()}finally{if(y)throw k}}a.update=jt([a.update,u.update])}}else i.pendingStructs=u;var I=K(r,t,i);if(i.pendingDs){var T=new Z(S.createDecoder(i.pendingDs));S.readVarUint(T.restDecoder);var O=K(T,t,i);i.pendingDs=I&&O?jt([I,O]):I||O}else i.pendingDs=I;if(e){var V=i.pendingStructs.update;i.pendingStructs=null,ot(t.doc,V)}}),n,!1)},ot=function(t,e,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Z,i=S.createDecoder(e);it(i,t,n,new r(i))},ut=function(t,e,n){return ot(t,e,n,H)},at=function(t,e){return function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Uint8Array([0]),n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new nt;!function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new Map;rt(t,e.store,n),z(t,W(e.store))}(n,t,ct(e));var r=[n.toUint8Array()];if(t.store.pendingDs&&r.push(t.store.pendingDs),t.store.pendingStructs&&r.push(Jt(t.store.pendingStructs.update,e)),r.length>1){if(n.constructor===tt)return Pt(r.map((function(t,e){return 0===e?t:qt(t)})));if(n.constructor===nt)return jt(r)}return r[0]}(t,e,new tt)},ct=function(t){return function(t){for(var e=new Map,n=S.readVarUint(t.restDecoder),r=0;r<n;r++){var i=S.readVarUint(t.restDecoder),o=S.readVarUint(t.restDecoder);e.set(i,o)}return e}(new G(S.createDecoder(t)))},st=function t(){"use strict";(0,u.default)(this,t),this.l=[]},lt=function(){return new st},ft=function(t,e){return t.l.push(e)},dt=function(t,e){var n=t.l,r=n.length;t.l=n.filter((function(t){return e!==t})),r===t.l.length&&console.error("[yjs] Tried to remove event handler that doesn't exist.")},ht=function(t,e,n){return A.callAll(t.l,[e,n])},vt=function t(e,n){"use strict";(0,u.default)(this,t),this.client=e,this.clock=n},gt=function(t,e){return t===e||null!==t&&null!==e&&t.client===e.client&&t.clock===e.clock},pt=function(t,e){return new vt(t,e)},yt=function t(e,n){"use strict";(0,u.default)(this,t),this.ds=e,this.sv=n},kt=(function(t,e){new yt(t,e)}(F(),new Map),function(t,e){return void 0===e?!t.deleted:e.sv.has(t.id.client)&&(e.sv.get(t.id.client)||0)>t.id.clock&&!L(e.ds,t.id)}),wt=function(t,e){var n=b.setIfUndefined(t.meta,wt,I.create),r=t.doc.store;n.has(e)||(e.sv.forEach((function(e,n){e<_t(r,n)&&Dt(t,pt(n,e))})),B(t,e.ds,(function(t){})),n.add(e))},mt=function t(){"use strict";(0,u.default)(this,t),this.clients=new Map,this.pendingStructs=null,this.pendingDs=null},bt=function(t){var e=new Map;return t.clients.forEach((function(t,n){var r=t[t.length-1];e.set(n,r.id.clock+r.length)})),e},_t=function(t,e){var n=t.clients.get(e);if(void 0===n)return 0;var r=n[n.length-1];return r.id.clock+r.length},St=function(t,e){var n=t.clients.get(e.id.client);if(void 0===n)n=[],t.clients.set(e.id.client,n);else{var r=n[n.length-1];if(r.id.clock+r.length!==e.id.clock)throw D.unexpectedCase()}n.push(e)},xt=function(t,e){var n=0,r=t.length-1,i=t[r],o=i.id.clock;if(o===e)return r;for(var u=m.floor(e/(o+i.length-1)*r);n<=r;){if((o=(i=t[u]).id.clock)<=e){if(e<o+i.length)return u;n=u+1}else r=u-1;u=m.floor((n+r)/2)}throw D.unexpectedCase()},Et=function(t,e){var n=t.clients.get(e.client);return n[xt(n,e.clock)]},Ct=function(t,e,n){var r=xt(e,n),i=e[r];return i.id.clock<n&&i instanceof fn?(e.splice(r+1,0,ln(t,i,n-i.id.clock)),r+1):r},Dt=function(t,e){var n=t.doc.store.clients.get(e.client);return n[Ct(t,n,e.clock)]},Ut=function(t,e,n){var r=e.clients.get(n.client),i=xt(r,n.clock),o=r[i];return n.clock!==o.id.clock+o.length-1&&o.constructor!==ze&&r.splice(i+1,0,ln(t,o,n.clock-o.id.clock+1)),o},At=function(t,e,n,r,i){if(0!==r){var o,u=n+r,a=Ct(t,e,n);do{u<(o=e[a++]).id.clock+o.length&&Ct(t,e,u),i(o)}while(a<e.length&&e[a].id.clock<u)}},It=function t(e,n,r){"use strict";(0,u.default)(this,t),this.doc=e,this.deleteSet=new R,this.beforeState=bt(e.store),this.afterState=new Map,this.changed=new Map,this.changedParentTypes=new Map,this._mergeStructs=[],this.origin=n,this.meta=new Map,this.local=r,this.subdocsAdded=new Set,this.subdocsRemoved=new Set,this.subdocsLoaded=new Set,this._needFormattingCleanup=!1},Tt=function(t,e){return!(0===e.deleteSet.clients.size&&!b.any(e.afterState,(function(t,n){return e.beforeState.get(n)!==t}))||(P(e.deleteSet),function(t,e){rt(t,e.doc.store,e.beforeState)}(t,e),z(t,e.deleteSet),0))},Ot=function(t,e,n){var r=e._item;(null===r||r.id.clock<(t.beforeState.get(r.id.client)||0)&&!r.deleted)&&b.setIfUndefined(t.changed,e,I.create).add(n)},Vt=function(t,e){for(var n=t[e],r=t[e-1],i=e;i>0&&r.deleted===n.deleted&&r.constructor===n.constructor&&r.mergeWith(n);n=r,r=t[--i-1])n instanceof fn&&null!==n.parentSub&&n.parent._map.get(n.parentSub)===n&&n.parent._map.set(n.parentSub,r);var o=e-i;return o&&t.splice(e+1-o,o),o},Nt=function(t,e,n){var r=!0,i=!1,o=void 0;try{for(var u,a=t.clients.entries()[Symbol.iterator]();!(r=(u=a.next()).done);r=!0)for(var c=(0,v.default)(u.value,2),s=c[0],l=c[1],f=e.clients.get(s),d=l.length-1;d>=0;d--)for(var h=l[d],g=h.clock+h.len,p=xt(f,h.clock),y=f[p];p<f.length&&y.id.clock<g;y=f[++p]){var k=f[p];if(h.clock+h.len<=k.id.clock)break;k instanceof fn&&k.deleted&&!k.keep&&n(k)&&k.gc(e,!1)}}catch(t){i=!0,o=t}finally{try{r||null==a.return||a.return()}finally{if(i)throw o}}},Mt=function(t,e){if(e<t.length){var n=t[e],r=n.doc,i=r.store,o=n.deleteSet,u=n._mergeStructs;try{P(o),n.afterState=bt(n.doc.store),r.emit("beforeObserverCalls",[n,r]);var a=[];n.changed.forEach((function(t,e){return a.push((function(){null!==e._item&&e._item.deleted||e._callObserver(n,t)}))})),a.push((function(){n.changedParentTypes.forEach((function(t,e){e._dEH.l.length>0&&(null===e._item||!e._item.deleted)&&((t=t.filter((function(t){return null===t.target._item||!t.target._item.deleted}))).forEach((function(t){t.currentTarget=e,t._path=null})),t.sort((function(t,e){return t.path.length-e.path.length})),ht(e._dEH,t,n))}))})),a.push((function(){return r.emit("afterTransaction",[n,r])})),(0,A.callAll)(a,[]),n._needFormattingCleanup&&Ve(n)}finally{r.gc&&Nt(o,i,r.gcFilter),function(t,e){t.clients.forEach((function(t,n){for(var r=e.clients.get(n),i=t.length-1;i>=0;i--)for(var o=t[i],u=m.min(r.length-1,1+xt(r,o.clock+o.len-1)),a=r[u];u>0&&a.id.clock>=o.clock;a=r[u])u-=1+Vt(r,u)}))}(o,i),n.afterState.forEach((function(t,e){var r=n.beforeState.get(e)||0;if(r!==t)for(var o=i.clients.get(e),u=m.max(xt(o,r),1),a=o.length-1;a>=u;)a-=1+Vt(o,a)}));for(var c=u.length-1;c>=0;c--){var s=u[c].id,l=s.client,f=s.clock,d=i.clients.get(l),h=xt(d,f);h+1<d.length&&Vt(d,h+1)>1||h>0&&Vt(d,h)}if(n.local||n.afterState.get(r.clientID)===n.beforeState.get(r.clientID)||(T.print(O.ORANGE,O.BOLD,"[yjs] ",O.UNBOLD,O.RED,"Changed the client-id because another client seems to be using it."),r.clientID=Y()),r.emit("afterTransactionCleanup",[n,r]),r._observers.has("update")){var v=new tt;Tt(v,n)&&r.emit("update",[v.toUint8Array(),n.origin,r,n])}if(r._observers.has("updateV2")){var g=new nt;Tt(g,n)&&r.emit("updateV2",[g.toUint8Array(),n.origin,r,n])}var p=n.subdocsAdded,y=n.subdocsLoaded,k=n.subdocsRemoved;(p.size>0||k.size>0||y.size>0)&&(p.forEach((function(t){t.clientID=r.clientID,null==t.collectionid&&(t.collectionid=r.collectionid),r.subdocs.add(t)})),k.forEach((function(t){return r.subdocs.delete(t)})),r.emit("subdocs",[{loaded:y,added:p,removed:k},r,n]),k.forEach((function(t){return t.destroy()}))),t.length<=e+1?(r._transactionCleanups=[],r.emit("afterAllTransactions",[r,t])):Mt(t,e+1)}}},Rt=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=t._transactionCleanups,o=!1,u=null;null===t._transaction&&(o=!0,t._transaction=new It(t,n,r),i.push(t._transaction),1===i.length&&t.emit("beforeAllTransactions",[t]),t.emit("beforeTransaction",[t._transaction,t]));try{u=e(t._transaction)}finally{if(o){var a=t._transaction===i[0];t._transaction=null,a&&Mt(i,0)}}return u};k.Observable;var Bt=function(){"use strict";function t(e,n){(0,u.default)(this,t),this.gen=function(t){var e,n,r,i,o,u,a,c,s,l,f;return(0,y.__generator)(this,(function(d){switch(d.label){case 0:e=S.readVarUint(t.restDecoder),n=0,d.label=1;case 1:if(!(n<e))return[3,10];r=S.readVarUint(t.restDecoder),i=t.readClient(),o=S.readVarUint(t.restDecoder),u=0,d.label=2;case 2:return u<r?10!==(a=t.readInfo())?[3,4]:(c=S.readVarUint(t.restDecoder),[4,new vn(pt(i,o),c)]):[3,9];case 3:return d.sent(),o+=c,[3,8];case 4:return U.BITS5&a?(s=!(a&(U.BIT7|U.BIT8)),[4,l=new fn(pt(i,o),null,(a&U.BIT8)===U.BIT8?t.readLeftID():null,null,(a&U.BIT7)===U.BIT7?t.readRightID():null,s?t.readParentInfo()?t.readString():t.readLeftID():null,s&&(a&U.BIT6)===U.BIT6?t.readString():null,dn(t,a))]):[3,6];case 5:return d.sent(),o+=l.length,[3,8];case 6:return f=t.readLen(),[4,new ze(pt(i,o),f)];case 7:d.sent(),o+=f,d.label=8;case 8:return u++,[3,2];case 9:return n++,[3,1];case 10:return[2]}}))}(e),this.curr=null,this.done=!1,this.filterSkips=n,this.next()}return(0,a.default)(t,[{key:"next",value:function(){do{this.curr=this.gen.next().value||null}while(this.filterSkips&&null!==this.curr&&this.curr.constructor===vn);return this.curr}}]),t}(),Lt=function t(e){"use strict";(0,u.default)(this,t),this.currClient=0,this.startClock=0,this.written=0,this.encoder=e,this.clientStructs=[]},Pt=function(t){return jt(t,H,tt)},jt=function(t){var e=function(){if((o=o.filter((function(t){return null!==t.curr}))).sort((function(t,e){if(t.curr.id.client===e.curr.id.client){var n=t.curr.id.clock-e.curr.id.clock;return 0===n?t.curr.constructor===e.curr.constructor?0:t.curr.constructor===vn?1:-1:n}return e.curr.id.client-t.curr.id.client})),0===o.length)return"break";var t=o[0],e=t.curr.id.client;if(null!==u){for(var n=t.curr,r=!1;null!==n&&n.id.clock+n.length<=u.struct.id.clock+u.struct.length&&n.id.client>=u.struct.id.client;)n=t.next(),r=!0;if(null===n||n.id.client!==e||r&&n.id.clock>u.struct.id.clock+u.struct.length)return"continue";if(e!==u.struct.id.client)Wt(c,u.struct,u.offset),u={struct:n,offset:0},t.next();else if(u.struct.id.clock+u.struct.length<n.id.clock)if(u.struct.constructor===vn)u.struct.length=n.id.clock+n.length-u.struct.id.clock;else{Wt(c,u.struct,u.offset);var i=n.id.clock-u.struct.id.clock-u.struct.length,a=new vn(pt(e,u.struct.id.clock+u.struct.length),i);u={struct:a,offset:0}}else{var s=u.struct.id.clock+u.struct.length-n.id.clock;s>0&&(u.struct.constructor===vn?u.struct.length-=s:n=function(t,e){if(t.constructor===ze){var n=t.id,r=n.client,i=n.clock;return new ze(pt(r,i+e),t.length-e)}if(t.constructor===vn){var o=t.id,u=o.client,a=o.clock;return new vn(pt(u,a+e),t.length-e)}var c=t,s=c.id,l=s.client,f=s.clock;return new fn(pt(l,f+e),null,pt(l,f+e-1),null,c.rightOrigin,c.parent,c.parentSub,c.content.splice(e))}(n,s)),u.struct.mergeWith(n)||(Wt(c,u.struct,u.offset),u={struct:n,offset:0},t.next())}}else u={struct:t.curr,offset:0},t.next();for(var l=t.curr;null!==l&&l.id.client===e&&l.id.clock===u.struct.id.clock+u.struct.length&&l.constructor!==vn;l=t.next())Wt(c,u.struct,u.offset),u={struct:l,offset:0}},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Z,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:nt;if(1===t.length)return t[0];for(var i=t.map((function(t){return new n(S.createDecoder(t))})),o=i.map((function(t){return new Bt(t,!0)})),u=null,a=new r,c=new Lt(a);"break"!==e(););null!==u&&(Wt(c,u.struct,u.offset),u=null),zt(c);var s=i.map((function(t){return q(t)})),l=j(s);return z(a,l),a.toUint8Array()},Jt=function(t,e){for(var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Z,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:nt,i=ct(e),o=new r,u=new Lt(o),a=new n(S.createDecoder(t)),c=new Bt(a,!1);c.curr;){var s=c.curr,l=s.id.client,f=i.get(l)||0;if(c.curr.constructor!==vn)if(s.id.clock+s.length>f)for(Wt(u,s,m.max(f-s.id.clock,0)),c.next();c.curr&&c.curr.id.client===l;)Wt(u,c.curr,0),c.next();else for(;c.curr&&c.curr.id.client===l&&c.curr.id.clock+c.curr.length<=f;)c.next();else c.next()}zt(u);var d=q(a);return z(o,d),o.toUint8Array()},Ft=function(t){t.written>0&&(t.clientStructs.push({written:t.written,restEncoder:_.toUint8Array(t.encoder.restEncoder)}),t.encoder.restEncoder=_.createEncoder(),t.written=0)},Wt=function(t,e,n){t.written>0&&t.currClient!==e.id.client&&Ft(t),0===t.written&&(t.currClient=e.id.client,t.encoder.writeClient(e.id.client),_.writeVarUint(t.encoder.restEncoder,e.id.clock+n)),e.write(t.encoder,n),t.written++},zt=function(t){Ft(t);var e=t.encoder.restEncoder;_.writeVarUint(e,t.clientStructs.length);for(var n=0;n<t.clientStructs.length;n++){var r=t.clientStructs[n];_.writeVarUint(e,r.written),_.writeUint8Array(e,r.restEncoder)}},qt=function(t){return function(t,e,n,r){for(var i=new n(S.createDecoder(t)),o=new Bt(i,!1),u=new r,a=new Lt(u),c=o.curr;null!==c;c=o.next())Wt(a,e(c),0);zt(a);var s=q(i);return z(u,s),u.toUint8Array()}(t,A.id,Z,tt)},Kt="You must not compute changes after the event-handler fired.",Yt=function(){"use strict";function t(e,n){(0,u.default)(this,t),this.target=e,this.currentTarget=e,this.transaction=n,this._changes=null,this._keys=null,this._delta=null,this._path=null}return(0,a.default)(t,[{key:"path",get:function(){return this._path||(this._path=Qt(this.currentTarget,this.target))}},{key:"deletes",value:function(t){return L(this.transaction.deleteSet,t.id)}},{key:"keys",get:function(){var t=this;if(null===this._keys){if(0===this.transaction.doc._transactionCleanups.length)throw D.create(Kt);var e=new Map,n=this.target;this.transaction.changed.get(n).forEach((function(r){if(null!==r){var i,o,u=n._map.get(r);if(t.adds(u)){for(var a=u.left;null!==a&&t.adds(a);)a=a.left;if(t.deletes(u)){if(null===a||!t.deletes(a))return;i="delete",o=w.last(a.content.getContent())}else null!==a&&t.deletes(a)?(i="update",o=w.last(a.content.getContent())):(i="add",o=void 0)}else{if(!t.deletes(u))return;i="delete",o=w.last(u.content.getContent())}e.set(r,{action:i,oldValue:o})}})),this._keys=e}return this._keys}},{key:"delta",get:function(){return this.changes.delta}},{key:"adds",value:function(t){return t.id.clock>=(this.transaction.beforeState.get(t.id.client)||0)}},{key:"changes",get:function(){var t=this._changes;if(null===t){if(0===this.transaction.doc._transactionCleanups.length)throw D.create(Kt);var e=this.target,n=I.create(),r=I.create(),i=[];if(t={added:n,deleted:r,delta:i,keys:this.keys},this.transaction.changed.get(e).has(null)){for(var o=null,u=function(){o&&i.push(o)},a=e._start;null!==a;a=a.right)a.deleted?this.deletes(a)&&!this.adds(a)&&(null!==o&&void 0!==o.delete||(u(),o={delete:0}),o.delete+=a.length,r.add(a)):this.adds(a)?(null!==o&&void 0!==o.insert||(u(),o={insert:[]}),o.insert=o.insert.concat(a.content.getContent()),n.add(a)):(null!==o&&void 0!==o.retain||(u(),o={retain:0}),o.retain+=a.length);null!==o&&void 0===o.retain&&u()}this._changes=t}return t}}]),t}(),Qt=function(t,e){for(var n=[];null!==e._item&&e!==t;){if(null!==e._item.parentSub)n.unshift(e._item.parentSub);else{for(var r=0,i=e._item.parent._start;i!==e._item&&null!==i;)i.deleted||r++,i=i.right;n.unshift(r)}e=e._item.parent}return n},Gt=0,Ht=function t(e,n){"use strict";(0,u.default)(this,t),e.marker=!0,this.p=e,this.index=n,this.timestamp=Gt++},Xt=function(t,e,n){t.p.marker=!1,t.p=e,e.marker=!0,t.index=n,t.timestamp=Gt++},Zt=function(t,e){if(null===t._start||0===e||null===t._searchMarker)return null;var n=0===t._searchMarker.length?null:t._searchMarker.reduce((function(t,n){return m.abs(e-t.index)<m.abs(e-n.index)?t:n})),r=t._start,i=0;for(null!==n&&(r=n.p,i=n.index,function(t){t.timestamp=Gt++}(n));null!==r.right&&i<e;){if(!r.deleted&&r.countable){if(e<i+r.length)break;i+=r.length}r=r.right}for(;null!==r.left&&i>e;)!(r=r.left).deleted&&r.countable&&(i-=r.length);for(;null!==r.left&&r.left.id.client===r.id.client&&r.left.id.clock+r.left.length===r.id.clock;)!(r=r.left).deleted&&r.countable&&(i-=r.length);return null!==n&&m.abs(n.index-i)<r.parent.length/80?(Xt(n,r,i),n):function(t,e,n){if(t.length>=80){var r=t.reduce((function(t,e){return t.timestamp<e.timestamp?t:e}));return Xt(r,e,n),r}var i=new Ht(e,n);return t.push(i),i}(t._searchMarker,r,i)},$t=function(t,e,n){for(var r=t.length-1;r>=0;r--){var i=t[r];if(n>0){var o=i.p;for(o.marker=!1;o&&(o.deleted||!o.countable);)(o=o.left)&&!o.deleted&&o.countable&&(i.index-=o.length);if(null===o||!0===o.marker){t.splice(r,1);continue}i.p=o,o.marker=!0}(e<i.index||n>0&&e===i.index)&&(i.index=m.max(e,i.index+n))}},te=function(t,e,n){for(var r=t,i=e.changedParentTypes;b.setIfUndefined(i,t,(function(){return[]})).push(n),null!==t._item;)t=t._item.parent;ht(r._eH,n,e)},ee=function(){"use strict";function t(){(0,u.default)(this,t),this._item=null,this._map=new Map,this._start=null,this.doc=null,this._length=0,this._eH=lt(),this._dEH=lt(),this._searchMarker=null}return(0,a.default)(t,[{key:"parent",get:function(){return this._item?this._item.parent:null}},{key:"_integrate",value:function(t,e){this.doc=t,this._item=e}},{key:"_copy",value:function(){throw D.methodUnimplemented()}},{key:"clone",value:function(){throw D.methodUnimplemented()}},{key:"_write",value:function(t){}},{key:"_first",get:function(){for(var t=this._start;null!==t&&t.deleted;)t=t.right;retu