@univerjs/drawing 0.3.0-alpha.1 → 0.3.0-nightly.202410101606

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.
@@ -1,7 +1,7 @@
1
- import { Observable } from 'rxjs';
2
1
  import { Nullable } from '@univerjs/core';
3
2
  import { JSONOp, JSONOpList } from 'ot-json1';
4
3
  import { IDrawingGroupUpdateParam, IDrawingMap, IDrawingMapItemData, IDrawingOrderMapParam, IDrawingOrderUpdateParam, IDrawingParam, IDrawingSearch, IDrawingSubunitMap, IDrawingVisibleParam, IUnitDrawingService } from './drawing-manager.service';
4
+ import { Observable } from 'rxjs';
5
5
  export interface IDrawingJsonUndo1 {
6
6
  undo: JSONOp;
7
7
  redo: JSONOp;
package/lib/umd/index.js CHANGED
@@ -1 +1 @@
1
- (function(global2,factory){typeof exports=="object"&&typeof module<"u"?factory(exports,require("rxjs"),require("@univerjs/core")):typeof define=="function"&&define.amd?define(["exports","rxjs","@univerjs/core"],factory):(global2=typeof globalThis<"u"?globalThis:global2||self,factory(global2.UniverDrawing={},global2.rxjs,global2.UniverCore))})(this,function(exports2,rxjs,core){"use strict";var __defProp=Object.defineProperty;var __defNormalProp=(obj,key,value)=>key in obj?__defProp(obj,key,{enumerable:!0,configurable:!0,writable:!0,value}):obj[key]=value;var __name=(target,value)=>__defProp(target,"name",{value,configurable:!0});var __publicField=(obj,key,value)=>__defNormalProp(obj,typeof key!="symbol"?key+"":key,value);var _a;const DRAWING_IMAGE_ALLOW_IMAGE_LIST=["image/png","image/jpeg","image/jpg","image/gif","image/bmp"];var commonjsGlobal=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},dist$1={},json1_release={},deepEqual$1={};Object.defineProperty(deepEqual$1,"__esModule",{value:!0});function eqObj(a,b){if(Array.isArray(b))return!1;for(let k in a)if(!deepEqual(a[k],b[k]))return!1;for(let k in b)if(a[k]===void 0)return!1;return!0}__name(eqObj,"eqObj");function eqArr(a,b){if(!Array.isArray(b)||a.length!==b.length)return!1;for(let i=0;i<a.length;i++)if(!deepEqual(a[i],b[i]))return!1;return!0}__name(eqArr,"eqArr");function deepEqual(a,b){return a===b?!0:a===null||b===null||typeof a!="object"||typeof b!="object"?!1:Array.isArray(a)?eqArr(a,b):eqObj(a,b)}__name(deepEqual,"deepEqual"),deepEqual$1.default=deepEqual;var deepClone$1={};Object.defineProperty(deepClone$1,"__esModule",{value:!0});function deepClone(old){if(old===null)return null;if(Array.isArray(old))return old.map(deepClone);if(typeof old=="object"){const o={};for(let k in old)o[k]=deepClone(old[k]);return o}else return old}__name(deepClone,"deepClone"),deepClone$1.default=deepClone;var cursor={};(function(exports3){Object.defineProperty(exports3,"__esModule",{value:!0}),exports3.eachChildOf=exports3.advancer=exports3.readCursor=exports3.writeCursor=exports3.WriteCursor=exports3.ReadCursor=exports3.isValidPathItem=void 0;function assert(pred,msg){if(!pred)throw new Error(msg)}__name(assert,"assert");const isObject=__name(o=>o!=null&&typeof o=="object"&&!Array.isArray(o),"isObject"),isGreaterKey=__name((a,b)=>typeof a==typeof b?a>b:typeof a=="string"&&typeof b=="number","isGreaterKey");function copyAll(c,w){for(let _k in c){const k=_k;w.write(k,c[k])}}__name(copyAll,"copyAll"),exports3.isValidPathItem=k=>typeof k=="number"||typeof k=="string"&&k!=="__proto__";const _Cursor=class _Cursor{constructor(op=null){this.parents=[],this.indexes=[],this.lcIdx=-1,this.idx=-1,this.container=op}ascend(){assert(this.parents.length===this.indexes.length/2),this.idx===0?this.parents.length?(this.lcIdx=this.indexes.pop(),this.container=this.parents.pop(),this.idx=this.indexes.pop()):(this.lcIdx=0,this.idx=-1):(assert(this.idx>0),this.idx--,isObject(this.container[this.idx])&&this.idx--)}getPath(){const path=[];let c=this.container,p=this.parents.length-1,i=this.idx;for(;i>=0;)path.unshift(c[i]),i===0?(i=this.indexes[p*2],c=this.parents[p--]):i-=isObject(c[i-1])?2:1;return path}};__name(_Cursor,"Cursor");let Cursor=_Cursor;const _ReadCursor=class _ReadCursor extends Cursor{get(){return this.container?this.container.slice(this.idx+1):null}getKey(){return assert(this.container!=null,"Invalid call to getKey before cursor descended"),this.container[this.idx]}getComponent(){let c;return this.container&&this.container.length>this.idx+1&&isObject(c=this.container[this.idx+1])?c:null}descendFirst(){let i=this.idx+1;if(!this.container||i>=this.container.length||isObject(this.container[i])&&i+1>=this.container.length)return!1;isObject(this.container[i])&&i++;const firstChild=this.container[i];return Array.isArray(firstChild)?(this.indexes.push(this.idx),this.parents.push(this.container),this.indexes.push(i),this.idx=0,this.container=firstChild):this.idx=i,!0}nextSibling(){if(assert(this.parents.length===this.indexes.length/2),this.idx>0||this.parents.length===0)return!1;const i=this.indexes[this.indexes.length-1]+1,c=this.parents[this.parents.length-1];return i>=c.length?!1:(assert(!isNaN(i)),this.indexes[this.indexes.length-1]=i,this.container=c[i],!0)}_init(_container,_idx,_parents,_indexes){this.container=_container,this.idx=_idx,this.parents=_parents.slice(),this.indexes=_indexes.slice()}clone(){const c=new _ReadCursor;return c._init(this.container,this.idx,this.parents,this.indexes),c}*[Symbol.iterator](){if(this.descendFirst()){do yield this.getKey();while(this.nextSibling());this.ascend()}}traverse(w,fn){const c=this.getComponent();c&&fn(c,w);for(const key of this)w&&w.descend(key),this.traverse(w,fn),w&&w.ascend()}eachPick(w,fn){this.traverse(w,(c,w2)=>{c.p!=null&&fn(c.p,w2)})}eachDrop(w,fn){this.traverse(w,(c,w2)=>{c.d!=null&&fn(c.d,w2)})}};__name(_ReadCursor,"ReadCursor");let ReadCursor=_ReadCursor;exports3.ReadCursor=ReadCursor;const _WriteCursor=class _WriteCursor extends Cursor{constructor(op=null){super(op),this.pendingDescent=[],this._op=op}flushDescent(){assert(this.parents.length===this.indexes.length/2),this.container===null&&(this._op=this.container=[]);for(let j=0;j<this.pendingDescent.length;j++){const k=this.pendingDescent[j];let i=this.idx+1;if(i<this.container.length&&isObject(this.container[i])&&i++,assert(i===this.container.length||!isObject(this.container[i])),i===this.container.length)this.container.push(k),this.idx=i;else if(this.container[i]===k)this.idx=i;else{if(!Array.isArray(this.container[i])){const oldChild=this.container.splice(i,this.container.length-i);this.container.push(oldChild),this.lcIdx>-1&&(this.lcIdx=i)}for(this.indexes.push(this.idx),this.parents.push(this.container),this.lcIdx!==-1&&(assert(isGreaterKey(k,this.container[this.lcIdx][0])),i=this.lcIdx+1,this.lcIdx=-1);i<this.container.length&&isGreaterKey(k,this.container[i][0]);)i++;if(this.indexes.push(i),this.idx=0,i<this.container.length&&this.container[i][0]===k)this.container=this.container[i];else{const child=[k];this.container.splice(i,0,child),this.container=child}}}this.pendingDescent.length=0}reset(){this.lcIdx=-1}getComponent(){this.flushDescent();const i=this.idx+1;if(i<this.container.length&&isObject(this.container[i]))return this.container[i];{const component={};return this.container.splice(i,0,component),component}}write(key,value){const component=this.getComponent();assert(component[key]==null||component[key]===value,"Internal consistency error: Overwritten component. File a bug"),component[key]=value}get(){return this._op}descend(key){if(!exports3.isValidPathItem(key))throw Error("Invalid JSON key");this.pendingDescent.push(key)}descendPath(path){return this.pendingDescent.push(...path),this}ascend(){this.pendingDescent.length?this.pendingDescent.pop():super.ascend()}mergeTree(data,mergeFn=copyAll){if(data===null)return;if(assert(Array.isArray(data)),data===this._op)throw Error("Cannot merge into my own tree");const _lcIdx=this.lcIdx,oldDepth=this.parents.length;let depth=0;for(let i=0;i<data.length;i++){const c=data[i];typeof c=="string"||typeof c=="number"?(depth++,this.descend(c)):Array.isArray(c)?this.mergeTree(c,mergeFn):typeof c=="object"&&mergeFn(c,this)}for(;depth--;)this.ascend();this.lcIdx=this.parents.length===oldDepth?_lcIdx:-1}at(path,fn){this.descendPath(path),fn(this);for(let i=0;i<path.length;i++)this.ascend();return this}writeAtPath(path,key,value){return this.at(path,()=>this.write(key,value)),this.reset(),this}writeMove(path1,path2,slot=0){return this.writeAtPath(path1,"p",slot).writeAtPath(path2,"d",slot)}getPath(){const path=super.getPath();return path.push(...this.pendingDescent),path}};__name(_WriteCursor,"WriteCursor");let WriteCursor=_WriteCursor;exports3.WriteCursor=WriteCursor,exports3.writeCursor=()=>new WriteCursor,exports3.readCursor=op=>new ReadCursor(op);function advancer(r,listMap,listAdv){let didDescend,valid;valid=didDescend=r?r.descendFirst():!1;function adv(ktarget){let k2_;for(;valid;){const k2=k2_=r.getKey();if(ktarget!=null){let skip=!1;if(listMap&&typeof k2=="number"&&(k2_=listMap(k2,r.getComponent()),k2_<0&&(k2_=~k2_,skip=!0)),isGreaterKey(k2_,ktarget))return null;if(k2_===ktarget&&!skip)return r}listAdv&&typeof k2_=="number"&&listAdv(k2_,r.getComponent()),valid=r.nextSibling()}return null}return __name(adv,"adv"),adv.end=()=>{didDescend&&r.ascend()},adv}__name(advancer,"advancer"),exports3.advancer=advancer;function eachChildOf(r1,r2,fn){let hasChild1,descended1,hasChild2,descended2;for(hasChild1=descended1=r1&&r1.descendFirst(),hasChild2=descended2=r2&&r2.descendFirst();hasChild1||hasChild2;){let k1=hasChild1?r1.getKey():null,k2=hasChild2?r2.getKey():null;k1!==null&&k2!==null&&(isGreaterKey(k2,k1)?k2=null:k1!==k2&&(k1=null)),fn(k1==null?k2:k1,k1!=null?r1:null,k2!=null?r2:null),k1!=null&&hasChild1&&(hasChild1=r1.nextSibling()),k2!=null&&hasChild2&&(hasChild2=r2.nextSibling())}descended1&&r1.ascend(),descended2&&r2.ascend()}__name(eachChildOf,"eachChildOf"),exports3.eachChildOf=eachChildOf})(cursor);var types={};(function(exports3){Object.defineProperty(exports3,"__esModule",{value:!0}),exports3.ConflictType=void 0,function(ConflictType){ConflictType[ConflictType.RM_UNEXPECTED_CONTENT=1]="RM_UNEXPECTED_CONTENT",ConflictType[ConflictType.DROP_COLLISION=2]="DROP_COLLISION",ConflictType[ConflictType.BLACKHOLE=3]="BLACKHOLE"}(exports3.ConflictType||(exports3.ConflictType={}))})(types);var dist={},unicount={},hasRequiredUnicount;function requireUnicount(){return hasRequiredUnicount||(hasRequiredUnicount=1,Object.defineProperty(unicount,"__esModule",{value:!0}),unicount.uniToStrPos=unicount.strPosToUni=void 0,unicount.strPosToUni=(s,strOffset=s.length)=>{let pairs=0,i=0;for(;i<strOffset;i++){const code=s.charCodeAt(i);code>=55296&&code<=57343&&(pairs++,i++)}if(i!==strOffset)throw Error("Invalid offset - splits unicode bytes");return i-pairs},unicount.uniToStrPos=(s,uniOffset)=>{let pos=0;for(;uniOffset>0;uniOffset--){const code=s.charCodeAt(pos);pos+=code>=55296&&code<=57343?2:1}return pos}),unicount}__name(requireUnicount,"requireUnicount");var type={},hasRequiredType;function requireType(){return hasRequiredType||(hasRequiredType=1,function(exports3){Object.defineProperty(exports3,"__esModule",{value:!0}),exports3.uniSlice=exports3.dlen=exports3.eachOp=void 0;const unicount_1=requireUnicount(),checkOp=__name(op=>{if(!Array.isArray(op))throw Error("Op must be an array of components");let last=null;for(let i=0;i<op.length;i++){const c=op[i];switch(typeof c){case"object":if(typeof c.d!="number"&&typeof c.d!="string")throw Error("Delete must be number or string");if(exports3.dlen(c.d)<=0)throw Error("Deletes must not be empty");break;case"string":if(!(c.length>0))throw Error("Inserts cannot be empty");break;case"number":if(!(c>0))throw Error("Skip components must be >0");if(typeof last=="number")throw Error("Adjacent skip components should be combined");break}last=c}if(typeof last=="number")throw Error("Op has a trailing skip")},"checkOp");function eachOp(op,fn){let prePos=0,postPos=0;for(let i=0;i<op.length;i++){const c=op[i];switch(fn(c,prePos,postPos),typeof c){case"object":prePos+=exports3.dlen(c.d);break;case"string":postPos+=unicount_1.strPosToUni(c);break;case"number":prePos+=c,postPos+=c;break}}}__name(eachOp,"eachOp"),exports3.eachOp=eachOp;function mapOp(op,fn){const newOp=[],append=makeAppend(newOp);return eachOp(op,(c,prePos,postPos)=>{append(fn(c,prePos,postPos))}),trim(newOp)}__name(mapOp,"mapOp");const id=__name(x=>x,"id"),normalize=__name(op=>mapOp(op,id),"normalize");exports3.dlen=d=>typeof d=="number"?d:unicount_1.strPosToUni(d);const makeAppend=__name(op=>component=>{if(!(!component||component.d===0||component.d===""))if(op.length===0)op.push(component);else if(typeof component==typeof op[op.length-1])if(typeof component=="object"){const last=op[op.length-1];last.d=typeof last.d=="string"&&typeof component.d=="string"?last.d+component.d:exports3.dlen(last.d)+exports3.dlen(component.d)}else op[op.length-1]+=component;else op.push(component)},"makeAppend"),componentLength=__name(c=>typeof c=="number"?c:typeof c=="string"?unicount_1.strPosToUni(c):typeof c.d=="number"?c.d:unicount_1.strPosToUni(c.d),"componentLength");exports3.uniSlice=(s,startUni,endUni)=>{const start=unicount_1.uniToStrPos(s,startUni),end=endUni==null?1/0:unicount_1.uniToStrPos(s,endUni);return s.slice(start,end)};const dslice=__name((d,start,end)=>typeof d=="number"?end==null?d-start:Math.min(d,end)-start:exports3.uniSlice(d,start,end),"dslice"),makeTake=__name(op=>{let idx=0,offset=0;return{take:__name((n,indivisableField)=>{if(idx===op.length)return n===-1?null:n;const c=op[idx];let part;if(typeof c=="number")return n===-1||c-offset<=n?(part=c-offset,++idx,offset=0,part):(offset+=n,n);if(typeof c=="string"){if(n===-1||indivisableField==="i"||unicount_1.strPosToUni(c.slice(offset))<=n)return part=c.slice(offset),++idx,offset=0,part;{const offset2=offset+unicount_1.uniToStrPos(c.slice(offset),n);return part=c.slice(offset,offset2),offset=offset2,part}}else{if(n===-1||indivisableField==="d"||exports3.dlen(c.d)-offset<=n)return part={d:dslice(c.d,offset)},++idx,offset=0,part;{let result=dslice(c.d,offset,offset+n);return offset+=n,{d:result}}}},"take"),peek:__name(()=>op[idx],"peek")}},"makeTake"),trim=__name(op=>(op.length>0&&typeof op[op.length-1]=="number"&&op.pop(),op),"trim");function transform(op1,op2,side){if(side!=="left"&&side!=="right")throw Error("side ("+side+") must be 'left' or 'right'");checkOp(op1),checkOp(op2);const newOp=[],append=makeAppend(newOp),{take,peek}=makeTake(op1);for(let i=0;i<op2.length;i++){const c2=op2[i];let length,c1;switch(typeof c2){case"number":for(length=c2;length>0;)c1=take(length,"i"),append(c1),typeof c1!="string"&&(length-=componentLength(c1));break;case"string":side==="left"&&typeof peek()=="string"&&append(take(-1)),append(unicount_1.strPosToUni(c2));break;case"object":for(length=exports3.dlen(c2.d);length>0;)switch(c1=take(length,"i"),typeof c1){case"number":length-=c1;break;case"string":append(c1);break;case"object":length-=exports3.dlen(c1.d)}break}}let c;for(;c=take(-1);)append(c);return trim(newOp)}__name(transform,"transform");function compose(op1,op2){checkOp(op1),checkOp(op2);const result=[],append=makeAppend(result),{take}=makeTake(op1);for(let i=0;i<op2.length;i++){const component=op2[i];let length,chunk;switch(typeof component){case"number":for(length=component;length>0;)chunk=take(length,"d"),append(chunk),typeof chunk!="object"&&(length-=componentLength(chunk));break;case"string":append(component);break;case"object":length=exports3.dlen(component.d);let offset=0;for(;offset<length;)switch(chunk=take(length-offset,"d"),typeof chunk){case"number":append({d:dslice(component.d,offset,offset+chunk)}),offset+=chunk;break;case"string":offset+=unicount_1.strPosToUni(chunk);break;case"object":append(chunk)}break}}let c;for(;c=take(-1);)append(c);return trim(result)}__name(compose,"compose");const transformPosition=__name((cursor2,op)=>{let pos=0;for(let i=0;i<op.length&&cursor2>pos;i++){const c=op[i];switch(typeof c){case"number":{pos+=c;break}case"string":const offset=unicount_1.strPosToUni(c);pos+=offset,cursor2+=offset;break;case"object":cursor2-=Math.min(exports3.dlen(c.d),cursor2-pos);break}}return cursor2},"transformPosition"),transformSelection=__name((selection,op)=>typeof selection=="number"?transformPosition(selection,op):selection.map(s=>transformPosition(s,op)),"transformSelection");function makeInvertible(op,doc,ropeImpl){return mapOp(op,(c,prePos)=>typeof c=="object"&&typeof c.d=="number"?{d:ropeImpl.slice(doc,prePos,prePos+c.d)}:c)}__name(makeInvertible,"makeInvertible");function invert(op){return mapOp(op,c=>{switch(typeof c){case"object":if(typeof c.d=="number")throw Error("Cannot invert text op: Deleted characters missing from operation. makeInvertible must be called first.");return c.d;case"string":return{d:c};case"number":return c}})}__name(invert,"invert");function stripInvertible(op){return mapOp(op,c=>typeof c=="object"&&typeof c.d=="string"?{d:unicount_1.strPosToUni(c.d)}:c)}__name(stripInvertible,"stripInvertible");function isInvertible(op){let invertible=!0;return eachOp(op,c=>{typeof c=="object"&&typeof c.d=="number"&&(invertible=!1)}),invertible}__name(isInvertible,"isInvertible");function makeType(ropeImpl){return{name:"text-unicode",uri:"http://sharejs.org/types/text-unicode",trim,normalize,checkOp,create(initial=""){if(typeof initial!="string")throw Error("Initial data must be a string");return ropeImpl.create(initial)},apply(str,op){checkOp(op);const builder=ropeImpl.builder(str);for(let i=0;i<op.length;i++){const component=op[i];switch(typeof component){case"number":builder.skip(component);break;case"string":builder.append(component);break;case"object":builder.del(exports3.dlen(component.d));break}}return builder.build()},transform,compose,transformPosition,transformSelection,isInvertible,makeInvertible(op,doc){return makeInvertible(op,doc,ropeImpl)},stripInvertible,invert,invertWithDoc(op,doc){return invert(makeInvertible(op,doc,ropeImpl))},isNoop:__name(op=>op.length===0,"isNoop")}}__name(makeType,"makeType"),exports3.default=makeType}(type)),type}__name(requireType,"requireType");var api={},hasRequiredApi;function requireApi(){if(hasRequiredApi)return api;hasRequiredApi=1,Object.defineProperty(api,"__esModule",{value:!0});const type_1=requireType(),unicount_1=requireUnicount();function api$1(getSnapshot,submitOp){return{get:getSnapshot,getLength(){return getSnapshot().length},insert(pos,text,callback){const uniPos=unicount_1.strPosToUni(getSnapshot(),pos);return submitOp([uniPos,text],callback)},remove(pos,lengthOrContent,callback){const uniPos=unicount_1.strPosToUni(getSnapshot(),pos);return submitOp([uniPos,{d:lengthOrContent}],callback)},_onOp(op){type_1.eachOp(op,(component,prePos,postPos)=>{switch(typeof component){case"string":this.onInsert&&this.onInsert(postPos,component);break;case"object":const dl=type_1.dlen(component.d);this.onRemove&&this.onRemove(postPos,dl)}})},onInsert:null,onRemove:null}}return __name(api$1,"api$1"),api.default=api$1,api$1.provides={text:!0},api}__name(requireApi,"requireApi");var hasRequiredDist;function requireDist(){return hasRequiredDist||(hasRequiredDist=1,function(exports3){var __createBinding=commonjsGlobal&&commonjsGlobal.__createBinding||(Object.create?function(o,m,k,k2){k2===void 0&&(k2=k),Object.defineProperty(o,k2,{enumerable:!0,get:__name(function(){return m[k]},"get")})}:function(o,m,k,k2){k2===void 0&&(k2=k),o[k2]=m[k]}),__setModuleDefault=commonjsGlobal&&commonjsGlobal.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=commonjsGlobal&&commonjsGlobal.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)Object.hasOwnProperty.call(mod,k)&&__createBinding(result,mod,k);return __setModuleDefault(result,mod),result},__importDefault=commonjsGlobal&&commonjsGlobal.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports3,"__esModule",{value:!0}),exports3.type=exports3.remove=exports3.insert=void 0;const unicount_1=requireUnicount(),type_1=__importStar(requireType()),api_1=__importDefault(requireApi()),ropeImplUnicodeString={create(s){return s},toString(s){return s},builder(oldDoc){if(typeof oldDoc!="string")throw Error("Invalid document snapshot: "+oldDoc);const newDoc=[];return{skip(n){let offset=unicount_1.uniToStrPos(oldDoc,n);if(offset>oldDoc.length)throw Error("The op is too long for this document");newDoc.push(oldDoc.slice(0,offset)),oldDoc=oldDoc.slice(offset)},append(s){newDoc.push(s)},del(n){oldDoc=oldDoc.slice(unicount_1.uniToStrPos(oldDoc,n))},build(){return newDoc.join("")+oldDoc}}},slice:type_1.uniSlice},textString=type_1.default(ropeImplUnicodeString),type2=Object.assign(Object.assign({},textString),{api:api_1.default});exports3.type=type2,exports3.insert=(pos,text)=>text.length===0?[]:pos===0?[text]:[pos,text],exports3.remove=(pos,textOrLen)=>type_1.dlen(textOrLen)===0?[]:pos===0?[{d:textOrLen}]:[pos,{d:textOrLen}];var type_2=requireType();Object.defineProperty(exports3,"makeType",{enumerable:!0,get:__name(function(){return type_2.default},"get")})}(dist)),dist}__name(requireDist,"requireDist"),function(exports3){var __importDefault=commonjsGlobal&&commonjsGlobal.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports3,"__esModule",{value:!0}),exports3.editOp=exports3.replaceOp=exports3.insertOp=exports3.moveOp=exports3.removeOp=exports3.type=void 0;const deepEqual_js_1=__importDefault(deepEqual$1),deepClone_js_1=__importDefault(deepClone$1),cursor_js_1=cursor,types_js_1=types;function assert(pred,msg){if(!pred)throw new Error(msg)}__name(assert,"assert"),exports3.type={name:"json1",uri:"http://sharejs.org/types/JSONv1",readCursor:cursor_js_1.readCursor,writeCursor:cursor_js_1.writeCursor,create:__name(data=>data,"create"),isNoop:__name(op=>op==null,"isNoop"),setDebug(val){},registerSubtype,checkValidOp,normalize,apply,transformPosition,compose,tryTransform,transform,makeInvertible,invert,invertWithDoc,RM_UNEXPECTED_CONTENT:types_js_1.ConflictType.RM_UNEXPECTED_CONTENT,DROP_COLLISION:types_js_1.ConflictType.DROP_COLLISION,BLACKHOLE:types_js_1.ConflictType.BLACKHOLE,transformNoConflict:__name((op1,op2,side)=>transformWithConflictsPred(()=>!0,op1,op2,side),"transformNoConflict"),typeAllowingConflictsPred:__name(allowConflict=>Object.assign(Object.assign({},exports3.type),{transform:__name((op1,op2,side)=>transformWithConflictsPred(allowConflict,op1,op2,side),"transform")}),"typeAllowingConflictsPred")};const getComponent=__name(r=>r?r.getComponent():null,"getComponent");function isObject(o){return o&&typeof o=="object"&&!Array.isArray(o)}__name(isObject,"isObject");const shallowClone=__name(obj=>Array.isArray(obj)?obj.slice():obj!==null&&typeof obj=="object"?Object.assign({},obj):obj,"shallowClone"),hasPick=__name(c=>c&&(c.p!=null||c.r!==void 0),"hasPick"),hasDrop=__name(c=>c&&(c.d!=null||c.i!==void 0),"hasDrop");function removeChild(container,key){return assert(container!=null),typeof key=="number"?(assert(Array.isArray(container),"Invalid key - child is not an array"),(container=container.slice()).splice(key,1)):(assert(isObject(container),"Invalid key - child is not an object"),delete(container=Object.assign({},container))[key]),container}__name(removeChild,"removeChild");function insertChildMut(container,key,value){return typeof key=="number"?(assert(container!=null,"Container is missing for key"),assert(Array.isArray(container),"Cannot use numerical key for object container"),assert(container.length>=key,"Cannot insert into out of bounds index"),container.splice(key,0,value)):(assert(isObject(container),"Cannot insert into missing item"),assert(container[key]===void 0,"Trying to overwrite value at key. Your op needs to remove it first"),container[key]=value),value}__name(insertChildMut,"insertChildMut"),exports3.removeOp=(path,value=!0)=>cursor_js_1.writeCursor().writeAtPath(path,"r",value).get(),exports3.moveOp=(from,to)=>cursor_js_1.writeCursor().writeMove(from,to).get(),exports3.insertOp=(path,value)=>cursor_js_1.writeCursor().writeAtPath(path,"i",value).get(),exports3.replaceOp=(path,oldVal,newVal)=>cursor_js_1.writeCursor().at(path,w=>{w.write("r",oldVal),w.write("i",newVal)}).get(),exports3.editOp=(path,type2,subOp,preserveNoop=!1)=>cursor_js_1.writeCursor().at(path,w=>writeEdit(w,type2,subOp,preserveNoop)).get();const isValidKey=__name((container,key)=>container!=null&&(typeof key=="number"?Array.isArray(container):typeof container=="object"),"isValidKey"),maybeGetChild=__name((container,key)=>isValidKey(container,key)?container[key]:void 0,"maybeGetChild"),subtypes={};function registerSubtype(subtype){let _subtype=subtype.type?subtype.type:subtype;_subtype.name&&(subtypes[_subtype.name]=_subtype),_subtype.uri&&(subtypes[_subtype.uri]=_subtype)}__name(registerSubtype,"registerSubtype");const typeOrThrow=__name(name=>{const type2=subtypes[name];if(type2)return type2;throw Error("Missing type: "+name)},"typeOrThrow");registerSubtype(requireDist());const add=__name((a,b)=>a+b,"add");registerSubtype({name:"number",apply:add,compose:add,invert:__name(n=>-n,"invert"),transform:__name(a=>a,"transform")});const getEditType=__name(c=>c==null?null:c.et?typeOrThrow(c.et):c.es?subtypes["text-unicode"]:c.ena!=null?subtypes.number:null,"getEditType"),getEdit=__name(c=>c.es?c.es:c.ena!=null?c.ena:c.e,"getEdit"),writeEdit=__name((w,typeOrName,edit,preserveNoop=!1)=>{const[type2,name]=typeof typeOrName=="string"?[typeOrThrow(typeOrName),typeOrName]:[typeOrName,typeOrName.name];!preserveNoop&&type2.isNoop&&type2.isNoop(edit)||(name==="number"?w.write("ena",edit):name==="text-unicode"?w.write("es",edit):(w.write("et",name),w.write("e",edit)))},"writeEdit");function checkNonNegInteger(n){assert(typeof n=="number"),assert(n>=0),assert(n===(0|n))}__name(checkNonNegInteger,"checkNonNegInteger");function checkScalar(s){typeof s=="number"?checkNonNegInteger(s):assert(typeof s=="string")}__name(checkScalar,"checkScalar");function checkValidOp(op){if(op===null)return;const pickedSlots=new Set,droppedSlots=new Set,checkComponent=__name(e=>{let empty=!0,hasEdit=!1;for(let k in e){const v=e[k];if(empty=!1,assert(k==="p"||k==="r"||k==="d"||k==="i"||k==="e"||k==="es"||k==="ena"||k==="et","Invalid component item '"+k+"'"),k==="p")checkNonNegInteger(v),assert(!pickedSlots.has(v)),pickedSlots.add(v),assert(e.r===void 0);else if(k==="d")checkNonNegInteger(v),assert(!droppedSlots.has(v)),droppedSlots.add(v),assert(e.i===void 0);else if(k==="e"||k==="es"||k==="ena"){assert(!hasEdit),hasEdit=!0;const t=getEditType(e);assert(t,"Missing type in edit"),t.checkValidOp&&t.checkValidOp(getEdit(e))}}assert(!empty)},"checkComponent"),checkDescent=__name((descent,isRoot,removed)=>{if(!Array.isArray(descent))throw Error("Op must be null or a list");if(descent.length===0)throw Error("Empty descent");isRoot||checkScalar(descent[0]);let last=1,numDescents=0,lastKey=0;for(let i=0;i<descent.length;i++){const d=descent[i];if(assert(d!=null),Array.isArray(d)){const key=checkDescent(d,!1);if(numDescents){const t1=typeof lastKey,t2=typeof key;t1===t2?assert(lastKey<key,"descent keys are not in order"):assert(t1==="number"&&t2==="string")}lastKey=key,numDescents++,last=3}else typeof d=="object"?(assert(last===1,`Prev not scalar - instead ${last}`),checkComponent(d),last=2):(assert(last!==3),checkScalar(d),assert(cursor_js_1.isValidPathItem(d),"Invalid path key"),last=1)}return assert(numDescents!==1,"Operation makes multiple descents. Remove some []"),assert(last===2||last===3),descent[0]},"checkDescent");checkDescent(op,!0),assert(pickedSlots.size===droppedSlots.size,"Mismatched picks and drops in op");for(let i=0;i<pickedSlots.size;i++)assert(pickedSlots.has(i)),assert(droppedSlots.has(i))}__name(checkValidOp,"checkValidOp");function normalize(op){let nextSlot=0,slotMap=[];const w=cursor_js_1.writeCursor();return w.mergeTree(op,(c,w2)=>{const t=getEditType(c);if(t){const op2=getEdit(c);writeEdit(w2,t,t.normalize?t.normalize(op2):op2)}for(const k of["r","p","i","d"])if(c[k]!==void 0){const r=k==="p"||k==="d"?(inSlot=c[k],slotMap[inSlot]==null&&(slotMap[inSlot]=nextSlot++),slotMap[inSlot]):c[k];w2.write(k,r)}var inSlot}),w.get()}__name(normalize,"normalize");function apply(snapshot,op){if(checkValidOp(op),op===null)return snapshot;const held=[];return __name(function drop(root,descent){let subDoc=root,i=0,rootContainer={root},m=0,container=rootContainer,key="root";function mut(){for(;m<i;m++){let d=descent[m];typeof d!="object"&&(assert(isValidKey(container,key)),container=container[key]=shallowClone(container[key]),key=d)}}for(__name(mut,"mut");i<descent.length;i++){const d=descent[i];if(Array.isArray(d)){const child=drop(subDoc,d);child!==subDoc&&child!==void 0&&(mut(),subDoc=container[key]=child)}else if(typeof d=="object"){d.d!=null?(mut(),subDoc=insertChildMut(container,key,held[d.d])):d.i!==void 0&&(mut(),subDoc=insertChildMut(container,key,d.i));const t=getEditType(d);if(t)mut(),subDoc=container[key]=t.apply(subDoc,getEdit(d));else if(d.e!==void 0)throw Error("Subtype "+d.et+" undefined")}else subDoc=maybeGetChild(subDoc,d)}return rootContainer.root},"drop")(snapshot=__name(function pick(subDoc,descent){const stack=[];let i=0;for(;i<descent.length;i++){const d=descent[i];if(Array.isArray(d))break;typeof d!="object"&&(stack.push(subDoc),subDoc=maybeGetChild(subDoc,d))}for(let j=descent.length-1;j>=i;j--)subDoc=pick(subDoc,descent[j]);for(--i;i>=0;i--){const d=descent[i];if(typeof d!="object"){const container=stack.pop();subDoc=subDoc===maybeGetChild(container,d)?container:subDoc===void 0?removeChild(container,d):(k=d,v=subDoc,(obj=shallowClone(obj=container))[k]=v,obj)}else hasPick(d)&&(assert(subDoc!==void 0,"Cannot pick up or remove undefined"),d.p!=null&&(held[d.p]=subDoc),subDoc=void 0)}var obj,k,v;return subDoc},"pick")(snapshot,op),op)}__name(apply,"apply");function transformPosition(path,op){path=path.slice(),checkValidOp(op);const r=cursor_js_1.readCursor(op);let pickedAtSlot,pickIndex,removed=!1;const advStack=[];for(let i=0;;i++){const k=path[i],c=r.getComponent();if(c&&(c.r!==void 0?removed=!0:c.p!=null&&(removed=!1,pickedAtSlot=c.p,pickIndex=i)),i>=path.length)break;let pickOffset=0;const pickAdv=cursor_js_1.advancer(r,void 0,(k2,c2)=>{hasPick(c2)&&pickOffset++});advStack.unshift(pickAdv);const hasNext=pickAdv(k);if(typeof k=="number"&&(path[i]-=pickOffset),!hasNext)break}if(advStack.forEach(pickAdv=>pickAdv.end()),removed)return null;const handleDrop=__name(()=>{let i=0;if(pickedAtSlot!=null){const rPath=r.getPath();i=rPath.length,path=rPath.concat(path.slice(pickIndex))}for(;i<path.length;i++){const k=path[i],c=getComponent(r),et=getEditType(c);if(et){const e=getEdit(c);et.transformPosition&&(path[i]=et.transformPosition(path[i],e));break}let dropOffset=0;const hasNext=cursor_js_1.advancer(r,(k2,c2)=>hasDrop(c2)?~(k2-dropOffset):k2-dropOffset,(k2,c2)=>{hasDrop(c2)&&dropOffset++})(k);if(typeof k=="number"&&(path[i]+=dropOffset),!hasNext)break}},"handleDrop");return pickedAtSlot!=null?r.eachDrop(null,slot=>{slot===pickedAtSlot&&handleDrop()}):handleDrop(),path}__name(transformPosition,"transformPosition");function compose(op1,op2){if(checkValidOp(op1),checkValidOp(op2),op1==null)return op2;if(op2==null)return op1;let nextSlot=0;const r1=cursor_js_1.readCursor(op1),r2=cursor_js_1.readCursor(op2),w=cursor_js_1.writeCursor(),heldPickWrites=[],heldDropWrites=[],held1Pick=[],held2Drop=[],p1SlotMap=[],p2SlotMap=[],visitedOp2EditCs=new Set;r1.traverse(null,c=>{c.p!=null&&(held1Pick[c.p]=r1.clone())}),r2.traverse(null,c=>{c.d!=null&&(held2Drop[c.d]=r2.clone())});const w2=cursor_js_1.writeCursor();return __name(function xfBoundary(r1Pick,r1Drop,r2Pick,r2Drop,litIn,rmParent,wd,wp){assert(r1Drop||r2Pick);const c1d=getComponent(r1Drop),c2p=getComponent(r2Pick),rmHere=!!c2p&&c2p.r!==void 0,insHere=!!c1d&&c1d.i!==void 0,drop1Slot=c1d?c1d.d:null,pick2Slot=c2p?c2p.p:null,rmChildren=(rmParent||rmHere)&&pick2Slot==null;if(pick2Slot!=null)r2Drop=held2Drop[pick2Slot],wd=heldDropWrites[pick2Slot]=new cursor_js_1.WriteCursor;else if(c2p&&c2p.r!==void 0)r2Drop=null;else{const c2d2=getComponent(r2Drop);c2d2&&c2d2.d!=null&&(r2Drop=null)}const c2d=getComponent(r2Drop);if(drop1Slot!=null)if(r1Pick=held1Pick[drop1Slot],wp=heldPickWrites[drop1Slot]=new cursor_js_1.WriteCursor,rmChildren)rmParent&&!rmHere&&wp.write("r",!0);else{const slot=p1SlotMap[drop1Slot]=nextSlot++;wd.write("d",slot)}else if(c1d&&c1d.i!==void 0)r1Pick=null;else{const c1p=getComponent(r1Pick);c1p&&c1p.p!=null&&(r1Pick=null)}let litOut;insHere?(assert(litIn===void 0),litOut=c1d.i):litOut=litIn;const insComponent=(pick2Slot==null?!insHere||rmParent||rmHere:litOut===void 0)?null:wd.getComponent();if(pick2Slot!=null){if(!(litIn!==void 0||insHere)){const slot=drop1Slot!=null?p1SlotMap[drop1Slot]:nextSlot++;p2SlotMap[pick2Slot]=slot,wp.write("p",slot)}}else rmHere&&(insHere||litIn!==void 0||(c2p.r,wp.write("r",c2p.r)));const type1=rmChildren?null:getEditType(c1d),type2=getEditType(c2d);if((type1||type2)&&(type1&&type1.name,type2&&type2.name),type1&&type2){assert(type1===type2);const e1=getEdit(c1d),e2=getEdit(c2d),r=type1.compose(e1,e2);writeEdit(wd,type1,r),visitedOp2EditCs.add(c2d)}else type1?writeEdit(wd,type1,getEdit(c1d)):type2&&(writeEdit(wd,type2,getEdit(c2d)),visitedOp2EditCs.add(c2d));const hasContainerLiteral=typeof litOut=="object"&&litOut!=null;let isCloned=!1,p1PickOff=0,p1DropOff=0,p2PickOff=0,p2DropOff=0,litOff=0;const p2DropAdv=cursor_js_1.advancer(r2Drop,(k,c)=>hasDrop(c)?p2DropOff-k-1:k-p2DropOff,(k,c)=>{hasDrop(c)&&p2DropOff++}),p1PickAdv=cursor_js_1.advancer(r1Pick,(k,c)=>hasPick(c)?p1PickOff-k-1:k-p1PickOff,(k,c)=>{hasPick(c)&&p1PickOff++});if(cursor_js_1.eachChildOf(r1Drop,r2Pick,(inKey,_p1Drop,_p2Pick)=>{let _p1Pick,_p2Drop,p1PickKey=inKey,p2DropKey=inKey,litKey=inKey;if(typeof inKey=="number"){let p2Mid=inKey+p2PickOff;_p2Drop=p2DropAdv(p2Mid),p2DropKey=p2Mid+p2DropOff;let p1Mid=inKey+p1DropOff;_p1Pick=p1PickAdv(p1Mid),hasDrop(getComponent(_p2Drop))&&(_p1Pick=null),p1PickKey=p1Mid+p1PickOff,litKey=inKey+litOff,assert(p1PickKey>=0,"p1PickKey is negative"),assert(p2DropKey>=0,"p2DropKey is negative");const hd1=hasDrop(getComponent(_p1Drop)),hp2=hasPick(getComponent(_p2Pick));(hd1||hp2&&!rmChildren)&&litOff--,hd1&&p1DropOff--,hp2&&p2PickOff--}else _p1Pick=p1PickAdv(inKey),_p2Drop=p2DropAdv(inKey);wp.descend(p1PickKey),wd.descend(p2DropKey);const _lit=hasContainerLiteral&&!hasDrop(getComponent(_p1Drop))?litOut[litKey]:void 0,_litResult=xfBoundary(_p1Pick,_p1Drop,_p2Pick,_p2Drop,_lit,rmChildren,wd,wp);var container,key,child;hasContainerLiteral&&!rmChildren?_lit!==_litResult&&(isCloned||(litOut=Array.isArray(litOut)?litOut.slice():Object.assign({},litOut),isCloned=!0),container=litOut,child=_litResult,typeof(key=litKey)=="number"?(assert(Array.isArray(container)),assert(key<container.length)):(assert(!Array.isArray(container)),assert(container[key]!==void 0)),child===void 0?typeof key=="number"?container.splice(key,1):delete container[key]:container[key]=child):assert(_litResult===void 0),wd.ascend(),wp.ascend()}),p1PickAdv.end(),p2DropAdv.end(),insComponent!=null)insComponent.i=litOut;else if(!rmParent&&!rmHere&&pick2Slot==null)return litOut},"xfBoundary")(r1,r1.clone(),r2,r2.clone(),void 0,!1,w,w2),w.reset(),w.mergeTree(w2.get()),w.reset(),w.get(),heldPickWrites.map(w3=>w3.get()),heldDropWrites.map(w3=>w3.get()),r1.traverse(w,(c,w3)=>{const slot1=c.p;if(slot1!=null){const slot=p1SlotMap[slot1];slot!=null&&w3.write("p",slot);const _w=heldPickWrites[slot1];_w&&_w.get(),_w&&w3.mergeTree(_w.get())}else c.r!==void 0&&w3.write("r",c.r)}),w.reset(),w.get(),r2.traverse(w,(c,w3)=>{const slot2=c.d;if(slot2!=null){const slot=p2SlotMap[slot2];slot!=null&&w3.write("d",slot);const _w=heldDropWrites[slot2];_w&&w3.mergeTree(_w.get())}else c.i!==void 0&&w3.write("i",c.i);const t=getEditType(c);t&&!visitedOp2EditCs.has(c)&&writeEdit(w3,t,getEdit(c))}),w.get()}__name(compose,"compose");function invert(op){if(op==null)return null;const r=new cursor_js_1.ReadCursor(op),w=new cursor_js_1.WriteCursor;let editsToTransform;const heldPick=[],heldWrites=[];return __name(function invertSimple(r2,w2,subDoc){const c=r2.getComponent();let insertHere,subdocModified=!1;if(c){c.p!=null&&(w2.write("d",c.p),heldPick[c.p]=r2.clone()),c.r!==void 0&&w2.write("i",c.r),c.d!=null&&(w2.write("p",c.d),subDoc=void 0),c.i!==void 0&&(subDoc=insertHere=c.i);const t=getEditType(c);t&&(subDoc===void 0?(editsToTransform||(editsToTransform=new Set),editsToTransform.add(c)):(getEdit(c),subDoc=t.apply(subDoc,getEdit(c)),subdocModified=!0))}let dropOff=0;for(const key of r2){w2.descend(key);const raw=typeof key=="number"?key-dropOff:key,childIn=maybeGetChild(subDoc,raw);hasDrop(r2.getComponent())&&dropOff++;const childOut=invertSimple(r2,w2,childIn);if(subDoc!==void 0&&childOut!==void 0){if(subdocModified||(subdocModified=!0,subDoc=shallowClone(subDoc)),!isValidKey(subDoc,raw))throw Error("Cannot modify child - invalid operation");subDoc[raw]=childOut}w2.ascend()}if(insertHere===void 0)return subdocModified?subDoc:void 0;w2.write("r",subDoc)},"invertSimple")(r,w,void 0),editsToTransform&&(w.reset(),__name(function transformEdits(rPick,rDrop,w2){const cd=rDrop.getComponent();if(cd){const dropSlot=cd.d;if(dropSlot!=null&&(rPick=heldPick[dropSlot],w2=heldWrites[dropSlot]=cursor_js_1.writeCursor()),editsToTransform.has(cd)){const t=getEditType(cd);if(!t.invert)throw Error(`Cannot invert subtype ${t.name}`);writeEdit(w2,t,t.invert(getEdit(cd)))}}let pickOff=0,dropOff=0;const ap=cursor_js_1.advancer(rPick,(k,c)=>hasPick(c)?pickOff-k-1:k-pickOff,(k,c)=>{hasPick(c)&&pickOff++});for(const key of rDrop)if(typeof key=="number"){const mid=key-dropOff,_rPick=ap(mid),raw=mid+pickOff;w2.descend(raw),transformEdits(_rPick,rDrop,w2),hasDrop(rDrop.getComponent())&&dropOff++,w2.ascend()}else w2.descend(key),transformEdits(ap(key),rDrop,w2),w2.ascend();ap.end()},"transformEdits")(r.clone(),r,w),heldWrites.length&&(w.reset(),r.traverse(w,(c,w2)=>{const slot=c.p;if(slot!=null){const _w=heldWrites[slot];_w&&_w.get(),_w&&w2.mergeTree(_w.get())}}))),w.get()}__name(invert,"invert");const anyComponent=__name((op,fn)=>op.some(c=>typeof c=="object"&&(Array.isArray(c)?anyComponent(c,fn):fn(c))),"anyComponent");function makeInvertible(op,doc){if(op==null||!anyComponent(op,c=>{var _a2;return c.r!==void 0||((_a2=getEditType(c))===null||_a2===void 0?void 0:_a2.makeInvertible)!=null}))return op;const r=new cursor_js_1.ReadCursor(op),w=new cursor_js_1.WriteCursor;let hasEdits=!1;const heldPick=[],heldDoc=[],traversePick=__name((r2,w2,subDoc)=>{const c=r2.getComponent();let modified=!1;if(c){c.d!=null&&w2.write("d",c.d),c.i!==void 0&&w2.write("i",c.i);const pickSlot=c.p;if(pickSlot!=null&&(heldPick[pickSlot]=r2.clone(),assert(subDoc!==void 0,"Operation picks up at an invalid key"),heldDoc[pickSlot]=subDoc,w2.write("p",c.p)),c.r!==void 0&&subDoc===void 0)throw Error("Invalid doc / op in makeInvertible: removed item missing from doc");const t=getEditType(c);t&&(t.makeInvertible?hasEdits=!0:writeEdit(w2,t,getEdit(c),!0))}let listOff=0;for(const key of r2){w2.descend(key);const keyRaw=typeof key=="number"?key-listOff:key,childIn=maybeGetChild(subDoc,keyRaw),childOut=traversePick(r2,w2,childIn);childIn!==childOut&&(modified||(modified=!0,subDoc=shallowClone(subDoc)),childOut===void 0?(subDoc=removeChild(subDoc,keyRaw),typeof key=="number"&&listOff++):subDoc[keyRaw]=childOut),w2.ascend()}return c&&(c.r!==void 0?(w2.write("r",deepClone_js_1.default(subDoc)),subDoc=void 0):c.p!=null&&(subDoc=void 0)),subDoc},"traversePick");return traversePick(r,w,doc),w.get(),hasEdits&&(w.reset(),__name(function traverseDrop(rPick,rDrop,w2,subDoc,isLiteral){const c=rDrop.getComponent();if(c){c.i!==void 0?(subDoc=c.i,isLiteral=!0):c.d!=null&&(subDoc=heldDoc[c.d],rPick=heldPick[c.d],isLiteral=!1,c.d);let t=getEditType(c);if(t&&t.makeInvertible){const edit=getEdit(c);writeEdit(w2,t,t.makeInvertible(edit,subDoc),!0)}}let pickOff=0,dropOff=0;const ap=cursor_js_1.advancer(rPick,(k,c2)=>hasPick(c2)?pickOff-k-1:k-pickOff,(k,c2)=>{hasPick(c2)&&pickOff++});for(const key of rDrop)if(typeof key=="number"){const mid=key-dropOff,_rPick=ap(mid),raw=mid+pickOff,child=maybeGetChild(subDoc,isLiteral?mid:raw);w2.descend(key),traverseDrop(_rPick,rDrop,w2,child,isLiteral),hasDrop(rDrop.getComponent())&&dropOff++,w2.ascend()}else{const child=maybeGetChild(subDoc,key);w2.descend(key),traverseDrop(ap(key),rDrop,w2,child,isLiteral),w2.ascend()}ap.end()},"traverseDrop")(r.clone(),r,w,doc,!1)),w.get()}__name(makeInvertible,"makeInvertible");function invertWithDoc(op,doc){return invert(makeInvertible(op,doc))}__name(invertWithDoc,"invertWithDoc");const shallowCloneOp=__name(op=>{if(op==null)return null;const result=op.slice();for(let i=0;i<op.length;i++){const c=result[i];Array.isArray(c)&&(result[i]=shallowCloneOp(c))}return result},"shallowCloneOp");function tryTransform(op1,op2,direction){assert(direction==="left"||direction==="right","Direction must be left or right");const side=direction==="left"?0:1;if(op2==null)return{ok:!0,result:op1};checkValidOp(op1),checkValidOp(op2);let conflict=null;const heldOp1PickByOp1=[],heldOp1DropByOp1=[],heldOp2PickByOp2=[],heldOp2DropByOp2=[],heldOp1PickByOp2=[],heldOp2PickByOp1=[],heldOp2DropByOp1=[],heldOp2RmForOp1=[],heldOp1RmForOp2=[],cancelledOp2=[],discardedOp2Drop=[],heldPickWrites=[],heldDropWrites=[],op1PickAtOp2Pick=[],op1PicksOp2DropSlots=[];let nextSlot=0;const r1=cursor_js_1.readCursor(op1),r2=cursor_js_1.readCursor(op2),w=cursor_js_1.writeCursor();if(__name(function scanOp2Pick(r2Pick,r1Pick=null,removed1){const c1=getComponent(r1Pick);c1&&(c1.r!==void 0?removed1=r1Pick.clone():c1.p!=null&&(removed1=null,heldOp2PickByOp1[c1.p]=r2Pick.clone()));const c2=r2Pick.getComponent();let slot2;c2&&(slot2=c2.p)!=null&&(heldOp1PickByOp2[slot2]=r1Pick?r1Pick.clone():null,heldOp2PickByOp2[slot2]=r2Pick.clone(),removed1&&(cancelledOp2[slot2]=!0,heldOp1RmForOp2[slot2]=removed1),c1&&c1.p!=null&&(op1PickAtOp2Pick[slot2]=c1.p));const ap1=cursor_js_1.advancer(r1Pick);for(const key of r2Pick)scanOp2Pick(r2Pick,ap1(key),removed1);ap1.end()},"scanOp2Pick")(r2,r1,null),__name(function scanOp2Drop(r1Pick,r2Pick,r2Drop,pickSlot1,removed1){const c2d=r2Drop.getComponent();let slot2,droppedHere=!1;c2d&&((slot2=c2d.d)!=null?(heldOp2DropByOp2[slot2]=r2Drop.clone(),pickSlot1!=null&&(op1PicksOp2DropSlots[pickSlot1]==null&&(op1PicksOp2DropSlots[pickSlot1]=[]),op1PicksOp2DropSlots[pickSlot1].push(slot2)),r1Pick=heldOp1PickByOp2[slot2]||null,r2Pick=heldOp2PickByOp2[slot2]||null,cancelledOp2[slot2]?(removed1&&(discardedOp2Drop[slot2]=!0),removed1=heldOp1RmForOp2[slot2]||null):!removed1||side!==1&&op1PickAtOp2Pick[slot2]!=null||conflict==null&&(conflict={type:types_js_1.ConflictType.RM_UNEXPECTED_CONTENT,op1:exports3.removeOp(removed1.getPath()),op2:exports3.moveOp(r2Pick.getPath(),r2Drop.getPath())}),droppedHere=!0):c2d.i!==void 0&&(r1Pick=r2Pick=null,droppedHere=!0,removed1&&conflict==null&&(conflict={type:types_js_1.ConflictType.RM_UNEXPECTED_CONTENT,op1:exports3.removeOp(removed1.getPath()),op2:exports3.insertOp(r2Drop.getPath(),c2d.i)})));const c1p=getComponent(r1Pick);c1p&&(c1p.r!==void 0?removed1=r1Pick.clone():c1p.p!=null&&(c1p.p,pickSlot1=c1p.p,removed1=null));const t2=getEditType(c2d);t2&&removed1&&conflict==null&&(conflict={type:types_js_1.ConflictType.RM_UNEXPECTED_CONTENT,op1:exports3.removeOp(removed1.getPath()),op2:exports3.editOp(r2Drop.getPath(),t2,getEdit(c2d),!0)});let p2PickOff=0,p2DropOff=0;const ap2=cursor_js_1.advancer(r2Pick,(k,c)=>hasPick(c)?p2PickOff-k-1:k-p2PickOff,(k,c)=>{hasPick(c)&&p2PickOff++}),ap1=cursor_js_1.advancer(r1Pick);for(const key of r2Drop)if(typeof key=="number"){const p2Mid=key-p2DropOff,_p2Pick=ap2(p2Mid);p2DropOff+=+scanOp2Drop(ap1(p2Mid+p2PickOff),_p2Pick,r2Drop,pickSlot1,removed1)}else{const _p2Pick=ap2(key);scanOp2Drop(ap1(key),_p2Pick,r2Drop,pickSlot1,removed1)}return ap2.end(),ap1.end(),droppedHere},"scanOp2Drop")(r1,r2,r2.clone(),null,null),heldOp2DropByOp2.map(x=>x&&x.get()),conflict)return{ok:!1,conflict};discardedOp2Drop.map(x=>!!x);const pickComponents=[];let cancelledRemoves=null;__name(function writeOp1Pick(r1Pick,r2Pick,r2Drop,w2,removed2){let iAmMoved=!1;const c2p=getComponent(r2Pick);if(hasPick(c2p)){const slot2=c2p.p;slot2!=null?(r2Drop=heldOp2DropByOp2[slot2],w2=heldPickWrites[slot2]=cursor_js_1.writeCursor(),iAmMoved=!0,removed2=null):(r2Drop=null,removed2=r2Pick.clone())}else hasDrop(getComponent(r2Drop))&&(r2Drop=null);const c1=r1Pick.getComponent();if(c1){const slot1=c1.p;slot1!=null?(removed2&&(heldOp2RmForOp1[slot1]=removed2),pickComponents[slot1]=removed2||side===1&&iAmMoved?null:w2.getComponent(),heldOp1PickByOp1[slot1]=r1Pick.clone(),r2Drop&&(heldOp2DropByOp1[slot1]=r2Drop.clone())):c1.r!==void 0&&(removed2||w2.write("r",!0),(removed2||iAmMoved)&&(cancelledRemoves==null&&(cancelledRemoves=new Set),cancelledRemoves.add(c1)))}let p2PickOff=0,p2DropOff=0;const ap2Pick=cursor_js_1.advancer(r2Pick,void 0,(k,c)=>{hasPick(c)&&p2PickOff++}),ap2Drop=cursor_js_1.advancer(r2Drop,(k,c)=>hasDrop(c)?~(k-p2DropOff):k-p2DropOff,(k,c)=>{hasDrop(c)&&p2DropOff++});if(r1Pick)for(const key of r1Pick)if(typeof key=="string"){const p2Pick_=ap2Pick(key),p2Drop_=ap2Drop(key);w2.descend(key),writeOp1Pick(r1Pick,p2Pick_,p2Drop_,w2,removed2),w2.ascend()}else{const p2Pick_=ap2Pick(key),p2Mid=key-p2PickOff,p2Drop_=hasPick(getComponent(p2Pick_))?null:ap2Drop(p2Mid),finalKey=p2Mid+p2DropOff;assert(finalKey>=0),w2.descend(finalKey),writeOp1Pick(r1Pick,p2Pick_,p2Drop_,w2,removed2),w2.ascend()}ap2Pick.end(),ap2Drop.end()},"writeOp1Pick")(r1,r2,r2.clone(),w,null),w.reset();let outputSlotMap=[];if(__name(function writeOp1Drop(p1Pick,p1Drop,p2Pick,p2Drop,w2,removed2){assert(p1Drop);const c1d=p1Drop.getComponent();let c2d=getComponent(p2Drop),droppedHere=!1;const insOrMv=__name((r12,r22,c)=>r12?exports3.moveOp(r12.getPath(),r22.getPath()):exports3.insertOp(r22.getPath(),c.i),"insOrMv");if(hasDrop(c1d)){const slot1=c1d.d;slot1!=null&&(heldOp1DropByOp1[slot1]=p1Drop.clone());const pc=slot1!=null?pickComponents[slot1]:null;let identical=!1;if(c1d.i!==void 0||slot1!=null&&pc){let slot2;c2d&&(c2d.i!==void 0||(slot2=c2d.d)!=null&&!cancelledOp2[slot2])&&(identical=slot2!=null?slot1!=null&&slot1===op1PickAtOp2Pick[slot2]:deepEqual_js_1.default(c2d.i,c1d.i),identical||slot2!=null&&side!==1&&op1PickAtOp2Pick[slot2]!=null||conflict==null&&(conflict={type:types_js_1.ConflictType.DROP_COLLISION,op1:insOrMv(slot1!=null?heldOp1PickByOp1[slot1]:null,p1Drop,c1d),op2:insOrMv(slot2!=null?heldOp2PickByOp2[slot2]:null,p2Drop,c2d)})),identical||(removed2?conflict==null&&(conflict={type:types_js_1.ConflictType.RM_UNEXPECTED_CONTENT,op1:insOrMv(slot1!=null?heldOp1PickByOp1[slot1]:null,p1Drop,c1d),op2:exports3.removeOp(removed2.getPath())}):(slot1!=null?(outputSlotMap[nextSlot]=slot1,w2.write("d",pc.p=nextSlot++)):w2.write("i",deepClone_js_1.default(c1d.i)),droppedHere=!0))}else if(slot1!=null&&!pc){const h=heldOp2RmForOp1[slot1];h&&(removed2=h.clone())}slot1!=null?(p1Pick=heldOp1PickByOp1[slot1],p2Pick=heldOp2PickByOp1[slot1],p2Drop=heldOp2DropByOp1[slot1]):c1d.i!==void 0&&(p1Pick=p2Pick=null,identical||(p2Drop=null))}else hasPick(getComponent(p1Pick))&&(p1Pick=p2Pick=p2Drop=null);const c1p=getComponent(p1Pick),c2p=getComponent(p2Pick);if(hasPick(c2p)){const slot2=c2p.p;c2p.r!==void 0&&(!c1p||c1p.r===void 0)||cancelledOp2[slot2]?(p2Drop=null,removed2=p2Pick.clone()):slot2!=null&&(p2Drop=heldOp2DropByOp2[slot2],side!==1&&op1PickAtOp2Pick[slot2]!=null||((w2=heldDropWrites[slot2])||(w2=heldDropWrites[slot2]=cursor_js_1.writeCursor()),w2.reset(),removed2=null))}else!hasDrop(c1d)&&hasDrop(c2d)&&(p2Drop=null);c2d=p2Drop!=null?p2Drop.getComponent():null;const t1=getEditType(c1d);if(t1){const e1=getEdit(c1d);if(removed2)conflict==null&&(conflict={type:types_js_1.ConflictType.RM_UNEXPECTED_CONTENT,op1:exports3.editOp(p1Drop.getPath(),t1,e1,!0),op2:exports3.removeOp(removed2.getPath())});else{const t2=getEditType(c2d);let e;if(t2){if(t1!==t2)throw Error("Transforming incompatible types");const e2=getEdit(c2d);e=t1.transform(e1,e2,direction)}else e=deepClone_js_1.default(e1);writeEdit(w2,t1,e)}}let p1PickOff=0,p1DropOff=0,p2PickOff=0,p2DropOff=0,outPickOff=0,outDropOff=0,p1pValid=p1Pick!=null&&p1Pick.descendFirst(),p1pDidDescend=p1pValid;const ap2p=cursor_js_1.advancer(p2Pick,void 0,(k,c)=>{hasPick(c)&&p2PickOff++});let p2dValid=p2Drop!=null&&p2Drop.descendFirst(),p2dDidDescend=p2dValid;for(const key of p1Drop)if(typeof key=="number"){let _p1Pick;const hd1=hasDrop(p1Drop.getComponent()),k1Mid=key-p1DropOff;{let p1k;for(;p1pValid&&typeof(p1k=p1Pick.getKey())=="number";){p1k+=p1PickOff;const c=p1Pick.getComponent(),hp=hasPick(c);if(p1k>k1Mid||p1k===k1Mid&&(!hp||side===0&&hd1))break;if(hp){p1PickOff--;const slot1=c.p;op1PickAtOp2Pick.includes(slot1),c.d,getComponent(heldDropWrites[c.d]),hasPick(getComponent(heldDropWrites[c.d])),(c.r===void 0||cancelledRemoves&&cancelledRemoves.has(c))&&(slot1==null||!pickComponents[slot1]||side!==1&&op1PickAtOp2Pick.includes(slot1))||outPickOff--}p1pValid=p1Pick.nextSibling()}_p1Pick=p1pValid&&p1k===k1Mid?p1Pick:null}const raw=k1Mid-p1PickOff;let _p2Pick=ap2p(raw);const k2Mid=raw-p2PickOff;let _p2Drop=null;{let p2dk,op2Mid;for(;p2dValid&&typeof(p2dk=p2Drop.getKey())=="number";){op2Mid=p2dk-p2DropOff;const c=p2Drop.getComponent(),hd2=hasDrop(c);if(op2Mid>k2Mid)break;if(op2Mid===k2Mid){if(!hd2){_p2Drop=p2Drop;break}{if(side===0&&hd1){_p2Drop=p2Drop;break}const hp2=_p2Pick&&hasPick(_p2Pick.getComponent());if(side===0&&hp2)break}}if(hd2){const slot2=c.d;op1PickAtOp2Pick[slot2],c.i===void 0&&(cancelledOp2[slot2]||op1PickAtOp2Pick[slot2]!=null&&side!==1)?(cancelledOp2[slot2]||op1PickAtOp2Pick[slot2]!=null&&side===0)&&(p2DropOff++,outDropOff--):p2DropOff++}p2dValid=p2Drop.nextSibling()}}const descend=k2Mid+p2DropOff+outPickOff+outDropOff;assert(descend>=0,"trying to descend to a negative index"),w2.descend(descend),hd1&&(_p1Pick=_p2Pick=_p2Drop=null,p1DropOff++),writeOp1Drop(_p1Pick,p1Drop,_p2Pick,_p2Drop,w2,removed2)&&outDropOff++,w2.ascend()}else{let p1k;for(;p1pValid&&(p1k=p1Pick.getKey(),typeof p1k!="string"||!(p1k>key||p1k===key));)p1pValid=p1Pick.nextSibling();const _p1Pick=p1pValid&&p1k===key?p1Pick:null,_p2Pick=ap2p(key);let p2dk;for(;p2dValid&&(p2dk=p2Drop.getKey(),typeof p2dk!="string"||!(p2dk>key||p2dk===key));)p2dValid=p2Drop.nextSibling();const _p2Drop=p2dValid&&p2dk===key?p2Drop:null;w2.descend(key),writeOp1Drop(_p1Pick,p1Drop,_p2Pick,_p2Drop,w2,removed2),w2.ascend()}return ap2p.end(),p1pDidDescend&&p1Pick.ascend(),p2dDidDescend&&p2Drop.ascend(),droppedHere},"writeOp1Drop")(r1,r1.clone(),r2,r2.clone(),w,null),conflict)return{ok:!1,conflict};w.reset();const eachDrop=__name((r,w2,fn)=>r.traverse(w2,(c,w3)=>{c.d!=null&&fn(c.d,r,w3)}),"eachDrop");(cancelledOp2.length||heldPickWrites.length)&&(eachDrop(r2,w,(slot2,r,w2)=>{cancelledOp2[slot2]&&!discardedOp2Drop[slot2]&&w2.write("r",!0),heldPickWrites[slot2]&&w2.mergeTree(heldPickWrites[slot2].get())}),w.reset());const heldOutDropRead=[],heldOutDropWrites=[];if((heldDropWrites.length||cancelledOp2.length)&&!conflict){const rOut=cursor_js_1.readCursor(shallowCloneOp(w.get()));if(eachDrop(rOut,null,(slotOut,r)=>{heldOutDropRead[slotOut]=r.clone()}),heldDropWrites.forEach(hdw=>{hdw&&eachDrop(cursor_js_1.readCursor(hdw.get()),null,(slotOut,r)=>{heldOutDropRead[slotOut]=r.clone()})}),__name(function writeHeldOp2Drop(p2Drop,outPick,outDrop,w2,parentC,removedOut){const coutp=getComponent(outPick);if(coutp&&hasPick(coutp))if(coutp.p!=null){const slot=coutp.p;heldOutDropRead[slot].getPath(),outDrop=heldOutDropRead[slot],w2=heldOutDropWrites[slot]=cursor_js_1.writeCursor()}else coutp.r!==void 0&&(outDrop=null);else hasDrop(getComponent(outDrop))&&(outDrop=null);const c2=p2Drop.getComponent();if(c2){let slot2;if((slot2=c2.d)!=null){const _w=heldDropWrites[slot2];_w&&(_w.get(),w2.mergeTree(_w.get()),outDrop=cursor_js_1.readCursor(_w.get()))}}let outPickOff=0,outDropOff=0;const oPickAdv=cursor_js_1.advancer(outPick,void 0,(k,c)=>{hasPick(c)&&outPickOff--}),oDropAdv=cursor_js_1.advancer(outDrop,(k,c)=>hasDrop(c)?-(k-outDropOff)-1:k-outDropOff,(k,c)=>{hasDrop(c)&&outDropOff++});for(const o2dk of p2Drop)if(typeof o2dk=="number"){const _outPick=oPickAdv(o2dk),rmid=o2dk+outPickOff,_outDrop=oDropAdv(rmid),rfinal=rmid+outDropOff;w2.descend(rfinal),writeHeldOp2Drop(p2Drop,_outPick,_outDrop,w2),w2.ascend()}else w2.descend(o2dk),writeHeldOp2Drop(p2Drop,oPickAdv(o2dk),oDropAdv(o2dk),w2),w2.ascend();oPickAdv.end(),oDropAdv.end()},"writeHeldOp2Drop")(r2,rOut,rOut.clone(),w),w.reset(),conflict)return{ok:!1,conflict};if(w.get(),heldOutDropWrites.length){const heldOutDropContent=heldOutDropWrites.map(w2=>w2?w2.get():null),rOut2=cursor_js_1.readCursor(shallowCloneOp(w.get()));if(eachDrop(rOut2,w,(slotOut,r,w2)=>{const data=heldOutDropContent[slotOut];data&&(w2.mergeTree(data),heldOutDropContent[slotOut]=null)}),heldOutDropContent.find(x=>x)){const w1=cursor_js_1.writeCursor(),w2=cursor_js_1.writeCursor();let nextSlot1=0,nextSlot2=0;heldOutDropContent.forEach(data=>{data!=null&&eachDrop(cursor_js_1.readCursor(data),null,c=>{const slot1=outputSlotMap[c];w1.writeMove(heldOp1PickByOp1[slot1].getPath(),heldOp1DropByOp1[slot1].getPath(),nextSlot1++);const slot2s=op1PicksOp2DropSlots[slot1];slot2s&&slot2s.forEach(slot2=>{cancelledOp2[slot2]||side!==1&&op1PickAtOp2Pick[slot2]!=null||w2.writeMove(heldOp2PickByOp2[slot2].getPath(),heldOp2DropByOp2[slot2].getPath(),nextSlot2++)})})}),conflict={type:types_js_1.ConflictType.BLACKHOLE,op1:w1.get(),op2:w2.get()}}}}return conflict?{ok:!1,conflict}:{ok:!0,result:w.get()}}__name(tryTransform,"tryTransform");const throwConflictErr=__name(conflict=>{const err=new Error("Transform detected write conflict");throw err.conflict=conflict,err.type=err.name="writeConflict",err},"throwConflictErr");function transform(op1,op2,side){const res=tryTransform(op1,op2,side);if(res.ok)return res.result;throwConflictErr(res.conflict)}__name(transform,"transform");const opThatRemovesDE=__name(op=>{const w=cursor_js_1.writeCursor();return cursor_js_1.readCursor(op).traverse(w,(c,w2)=>{(hasDrop(c)||getEditType(c))&&w2.write("r",!0)}),w.get()},"opThatRemovesDE"),resolveConflict=__name((conflict,side)=>{const{type:type2,op1,op2}=conflict;switch(type2){case types_js_1.ConflictType.DROP_COLLISION:return side==="left"?[null,opThatRemovesDE(op2)]:[opThatRemovesDE(op1),null];case types_js_1.ConflictType.RM_UNEXPECTED_CONTENT:let op1HasRemove=!1;return cursor_js_1.readCursor(op1).traverse(null,c=>{c.r!==void 0&&(op1HasRemove=!0)}),op1HasRemove?[null,opThatRemovesDE(op2)]:[opThatRemovesDE(op1),null];case types_js_1.ConflictType.BLACKHOLE:return[opThatRemovesDE(op1),opThatRemovesDE(op2)];default:throw Error("Unrecognised conflict: "+type2)}},"resolveConflict");function transformWithConflictsPred(allowConflict,op1,op2,side){let r2Aggregate=null;for(;;){const res=tryTransform(op1,op2,side);if(res.ok)return compose(r2Aggregate,res.result);{const{conflict}=res;allowConflict(conflict)||throwConflictErr(conflict);const[r1,r2]=resolveConflict(conflict,side);op1=compose(normalize(op1),r1),op2=compose(normalize(op2),r2),r2Aggregate=compose(r2Aggregate,r2)}}}__name(transformWithConflictsPred,"transformWithConflictsPred")}(json1_release),function(exports3){var __createBinding=commonjsGlobal&&commonjsGlobal.__createBinding||(Object.create?function(o,m,k,k2){k2===void 0&&(k2=k),Object.defineProperty(o,k2,{enumerable:!0,get:__name(function(){return m[k]},"get")})}:function(o,m,k,k2){k2===void 0&&(k2=k),o[k2]=m[k]}),__exportStar=commonjsGlobal&&commonjsGlobal.__exportStar||function(m,exports4){for(var p in m)p!=="default"&&!exports4.hasOwnProperty(p)&&__createBinding(exports4,m,p)};Object.defineProperty(exports3,"__esModule",{value:!0}),__exportStar(json1_release,exports3);var cursor_js_1=cursor;Object.defineProperty(exports3,"ReadCursor",{enumerable:!0,get:__name(function(){return cursor_js_1.ReadCursor},"get")}),Object.defineProperty(exports3,"WriteCursor",{enumerable:!0,get:__name(function(){return cursor_js_1.WriteCursor},"get")});var types_1=types;Object.defineProperty(exports3,"ConflictType",{enumerable:!0,get:__name(function(){return types_1.ConflictType},"get")})}(dist$1);const _UnitDrawingService=class _UnitDrawingService{constructor(){__publicField(this,"drawingManagerData",{});__publicField(this,"_oldDrawingManagerData",{});__publicField(this,"_focusDrawings",[]);__publicField(this,"_remove$",new rxjs.Subject);__publicField(this,"remove$",this._remove$.asObservable());__publicField(this,"_add$",new rxjs.Subject);__publicField(this,"add$",this._add$.asObservable());__publicField(this,"_update$",new rxjs.Subject);__publicField(this,"update$",this._update$.asObservable());__publicField(this,"_order$",new rxjs.Subject);__publicField(this,"order$",this._order$.asObservable());__publicField(this,"_group$",new rxjs.Subject);__publicField(this,"group$",this._group$.asObservable());__publicField(this,"_ungroup$",new rxjs.Subject);__publicField(this,"ungroup$",this._ungroup$.asObservable());__publicField(this,"_refreshTransform$",new rxjs.Subject);__publicField(this,"refreshTransform$",this._refreshTransform$.asObservable());__publicField(this,"_visible$",new rxjs.Subject);__publicField(this,"visible$",this._visible$.asObservable());__publicField(this,"_focus$",new rxjs.Subject);__publicField(this,"focus$",this._focus$.asObservable());__publicField(this,"_featurePluginUpdate$",new rxjs.Subject);__publicField(this,"featurePluginUpdate$",this._featurePluginUpdate$.asObservable());__publicField(this,"_featurePluginAdd$",new rxjs.Subject);__publicField(this,"featurePluginAdd$",this._featurePluginAdd$.asObservable());__publicField(this,"_featurePluginRemove$",new rxjs.Subject);__publicField(this,"featurePluginRemove$",this._featurePluginRemove$.asObservable());__publicField(this,"_featurePluginOrderUpdate$",new rxjs.Subject);__publicField(this,"featurePluginOrderUpdate$",this._featurePluginOrderUpdate$.asObservable());__publicField(this,"_featurePluginGroupUpdate$",new rxjs.Subject);__publicField(this,"featurePluginGroupUpdate$",this._featurePluginGroupUpdate$.asObservable());__publicField(this,"_featurePluginUngroupUpdate$",new rxjs.Subject);__publicField(this,"featurePluginUngroupUpdate$",this._featurePluginUngroupUpdate$.asObservable());__publicField(this,"_visible",!0);__publicField(this,"_editable",!0)}dispose(){this._remove$.complete(),this._add$.complete(),this._update$.complete(),this._order$.complete(),this._focus$.complete(),this._featurePluginUpdate$.complete(),this._featurePluginAdd$.complete(),this._featurePluginRemove$.complete(),this._featurePluginOrderUpdate$.complete(),this.drawingManagerData={},this._oldDrawingManagerData={}}visibleNotification(visibleParams){this._visible$.next(visibleParams)}refreshTransform(updateParams){updateParams.forEach(updateParam=>{const param=this._getCurrentBySearch(updateParam);param!=null&&(param.transform=updateParam.transform,param.transforms=updateParam.transforms,param.isMultiTransform=updateParam.isMultiTransform)}),this.refreshTransformNotification(updateParams)}getDrawingDataForUnit(unitId){return this.drawingManagerData[unitId]}removeDrawingDataForUnit(unitId){const subUnits=this.drawingManagerData[unitId];if(subUnits==null)return;delete this.drawingManagerData[unitId];const drawings=[];Object.keys(subUnits).forEach(subUnitId=>{const subUnit=subUnits[subUnitId];(subUnit==null?void 0:subUnit.data)!=null&&Object.keys(subUnit.data).forEach(drawingId=>{drawings.push({unitId,subUnitId,drawingId})})}),drawings.length>0&&this.removeNotification(drawings)}registerDrawingData(unitId,data){this.drawingManagerData[unitId]=data}initializeNotification(unitId){const drawings=[],data=this.drawingManagerData[unitId];data!=null&&(Object.keys(data).forEach(subUnitId=>{this._establishDrawingMap(unitId,subUnitId);const subUnitData=data[subUnitId];Object.keys(subUnitData.data).forEach(drawingId=>{const drawing=subUnitData.data[drawingId];drawing.unitId=unitId,drawing.subUnitId=subUnitId,drawings.push(drawing)})}),drawings.length>0&&this.addNotification(drawings))}getDrawingData(unitId,subUnitId){return this._getDrawingData(unitId,subUnitId)}setDrawingData(unitId,subUnitId,data){this.drawingManagerData[unitId][subUnitId].data=data}getBatchAddOp(insertParams){const objects=[],ops=[],invertOps=[];insertParams.forEach(insertParam=>{const{op:op2,invertOp:invertOp2}=this._addByParam(insertParam);objects.push({unitId:insertParam.unitId,subUnitId:insertParam.subUnitId,drawingId:insertParam.drawingId}),ops.push(op2),invertOps.push(invertOp2)});const op=ops.reduce(dist$1.type.compose,null),invertOp=invertOps.reduce(dist$1.type.compose,null),{unitId,subUnitId}=insertParams[0];return{undo:invertOp,redo:op,unitId,subUnitId,objects}}getBatchRemoveOp(removeParams){const ops=[],invertOps=[];removeParams.forEach(removeParam=>{const{op:op2,invertOp:invertOp2}=this._removeByParam(removeParam);ops.unshift(op2),invertOps.push(invertOp2)});const op=ops.reduce(dist$1.type.compose,null),invertOp=invertOps.reduce(dist$1.type.compose,null),{unitId,subUnitId}=removeParams[0];return{undo:invertOp,redo:op,unitId,subUnitId,objects:removeParams}}getBatchUpdateOp(updateParams){const objects=[],ops=[],invertOps=[];updateParams.forEach(updateParam=>{const{op:op2,invertOp:invertOp2}=this._updateByParam(updateParam);objects.push({unitId:updateParam.unitId,subUnitId:updateParam.subUnitId,drawingId:updateParam.drawingId}),ops.push(op2),invertOps.push(invertOp2)});const op=ops.reduce(dist$1.type.compose,null),invertOp=invertOps.reduce(dist$1.type.compose,null),{unitId,subUnitId}=updateParams[0];return{undo:invertOp,redo:op,unitId,subUnitId,objects}}removeNotification(removeParams){this._remove$.next(removeParams)}addNotification(insertParams){this._add$.next(insertParams)}updateNotification(updateParams){this._update$.next(updateParams)}orderNotification(orderParams){this._order$.next(orderParams)}groupUpdateNotification(groupParams){this._group$.next(groupParams)}ungroupUpdateNotification(groupParams){this._ungroup$.next(groupParams)}refreshTransformNotification(refreshParams){this._refreshTransform$.next(refreshParams)}getGroupDrawingOp(groupParams){const ops=[],{unitId,subUnitId}=groupParams[0].parent;groupParams.forEach(groupParam=>{ops.push(this._getGroupDrawingOp(groupParam))});const op=ops.reduce(dist$1.type.compose,null);return{undo:dist$1.type.invertWithDoc(op,this.drawingManagerData),redo:op,unitId,subUnitId,objects:groupParams}}getUngroupDrawingOp(groupParams){const ops=[],{unitId,subUnitId}=groupParams[0].parent;groupParams.forEach(groupParam=>{ops.push(this._getUngroupDrawingOp(groupParam))});const op=ops.reduce(dist$1.type.compose,null);return{undo:dist$1.type.invertWithDoc(op,this.drawingManagerData),redo:op,unitId,subUnitId,objects:groupParams}}getDrawingsByGroup(groupParam){const{unitId,subUnitId,drawingId}=groupParam;if(this.getDrawingByParam({unitId,subUnitId,drawingId})==null)return[];const drawings=this._getDrawingData(unitId,subUnitId),children=[];return Object.keys(drawings).forEach(key=>{const drawing=drawings[key];drawing.groupId===drawingId&&children.push(drawing)}),children}_getGroupDrawingOp(groupParam){const{parent,children}=groupParam,{unitId:groupUnitId,subUnitId:groupSubUnitId,drawingId:groupDrawingId}=parent,ops=[];ops.push(dist$1.insertOp([groupUnitId,groupSubUnitId,"data",groupDrawingId],parent));let maxChildIndex=Number.NEGATIVE_INFINITY;return children.forEach(child=>{const{unitId,subUnitId,drawingId}=child,index=this._hasDrawingOrder({unitId,subUnitId,drawingId});maxChildIndex=Math.max(maxChildIndex,index),ops.push(...this._getUpdateParamCompareOp(child,this.getDrawingByParam({unitId,subUnitId,drawingId})))}),maxChildIndex===Number.NEGATIVE_INFINITY&&(maxChildIndex=this._getDrawingOrder(groupUnitId,groupSubUnitId).length),ops.push(dist$1.insertOp([groupUnitId,groupSubUnitId,"order",maxChildIndex],groupDrawingId)),ops.reduce(dist$1.type.compose,null)}_getUngroupDrawingOp(groupParam){const{parent,children}=groupParam,{unitId:groupUnitId,subUnitId:groupSubUnitId,drawingId:groupDrawingId}=parent,ops=[];return children.forEach(child=>{const{unitId,subUnitId,drawingId}=child;ops.push(...this._getUpdateParamCompareOp(child,this.getDrawingByParam({unitId,subUnitId,drawingId})))}),ops.push(dist$1.removeOp([groupUnitId,groupSubUnitId,"data",groupDrawingId],!0)),ops.push(dist$1.removeOp([groupUnitId,groupSubUnitId,"order",this._getDrawingOrder(groupUnitId,groupSubUnitId).indexOf(groupDrawingId)],!0)),ops.reduce(dist$1.type.compose,null)}applyJson1(unitId,subUnitId,jsonOp){this._establishDrawingMap(unitId,subUnitId),this._oldDrawingManagerData={...this.drawingManagerData},this.drawingManagerData=dist$1.type.apply(this.drawingManagerData,jsonOp)}featurePluginUpdateNotification(updateParams){this._featurePluginUpdate$.next(updateParams)}featurePluginOrderUpdateNotification(drawingOrderUpdateParam){this._featurePluginOrderUpdate$.next(drawingOrderUpdateParam)}featurePluginAddNotification(insertParams){this._featurePluginAdd$.next(insertParams)}featurePluginRemoveNotification(removeParams){this._featurePluginRemove$.next(removeParams)}featurePluginGroupUpdateNotification(groupParams){this._featurePluginGroupUpdate$.next(groupParams)}featurePluginUngroupUpdateNotification(groupParams){this._featurePluginUngroupUpdate$.next(groupParams)}getDrawingByParam(param){return this._getCurrentBySearch(param)}getOldDrawingByParam(param){return this._getOldBySearch(param)}getDrawingOKey(oKey){const[unitId,subUnitId,drawingId]=oKey.split("#-#");return this._getCurrentBySearch({unitId,subUnitId,drawingId})}focusDrawing(params){if(params==null){this._focusDrawings=[],this._focus$.next([]);return}const drawingParams=[];params.forEach(param=>{var _a2;const{unitId,subUnitId,drawingId}=param,item=(_a2=this._getDrawingData(unitId,subUnitId))==null?void 0:_a2[drawingId];item!=null&&drawingParams.push(item)}),drawingParams.length>0&&(this._focusDrawings=drawingParams,this._focus$.next(drawingParams))}getFocusDrawings(){const drawingParams=[];return this._focusDrawings.forEach(param=>{var _a2;const{unitId,subUnitId,drawingId}=param,item=(_a2=this._getDrawingData(unitId,subUnitId))==null?void 0:_a2[drawingId];item!=null&&drawingParams.push(item)}),drawingParams}getDrawingOrder(unitId,subUnitId){return this._getDrawingOrder(unitId,subUnitId)}setDrawingOrder(unitId,subUnitId,order){this.drawingManagerData[unitId][subUnitId].order=order}orderUpdateNotification(orderParams){this._order$.next(orderParams)}getForwardDrawingsOp(orderParams){const{unitId,subUnitId,drawingIds}=orderParams,ops=[],orders=this.getDrawingOrder(unitId,subUnitId),newIds=[...drawingIds];drawingIds.forEach(drawingId=>{const index=this._hasDrawingOrder({unitId,subUnitId,drawingId});if(index===-1||index===orders.length-1)return;const op2=dist$1.moveOp([unitId,subUnitId,"order",index],[unitId,subUnitId,"order",index+1]);ops.push(op2),newIds.includes(orders[index+1])||newIds.push(orders[index+1])});const op=ops.reduce(dist$1.type.compose,null);return{undo:dist$1.type.invertWithDoc(op,this.drawingManagerData),redo:op,unitId,subUnitId,objects:{...orderParams,drawingIds:newIds}}}getBackwardDrawingOp(orderParams){const{unitId,subUnitId,drawingIds}=orderParams,ops=[],orders=this.getDrawingOrder(unitId,subUnitId),newIds=[...drawingIds];drawingIds.forEach(drawingId=>{const index=this._hasDrawingOrder({unitId,subUnitId,drawingId});if(index===-1||index===0)return;const op2=dist$1.moveOp([unitId,subUnitId,"order",index],[unitId,subUnitId,"order",index-1]);ops.push(op2),newIds.includes(orders[index-1])||newIds.push(orders[index-1])});const op=ops.reduce(dist$1.type.compose,null);return{undo:dist$1.type.invertWithDoc(op,this.drawingManagerData),redo:op,unitId,subUnitId,objects:{...orderParams,drawingIds:newIds}}}getFrontDrawingsOp(orderParams){const{unitId,subUnitId,drawingIds}=orderParams,orderDrawingIds=this._getOrderFromSearchParams(unitId,subUnitId,drawingIds),newIds=[...drawingIds],orders=this.getDrawingOrder(unitId,subUnitId),ops=[];orderDrawingIds.forEach(orderDrawingId=>{const{drawingId}=orderDrawingId,index=this._getDrawingCount(unitId,subUnitId)-1,op2=dist$1.moveOp([unitId,subUnitId,"order",this._getDrawingOrder(unitId,subUnitId).indexOf(drawingId)],[unitId,subUnitId,"order",index]);ops.push(op2),newIds.includes(orders[index])||newIds.push(orders[index])});const op=ops.reduce(dist$1.type.compose,null);return{undo:dist$1.type.invertWithDoc(op,this.drawingManagerData),redo:op,unitId,subUnitId,objects:{...orderParams,drawingIds:newIds}}}getBackDrawingsOp(orderParams){const{unitId,subUnitId,drawingIds}=orderParams,orderSearchParams=this._getOrderFromSearchParams(unitId,subUnitId,drawingIds,!0),newIds=[...drawingIds],orders=this.getDrawingOrder(unitId,subUnitId),ops=[];orderSearchParams.forEach(orderSearchParam=>{const{drawingId}=orderSearchParam,op2=dist$1.moveOp([unitId,subUnitId,"order",this._getDrawingOrder(unitId,subUnitId).indexOf(drawingId)],[unitId,subUnitId,"order",0]);ops.push(op2),newIds.includes(orders[0])||newIds.push(orders[0])});const op=ops.reduce(dist$1.type.compose,null);return{undo:dist$1.type.invertWithDoc(op,this.drawingManagerData),redo:op,unitId,subUnitId,objects:{...orderParams,drawingIds:newIds}}}_getDrawingCount(unitId,subUnitId){return this.getDrawingOrder(unitId,subUnitId).length||0}_getOrderFromSearchParams(unitId,subUnitId,drawingIds,isDesc=!1){return drawingIds.map(drawingId=>{const zIndex=this._hasDrawingOrder({unitId,subUnitId,drawingId});return{drawingId,zIndex}}).sort(isDesc===!1?core.sortRules:core.sortRulesByDesc)}_hasDrawingOrder(searchParam){if(searchParam==null)return-1;const{unitId,subUnitId,drawingId}=searchParam;return this._establishDrawingMap(unitId,subUnitId),this._getDrawingOrder(unitId,subUnitId).indexOf(drawingId)}_getCurrentBySearch(searchParam){var _a2,_b,_c;if(searchParam==null)return;const{unitId,subUnitId,drawingId}=searchParam;return(_c=(_b=(_a2=this.drawingManagerData[unitId])==null?void 0:_a2[subUnitId])==null?void 0:_b.data)==null?void 0:_c[drawingId]}_getOldBySearch(searchParam){var _a2,_b,_c;if(searchParam==null)return;const{unitId,subUnitId,drawingId}=searchParam;return(_c=(_b=(_a2=this._oldDrawingManagerData[unitId])==null?void 0:_a2[subUnitId])==null?void 0:_b.data)==null?void 0:_c[drawingId]}_establishDrawingMap(unitId,subUnitId,drawingId){var _a2;return this.drawingManagerData[unitId]||(this.drawingManagerData[unitId]={}),this.drawingManagerData[unitId][subUnitId]||(this.drawingManagerData[unitId][subUnitId]={data:{},order:[]}),drawingId==null?null:(_a2=this.drawingManagerData[unitId][subUnitId].data)==null?void 0:_a2[drawingId]}_addByParam(insertParam){const{unitId,subUnitId,drawingId}=insertParam;this._establishDrawingMap(unitId,subUnitId,drawingId);const op1=dist$1.insertOp([unitId,subUnitId,"data",drawingId],insertParam),op2=dist$1.insertOp([unitId,subUnitId,"order",this._getDrawingOrder(unitId,subUnitId).length],drawingId),op=[op1,op2].reduce(dist$1.type.compose,null),invertOp=dist$1.type.invertWithDoc(op,this.drawingManagerData);return{op,invertOp}}_removeByParam(searchParam){if(searchParam==null)return{op:[],invertOp:[]};const{unitId,subUnitId,drawingId}=searchParam;if(this._establishDrawingMap(unitId,subUnitId,drawingId)==null)return{op:[],invertOp:[]};const op1=dist$1.removeOp([unitId,subUnitId,"data",drawingId],!0),op2=dist$1.removeOp([unitId,subUnitId,"order",this._getDrawingOrder(unitId,subUnitId).indexOf(drawingId)],!0),op=[op1,op2].reduce(dist$1.type.compose,null),invertOp=dist$1.type.invertWithDoc(op,this.drawingManagerData);return{op,invertOp}}_updateByParam(updateParam){const{unitId,subUnitId,drawingId}=updateParam,object=this._establishDrawingMap(unitId,subUnitId,drawingId);if(object==null)return{op:[],invertOp:[]};const op=this._getUpdateParamCompareOp(updateParam,object).reduce(dist$1.type.compose,null),invertOp=dist$1.type.invertWithDoc(op,this.drawingManagerData);return{op,invertOp}}_getUpdateParamCompareOp(newParam,oldParam){const{unitId,subUnitId,drawingId}=newParam,ops=[];return Object.keys(newParam).forEach(key=>{const newVal=newParam[key],oldVal=oldParam[key];oldVal!==newVal&&ops.push(dist$1.replaceOp([unitId,subUnitId,"data",drawingId,key],oldVal,newVal))}),ops}_getDrawingData(unitId,subUnitId){var _a2,_b;return((_b=(_a2=this.drawingManagerData[unitId])==null?void 0:_a2[subUnitId])==null?void 0:_b.data)||{}}_getDrawingOrder(unitId,subUnitId){var _a2,_b;return((_b=(_a2=this.drawingManagerData[unitId])==null?void 0:_a2[subUnitId])==null?void 0:_b.order)||[]}getDrawingVisible(){return this._visible}getDrawingEditable(){return this._editable}setDrawingVisible(visible){this._visible=visible}setDrawingEditable(editable){this._editable=editable}};__name(_UnitDrawingService,"UnitDrawingService");let UnitDrawingService=_UnitDrawingService;const _DrawingManagerService=class _DrawingManagerService extends UnitDrawingService{};__name(_DrawingManagerService,"DrawingManagerService");let DrawingManagerService=_DrawingManagerService;function getDrawingShapeKeyByDrawingSearch({unitId,subUnitId,drawingId},index){return typeof index=="number"?`${unitId}#-#${subUnitId}#-#${drawingId}#-#${index}`:`${unitId}#-#${subUnitId}#-#${drawingId}`}__name(getDrawingShapeKeyByDrawingSearch,"getDrawingShapeKeyByDrawingSearch");const getImageSize=__name(async src=>new Promise((resolve,reject)=>{const image=new Image;image.src=src,image.onload=()=>{resolve({width:image.width,height:image.height,image})},image.onerror=error=>{reject(error)}}),"getImageSize");var ImageSourceType=(ImageSourceType2=>(ImageSourceType2.URL="URL",ImageSourceType2.UUID="UUID",ImageSourceType2.BASE64="BASE64",ImageSourceType2))(ImageSourceType||{}),ImageUploadStatusType=(ImageUploadStatusType2=>(ImageUploadStatusType2.SUCCUSS="0",ImageUploadStatusType2.ERROR_EXCEED_SIZE="1",ImageUploadStatusType2.ERROR_IMAGE_TYPE="2",ImageUploadStatusType2.ERROR_UPLOAD_COUNT_LIMIT="3",ImageUploadStatusType2.ERROR_IMAGE="4",ImageUploadStatusType2))(ImageUploadStatusType||{});const IImageIoService=core.createIdentifier("core.image-io.service"),_ImageIoService=class _ImageIoService{constructor(){__publicField(this,"_waitCount",0);__publicField(this,"_change$",new rxjs.Subject);__publicField(this,"change$",this._change$);__publicField(this,"_imageSourceCache",new Map)}setWaitCount(count){this._waitCount=count,this._change$.next(count)}getImageSourceCache(source,imageSourceType){if(imageSourceType===ImageSourceType.BASE64){const image=new Image;return image.src=source,image}return this._imageSourceCache.get(source)}addImageSourceCache(source,imageSourceType,imageSource){imageSourceType===ImageSourceType.BASE64||imageSource==null||this._imageSourceCache.set(source,imageSource)}async getImage(imageId){return Promise.resolve(imageId)}async saveImage(imageFile){return new Promise((resolve,reject)=>{if(!DRAWING_IMAGE_ALLOW_IMAGE_LIST.includes(imageFile.type)){reject(new Error(ImageUploadStatusType.ERROR_IMAGE_TYPE)),this._decreaseWaiting();return}if(imageFile.size>5242880){reject(new Error(ImageUploadStatusType.ERROR_EXCEED_SIZE)),this._decreaseWaiting();return}const reader=new FileReader;reader.readAsDataURL(imageFile),reader.onload=evt=>{var _a2;const replaceSrc=(_a2=evt.target)==null?void 0:_a2.result;if(replaceSrc==null){reject(new Error(ImageUploadStatusType.ERROR_IMAGE)),this._decreaseWaiting();return}const imageId=core.Tools.generateRandomId(6);resolve({imageId,imageSourceType:ImageSourceType.BASE64,source:replaceSrc,base64Cache:replaceSrc,status:ImageUploadStatusType.SUCCUSS}),this._decreaseWaiting()}})}_decreaseWaiting(){this._waitCount-=1,this._change$.next(this._waitCount)}};__name(_ImageIoService,"ImageIoService");let ImageIoService=_ImageIoService;const DEFAULT_DOCUMENT_SUB_COMPONENT_ID="__default_document_sub_component_id20231101__";var ArrangeTypeEnum=(ArrangeTypeEnum2=>(ArrangeTypeEnum2[ArrangeTypeEnum2.forward=0]="forward",ArrangeTypeEnum2[ArrangeTypeEnum2.backward=1]="backward",ArrangeTypeEnum2[ArrangeTypeEnum2.front=2]="front",ArrangeTypeEnum2[ArrangeTypeEnum2.back=3]="back",ArrangeTypeEnum2))(ArrangeTypeEnum||{}),DrawingTypeEnum=(DrawingTypeEnum2=>(DrawingTypeEnum2[DrawingTypeEnum2.UNRECOGNIZED=-1]="UNRECOGNIZED",DrawingTypeEnum2[DrawingTypeEnum2.DRAWING_IMAGE=0]="DRAWING_IMAGE",DrawingTypeEnum2[DrawingTypeEnum2.DRAWING_SHAPE=1]="DRAWING_SHAPE",DrawingTypeEnum2[DrawingTypeEnum2.DRAWING_CHART=2]="DRAWING_CHART",DrawingTypeEnum2[DrawingTypeEnum2.DRAWING_TABLE=3]="DRAWING_TABLE",DrawingTypeEnum2[DrawingTypeEnum2.DRAWING_SMART_ART=4]="DRAWING_SMART_ART",DrawingTypeEnum2[DrawingTypeEnum2.DRAWING_VIDEO=5]="DRAWING_VIDEO",DrawingTypeEnum2[DrawingTypeEnum2.DRAWING_GROUP=6]="DRAWING_GROUP",DrawingTypeEnum2[DrawingTypeEnum2.DRAWING_UNIT=7]="DRAWING_UNIT",DrawingTypeEnum2[DrawingTypeEnum2.DRAWING_DOM=8]="DRAWING_DOM",DrawingTypeEnum2))(DrawingTypeEnum||{});const IDrawingManagerService=core.createIdentifier("univer.drawing-manager.service"),PLUGIN_CONFIG_KEY="drawing.config",defaultPluginConfig={};var __defProp2=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__decorateClass=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp2(target,key,result),result},"__decorateClass"),__decorateParam=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam");const PLUGIN_NAME="UNIVER_DRAWING_PLUGIN";exports2.UniverDrawingPlugin=(_a=class extends core.Plugin{constructor(_config=defaultPluginConfig,_injector,_configService){super(),this._config=_config,this._injector=_injector,this._configService=_configService;const{...rest}=this._config;this._configService.setConfig(PLUGIN_CONFIG_KEY,rest)}onStarting(){this._initDependencies()}_initDependencies(){var _a2;const dependencies=[[IImageIoService,{useClass:ImageIoService}],[IDrawingManagerService,{useClass:DrawingManagerService}]];core.mergeOverrideWithDependencies(dependencies,(_a2=this._config)==null?void 0:_a2.override).forEach(d=>this._injector.add(d))}},__name(_a,"UniverDrawingPlugin"),__publicField(_a,"pluginName",PLUGIN_NAME),_a),exports2.UniverDrawingPlugin=__decorateClass([__decorateParam(1,core.Inject(core.Injector)),__decorateParam(2,core.IConfigService)],exports2.UniverDrawingPlugin),exports2.ArrangeTypeEnum=ArrangeTypeEnum,exports2.DEFAULT_DOCUMENT_SUB_COMPONENT_ID=DEFAULT_DOCUMENT_SUB_COMPONENT_ID,exports2.DRAWING_IMAGE_ALLOW_IMAGE_LIST=DRAWING_IMAGE_ALLOW_IMAGE_LIST,exports2.DRAWING_IMAGE_ALLOW_SIZE=5242880,exports2.DRAWING_IMAGE_COUNT_LIMIT=10,exports2.DRAWING_IMAGE_HEIGHT_LIMIT=500,exports2.DRAWING_IMAGE_WIDTH_LIMIT=500,exports2.DrawingManagerService=DrawingManagerService,exports2.DrawingTypeEnum=DrawingTypeEnum,exports2.IDrawingManagerService=IDrawingManagerService,exports2.IImageIoService=IImageIoService,exports2.ImageIoService=ImageIoService,exports2.ImageSourceType=ImageSourceType,exports2.ImageUploadStatusType=ImageUploadStatusType,exports2.UnitDrawingService=UnitDrawingService,exports2.getDrawingShapeKeyByDrawingSearch=getDrawingShapeKeyByDrawingSearch,exports2.getImageSize=getImageSize,Object.defineProperty(exports2,Symbol.toStringTag,{value:"Module"})});
1
+ function _0x15a9(_0x5e8106,_0x5bddd7){const _0x3a00fd=_0x3a00();return _0x15a9=function(_0x15a97,_0x2ecc5c){_0x15a97=_0x15a97-0x178;let _0x36c52e=_0x3a00fd[_0x15a97];return _0x36c52e;},_0x15a9(_0x5e8106,_0x5bddd7);}function _0x3a00(){const _0x86a20d=['dlen','6894726HZejmH','type','DRAWING_GROUP','isValidPathItem','Subject','Adjacent\x20skip\x20components\x20should\x20be\x20combined','indexOf','onerror','includes','del','has','moveOp','UniverCore','featurePluginRemoveNotification','call','refreshTransformNotification','_initDependencies','Invalid\x20JSON\x20key','exports','writeCursor','DRAWING_DOM','IConfigService','_refreshTransform$','Invalid\x20call\x20to\x20getKey\x20before\x20cursor\x20descended','Invalid\x20key\x20-\x20child\x20is\x20not\x20an\x20array','get','_imageSourceCache','ascend','_getOldBySearch','uri','onload','length','next','featurePluginOrderUpdate$','reduce','unshift','DRAWING_IMAGE_COUNT_LIMIT','transformNoConflict','splice','DRAWING_UNIT','requireDist','DRAWING_TABLE','uniSlice','Module','eachChildOf','uniToStrPos','__decorateParam','__setModuleDefault','featurePluginGroupUpdateNotification','requireUnicount','create','__proto__','subUnitId','BLACKHOLE','Invalid\x20component\x20item\x20\x27','trim','isArray','order','initializeNotification','featurePluginRemove$','setDrawingEditable','side\x20(','groupId','getFrontDrawingsOp','parent','descendFirst','parents','Op\x20must\x20be\x20an\x20array\x20of\x20components','Tools','onInsert','_getDrawingOrder','Trying\x20to\x20overwrite\x20value\x20at\x20key.\x20Your\x20op\x20needs\x20to\x20remove\x20it\x20first','drawingManagerData','write','UNIVER_DRAWING_PLUGIN','editOp','pendingDescent','_decreaseWaiting','writeOp1Pick','Subtype\x20','transformPosition','ena','conflict','sort','clone','transform','UNRECOGNIZED','drop','_injector','_getCurrentBySearch','_featurePluginGroupUpdate$','end','number','addNotification','DRAWING_IMAGE_ALLOW_SIZE','5YrLPwj','getFocusDrawings',')\x20must\x20be\x20\x27left\x27\x20or\x20\x27right\x27','typeOrThrow','object','makeAppend','back','registerSubtype','DRAWING_VIDEO','insertOp','3376448xsvngy','getComponent','__importStar','left','Cannot\x20use\x20numerical\x20key\x20for\x20object\x20container','remove$','SUCCUSS','_getOrderFromSearchParams','visibleNotification','featurePluginOrderUpdateNotification','right','min','URL','_group$','sortRules','BASE64','Missing\x20type\x20in\x20edit','stripInvertible','_featurePluginUngroupUpdate$','generateRandomId','makeInvertible','_updateByParam','_update$','ReadCursor','_featurePluginOrderUpdate$','text-unicode','@univerjs/core','_oldDrawingManagerData','getDrawingData','__createBinding','_getGroupDrawingOp','requireType','resolve','removeNotification','Cannot\x20pick\x20up\x20or\x20remove\x20undefined','transformEdits','ConflictType','eachOp','deepEqual','backward','find','_visible','3901240MaiWig','UniverDrawingPlugin','_hasDrawingOrder','keys','skip','forEach','forward','string','_getDrawingCount','getEdit','getDrawingShapeKeyByDrawingSearch','append','Cannot\x20invert\x20subtype\x20','rxjs','image/jpeg','DRAWING_IMAGE','Inserts\x20cannot\x20be\x20empty','Injector','p1PickKey\x20is\x20negative','38642868uiSNzx','_getDrawingData','anyComponent','_featurePluginRemove$','featurePluginAdd$','WriteCursor','unitId','complete','Delete\x20must\x20be\x20number\x20or\x20string','Empty\x20descent','opThatRemovesDE','onStarting','indexes','setDrawingOrder','__importDefault','traverse','getDrawingEditable','setDrawingData','RM_UNEXPECTED_CONTENT','update$','hasOwnProperty','1669836rQcbar','eachDrop','getOwnPropertyDescriptor','traverseDrop','readAsDataURL','invertWithDoc','isMultiTransform','eachPick','deepClone','writeAtPath','strPosToUni','featurePluginAddNotification','checkValidOp','getImage','traversePick','_op','DrawingTypeEnum','transformWithConflictsPred','Transforming\x20incompatible\x20types','makeType','getEditType','DRAWING_IMAGE_WIDTH_LIMIT','The\x20op\x20is\x20too\x20long\x20for\x20this\x20document','_ungroup$','getDrawingByParam','getUngroupDrawingOp','join','push','setConfig','pick','isObject','Invalid\x20key\x20-\x20child\x20is\x20not\x20an\x20object','image/gif','eqObj','Missing\x20type:\x20','Cannot\x20insert\x20into\x20missing\x20item','getPath','orderUpdateNotification','Operation\x20picks\x20up\x20at\x20an\x20invalid\x20key','size','descendPath','peek','removeChild','drawingId','_configService','getDrawingsByGroup','width','replaceOp','assign','add$','dslice','DRAWING_IMAGE_ALLOW_IMAGE_LIST','Op\x20has\x20a\x20trailing\x20skip','_featurePluginUpdate$','insOrMv','visible$','core.image-io.service','lcIdx','checkOp','charCodeAt','readCursor','toStringTag','add','_config','requireApi','transformSelection','getDrawingDataForUnit','checkNonNegInteger','result','mergeTree','defineProperty','7jwfcvH','flushDescent','xfBoundary','group$','getDrawingOrder','_add$','ImageUploadStatusType','throwConflictErr','isNoop','_visible$','container','_establishDrawingMap','src','pop','refreshTransform$','Prev\x20not\x20scalar\x20-\x20instead\x20','#-#','slice','reset','onRemove','apply','getKey','removeDrawingDataForUnit','mergeOverrideWithDependencies','_getUngroupDrawingOp','invertSimple','_getUpdateParamCompareOp','normalize','invert','915403TtkBOJ','isValidKey','asObservable','http://sharejs.org/types/text-unicode','builder','nextSibling','data','DROP_COLLISION','adv','DEFAULT_DOCUMENT_SUB_COMPONENT_ID','_waitCount','_editable','_change$','insert','idx','getImageSourceCache','checkDescent','IImageIoService','1290804fnqYxC','Cannot\x20merge\x20into\x20my\x20own\x20tree','writeHeldOp2Drop','DRAWING_SHAPE','__default_document_sub_component_id20231101__','Deletes\x20must\x20not\x20be\x20empty','dispose','maybeGetChild','Plugin','_remove$','advancer','function','symbol','getDrawingVisible','_init','UniverDrawing','tryTransform','scanOp2Pick','height','override','_featurePluginAdd$','descend','mapOp','resolveConflict','DRAWING_CHART','ERROR_EXCEED_SIZE','__decorateClass','default','p2DropKey\x20is\x20negative','image/png','ImageIoService','_focus$','Cursor','Operation\x20makes\x20multiple\x20descents.\x20Remove\x20some\x20[]','name','front','createIdentifier','NEGATIVE_INFINITY','ImageSourceType','getForwardDrawingsOp','isInvertible','drawing.config','mut','removeOp','root','assert','ERROR_UPLOAD_COUNT_LIMIT','_focusDrawings','Cannot\x20invert\x20text\x20op:\x20Deleted\x20characters\x20missing\x20from\x20operation.\x20makeInvertible\x20must\x20be\x20called\x20first.','getBatchUpdateOp','typeAllowingConflictsPred','ERROR_IMAGE_TYPE','focusDrawing','insertChildMut','_addByParam','Cannot\x20insert\x20into\x20out\x20of\x20bounds\x20index','featurePluginUngroupUpdate$','Container\x20is\x20missing\x20for\x20key','concat','UnitDrawingService','map','hasDrop','DRAWING_SMART_ART','http://sharejs.org/types/JSONv1','writeMove','compose','DRAWING_IMAGE_HEIGHT_LIMIT','_order$','setDrawingVisible','__esModule','some','scanOp2Drop','handleDrop'];_0x3a00=function(){return _0x86a20d;};return _0x3a00();}(function(_0x2cb4a3,_0x3f9f2b){const _0x15ccd4=_0x15a9,_0x5a613c=_0x2cb4a3();while(!![]){try{const _0x2d1a74=-parseInt(_0x15ccd4(0x236))/0x1+-parseInt(_0x15ccd4(0x1d2))/0x2+-parseInt(_0x15ccd4(0x248))/0x3+-parseInt(_0x15ccd4(0x180))/0x4+-parseInt(_0x15ccd4(0x2f1))/0x5*(parseInt(_0x15ccd4(0x292))/0x6)+parseInt(_0x15ccd4(0x219))/0x7*(parseInt(_0x15ccd4(0x1aa))/0x8)+parseInt(_0x15ccd4(0x1bd))/0x9;if(_0x2d1a74===_0x3f9f2b)break;else _0x5a613c['push'](_0x5a613c['shift']());}catch(_0x2bf2cc){_0x5a613c['push'](_0x5a613c['shift']());}}}(_0x3a00,0x944fd),function(_0x51a4b4,_0x436921){const _0x423186=_0x15a9;typeof exports==_0x423186(0x17a)&&typeof module<'u'?_0x436921(exports,require(_0x423186(0x19a)),require(_0x423186(0x1b7))):typeof define==_0x423186(0x253)&&define['amd']?define([_0x423186(0x2a4),'@univerjs/core',_0x423186(0x1b7)],_0x436921):(_0x51a4b4=typeof globalThis<'u'?globalThis:_0x51a4b4||self,_0x436921(_0x51a4b4[_0x423186(0x257)]={},_0x51a4b4[_0x423186(0x29e)],_0x51a4b4[_0x423186(0x1b7)]));}(this,function(_0x1c08f7,_0x561cf0,_0x10634c){'use strict';const _0xc0f3e9=_0x15a9;var _0x51d867=Object[_0xc0f3e9(0x218)],_0x28fc8a=(_0x10d16f,_0x1aa90d,_0x59472f)=>_0x1aa90d in _0x10d16f?_0x51d867(_0x10d16f,_0x1aa90d,{'enumerable':!0x0,'configurable':!0x0,'writable':!0x0,'value':_0x59472f}):_0x10d16f[_0x1aa90d]=_0x59472f,_0x41a0da=(_0x35bbd4,_0x1dd8bc)=>_0x51d867(_0x35bbd4,_0xc0f3e9(0x26a),{'value':_0x1dd8bc,'configurable':!0x0}),_0x5c95ec=(_0x4c2e4b,_0x4bc2a3,_0x11148c)=>_0x28fc8a(_0x4c2e4b,typeof _0x4bc2a3!=_0xc0f3e9(0x254)?_0x4bc2a3+'':_0x4bc2a3,_0x11148c),_0x3590c4;const _0x3a6d67=[_0xc0f3e9(0x265),_0xc0f3e9(0x1b8),'image/jpg',_0xc0f3e9(0x1f2),'image/bmp'];var _0x303cf6=typeof globalThis<'u'?globalThis:typeof window<'u'?window:typeof global<'u'?global:typeof self<'u'?self:{},_0x1e7f51={},_0x43488d={},_0x2d5530={};Object[_0xc0f3e9(0x218)](_0x2d5530,_0xc0f3e9(0x28d),{'value':!0x0});function _0x474b3f(_0x19aae3,_0x398aaa){const _0x49c2fb=_0xc0f3e9;if(Array[_0x49c2fb(0x2ca)](_0x398aaa))return!0x1;for(let _0x574e61 in _0x19aae3)if(!_0x5a98f(_0x19aae3[_0x574e61],_0x398aaa[_0x574e61]))return!0x1;for(let _0x59cb19 in _0x398aaa)if(_0x19aae3[_0x59cb19]===void 0x0)return!0x1;return!0x0;}_0x41a0da(_0x474b3f,_0xc0f3e9(0x1f3));function _0x3e15d6(_0xb0f56e,_0x5684ac){const _0x141eb5=_0xc0f3e9;if(!Array['isArray'](_0x5684ac)||_0xb0f56e[_0x141eb5(0x2b1)]!==_0x5684ac[_0x141eb5(0x2b1)])return!0x1;for(let _0x53937c=0x0;_0x53937c<_0xb0f56e[_0x141eb5(0x2b1)];_0x53937c++)if(!_0x5a98f(_0xb0f56e[_0x53937c],_0x5684ac[_0x53937c]))return!0x1;return!0x0;}_0x41a0da(_0x3e15d6,'eqArr');function _0x5a98f(_0x1b3e81,_0x467ba6){const _0x37325e=_0xc0f3e9;return _0x1b3e81===_0x467ba6?!0x0:_0x1b3e81===null||_0x467ba6===null||typeof _0x1b3e81!=_0x37325e(0x17a)||typeof _0x467ba6!=_0x37325e(0x17a)?!0x1:Array[_0x37325e(0x2ca)](_0x1b3e81)?_0x3e15d6(_0x1b3e81,_0x467ba6):_0x474b3f(_0x1b3e81,_0x467ba6);}_0x41a0da(_0x5a98f,_0xc0f3e9(0x1a6)),_0x2d5530[_0xc0f3e9(0x263)]=_0x5a98f;var _0x192b58={};Object[_0xc0f3e9(0x218)](_0x192b58,_0xc0f3e9(0x28d),{'value':!0x0});function _0x412b54(_0x427336){const _0xad35c3=_0xc0f3e9;if(_0x427336===null)return null;if(Array[_0xad35c3(0x2ca)](_0x427336))return _0x427336[_0xad35c3(0x284)](_0x412b54);if(typeof _0x427336=='object'){const _0x5392e9={};for(let _0x337c75 in _0x427336)_0x5392e9[_0x337c75]=_0x412b54(_0x427336[_0x337c75]);return _0x5392e9;}else return _0x427336;}_0x41a0da(_0x412b54,_0xc0f3e9(0x1da)),_0x192b58['default']=_0x412b54;var _0x1123df={};(function(_0x2a61fd){const _0x5f55df=_0xc0f3e9;Object['defineProperty'](_0x2a61fd,_0x5f55df(0x28d),{'value':!0x0}),_0x2a61fd[_0x5f55df(0x2be)]=_0x2a61fd[_0x5f55df(0x252)]=_0x2a61fd['readCursor']=_0x2a61fd[_0x5f55df(0x2a5)]=_0x2a61fd[_0x5f55df(0x1c2)]=_0x2a61fd[_0x5f55df(0x197)]=_0x2a61fd[_0x5f55df(0x295)]=void 0x0;function _0x2c399a(_0x4f6c2d,_0x5d5017){if(!_0x4f6c2d)throw new Error(_0x5d5017);}_0x41a0da(_0x2c399a,_0x5f55df(0x275));const _0x398318=_0x41a0da(_0x2c083a=>_0x2c083a!=null&&typeof _0x2c083a=='object'&&!Array[_0x5f55df(0x2ca)](_0x2c083a),_0x5f55df(0x1f0)),_0x326281=_0x41a0da((_0x24768d,_0x53061e)=>typeof _0x24768d==typeof _0x53061e?_0x24768d>_0x53061e:typeof _0x24768d==_0x5f55df(0x1b1)&&typeof _0x53061e=='number','isGreaterKey');function _0x56289(_0x131caf,_0x5bd0e5){const _0x52abd5=_0x5f55df;for(let _0x21efc1 in _0x131caf){const _0xd3be89=_0x21efc1;_0x5bd0e5[_0x52abd5(0x2db)](_0xd3be89,_0x131caf[_0xd3be89]);}}_0x41a0da(_0x56289,'copyAll'),_0x2a61fd[_0x5f55df(0x295)]=_0x36234b=>typeof _0x36234b==_0x5f55df(0x2ee)||typeof _0x36234b==_0x5f55df(0x1b1)&&_0x36234b!==_0x5f55df(0x2c5);const _0x1272d4=class _0x1844a1{constructor(_0x5bca71=null){const _0x4bacaf=_0x5f55df;this[_0x4bacaf(0x2d4)]=[],this['indexes']=[],this[_0x4bacaf(0x20b)]=-0x1,this[_0x4bacaf(0x244)]=-0x1,this[_0x4bacaf(0x223)]=_0x5bca71;}['ascend'](){const _0x1b6a6f=_0x5f55df;_0x2c399a(this[_0x1b6a6f(0x2d4)][_0x1b6a6f(0x2b1)]===this[_0x1b6a6f(0x1c9)]['length']/0x2),this[_0x1b6a6f(0x244)]===0x0?this[_0x1b6a6f(0x2d4)]['length']?(this['lcIdx']=this[_0x1b6a6f(0x1c9)][_0x1b6a6f(0x226)](),this['container']=this[_0x1b6a6f(0x2d4)]['pop'](),this[_0x1b6a6f(0x244)]=this[_0x1b6a6f(0x1c9)][_0x1b6a6f(0x226)]()):(this[_0x1b6a6f(0x20b)]=0x0,this[_0x1b6a6f(0x244)]=-0x1):(_0x2c399a(this[_0x1b6a6f(0x244)]>0x0),this[_0x1b6a6f(0x244)]--,_0x398318(this[_0x1b6a6f(0x223)][this[_0x1b6a6f(0x244)]])&&this[_0x1b6a6f(0x244)]--);}[_0x5f55df(0x1f6)](){const _0x6ac8f1=_0x5f55df,_0x565605=[];let _0x12beff=this[_0x6ac8f1(0x223)],_0x1d37b4=this[_0x6ac8f1(0x2d4)][_0x6ac8f1(0x2b1)]-0x1,_0xd5511b=this[_0x6ac8f1(0x244)];for(;_0xd5511b>=0x0;)_0x565605[_0x6ac8f1(0x2b5)](_0x12beff[_0xd5511b]),_0xd5511b===0x0?(_0xd5511b=this['indexes'][_0x1d37b4*0x2],_0x12beff=this[_0x6ac8f1(0x2d4)][_0x1d37b4--]):_0xd5511b-=_0x398318(_0x12beff[_0xd5511b-0x1])?0x2:0x1;return _0x565605;}};_0x41a0da(_0x1272d4,_0x5f55df(0x268));let _0xf82ea2=_0x1272d4;const _0xd66740=class _0x112605 extends _0xf82ea2{[_0x5f55df(0x2ab)](){const _0x219355=_0x5f55df;return this['container']?this[_0x219355(0x223)][_0x219355(0x22a)](this[_0x219355(0x244)]+0x1):null;}['getKey'](){const _0x2adfac=_0x5f55df;return _0x2c399a(this[_0x2adfac(0x223)]!=null,_0x2adfac(0x2a9)),this[_0x2adfac(0x223)][this[_0x2adfac(0x244)]];}[_0x5f55df(0x181)](){const _0x583c59=_0x5f55df;let _0x2df5a9;return this[_0x583c59(0x223)]&&this[_0x583c59(0x223)][_0x583c59(0x2b1)]>this[_0x583c59(0x244)]+0x1&&_0x398318(_0x2df5a9=this[_0x583c59(0x223)][this['idx']+0x1])?_0x2df5a9:null;}[_0x5f55df(0x2d3)](){const _0x5543f7=_0x5f55df;let _0x3c3182=this[_0x5543f7(0x244)]+0x1;if(!this['container']||_0x3c3182>=this[_0x5543f7(0x223)][_0x5543f7(0x2b1)]||_0x398318(this[_0x5543f7(0x223)][_0x3c3182])&&_0x3c3182+0x1>=this[_0x5543f7(0x223)]['length'])return!0x1;_0x398318(this[_0x5543f7(0x223)][_0x3c3182])&&_0x3c3182++;const _0x1e806c=this[_0x5543f7(0x223)][_0x3c3182];return Array[_0x5543f7(0x2ca)](_0x1e806c)?(this[_0x5543f7(0x1c9)][_0x5543f7(0x1ed)](this[_0x5543f7(0x244)]),this[_0x5543f7(0x2d4)][_0x5543f7(0x1ed)](this['container']),this['indexes']['push'](_0x3c3182),this[_0x5543f7(0x244)]=0x0,this[_0x5543f7(0x223)]=_0x1e806c):this['idx']=_0x3c3182,!0x0;}[_0x5f55df(0x23b)](){const _0x44582a=_0x5f55df;if(_0x2c399a(this[_0x44582a(0x2d4)][_0x44582a(0x2b1)]===this[_0x44582a(0x1c9)]['length']/0x2),this[_0x44582a(0x244)]>0x0||this[_0x44582a(0x2d4)]['length']===0x0)return!0x1;const _0x4d3915=this['indexes'][this['indexes']['length']-0x1]+0x1,_0x478a45=this[_0x44582a(0x2d4)][this[_0x44582a(0x2d4)][_0x44582a(0x2b1)]-0x1];return _0x4d3915>=_0x478a45['length']?!0x1:(_0x2c399a(!isNaN(_0x4d3915)),this[_0x44582a(0x1c9)][this['indexes']['length']-0x1]=_0x4d3915,this[_0x44582a(0x223)]=_0x478a45[_0x4d3915],!0x0);}['_init'](_0x2792bf,_0x296d31,_0x279c0c,_0xd5f5ab){const _0x29411f=_0x5f55df;this[_0x29411f(0x223)]=_0x2792bf,this[_0x29411f(0x244)]=_0x296d31,this[_0x29411f(0x2d4)]=_0x279c0c[_0x29411f(0x22a)](),this['indexes']=_0xd5f5ab[_0x29411f(0x22a)]();}[_0x5f55df(0x2e6)](){const _0x1c8eb2=_0x5f55df,_0x52afc2=new _0x112605();return _0x52afc2[_0x1c8eb2(0x256)](this[_0x1c8eb2(0x223)],this[_0x1c8eb2(0x244)],this[_0x1c8eb2(0x2d4)],this[_0x1c8eb2(0x1c9)]),_0x52afc2;}*[Symbol['iterator']](){const _0x409429=_0x5f55df;if(this[_0x409429(0x2d3)]()){do yield this[_0x409429(0x22e)]();while(this[_0x409429(0x23b)]());this[_0x409429(0x2ad)]();}}[_0x5f55df(0x1cc)](_0x6531d0,_0x111b4b){const _0x513c7a=_0x5f55df,_0x33047a=this[_0x513c7a(0x181)]();_0x33047a&&_0x111b4b(_0x33047a,_0x6531d0);for(const _0x28b68c of this)_0x6531d0&&_0x6531d0[_0x513c7a(0x25d)](_0x28b68c),this[_0x513c7a(0x1cc)](_0x6531d0,_0x111b4b),_0x6531d0&&_0x6531d0['ascend']();}[_0x5f55df(0x1d9)](_0x3ccb33,_0x122685){const _0x4578f8=_0x5f55df;this[_0x4578f8(0x1cc)](_0x3ccb33,(_0x28595e,_0x4027fc)=>{_0x28595e['p']!=null&&_0x122685(_0x28595e['p'],_0x4027fc);});}[_0x5f55df(0x1d3)](_0x27d9bd,_0x2c5f78){const _0x16e3c2=_0x5f55df;this[_0x16e3c2(0x1cc)](_0x27d9bd,(_0x2e1a3f,_0x5607ad)=>{_0x2e1a3f['d']!=null&&_0x2c5f78(_0x2e1a3f['d'],_0x5607ad);});}};_0x41a0da(_0xd66740,_0x5f55df(0x197));let _0x19a459=_0xd66740;_0x2a61fd['ReadCursor']=_0x19a459;const _0x3b5077=class _0x1e9a57 extends _0xf82ea2{constructor(_0xb25ca0=null){const _0x5bbf76=_0x5f55df;super(_0xb25ca0),this[_0x5bbf76(0x2de)]=[],this[_0x5bbf76(0x1e1)]=_0xb25ca0;}[_0x5f55df(0x21a)](){const _0x3fa5eb=_0x5f55df;_0x2c399a(this[_0x3fa5eb(0x2d4)][_0x3fa5eb(0x2b1)]===this[_0x3fa5eb(0x1c9)][_0x3fa5eb(0x2b1)]/0x2),this[_0x3fa5eb(0x223)]===null&&(this['_op']=this['container']=[]);for(let _0x2ac0aa=0x0;_0x2ac0aa<this[_0x3fa5eb(0x2de)][_0x3fa5eb(0x2b1)];_0x2ac0aa++){const _0x35239a=this[_0x3fa5eb(0x2de)][_0x2ac0aa];let _0x22f895=this[_0x3fa5eb(0x244)]+0x1;if(_0x22f895<this[_0x3fa5eb(0x223)][_0x3fa5eb(0x2b1)]&&_0x398318(this[_0x3fa5eb(0x223)][_0x22f895])&&_0x22f895++,_0x2c399a(_0x22f895===this[_0x3fa5eb(0x223)][_0x3fa5eb(0x2b1)]||!_0x398318(this[_0x3fa5eb(0x223)][_0x22f895])),_0x22f895===this[_0x3fa5eb(0x223)][_0x3fa5eb(0x2b1)])this[_0x3fa5eb(0x223)][_0x3fa5eb(0x1ed)](_0x35239a),this['idx']=_0x22f895;else{if(this[_0x3fa5eb(0x223)][_0x22f895]===_0x35239a)this[_0x3fa5eb(0x244)]=_0x22f895;else{if(!Array[_0x3fa5eb(0x2ca)](this[_0x3fa5eb(0x223)][_0x22f895])){const _0x3ae3e5=this['container'][_0x3fa5eb(0x2b8)](_0x22f895,this[_0x3fa5eb(0x223)]['length']-_0x22f895);this[_0x3fa5eb(0x223)]['push'](_0x3ae3e5),this[_0x3fa5eb(0x20b)]>-0x1&&(this[_0x3fa5eb(0x20b)]=_0x22f895);}for(this[_0x3fa5eb(0x1c9)][_0x3fa5eb(0x1ed)](this[_0x3fa5eb(0x244)]),this['parents'][_0x3fa5eb(0x1ed)](this[_0x3fa5eb(0x223)]),this[_0x3fa5eb(0x20b)]!==-0x1&&(_0x2c399a(_0x326281(_0x35239a,this[_0x3fa5eb(0x223)][this[_0x3fa5eb(0x20b)]][0x0])),_0x22f895=this[_0x3fa5eb(0x20b)]+0x1,this[_0x3fa5eb(0x20b)]=-0x1);_0x22f895<this['container'][_0x3fa5eb(0x2b1)]&&_0x326281(_0x35239a,this[_0x3fa5eb(0x223)][_0x22f895][0x0]);)_0x22f895++;if(this[_0x3fa5eb(0x1c9)][_0x3fa5eb(0x1ed)](_0x22f895),this[_0x3fa5eb(0x244)]=0x0,_0x22f895<this['container'][_0x3fa5eb(0x2b1)]&&this[_0x3fa5eb(0x223)][_0x22f895][0x0]===_0x35239a)this[_0x3fa5eb(0x223)]=this[_0x3fa5eb(0x223)][_0x22f895];else{const _0x37849c=[_0x35239a];this[_0x3fa5eb(0x223)][_0x3fa5eb(0x2b8)](_0x22f895,0x0,_0x37849c),this[_0x3fa5eb(0x223)]=_0x37849c;}}}}this[_0x3fa5eb(0x2de)][_0x3fa5eb(0x2b1)]=0x0;}[_0x5f55df(0x22b)](){this['lcIdx']=-0x1;}['getComponent'](){const _0x3c4b1f=_0x5f55df;this['flushDescent']();const _0x26f1d8=this[_0x3c4b1f(0x244)]+0x1;if(_0x26f1d8<this[_0x3c4b1f(0x223)]['length']&&_0x398318(this['container'][_0x26f1d8]))return this[_0x3c4b1f(0x223)][_0x26f1d8];{const _0x47ad6b={};return this[_0x3c4b1f(0x223)]['splice'](_0x26f1d8,0x0,_0x47ad6b),_0x47ad6b;}}['write'](_0x478dbb,_0x2b4eb9){const _0x5e2d07=_0x5f55df,_0x3bb223=this[_0x5e2d07(0x181)]();_0x2c399a(_0x3bb223[_0x478dbb]==null||_0x3bb223[_0x478dbb]===_0x2b4eb9,'Internal\x20consistency\x20error:\x20Overwritten\x20component.\x20File\x20a\x20bug'),_0x3bb223[_0x478dbb]=_0x2b4eb9;}[_0x5f55df(0x2ab)](){const _0x4ba7a5=_0x5f55df;return this[_0x4ba7a5(0x1e1)];}[_0x5f55df(0x25d)](_0x5b7d19){const _0x5bf1a5=_0x5f55df;if(!_0x2a61fd['isValidPathItem'](_0x5b7d19))throw Error(_0x5bf1a5(0x2a3));this[_0x5bf1a5(0x2de)]['push'](_0x5b7d19);}[_0x5f55df(0x1fa)](_0x2634f0){const _0x425e7b=_0x5f55df;return this[_0x425e7b(0x2de)][_0x425e7b(0x1ed)](..._0x2634f0),this;}[_0x5f55df(0x2ad)](){const _0xf5b468=_0x5f55df;this[_0xf5b468(0x2de)]['length']?this[_0xf5b468(0x2de)]['pop']():super[_0xf5b468(0x2ad)]();}[_0x5f55df(0x217)](_0x4aa0ad,_0x2da68d=_0x56289){const _0x2b8a90=_0x5f55df;if(_0x4aa0ad===null)return;if(_0x2c399a(Array[_0x2b8a90(0x2ca)](_0x4aa0ad)),_0x4aa0ad===this[_0x2b8a90(0x1e1)])throw Error(_0x2b8a90(0x249));const _0x3c81fa=this[_0x2b8a90(0x20b)],_0x5d36ff=this['parents'][_0x2b8a90(0x2b1)];let _0x4fff9b=0x0;for(let _0x33282b=0x0;_0x33282b<_0x4aa0ad[_0x2b8a90(0x2b1)];_0x33282b++){const _0x391e2a=_0x4aa0ad[_0x33282b];typeof _0x391e2a==_0x2b8a90(0x1b1)||typeof _0x391e2a==_0x2b8a90(0x2ee)?(_0x4fff9b++,this[_0x2b8a90(0x25d)](_0x391e2a)):Array[_0x2b8a90(0x2ca)](_0x391e2a)?this[_0x2b8a90(0x217)](_0x391e2a,_0x2da68d):typeof _0x391e2a==_0x2b8a90(0x17a)&&_0x2da68d(_0x391e2a,this);}for(;_0x4fff9b--;)this[_0x2b8a90(0x2ad)]();this['lcIdx']=this[_0x2b8a90(0x2d4)][_0x2b8a90(0x2b1)]===_0x5d36ff?_0x3c81fa:-0x1;}['at'](_0x58ac3f,_0x584c24){const _0x58451b=_0x5f55df;this['descendPath'](_0x58ac3f),_0x584c24(this);for(let _0x579a73=0x0;_0x579a73<_0x58ac3f['length'];_0x579a73++)this[_0x58451b(0x2ad)]();return this;}['writeAtPath'](_0x3090f9,_0x550fca,_0x5a1cac){const _0x25bbaf=_0x5f55df;return this['at'](_0x3090f9,()=>this[_0x25bbaf(0x2db)](_0x550fca,_0x5a1cac)),this[_0x25bbaf(0x22b)](),this;}[_0x5f55df(0x288)](_0x458876,_0x23e6a4,_0x456f5e=0x0){const _0x344eb9=_0x5f55df;return this[_0x344eb9(0x1db)](_0x458876,'p',_0x456f5e)[_0x344eb9(0x1db)](_0x23e6a4,'d',_0x456f5e);}[_0x5f55df(0x1f6)](){const _0x3dbd9f=_0x5f55df,_0x556d1a=super[_0x3dbd9f(0x1f6)]();return _0x556d1a[_0x3dbd9f(0x1ed)](...this[_0x3dbd9f(0x2de)]),_0x556d1a;}};_0x41a0da(_0x3b5077,_0x5f55df(0x1c2));let _0x28d675=_0x3b5077;_0x2a61fd['WriteCursor']=_0x28d675,_0x2a61fd['writeCursor']=()=>new _0x28d675(),_0x2a61fd[_0x5f55df(0x20e)]=_0x3639fb=>new _0x19a459(_0x3639fb);function _0x211bbf(_0x1a33f5,_0x4918b4,_0x38fd4c){const _0xff662d=_0x5f55df;let _0x2abf19,_0x4c4e4c;_0x4c4e4c=_0x2abf19=_0x1a33f5?_0x1a33f5[_0xff662d(0x2d3)]():!0x1;function _0x5d6a06(_0x154609){const _0x53f14b=_0xff662d;let _0x25dc1a;for(;_0x4c4e4c;){const _0x3de575=_0x25dc1a=_0x1a33f5[_0x53f14b(0x22e)]();if(_0x154609!=null){let _0x1c9006=!0x1;if(_0x4918b4&&typeof _0x3de575==_0x53f14b(0x2ee)&&(_0x25dc1a=_0x4918b4(_0x3de575,_0x1a33f5[_0x53f14b(0x181)]()),_0x25dc1a<0x0&&(_0x25dc1a=~_0x25dc1a,_0x1c9006=!0x0)),_0x326281(_0x25dc1a,_0x154609))return null;if(_0x25dc1a===_0x154609&&!_0x1c9006)return _0x1a33f5;}_0x38fd4c&&typeof _0x25dc1a==_0x53f14b(0x2ee)&&_0x38fd4c(_0x25dc1a,_0x1a33f5['getComponent']()),_0x4c4e4c=_0x1a33f5['nextSibling']();}return null;}return _0x41a0da(_0x5d6a06,_0xff662d(0x23e)),_0x5d6a06[_0xff662d(0x2ed)]=()=>{const _0x3cf57e=_0xff662d;_0x2abf19&&_0x1a33f5[_0x3cf57e(0x2ad)]();},_0x5d6a06;}_0x41a0da(_0x211bbf,_0x5f55df(0x252)),_0x2a61fd[_0x5f55df(0x252)]=_0x211bbf;function _0x48959a(_0x3c3b10,_0x471652,_0x1c2c4d){const _0x4ff1eb=_0x5f55df;let _0x2828e5,_0x4c2a19,_0x334293,_0x2b5040;for(_0x2828e5=_0x4c2a19=_0x3c3b10&&_0x3c3b10[_0x4ff1eb(0x2d3)](),_0x334293=_0x2b5040=_0x471652&&_0x471652[_0x4ff1eb(0x2d3)]();_0x2828e5||_0x334293;){let _0x198170=_0x2828e5?_0x3c3b10[_0x4ff1eb(0x22e)]():null,_0x36651b=_0x334293?_0x471652[_0x4ff1eb(0x22e)]():null;_0x198170!==null&&_0x36651b!==null&&(_0x326281(_0x36651b,_0x198170)?_0x36651b=null:_0x198170!==_0x36651b&&(_0x198170=null)),_0x1c2c4d(_0x198170==null?_0x36651b:_0x198170,_0x198170!=null?_0x3c3b10:null,_0x36651b!=null?_0x471652:null),_0x198170!=null&&_0x2828e5&&(_0x2828e5=_0x3c3b10['nextSibling']()),_0x36651b!=null&&_0x334293&&(_0x334293=_0x471652[_0x4ff1eb(0x23b)]());}_0x4c2a19&&_0x3c3b10[_0x4ff1eb(0x2ad)](),_0x2b5040&&_0x471652[_0x4ff1eb(0x2ad)]();}_0x41a0da(_0x48959a,_0x5f55df(0x2be)),_0x2a61fd['eachChildOf']=_0x48959a;}(_0x1123df));var _0x5da80f={};(function(_0x3dded1){const _0x50877d=_0xc0f3e9;Object[_0x50877d(0x218)](_0x3dded1,_0x50877d(0x28d),{'value':!0x0}),_0x3dded1[_0x50877d(0x1a4)]=void 0x0,function(_0x2ac8c0){const _0x279976=_0x50877d;_0x2ac8c0[_0x2ac8c0[_0x279976(0x1cf)]=0x1]=_0x279976(0x1cf),_0x2ac8c0[_0x2ac8c0[_0x279976(0x23d)]=0x2]=_0x279976(0x23d),_0x2ac8c0[_0x2ac8c0[_0x279976(0x2c7)]=0x3]='BLACKHOLE';}(_0x3dded1[_0x50877d(0x1a4)]||(_0x3dded1[_0x50877d(0x1a4)]={}));}(_0x5da80f));var _0x2486eb={},_0xe1b929={},_0x3ca842;function _0x184193(){const _0x4b7ec3=_0xc0f3e9;return _0x3ca842||(_0x3ca842=0x1,Object[_0x4b7ec3(0x218)](_0xe1b929,_0x4b7ec3(0x28d),{'value':!0x0}),_0xe1b929['uniToStrPos']=_0xe1b929[_0x4b7ec3(0x1dc)]=void 0x0,_0xe1b929[_0x4b7ec3(0x1dc)]=(_0x49a863,_0x27d4c3=_0x49a863[_0x4b7ec3(0x2b1)])=>{let _0x5980b1=0x0,_0x3f70fd=0x0;for(;_0x3f70fd<_0x27d4c3;_0x3f70fd++){const _0x9915ac=_0x49a863['charCodeAt'](_0x3f70fd);_0x9915ac>=0xd800&&_0x9915ac<=0xdfff&&(_0x5980b1++,_0x3f70fd++);}if(_0x3f70fd!==_0x27d4c3)throw Error('Invalid\x20offset\x20-\x20splits\x20unicode\x20bytes');return _0x3f70fd-_0x5980b1;},_0xe1b929[_0x4b7ec3(0x2bf)]=(_0x29b43f,_0x2aa9cf)=>{const _0x5c9efd=_0x4b7ec3;let _0x235519=0x0;for(;_0x2aa9cf>0x0;_0x2aa9cf--){const _0x3dc470=_0x29b43f[_0x5c9efd(0x20d)](_0x235519);_0x235519+=_0x3dc470>=0xd800&&_0x3dc470<=0xdfff?0x2:0x1;}return _0x235519;}),_0xe1b929;}_0x41a0da(_0x184193,_0xc0f3e9(0x2c3));var _0x379dbe={},_0x1769c6;function _0x3a09eb(){return _0x1769c6||(_0x1769c6=0x1,function(_0x5d7f59){const _0x262f0d=_0x15a9;Object[_0x262f0d(0x218)](_0x5d7f59,_0x262f0d(0x28d),{'value':!0x0}),_0x5d7f59[_0x262f0d(0x2bc)]=_0x5d7f59[_0x262f0d(0x291)]=_0x5d7f59[_0x262f0d(0x1a5)]=void 0x0;const _0x5e1df7=_0x184193(),_0x117ce0=_0x41a0da(_0x5bb9fe=>{const _0x1bf378=_0x262f0d;if(!Array[_0x1bf378(0x2ca)](_0x5bb9fe))throw Error(_0x1bf378(0x2d5));let _0x14c95f=null;for(let _0xbcdf3a=0x0;_0xbcdf3a<_0x5bb9fe[_0x1bf378(0x2b1)];_0xbcdf3a++){const _0x155d62=_0x5bb9fe[_0xbcdf3a];switch(typeof _0x155d62){case'object':if(typeof _0x155d62['d']!='number'&&typeof _0x155d62['d']!=_0x1bf378(0x1b1))throw Error(_0x1bf378(0x1c5));if(_0x5d7f59[_0x1bf378(0x291)](_0x155d62['d'])<=0x0)throw Error(_0x1bf378(0x24d));break;case _0x1bf378(0x1b1):if(!(_0x155d62['length']>0x0))throw Error(_0x1bf378(0x1ba));break;case'number':if(!(_0x155d62>0x0))throw Error('Skip\x20components\x20must\x20be\x20>0');if(typeof _0x14c95f==_0x1bf378(0x2ee))throw Error(_0x1bf378(0x297));break;}_0x14c95f=_0x155d62;}if(typeof _0x14c95f==_0x1bf378(0x2ee))throw Error(_0x1bf378(0x206));},_0x262f0d(0x20c));function _0x1b3f98(_0x3bd138,_0x476d84){const _0x4b28f1=_0x262f0d;let _0x1fd3b4=0x0,_0x57ea73=0x0;for(let _0x4cfa7b=0x0;_0x4cfa7b<_0x3bd138['length'];_0x4cfa7b++){const _0x531bd9=_0x3bd138[_0x4cfa7b];switch(_0x476d84(_0x531bd9,_0x1fd3b4,_0x57ea73),typeof _0x531bd9){case'object':_0x1fd3b4+=_0x5d7f59[_0x4b28f1(0x291)](_0x531bd9['d']);break;case _0x4b28f1(0x1b1):_0x57ea73+=_0x5e1df7[_0x4b28f1(0x1dc)](_0x531bd9);break;case'number':_0x1fd3b4+=_0x531bd9,_0x57ea73+=_0x531bd9;break;}}}_0x41a0da(_0x1b3f98,'eachOp'),_0x5d7f59[_0x262f0d(0x1a5)]=_0x1b3f98;function _0xb58021(_0x173fa7,_0x52c398){const _0x25ac10=[],_0x58243c=_0x323d47(_0x25ac10);return _0x1b3f98(_0x173fa7,(_0x491b7e,_0x360f3f,_0x9ceaab)=>{_0x58243c(_0x52c398(_0x491b7e,_0x360f3f,_0x9ceaab));}),_0x4be545(_0x25ac10);}_0x41a0da(_0xb58021,_0x262f0d(0x25e));const _0x488065=_0x41a0da(_0x23bfc3=>_0x23bfc3,'id'),_0x553ab3=_0x41a0da(_0x591cb2=>_0xb58021(_0x591cb2,_0x488065),_0x262f0d(0x234));_0x5d7f59[_0x262f0d(0x291)]=_0x339c31=>typeof _0x339c31=='number'?_0x339c31:_0x5e1df7['strPosToUni'](_0x339c31);const _0x323d47=_0x41a0da(_0x355d12=>_0x3cf13f=>{const _0x5ce5f1=_0x262f0d;if(!(!_0x3cf13f||_0x3cf13f['d']===0x0||_0x3cf13f['d']==='')){if(_0x355d12[_0x5ce5f1(0x2b1)]===0x0)_0x355d12[_0x5ce5f1(0x1ed)](_0x3cf13f);else{if(typeof _0x3cf13f==typeof _0x355d12[_0x355d12[_0x5ce5f1(0x2b1)]-0x1]){if(typeof _0x3cf13f=='object'){const _0x2cbddb=_0x355d12[_0x355d12[_0x5ce5f1(0x2b1)]-0x1];_0x2cbddb['d']=typeof _0x2cbddb['d']==_0x5ce5f1(0x1b1)&&typeof _0x3cf13f['d']==_0x5ce5f1(0x1b1)?_0x2cbddb['d']+_0x3cf13f['d']:_0x5d7f59[_0x5ce5f1(0x291)](_0x2cbddb['d'])+_0x5d7f59[_0x5ce5f1(0x291)](_0x3cf13f['d']);}else _0x355d12[_0x355d12['length']-0x1]+=_0x3cf13f;}else _0x355d12['push'](_0x3cf13f);}}},_0x262f0d(0x17b)),_0x35643b=_0x41a0da(_0x31fd53=>typeof _0x31fd53==_0x262f0d(0x2ee)?_0x31fd53:typeof _0x31fd53==_0x262f0d(0x1b1)?_0x5e1df7['strPosToUni'](_0x31fd53):typeof _0x31fd53['d']=='number'?_0x31fd53['d']:_0x5e1df7[_0x262f0d(0x1dc)](_0x31fd53['d']),'componentLength');_0x5d7f59[_0x262f0d(0x2bc)]=(_0x16a57d,_0x3cfed6,_0x4f3313)=>{const _0x5e78fa=_0x262f0d,_0x4caa0c=_0x5e1df7['uniToStrPos'](_0x16a57d,_0x3cfed6),_0x1ce96e=_0x4f3313==null?0x1/0x0:_0x5e1df7['uniToStrPos'](_0x16a57d,_0x4f3313);return _0x16a57d[_0x5e78fa(0x22a)](_0x4caa0c,_0x1ce96e);};const _0x5886d3=_0x41a0da((_0x21b6b0,_0x49b036,_0x5df05c)=>typeof _0x21b6b0==_0x262f0d(0x2ee)?_0x5df05c==null?_0x21b6b0-_0x49b036:Math[_0x262f0d(0x18b)](_0x21b6b0,_0x5df05c)-_0x49b036:_0x5d7f59[_0x262f0d(0x2bc)](_0x21b6b0,_0x49b036,_0x5df05c),_0x262f0d(0x204)),_0x138ee9=_0x41a0da(_0x223f5b=>{const _0x396a2a=_0x262f0d;let _0x58c638=0x0,_0xeda6=0x0;return{'take':_0x41a0da((_0x63daef,_0x5ea037)=>{const _0x53d288=_0x15a9;if(_0x58c638===_0x223f5b[_0x53d288(0x2b1)])return _0x63daef===-0x1?null:_0x63daef;const _0x28c491=_0x223f5b[_0x58c638];let _0x110f8f;if(typeof _0x28c491==_0x53d288(0x2ee))return _0x63daef===-0x1||_0x28c491-_0xeda6<=_0x63daef?(_0x110f8f=_0x28c491-_0xeda6,++_0x58c638,_0xeda6=0x0,_0x110f8f):(_0xeda6+=_0x63daef,_0x63daef);if(typeof _0x28c491==_0x53d288(0x1b1)){if(_0x63daef===-0x1||_0x5ea037==='i'||_0x5e1df7[_0x53d288(0x1dc)](_0x28c491[_0x53d288(0x22a)](_0xeda6))<=_0x63daef)return _0x110f8f=_0x28c491[_0x53d288(0x22a)](_0xeda6),++_0x58c638,_0xeda6=0x0,_0x110f8f;{const _0x77d271=_0xeda6+_0x5e1df7[_0x53d288(0x2bf)](_0x28c491[_0x53d288(0x22a)](_0xeda6),_0x63daef);return _0x110f8f=_0x28c491['slice'](_0xeda6,_0x77d271),_0xeda6=_0x77d271,_0x110f8f;}}else{if(_0x63daef===-0x1||_0x5ea037==='d'||_0x5d7f59[_0x53d288(0x291)](_0x28c491['d'])-_0xeda6<=_0x63daef)return _0x110f8f={'d':_0x5886d3(_0x28c491['d'],_0xeda6)},++_0x58c638,_0xeda6=0x0,_0x110f8f;{let _0x4dbc41=_0x5886d3(_0x28c491['d'],_0xeda6,_0xeda6+_0x63daef);return _0xeda6+=_0x63daef,{'d':_0x4dbc41};}}},'take'),'peek':_0x41a0da(()=>_0x223f5b[_0x58c638],_0x396a2a(0x1fb))};},'makeTake'),_0x4be545=_0x41a0da(_0x56570d=>(_0x56570d[_0x262f0d(0x2b1)]>0x0&&typeof _0x56570d[_0x56570d[_0x262f0d(0x2b1)]-0x1]==_0x262f0d(0x2ee)&&_0x56570d[_0x262f0d(0x226)](),_0x56570d),_0x262f0d(0x2c9));function _0x103642(_0x36123a,_0xa36ecc,_0x43550b){const _0x8429cf=_0x262f0d;if(_0x43550b!=='left'&&_0x43550b!==_0x8429cf(0x18a))throw Error(_0x8429cf(0x2cf)+_0x43550b+_0x8429cf(0x178));_0x117ce0(_0x36123a),_0x117ce0(_0xa36ecc);const _0xe1122b=[],_0x2bee6c=_0x323d47(_0xe1122b),{take:_0xea3841,peek:_0xeef332}=_0x138ee9(_0x36123a);for(let _0x13f5ab=0x0;_0x13f5ab<_0xa36ecc[_0x8429cf(0x2b1)];_0x13f5ab++){const _0x2ef8c6=_0xa36ecc[_0x13f5ab];let _0x4637ef,_0x426440;switch(typeof _0x2ef8c6){case _0x8429cf(0x2ee):for(_0x4637ef=_0x2ef8c6;_0x4637ef>0x0;)_0x426440=_0xea3841(_0x4637ef,'i'),_0x2bee6c(_0x426440),typeof _0x426440!=_0x8429cf(0x1b1)&&(_0x4637ef-=_0x35643b(_0x426440));break;case'string':_0x43550b===_0x8429cf(0x183)&&typeof _0xeef332()==_0x8429cf(0x1b1)&&_0x2bee6c(_0xea3841(-0x1)),_0x2bee6c(_0x5e1df7[_0x8429cf(0x1dc)](_0x2ef8c6));break;case _0x8429cf(0x17a):for(_0x4637ef=_0x5d7f59[_0x8429cf(0x291)](_0x2ef8c6['d']);_0x4637ef>0x0;)switch(_0x426440=_0xea3841(_0x4637ef,'i'),typeof _0x426440){case _0x8429cf(0x2ee):_0x4637ef-=_0x426440;break;case'string':_0x2bee6c(_0x426440);break;case _0x8429cf(0x17a):_0x4637ef-=_0x5d7f59[_0x8429cf(0x291)](_0x426440['d']);}break;}}let _0xfcc509;for(;_0xfcc509=_0xea3841(-0x1);)_0x2bee6c(_0xfcc509);return _0x4be545(_0xe1122b);}_0x41a0da(_0x103642,_0x262f0d(0x2e7));function _0x26f0fb(_0x22f9ee,_0x1b0166){const _0x49693c=_0x262f0d;_0x117ce0(_0x22f9ee),_0x117ce0(_0x1b0166);const _0xb7d585=[],_0x193a25=_0x323d47(_0xb7d585),{take:_0x4c389c}=_0x138ee9(_0x22f9ee);for(let _0x311447=0x0;_0x311447<_0x1b0166['length'];_0x311447++){const _0x139aa8=_0x1b0166[_0x311447];let _0x3ff39d,_0x219981;switch(typeof _0x139aa8){case _0x49693c(0x2ee):for(_0x3ff39d=_0x139aa8;_0x3ff39d>0x0;)_0x219981=_0x4c389c(_0x3ff39d,'d'),_0x193a25(_0x219981),typeof _0x219981!=_0x49693c(0x17a)&&(_0x3ff39d-=_0x35643b(_0x219981));break;case _0x49693c(0x1b1):_0x193a25(_0x139aa8);break;case _0x49693c(0x17a):_0x3ff39d=_0x5d7f59[_0x49693c(0x291)](_0x139aa8['d']);let _0x46fd89=0x0;for(;_0x46fd89<_0x3ff39d;)switch(_0x219981=_0x4c389c(_0x3ff39d-_0x46fd89,'d'),typeof _0x219981){case _0x49693c(0x2ee):_0x193a25({'d':_0x5886d3(_0x139aa8['d'],_0x46fd89,_0x46fd89+_0x219981)}),_0x46fd89+=_0x219981;break;case _0x49693c(0x1b1):_0x46fd89+=_0x5e1df7[_0x49693c(0x1dc)](_0x219981);break;case _0x49693c(0x17a):_0x193a25(_0x219981);}break;}}let _0x3e61f5;for(;_0x3e61f5=_0x4c389c(-0x1);)_0x193a25(_0x3e61f5);return _0x4be545(_0xb7d585);}_0x41a0da(_0x26f0fb,_0x262f0d(0x289));const _0x2e7339=_0x41a0da((_0x338616,_0x532490)=>{const _0x1880c5=_0x262f0d;let _0x400b2b=0x0;for(let _0x4347d2=0x0;_0x4347d2<_0x532490[_0x1880c5(0x2b1)]&&_0x338616>_0x400b2b;_0x4347d2++){const _0x52f736=_0x532490[_0x4347d2];switch(typeof _0x52f736){case _0x1880c5(0x2ee):{_0x400b2b+=_0x52f736;break;}case _0x1880c5(0x1b1):const _0x39afbb=_0x5e1df7[_0x1880c5(0x1dc)](_0x52f736);_0x400b2b+=_0x39afbb,_0x338616+=_0x39afbb;break;case _0x1880c5(0x17a):_0x338616-=Math['min'](_0x5d7f59[_0x1880c5(0x291)](_0x52f736['d']),_0x338616-_0x400b2b);break;}}return _0x338616;},_0x262f0d(0x2e2)),_0x4ed915=_0x41a0da((_0xd2eebd,_0x2e635e)=>typeof _0xd2eebd==_0x262f0d(0x2ee)?_0x2e7339(_0xd2eebd,_0x2e635e):_0xd2eebd[_0x262f0d(0x284)](_0x1abc1f=>_0x2e7339(_0x1abc1f,_0x2e635e)),_0x262f0d(0x213));function _0x234dee(_0x6d897e,_0x1c8af4,_0x370f53){const _0x28d64d=_0x262f0d;return _0xb58021(_0x6d897e,(_0x531bc3,_0x56d43b)=>typeof _0x531bc3==_0x28d64d(0x17a)&&typeof _0x531bc3['d']=='number'?{'d':_0x370f53['slice'](_0x1c8af4,_0x56d43b,_0x56d43b+_0x531bc3['d'])}:_0x531bc3);}_0x41a0da(_0x234dee,'makeInvertible');function _0x323285(_0x58fa24){return _0xb58021(_0x58fa24,_0x44bf81=>{const _0x59d1d4=_0x15a9;switch(typeof _0x44bf81){case _0x59d1d4(0x17a):if(typeof _0x44bf81['d']==_0x59d1d4(0x2ee))throw Error(_0x59d1d4(0x278));return _0x44bf81['d'];case'string':return{'d':_0x44bf81};case _0x59d1d4(0x2ee):return _0x44bf81;}});}_0x41a0da(_0x323285,'invert');function _0x155e56(_0x373f6e){const _0x319811=_0x262f0d;return _0xb58021(_0x373f6e,_0x2a331d=>typeof _0x2a331d==_0x319811(0x17a)&&typeof _0x2a331d['d']==_0x319811(0x1b1)?{'d':_0x5e1df7['strPosToUni'](_0x2a331d['d'])}:_0x2a331d);}_0x41a0da(_0x155e56,_0x262f0d(0x191));function _0xb29525(_0x34ce9d){let _0x471988=!0x0;return _0x1b3f98(_0x34ce9d,_0x17434f=>{const _0x480ab8=_0x15a9;typeof _0x17434f==_0x480ab8(0x17a)&&typeof _0x17434f['d']==_0x480ab8(0x2ee)&&(_0x471988=!0x1);}),_0x471988;}_0x41a0da(_0xb29525,_0x262f0d(0x270));function _0x3e4b3e(_0x1ffb52){const _0x54d50c=_0x262f0d;return{'name':'text-unicode','uri':_0x54d50c(0x239),'trim':_0x4be545,'normalize':_0x553ab3,'checkOp':_0x117ce0,'create'(_0x295179=''){const _0x55f963=_0x54d50c;if(typeof _0x295179!=_0x55f963(0x1b1))throw Error('Initial\x20data\x20must\x20be\x20a\x20string');return _0x1ffb52[_0x55f963(0x2c4)](_0x295179);},'apply'(_0x3f2024,_0x47de97){const _0xb459ec=_0x54d50c;_0x117ce0(_0x47de97);const _0x297e59=_0x1ffb52[_0xb459ec(0x23a)](_0x3f2024);for(let _0x20f1aa=0x0;_0x20f1aa<_0x47de97[_0xb459ec(0x2b1)];_0x20f1aa++){const _0x3c54e4=_0x47de97[_0x20f1aa];switch(typeof _0x3c54e4){case _0xb459ec(0x2ee):_0x297e59[_0xb459ec(0x1ae)](_0x3c54e4);break;case _0xb459ec(0x1b1):_0x297e59[_0xb459ec(0x1b5)](_0x3c54e4);break;case'object':_0x297e59[_0xb459ec(0x29b)](_0x5d7f59['dlen'](_0x3c54e4['d']));break;}}return _0x297e59['build']();},'transform':_0x103642,'compose':_0x26f0fb,'transformPosition':_0x2e7339,'transformSelection':_0x4ed915,'isInvertible':_0xb29525,'makeInvertible'(_0x204a23,_0x58add0){return _0x234dee(_0x204a23,_0x58add0,_0x1ffb52);},'stripInvertible':_0x155e56,'invert':_0x323285,'invertWithDoc'(_0x113576,_0x2fc380){return _0x323285(_0x234dee(_0x113576,_0x2fc380,_0x1ffb52));},'isNoop':_0x41a0da(_0x355952=>_0x355952[_0x54d50c(0x2b1)]===0x0,_0x54d50c(0x221))};}_0x41a0da(_0x3e4b3e,_0x262f0d(0x1e5)),_0x5d7f59[_0x262f0d(0x263)]=_0x3e4b3e;}(_0x379dbe)),_0x379dbe;}_0x41a0da(_0x3a09eb,_0xc0f3e9(0x19f));var _0x38967e={},_0x33e84e;function _0x53c73b(){const _0x4a8910=_0xc0f3e9;if(_0x33e84e)return _0x38967e;_0x33e84e=0x1,Object[_0x4a8910(0x218)](_0x38967e,'__esModule',{'value':!0x0});const _0xf50ecb=_0x3a09eb(),_0x3362b2=_0x184193();function _0x43ed02(_0x4d858f,_0x58a859){return{'get':_0x4d858f,'getLength'(){const _0x3eaaeb=_0x15a9;return _0x4d858f()[_0x3eaaeb(0x2b1)];},'insert'(_0x23244c,_0x526d84,_0x2fc517){const _0x19fdee=_0x15a9,_0x315591=_0x3362b2[_0x19fdee(0x1dc)](_0x4d858f(),_0x23244c);return _0x58a859([_0x315591,_0x526d84],_0x2fc517);},'remove'(_0x3c085,_0x8c339d,_0x1bf635){const _0x2b41ea=_0x15a9,_0x4d2cde=_0x3362b2[_0x2b41ea(0x1dc)](_0x4d858f(),_0x3c085);return _0x58a859([_0x4d2cde,{'d':_0x8c339d}],_0x1bf635);},'_onOp'(_0x1f5328){const _0x5b5f84=_0x15a9;_0xf50ecb[_0x5b5f84(0x1a5)](_0x1f5328,(_0x66137c,_0x3b492f,_0x5b18f7)=>{const _0x47b24d=_0x5b5f84;switch(typeof _0x66137c){case'string':this[_0x47b24d(0x2d7)]&&this[_0x47b24d(0x2d7)](_0x5b18f7,_0x66137c);break;case _0x47b24d(0x17a):const _0x30e479=_0xf50ecb[_0x47b24d(0x291)](_0x66137c['d']);this[_0x47b24d(0x22c)]&&this[_0x47b24d(0x22c)](_0x5b18f7,_0x30e479);}});},'onInsert':null,'onRemove':null};}return _0x41a0da(_0x43ed02,'api$1'),_0x38967e[_0x4a8910(0x263)]=_0x43ed02,_0x43ed02['provides']={'text':!0x0},_0x38967e;}_0x41a0da(_0x53c73b,_0xc0f3e9(0x212));var _0x288ecb;function _0xc501d5(){return _0x288ecb||(_0x288ecb=0x1,function(_0x315e6a){const _0x2e1d1e=_0x15a9;var _0x52548a=_0x303cf6&&_0x303cf6[_0x2e1d1e(0x19d)]||(Object[_0x2e1d1e(0x2c4)]?function(_0x1a0a19,_0x176bf9,_0x219ead,_0xc2d53d){const _0x12f26e=_0x2e1d1e;_0xc2d53d===void 0x0&&(_0xc2d53d=_0x219ead),Object[_0x12f26e(0x218)](_0x1a0a19,_0xc2d53d,{'enumerable':!0x0,'get':_0x41a0da(function(){return _0x176bf9[_0x219ead];},_0x12f26e(0x2ab))});}:function(_0xdbcd36,_0x2f8035,_0x433f80,_0x39c88a){_0x39c88a===void 0x0&&(_0x39c88a=_0x433f80),_0xdbcd36[_0x39c88a]=_0x2f8035[_0x433f80];}),_0x41ab4d=_0x303cf6&&_0x303cf6[_0x2e1d1e(0x2c1)]||(Object[_0x2e1d1e(0x2c4)]?function(_0x47e264,_0xc43951){const _0x177f76=_0x2e1d1e;Object[_0x177f76(0x218)](_0x47e264,_0x177f76(0x263),{'enumerable':!0x0,'value':_0xc43951});}:function(_0x2dd0b3,_0x2ed4df){const _0x481369=_0x2e1d1e;_0x2dd0b3[_0x481369(0x263)]=_0x2ed4df;}),_0xad0eb2=_0x303cf6&&_0x303cf6[_0x2e1d1e(0x182)]||function(_0xfc79e3){const _0x2da89f=_0x2e1d1e;if(_0xfc79e3&&_0xfc79e3[_0x2da89f(0x28d)])return _0xfc79e3;var _0x3b6bff={};if(_0xfc79e3!=null){for(var _0x3fcbbf in _0xfc79e3)Object[_0x2da89f(0x1d1)][_0x2da89f(0x2a0)](_0xfc79e3,_0x3fcbbf)&&_0x52548a(_0x3b6bff,_0xfc79e3,_0x3fcbbf);}return _0x41ab4d(_0x3b6bff,_0xfc79e3),_0x3b6bff;},_0x21438e=_0x303cf6&&_0x303cf6[_0x2e1d1e(0x1cb)]||function(_0x511bf4){const _0x50457d=_0x2e1d1e;return _0x511bf4&&_0x511bf4[_0x50457d(0x28d)]?_0x511bf4:{'default':_0x511bf4};};Object[_0x2e1d1e(0x218)](_0x315e6a,_0x2e1d1e(0x28d),{'value':!0x0}),_0x315e6a[_0x2e1d1e(0x293)]=_0x315e6a['remove']=_0x315e6a[_0x2e1d1e(0x243)]=void 0x0;const _0x57a153=_0x184193(),_0x30bda9=_0xad0eb2(_0x3a09eb()),_0x17ede4=_0x21438e(_0x53c73b()),_0x4c01d6={'create'(_0x37af46){return _0x37af46;},'toString'(_0xf2969d){return _0xf2969d;},'builder'(_0x15de95){const _0x44fd6a=_0x2e1d1e;if(typeof _0x15de95!=_0x44fd6a(0x1b1))throw Error('Invalid\x20document\x20snapshot:\x20'+_0x15de95);const _0x5f5184=[];return{'skip'(_0x2c55fa){const _0x586e11=_0x44fd6a;let _0x2a5694=_0x57a153[_0x586e11(0x2bf)](_0x15de95,_0x2c55fa);if(_0x2a5694>_0x15de95[_0x586e11(0x2b1)])throw Error(_0x586e11(0x1e8));_0x5f5184[_0x586e11(0x1ed)](_0x15de95[_0x586e11(0x22a)](0x0,_0x2a5694)),_0x15de95=_0x15de95[_0x586e11(0x22a)](_0x2a5694);},'append'(_0x5fce42){const _0x399ea6=_0x44fd6a;_0x5f5184[_0x399ea6(0x1ed)](_0x5fce42);},'del'(_0x252ca0){const _0x48004b=_0x44fd6a;_0x15de95=_0x15de95[_0x48004b(0x22a)](_0x57a153[_0x48004b(0x2bf)](_0x15de95,_0x252ca0));},'build'(){const _0x53cc30=_0x44fd6a;return _0x5f5184[_0x53cc30(0x1ec)]('')+_0x15de95;}};},'slice':_0x30bda9[_0x2e1d1e(0x2bc)]},_0x199ec7=_0x30bda9[_0x2e1d1e(0x263)](_0x4c01d6),_0x26b041=Object[_0x2e1d1e(0x202)](Object[_0x2e1d1e(0x202)]({},_0x199ec7),{'api':_0x17ede4['default']});_0x315e6a[_0x2e1d1e(0x293)]=_0x26b041,_0x315e6a['insert']=(_0x1d6050,_0x10405f)=>_0x10405f['length']===0x0?[]:_0x1d6050===0x0?[_0x10405f]:[_0x1d6050,_0x10405f],_0x315e6a['remove']=(_0x10cb94,_0xdb8d1e)=>_0x30bda9[_0x2e1d1e(0x291)](_0xdb8d1e)===0x0?[]:_0x10cb94===0x0?[{'d':_0xdb8d1e}]:[_0x10cb94,{'d':_0xdb8d1e}];var _0x26d29f=_0x3a09eb();Object['defineProperty'](_0x315e6a,_0x2e1d1e(0x1e5),{'enumerable':!0x0,'get':_0x41a0da(function(){return _0x26d29f['default'];},_0x2e1d1e(0x2ab))});}(_0x2486eb)),_0x2486eb;}_0x41a0da(_0xc501d5,_0xc0f3e9(0x2ba)),function(_0x516462){const _0x47c4f7=_0xc0f3e9;var _0x456209=_0x303cf6&&_0x303cf6['__importDefault']||function(_0x97902b){const _0x4f179d=_0x15a9;return _0x97902b&&_0x97902b[_0x4f179d(0x28d)]?_0x97902b:{'default':_0x97902b};};Object['defineProperty'](_0x516462,_0x47c4f7(0x28d),{'value':!0x0}),_0x516462['editOp']=_0x516462[_0x47c4f7(0x201)]=_0x516462[_0x47c4f7(0x17f)]=_0x516462[_0x47c4f7(0x29d)]=_0x516462[_0x47c4f7(0x273)]=_0x516462[_0x47c4f7(0x293)]=void 0x0;const _0x1077bc=_0x456209(_0x2d5530),_0x5c1b5f=_0x456209(_0x192b58),_0x103ca1=_0x1123df,_0x1d5b57=_0x5da80f;function _0x10cae2(_0x1f3270,_0x1deeec){if(!_0x1f3270)throw new Error(_0x1deeec);}_0x41a0da(_0x10cae2,_0x47c4f7(0x275)),_0x516462[_0x47c4f7(0x293)]={'name':'json1','uri':_0x47c4f7(0x287),'readCursor':_0x103ca1[_0x47c4f7(0x20e)],'writeCursor':_0x103ca1[_0x47c4f7(0x2a5)],'create':_0x41a0da(_0x3c8d71=>_0x3c8d71,'create'),'isNoop':_0x41a0da(_0xc0aaa=>_0xc0aaa==null,_0x47c4f7(0x221)),'setDebug'(_0xd497c){},'registerSubtype':_0x4647c6,'checkValidOp':_0x497c87,'normalize':_0x174077,'apply':_0x7325a6,'transformPosition':_0x370b45,'compose':_0x31b468,'tryTransform':_0xfa1643,'transform':_0x41cf2a,'makeInvertible':_0x1f0c8c,'invert':_0x192d5b,'invertWithDoc':_0x4fcbb8,'RM_UNEXPECTED_CONTENT':_0x1d5b57['ConflictType']['RM_UNEXPECTED_CONTENT'],'DROP_COLLISION':_0x1d5b57[_0x47c4f7(0x1a4)][_0x47c4f7(0x23d)],'BLACKHOLE':_0x1d5b57[_0x47c4f7(0x1a4)][_0x47c4f7(0x2c7)],'transformNoConflict':_0x41a0da((_0x287eb4,_0x57fb6a,_0x1492a6)=>_0x24c408(()=>!0x0,_0x287eb4,_0x57fb6a,_0x1492a6),_0x47c4f7(0x2b7)),'typeAllowingConflictsPred':_0x41a0da(_0x31fbe3=>Object[_0x47c4f7(0x202)](Object['assign']({},_0x516462[_0x47c4f7(0x293)]),{'transform':_0x41a0da((_0x31669e,_0x3c5672,_0x132d9c)=>_0x24c408(_0x31fbe3,_0x31669e,_0x3c5672,_0x132d9c),_0x47c4f7(0x2e7))}),_0x47c4f7(0x27a))};const _0x59b9bd=_0x41a0da(_0x3f99d0=>_0x3f99d0?_0x3f99d0[_0x47c4f7(0x181)]():null,'getComponent');function _0x5cc36b(_0x317251){const _0x209ee8=_0x47c4f7;return _0x317251&&typeof _0x317251==_0x209ee8(0x17a)&&!Array[_0x209ee8(0x2ca)](_0x317251);}_0x41a0da(_0x5cc36b,'isObject');const _0x1ac99b=_0x41a0da(_0x3005c9=>Array[_0x47c4f7(0x2ca)](_0x3005c9)?_0x3005c9['slice']():_0x3005c9!==null&&typeof _0x3005c9=='object'?Object[_0x47c4f7(0x202)]({},_0x3005c9):_0x3005c9,'shallowClone'),_0xaf49c1=_0x41a0da(_0x2700c4=>_0x2700c4&&(_0x2700c4['p']!=null||_0x2700c4['r']!==void 0x0),'hasPick'),_0x306cd5=_0x41a0da(_0x308b6e=>_0x308b6e&&(_0x308b6e['d']!=null||_0x308b6e['i']!==void 0x0),_0x47c4f7(0x285));function _0x43baf3(_0x4933b4,_0x5f569c){const _0x27257f=_0x47c4f7;return _0x10cae2(_0x4933b4!=null),typeof _0x5f569c==_0x27257f(0x2ee)?(_0x10cae2(Array[_0x27257f(0x2ca)](_0x4933b4),_0x27257f(0x2aa)),(_0x4933b4=_0x4933b4['slice']())[_0x27257f(0x2b8)](_0x5f569c,0x1)):(_0x10cae2(_0x5cc36b(_0x4933b4),_0x27257f(0x1f1)),delete(_0x4933b4=Object['assign']({},_0x4933b4))[_0x5f569c]),_0x4933b4;}_0x41a0da(_0x43baf3,_0x47c4f7(0x1fc));function _0x52dbb0(_0x1bf7c6,_0x2e40f7,_0x2f4c54){const _0x750d9b=_0x47c4f7;return typeof _0x2e40f7==_0x750d9b(0x2ee)?(_0x10cae2(_0x1bf7c6!=null,_0x750d9b(0x281)),_0x10cae2(Array['isArray'](_0x1bf7c6),_0x750d9b(0x184)),_0x10cae2(_0x1bf7c6[_0x750d9b(0x2b1)]>=_0x2e40f7,_0x750d9b(0x27f)),_0x1bf7c6[_0x750d9b(0x2b8)](_0x2e40f7,0x0,_0x2f4c54)):(_0x10cae2(_0x5cc36b(_0x1bf7c6),_0x750d9b(0x1f5)),_0x10cae2(_0x1bf7c6[_0x2e40f7]===void 0x0,_0x750d9b(0x2d9)),_0x1bf7c6[_0x2e40f7]=_0x2f4c54),_0x2f4c54;}_0x41a0da(_0x52dbb0,_0x47c4f7(0x27d)),_0x516462[_0x47c4f7(0x273)]=(_0x3ebb90,_0x1a6e1e=!0x0)=>_0x103ca1[_0x47c4f7(0x2a5)]()[_0x47c4f7(0x1db)](_0x3ebb90,'r',_0x1a6e1e)[_0x47c4f7(0x2ab)](),_0x516462[_0x47c4f7(0x29d)]=(_0x200ad4,_0x4d8df7)=>_0x103ca1[_0x47c4f7(0x2a5)]()['writeMove'](_0x200ad4,_0x4d8df7)['get'](),_0x516462[_0x47c4f7(0x17f)]=(_0x58abb7,_0x36ad7a)=>_0x103ca1['writeCursor']()[_0x47c4f7(0x1db)](_0x58abb7,'i',_0x36ad7a)[_0x47c4f7(0x2ab)](),_0x516462[_0x47c4f7(0x201)]=(_0x6b324a,_0x23f306,_0x5765b9)=>_0x103ca1['writeCursor']()['at'](_0x6b324a,_0x29c094=>{const _0x59098a=_0x47c4f7;_0x29c094[_0x59098a(0x2db)]('r',_0x23f306),_0x29c094[_0x59098a(0x2db)]('i',_0x5765b9);})[_0x47c4f7(0x2ab)](),_0x516462[_0x47c4f7(0x2dd)]=(_0x1cb510,_0x5a301c,_0xdc9286,_0x2f2e3d=!0x1)=>_0x103ca1[_0x47c4f7(0x2a5)]()['at'](_0x1cb510,_0x4abf38=>_0x4d2b6a(_0x4abf38,_0x5a301c,_0xdc9286,_0x2f2e3d))[_0x47c4f7(0x2ab)]();const _0x26e0f9=_0x41a0da((_0x370636,_0x319b81)=>_0x370636!=null&&(typeof _0x319b81==_0x47c4f7(0x2ee)?Array['isArray'](_0x370636):typeof _0x370636==_0x47c4f7(0x17a)),_0x47c4f7(0x237)),_0x248eb9=_0x41a0da((_0x5cf580,_0x1b7975)=>_0x26e0f9(_0x5cf580,_0x1b7975)?_0x5cf580[_0x1b7975]:void 0x0,_0x47c4f7(0x24f)),_0x3e5dab={};function _0x4647c6(_0x1620c8){const _0x1c3e43=_0x47c4f7;let _0x3db9ef=_0x1620c8[_0x1c3e43(0x293)]?_0x1620c8[_0x1c3e43(0x293)]:_0x1620c8;_0x3db9ef['name']&&(_0x3e5dab[_0x3db9ef[_0x1c3e43(0x26a)]]=_0x3db9ef),_0x3db9ef[_0x1c3e43(0x2af)]&&(_0x3e5dab[_0x3db9ef[_0x1c3e43(0x2af)]]=_0x3db9ef);}_0x41a0da(_0x4647c6,_0x47c4f7(0x17d));const _0x2c871a=_0x41a0da(_0x32c128=>{const _0x17cce6=_0x47c4f7,_0x37f292=_0x3e5dab[_0x32c128];if(_0x37f292)return _0x37f292;throw Error(_0x17cce6(0x1f4)+_0x32c128);},_0x47c4f7(0x179));_0x4647c6(_0xc501d5());const _0x563e21=_0x41a0da((_0x4239e2,_0x41a883)=>_0x4239e2+_0x41a883,_0x47c4f7(0x210));_0x4647c6({'name':_0x47c4f7(0x2ee),'apply':_0x563e21,'compose':_0x563e21,'invert':_0x41a0da(_0x2568e6=>-_0x2568e6,_0x47c4f7(0x235)),'transform':_0x41a0da(_0x12812a=>_0x12812a,'transform')});const _0x212c4e=_0x41a0da(_0x57d62f=>_0x57d62f==null?null:_0x57d62f['et']?_0x2c871a(_0x57d62f['et']):_0x57d62f['es']?_0x3e5dab[_0x47c4f7(0x199)]:_0x57d62f['ena']!=null?_0x3e5dab[_0x47c4f7(0x2ee)]:null,_0x47c4f7(0x1e6)),_0xaa8fd5=_0x41a0da(_0x598828=>_0x598828['es']?_0x598828['es']:_0x598828['ena']!=null?_0x598828[_0x47c4f7(0x2e3)]:_0x598828['e'],_0x47c4f7(0x1b3)),_0x4d2b6a=_0x41a0da((_0x215f86,_0xf5de87,_0x183651,_0x3891ed=!0x1)=>{const _0x114202=_0x47c4f7,[_0x3aebaa,_0x10942e]=typeof _0xf5de87==_0x114202(0x1b1)?[_0x2c871a(_0xf5de87),_0xf5de87]:[_0xf5de87,_0xf5de87['name']];!_0x3891ed&&_0x3aebaa[_0x114202(0x221)]&&_0x3aebaa['isNoop'](_0x183651)||(_0x10942e==='number'?_0x215f86['write'](_0x114202(0x2e3),_0x183651):_0x10942e===_0x114202(0x199)?_0x215f86[_0x114202(0x2db)]('es',_0x183651):(_0x215f86[_0x114202(0x2db)]('et',_0x10942e),_0x215f86[_0x114202(0x2db)]('e',_0x183651)));},'writeEdit');function _0x3193cf(_0x495e6c){const _0x383165=_0x47c4f7;_0x10cae2(typeof _0x495e6c==_0x383165(0x2ee)),_0x10cae2(_0x495e6c>=0x0),_0x10cae2(_0x495e6c===(0x0|_0x495e6c));}_0x41a0da(_0x3193cf,_0x47c4f7(0x215));function _0xdee62b(_0x46f344){const _0x5cd3d3=_0x47c4f7;typeof _0x46f344==_0x5cd3d3(0x2ee)?_0x3193cf(_0x46f344):_0x10cae2(typeof _0x46f344==_0x5cd3d3(0x1b1));}_0x41a0da(_0xdee62b,'checkScalar');function _0x497c87(_0xa8ae46){const _0x233dc5=_0x47c4f7;if(_0xa8ae46===null)return;const _0x65d9ec=new Set(),_0x40b796=new Set(),_0x266b9a=_0x41a0da(_0x59fb3e=>{const _0x10027d=_0x15a9;let _0x5e23a6=!0x0,_0xc9fb15=!0x1;for(let _0x25abf7 in _0x59fb3e){const _0x5a5e6c=_0x59fb3e[_0x25abf7];if(_0x5e23a6=!0x1,_0x10cae2(_0x25abf7==='p'||_0x25abf7==='r'||_0x25abf7==='d'||_0x25abf7==='i'||_0x25abf7==='e'||_0x25abf7==='es'||_0x25abf7==='ena'||_0x25abf7==='et',_0x10027d(0x2c8)+_0x25abf7+'\x27'),_0x25abf7==='p')_0x3193cf(_0x5a5e6c),_0x10cae2(!_0x65d9ec['has'](_0x5a5e6c)),_0x65d9ec[_0x10027d(0x210)](_0x5a5e6c),_0x10cae2(_0x59fb3e['r']===void 0x0);else{if(_0x25abf7==='d')_0x3193cf(_0x5a5e6c),_0x10cae2(!_0x40b796[_0x10027d(0x29c)](_0x5a5e6c)),_0x40b796[_0x10027d(0x210)](_0x5a5e6c),_0x10cae2(_0x59fb3e['i']===void 0x0);else{if(_0x25abf7==='e'||_0x25abf7==='es'||_0x25abf7==='ena'){_0x10cae2(!_0xc9fb15),_0xc9fb15=!0x0;const _0x1c828b=_0x212c4e(_0x59fb3e);_0x10cae2(_0x1c828b,_0x10027d(0x190)),_0x1c828b['checkValidOp']&&_0x1c828b['checkValidOp'](_0xaa8fd5(_0x59fb3e));}}}}_0x10cae2(!_0x5e23a6);},'checkComponent'),_0x1ecc18=_0x41a0da((_0x368822,_0xbc971,_0x9af906)=>{const _0x17bbf5=_0x15a9;if(!Array[_0x17bbf5(0x2ca)](_0x368822))throw Error('Op\x20must\x20be\x20null\x20or\x20a\x20list');if(_0x368822[_0x17bbf5(0x2b1)]===0x0)throw Error(_0x17bbf5(0x1c6));_0xbc971||_0xdee62b(_0x368822[0x0]);let _0x3d0744=0x1,_0x61d491=0x0,_0x475de9=0x0;for(let _0x34f7a3=0x0;_0x34f7a3<_0x368822[_0x17bbf5(0x2b1)];_0x34f7a3++){const _0x571407=_0x368822[_0x34f7a3];if(_0x10cae2(_0x571407!=null),Array[_0x17bbf5(0x2ca)](_0x571407)){const _0x29d6e5=_0x1ecc18(_0x571407,!0x1);if(_0x61d491){const _0x473912=typeof _0x475de9,_0x5cf798=typeof _0x29d6e5;_0x473912===_0x5cf798?_0x10cae2(_0x475de9<_0x29d6e5,'descent\x20keys\x20are\x20not\x20in\x20order'):_0x10cae2(_0x473912==='number'&&_0x5cf798===_0x17bbf5(0x1b1));}_0x475de9=_0x29d6e5,_0x61d491++,_0x3d0744=0x3;}else typeof _0x571407==_0x17bbf5(0x17a)?(_0x10cae2(_0x3d0744===0x1,_0x17bbf5(0x228)+_0x3d0744),_0x266b9a(_0x571407),_0x3d0744=0x2):(_0x10cae2(_0x3d0744!==0x3),_0xdee62b(_0x571407),_0x10cae2(_0x103ca1[_0x17bbf5(0x295)](_0x571407),'Invalid\x20path\x20key'),_0x3d0744=0x1);}return _0x10cae2(_0x61d491!==0x1,_0x17bbf5(0x269)),_0x10cae2(_0x3d0744===0x2||_0x3d0744===0x3),_0x368822[0x0];},_0x233dc5(0x246));_0x1ecc18(_0xa8ae46,!0x0),_0x10cae2(_0x65d9ec['size']===_0x40b796['size'],'Mismatched\x20picks\x20and\x20drops\x20in\x20op');for(let _0x109c29=0x0;_0x109c29<_0x65d9ec[_0x233dc5(0x1f9)];_0x109c29++)_0x10cae2(_0x65d9ec['has'](_0x109c29)),_0x10cae2(_0x40b796['has'](_0x109c29));}_0x41a0da(_0x497c87,_0x47c4f7(0x1de));function _0x174077(_0x1211dc){const _0x204955=_0x47c4f7;let _0x305e60=0x0,_0x303697=[];const _0x29b97f=_0x103ca1[_0x204955(0x2a5)]();return _0x29b97f[_0x204955(0x217)](_0x1211dc,(_0x4b721d,_0x5b7b4f)=>{const _0x2231f1=_0x204955,_0x19df28=_0x212c4e(_0x4b721d);if(_0x19df28){const _0x138d38=_0xaa8fd5(_0x4b721d);_0x4d2b6a(_0x5b7b4f,_0x19df28,_0x19df28['normalize']?_0x19df28[_0x2231f1(0x234)](_0x138d38):_0x138d38);}for(const _0x272428 of['r','p','i','d'])if(_0x4b721d[_0x272428]!==void 0x0){const _0x54150f=_0x272428==='p'||_0x272428==='d'?(_0x415918=_0x4b721d[_0x272428],_0x303697[_0x415918]==null&&(_0x303697[_0x415918]=_0x305e60++),_0x303697[_0x415918]):_0x4b721d[_0x272428];_0x5b7b4f['write'](_0x272428,_0x54150f);}var _0x415918;}),_0x29b97f[_0x204955(0x2ab)]();}_0x41a0da(_0x174077,'normalize');function _0x7325a6(_0x46d0e4,_0x2629c1){const _0x54d147=_0x47c4f7;if(_0x497c87(_0x2629c1),_0x2629c1===null)return _0x46d0e4;const _0x40662b=[];return _0x41a0da(function _0x33a197(_0x5ba032,_0x4940d4){const _0x36a338=_0x15a9;let _0x58b73b=_0x5ba032,_0x219a30=0x0,_0x3b4edf={'root':_0x5ba032},_0x4a33d8=0x0,_0x1f8cf1=_0x3b4edf,_0x1fb5fa=_0x36a338(0x274);function _0x4d94a5(){for(;_0x4a33d8<_0x219a30;_0x4a33d8++){let _0x591675=_0x4940d4[_0x4a33d8];typeof _0x591675!='object'&&(_0x10cae2(_0x26e0f9(_0x1f8cf1,_0x1fb5fa)),_0x1f8cf1=_0x1f8cf1[_0x1fb5fa]=_0x1ac99b(_0x1f8cf1[_0x1fb5fa]),_0x1fb5fa=_0x591675);}}for(_0x41a0da(_0x4d94a5,_0x36a338(0x272));_0x219a30<_0x4940d4['length'];_0x219a30++){const _0x2cb307=_0x4940d4[_0x219a30];if(Array[_0x36a338(0x2ca)](_0x2cb307)){const _0x2266ae=_0x33a197(_0x58b73b,_0x2cb307);_0x2266ae!==_0x58b73b&&_0x2266ae!==void 0x0&&(_0x4d94a5(),_0x58b73b=_0x1f8cf1[_0x1fb5fa]=_0x2266ae);}else{if(typeof _0x2cb307==_0x36a338(0x17a)){_0x2cb307['d']!=null?(_0x4d94a5(),_0x58b73b=_0x52dbb0(_0x1f8cf1,_0x1fb5fa,_0x40662b[_0x2cb307['d']])):_0x2cb307['i']!==void 0x0&&(_0x4d94a5(),_0x58b73b=_0x52dbb0(_0x1f8cf1,_0x1fb5fa,_0x2cb307['i']));const _0x1ee80f=_0x212c4e(_0x2cb307);if(_0x1ee80f)_0x4d94a5(),_0x58b73b=_0x1f8cf1[_0x1fb5fa]=_0x1ee80f[_0x36a338(0x22d)](_0x58b73b,_0xaa8fd5(_0x2cb307));else{if(_0x2cb307['e']!==void 0x0)throw Error(_0x36a338(0x2e1)+_0x2cb307['et']+'\x20undefined');}}else _0x58b73b=_0x248eb9(_0x58b73b,_0x2cb307);}}return _0x3b4edf['root'];},_0x54d147(0x2e9))(_0x46d0e4=_0x41a0da(function _0x2e45c4(_0x28c819,_0x1beecb){const _0x4bcce5=_0x54d147,_0x2b160c=[];let _0x4ed8a4=0x0;for(;_0x4ed8a4<_0x1beecb[_0x4bcce5(0x2b1)];_0x4ed8a4++){const _0x51d694=_0x1beecb[_0x4ed8a4];if(Array[_0x4bcce5(0x2ca)](_0x51d694))break;typeof _0x51d694!=_0x4bcce5(0x17a)&&(_0x2b160c[_0x4bcce5(0x1ed)](_0x28c819),_0x28c819=_0x248eb9(_0x28c819,_0x51d694));}for(let _0x1724d5=_0x1beecb[_0x4bcce5(0x2b1)]-0x1;_0x1724d5>=_0x4ed8a4;_0x1724d5--)_0x28c819=_0x2e45c4(_0x28c819,_0x1beecb[_0x1724d5]);for(--_0x4ed8a4;_0x4ed8a4>=0x0;_0x4ed8a4--){const _0xc86cd9=_0x1beecb[_0x4ed8a4];if(typeof _0xc86cd9!='object'){const _0x3ac782=_0x2b160c[_0x4bcce5(0x226)]();_0x28c819=_0x28c819===_0x248eb9(_0x3ac782,_0xc86cd9)?_0x3ac782:_0x28c819===void 0x0?_0x43baf3(_0x3ac782,_0xc86cd9):(_0x317a8e=_0xc86cd9,_0x2d5600=_0x28c819,(_0x280e9d=_0x1ac99b(_0x280e9d=_0x3ac782))[_0x317a8e]=_0x2d5600,_0x280e9d);}else _0xaf49c1(_0xc86cd9)&&(_0x10cae2(_0x28c819!==void 0x0,_0x4bcce5(0x1a2)),_0xc86cd9['p']!=null&&(_0x40662b[_0xc86cd9['p']]=_0x28c819),_0x28c819=void 0x0);}var _0x280e9d,_0x317a8e,_0x2d5600;return _0x28c819;},_0x54d147(0x1ef))(_0x46d0e4,_0x2629c1),_0x2629c1);}_0x41a0da(_0x7325a6,_0x47c4f7(0x22d));function _0x370b45(_0x33d705,_0x5f01cf){const _0x4a3fc8=_0x47c4f7;_0x33d705=_0x33d705[_0x4a3fc8(0x22a)](),_0x497c87(_0x5f01cf);const _0x3a743a=_0x103ca1['readCursor'](_0x5f01cf);let _0x5afad2,_0x8f2746,_0x4db3e4=!0x1;const _0x6ba31f=[];for(let _0x2dd313=0x0;;_0x2dd313++){const _0x3b062a=_0x33d705[_0x2dd313],_0xaaa3e8=_0x3a743a['getComponent']();if(_0xaaa3e8&&(_0xaaa3e8['r']!==void 0x0?_0x4db3e4=!0x0:_0xaaa3e8['p']!=null&&(_0x4db3e4=!0x1,_0x5afad2=_0xaaa3e8['p'],_0x8f2746=_0x2dd313)),_0x2dd313>=_0x33d705[_0x4a3fc8(0x2b1)])break;let _0x32781b=0x0;const _0x17b316=_0x103ca1[_0x4a3fc8(0x252)](_0x3a743a,void 0x0,(_0x3a49ec,_0x531cad)=>{_0xaf49c1(_0x531cad)&&_0x32781b++;});_0x6ba31f[_0x4a3fc8(0x2b5)](_0x17b316);const _0x59d3c4=_0x17b316(_0x3b062a);if(typeof _0x3b062a==_0x4a3fc8(0x2ee)&&(_0x33d705[_0x2dd313]-=_0x32781b),!_0x59d3c4)break;}if(_0x6ba31f[_0x4a3fc8(0x1af)](_0x21e5ab=>_0x21e5ab[_0x4a3fc8(0x2ed)]()),_0x4db3e4)return null;const _0x8b0508=_0x41a0da(()=>{const _0x34699b=_0x4a3fc8;let _0x21ab9c=0x0;if(_0x5afad2!=null){const _0x56f87d=_0x3a743a[_0x34699b(0x1f6)]();_0x21ab9c=_0x56f87d[_0x34699b(0x2b1)],_0x33d705=_0x56f87d[_0x34699b(0x282)](_0x33d705[_0x34699b(0x22a)](_0x8f2746));}for(;_0x21ab9c<_0x33d705['length'];_0x21ab9c++){const _0x20e4af=_0x33d705[_0x21ab9c],_0x3312c6=_0x59b9bd(_0x3a743a),_0x22c270=_0x212c4e(_0x3312c6);if(_0x22c270){const _0x3347e0=_0xaa8fd5(_0x3312c6);_0x22c270[_0x34699b(0x2e2)]&&(_0x33d705[_0x21ab9c]=_0x22c270[_0x34699b(0x2e2)](_0x33d705[_0x21ab9c],_0x3347e0));break;}let _0x86b242=0x0;const _0x2f8426=_0x103ca1[_0x34699b(0x252)](_0x3a743a,(_0x3b36aa,_0x5a525b)=>_0x306cd5(_0x5a525b)?~(_0x3b36aa-_0x86b242):_0x3b36aa-_0x86b242,(_0x4273bc,_0x435e69)=>{_0x306cd5(_0x435e69)&&_0x86b242++;})(_0x20e4af);if(typeof _0x20e4af==_0x34699b(0x2ee)&&(_0x33d705[_0x21ab9c]+=_0x86b242),!_0x2f8426)break;}},_0x4a3fc8(0x290));return _0x5afad2!=null?_0x3a743a['eachDrop'](null,_0x25d198=>{_0x25d198===_0x5afad2&&_0x8b0508();}):_0x8b0508(),_0x33d705;}_0x41a0da(_0x370b45,_0x47c4f7(0x2e2));function _0x31b468(_0x2edb48,_0x44efa9){const _0x7a8c1=_0x47c4f7;if(_0x497c87(_0x2edb48),_0x497c87(_0x44efa9),_0x2edb48==null)return _0x44efa9;if(_0x44efa9==null)return _0x2edb48;let _0x193b1b=0x0;const _0x49be49=_0x103ca1['readCursor'](_0x2edb48),_0x381de6=_0x103ca1['readCursor'](_0x44efa9),_0x535b8c=_0x103ca1['writeCursor'](),_0x497eb1=[],_0x466b2c=[],_0x403577=[],_0x1e9583=[],_0x3c467f=[],_0x2e0c8a=[],_0x3f623b=new Set();_0x49be49[_0x7a8c1(0x1cc)](null,_0x4aea37=>{_0x4aea37['p']!=null&&(_0x403577[_0x4aea37['p']]=_0x49be49['clone']());}),_0x381de6[_0x7a8c1(0x1cc)](null,_0x1b8546=>{const _0x4f5d99=_0x7a8c1;_0x1b8546['d']!=null&&(_0x1e9583[_0x1b8546['d']]=_0x381de6[_0x4f5d99(0x2e6)]());});const _0x32f654=_0x103ca1[_0x7a8c1(0x2a5)]();return _0x41a0da(function _0x571b6c(_0x1df367,_0x20fc21,_0x242f18,_0x12faeb,_0x510af7,_0x5ab887,_0x139647,_0x609b5e){const _0x10ebad=_0x7a8c1;_0x10cae2(_0x20fc21||_0x242f18);const _0x1c93b9=_0x59b9bd(_0x20fc21),_0x24d7c0=_0x59b9bd(_0x242f18),_0x216c84=!!_0x24d7c0&&_0x24d7c0['r']!==void 0x0,_0x53a931=!!_0x1c93b9&&_0x1c93b9['i']!==void 0x0,_0x3d4632=_0x1c93b9?_0x1c93b9['d']:null,_0x9c0d05=_0x24d7c0?_0x24d7c0['p']:null,_0x115277=(_0x5ab887||_0x216c84)&&_0x9c0d05==null;if(_0x9c0d05!=null)_0x12faeb=_0x1e9583[_0x9c0d05],_0x139647=_0x466b2c[_0x9c0d05]=new _0x103ca1['WriteCursor']();else{if(_0x24d7c0&&_0x24d7c0['r']!==void 0x0)_0x12faeb=null;else{const _0x12ca30=_0x59b9bd(_0x12faeb);_0x12ca30&&_0x12ca30['d']!=null&&(_0x12faeb=null);}}const _0x24fff2=_0x59b9bd(_0x12faeb);if(_0x3d4632!=null){if(_0x1df367=_0x403577[_0x3d4632],_0x609b5e=_0x497eb1[_0x3d4632]=new _0x103ca1[(_0x10ebad(0x1c2))](),_0x115277)_0x5ab887&&!_0x216c84&&_0x609b5e[_0x10ebad(0x2db)]('r',!0x0);else{const _0x1b62f7=_0x3c467f[_0x3d4632]=_0x193b1b++;_0x139647['write']('d',_0x1b62f7);}}else{if(_0x1c93b9&&_0x1c93b9['i']!==void 0x0)_0x1df367=null;else{const _0x48dac8=_0x59b9bd(_0x1df367);_0x48dac8&&_0x48dac8['p']!=null&&(_0x1df367=null);}}let _0x4b236b;_0x53a931?(_0x10cae2(_0x510af7===void 0x0),_0x4b236b=_0x1c93b9['i']):_0x4b236b=_0x510af7;const _0xbe32f6=(_0x9c0d05==null?!_0x53a931||_0x5ab887||_0x216c84:_0x4b236b===void 0x0)?null:_0x139647[_0x10ebad(0x181)]();if(_0x9c0d05!=null){if(!(_0x510af7!==void 0x0||_0x53a931)){const _0x348879=_0x3d4632!=null?_0x3c467f[_0x3d4632]:_0x193b1b++;_0x2e0c8a[_0x9c0d05]=_0x348879,_0x609b5e['write']('p',_0x348879);}}else _0x216c84&&(_0x53a931||_0x510af7!==void 0x0||(_0x24d7c0['r'],_0x609b5e[_0x10ebad(0x2db)]('r',_0x24d7c0['r'])));const _0xa4a276=_0x115277?null:_0x212c4e(_0x1c93b9),_0x3e00f1=_0x212c4e(_0x24fff2);if((_0xa4a276||_0x3e00f1)&&(_0xa4a276&&_0xa4a276[_0x10ebad(0x26a)],_0x3e00f1&&_0x3e00f1['name']),_0xa4a276&&_0x3e00f1){_0x10cae2(_0xa4a276===_0x3e00f1);const _0x5559a6=_0xaa8fd5(_0x1c93b9),_0x5ba023=_0xaa8fd5(_0x24fff2),_0x190c59=_0xa4a276[_0x10ebad(0x289)](_0x5559a6,_0x5ba023);_0x4d2b6a(_0x139647,_0xa4a276,_0x190c59),_0x3f623b[_0x10ebad(0x210)](_0x24fff2);}else _0xa4a276?_0x4d2b6a(_0x139647,_0xa4a276,_0xaa8fd5(_0x1c93b9)):_0x3e00f1&&(_0x4d2b6a(_0x139647,_0x3e00f1,_0xaa8fd5(_0x24fff2)),_0x3f623b[_0x10ebad(0x210)](_0x24fff2));const _0x47f908=typeof _0x4b236b==_0x10ebad(0x17a)&&_0x4b236b!=null;let _0x2a81e8=!0x1,_0x5bec20=0x0,_0x33515f=0x0,_0x2c990f=0x0,_0x1cbcec=0x0,_0x1f34e9=0x0;const _0x7b3363=_0x103ca1['advancer'](_0x12faeb,(_0x5df9fa,_0x1f0170)=>_0x306cd5(_0x1f0170)?_0x1cbcec-_0x5df9fa-0x1:_0x5df9fa-_0x1cbcec,(_0xe7f19,_0x4e886e)=>{_0x306cd5(_0x4e886e)&&_0x1cbcec++;}),_0x2bb70d=_0x103ca1[_0x10ebad(0x252)](_0x1df367,(_0x45fd00,_0x546add)=>_0xaf49c1(_0x546add)?_0x5bec20-_0x45fd00-0x1:_0x45fd00-_0x5bec20,(_0x28f3f1,_0x2b6a29)=>{_0xaf49c1(_0x2b6a29)&&_0x5bec20++;});if(_0x103ca1['eachChildOf'](_0x20fc21,_0x242f18,(_0x5bacdc,_0x39c426,_0x401fc7)=>{const _0x341729=_0x10ebad;let _0x4b9042,_0x7acdd0,_0x1f9e21=_0x5bacdc,_0x3cb1ac=_0x5bacdc,_0x31d4af=_0x5bacdc;if(typeof _0x5bacdc==_0x341729(0x2ee)){let _0x36e69a=_0x5bacdc+_0x2c990f;_0x7acdd0=_0x7b3363(_0x36e69a),_0x3cb1ac=_0x36e69a+_0x1cbcec;let _0x4e86cc=_0x5bacdc+_0x33515f;_0x4b9042=_0x2bb70d(_0x4e86cc),_0x306cd5(_0x59b9bd(_0x7acdd0))&&(_0x4b9042=null),_0x1f9e21=_0x4e86cc+_0x5bec20,_0x31d4af=_0x5bacdc+_0x1f34e9,_0x10cae2(_0x1f9e21>=0x0,_0x341729(0x1bc)),_0x10cae2(_0x3cb1ac>=0x0,_0x341729(0x264));const _0x161524=_0x306cd5(_0x59b9bd(_0x39c426)),_0xef3dd2=_0xaf49c1(_0x59b9bd(_0x401fc7));(_0x161524||_0xef3dd2&&!_0x115277)&&_0x1f34e9--,_0x161524&&_0x33515f--,_0xef3dd2&&_0x2c990f--;}else _0x4b9042=_0x2bb70d(_0x5bacdc),_0x7acdd0=_0x7b3363(_0x5bacdc);_0x609b5e['descend'](_0x1f9e21),_0x139647[_0x341729(0x25d)](_0x3cb1ac);const _0x531ea3=_0x47f908&&!_0x306cd5(_0x59b9bd(_0x39c426))?_0x4b236b[_0x31d4af]:void 0x0,_0x2cfeb1=_0x571b6c(_0x4b9042,_0x39c426,_0x401fc7,_0x7acdd0,_0x531ea3,_0x115277,_0x139647,_0x609b5e);var _0x3fc519,_0x3a6789,_0x18e9ab;_0x47f908&&!_0x115277?_0x531ea3!==_0x2cfeb1&&(_0x2a81e8||(_0x4b236b=Array[_0x341729(0x2ca)](_0x4b236b)?_0x4b236b[_0x341729(0x22a)]():Object[_0x341729(0x202)]({},_0x4b236b),_0x2a81e8=!0x0),_0x3fc519=_0x4b236b,_0x18e9ab=_0x2cfeb1,typeof(_0x3a6789=_0x31d4af)==_0x341729(0x2ee)?(_0x10cae2(Array[_0x341729(0x2ca)](_0x3fc519)),_0x10cae2(_0x3a6789<_0x3fc519['length'])):(_0x10cae2(!Array[_0x341729(0x2ca)](_0x3fc519)),_0x10cae2(_0x3fc519[_0x3a6789]!==void 0x0)),_0x18e9ab===void 0x0?typeof _0x3a6789==_0x341729(0x2ee)?_0x3fc519[_0x341729(0x2b8)](_0x3a6789,0x1):delete _0x3fc519[_0x3a6789]:_0x3fc519[_0x3a6789]=_0x18e9ab):_0x10cae2(_0x2cfeb1===void 0x0),_0x139647[_0x341729(0x2ad)](),_0x609b5e[_0x341729(0x2ad)]();}),_0x2bb70d[_0x10ebad(0x2ed)](),_0x7b3363['end'](),_0xbe32f6!=null)_0xbe32f6['i']=_0x4b236b;else{if(!_0x5ab887&&!_0x216c84&&_0x9c0d05==null)return _0x4b236b;}},_0x7a8c1(0x21b))(_0x49be49,_0x49be49['clone'](),_0x381de6,_0x381de6['clone'](),void 0x0,!0x1,_0x535b8c,_0x32f654),_0x535b8c[_0x7a8c1(0x22b)](),_0x535b8c[_0x7a8c1(0x217)](_0x32f654[_0x7a8c1(0x2ab)]()),_0x535b8c['reset'](),_0x535b8c[_0x7a8c1(0x2ab)](),_0x497eb1[_0x7a8c1(0x284)](_0x51ffd7=>_0x51ffd7['get']()),_0x466b2c['map'](_0x4f06bd=>_0x4f06bd[_0x7a8c1(0x2ab)]()),_0x49be49[_0x7a8c1(0x1cc)](_0x535b8c,(_0xc38aea,_0x4f45ab)=>{const _0x6e5493=_0x7a8c1,_0x37079d=_0xc38aea['p'];if(_0x37079d!=null){const _0x28afd5=_0x3c467f[_0x37079d];_0x28afd5!=null&&_0x4f45ab['write']('p',_0x28afd5);const _0x6ea51b=_0x497eb1[_0x37079d];_0x6ea51b&&_0x6ea51b[_0x6e5493(0x2ab)](),_0x6ea51b&&_0x4f45ab[_0x6e5493(0x217)](_0x6ea51b[_0x6e5493(0x2ab)]());}else _0xc38aea['r']!==void 0x0&&_0x4f45ab['write']('r',_0xc38aea['r']);}),_0x535b8c['reset'](),_0x535b8c['get'](),_0x381de6['traverse'](_0x535b8c,(_0x49dbc1,_0x517dc5)=>{const _0x5e0242=_0x7a8c1,_0x22340d=_0x49dbc1['d'];if(_0x22340d!=null){const _0x4f22f0=_0x2e0c8a[_0x22340d];_0x4f22f0!=null&&_0x517dc5[_0x5e0242(0x2db)]('d',_0x4f22f0);const _0x53f2da=_0x466b2c[_0x22340d];_0x53f2da&&_0x517dc5[_0x5e0242(0x217)](_0x53f2da[_0x5e0242(0x2ab)]());}else _0x49dbc1['i']!==void 0x0&&_0x517dc5[_0x5e0242(0x2db)]('i',_0x49dbc1['i']);const _0x397137=_0x212c4e(_0x49dbc1);_0x397137&&!_0x3f623b[_0x5e0242(0x29c)](_0x49dbc1)&&_0x4d2b6a(_0x517dc5,_0x397137,_0xaa8fd5(_0x49dbc1));}),_0x535b8c[_0x7a8c1(0x2ab)]();}_0x41a0da(_0x31b468,'compose');function _0x192d5b(_0x454087){const _0xbf139=_0x47c4f7;if(_0x454087==null)return null;const _0x42ead7=new _0x103ca1[(_0xbf139(0x197))](_0x454087),_0x1d277b=new _0x103ca1['WriteCursor']();let _0x182bc7;const _0x2e04d7=[],_0x3165e5=[];return _0x41a0da(function _0x3ff43b(_0x1237e5,_0x2fd467,_0x49b9c8){const _0x4f52d4=_0xbf139,_0x26e4ac=_0x1237e5[_0x4f52d4(0x181)]();let _0x4ffd70,_0x38c23e=!0x1;if(_0x26e4ac){_0x26e4ac['p']!=null&&(_0x2fd467['write']('d',_0x26e4ac['p']),_0x2e04d7[_0x26e4ac['p']]=_0x1237e5[_0x4f52d4(0x2e6)]()),_0x26e4ac['r']!==void 0x0&&_0x2fd467[_0x4f52d4(0x2db)]('i',_0x26e4ac['r']),_0x26e4ac['d']!=null&&(_0x2fd467[_0x4f52d4(0x2db)]('p',_0x26e4ac['d']),_0x49b9c8=void 0x0),_0x26e4ac['i']!==void 0x0&&(_0x49b9c8=_0x4ffd70=_0x26e4ac['i']);const _0x41e433=_0x212c4e(_0x26e4ac);_0x41e433&&(_0x49b9c8===void 0x0?(_0x182bc7||(_0x182bc7=new Set()),_0x182bc7['add'](_0x26e4ac)):(_0xaa8fd5(_0x26e4ac),_0x49b9c8=_0x41e433[_0x4f52d4(0x22d)](_0x49b9c8,_0xaa8fd5(_0x26e4ac)),_0x38c23e=!0x0));}let _0x8689e5=0x0;for(const _0x464041 of _0x1237e5){_0x2fd467[_0x4f52d4(0x25d)](_0x464041);const _0xe1eff9=typeof _0x464041==_0x4f52d4(0x2ee)?_0x464041-_0x8689e5:_0x464041,_0x5f0731=_0x248eb9(_0x49b9c8,_0xe1eff9);_0x306cd5(_0x1237e5[_0x4f52d4(0x181)]())&&_0x8689e5++;const _0x3206d6=_0x3ff43b(_0x1237e5,_0x2fd467,_0x5f0731);if(_0x49b9c8!==void 0x0&&_0x3206d6!==void 0x0){if(_0x38c23e||(_0x38c23e=!0x0,_0x49b9c8=_0x1ac99b(_0x49b9c8)),!_0x26e0f9(_0x49b9c8,_0xe1eff9))throw Error('Cannot\x20modify\x20child\x20-\x20invalid\x20operation');_0x49b9c8[_0xe1eff9]=_0x3206d6;}_0x2fd467[_0x4f52d4(0x2ad)]();}if(_0x4ffd70===void 0x0)return _0x38c23e?_0x49b9c8:void 0x0;_0x2fd467[_0x4f52d4(0x2db)]('r',_0x49b9c8);},_0xbf139(0x232))(_0x42ead7,_0x1d277b,void 0x0),_0x182bc7&&(_0x1d277b[_0xbf139(0x22b)](),_0x41a0da(function _0x174005(_0x48acc1,_0x33139e,_0x37e145){const _0x3ddadb=_0xbf139,_0x5e03bc=_0x33139e[_0x3ddadb(0x181)]();if(_0x5e03bc){const _0x2975de=_0x5e03bc['d'];if(_0x2975de!=null&&(_0x48acc1=_0x2e04d7[_0x2975de],_0x37e145=_0x3165e5[_0x2975de]=_0x103ca1[_0x3ddadb(0x2a5)]()),_0x182bc7[_0x3ddadb(0x29c)](_0x5e03bc)){const _0x37db8f=_0x212c4e(_0x5e03bc);if(!_0x37db8f[_0x3ddadb(0x235)])throw Error(_0x3ddadb(0x1b6)+_0x37db8f['name']);_0x4d2b6a(_0x37e145,_0x37db8f,_0x37db8f[_0x3ddadb(0x235)](_0xaa8fd5(_0x5e03bc)));}}let _0x5359c5=0x0,_0x3aa7a0=0x0;const _0x59a405=_0x103ca1[_0x3ddadb(0x252)](_0x48acc1,(_0x39d838,_0x4fcb16)=>_0xaf49c1(_0x4fcb16)?_0x5359c5-_0x39d838-0x1:_0x39d838-_0x5359c5,(_0x263861,_0x5ec6c8)=>{_0xaf49c1(_0x5ec6c8)&&_0x5359c5++;});for(const _0x1c60eb of _0x33139e)if(typeof _0x1c60eb==_0x3ddadb(0x2ee)){const _0x17199c=_0x1c60eb-_0x3aa7a0,_0x265fb3=_0x59a405(_0x17199c),_0x8afd8f=_0x17199c+_0x5359c5;_0x37e145['descend'](_0x8afd8f),_0x174005(_0x265fb3,_0x33139e,_0x37e145),_0x306cd5(_0x33139e[_0x3ddadb(0x181)]())&&_0x3aa7a0++,_0x37e145[_0x3ddadb(0x2ad)]();}else _0x37e145[_0x3ddadb(0x25d)](_0x1c60eb),_0x174005(_0x59a405(_0x1c60eb),_0x33139e,_0x37e145),_0x37e145[_0x3ddadb(0x2ad)]();_0x59a405['end']();},_0xbf139(0x1a3))(_0x42ead7[_0xbf139(0x2e6)](),_0x42ead7,_0x1d277b),_0x3165e5[_0xbf139(0x2b1)]&&(_0x1d277b[_0xbf139(0x22b)](),_0x42ead7[_0xbf139(0x1cc)](_0x1d277b,(_0x1cbb72,_0x35ca1d)=>{const _0x1dcb2b=_0xbf139,_0x5c0c93=_0x1cbb72['p'];if(_0x5c0c93!=null){const _0x1a1187=_0x3165e5[_0x5c0c93];_0x1a1187&&_0x1a1187[_0x1dcb2b(0x2ab)](),_0x1a1187&&_0x35ca1d[_0x1dcb2b(0x217)](_0x1a1187[_0x1dcb2b(0x2ab)]());}}))),_0x1d277b[_0xbf139(0x2ab)]();}_0x41a0da(_0x192d5b,_0x47c4f7(0x235));const _0x5d37ee=_0x41a0da((_0x4dadc9,_0x4be46a)=>_0x4dadc9[_0x47c4f7(0x28e)](_0x491232=>typeof _0x491232=='object'&&(Array[_0x47c4f7(0x2ca)](_0x491232)?_0x5d37ee(_0x491232,_0x4be46a):_0x4be46a(_0x491232))),_0x47c4f7(0x1bf));function _0x1f0c8c(_0x3848d9,_0x5836c7){const _0x5771e9=_0x47c4f7;if(_0x3848d9==null||!_0x5d37ee(_0x3848d9,_0x36e46c=>{var _0x546c57;return _0x36e46c['r']!==void 0x0||((_0x546c57=_0x212c4e(_0x36e46c))===null||_0x546c57===void 0x0?void 0x0:_0x546c57['makeInvertible'])!=null;}))return _0x3848d9;const _0x3dfbe7=new _0x103ca1[(_0x5771e9(0x197))](_0x3848d9),_0x312715=new _0x103ca1['WriteCursor']();let _0x3025d2=!0x1;const _0x589bc8=[],_0x353c94=[],_0x2ee66d=_0x41a0da((_0x4a1b84,_0x250e78,_0x1f8831)=>{const _0x43964d=_0x5771e9,_0x5959a2=_0x4a1b84[_0x43964d(0x181)]();let _0x5045a9=!0x1;if(_0x5959a2){_0x5959a2['d']!=null&&_0x250e78[_0x43964d(0x2db)]('d',_0x5959a2['d']),_0x5959a2['i']!==void 0x0&&_0x250e78[_0x43964d(0x2db)]('i',_0x5959a2['i']);const _0x12e0ff=_0x5959a2['p'];if(_0x12e0ff!=null&&(_0x589bc8[_0x12e0ff]=_0x4a1b84[_0x43964d(0x2e6)](),_0x10cae2(_0x1f8831!==void 0x0,_0x43964d(0x1f8)),_0x353c94[_0x12e0ff]=_0x1f8831,_0x250e78[_0x43964d(0x2db)]('p',_0x5959a2['p'])),_0x5959a2['r']!==void 0x0&&_0x1f8831===void 0x0)throw Error('Invalid\x20doc\x20/\x20op\x20in\x20makeInvertible:\x20removed\x20item\x20missing\x20from\x20doc');const _0x49abd1=_0x212c4e(_0x5959a2);_0x49abd1&&(_0x49abd1[_0x43964d(0x194)]?_0x3025d2=!0x0:_0x4d2b6a(_0x250e78,_0x49abd1,_0xaa8fd5(_0x5959a2),!0x0));}let _0x2cb4d9=0x0;for(const _0x59e53d of _0x4a1b84){_0x250e78[_0x43964d(0x25d)](_0x59e53d);const _0x1cef19=typeof _0x59e53d==_0x43964d(0x2ee)?_0x59e53d-_0x2cb4d9:_0x59e53d,_0x44a4cb=_0x248eb9(_0x1f8831,_0x1cef19),_0x14ed54=_0x2ee66d(_0x4a1b84,_0x250e78,_0x44a4cb);_0x44a4cb!==_0x14ed54&&(_0x5045a9||(_0x5045a9=!0x0,_0x1f8831=_0x1ac99b(_0x1f8831)),_0x14ed54===void 0x0?(_0x1f8831=_0x43baf3(_0x1f8831,_0x1cef19),typeof _0x59e53d==_0x43964d(0x2ee)&&_0x2cb4d9++):_0x1f8831[_0x1cef19]=_0x14ed54),_0x250e78['ascend']();}return _0x5959a2&&(_0x5959a2['r']!==void 0x0?(_0x250e78[_0x43964d(0x2db)]('r',_0x5c1b5f[_0x43964d(0x263)](_0x1f8831)),_0x1f8831=void 0x0):_0x5959a2['p']!=null&&(_0x1f8831=void 0x0)),_0x1f8831;},_0x5771e9(0x1e0));return _0x2ee66d(_0x3dfbe7,_0x312715,_0x5836c7),_0x312715[_0x5771e9(0x2ab)](),_0x3025d2&&(_0x312715['reset'](),_0x41a0da(function _0x2788fa(_0x4961a5,_0x1cc209,_0x53d446,_0x24bfb2,_0x31638a){const _0x4f9747=_0x5771e9,_0x1040c3=_0x1cc209[_0x4f9747(0x181)]();if(_0x1040c3){_0x1040c3['i']!==void 0x0?(_0x24bfb2=_0x1040c3['i'],_0x31638a=!0x0):_0x1040c3['d']!=null&&(_0x24bfb2=_0x353c94[_0x1040c3['d']],_0x4961a5=_0x589bc8[_0x1040c3['d']],_0x31638a=!0x1,_0x1040c3['d']);let _0x52e8fa=_0x212c4e(_0x1040c3);if(_0x52e8fa&&_0x52e8fa['makeInvertible']){const _0xb54f4b=_0xaa8fd5(_0x1040c3);_0x4d2b6a(_0x53d446,_0x52e8fa,_0x52e8fa['makeInvertible'](_0xb54f4b,_0x24bfb2),!0x0);}}let _0x9a1277=0x0,_0x487bd7=0x0;const _0x53c0c3=_0x103ca1[_0x4f9747(0x252)](_0x4961a5,(_0x39926c,_0xbf90fd)=>_0xaf49c1(_0xbf90fd)?_0x9a1277-_0x39926c-0x1:_0x39926c-_0x9a1277,(_0x46197d,_0x2d057e)=>{_0xaf49c1(_0x2d057e)&&_0x9a1277++;});for(const _0x4e8fdb of _0x1cc209)if(typeof _0x4e8fdb==_0x4f9747(0x2ee)){const _0x4f837a=_0x4e8fdb-_0x487bd7,_0x1306b7=_0x53c0c3(_0x4f837a),_0x1982dc=_0x4f837a+_0x9a1277,_0x446730=_0x248eb9(_0x24bfb2,_0x31638a?_0x4f837a:_0x1982dc);_0x53d446['descend'](_0x4e8fdb),_0x2788fa(_0x1306b7,_0x1cc209,_0x53d446,_0x446730,_0x31638a),_0x306cd5(_0x1cc209[_0x4f9747(0x181)]())&&_0x487bd7++,_0x53d446[_0x4f9747(0x2ad)]();}else{const _0x30dd8b=_0x248eb9(_0x24bfb2,_0x4e8fdb);_0x53d446[_0x4f9747(0x25d)](_0x4e8fdb),_0x2788fa(_0x53c0c3(_0x4e8fdb),_0x1cc209,_0x53d446,_0x30dd8b,_0x31638a),_0x53d446[_0x4f9747(0x2ad)]();}_0x53c0c3[_0x4f9747(0x2ed)]();},_0x5771e9(0x1d5))(_0x3dfbe7[_0x5771e9(0x2e6)](),_0x3dfbe7,_0x312715,_0x5836c7,!0x1)),_0x312715[_0x5771e9(0x2ab)]();}_0x41a0da(_0x1f0c8c,'makeInvertible');function _0x4fcbb8(_0x236104,_0x51feb4){return _0x192d5b(_0x1f0c8c(_0x236104,_0x51feb4));}_0x41a0da(_0x4fcbb8,_0x47c4f7(0x1d7));const _0x36be08=_0x41a0da(_0x255f03=>{const _0x1a2f83=_0x47c4f7;if(_0x255f03==null)return null;const _0x52c223=_0x255f03[_0x1a2f83(0x22a)]();for(let _0x2b88d5=0x0;_0x2b88d5<_0x255f03[_0x1a2f83(0x2b1)];_0x2b88d5++){const _0x1e831e=_0x52c223[_0x2b88d5];Array[_0x1a2f83(0x2ca)](_0x1e831e)&&(_0x52c223[_0x2b88d5]=_0x36be08(_0x1e831e));}return _0x52c223;},'shallowCloneOp');function _0xfa1643(_0x406bd5,_0x618062,_0x237e26){const _0xd24e7b=_0x47c4f7;_0x10cae2(_0x237e26===_0xd24e7b(0x183)||_0x237e26===_0xd24e7b(0x18a),'Direction\x20must\x20be\x20left\x20or\x20right');const _0x3ea16b=_0x237e26===_0xd24e7b(0x183)?0x0:0x1;if(_0x618062==null)return{'ok':!0x0,'result':_0x406bd5};_0x497c87(_0x406bd5),_0x497c87(_0x618062);let _0x47e904=null;const _0x26df58=[],_0x18e4da=[],_0x346fde=[],_0x52b095=[],_0x1fb74c=[],_0x7b37a5=[],_0x3e6179=[],_0x4afb4e=[],_0x21eb44=[],_0x3b0de3=[],_0x4cab0b=[],_0xa99bb2=[],_0x344b51=[],_0x8cd24e=[],_0x331de2=[];let _0x7a1fe=0x0;const _0x2dff89=_0x103ca1[_0xd24e7b(0x20e)](_0x406bd5),_0x246279=_0x103ca1['readCursor'](_0x618062),_0x32ff11=_0x103ca1[_0xd24e7b(0x2a5)]();if(_0x41a0da(function _0x12d580(_0x1cc353,_0x1b2588=null,_0x3e8276){const _0x41d565=_0xd24e7b,_0x5cfaae=_0x59b9bd(_0x1b2588);_0x5cfaae&&(_0x5cfaae['r']!==void 0x0?_0x3e8276=_0x1b2588['clone']():_0x5cfaae['p']!=null&&(_0x3e8276=null,_0x7b37a5[_0x5cfaae['p']]=_0x1cc353[_0x41d565(0x2e6)]()));const _0x42d9dd=_0x1cc353[_0x41d565(0x181)]();let _0x2dd62e;_0x42d9dd&&(_0x2dd62e=_0x42d9dd['p'])!=null&&(_0x1fb74c[_0x2dd62e]=_0x1b2588?_0x1b2588[_0x41d565(0x2e6)]():null,_0x346fde[_0x2dd62e]=_0x1cc353[_0x41d565(0x2e6)](),_0x3e8276&&(_0x3b0de3[_0x2dd62e]=!0x0,_0x21eb44[_0x2dd62e]=_0x3e8276),_0x5cfaae&&_0x5cfaae['p']!=null&&(_0x8cd24e[_0x2dd62e]=_0x5cfaae['p']));const _0x52365f=_0x103ca1['advancer'](_0x1b2588);for(const _0x1e23c7 of _0x1cc353)_0x12d580(_0x1cc353,_0x52365f(_0x1e23c7),_0x3e8276);_0x52365f[_0x41d565(0x2ed)]();},_0xd24e7b(0x259))(_0x246279,_0x2dff89,null),_0x41a0da(function _0x5a0b1f(_0x185c9d,_0x5cd852,_0x2f271f,_0x928c22,_0x9e287a){const _0x20d64f=_0xd24e7b,_0x313075=_0x2f271f[_0x20d64f(0x181)]();let _0x558d49,_0x57c463=!0x1;_0x313075&&((_0x558d49=_0x313075['d'])!=null?(_0x52b095[_0x558d49]=_0x2f271f[_0x20d64f(0x2e6)](),_0x928c22!=null&&(_0x331de2[_0x928c22]==null&&(_0x331de2[_0x928c22]=[]),_0x331de2[_0x928c22]['push'](_0x558d49)),_0x185c9d=_0x1fb74c[_0x558d49]||null,_0x5cd852=_0x346fde[_0x558d49]||null,_0x3b0de3[_0x558d49]?(_0x9e287a&&(_0x4cab0b[_0x558d49]=!0x0),_0x9e287a=_0x21eb44[_0x558d49]||null):!_0x9e287a||_0x3ea16b!==0x1&&_0x8cd24e[_0x558d49]!=null||_0x47e904==null&&(_0x47e904={'type':_0x1d5b57[_0x20d64f(0x1a4)][_0x20d64f(0x1cf)],'op1':_0x516462[_0x20d64f(0x273)](_0x9e287a[_0x20d64f(0x1f6)]()),'op2':_0x516462[_0x20d64f(0x29d)](_0x5cd852[_0x20d64f(0x1f6)](),_0x2f271f['getPath']())}),_0x57c463=!0x0):_0x313075['i']!==void 0x0&&(_0x185c9d=_0x5cd852=null,_0x57c463=!0x0,_0x9e287a&&_0x47e904==null&&(_0x47e904={'type':_0x1d5b57[_0x20d64f(0x1a4)][_0x20d64f(0x1cf)],'op1':_0x516462[_0x20d64f(0x273)](_0x9e287a[_0x20d64f(0x1f6)]()),'op2':_0x516462['insertOp'](_0x2f271f[_0x20d64f(0x1f6)](),_0x313075['i'])})));const _0xf7d9b8=_0x59b9bd(_0x185c9d);_0xf7d9b8&&(_0xf7d9b8['r']!==void 0x0?_0x9e287a=_0x185c9d['clone']():_0xf7d9b8['p']!=null&&(_0xf7d9b8['p'],_0x928c22=_0xf7d9b8['p'],_0x9e287a=null));const _0x3bee9b=_0x212c4e(_0x313075);_0x3bee9b&&_0x9e287a&&_0x47e904==null&&(_0x47e904={'type':_0x1d5b57[_0x20d64f(0x1a4)][_0x20d64f(0x1cf)],'op1':_0x516462['removeOp'](_0x9e287a[_0x20d64f(0x1f6)]()),'op2':_0x516462[_0x20d64f(0x2dd)](_0x2f271f[_0x20d64f(0x1f6)](),_0x3bee9b,_0xaa8fd5(_0x313075),!0x0)});let _0x241d06=0x0,_0x4ef7d8=0x0;const _0x586a08=_0x103ca1[_0x20d64f(0x252)](_0x5cd852,(_0x2c11a5,_0x2e752b)=>_0xaf49c1(_0x2e752b)?_0x241d06-_0x2c11a5-0x1:_0x2c11a5-_0x241d06,(_0x2ed105,_0x153600)=>{_0xaf49c1(_0x153600)&&_0x241d06++;}),_0x2fc047=_0x103ca1[_0x20d64f(0x252)](_0x185c9d);for(const _0x291ce8 of _0x2f271f)if(typeof _0x291ce8==_0x20d64f(0x2ee)){const _0x30ce09=_0x291ce8-_0x4ef7d8,_0x47a76d=_0x586a08(_0x30ce09);_0x4ef7d8+=+_0x5a0b1f(_0x2fc047(_0x30ce09+_0x241d06),_0x47a76d,_0x2f271f,_0x928c22,_0x9e287a);}else{const _0x29a691=_0x586a08(_0x291ce8);_0x5a0b1f(_0x2fc047(_0x291ce8),_0x29a691,_0x2f271f,_0x928c22,_0x9e287a);}return _0x586a08[_0x20d64f(0x2ed)](),_0x2fc047[_0x20d64f(0x2ed)](),_0x57c463;},_0xd24e7b(0x28f))(_0x2dff89,_0x246279,_0x246279[_0xd24e7b(0x2e6)](),null,null),_0x52b095[_0xd24e7b(0x284)](_0x47383b=>_0x47383b&&_0x47383b[_0xd24e7b(0x2ab)]()),_0x47e904)return{'ok':!0x1,'conflict':_0x47e904};_0x4cab0b[_0xd24e7b(0x284)](_0x44ea08=>!!_0x44ea08);const _0x4ebc94=[];let _0xc42ea5=null;_0x41a0da(function _0x59be2d(_0x980cfc,_0xcd6f84,_0x3b3ef4,_0x22de5f,_0xd8e3d8){const _0x393d8a=_0xd24e7b;let _0x2c5b37=!0x1;const _0x66507a=_0x59b9bd(_0xcd6f84);if(_0xaf49c1(_0x66507a)){const _0x344b16=_0x66507a['p'];_0x344b16!=null?(_0x3b3ef4=_0x52b095[_0x344b16],_0x22de5f=_0xa99bb2[_0x344b16]=_0x103ca1[_0x393d8a(0x2a5)](),_0x2c5b37=!0x0,_0xd8e3d8=null):(_0x3b3ef4=null,_0xd8e3d8=_0xcd6f84[_0x393d8a(0x2e6)]());}else _0x306cd5(_0x59b9bd(_0x3b3ef4))&&(_0x3b3ef4=null);const _0x38f274=_0x980cfc[_0x393d8a(0x181)]();if(_0x38f274){const _0x48dec9=_0x38f274['p'];_0x48dec9!=null?(_0xd8e3d8&&(_0x4afb4e[_0x48dec9]=_0xd8e3d8),_0x4ebc94[_0x48dec9]=_0xd8e3d8||_0x3ea16b===0x1&&_0x2c5b37?null:_0x22de5f[_0x393d8a(0x181)](),_0x26df58[_0x48dec9]=_0x980cfc[_0x393d8a(0x2e6)](),_0x3b3ef4&&(_0x3e6179[_0x48dec9]=_0x3b3ef4[_0x393d8a(0x2e6)]())):_0x38f274['r']!==void 0x0&&(_0xd8e3d8||_0x22de5f[_0x393d8a(0x2db)]('r',!0x0),(_0xd8e3d8||_0x2c5b37)&&(_0xc42ea5==null&&(_0xc42ea5=new Set()),_0xc42ea5[_0x393d8a(0x210)](_0x38f274)));}let _0x343fce=0x0,_0x2822b1=0x0;const _0x275197=_0x103ca1['advancer'](_0xcd6f84,void 0x0,(_0x383c84,_0x41d395)=>{_0xaf49c1(_0x41d395)&&_0x343fce++;}),_0x4362b6=_0x103ca1[_0x393d8a(0x252)](_0x3b3ef4,(_0x5ce46f,_0x29afcf)=>_0x306cd5(_0x29afcf)?~(_0x5ce46f-_0x2822b1):_0x5ce46f-_0x2822b1,(_0x52726c,_0x1fc6c5)=>{_0x306cd5(_0x1fc6c5)&&_0x2822b1++;});if(_0x980cfc){for(const _0x202949 of _0x980cfc)if(typeof _0x202949=='string'){const _0x734959=_0x275197(_0x202949),_0x3f249f=_0x4362b6(_0x202949);_0x22de5f[_0x393d8a(0x25d)](_0x202949),_0x59be2d(_0x980cfc,_0x734959,_0x3f249f,_0x22de5f,_0xd8e3d8),_0x22de5f[_0x393d8a(0x2ad)]();}else{const _0x24f7e5=_0x275197(_0x202949),_0x409b92=_0x202949-_0x343fce,_0x281602=_0xaf49c1(_0x59b9bd(_0x24f7e5))?null:_0x4362b6(_0x409b92),_0x3d8f37=_0x409b92+_0x2822b1;_0x10cae2(_0x3d8f37>=0x0),_0x22de5f[_0x393d8a(0x25d)](_0x3d8f37),_0x59be2d(_0x980cfc,_0x24f7e5,_0x281602,_0x22de5f,_0xd8e3d8),_0x22de5f[_0x393d8a(0x2ad)]();}}_0x275197[_0x393d8a(0x2ed)](),_0x4362b6[_0x393d8a(0x2ed)]();},_0xd24e7b(0x2e0))(_0x2dff89,_0x246279,_0x246279[_0xd24e7b(0x2e6)](),_0x32ff11,null),_0x32ff11['reset']();let _0x2462fb=[];if(_0x41a0da(function _0xf2365e(_0x27811b,_0x1a5f6f,_0x155a23,_0x4a9d80,_0x54f2a2,_0x59c854){const _0x4c9550=_0xd24e7b;_0x10cae2(_0x1a5f6f);const _0x829a33=_0x1a5f6f[_0x4c9550(0x181)]();let _0x304824=_0x59b9bd(_0x4a9d80),_0xc2464a=!0x1;const _0x1a8c87=_0x41a0da((_0x2cf6c8,_0x51adf7,_0x249fa2)=>_0x2cf6c8?_0x516462[_0x4c9550(0x29d)](_0x2cf6c8[_0x4c9550(0x1f6)](),_0x51adf7[_0x4c9550(0x1f6)]()):_0x516462[_0x4c9550(0x17f)](_0x51adf7['getPath'](),_0x249fa2['i']),_0x4c9550(0x208));if(_0x306cd5(_0x829a33)){const _0x14cca6=_0x829a33['d'];_0x14cca6!=null&&(_0x18e4da[_0x14cca6]=_0x1a5f6f[_0x4c9550(0x2e6)]());const _0x4b6afb=_0x14cca6!=null?_0x4ebc94[_0x14cca6]:null;let _0x44618f=!0x1;if(_0x829a33['i']!==void 0x0||_0x14cca6!=null&&_0x4b6afb){let _0xfaaf4e;_0x304824&&(_0x304824['i']!==void 0x0||(_0xfaaf4e=_0x304824['d'])!=null&&!_0x3b0de3[_0xfaaf4e])&&(_0x44618f=_0xfaaf4e!=null?_0x14cca6!=null&&_0x14cca6===_0x8cd24e[_0xfaaf4e]:_0x1077bc[_0x4c9550(0x263)](_0x304824['i'],_0x829a33['i']),_0x44618f||_0xfaaf4e!=null&&_0x3ea16b!==0x1&&_0x8cd24e[_0xfaaf4e]!=null||_0x47e904==null&&(_0x47e904={'type':_0x1d5b57[_0x4c9550(0x1a4)]['DROP_COLLISION'],'op1':_0x1a8c87(_0x14cca6!=null?_0x26df58[_0x14cca6]:null,_0x1a5f6f,_0x829a33),'op2':_0x1a8c87(_0xfaaf4e!=null?_0x346fde[_0xfaaf4e]:null,_0x4a9d80,_0x304824)})),_0x44618f||(_0x59c854?_0x47e904==null&&(_0x47e904={'type':_0x1d5b57['ConflictType']['RM_UNEXPECTED_CONTENT'],'op1':_0x1a8c87(_0x14cca6!=null?_0x26df58[_0x14cca6]:null,_0x1a5f6f,_0x829a33),'op2':_0x516462[_0x4c9550(0x273)](_0x59c854[_0x4c9550(0x1f6)]())}):(_0x14cca6!=null?(_0x2462fb[_0x7a1fe]=_0x14cca6,_0x54f2a2[_0x4c9550(0x2db)]('d',_0x4b6afb['p']=_0x7a1fe++)):_0x54f2a2[_0x4c9550(0x2db)]('i',_0x5c1b5f[_0x4c9550(0x263)](_0x829a33['i'])),_0xc2464a=!0x0));}else{if(_0x14cca6!=null&&!_0x4b6afb){const _0x32ccb5=_0x4afb4e[_0x14cca6];_0x32ccb5&&(_0x59c854=_0x32ccb5['clone']());}}_0x14cca6!=null?(_0x27811b=_0x26df58[_0x14cca6],_0x155a23=_0x7b37a5[_0x14cca6],_0x4a9d80=_0x3e6179[_0x14cca6]):_0x829a33['i']!==void 0x0&&(_0x27811b=_0x155a23=null,_0x44618f||(_0x4a9d80=null));}else _0xaf49c1(_0x59b9bd(_0x27811b))&&(_0x27811b=_0x155a23=_0x4a9d80=null);const _0x39aca0=_0x59b9bd(_0x27811b),_0x522ea8=_0x59b9bd(_0x155a23);if(_0xaf49c1(_0x522ea8)){const _0x127828=_0x522ea8['p'];_0x522ea8['r']!==void 0x0&&(!_0x39aca0||_0x39aca0['r']===void 0x0)||_0x3b0de3[_0x127828]?(_0x4a9d80=null,_0x59c854=_0x155a23[_0x4c9550(0x2e6)]()):_0x127828!=null&&(_0x4a9d80=_0x52b095[_0x127828],_0x3ea16b!==0x1&&_0x8cd24e[_0x127828]!=null||((_0x54f2a2=_0x344b51[_0x127828])||(_0x54f2a2=_0x344b51[_0x127828]=_0x103ca1[_0x4c9550(0x2a5)]()),_0x54f2a2['reset'](),_0x59c854=null));}else!_0x306cd5(_0x829a33)&&_0x306cd5(_0x304824)&&(_0x4a9d80=null);_0x304824=_0x4a9d80!=null?_0x4a9d80[_0x4c9550(0x181)]():null;const _0x38a8ea=_0x212c4e(_0x829a33);if(_0x38a8ea){const _0x2da65e=_0xaa8fd5(_0x829a33);if(_0x59c854)_0x47e904==null&&(_0x47e904={'type':_0x1d5b57[_0x4c9550(0x1a4)]['RM_UNEXPECTED_CONTENT'],'op1':_0x516462[_0x4c9550(0x2dd)](_0x1a5f6f['getPath'](),_0x38a8ea,_0x2da65e,!0x0),'op2':_0x516462[_0x4c9550(0x273)](_0x59c854[_0x4c9550(0x1f6)]())});else{const _0xc251db=_0x212c4e(_0x304824);let _0x41f79f;if(_0xc251db){if(_0x38a8ea!==_0xc251db)throw Error(_0x4c9550(0x1e4));const _0x3740e3=_0xaa8fd5(_0x304824);_0x41f79f=_0x38a8ea[_0x4c9550(0x2e7)](_0x2da65e,_0x3740e3,_0x237e26);}else _0x41f79f=_0x5c1b5f[_0x4c9550(0x263)](_0x2da65e);_0x4d2b6a(_0x54f2a2,_0x38a8ea,_0x41f79f);}}let _0x13e206=0x0,_0x20681f=0x0,_0x5cec73=0x0,_0x83f5b7=0x0,_0x35b799=0x0,_0x92ca3d=0x0,_0x36172a=_0x27811b!=null&&_0x27811b[_0x4c9550(0x2d3)](),_0x56b00b=_0x36172a;const _0x1af5b1=_0x103ca1['advancer'](_0x155a23,void 0x0,(_0x11fef4,_0x3d9778)=>{_0xaf49c1(_0x3d9778)&&_0x5cec73++;});let _0x4e8452=_0x4a9d80!=null&&_0x4a9d80[_0x4c9550(0x2d3)](),_0x14f48a=_0x4e8452;for(const _0x498768 of _0x1a5f6f)if(typeof _0x498768==_0x4c9550(0x2ee)){let _0x108f4d;const _0x1f13c3=_0x306cd5(_0x1a5f6f['getComponent']()),_0x35ca26=_0x498768-_0x20681f;{let _0x4416fd;for(;_0x36172a&&typeof(_0x4416fd=_0x27811b[_0x4c9550(0x22e)]())=='number';){_0x4416fd+=_0x13e206;const _0x4a0e6c=_0x27811b[_0x4c9550(0x181)](),_0x22360a=_0xaf49c1(_0x4a0e6c);if(_0x4416fd>_0x35ca26||_0x4416fd===_0x35ca26&&(!_0x22360a||_0x3ea16b===0x0&&_0x1f13c3))break;if(_0x22360a){_0x13e206--;const _0x1c3e6f=_0x4a0e6c['p'];_0x8cd24e[_0x4c9550(0x29a)](_0x1c3e6f),_0x4a0e6c['d'],_0x59b9bd(_0x344b51[_0x4a0e6c['d']]),_0xaf49c1(_0x59b9bd(_0x344b51[_0x4a0e6c['d']])),(_0x4a0e6c['r']===void 0x0||_0xc42ea5&&_0xc42ea5['has'](_0x4a0e6c))&&(_0x1c3e6f==null||!_0x4ebc94[_0x1c3e6f]||_0x3ea16b!==0x1&&_0x8cd24e[_0x4c9550(0x29a)](_0x1c3e6f))||_0x35b799--;}_0x36172a=_0x27811b[_0x4c9550(0x23b)]();}_0x108f4d=_0x36172a&&_0x4416fd===_0x35ca26?_0x27811b:null;}const _0x190490=_0x35ca26-_0x13e206;let _0x3427d1=_0x1af5b1(_0x190490);const _0x25a3f0=_0x190490-_0x5cec73;let _0x1324e2=null;{let _0x530b5e,_0x3ee642;for(;_0x4e8452&&typeof(_0x530b5e=_0x4a9d80[_0x4c9550(0x22e)]())==_0x4c9550(0x2ee);){_0x3ee642=_0x530b5e-_0x83f5b7;const _0x35c99f=_0x4a9d80[_0x4c9550(0x181)](),_0x1fba88=_0x306cd5(_0x35c99f);if(_0x3ee642>_0x25a3f0)break;if(_0x3ee642===_0x25a3f0){if(!_0x1fba88){_0x1324e2=_0x4a9d80;break;}{if(_0x3ea16b===0x0&&_0x1f13c3){_0x1324e2=_0x4a9d80;break;}const _0x3224fe=_0x3427d1&&_0xaf49c1(_0x3427d1['getComponent']());if(_0x3ea16b===0x0&&_0x3224fe)break;}}if(_0x1fba88){const _0x197385=_0x35c99f['d'];_0x8cd24e[_0x197385],_0x35c99f['i']===void 0x0&&(_0x3b0de3[_0x197385]||_0x8cd24e[_0x197385]!=null&&_0x3ea16b!==0x1)?(_0x3b0de3[_0x197385]||_0x8cd24e[_0x197385]!=null&&_0x3ea16b===0x0)&&(_0x83f5b7++,_0x92ca3d--):_0x83f5b7++;}_0x4e8452=_0x4a9d80[_0x4c9550(0x23b)]();}}const _0x5e2b8c=_0x25a3f0+_0x83f5b7+_0x35b799+_0x92ca3d;_0x10cae2(_0x5e2b8c>=0x0,'trying\x20to\x20descend\x20to\x20a\x20negative\x20index'),_0x54f2a2[_0x4c9550(0x25d)](_0x5e2b8c),_0x1f13c3&&(_0x108f4d=_0x3427d1=_0x1324e2=null,_0x20681f++),_0xf2365e(_0x108f4d,_0x1a5f6f,_0x3427d1,_0x1324e2,_0x54f2a2,_0x59c854)&&_0x92ca3d++,_0x54f2a2['ascend']();}else{let _0x3f04f2;for(;_0x36172a&&(_0x3f04f2=_0x27811b['getKey'](),typeof _0x3f04f2!='string'||!(_0x3f04f2>_0x498768||_0x3f04f2===_0x498768));)_0x36172a=_0x27811b[_0x4c9550(0x23b)]();const _0x742005=_0x36172a&&_0x3f04f2===_0x498768?_0x27811b:null,_0x21e999=_0x1af5b1(_0x498768);let _0x27ea44;for(;_0x4e8452&&(_0x27ea44=_0x4a9d80[_0x4c9550(0x22e)](),typeof _0x27ea44!=_0x4c9550(0x1b1)||!(_0x27ea44>_0x498768||_0x27ea44===_0x498768));)_0x4e8452=_0x4a9d80['nextSibling']();const _0x55a58c=_0x4e8452&&_0x27ea44===_0x498768?_0x4a9d80:null;_0x54f2a2['descend'](_0x498768),_0xf2365e(_0x742005,_0x1a5f6f,_0x21e999,_0x55a58c,_0x54f2a2,_0x59c854),_0x54f2a2[_0x4c9550(0x2ad)]();}return _0x1af5b1[_0x4c9550(0x2ed)](),_0x56b00b&&_0x27811b[_0x4c9550(0x2ad)](),_0x14f48a&&_0x4a9d80[_0x4c9550(0x2ad)](),_0xc2464a;},'writeOp1Drop')(_0x2dff89,_0x2dff89['clone'](),_0x246279,_0x246279['clone'](),_0x32ff11,null),_0x47e904)return{'ok':!0x1,'conflict':_0x47e904};_0x32ff11[_0xd24e7b(0x22b)]();const _0x3529b0=_0x41a0da((_0x263d4e,_0xce7697,_0x3ca35b)=>_0x263d4e[_0xd24e7b(0x1cc)](_0xce7697,(_0x4375f4,_0x2b9a69)=>{_0x4375f4['d']!=null&&_0x3ca35b(_0x4375f4['d'],_0x263d4e,_0x2b9a69);}),_0xd24e7b(0x1d3));(_0x3b0de3['length']||_0xa99bb2['length'])&&(_0x3529b0(_0x246279,_0x32ff11,(_0x295c62,_0x2faae8,_0x27854a)=>{const _0x261fcd=_0xd24e7b;_0x3b0de3[_0x295c62]&&!_0x4cab0b[_0x295c62]&&_0x27854a[_0x261fcd(0x2db)]('r',!0x0),_0xa99bb2[_0x295c62]&&_0x27854a['mergeTree'](_0xa99bb2[_0x295c62][_0x261fcd(0x2ab)]());}),_0x32ff11[_0xd24e7b(0x22b)]());const _0x48f4af=[],_0xc1659d=[];if((_0x344b51[_0xd24e7b(0x2b1)]||_0x3b0de3[_0xd24e7b(0x2b1)])&&!_0x47e904){const _0x38a1a7=_0x103ca1[_0xd24e7b(0x20e)](_0x36be08(_0x32ff11[_0xd24e7b(0x2ab)]()));if(_0x3529b0(_0x38a1a7,null,(_0x390f0f,_0x116753)=>{const _0x48298b=_0xd24e7b;_0x48f4af[_0x390f0f]=_0x116753[_0x48298b(0x2e6)]();}),_0x344b51[_0xd24e7b(0x1af)](_0x226f89=>{const _0x57089d=_0xd24e7b;_0x226f89&&_0x3529b0(_0x103ca1[_0x57089d(0x20e)](_0x226f89[_0x57089d(0x2ab)]()),null,(_0x492a8c,_0x19f1c9)=>{const _0x3dd4fc=_0x57089d;_0x48f4af[_0x492a8c]=_0x19f1c9[_0x3dd4fc(0x2e6)]();});}),_0x41a0da(function _0x59217e(_0x3700ba,_0x268d31,_0x4d65c5,_0x3ef63f,_0x251324,_0x4c1c5c){const _0x1da0db=_0xd24e7b,_0x989ef9=_0x59b9bd(_0x268d31);if(_0x989ef9&&_0xaf49c1(_0x989ef9)){if(_0x989ef9['p']!=null){const _0x27629c=_0x989ef9['p'];_0x48f4af[_0x27629c]['getPath'](),_0x4d65c5=_0x48f4af[_0x27629c],_0x3ef63f=_0xc1659d[_0x27629c]=_0x103ca1[_0x1da0db(0x2a5)]();}else _0x989ef9['r']!==void 0x0&&(_0x4d65c5=null);}else _0x306cd5(_0x59b9bd(_0x4d65c5))&&(_0x4d65c5=null);const _0x3c929e=_0x3700ba[_0x1da0db(0x181)]();if(_0x3c929e){let _0x402344;if((_0x402344=_0x3c929e['d'])!=null){const _0x500f96=_0x344b51[_0x402344];_0x500f96&&(_0x500f96[_0x1da0db(0x2ab)](),_0x3ef63f['mergeTree'](_0x500f96['get']()),_0x4d65c5=_0x103ca1[_0x1da0db(0x20e)](_0x500f96[_0x1da0db(0x2ab)]()));}}let _0x10ae5e=0x0,_0xea708e=0x0;const _0x155a71=_0x103ca1[_0x1da0db(0x252)](_0x268d31,void 0x0,(_0x492d5d,_0x381e7c)=>{_0xaf49c1(_0x381e7c)&&_0x10ae5e--;}),_0xb7f301=_0x103ca1['advancer'](_0x4d65c5,(_0x163df4,_0x1ecf16)=>_0x306cd5(_0x1ecf16)?-(_0x163df4-_0xea708e)-0x1:_0x163df4-_0xea708e,(_0x227adf,_0x5dfdf)=>{_0x306cd5(_0x5dfdf)&&_0xea708e++;});for(const _0x9cd267 of _0x3700ba)if(typeof _0x9cd267==_0x1da0db(0x2ee)){const _0x3e156f=_0x155a71(_0x9cd267),_0x4629f6=_0x9cd267+_0x10ae5e,_0x1a2a57=_0xb7f301(_0x4629f6),_0x4b8f6f=_0x4629f6+_0xea708e;_0x3ef63f['descend'](_0x4b8f6f),_0x59217e(_0x3700ba,_0x3e156f,_0x1a2a57,_0x3ef63f),_0x3ef63f['ascend']();}else _0x3ef63f[_0x1da0db(0x25d)](_0x9cd267),_0x59217e(_0x3700ba,_0x155a71(_0x9cd267),_0xb7f301(_0x9cd267),_0x3ef63f),_0x3ef63f[_0x1da0db(0x2ad)]();_0x155a71[_0x1da0db(0x2ed)](),_0xb7f301[_0x1da0db(0x2ed)]();},_0xd24e7b(0x24a))(_0x246279,_0x38a1a7,_0x38a1a7[_0xd24e7b(0x2e6)](),_0x32ff11),_0x32ff11[_0xd24e7b(0x22b)](),_0x47e904)return{'ok':!0x1,'conflict':_0x47e904};if(_0x32ff11['get'](),_0xc1659d['length']){const _0x580b4f=_0xc1659d['map'](_0x46943c=>_0x46943c?_0x46943c[_0xd24e7b(0x2ab)]():null),_0x1f55ce=_0x103ca1[_0xd24e7b(0x20e)](_0x36be08(_0x32ff11[_0xd24e7b(0x2ab)]()));if(_0x3529b0(_0x1f55ce,_0x32ff11,(_0x25e367,_0x54f3bf,_0x4eb891)=>{const _0x52fe0d=_0xd24e7b,_0x442288=_0x580b4f[_0x25e367];_0x442288&&(_0x4eb891[_0x52fe0d(0x217)](_0x442288),_0x580b4f[_0x25e367]=null);}),_0x580b4f[_0xd24e7b(0x1a8)](_0x285822=>_0x285822)){const _0x4df3f9=_0x103ca1['writeCursor'](),_0x47dea8=_0x103ca1['writeCursor']();let _0x513aa0=0x0,_0x56ce74=0x0;_0x580b4f[_0xd24e7b(0x1af)](_0x26c9bb=>{const _0x229010=_0xd24e7b;_0x26c9bb!=null&&_0x3529b0(_0x103ca1[_0x229010(0x20e)](_0x26c9bb),null,_0x15ad3c=>{const _0xeb5abd=_0x229010,_0x9d02b3=_0x2462fb[_0x15ad3c];_0x4df3f9[_0xeb5abd(0x288)](_0x26df58[_0x9d02b3][_0xeb5abd(0x1f6)](),_0x18e4da[_0x9d02b3]['getPath'](),_0x513aa0++);const _0x5ad88f=_0x331de2[_0x9d02b3];_0x5ad88f&&_0x5ad88f[_0xeb5abd(0x1af)](_0x3ccdc5=>{const _0x54eb60=_0xeb5abd;_0x3b0de3[_0x3ccdc5]||_0x3ea16b!==0x1&&_0x8cd24e[_0x3ccdc5]!=null||_0x47dea8[_0x54eb60(0x288)](_0x346fde[_0x3ccdc5][_0x54eb60(0x1f6)](),_0x52b095[_0x3ccdc5][_0x54eb60(0x1f6)](),_0x56ce74++);});});}),_0x47e904={'type':_0x1d5b57[_0xd24e7b(0x1a4)][_0xd24e7b(0x2c7)],'op1':_0x4df3f9[_0xd24e7b(0x2ab)](),'op2':_0x47dea8['get']()};}}}return _0x47e904?{'ok':!0x1,'conflict':_0x47e904}:{'ok':!0x0,'result':_0x32ff11[_0xd24e7b(0x2ab)]()};}_0x41a0da(_0xfa1643,_0x47c4f7(0x258));const _0xe1cf5d=_0x41a0da(_0x19fd0c=>{const _0x10bc21=_0x47c4f7,_0x4bda05=new Error('Transform\x20detected\x20write\x20conflict');throw _0x4bda05[_0x10bc21(0x2e4)]=_0x19fd0c,_0x4bda05['type']=_0x4bda05[_0x10bc21(0x26a)]='writeConflict',_0x4bda05;},_0x47c4f7(0x220));function _0x41cf2a(_0x14b61e,_0x120e0a,_0x429aa2){const _0x3c8bd9=_0x47c4f7,_0x5ee4fa=_0xfa1643(_0x14b61e,_0x120e0a,_0x429aa2);if(_0x5ee4fa['ok'])return _0x5ee4fa['result'];_0xe1cf5d(_0x5ee4fa[_0x3c8bd9(0x2e4)]);}_0x41a0da(_0x41cf2a,_0x47c4f7(0x2e7));const _0x4ef3b9=_0x41a0da(_0x1536eb=>{const _0x50d7d8=_0x47c4f7,_0x3442c4=_0x103ca1[_0x50d7d8(0x2a5)]();return _0x103ca1[_0x50d7d8(0x20e)](_0x1536eb)[_0x50d7d8(0x1cc)](_0x3442c4,(_0xdfe438,_0x477dbe)=>{(_0x306cd5(_0xdfe438)||_0x212c4e(_0xdfe438))&&_0x477dbe['write']('r',!0x0);}),_0x3442c4[_0x50d7d8(0x2ab)]();},_0x47c4f7(0x1c7)),_0x46b530=_0x41a0da((_0x6409,_0x4febdc)=>{const _0x2847e8=_0x47c4f7,{type:_0x3c6da6,op1:_0x58c535,op2:_0x29661c}=_0x6409;switch(_0x3c6da6){case _0x1d5b57[_0x2847e8(0x1a4)][_0x2847e8(0x23d)]:return _0x4febdc===_0x2847e8(0x183)?[null,_0x4ef3b9(_0x29661c)]:[_0x4ef3b9(_0x58c535),null];case _0x1d5b57[_0x2847e8(0x1a4)][_0x2847e8(0x1cf)]:let _0x53535f=!0x1;return _0x103ca1[_0x2847e8(0x20e)](_0x58c535)[_0x2847e8(0x1cc)](null,_0x5cbdfc=>{_0x5cbdfc['r']!==void 0x0&&(_0x53535f=!0x0);}),_0x53535f?[null,_0x4ef3b9(_0x29661c)]:[_0x4ef3b9(_0x58c535),null];case _0x1d5b57[_0x2847e8(0x1a4)][_0x2847e8(0x2c7)]:return[_0x4ef3b9(_0x58c535),_0x4ef3b9(_0x29661c)];default:throw Error('Unrecognised\x20conflict:\x20'+_0x3c6da6);}},_0x47c4f7(0x25f));function _0x24c408(_0x2af563,_0x89a5e4,_0x28e967,_0x5edf2b){const _0x18722f=_0x47c4f7;let _0x3f26cd=null;for(;;){const _0xd92007=_0xfa1643(_0x89a5e4,_0x28e967,_0x5edf2b);if(_0xd92007['ok'])return _0x31b468(_0x3f26cd,_0xd92007[_0x18722f(0x216)]);{const {conflict:_0x4bf98e}=_0xd92007;_0x2af563(_0x4bf98e)||_0xe1cf5d(_0x4bf98e);const [_0xbf0f19,_0x1e4b73]=_0x46b530(_0x4bf98e,_0x5edf2b);_0x89a5e4=_0x31b468(_0x174077(_0x89a5e4),_0xbf0f19),_0x28e967=_0x31b468(_0x174077(_0x28e967),_0x1e4b73),_0x3f26cd=_0x31b468(_0x3f26cd,_0x1e4b73);}}}_0x41a0da(_0x24c408,_0x47c4f7(0x1e3));}(_0x43488d),function(_0x346403){const _0x54ea4a=_0xc0f3e9;var _0x5b94e7=_0x303cf6&&_0x303cf6['__createBinding']||(Object[_0x54ea4a(0x2c4)]?function(_0x4c85f3,_0x21e803,_0x47bccc,_0x29ad9b){_0x29ad9b===void 0x0&&(_0x29ad9b=_0x47bccc),Object['defineProperty'](_0x4c85f3,_0x29ad9b,{'enumerable':!0x0,'get':_0x41a0da(function(){return _0x21e803[_0x47bccc];},'get')});}:function(_0x1031ad,_0x3fb891,_0x59473d,_0x25de51){_0x25de51===void 0x0&&(_0x25de51=_0x59473d),_0x1031ad[_0x25de51]=_0x3fb891[_0x59473d];}),_0x547efb=_0x303cf6&&_0x303cf6['__exportStar']||function(_0x4aa84c,_0x400a6d){const _0x2cb8dc=_0x54ea4a;for(var _0x47c2de in _0x4aa84c)_0x47c2de!=='default'&&!_0x400a6d[_0x2cb8dc(0x1d1)](_0x47c2de)&&_0x5b94e7(_0x400a6d,_0x4aa84c,_0x47c2de);};Object[_0x54ea4a(0x218)](_0x346403,_0x54ea4a(0x28d),{'value':!0x0}),_0x547efb(_0x43488d,_0x346403);var _0x3e4be9=_0x1123df;Object[_0x54ea4a(0x218)](_0x346403,'ReadCursor',{'enumerable':!0x0,'get':_0x41a0da(function(){const _0x8941e6=_0x54ea4a;return _0x3e4be9[_0x8941e6(0x197)];},_0x54ea4a(0x2ab))}),Object[_0x54ea4a(0x218)](_0x346403,'WriteCursor',{'enumerable':!0x0,'get':_0x41a0da(function(){const _0x1cb2eb=_0x54ea4a;return _0x3e4be9[_0x1cb2eb(0x1c2)];},_0x54ea4a(0x2ab))});var _0x4e0d9c=_0x5da80f;Object[_0x54ea4a(0x218)](_0x346403,_0x54ea4a(0x1a4),{'enumerable':!0x0,'get':_0x41a0da(function(){return _0x4e0d9c['ConflictType'];},'get')});}(_0x1e7f51);const _0x16b0f1=class _0x2033a9{constructor(){const _0x59efdf=_0xc0f3e9;_0x5c95ec(this,_0x59efdf(0x2da),{}),_0x5c95ec(this,_0x59efdf(0x19b),{}),_0x5c95ec(this,_0x59efdf(0x277),[]),_0x5c95ec(this,'_remove$',new _0x10634c[(_0x59efdf(0x296))]()),_0x5c95ec(this,_0x59efdf(0x185),this[_0x59efdf(0x251)]['asObservable']()),_0x5c95ec(this,_0x59efdf(0x21e),new _0x10634c[(_0x59efdf(0x296))]()),_0x5c95ec(this,_0x59efdf(0x203),this[_0x59efdf(0x21e)][_0x59efdf(0x238)]()),_0x5c95ec(this,_0x59efdf(0x196),new _0x10634c[(_0x59efdf(0x296))]()),_0x5c95ec(this,_0x59efdf(0x1d0),this[_0x59efdf(0x196)][_0x59efdf(0x238)]()),_0x5c95ec(this,_0x59efdf(0x28b),new _0x10634c[(_0x59efdf(0x296))]()),_0x5c95ec(this,'order$',this[_0x59efdf(0x28b)][_0x59efdf(0x238)]()),_0x5c95ec(this,'_group$',new _0x10634c['Subject']()),_0x5c95ec(this,_0x59efdf(0x21c),this[_0x59efdf(0x18d)][_0x59efdf(0x238)]()),_0x5c95ec(this,_0x59efdf(0x1e9),new _0x10634c[(_0x59efdf(0x296))]()),_0x5c95ec(this,'ungroup$',this[_0x59efdf(0x1e9)][_0x59efdf(0x238)]()),_0x5c95ec(this,_0x59efdf(0x2a8),new _0x10634c[(_0x59efdf(0x296))]()),_0x5c95ec(this,_0x59efdf(0x227),this[_0x59efdf(0x2a8)][_0x59efdf(0x238)]()),_0x5c95ec(this,_0x59efdf(0x222),new _0x10634c[(_0x59efdf(0x296))]()),_0x5c95ec(this,_0x59efdf(0x209),this[_0x59efdf(0x222)][_0x59efdf(0x238)]()),_0x5c95ec(this,_0x59efdf(0x267),new _0x10634c['Subject']()),_0x5c95ec(this,'focus$',this[_0x59efdf(0x267)][_0x59efdf(0x238)]()),_0x5c95ec(this,_0x59efdf(0x207),new _0x10634c[(_0x59efdf(0x296))]()),_0x5c95ec(this,'featurePluginUpdate$',this['_featurePluginUpdate$'][_0x59efdf(0x238)]()),_0x5c95ec(this,_0x59efdf(0x25c),new _0x10634c[(_0x59efdf(0x296))]()),_0x5c95ec(this,_0x59efdf(0x1c1),this[_0x59efdf(0x25c)][_0x59efdf(0x238)]()),_0x5c95ec(this,_0x59efdf(0x1c0),new _0x10634c['Subject']()),_0x5c95ec(this,_0x59efdf(0x2cd),this[_0x59efdf(0x1c0)]['asObservable']()),_0x5c95ec(this,_0x59efdf(0x198),new _0x10634c[(_0x59efdf(0x296))]()),_0x5c95ec(this,_0x59efdf(0x2b3),this[_0x59efdf(0x198)]['asObservable']()),_0x5c95ec(this,_0x59efdf(0x2ec),new _0x10634c[(_0x59efdf(0x296))]()),_0x5c95ec(this,'featurePluginGroupUpdate$',this[_0x59efdf(0x2ec)]['asObservable']()),_0x5c95ec(this,_0x59efdf(0x192),new _0x10634c[(_0x59efdf(0x296))]()),_0x5c95ec(this,_0x59efdf(0x280),this['_featurePluginUngroupUpdate$']['asObservable']()),_0x5c95ec(this,'_visible',!0x0),_0x5c95ec(this,'_editable',!0x0);}[_0xc0f3e9(0x24e)](){const _0x862e5c=_0xc0f3e9;this['_remove$'][_0x862e5c(0x1c4)](),this[_0x862e5c(0x21e)][_0x862e5c(0x1c4)](),this['_update$'][_0x862e5c(0x1c4)](),this[_0x862e5c(0x28b)][_0x862e5c(0x1c4)](),this[_0x862e5c(0x267)]['complete'](),this[_0x862e5c(0x207)]['complete'](),this[_0x862e5c(0x25c)][_0x862e5c(0x1c4)](),this[_0x862e5c(0x1c0)]['complete'](),this['_featurePluginOrderUpdate$'][_0x862e5c(0x1c4)](),this[_0x862e5c(0x2da)]={},this[_0x862e5c(0x19b)]={};}[_0xc0f3e9(0x188)](_0x15e2d6){this['_visible$']['next'](_0x15e2d6);}['refreshTransform'](_0x2b3441){const _0x1f1f1d=_0xc0f3e9;_0x2b3441['forEach'](_0x4c25dd=>{const _0x4cf34f=_0x15a9,_0x36d251=this[_0x4cf34f(0x2eb)](_0x4c25dd);_0x36d251!=null&&(_0x36d251[_0x4cf34f(0x2e7)]=_0x4c25dd[_0x4cf34f(0x2e7)],_0x36d251['transforms']=_0x4c25dd['transforms'],_0x36d251[_0x4cf34f(0x1d8)]=_0x4c25dd[_0x4cf34f(0x1d8)]);}),this[_0x1f1f1d(0x2a1)](_0x2b3441);}[_0xc0f3e9(0x214)](_0x21cc19){const _0x41ef9f=_0xc0f3e9;return this[_0x41ef9f(0x2da)][_0x21cc19]||{};}[_0xc0f3e9(0x22f)](_0x417910){const _0x83567f=_0xc0f3e9,_0x32bafc=this[_0x83567f(0x2da)][_0x417910];if(_0x32bafc==null)return;delete this[_0x83567f(0x2da)][_0x417910];const _0x2ed9ea=[];Object[_0x83567f(0x1ad)](_0x32bafc)[_0x83567f(0x1af)](_0x5a07d8=>{const _0xbd46=_0x83567f,_0x4794c3=_0x32bafc[_0x5a07d8];(_0x4794c3==null?void 0x0:_0x4794c3['data'])!=null&&Object['keys'](_0x4794c3['data'])[_0xbd46(0x1af)](_0x25b614=>{const _0x5d2d43=_0xbd46;_0x2ed9ea[_0x5d2d43(0x1ed)]({'unitId':_0x417910,'subUnitId':_0x5a07d8,'drawingId':_0x25b614});});}),_0x2ed9ea[_0x83567f(0x2b1)]>0x0&&this[_0x83567f(0x1a1)](_0x2ed9ea);}['registerDrawingData'](_0xe0be9f,_0xf737ca){this['drawingManagerData'][_0xe0be9f]=_0xf737ca;}[_0xc0f3e9(0x2cc)](_0x38d428){const _0x100e92=_0xc0f3e9,_0x19a8d4=[],_0xc612d0=this[_0x100e92(0x2da)][_0x38d428];_0xc612d0!=null&&(Object[_0x100e92(0x1ad)](_0xc612d0)[_0x100e92(0x1af)](_0x5caac=>{const _0x4658b0=_0x100e92;this[_0x4658b0(0x224)](_0x38d428,_0x5caac);const _0x60ffd6=_0xc612d0[_0x5caac];Object[_0x4658b0(0x1ad)](_0x60ffd6[_0x4658b0(0x23c)])['forEach'](_0x2795f7=>{const _0xaed6b9=_0x4658b0,_0x5e1cb7=_0x60ffd6[_0xaed6b9(0x23c)][_0x2795f7];_0x5e1cb7[_0xaed6b9(0x1c3)]=_0x38d428,_0x5e1cb7[_0xaed6b9(0x2c6)]=_0x5caac,_0x19a8d4[_0xaed6b9(0x1ed)](_0x5e1cb7);});}),_0x19a8d4[_0x100e92(0x2b1)]>0x0&&this[_0x100e92(0x2ef)](_0x19a8d4));}[_0xc0f3e9(0x19c)](_0x2f0cd0,_0x3c4ff1){const _0x150193=_0xc0f3e9;return this[_0x150193(0x1be)](_0x2f0cd0,_0x3c4ff1);}[_0xc0f3e9(0x1ce)](_0x3999cb,_0x4d70be,_0x48d35b){const _0x2668d6=_0xc0f3e9;this[_0x2668d6(0x2da)][_0x3999cb][_0x4d70be][_0x2668d6(0x23c)]=_0x48d35b;}['getBatchAddOp'](_0x3656a0){const _0x4e62f5=_0xc0f3e9,_0x5ad924=[],_0xadc1a1=[],_0x23f9f6=[];_0x3656a0[_0x4e62f5(0x1af)](_0x1d61ec=>{const _0x2b8589=_0x4e62f5,{op:_0x3a0988,invertOp:_0x1bd141}=this['_addByParam'](_0x1d61ec);_0x5ad924[_0x2b8589(0x1ed)]({'unitId':_0x1d61ec[_0x2b8589(0x1c3)],'subUnitId':_0x1d61ec['subUnitId'],'drawingId':_0x1d61ec[_0x2b8589(0x1fd)]}),_0xadc1a1['push'](_0x3a0988),_0x23f9f6[_0x2b8589(0x1ed)](_0x1bd141);});const _0x41d9cd=_0xadc1a1['reduce'](_0x1e7f51['type'][_0x4e62f5(0x289)],null),_0x2b977b=_0x23f9f6[_0x4e62f5(0x2b4)](_0x1e7f51[_0x4e62f5(0x293)][_0x4e62f5(0x289)],null),{unitId:_0xc6d292,subUnitId:_0x1ac5fc}=_0x3656a0[0x0];return{'undo':_0x2b977b,'redo':_0x41d9cd,'unitId':_0xc6d292,'subUnitId':_0x1ac5fc,'objects':_0x5ad924};}['getBatchRemoveOp'](_0x521eff){const _0x57dfde=_0xc0f3e9,_0x377115=[],_0x62efa4=[];_0x521eff[_0x57dfde(0x1af)](_0x5cb60c=>{const _0x53e486=_0x57dfde,{op:_0xfc24fe,invertOp:_0x610aae}=this['_removeByParam'](_0x5cb60c);_0x377115[_0x53e486(0x2b5)](_0xfc24fe),_0x62efa4[_0x53e486(0x1ed)](_0x610aae);});const _0x51fc94=_0x377115[_0x57dfde(0x2b4)](_0x1e7f51[_0x57dfde(0x293)][_0x57dfde(0x289)],null),_0x5cc55b=_0x62efa4[_0x57dfde(0x2b4)](_0x1e7f51[_0x57dfde(0x293)][_0x57dfde(0x289)],null),{unitId:_0x463d71,subUnitId:_0xf752d2}=_0x521eff[0x0];return{'undo':_0x5cc55b,'redo':_0x51fc94,'unitId':_0x463d71,'subUnitId':_0xf752d2,'objects':_0x521eff};}[_0xc0f3e9(0x279)](_0x176f88){const _0x6b3299=_0xc0f3e9,_0x34a479=[],_0x1b8ccf=[],_0x3a1451=[];_0x176f88['forEach'](_0x4c11ed=>{const _0x3c648b=_0x15a9,{op:_0x10f833,invertOp:_0x329b65}=this[_0x3c648b(0x195)](_0x4c11ed);_0x34a479[_0x3c648b(0x1ed)]({'unitId':_0x4c11ed[_0x3c648b(0x1c3)],'subUnitId':_0x4c11ed['subUnitId'],'drawingId':_0x4c11ed[_0x3c648b(0x1fd)]}),_0x1b8ccf[_0x3c648b(0x1ed)](_0x10f833),_0x3a1451[_0x3c648b(0x1ed)](_0x329b65);});const _0x475612=_0x1b8ccf[_0x6b3299(0x2b4)](_0x1e7f51['type'][_0x6b3299(0x289)],null),_0x4bc360=_0x3a1451[_0x6b3299(0x2b4)](_0x1e7f51['type'][_0x6b3299(0x289)],null),{unitId:_0x4559e9,subUnitId:_0x1abe20}=_0x176f88[0x0];return{'undo':_0x4bc360,'redo':_0x475612,'unitId':_0x4559e9,'subUnitId':_0x1abe20,'objects':_0x34a479};}[_0xc0f3e9(0x1a1)](_0x3360ce){const _0xe282ac=_0xc0f3e9;this[_0xe282ac(0x251)][_0xe282ac(0x2b2)](_0x3360ce);}[_0xc0f3e9(0x2ef)](_0x1f9971){const _0x12e32c=_0xc0f3e9;this[_0x12e32c(0x21e)][_0x12e32c(0x2b2)](_0x1f9971);}['updateNotification'](_0x2c3e6a){const _0x5dd1c2=_0xc0f3e9;this[_0x5dd1c2(0x196)][_0x5dd1c2(0x2b2)](_0x2c3e6a);}['orderNotification'](_0x1f637d){const _0x15a4c2=_0xc0f3e9;this['_order$'][_0x15a4c2(0x2b2)](_0x1f637d);}['groupUpdateNotification'](_0x59c6d9){const _0x4df449=_0xc0f3e9;this['_group$'][_0x4df449(0x2b2)](_0x59c6d9);}['ungroupUpdateNotification'](_0x4a757d){this['_ungroup$']['next'](_0x4a757d);}[_0xc0f3e9(0x2a1)](_0x2cfea8){const _0x19b69a=_0xc0f3e9;this['_refreshTransform$'][_0x19b69a(0x2b2)](_0x2cfea8);}['getGroupDrawingOp'](_0x1d6083){const _0x522cd7=_0xc0f3e9,_0x1496d5=[],{unitId:_0x978422,subUnitId:_0x4f0b61}=_0x1d6083[0x0][_0x522cd7(0x2d2)];_0x1d6083[_0x522cd7(0x1af)](_0x1fdeba=>{const _0x5efa6f=_0x522cd7;_0x1496d5[_0x5efa6f(0x1ed)](this['_getGroupDrawingOp'](_0x1fdeba));});const _0x2b636d=_0x1496d5[_0x522cd7(0x2b4)](_0x1e7f51[_0x522cd7(0x293)][_0x522cd7(0x289)],null);return{'undo':_0x1e7f51[_0x522cd7(0x293)][_0x522cd7(0x1d7)](_0x2b636d,this['drawingManagerData']),'redo':_0x2b636d,'unitId':_0x978422,'subUnitId':_0x4f0b61,'objects':_0x1d6083};}[_0xc0f3e9(0x1eb)](_0x16332f){const _0x2a2205=_0xc0f3e9,_0x1883e3=[],{unitId:_0x43818f,subUnitId:_0x455e0d}=_0x16332f[0x0][_0x2a2205(0x2d2)];_0x16332f[_0x2a2205(0x1af)](_0x51c864=>{const _0x1db218=_0x2a2205;_0x1883e3[_0x1db218(0x1ed)](this['_getUngroupDrawingOp'](_0x51c864));});const _0x34dddd=_0x1883e3[_0x2a2205(0x2b4)](_0x1e7f51[_0x2a2205(0x293)][_0x2a2205(0x289)],null);return{'undo':_0x1e7f51[_0x2a2205(0x293)]['invertWithDoc'](_0x34dddd,this[_0x2a2205(0x2da)]),'redo':_0x34dddd,'unitId':_0x43818f,'subUnitId':_0x455e0d,'objects':_0x16332f};}[_0xc0f3e9(0x1ff)](_0x3c7f02){const _0xfdc844=_0xc0f3e9,{unitId:_0xa308a0,subUnitId:_0x4fbb3b,drawingId:_0x1d49ac}=_0x3c7f02;if(this['getDrawingByParam']({'unitId':_0xa308a0,'subUnitId':_0x4fbb3b,'drawingId':_0x1d49ac})==null)return[];const _0x1387e6=this[_0xfdc844(0x1be)](_0xa308a0,_0x4fbb3b),_0x4f6e43=[];return Object[_0xfdc844(0x1ad)](_0x1387e6)[_0xfdc844(0x1af)](_0x12f964=>{const _0x4a97f2=_0xfdc844,_0x56ca5d=_0x1387e6[_0x12f964];_0x56ca5d[_0x4a97f2(0x2d0)]===_0x1d49ac&&_0x4f6e43['push'](_0x56ca5d);}),_0x4f6e43;}[_0xc0f3e9(0x19e)](_0x33158e){const _0x2ea7c6=_0xc0f3e9,{parent:_0x2a38bd,children:_0x30e9b9}=_0x33158e,{unitId:_0x243775,subUnitId:_0x2d60b4,drawingId:_0x2521fa}=_0x2a38bd,_0x1fade0=[];_0x1fade0['push'](_0x1e7f51['insertOp']([_0x243775,_0x2d60b4,_0x2ea7c6(0x23c),_0x2521fa],_0x2a38bd));let _0x3721bd=Number[_0x2ea7c6(0x26d)];return _0x30e9b9[_0x2ea7c6(0x1af)](_0x105c2e=>{const _0x46f38d=_0x2ea7c6,{unitId:_0xb7be16,subUnitId:_0x381a91,drawingId:_0x47d6c4}=_0x105c2e,_0x20525f=this[_0x46f38d(0x1ac)]({'unitId':_0xb7be16,'subUnitId':_0x381a91,'drawingId':_0x47d6c4});_0x3721bd=Math['max'](_0x3721bd,_0x20525f),_0x1fade0['push'](...this[_0x46f38d(0x233)](_0x105c2e,this[_0x46f38d(0x1ea)]({'unitId':_0xb7be16,'subUnitId':_0x381a91,'drawingId':_0x47d6c4})));}),_0x3721bd===Number[_0x2ea7c6(0x26d)]&&(_0x3721bd=this['_getDrawingOrder'](_0x243775,_0x2d60b4)[_0x2ea7c6(0x2b1)]),_0x1fade0[_0x2ea7c6(0x1ed)](_0x1e7f51[_0x2ea7c6(0x17f)]([_0x243775,_0x2d60b4,_0x2ea7c6(0x2cb),_0x3721bd],_0x2521fa)),_0x1fade0[_0x2ea7c6(0x2b4)](_0x1e7f51['type'][_0x2ea7c6(0x289)],null);}[_0xc0f3e9(0x231)](_0x5ca1ea){const _0x5726e8=_0xc0f3e9,{parent:_0x29df77,children:_0x4e8ac4}=_0x5ca1ea,{unitId:_0x44c3e0,subUnitId:_0x1de0ea,drawingId:_0x37f9ca}=_0x29df77,_0x42cc41=[];return _0x4e8ac4[_0x5726e8(0x1af)](_0x1134db=>{const _0x43451d=_0x5726e8,{unitId:_0x5c47d5,subUnitId:_0x221c8e,drawingId:_0x2bb1a9}=_0x1134db;_0x42cc41['push'](...this['_getUpdateParamCompareOp'](_0x1134db,this[_0x43451d(0x1ea)]({'unitId':_0x5c47d5,'subUnitId':_0x221c8e,'drawingId':_0x2bb1a9})));}),_0x42cc41['push'](_0x1e7f51[_0x5726e8(0x273)]([_0x44c3e0,_0x1de0ea,_0x5726e8(0x23c),_0x37f9ca],!0x0)),_0x42cc41[_0x5726e8(0x1ed)](_0x1e7f51['removeOp']([_0x44c3e0,_0x1de0ea,_0x5726e8(0x2cb),this['_getDrawingOrder'](_0x44c3e0,_0x1de0ea)[_0x5726e8(0x298)](_0x37f9ca)],!0x0)),_0x42cc41[_0x5726e8(0x2b4)](_0x1e7f51['type'][_0x5726e8(0x289)],null);}['applyJson1'](_0x245d28,_0x328632,_0x4bb0ae){const _0x50fb3a=_0xc0f3e9;this['_establishDrawingMap'](_0x245d28,_0x328632),this[_0x50fb3a(0x19b)]={...this[_0x50fb3a(0x2da)]},this[_0x50fb3a(0x2da)]=_0x1e7f51[_0x50fb3a(0x293)][_0x50fb3a(0x22d)](this[_0x50fb3a(0x2da)],_0x4bb0ae);}['featurePluginUpdateNotification'](_0x604011){const _0x395dbe=_0xc0f3e9;this[_0x395dbe(0x207)][_0x395dbe(0x2b2)](_0x604011);}[_0xc0f3e9(0x189)](_0x7c1ff6){const _0x13a39d=_0xc0f3e9;this[_0x13a39d(0x198)]['next'](_0x7c1ff6);}[_0xc0f3e9(0x1dd)](_0x3f260a){const _0xc0f4ae=_0xc0f3e9;this[_0xc0f4ae(0x25c)][_0xc0f4ae(0x2b2)](_0x3f260a);}[_0xc0f3e9(0x29f)](_0x405197){const _0x178516=_0xc0f3e9;this[_0x178516(0x1c0)][_0x178516(0x2b2)](_0x405197);}[_0xc0f3e9(0x2c2)](_0x5f31f7){const _0x542235=_0xc0f3e9;this['_featurePluginGroupUpdate$'][_0x542235(0x2b2)](_0x5f31f7);}['featurePluginUngroupUpdateNotification'](_0x3c1b8f){const _0x4562e3=_0xc0f3e9;this['_featurePluginUngroupUpdate$'][_0x4562e3(0x2b2)](_0x3c1b8f);}[_0xc0f3e9(0x1ea)](_0x269b2c){const _0x4a5e8c=_0xc0f3e9;return this[_0x4a5e8c(0x2eb)](_0x269b2c);}['getOldDrawingByParam'](_0x5926ba){const _0x33aa3b=_0xc0f3e9;return this[_0x33aa3b(0x2ae)](_0x5926ba);}['getDrawingOKey'](_0x5686cc){const [_0x5a0553,_0x2818a4,_0x673b24]=_0x5686cc['split']('#-#');return this['_getCurrentBySearch']({'unitId':_0x5a0553,'subUnitId':_0x2818a4,'drawingId':_0x673b24});}[_0xc0f3e9(0x27c)](_0x440c98){const _0x2a3d46=_0xc0f3e9;if(_0x440c98==null){this['_focusDrawings']=[],this['_focus$'][_0x2a3d46(0x2b2)]([]);return;}const _0x1dee38=[];_0x440c98['forEach'](_0x333d6f=>{const _0x4a4c37=_0x2a3d46;var _0x290dc9;const {unitId:_0x1d303e,subUnitId:_0x296e44,drawingId:_0x497f77}=_0x333d6f,_0x3e67d8=(_0x290dc9=this[_0x4a4c37(0x1be)](_0x1d303e,_0x296e44))==null?void 0x0:_0x290dc9[_0x497f77];_0x3e67d8!=null&&_0x1dee38[_0x4a4c37(0x1ed)](_0x3e67d8);}),_0x1dee38['length']>0x0&&(this[_0x2a3d46(0x277)]=_0x1dee38,this[_0x2a3d46(0x267)][_0x2a3d46(0x2b2)](_0x1dee38));}[_0xc0f3e9(0x2f2)](){const _0x334095=_0xc0f3e9,_0x5d4d8b=[];return this['_focusDrawings'][_0x334095(0x1af)](_0x5a65d5=>{const _0x5e6661=_0x334095;var _0x236254;const {unitId:_0x1dcd06,subUnitId:_0x5002f8,drawingId:_0x7dd6a8}=_0x5a65d5,_0x3cd83c=(_0x236254=this[_0x5e6661(0x1be)](_0x1dcd06,_0x5002f8))==null?void 0x0:_0x236254[_0x7dd6a8];_0x3cd83c!=null&&_0x5d4d8b[_0x5e6661(0x1ed)](_0x3cd83c);}),_0x5d4d8b;}['getDrawingOrder'](_0x21d28b,_0x18b16d){const _0x26c875=_0xc0f3e9;return this[_0x26c875(0x2d8)](_0x21d28b,_0x18b16d);}[_0xc0f3e9(0x1ca)](_0x3a2bf7,_0x184678,_0x54a301){const _0x190a81=_0xc0f3e9;this[_0x190a81(0x2da)][_0x3a2bf7][_0x184678][_0x190a81(0x2cb)]=_0x54a301;}[_0xc0f3e9(0x1f7)](_0x284910){const _0x3dea64=_0xc0f3e9;this[_0x3dea64(0x28b)][_0x3dea64(0x2b2)](_0x284910);}[_0xc0f3e9(0x26f)](_0x1e2e98){const _0x24cfab=_0xc0f3e9,{unitId:_0x90c504,subUnitId:_0x4fe4b,drawingIds:_0xa50dc9}=_0x1e2e98,_0x51ab0f=[],_0x589a33=this[_0x24cfab(0x21d)](_0x90c504,_0x4fe4b),_0x366808=[..._0xa50dc9];_0xa50dc9[_0x24cfab(0x1af)](_0x2ef953=>{const _0x53ee13=_0x24cfab,_0x3e4442=this['_hasDrawingOrder']({'unitId':_0x90c504,'subUnitId':_0x4fe4b,'drawingId':_0x2ef953});if(_0x3e4442===-0x1||_0x3e4442===_0x589a33['length']-0x1)return;const _0x5fe048=_0x1e7f51['moveOp']([_0x90c504,_0x4fe4b,_0x53ee13(0x2cb),_0x3e4442],[_0x90c504,_0x4fe4b,_0x53ee13(0x2cb),_0x3e4442+0x1]);_0x51ab0f[_0x53ee13(0x1ed)](_0x5fe048),_0x366808[_0x53ee13(0x29a)](_0x589a33[_0x3e4442+0x1])||_0x366808[_0x53ee13(0x1ed)](_0x589a33[_0x3e4442+0x1]);});const _0x3d1890=_0x51ab0f[_0x24cfab(0x2b4)](_0x1e7f51[_0x24cfab(0x293)][_0x24cfab(0x289)],null);return{'undo':_0x1e7f51[_0x24cfab(0x293)]['invertWithDoc'](_0x3d1890,this[_0x24cfab(0x2da)]),'redo':_0x3d1890,'unitId':_0x90c504,'subUnitId':_0x4fe4b,'objects':{..._0x1e2e98,'drawingIds':_0x366808}};}['getBackwardDrawingOp'](_0x3690a5){const _0xd66b97=_0xc0f3e9,{unitId:_0x4b31c4,subUnitId:_0x2873e4,drawingIds:_0x34a4d4}=_0x3690a5,_0x5d6298=[],_0x143400=this[_0xd66b97(0x21d)](_0x4b31c4,_0x2873e4),_0x325a09=[..._0x34a4d4];_0x34a4d4[_0xd66b97(0x1af)](_0x30c20a=>{const _0x536488=_0xd66b97,_0x599707=this['_hasDrawingOrder']({'unitId':_0x4b31c4,'subUnitId':_0x2873e4,'drawingId':_0x30c20a});if(_0x599707===-0x1||_0x599707===0x0)return;const _0x27efa7=_0x1e7f51['moveOp']([_0x4b31c4,_0x2873e4,'order',_0x599707],[_0x4b31c4,_0x2873e4,'order',_0x599707-0x1]);_0x5d6298[_0x536488(0x1ed)](_0x27efa7),_0x325a09[_0x536488(0x29a)](_0x143400[_0x599707-0x1])||_0x325a09[_0x536488(0x1ed)](_0x143400[_0x599707-0x1]);});const _0x45eff6=_0x5d6298[_0xd66b97(0x2b4)](_0x1e7f51[_0xd66b97(0x293)][_0xd66b97(0x289)],null);return{'undo':_0x1e7f51[_0xd66b97(0x293)]['invertWithDoc'](_0x45eff6,this['drawingManagerData']),'redo':_0x45eff6,'unitId':_0x4b31c4,'subUnitId':_0x2873e4,'objects':{..._0x3690a5,'drawingIds':_0x325a09}};}[_0xc0f3e9(0x2d1)](_0xde0484){const _0x47cebe=_0xc0f3e9,{unitId:_0xb3ef5,subUnitId:_0x5c43bb,drawingIds:_0x21c179}=_0xde0484,_0x13dcb9=this[_0x47cebe(0x187)](_0xb3ef5,_0x5c43bb,_0x21c179),_0x264dd8=[..._0x21c179],_0x4bf71b=this[_0x47cebe(0x21d)](_0xb3ef5,_0x5c43bb),_0x183aef=[];_0x13dcb9[_0x47cebe(0x1af)](_0x2dd500=>{const _0x58a493=_0x47cebe,{drawingId:_0x394024}=_0x2dd500,_0xe991ea=this[_0x58a493(0x1b2)](_0xb3ef5,_0x5c43bb)-0x1,_0x36e4ec=_0x1e7f51[_0x58a493(0x29d)]([_0xb3ef5,_0x5c43bb,_0x58a493(0x2cb),this['_getDrawingOrder'](_0xb3ef5,_0x5c43bb)[_0x58a493(0x298)](_0x394024)],[_0xb3ef5,_0x5c43bb,_0x58a493(0x2cb),_0xe991ea]);_0x183aef[_0x58a493(0x1ed)](_0x36e4ec),_0x264dd8['includes'](_0x4bf71b[_0xe991ea])||_0x264dd8[_0x58a493(0x1ed)](_0x4bf71b[_0xe991ea]);});const _0x2fe072=_0x183aef[_0x47cebe(0x2b4)](_0x1e7f51[_0x47cebe(0x293)][_0x47cebe(0x289)],null);return{'undo':_0x1e7f51[_0x47cebe(0x293)][_0x47cebe(0x1d7)](_0x2fe072,this[_0x47cebe(0x2da)]),'redo':_0x2fe072,'unitId':_0xb3ef5,'subUnitId':_0x5c43bb,'objects':{..._0xde0484,'drawingIds':_0x264dd8}};}['getBackDrawingsOp'](_0x421955){const _0x4b3567=_0xc0f3e9,{unitId:_0x4a878c,subUnitId:_0x24009d,drawingIds:_0x531e1b}=_0x421955,_0x5e7fc0=this[_0x4b3567(0x187)](_0x4a878c,_0x24009d,_0x531e1b,!0x0),_0x1a2c89=[..._0x531e1b],_0x36584c=this[_0x4b3567(0x21d)](_0x4a878c,_0x24009d),_0x172b2b=[];_0x5e7fc0[_0x4b3567(0x1af)](_0x5700cb=>{const _0x5d4504=_0x4b3567,{drawingId:_0x34a604}=_0x5700cb,_0x5a3a5d=_0x1e7f51[_0x5d4504(0x29d)]([_0x4a878c,_0x24009d,'order',this['_getDrawingOrder'](_0x4a878c,_0x24009d)[_0x5d4504(0x298)](_0x34a604)],[_0x4a878c,_0x24009d,_0x5d4504(0x2cb),0x0]);_0x172b2b[_0x5d4504(0x1ed)](_0x5a3a5d),_0x1a2c89['includes'](_0x36584c[0x0])||_0x1a2c89[_0x5d4504(0x1ed)](_0x36584c[0x0]);});const _0x397064=_0x172b2b[_0x4b3567(0x2b4)](_0x1e7f51[_0x4b3567(0x293)][_0x4b3567(0x289)],null);return{'undo':_0x1e7f51['type'][_0x4b3567(0x1d7)](_0x397064,this[_0x4b3567(0x2da)]),'redo':_0x397064,'unitId':_0x4a878c,'subUnitId':_0x24009d,'objects':{..._0x421955,'drawingIds':_0x1a2c89}};}[_0xc0f3e9(0x1b2)](_0x297e48,_0x4dd0dc){const _0x1f925a=_0xc0f3e9;return this[_0x1f925a(0x21d)](_0x297e48,_0x4dd0dc)[_0x1f925a(0x2b1)]||0x0;}['_getOrderFromSearchParams'](_0x1ed387,_0x36ff69,_0x47b1cd,_0x4e6444=!0x1){const _0x545f06=_0xc0f3e9;return _0x47b1cd['map'](_0x2aef8a=>{const _0x33526d=this['_hasDrawingOrder']({'unitId':_0x1ed387,'subUnitId':_0x36ff69,'drawingId':_0x2aef8a});return{'drawingId':_0x2aef8a,'zIndex':_0x33526d};})[_0x545f06(0x2e5)](_0x4e6444===!0x1?_0x561cf0[_0x545f06(0x18e)]:_0x561cf0['sortRulesByDesc']);}[_0xc0f3e9(0x1ac)](_0x86d2a9){const _0x4cce06=_0xc0f3e9;if(_0x86d2a9==null)return-0x1;const {unitId:_0x38c61a,subUnitId:_0x1e3f8e,drawingId:_0x4b73f9}=_0x86d2a9;return this['_establishDrawingMap'](_0x38c61a,_0x1e3f8e),this[_0x4cce06(0x2d8)](_0x38c61a,_0x1e3f8e)['indexOf'](_0x4b73f9);}[_0xc0f3e9(0x2eb)](_0x9b4847){const _0x124e03=_0xc0f3e9;var _0x432f1d,_0x1c315b,_0x499775;if(_0x9b4847==null)return;const {unitId:_0x457cc7,subUnitId:_0x5845eb,drawingId:_0x2277c7}=_0x9b4847;return(_0x499775=(_0x1c315b=(_0x432f1d=this['drawingManagerData'][_0x457cc7])==null?void 0x0:_0x432f1d[_0x5845eb])==null?void 0x0:_0x1c315b[_0x124e03(0x23c)])==null?void 0x0:_0x499775[_0x2277c7];}[_0xc0f3e9(0x2ae)](_0x3793ab){const _0x427018=_0xc0f3e9;var _0x20c6c3,_0xab35,_0x51096b;if(_0x3793ab==null)return;const {unitId:_0x559ffb,subUnitId:_0x18f23c,drawingId:_0x13e082}=_0x3793ab;return(_0x51096b=(_0xab35=(_0x20c6c3=this['_oldDrawingManagerData'][_0x559ffb])==null?void 0x0:_0x20c6c3[_0x18f23c])==null?void 0x0:_0xab35[_0x427018(0x23c)])==null?void 0x0:_0x51096b[_0x13e082];}[_0xc0f3e9(0x224)](_0x2e5ca9,_0x57b47f,_0x2469c1){const _0x569c8b=_0xc0f3e9;var _0x4e1c48;return this[_0x569c8b(0x2da)][_0x2e5ca9]||(this[_0x569c8b(0x2da)][_0x2e5ca9]={}),this[_0x569c8b(0x2da)][_0x2e5ca9][_0x57b47f]||(this[_0x569c8b(0x2da)][_0x2e5ca9][_0x57b47f]={'data':{},'order':[]}),_0x2469c1==null?null:(_0x4e1c48=this[_0x569c8b(0x2da)][_0x2e5ca9][_0x57b47f][_0x569c8b(0x23c)])==null?void 0x0:_0x4e1c48[_0x2469c1];}[_0xc0f3e9(0x27e)](_0x1e248b){const _0x376618=_0xc0f3e9,{unitId:_0x3e84f0,subUnitId:_0x8a8eb6,drawingId:_0x5689e0}=_0x1e248b;this[_0x376618(0x224)](_0x3e84f0,_0x8a8eb6,_0x5689e0);const _0x54db1b=_0x1e7f51[_0x376618(0x17f)]([_0x3e84f0,_0x8a8eb6,_0x376618(0x23c),_0x5689e0],_0x1e248b),_0x575ee2=_0x1e7f51['insertOp']([_0x3e84f0,_0x8a8eb6,_0x376618(0x2cb),this[_0x376618(0x2d8)](_0x3e84f0,_0x8a8eb6)[_0x376618(0x2b1)]],_0x5689e0),_0x28817f=[_0x54db1b,_0x575ee2]['reduce'](_0x1e7f51[_0x376618(0x293)]['compose'],null),_0x587f82=_0x1e7f51['type'][_0x376618(0x1d7)](_0x28817f,this[_0x376618(0x2da)]);return{'op':_0x28817f,'invertOp':_0x587f82};}['_removeByParam'](_0x413540){const _0x145962=_0xc0f3e9;if(_0x413540==null)return{'op':[],'invertOp':[]};const {unitId:_0x1f9506,subUnitId:_0x2948e7,drawingId:_0x3921f5}=_0x413540;if(this['_establishDrawingMap'](_0x1f9506,_0x2948e7,_0x3921f5)==null)return{'op':[],'invertOp':[]};const _0x418fcc=_0x1e7f51['removeOp']([_0x1f9506,_0x2948e7,'data',_0x3921f5],!0x0),_0x29f314=_0x1e7f51['removeOp']([_0x1f9506,_0x2948e7,_0x145962(0x2cb),this[_0x145962(0x2d8)](_0x1f9506,_0x2948e7)[_0x145962(0x298)](_0x3921f5)],!0x0),_0x888aa1=[_0x418fcc,_0x29f314]['reduce'](_0x1e7f51['type'][_0x145962(0x289)],null),_0x397afb=_0x1e7f51[_0x145962(0x293)][_0x145962(0x1d7)](_0x888aa1,this[_0x145962(0x2da)]);return{'op':_0x888aa1,'invertOp':_0x397afb};}[_0xc0f3e9(0x195)](_0x249afb){const _0x285937=_0xc0f3e9,{unitId:_0x248229,subUnitId:_0x373608,drawingId:_0x5636b7}=_0x249afb,_0x29651c=this[_0x285937(0x224)](_0x248229,_0x373608,_0x5636b7);if(_0x29651c==null)return{'op':[],'invertOp':[]};const _0x10e0a3=this[_0x285937(0x233)](_0x249afb,_0x29651c)[_0x285937(0x2b4)](_0x1e7f51['type'][_0x285937(0x289)],null),_0x6c7e44=_0x1e7f51['type'][_0x285937(0x1d7)](_0x10e0a3,this[_0x285937(0x2da)]);return{'op':_0x10e0a3,'invertOp':_0x6c7e44};}['_getUpdateParamCompareOp'](_0x305eff,_0x408c23){const _0x84ae35=_0xc0f3e9,{unitId:_0x3d79f3,subUnitId:_0x3858f4,drawingId:_0x3d0235}=_0x305eff,_0x26a5cc=[];return Object['keys'](_0x305eff)[_0x84ae35(0x1af)](_0x4eae40=>{const _0x2e056f=_0x84ae35,_0x496bae=_0x305eff[_0x4eae40],_0x81dde9=_0x408c23[_0x4eae40];_0x81dde9!==_0x496bae&&_0x26a5cc[_0x2e056f(0x1ed)](_0x1e7f51[_0x2e056f(0x201)]([_0x3d79f3,_0x3858f4,_0x2e056f(0x23c),_0x3d0235,_0x4eae40],_0x81dde9,_0x496bae));}),_0x26a5cc;}[_0xc0f3e9(0x1be)](_0xa7efad,_0x1e10ac){const _0x46d251=_0xc0f3e9;var _0x54282c,_0x39de84;return((_0x39de84=(_0x54282c=this['drawingManagerData'][_0xa7efad])==null?void 0x0:_0x54282c[_0x1e10ac])==null?void 0x0:_0x39de84[_0x46d251(0x23c)])||{};}['_getDrawingOrder'](_0x40ebc7,_0x3277ca){const _0x4bd9f0=_0xc0f3e9;var _0x23579a,_0x4f2a67;return((_0x4f2a67=(_0x23579a=this[_0x4bd9f0(0x2da)][_0x40ebc7])==null?void 0x0:_0x23579a[_0x3277ca])==null?void 0x0:_0x4f2a67[_0x4bd9f0(0x2cb)])||[];}[_0xc0f3e9(0x255)](){const _0x33c9af=_0xc0f3e9;return this[_0x33c9af(0x1a9)];}[_0xc0f3e9(0x1cd)](){const _0x4d5108=_0xc0f3e9;return this[_0x4d5108(0x241)];}[_0xc0f3e9(0x28c)](_0x5882a9){const _0x413e24=_0xc0f3e9;this[_0x413e24(0x1a9)]=_0x5882a9;}[_0xc0f3e9(0x2ce)](_0x42a02f){this['_editable']=_0x42a02f;}};_0x41a0da(_0x16b0f1,_0xc0f3e9(0x283));let _0x1b6d1c=_0x16b0f1;const _0x583a97=class _0x505392 extends _0x1b6d1c{};_0x41a0da(_0x583a97,'DrawingManagerService');let _0x189114=_0x583a97;function _0x260fd6({unitId:_0x13f1f7,subUnitId:_0x136c65,drawingId:_0x15f758},_0x4f6459){const _0x42026f=_0xc0f3e9;return typeof _0x4f6459==_0x42026f(0x2ee)?_0x13f1f7+'#-#'+_0x136c65+_0x42026f(0x229)+_0x15f758+_0x42026f(0x229)+_0x4f6459:_0x13f1f7+_0x42026f(0x229)+_0x136c65+_0x42026f(0x229)+_0x15f758;}_0x41a0da(_0x260fd6,_0xc0f3e9(0x1b4));const _0x535d80=_0x41a0da(async _0x2759f5=>new Promise((_0xd56a1c,_0x221d95)=>{const _0x25b767=_0xc0f3e9,_0x37d6ab=new Image();_0x37d6ab['src']=_0x2759f5,_0x37d6ab[_0x25b767(0x2b0)]=()=>{const _0x31f7f6=_0x25b767;_0xd56a1c({'width':_0x37d6ab[_0x31f7f6(0x200)],'height':_0x37d6ab[_0x31f7f6(0x25a)],'image':_0x37d6ab});},_0x37d6ab[_0x25b767(0x299)]=_0x1ea13a=>{_0x221d95(_0x1ea13a);};}),'getImageSize');var _0x3a885e=(_0x472263=>(_0x472263['URL']=_0xc0f3e9(0x18c),_0x472263['UUID']='UUID',_0x472263[_0xc0f3e9(0x18f)]=_0xc0f3e9(0x18f),_0x472263))(_0x3a885e||{}),_0xc49dcc=(_0x340d7f=>(_0x340d7f[_0xc0f3e9(0x186)]='0',_0x340d7f[_0xc0f3e9(0x261)]='1',_0x340d7f[_0xc0f3e9(0x27b)]='2',_0x340d7f[_0xc0f3e9(0x276)]='3',_0x340d7f['ERROR_IMAGE']='4',_0x340d7f))(_0xc49dcc||{});const _0x3a62b6=_0x561cf0['createIdentifier'](_0xc0f3e9(0x20a)),_0xd6011=class _0x536de4{constructor(){const _0x25a33f=_0xc0f3e9;_0x5c95ec(this,'_waitCount',0x0),_0x5c95ec(this,_0x25a33f(0x242),new _0x10634c[(_0x25a33f(0x296))]()),_0x5c95ec(this,'change$',this[_0x25a33f(0x242)]),_0x5c95ec(this,_0x25a33f(0x2ac),new Map());}['setWaitCount'](_0x317685){const _0x13ffa8=_0xc0f3e9;this['_waitCount']=_0x317685,this['_change$'][_0x13ffa8(0x2b2)](_0x317685);}[_0xc0f3e9(0x245)](_0x4c2a1f,_0x544efe){const _0xb2bf33=_0xc0f3e9;if(_0x544efe===_0x3a885e[_0xb2bf33(0x18f)]){const _0x3db723=new Image();return _0x3db723[_0xb2bf33(0x225)]=_0x4c2a1f,_0x3db723;}return this[_0xb2bf33(0x2ac)]['get'](_0x4c2a1f);}['addImageSourceCache'](_0x508e1e,_0x52e599,_0x12b507){const _0x38257d=_0xc0f3e9;_0x52e599===_0x3a885e[_0x38257d(0x18f)]||_0x12b507==null||this[_0x38257d(0x2ac)]['set'](_0x508e1e,_0x12b507);}async[_0xc0f3e9(0x1df)](_0x286d5e){const _0x80e124=_0xc0f3e9;return Promise[_0x80e124(0x1a0)](_0x286d5e);}async['saveImage'](_0x3a3a7b){return new Promise((_0x11a8f6,_0x2e7b27)=>{const _0x1a6dad=_0x15a9;if(!_0x3a6d67[_0x1a6dad(0x29a)](_0x3a3a7b[_0x1a6dad(0x293)])){_0x2e7b27(new Error(_0xc49dcc['ERROR_IMAGE_TYPE'])),this[_0x1a6dad(0x2df)]();return;}if(_0x3a3a7b[_0x1a6dad(0x1f9)]>0x500000){_0x2e7b27(new Error(_0xc49dcc[_0x1a6dad(0x261)])),this[_0x1a6dad(0x2df)]();return;}const _0x18e863=new FileReader();_0x18e863[_0x1a6dad(0x1d6)](_0x3a3a7b),_0x18e863[_0x1a6dad(0x2b0)]=_0x21652d=>{const _0x8cc655=_0x1a6dad;var _0x45bebc;const _0xd36613=(_0x45bebc=_0x21652d['target'])==null?void 0x0:_0x45bebc[_0x8cc655(0x216)];if(_0xd36613==null){_0x2e7b27(new Error(_0xc49dcc['ERROR_IMAGE'])),this[_0x8cc655(0x2df)]();return;}const _0xb157a3=_0x561cf0[_0x8cc655(0x2d6)][_0x8cc655(0x193)](0x6);_0x11a8f6({'imageId':_0xb157a3,'imageSourceType':_0x3a885e[_0x8cc655(0x18f)],'source':_0xd36613,'base64Cache':_0xd36613,'status':_0xc49dcc['SUCCUSS']}),this['_decreaseWaiting']();};});}[_0xc0f3e9(0x2df)](){const _0x48c7e2=_0xc0f3e9;this[_0x48c7e2(0x240)]-=0x1,this['_change$'][_0x48c7e2(0x2b2)](this[_0x48c7e2(0x240)]);}};_0x41a0da(_0xd6011,_0xc0f3e9(0x266));let _0x179f7d=_0xd6011;const _0x78d513=_0xc0f3e9(0x24c);var _0x27c67c=(_0x2b1efc=>(_0x2b1efc[_0x2b1efc[_0xc0f3e9(0x1b0)]=0x0]=_0xc0f3e9(0x1b0),_0x2b1efc[_0x2b1efc[_0xc0f3e9(0x1a7)]=0x1]='backward',_0x2b1efc[_0x2b1efc['front']=0x2]=_0xc0f3e9(0x26b),_0x2b1efc[_0x2b1efc[_0xc0f3e9(0x17c)]=0x3]='back',_0x2b1efc))(_0x27c67c||{}),_0x4dad6e=(_0x57f5bd=>(_0x57f5bd[_0x57f5bd['UNRECOGNIZED']=-0x1]=_0xc0f3e9(0x2e8),_0x57f5bd[_0x57f5bd[_0xc0f3e9(0x1b9)]=0x0]=_0xc0f3e9(0x1b9),_0x57f5bd[_0x57f5bd[_0xc0f3e9(0x24b)]=0x1]=_0xc0f3e9(0x24b),_0x57f5bd[_0x57f5bd['DRAWING_CHART']=0x2]=_0xc0f3e9(0x260),_0x57f5bd[_0x57f5bd[_0xc0f3e9(0x2bb)]=0x3]=_0xc0f3e9(0x2bb),_0x57f5bd[_0x57f5bd[_0xc0f3e9(0x286)]=0x4]=_0xc0f3e9(0x286),_0x57f5bd[_0x57f5bd['DRAWING_VIDEO']=0x5]=_0xc0f3e9(0x17e),_0x57f5bd[_0x57f5bd[_0xc0f3e9(0x294)]=0x6]=_0xc0f3e9(0x294),_0x57f5bd[_0x57f5bd['DRAWING_UNIT']=0x7]=_0xc0f3e9(0x2b9),_0x57f5bd[_0x57f5bd[_0xc0f3e9(0x2a6)]=0x8]=_0xc0f3e9(0x2a6),_0x57f5bd))(_0x4dad6e||{});const _0x35a558=_0x561cf0[_0xc0f3e9(0x26c)]('univer.drawing-manager.service'),_0x193baa=_0xc0f3e9(0x271),_0x413104={};var _0x11b418=Object['defineProperty'],_0x30b164=Object[_0xc0f3e9(0x1d4)],_0x12f8d6=_0x41a0da((_0xc07f2d,_0x3695c0,_0x21d378,_0x338243)=>{for(var _0x470044=_0x338243>0x1?void 0x0:_0x338243?_0x30b164(_0x3695c0,_0x21d378):_0x3695c0,_0x1a164f=_0xc07f2d['length']-0x1,_0x4b7187;_0x1a164f>=0x0;_0x1a164f--)(_0x4b7187=_0xc07f2d[_0x1a164f])&&(_0x470044=(_0x338243?_0x4b7187(_0x3695c0,_0x21d378,_0x470044):_0x4b7187(_0x470044))||_0x470044);return _0x338243&&_0x470044&&_0x11b418(_0x3695c0,_0x21d378,_0x470044),_0x470044;},_0xc0f3e9(0x262)),_0x3a6ca7=_0x41a0da((_0x108696,_0x5e3c36)=>(_0x1c5282,_0x448ba0)=>_0x5e3c36(_0x1c5282,_0x448ba0,_0x108696),_0xc0f3e9(0x2c0));const _0x3e628f=_0xc0f3e9(0x2dc);_0x1c08f7[_0xc0f3e9(0x1ab)]=(_0x3590c4=class extends _0x561cf0[_0xc0f3e9(0x250)]{constructor(_0x22a642=_0x413104,_0x5105c3,_0x539773){const _0x5d78fe=_0xc0f3e9;super(),this[_0x5d78fe(0x211)]=_0x22a642,this[_0x5d78fe(0x2ea)]=_0x5105c3,this['_configService']=_0x539773;const {..._0x367f60}=this[_0x5d78fe(0x211)];this[_0x5d78fe(0x1fe)][_0x5d78fe(0x1ee)](_0x193baa,_0x367f60);}[_0xc0f3e9(0x1c8)](){const _0x3e62fa=_0xc0f3e9;this[_0x3e62fa(0x2a2)]();}['_initDependencies'](){const _0x8a42bf=_0xc0f3e9;var _0x2c800c;const _0x368f3c=[[_0x3a62b6,{'useClass':_0x179f7d}],[_0x35a558,{'useClass':_0x189114}]];_0x561cf0[_0x8a42bf(0x230)](_0x368f3c,(_0x2c800c=this['_config'])==null?void 0x0:_0x2c800c[_0x8a42bf(0x25b)])[_0x8a42bf(0x1af)](_0x233e25=>this[_0x8a42bf(0x2ea)][_0x8a42bf(0x210)](_0x233e25));}},_0x41a0da(_0x3590c4,_0xc0f3e9(0x1ab)),_0x5c95ec(_0x3590c4,'pluginName',_0x3e628f),_0x3590c4),_0x1c08f7[_0xc0f3e9(0x1ab)]=_0x12f8d6([_0x3a6ca7(0x1,_0x561cf0['Inject'](_0x561cf0[_0xc0f3e9(0x1bb)])),_0x3a6ca7(0x2,_0x561cf0[_0xc0f3e9(0x2a7)])],_0x1c08f7[_0xc0f3e9(0x1ab)]),_0x1c08f7['ArrangeTypeEnum']=_0x27c67c,_0x1c08f7[_0xc0f3e9(0x23f)]=_0x78d513,_0x1c08f7[_0xc0f3e9(0x205)]=_0x3a6d67,_0x1c08f7[_0xc0f3e9(0x2f0)]=0x500000,_0x1c08f7[_0xc0f3e9(0x2b6)]=0xa,_0x1c08f7[_0xc0f3e9(0x28a)]=0x1f4,_0x1c08f7[_0xc0f3e9(0x1e7)]=0x1f4,_0x1c08f7['DrawingManagerService']=_0x189114,_0x1c08f7[_0xc0f3e9(0x1e2)]=_0x4dad6e,_0x1c08f7['IDrawingManagerService']=_0x35a558,_0x1c08f7[_0xc0f3e9(0x247)]=_0x3a62b6,_0x1c08f7[_0xc0f3e9(0x266)]=_0x179f7d,_0x1c08f7[_0xc0f3e9(0x26e)]=_0x3a885e,_0x1c08f7[_0xc0f3e9(0x21f)]=_0xc49dcc,_0x1c08f7[_0xc0f3e9(0x283)]=_0x1b6d1c,_0x1c08f7['getDrawingShapeKeyByDrawingSearch']=_0x260fd6,_0x1c08f7['getImageSize']=_0x535d80,Object[_0xc0f3e9(0x218)](_0x1c08f7,Symbol[_0xc0f3e9(0x20f)],{'value':_0xc0f3e9(0x2bd)});}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@univerjs/drawing",
3
- "version": "0.3.0-alpha.1",
3
+ "version": "0.3.0-nightly.202410101606",
4
4
  "private": false,
5
5
  "description": "",
6
6
  "author": "DreamNum <developer@univer.ai>",
@@ -45,12 +45,12 @@
45
45
  ],
46
46
  "peerDependencies": {
47
47
  "rxjs": ">=7.0.0",
48
- "@univerjs/core": "0.3.0-alpha.1"
48
+ "@univerjs/core": "0.3.0-nightly.202410101606"
49
49
  },
50
50
  "dependencies": {
51
51
  "@univerjs/icons": "^0.1.78",
52
52
  "ot-json1": "^1.0.2",
53
- "@univerjs/core": "0.3.0-alpha.1"
53
+ "@univerjs/core": "0.3.0-nightly.202410101606"
54
54
  },
55
55
  "devDependencies": {
56
56
  "less": "^4.2.0",
@@ -58,7 +58,7 @@
58
58
  "typescript": "^5.6.2",
59
59
  "vite": "^5.4.8",
60
60
  "vitest": "^2.1.1",
61
- "@univerjs-infra/shared": "0.3.0-alpha.1"
61
+ "@univerjs-infra/shared": "0.3.0"
62
62
  },
63
63
  "univerSpace": {
64
64
  ".": {
@@ -78,7 +78,6 @@
78
78
  "test:watch": "vitest",
79
79
  "coverage": "vitest run --coverage",
80
80
  "lint:types": "tsc --noEmit",
81
- "build": "tsc && vite build",
82
- "sync:cnpm": "cnpm sync"
81
+ "build": "tsc && vite build"
83
82
  }
84
83
  }