@univerjs/engine-render 0.18.0 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/cjs/index.js CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));const c=require(`./en-us-SZJQVKoT.js`);let l=require(`@univerjs/core`),u=require(`cjk-regex`);u=s(u);let d=require(`rxjs`),f=require(`opentype.js/dist/opentype.module`),p=require(`franc-min`),m=require(`@floating-ui/dom`),h=require(`@floating-ui/utils`),g=require(`@floating-ui/utils/dom`),_=function(e){return e.RECT=`rect`,e.CIRCLE=`circle`,e.PATH=`path`,e}({}),v=function(e){return e[e.XY=0]=`XY`,e[e.X=1]=`X`,e[e.Y=2]=`Y`,e}({});const y=`"Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Heiti SC", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif`,b={lines:[],drawings:new Map,height:0,st:0,ed:0,marginLeft:0},x={...b,marginTop:20},S={...b,marginBottom:20};let C=function(e){return e.DEFAULT=`default`,e.AUTO=`auto`,e.CROSSHAIR=`crosshair`,e.POINTER=`pointer`,e.MOVE=`move`,e.EAST_RESIZE=`e-resize`,e.NORTH_EAST_RESIZE=`ne-resize`,e.NORTH_WEST_RESIZE=`nw-resize`,e.NORTH_RESIZE=`n-resize`,e.SOUTH_EAST_RESIZE=`se-resize`,e.SOUTH_WEST_RESIZE=`sw-resize`,e.SOUTH_RESIZE=`s-resize`,e.WEST_RESIZE=`w-resize`,e.TEXT=`text`,e.WAIT=`wait`,e.HELP=`help`,e.CELL=`cell`,e.NONE=`none`,e.VERTICAL_TEXT=`vertical-text`,e.NO_DROP=`no-drop`,e.GRAB=`grab`,e.GRABBING=`grabbing`,e.ALL_SCROLL=`all-scroll`,e.COLUMN_RESIZE=`col-resize`,e.ROW_RESIZE=`row-resize`,e.PROGRESS=`progress`,e.NOT_ALLOWED=`not-allowed`,e.ZOOM_IN=`zoom-in`,e.ZOOM_OUT=`zoom-out`,e}({}),w=function(e){return e[e.noClip=0]=`noClip`,e[e.DOC_SIZE=1]=`DOC_SIZE`,e[e.CONTENT_SIZE_LEFT=2]=`CONTENT_SIZE_LEFT`,e[e.CONTENT_SIZE_CENTER=3]=`CONTENT_SIZE_CENTER`,e[e.CONTENT_SIZE_Right=4]=`CONTENT_SIZE_Right`,e}({});const T=`rgb(0,0,0)`;let E=function(e){return e.TOP=`t`,e.BOTTOM=`b`,e.LEFT=`l`,e.RIGHT=`r`,e.TL_BR=`tl_br`,e.TL_BC=`tl_bc`,e.TL_MR=`tl_mr`,e.BL_TR=`bl_tr`,e.ML_TR=`ml_tr`,e.BC_TR=`bc_tr`,e}({}),D=function(e){return e[e.UP=0]=`UP`,e[e.DOWN=1]=`DOWN`,e}({}),O=function(e){return e.ENGINE=`Engine`,e.SCENE=`Scene`,e.BASE_OBJECT=`BaseObject`,e.SCENE_VIEWER=`SceneViewer`,e.CANVAS=`Canvas`,e.VIEWPORT=`Viewport`,e.LAYER=`Layer`,e.GROUP=`Group`,e.IMAGE=`Image`,e.SHAPE=`Shape`,e.TEXT=`Text`,e}({});const k=2e3,A=2e3,j=.5,M=Math.PI/180,N=180/Math.PI,P=`rgb(`,F=(e,t)=>e?t==null?`${P+e.join(`,`)})`:`${`rgba(`+e.join(`,`)},${t})`:`${P}0,0,0)`,I=(e,t)=>l.Tools.isNumber(e)?e:t&&e&&l.Tools.isString(e)&&e.substr(e.length-1,1)===`%`?Number.parseFloat(e)/100*t:0,L=(e,t)=>(t||(t=window),t.requestPostAnimationFrame?t.requestPostAnimationFrame(e):t.requestAnimationFrame?t.requestAnimationFrame(e):t.msRequestAnimationFrame?t.msRequestAnimationFrame(e):t.webkitRequestAnimationFrame?t.webkitRequestAnimationFrame(e):t.mozRequestAnimationFrame?t.mozRequestAnimationFrame(e):t.oRequestAnimationFrame?t.oRequestAnimationFrame(e):setTimeout(e,16)),R=(e,t)=>(t||(t=window),t.requestPostAnimationFrame?t.cancelPostAnimationFrame(e):t.requestAnimationFrame?t.cancelAnimationFrame(e):t.msRequestAnimationFrame?t.msCancelAnimationFrame(e):t.webkitRequestAnimationFrame?t.webkitCancelAnimationFrame(e):t.mozRequestAnimationFrame?t.mozCancelAnimationFrame(e):t.oRequestAnimationFrame?t.oCancelAnimationFrame(e):clearTimeout(e)),z=()=>{let e=document.createElement(`canvas`);try{e.style=e.style||{}}catch(e){console.error(e)}return e},ee=()=>document.createElement(`img`),B=e=>e*N,V=e=>e*M,te=()=>{let e=`pointer`;return typeof window<`u`&&!window.PointerEvent&&typeof navigator<`u`&&(e=`mouse`),l.Tools.isTablet()&&!l.Tools.isIPhone()&&!(document&&`ontouchend`in document)&&(e=`mouse`),e},ne=()=>l.Tools.getBrowserType()===`safari`,re=(e=`obj`,t=4)=>{let n=window.navigator.userAgent.replace(/[^a-zA-Z0-9]/g,``).split(``),r=``;for(let e=0;e<t;e++)r+=n[Math.round(Math.random()*(n.length-1))];let i=new Date().getTime();return`${e}_${r}_${i}`};function ie(e){return Object.prototype.toString.apply(e)}function ae(e){return ie(e)===`[object Function]`}function oe(e){return ie(e)===`[object Date]`}function se(e){return ie(e)===`[object RegExp]`}function ce(e){return ie(e)===`[object Array]`}function le(e){return ie(e)===`[object String]`}function ue(e){return ie(e)===`[object Number]`}function de(e){return ie(e)===`[object Object]`}function fe(e,t){return t=10**t,Math.round(e*t)/t}function H(e,t){return Math.round(e*t)/t}function pe(e){let t=l.DEFAULT_STYLES.ff,n=l.DEFAULT_STYLES.fs;if(!e){let e=`${n}pt ${t}`;return{fontCache:e,fontString:e,fontSize:n,originFontSize:n,fontFamily:t}}let r=l.FontStyleType.ITALIC;(e.it===0||e.it===void 0)&&(r=l.FontStyleType.NORMAL);let i=l.FontStyleType.BOLD;(e.bl===0||e.bl===void 0)&&(i=l.FontStyleType.NORMAL);let a=n;e.fs&&(a=Math.ceil(e.fs));let o=a,s=t;if(e.ff){let n=e.ff;n=n.replace(/"/g,``).replace(/'/g,``),n.indexOf(` `)>-1&&(n=`"${n}"`),n==null&&(n=t),s=n}let{va:c}=e;if(c===l.BaselineOffset.SUBSCRIPT||c===l.BaselineOffset.SUPERSCRIPT){let{sbr:e,spr:t}=W.getBaselineOffsetInfo(s,o);o*=c===l.BaselineOffset.SUBSCRIPT?e:t}let u=`${r} ${i} ${o}pt ${s}`;return{fontCache:u,fontString:`${u}, ${y} `,fontSize:o,originFontSize:a,fontFamily:s}}const me=u.letters().toRegExp();function he(e){return me.test(e)}const ge=u.all().toRegExp();function _e(e){return ge.test(e)}const ve=u.punctuations().toRegExp();function ye(e){return ve.test(e)}function be(e){return!!/[\u0000-\u024F]/gi.exec(e)}function xe(e){return!!/[\u0000-\u007F]/gi.exec(e)}function Se(e){return!!/[\u0080-\u00FF]/gi.exec(e)}function Ce(e){return!!/[\u0100-\u017F]/gi.exec(e)}function we(e){return!!/[\u0180-\u024F]/gi.exec(e)}const Te=new Intl.Segmenter(void 0,{granularity:`grapheme`});function Ee(e){var t,n;return(t=(n=Te.segment(e)[Symbol.iterator]().next().value)==null?void 0:n.segment)==null?null:t}function De(e){return!!(/\p{Extended_Pictographic}/u.test(e)||/^\p{Regional_Indicator}{2}$/u.test(e)||/^[0-9#*]\uFE0F?\u20E3$/u.test(e))}function Oe(e){let t=Ee(e);return t?De(t):!1}function ke(e){return/[\u0600-\u06FF]|[\u0750-\u0750]|[\u0870-\u08FF]|[\uFB50-\uFDFF]|[\uFE70-\uFEFF]/gi.test(e)}function Ae(e){return/[\u0180-\u024F]/gi.test(e)}function je(e){return/\s+/g.test(e)}function Me(e){return[`”`,`’`,`,`,`。`,`.`,`、`,`:`,`;`,`?`,`!`,`》`,`)`,`』`,`」`,`】`,`〗`,`〕`,`〉`,`]`,`}`].indexOf(e)>-1}function Ne(e){return[`“`,`‘`,`《`,`(`,`『`,`「`,`【`,`〖`,`〔`,`〈`,`[`,`{`].indexOf(e)>-1}function Pe(e){return[`・`,`·`].indexOf(e)>-1}const Fe=1e3;let Ie;function Le(){if(Ie)return Ie;let e=56;for(;e<Fe*2;e++)if(matchMedia(`(max-resolution: ${e}dpi)`).matches===!0)return e;return Ie=e,setTimeout(()=>{Ie=null},Fe),e}function Re(e){return e/(72/Le())}function ze(e){return e*(72/Le())}function Be(e){return e*(Le()/25.4)}function Ve(e){return e*Le()}function He(e){let{scaleX:t=1,scaleY:n=1}=e;return Math.max(t,n)}function Ue(e,t,n,r){let i=e-1,a=t-1,o=n[i]||0,s=n[e];s==null&&(s=n[n.length-1]);let c=r[a]||0,l=r[t];return l==null&&(l=r[r.length-1]),{startY:o,endY:s,startX:c,endX:l}}function We(e,t,n,r,i){e=l.Tools.clamp(e,0,n.length-1),t=l.Tools.clamp(t,0,r.length-1);let{startY:a,endY:o,startX:s,endX:c}=Ue(e,t,n,r),{isMerged:u,isMergedMainCell:d,startRow:f,startColumn:p,endRow:m,endColumn:h}=i,g={startRow:f,startColumn:p,endRow:m,endColumn:h,startY:0,endY:0,startX:0,endX:0},_=n.length-1,v=r.length-1;if(u&&f!==-1&&p!==-1){let e=n[f-1]||0,t=n[m]||n[_],i=r[p-1]||0,a=r[h]||r[v];g={...g,startY:e,endY:t,startX:i,endX:a}}else if(!u&&m!==-1&&h!==-1){let e=n[m]||n[_],t=r[h]||r[v];g={...g,startY:a,endY:e,startX:s,endX:t}}return{isMerged:u,isMergedMainCell:d,actualRow:e,actualColumn:t,startY:a,endY:o,startX:s,endX:c,mergeInfo:g}}const Ge=We;function Ke(e,t,n,r){let i=!1;for(let a=t;a<=n;a++){let{isMerged:t,isMergedMainCell:n}=(0,l.getCellInfoInMergeData)(e,a,r);if(!t&&!n){i=!0;break}}return i}function qe(e,t,n){return{...e,startY:e.startY+n,endY:e.endY+n,startX:e.startX+t,endX:e.endX+t}}function Je(e,t){return!(e.left>t.right||e.top>t.bottom||t.left>e.right||t.top>e.bottom)}function Ye(e){let t=document.createElement(`style`);document.head.appendChild(t);let n=t.sheet;for(let t of e)n==null||n.insertRule(t,n.cssRules.length)}function Xe(e){for(let t=0,n=document.head.childNodes.length;t<n;t++){let n=document.head.childNodes[t];if(n.nodeName===`STYLE`&&n.textContent&&n.textContent.indexOf(e)>-1)return!0}return!1}function Ze(e){return Number(e.replace(/px/gi,``))}function Qe(e){let{borderTopWidth:t,borderLeftWidth:n,borderRightWidth:r,borderBottomWidth:i,width:a,height:o}=getComputedStyle(e);return{top:Ze(t),left:Ze(n),right:Ze(r),bottom:Ze(i),width:Ze(a),height:Ze(o)}}const $e=.75;function et(e){return e/$e}function tt(e){return e*$e}function nt(e,t,n){for(let r of e)if(t>=r.startRow&&t<=r.endRow&&n>=r.startColumn&&n<=r.endColumn)return!0;return!1}function rt(e,t){let n=[];for(let r of e)for(let e of t)l.Rectangle.simpleRangesIntersect(r,e)&&n.push(e);return e.concat(n)}function it(e,t,n){return{startRow:l.Tools.clamp(e.startRow,0,t),endRow:l.Tools.clamp(e.endRow,0,t),startColumn:l.Tools.clamp(e.startColumn,0,n),endColumn:l.Tools.clamp(e.endColumn,0,n)}}function at(){let e=document.createElement(`div`);e.style.width=`0`,e.style.height=`0`,e.style.backgroundColor=`highlight`,document.body.append(e);let t=getComputedStyle(e).backgroundColor;return e.remove(),new l.ColorKit(t).toRgb()}function ot(e){"@babel/helpers - typeof";return ot=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},ot(e)}function st(e,t){if(ot(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(ot(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function ct(e){var t=st(e,`string`);return ot(t)==`symbol`?t:t+``}function U(e,t,n){return(t=ct(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const lt=e=>({sbr:.6,sbo:e,spr:.6,spo:e});var W=class{static get globalFontMeasureCache(){return this._globalFontMeasureCache}static setFontMeasureCache(e,t,n){this._globalFontMeasureCache.has(e)||this._globalFontMeasureCache.set(e,new Map);let r=this._globalFontMeasureCache.get(e);r&&r.set(t,n)}static clearFontMeasureCache(e){let t=e.split(`/`);if(t.length===1){let e=t[0];this._globalFontMeasureCache.delete(e)}else if(t.length===2){var n;let e=t[0],r=t[1];(n=this._globalFontMeasureCache.get(e))==null||n.delete(r)}else return!1;return!0}static getFontMeasureCache(e,t){var n;return(n=this._globalFontMeasureCache.get(e))==null?void 0:n.get(t)}static autoCleanFontMeasureCache(e=1e6){let t=0,n=!1,r=0;for(let i of this._globalFontMeasureCache){let[,a]=i;if(t+=a.size,t>e){n=!0;break}r++}if(n){let t=0;for(let n of this._globalFontMeasureCache){let[r,i]=n;if(t+=i.size,t>e/2){let n=t-e/2;this._clearMeasureCache(n,i);break}this._globalFontMeasureCache.delete(r)}return!0}return!1}static getBaselineOffsetInfo(e,t){if(this._fontDataMap.size===0)return lt(t);let n=e.split(`,`);for(let e of n){e=e.replace(/'/g,``);let n=this._fontDataMap.get(e);if(!n)continue;let{subscriptSizeRatio:r,subscriptOffset:i,superscriptSizeRatio:a,superscriptOffset:o}=n;return{sbr:r,sbo:i*t,spr:a,spo:o*t}}return lt(t)}static getTextSizeByDom(e,t){if(t in this._getTextHeightCache)return this._getTextHeightCache[t];let n=document.getElementById(`universheetTextSizeTest`);n||(n=document.createElement(`span`),n.id=`universheetTextSizeTest`,document.getElementsByTagName(`body`)[0].appendChild(n)),n.style.cssText+=`float:left;white-space:nowrap;visibility:hidden;margin:0;padding:0;;${t}`,n.textContent=e;let r=n.getBoundingClientRect(),i={width:r.width,height:r.height};return this._getTextHeightCache[t]=i,i}static getTextSize(e,t){let{fontString:n,fontSize:r,fontFamily:i}=t,a=this._getBoundingBoxByFont(i,r);if(!a){let r=this.getMeasureText(e,n);a=this._calculateBoundingBoxByMeasureText(r,t)}return a}static getBBoxFromGlyphInfo(e,t){var n;let r=e.glyph,i=e.font,{y1:a,y2:o}=e.boundingBox,s=et(t.fontSize)/i.unitsPerEm,{ascender:c,descender:l}=i;return this._calculateBoundingBoxByMeasureText({width:((n=r.advanceWidth)==null?0:n)*s,fontBoundingBoxAscent:c*s,fontBoundingBoxDescent:Math.abs(l*s),actualBoundingBoxAscent:o*s,actualBoundingBoxDescent:Math.abs(a*s)},t)}static getMeasureText(e,t){if(this._context||(this._context=document.createElement(`canvas`).getContext(`2d`)),!this._context)return{width:0,fontBoundingBoxAscent:0,fontBoundingBoxDescent:0,actualBoundingBoxAscent:0,actualBoundingBoxDescent:0};let n=this._context,r=this.getFontMeasureCache(t,e);if(r!=null)return r;n.font=t;let{width:i,fontBoundingBoxAscent:a,fontBoundingBoxDescent:o,actualBoundingBoxAscent:s,actualBoundingBoxDescent:c}=n.measureText(e),l={width:i,fontBoundingBoxAscent:a,fontBoundingBoxDescent:o,actualBoundingBoxAscent:s,actualBoundingBoxDescent:c};if(a==null||o==null||Number.isNaN(a)||Number.isNaN(o)){let e=this.getTextSizeByDom(`0`,t).height;n.textBaseline===`top`?(l.fontBoundingBoxAscent=l.actualBoundingBoxAscent=e,l.fontBoundingBoxDescent=l.actualBoundingBoxDescent=0):n.textBaseline===`middle`?(l.fontBoundingBoxDescent=l.actualBoundingBoxDescent=e/2,l.fontBoundingBoxAscent=l.actualBoundingBoxAscent=e/2):(l.fontBoundingBoxDescent=l.actualBoundingBoxDescent=0,l.fontBoundingBoxAscent=l.actualBoundingBoxAscent=e)}return this.setFontMeasureCache(t,e,l),l}static _clearMeasureCache(e,t){let n=0;for(let r of t){let[i]=r;if(n>e)break;t.delete(i),n++}return!0}static _getBoundingBoxByFont(e,t=28,n=``){let r=this._fontDataMap.get(e);if(!r)return;let{notDefWidth:i,ascender:a,descender:o,typoAscender:s,typoDescender:c,strikeoutPosition:l,subscriptSizeRatio:u,subscriptOffset:d,superscriptSizeRatio:f,superscriptOffset:p,hdmxData:m,glyphHorizonMap:h}=r,g=m==null?void 0:m.indexOf(Math.floor(t)),_=h.get(n.charCodeAt(0)),v=i;if(_){let{width:e,pixelsPerEm:t=[]}=_;v=g?t[g]:e}return{width:v*t,ba:a*t,bd:o*t,aba:s*t,abd:c*t,sp:l*t,sbr:u,sbo:d*t,spr:f,spo:p*t}}static _calculateBoundingBoxByMeasureText(e,t){let{width:n,fontBoundingBoxAscent:r,fontBoundingBoxDescent:i,actualBoundingBoxAscent:a,actualBoundingBoxDescent:o}=e,{fontSize:s,originFontSize:c}=t,l=c/s,u=r*l,d=i*l;return{width:n,ba:u,bd:d,aba:a,abd:o,sp:(r+i)/2,sbr:.6,spr:.6,sbo:(u+d)*.141,spo:(u+d)*.4}}};U(W,`_getTextHeightCache`,{}),U(W,`_context`,void 0),U(W,`_fontDataMap`,new Map),U(W,`_globalFontMeasureCache`,new Map);let G=function(e){return e[e.BODY=0]=`BODY`,e[e.HEADER=1]=`HEADER`,e[e.FOOTER=2]=`FOOTER`,e[e.CELL=3]=`CELL`,e}({}),ut=function(e){return e[e.GLYPH=0]=`GLYPH`,e[e.DIVIDE=1]=`DIVIDE`,e[e.LINE=2]=`LINE`,e[e.COLUMN=3]=`COLUMN`,e[e.SECTION=4]=`SECTION`,e[e.PAGE=5]=`PAGE`,e[e.DRAWING=6]=`DRAWING`,e[e.BULLET=7]=`BULLET`,e[e.HEADER=8]=`HEADER`,e[e.FOOTER=9]=`FOOTER`,e[e.ALL=10]=`ALL`,e}({}),dt=function(e){return e[e.SECTION=0]=`SECTION`,e[e.PAGE=1]=`PAGE`,e[e.COLUMN=2]=`COLUMN`,e}({}),ft=function(e){return e[e.PARAGRAPH=0]=`PARAGRAPH`,e[e.BLOCK=1]=`BLOCK`,e}({}),pt=function(e){return e[e.LETTER=0]=`LETTER`,e[e.WORD=1]=`WORD`,e[e.LIST=2]=`LIST`,e[e.PLACEHOLDER=3]=`PLACEHOLDER`,e[e.TAB=4]=`TAB`,e[e.IMAGE=5]=`IMAGE`,e[e.AT=6]=`AT`,e[e.MATH=7]=`MATH`,e[e.MULTI_LINE=8]=`MULTI_LINE`,e[e.CUSTOM=9]=`CUSTOM`,e}({}),mt=function(e){return e[e.VERTICAL=0]=`VERTICAL`,e[e.HORIZONTAL=1]=`HORIZONTAL`,e[e.AUTO=2]=`AUTO`,e}({});function ht(e){var t;let n=e==null?void 0:e.parent;return n==null?!1:((t=n.glyphGroup[0])==null?void 0:t.glyphType)===pt.LIST}function gt(e,t){let n=yt(e,t);if(n==null)return!1;let{paragraphStyle:r}=n;return r==null?!1:(0,l.checkParagraphHasIndentByStyle)(r)}function _t(e){let t=e==null?void 0:e.parent,n=t==null?void 0:t.parent,r=t==null?void 0:t.glyphGroup,i=n==null?void 0:n.divides;if(r&&e&&i&&t){let n=r.indexOf(e);if(i.indexOf(t)===i.length-1&&n===r.length-1)return!0}return!1}function vt(e){let t=e==null?void 0:e.parent,n=t==null?void 0:t.parent,r=t==null?void 0:t.glyphGroup,i=n==null?void 0:n.divides;if(r&&e&&i&&t){let n=r.indexOf(e),a=i.indexOf(t);if(a===0&&n===0||a===0&&n===1&&r[0].glyphType===pt.LIST)return!0}return!1}function yt(e,t){var n;let r=e==null||(n=e.parent)==null?void 0:n.parent;if(r==null||t==null)return;let i=t.paragraphs;if(i!=null)for(let e=0;e<i.length;e++){let t=i[e],n=i[e-1];if(t.startIndex===r.paragraphIndex){var a;return{...t,paragraphStart:((a=n==null?void 0:n.startIndex)==null?-1:a)+1,paragraphEnd:t.startIndex}}}}function bt(e){return e==null?!1:[l.DataStreamTreeTokenType.PARAGRAPH,l.DataStreamTreeTokenType.TAB,l.DataStreamTreeTokenType.SECTION_BREAK].indexOf(e.streamType)!==-1||e.content===l.DataStreamTreeTokenType.SPACE}function xt(e,t){return e==null||t==null||e.parent==null||t.parent==null?!1:e.parent.parent===t.parent.parent}var K=class e{constructor(e=0,t=0){this.x=e,this.y=t}static Zero(){return new e(0,0)}static One(){return new e(1,1)}static FromArray(t,n=0){return new e(t[n],t[n+1])}static FromArrayToRef(e,t,n){n.x=e[t],n.y=e[t+1]}static CatmullRom(t,n,r,i,a){let o=a*a,s=a*o;return new e(.5*(2*n.x+(-t.x+r.x)*a+(2*t.x-5*n.x+4*r.x-i.x)*o+(-t.x+3*n.x-3*r.x+i.x)*s),.5*(2*n.y+(-t.y+r.y)*a+(2*t.y-5*n.y+4*r.y-i.y)*o+(-t.y+3*n.y-3*r.y+i.y)*s))}static Clamp(t,n,r){let i=t.x;i=i>r.x?r.x:i,i=i<n.x?n.x:i;let a=t.y;return a=a>r.y?r.y:a,a=a<n.y?n.y:a,new e(i,a)}static Hermite(t,n,r,i,a){let o=a*a,s=a*o,c=2*s-3*o+1,l=-2*s+3*o,u=s-2*o+a,d=s-o;return new e(t.x*c+r.x*l+n.x*u+i.x*d,t.y*c+r.y*l+n.y*u+i.y*d)}static Hermite1stDerivative(t,n,r,i,a){let o=e.Zero();return this.Hermite1stDerivativeToRef(t,n,r,i,a,o),o}static Hermite1stDerivativeToRef(e,t,n,r,i,a){let o=i*i;a.x=(o-i)*6*e.x+(3*o-4*i+1)*t.x+(-o+i)*6*n.x+(3*o-2*i)*r.x,a.y=(o-i)*6*e.y+(3*o-4*i+1)*t.y+(-o+i)*6*n.y+(3*o-2*i)*r.y}static Lerp(t,n,r){return new e(t.x+(n.x-t.x)*r,t.y+(n.y-t.y)*r)}static Dot(e,t){return e.x*t.x+e.y*t.y}static Normalize(t){let n=e.Zero();return this.NormalizeToRef(t,n),n}static NormalizeToRef(e,t){let n=e.length();n!==0&&(t.x=e.x/n,t.y=e.y/n)}static Minimize(t,n){return new e(t.x<n.x?t.x:n.x,t.y<n.y?t.y:n.y)}static Maximize(t,n){return new e(t.x>n.x?t.x:n.x,t.y>n.y?t.y:n.y)}static PointInTriangle(e,t,n,r){let i=1/2*(-n.y*r.x+t.y*(-n.x+r.x)+t.x*(n.y-r.y)+n.x*r.y),a=i<0?-1:1,o=(t.y*r.x-t.x*r.y+(r.y-t.y)*e.x+(t.x-r.x)*e.y)*a,s=(t.x*n.y-t.y*n.x+(t.y-n.y)*e.x+(n.x-t.x)*e.y)*a;return o>0&&s>0&&o+s<2*i*a}static Distance(t,n){return Math.sqrt(e.DistanceSquared(t,n))}static DistanceSquared(e,t){let n=e.x-t.x,r=e.y-t.y;return n*n+r*r}static Center(t,n){return e.CenterToRef(t,n,e.Zero())}static CenterToRef(e,t,n){return n.copyFromFloats((e.x+t.x)/2,(e.y+t.y)/2)}static DistanceOfPointFromSegment(t,n,r){let i=e.DistanceSquared(n,r);if(i===0)return e.Distance(t,n);let a=r.subtract(n),o=Math.max(0,Math.min(1,e.Dot(t.subtract(n),a)/i)),s=n.add(a.multiplyByFloats(o,o));return e.Distance(t,s)}static create(t,n){return new e(t,n)}toString(){return`{X: ${this.x} Y: ${this.y}}`}getClassName(){return`Vector2`}getHashCode(){let e=this.x|0;return e=e*397^(this.y|0),e}toArray(e,t=0){return e[t]=this.x,e[t+1]=this.y,this}fromArray(t,n=0){return e.FromArrayToRef(t,n,this),this}asArray(){let e=[];return this.toArray(e,0),e}copyFrom(e){return this.x=e.x,this.y=e.y,this}copyFromFloats(e,t){return this.x=e,this.y=t,this}set(e,t){return this.copyFromFloats(e,t)}add(t){return new e(this.x+t.x,this.y+t.y)}addToRef(e,t){return t.x=this.x+e.x,t.y=this.y+e.y,this}addByPoint(t,n){return new e(this.x+t,this.y+n)}addInPlace(e){return this.x+=e.x,this.y+=e.y,this}subtract(t){return new e(this.x-t.x,this.y-t.y)}subtractByPoint(t,n){return new e(this.x-t,this.y-n)}subtractToRef(e,t){return t.x=this.x-e.x,t.y=this.y-e.y,this}subtractInPlace(e){return this.x-=e.x,this.y-=e.y,this}multiplyInPlace(e){return this.x*=e.x,this.y*=e.y,this}multiply(t){return new e(this.x*t.x,this.y*t.y)}multiplyToRef(e,t){return t.x=this.x*e.x,t.y=this.y*e.y,this}multiplyByFloats(t,n){return new e(this.x*t,this.y*n)}divide(t){return new e(this.x/t.x,this.y/t.y)}divideToRef(e,t){return t.x=this.x/e.x,t.y=this.y/e.y,this}divideInPlace(e){return this.divideToRef(e,this)}negate(){return new e(-this.x,-this.y)}negateInPlace(){return this.x*=-1,this.y*=-1,this}negateToRef(e){return e.copyFromFloats(this.x*-1,this.y*-1)}scaleInPlace(e){return this.x*=e,this.y*=e,this}scale(t){let n=new e(0,0);return this.scaleToRef(t,n),n}scaleToRef(e,t){return t.x=this.x*e,t.y=this.y*e,this}scaleAndAddToRef(e,t){return t.x+=this.x*e,t.y+=this.y*e,this}equals(e){return e&&this.x===e.x&&this.y===e.y}floor(){return new e(Math.floor(this.x),Math.floor(this.y))}fract(){return new e(this.x-Math.floor(this.x),this.y-Math.floor(this.y))}rotate(e){let t=Math.cos(e),n=Math.sin(e),r=t*this.x-n*this.y,i=n*this.x+t*this.y;return this.x=r,this.y=i,this}rotateToRef(e,t){let n=Math.cos(e),r=Math.sin(e);return t.x=n*this.x-r*this.y,t.y=r*this.x+n*this.y,this}rotateByPoint(t,n=e.create(0,0)){let r=Math.cos(t),i=Math.sin(t),a=n.x+(this.x-n.x)*r-(this.y-n.y)*i,o=n.y+(this.x-n.x)*i+(this.y-n.y)*r;return this.x=a,this.y=o,this}transformCoordinateOnRotate(e){let t=Math.sqrt(this.x**2+this.y**2),n=Math.atan2(this.y,this.x),r=-e+n;return this.x=t*Math.cos(r),this.y=t*Math.sin(r),this}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}lengthSquared(){return this.x*this.x+this.y*this.y}normalize(){return e.NormalizeToRef(this,this),this}clone(){return new e(this.x,this.y)}};function St(){let e=1,t=z().getContext(`2d`);return e=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),e<1?1:e}function Ct(e,t,n,r){let i=0,a=0,o=0,s=0,{startX:c,startY:l,endX:u,endY:d}=r;t===E.TOP?(i=c-n,a=l,o=u+n,s=l):t===E.BOTTOM?(i=c-n,a=d,o=u-n,s=d):t===E.LEFT?(i=c,a=l-n,o=c,s=d+n):t===E.RIGHT&&(i=u,a=l-n,o=u,s=d+n),e.beginPath(),e.moveToByPrecision(i,a),e.lineToByPrecision(o,s),e.stroke(),e.closePathByEnv()}function wt(e,t,n){let r=0,i=0,a=0,o=0,{startX:s,startY:c,endX:l,endY:u}=n;switch(t){case E.TL_BR:r=s,i=c,a=l,o=u;break;case E.TL_BC:r=s,i=c,a=(s+l)/2,o=u;break;case E.TL_MR:r=s,i=c,a=l,o=(c+u)/2;break;case E.BL_TR:r=s,i=u,a=l,o=c;break;case E.ML_TR:r=s,i=(c+u)/2,a=l,o=c;break;case E.BC_TR:r=(s+l)/2,i=u,a=l,o=c;break}e.beginPath(),e.moveToByPrecision(r,i),e.lineToByPrecision(a,o),e.closePathByEnv(),e.stroke()}function Tt(e,t,n){let r=0,i=0,a=0,o=0,s=0,c=0,l=0,u=0,{startX:d,startY:f,endX:p,endY:m}=n;switch(t){case E.TL_BR:r=d,i=f+1.5,a=p-1.5,o=m,s=d+1.5,c=f,l=p,u=m-1.5;break;case E.BL_TR:r=d,i=m-1.5,a=p-1.5,o=f,s=d+1.5,c=m,l=p,u=f+1.5;break}e.beginPath(),e.moveToByPrecision(r,i),e.lineToByPrecision(a,o),e.closePathByEnv(),e.stroke(),e.beginPath(),e.moveToByPrecision(s,c),e.lineToByPrecision(l,u),e.closePathByEnv(),e.stroke()}function Et(e,t,n,r){t===l.BorderStyleTypes.DOUBLE&&(n===E.TL_BR||n===E.BL_TR)?Tt(e,n,r):wt(e,n,r)}function Dt(e,t,n){let r=0,i=0,a=0,o=0,{startX:s,startY:c,endX:l,endY:u}=n;switch(t){case E.TOP:r=s,i=c,a=l,o=c;break;case E.BOTTOM:r=s,i=u,a=l,o=u;break;case E.LEFT:r=s,i=c,a=s,o=u;break;case E.RIGHT:r=l,i=c,a=l,o=u;break}e.beginPath(),e.clearRectForTexture(r,i,a-r,o-i)}function Ot(e,t){t===l.BorderStyleTypes.HAIR?e.setLineDash([1,1]):t===l.BorderStyleTypes.DASH_DOT_DOT||t===l.BorderStyleTypes.MEDIUM_DASH_DOT_DOT?e.setLineDash([2,2,5,2,2]):t===l.BorderStyleTypes.DASH_DOT||t===l.BorderStyleTypes.MEDIUM_DASH_DOT||t===l.BorderStyleTypes.SLANT_DASH_DOT?e.setLineDash([2,5,2]):t===l.BorderStyleTypes.DOTTED?e.setLineDash([2]):t===l.BorderStyleTypes.DASHED||t===l.BorderStyleTypes.MEDIUM_DASHED?e.setLineDash([3]):e.setLineDash([0])}function kt(){let e=At(1);return e-Math.floor(e)}function At(e){return Math.ceil(e/St()*100)/100}function jt(e){let t=1;return e===l.BorderStyleTypes.MEDIUM||e===l.BorderStyleTypes.MEDIUM_DASH_DOT||e===l.BorderStyleTypes.MEDIUM_DASHED||e===l.BorderStyleTypes.MEDIUM_DASH_DOT_DOT?t=2:e===l.BorderStyleTypes.THICK&&(t=3),t}function Mt(e,t,n,r,i=K.create(0,0)){let a=e.add(t).rotateByPoint(r),o=a.subtract(t),s=r-n;return o.rotateByPoint(s,a).add(i).transformCoordinateOnRotate(s)}function Nt(e){return e>0?D.DOWN:D.UP}function Pt(e,t,n){let r=[],i=0,a=0,o=0,s=0,c=0,l=Nt(n),u=e.length;n=Math.abs(n);let d=Math.tan(n),f=Math.sin(n),p=Math.cos(n);if(l===D.UP){let n=0;for(let i=0;i<u;i++){let{lineHeight:s=0}=e[i];n+=i===0?0:s;let l=t*f+s*p;r.push(n/d),l>a&&(a=l),i===0&&(o+=s*f,c+=s*p)}o+=n/f+t*p,c-=a}else{var m;let n=0,c=-1,l=[];for(let r=u-1;r>=0;r--){let{lineHeight:i=0}=e[r],s=i/d,m=(t+s)*f;l.unshift(i/d),m>a&&(a=m,n=s,c=r),r===0?o+=i*f:r===u-1?o+=t*p+i/f:o+=i/f}let h=((m=e[c])==null?void 0:m.lineHeight)||0,g=0;for(let t=c+1;t<=u-1;t++){let{lineHeight:n=0}=e[t];h+=n,g+=l[t]||0,r[t]=-g}g=0;for(let t=c-1;t>=0;t--){let{lineHeight:n=0}=e[t];g+=l[t+1]||0,r[t]=g,i+=n}r[c]=0,u===1&&(o+=t*p),s=h/f-n*p}return{rotateTranslateXList:r,rotatedHeight:a,rotatedWidth:o,fixOffsetX:s,fixOffsetY:c,rotateTranslateY:i}}function Ft(){let e=.5-kt();return{left:e,top:e}}function It(e,t,n,r){let i=V(t),a=n.clone().rotateByPoint(i,e),o=r.clone().rotateByPoint(i,e),s=a.clone();return s.rotateByPoint(V(-t),o),s}function Lt(e,t,n){let r=2**53-1,i=2**53-1,a=-(2**53-1),o=-(2**53-1);n.forEach(e=>{let{left:t=0,top:n=0,width:s=0,height:c=0}=e;r=Math.min(r,t),i=Math.min(i,n),a=Math.max(a,t+s),o=Math.max(o,n+c)});let s=a-r,c=o-i;return{left:r+e,top:i+t,width:s,height:c,angle:0,scaleX:1,scaleY:1}}function Rt(e,t,n){let r=2**53-1,i=2**53-1,a=-(2**53-1),o=-(2**53-1);n.forEach(e=>{let{left:t=0,top:n=0,width:s=0,height:c=0}=e;r=Math.min(r,t),i=Math.min(i,n),a=Math.max(a,t+s),o=Math.max(o,n+c)});let s=a-r,c=o-i;return{left:r,top:i,width:s,height:c,angle:0,scaleX:1,scaleY:1}}function zt(e,t,n,r,i){let{left:a=0,top:o=0,width:s=0,height:c=0,angle:l=0}=e,{left:u=0,top:d=0,angle:f=0,flipX:p=!1,flipY:m=!1}=t,h=a,g=o,_=s,v=c;if(i&&i.width>0&&i.height>0){let e=Bt(i,{left:u,top:d,width:n,height:r},{left:a,top:o,width:s,height:c});h=e.left,g=e.top,_=e.width,v=e.height}let y=u+n/2,b=d+r/2,x=e.flipX||!1,S=e.flipY||!1,C=h,w=g;if(p){let e=C+_/2;C=2*y-e-_/2,x=!x}if(m){let e=w+v/2;w=2*b-e-v/2,S=!S}let T=C+_/2,E=w+v/2,D=It(new K(y,b),f,new K(C,w),new K(T,E));return{left:D.x,top:D.y,width:_,height:v,angle:f+l,flipX:x,flipY:S}}function Bt(e,t,n){if(!e)return{left:n.left,top:n.top,width:n.width,height:n.height};let{left:r,top:i,width:a,height:o}=e,{left:s,top:c,width:l,height:u}=t;return{left:s+(n.left-r)/a*l,top:c+(n.top-i)/o*u,width:n.width/a*l,height:n.height/o*u}}function Vt(e,t){let n=(t%360+360)%360,r=e.left+e.width/2,i=e.top+e.height/2,a=n>=315||n<45||n>=135&&n<225,o,s;return a?(o=e.width,s=e.height):(o=e.height,s=e.width),{left:r-o/2,top:i-s/2,width:o,height:s}}let Ht=function(e){return e[e.PointerMove=0]=`PointerMove`,e[e.PointerDown=1]=`PointerDown`,e[e.PointerUp=2]=`PointerUp`,e[e.Dblclick=3]=`Dblclick`,e[e.Keyboard=4]=`Keyboard`,e}({});var Ut=class{};U(Ut,`DOM_DELTA_PIXEL`,0),U(Ut,`DOM_DELTA_LINE`,1),U(Ut,`DOM_DELTA_PAGE`,2);let Wt=function(e){return e[e.Generic=0]=`Generic`,e[e.Keyboard=1]=`Keyboard`,e[e.Mouse=2]=`Mouse`,e[e.Touch=3]=`Touch`,e}({}),q=function(e){return e[e.Horizontal=0]=`Horizontal`,e[e.Vertical=1]=`Vertical`,e[e.LeftClick=2]=`LeftClick`,e[e.MiddleClick=3]=`MiddleClick`,e[e.RightClick=4]=`RightClick`,e[e.BrowserBack=5]=`BrowserBack`,e[e.BrowserForward=6]=`BrowserForward`,e[e.MouseWheelX=7]=`MouseWheelX`,e[e.MouseWheelY=8]=`MouseWheelY`,e[e.MouseWheelZ=9]=`MouseWheelZ`,e[e.DeltaHorizontal=10]=`DeltaHorizontal`,e[e.DeltaVertical=11]=`DeltaVertical`,e[e.FakeMove=12]=`FakeMove`,e}({}),J=function(e){return e[e.translate=0]=`translate`,e[e.resize=1]=`resize`,e[e.scale=2]=`scale`,e[e.skew=3]=`skew`,e[e.flip=4]=`flip`,e[e.all=5]=`all`,e}({});const Gt=[new K(0,0),new K(1,1)];var Kt=class{constructor(e=Gt){this._lines=e}intersection(e){if(this._lines.length<1||e.length<1)return;let t=[];for(let n=1;n<this._lines.length;n++){let r=this._lines[n-1],i=this._lines[n];for(let a=1;a<e.length;a++){let e=this._lines[n-1],a=this._lines[n],o=this._intersection({from:r,to:i},{from:e,to:a});o&&t.push(o)}}return t}_intersection(e,t){let n=e.from,r=e.to,i=t.from,a=t.to,o=(n.x-i.x)*(r.y-i.y)-(n.y-i.y)*(r.x-i.x),s=(n.x-a.x)*(r.y-a.y)-(n.y-a.y)*(r.x-a.x);if(o*s>=0)return!1;let c=(i.x-n.x)*(a.y-n.y)-(i.y-n.y)*(a.x-n.x);if(c*(c+o-s)>=0)return!1;let l=c/(s-o),u=l*(r.x-n.x),d=l*(r.y-n.y);return new K(n.x+u,n.y+d)}};const qt=1e3,Jt=16.67;var Yt=class extends l.Disposable{constructor(e=60){super(),U(this,`_enabled`,!0),U(this,`_rollingFrameTime`,void 0),U(this,`_lastFrameTimeMs`,void 0),U(this,`_frameCountInLastSecond`,0),U(this,`_lastSecondTimeMs`,void 0),U(this,`_recFPSValueLastSecond`,60),this._rollingFrameTime=new Xt(e)}dispose(){super.dispose()}get averageFrameTime(){return this._rollingFrameTime.averageFrameTime}get averageFrameTimeVariance(){return this._rollingFrameTime.variance}get instantaneousFrameTime(){return this._rollingFrameTime.history(0)}get averageFPS(){return this._recFPSValueLastSecond}get instantaneousFPS(){let e=this._rollingFrameTime.history(0);return e===0?0:qt/e}get isSaturated(){return this._rollingFrameTime.isSaturated()}get isEnabled(){return this._enabled}sampleFrame(e=this.now()){if(this._enabled){if(this._frameCountInLastSecond++,this._lastSecondTimeMs!=null){if(this._lastSecondTimeMs<=e-qt){let t=e-this._lastSecondTimeMs;this._recFPSValueLastSecond=Math.round(this._frameCountInLastSecond/t*qt),this._lastSecondTimeMs=e,this._frameCountInLastSecond=0}}else this._lastSecondTimeMs=e;if(this._lastFrameTimeMs!=null){let t=e-this._lastFrameTimeMs;this._rollingFrameTime.addFrameTime(t),this._rollingFrameTime.calcAverageFrameTime()}}}endFrame(e){this.sampleFrame(e),this._lastFrameTimeMs=e}now(){return performance&&performance.now?performance.now():Date.now()}enable(){this._enabled=!0}disable(){this._enabled=!1,this._lastFrameTimeMs=null}reset(){this._lastFrameTimeMs=null,this._rollingFrameTime.reset()}},Xt=class{constructor(e){U(this,`averageFrameTime`,Jt),U(this,`variance`,0),U(this,`_samples`,[]),U(this,`_sampleCount`,0),U(this,`_pos`,0),U(this,`_m2`,0),this._samples=Array(e),this.reset()}calcAverageFrameTime(){let e=this.history(0),t;if(this.isSaturated()){let e=this._samples[this._pos];t=e-this.averageFrameTime,this._m2-=t*(e-this.averageFrameTime)}else this._sampleCount++;let n=Math.min(...this._samples),r=Math.min(...this._samples),i=this._samples.filter(e=>e!==r&&e!==n);this.averageFrameTime=i.reduce((e,t)=>e+t,0)/i.length,t=e-this.averageFrameTime,this._m2+=t*(e-this.averageFrameTime),this.variance=this._m2/(this._sampleCount-1)}addFrameTime(e){this._samples[this._pos]=e,this._pos=++this._pos%this._samples.length}history(e){if(e>=this._sampleCount||e>=this._samples.length)return 0;let t=this._wrapPosition(this._pos-1);return this._samples[this._wrapPosition(t-e)]}isSaturated(){return this._sampleCount>=this._samples.length}reset(){this.averageFrameTime=Jt,this.variance=0,this._sampleCount=0,this._pos=0,this._m2=0}_wrapPosition(e){let t=this._samples.length;return(e%t+t)%t}};const Zt={strokeWidth:1.5,stroke:`rgba(0, 0, 0, 0)`,strokeActive:`rgba(0, 0, 0, 1)`,fill:`rgba(0, 0, 0, 0.2)`};function Qt(e){let t=e.getScene().findViewportByPosToScene(K.FromArray([e.offsetX,e.offsetY]));if(!t)return{scrollX:0,scrollY:0};let n=t.transScroll2ViewportScrollValue(t.scrollX,t.scrollY);return{scrollX:n.x,scrollY:n.y}}function $t(e){let{a:t=0,v:n=l.BooleanNumber.FALSE}=e||{a:0,v:l.BooleanNumber.FALSE},r=0,i=t;return n===l.BooleanNumber.TRUE&&(r=90,i=90),{centerAngle:r,vertexAngle:i}}const en=[1,0,0,1,0,0];var Y=class e{constructor(e=en){U(this,`dirty`,!1),U(this,`_m`,void 0),this._m=e&&e.slice()||en}static create(e=en){return new this(e)}reset(){this._m[0]=1,this._m[1]=0,this._m[2]=0,this._m[3]=1,this._m[4]=0,this._m[5]=0}copy(){return new e(this._m)}copyInto(e){e._m[0]=this._m[0],e._m[1]=this._m[1],e._m[2]=this._m[2],e._m[3]=this._m[3],e._m[4]=this._m[4],e._m[5]=this._m[5]}applyPoint(e,t=!1){let n=this._m,r=n[0]*e.x+n[2]*e.y,i=n[1]*e.x+n[3]*e.y;return t?new K(r,i):new K(r+n[4],i+n[5])}translate(e,t){return this._m[4]+=this._m[0]*e+this._m[2]*t,this._m[5]+=this._m[1]*e+this._m[3]*t,this}scale(e,t){return this._m[0]*=e,this._m[1]*=e,this._m[2]*=t,this._m[3]*=t,this}rotate(e){let t=V(e),n=Math.cos(t),r=Math.sin(t),i=this._m[0]*n+this._m[2]*r,a=this._m[1]*n+this._m[3]*r,o=this._m[0]*-r+this._m[2]*n,s=this._m[1]*-r+this._m[3]*n;return this._m[0]=i,this._m[1]=a,this._m[2]=o,this._m[3]=s,this}getTranslation(){return{x:this._m[4],y:this._m[5]}}skew(e,t){let n=this._m[0]+this._m[2]*t,r=this._m[1]+this._m[3]*t,i=this._m[2]+this._m[0]*e,a=this._m[3]+this._m[1]*e;return this._m[0]=n,this._m[1]=r,this._m[2]=i,this._m[3]=a,this}multiply(e){let t=this._m[0]*e._m[0]+this._m[2]*e._m[1],n=this._m[1]*e._m[0]+this._m[3]*e._m[1],r=this._m[0]*e._m[2]+this._m[2]*e._m[3],i=this._m[1]*e._m[2]+this._m[3]*e._m[3],a=this._m[0]*e._m[4]+this._m[2]*e._m[5]+this._m[4],o=this._m[1]*e._m[4]+this._m[3]*e._m[5]+this._m[5];return this._m[0]=t,this._m[1]=n,this._m[2]=r,this._m[3]=i,this._m[4]=a,this._m[5]=o,this}invert(){let e=1/(this._m[0]*this._m[3]-this._m[1]*this._m[2]),t=this._m[3]*e,n=-this._m[1]*e,r=-this._m[2]*e,i=this._m[0]*e,a=e*(this._m[2]*this._m[5]-this._m[3]*this._m[4]),o=e*(this._m[1]*this._m[4]-this._m[0]*this._m[5]);return this._m[0]=t,this._m[1]=n,this._m[2]=r,this._m[3]=i,this._m[4]=a,this._m[5]=o,this}getMatrix(){return this._m}getMatrixByAccurate(e=3){return this._m.map(t=>fe(t,e))}setAbsolutePosition(e){let t=this._m[0],n=this._m[1],r=this._m[2],i=this._m[3],a=this._m[4],o=this._m[5],s=(t*(e.y-o)-n*(e.x-a))/(t*i-n*r),c=(e.x-a-r*s)/t;return this.translate(c,s)}decompose(){let e=this._m[0],t=this._m[1],n=this._m[2],r=this._m[3],i=this._m[4],a=this._m[5],o=e*r-t*n,s={x:i,y:a,angle:0,scaleX:0,scaleY:0,skewX:0,skewY:0};if(e!==0||t!==0){let i=Math.sqrt(e*e+t*t);s.angle=t>0?Math.acos(e/i):-Math.acos(e/i),s.scaleX=i,s.scaleY=o/i,s.skewX=(e*n+t*r)/o,s.skewY=0}else if(n!==0||r!==0){let i=Math.sqrt(n*n+r*r);s.angle=Math.PI/2-(r>0?Math.acos(-n/i):-Math.acos(n/i)),s.scaleX=o/i,s.scaleY=i,s.skewX=0,s.skewY=(e*n+t*r)/o}return s.angle=B(s.angle),s}makeBoundingBoxFromPoints(e){if(this)for(let t=0;t<e.length;t++)e[t]=this.applyPoint(e[t]);let t=[e[0].x,e[1].x,e[2].x,e[3].x],n=Math.min(...t),r=Math.max(...t)-n,i=[e[0].y,e[1].y,e[2].y,e[3].y],a=Math.min(...i);return{left:n,top:a,width:r,height:Math.max(...i)-a,points:e}}composeMatrix(t){let n=new e([1,0,0,1,t.left||0,t.top||0]);return t.angle&&n.rotate(t.angle),(t.scaleX!==1||t.scaleY!==1||t.skewX||t.skewY||t.flipX||t.flipY)&&n.multiply(this._calcDimensionsMatrix(t)),this._m=n.getMatrix(),this}clone(){return new e([...this._m])}_calcDimensionsMatrix(t){var n,r;let i=(n=t.scaleX)==null?1:n,a=(r=t.scaleY)==null?1:r,o=new e([t.flipX?-i:i,0,0,t.flipY?-a:a,0,0]);return t.skewX&&o.multiply(new e([1,0,Math.tan(V(t.skewX)),1,0,0])),t.skewY&&o.multiply(new e([1,Math.tan(V(t.skewY)),0,1,0,0])),o}convert2DOMMatrix2D(){let e=this.getMatrix();return{a:e[0],b:e[1],c:e[2],d:e[3],e:e[4],f:e[5]}}};const tn=[`top`,`left`,`width`,`height`,`angle`,`scaleX`,`scaleY`,`skewX`,`skewY`,`flipX`,`flipY`,`strokeWidth`];let nn=function(e){return e[e.UNKNOWN=0]=`UNKNOWN`,e[e.RICH_TEXT=1]=`RICH_TEXT`,e[e.SHAPE=2]=`SHAPE`,e[e.IMAGE=3]=`IMAGE`,e[e.RECT=4]=`RECT`,e[e.CIRCLE=5]=`CIRCLE`,e[e.CHART=6]=`CHART`,e}({});var rn=class extends l.Disposable{constructor(e){super(),U(this,`groupKey`,void 0),U(this,`isInGroup`,!1),U(this,`isDrawingObject`,!1),U(this,`objectType`,nn.UNKNOWN),U(this,`onTransformChange$`,new l.EventSubject),U(this,`onPointerDown$`,new l.EventSubject),U(this,`onPointerMove$`,new l.EventSubject),U(this,`onPointerUp$`,new l.EventSubject),U(this,`onPointerOut$`,new l.EventSubject),U(this,`onPointerOver$`,new l.EventSubject),U(this,`onPointerLeave$`,new l.EventSubject),U(this,`onPointerEnter$`,new l.EventSubject),U(this,`onSingleClick$`,new l.EventSubject),U(this,`onClick$`,new l.EventSubject),U(this,`onDblclick$`,new l.EventSubject),U(this,`onTripleClick$`,new l.EventSubject),U(this,`onMouseWheel$`,new l.EventSubject),U(this,`onDragLeave$`,new l.EventSubject),U(this,`onDragOver$`,new l.EventSubject),U(this,`onDragEnter$`,new l.EventSubject),U(this,`onDrop$`,new l.EventSubject),U(this,`onIsAddedToParent$`,new l.EventSubject),U(this,`onDispose$`,new l.EventSubject),U(this,`_oKey`,void 0),U(this,`_dirty`,!0),U(this,`_forceDirty`,!0),U(this,`_printable`,!1),U(this,`_top`,0),U(this,`_topOrigin`,0),U(this,`_left`,0),U(this,`_leftOrigin`,0),U(this,`_width`,0),U(this,`_widthOrigin`,0),U(this,`_height`,0),U(this,`_heightOrigin`,0),U(this,`_angle`,0),U(this,`_scaleX`,1),U(this,`_scaleY`,1),U(this,`_skewX`,0),U(this,`_skewY`,0),U(this,`_flipX`,!1),U(this,`_flipY`,!1),U(this,`_strokeWidth`,0),U(this,`_parent`,void 0),U(this,`_zIndex`,0),U(this,`_evented`,!0),U(this,`_visible`,!0),U(this,`_debounceParentDirty`,!0),U(this,`_transform`,new Y),U(this,`_cursor`,C.DEFAULT),U(this,`_transformerConfig`,void 0),U(this,`_forceRender`,!1),U(this,`_layer`,void 0),e?this._oKey=e:this._oKey=re()}get transform(){let e=this._transform.clone();return this.transformForAngle(e)}transformForAngle(e){if(this._angle!==0){let t=(this.width+this.strokeWidth)/2,n=(this.height+this.strokeWidth)/2;e.rotate(-this._angle),e.translate(t,n),e.rotate(this.angle),e.translate(-t,-n)}return e}get printable(){return this._printable}get topOrigin(){return this._topOrigin}get leftOrigin(){return this._leftOrigin}get widthOrigin(){return this._widthOrigin}get heightOrigin(){return this._heightOrigin}get classType(){return O.BASE_OBJECT}get top(){return this._top}get left(){return this._left}get width(){return this._width}get height(){return this._height}get strokeWidth(){return this._strokeWidth}get angle(){return this._angle}get scaleX(){return this._scaleX}get scaleY(){return this._scaleY}get ancestorScaleX(){var e;let t=((e=this.getParent())==null?void 0:e.ancestorScaleX)||1;return this.scaleX*t}get ancestorScaleY(){var e;let t=((e=this.getParent())==null?void 0:e.ancestorScaleY)||1;return this.scaleY*t}get ancestorLeft(){var e;return this.left+(((e=this.getParent())==null?void 0:e.ancestorLeft)||0)}get ancestorTop(){var e;return this.top+(((e=this.getParent())==null?void 0:e.ancestorTop)||0)}get ancestorTransform(){let e=this.getParent();return this.isInGroup&&(e==null?void 0:e.classType)===O.GROUP?e==null?void 0:e.ancestorTransform.multiply(this.transform):this.transform}get ancestorGroup(){let e=null,t=this.getParent();for(;t!=null&&t;)t.classType===O.GROUP&&(e=t),t=t.classType===O.GROUP?t.getParent():null;return e}get skewX(){return this._skewX}get skewY(){return this._skewY}get flipX(){return this._flipX}get flipY(){return this._flipY}get parent(){return this._parent}get oKey(){return this._oKey}get zIndex(){return this._zIndex}get evented(){return this._evented}get visible(){return this._visible}get debounceParentDirty(){return this._debounceParentDirty}get cursor(){return this._cursor}get layer(){return this._layer}set transform(e){this._transform=e}set zIndex(e){this._zIndex=e}set parent(e){this._parent=e}set evented(e){this._evented=e}set debounceParentDirty(e){this._debounceParentDirty=e}set cursor(e){this.setCursor(e)}set layer(e){this._layer=e}set top(e){var t;this._topOrigin=e,this._top=I(e,(t=this._parent)==null?void 0:t.height)}set left(e){var t;this._leftOrigin=e,this._left=I(e,(t=this._parent)==null?void 0:t.width)}set width(e){var t;this._widthOrigin=e,this._width=I(e,(t=this._parent)==null?void 0:t.width)}set height(e){var t;this._heightOrigin=e,this._height=I(e,(t=this._parent)==null?void 0:t.height)}set strokeWidth(e){this._strokeWidth=e}set angle(e){this._angle=e}set scaleX(e){this._scaleX=e}set scaleY(e){this._scaleY=e}set skewX(e){this._skewX=e}set flipY(e){this._flipY=e}set flipX(e){this._flipX=e}set skewY(e){this._skewY=e}get transformerConfig(){return this._transformerConfig}set transformerConfig(e){this._transformerConfig=e}get maxZIndex(){return this._zIndex}makeDirty(e=!0){if(this._dirty=e,e){if(this._layer==null){this._dirty=!1;return}this._layer.makeDirtyWithDebounce(e)}return this}makeForceDirty(e=!0){this._forceDirty=e}makeDirtyNoDebounce(e=!0){if(this._dirty=e,e){var t;(t=this._layer)==null||t.makeDirty(e)}return this}isDirty(){return this._dirty}translate(e,t){let n=this.top;t!==void 0&&(this.top=t);let r=this.left;return e!==void 0&&(this.left=e),this._setTransForm(),this.onTransformChange$.emitEvent({type:J.translate,value:{top:this._top,left:this._left},preValue:{top:n,left:r}}),this}resize(e,t){let n=this.width;e!==void 0&&(this.width=e);let r=this.height;return t!==void 0&&(this.height=t),this._setTransForm(),this.onTransformChange$.emitEvent({type:J.resize,value:{width:this._width,height:this._height},preValue:{width:n,height:r}}),this}scale(e,t){let n=this.scaleX;e!==void 0&&(this.scaleX=e);let r=this.scaleY;return t!==void 0&&(this.scaleY=t),this._setTransForm(),this.onTransformChange$.emitEvent({type:J.scale,value:{scaleX:this._scaleX,scaleY:this._scaleY},preValue:{scaleX:n,scaleY:r}}),this}skew(e,t){let n=e;e!==void 0&&(this.skewX=e);let r=t;return t!==void 0&&(this.skewY=t),this._setTransForm(),this.onTransformChange$.emitEvent({type:J.skew,value:{skewX:this._skewX,skewY:this._skewY},preValue:{skewX:n,skewY:r}}),this}flip(e,t){let n=e;e!==void 0&&(this.flipX=e);let r=t;return t!==void 0&&(this.flipY=t),this._setTransForm(),this.onTransformChange$.emitEvent({type:J.flip,value:{flipX:this._flipX,flipY:this._flipY},preValue:{flipX:n,flipY:r}}),this}transformByState(e){let t=Object.keys(e),n={};if(t.length!==0)return t.forEach(t=>{e[t]!==void 0&&(n[t]=this[t],this[t]=e[t])}),this._setTransForm(),this.onTransformChange$.emitEvent({type:J.all,value:e,preValue:n}),this}isRender(e){return this._forceRender?!1:e&&!this.isInGroup}getParent(){return this._parent}getState(){return{left:this.left,top:this.top,width:this.width,height:this.height,scaleX:this.scaleX,scaleY:this.scaleY,angle:this.angle,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY}}getRealBound(){var e,t;let{width:n,height:r,left:i,top:a}=this,o;if(this.isInGroup&&((e=this.parent)==null?void 0:e.classType)===O.GROUP&&(t=this.parent)!=null&&t.getBaseBound&&(o=this.parent.getBaseBound()),o){let e=this.getParent(),t={top:e.top||0,left:e.left,width:e.width||0,height:e.height||0},s=Bt(o,t,{width:n,height:r,left:i,top:a});n=s.width,r=s.height,i=s.left-t.left-t.width/2,a=s.top-t.top-t.height/2}return{left:i,top:a,width:n,height:r}}hide(){this._visible=!1,this._makeDirtyMix()}show(){this._visible=!0,this._makeDirtyMix()}render(e,t){}isHit(e){let t=this.getInverseCoord(e);return t.x>=-this.strokeWidth/2&&t.x<=this.width+this.strokeWidth/2&&t.y>=-this.strokeWidth/2&&t.y<=this.height+this.strokeWidth/2}triggerPointerMove(e){var t;if(!((t=this.onPointerMove$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerPointerMove(e),!1}return!0}triggerPointerDown(e){var t;if(!((t=this.onPointerDown$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerPointerDown(e),!1}return!0}triggerPointerUp(e){var t;if(!((t=this.onPointerUp$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerPointerUp(e),!1}return!0}triggerSingleClick(e){var t;if(!((t=this.onSingleClick$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerSingleClick(e),!1}return!0}triggerClick(e){var t;if(!((t=this.onClick$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerClick(e),!1}return!0}triggerDblclick(e){var t;if(!((t=this.onDblclick$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerDblclick(e),!1}return!0}triggerTripleClick(e){var t;if(!((t=this.onTripleClick$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerTripleClick(e),!1}return!0}triggerMouseWheel(e){var t;if(!((t=this.onMouseWheel$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerMouseWheel(e),!1}return!0}triggerPointerOut(e){var t;if(!((t=this.onPointerOut$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerPointerOut(e),!1}return!0}triggerPointerLeave(e){var t;if(!((t=this.onPointerLeave$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerPointerLeave(e),!1}return!0}triggerPointerOver(e){if(!this.onPointerOver$.emitEvent(e)){var t;return(t=this._parent)==null||t.triggerPointerOver(e),!1}return!0}triggerPointerEnter(e){var t;if(!((t=this.onPointerEnter$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerPointerEnter(e),!1}return!0}triggerPointerCancel(e){var t;if(!((t=this.onPointerEnter$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerPointerCancel(e),!1}return!0}triggerDragLeave(e){var t;if(!((t=this.onDragLeave$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerDragLeave(e),!1}return!0}triggerDragOver(e){var t;if(!((t=this.onDragOver$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerDragOver(e),!1}return!0}triggerDragEnter(e){var t;if(!((t=this.onDragEnter$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerDragEnter(e),!1}return!0}triggerDrop(e){var t;if(!((t=this.onDrop$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerDrop(e),!1}return!0}dispose(){var e;super.dispose(),this.onTransformChange$.complete(),this.onPointerDown$.complete(),this.onPointerMove$.complete(),this.onPointerUp$.complete(),this.onMouseWheel$.complete(),this.onPointerOut$.complete(),this.onPointerLeave$.complete(),this.onPointerOver$.complete(),this.onPointerEnter$.complete(),this.onDragLeave$.complete(),this.onDragOver$.complete(),this.onDragEnter$.complete(),this.onDrop$.complete(),this.onSingleClick$.complete(),this.onClick$.complete(),this.onDblclick$.complete(),this.onTripleClick$.complete(),this.onIsAddedToParent$.complete(),(e=this.parent)==null||e.removeObject(this),this.onDispose$.emitEvent(this),this._makeDirtyMix(),this.onDispose$.complete(),this._parent=null,this._layer=null,this.transform=null}toJson(){let e={};return tn.forEach(t=>{this[t]&&(e[t]=this[t])}),e}getScene(){let e=this.parent;for(;e;){if(e.classType===O.SCENE)return e;e=e.getParent()}return null}resetCursor(){var e;(e=this.getScene())==null||e.resetCursor()}setCursor(e){var t;this._cursor=e,(t=this.getScene())==null||t.setCursor(e)}getEngine(){let e=this.getParent();for(;e!=null;){if(e.classType===O.ENGINE)return e;e=e.getParent()}return null}getObjects(){return[]}getLayerIndex(){return this._layer==null?1:this._layer.zIndex}applyTransform(){var e;(e=this.getScene())==null||e.attachTransformerTo(this)}removeTransform(){var e;(e=this.getScene())==null||e.detachTransformerFrom(this)}getInverseCoord(e){return this.ancestorTransform.invert().applyPoint(e)}_setTransForm(){this.transform=Y.create().composeMatrix({left:this.left+this.strokeWidth/2,top:this.top+this.strokeWidth/2,scaleX:this.scaleX,scaleY:this.scaleY,angle:this.angle,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY}),this._makeDirtyMix()}_makeDirtyMix(){this.debounceParentDirty?this.makeDirty(!0):this.makeDirtyNoDebounce(!0)}};function an(e){let t=e.getBoundingClientRect(),n=document.body,r=document.documentElement,i=window.pageYOffset||r.scrollTop||n.scrollTop,a=window.pageXOffset||r.scrollLeft||n.scrollLeft,o=r.clientTop||n.clientTop,s=r.clientLeft||n.clientLeft;return{top:t.top+i-o,left:t.left+a-s}}var on=class{constructor(e,t){U(this,`__mode`,`rendering`),U(this,`_transformCache`,void 0),U(this,`canvas`,void 0),U(this,`_context`,void 0),U(this,`_systemType`,void 0),U(this,`_browserType`,void 0),U(this,`renderConfig`,{}),U(this,`_canvasColorService`,void 0),U(this,`_id`,void 0),U(this,`_normalizedCachedFont`,void 0),this.canvas=e.canvas,this._context=e,this._canvasColorService=t==null?void 0:t.canvasColorService}getId(){return this._id}setId(e){this._id=e}isContextLost(){return this._context.isContextLost()}get globalAlpha(){return this._context.globalAlpha}set globalAlpha(e){this._context.globalAlpha=e}get globalCompositeOperation(){return this._context.globalCompositeOperation}set globalCompositeOperation(e){this._context.globalCompositeOperation=e}get fillStyle(){return this._context.fillStyle}set fillStyle(e){this._context.fillStyle=this._canvasColorService&&typeof e==`string`?this._canvasColorService.getRenderColor(e):e}get strokeStyle(){return this._context.strokeStyle}set strokeStyle(e){this._context.strokeStyle=this._canvasColorService&&typeof e==`string`?this._canvasColorService.getRenderColor(e):e}get filter(){return this._context.filter}set filter(e){this._context.filter=e}get imageSmoothingEnabled(){return this._context.imageSmoothingEnabled}set imageSmoothingEnabled(e){this._context.imageSmoothingEnabled=e}get imageSmoothingQuality(){return this._context.imageSmoothingQuality}set imageSmoothingQuality(e){this._context.imageSmoothingQuality=e}get lineCap(){return this._context.lineCap}set lineCap(e){this._context.lineCap=e}get lineDashOffset(){return this._context.lineDashOffset}set lineDashOffset(e){this._context.lineDashOffset=e}get lineJoin(){return this._context.lineJoin}set lineJoin(e){this._context.lineJoin=e}get lineWidth(){return this._context.lineWidth}set lineWidth(e){this._context.lineWidth=e}setLineWidthByPrecision(e){let{scaleX:t,scaleY:n}=this._getScale();this._context.lineWidth=e/Math.max(t,n)}get miterLimit(){return this._context.miterLimit}set miterLimit(e){this._context.miterLimit=e}get shadowBlur(){return this._context.shadowBlur}set shadowBlur(e){this._context.shadowBlur=e}get shadowColor(){return this._context.shadowColor}set shadowColor(e){this._context.shadowColor=e}get shadowOffsetX(){return this._context.shadowOffsetX}set shadowOffsetX(e){this._context.shadowOffsetX=e}get shadowOffsetY(){return this._context.shadowOffsetY}set shadowOffsetY(e){this._context.shadowOffsetY=e}get direction(){return this._context.direction}set direction(e){this._context.direction=e}get font(){if(this._normalizedCachedFont)return this._normalizedCachedFont;let e=this._context.font;return this._normalizedCachedFont=e,e}set font(e){this._context.font=e,this._normalizedCachedFont=``}get fontKerning(){return this._context.fontKerning}set fontKerning(e){this._context.fontKerning=e}get fontStretch(){return this._context.fontStretch}set fontStretch(e){this._context.fontStretch=e}get fontVariantCaps(){return this._context.fontVariantCaps}set fontVariantCaps(e){this._context.fontVariantCaps=e}get letterSpacing(){return this._context.letterSpacing}set letterSpacing(e){this._context.letterSpacing=e}get textRendering(){return this._context.textRendering}set textRendering(e){this._context.textRendering=e}get wordSpacing(){return this._context.wordSpacing}set wordSpacing(e){this._context.wordSpacing=e}get textAlign(){return this._context.textAlign}set textAlign(e){this._context.textAlign=e}get textBaseline(){return this._context.textBaseline}set textBaseline(e){this._context.textBaseline=e}_getScale(){let{a:e,b:t,c:n,d:r}=this.getTransform();return{scaleX:Math.sqrt(e*e+t*t),scaleY:Math.sqrt(n*n+r*r)}}getScale(){return this._getScale()}getContextAttributes(){return this._context.getContextAttributes()}isPointInStroke(...e){return this._context.isPointInStroke(...e)}createConicGradient(e,t,n){return this._context.createConicGradient(e,t,n)}roundRect(e,t,n,r,i){this._context.roundRect(e,t,n,r,i)}roundRectByPrecision(e,t,n,r,i){let{scaleX:a,scaleY:o}=this._getScale();e=H(e,a),t=H(t,o),n=H(n,a),r=H(r,o),this.roundRect(e,t,n,r,i)}getTransform(){return this._transformCache||this._context.getTransform()}resetTransform(){this._transformCache=null,this._context.resetTransform()}drawFocusIfNeeded(...e){return this._context.drawFocusIfNeeded(...e)}reset(){this._transformCache=null,this._context.reset()}arc(e,t,n,r,i,a){this._context.arc(e,t,Math.max(0,n),r,i,a)}arcByPrecision(e,t,n,r,i,a){let{scaleX:o,scaleY:s}=this._getScale();e=H(e,o),t=H(t,s),this.arc(e,t,n,r,i,a)}arcTo(e,t,n,r,i){this._context.arcTo(e,t,n,r,i)}arcToByPrecision(e,t,n,r,i){let{scaleX:a,scaleY:o}=this._getScale();e=H(e,a),t=H(t,o),n=H(n,a),r=H(r,o),this.arcTo(e,t,n,r,i)}beginPath(){this._context.beginPath()}bezierCurveTo(e,t,n,r,i,a){this._context.bezierCurveTo(e,t,n,r,i,a)}bezierCurveToByPrecision(e,t,n,r,i,a){let{scaleX:o,scaleY:s}=this._getScale();i=H(i,o),a=H(a,s),e=H(e,o),t=H(t,s),n=H(n,o),r=H(r,s),this.bezierCurveTo(e,t,n,r,i,a)}clearRect(e,t,n,r){this._context.clearRect(e,t,n,r)}clearRectByPrecision(e,t,n,r){let{scaleX:i,scaleY:a}=this._getScale();e=H(e,i),t=H(t,a),n=H(n,i),r=H(r,a),this.clearRect(e,t,n,r)}clip(...e){this._context.clip(...e)}closePath(){this._context.closePath()}getSystemType(){return this._systemType||(this._systemType=l.Tools.getSystemType()),this._systemType}getBrowserType(){return this._browserType||(this._browserType=l.Tools.getBrowserType()),this._browserType}closePathByEnv(){let e=this.getSystemType()===`Mac`,t=this.getBrowserType()===`Chrome`;e&&t||this._context.closePath()}createImageData(...e){if(e.length===0)throw Error(`arguments is zero`);return e.length===1?this._context.createImageData(e[0]):e.length===2?this._context.createImageData(e[0],e[1]):this._context.createImageData(e[0],e[1],e[1])}createLinearGradient(e,t,n,r){return this._context.createLinearGradient(e,t,n,r)}createPattern(e,t){return this._context.createPattern(e,t)}createRadialGradient(e,t,n,r,i,a){return this._context.createRadialGradient(e,t,n,r,i,a)}drawImage(...e){let t=e,n=this._context;t.length===3?n.drawImage(e[0],e[1],e[2]):t.length===5?n.drawImage(e[0],e[1],e[2],e[3],e[4]):t.length===9&&n.drawImage(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])}ellipse(e,t,n,r,i,a,o,s){this._context.ellipse(e,t,n,r,i,a,o,s)}isPointInPath(...e){return this._context.isPointInPath(...e)}fill(...e){this._context.fill(...e)}fillRect(e,t,n,r){this._context.fillRect(e,t,n,r)}fillRectByPrecision(e,t,n,r){let{scaleX:i,scaleY:a}=this._getScale();e=H(e,i),t=H(t,a),n=H(n,i),r=H(r,a),this.fillRect(e,t,n,r)}strokeRect(e,t,n,r){this._context.strokeRect(e,t,n,r)}strokeRectPrecision(e,t,n,r){let{scaleX:i,scaleY:a}=this._getScale();e=H(e,i),t=H(t,a),n=H(n,i),r=H(r,a),this.strokeRect(e,t,n,r)}fillText(e,t,n,r){r?this._context.fillText(e,t,n,r):this._context.fillText(e,t,n)}fillTextPrecision(e,t,n,r){let{scaleX:i,scaleY:a}=this._getScale();t=H(t,i),n=H(n,a),r?(r=H(r,i),this._context.fillText(e,t,n,r)):this._context.fillText(e,t,n)}measureText(e){return this._context.measureText(e)}getImageData(e,t,n,r){return this._context.getImageData(e,t,n,r)}lineTo(e,t){this._context.lineTo(e,t)}lineToByPrecision(e,t){let{scaleX:n,scaleY:r}=this._getScale();e=H(e,n),t=H(t,r),this.lineTo(e,t)}moveTo(e,t){this._context.moveTo(e,t)}moveToByPrecision(e,t){let{scaleX:n,scaleY:r}=this._getScale();e=H(e,n),t=H(t,r),this.moveTo(e,t)}moveToByPrecisionLog(e,t){let{scaleX:n,scaleY:r}=this._getScale(),i=H(e,n),a=H(t,r);this.moveTo(i,a)}rect(e,t,n,r){this._context.rect(e,t,n,r)}rectByPrecision(e,t,n,r){let{scaleX:i,scaleY:a}=this._getScale();e=H(e,i),t=H(t,a),n=H(n,i),r=H(r,a),this.rect(e,t,n,r)}putImageData(e,t,n){this._context.putImageData(e,t,n)}quadraticCurveTo(e,t,n,r){this._context.quadraticCurveTo(e,t,n,r)}restore(){this._transformCache=null,this._normalizedCachedFont=``,this._context.restore()}rotate(e){this._transformCache=null,this._context.rotate(e)}save(){this._context.save()}scale(e,t){this._transformCache=null,this._context.scale(e,t)}setLineDash(e){this._context.setLineDash?this._context.setLineDash(e):`mozDash`in this._context?this._context.mozDash=e:`webkitLineDash`in this._context&&(this._context.webkitLineDash=e)}getLineDash(){return this._context.getLineDash()}setTransform(...e){this._transformCache=null,this._normalizedCachedFont=``,this._context.setTransform(...e)}stroke(e){e?this._context.stroke(e):this._context.stroke()}strokeText(e,t,n,r){this._context.strokeText(e,t,n,r)}strokeTextByPrecision(e,t,n,r){let{scaleX:i,scaleY:a}=this._getScale();t=H(t,i),n=H(n,a),r&&(r=H(r,i)),this.strokeText(e,t,n,r)}transform(e,t,n,r,i,a){this._transformCache=null,this._context.transform(e,t,n,r,i,a)}translate(e,t){this._transformCache=null,this._context.translate(e,t)}translateWithPrecision(e,t){let{scaleX:n,scaleY:r}=this._getScale();e=H(e,n),t=H(t,r),this._transformCache=null,this._context.translate(e,t)}translateWithPrecisionRatio(e,t){this._transformCache=null;let{scaleX:n,scaleY:r}=this._getScale();this._context.translate(e/n,t/r)}clearRectForTexture(e,t,n,r){this.clearRectByPrecision(e,t,n,r)}setGlobalCompositeOperation(e){this._context.globalCompositeOperation=e}},sn=class extends on{},cn=class extends on{constructor(...e){super(...e),U(this,`__mode`,`printing`)}clearRect(e,t,n,r){let{scaleX:i,scaleY:a}=this._getScale();e=H(e,i),t=H(t,a),n=H(n,i),r=H(r,a),this._context.save(),this._context.fillStyle=F([255,255,255]),this._context.fillRect(e,t,n,r),this._context.restore()}clearRectForTexture(e,t,n,r){}setGlobalCompositeOperation(e){}};let ln=function(e){return e[e.Rendering=0]=`Rendering`,e[e.Printing=1]=`Printing`,e}({});var un=class{constructor(e){U(this,`isCache`,!1),U(this,`_pixelRatio`,1),U(this,`_canvasEle`,void 0),U(this,`_context`,void 0),U(this,`_width`,0),U(this,`_height`,0);let t=e||{};this._canvasEle=z(),this._canvasEle.style.padding=`0`,this._canvasEle.style.margin=`0`,this._canvasEle.style.border=`0`,this._canvasEle.style.background=`transparent`,this._canvasEle.style.position=`absolute`,this._canvasEle.style.top=`0`,this._canvasEle.style.left=`0`,this._canvasEle.style.zIndex=`8`,this._canvasEle.dataset.uComp=`render-canvas`,this._canvasEle.tabIndex=1,this._canvasEle.style.touchAction=`none`,this._canvasEle.style.outline=`0`;let n=this._canvasEle.getContext(`2d`);if(n==null)throw Error(`context is not support`);t.mode===ln.Printing?this._context=new cn(n):this._context=new sn(n,{canvasColorService:t.colorService}),this.setSize(t.width,t.height,t.pixelRatio)}getCanvasEle(){return this._canvasEle}getContext(){return this._context}getPixelRatio(){return this._pixelRatio}getWidth(){return this._width}getHeight(){return this._height}setId(e){this._canvasEle.id=e}setSize(e,t,n){var r;this._pixelRatio=n||St();let i=this.getCanvasEle();i&&e!==void 0&&(i.width=e*this._pixelRatio,this._width=i.width/this._pixelRatio,i.style.width=`${this._width}px`),i&&t!==void 0&&(i.height=t*this._pixelRatio,this._height=i.height/this._pixelRatio,i.style.height=`${this._height}px`),(r=this.getContext())==null||r.setTransform(this._pixelRatio,0,0,this._pixelRatio,0,0)}setPixelRatio(e){this._width===0||this._height===0||(e<1&&(e=1),this.setSize(this._width,this._height,e))}dispose(){var e;this.clear(),(e=this._canvasEle)==null||e.remove(),this._canvasEle=null,this._context=null}clear(){this.getContext().clearRect(0,0,this._width*this._pixelRatio,this._height*this._pixelRatio)}toDataURL(e,t){try{return this.getCanvasEle().toDataURL(e,t)}catch{try{return this.getCanvasEle().toDataURL()}catch(e){let{message:t}=e;return console.error(`Unable to get data URL. ${t} For more info read https://universheet.net/docs/Canvas.html.`),``}}}},dn=class extends un{constructor(e={width:0,height:0}){super(e),this.setSize(e.width,e.height)}},fn=class extends un{constructor(e={width:0,height:0}){super(e),U(this,`hitCanvas`,!0),this.setSize(e.width,e.height)}},pn=class extends rn{constructor(...e){super(...e),U(this,`_extensions`,new Map)}get extensions(){return this._extensions}register(...e){let t=new l.DisposableCollection;for(let n of e)n.parent=this,this._extensions.set(n.uKey,n),t.add((0,l.toDisposable)(()=>{this._extensions.delete(n.uKey),n.parent=null}));return this.disposeWithMe(t),t}getExtensionsByOrder(){let e=Array.from(this._extensions.values());return e.sort(l.sortRules),e}getExtensionByKey(e){return this._extensions.get(e)}draw(e,t){}dispose(){super.dispose();for(let e of this._extensions.values())e.dispose();this._extensions.clear()}},mn=class{constructor(){U(this,`uKey`,``),U(this,`type`,void 0),U(this,`Z_INDEX`,0),U(this,`parent`,void 0),U(this,`translateX`,0),U(this,`translateY`,0),U(this,`extensionOffset`,{})}get zIndex(){return this.Z_INDEX}draw(e,t,n,r,i){}clearCache(){}_getScale(e){return He(e)}dispose(){this.extensionOffset={},this.parent=null}};const hn=l.Registry.create(),gn=l.Registry.create(),_n=l.Registry.create(),vn=l.Registry.create();var yn=class extends pn{constructor(e,t){super(e),this._skeleton=t}getSkeleton(){return this._skeleton}updateSkeleton(e){var t;this._skeleton=e,(t=this.getScene())==null||t.updateTransformerZero(e.rowHeaderWidth,e.columnHeaderHeight)}render(e,t){if(!this.visible)return this.makeDirty(!1),this;e.save(),this._draw(e,t),e.restore()}getParentScale(){let{scaleX:e=1,scaleY:t=1}=this.parent;return this.parent.classType===O.SCENE_VIEWER&&(e=this.parent.ancestorScaleX||1,t=this.parent.ancestorScaleY||1),{scaleX:e,scaleY:t}}getScrollXYByRelativeCoords(e){return{x:0,y:0}}dispose(){super.dispose(),this._skeleton=null}},bn=class extends yn{_draw(e,t){this.draw(e,t)}},xn=class extends bn{getDocuments(){throw Error(`Method not implemented.`)}getNoMergeCellPositionByIndex(e,t){throw Error(`Method not implemented.`)}getSelectionBounding(e,t,n,r){throw Error(`Method not implemented.`)}constructor(e,t){super(e,t),U(this,`_columnHeaderLayoutExtension`,void 0),this._initialDefaultExtension(),this.makeDirty(!0)}get columnHeaderLayoutExtension(){return this._columnHeaderLayoutExtension}draw(e,t){let n=this.getSkeleton();if(!n)return;let r=this.getParentScale();n.updateVisibleRange(t);let i=n.rowColumnSegment;if(!i||i.startColumn===-1&&i.endColumn===-1)return;let{rowHeaderWidth:a}=n;e.translateWithPrecision(a,0);let o=this.getExtensionsByOrder();for(let t of o)t.draw(e,r,n)}isHit(e){let t=this.getInverseCoord(e),n=this.getSkeleton();if(!n)return!1;let{rowHeaderWidth:r,columnHeaderHeight:i}=n;return t.x>r&&t.y>=0&&t.y<=i}_initialDefaultExtension(){_n.getData().forEach(e=>{this.register(e)}),this._columnHeaderLayoutExtension=this.getExtensionByKey(`DefaultColumnHeaderLayoutExtension`)}setCustomHeader(e,t){this.makeDirty(!0),this._columnHeaderLayoutExtension.configHeaderColumn(e,t)}};let Sn=function(e){return e[e.OFF=0]=`OFF`,e[e.ON=1]=`ON`,e}({}),Cn=function(e){return e.VIEW_MAIN=`viewMain`,e.VIEW_MAIN_LEFT_TOP=`viewMainLeftTop`,e.VIEW_MAIN_TOP=`viewMainTop`,e.VIEW_MAIN_LEFT=`viewMainLeft`,e.VIEW_ROW_TOP=`viewRowTop`,e.VIEW_ROW_BOTTOM=`viewRowBottom`,e.VIEW_COLUMN_LEFT=`viewColumnLeft`,e.VIEW_COLUMN_RIGHT=`viewColumnRight`,e.VIEW_LEFT_TOP=`viewLeftTop`,e}({});const wn=[Cn.VIEW_MAIN,Cn.VIEW_MAIN_LEFT_TOP,Cn.VIEW_MAIN_TOP,Cn.VIEW_MAIN_LEFT],Tn=[Cn.VIEW_ROW_TOP,Cn.VIEW_ROW_BOTTOM,Cn.VIEW_COLUMN_LEFT,Cn.VIEW_COLUMN_RIGHT,Cn.VIEW_LEFT_TOP],En=1e4;En/10;let Dn=function(e){return e[e.GRID=0]=`GRID`,e}({});const On=`sheet-ext-`;var kn=class extends mn{constructor(...e){super(...e),U(this,`type`,Dn.GRID)}isRenderDiffRangesByCell(e,t){if(t==null||t.length===0)return!0;for(let n of t){let{startRow:t,startColumn:r,endRow:i,endColumn:a}=n;if(l.Rectangle.intersects(e,{startRow:t,endRow:i,startColumn:r,endColumn:a}))return!0}return!1}isRenderDiffRangesByColumn(e,t,n){if(n==null||n.length===0)return!0;for(let r of n){let{startColumn:n,endColumn:i}=r;if(l.Rectangle.intersects({startRow:0,endRow:0,startColumn:e,endColumn:t},{startRow:0,endRow:0,startColumn:n,endColumn:i}))return!0}return!1}isRenderDiffRangesByRow(e,t,n){if(n==null||n.length===0)return!0;for(let r of n){let{startRow:n,endRow:i}=r;if(l.Rectangle.intersects({startRow:e,endRow:t,startColumn:0,endColumn:0},{startRow:n,endRow:i,startColumn:0,endColumn:0}))return!0}return!1}isRowInRanges(e,t,n){if(n==null||n.length===0)return!0;for(let r of n){let{startRow:n,endRow:i}=r;if(e>=n&&e<=i||t>=n&&t<=i||l.Rectangle.intersects({startRow:e,endRow:t,startColumn:0,endColumn:0},{startRow:n,endRow:i,startColumn:0,endColumn:0}))return!0}return!1}},An=class extends kn{constructor(...e){super(...e),U(this,`uKey`,`DefaultBackgroundExtension`),U(this,`Z_INDEX`,21),U(this,`PRINTING_Z_INDEX`,21)}get zIndex(){var e;return(e=this.parent)!=null&&e.isPrinting?this.PRINTING_Z_INDEX:this.Z_INDEX}draw(e,t,n,r,{viewRanges:i,checkOutOfViewBound:a}){let{stylesCache:o,worksheet:s,rowHeightAccumulation:c,columnTotalWidth:u,columnWidthAccumulation:d,rowTotalHeight:f}=n,{background:p,backgroundPositions:m}=o;if(!s||!p||!c||!d||u===void 0||f===void 0)return;e.save();let{scaleX:h,scaleY:g}=e.getScale(),_={ctx:e,backgroundPositions:m,scaleX:h,scaleY:g,checkOutOfViewBound:a,viewRanges:i,diffRanges:r,spreadsheetSkeleton:n},v=[];i.forEach(e=>{let t=n.worksheet.getMergedCellRange(e.startRow,e.startColumn,e.endRow,e.endColumn);v.push(...t)});let y=t=>{let r=p[t],a=(e,t,i)=>{if(n.worksheet.getSpanModel().getMergeDataIndex(e,t)!==-1)return;let a=n.getCellByIndexWithNoHeader(e,t);a&&(i||r.getValue(e,t))&&(_.cellInfo=a,this.renderBGByCell(_,e,t))};e.fillStyle=t||F([255,255,255]);let o=new Path2D;_.backgroundPaths=o,e.beginPath();let s=r.getSizeOf();i.reduce((e,t)=>e+(t.endRow-t.startRow)*(t.endColumn-t.startColumn),0)<s?i.forEach(e=>{l.Range.foreach(e,a)}):r.forValue(a),e.fill(o),e.closePath()},b=t=>{let r=p[t];e.fillStyle=t||F([255,255,255]);let i=new Path2D;_.backgroundPaths=i,e.beginPath(),v.forEach(e=>{if(r.getValue(e.startRow,e.startColumn)){let t=n.getCellWithCoordByIndex(e.startRow,e.startColumn,!1);if(!t)return;_.cellInfo=t,this.renderBGByCell(_,e.startRow,e.startColumn)}}),e.fill(i),e.closePath()},x=Object.keys(p);for(let e=0;e<x.length;e++){let t=x[e];y(t),b(t)}e.restore()}renderBGByCell(e,t,n){let{spreadsheetSkeleton:r,backgroundPaths:i,scaleX:a,scaleY:o,viewRanges:s,diffRanges:c,cellInfo:l}=e,{startY:u,endY:d,startX:f,endX:p}=l,{isMerged:m,isMergedMainCell:h,mergeInfo:g}=l,_=c&&c.length>0?c:s;if(u=g.startY,d=g.endY,f=g.startX,p=g.endX,!m&&!h&&!nt(_,t,n))return!0;if(!m&&!h){if(!r.worksheet.getRowVisible(t)||!r.worksheet.getColVisible(n))return!0}else{let e=!0;for(let t=g.startRow;t<=g.endRow;t++)if(r.worksheet.getRowVisible(t)){e=!1;break}if(e)return!0;let t=!0;for(let e=g.startColumn;e<=g.endColumn;e++)if(r.worksheet.getColVisible(e)){t=!1;break}if(t)return!0}let v=H(f,a),y=H(u,o),b=H(p,a),x=H(d,o);i.rect(v,y,b-v,x-y)}};hn.add(An);var jn=class extends kn{constructor(...e){super(...e),U(this,`uKey`,`DefaultBorderExtension`),U(this,`Z_INDEX`,50),U(this,`preStyle`,void 0),U(this,`preColor`,void 0)}draw(e,t,n,r,{viewRanges:i}){let{stylesCache:a,overflowCache:o,worksheet:s,rowHeightAccumulation:c,columnTotalWidth:u,columnWidthAccumulation:d,rowTotalHeight:f}=n;if(!s||!c||!d||u===void 0||f===void 0)return;let{border:p}=a;if(!p)return;e.save(),e.translateWithPrecisionRatio(j,j);let m={ctx:e,precisionScale:this._getScale(e.getScale()),overflowCache:o,diffRanges:r,viewRanges:i,spreadsheetSkeleton:n};e.beginPath(),i.forEach(e=>{l.Range.foreach(e,(e,t)=>{let n=p.getValue(e,t);n&&this.renderBorderByCell(m,e,t,n)})}),e.closePath(),e.restore()}renderBorderByCell(e,t,n,r){let{ctx:i,precisionScale:a,overflowCache:o,spreadsheetSkeleton:s,diffRanges:c}=e,u=s.getCellWithCoordByIndex(t,n,!1),{startY:d,endY:f,startX:p,endX:m}=u,{isMerged:h,isMergedMainCell:g,mergeInfo:_}=u;if(!h&&(!s.worksheet.getRowVisible(t)||!s.worksheet.getColVisible(n))||!this.isRenderDiffRangesByRow(_.startRow,_.endRow,c))return!0;for(let s in r){let{type:c,style:u,color:v}=r[s];if(u===l.BorderStyleTypes.NONE)continue;let y=d,b=f,x=p,S=m;if(c!==E.TOP&&c!==E.BOTTOM&&c!==E.LEFT&&c!==E.RIGHT){if(h)return!0;g&&(y=_.startY,b=_.endY,x=_.startX,S=_.endX)}let C=jt(u);Ot(i,u),i.setLineWidthByPrecision(C),i.strokeStyle=v||`rgb(0,0,0)`,Et(i,u,c,{startX:x,startY:y,endX:S,endY:b}),!this._getOverflowExclusion(o,c,t,n)&&(Ct(i,c,(C-1)/2/a,{startX:x,startY:y,endX:S,endY:b}),u===l.BorderStyleTypes.DOUBLE&&(c===E.LEFT||c===E.RIGHT||c===E.TOP||c===E.BOTTOM)&&this._renderDoubleBorder({renderBorderContext:e,row:t,col:n,type:c,lineWidth:C,startX:x,startY:y,endX:S,endY:b}))}}_getOverflowExclusion(e,t,n,r){let i=!1;return t===E.TOP||t===E.BOTTOM||e==null||e.forRow((a,o)=>{if(a!==n)return!0;o.forEach(n=>{let{startColumn:o,endColumn:s}=e.getValue(a,n);if(t===E.LEFT&&r>o&&r<=s||t===E.RIGHT&&r>=o&&r<s)return i=!0,!1})}),i}_renderDoubleBorder({renderBorderContext:e,row:t,col:n,type:r,lineWidth:i,startX:a,startY:o,endX:s,endY:c}){let{ctx:u,precisionScale:d,spreadsheetSkeleton:f}=e,p=f.stylesCache.border,m=(i-1)/2/d,h=i/2,g=e=>{u.save(),u.lineCap=`round`,u.globalCompositeOperation=`destination-out`,Ct(u,r,m,e),u.restore()},_=e=>{let{startXOffset:t,startYOffset:n,endXOffset:i,endYOffset:l}=e;Ct(u,r,m,{startX:a-t,startY:o-n,endX:s+i,endY:c+l})},v=e=>{let{startXOffset:t,startYOffset:n,endXOffset:i,endYOffset:l}=e;Ct(u,r,m,{startX:a+t,startY:o+n,endX:s-i,endY:c-l})},y=this._getSpecificCellBorder(p,t,n-1),b=this._getSpecificCellBorder(p,t,n+1),x=this._getSpecificCellBorder(p,t-1,n),S=this._getSpecificCellBorder(p,t+1,n),C={startX:a,startY:o,endX:s,endY:c},w={startXOffset:h,startYOffset:h,endXOffset:h,endYOffset:h},T={startXOffset:h,startYOffset:h,endXOffset:h,endYOffset:h};if(r===E.LEFT||r===E.RIGHT){if(x.bottom&&x.bottom.style!==l.BorderStyleTypes.DOUBLE)T.startYOffset=0,w.startYOffset=0;else{var D,O,k,A;let e=this._getSpecificCellBorder(p,t-1,n-1),i=this._getSpecificCellBorder(p,t-1,n+1);r===E.LEFT&&(((D=y.top)==null?void 0:D.style)===l.BorderStyleTypes.DOUBLE||((O=e.bottom)==null?void 0:O.style)===l.BorderStyleTypes.DOUBLE)||r===E.RIGHT&&(((k=b.top)==null?void 0:k.style)===l.BorderStyleTypes.DOUBLE||((A=i.bottom)==null?void 0:A.style)===l.BorderStyleTypes.DOUBLE)?T.startYOffset=-h:r===E.LEFT&&e.bottom&&e.bottom.style!==l.BorderStyleTypes.DOUBLE||r===E.RIGHT&&i.bottom&&i.bottom.style!==l.BorderStyleTypes.DOUBLE?T.startYOffset=0:T.startYOffset=h,w.startYOffset=h}if(S.top&&S.top.style!==l.BorderStyleTypes.DOUBLE)T.endYOffset=0,w.endYOffset=0;else{var j,M,N,P;let e=this._getSpecificCellBorder(p,t+1,n-1),i=this._getSpecificCellBorder(p,t+1,n+1);r===E.LEFT&&(((j=y.bottom)==null?void 0:j.style)===l.BorderStyleTypes.DOUBLE||((M=e.top)==null?void 0:M.style)===l.BorderStyleTypes.DOUBLE)||r===E.RIGHT&&(((N=b.bottom)==null?void 0:N.style)===l.BorderStyleTypes.DOUBLE||((P=i.top)==null?void 0:P.style)===l.BorderStyleTypes.DOUBLE)?T.endYOffset=-h:r===E.LEFT&&e.top&&e.top.style!==l.BorderStyleTypes.DOUBLE||r===E.RIGHT&&i.top&&i.top.style!==l.BorderStyleTypes.DOUBLE?T.endYOffset=0:T.endYOffset=h,w.endYOffset=h}C.startY=o-h,C.endY=c+h,g(C),(r===E.LEFT&&!y.right||r===E.RIGHT&&!b.left)&&_(T),v(w)}else if(r===E.TOP||r===E.BOTTOM){if(y.right&&y.right.style!==l.BorderStyleTypes.DOUBLE)T.startXOffset=0,w.startXOffset=0;else{var F,I,L,R;let e=this._getSpecificCellBorder(p,t-1,n-1),i=this._getSpecificCellBorder(p,t+1,n-1);r===E.TOP&&(((F=x.left)==null?void 0:F.style)===l.BorderStyleTypes.DOUBLE||((I=e.right)==null?void 0:I.style)===l.BorderStyleTypes.DOUBLE)||r===E.BOTTOM&&(((L=S.left)==null?void 0:L.style)===l.BorderStyleTypes.DOUBLE||((R=i.right)==null?void 0:R.style)===l.BorderStyleTypes.DOUBLE)?T.startXOffset=-h:r===E.TOP&&e.right&&e.right.style!==l.BorderStyleTypes.DOUBLE||r===E.BOTTOM&&i.right&&i.right.style!==l.BorderStyleTypes.DOUBLE?T.startXOffset=0:T.startXOffset=h,w.startXOffset=h}if(b.left&&b.left.style!==l.BorderStyleTypes.DOUBLE)T.endXOffset=0,w.endXOffset=0;else{var z,ee,B,V;let e=this._getSpecificCellBorder(p,t-1,n+1),i=this._getSpecificCellBorder(p,t+1,n+1);r===E.TOP&&(((z=x.right)==null?void 0:z.style)===l.BorderStyleTypes.DOUBLE||((ee=e.left)==null?void 0:ee.style)===l.BorderStyleTypes.DOUBLE)||r===E.BOTTOM&&(((B=S.right)==null?void 0:B.style)===l.BorderStyleTypes.DOUBLE||((V=i.left)==null?void 0:V.style)===l.BorderStyleTypes.DOUBLE)?T.endXOffset=-h:r===E.TOP&&e.left&&e.left.style!==l.BorderStyleTypes.DOUBLE||r===E.BOTTOM&&i.left&&i.left.style!==l.BorderStyleTypes.DOUBLE?T.endXOffset=0:T.endXOffset=h,w.endXOffset=h}C.startX=a-h,C.endX=s+h,g(C),(r===E.TOP&&!x.bottom||r===E.BOTTOM&&!S.top)&&_(T),v(w)}}_getSpecificCellBorder(e,t,n){let r=e.getValue(t,n),i=null,a=null,o=null,s=null;return r&&(r[E.LEFT]&&Object.prototype.hasOwnProperty.call(r[E.LEFT],`type`)&&(i=r[E.LEFT]),r[E.RIGHT]&&Object.prototype.hasOwnProperty.call(r[E.RIGHT],`type`)&&(a=r[E.RIGHT]),r[E.TOP]&&Object.prototype.hasOwnProperty.call(r[E.TOP],`type`)&&(o=r[E.TOP]),r[E.BOTTOM]&&Object.prototype.hasOwnProperty.call(r[E.BOTTOM],`type`)&&(s=r[E.BOTTOM])),{left:i,right:a,top:o,bottom:s}}};hn.add(jn);const Mn={fontSize:13,fontFamily:y,fontColor:`#000000`,backgroundColor:F([248,249,250]),borderColor:F([217,217,217]),textAlign:`center`,textBaseline:`middle`};var Nn=class extends kn{constructor(e){super(),U(this,`uKey`,`DefaultColumnHeaderLayoutExtension`),U(this,`Z_INDEX`,10),U(this,`columnsCfg`,{}),U(this,`headerStyle`,{}),U(this,`columnsCfgOfWorksheet`,new Map),U(this,`headerStyleOfWorksheet`,new Map),e&&this.configHeaderColumn(e)}configHeaderColumn(e,t){if(t){var n,r;this.columnsCfgOfWorksheet.set(t,(n=e.columnsCfg)==null?{}:n),this.headerStyleOfWorksheet.set(t,(r=e.headerStyle)==null?{}:r)}else{var i,a;this.columnsCfg=(i=e.columnsCfg)==null?{}:i,this.headerStyle=(a=e.headerStyle)==null?{}:a}}getColumnsCfg(e){var t;let n=(t=this.columnsCfgOfWorksheet.get(e))==null?{}:t;return{...this.columnsCfg,...n}}getHeaderStyle(e){var t;let n=(t=this.headerStyleOfWorksheet.get(e))==null?{}:t;return{...Mn,...this.headerStyle,...n}}getCfgOfCurrentColumn(e,t,n){let r,i;e[n]?(typeof e[n]==`string`&&(e[n]={text:e[n]}),i=e[n],r={...t,...i}):r={...t,text:(0,l.numberToABC)(n)};let a=Object.keys(i||{}).length>1;return[r,a]}setStyleToCtx(e,t){t.textAlign&&(e.textAlign=t.textAlign),t.textBaseline&&(e.textBaseline=t.textBaseline),t.fontColor&&(e.fillStyle=t.fontColor),t.borderColor&&(e.strokeStyle=t.borderColor),t.fontSize&&(e.font=`${t.fontSize}px ${y}`)}draw(e,t,n){let{rowColumnSegment:r,columnHeaderHeight:i=0}=n,{startColumn:a,endColumn:o}=r;if(!n||i===0)return;let{rowHeightAccumulation:s,columnTotalWidth:c,columnWidthAccumulation:l,rowTotalHeight:u,worksheet:d}=n;if(!s||!l||c===void 0||u===void 0)return;let f=this.getColumnsCfg(d.getSheetId()),p=this.getHeaderStyle(d.getSheetId()),m=this._getScale(t);this.setStyleToCtx(e,p),e.save(),e.fillStyle=p.backgroundColor,e.fillRectByPrecision(0,0,c,i),e.restore(),e.setLineWidthByPrecision(1),e.translateWithPrecisionRatio(j,j);let h=0;for(let t=a-1;t<=o;t++){if(t<0||t>l.length-1)continue;let n=l[t];if(h===n)continue;let r={left:h,top:0,right:n,bottom:i,width:n-h,height:i},[a,o]=this.getCfgOfCurrentColumn(f,p,t);o&&a.backgroundColor&&(e.save(),e.fillStyle=a.backgroundColor,e.fillRectByPrecision(r.left,r.top,r.width,r.height),e.restore()),e.beginPath(),e.moveToByPrecision(r.right,0),e.lineToByPrecision(r.right,r.height),e.stroke();let s=(()=>{switch(a.textAlign){case`center`:return r.left+(r.right-r.left)/2;case`right`:return r.right-3;case`left`:return r.left+3;default:return r.left+(r.right-r.left)/2}})(),c=r.height/2+1;o&&(e.save(),e.beginPath(),this.setStyleToCtx(e,a),e.rectByPrecision(r.left,r.top,r.width,r.height),e.clip()),e.fillText(a.text,s,c),o&&e.restore(),h=n}let g=i-.5/m;e.beginPath(),e.moveToByPrecision(0,g),e.lineToByPrecision(c,g),e.stroke()}};_n.add(new Nn);const Pn=e=>{let{startRow:t,endRow:n,startColumn:r,endColumn:i}=e;return`${t}-${n}-${r}-${i}`};var Fn=class extends kn{constructor(...e){super(...e),U(this,`Z_INDEX`,55),U(this,`uKey`,`DefaultCustomExtension`)}draw(e,t,n,r){let{worksheet:i,rowColumnSegment:a}=n;if(!i)return;let o=new Set,s=i.getSheetId();l.Range.foreach(a,(t,a)=>{if(!i.getRowVisible(t)||!i.getColVisible(a))return;let c=n.getCellWithCoordByIndex(t,a,!1),{mergeInfo:u}=c,d=i.getCell(t,a);if(c.isMerged&&(d=i.getCell(u.startRow,u.startColumn)),!(d!=null&&d.customRender))return;if(!this.isRenderDiffRangesByRow(u.startRow,u.endRow,r))return!0;if(c.isMerged||c.isMergedMainCell){let e=Pn(u);if(o.has(e))return;o.add(e)}c.isMerged&&(c=n.getCellWithCoordByIndex(u.startRow,u.startColumn,!1));let f={data:d,style:n.getStyles().getStyleByCell(d),primaryWithCoord:c,subUnitId:s,row:t,col:a,worksheet:i,unitId:i.unitId},p=d.customRender.sort(l.sortRules);e.save(),p.forEach(t=>{t.drawWith(e,f,n,this.parent)}),e.restore()})}};hn.add(Fn);let X=function(e){return e.Normal=`Normal`,e.Mandatory=`Mandatory`,e.Hyphen=`Hyphen`,e.Link=`Link`,e}({});var In=class{constructor(e,t=X.Normal){this.position=e,this.type=t}};const Ln=[[4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,4,4,4,4,4,4,4,4,4,4,4],[0,4,4,1,1,4,4,4,4,1,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,4,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[4,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,1],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,1,0,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,1,1,1,1,0,0,4,2,4,1,1,1,1,1,0,1,1,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,0,1,4,4,4,0,0,1,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,0,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,4,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,1,1,1,1,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,1,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0]];var Rn=class{constructor(){U(this,`_rules`,new Map)}add(e,t){this._rules.set(e,t)}shouldBreak(e,t,n){for(let r of this._rules.values())if(r(e,t,n))return!0;return!1}},zn=new Uint8Array([0,8,14,0,0,0,0,0,176,232,0,0,1,181,15,74,240,237,157,11,140,93,69,25,199,231,178,187,183,123,31,187,237,46,108,193,194,22,104,41,200,242,48,128,104,16,129,152,162,64,42,10,193,42,24,121,104,2,65,177,4,9,69,41,193,104,73,35,193,84,20,104,144,152,74,140,109,80,1,149,87,12,175,68,64,162,60,42,9,136,196,70,194,35,40,132,84,222,34,40,18,255,195,153,113,103,103,231,253,58,183,244,158,228,151,57,103,158,223,124,243,205,227,204,57,231,222,141,3,132,220,0,110,5,119,129,191,129,127,128,127,130,255,130,129,65,66,58,131,254,238,56,88,0,22,129,41,240,1,240,97,135,116,71,128,163,12,225,199,130,229,224,100,112,58,88,1,86,130,11,193,197,66,188,75,192,247,193,85,224,26,176,17,220,0,174,7,183,128,59,193,239,192,67,224,81,240,56,75,251,36,115,159,3,47,129,55,192,155,128,12,17,50,12,230,129,113,176,0,44,2,83,96,95,112,16,56,20,44,101,225,203,192,9,44,156,94,127,30,124,9,124,5,124,21,156,7,46,4,23,179,240,239,130,43,192,143,216,245,79,193,117,67,85,249,55,195,189,3,220,203,242,167,242,61,0,247,17,176,25,252,21,60,11,30,27,168,174,183,128,87,216,245,91,112,27,205,42,77,11,238,24,152,0,147,205,42,124,11,139,191,164,89,185,123,179,184,156,3,154,211,28,194,56,2,124,140,33,198,53,113,12,226,30,47,197,63,11,229,157,228,145,135,11,95,20,242,251,50,206,87,128,149,224,34,176,166,57,93,223,181,56,95,7,214,75,229,111,196,245,213,194,245,181,184,254,21,248,141,144,150,114,23,75,119,159,224,191,137,234,20,60,209,172,236,158,242,44,206,159,3,47,130,55,192,59,160,57,7,233,160,251,209,57,85,30,19,112,39,193,30,115,166,203,221,23,231,7,206,209,215,243,35,8,59,220,16,238,194,39,144,254,83,224,179,224,20,112,6,56,27,156,15,190,9,86,131,75,193,229,96,29,88,15,54,176,50,175,99,238,205,112,239,0,247,130,7,193,163,96,51,11,123,6,238,243,224,37,141,156,175,9,254,111,225,188,49,60,147,237,132,243,54,24,5,243,193,66,176,4,236,7,14,6,135,129,143,131,99,193,114,112,50,56,29,172,0,43,135,171,252,47,128,251,109,240,29,118,253,61,184,235,134,253,117,182,158,165,217,0,247,58,143,244,55,7,148,117,187,148,230,30,225,250,90,102,99,15,192,239,17,176,121,184,234,207,207,12,251,241,2,120,21,252,155,234,187,5,61,131,241,86,117,190,160,101,78,187,72,8,159,178,196,237,211,167,79,58,248,56,80,183,28,125,250,244,233,211,167,79,159,62,125,182,46,246,239,209,251,182,131,91,51,247,67,180,251,32,173,106,47,143,158,31,129,243,95,10,97,71,181,236,233,63,141,56,159,99,241,78,129,251,49,184,147,224,12,156,159,205,242,62,31,238,69,96,13,88,11,126,0,174,6,63,105,85,251,56,63,135,123,99,107,230,254,16,229,54,248,253,204,80,246,221,8,191,31,60,0,30,4,15,129,77,224,143,224,225,126,88,63,172,31,214,15,235,135,37,15,251,51,120,2,60,213,170,246,76,235,228,249,86,189,212,93,255,62,125,122,153,216,117,236,203,232,99,111,130,183,91,225,207,233,72,91,237,63,12,255,121,96,39,176,43,216,75,138,183,15,174,15,2,135,130,165,96,25,56,174,93,201,117,34,220,211,218,245,143,63,59,204,173,184,18,252,9,116,231,233,57,26,92,2,238,84,132,189,45,93,127,112,140,144,243,192,45,96,203,88,229,183,219,56,33,95,0,87,130,95,131,151,193,211,173,74,119,167,130,107,192,147,84,135,29,66,14,0,4,247,31,159,233,84,215,34,23,131,43,26,211,220,203,226,114,182,224,122,223,46,33,159,4,95,3,95,7,55,129,87,193,129,35,240,3,55,130,87,70,102,230,179,173,49,54,58,83,111,125,250,244,233,179,45,113,252,168,121,238,63,19,243,209,57,154,249,159,114,110,123,246,154,133,135,173,66,216,106,41,237,26,92,175,101,126,203,53,239,94,209,247,178,214,37,126,47,203,196,101,154,250,173,51,212,155,178,30,225,251,209,119,229,20,241,126,193,252,110,178,228,97,227,118,133,126,85,240,248,247,176,248,191,23,202,125,152,157,63,46,248,109,166,235,48,240,119,232,249,5,184,175,180,171,119,195,222,130,219,192,250,97,78,167,186,158,11,119,71,176,51,187,190,0,105,23,119,166,247,21,247,193,249,65,157,105,25,14,197,249,249,112,151,194,93,6,142,5,203,193,201,29,181,204,13,216,224,233,157,105,185,22,130,21,138,184,60,254,42,176,82,40,143,198,191,8,215,107,88,30,107,225,174,99,225,116,15,116,61,206,55,26,242,187,161,163,214,59,221,119,165,123,171,183,34,252,174,206,204,52,247,225,122,19,245,3,127,1,79,179,60,158,135,251,50,59,127,29,238,219,154,114,229,250,12,98,93,214,1,243,192,68,119,118,89,147,221,234,124,73,119,186,110,54,246,67,220,131,187,213,187,127,135,9,121,30,137,243,163,193,113,221,114,253,203,133,19,123,76,158,58,56,141,233,224,76,131,46,206,210,132,157,11,255,85,93,55,219,200,73,104,221,87,39,108,127,250,110,226,165,221,233,115,58,151,92,198,174,175,130,251,227,66,182,182,81,83,206,245,221,234,221,201,27,133,246,186,173,155,255,153,86,104,61,238,102,114,222,223,3,246,85,39,155,28,219,232,49,196,219,12,158,242,108,211,103,183,2,253,202,182,177,165,59,253,174,249,182,202,235,158,227,201,127,104,252,17,232,83,177,54,236,140,148,25,155,82,49,15,242,238,144,64,102,170,199,93,70,42,119,49,220,41,112,192,72,253,246,46,218,61,253,70,64,23,78,229,62,132,233,225,112,184,75,71,102,167,95,6,191,19,60,116,117,34,139,123,90,132,30,232,122,239,204,204,122,212,201,127,206,200,204,240,111,20,104,207,111,49,157,173,73,212,143,14,115,144,217,54,174,175,69,30,151,143,84,223,145,252,144,185,235,71,170,176,13,35,254,243,248,245,72,115,11,184,19,252,86,72,255,7,156,63,12,30,7,79,10,254,207,225,252,69,240,58,248,23,120,135,133,13,226,222,191,51,58,29,111,28,231,243,217,245,66,184,123,142,206,94,55,236,47,236,23,156,202,210,125,136,249,125,148,185,71,194,125,77,40,255,152,209,106,159,129,158,159,196,220,83,225,158,33,229,191,255,232,204,122,158,141,235,115,13,251,19,180,63,174,26,245,215,223,123,137,213,84,183,131,225,115,87,47,141,177,161,108,24,104,252,159,9,66,172,140,129,37,96,17,99,15,135,52,174,236,13,112,187,65,32,22,193,208,75,90,228,221,199,103,239,158,83,63,122,108,39,132,161,9,201,60,230,210,45,185,142,35,195,140,174,64,83,186,206,13,97,117,216,174,96,153,114,249,180,45,27,236,122,130,244,143,169,109,28,85,159,220,83,227,159,131,65,214,14,180,207,183,4,168,125,238,206,224,231,124,140,24,35,211,54,205,211,241,184,227,82,90,145,1,233,154,144,188,253,109,247,204,249,247,122,249,189,6,183,15,209,6,248,181,171,206,100,155,18,211,140,91,210,150,160,84,191,221,26,24,12,76,163,35,68,134,208,118,148,215,42,182,182,173,219,238,114,66,117,65,199,124,62,103,113,255,22,209,207,97,189,206,152,208,110,19,138,243,38,115,109,243,247,72,15,193,219,197,103,253,161,91,175,139,237,223,22,144,215,241,62,58,111,10,46,167,110,219,206,61,118,187,222,31,181,53,186,207,61,182,52,137,189,238,29,75,28,89,127,170,184,60,142,171,62,82,183,235,123,193,166,228,241,247,189,132,143,30,186,196,111,140,115,25,239,114,218,95,78,157,200,105,232,216,204,251,180,120,143,41,222,215,149,144,85,39,191,236,175,139,87,210,214,115,149,43,218,155,207,253,191,169,125,83,244,159,208,121,44,119,25,49,245,207,105,19,41,245,107,203,203,87,190,49,70,201,113,77,238,47,117,180,143,216,127,82,180,143,152,167,169,175,202,126,54,29,133,206,59,124,189,173,202,155,251,183,20,229,169,198,209,186,219,39,5,166,118,177,201,16,179,14,80,245,75,87,123,81,233,160,116,123,196,234,59,181,28,33,253,161,69,236,237,95,106,62,42,213,255,67,108,90,182,185,58,250,189,78,206,84,122,55,233,192,54,78,228,186,15,224,227,176,235,250,110,107,232,255,174,109,146,187,255,155,218,208,117,191,95,148,185,244,51,130,146,99,145,105,76,138,209,127,76,93,234,208,117,10,189,187,150,151,219,254,93,242,214,173,19,101,82,142,199,190,54,233,219,223,197,118,112,29,211,57,123,245,8,178,92,173,200,252,186,30,122,228,247,133,189,170,27,174,31,95,187,80,233,100,92,66,244,27,20,206,199,216,117,83,193,32,75,39,63,147,176,141,7,169,239,187,229,231,82,220,165,71,67,112,99,198,215,84,107,179,49,7,255,210,115,162,235,24,197,251,71,236,216,46,218,150,110,109,193,159,95,199,140,139,58,121,99,251,160,107,249,186,244,239,171,153,5,53,179,115,205,228,90,75,153,198,13,121,157,100,234,71,185,169,179,236,210,229,211,163,65,102,142,31,190,178,218,198,189,80,92,215,129,161,178,251,148,175,91,251,228,148,193,167,222,169,203,159,138,40,63,245,154,142,235,126,72,184,230,182,39,174,127,83,237,3,164,106,63,190,14,228,242,143,75,254,178,141,241,247,209,114,200,95,199,189,179,205,174,74,174,205,100,253,136,215,188,61,98,215,45,177,247,114,190,246,107,186,167,203,133,73,191,60,78,93,247,125,220,182,92,245,23,75,234,241,47,246,222,73,164,228,145,67,54,81,159,163,142,240,113,86,60,23,253,92,112,145,223,71,22,213,218,182,14,66,108,136,167,141,221,143,208,29,161,118,227,187,254,201,57,159,200,118,230,243,222,132,78,230,212,251,63,185,112,93,247,219,218,75,182,185,24,91,21,219,220,212,23,84,182,145,178,239,132,126,91,144,2,185,236,58,108,131,175,117,117,125,132,51,40,93,239,192,100,222,85,144,95,142,183,61,153,249,173,206,0,153,254,174,116,64,113,45,198,165,204,21,160,249,241,111,96,117,186,108,91,16,101,160,229,12,49,116,186,25,102,178,53,132,184,166,248,166,254,215,86,232,180,43,93,207,87,164,245,89,103,200,253,216,229,27,52,94,63,241,123,42,249,27,43,151,244,161,247,99,226,248,210,50,208,182,132,251,166,109,43,206,99,202,104,121,180,147,235,156,21,179,159,192,237,93,110,195,54,113,107,23,49,157,207,187,195,174,118,147,227,251,72,83,217,170,239,12,85,223,169,154,208,149,231,155,206,85,47,114,251,230,40,207,71,166,208,186,168,228,146,253,84,225,220,149,191,75,182,181,173,74,23,114,29,76,186,51,217,144,139,61,132,180,181,173,220,20,253,193,164,27,211,117,10,251,73,149,191,171,206,98,117,23,43,151,47,115,19,200,64,15,241,57,113,168,172,252,222,216,167,204,28,58,149,239,213,99,242,138,153,87,117,248,206,31,57,233,6,166,145,237,34,135,92,62,125,40,69,89,161,50,184,234,210,39,31,213,181,171,191,156,71,108,253,92,245,238,154,38,71,255,54,213,219,166,55,158,15,15,31,85,148,51,73,210,140,39,33,117,212,233,48,133,46,99,218,93,101,115,92,127,170,56,41,100,46,165,127,91,189,75,227,186,191,45,219,178,201,166,119,215,196,87,245,7,57,76,236,119,58,61,169,228,80,229,163,146,103,210,80,174,10,149,174,38,37,74,217,136,120,61,160,129,134,241,231,146,178,252,244,104,4,184,57,230,225,80,123,231,50,149,236,35,174,122,170,163,76,95,183,78,189,149,44,187,148,173,164,178,107,25,211,62,170,252,14,130,188,135,219,36,110,207,87,108,184,190,183,164,123,54,163,27,163,108,152,246,253,197,125,106,34,213,83,28,3,197,107,122,152,250,132,156,63,127,199,70,181,47,174,210,211,246,12,221,94,58,81,148,161,171,147,174,44,62,166,187,212,197,247,249,119,46,248,239,75,54,4,191,33,225,220,86,23,34,165,181,197,27,18,206,197,116,161,207,238,117,113,85,254,252,89,140,232,71,219,96,49,59,183,185,185,41,85,142,173,124,151,122,219,194,22,147,217,207,128,135,36,120,155,244,154,254,83,213,95,101,127,139,137,218,14,99,100,142,193,150,191,109,125,152,163,29,66,117,227,251,188,43,102,206,77,53,127,235,214,19,190,239,75,164,150,65,156,227,68,92,245,43,203,228,251,30,71,14,125,234,100,240,177,15,215,103,161,161,240,239,131,248,90,194,231,253,26,159,103,194,49,239,51,185,148,239,139,143,126,92,236,199,86,94,142,239,26,114,63,187,167,101,212,241,205,148,169,189,235,60,66,244,77,15,221,252,97,122,167,116,74,227,239,75,157,223,223,77,101,212,171,171,45,139,58,158,32,246,123,46,57,239,16,157,135,126,199,228,58,110,248,212,223,119,140,146,243,142,29,175,119,4,59,21,164,116,121,190,123,32,41,191,237,148,243,174,227,251,78,89,134,247,215,76,206,181,82,87,211,166,244,183,141,39,136,223,239,32,231,254,141,229,210,240,61,151,210,229,202,235,227,216,117,225,48,153,222,43,226,191,37,45,239,179,209,247,96,114,173,79,85,243,9,47,215,213,149,211,153,230,170,134,224,82,249,249,94,129,248,188,200,86,142,13,254,222,170,234,158,185,14,91,229,101,207,103,46,175,167,44,171,74,135,13,201,245,217,99,144,247,25,154,158,121,196,66,2,101,207,85,62,215,109,67,58,231,122,74,181,167,84,130,148,123,108,190,136,253,137,218,110,75,10,231,239,166,218,250,155,235,26,70,28,175,118,35,213,190,92,29,253,217,182,222,239,133,177,134,207,73,41,101,240,93,115,202,109,87,151,30,100,157,184,220,207,213,37,31,183,165,58,202,157,146,202,143,89,79,228,182,55,151,103,152,174,182,224,210,246,186,114,76,107,178,18,246,228,170,19,91,63,176,201,95,234,247,40,196,113,126,76,145,62,102,12,138,197,197,190,75,247,145,28,121,166,236,167,42,221,213,113,152,246,73,117,123,161,185,214,162,174,242,202,178,211,195,69,215,252,55,251,82,218,149,139,29,119,200,236,113,199,117,191,144,143,49,165,214,43,57,199,179,208,57,211,71,46,213,248,94,215,24,192,203,20,191,151,118,25,15,228,124,228,247,143,84,118,198,207,125,126,95,96,92,202,63,100,125,229,219,150,186,247,181,38,164,60,235,154,203,92,234,108,122,14,94,114,124,201,209,127,85,101,212,113,136,178,168,108,222,7,158,223,148,116,174,170,187,202,159,191,31,40,30,49,242,184,180,163,107,251,152,214,56,170,177,208,119,28,229,54,45,143,51,186,50,93,230,178,88,251,228,191,159,202,223,195,145,127,131,215,118,15,20,114,63,32,150,47,199,245,105,191,216,250,203,191,93,236,66,233,241,49,102,190,183,233,52,86,127,177,196,254,14,156,239,243,123,209,54,67,127,115,174,174,246,143,89,243,233,214,107,177,71,204,28,66,132,115,121,61,227,242,110,28,37,100,15,57,70,255,169,219,132,183,203,184,144,87,9,187,19,235,31,99,63,41,177,149,45,251,169,214,219,99,158,186,244,109,191,82,54,33,207,161,226,252,227,211,63,114,216,187,13,83,249,117,204,177,114,253,67,222,195,245,157,111,82,233,143,191,187,154,186,109,98,237,211,5,23,125,218,250,123,170,246,136,237,15,49,99,187,73,254,84,135,234,158,206,197,182,197,249,120,130,148,63,196,242,67,246,71,93,143,148,227,71,105,218,100,246,111,232,229,28,163,117,196,62,47,228,121,132,142,189,37,244,47,30,13,1,57,158,236,199,227,19,77,252,220,50,235,228,244,205,103,208,0,47,71,229,199,93,211,26,41,247,92,18,99,31,169,218,45,116,62,10,221,47,54,245,53,221,252,234,211,231,98,229,240,89,227,170,224,97,169,215,103,37,198,146,216,54,85,205,213,177,253,40,197,189,141,136,252,13,170,238,127,150,108,235,143,94,155,143,93,203,143,217,123,168,123,61,34,203,31,35,71,236,119,179,169,72,209,94,185,222,93,44,49,230,152,198,96,219,115,159,82,253,205,54,246,228,30,223,82,143,129,190,117,46,217,246,190,243,98,110,114,181,173,74,175,185,230,65,159,54,20,227,170,158,141,197,140,185,41,116,22,59,255,196,150,149,218,206,83,146,66,63,177,117,9,181,83,223,126,159,123,158,74,161,203,16,185,100,157,197,236,23,250,252,6,123,142,242,83,180,75,234,249,223,102,159,114,250,208,250,243,163,14,27,18,105,91,174,125,9,249,13,65,113,125,153,250,119,9,83,231,215,205,32,111,142,117,250,46,133,80,149,61,169,241,79,129,170,13,74,150,161,243,23,127,75,84,165,7,85,120,105,22,42,144,229,83,201,107,35,133,108,62,229,249,200,163,146,79,142,235,90,151,73,67,158,62,182,165,114,117,101,233,210,134,246,1,211,216,29,219,134,174,115,68,206,188,115,213,205,102,183,46,237,23,154,191,107,153,41,40,173,199,144,114,76,125,189,212,239,58,139,191,117,106,250,31,175,212,54,225,59,238,250,150,153,218,174,82,235,61,119,249,169,229,79,37,95,174,254,26,91,63,221,122,199,197,126,125,214,18,62,246,238,179,70,40,185,46,203,85,134,106,45,19,83,158,105,125,20,179,38,172,99,13,28,187,126,141,189,55,143,221,31,41,165,39,215,122,255,15]);const Bn=new Uint8Array(new Uint32Array([305419896]).buffer)[0]===18,Vn=(e,t,n)=>{let r=e[t];e[t]=e[n],e[n]=r},Hn=e=>{let t=e.length;for(let n=0;n<t;n+=4)Vn(e,n,n+3),Vn(e,n+1,n+2)},Un=e=>{Bn&&Hn(e)};var Wn=class{constructor(){U(this,`table`,new Uint16Array(16)),U(this,`trans`,new Uint16Array(288))}},Gn=class{constructor(e,t){U(this,`source`,void 0),U(this,`dest`,void 0),U(this,`sourceIndex`,void 0),U(this,`tag`,void 0),U(this,`bitcount`,void 0),U(this,`destLen`,void 0),U(this,`ltree`,void 0),U(this,`dtree`,void 0),this.source=e,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=t,this.destLen=0,this.ltree=new Wn,this.dtree=new Wn}};const Kn=new Wn,qn=new Wn,Jn=new Uint8Array(30),Yn=new Uint16Array(30),Xn=new Uint8Array(30),Zn=new Uint16Array(30),Qn=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),$n=new Wn,er=new Uint8Array(320);function tr(e,t,n,r){let i,a;for(i=0;i<n;++i)e[i]=0;for(i=0;i<30-n;++i)e[i+n]=i/n|0;for(a=r,i=0;i<30;++i)t[i]=a,a+=1<<e[i]}function nr(e,t){let n;for(n=0;n<7;++n)e.table[n]=0;for(e.table[7]=24,e.table[8]=152,e.table[9]=112,n=0;n<24;++n)e.trans[n]=256+n;for(n=0;n<144;++n)e.trans[24+n]=n;for(n=0;n<8;++n)e.trans[168+n]=280+n;for(n=0;n<112;++n)e.trans[176+n]=144+n;for(n=0;n<5;++n)t.table[n]=0;for(t.table[5]=32,n=0;n<32;++n)t.trans[n]=n}const rr=new Uint16Array(16);function ir(e,t,n,r){let i,a;for(i=0;i<16;++i)e.table[i]=0;for(i=0;i<r;++i)e.table[t[n+i]]++;for(e.table[0]=0,a=0,i=0;i<16;++i)rr[i]=a,a+=e.table[i];for(i=0;i<r;++i)t[n+i]&&(e.trans[rr[t[n+i]]++]=i)}function ar(e){e.bitcount--||(e.tag=e.source[e.sourceIndex++],e.bitcount=7);let t=e.tag&1;return e.tag>>>=1,t}function or(e,t,n){if(!t)return n;for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<<e.bitcount,e.bitcount+=8;let r=e.tag&65535>>>16-t;return e.tag>>>=t,e.bitcount-=t,r+n}function sr(e,t){for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<<e.bitcount,e.bitcount+=8;let n=0,r=0,i=0,a=e.tag;do r=2*r+(a&1),a>>>=1,++i,n+=t.table[i],r-=t.table[i];while(r>=0);return e.tag=a,e.bitcount-=i,t.trans[n+r]}function cr(e,t,n){let r,i,a,o=or(e,5,257),s=or(e,5,1),c=or(e,4,4);for(r=0;r<19;++r)er[r]=0;for(r=0;r<c;++r){let t=or(e,3,0);er[Qn[r]]=t}for(ir($n,er,0,19),i=0;i<o+s;){let t=sr(e,$n);switch(t){case 16:{let t=er[i-1];for(a=or(e,2,3);a;--a)er[i++]=t;break}case 17:for(a=or(e,3,3);a;--a)er[i++]=0;break;case 18:for(a=or(e,7,11);a;--a)er[i++]=0;break;default:er[i++]=t;break}}ir(t,er,0,o),ir(n,er,o,s)}function lr(e,t,n){for(;;){let r=sr(e,t);if(r===256)return 0;if(r<256)e.dest[e.destLen++]=r;else{let t;r-=257;let i=or(e,Jn[r],Yn[r]),a=sr(e,n),o=e.destLen-or(e,Xn[a],Zn[a]);for(t=o;t<o+i;++t)e.dest[e.destLen++]=e.dest[t]}}}function ur(e){let t,n,r;for(;e.bitcount>8;)e.sourceIndex--,e.bitcount-=8;if(t=e.source[e.sourceIndex+1],t=256*t+e.source[e.sourceIndex],n=e.source[e.sourceIndex+3],n=256*n+e.source[e.sourceIndex+2],t!==(~n&65535))return-3;for(e.sourceIndex+=4,r=t;r;--r)e.dest[e.destLen++]=e.source[e.sourceIndex++];return e.bitcount=0,0}function dr(e,t){let n=new Gn(e,t),r,i,a;do{switch(r=ar(n),i=or(n,2,0),i){case 0:a=ur(n);break;case 1:a=lr(n,Kn,qn);break;case 2:cr(n,n.ltree,n.dtree),a=lr(n,n.ltree,n.dtree);break;default:a=-3}if(a!==0)throw Error(`Data error`)}while(!r);return n.destLen<n.dest.length?typeof n.dest.slice==`function`?n.dest.slice(0,n.destLen):n.dest.subarray(0,n.destLen):n.dest}nr(Kn,qn),tr(Jn,Yn,4,3),tr(Xn,Zn,2,1),Jn[28]=0,Yn[28]=258;const fr=2048;fr+32+32;const pr=new class{constructor(e){U(this,`highStart`,void 0),U(this,`errorValue`,void 0),U(this,`data`,void 0);let t=typeof e.readUInt32BE==`function`&&typeof e.slice==`function`;if(t||e instanceof Uint8Array){let n;if(t)this.highStart=e.readUInt32LE(0),this.errorValue=e.readUInt32LE(4),n=e.readUInt32LE(8),e=e.slice(12);else{let t=new DataView(e.buffer);this.highStart=t.getUint32(0,!0),this.errorValue=t.getUint32(4,!0),n=t.getUint32(8,!0),e=e.subarray(12)}e=dr(e,new Uint8Array(n)),e=dr(e,new Uint8Array(n)),Un(e),this.data=new Uint32Array(e.buffer)}else ({data:this.data,highStart:this.highStart,errorValue:this.errorValue}=e)}get(e){let t;return e<0||e>1114111?this.errorValue:e<55296||e>56319&&e<=65535?(t=(this.data[e>>5]<<2)+(e&31),this.data[t]):e<=65535?(t=(this.data[fr+(e-55296>>5)]<<2)+(e&31),this.data[t]):e<this.highStart?(t=this.data[2080+(e>>11)],t=this.data[t+(e>>5&63)],t=(t<<2)+(e&31),this.data[t]):this.data[this.data.length-4]}}(zn);function mr(e){switch(e){case 33:return 12;case 39:case 40:case 42:return 12;case 35:return 5;default:return e}}function hr(e){switch(e){case 37:case 38:return 34;case 41:return 22;default:return e}}var gr=class{constructor(e){this.content=e,U(this,`_pos`,0),U(this,`_lastPos`,0),U(this,`_curClass`,null),U(this,`_codePoint`,null),U(this,`_lastCodePoint`,null),U(this,`_nextClass`,null),U(this,`_LB8a`,!1),U(this,`_LB21a`,!1),U(this,`_LB30a`,0),U(this,`_rule`,new Rn)}use(e){return e(this),this}addRule(e,t){return this._rule.add(e,t),this}nextBreakPoint(){if(this._curClass==null){let e=this._nextCharClass();this._curClass=hr(e),this._nextClass=e,this._LB8a=e===31,this._LB30a=0}for(;this._pos<this.content.length;){this._lastPos=this._pos;let e=this._nextClass;if(this._nextClass=this._nextCharClass(),this._curClass===34||this._curClass===36&&this._nextClass!==37)return this._curClass=hr(mr(this._nextClass)),new In(this._lastPos,X.Mandatory);if(this._rule.shouldBreak(this._codePoint,this._lastCodePoint,this._nextClass))return this._curClass=hr(mr(this._nextClass)),new In(this._lastPos);let t=this._getSimpleBreak();if(t===null&&(t=this._getPairTableBreak(e)),this._LB8a=this._nextClass===31,t)return new In(this._lastPos)}return this._lastPos<this.content.length?(this._lastPos=this.content.length,new In(this.content.length)):null}_getNextCodePoint(){let e=this.content.charCodeAt(this._pos++),t=this.content.charCodeAt(this._pos);return e>=55296&&e<=56319&&t>=56320&&t<=57343?(this._pos++,(e-55296)*1024+(t-56320)+65536):e}_nextCharClass(){let e=this._getNextCodePoint(),t=pr.get(e);return this._lastCodePoint=this._codePoint,this._codePoint=e,mr(t)}_getSimpleBreak(){switch(this._nextClass){case 41:return!1;case 34:case 37:case 38:return this._curClass=34,!1;case 36:return this._curClass=36,!1}return null}_getPairTableBreak(e){let t=!1;switch(Ln[this._curClass][this._nextClass]){case 0:t=!0;break;case 1:t=e===41;break;case 2:if(t=e===41,!t)return t=!1,t;break;case 3:if(e!==41)return t;break;case 4:break}return this._LB8a&&(t=!1),this._LB21a&&(this._curClass===16||this._curClass===17)?(t=!1,this._LB21a=!1):this._LB21a=this._curClass===13,this._curClass===28?(this._LB30a++,this._LB30a===2&&this._nextClass===28&&(t=!0,this._LB30a=0)):this._LB30a=0,this._curClass=this._nextClass,t}},_r=class{constructor(e,t,n,r,i){this._text=e,this._fontStyle=t,this._warp=n,this._width=r,this._height=i,U(this,`_lineBreaker`,void 0),U(this,`_lines`,[]),U(this,`_dirty`,!0),U(this,`_lastBreakLength`,0),this._lineBreaker=new gr(this._text)}calculate(){if(!this._dirty)return this._lines;if(this._dirty=!1,this._lines=[],this._text.length===0){let e=W.getMeasureText(`A`,this._fontStyle);return this._lines.push({text:``,width:0,height:e.fontBoundingBoxAscent+e.fontBoundingBoxDescent,baseline:e.fontBoundingBoxAscent}),this._lines}if(!this._warp){let e=W.getMeasureText(this._text,this._fontStyle);return this._lines.push({text:this._text,width:e.width,height:e.fontBoundingBoxAscent+e.fontBoundingBoxDescent,baseline:e.fontBoundingBoxAscent}),this._lines}let e=0,t={text:``,width:0,height:0,baseline:0},n=0;for(;;){let r=this._lineBreaker.nextBreakPoint();if(!r)break;let{position:i}=r,a=this._text.slice(e,i),o=W.getMeasureText(a,this._fontStyle);if(o.width+t.width>this._width)if(o.width>this._width){if(t.text.length>0){if(this._lines.push(t),n+=t.height,n>this._height)break;t={text:``,width:0,height:0,baseline:0}}let e=a;for(;e.length>0;){let r=0,i=``,a=0,o=Math.min(this._lastBreakLength,e.length);o===0&&(o=Math.min(10,e.length));let s=e.slice(0,o),c=W.getMeasureText(s,this._fontStyle);if(c.width+t.width<=this._width){r=o;for(let n=o+1;n<=e.length&&(s=e.slice(0,n),c=W.getMeasureText(s,this._fontStyle),c.width+t.width<=this._width);n++)r=n}else{r=0;for(let n=o-1;n>=1;n--)if(s=e.slice(0,n),c=W.getMeasureText(s,this._fontStyle),c.width+t.width<=this._width){r=n;break}}if(r>0&&(this._lastBreakLength=r),r>0&&(i=e.slice(0,r),a=W.getMeasureText(i,this._fontStyle).width),r===0&&t.text.length===0&&(r=1,i=e[0],a=W.getMeasureText(i,this._fontStyle).width),r>0){t.text+=i,t.width+=a;let o=W.getMeasureText(t.text,this._fontStyle);if(t.height=o.fontBoundingBoxAscent+o.fontBoundingBoxDescent,t.baseline=o.fontBoundingBoxAscent,e=e.slice(r),e.length>0){if(this._lines.push(t),n+=t.height,n>this._height)break;t={text:``,width:0,height:0,baseline:0}}}else break}}else if(t.text.length>0){if(this._lines.push(t),n+=t.height,n>this._height)break;t={text:a,width:o.width,height:o.fontBoundingBoxAscent+o.fontBoundingBoxDescent,baseline:o.fontBoundingBoxAscent}}else t={text:a,width:o.width,height:o.fontBoundingBoxAscent+o.fontBoundingBoxDescent,baseline:o.fontBoundingBoxAscent};else t.text+=a,t.width+=o.width,t.baseline=o.fontBoundingBoxAscent,t.height=o.fontBoundingBoxAscent+o.fontBoundingBoxDescent;e=i}return t.text.length>0&&this._lines.push(t),this._lines}getLines(){return this._lines}getTotalHeight(){return this._lines.reduce((e,t)=>e+t.height,0)}getTotalWidth(){return this._lines.reduce((e,t)=>Math.max(e,t.width),0)}makeDirty(){this._dirty=!0,this._lastBreakLength=0}};const vr=new Set(tn),yr=[`hoverCursor`,`moveCursor`,`fillRule`,`globalCompositeOperation`,`paintFirst`,`stroke`,`strokeScaleEnabled`,`fill`,`fillAfterStrokeEnabled`,`hitStrokeWidth`,`strokeLineJoin`,`strokeLineCap`,`shadowColor`,`shadowBlur`,`shadowOffset`,`shadowOffsetX`,`shadowOffsetY`,`shadowOpacity`,`shadowEnabled`,`shadowForStrokeEnabled`,`strokeDashArray`,`strokeDashOffset`,`strokeMiterLimit`];var br=class extends rn{constructor(e,t){super(e),U(this,`_hoverCursor`,void 0),U(this,`_moveCursor`,null),U(this,`_fillRule`,`nonzero`),U(this,`_globalCompositeOperation`,`source-over`),U(this,`_paintFirst`,`fill`),U(this,`_stroke`,void 0),U(this,`_strokeScaleEnabled`,!1),U(this,`_fill`,void 0),U(this,`_fillAfterStrokeEnabled`,!1),U(this,`_hitStrokeWidth`,0),U(this,`_strokeLineJoin`,`round`),U(this,`_strokeLineCap`,`round`),U(this,`_shadowColor`,void 0),U(this,`_shadowBlur`,0),U(this,`_shadowOffset`,void 0),U(this,`_shadowOffsetX`,0),U(this,`_shadowOffsetY`,0),U(this,`_shadowOpacity`,0),U(this,`_shadowEnabled`,!1),U(this,`_shadowForStrokeEnabled`,!1),U(this,`_strokeDashArray`,void 0),U(this,`_strokeDashOffset`,0),U(this,`_strokeMiterLimit`,0),U(this,`_type`,_.RECT),U(this,`objectType`,nn.SHAPE),this._initialProps(t)}get hoverCursor(){return this._hoverCursor}get moveCursor(){return this._moveCursor}get fillRule(){return this._fillRule}get globalCompositeOperation(){return this._globalCompositeOperation}get paintFirst(){return this._paintFirst}get stroke(){return this._stroke}get strokeScaleEnabled(){return this._strokeScaleEnabled}get fill(){return this._fill}get fillAfterStrokeEnabled(){return this._fillAfterStrokeEnabled}get hitStrokeWidth(){return this._hitStrokeWidth}get strokeLineJoin(){return this._strokeLineJoin}get strokeLineCap(){return this._strokeLineCap}get shadowColor(){return this._shadowColor}get shadowBlur(){return this._shadowBlur}get shadowOffset(){return this._shadowOffset}get shadowOffsetX(){return this._shadowOffsetX}get shadowOffsetY(){return this._shadowOffsetY}get shadowOpacity(){return this._shadowOpacity}get shadowEnabled(){return this._shadowEnabled}get shadowForStrokeEnabled(){return this._shadowForStrokeEnabled}get strokeDashArray(){return this._strokeDashArray}get strokeDashOffset(){return this._strokeDashOffset}get strokeMiterLimit(){return this._strokeMiterLimit}static drawWith(e,t){}static _renderPaintInOrder(e,t){t.paintFirst===`stroke`?(this._renderStroke(e,t),this._renderFill(e,t)):(this._renderFill(e,t),this._renderStroke(e,t))}static _renderFill(e,t){t.fill&&(e.save(),this._setFillStyles(e,t),t.fillRule===`evenodd`?e.fill(`evenodd`):e.fill(),e.restore())}static _renderStroke(e,t){let{stroke:n,strokeWidth:r,strokeScaleEnabled:i}=t;!n||r===0||(e.save(),this._setStrokeStyles(e,t),e.stroke(),e.restore())}static _removeShadow(e){}static _setFillStyles(e,t){e.fillStyle=t.fill}static _setStrokeStyles(e,t){let{strokeWidth:n,strokeLineCap:r,strokeDashOffset:i,strokeLineJoin:a,strokeMiterLimit:o,stroke:s}=t;e.lineWidth=n,e.lineCap=r,e.lineDashOffset=i,e.lineJoin=a,e.miterLimit=o,e.strokeStyle=s}render(e,t){if(!this.visible)return this.makeDirty(!1),this;if(this.isRender(t)){let{top:e,left:n,bottom:r,right:i}=t.viewBound;if(this.width+this.strokeWidth+this.left<n||i<this.left||this.height+this.strokeWidth+this.top<e||r<this.top)return this}let n=this.transform.getMatrix();return e.save(),e.transform(n[0],n[1],n[2],n[3],n[4],n[5]),this._draw(e,t),e.restore(),this.makeDirty(!1),this}setProps(e){if(!e)return this;let t=Object.keys(e);return t.length===0?this:(t.forEach(t=>{if(e[t]===void 0)return!0;vr.has(t)||(this[`_${t}`]=e[t])}),this.makeDirty(!0),this)}getPropByKey(e){return this[`_${String(e)}`]}toJson(){let e={};return yr.forEach(t=>{this[t]&&(e[t]=this[t])}),{...super.toJson(),...e}}_draw(e,t){}_initialProps(e){if(!e)return;let t=Object.keys(e);if(t.length===0)return;let n={},r=!1,i=(e==null?void 0:e.rotateEnabled)!==void 0,a=(e==null?void 0:e.resizeEnabled)!==void 0,o=(e==null?void 0:e.borderEnabled)!==void 0;if(i||a||o){let t=this.transformerConfig||{};i&&(t.rotateEnabled=e==null?void 0:e.rotateEnabled),a&&(t.resizeEnabled=e==null?void 0:e.resizeEnabled),o&&(t.borderEnabled=e==null?void 0:e.borderEnabled),this.transformerConfig={...t}}t.forEach(t=>{if(e[t]===void 0)return!0;vr.has(t)?(n[t]=e[t],r=!0):this[`_${t}`]=e[t]}),r&&this.transformByState(n),this.makeDirty(!0)}};const xr=[`text`,`fontStyle`,`warp`,`hAlign`,`vAlign`,`width`,`height`,`color`];var Sr=class e extends br{constructor(e,t){var n,r,i;super(e,t),U(this,`text`,void 0),U(this,`fontStyle`,void 0),U(this,`warp`,void 0),U(this,`hAlign`,void 0),U(this,`vAlign`,void 0),U(this,`skeleton`,void 0),this.width=t.width,this.height=t.height,this.text=t.text,this.fontStyle=t.fontStyle,this.warp=(n=t.warp)==null?!1:n,this.hAlign=(r=t.hAlign)==null?l.HorizontalAlign.LEFT:r,this.vAlign=(i=t.vAlign)==null?l.VerticalAlign.TOP:i,this.skeleton=new _r(t.text,t.fontStyle,!!t.warp,t.width,t.height)}static drawWith(e,t,n){var r;let{text:i,fontStyle:a,warp:o,hAlign:s,vAlign:c,width:u,height:d,left:f=0,top:p=0,cellValueType:m}=t,h=n==null?new _r(i,a,!!o,u,c===l.VerticalAlign.TOP?d:1/0):n,g=h.calculate(),_=h.getTotalHeight(),v=p+(c===l.VerticalAlign.TOP?0:c===l.VerticalAlign.MIDDLE?(d-_)/2:d-_);e.save(),e.font=a,e.fillStyle=(r=t.color)==null?T:r;for(let n of g){let r=n.height,i=n.width,a=0;if(!(!o&&u<i&&m===l.CellValueType.NUMBER))switch(s){case l.HorizontalAlign.CENTER:a=(u-i)/2;break;case l.HorizontalAlign.RIGHT:a=u-i;break;default:a=0}let c=v+n.baseline;if(e.fillText(n.text,f+a,c),t.underline){var y;this._drawTextDecoration(e,{x:f+a,y:v+r-1,width:i,color:t.color||`#000000`,lineWidth:1,lineType:(y=t.underlineType)==null?l.TextDecoration.SINGLE:y})}t.strokeLine&&this._drawTextDecoration(e,{x:f+a,y:v+n.baseline-r*.3,width:i,color:t.color||`#000000`,lineWidth:1,lineType:l.TextDecoration.SINGLE}),v+=r}return e.restore(),_}static _drawTextDecoration(e,t){let{x:n,y:r,width:i,color:a,lineWidth:o,lineType:s}=t,c=this._isDouble(s)?r-.8:r;e.save(),e.strokeStyle=a,this._setLineType(e,s,o),e.beginPath(),e.moveTo(n,c),this._drawLine(e,n,c,i,s),this._isDouble(s)&&(e.moveTo(n,c+2),this._drawLine(e,n,c+2,i,s)),e.stroke(),e.restore()}static _drawLine(e,t,n,r,i){if(this._isWave(i))for(let t=1;t<r+1;t++)e.lineTo(t,n+.8*Math.sin(t*1));else e.lineTo(t+r,n)}static _setLineType(e,t,n){switch(t){case l.TextDecoration.SINGLE:case l.TextDecoration.DOUBLE:e.lineWidth=1,e.setLineDash([0]);return;case l.TextDecoration.DOTTED:e.lineWidth=1,e.setLineDash([2]);return;case l.TextDecoration.DOTTED_HEAVY:e.lineWidth=2,e.setLineDash([2]);return;case l.TextDecoration.DASH:e.lineWidth=1,e.setLineDash([3]);return;case l.TextDecoration.DASHED_HEAVY:e.lineWidth=2,e.setLineDash([3]);return;case l.TextDecoration.DASH_LONG:e.lineWidth=1,e.setLineDash([6]);return;case l.TextDecoration.DASH_LONG_HEAVY:e.lineWidth=2,e.setLineDash([6]);return;case l.TextDecoration.DOT_DASH:e.lineWidth=1,e.setLineDash([2,5,2]);return;case l.TextDecoration.DASH_DOT_HEAVY:e.lineWidth=2,e.setLineDash([2,5,2]);return;case l.TextDecoration.DOT_DOT_DASH:e.lineWidth=1,e.setLineDash([2,2,5,2,2]);return;case l.TextDecoration.DASH_DOT_DOT_HEAVY:e.lineWidth=2,e.setLineDash([2,2,5,2,2]);return;case l.TextDecoration.THICK:e.lineWidth=2,e.setLineDash([0]);return;case l.TextDecoration.WAVE:case l.TextDecoration.WAVY_DOUBLE:e.lineWidth=1;return;case l.TextDecoration.WAVY_HEAVY:e.lineWidth=2;return;default:e.setLineDash([0]),e.lineWidth=n}}static _isWave(e){return e===l.TextDecoration.WAVE||e===l.TextDecoration.WAVY_HEAVY||e===l.TextDecoration.WAVY_DOUBLE}static _isDouble(e){return e===l.TextDecoration.DOUBLE||e===l.TextDecoration.WAVY_DOUBLE}_draw(t){this.skeleton.calculate(),e.drawWith(t,this,this.skeleton)}makeDirty(e){return super.makeDirty(e),e&&this.skeleton.makeDirty(),this}toJson(){let e={};return xr.forEach(t=>{this[t]&&(e[t]=this[t])}),{...super.toJson(),...e}}},Cr=class{constructor(){U(this,`_translateX`,0),U(this,`_translateY`,0),U(this,`_translateSaveList`,[])}get x(){return this._translateX}get y(){return this._translateY}reset(){this.translateBy(0,0),this._translateSaveList=[]}translateBy(e=0,t=0){this._translateX=e,this._translateY=t}translate(e=0,t=0){this._translateX+=e,this._translateY+=t}translateSave(){this._translateSaveList.push({x:this._translateX,y:this._translateY})}translateRestore(){let e=this._translateSaveList.pop();e&&(this._translateX=e.x,this._translateY=e.y)}translatePagePadding(e){let{marginTop:t=0,marginBottom:n=0,marginLeft:r=0,marginRight:i=0}=e;this.translate(r,t)}restorePagePadding(e){let{marginTop:t=0,marginBottom:n=0,marginLeft:r=0,marginRight:i=0}=e;this.translate(-r,-t)}translatePage(e,t=mt.VERTICAL,n=0,r=0,i=0,a=0){let{pageWidth:o,pageHeight:s}=e,c=0,l=0;return t===mt.VERTICAL?c+=s+r:t===mt.HORIZONTAL&&(l+=o+n),this.translate(l,c),{x:l,y:c}}translateSection(e){let{top:t=0}=e;return this.translate(0,t),{x:0,y:t}}translateColumn(e){let{left:t}=e;return this.translate(t,0),{x:t,y:0}}translateLine(e,t=!1,n=!1){let{top:r,marginBottom:i=0,marginTop:a=0,paddingTop:o=0,paddingBottom:s=0}=e,c=r+(t?a:0)+(n?o:0);return this.translate(0,c),{x:0,y:c}}translateDivide(e){let{left:t,paddingLeft:n}=e,r=t+n;return this.translate(r,0),{x:r,y:0}}translateGlyph(e){let{left:t}=e;return this.translate(t,0),{x:t,y:0}}},wr=class e{constructor(e,t){this.nodeType=e,this.content=t,U(this,`children`,[]),U(this,`parent`,void 0),U(this,`startIndex`,-1),U(this,`endIndex`,-1),U(this,`blocks`,[])}static create(t,n){return new e(t,n)}dispose(){this.children.forEach(e=>{e.dispose()}),this.parent=null,this.blocks=[]}getProps(){let{children:e,parent:t,startIndex:n,endIndex:r,nodeType:i,content:a}=this;return{children:e,parent:t,startIndex:n,endIndex:r,nodeType:i,content:a}}addBlocks(e){this.blocks=this.blocks.concat(e)}setIndexRange(e,t){this.startIndex=e,this.endIndex=t}insertText(e,t){this.content=(0,l.insertTextToContent)(this.content||``,t-this.startIndex,e)}exclude(e){let{startIndex:t,endIndex:n}=this;return e<t||e>n}plus(e){this.startIndex+=e,this.endIndex+=e,this._addIndexForBlock(e)}selfPlus(e,t){this.endIndex+=e,t==null&&(t=this.startIndex),this._addIndexForBlock(e,t)}split(t){let{children:n,parent:r,startIndex:i,nodeType:a,content:o=``}=this.getProps();if(this.exclude(t))return;let s=t-i,c=s,l=o.slice(0,s),u=e.create(a,l);u.parent=r,u.setIndexRange(0,s-1);let d=o.slice(c),f=e.create(a,d);f.parent=r,f.setIndexRange(c,c+d.length-1);let p=[],m=[];for(let e of n){let{startIndex:n}=e;if(e.exclude(t))t<n?p.push(e):m.push(e);else{let n=e.split(t);if(n==null){p.push(e);continue}let{firstNode:r,lastNode:i}=n;p.push(r),p.push(i)}}return u.children=p,f.children=m,u._resetBlocks(),f._resetBlocks(),{firstNode:u,lastNode:f}}getPositionInParent(){var e;let t=(e=this.parent)==null?void 0:e.children.indexOf(this);return t==null?-1:t}remove(){this.children=[],this.parent!=null&&(this.parent.children.splice(this.getPositionInParent(),1),this.parent=null)}minus(e,t){let n=(0,l.horizontalLineSegmentsSubtraction)(this.startIndex,this.endIndex,e,t);if(n.length===0)return;let r=this.startIndex;this.startIndex=n[0],this.endIndex=n[1],this.content!=null&&(this.content=(0,l.deleteContent)(this.content||``,e-r,t-r+1))}merge(e){let{startIndex:t,endIndex:n,children:r}=e;this.endIndex+=n-t+1,this.children.push(...r),this.content+=e.content||``,e.remove()}_addIndexForBlock(e,t=-1/0){for(let n=0,r=this.blocks.length;n<r;n++){let r=this.blocks[n];r>=t&&(this.blocks[n]=r+e)}}_resetBlocks(){if(this.nodeType===l.DataStreamTreeNodeType.PARAGRAPH&&this.content!=null&&this.content.length!==0){this.blocks=[];for(let e=0,t=this.content.length;e<t;e++)this.content[e]===l.DataStreamTreeTokenType.CUSTOM_BLOCK&&this.blocks.push(this.startIndex+e)}}};let Tr=function(e){return e.BODY=`BODY`,e.HEADER=`HEADER`,e.FOOTER=`FOOTER`,e}({});function Er(e,t,n=l.DataStreamTreeNodeType.SECTION_BREAK){if(t.length===0)throw Error("Missing `paragraphs` or `sectionBreaks` fields, or doesn't correspond to the location in `dataStream`.");for(let n of t)n.parent=e,e.children.push(n);let r=n===l.DataStreamTreeNodeType.SECTION_BREAK?0:1,i=e.children;e.setIndexRange(i[0].startIndex-r,i[i.length-1].endIndex+1)}function Dr(e,t){let n=``,r=e.length,i=[],a=new Map,o=[],s=[],c=[],u=[],d=[],f=[];for(let p=0;p<r;p++){let r=e[p];if(r===l.DataStreamTreeTokenType.PARAGRAPH){n+=l.DataStreamTreeTokenType.PARAGRAPH;let e=wr.create(l.DataStreamTreeNodeType.PARAGRAPH,n),r=c[c.length-1];if(r&&r.isFinished){if(Er(e,[r.table],l.DataStreamTreeNodeType.PARAGRAPH),t){let e=t.find(e=>e.startIndex===r.table.startIndex&&e.endIndex===r.table.endIndex+1);e&&a.set(e.tableId,{table:r.table})}c.pop()}e.setIndexRange(p-n.length+1,p),e.addBlocks(f),f.length=0,n=``,d.length>0?s.push(e):o.push(e)}else if(r===l.DataStreamTreeTokenType.SECTION_BREAK){let e=wr.create(l.DataStreamTreeNodeType.SECTION_BREAK),t=d.length>0?s:o;if(t.length===0){let e=wr.create(l.DataStreamTreeNodeType.PARAGRAPH,``);e.setIndexRange(p,p-1),t.push(e)}Er(e,t);let n=t[t.length-1];if(n&&n.content&&(n.content+=l.DataStreamTreeTokenType.SECTION_BREAK),d.length>0){let t=d[d.length-1];Er(t,[e],l.DataStreamTreeNodeType.TABLE_CELL)}else i.push(e);t.length=0}else if(r===l.DataStreamTreeTokenType.TABLE_START){let e=wr.create(l.DataStreamTreeNodeType.TABLE);c.push({table:e,isFinished:!1})}else if(r===l.DataStreamTreeTokenType.TABLE_ROW_START){let e=wr.create(l.DataStreamTreeNodeType.TABLE_ROW);u.push(e)}else if(r===l.DataStreamTreeTokenType.TABLE_CELL_START){let e=wr.create(l.DataStreamTreeNodeType.TABLE_CELL);d.push(e)}else if(r===l.DataStreamTreeTokenType.TABLE_END){let e=c[c.length-1];e.isFinished=!0,n=``}else if(r===l.DataStreamTreeTokenType.TABLE_ROW_END){let e=u.pop(),t=c[c.length-1];Er(t.table,[e],l.DataStreamTreeNodeType.TABLE)}else if(r===l.DataStreamTreeTokenType.TABLE_CELL_END){let e=d.pop(),t=u[u.length-1];Er(t,[e],l.DataStreamTreeNodeType.TABLE_ROW)}else r===l.DataStreamTreeTokenType.CUSTOM_BLOCK&&f.push(p),n+=r}return{sectionList:i,tableNodeCache:a}}var Or=class e{constructor(e){if(this._documentDataModel=e,U(this,`_interceptor`,null),U(this,`_cacheSize`,1e3),U(this,`_textRunsCache`,new Map),U(this,`_paragraphCache`,new Map),U(this,`_sectionBreakCache`,new Map),U(this,`_customBlockCache`,new Map),U(this,`_tableCache`,new Map),U(this,`_tableNodeCache`,new Map),U(this,`_children`,[]),U(this,`_editArea`,Tr.BODY),U(this,`_editAreaChange$`,new d.BehaviorSubject(null)),U(this,`editAreaChange$`,this._editAreaChange$.asObservable()),U(this,`_headerTreeMap`,new Map),U(this,`_footerTreeMap`,new Map),U(this,`_segmentViewModels$`,new d.BehaviorSubject([])),U(this,`segmentViewModels$`,this._segmentViewModels$.asObservable()),e.getBody()==null)return;let t=e.getBody(),{sectionList:n,tableNodeCache:r}=Dr(t.dataStream,t.tables);this._buildAllCache(),this._children=n,this._tableNodeCache=r,this._buildHeaderFooterViewModel()}registerCustomRangeInterceptor(e){return this._interceptor=e,(0,l.toDisposable)(()=>this._interceptor=null)}dispose(){this._children.forEach(e=>{e.dispose()}),this._textRunsCache.clear(),this._paragraphCache.clear(),this._sectionBreakCache.clear(),this._customBlockCache.clear(),this._tableCache.clear(),this._tableNodeCache.clear(),this._segmentViewModels$.complete(),this._editAreaChange$.complete()}getHeaderFooterTreeMap(){return{headerTreeMap:this._headerTreeMap,footerTreeMap:this._footerTreeMap}}getEditArea(){return this._editArea}setEditArea(e){e!==this._editArea&&(this._editArea=e,this._editAreaChange$.next(e))}getChildren(){return this._children}getBody(){return this._documentDataModel.getBody()}getSnapshot(){return this._documentDataModel.getSnapshot()}getDataModel(){return this._documentDataModel}getSelfOrHeaderFooterViewModel(e){return e==null?this:this._headerTreeMap.has(e)?this._headerTreeMap.get(e):this._footerTreeMap.has(e)?this._footerTreeMap.get(e):this}reset(e){this._documentDataModel=e;let t=e.getBody(),{sectionList:n,tableNodeCache:r}=Dr(t.dataStream,t.tables);this._children=n,this._tableNodeCache=r,this._buildAllCache(),this._buildHeaderFooterViewModel()}getSectionBreak(e){return this._sectionBreakCache.get(e)}getParagraph(e){return this._paragraphCache.get(e)}getTextRun(e){let t=Math.floor(e/this._cacheSize),n=this._textRunsCache.get(t);return n==null?void 0:n.get(e%this._cacheSize)}getCustomBlock(e){return this._customBlockCache.get(e)}getCustomBlockWithoutSetCurrentIndex(e){let t=this.getBody().customBlocks;if(t!=null)for(let n=0;n<t.length;n++){let r=t[n];if(r.startIndex===e)return r}}getTableByStartIndex(e){return this._tableCache.get(e)}findTableNodeById(e){var t;return(t=this._tableNodeCache.get(e))==null?void 0:t.table}getCustomRangeRaw(e){let t=this.getBody().customRanges;if(t!=null)for(let n=0,r=t.length;n<r;n++){let r=t[n];if(e>=r.startIndex&&e<=r.endIndex)return r}}getCustomRange(e){return this._interceptor?this._interceptor.getCustomRange(e):this.getCustomRangeRaw(e)}getCustomDecorationRaw(e){let t=this.getBody().customDecorations;if(t!=null)for(let n=0,r=t.length;n<r;n++){let r=t[n];if(e>=r.startIndex&&e<=r.endIndex)return r}}getCustomDecoration(e){return this._interceptor?this._interceptor.getCustomDecoration(e):this.getCustomDecorationRaw(e)}_buildAllCache(){this._buildTextRunsCache(),this._buildParagraphCache(),this._buildSectionBreakCache(),this._buildCustomBlockCache(),this._buildTableCache()}_buildParagraphCache(){var e,t;this._paragraphCache.clear();let n=(e=(t=this.getBody())==null?void 0:t.paragraphs)==null?[]:e;for(let e of n){let{startIndex:t}=e;this._paragraphCache.set(t,e)}}_buildSectionBreakCache(){var e,t;this._sectionBreakCache.clear();let n=(e=(t=this.getBody())==null?void 0:t.sectionBreaks)==null?[]:e;for(let e of n){let{startIndex:t}=e;this._sectionBreakCache.set(t,e)}}_buildCustomBlockCache(){var e,t;this._customBlockCache.clear();let n=(e=(t=this.getBody())==null?void 0:t.customBlocks)==null?[]:e;for(let e of n){let{startIndex:t}=e;this._customBlockCache.set(t,e)}}_buildTableCache(){var e;this._tableCache.clear();let t=(e=this.getBody())==null?void 0:e.tables,n=this.getSnapshot().tableSource;if(!(t==null||n==null))for(let e of t){let{startIndex:t,tableId:r}=e,i=n[r];i!=null&&this._tableCache.set(t,{table:e,tableSource:i})}}_buildTextRunsCache(){var e,t;let n=(e=(t=this.getBody())==null?void 0:t.textRuns)==null?[]:e;this._textRunsCache.clear();for(let e of n){let{st:t,ed:n}=e;for(let r=t;r<n;r++){let t=Math.floor(r/this._cacheSize);this._textRunsCache.has(t)||this._textRunsCache.set(t,new Map),this._textRunsCache.get(t).set(r%this._cacheSize,e)}}}_buildHeaderFooterViewModel(){let{headerModelMap:t,footerModelMap:n}=this._documentDataModel,r=[];for(let[n,i]of t)this._headerTreeMap.set(n,new e(i)),r.push(this._headerTreeMap.get(n));for(let[t,i]of n)this._footerTreeMap.set(t,new e(i)),r.push(this._footerTreeMap.get(t));this._segmentViewModels$.next(r)}};function kr(e){return[` `,`\xA0`,` `].includes(e)}function Ar(e){return kr(e)||he(e)||Me(e)||Ne(e)||Pe(e)}function jr(e,t){return kr(e)?{stretchability:[0,t/2],shrinkability:[0,t/3]}:Me(e)?{stretchability:[0,0],shrinkability:[0,t/2]}:Ne(e)?{stretchability:[0,0],shrinkability:[t/2,0]}:Pe(e)?{stretchability:[0,0],shrinkability:[t/4,t/4]}:{stretchability:[0,0],shrinkability:[0,0]}}function Mr(e,t,n){return Lr(pt.WORD,e,t,n)}function Nr(e,t,n,r){return Lr(pt.LETTER,e,t,n,r)}function Pr(e,t){return Lr(pt.TAB,l.DataStreamTreeTokenType.TAB,e,t)}function Fr(e){let t=Lr(pt.LETTER,`-`,e);return t.count=0,t}function Ir(e,t=0,n=0,r=``){let{fontStyle:i,textStyle:a}=e,o=l.DataStreamTreeTokenType.CUSTOM_BLOCK;return{content:``,raw:o,ts:a,fontStyle:i,width:t,bBox:{width:0,ba:n,bd:0,aba:0,abd:0,sp:0,sbr:0,sbo:0,spr:0,spo:0},xOffset:0,left:0,isJustifiable:!1,adjustability:jr(o,0),glyphType:pt.PLACEHOLDER,streamType:o,count:1,drawingId:r}}function Lr(e,t,n,r,i){let{fontStyle:a,textStyle:o,charSpace:s=1,gridType:c=l.GridType.LINES,snapToGrid:u=l.BooleanNumber.FALSE}=n,d=[l.DataStreamTreeTokenType.SECTION_BREAK,l.DataStreamTreeTokenType.TABLE_START,l.DataStreamTreeTokenType.TABLE_END,l.DataStreamTreeTokenType.TABLE_ROW_START,l.DataStreamTreeTokenType.TABLE_ROW_END,l.DataStreamTreeTokenType.TABLE_CELL_START,l.DataStreamTreeTokenType.TABLE_CELL_END,l.DataStreamTreeTokenType.CUSTOM_RANGE_START,l.DataStreamTreeTokenType.CUSTOM_RANGE_END,l.DataStreamTreeTokenType.COLUMN_BREAK,l.DataStreamTreeTokenType.PAGE_BREAK,l.DataStreamTreeTokenType.DOCS_END,l.DataStreamTreeTokenType.CUSTOM_BLOCK],f=l.DataStreamTreeTokenType.LETTER;if(d.indexOf(t)>-1)return{content:``,raw:t,ts:o,fontStyle:a,width:0,bBox:{width:0,ba:0,bd:0,aba:0,abd:0,sp:0,sbr:0,sbo:0,spr:0,spo:0},xOffset:0,left:0,isJustifiable:!1,adjustability:jr(t,0),glyphType:pt.PLACEHOLDER,streamType:t,count:1};t===l.DataStreamTreeTokenType.PARAGRAPH&&(f=l.DataStreamTreeTokenType.PARAGRAPH);let p=null,m=0;p=i&&i.boundingBox&&i.font?W.getBBoxFromGlyphInfo(i,a):W.getTextSize(t,a);let{width:h=0}=p,g=r==null?h:r;if(fa(c,u)&&(g=h+(_e(t)?s:s/2),c===l.GridType.SNAP_TO_CHARS&&(m=(g-h)/2)),i&&i.kerning!==0&&i.font){let e=et(a.fontSize)/i.font.unitsPerEm,t=i.kerning*e;g+=t,m+=t}return{content:t,ts:o,fontStyle:a,width:g,bBox:p,xOffset:m,left:0,glyphType:e,streamType:f,isJustifiable:Ar(t),adjustability:jr(t,g),count:t.length,raw:t}}function Rr(e,t,n){let{symbol:r,bulletAlign:i=l.BulletAlignment.START,bulletType:a=!1}=t,{fontStyle:o}=e,s=W.getTextSize(r,o),c=s.width,u=Math.ceil(c/n),d=(u<2?2:u)*n,f=0;a&&(i===l.BulletAlignment.CENTER?(f=-c/2,d-=f):i===l.BulletAlignment.END&&(f=-c,d-=f));let p=Vr(e,s);return{content:r,ts:{...e.ts,st:{s:l.BooleanNumber.FALSE}},fontStyle:o,width:d,xOffset:0,bBox:p,left:f,isJustifiable:Ar(r),adjustability:jr(r,d),glyphType:pt.LIST,streamType:l.DataStreamTreeTokenType.LETTER,count:0,raw:r}}function zr(e,t=0){let n=e.length,r;for(let i=0;i<n;i++){let n=e[i];n.left=r?r.left+r.width:t,r=n}}function Br(e,t,n=0){zr(t,n);for(let n of t)n.parent=e;e.glyphGroup.push(...t)}function Vr(e,t){let{ba:n,bd:r}=e.bBox,{ba:i,bd:a}=t;return n+r>i+a?e.bBox:t}function Hr(e,t){e.width-=t,e.adjustability.shrinkability[1]-=t}function Ur(e,t){e.width-=t,e.xOffset-=t,e.adjustability.shrinkability[0]-=t}var Wr=function(e){return e[e.BOTH=0]=`BOTH`,e[e.LEFT=1]=`LEFT`,e[e.RIGHT=2]=`RIGHT`,e}(Wr||{}),Gr=function(e){return e[e.X=0]=`X`,e[e.Y=1]=`Y`,e}(Gr||{});function Kr(e,t,n,r,i=0,a=!1,o,s,c,u){var d,f;let{lineHeight:p=15.6,lineTop:m=0,contentHeight:h=0,paddingLeft:g=0,paddingRight:_=0,paddingTop:v=0,paddingBottom:y=0,marginTop:b=0,spaceBelowApply:x=0}=n,{skeTablesInParagraph:S}=o,C=(d=s.skeDrawings)==null?new Map:d,w=(f=s.skeTables)==null?new Map:f,T=c==null?void 0:c.skeDrawings,E=u==null?void 0:u.skeDrawings,D=li(t,e);if(D.lineIndex=i,D.paragraphStart=a,D.contentHeight=h,D.top=m,D.lineHeight=p,D.paddingTop=v,D.paddingBottom=y,D.marginTop=b,D.spaceBelowApply=x,a&&Array.isArray(S)&&S.length>0){let e=S[S.length-1].tableId;D.isBehindTable=!0,D.tableId=e}D.divides=Xr(p,m,r,g,_,s,c,u,new Map(Array.from(C).filter(([e,t])=>t.drawingOrigin.layoutType!==l.PositionedObjectLayoutType.INLINE)),T,E,new Map(Array.from(w).filter(([e,t])=>t.tableSource.textWrap===l.TableTextWrapType.WRAP)));for(let e of D.divides)e.parent=D;return D}function qr(e=15.6,t=0,n,r,i){let a=t,o=n.skeDrawings,s=new Map(Array.from(n.skeTables).filter(([e,t])=>t.tableSource.textWrap===l.TableTextWrapType.NONE)),c=r==null?void 0:r.skeDrawings,u=i==null?void 0:i.skeDrawings;return r&&c&&c.forEach(i=>{let o=Yr(ni(i,r,n,!0),e,t);o&&(a=Math.max(a,o))}),i&&u&&u.forEach(r=>{let o=Yr(ni(r,i,n,!1),e,t);o&&(a=Math.max(a,o))}),o==null||o.forEach(n=>{let r=Yr(n,e,t);r&&(a=Math.max(a,r))}),s==null||s.forEach(n=>{let r=Jr(n,e,t);r&&(a=Math.max(a,r))}),a}function Jr(e,t,n){let{top:r,height:i}=e;if(!(r+i<n||r>t+n))return r+i}function Yr(e,t,n){let{aTop:r,height:i,aLeft:a,width:o,angle:s=0,drawingOrigin:c}=e,{layoutType:u,distT:d=0,distB:f=0}=c;if(u!==l.PositionedObjectLayoutType.WRAP_TOP_AND_BOTTOM)return;if(s===0){let e=r-d,a=d+i+f;return e+a<n||e>t+n?void 0:e+a}let{top:p=0,height:m=0}=ti(s,a,o,r,i);if(p-=d,m+=f,!(p+m<n||p>t+n))return p+m}function Xr(e,t,n,r,i,a,o,s,c,l,u,d){let f=[];return f.push({left:0,width:r},{left:n-i,width:i}),o&&l&&l.forEach(r=>{let i=ei(ni(r,o,a,!0),e,t,n);i&&f.push(i)}),s&&u&&u.forEach(r=>{let i=ei(ni(r,s,a,!1),e,t,n);i&&f.push(i)}),c==null||c.forEach(r=>{let i=ei(r,e,t,n);i&&f.push(i)}),d&&d.size>0&&d.forEach(r=>{let{left:i,top:a,width:o,height:s,tableSource:c}=r,{dist:l}=c,u=ai(a,s,i,o,t,e,n,l);u&&f.push(u)}),si(n,f)}function Zr(e,t){Object.assign(e,t)}function Qr(e,t){e.marginBottom=t}function $r(e,t,n,r,i){let{top:a,height:o,left:s,width:c,angle:l=0}=e,{top:u=0,left:d=0,width:f=0,height:p=0}=ti(l,s,c,a,o);return!(u+p<n||u>t+n||d+f<r||d>r+i)}function ei(e,t,n,r){let{aTop:i,height:a,aLeft:o,width:s,angle:c=0,drawingOrigin:u}=e,{layoutType:d}=u;if(d===l.PositionedObjectLayoutType.WRAP_NONE||d===l.PositionedObjectLayoutType.WRAP_TOP_AND_BOTTOM)return;if(d===l.PositionedObjectLayoutType.WRAP_POLYGON){let{start:e=[0,0],lineTo:i}=u;if(!i)return;let a=[];a.push(new K(e[0],e[1]));for(let e=0;e<i.length;e++){let t=i[e];a.push(new K(t[0],t[1]))}if(c!==0){let e=new Y().rotate(c);for(let t=0;t<a.length;t++){let n=a[t];a[t]=e.applyPoint(n)}}return ri(a,n,t,r)}let{distL:f=0,distT:p=0,distB:m=0,distR:h=0,wrapText:g}=u,_={distL:f,distT:p,distB:m,distR:h};if(c===0)return ai(i,a,o,s,n,t,r,_,d,g);let v=ti(c,o,s,i,a);if(d===l.PositionedObjectLayoutType.WRAP_SQUARE){let{left:e,width:i,top:a,height:o}=v;return ai(a,o,e,i,n,t,r,_,d,g)}return ri(v.points,n,t,r)}function ti(e,t,n,r,i){let a=t+n/2,o=r+i/2,s=new Y().translate(a,o).rotate(e).translate(-a,-o),c=new K(t,r),l=new K(t,r+i),u=new K(t+n,r),d=new K(t+n,r+i);return s.makeBoundingBoxFromPoints([c,l,u,d])}function ni(e,t,n,r=!0){let{aTop:i}=e,a=i;return a=r?i+t.marginTop-n.marginTop:i+t.marginTop+n.pageHeight-n.marginBottom-n.marginTop,{...e,aTop:a}}function ri(e,t,n,r){let i=new Kt(e),a=i.intersection([new K(0,t),new K(r,t)]),o=i.intersection([new K(0,t+n),new K(r,t+n)]);if(!a&&!o)return;let s=ii([...e,...a||[],...o||[]]);return{left:s.min,width:s.max}}function ii(e,t=Gr.X){let n=[];for(let r=0;r<e.length;r++){let i=e[r];t===Gr.X?n.push(i.x):n.push(i.y)}return{max:Math.max(...n),min:Math.min(...n)}}function ai(e,t,n,r,i,a,o,s,c=l.PositionedObjectLayoutType.WRAP_SQUARE,u=l.WrapTextType.BOTH_SIDES){let{distL:d=0,distR:f=0,distT:p=0,distB:m=0}=s,h=e-(c===l.PositionedObjectLayoutType.WRAP_SQUARE?p:0);if(h+(t+(c===l.PositionedObjectLayoutType.WRAP_SQUARE?m+p:0))<=i||h>=a+i)return;let g=n-d,_=r+d+f,v=oi(u,g,_,o);return v===Wr.LEFT?_=o-g:v===Wr.RIGHT&&(g=0,_=n+r+f),{left:g,width:_}}function oi(e,t,n,r){let i=Wr.BOTH;return e===l.WrapTextType.LEFT?i=Wr.LEFT:e===l.WrapTextType.RIGHT?i=Wr.RIGHT:e===l.WrapTextType.LARGEST&&(i=t>r-t-n?Wr.LEFT:Wr.RIGHT),i}function si(e,t){t.sort((e,t)=>e.left>t.left?1:-1);let n=[],r=0,i=t.length;for(let a=0;a<i;a++){let{left:o,width:s}=t[a];if(o>r){let t=o-r;t=t<e?t:e-r;let i=ci(r,t);n.push(i)}if(r=Math.max(o+s,r),a===i-1&&o+s<e){let t=ci(o+s,e-o-s);n.push(t)}}return n}function ci(e,t){return{glyphGroup:[],width:t,left:e,paddingLeft:0,isFull:!1,st:0,ed:0}}function li(e,t){return{paragraphIndex:t,type:e,divides:[],lineHeight:0,contentHeight:0,top:0,asc:0,dsc:0,paddingTop:0,paddingBottom:0,marginTop:0,marginBottom:0,spaceBelowApply:0,divideLen:0,st:-1,ed:-1,isBehindTable:!1,tableId:``,lineIndex:0,paragraphStart:!1}}function ui(e,t,n,r){if(r)if(r.has(e)){let n=r.get(e);n==null||n.elements.push(t)}else r.set(e,{elements:[t],paragraphIndex:e,top:n})}function di(e=[],t=l.ColumnSeparatorType.NONE,n=0,r=0,i=1/0,a=1/0){let o=[],s=0,c=0;if(e.length===0)o.push(pi(r,i,0,l.ColumnSeparatorType.NONE));else for(let n=0;n<e.length;n++){let{width:a,paddingEnd:l}=e[n];c=l,s=a,o.push(pi(r,s,c,t)),r+=s+c,n===e.length-1&&(s=i===1/0?a:i-s,c=0,o.push(pi(r,s,c,t)))}let u={columns:o,colCount:(e==null?void 0:e.length)||1,height:a,top:n,st:0,ed:0};return o.forEach(e=>{e.parent=u}),u}function fi(e,t){e.isFull=t}function pi(e,t,n,r){return{lines:[],left:e,width:t,height:0,spaceWidth:n,separator:r,st:0,ed:0,drawingLRIds:[],isFull:!1}}function mi(e,t,n,r,i){var a;let{startIndex:o,endIndex:s,children:c}=r,u=(a=n.getTableByStartIndex(o))==null?void 0:a.tableSource;if(u==null)return console.warn(`Table not found when creating table skeleton`),null;let d=Ci(o,s,u),f=0,p=0;for(let t of c){let{children:r,startIndex:a,endIndex:o}=t,s=c.indexOf(t),m=u.tableRows[s],{trHeight:h}=m,g=wi(a,o,s,m,!1,d),{hRule:_,val:v}=h;d.rows.push(g);let y=0,b=0;for(let t of r){let a=Ga(e,n,t,i,u,s,r.indexOf(t))[0],{marginTop:o=0,marginBottom:c=0}=a,l=a.height+o+c;a.left=y,y+=a.pageWidth,a.parent=g,g.cells.push(a),b=Math.max(b,l)}_===l.TableRowHeightRule.AT_LEAST?b=Math.max(b,v.v):_===l.TableRowHeightRule.EXACT&&(b=v.v);for(let e of g.cells)e.pageHeight=b;let x=u.tableRows[s];for(let e=0;e<x.tableCells.length;e++){let t=x.tableCells[e],n=g.cells[e],{vAlign:r=l.VerticalAlignmentType.CONTENT_ALIGNMENT_UNSPECIFIED}=t,{pageHeight:i,height:a,originMarginTop:o,originMarginBottom:s}=n,c=o;switch(r){case l.VerticalAlignmentType.TOP:c=o;break;case l.VerticalAlignmentType.CENTER:c=(i-a)/2;break;case l.VerticalAlignmentType.BOTTOM:c=i-a-s;break;default:break}c=Math.max(o,c),n.marginTop=c}g.height=b,g.top=f,f+=b,p=Math.max(p,y)}d.width=p,d.height=f;let{pageWidth:m,marginLeft:h=0,marginRight:g=0}=t;return d.left=Si(m-h-g,p,u.align,u.indent),d}function hi(e,t){let{startIndex:n,endIndex:r}=t;for(let t of e.values())for(let e of t){let t=e.findIndex(e=>e.paragraph.startIndex>n&&e.paragraph.startIndex<r);t>-1&&e.splice(t)}}function gi(e,t,n,r,i,a){var o;let s=[],{startIndex:c,endIndex:u,children:d}=r,f=(o=n.getTableByStartIndex(c))==null?void 0:o.tableSource;if(f==null)return console.warn(`Table not found when creating table skeletons`),{skeTables:s,fromCurrentPage:!1};let p=f.tableRows[0].repeatHeaderRow===l.BooleanNumber.TRUE,m=Ci(c,u,f),h={rowTop:0,tableWidth:0,remainHeight:a,repeatRow:p?d[0]:null,repeatRowHeight:0};s.push(m);for(let r of d)bi(e,t,s,n,i,r,d.indexOf(r),f,h);return _i(h,t,s,f),{skeTables:s,fromCurrentPage:s[0].height<=a}}function _i(e,t,n,r){let{pageWidth:i,marginLeft:a=0,marginRight:o=0}=t,{tableWidth:s}=e,c=Si(i-a-o,s,r.align,r.indent),l=0;for(let e of n)e.width=s,e.left=c,e.st=e.rows[0].st-1,e.ed=e.rows[e.rows.length-1].ed+1,n.length>1&&(e.tableId=Ti(r.tableId,l),l++)}function vi(e){return e[e.length-1]}function yi(e,t,n){let{marginTop:r,marginBottom:i,pageHeight:a}=e,o=a-r-i;return n&&(o-=t.repeatRowHeight),o}function bi(e,t,n,r,i,a,o,s,c,u=!1){let d=yi(t,c,!1),f=yi(t,c,!0),{children:p,startIndex:m,endIndex:h}=a,g=s.tableRows[o],{trHeight:_,cantSplit:v}=g,y=[],{hRule:b,val:x}=_,S=v===l.BooleanNumber.TRUE&&_.hRule===l.TableRowHeightRule.AUTO,C=c.remainHeight<=72,w=vi(n),T=[0];for(let t of p){let n=p.indexOf(t),a=Ga(e,r,t,i,s,o,n,S&&!C?c.remainHeight:f,d);for(;y.length<a.length;){let t=wi(m,h,o,g,u),n=p.length;t.cells=[...Array(n)].map((n,r)=>{let a=Wa(e,i,s,o,r).page;return a.parent=t,a}),y.push(t)}for(;T.length<a.length;)T.push(0);for(let e of a){let{marginTop:t=0,marginBottom:r=0}=e,i=e.height+t+r,o=a.indexOf(e),s=y[o];e.parent=s,s.cells[n]=e,T[o]=Math.max(T[o],i)}}for(let e of y){let t=y.indexOf(e);b===l.TableRowHeightRule.AT_LEAST?T[t]=Math.max(T[t],x.v):b===l.TableRowHeightRule.EXACT&&(T[t]=x.v),T[t]=Math.min(T[t],d);let n=0;for(let r of e.cells)r.left=n,r.pageHeight=T[t],n+=r.pageWidth,c.tableWidth=Math.max(c.tableWidth,n);e.height=T[t]}o===0&&c.repeatRow&&(c.repeatRowHeight=T[T.length-1]);for(let e of y)xi(e,g);for(;y.length>0;){let a=y.shift(),l=w.rows[w.rows.length-1];(c.remainHeight<72||c.remainHeight<a.height)&&(c.remainHeight=yi(t,c,o!==0&&a.index!==l.index),c.rowTop=0,w.rows.length>0&&(w=Ci(m,h,s),n.push(w),c.repeatRow&&u===!1&&o!==0&&a.index!==l.index))&&(c.remainHeight=yi(t,c,!1),bi(e,t,n,r,i,c.repeatRow,0,s,c,!0)),w=vi(n),a.top=c.rowTop,w.height+=a.height,w.rows.push(a),a.parent=w,c.remainHeight-=a.height,c.rowTop+=a.height}}function xi(e,t){for(let n=0;n<t.tableCells.length;n++){let r=t.tableCells[n],i=e.cells[n];if(i==null)continue;let{vAlign:a=l.VerticalAlignmentType.CONTENT_ALIGNMENT_UNSPECIFIED}=r,{pageHeight:o,height:s,originMarginTop:c,originMarginBottom:u}=i,d=c;switch(a){case l.VerticalAlignmentType.TOP:d=c;break;case l.VerticalAlignmentType.CENTER:d=(o-s)/2;break;case l.VerticalAlignmentType.BOTTOM:d=o-s-u;break;default:break}d=Math.max(c,d),i.marginTop=d}}function Si(e,t,n,r={v:0}){switch(n){case l.TableAlignmentType.START:return r.v;case l.TableAlignmentType.END:return Math.max(0,e-t);case l.TableAlignmentType.CENTER:return Math.max(0,(e-t)/2);default:throw Error(`Unknown table alignment type`)}}function Ci(e,t,n){return{rows:[],width:0,height:0,top:0,left:0,st:e,ed:t,tableId:n.tableId,tableSource:n}}function wi(e,t,n,r,i=!1,a){return{cells:[],index:n,height:0,top:0,st:e,ed:t,parent:a,rowSource:r,isRepeatRow:i}}function Ti(e,t){return`${e}#-#${t}`}function Ei(e){if(!e.includes(`#-#`))return{tableId:e,sliceIndex:0};let[t,n]=e.split(`#-#`);return{tableId:t,sliceIndex:Number(n)}}function Di(e,t,n,r,i,a,o=X.Normal){if(a)if(i.bulletSkeleton){let{bulletSkeleton:s,paragraphStyle:c={}}=i,{gridType:u=l.GridType.LINES,charSpace:d=0,defaultTabStop:f=10.5}=r,{snapToGrid:p=l.BooleanNumber.TRUE}=c,m=da(d,f,u,p),h=Rr(t[0],s,m),g=s.paragraphProperties||{};i.paragraphStyle=Ra(i.paragraphStyle,{...g,hanging:{v:h.width}},`max`),Ni(e,[h,...t],n,r,i,a,o)}else Ni(e,t,n,r,i,a,o);else Mi(e,t,n,r,i,a,o);return[...n]}function Oi(e){if(e.length<=1)return!1;let t=!1;for(let n of e)if(n.content===l.DataStreamTreeTokenType.SPACE&&(t=!0),t&&n.content!==l.DataStreamTreeTokenType.SPACE&&n.content!==l.DataStreamTreeTokenType.PARAGRAPH&&n.streamType!==l.DataStreamTreeTokenType.SECTION_BREAK)return!1;return t}function ki(e,t,n){if(e.length<=1)return!1;let r=t,i=!1;for(let t of e){if(t.content===l.DataStreamTreeTokenType.SPACE||t.content===l.DataStreamTreeTokenType.PARAGRAPH||t.streamType===l.DataStreamTreeTokenType.SECTION_BREAK)break;if(r+=t.width,r>n){i=!0;break}}return i}function Ai(e){var t;let n=(t=e.parent)==null?void 0:t.parent;if(n==null)return 0;let r=0;for(let e=n.lines.length-1;e>=0;e--){let t=n.lines[e];if(t.divides[t.divides.length-1].breakType===X.Hyphen)r++;else break}return r}function ji(e){let t=[],n=e.glyphGroup.pop();for(;n&&n.content!==` `;)t.unshift(n),n=e.glyphGroup.pop();return e.glyphGroup.length===0&&(e.glyphGroup.push(...t),t.length=0),t}function Mi(e,t,n,r,i,a,o=X.Normal,s){let c=ca(na(n));if(c){var u;let d=Xi(t),{divide:f,isLast:p}=c,m=f==null||(u=f.glyphGroup)==null?void 0:u[f.glyphGroup.length-1],h=((m==null?void 0:m.width)||0)+((m==null?void 0:m.left)||0),{hyphenationZone:g}=r;if(h+d>f.width){Zr(f,{isFull:!0});let u=Ai(c.divide),{consecutiveHyphenLimit:d=1/0}=r;if(c.isLast&&t.length===1&&(t[0].content===l.DataStreamTreeTokenType.SPACE||t[0].content===l.DataStreamTreeTokenType.PARAGRAPH))Br(f,t,h);else if(c.isLast&&!ki(t,h,f.width)&&Oi(t))Br(f,t,h);else if((f==null?void 0:f.glyphGroup.length)===0){let a=[];for(;t.length;)if(a.push(t.shift()),Xi(a)>f.width){a.length>1&&t.unshift(a.pop());break}a.length>0&&Br(f,a,h),t.length&&Mi(e,t,n,r,i,!1,o,s)}else if(u>d){let c=ji(f);c.length>0&&(Zr(f,{breakType:X.Normal}),Mi(e,c,n,r,i,a,X.Hyphen)),Mi(e,t,n,r,i,a,o,s)}else Mi(e,t,n,r,i,a,o,s)}else if(p&&g&&g>0&&h>=f.width-g&&o===X.Hyphen&&f.breakType===X.Normal)Zr(f,{isFull:!0}),Mi(e,t,n,r,i,a,o,s);else{let s=f.parent,c=Zi(t);if(s&&c&&!$i(s)){let{paragraphLineGapDefault:l,linePitch:u,lineSpacing:d,spacingRule:f,snapToGrid:p,gridType:m}=pa(r,i),{boundingBoxAscent:h,boundingBoxDescent:g}=c,{contentHeight:_}=Gi(h+g,l,u,m,d,f,p);if(s.contentHeight<_){let c=Qi(s),l=c.length,u=[],d=1;l>2&&c[0].glyphType===pt.LIST?(u=[c[0],c[1]],d=2):u=[c[0]];let{paragraphStart:f}=s.parent.lines.pop();Ni(e,u,n,r,i,f,o,h+g);for(let t=d;t<c.length;t++)Mi(e,[c[t]],n,r,i,a);Mi(e,t,n,r,i,a,o);return}}Br(f,t,h),Zr(f,{breakType:o})}}else Ni(e,t,n,r,i,a,o,s)}function Ni(e,t,n,r,i,a,o=X.Normal,s){var c,u,d,f;let p=na(n),m=sa(p);if((!m||!m.column)&&(Hi(e,t,n,r,i,!0,o),p=na(n),m=sa(p)),!m)return;let h=m.column;if(h.width<=0){console.error(`The column width is less than 0, need to adjust page width to make it great than 0`);return}let g=oa(h),_=Math.max(...t.map(e=>e.bBox.ba)),v=Math.max(...t.map(e=>e.bBox.bd)),y=s||_+v,{paragraphStyle:b={},paragraphNonInlineSkeDrawings:x,skeTablesInParagraph:S,skeHeaders:C,skeFooters:w,pDrawingAnchor:T,paragraphIndex:E}=i,{namedStyleType:D}=b,O=D===void 0?null:l.NAMED_STYLE_SPACE_MAP[D],{spaceAbove:k,spaceBelow:A,indentFirstLine:j,hanging:M,indentStart:N,indentEnd:P}={...b,spaceAbove:(c=b.spaceAbove)==null?O==null?void 0:O.spaceAbove:c,spaceBelow:(u=b.spaceBelow)==null?O==null?void 0:O.spaceBelow:u},{paragraphLineGapDefault:F,linePitch:I,lineSpacing:L,spacingRule:R,snapToGrid:z,gridType:ee}=pa(r,i),{paddingTop:B,paddingBottom:V,contentHeight:te,lineSpacingApply:ne}=Gi(y,F,I,ee,L,R,z),{marginTop:re,spaceBelowApply:ie}=Wi(e,ne,k,A,a,g),ae=re+B+te+V,oe=h.parent;oe||(oe=ra(p));let se=((g==null?void 0:g.lineHeight)||0)+((g==null?void 0:g.top)||0),{pageWidth:ce,headerId:le,footerId:ue,segmentId:de}=p,fe=C==null||(d=C.get(le))==null?void 0:d.get(ce),H=w==null||(f=w.get(ue))==null?void 0:f.get(ce),pe=!1;if(g){let t=Ri(g);if(t.length>0){var me,he;let n=(me=e.paragraphConfigCache.get(de))==null||(me=me.get(g.paragraphIndex))==null?void 0:me.paragraphNonInlineSkeDrawings,r=[...(he=n==null?void 0:n.values())==null?[]:he].filter(e=>e.drawingOrigin.docTransform.positionV.relativeFrom===l.ObjectRelativeFromV.LINE).filter(e=>t.includes(e.drawingId));r.length>0&&Pi(e,g.top,g.lineHeight,h,r,g.paragraphIndex,a)}}if(x!=null&&x.size>0){var ge;Pi(e,se,ae,h,[...x.values()].filter(e=>e.drawingOrigin.docTransform.positionV.relativeFrom!==l.ObjectRelativeFromV.LINE),i.paragraphIndex,a,T==null||(ge=T.get(E))==null?void 0:ge.top)}if(S!=null&&S.length>0){var _e;pe=Li(e,se,ae,p,h,oe,S,i.paragraphIndex,r,T==null||(_e=T.get(E))==null?void 0:_e.top)}let ve=qr(ae,se,p,fe,H);if(ae+ve>oe.height&&h.lines.length>0&&p.sections.length>0||pe){if(fi(h,!0),Vi(e,t,n,r,i,a,o,s),a&&x&&x.size>0)for(let t of x.values())p.skeDrawings.has(t.drawingId)&&p.skeDrawings.delete(t.drawingId),e.floatObjectsCache.has(t.drawingId)&&(e.floatObjectsCache.delete(t.drawingId),e.isDirty=!1,e.layoutStartPointer[de]=null);return}let ye=g?g.lineIndex+1:0,{charSpace:be,defaultTabStop:xe}=ma(r,i),{paddingLeft:Se,paddingRight:Ce}=Ui(j,M,N,P,da(be,xe,ee,z),a);if(Se+Ce>=h.width){let e=Se/(Se+Ce);Se=h.width*e-.5,Ce=h.width-Se-.5}let we=Kr(E,ft.PARAGRAPH,{lineHeight:ae,contentHeight:te,lineTop:ve,paddingLeft:Se,paddingRight:Ce,paddingTop:B,paddingBottom:V,marginTop:re,spaceBelowApply:ie},h.width,ye,a,i,p,fe,H);h.lines.push(we),we.parent=h,ui(E,we,se,T),Mi(e,t,n,r,i,a,o,s)}function Pi(e,t,n,r,i,a,o,s){if(i.length===0)return;let c=qi(t,n,r,o,s,i);c==null||c.size===0||(zi(e,[...c.values()].filter(e=>{let t=e.drawingOrigin.layoutType;return t!==l.PositionedObjectLayoutType.INLINE&&t!==l.PositionedObjectLayoutType.WRAP_NONE}).map(e=>{let{drawingOrigin:t,drawingId:n,aTop:r,aLeft:i,width:a,height:o,angle:s}=e,c=t.docTransform.positionV;return{id:n,top:r,left:i,width:a,height:o,angle:s,type:ja.IMAGE,positionV:c}}),r,a),Ji(r,c))}function Fi(e,t,n,r,i,a,o){let s=Ii(t,i,n,r,o);if(s==null)return;let{tableId:c,width:l,height:u,tableSource:d}=t,{left:f,top:p}=s;zi(e,[{id:c,top:p,left:f,width:l,height:u,angle:0,type:ja.TABLE,positionV:d.position.positionV}],i,a),t.top=p,t.left=f}function Ii(e,t,n,r,i){var a,o,s;let c=(a=t.parent)==null?void 0:a.parent;if(c==null)return;let l=Yi(t),{tableSource:u,width:d,height:f}=e,{positionH:p,positionV:m}=u.position;return{left:(o=ba(p,t,c,d,l))==null?0:o,top:(s=xa(m,c,n,r,f,i,l))==null?0:s}}function Li(e,t,n,r,i,a,o,s,c,u){if(o.length===0)return!1;let d=o.find(e=>e.hasPositioned===!1);if(d==null)return!1;let{tableId:f,table:p}=d,{tableSource:m}=p;if(d.isSlideTable===!1)switch(m.textWrap){case l.TableTextWrapType.NONE:p.top=t;break;case l.TableTextWrapType.WRAP:Fi(e,p,t,n,i,s,u);break;default:throw Error(`Unsupported table text wrap type: ${m.textWrap}`)}let{top:h,left:g,height:_}=p;if(!e.isDirty&&h+_>a.height&&d.isSlideTable===!1){o.pop();let t=a.height-h,{segmentId:n}=r,i=e.viewModel.getSelfOrHeaderFooterViewModel(n),s=d.tableNode;hi(e.skeletonResourceReference.skeListLevel,s);let{fromCurrentPage:l,skeTables:u}=gi(e,r,i,s,c,t);if(u.forEach((e,t)=>{e.top=t===0&&l?h:0,e.left=g}),l){let e=u.shift();r.skeTables.set(e.tableId,e),e.parent=r,o.push({table:e,tableId:e.tableId,hasPositioned:!0,isSlideTable:!0,tableNode:s})}return o.push(...u.map(e=>({table:e,tableId:e.tableId,hasPositioned:!1,isSlideTable:!0,tableNode:s}))),!0}else return r.skeTables.set(f,p),p.parent=r,d.hasPositioned=!0,d!==o[o.length-1]}function Ri(e){let t=[];for(let n of e.divides)for(let e of n.glyphGroup)e.streamType===l.DataStreamTreeTokenType.CUSTOM_BLOCK&&t.push(e.drawingId);return t}function zi(e,t,n,r){var i;let a=(i=n.parent)==null?void 0:i.parent;if(t.length===0||a==null)return;let o=!1;for(let n of t){var s,c;let t=e.floatObjectsCache.get(n.id);if(t==null||t.page.segmentId!==a.segmentId)continue;let i=(s=t.page.sections[0])==null||(s=s.columns[0])==null||(s=s.lines[0])==null?void 0:s.paragraphIndex,l=(c=a.sections[0])==null||(c=c.columns[0])==null||(c=c.lines[0])==null?void 0:c.paragraphIndex;t.page&&i&&l&&i!==l&&(t.page.skeDrawings.delete(n.id),e.floatObjectsCache.delete(n.id),va([t.page],n=>{let{lineHeight:i,top:a}=n,s=n.parent;if(o||s==null)return;let{width:c,left:l}=s;if($r(t.floatObject,i,a,l,c)){var u;o=!0,e.isDirty=!0,e.layoutStartPointer[t.page.segmentId]=Math.min(n.paragraphIndex,(u=e.layoutStartPointer[t.page.segmentId])==null?1/0:u),e.paragraphsOpenNewPage.add(r)}}))}o=!1,va([a],r=>{let{lineHeight:i,top:s}=r,{width:c,left:l}=n;if(!o)for(let n of t.values()){let t=n;if(e.floatObjectsCache.has(n.id)){let r=e.floatObjectsCache.get(n.id),i=Bi(e,n);if((r==null?void 0:r.page.segmentId)!==a.segmentId)continue;if(i){var u;t=(u=r==null?void 0:r.floatObject)==null?n:u}else continue}if($r(t,i,s,l,c)){var d;o=!0,e.isDirty=!0,e.layoutStartPointer[a.segmentId]=Math.min(r.paragraphIndex,(d=e.layoutStartPointer[a.segmentId])==null?1/0:d);let t=e.floatObjectsCache.get(n.id);t==null&&(t={count:0,floatObject:n,page:a},e.floatObjectsCache.set(n.id,t)),t.count++,t.floatObject=n,t.page=a}}})}function Bi(e,t){let{relativeFrom:n}=t.positionV,r=e.floatObjectsCache.get(t.id);if(r==null)return!1;if(n===l.ObjectRelativeFromV.PARAGRAPH||n===l.ObjectRelativeFromV.LINE){let{count:e,floatObject:n}=r;if(e<5&&Math.abs(t.top-n.top)>5)return!0}return!1}function Vi(e,t,n,r,i,a,o=X.Normal,s){la(na(n))===!0?Hi(e,t,n,r,i,a,o,s):Ni(e,t,n,r,i,a,o,s)}function Hi(e,t,n,r,i,a,o=X.Normal,s){let c=na(n),{skeHeaders:l,skeFooters:u}=i;n.push(Va(e,r,{skeHeaders:l,skeFooters:u},(c==null?void 0:c.pageNumber)+1)),Vi(e,t,n,r,i,a,o,s)}function Ui(e,t,n,r,i,a=!1){let o=ua(e,i),s=ua(t,i),c=ua(n,i),l=ua(r,i),u=c,d=l;return o>0&&a&&(u+=o),s>0&&!a&&(u+=s),{paddingLeft:u,paddingRight:d}}function Wi(e,t=0,n,r,i,a){let o=ua(r,t);if(i){let e=ua(n,t);if(a){let{spaceBelowApply:t}=a;if(e<t){let n=Math.max(t,e);a.lineHeight+=n,Qr(a,n),e=0}}return{marginTop:e,spaceBelowApply:o}}return{marginTop:0,spaceBelowApply:o}}function Gi(e,t,n,r,i,a,o){let s=t,c=t;if(r===l.GridType.DEFAULT||o===l.BooleanNumber.FALSE)return a===l.SpacingRule.AUTO?{paddingTop:s,paddingBottom:c,contentHeight:i*e,lineSpacingApply:e}:{paddingTop:s,paddingBottom:c,contentHeight:Math.max(i,e),lineSpacingApply:i};let u=0;return u=a===l.SpacingRule.AUTO?i*n:i,e+t*2<u?s=c=(u-e)/2:u=e,{paddingTop:s,paddingBottom:c,contentHeight:e,lineSpacingApply:u}}function Ki(e,t,n){var r;let i=e.parent,a=e==null||(r=e.parent)==null||(r=r.parent)==null?void 0:r.parent;if(a==null||i==null)return;let o=Yi(i),s=new Map,{top:c,lineHeight:u,marginBottom:d=0}=e;for(let r of e.divides)for(let a of r.glyphGroup)if(a.streamType===l.DataStreamTreeTokenType.CUSTOM_BLOCK&&a.width!==0){let{drawingId:l}=a;if(l==null)continue;let f=t==null?void 0:t.get(l),p=f==null?void 0:f.drawingOrigin;if(p==null||f==null)continue;let{docTransform:m}=p,{size:h,angle:g}=m,{width:_=0,height:v=0}=h,y=a.bBox.bd+a.bBox.ba;f.aLeft=r.left+r.paddingLeft+a.left+.5*a.width-.5*_||0,f.aTop=c+u-.5*y-.5*v-d,f.width=_,f.height=v,f.angle=g,f.isPageBreak=o,f.lineTop=c,f.columnLeft=i.left,f.blockAnchorTop=n==null?c:n,f.lineHeight=e.lineHeight,s.set(f.drawingId,f)}a.skeDrawings=new Map([...a.skeDrawings,...s])}function qi(e,t,n,r,i,a=[]){var o;let s=(o=n.parent)==null?void 0:o.parent;if(s==null||a.length===0)return;let c=new Map,l=Yi(n);if(!(l&&!r)){for(let r of a){var u,d;let{drawingOrigin:a}=r;if(!a)continue;let{docTransform:o}=a,{positionH:f,positionV:p,size:m,angle:h}=o,{width:g=0,height:_=0}=m;r.aLeft=(u=ba(f,n,s,g,l))==null?0:u,r.aTop=(d=xa(p,s,e,t,_,i,l))==null?0:d,r.width=g,r.height=_,r.angle=h,r.initialState=!0,r.columnLeft=n.left,r.lineTop=e,r.lineHeight=t,r.isPageBreak=l,r.blockAnchorTop=i==null?e:i,c.set(r.drawingId,r)}return c}}function Ji(e,t){var n;let r=(n=e.parent)==null?void 0:n.parent;if(!(t==null||t.size===0||r==null))for(let e of t.values()){let t=r.skeDrawings.get(e.drawingId);if(t)if(t.drawingOrigin.layoutType===l.PositionedObjectLayoutType.WRAP_TOP_AND_BOTTOM){let n=t.aTop>e.aTop?t:e;r.skeDrawings.set(e.drawingId,n)}else r.skeDrawings.set(e.drawingId,e);else r.skeDrawings.set(e.drawingId,e)}}function Yi(e){let t=e.parent;if(!t)return!1;let n=t==null?void 0:t.columns;if(!n)return!1;let r=n.length;for(let e=r-1;e>=0;e--){let t=n[e].lines,r=t.length;if(!(r<=0)){for(let e=r-1;e>=0;e--)if(t[e].paragraphStart)return!1}}return!0}function Xi(e){let t=e.length,n=0;for(let r=0;r<t;r++){let t=e[r];n+=t.width}return n}function Zi(e){let t=e.length,n=-1/0,r;for(let i=0;i<t;i++){let{ba:t,bd:a}=e[i].bBox;n<t+a&&(r={boundingBoxAscent:t,boundingBoxDescent:a}),n=t+a}return r}function Qi({divides:e}){return e.flatMap(e=>e.glyphGroup)}function $i(e){return!e.divides[0].glyphGroup[0]}function ea(e){return e.type===l.CustomDecorationType.COMMENT?{bbl:{s:l.BooleanNumber.TRUE,cl:{rgb:`#fcdf7e`},c:l.BooleanNumber.FALSE},...e.active?{bg:{rgb:`#faedc2`}}:null}:null}function ta(e){if(e.rangeType===l.CustomRangeType.HYPERLINK||e.rangeType===l.CustomRangeType.MENTION||e.rangeType===l.CustomRangeType.CUSTOM){var t;return{...(t=e.active)==null||t?{ul:{s:l.BooleanNumber.TRUE}}:null,cl:{rgb:`#274fee`}}}return null}function na(e){return e[e.length-1]}function ra(e){var t;return(t=e.sections)==null?void 0:t[e.sections.length-1]}function ia(e){let t=ra(e).columns;return t==null?void 0:t[t.length-1]}function aa(e){var t;let n=(t=sa(e))==null?void 0:t.column.lines;return n==null?void 0:n[n.length-1]}function oa(e){return e.lines[e.lines.length-1]}function sa(e){let t=ra(e);for(let e=0;e<t.columns.length;e++){let n=t.columns[e];if(!n.isFull)return{column:n,isLast:e===t.columns.length-1,index:e}}}function ca(e){let t=aa(e);if(t)for(let e=0;e<t.divides.length;e++){let n=t.divides[e];if(!n.isFull)return{divide:n,isLast:e===t.divides.length-1,index:e}}}function la(e){let t=ra(e),n=t.columns.length;for(let e=0;e<n;e++)if(!t.columns[e].isFull)return!1;return!0}function ua(e,t){if(!e)return 0;let{v:n,u:r}=e;return!r||r===l.NumberUnitType.PIXEL?n:n*t}function da(e=0,t,n=l.GridType.LINES,r=l.BooleanNumber.TRUE){let i=1;return fa(n,r)&&(i=e),i*=t,i}function fa(e=l.GridType.LINES,t=l.BooleanNumber.FALSE){return t===l.BooleanNumber.TRUE&&(e===l.GridType.LINES_AND_CHARS||e===l.GridType.SNAP_TO_CHARS)}function pa(e,t){let{paragraphStyle:n={}}=t,{linePitch:r=15.6,gridType:i=l.GridType.LINES,paragraphLineGapDefault:a=0}=e,{lineSpacing:o=0,spacingRule:s=l.SpacingRule.AUTO,snapToGrid:c=l.BooleanNumber.TRUE}=n,u=o;return(i===l.GridType.LINES||i===l.GridType.LINES_AND_CHARS)&&o===0&&s===l.SpacingRule.AUTO&&(u=1),{paragraphLineGapDefault:a,linePitch:r,gridType:i,lineSpacing:u,spacingRule:s,snapToGrid:c}}function ma(e,t){let{paragraphStyle:n={}}=t,{charSpace:r=0,gridType:i=l.GridType.LINES,defaultTabStop:a=36,documentTextStyle:o={}}=e,{fs:s=14}=o,{snapToGrid:c=l.BooleanNumber.TRUE}=n;return{charSpace:r,documentFontSize:s,defaultTabStop:a,gridType:i,snapToGrid:c}}function ha(e,t=-1){let n=t;for(let t of e){let{sections:e,skeTables:r}=t,i=n,a=i,o=-1/0,s=0;for(let t of e){let{columns:e}=t,n=a,i=n,c=-1/0,l=0;for(let t of e){let{lines:e}=t,n=i,a=n,o=0,s=-1/0;for(let t of e){let{divides:e,lineHeight:n,top:i,isBehindTable:c,tableId:l}=t,u=a;if(c&&l){let e=r.get(l);e&&(u=e.ed)}let d=u,f=0,p=0,m=0;o=i+n;let h=e.length,g=!1;for(let t=0;t<h;t++){let n=e[t],{glyphGroup:r}=n,i=d,a=i;for(let e of r){let n=e.glyphType===pt.LIST?0:e.count;a+=n;let{ba:r,bd:i}=e.bBox;p=Math.max(p,r),m=Math.max(m,i),t===h-1&&(f+=e.width)}r.length!==0&&(g=!0,r[0].xOffset!==0&&t===h-1&&(f-=r[0].xOffset),t===h-1&&(f+=n.left),n.st=i+1,n.ed=a>=n.st?a:n.st,d=n.ed)}t.st=g?u+1:u,t.ed=d>=t.st?d:t.st,t.width=f,t.asc=p,t.dsc=m,s=Math.max(s,f),a=t.ed}t.st=n+1,t.ed=a>=t.st?a:t.st,t.height=o,t.width=s,l+=s,c=Math.max(c,t.height),i=t.ed}t.st=n+1,t.ed=i>=t.st?i:t.st,t.height=c,s+=c,o=Math.max(o,l),a=t.ed}for(let e of r.values()){let{ed:t}=e;a=Math.max(a,t)}t.st=i+1,t.ed=a>=t.st?a:t.st,t.height=s,t.width=o,n=t.ed}}function ga(e,t){va(t,(t,n,r,i)=>{var a,o;let{segmentId:s}=i,c=(a=e.paragraphConfigCache.get(s))==null?void 0:a.get(t.paragraphIndex),u=c==null?void 0:c.paragraphInlineSkeDrawings,d=(o=e.skeletonResourceReference)==null||(o=o.drawingAnchor)==null||(o=o.get(s))==null?void 0:o.get(t.paragraphIndex);u&&u.size>0&&Ki(t,u,d==null?void 0:d.top);let f=c==null?void 0:c.paragraphStyle;if(t.divides.length>0){let e=t.divides[t.divides.length-1],n=e.glyphGroup[e.glyphGroup.length-1];(n==null?void 0:n.streamType)===l.DataStreamTreeTokenType.PARAGRAPH&&f!=null&&f.borderBottom&&(t.borderBottom=f.borderBottom)}})}function _a(e,t){for(let n of e){let{sections:e}=n;for(let r of e){let{columns:e}=r;for(let i of e){let{lines:e}=i;for(let a of e){let{divides:e}=a,o=e.length;for(let s=0;s<o;s++){let o=e[s],{glyphGroup:c}=o;for(let e of c)t&&ae(t)&&t(e,o,a,i,r,n)}}}}}}function va(e,t){for(let n of e){let{sections:e}=n;for(let r of e){let{columns:e}=r;for(let i of e){let{lines:e}=i;for(let a of e)t&&ae(t)&&t(a,i,r,n)}}}}function ya(e,t){for(let n of e){let{sections:e}=n;for(let n of e){let{columns:e}=n;for(let n of e)t&&ae(t)&&t(n)}}}function ba(e,t,n,r,i=!1){let{relativeFrom:a,align:o,posOffset:s,percent:c}=e;if(o!=null)if(o===l.AlignTypeH.INSIDE||o===l.AlignTypeH.OUTSIDE)a===l.ObjectRelativeFromH.MARGIN||l.ObjectRelativeFromH.PAGE;else{if(a===l.ObjectRelativeFromH.COLUMN){let{width:e,left:n}=t,i=0;return o===l.AlignTypeH.LEFT?i=n:o===l.AlignTypeH.RIGHT?i=n+e-r:o===l.AlignTypeH.CENTER&&(i=n+e/2-r/2),i}if(a!==l.ObjectRelativeFromH.LEFT_MARGIN&&a!==l.ObjectRelativeFromH.MARGIN&&a!==l.ObjectRelativeFromH.RIGHT_MARGIN&&a!==l.ObjectRelativeFromH.INSIDE_MARGIN&&a!==l.ObjectRelativeFromH.OUTSIDE_MARGIN&&a===l.ObjectRelativeFromH.PAGE){let{pageWidth:e}=n,t=0;return o===l.AlignTypeH.RIGHT?t=e-r:o===l.AlignTypeH.CENTER&&(t=e/2-r/2),t}}else if(s){let{pageWidth:e,marginLeft:o,marginRight:c}=n,u=e-c,d=0;return a===l.ObjectRelativeFromH.COLUMN?d=(i?0:(t==null?void 0:t.left)||0)+s:a===l.ObjectRelativeFromH.LEFT_MARGIN||(a===l.ObjectRelativeFromH.MARGIN?d=s+o:a===l.ObjectRelativeFromH.RIGHT_MARGIN||a===l.ObjectRelativeFromH.INSIDE_MARGIN||a===l.ObjectRelativeFromH.OUTSIDE_MARGIN||a===l.ObjectRelativeFromH.PAGE&&(d=s)),d+r>u&&(d=u-r),d}else if(c){let{pageWidth:e,marginLeft:t,marginRight:r}=n;if(a!==l.ObjectRelativeFromH.LEFT_MARGIN&&a!==l.ObjectRelativeFromH.MARGIN&&a!==l.ObjectRelativeFromH.RIGHT_MARGIN&&a!==l.ObjectRelativeFromH.INSIDE_MARGIN&&a!==l.ObjectRelativeFromH.OUTSIDE_MARGIN&&a===l.ObjectRelativeFromH.PAGE)return c*e}}function xa(e,t,n,r,i,a,o=!1){let{relativeFrom:s,align:c,posOffset:u,percent:d}=e;if(c!=null){if(s===l.ObjectRelativeFromV.LINE){let e=0;return c===l.AlignTypeV.BOTTOM?e=n+r-i:c===l.AlignTypeV.TOP?e=n:c===l.AlignTypeV.CENTER&&(e=n+r/2-i/2),e}else if(s!==l.ObjectRelativeFromV.TOP_MARGIN&&s!==l.ObjectRelativeFromV.MARGIN&&s!==l.ObjectRelativeFromV.BOTTOM_MARGIN&&s!==l.ObjectRelativeFromV.INSIDE_MARGIN&&s!==l.ObjectRelativeFromV.OUTSIDE_MARGIN&&s===l.ObjectRelativeFromV.PAGE){let{pageHeight:e}=t,n=0;return c===l.AlignTypeV.BOTTOM?n=e-i:c===l.AlignTypeV.CENTER&&(n=e/2-i/2),n}}else if(u!=null){let e=0,{marginTop:r}=t;return s===l.ObjectRelativeFromV.LINE?e=(n||0)+u:s===l.ObjectRelativeFromV.TOP_MARGIN||(s===l.ObjectRelativeFromV.MARGIN?e=u:s===l.ObjectRelativeFromV.BOTTOM_MARGIN||s===l.ObjectRelativeFromV.INSIDE_MARGIN||s===l.ObjectRelativeFromV.OUTSIDE_MARGIN||(s===l.ObjectRelativeFromV.PAGE?e=u-r:s===l.ObjectRelativeFromV.PARAGRAPH&&(e=(o?0:a==null?n:a)+u))),e}else if(d!=null){let{pageHeight:e,marginBottom:n,marginTop:r}=t;if(s!==l.ObjectRelativeFromV.TOP_MARGIN&&s!==l.ObjectRelativeFromV.MARGIN&&s!==l.ObjectRelativeFromV.BOTTOM_MARGIN&&s!==l.ObjectRelativeFromV.INSIDE_MARGIN&&s!==l.ObjectRelativeFromV.OUTSIDE_MARGIN&&s===l.ObjectRelativeFromV.PAGE)return d*e}}function Sa(e){let t=0;for(let n of e.glyphGroup)t+=n.width;return t}const Ca=new l.ObjectMatrix;function wa(){Ca.reset()}function Ta(e,t,n){let{ts:r,fontStyle:i}=e,{gridType:a=l.GridType.LINES,charSpace:o=0,pageSize:s={width:1/0,height:1/0},marginRight:c=0,marginLeft:u=0}=t,{snapToGrid:d=l.BooleanNumber.TRUE}=n;return{fontStyle:i,textStyle:r,charSpace:o,gridType:a,snapToGrid:d,pageWidth:s.width||1/0-u-c}}function Ea(e,t){var n;let{listType:r}=e;return(n=t.getDataModel().getBulletPresetList()[r].nestingLevel[0].paragraphProperties)==null?void 0:n.textStyle}const Da={ts:{},st:0,ed:0};function Oa(e,t,n,r,i){let{gridType:a=l.GridType.LINES,charSpace:o=0,documentTextStyle:s={},pageSize:c={width:1/0,height:1/0},marginRight:u=0,marginLeft:d=0,renderConfig:f={}}=r,{paragraphStyle:p={},bullet:m}=i,{isRenderStyle:h}=f,{startIndex:g}=n,_=t.getTextRun(e+g),v=h===l.BooleanNumber.FALSE||_==null?Da:_,y=t.getCustomDecoration(e+g),b=y&&y.show!==!1,x=b?ea(y):null,S=t.getCustomRange(e+g),C=S&&S.show!==!1,w=C?ta(S):null,T=C||b||!!m||(p==null?void 0:p.namedStyleType),{st:E,ed:D}=v,{ts:O={}}=v,k=Ca.getValue(E,D);if(k&&!T&&_)return k;let{snapToGrid:A=l.BooleanNumber.TRUE,namedStyleType:j}=p,M=m?Ea(m,t):null,N=j?l.NAMED_STYLE_MAP[j]:null;O={...s,...N,...O,...x,...w,...M};let P={fontStyle:pe(O),textStyle:{...s,...O},charSpace:o,gridType:a,snapToGrid:A,pageWidth:c.width||1/0-d-u};return!T&&_&&Ca.setValue(E,D,P),P}function ka(){return{pages:[],left:0,top:0,st:0,skeHeaders:new Map,skeFooters:new Map,skeListLevel:new Map,drawingAnchor:new Map}}function Aa(e,t){for(let n of e)n.parent=t}let ja=function(e){return e.IMAGE=`IMAGE`,e.TABLE=`TABLE`,e}({});const Ma={columnProperties:[],columnSeparatorType:l.ColumnSeparatorType.NONE,sectionType:l.SectionType.SECTION_TYPE_UNSPECIFIED,startIndex:0},Na={width:1/0,height:1/0},Pa={pageNumberStart:1,pageSize:{width:et(595),height:1/0},marginTop:et(50),marginBottom:et(50),marginRight:et(50),marginLeft:et(50),renderConfig:{vertexAngle:0,centerAngle:0,background:{rgb:`#FFFFFF`}},defaultHeaderId:``,defaultFooterId:``,evenPageHeaderId:``,evenPageFooterId:``,firstPageHeaderId:``,firstPageFooterId:``,evenAndOddHeaders:l.BooleanNumber.FALSE,useFirstPageHeaderFooter:l.BooleanNumber.FALSE,marginHeader:0,marginFooter:0},Fa={columnProperties:[],columnSeparatorType:l.ColumnSeparatorType.NONE,sectionType:l.SectionType.SECTION_TYPE_UNSPECIFIED};function Ia(e,t){var n;let{viewModel:r,dataModel:i,docsConfig:a}=e,o=r.getChildren()[t],{documentStyle:s}=i,{documentFlavor:c}=s,u=r.getSectionBreak(o.endIndex)||Ma;c===l.DocumentFlavor.MODERN&&(u=Object.assign({},u,Fa),s=Object.assign({},s,Pa));let{pageNumberStart:d=1,pageSize:f=Na,pageOrient:p=l.PageOrientType.PORTRAIT,defaultHeaderId:m,defaultFooterId:h,evenPageHeaderId:g,evenPageFooterId:_,firstPageHeaderId:v,firstPageFooterId:y,useFirstPageHeaderFooter:b,evenAndOddHeaders:x,marginTop:S=0,marginBottom:C=0,marginRight:w=0,marginLeft:T=0,marginHeader:E=0,marginFooter:D=0,autoHyphenation:O=l.BooleanNumber.FALSE,doNotHyphenateCaps:k=l.BooleanNumber.FALSE,consecutiveHyphenLimit:A=1/0,hyphenationZone:j,renderConfig:M={horizontalAlign:l.HorizontalAlign.LEFT,verticalAlign:l.VerticalAlign.TOP,centerAngle:0,vertexAngle:0,wrapStrategy:l.WrapStrategy.UNSPECIFIED}}=s,{charSpace:N=0,linePitch:P=15.6,gridType:F=l.GridType.LINES,pageNumberStart:I=d,pageSize:L=f,pageOrient:R=p,marginTop:z=S,marginBottom:ee=C,marginRight:B=w,marginLeft:V=T,marginHeader:te=E,marginFooter:ne=D,defaultHeaderId:re=m,defaultFooterId:ie=h,evenPageHeaderId:ae=g,evenPageFooterId:oe=_,firstPageHeaderId:se=v,firstPageFooterId:ce=y,useFirstPageHeaderFooter:le=b,evenAndOddHeaders:ue=x,columnProperties:de=[],columnSeparatorType:fe=l.ColumnSeparatorType.NONE,contentDirection:H,sectionType:pe,textDirection:me,renderConfig:he=M}=u,ge=r.getChildren()[t+1],_e=(n=r.getSectionBreak(ge==null?void 0:ge.endIndex))==null?void 0:n.sectionType,ve={defaultHeaderId:re,evenPageHeaderId:ae,firstPageHeaderId:se},ye={defaultFooterId:ie,evenPageFooterId:oe,firstPageFooterId:ce};return L.width===null&&(L.width=1/0),L.height===null&&(L.height=1/0),{charSpace:N,linePitch:P,gridType:F,pageNumberStart:I,pageSize:L,pageOrient:R,marginTop:z,marginBottom:ee,marginRight:B,marginLeft:V,marginHeader:te,marginFooter:ne,headerIds:ve,footerIds:ye,useFirstPageHeaderFooter:le,evenAndOddHeaders:ue,columnProperties:de,columnSeparatorType:fe,contentDirection:H,sectionType:pe,sectionTypeNext:_e,textDirection:me,renderConfig:he,autoHyphenation:O,doNotHyphenateCaps:k,consecutiveHyphenLimit:A,hyphenationZone:j,...a}}function La(e){var t;e.isDirty=!1,(t=e.skeleton.drawingAnchor)==null||t.clear()}function Ra(e,t,n){let r=(e,t,i)=>i===`v`?typeof t==`number`&&typeof e==`number`?n===`max`?Math.max(t,e):Math.min(t,e):t==null?e:t:typeof t==`object`?(0,l.mergeWith)(e,t,r):t==null?e:t;return(0,l.mergeWith)(e,t,r)}function za(e,t){let n=[...t],r=null;for(;n.length>0;){let t=n.shift();if(t===`pages`){let t=n.shift();r=e.pages[t]}else if(t===`skeTables`){var i;let e=n.shift();n.shift();let t=n.shift();n.shift();let a=n.shift();r=(i=r.skeTables)==null||(i=i.get(e))==null||(i=i.rows[t])==null?void 0:i.cells[a]}}return r}function Ba(e){return(e-100)/2}function Va(e,t,n,r=1,i=dt.SECTION){let a=Ha(),{pageNumberStart:o=1,pageSize:s={width:1/0,height:1/0},pageOrient:c=l.PageOrientType.PORTRAIT,headerIds:u={},footerIds:d={},useFirstPageHeaderFooter:f,evenAndOddHeaders:p,footerTreeMap:m,headerTreeMap:h,columnProperties:g=[],columnSeparatorType:_,marginTop:v=0,marginBottom:y=0,marginHeader:b=0,marginFooter:x=0,marginLeft:S=0,marginRight:C=0,renderConfig:w={}}=t,{skeHeaders:T,skeFooters:E}=n,{width:D=1/0,height:O=1/0}=s;a.pageNumber=r,a.pageNumberStart=o,a.renderConfig=w,a.marginLeft=S,a.marginRight=C,a.breakType=i,a.pageWidth=D,a.width=0,a.pageHeight=O,a.height=0,a.pageOrient=c;let{defaultHeaderId:k,evenPageHeaderId:A,firstPageHeaderId:j}=u,{defaultFooterId:M,evenPageFooterId:N,firstPageFooterId:P}=d,F=k==null?``:k,I=M==null?``:M;r===o&&f===l.BooleanNumber.TRUE?(F=j==null?``:j,I=P==null?``:P):r%2==0&&p===l.BooleanNumber.TRUE&&(F=A==null?``:A,I=N==null?``:N);let L,R;if(F){var z;if((z=T.get(F))!=null&&z.has(D)){var ee;L=(ee=T.get(F))==null?void 0:ee.get(D)}else h&&h.has(F)&&(L=Ua(e,h.get(F),t,n,F,!0),T.set(F,new Map([[D,L]])));a.headerId=F}if(I){var B;if((B=E.get(I))!=null&&B.has(D)){var V;R=(V=E.get(I))==null?void 0:V.get(D)}else m&&m.has(I)&&(R=Ua(e,m.get(I),t,n,I,!1),E.set(I,new Map([[D,R]])));a.footerId=I}a.originMarginTop=v,a.originMarginBottom=y,a.marginTop=Ka(v,L,O),a.marginBottom=Ka(y,R,O);let te=a.sections,ne=te[te.length-1],{marginTop:re,marginBottom:ie,marginLeft:ae,marginRight:oe}=a,se=D-ae-oe,ce=O-re-ie,le=0;ne&&(le=ne.top+ne.height);let ue=di(g,_,le,0,se,ce-le);return ue.parent=a,te.push(ue),a}function Ha(e=G.BODY,t=``){return{sections:[],headerId:``,footerId:``,pageWidth:0,pageHeight:0,pageOrient:l.PageOrientType.PORTRAIT,pageNumber:1,pageNumberStart:1,verticalAlign:!1,angle:0,width:0,height:0,left:0,marginLeft:0,marginRight:0,originMarginTop:0,marginTop:0,originMarginBottom:0,marginBottom:0,breakType:dt.SECTION,st:0,ed:0,skeDrawings:new Map,skeTables:new Map,type:e,segmentId:t}}function Ua(e,t,n,r,i,a=!0,o,s=0){let{lists:c,footerTreeMap:l,headerTreeMap:u,localeService:d,pageSize:f,drawings:p,marginLeft:m=0,marginRight:h=0,marginHeader:g=0,marginFooter:_=0}=n,v=(f==null?void 0:f.width)||1/0,y=(f==null?void 0:f.height)||1/0,b={lists:c,footerTreeMap:l,headerTreeMap:u,pageSize:{width:v-m-h,height:Ba(y)-(a?g:_)-5},localeService:d,drawings:p};o==null&&(o=Va(e,b,r),o.type=a?G.HEADER:G.FOOTER,o.segmentId=i);let x=e.layoutStartPointer[i];e.layoutStartPointer[i]=null;let S=us(e,t,t.getChildren()[0],o,b,x).pages[0];return e.isDirty&&s<10?(s++,La(e),Ua(e,t,n,r,i,a,o,s)):(ha([S]),a?Object.assign(S,{marginTop:g,marginBottom:5}):Object.assign(S,{marginTop:5,marginBottom:_}),S)}function Wa(e,t,n,r,i,a=1/0,o=1/0){var s,c;let{lists:l,footerTreeMap:u,headerTreeMap:d,localeService:f,drawings:p}=t,{skeletonResourceReference:m}=e,{cellMargin:h,tableRows:g,tableColumns:_,tableId:v}=n,{start:y={v:10},end:b={v:10},top:x={v:5},bottom:S={v:5}}=(s=(c=g[r].tableCells[i].margin)==null?h:c)==null?{}:s,C=_[i].size.width.v,w=o,T={lists:l,footerTreeMap:u,headerTreeMap:d,pageSize:{width:C,height:w},marginTop:x.v,marginBottom:S.v,marginLeft:y.v,marginRight:b.v,localeService:f,drawings:p},E=Va(e,Object.assign({},T,{pageSize:{width:C,height:Number.isFinite(a)?a:w}}),m);return E.type=G.CELL,E.segmentId=v,{page:E,sectionBreakConfig:T}}function Ga(e,t,n,r,i,a,o,s=1/0,c=1/0){let l=n.children[0],{page:u,sectionBreakConfig:d}=Wa(e,r,i,a,o,s,c),{pages:f}=us(e,t,l,u,d);for(let e of f)e.type=G.CELL,e.segmentId=i.tableId;return ha(f,n.startIndex),ga(e,f),f}function Ka(e,t,n){if(!t||t.sections[0].columns[0].lines.length===0)return e;let r=t.height+t.marginTop+t.marginBottom,i=Ba(n);return Math.min(i,Math.max(e,r))}function qa(){return[]}function Ja(e){return e.length>0&&!/\s|(?![\'])[\!-\@\[-\`\{-\~\u2013-\u203C]/.test(e)}function Ya(e){let t=``;for(let n=0;n<e.length&&Ja(e[n]);n++)t+=e[n];return t}function Xa(e,t,n){let r=e;for(let e=0;e<=n;e++)r+=t[e].length;return r}function Za(e){switch(e){case`–`:case`—`:return .2;case`.`:case`,`:return .8;case`:`:case`;`:return .3;case`،`:case`۔`:return .4;default:return 0}}function Qa(e){let{glyphGroup:t}=e,n=0;for(let e of t){let[t,r]=e.adjustability.shrinkability;n+=t+r}return n}function $a(e){let{glyphGroup:t}=e,n=0;for(let e of t){let[t,r]=e.adjustability.stretchability;n+=t+r}return n}function eo(e){let t=e.glyphGroup.filter(e=>e.isJustifiable).length,n=e.glyphGroup[e.glyphGroup.length-1];return _e(n.content)?t-1:t}function to(e,t,n){for(let r of e.glyphGroup){let e=t<0?r.adjustability.shrinkability[0]:r.adjustability.stretchability[0],i=t<0?r.adjustability.shrinkability[1]:r.adjustability.stretchability[1],a=e*t,o=i*t;r.isJustifiable&&(o+=n),r.width+=a+o,r.xOffset+=a}zr(e.glyphGroup)}function no(e,t){let{divides:n}=e;for(let e=0;e<n.length;e++){let r=n[e],{width:i}=r,a=Sa(r);if(i!==1/0){if(r.isFull){let e=i-a;if(r.glyphGroup.length>1){let t=r.glyphGroup[r.glyphGroup.length-1],n=Za(t.content)*t.width;e+=n}let n=0,o=0,s=Qa(r),c=$a(r);if(e<0&&s>0)n=Math.max(e/s,-1),e=Math.min(e+s,0);else if(t===l.HorizontalAlign.JUSTIFIED){c>0&&(n=Math.min(e/c,1),e=Math.max(e-c,0));let t=eo(r);t>0&&e>0&&(o=e/t,e=0)}(n!==0||o!==0)&&(to(r,n,o),a=Sa(r))}t===l.HorizontalAlign.CENTER?r.paddingLeft=(i-a)/2:t===l.HorizontalAlign.RIGHT&&(r.paddingLeft=i-a),r.paddingLeft=Math.max(r.paddingLeft,0)}}}function ro(e){for(let t of e.divides){let e=t.glyphGroup[t.glyphGroup.length-1];if(e&&t.isFull&&he(e.content)&&e.width-e.xOffset>e.bBox.width){let t=e.width-e.xOffset-e.bBox.width;e.width-=t,e.adjustability.shrinkability[1]=0}}}function io(e){for(let t of e.divides){let e=t.glyphGroup.length;if(e<2)continue;let n=t.glyphGroup[0],r=t.glyphGroup[e-1];if(Ne(n.content)){let e=n.adjustability.shrinkability[0];Ur(n,e)}if(Me(r.content)){let e=r.adjustability.shrinkability[1];Hr(r,e)}zr(t.glyphGroup)}}function ao(e,t,n,r,i){for(let t of e.divides){let{glyphGroup:e,breakType:n}=t,a=e[e.length-1];if(a&&Ja(a.content)&&n===X.Hyphen){let e=Fr(Ta(a,r,i));e.parent=a.parent,e.left=a.left+a.width,t.glyphGroup.push(e),t.width-=e.width}}}function oo(e,t,n,r){let{endIndex:i}=n,a=t.getParagraph(i)||{startIndex:0};va(e,e=>{if(e.paragraphIndex!==a.startIndex)return;let{paragraphStyle:i={}}=a,{horizontalAlign:o=l.HorizontalAlign.UNSPECIFIED}=i;io(e),ro(e),ao(e,t,n,r,i),no(e,o)})}function so(e,t,n){return co(e,t,n)}function co(e,t,n){return n===l.ListGlyphType.DECIMAL?lo(e,t):n===l.ListGlyphType.DECIMAL_ZERO?uo(e,t):n===l.ListGlyphType.UPPER_LETTER?fo(e,t):n===l.ListGlyphType.LOWER_LETTER?po(e,t):n===l.ListGlyphType.UPPER_ROMAN?mo(e,t):n===l.ListGlyphType.LOWER_ROMAN?ho(e,t):lo(e,t)}function lo(e,t){return(e+t).toString()}function uo(e,t){let n=e+t;return n<10?`0${n}`:n.toString()}function fo(e,t){return(0,l.numberToListABC)(e+t-1,!0)}function po(e,t){return(0,l.numberToListABC)(e+t-1,!1)}function mo(e,t){return go(e+t,!0)}function ho(e,t){return go(e+t,!1)}function go(e,t=!1){let n={M:1e3,CM:900,D:500,CD:400,C:100,XC:90,L:50,XL:40,X:10,IX:9,V:5,IV:4,I:1},r={m:1e3,cm:900,d:500,cd:400,c:100,xc:90,l:50,xl:40,x:10,ix:9,v:5,iv:4,i:1};t&&(r=n);let i=``;for(let t in r)for(;e>=r[t];)i+=t,e-=r[t];return i}function _o(e,t,n,r){if(!e||!t)return;let{listId:i,listType:a,nestingLevel:o=0,textStyle:s}=e,c=t[a];if(!c||!c.nestingLevel){var l;return vo(i,n==null||(l=n[o])==null?void 0:l.startIndexItem)}if(!c.nestingLevel[o]){var u;return vo(i,n==null||(u=n[o])==null?void 0:u.startIndexItem)}return yo(i,o,c.nestingLevel,n,s,r)}function vo(e,t=1){return{listId:e,symbol:`●`,ts:{ff:`Arial`,fs:9},startIndexItem:t,paragraphProperties:{indentFirstLine:{v:0},hanging:{v:21},indentStart:{v:0}}}}function yo(e,t,n,r,i,a){var o,s;let c=n[t],{bulletAlignment:l,glyphFormat:u,textStyle:d={},glyphType:f,glyphSymbol:p}=c,m={...i,...d},h=pe(m),g;g=p||bo(u,t,n,r);let _=(o=r==null||(s=r[t])==null?void 0:s.startIndexItem)==null?1:o;return{listId:e,symbol:g,ts:m,fontStyle:h,startIndexItem:_+1,nestingLevel:c,bulletAlign:l,bulletType:p?!1:!!f,paragraphProperties:c.paragraphProperties}}function bo(e,t,n,r){let i=e.split(`%`),a=[i[0]];for(let e=1;e<i.length;e++){var o;let s=i[e],{level:c,suffix:l}=So(s),u=(r==null||(o=r[c])==null?void 0:o.startIndexItem)||1;c!==t&&(r==null?void 0:r[c])!==null&&--u;let d=xo(u,n[c]);a.push(d,l)}return a.join(``)}function xo(e=1,t){let{startNumber:n,glyphType:r,glyphSymbol:i}=t;return i||(r?so(e,n,r):`●`)}function So(e){if(e===``)return{level:0,suffix:``};let t=e.split(``),n=``,r=``,i=!1,a=/[0-9]/g;return t.forEach(e=>{!i&&a.test(`${n}${e}`)?n+=e:(i=!0,r+=e)}),{level:Number.parseInt(n)-1,suffix:r}}function Co(e,t){if(!e||!t)return;let{listId:n,nestingLevel:r}=e,i=t==null?void 0:t.get(n),a=r;a<0&&(a=0);let o=[];for(let e=a;e>=0;e--)if(Array.isArray(i==null?void 0:i[e])){var s,c;let t=i[e].length;o[e]=(s=(c=i[e][t-1])==null?void 0:c.bullet)==null?null:s}else o[e]=null;return o}function wo(e,t,n,r){if(!t||!n)return;let{listId:i,nestingLevel:a}=t,o=[...(r==null?void 0:r.get(i))||[]];o[a]==null&&(o[a]=[]),o[a].push({bullet:n,paragraph:e}),o.splice(a+1),r==null||r.set(i,o)}function To(e){let{drawingId:t}=e;return{drawingId:t,aLeft:0,aTop:0,width:0,height:0,angle:0,initialState:!1,drawingOrigin:e,columnLeft:0,lineHeight:0,lineTop:0,blockAnchorTop:0,isPageBreak:!1}}function Eo(e){return e.pageNumber+1}function Do(e,t,n,r,i,a,o){let{skeletonResourceReference:s}=e,{lists:c,drawings:u={},localeService:d}=a,{endIndex:f,blocks:p=[],children:m}=i,{segmentId:h}=r,g=t.getParagraph(f)||{startIndex:0},{paragraphStyle:_={},bullet:v}=g,{skeHeaders:y,skeFooters:b,skeListLevel:x,drawingAnchor:S}=s,C=new Map,w=new Map,T=S==null?void 0:S.get(h);T==null&&(T=new Map,S==null||S.set(h,T));let E={paragraphIndex:f,paragraphStyle:l.Tools.deepClone(_),paragraphNonInlineSkeDrawings:C,paragraphInlineSkeDrawings:w,skeTablesInParagraph:o?[{tableId:o.tableId,table:o,hasPositioned:!1,isSlideTable:!1,tableNode:m[0]}]:void 0,skeHeaders:y,skeFooters:b,pDrawingAnchor:T},D=e.paragraphConfigCache.get(h);if(D==null&&(D=new Map,e.paragraphConfigCache.set(h,D)),D.has(f)){var O;E.bulletSkeleton=(O=D.get(f))==null?void 0:O.bulletSkeleton}else{let e=_o(v,c,Co(v,x),d);wo(g,v,e,x),E.bulletSkeleton=e}for(let e=0,n=p.length;e<n;e++){let n=p[e],r=t.getCustomBlock(n);if(r==null)continue;let{blockId:i}=r,a=u[i];a.layoutType===l.PositionedObjectLayoutType.INLINE?w.set(i,To(a)):C.set(i,To(a))}D.set(f,E);let k=[r],A=!0;for(let[t,{text:r,glyphs:i,breakPointType:o}]of n.entries()){let t=()=>{i.length!==0&&(k=Di(e,i,k,a,E,A,o),A=!1)};if(r.endsWith(l.DataStreamTreeTokenType.PAGE_BREAK)){t(),k.push(Va(e,a,s,Eo(k[k.length-1]),dt.PAGE)),C.clear(),w.clear();continue}else if(r.endsWith(l.DataStreamTreeTokenType.COLUMN_BREAK)){t();let n=k[k.length-1],r=sa(n);r&&!r.isLast?fi(r.column,!0):k.push(Va(e,a,s,Eo(n),dt.COLUMN));continue}t()}return k}let Z=function(e){return e.Af=`af`,e.As=`as`,e.Be=`be`,e.Bg=`bg`,e.Bn=`bn`,e.Ca=`ca`,e.Cop=`cop`,e.Cs=`cs`,e.Cu=`cu`,e.Cy=`cy`,e.Da=`da`,e.De1901=`de-1901`,e.De1996=`de-1996`,e.DeCh1901=`de-ch-1901`,e.ElMonoton=`el-monoton`,e.ElPolyton=`el-polyton`,e.EnGb=`en-gb`,e.EnUs=`en-us`,e.Es=`es`,e.Et=`et`,e.Eu=`eu`,e.Fi=`fi`,e.Fr=`fr`,e.Fur=`fur`,e.Ga=`ga`,e.Gl=`gl`,e.Grc=`grc`,e.Gu=`gu`,e.Hi=`hi`,e.Hr=`hr`,e.Hsb=`hsb`,e.Hu=`hu`,e.Hy=`hy`,e.Ia=`ia`,e.Id=`id`,e.Is=`is`,e.It=`it`,e.Ka=`ka`,e.Kmr=`kmr`,e.Kn=`kn`,e.LaXClassic=`la-x-classic`,e.LaXLiturgic=`la-x-liturgic`,e.La=`la`,e.Lt=`lt`,e.Lv=`lv`,e.Ml=`ml`,e.MnCyrlXLmc=`mn-cyrl-x-lmc`,e.MnCyrl=`mn-cyrl`,e.Mr=`mr`,e.MulEthi=`mul-ethi`,e.Nb=`nb`,e.Nl=`nl`,e.Nn=`nn`,e.No=`no`,e.Oc=`oc`,e.Or=`or`,e.Pa=`pa`,e.Pi=`pi`,e.Pl=`pl`,e.Pms=`pms`,e.Pt=`pt`,e.Rm=`rm`,e.Ro=`ro`,e.Ru=`ru`,e.Sa=`sa`,e.ShCyrl=`sh-cyrl`,e.ShLatn=`sh-latn`,e.Sk=`sk`,e.Sl=`sl`,e.SrCyrl=`sr-cyrl`,e.Sv=`sv`,e.Ta=`ta`,e.Te=`te`,e.Th=`th`,e.Tk=`tk`,e.Tr=`tr`,e.Uk=`uk`,e.ZhLatnPinyin=`zh-latn-pinyin`,e.UNKNOWN=`unknown`,e}({});function Oo(e){return e.length>0&&e===e.toUpperCase()}var ko=class{constructor(e,t,n,r=!1){this._lineBreaker=e,this._hyphen=t,this._lang=n,this._doNotHyphenateCaps=r,U(this,`_curBreak`,null),U(this,`_nextBreak`,new In(0)),U(this,`_isInWord`,!1),U(this,`_word`,``),U(this,`_hyphenIndex`,-1),U(this,`_hyphenSlice`,[]),U(this,`content`,``),this.content=e.content}nextBreakPoint(){if(!this._isInWord){if(this._curBreak=this._nextBreak,this._nextBreak=this._lineBreaker.nextBreakPoint(),this._nextBreak==null||this._curBreak==null)return null;let e=Ya(this.content.slice(this._curBreak.position,this._nextBreak.position));return e.length&&!(Oo(e)&&this._doNotHyphenateCaps)&&this._nextBreak.type!==X.Link?(this._isInWord=!0,this._word=e,this._hyphenSlice=this._hyphen.hyphenate(this._word,this._lang),this._hyphenIndex=0,this.nextBreakPoint()):this._nextBreak}else if(this._hyphenIndex<this._hyphenSlice.length-1){let e=Xa(this._curBreak.position,this._hyphenSlice,this._hyphenIndex);return this._hyphenIndex++,new In(e,X.Hyphen)}else return this._isInWord=!1,this._word=``,this._hyphenSlice=[],this._hyphenIndex=-1,this._nextBreak}},Ao=function(e){return e.Alphabetic=`Alphabetic`,e.Digit=`Digit`,e.Open=`Open`,e.Other=`Other`,e}(Ao||{});function jo(e){return/[a-z]/i.test(e)?Ao.Alphabetic:/[0-9]/.test(e)?Ao.Digit:e===`(`||e===`[`?Ao.Open:Ao.Other}function Mo(e){let t=[],n=0,r=Ao.Other;for(let i=0;i<e.length;i++){let a=e[i],o=jo(a);if(i>0&&r!==Ao.Open&&(o===Ao.Other?o===Ao.Other:o!==r)){let a=e.slice(n,i);if(a.length<16)t.push(a);else for(let e=0;e<a.length;e++)t.push(a[e]);n=i,r=o}}return t}const No=/[a-z\d!#$%&*+,-./:;=?@_~\\]/i,Po=/[!,.;:?']$/g;function Fo(e,t){let n=``;for(let r=t;r<e.length;r++){let t=e[r];if(No.test(t))n+=t;else break}return n.replace(Po,``),n}var Io=class{constructor(e){this._lineBreaker=e,U(this,`_curBreak`,null),U(this,`_nextBreak`,new In(0)),U(this,`_isInLink`,!1),U(this,`_link`,``),U(this,`_index`,-1),U(this,`_linkSlice`,[]),U(this,`content`,``),this.content=e.content}nextBreakPoint(){if(!this._isInLink){if(this._curBreak=this._nextBreak,this._nextBreak=this._lineBreaker.nextBreakPoint(),this._nextBreak==null||this._curBreak==null)return null;let e=this.content.slice(this._curBreak.position,this._nextBreak.position);if(e.length&&(e.endsWith(`://`)||e.startsWith(`www.`))){for(this._isInLink=!0,this._link=Fo(this.content,this._curBreak.position),this._linkSlice=Mo(this._link),this._index=0;this._nextBreak&&this._nextBreak.position<this._curBreak.position+this._link.length;)this._nextBreak=this._lineBreaker.nextBreakPoint();return this.nextBreakPoint()}else return this._nextBreak}else if(this._index<this._linkSlice.length-1){let e=Xa(this._curBreak.position,this._linkSlice,this._index);return this._index++,new In(e,X.Link)}else return this._isInLink=!1,this._link=``,this._linkSlice=[],this._index=-1,this._nextBreak}};function Lo(e){e.addRule(`break_before_and_after_slash_b`,(e,t)=>e===8||t===8)}function Ro(e){e.addRule(`break_before_tab`,e=>e===9)}var zo=function(e){return e[e.EQUAL=0]=`EQUAL`,e[e.GREATER=1]=`GREATER`,e[e.LESS=2]=`LESS`,e}(zo||{}),Bo=function(e){return e[e.Normal=0]=`Normal`,e[e.Italic=1]=`Italic`,e[e.Oblique=2]=`Oblique`,e}(Bo||{}),Vo=function(e){return e[e.THIN=100]=`THIN`,e[e.EXTRALIGHT=200]=`EXTRALIGHT`,e[e.LIGHT=300]=`LIGHT`,e[e.REGULAR=400]=`REGULAR`,e[e.MEDIUM=500]=`MEDIUM`,e[e.SEMIBOLD=600]=`SEMIBOLD`,e[e.BOLD=700]=`BOLD`,e[e.EXTRABOLD=800]=`EXTRABOLD`,e[e.BLACK=900]=`BLACK`,e}(Vo||{});function Ho(e){let{family:t,style:n}=e,r=Bo.Normal,i=Vo.REGULAR;switch(/italic/i.test(n)&&(r=Bo.Italic),!0){case/thin|hairline/i.test(n):i=Vo.THIN;break;case/(extra|ultra) *light/i.test(n):i=Vo.EXTRALIGHT;break;case/light/i.test(n):i=Vo.LIGHT;break;case/medium/i.test(n):i=Vo.MEDIUM;break;case/(semi|demi) *bold/i.test(n):i=Vo.SEMIBOLD;break;case/bold/i.test(n):i=Vo.BOLD;break;case/(extra|ultra) *bold/i.test(n):i=Vo.EXTRABOLD;break;case/black|heavy/i.test(n):i=Vo.BLACK;break}return{family:t,variant:{style:r,weight:i}}}function Uo(e){let{ff:t,bl:n=l.BooleanNumber.FALSE,it:r=l.BooleanNumber.FALSE}=e;return{family:t==null?`Arial`:t,variant:{style:r===l.BooleanNumber.TRUE?Bo.Italic:Bo.Normal,weight:n===l.BooleanNumber.TRUE?Vo.BOLD:Vo.REGULAR}}}function Wo(e,t){let n=1/0;n=e.variant.style===t.variant.style?0:e.variant.style!==Bo.Normal&&t.variant.style!==Bo.Normal?1:2;let r=Math.abs(e.variant.weight-t.variant.weight);return[n,r]}function Go(e,t){return e[0]===t[0]&&e[1]===t[1]?zo.EQUAL:e[0]===t[0]?e[1]>t[1]?zo.GREATER:zo.LESS:e[0]>t[0]?zo.GREATER:zo.LESS}async function Ko(){var e;if(typeof WorkerGlobalScope<`u`&&self instanceof WorkerGlobalScope||typeof window>`u`||window.navigator==null||((e=window.navigator)==null?void 0:e.permissions)==null)return!1;try{return(await window.navigator.permissions.query({name:`local-fonts`})).state===`granted`}catch{return!1}}const qo=new class{constructor(){U(this,`isReady`,!1),U(this,`_fontBook`,new Map),this._loadFontsToBook()}async _loadFontsToBook(){if(!this.isReady&&!(!await Ko()||!(`queryLocalFonts`in window))&&!(typeof navigator==`object`&&navigator.userAgent.includes(`Electron`)))try{let e=await window.queryLocalFonts({postscriptNames:[]});for(let t of e){let{family:e,style:n}=t,r=this._fontBook.get(e);r==null&&(r=new Map,this._fontBook.set(e,r));let i=await(await t.blob()).arrayBuffer();r.set(n,{font:t,buffer:i})}this.isReady=!0}catch(e){console.error(e)}}findBestMatchFontByStyle(e){let t=e.ff,n=this._fontBook.get(t);if(n==null)return;let r=null,i=[1/0,1/0];for(let t of n.values()){let{font:n}=t,a=Wo(Ho(n),Uo(e));(r==null||Go(i,a)===zo.GREATER)&&(r=t,i=a)}return r}getValidFontFamilies(e){return e.filter(e=>this._fontBook.has(e))}};function Jo(e,t){let{dataStream:n,paragraphs:r=[],textRuns:i=[]}=e,a=0;for(let e=0;e<r.length;e++){let{startIndex:n}=r[e];if(n===t)break;a=n+1}let o=[];for(let e of i){let{st:n,ed:r}=e;n>=a&&n<=t?o.push({...e,st:n-a,ed:Math.min(r,t)-a}):r>=a&&r<=t&&o.push({...e,st:Math.max(n,a)-a,ed:r-a})}return{dataStream:n.substring(a,t+1),textRuns:o}}function Yo(e){let{dataStream:t,textRuns:n=[]}=e,r=0,i=[];for(let e of n){let{st:n,ed:a,ts:o={}}=e;n!==r&&i.push({content:t.substring(r,n)}),i.push({content:t.substring(n,a),style:o}),r=a}return r!==t.length&&i.push({content:t.substring(r)}),i}const Xo=new Map,Zo=new Map;function Qo(e,t,n,r,i){var a,o,s;let c=0,u=r[c];for(;n.has(u);)c++,u=r[c];if(!u)return[{char:e,start:t,end:t+e.length,glyph:null,font:null,kerning:0,boundingBox:null}];n.add(u);let{font:d,buffer:p}=qo.findBestMatchFontByStyle({ff:u,bl:(a=i.bl)==null?l.BooleanNumber.FALSE:a,it:(o=i.it)==null?l.BooleanNumber.FALSE:o}),m=Xo.get(d.fullName);m||(m=(0,f.parse)(p),Xo.set(d.fullName,m));let h=[],g=m.stringToGlyphs(e),_=(s=e.match(/[\s\S]/gu))==null?[]:s,v=0,y=0;for(;v<g.length;){var b;let a=g[v];if(a.index!==0)h.push({char:_[v],start:y+t,end:y+t+_[v].length,glyph:a,font:m,kerning:0,boundingBox:a.getBoundingBox()});else{let a=y,o=Ee(e.substring(a));if(o&&De(o)){let s=0;do s+=_[v].length,y+=_[v].length,v++;while(s<o.length);h.push(...Qo(e.slice(a,a+o.length),t+a,n,r,i));continue}else{let o=g[v+1],s=_[v+1];for(;(o==null?void 0:o.index)===0&&!De(s);)y+=_[v].length,v++,o=g[v+1],s=_[v+1];h.push(...Qo(e.slice(a,y+_[v].length),t+a,n,r,i))}}y+=(b=_[v])==null?void 0:b.length,v++}return n.delete(u),h}function $o(e){if(e.length<2)return;let t=e[0].font,n=e[0].glyph;for(let r=1;r<e.length;r++){let{font:i,glyph:a}=e[r];if(t!==i||i==null||n==null||a==null){t=i,n=a;continue}let o=i.getKerningValue(n,a);o!==0&&(e[r].kerning=o),t=i,n=a}}function es(e){if(!qo.isReady)return[];let t=JSON.stringify(e);if(Zo.has(t))return Zo.get(t);let n=Yo(e),r=[],i=0;for(let e of n){var a;let{content:t,style:n={}}=e,o=y.split(`,`).map(e=>e.trim().replace(/["']/g,``));o.unshift((a=n.ff)==null?`Arial`:a),o=qo.getValidFontFamilies(o),r.push(...Qo(t,i,new Set,o,n)),i+=t.length}return $o(r),Zo.set(t,r),r}function ts(e,t,n,r,i,a){let o=[],s=0,c=t;for(;c.length;){var l;let u=(l=c.match(/^[\s\S]/gu))==null?void 0:l[0];if(u==null||je(u)||Oe(t.substring(s)))break;let d=Nr(u,Oa(e+s,n,r,i,a));o.push(d),c=c.substring(u.length),s+=u.length}return{step:s,glyphGroup:o}}function ns(e,t,n,r,i,a){let o=Oa(e,n,r,i,a),s=[],c=0;for(let e=0;e<t.length;e++){let n=t[e];if(ke(n))s.unshift(n),c++;else break}return{step:c,glyphGroup:[Nr(s.join(``),o)]}}function rs(e,t,n,r,i,a){let o=Oa(e,n,r,i,a),s=Ee(t)||t[0];return{step:s.length,glyphGroup:[Nr(s,o)]}}function is(e,t,n,r,i,a){let o=Oa(e,n,r,i,a),s=[],c=0;for(let e=0;e<t.length;e++){let n=t[e];if(Ae(n))s.push(n),c++;else break}return{step:c,glyphGroup:[Mr(s.join(``),o)]}}function as(e){let t=e.length;for(let n=0;n<t-1;n++){let t=e[n],r=e[n+1],{width:i,content:a}=t,o=i/2;if(ye(a)&&ye(r.content)&&t.adjustability.shrinkability[1]+r.adjustability.shrinkability[0]>=o){let e=Math.min(t.adjustability.shrinkability[1],o);Hr(t,e),Ur(r,o-e)}}}function os(e){let t=e.flatMap(e=>e.glyphs),n=null,r=t.length,i=/[a-z\d]/i;for(let e=0;e<r;e++){let a=t[e],o=e<r-1?t[e+1]:null,{width:s}=a;he(a.content)&&o&&i.test(o.content)&&(a.width+=s/4,a.adjustability.shrinkability[1]+=s/8),he(a.content)&&n&&i.test(n.content)&&(a.width+=s/4,a.xOffset+=s/4,a.adjustability.shrinkability[0]+=s/8),n=a}}function ss(e,t){let{suppressHyphenation:n=l.BooleanNumber.FALSE}=e,{autoHyphenation:r=l.BooleanNumber.FALSE}=t;return n===l.BooleanNumber.FALSE&&r===l.BooleanNumber.TRUE}function cs(e,t,n,r,i,a=!1){let{gridType:o=l.GridType.LINES,charSpace:s=0,defaultTabStop:c=10.5,drawings:u={}}=i,d=[],f=new gr(t),{endIndex:p}=r,m=n.getParagraph(p)||{startIndex:0},{paragraphStyle:h={}}=m,{snapToGrid:g=l.BooleanNumber.TRUE}=h,_=0,v,y=0,{hyphen:b,languageDetector:x}=e,S=Jo(n.getBody(),p),C=[];a&&(C=es(S)),Ro(f),Lo(f),f=new Io(f);let w=x.detect(t),T=ss(h,i),E=i.doNotHyphenateCaps===l.BooleanNumber.TRUE;for(w!==Z.UNKNOWN&&T&&(b.hasPattern(w)?f=new ko(f,b,w,E):b.loadPattern(w));v=f.nextBreakPoint();){let e=t.slice(_,v.position),f=[];if(qo.isReady&&a){let e=[],t=0;for(t=y;t<C.length;t++){let n=C[t],{end:r}=n;if(r>v.position)break;e.push(n)}y=t;for(let t of e){let{start:e,char:a}=t,u=Oa(e,n,r,i,m);if(a===l.DataStreamTreeTokenType.TAB){let e=Pr(u,da(s,c,o,g));f.push(e)}else if(Oe(a)){let e=Nr(a,u);f.push(e)}else{let e=Nr(a,u,void 0,t);f.push(e)}}}else{let t=e,a=_;for(;t.length>0;){var D;let e=(D=t.match(/^[\s\S]/gu))==null?void 0:D[0];if(e==null)break;if(e===l.DataStreamTreeTokenType.CUSTOM_BLOCK){let o=Oa(a,n,r,i,m),s=null,c=n.getCustomBlockWithoutSetCurrentIndex(r.startIndex+a);if(c!=null){let{blockId:e}=c,t=u[e];if(t.layoutType===l.PositionedObjectLayoutType.INLINE){let{angle:e}=t.docTransform,{width:n=0,height:r=0}=t.docTransform.size,i=ti(e,0,n,0,r);s=Ir(o,i.width,i.height,t.drawingId)}else s=Ir(o,0,0,t.drawingId)}s==null&&(s=Nr(e,o)),f.push(s),a+=e.length,t=t.substring(e.length)}else if(/\s/.test(e)||_e(e)){let u=Oa(a,n,r,i,m),d=null;if(e===l.DataStreamTreeTokenType.TAB)d=Pr(u,da(s,c,o,g));else if(e===l.DataStreamTreeTokenType.PARAGRAPH){var O;d=((O=i.renderConfig)==null?void 0:O.zeroWidthParagraphBreak)===l.BooleanNumber.TRUE?Nr(e,u,0):Nr(e,u)}else d=Nr(e,u);f.push(d),a+=e.length,t=t.substring(e.length)}else if(Oe(t)){let{step:e,glyphGroup:o}=rs(a,t,n,r,i,m);f.push(...o),a+=e,t=t.substring(e)}else if(ke(e)){let{step:e,glyphGroup:o}=ns(a,t,n,r,i,m);f.push(...o),a+=e,t=t.substring(e)}else if(Ae(e)){let{step:e,glyphGroup:o}=is(a,t,n,r,i,m);f.push(...o),a+=e,t=t.substring(e)}else{let{step:e,glyphGroup:o}=ts(a,t,n,r,i,m);f.push(...o),a+=e,t=t.substring(e)}}}as(f);let p=[[]];for(let e=0;e<f.length;e++){let t=p[p.length-1],n=f[e];n.streamType===l.DataStreamTreeTokenType.CUSTOM_BLOCK&&n.width!==0?(t.length===0&&p.pop(),p.push([n])):t.push(n)}let h=p[p.length-1];for(let e of p){let t=e.map(e=>e.content).join(``);d.push({text:t,glyphs:e,breakPointType:e===h?v.type:X.Normal})}_=v.position}return os(d),d}function ls(e,t,n,r,i){wa();let{content:a=``,children:o}=n,s=null;o.length===1&&o[0].nodeType===l.DataStreamTreeNodeType.TABLE&&(s=mi(e,r,t,o[0],i));let c=Do(e,t,cs(e,a,t,n,i),r,n,i,s);return oo(c,t,n,i),c}function us(e,t,n,r,i,a){let o=[],s=new Map,c=0;if(a!=null){let{startIndex:e,endIndex:t}=n;if(a>=e&&a<=t){for(let e=0;e<n.children.length;e++)if(n.children[e].endIndex===a){c=e;break}}}for(let a=c;a<n.children.length;a++){let s=n.children[a],c=[],u=r;if(o.length>0&&(u=o[o.length-1]),s.nodeType===l.DataStreamTreeNodeType.PARAGRAPH&&(e.paragraphsOpenNewPage.has(s.endIndex)&&(u=Va(e,i,e.skeletonResourceReference,u.pageNumber+1)),c=ls(e,t,s,u,i)),c.length===0&&(c=qa()),fs(o,c),e.isDirty)break}let{segmentId:u}=r;return e.isDirty&&e.layoutStartPointer[u]!=null&&ds(e.layoutStartPointer[u],o),{pages:o,renderedBlockIdMap:s}}function ds(e,t){let n=!1;for(let r=0;r<t.length;r++){let i=t[r];for(let t=0;t<i.sections.length;t++){let r=i.sections[t];for(let t=0;t<r.columns.length;t++){let i=r.columns[t];for(let t=0;t<i.lines.length;t++)if(i.lines[t].paragraphIndex===e){n=!0,i.lines.splice(t);break}if(n){let e=i.lines.length?t+1:t;e=Math.max(e,1);let n=e-1;n>=0&&(r.columns[n].isFull=!1),r.columns.splice(e);break}}if(n){let e=t+1;i.sections.splice(e);break}}if(n){let e=r+1;t.splice(Math.max(e,1));break}}}function fs(e,t){e[e.length-1]===t[0]&&t.splice(0,1),e.push(...t)}const ps={[Z.Af]:()=>Promise.resolve().then(()=>require(`./af-CWFgqcSf.js`)),[Z.As]:()=>Promise.resolve().then(()=>require(`./as-B8EPqu0L.js`)),[Z.Be]:()=>Promise.resolve().then(()=>require(`./be-UZZOxfZr.js`)),[Z.Bg]:()=>Promise.resolve().then(()=>require(`./bg-CLOXXW2u.js`)),[Z.Bn]:()=>Promise.resolve().then(()=>require(`./bn-Brt8pV_G.js`)),[Z.Ca]:()=>Promise.resolve().then(()=>require(`./ca-DnHlpX0s.js`)),[Z.Cop]:()=>Promise.resolve().then(()=>require(`./cop-IZjkuf0A.js`)),[Z.Cs]:()=>Promise.resolve().then(()=>require(`./cs-MvRgOKkp.js`)),[Z.Cu]:()=>Promise.resolve().then(()=>require(`./cu-D_-GB0JR.js`)),[Z.Cy]:()=>Promise.resolve().then(()=>require(`./cy-BxcUVOJZ.js`)),[Z.Da]:()=>Promise.resolve().then(()=>require(`./da-DIGKIx3h.js`)),[Z.De1901]:()=>Promise.resolve().then(()=>require(`./de-1901-C662l7cs.js`)),[Z.De1996]:()=>Promise.resolve().then(()=>require(`./de-1996-BvW4GFSz.js`)),[Z.DeCh1901]:()=>Promise.resolve().then(()=>require(`./de-ch-1901-DIum9f-N.js`)),[Z.ElMonoton]:()=>Promise.resolve().then(()=>require(`./el-monoton-CYl3qdzy.js`)),[Z.ElPolyton]:()=>Promise.resolve().then(()=>require(`./el-polyton-BXIyXkwr.js`)),[Z.EnGb]:()=>Promise.resolve().then(()=>require(`./en-gb-CK3QQZSP.js`)),[Z.EnUs]:()=>Promise.resolve().then(()=>require(`./en-us-DZ5W3OmX.js`)),[Z.Es]:()=>Promise.resolve().then(()=>require(`./es-Dz2OSmg6.js`)),[Z.Et]:()=>Promise.resolve().then(()=>require(`./et-DhopKz29.js`)),[Z.Eu]:()=>Promise.resolve().then(()=>require(`./eu-pTz5g9Jy.js`)),[Z.Fi]:()=>Promise.resolve().then(()=>require(`./fi-DGf9IBvz.js`)),[Z.Fr]:()=>Promise.resolve().then(()=>require(`./fr-CMUOCCEr.js`)),[Z.Fur]:()=>Promise.resolve().then(()=>require(`./fur-CiMlbql9.js`)),[Z.Ga]:()=>Promise.resolve().then(()=>require(`./ga-3F00ankY.js`)),[Z.Gl]:()=>Promise.resolve().then(()=>require(`./gl-D74E5SCu.js`)),[Z.Grc]:()=>Promise.resolve().then(()=>require(`./grc-3CWlF5IP.js`)),[Z.Gu]:()=>Promise.resolve().then(()=>require(`./gu-DFCwc2Q0.js`)),[Z.Hi]:()=>Promise.resolve().then(()=>require(`./hi-B6yYuhvp.js`)),[Z.Hr]:()=>Promise.resolve().then(()=>require(`./hr-BtbDJMHs.js`)),[Z.Hsb]:()=>Promise.resolve().then(()=>require(`./hsb-BLIGfMw2.js`)),[Z.Hu]:()=>Promise.resolve().then(()=>require(`./hu-DlGJqslc.js`)),[Z.Hy]:()=>Promise.resolve().then(()=>require(`./hy-TODHKZkf.js`)),[Z.Ia]:()=>Promise.resolve().then(()=>require(`./ia-DYI69LkL.js`)),[Z.Id]:()=>Promise.resolve().then(()=>require(`./id-ChJ6qXmB.js`)),[Z.Is]:()=>Promise.resolve().then(()=>require(`./is-BrYepHpk.js`)),[Z.It]:()=>Promise.resolve().then(()=>require(`./it-DkVAowhI.js`)),[Z.Ka]:()=>Promise.resolve().then(()=>require(`./ka-C8RK-saM.js`)),[Z.Kmr]:()=>Promise.resolve().then(()=>require(`./kmr-D5wD3fHq.js`)),[Z.Kn]:()=>Promise.resolve().then(()=>require(`./kn-DK2mse06.js`)),[Z.La]:()=>Promise.resolve().then(()=>require(`./la-2_CAcK9Z.js`)),[Z.LaXClassic]:()=>Promise.resolve().then(()=>require(`./la-x-classic-DhD3-ee8.js`)),[Z.LaXLiturgic]:()=>Promise.resolve().then(()=>require(`./la-x-liturgic-U09Rp-TZ.js`)),[Z.Lt]:()=>Promise.resolve().then(()=>require(`./lt-DYbOA57n.js`)),[Z.Lv]:()=>Promise.resolve().then(()=>require(`./lv-Ds_7m8k9.js`)),[Z.Ml]:()=>Promise.resolve().then(()=>require(`./ml-6ewS9Vq8.js`)),[Z.MnCyrl]:()=>Promise.resolve().then(()=>require(`./mn-cyrl-BJ33HJ6-.js`)),[Z.MnCyrlXLmc]:()=>Promise.resolve().then(()=>require(`./mn-cyrl-x-lmc-CbRrg1mU.js`)),[Z.Mr]:()=>Promise.resolve().then(()=>require(`./mr-HKDaXacu.js`)),[Z.MulEthi]:()=>Promise.resolve().then(()=>require(`./mul-ethi-CTb0PFSs.js`)),[Z.Nb]:()=>Promise.resolve().then(()=>require(`./nb-D32oHd0L.js`)),[Z.Nl]:()=>Promise.resolve().then(()=>require(`./nl-Bmd8OlYC.js`)),[Z.Nn]:()=>Promise.resolve().then(()=>require(`./nn-DVBBWI2u.js`)),[Z.No]:()=>Promise.resolve().then(()=>require(`./no-BaGM42cP.js`)),[Z.Oc]:()=>Promise.resolve().then(()=>require(`./oc-DtaonYfQ.js`)),[Z.Or]:()=>Promise.resolve().then(()=>require(`./or-C-HLaR9M.js`)),[Z.Pa]:()=>Promise.resolve().then(()=>require(`./pa-BjXyJ4IF.js`)),[Z.Pi]:()=>Promise.resolve().then(()=>require(`./pi-DjNXP4A9.js`)),[Z.Pl]:()=>Promise.resolve().then(()=>require(`./pl-04Tc1IG5.js`)),[Z.Pms]:()=>Promise.resolve().then(()=>require(`./pms-CdYiCx9g.js`)),[Z.Pt]:()=>Promise.resolve().then(()=>require(`./pt-0ZCVnlX3.js`)),[Z.Rm]:()=>Promise.resolve().then(()=>require(`./rm-CJ69Y9QW.js`)),[Z.Ro]:()=>Promise.resolve().then(()=>require(`./ro-CBrJAbEY.js`)),[Z.Ru]:()=>Promise.resolve().then(()=>require(`./ru-C8ZmpPlf.js`)),[Z.Sa]:()=>Promise.resolve().then(()=>require(`./sa-BzTPJ2eQ.js`)),[Z.ShCyrl]:()=>Promise.resolve().then(()=>require(`./sh-cyrl-BwDjDFQM.js`)),[Z.ShLatn]:()=>Promise.resolve().then(()=>require(`./sh-latn-B7P6ef8g.js`)),[Z.Sk]:()=>Promise.resolve().then(()=>require(`./sk-8yRutCOH.js`)),[Z.Sl]:()=>Promise.resolve().then(()=>require(`./sl-CjeDQ-zm.js`)),[Z.SrCyrl]:()=>Promise.resolve().then(()=>require(`./sr-cyrl-lIGLzxIi.js`)),[Z.Sv]:()=>Promise.resolve().then(()=>require(`./sv-jpjMCX9A.js`)),[Z.Ta]:()=>Promise.resolve().then(()=>require(`./ta-D3DgWCTc.js`)),[Z.Te]:()=>Promise.resolve().then(()=>require(`./te-CNX77aEQ.js`)),[Z.Th]:()=>Promise.resolve().then(()=>require(`./th-B9_tUiwc.js`)),[Z.Tk]:()=>Promise.resolve().then(()=>require(`./tk-D64TV4D5.js`)),[Z.Tr]:()=>Promise.resolve().then(()=>require(`./tr-B26BdqRz.js`)),[Z.Uk]:()=>Promise.resolve().then(()=>require(`./uk-BKFhTlDZ.js`)),[Z.ZhLatnPinyin]:()=>Promise.resolve().then(()=>require(`./zh-latn-pinyin-DFXgaUKz.js`))};function ms(e){let[t,n]=e;return{levelsTable:t.split(`,`),pattern:JSON.parse(n)}}function hs(e){return e.split(`-`).filter(Boolean).map(e=>e[0].toUpperCase()+e.slice(1)).join(``)}function gs(e){let t=0,n=e;function r(){return n=e.slice(t++),n.length<3?[]:n}function i(){return t===2}return[r,i]}function _s(e){let t=0;function n(){return e[t++]}function r(){return e.length===t+1}return[n,r]}var vs=class e{static getInstance(){return this._instance==null&&(this._instance=new e),this._instance}constructor(){U(this,`_patterns`,new Map),U(this,`_hyphenCache`,new Map),this._preloadPatterns(),this.loadPattern(Z.EnGb)}_preloadPatterns(){this._patterns.set(Z.EnUs,ms(c.t)),this._loadExceptionsToCache(Z.EnUs,c.t)}_loadExceptionsToCache(e,t){if(t.length<3)return;let n=t[2];for(let t of n){let n=t.replace(/-/g,``),r=t.split(`-`),i=this._hyphenCache.get(e);i==null&&(i=new Map,this._hyphenCache.set(e,i)),i.set(n,r)}}async loadPattern(e){let t=ps[e];if(!t)return;let n=await t(),r=Array.isArray(n)?n:n==null?void 0:n[hs(e)];r!=null&&(this._patterns.set(e,ms(r)),this._loadExceptionsToCache(e,r))}fetchHyphenCache(e){return this._hyphenCache.get(e)}hasPattern(e){return this._patterns.has(e)}hyphenate(e,t){let n=this._hyphenCache.get(t);if(n!=null&&n.has(e))return n.get(e);if(!this._patterns.has(t))throw Error(`Language pattern not found for ${t}, please load pattern before hyphenating`);let{levelsTable:r,pattern:i}=this._patterns.get(t),a=Array(e.length+1).fill(0),[o,s]=gs(`.${e.toLocaleLowerCase()}.`.split(``)),c,l,u,d,f,p,m=-1,h,g,_;for(;(c=o()).length>0;)for(m++,s()&&m--,u=i,h=_s(c),g=h[0],_=h[1];(l=g())&&u[l]!==void 0;)if(d=u[l],u=d[0],f=d[1],u===void 0&&(u={},f=d),!_()&&f!==void 0){p=r[f];for(let e=0;e<p.length;e++)a[m+e]=Math.max(+p[e],a[m+e])}a[0]=a[1]=a[a.length-1]=a[a.length-2]=0;let v=``;for(let t=0;t<a.length;t++)v+=(a[t]%2==1?`-`:``)+e.charAt(t);n==null&&(n=new Map,this._hyphenCache.set(t,n));let y=v.split(`-`);return n.set(e,y),y}dispose(){this._patterns.clear(),this._hyphenCache.clear()}};U(vs,`_instance`,null);const ys={spa:Z.Es,eng:Z.EnUs,rus:Z.Ru,ben:Z.Bn,hin:Z.Hi,por:Z.Pt,ind:Z.Id,fra:Z.Fr,deu:Z.De1901,tel:Z.Te,mar:Z.Mr,ita:Z.It,tam:Z.Ta,tur:Z.Tr,guj:Z.Gu,pol:Z.Pl,ukr:Z.Uk,kan:Z.Kn,mal:Z.Ml,ron:Z.Ro,pan:Z.Pa,hrv:Z.Hr,nld:Z.Nl,srp:Z.SrCyrl,tha:Z.Th,uzn:Z.Kmr,zlm:Z.Ml,hun:Z.Hu,ell:Z.ElMonoton,ces:Z.Cs,bel:Z.Be,bul:Z.Bg,swe:Z.Sv,und:Z.UNKNOWN};var bs=class e{constructor(){U(this,`_detectCache`,new Map)}static getInstance(){return this._instance==null&&(this._instance=new e),this._instance}detect(e){var t;let n=this._detectCache.get(e);return n||(n=(t=ys[(0,p.franc)(e)])==null?Z.UNKNOWN:t,this._detectCache.set(e,n),n)}dispose(){this._detectCache.clear()}};U(bs,`_instance`,null);function xs(e){let t=new Set;e.skeleton.pages=e.skeleton.pages.filter(e=>{let n=t.has(e);return t.add(e),!n})}function Ss(e){let t=[],n=e,r=n.parent;for(;r;){if(r.pages){let e=r.pages.indexOf(n);e!==-1&&t.unshift(`pages`,e)}else if(r.cells){let e=r.cells.indexOf(n);e!==-1&&t.unshift(`cells`,e)}else if(r.rows){let e=r.rows.indexOf(n);e!==-1&&t.unshift(`rows`,e)}else r.skeTables&&r.skeTables.has(n.tableId)&&t.unshift(`skeTables`,n.tableId);n=r,r=r==null?void 0:r.parent}return t}var Cs=class e extends l.Skeleton{constructor(e,t){super(t),this._docViewModel=e,U(this,`_dirty$`,new d.Subject),U(this,`dirty$`,this._dirty$.asObservable()),U(this,`_skeletonData`,void 0),U(this,`_findLiquid`,new Cr),U(this,`_hyphen`,vs.getInstance()),U(this,`_languageDetector`,bs.getInstance()),U(this,`_iteratorCount`,0),U(this,`_initialWidth`,0)}static create(t,n){return new e(t,n)}dispose(){super.dispose(),this._skeletonData=null,this._findLiquid=null,this._docViewModel.dispose(),this._initialWidth=0}getViewModel(){return this._docViewModel}calculate(e){if(!this.dirty)return;let t=this._prepareLayoutContext();this._skeletonData=this._createSkeleton(t,e),this._dirty$.next(!0)}getSkeletonData(){return this._skeletonData}resetInitialWidth(){this._initialWidth=0}getActualSize(){let e=this.getSkeletonData(),t=0,n=0;return e==null||e.pages.forEach(e=>{let{width:r,height:i}=e;t=Math.max(this._initialWidth,r),this._initialWidth=t,n+=i}),{actualWidth:t,actualHeight:n}}_getPageActualWidth(e){let t=-1/0;for(let n of e.sections)for(let e of n.columns)for(let n of e.lines){let e=0;for(let t of n.divides)for(let n of t.glyphGroup)e+=n.width;t=Math.max(t,e)}return t}getPageSize(){return this.getViewModel().getDataModel().documentStyle.pageSize}findPositionByGlyph(e,t){let n=e.parent,r=n==null?void 0:n.parent,i=r==null?void 0:r.parent,a=i==null?void 0:i.parent,o=a==null?void 0:a.parent,s=this.getSkeletonData();if(!n||!i||!a||!o||!s)return;let c=o.type,l=n.glyphGroup.indexOf(e),u=r.divides.indexOf(n),d=i.lines.indexOf(r),f=a.columns.indexOf(i),p=o.sections.indexOf(a),m=-1,h=Ss(o);switch(c){case G.HEADER:case G.FOOTER:m=0;break;case G.BODY:m=s.pages.indexOf(o);break;case G.CELL:m=h[1];break;default:throw Error(`Invalid page type`)}return{glyph:l,divide:u,line:d,column:f,section:p,page:m,segmentPage:t,pageType:c,path:h}}findCharIndexByPosition(e){let t=this.findGlyphByPosition(e),n=t==null?void 0:t.parent;if(n==null)return;let{st:r,glyphGroup:i}=n,a=r;for(let e of i){if(e===t)break;a+=e.count}return e.isBack?a:a+t.count}findNodePositionByCharIndex(e,t=!0,n=``,r=-1){let i=this._findNodeByIndex(e,n,r);if(i==null)return;let a=this.getSkeletonData();if(!a)return;let o=a.pages,{glyph:s,divide:c,line:l,column:u,section:d,page:f,segmentPageIndex:p,pageType:m}=i,h=Ss(f),g=-1;switch(m){case G.HEADER:case G.FOOTER:g=0;break;case G.BODY:g=o.indexOf(f);break;case G.CELL:g=h[1];break;default:throw Error(`Invalid page type`)}return{glyph:c.glyphGroup.indexOf(s),divide:l.divides.indexOf(c),line:u.lines.indexOf(l),column:d.columns.indexOf(u),section:f.sections.indexOf(d),page:g,pageType:m,segmentPage:p,isBack:t,path:h}}findNodeByCharIndex(e,t=``,n=-1){let r=this._findNodeByIndex(e,t,n);return r==null?void 0:r.glyph}findGlyphByPosition(e){if(e==null)return;let t=this.getSkeletonData();if(t==null)return;let{pages:n,skeFooters:r,skeHeaders:i}=t,{divide:a,line:o,column:s,section:c,segmentPage:l,pageType:u,path:d,isBack:f}=e,{glyph:p}=e,m=null;if(u===G.HEADER||u===G.FOOTER){m=n[l];let{headerId:e,footerId:t,pageWidth:a}=m;if(u===G.HEADER){var h;let t=(h=i.get(e))==null?void 0:h.get(a);if(t==null)return;m=t}else if(u===G.FOOTER){var g;let e=(g=r.get(t))==null?void 0:g.get(a);if(e==null)return;m=e}}else m=za(t,d);if(m==null)return;let _=m.sections[c].columns[s].lines[o].divides[a].glyphGroup;return p=Math.min(p,_.length-1),_[p].glyphType===pt.LIST&&(p+=1),_[p]}findEditAreaByCoord(e,t,n,r){let{x:i,y:a}=e,o=Tr.BODY,s=-1,c=null,l=this.getSkeletonData();if(l==null)return{editArea:o,page:c,pageNumber:s};this._findLiquid.reset();let{pages:u}=l;for(let e=0,l=u.length;e<l;e++){let l=u[e],{marginTop:d,marginBottom:f,pageWidth:p,pageHeight:m}=l;if(i>this._findLiquid.x&&i<this._findLiquid.x+p&&a>this._findLiquid.y&&a<this._findLiquid.y+d){o=Tr.HEADER,c=l,s=e;break}if(i>this._findLiquid.x&&i<this._findLiquid.x+p&&a>this._findLiquid.y+d&&a<this._findLiquid.y+m-f){o=Tr.BODY,c=l,s=e;break}if(i>this._findLiquid.x&&i<this._findLiquid.x+p&&a>this._findLiquid.y+m-f&&a<this._findLiquid.y+m){o=Tr.FOOTER,c=l,s=e;break}this._translatePage(l,t,n,r)}return{editArea:o,page:c,pageNumber:s}}findNodeByCoord(e,t,n,r,i){let{x:a,y:o}=e,s=this.getSkeletonData();if(s==null)return;let c={nearestNodeList:[],nearestNodeDistanceList:[]},{pages:l,skeHeaders:u,skeFooters:d}=s,f=this.findEditAreaByCoord(e,t,n,r).editArea,p=l.length;if(this._findLiquid.reset(),i==null)for(let e=0;e<p;e++){let i=l[e],{headerId:s,footerId:_,pageWidth:v}=i,y=null;if(f===Tr.HEADER||f===Tr.FOOTER){var m,h;let t=(m=u.get(s))==null?void 0:m.get(v);t&&(y=this._collectNearestNode(t,G.HEADER,i,s,e,c,a,o,p));let n=(h=d.get(_))==null?void 0:h.get(v);if(n){var g;y=(g=y)==null?this._collectNearestNode(n,G.FOOTER,i,_,e,c,a,o,p):g}}else y=this._collectNearestNode(i,G.BODY,i,``,e,c,a,o,p);if(y)return y;this._translatePage(i,t,n,r)}else{let{segmentId:e,segmentPage:s,strict:f}=i,m=null;if(f===!1)for(let i=0;i<p;i++){let s=l[i],{headerId:f,footerId:h,pageWidth:g}=s;if(e!==``){var _,v;let e=(_=u.get(f))==null?void 0:_.get(g);e&&(m=this._collectNearestNode(e,G.HEADER,s,f,i,c,a,o,p));let t=(v=d.get(h))==null?void 0:v.get(g);if(t){var y;m=(y=m)==null?this._collectNearestNode(t,G.FOOTER,s,h,i,c,a,o,p):y}}else m=this._collectNearestNode(s,G.BODY,s,``,i,c,a,o,p);if(m)return m;this._translatePage(s,t,n,r)}else for(let i=0;i<p;i++){let f=l[i];if(e){var b,x;if(s!==i){this._translatePage(f,t,n,r);continue}let{headerId:l,pageWidth:h}=f,g=e===l?(b=u.get(e))==null?void 0:b.get(h):(x=d.get(e))==null?void 0:x.get(h);g&&(m=this._collectNearestNode(g,e===l?G.HEADER:G.FOOTER,f,e,s,c,a,o,p))}else m=this._collectNearestNode(f,G.BODY,f,``,i,c,a,o,p);if(m)return m;this._translatePage(f,t,n,r)}}return this._getNearestNode(c.nearestNodeList,c.nearestNodeDistanceList)}_collectNearestNode(e,t,n,r,i,a,o,s,c,l=0){let{sections:u,skeTables:d}=e;this._findLiquid.translateSave();let f=this._findLiquid.x,p=f+n.pageWidth,m=this._findLiquid.y+(t===G.FOOTER?n.pageHeight-e.pageHeight:0),h=m+e.pageHeight,g=o>=f&&o<=p&&s>=m&&s<=h;if(l===0&&t===G.BODY){let e=i===0,t=i===c-1,r=n.originMarginTop/2;g=e&&t?!0:e?s<=h+r:t?s>=m-r:s>=m-r&&s<=h+r}switch(t){case G.HEADER:this._findLiquid.translatePagePadding({...e,marginLeft:n.marginLeft});break;case G.FOOTER:{let t=n.pageHeight-e.height-e.marginBottom;this._findLiquid.translate(n.marginLeft,t);break}default:this._findLiquid.translatePagePadding(n);break}if(g){let e=1/0;for(let n of u){let{columns:c}=n;this._findLiquid.translateSave(),this._findLiquid.translateSection(n);for(let n of c){let{lines:c}=n;this._findLiquid.translateSave(),this._findLiquid.translateColumn(n);for(let n=0;n<c.length;n++){let u=c[n],{divides:d,type:f,lineHeight:p=0}=u;if(f!==ft.BLOCK){this._findLiquid.translateSave(),this._findLiquid.translateLine(u);let{y:n}=this._findLiquid,c=n,f=n+p,m=Math.abs(s-f),h=d.length;for(let n=0;n<h;n++){let u=d[n],{glyphGroup:p}=u;this._findLiquid.translateSave(),this._findLiquid.translateDivide(u);let{x:h}=this._findLiquid;for(let n of p){if(!n.content||n.content.length===0)continue;let{width:u,left:d}=n,p=h+d,_=h+d+u,v=Math.abs(o-_);if(s>=c&&s<=f){if(o>=p&&o<=_)return{node:n,segmentPage:t===G.BODY?-1:i,segmentId:r,ratioX:o/(p+_),ratioY:s/(c+f)};e!==-1/0&&(a.nearestNodeList=[],a.nearestNodeDistanceList=[]),a.nearestNodeList.push({node:n,segmentPage:t===G.BODY?-1:i,segmentId:r,ratioX:o/(p+_),ratioY:s/(c+f)}),a.nearestNodeDistanceList.push({coordInPage:g,distance:v,nestLevel:l}),e=-1/0;continue}m<e&&(e=m,a.nearestNodeList=[],a.nearestNodeDistanceList=[]),m===e&&(a.nearestNodeList.push({node:n,segmentPage:t===G.BODY?-1:i,segmentId:r,ratioX:o/(p+_),ratioY:s/(c+f)}),a.nearestNodeDistanceList.push({coordInPage:g,distance:v,nestLevel:l}))}this._findLiquid.translateRestore()}this._findLiquid.translateRestore()}}this._findLiquid.translateRestore()}this._findLiquid.translateRestore()}}let _=null;if(d.size>0)for(let e of d.values()){var v,y,b;let{top:t,left:n,rows:u}=e;(v=this._findLiquid)==null||v.translateSave(),(y=this._findLiquid)==null||y.translate(n,t);for(let e of u){var x,S,C;let{top:t,cells:n,isRepeatRow:u}=e;if(!u){(x=this._findLiquid)==null||x.translateSave(),(S=this._findLiquid)==null||S.translate(0,t);for(let e of n){var w,T,E,D;let{left:t}=e;(w=this._findLiquid)==null||w.translateSave(),(T=this._findLiquid)==null||T.translate(t,0),_=(E=_)==null?this._collectNearestNode(e,G.CELL,e,r,i,a,o,s,c,l+1):E,(D=this._findLiquid)==null||D.translateRestore()}(C=this._findLiquid)==null||C.translateRestore()}}(b=this._findLiquid)==null||b.translateRestore()}if(_)return this._findLiquid.translateRestore(),_;this._findLiquid.translateRestore()}_getNearestNode(e,t){if(t.length===0)return;if(t.length===1)return e[0];let n=t[0];for(let e=1;e<t.length;e++){let{distance:r,nestLevel:i,coordInPage:a}=t[e];if(i>n.nestLevel){n=t[e];continue}if(i===n.nestLevel){if(a===n.coordInPage){if(r<n.distance){n=t[e];continue}}else if(a){n=t[e];continue}}}return e[t.indexOf(n)]}_getPageBoundingBox(e,t){let{pageWidth:n,pageHeight:r}=e,{x:i,y:a}=this._findLiquid,o=-1,s=-1;return t===mt.VERTICAL?(o=n,s=a+r):t===mt.HORIZONTAL&&(o=i+n,s=r),{startX:i,startY:a,endX:o,endY:s}}_translatePage(e,t,n,r){this._findLiquid.translatePage(e,t,n,r)}_prepareLayoutContext(){let e=this.getViewModel(),t=e.getDataModel(),{headerTreeMap:n,footerTreeMap:r}=e.getHeaderFooterTreeMap(),{documentStyle:i,drawings:a,lists:o={}}=t,s={...l.PRESET_LIST_TYPE,...o},{paragraphLineGapDefault:c=0,defaultTabStop:u=10.5,textStyle:d={}}=i,f={headerTreeMap:n,footerTreeMap:r,lists:s,drawings:a,localeService:this._localeService,paragraphLineGapDefault:c,defaultTabStop:u,documentTextStyle:d},p=ka(),{skeHeaders:m,skeFooters:h,skeListLevel:g,drawingAnchor:_}=p;return{viewModel:e,dataModel:t,skeleton:p,skeletonResourceReference:{skeHeaders:m,skeFooters:h,skeListLevel:g,drawingAnchor:_},docsConfig:f,layoutStartPointer:{"":null},isDirty:!1,floatObjectsCache:new Map,paragraphConfigCache:new Map,sectionBreakConfigCache:new Map,paragraphsOpenNewPage:new Set,hyphen:this._hyphen,languageDetector:this._languageDetector}}_createSkeleton(e,t){let{viewModel:n,skeleton:r,skeletonResourceReference:i}=e,a=r.pages,o=0,s=e.layoutStartPointer[``];if(e.layoutStartPointer[``]=null,s!=null)for(let e=0;e<n.getChildren().length;e++){let{endIndex:t,startIndex:r}=n.getChildren()[e];if(s>=r&&s<=t){o=e;break}}for(let t=o,r=n.getChildren().length;t<r;t++){let r=n.getChildren()[t],o=Ia(e,t),{sectionType:u,columnProperties:d,columnSeparatorType:f,sectionTypeNext:p,pageNumberStart:m=1}=o,h=na(a),g=!1;if(e.sectionBreakConfigCache.set(r.endIndex,o),u===l.SectionType.CONTINUOUS)ha(a),this._addNewSectionByContinuous(h,d,f),g=!0;else if(s==null||h==null){var c;h=Va(e,o,i,(c=h==null?void 0:h.pageNumber)==null?m:c)}let{pages:_}=us(e,n,r,h,o,s);if(p===l.SectionType.CONTINUOUS&&d.length,g&&_.splice(0,1),a.push(..._),e.isDirty)break}if(e.isDirty&&this._iteratorCount<10)return this._iteratorCount++,La(e),this._createSkeleton(e,t);this._iteratorCount=0,xs(e),ha(r.pages),ga(e,r.pages);for(let t of r.skeHeaders.values())for(let n of t.values())ga(e,[n]);for(let t of r.skeFooters.values())for(let n of t.values())ga(e,[n]);return Aa(r.pages,r),r}_addNewSectionByContinuous(e,t,n){let r=e.sections,i=r[r.length-1],{pageWidth:a,pageHeight:o,marginTop:s,marginBottom:c,marginLeft:l,marginRight:u}=e,d=a-l-u,f=o-s-c,p=((i==null?void 0:i.top)||0)+((i==null?void 0:i.height)||0),m=di(t,n,p,0,d,f-p);m.parent=e,r.push(m)}_findNodeByIndex(e,t=``,n=-1){let r=this.getSkeletonData();if(r==null)return;let{pages:i,skeFooters:a,skeHeaders:o}=r;for(let r of i){let l=i.indexOf(r);if(t&&l!==n)continue;let{pageWidth:u,skeTables:d}=r,f=r;if(t){var s,c;let e=(s=o.get(t))==null?void 0:s.get(u),n=(c=a.get(t))==null?void 0:c.get(u);if(e)f=e;else if(n)f=n;else continue}if(t===``){let t=!1;for(let n of d.values()){let{rows:r}=n;for(let n of r){let{cells:r}=n;for(let n of r){let{st:r,ed:i}=n;if(e>=r&&e<=i){f=n,t=!0;break}}if(t)break}if(t)break}}let{sections:p,st:m,ed:h}=f;if(!(e<m||e>h))for(let t of p){let{columns:r,st:i,ed:a}=t;if(!(e<i||e>a))for(let i of r){let{lines:r,st:a,ed:o}=i;if(!(e<a||e>o))for(let a of r){let{divides:r,st:o,ed:s}=a,c=r.length;if(!(e<o||e>s))for(let o=0;o<c;o++){let s=r[o],{glyphGroup:c,st:l,ed:u}=s;if(e<l||e>u)continue;let d=e-l;for(let e of c)if(d-=e.count,d<0)return{page:f,pageType:f.type,section:t,column:i,line:a,divide:s,glyph:e,segmentPageIndex:n}}}}}}}};function ws(e,t,n={}){let r=e.length,{textRotation:i,paddingData:a,horizontalAlign:o=l.HorizontalAlign.UNSPECIFIED,verticalAlign:s=l.VerticalAlign.UNSPECIFIED,wrapStrategy:c=l.WrapStrategy.UNSPECIFIED,cellValueType:u}=n,{t:d,r:f,b:p,l:m}=a||As,{vertexAngle:h,centerAngle:g}=$t(i);return new l.DocumentDataModel({id:`d`,body:{dataStream:`${e}${l.DEFAULT_EMPTY_DOCUMENT_VALUE}`,textRuns:[{ts:t,st:0,ed:r}],paragraphs:[{startIndex:r,paragraphStyle:{horizontalAlign:o}}],sectionBreaks:[{startIndex:r+1}]},documentStyle:{pageSize:{width:1/0,height:1/0},marginTop:d,marginBottom:p,marginRight:f,marginLeft:m,renderConfig:{horizontalAlign:o,verticalAlign:s,centerAngle:g,vertexAngle:h,wrapStrategy:c,cellValueType:u}},drawings:{},drawingsOrder:[]})}function Ts(e){if(!e)return{};let{tr:t,td:n,ht:r,vt:i,tb:a,pd:o}=e;return{textRotation:t,textDirection:n,horizontalAlign:r,verticalAlign:i,wrapStrategy:a,paddingData:o}}function Es(e){if(!e)return{};let{ff:t,fs:n,it:r,bl:i,ul:a,st:o,ol:s,cl:c}=e,l={};return t&&(l.ff=t),n&&(l.fs=n),r&&(l.it=r),i&&(l.bl=i),a&&(l.ul=a),o&&(l.st=o),s&&(l.ol=s),c&&(l.cl=c),l}function Ds(e,t){return function(n,r){t(n,r,e)}}function Os(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}const ks={isDeepClone:!1,displayRawFormula:!1,ignoreTextRotation:!1},As={t:0,b:2,l:2,r:2},js=`RENDER_RAW_FORMULA`;let Ms=class extends l.SheetSkeleton{constructor(e,t,n,r,i,a){super(e,t,n,r,i,a),U(this,`_drawingRange`,{startRow:-1,endRow:-1,startColumn:-1,endColumn:-1}),U(this,`_cacheRangeMap`,new Map),U(this,`_visibleRangeMap`,new Map),U(this,`_overflowCache`,new l.ObjectMatrix),U(this,`_stylesCache`,{background:{},backgroundPositions:new l.ObjectMatrix,fontMatrix:new l.ObjectMatrix,border:new l.ObjectMatrix}),U(this,`_clearTaskId`,null),U(this,`_handleBgMatrix`,new l.ObjectMatrix),U(this,`_handleBorderMatrix`,new l.ObjectMatrix),U(this,`_showGridlines`,l.BooleanNumber.TRUE),U(this,`_gridlinesColor`,void 0),U(this,`_scene`,null),this._updateLayout(),this.disposeWithMe(this._contextService.subscribeContextValue$(js).pipe((0,d.startWith)(!1),(0,d.distinctUntilChanged)()).subscribe(e=>{this._renderRawFormula=e,this._resetCache(),this.makeDirty(!0)})),this.disposeWithMe(this.worksheet.__registerGetCellHeight((e,t)=>{var n;return(n=this.calculateAutoHeightForCell(e,t))==null?0:n}))}setScene(e){this._scene=e,this.disposeWithMe(this._scene.onTransformChange$.subscribeEvent(e=>{this.setScale(e.value.scaleX||1,e.value.scaleY)}))}_updateLayout(){let{showGridlines:e,gridlinesColor:t}=this._worksheetData;this._showGridlines=e,this._gridlinesColor=t,super._updateLayout()}get rowColumnSegment(){return this._drawingRange}visibleRangeByViewportKey(e){return this._cacheRangeMap.get(e)}get stylesCache(){return this._stylesCache}get overflowCache(){return this._overflowCache}get showGridlines(){return this._showGridlines}get gridlinesColor(){return this._gridlinesColor}dispose(){super.dispose(),this._drawingRange={startRow:-1,endRow:-1,startColumn:-1,endColumn:-1},this._stylesCache={background:{},backgroundPositions:new l.ObjectMatrix,fontMatrix:new l.ObjectMatrix,border:new l.ObjectMatrix},this._handleBgMatrix.reset(),this._handleBorderMatrix.reset(),this._overflowCache.reset()}getStyles(){return this._styles}setOverflowCache(e){this._overflowCache=e}getFont(e,t){let n=this.stylesCache.fontMatrix;return n&&n.getValue(e,t)||null}updateVisibleRange(e){if(!this._worksheetData||!this.rowHeightAccumulation||!this.columnWidthAccumulation)return!1;if(e){let t=this.getRangeByViewport(e);this._visibleRangeMap.set(e.viewportKey,t);let n=this.getCacheRangeByViewport(e);this._drawingRange=n,this._cacheRangeMap.set(e.viewportKey,n)}return!0}getVisibleRangeByViewport(e){return this._visibleRangeMap.get(e)}getVisibleRanges(){return this._visibleRangeMap}_clearCacheOutOfVisibleRange(e,t,n,r){this._clearTaskId&&cancelIdleCallback(this._clearTaskId),this._clearTaskId=requestIdleCallback(()=>{this._stylesCache.fontMatrix.forValue((i,a)=>{(i<e-100||i>t+100||a<n-100||a>r+100)&&this._stylesCache.fontMatrix.realDeleteValue(i,a)}),this._clearTaskId=null})}setStylesCache(e){if(!this._worksheetData||!this.rowHeightAccumulation||!this.columnWidthAccumulation)return;this.updateVisibleRange(e);let t=this._drawingRange,n=this.columnWidthAccumulation,{startRow:r,endRow:i,startColumn:a,endColumn:o}=t;if(o===-1||i===-1)return;let s=[],c=r,l=Math.max(0,a-20),u=Math.min(n.length-1,o+20);for(let e=r;e<=i;e++){if(this.worksheet.getRowVisible(e)===!1){c<e&&s.push({startRow:c,endRow:e-1,startColumn:a,endColumn:o}),c=e+1;continue}e===i&&s.push({startRow:c,endRow:e,startColumn:a,endColumn:o});for(let t=a;t<=o;t++)this._setStylesCacheForOneCell(e,t,{cacheItem:{bg:!0,border:!0}});for(let t=l;t<o;t++)this._setStylesCacheForOneCell(e,t,{cacheItem:{bg:!1,border:!1}});if(o!==0)for(let t=o+1;t<u;t++)this._setStylesCacheForOneCell(e,t,{cacheItem:{bg:!1,border:!1}})}let d=[];for(let e of s){let t=this.getCurrentRowColumnSegmentMergeData(e);d.push(...t)}for(let e of d)this._setStylesCacheForOneCell(e.startRow,e.startColumn,{mergeRange:e});return this}calculateAutoHeightInRange(e,t){if(!l.Tools.isArray(e))return[];let n=[],{rowData:r}=this._worksheetData,i=r,a=new Set,o=this.worksheet.getRowCount();for(let r of e){let{startRow:e,endRow:d,startColumn:f,endColumn:p}=r,m=Math.min(d,o);for(let r=e;r<=m;r++){var s;if(!a.has(r)&&((s=i[r])==null?void 0:s.ia)!==l.BooleanNumber.FALSE&&this._hasUnMergedCellInRow(r,f,p))if(t){let e=this.worksheet.getRowHeight(r),i=0,o=0;for(let e=f;e<=p;e++){var c,u;let n=(c=t.getValue(r,e))==null?0:c;i=Math.max(i,n);let a=(u=this.calculateAutoHeightForCell(r,e))==null?this._worksheetData.defaultRowHeight:u;o=Math.max(o,a)}if(i<e)a.add(r),n.push({row:r,autoHeight:Math.max(e,o)});else if(o>=e)a.add(r),n.push({row:r,autoHeight:o});else{let e=this._calculateRowAutoHeight(r);a.add(r),n.push({row:r,autoHeight:e})}}else{let e=this._calculateRowAutoHeight(r);a.add(r),n.push({row:r,autoHeight:e})}}}return n}calculateAutoHeightForCell(e,t){var n,r,i,a,o,s,c;let{columnData:u,defaultColumnWidth:d}=this._worksheetData,f=this.worksheet.getCellInfoInMergeData(e,t);if(this._skipAutoHeightForMergedCells&&(f.isMerged||f.isMergedMainCell))return;let p=this.worksheet.getCell(e,t),m=this.worksheet.getComposedCellStyleByCellData(e,t,p);if(p!=null&&p.interceptorAutoHeight){let e=p.interceptorAutoHeight();if(e)return e}let h=((n=p==null||(r=p.fontRenderExtension)==null?void 0:r.leftOffset)==null?0:n)+((i=p==null||(a=p.fontRenderExtension)==null?void 0:a.rightOffset)==null?0:i),{vertexAngle:g,centerAngle:_}=$t((o=m==null?void 0:m.tr)==null?{a:0}:o),v=(p==null?void 0:p.p)||g||_,y=(s=(c=u[t])==null?void 0:c.w)==null?d:s;if(f.isMergedMainCell){let e=f.startColumn,t=f.endColumn;y=Array.from({length:t-e+1},(t,n)=>e+n).reduce((e,t)=>{var n,r;return e+((n=(r=u[t])==null?void 0:r.w)==null?d:n)},0)}if(y-=h,v){var b;let e=p&&this.worksheet.getCellDocumentModel(p,m);if(e==null)return;let{documentModel:t,textRotation:n,wrapStrategy:r}=e;if(t==null)return;let i=new Or(t),{vertexAngle:a}=$t(n);typeof y==`number`&&r===l.WrapStrategy.WRAP&&t.updateDocumentDataPageSize(y);let o=Cs.create(i,this._localeService);o.calculate();let{height:s=0}=(b=Fs(o,a))==null?{}:b;if(o){let e=o.getSkeletonData(),{marginTop:t,marginBottom:n,marginLeft:r,marginRight:i}=e.pages[e.pages.length-1],c=Math.abs(V(a));s+=t*Math.cos(c)+i*Math.sin(c)+n*Math.cos(c)+r*Math.sin(c)}return s}else{var x,S,C,w,T,E,D,O;if((p==null?void 0:p.v)===void 0||(p==null?void 0:p.v)===null)return;let e=(x=(S=m.pd)==null?void 0:S.l)==null?As.l:x,t=(C=(w=m.pd)==null?void 0:w.r)==null?As.r:C,n=(T=(E=m.pd)==null?void 0:E.t)==null?As.t:T,r=(D=(O=m.pd)==null?void 0:O.b)==null?As.b:D;if((m==null?void 0:m.tb)===l.WrapStrategy.WRAP){let i=new _r(`${p.v}`,pe(m).fontCache,(m==null?void 0:m.tb)===l.WrapStrategy.WRAP,y-e-t,1/0);return i.calculate(),i.getTotalHeight()+n+r}else{let e=W.getMeasureText(`A`,pe(m).fontCache);return e.fontBoundingBoxAscent+e.fontBoundingBoxDescent+n+r}}}_calculateRowAutoHeight(e){let{columnCount:t,defaultRowHeight:n}=this._worksheetData,r=n;for(let n=0;n<t;n++){let t=this.calculateAutoHeightForCell(e,n);t&&(r=Math.max(r,t))}return Math.min(r,k)}calculateAutoWidthInRange(e){if(!l.Tools.isArray(e))return[];let t=[],n=new Set;for(let r of e){let{startColumn:e,endColumn:i}=r;for(let r=e;r<=i;r++){if(!this.worksheet.getColVisible(r)||n.has(r))continue;let e=this._calculateColWidth(r);n.add(r),t.push({col:r,width:Math.max(this._worksheetData.defaultColumnWidth,e)})}}return t}_calculateColWidth(e){let t=this.worksheet,n=0,r=this.visibleRangeByViewportKey(Cn.VIEW_MAIN);if(!r)return n;let{startRow:i,endRow:a}=r,o=this.worksheet.getRowCount(),s=new Set;s.add(0),s.add(o-1);let c=this.visibleRangeByViewportKey(Cn.VIEW_MAIN_TOP);if(c){let{startRow:e,endRow:t}=c;for(let n=e;n<=t;n++)s.add(n)}let l=((e,t,n)=>[...Array.from({length:t-e+1},(t,n)=>n+e),...n])(Math.max(0,i-En),Math.min(o,a+En),s),u=Math.max(0,e-1),d=this.columnWidthAccumulation[e]-this.columnWidthAccumulation[u];e===0&&(d=this.columnWidthAccumulation[e]);for(let r=0;r<l.length;r++){let o=l[r],{isMerged:s,isMergedMainCell:c}=this.worksheet.getCellInfoInMergeData(e,o);if(s&&!c||!this.worksheet.getRowVisible(o))continue;let u=t.getCell(o,e);if(!u||u.p&&(o+1e3<=i||o-1e3>=a))continue;let m=this._getMeasuredWidthByCell(u,o,e,d);if(u.fontRenderExtension){var f,p;m+=(((f=u.fontRenderExtension)==null?void 0:f.leftOffset)||0)+(((p=u.fontRenderExtension)==null?void 0:p.rightOffset)||0)}if(n=Math.max(n,m),n>=2e3)return A}return n===0?d:Math.max(2,n)}getColWidth(e){let t=Math.max(0,e-1);return this.columnWidthAccumulation[e]-this.columnWidthAccumulation[t]}getRowHeight(e){let t=Math.max(0,e-1);return this.rowHeightAccumulation[e]-this.rowHeightAccumulation[t]}_getMeasuredWidthByCell(e,t,n,r){var i,a;let o=0;if((i=e.fontRenderExtension)!=null&&i.isSkip&&e!=null&&e.interceptorAutoWidth){var s;let t=(s=e.interceptorAutoWidth)==null?void 0:s.call(e);if(t)return t}let c=this.worksheet.getComposedCellStyleByCellData(t,n,e),u=this.worksheet.getCellDocumentModel(e,c);if(u==null)return o;let{documentModel:d,textRotation:f}=u;if(d==null)return o;let p=new Or(d),{vertexAngle:m}=$t(f);(c==null?void 0:c.tb)===l.WrapStrategy.WRAP?d.updateDocumentDataPageSize(r,1/0):d.updateDocumentDataPageSize(1/0,1/0);let h=Cs.create(p,this._localeService);if(h.calculate(),o=((a=Fs(h,m))==null?{width:0}:a).width,h){let e=h.getSkeletonData(),{marginTop:t,marginBottom:n,marginLeft:r,marginRight:i}=e.pages[e.pages.length-1],a=Math.abs(V(m));o+=t*Math.sin(a)+i*Math.cos(a)+n*Math.sin(a)+r*Math.cos(a)}return o}getRangeByBounding(e){return this._getRangeByViewBounding(this.rowHeightAccumulation,this.columnWidthAccumulation,e==null?void 0:e.cacheBound)}getRangeByViewport(e){return this._getRangeByViewBounding(this.rowHeightAccumulation,this.columnWidthAccumulation,e==null?void 0:e.viewBound)}getCacheRangeByViewport(e,t){return this._getRangeByViewBounding(this.rowHeightAccumulation,this.columnWidthAccumulation,e==null?void 0:e.cacheBound,t)}getRangeByViewBound(e){return this._getRangeByViewBounding(this.rowHeightAccumulation,this.columnWidthAccumulation,e)}appendToOverflowCache(e,t,n,r){this._overflowCache.setValue(e,t,{startRow:e,endRow:e,startColumn:n,endColumn:r})}getOverflowPosition(e,t,n,r,i){var a;let o=(a=e==null?void 0:e.width)==null?0:a,s=r,c=r;return t===l.HorizontalAlign.CENTER?(s=this._getOverflowBound(n,r,0,o/2,t),c=this._getOverflowBound(n,r,i-1,o/2,t)):t===l.HorizontalAlign.RIGHT?s=this._getOverflowBound(n,r,0,o):c=this._getOverflowBound(n,r,i-1,o),{startColumn:s,endColumn:c}}calculateCellIndexByPosition(e,t,n,r,i){return this.getCellWithCoordByOffset(e,t,n,r,i)}getCellPositionByOffset(e,t,n,r,i,a){return this.getCellIndexByOffset(e,t,n,r,i,a)}getCellWithMergeInfoByIndex(e,t){return this.worksheet.getCellInfoInMergeData(e,t)}getColumnPositionByOffsetX(e,t,n,r){return this.getColumnIndexByOffsetX(e,t,n,r)}getRowPositionByOffsetY(e,t,n,r){return this.getRowIndexByOffsetY(e,t,n,r)}getCellByIndex(e,t){return this.getCellWithCoordByIndex(e,t)}getCellByIndexWithNoHeader(e,t){return this.getCellWithCoordByIndex(e,t,!1)}getBlankCellDocumentModel(e){let t=this._getCellDocumentModel(e,{ignoreTextRotation:!0}),n=Es(this._styles.getStyleByCell(e));if(t!=null)return t.documentModel==null&&(t.documentModel=ws(``,n)),t;let r=`document`,i=l.DEFAULT_STYLES.tr,a=l.DEFAULT_STYLES.ht,o=l.DEFAULT_STYLES.vt,s=l.DEFAULT_STYLES.tb,c=As;return r=pe({}).fontCache,{documentModel:ws(``,n),fontString:r,textRotation:i,wrapStrategy:s,verticalAlign:o,horizontalAlign:a,paddingData:c}}getCellDocumentModelWithFormula(e){return this._getCellDocumentModel(e,{isDeepClone:!0,displayRawFormula:!0,ignoreTextRotation:!0})}_getCellDocumentModel(e,t=ks){var n;let{isDeepClone:r,displayRawFormula:i,ignoreTextRotation:a}={...ks,...t},o=this._styles.getStyleByCell(e);if(!e)return;let s,c=`document`,u=Ts(o),d=a?l.DEFAULT_STYLES.tr:u.textRotation||l.DEFAULT_STYLES.tr,f=u.horizontalAlign||l.DEFAULT_STYLES.ht,p=u.verticalAlign||l.DEFAULT_STYLES.vt,m=u.wrapStrategy||l.DEFAULT_STYLES.tb,h=u.paddingData||As;if(e.f&&i)s=ws(e.f.toString(),{},{verticalAlign:p}),f=l.DEFAULT_STYLES.ht;else if(e.p){let{centerAngle:t,vertexAngle:n}=$t(d);s=this._updateConfigAndGetDocumentModel(r?l.Tools.deepClone(e.p):e.p,f,h,{horizontalAlign:f,verticalAlign:p,centerAngle:t,vertexAngle:n,wrapStrategy:m,zeroWidthParagraphBreak:1})}else if(e.v!=null){let t=Es(o);c=pe(t).fontCache;let n=(0,l.extractPureTextFromCell)(e);e.t===l.CellValueType.FORCE_STRING&&i&&(n=`'${n}`),s=ws(n,t,{...u,textRotation:d,cellValueType:e.t})}return s&&e.linkUrl&&e.linkId&&(0,l.addLinkToDocumentModel)(s,e.linkUrl,e.linkId),{documentModel:s,fontString:c,textRotation:d,wrapStrategy:m,verticalAlign:p,horizontalAlign:f,paddingData:h,fill:o==null||(n=o.bg)==null?void 0:n.rgb}}_calculateOverflowCell(e,t,n){let{documentSkeleton:r,vertexAngle:i=0,centerAngle:a=0,horizontalAlign:o,wrapStrategy:s}=n,{t:c=l.CellValueType.STRING}=this._cellData.getValue(e,t)||{},u=o;if(o===l.HorizontalAlign.UNSPECIFIED&&(a===90&&i===90?u=l.HorizontalAlign.CENTER:(i>0&&i!==90||i===-90)&&(u=l.HorizontalAlign.RIGHT)),(s===l.WrapStrategy.OVERFLOW||s===l.WrapStrategy.UNSPECIFIED)&&c!==l.CellValueType.NUMBER&&c!==l.CellValueType.BOOLEAN&&o!==l.HorizontalAlign.JUSTIFIED){if(this.intersectMergeRange(e,t))return!0;let a;if(r)a=Fs(r,i);else{let e=W.getMeasureText(`${n.cellData.v}`,n.fontString);a={width:e.width,height:e.fontBoundingBoxDescent+e.fontBoundingBoxAscent}}if(!a)return!0;if(i!==0){let{startY:n,endY:r,startX:o,endX:s}=this.getCellWithCoordByIndex(e,t),c=s-o,l=r-n;a.height>l&&(a={width:l/Math.tan(Math.abs(i))+c,height:l})}let{startColumn:o,endColumn:s}=this.getOverflowPosition(a,u,e,t,this.getColumnCount());if(o===s)return!0;this.appendToOverflowCache(e,t,o,s)}else if(s===l.WrapStrategy.WRAP&&i!==0){if(this.intersectMergeRange(e,t))return!0;let{startY:n,endY:a}=this.getCellWithCoordByIndex(e,t),o=a-n;r.getViewModel().getDataModel().updateDocumentDataPageSize(o),r.calculate();let s=Fs(r,i);if(!s)return!0;let{startColumn:c,endColumn:l}=this.getOverflowPosition(s,u,e,t,this.getColumnCount());if(c===l)return!0;this.appendToOverflowCache(e,t,c,l)}return!1}_getRangeByViewBounding(e,t,n,r){let i=e.length,a=t.length;if(!n)return{startRow:0,endRow:i-1,startColumn:0,endColumn:a-1};let o=(0,l.searchArray)(e,Math.round(n.top)-this.columnHeaderHeightAndMarginTop),s=Math.round(n.bottom)-this.columnHeaderHeightAndMarginTop,c=(0,l.searchArray)(e,s);c<i&&e[c-1]===s&&--c;let u=(0,l.searchArray)(t,Math.round(n.left)-this.rowHeaderWidthAndMarginLeft),d=Math.round(n.right)-this.rowHeaderWidthAndMarginLeft,f=(0,l.searchArray)(t,d);return f<a&&t[f-1]===d&&--f,r?{startRow:o,endRow:c===i-1?c:c-1,startColumn:u,endColumn:f===a-1?f:f-1}:{startRow:o,endRow:c,startColumn:u,endColumn:f}}getCurrentRowColumnSegmentMergeData(e){let t=this.columnWidthAccumulation.length-1;return e=e?{startRow:e.startRow,startColumn:0,endRow:e.endRow,endColumn:t}:{startRow:0,startColumn:0,endRow:this.rowHeightAccumulation.length-1,endColumn:t},this.worksheet.getMergedCellRange(e.startRow,e.startColumn,e.endRow,e.endColumn)}resetCache(){this._resetCache()}_resetCache(){var e,t,n;this._stylesCache={background:{},backgroundPositions:new l.ObjectMatrix,fontMatrix:new l.ObjectMatrix,border:new l.ObjectMatrix},(e=this._handleBgMatrix)==null||e.reset(),(t=this._handleBorderMatrix)==null||t.reset(),(n=this._overflowCache)==null||n.reset()}resetRangeCache(e){for(let t=0;t<e.length;t++){let n=e[t];l.Range.foreach(n,(e,t)=>{this._stylesCache.fontMatrix.realDeleteValue(e,t)})}this.makeDirty(!0)}_setBorderStylesCache(e,t,n,r){if(!l.Tools.isDefine(this._handleBorderMatrix.getValue(e,t))&&((r==null?void 0:r.cacheItem)||{bg:!0,border:!0}).border&&(this._handleBorderMatrix.setValue(e,t,!0),n&&n.bd)){let i=r==null?void 0:r.mergeRange;i?(this._setMergeBorderProps(E.TOP,this._stylesCache,i),this._setMergeBorderProps(E.BOTTOM,this._stylesCache,i),this._setMergeBorderProps(E.LEFT,this._stylesCache,i),this._setMergeBorderProps(E.RIGHT,this._stylesCache,i)):this.intersectMergeRange(e,t)||(this._setBorderProps(e,t,E.TOP,n,this._stylesCache),this._setBorderProps(e,t,E.BOTTOM,n,this._stylesCache),this._setBorderProps(e,t,E.LEFT,n,this._stylesCache),this._setBorderProps(e,t,E.RIGHT,n,this._stylesCache)),this._setBorderProps(e,t,E.TL_BR,n,this._stylesCache),this._setBorderProps(e,t,E.TL_BC,n,this._stylesCache),this._setBorderProps(e,t,E.TL_MR,n,this._stylesCache),this._setBorderProps(e,t,E.BL_TR,n,this._stylesCache),this._setBorderProps(e,t,E.ML_TR,n,this._stylesCache),this._setBorderProps(e,t,E.BC_TR,n,this._stylesCache)}}_setBgStylesCache(e,t,n,r){if(!l.Tools.isDefine(this._handleBgMatrix.getValue(e,t))&&((r==null?void 0:r.cacheItem)||{bg:!0,border:!0}).bg&&(this._handleBgMatrix.setValue(e,t,!0),n&&n.bg&&n.bg.rgb)){var i;let r=n.bg.rgb;this._stylesCache.background[r]||(this._stylesCache.background[r]=new l.ObjectMatrix),this._stylesCache.background[r].setValue(e,t,r);let a=this.getCellWithCoordByIndex(e,t,!1);(i=this._stylesCache.backgroundPositions)==null||i.setValue(e,t,a)}}_setFontStylesCache(e,t,n,r){var i;if((0,l.isNullCell)(n))return;let a={cellData:n,imageCacheMap:this._imageCacheMap},o=this._stylesCache.fontMatrix.getValue(e,t);if(!o)this._stylesCache.fontMatrix.setValue(e,t,a);else{let r=o;r.cellData=n,this._stylesCache.fontMatrix.setValue(e,t,o);return}let{vertexAngle:s,centerAngle:c}=$t((i=r==null?void 0:r.tr)==null?{a:0}:i),u=n!=null&&n.p||s||c?this.worksheet.getCellDocumentModel(n,r,{displayRawFormula:this._renderRawFormula}):null;if(u){let{documentModel:e}=u;if(e){let{fontString:t,wrapStrategy:i,verticalAlign:o,horizontalAlign:l}=u,d=new Or(e);if(d){let e=Cs.create(d,this._localeService);e.calculate(),a={documentSkeleton:e,vertexAngle:s,centerAngle:c,verticalAlign:o,horizontalAlign:l,wrapStrategy:i,imageCacheMap:this._imageCacheMap,cellData:n,fontString:t,style:r}}}}else{let e=pe(r==null?void 0:r).fontCache,{vt:t,ht:i,tb:o}=r==null?{}:r;a={documentSkeleton:void 0,vertexAngle:s,centerAngle:c,verticalAlign:t==null?l.VerticalAlign.UNSPECIFIED:t,horizontalAlign:i==null?l.HorizontalAlign.UNSPECIFIED:i,wrapStrategy:o==null?l.WrapStrategy.OVERFLOW:o,imageCacheMap:this._imageCacheMap,cellData:n,fontString:e,style:r}}this._calculateOverflowCell(e,t,a),this._stylesCache.fontMatrix.setValue(e,t,a)}_setStylesCacheForOneCell(e,t,n){if(e===-1||t===-1)return;n||(n={cacheItem:{bg:!0,border:!0}});let{isMerged:r,isMergedMainCell:i,startRow:a,startColumn:o,endRow:s,endColumn:c}=this.worksheet.getCellInfoInMergeData(e,t);if(r&&(n.mergeRange={startRow:a,startColumn:o,endRow:s,endColumn:c}),(this.worksheet.getColVisible(t)===!1||this.worksheet.getRowVisible(e)===!1)&&(r&&!i||!i))return;let l=this.worksheet.getCell(e,t)||this.worksheet.getCellRaw(e,t),u=this.worksheet.getComposedCellStyleByCellData(e,t,l);!l&&Object.keys(u).length===0||(this._setBgStylesCache(e,t,u,n),this._setBorderStylesCache(e,t,u,n),this._setFontStylesCache(e,t,{...l,s:u},u))}_setMergeBorderProps(e,t,n){if(!this.worksheet||!t.border)return;let r=[],i=n.startRow,a=n.endRow,o=n.startRow,s=n.startColumn;e===E.TOP?(o=n.startRow,i=n.startColumn,a=n.endColumn):e===E.BOTTOM?(o=n.endRow,i=n.startColumn,a=n.endColumn):e===E.LEFT?(s=n.startColumn,i=n.startRow,a=n.endRow):e===E.RIGHT&&(s=n.endColumn,i=n.startRow,a=n.endRow);for(let t=i;t<=a;t++){var c,u,d;e===E.TOP||e===E.BOTTOM?s=t:(e===E.LEFT||e===E.RIGHT)&&(o=t);let n=this.worksheet.getCell(o,s);if(!n)break;let i=(c=n.themeStyle)==null?void 0:c.bd,a=this.worksheet.getComposedCellStyleByCellData(o,s,n);if(!a&&!i)break;let f=(u=a==null||(d=a.bd)==null?void 0:d[e])==null?i==null?void 0:i[e]:u;if(f){let e=(0,l.getColorStyle)(f.cl)||`rgb(0,0,0)`;r.push({r:o,c:s,style:f.s,color:e})}}r.forEach(n=>{let{r,c:i,style:a,color:o}=n;t.border.getValue(r,i)||t.border.setValue(r,i,{}),t.border.getValue(r,i)[e]={type:e,style:a,color:o}})}_setBorderProps(e,t,n,r,i){var a;let o=(a=r.bd)==null?void 0:a[n];if(!o||!i.border)return;let s=(0,l.getColorStyle)(o.cl)||`rgb(0,0,0)`,c=i.border;if(c.getValue(e,t)||c.setValue(e,t,{[n]:{}}),n===E.TOP){var u;if((u=c.getValue(e-1,t))!=null&&u[E.BOTTOM]&&(0,l.isWhiteColor)(s))return}else if(n===E.LEFT){var d;if((d=c.getValue(e,t-1))!=null&&d[E.RIGHT]&&(0,l.isWhiteColor)(s))return}c.getValue(e,t)[n]={type:n,style:o.s,color:s}}getDistanceFromTopLeft(e,t){return{x:this.colStartX(t),y:this.rowStartY(e)}}colStartX(e){let t=this.columnWidthAccumulation,n=e-1;return n===-1?0:t[n]}rowStartY(e){let t=this.rowHeightAccumulation,n=e-1;return n===-1?0:t[n]}getHiddenRowsInRange(e){let t=[];for(let n=e.startRow;n<=e.endRow;n++)this.worksheet.getRowVisible(n)||t.push(n);return t}getHiddenColumnsInRange(e){let t=[];for(let n=e.startColumn;n<=e.endColumn;n++)this.worksheet.getColVisible(n)||t.push(n);return t}convertTransformToOffsetX(e,t,n){let{x:r}=n;return(e-r)*t}convertTransformToOffsetY(e,t,n){let{y:r}=n;return(e-r)*t}};Ms=Os([Ds(2,(0,l.Inject)(l.LocaleService)),Ds(3,l.IContextService),Ds(4,l.IConfigService),Ds(5,(0,l.Inject)(l.Injector))],Ms);function Ns(e,t,n){let{x:r}=n;return(e-r)*t}function Ps(e,t,n){let{y:r}=n;return(e-r)*t}function Fs(e,t=0){let n=e==null?void 0:e.getSkeletonData(),r=V(t);if(!n)return null;let{pages:i}=n;if(!i||i.length===0)return null;let a=i[i.length-1];if(!a)return null;let{width:o,height:s}=a;if(r===0)return{width:o,height:s};if(Math.abs(r)===Math.PI/2)return{width:s,height:o};let c=0,l=0,u=[];ya([a],e=>{let{lines:t,width:n,spaceWidth:i}=e,{rotatedHeight:a,rotatedWidth:o}=Pt(t,n,r);l+=a,u.push({rotatedWidth:o,spaceWidth:i})});let d=u.length;for(let e=0;e<d;e++){let{rotatedWidth:t}=u[e];e===0&&(c+=t)}return{width:c,height:l}}function Is(e,t,n){let r=n*Math.PI/180;return{rotatedWidth:Math.abs(e*Math.cos(r))+Math.abs(t*Math.sin(r)),rotatedHeight:Math.abs(e*Math.sin(r))+Math.abs(t*Math.cos(r))}}var Ls=class extends kn{constructor(){super(),U(this,`uKey`,`DefaultFontExtension`),U(this,`Z_INDEX`,45),U(this,`_imageFallback`,new Image),this._imageFallback.src=`data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTMwNC4xMjggNDU2LjE5MmM0OC42NCAwIDg4LjA2NC0zOS40MjQgODguMDY0LTg4LjA2NHMtMzkuNDI0LTg4LjA2NC04OC4wNjQtODguMDY0LTg4LjA2NCAzOS40MjQtODguMDY0IDg4LjA2NCAzOS40MjQgODguMDY0IDg4LjA2NCA4OC4wNjR6bTAtMTE2LjIyNGMxNS4zNiAwIDI4LjE2IDEyLjI4OCAyOC4xNiAyOC4xNnMtMTIuMjg4IDI4LjE2LTI4LjE2IDI4LjE2LTI4LjE2LTEyLjI4OC0yOC4xNi0yOC4xNiAxMi4yODgtMjguMTYgMjguMTYtMjguMTZ6IiBmaWxsPSIjZTZlNmU2Ii8+PHBhdGggZD0iTTg4Ny4yOTYgMTU5Ljc0NEgxMzYuNzA0Qzk2Ljc2OCAxNTkuNzQ0IDY0IDE5MiA2NCAyMzIuNDQ4djU1OS4xMDRjMCAzOS45MzYgMzIuMjU2IDcyLjcwNCA3Mi43MDQgNzIuNzA0aDE5OC4xNDRMNTAwLjIyNCA2ODguNjRsLTM2LjM1Mi0yMjIuNzIgMTYyLjMwNC0xMzAuNTYtNjEuNDQgMTQzLjg3MiA5Mi42NzIgMjE0LjAxNi0xMDUuNDcyIDE3MS4wMDhoMzM1LjM2QzkyNy4yMzIgODY0LjI1NiA5NjAgODMyIDk2MCA3OTEuNTUyVjIzMi40NDhjMC0zOS45MzYtMzIuMjU2LTcyLjcwNC03Mi43MDQtNzIuNzA0em0tMTM4Ljc1MiA3MS42OHYuNTEySDg1Ny42YzE2LjM4NCAwIDMwLjIwOCAxMy4zMTIgMzAuMjA4IDMwLjIwOHYzOTkuODcyTDY3My4yOCA0MDguMDY0bDc1LjI2NC0xNzYuNjR6TTMwNC42NCA3OTIuMDY0SDE2NS44ODhjLTE2LjM4NCAwLTMwLjIwOC0xMy4zMTItMzAuMjA4LTMwLjIwOHYtOS43MjhsMTM4Ljc1Mi0xNjQuMzUyIDEwNC45NiAxMjQuNDE2LTc0Ljc1MiA3OS44NzJ6bTgxLjkyLTM1NS44NGwzNy4zNzYgMjI4Ljg2NC0uNTEyLjUxMi0xNDIuODQ4LTE2OS45ODRjLTMuMDcyLTMuNTg0LTkuMjE2LTMuNTg0LTEyLjI4OCAwTDEzNS42OCA2NTIuOFYyNjIuMTQ0YzAtMTYuMzg0IDEzLjMxMi0zMC4yMDggMzAuMjA4LTMwLjIwOGg0NzQuNjI0TDM4Ni41NiA0MzYuMjI0em01MDEuMjQ4IDMyNS42MzJjMCAxNi44OTYtMTMuMzEyIDMwLjIwOC0yOS42OTYgMzAuMjA4SDY4MC45Nmw1Ny4zNDQtOTMuMTg0LTg3LjU1Mi0yMDIuMjQgNy4xNjgtNy42OCAyMjkuODg4IDI3Mi44OTZ6IiBmaWxsPSIjZTZlNmU2Ii8+PC9zdmc+`}getDocuments(){let e=this.parent;return e==null?void 0:e.getDocuments()}_drawFallbackImage(e,t,n,r,i){if(this._imageFallback.complete&&this._imageFallback.naturalWidth>0)try{e.drawImage(this._imageFallback,t,n,r,i)}catch(e){console.error(`Failed to draw fallback image:`,e)}}draw(e,t,n,r,i){let{stylesCache:a,worksheet:o}=n,{fontMatrix:s}=a;if(!n||!o||!s)return;let{rowHeightAccumulation:c,columnTotalWidth:u,columnWidthAccumulation:d,rowTotalHeight:f}=n;if(!c||!d||u===void 0||f===void 0||!o)return;let p=this._getScale(t),{viewRanges:m=[],checkOutOfViewBound:h}=i,g={ctx:e,scale:p,columnTotalWidth:u,rowTotalHeight:f,viewRanges:m,checkOutOfViewBound:h||!0,diffRanges:r,spreadsheetSkeleton:n};e.save();let _=[],v=new Set,y=n.getRowCount()-1,b=n.getColumnCount()-1;m.forEach(e=>{e.startColumn-=20,e.endColumn+=20,e=it(e,y,b),n.worksheet.getMergedCellRange(e.startRow,e.startColumn,e.endRow,e.endColumn).forEach(e=>{let t=n.worksheet.getSpanModel().getMergeDataIndex(e.startRow,e.startColumn);v.has(t)||(v.add(t),_.push(e))}),l.Range.foreach(e,(e,t)=>{if(n.worksheet.getSpanModel().getMergeDataIndex(e,t)!==-1)return;let r=n.getCellWithCoordByIndex(e,t,!1);r&&(g.cellInfo=r,this._renderFontEachCell(g,e,t,s))})}),_.forEach(e=>{g.cellInfo=n.getCellWithCoordByIndex(e.startRow,e.startColumn,!1),this._renderFontEachCell(g,e.startRow,e.startColumn,s)}),e.restore()}_renderFontEachCell(e,t,n,r){var i;let{ctx:a,viewRanges:o,diffRanges:s,spreadsheetSkeleton:c,cellInfo:l}=e,{startY:u,endY:d,startX:f,endX:p}=l,{isMerged:m,isMergedMainCell:h,mergeInfo:g}=l;if(e.startX=f,e.startY=u,e.endX=p,e.endY=d,m&&!h)return!0;h&&(e.startX=g.startX,e.startY=g.startY,e.endX=g.endX,e.endY=g.endY);let _=r.getValue(t,n);if(!_)return!0;e.fontCache=_;let v=c.overflowCache.getValue(t,n),y=s&&s.length>0?s:o,b=!h&&!m;if(!v&&b&&!nt(y,t,n))return!0;if(b){if(!c.worksheet.getRowVisible(t)||!c.worksheet.getColVisible(n))return!0}else{let e=!0;for(let t=g.startRow;t<=g.endRow;t++)if(c.worksheet.getRowVisible(t)){e=!1;break}if(e)return!0;let t=!0;for(let e=g.startColumn;e<=g.endColumn;e++)if(c.worksheet.getColVisible(e)){t=!1;break}if(t)return!0}let x=c.worksheet.getCell(t,n)||{};if(!(x==null||(i=x.fontRenderExtension)==null)&&i.isSkip)return!0;if(a.save(),a.beginPath(),e.overflowRectangle=v,this._clipByRenderBounds(e,t,n),a.translate(e.startX+j,e.startY+j),_.documentSkeleton?this._renderDocuments(a,t,n,e,c.overflowCache):this._renderText(a,t,n,e,c.overflowCache),a.closePath(),a.restore(),_.documentSkeleton){var S;(S=_.documentSkeleton.getViewModel().getDataModel().getDrawingsOrder())!=null&&S.length&&(a.save(),a.beginPath(),this._clipByRenderBounds(e,t,n,1),this._renderImages(a,_,e.startX,e.startY,e.endX,e.endY),a.closePath(),a.restore())}return e.startX=0,e.startY=0,e.endX=0,e.endY=0,e.overflowRectangle=null,!1}_renderImages(e,t,n,r,i,a){var o;let{documentSkeleton:s,verticalAlign:c,horizontalAlign:u}=t,d=s.getSkeletonData().pages[0].height,f=s.getSkeletonData().pages[0].width,p=n,m=r;switch(c){case l.VerticalAlign.TOP:m=r+2;break;case l.VerticalAlign.MIDDLE:m=(r+a)/2-d/2;break;default:m=a-d-2;break}switch(u){case l.HorizontalAlign.RIGHT:p=i-f-2;break;case l.HorizontalAlign.CENTER:p=(n+i)/2-f/2;break;default:p=n+2;break}let h=s.getViewModel().getDataModel().getDrawings(),g=(o=s.getSkeletonData())==null?void 0:o.pages[0].skeDrawings;g==null||g.forEach(n=>{let r=h==null?void 0:h[n.drawingId];if(r){let i=t.imageCacheMap.getImage(r.imageSourceType,r.source,()=>{var e;(e=this.parent)==null||e.makeDirty()},()=>{var e;(e=this.parent)==null||e.makeDirty()}),a=p+n.aLeft,o=m+n.aTop,s=n.width,c=n.height,l=n.angle,{rotatedHeight:u,rotatedWidth:d}=Is(s,c,l);if(i&&i.complete){let t=l*Math.PI/180;if(e.save(),e.translate(a+d/2,o+u/2),e.rotate(t),i.getAttribute(`data-error`)===`true`)this._drawFallbackImage(e,-d/2,-u/2,s,c);else try{e.drawImage(i,-d/2,-u/2,s,c)}catch{this._drawFallbackImage(e,-d/2,-u/2,s,c)}e.restore()}}})}_clipByRenderBounds(e,t,n,r=0){var i,a,o,s;let{ctx:c,scale:u,overflowRectangle:d,fontCache:f}=e,{startX:p,endX:m,startY:h,endY:g}=e,{horizontalAlign:_=0,vertexAngle:v=0,centerAngle:y=0}=f,b=_;_===l.HorizontalAlign.UNSPECIFIED&&(y===90&&v===90?b=l.HorizontalAlign.CENTER:(v>0&&v!==90||v===-90)&&(b=l.HorizontalAlign.RIGHT));let x=(i=f==null||(a=f.cellData)==null||(a=a.fontRenderExtension)==null?void 0:a.rightOffset)==null?0:i,S=(o=f==null||(s=f.cellData)==null||(s=s.fontRenderExtension)==null?void 0:s.leftOffset)==null?0:o,C=!0;v===0&&(p+=S,m-=x,(x!==0||S!==0)&&(C=!1));let w=m-p,T=g-h;if(d&&C){let{startColumn:i,startRow:a,endColumn:o,endRow:s}=d,{spreadsheetSkeleton:f}=e,{rowHeightAccumulation:m,columnWidthAccumulation:g}=f;i===o&&i===n?(c.rectByPrecision(p+1/u,h+1/u,w-2/u,T-2/u),c.clip()):b===l.HorizontalAlign.CENTER?this._clipRectangleForOverflow(c,a,s,i,o,u,m,g,r):b===l.HorizontalAlign.RIGHT?this._clipRectangleForOverflow(c,a,t,i,n,u,m,g,r):this._clipRectangleForOverflow(c,t,s,n,o,u,m,g,r)}else c.rectByPrecision(p+1/u,h+1/u,w-2/u,T-2/u),c.clip();e.startX=p,e.startY=h,e.endX=m,e.endY=g}_renderText(e,t,n,r,i){var a,o,s,c,u,d,f,p,m,h;let{fontCache:g}=r;if(!g)return;let _=(a=(o=g.style)==null?void 0:o.pd)==null?As:a,v=(s=_.l)==null?As.l:s,y=(c=_.r)==null?As.r:c,b=(u=_.t)==null?As.t:u,x=(d=_.b)==null?As.b:d,{vertexAngle:S=0,wrapStrategy:C,cellData:w}=g;if((w==null?void 0:w.v)===void 0||(w==null?void 0:w.v)===null)return;let T=(0,l.extractPureTextFromCell)(w),{startX:E,startY:D,endX:O,endY:k}=r,A=O-E-v-y,j=k-D-b-x,M=g.horizontalAlign;g.horizontalAlign===l.HorizontalAlign.UNSPECIFIED&&(w.t===l.CellValueType.NUMBER||!l.Tools.isDefine(w.t)&&typeof w.v==`number`?M=l.HorizontalAlign.RIGHT:w.t===l.CellValueType.BOOLEAN&&(M=l.HorizontalAlign.CENTER)),Sr.drawWith(e,{text:T,fontStyle:g.fontString,warp:C===l.WrapStrategy.WRAP&&S===0,hAlign:M,vAlign:g.verticalAlign,width:A,height:j,left:v,top:b,color:(f=g.style)==null||(f=f.cl)==null?void 0:f.rgb,strokeLine:!!(!((p=g.style)==null||(p=p.st)==null)&&p.s),underline:!!(!((m=g.style)==null||(m=m.ul)==null)&&m.s),underlineType:(h=g.style)==null||(h=h.ul)==null?void 0:h.t,cellValueType:w.t})}_renderDocuments(e,t,n,r,i){let a=this.getDocuments();if(a==null)throw Error(`documents is null`);let{fontCache:o}=r;if(!o)return;let{documentSkeleton:s,vertexAngle:c=0,wrapStrategy:u}=o;if(!s)return;let d=s.getViewModel().getDataModel(),{startX:f,startY:p,endX:m,endY:h}=r,g=m-f,_=h-p;u===l.WrapStrategy.WRAP&&c===0?(d.updateDocumentDataPageSize(m-f),s.calculate()):d.updateDocumentDataPageSize(1/0);let v=i.getValue(t,n);if(!(u===l.WrapStrategy.WRAP&&c===0)&&v){let e=Fs(s),t=d.getSnapshot().documentStyle;if(e&&t){let{width:n}=e,{marginRight:r=0,marginLeft:i=0}=t;s.getViewModel().getDataModel().updateDocumentDataPageSize(n+i+r),s.calculate()}let n=v.endColumn,i=v.startColumn,a=v.startRow,o=v.endRow,c=r.spreadsheetSkeleton.getCellWithCoordByIndex(o,n);m=c.endX,h=c.endY;let l=r.spreadsheetSkeleton.getCellWithCoordByIndex(a,i);f=l.startX,p=l.startY}let y={right:m-f,bottom:h-p};s.makeDirty(!1),a.resize(g,_),a.changeSkeleton(s).render(e,{viewBound:{left:0,top:0,right:y.right,bottom:y.bottom}})}_clipRectangleForOverflow(e,t,n,r,i,a,o,s,c=0){let l=o[t-1]||0,u=o[n]||o[o.length-1],d=s[r-1]||0,f=s[i]||s[s.length-1];e.rectByPrecision(d+c,l+c,f-d-2*c,u-l-2*c),e.clip()}};hn.add(Ls);const Rs=e=>{let{startRow:t,endRow:n,startColumn:r,endColumn:i}=e;return`${t}-${n}-${r}-${i}`};var zs=class extends kn{constructor(...e){super(...e),U(this,`Z_INDEX`,60),U(this,`uKey`,`DefaultMarkerExtension`)}draw(e,t,n,r){if(e.__mode===`printing`)return;let{worksheet:i,rowColumnSegment:a}=n;if(!i)return;let o=new Set;l.Range.foreach(a,(t,a)=>{var s,c,l,u;if(!i.getRowVisible(t)||!i.getColVisible(a))return;let d=i.getCell(t,a),f=n.getCellWithCoordByIndex(t,a,!1),{isMerged:p,isMergedMainCell:m,mergeInfo:h}=f,{startY:g,endY:_,startX:v,endX:y}=f;if((m||p)&&(g=h.startY,_=h.endY,v=h.startX,y=h.endX),p){let e={row:h.startRow,col:h.startColumn};d=i.getCell(e.row,e.col)}if(!this.isRenderDiffRangesByRow(h.startRow,h.endRow,r))return!0;if(f.isMerged||f.isMergedMainCell){let e=Rs(h);if(o.has(e))return;o.add(e)}if(d){if((s=d.markers)!=null&&s.tr){e.save();let t=d.markers.tr,n=y,r=g;e.fillStyle=t.color,e.moveTo(n,r),e.beginPath(),e.lineTo(n-t.size,r),e.lineTo(n,r+t.size),e.lineTo(n,r),e.closePath(),e.fill(),e.restore()}if((c=d.markers)!=null&&c.tl){e.save();let t=d.markers.tl,n=v,r=g;e.fillStyle=t.color,e.moveTo(n,r),e.beginPath(),e.lineTo(n+t.size,r),e.lineTo(n,r+t.size),e.lineTo(n,r),e.closePath(),e.fill(),e.restore()}if((l=d.markers)!=null&&l.br){e.save();let t=d.markers.br,n=y,r=_;e.fillStyle=t.color,e.moveTo(n,r),e.beginPath(),e.lineTo(n-t.size,r),e.lineTo(n,r-t.size),e.lineTo(n,r),e.closePath(),e.fill(),e.restore()}if((u=d.markers)!=null&&u.bl){e.save();let t=d.markers.bl,n=v,r=_;e.fillStyle=t.color,e.moveTo(n,r),e.beginPath(),e.lineTo(n+t.size,r),e.lineTo(n,r-t.size),e.lineTo(n,r),e.closePath(),e.fill(),e.restore()}}})}};hn.add(zs);const Bs={fontSize:13,fontFamily:y,fontColor:`#000000`,backgroundColor:F([248,249,250]),borderColor:F([217,217,217]),textAlign:`center`,textBaseline:`middle`};var Vs=class extends kn{constructor(e){super(),U(this,`uKey`,`DefaultRowHeaderLayoutExtension`),U(this,`Z_INDEX`,10),U(this,`rowsCfg`,{}),U(this,`headerStyle`,{}),U(this,`rowsCfgOfWorksheet`,new Map),U(this,`headerStyleOfWorksheet`,new Map),e&&this.configHeaderRow(e)}configHeaderRow(e,t){if(t){var n,r;this.rowsCfgOfWorksheet.set(t,(n=e.rowsCfg)==null?{}:n),this.headerStyleOfWorksheet.set(t,(r=e.headerStyle)==null?{}:r)}else{var i,a;this.rowsCfg=(i=e.rowsCfg)==null?{}:i,this.headerStyle=(a=e.headerStyle)==null?{}:a}}getRowsCfg(e){var t;let n=(t=this.rowsCfgOfWorksheet.get(e))==null?{}:t;return{...this.rowsCfg,...n}}getHeaderStyle(e){var t;let n=(t=this.headerStyleOfWorksheet.get(e))==null?{}:t;return{...Bs,...this.headerStyle,...n}}getCfgOfCurrentRow(e,t,n){let r,i;e[n]?(typeof e[n]==`string`&&(e[n]={text:e[n]}),i=e[n],r={...t,...i}):r={...t,text:`${n+1}`};let a=Object.keys(i||{}).length>1;return[r,a]}setStyleToCtx(e,t){t.textAlign&&(e.textAlign=t.textAlign),t.textBaseline&&(e.textBaseline=t.textBaseline),t.fontColor&&(e.fillStyle=t.fontColor),t.borderColor&&(e.strokeStyle=t.borderColor),t.fontSize&&(e.font=`${t.fontSize}px ${y}`)}draw(e,t,n){let{rowColumnSegment:r,rowHeaderWidth:i=0}=n,{startRow:a,endRow:o}=r;if(!n||i===0)return;let{rowHeightAccumulation:s,columnTotalWidth:c,columnWidthAccumulation:l,rowTotalHeight:u,worksheet:d}=n;if(!s||!l||c===void 0||u===void 0)return;let f=this.getRowsCfg(d.getSheetId()),p=this.getHeaderStyle(d.getSheetId()),m=this._getScale(t);this.setStyleToCtx(e,p),e.save(),e.fillStyle=p.backgroundColor,e.fillRectByPrecision(0,0,i,u),e.restore(),e.setLineWidthByPrecision(1),e.translateWithPrecisionRatio(j,j);let h=0,g=s.length;for(let t=a-1;t<=o;t++){if(t<0||t>g-1)continue;let n=s[t];if(h===n)continue;let r={left:0,top:h,right:i,bottom:n,width:i,height:n-h},[a,o]=this.getCfgOfCurrentRow(f,p,t);o&&a.backgroundColor&&(e.save(),e.fillStyle=a.backgroundColor,e.fillRectByPrecision(r.left,r.top,r.width,r.height),e.restore()),e.beginPath(),e.moveToByPrecision(r.left,r.bottom),e.lineToByPrecision(r.right,r.bottom),e.stroke();let c=(()=>{switch(a.textAlign){case`center`:return r.left+(r.right-r.left)/2;case`right`:return r.right-1;case`left`:return r.left+1;default:return r.left+(r.right-r.left)/2}})(),l=h+(n-h)/2+1;o&&(e.save(),e.beginPath(),this.setStyleToCtx(e,a),e.rectByPrecision(r.left,r.top,r.width,r.height),e.clip()),e.fillText(a.text,c,l),o&&e.restore(),h=n}let _=i-.5/m;e.beginPath(),e.moveToByPrecision(_,0),e.lineToByPrecision(_,u),e.stroke()}};gn.add(new Vs);var Hs=class extends bn{getDocuments(){throw Error(`Method not implemented.`)}getNoMergeCellPositionByIndex(e,t){throw Error(`Method not implemented.`)}getSelectionBounding(e,t,n,r){throw Error(`Method not implemented.`)}constructor(e,t){super(e,t),U(this,`_rowHeaderLayoutExtension`,void 0),this._initialDefaultExtension(),this.makeDirty(!0)}get rowHeaderLayoutExtension(){return this._rowHeaderLayoutExtension}draw(e,t){let n=this.getSkeleton();if(!n)return;let r=this.getParentScale();n.updateVisibleRange(t);let i=n.rowColumnSegment;if(!i||i.startRow===-1&&i.endRow===-1)return;let{columnHeaderHeight:a}=n;e.translateWithPrecision(0,a);let o=this.getExtensionsByOrder();for(let t of o)t.draw(e,r,n)}isHit(e){let t=this.getInverseCoord(e),n=this.getSkeleton();if(!n)return!1;let{rowHeaderWidth:r,columnHeaderHeight:i}=n;return t.x>=0&&t.x<=r&&t.y>i}_initialDefaultExtension(){gn.getData().forEach(e=>{this.register(e)}),this._rowHeaderLayoutExtension=this.getExtensionByKey(`DefaultRowHeaderLayoutExtension`)}setCustomHeader(e,t){this.makeDirty(!0),this._rowHeaderLayoutExtension.configHeaderRow(e,t)}},Us=class extends pn{constructor(e,t,n){super(e),this._skeleton=t,U(this,`pageMarginLeft`,0),U(this,`pageMarginTop`,0),U(this,`pageLayoutType`,mt.VERTICAL),this._setConfig(n)}getSkeleton(){return this._skeleton}setSkeleton(e){this._skeleton=e}_setConfig(e){(e==null?void 0:e.pageMarginLeft)==null?this.pageMarginLeft=17:this.pageMarginLeft=e==null?void 0:e.pageMarginLeft,(e==null?void 0:e.pageMarginTop)==null?this.pageMarginTop=14:this.pageMarginTop=e==null?void 0:e.pageMarginTop,(e==null?void 0:e.pageLayoutType)==null?this.pageLayoutType=mt.VERTICAL:this.pageLayoutType=e==null?void 0:e.pageLayoutType}render(e,t){if(!this.visible)return this.makeDirty(!1),this;if(!this._skeleton)return;let n=this.transform.getMatrix();e.save(),e.transform(n[0],n[1],n[2],n[3],n[4],n[5]),this._draw(e,t),e.restore()}getParentScale(){if(!this.parent)return{scaleX:1,scaleY:1};let{scaleX:e=1,scaleY:t=1}=this.parent;return this.parent.classType===O.SCENE&&(e=this.parent.ancestorScaleX||1,t=this.parent.ancestorScaleY||1),{scaleX:e,scaleY:t}}isSkipByDiffBounds(e,t,n,r){if(r==null)return!1;let{pageWidth:i,pageHeight:a,marginBottom:o,marginTop:s,marginLeft:c,marginRight:l}=e,u=n+i+c+l,d=t+a+o+s,{left:f,top:p,right:m,bottom:h}=r.viewBound;return u<f||d<p||n>m&&i!==1/0||t>h&&a!==1/0}};let Ws=function(e){return e[e.SPAN=0]=`SPAN`,e[e.LINE=1]=`LINE`,e}({});var Gs=class extends mn{constructor(...e){super(...e),U(this,`type`,Ws.SPAN),U(this,`translateX`,0),U(this,`translateY`,0)}},Ks=class extends Gs{constructor(...e){super(...e),U(this,`uKey`,`DefaultDocsBackgroundExtension`),U(this,`Z_INDEX`,10),U(this,`_preBackgroundColor`,``)}draw(e,t,n){var r;let i=(r=n.parent)==null?void 0:r.parent;if(i==null)return;let{contentHeight:a=0}=i,{ts:o,width:s,content:c}=n;if((o==null?void 0:o.bg)==null)return;let{bg:u}=o,d=(0,l.getColorStyle)(u),{spanStartPoint:f=K.create(0,0)}=this.extensionOffset;d&&c!==`\r`&&(e.fillStyle=d,e.fillRect(f.x-.5,f.y+1,s+1,a+2))}clearCache(){this._preBackgroundColor=``}};vn.add(new Ks);var qs=class extends Gs{constructor(...e){super(...e),U(this,`uKey`,`DefaultDocsBorderExtension`),U(this,`Z_INDEX`,50),U(this,`_preBorderStyle`,void 0),U(this,`_preBorderColor`,``)}draw(e,t,n){var r;let i=(r=n.parent)==null?void 0:r.parent;if(!i)return;let{asc:a=0,lineHeight:o=0}=i,{ts:s,left:c,width:u}=n;if(!s)return;let{bd:d}=s;if(!d)return;let f=this._getScale(e.getScale()),p=this._createBorderCache(d);e.save(),e.translateWithPrecisionRatio(j,j);let{spanStartPoint:m=K.create(0,0)}=this.extensionOffset;for(let t of p.keys()){let n=p.get(t);if(!n)continue;let{s:r,cl:i}=n,a=(0,l.getColorStyle)(i)||`rgb(0,0,0)`,s=jt(r);r!==this._preBorderStyle&&(Ot(e,r),e.setLineWidthByPrecision(s),this._preBorderStyle=r),a!==this._preBorderColor&&(e.strokeStyle=a||`rgb(0,0,0)`,this._preBorderColor=a),Ct(e,t,(s-1)/2/f,{startX:m.x,startY:m.y,endX:m.x+u,endY:m.y+o})}e.restore()}clearCache(){this._preBorderStyle=null,this._preBorderColor=``}_createBorderCache(e){let{t,b:n,l:r,r:i}=e,a=new Map;return t&&a.set(E.TOP,t),n&&a.set(E.BOTTOM,n),r&&a.set(E.LEFT,r),i&&a.set(E.RIGHT,i),a}};vn.add(new qs);const Js=[`checked`];var Ys=class e extends br{constructor(e,t){super(e,t),U(this,`_checked`,!1),l.Tools.isDefine(t.checked)&&(this._checked=t.checked)}get checked(){return this._checked}static drawWith(e,t){let{width:n=16,height:r=16,fill:i,checked:a,top:o=0,left:s=0}=t,c=new Path2D(`M12 2.65381H4C3.17157 2.65381 2.5 3.32538 2.5 4.15381V12.1538C2.5 12.9822 3.17157 13.6538 4 13.6538H12C12.8284 13.6538 13.5 12.9822 13.5 12.1538V4.15381C13.5 3.32538 12.8284 2.65381 12 2.65381ZM4 1.65381C2.61929 1.65381 1.5 2.7731 1.5 4.15381V12.1538C1.5 13.5345 2.61929 14.6538 4 14.6538H12C13.3807 14.6538 14.5 13.5345 14.5 12.1538V4.15381C14.5 2.7731 13.3807 1.65381 12 1.65381H4Z`),l=new Path2D(`M3.99243 1.65381C2.61172 1.65381 1.49243 2.77295 1.49243 4.15381V12.1538C1.49243 13.5347 2.61172 14.6538 3.99243 14.6538H11.9924C13.3731 14.6538 14.4924 13.5347 14.4924 12.1538V4.15381C14.4924 2.77295 13.3731 1.65381 11.9924 1.65381H3.99243ZM12.3779 6.3623C12.6317 6.1084 12.6317 5.69678 12.3779 5.44287C12.1241 5.18896 11.7125 5.18896 11.4586 5.44287L7.21062 9.69092L5.00681 7.4873C4.75296 7.2334 4.3414 7.2334 4.08755 7.4873C3.83372 7.74072 3.83372 8.15234 4.08757 8.40625L6.85709 11.1758C7.05234 11.3711 7.36893 11.3711 7.56418 11.1758L12.3779 6.3623Z`);e.save(),e.translate(s,o),e.scale(n/16,r/16),i&&(e.fillStyle=i),a?e.fill(l,`evenodd`):e.fill(c,`evenodd`),e.restore()}_draw(t){e.drawWith(t,this)}toJson(){let e={};return Js.forEach(t=>{this[t]&&(e[t]=this[t])}),{...super.toJson(),...e}}};const Xs=[`radius`];var Zs=class e extends br{constructor(e,t){super(e,t),U(this,`_radius`,void 0),U(this,`objectType`,nn.CIRCLE),this._radius=(t==null?void 0:t.radius)||10,this._setFixBoundingBox(),this.onTransformChange$.subscribeEvent(e=>{let{type:t,value:n,preValue:r}=e;if(t===J.resize||t===J.all){let e=Math.min(this.width,this.height);this._radius=e/2,this.width=e,this.height=e,this._setTransForm()}})}get radius(){return this._radius}static drawWith(e,t){var n;let{radius:r}=t;r=(n=r)==null?10:n,e.beginPath(),t.strokeDashArray&&e.setLineDash(t.strokeDashArray),e.beginPath(),e.arc(r,r,r||0,0,Math.PI*2,!1),e.closePath(),this._renderPaintInOrder(e,t)}toJson(){let e={};return Xs.forEach(t=>{this[t]&&(e[t]=this[t])}),{...super.toJson(),...e}}_draw(t){e.drawWith(t,this)}_setFixBoundingBox(){this.transformByState({width:this._radius*2,height:this._radius*2})}},Qs=class{};const $s=[`radius`];var ec=class e extends br{constructor(e,t){super(e,t),U(this,`objectType`,nn.RECT),U(this,`_radius`,0),U(this,`_opacity`,1),U(this,`_visualHeight`,void 0),U(this,`_visualWidth`,void 0),t!=null&&t.radius&&(this._radius=t.radius),t!=null&&t.visualHeight&&(this._visualHeight=t.visualHeight),t!=null&&t.visualWidth&&(this._visualWidth=t.visualWidth)}get visualHeight(){return this._visualHeight}get visualWidth(){return this._visualWidth}get radius(){return this._radius}get opacity(){return this._opacity}setObjectType(e){this.objectType=e}setOpacity(e){this._opacity=e}static drawWith(e,t){var n,r,i;let{radius:a,width:o,height:s}=t;if(a=(n=a)==null?0:n,o=(r=o)==null?0:r,s=(i=s)==null?0:i,e.save(),e.beginPath(),t.strokeDashArray&&e.setLineDash(t.strokeDashArray),t.visualHeight&&(e.translate(0,(s-(t.visualHeight||0))/2),s=t.visualHeight),t.visualWidth&&(e.translate((o-(t.visualWidth||0))/2,0),o=t.visualWidth),!a)e.rect(0,0,o,s);else{let t=0,n=0,r=0,i=0;t=n=r=i=Math.min(a,o/2,s/2),e.moveTo(t,0),e.lineTo(o-n,0),e.arc(o-n,n,n,Math.PI*3/2,0,!1),e.lineTo(o,s-i),e.arc(o-i,s-i,i,0,Math.PI/2,!1),e.lineTo(r,s),e.arc(r,s-r,r,Math.PI/2,Math.PI,!1),e.lineTo(0,t),e.arc(t,t,t,Math.PI,Math.PI*3/2,!1)}e.closePath(),this._renderPaintInOrder(e,t),e.restore()}toJson(){let e={};return $s.forEach(t=>{this[t]&&(e[t]=this[t])}),{...super.toJson(),...e}}_draw(t){e.drawWith(t,this)}},tc=class e extends ec{static drawWith(e,t){var n,r,i,a,o;let{radius:s,left:c,top:l,width:u,height:d}=t;if(s=(n=s)==null?0:n,u=(r=u)==null?0:r,d=(i=d)==null?0:i,c=(a=c)==null?0:a,l=(o=l)==null?0:o,e.beginPath(),e.setLineDash(t.strokeDashArray),!s)e.rect(c,l,u,d);else{let t=0,n=0,r=0,i=0;t=n=r=i=Math.min(s,u/2,d/2),e.moveTo(t,0),e.lineTo(u-n,0),e.arc(u-n,n,n,Math.PI*3/2,0,!1),e.lineTo(u,d-i),e.arc(u-i,d-i,i,0,Math.PI/2,!1),e.lineTo(r,d),e.arc(r,d-r,r,Math.PI/2,Math.PI,!1),e.lineTo(0,t),e.arc(t,t,t,Math.PI,Math.PI*3/2,!1)}e.closePath(),this._renderPaintInOrder(e,t)}_draw(t,n){let{radius:r,paintFirst:i,stroke:a,strokeWidth:o,fill:s,strokeScaleEnabled:c,fillRule:u,strokeLineCap:d,strokeDashOffset:f,strokeLineJoin:p,strokeMiterLimit:m,strokeDashArray:h}=this,g=this.getParent().transform,_=g.getMatrix()[4],v=g.getMatrix()[5],y={left:_,top:v,right:_+this.width,bottom:v+this.height},{left:b,top:x,right:S,bottom:C}=y,w=S-b,T=C-x;if(n){let e=l.Rectangle.getIntersectionBetweenTwoRect(y,n.cacheBound);e&&(b=e.left-_,x=e.top-v,S=e.right,C=e.bottom,w=e.width,T=e.height)}e.drawWith(t,{radius:r,paintFirst:i,stroke:a,strokeWidth:o,fill:s,strokeScaleEnabled:c,fillRule:u,strokeLineCap:d,strokeDashOffset:f,strokeLineJoin:p,strokeMiterLimit:m,strokeDashArray:h,width:w,height:T,left:b,top:x})}},nc=class{},rc=class extends br{constructor(e,t){super(e,t),U(this,`_props`,void 0),U(this,`_native`,void 0),U(this,`_renderByCropper`,!1),U(this,`_transformCalculateSrcRect`,!0),U(this,`objectType`,nn.IMAGE),U(this,`isDrawingObject`,!0),this._props={...t},t.image?(this._native=t.image,this._native.crossOrigin=`anonymous`,this.makeDirty(!0)):t.url&&(this._native=document.createElement(`img`),this._native.src=t.url,this._native.crossOrigin=`anonymous`,this._native.onload=()=>{var n,r;(n=t.success)==null||n.call(t),this.makeDirty(!0),(r=this.getEngine())==null||(r=r.activeScene)==null||r.onFileLoaded$.emitEvent(e)},this._native.onerror=()=>{t.fail?t.fail():(this._native.src=`data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTMwNC4xMjggNDU2LjE5MmM0OC42NCAwIDg4LjA2NC0zOS40MjQgODguMDY0LTg4LjA2NHMtMzkuNDI0LTg4LjA2NC04OC4wNjQtODguMDY0LTg4LjA2NCAzOS40MjQtODguMDY0IDg4LjA2NCAzOS40MjQgODguMDY0IDg4LjA2NCA4OC4wNjR6bTAtMTE2LjIyNGMxNS4zNiAwIDI4LjE2IDEyLjI4OCAyOC4xNiAyOC4xNnMtMTIuMjg4IDI4LjE2LTI4LjE2IDI4LjE2LTI4LjE2LTEyLjI4OC0yOC4xNi0yOC4xNiAxMi4yODgtMjguMTYgMjguMTYtMjguMTZ6IiBmaWxsPSIjZTZlNmU2Ii8+PHBhdGggZD0iTTg4Ny4yOTYgMTU5Ljc0NEgxMzYuNzA0Qzk2Ljc2OCAxNTkuNzQ0IDY0IDE5MiA2NCAyMzIuNDQ4djU1OS4xMDRjMCAzOS45MzYgMzIuMjU2IDcyLjcwNCA3Mi43MDQgNzIuNzA0aDE5OC4xNDRMNTAwLjIyNCA2ODguNjRsLTM2LjM1Mi0yMjIuNzIgMTYyLjMwNC0xMzAuNTYtNjEuNDQgMTQzLjg3MiA5Mi42NzIgMjE0LjAxNi0xMDUuNDcyIDE3MS4wMDhoMzM1LjM2QzkyNy4yMzIgODY0LjI1NiA5NjAgODMyIDk2MCA3OTEuNTUyVjIzMi40NDhjMC0zOS45MzYtMzIuMjU2LTcyLjcwNC03Mi43MDQtNzIuNzA0em0tMTM4Ljc1MiA3MS42OHYuNTEySDg1Ny42YzE2LjM4NCAwIDMwLjIwOCAxMy4zMTIgMzAuMjA4IDMwLjIwOHYzOTkuODcyTDY3My4yOCA0MDguMDY0bDc1LjI2NC0xNzYuNjR6TTMwNC42NCA3OTIuMDY0SDE2NS44ODhjLTE2LjM4NCAwLTMwLjIwOC0xMy4zMTItMzAuMjA4LTMwLjIwOHYtOS43MjhsMTM4Ljc1Mi0xNjQuMzUyIDEwNC45NiAxMjQuNDE2LTc0Ljc1MiA3OS44NzJ6bTgxLjkyLTM1NS44NGwzNy4zNzYgMjI4Ljg2NC0uNTEyLjUxMi0xNDIuODQ4LTE2OS45ODRjLTMuMDcyLTMuNTg0LTkuMjE2LTMuNTg0LTEyLjI4OCAwTDEzNS42OCA2NTIuOFYyNjIuMTQ0YzAtMTYuMzg0IDEzLjMxMi0zMC4yMDggMzAuMjA4LTMwLjIwOGg0NzQuNjI0TDM4Ni41NiA0MzYuMjI0em01MDEuMjQ4IDMyNS42MzJjMCAxNi44OTYtMTMuMzEyIDMwLjIwOC0yOS42OTYgMzAuMjA4SDY4MC45Nmw1Ny4zNDQtOTMuMTg0LTg3LjU1Mi0yMDIuMjQgNy4xNjgtNy42OCAyMjkuODg4IDI3Mi44OTZ6IiBmaWxsPSIjZTZlNmU2Ii8+PC9zdmc+`,this.makeDirty(!0))}),this._init()}get srcRect(){return this._props.srcRect}get prstGeom(){return this._props.prstGeom}get opacity(){var e;return(e=this._props.opacity)==null?1:e}setOpacity(e){this._props.opacity=e,this.makeDirty(!0)}get classType(){return O.IMAGE}transformByStateCloseCropper(e){this._transformCalculateSrcRect=!1,this.transformByState(e),this._transformCalculateSrcRect=!0}changeSource(e){this._native==null&&(this._native=document.createElement(`img`)),this._native.src=e,this._native.onload=()=>{this.makeDirty(!0)}}resetSize(){this._native!=null&&(this.transformByState({width:this._native.width,height:this._native.height}),this.setSrcRect(null))}setPrstGeom(e){this._props.prstGeom=e}setSrcRect(e){this._props.srcRect=e,this.makeDirty(!0)}getProps(){return this._props}getNative(){return this._native}getNativeSize(){return this._native==null?{width:this.width,height:this.height}:{width:this._native.width,height:this._native.height}}closeRenderByCropper(){this._renderByCropper=!1}openRenderByCropper(){this._renderByCropper=!0,this._transformBySrcRect()}calculateTransformWithSrcRect(){let{left:e,top:t,width:n,height:r}=this;if(this.srcRect==null)return{left:e,top:t,width:n,height:r,angle:this.angle};let{left:i=0,top:a=0,right:o=0,bottom:s=0}=this.srcRect;return{left:e-i,top:t-a,width:n+o+i,height:r+s+a,angle:this.angle}}_transformBySrcRect(){if(this.srcRect==null)return;let{left:e=0,top:t=0,right:n=0,bottom:r=0}=this.srcRect,{width:i,height:a}=this,{left:o,top:s,width:c,height:l}=this.calculateTransformWithSrcRect();if(this.angle!==0){let n=(i+this.strokeWidth)/2,r=(a+this.strokeWidth)/2,u=c/2-e,d=l/2-t,f=It(new K(n,r),this.angle,new K(o,s),new K(u,d));o=f.x,s=f.y}this.transformByState({left:o,top:s,width:c,height:l})}render(e,t){if(!this.visible)return this.makeDirty(!1),this;if(!this.transform)return this;let{width:n,height:r,left:i,top:a}=this,o=this.getRealBound();if(n=o.width,r=o.height,i=o.left,a=o.top,this.isRender(t)){let{top:e,left:o,bottom:s,right:c}=t.viewBound;if(n+this.strokeWidth+i<o||c<i||r+this.strokeWidth+a<e||s<a)return this}let s=this.transform.getMatrix();e.save();let c=i+n/2,l=a+r/2;return e.transform(s[0],s[1],s[2],s[3],c,l),this.opacity!==1&&(e.globalAlpha=this.opacity),this._draw(e,void 0,n,r),e.restore(),this.makeDirty(!1),this}_draw(e,t,n,r){if(this._native==null)return;let i=n==null?this.width:n,a=r==null?this.height:r;if(!this._renderByCropper&&this.srcRect){let{left:t=0,top:n=0,right:r=0,bottom:o=0}=this.srcRect;e.beginPath(),e.rect(-i/2,-a/2,i,a),e.clip(),e.drawImage(this._native,-t-i/2,-n-a/2,i+r+t,a+o+n)}else e.drawImage(this._native,-i/2,-a/2,i,a)}_init(){this.onTransformChange$.subscribeEvent(e=>{this._updateSrcRectByTransform(e)})}_updateSrcRectByTransform(e){if(this.srcRect==null||!this._transformCalculateSrcRect)return;let{width:t,height:n,left:r,top:i,angle:a}=this,{width:o=0,height:s=0,left:c=0,top:l=0,angle:u}=e.preValue,{left:d=0,top:f=0,right:p=0,bottom:m=0}=this.srcRect,h=d,g=f,_=p,v=m,y=!1;if(o!==0&&o!==t){let e=d/o,n=p/o;h=t*e,_=t*n,y=!0}if(s!==0&&s!==n){let e=f/s,t=m/s;g=n*e,v=n*t,y=!0}y&&this.setSrcRect({left:h,top:g,right:_,bottom:v})}set transform(e){this._transform=e}get transform(){this._transform||this._setTransForm();let e=this._transform.clone();return this.transformForAngle(e)}isHit(e){let{left:t,top:n,width:r,height:i}=this.getRealBound(),a=t+r/2,o=n+i/2,s=this.transform.getMatrix(),c=new Y([s[0],s[1],s[2],s[3],a,o]),l=this.getParent(),u=(this.isInGroup&&(l==null?void 0:l.classType)===O.GROUP?l.ancestorTransform.multiply(c):c).invert().applyPoint(e),d=r/2,f=i/2;return u.x>=-d-this.strokeWidth/2&&u.x<=d+this.strokeWidth/2&&u.y>=-f-this.strokeWidth/2&&u.y<=f+this.strokeWidth/2}};const ic=[`dataArray`];var ac=class e extends br{constructor(t,n){super(t,n),U(this,`_dataArray`,[]),U(this,`_pathLength`,0),U(this,`_selfRectCache`,{left:0,top:0,width:0,height:0}),U(this,`_reCalculateCache`,!0),n!=null&&n.data?this._dataArray=e.parsePathData(n.data):n!=null&&n.dataArray&&(this._dataArray=n.dataArray);for(let e=0;e<this.dataArray.length;++e)this._pathLength+=this.dataArray[e].pathLength;this._setFixBoundingBox(),this.onTransformChange$.subscribeEvent(e=>{let{type:t,preValue:n}=e;if(t===J.resize||t===J.all){this._reCalculateCache=!0;let{left:e,top:t,width:r,height:i}=this._getSelfRect(),{width:a,height:o}=n,s,c;s=a?this.width-a:0,c=o?this.height-o:0;let l=s/r,u=c/i;this.scaleX+=l,this.scaleY+=u,this.left-=e*l,this.top-=t*u,this._setTransForm()}})}get dataArray(){return this._dataArray}static drawWith(e,t){let n=t.dataArray;if(n){e.beginPath();for(let t=0;t<n.length;t++){let r=n[t].command,i=n[t].points;switch(r){case`L`:e.lineTo(i[0],i[1]);break;case`M`:e.moveTo(i[0],i[1]);break;case`C`:e.bezierCurveTo(i[0],i[1],i[2],i[3],i[4],i[5]);break;case`Q`:e.quadraticCurveTo(i[0],i[1],i[2],i[3]);break;case`A`:{let t=i[0],n=i[1],r=i[2],a=i[3],o=i[4],s=i[5],c=i[6],l=i[7],u=r>a?r:a,d=r>a?1:r/a,f=r>a?a/r:1;e.translate(t,n),e.rotate(c),e.scale(d,f),e.arc(0,0,u,o,o+s,!!(1-l)),e.scale(1/d,1/f),e.rotate(-c),e.translate(-t,-n);break}case`z`:e.closePath();break}}this._renderPaintInOrder(e,t)}}static getLineLength(e,t,n,r){return Math.sqrt((n-e)*(n-e)+(r-t)*(r-t))}static getPointOnLine(e,t,n,r,i,a,o){a===void 0&&(a=t),o===void 0&&(o=n);let s=(i-n)/(r-t+1e-8),c=Math.sqrt(e*e/(1+s*s));r<t&&(c*=-1);let l=s*c,u;if(r===t)u={x:a,y:o+l};else if((o-n)/(a-t+1e-8)===s)u={x:a+c,y:o+l};else{let d=this.getLineLength(t,n,r,i),f=(a-t)*(r-t)+(o-n)*(i-n);f/=d*d;let p=t+f*(r-t),m=n+f*(i-n),h=this.getLineLength(a,o,p,m),g=Math.sqrt(e*e-h*h);c=Math.sqrt(g*g/(1+s*s)),r<t&&(c*=-1),l=s*c,u={x:p+c,y:m+l}}return u}static getPointOnCubicBezier(e,t,n,r,i,a,o,s,c){function l(e){return e*e*e}function u(e){return 3*e*e*(1-e)}function d(e){return 3*e*(1-e)*(1-e)}function f(e){return(1-e)*(1-e)*(1-e)}return{x:s*l(e)+a*u(e)+r*d(e)+t*f(e),y:c*l(e)+o*u(e)+i*d(e)+n*f(e)}}static getPointOnQuadraticBezier(e,t,n,r,i,a,o){function s(e){return e*e}function c(e){return 2*e*(1-e)}function l(e){return(1-e)*(1-e)}return{x:a*s(e)+r*c(e)+t*l(e),y:o*s(e)+i*c(e)+n*l(e)}}static getPointOnEllipticalArc(e,t,n,r,i,a){let o=Math.cos(a),s=Math.sin(a),c={x:n*Math.cos(i),y:r*Math.sin(i)};return{x:e+(c.x*o-c.y*s),y:t+(c.x*s+c.y*o)}}static parsePathData(e){if(!e)return[];let t=e,n=[`m`,`M`,`l`,`L`,`v`,`V`,`h`,`H`,`z`,`Z`,`c`,`C`,`q`,`Q`,`t`,`T`,`s`,`S`,`a`,`A`];t=t.replace(RegExp(` `,`g`),`,`);for(let e=0,r=n.length;e<r;e++)t=t.replace(new RegExp(n[e],`g`),`|${n[e]}`);let r=t.split(`|`),i=[],a=[],o=0,s=0,c=/([-+]?((\d+\.\d+)|((\d+)|(\.\d+)))(?:e[-+]?\d+)?)/gi,l;for(let e=1,t=r.length;e<t;e++){let t=r[e],n=t.charAt(0);for(t=t.slice(1),a.length=0;l=c.exec(t);)a.push(l[0]);let u=[];for(let e=0,t=a.length;e<t;e++){if(a[e]===`00`){u.push(0,0);continue}let t=Number.parseFloat(a[e]);isNaN(t)?u.push(0):u.push(t)}for(;u.length>0&&!isNaN(u[0]);){let e,t=[],r=o,a=s,c,l,d,f,p,m,h,g,_,v;switch(n){case`l`:o+=u.shift()||0,s+=u.shift()||0,e=`L`,t.push(o,s);break;case`L`:o=u.shift()||0,s=u.shift()||0,t.push(o,s);break;case`m`:{let r=u.shift()||0,a=u.shift()||0;if(o+=r,s+=a,e=`M`,i.length>2&&i[i.length-1].command===`z`){for(let e=i.length-2;e>=0;e--)if(i[e].command===`M`){o=i[e].points[0]+r,s=i[e].points[1]+a;break}}t.push(o,s),n=`l`;break}case`M`:o=u.shift()||0,s=u.shift()||0,e=`M`,t.push(o,s),n=`L`;break;case`h`:o+=u.shift()||0,e=`L`,t.push(o,s);break;case`H`:o=u.shift()||0,e=`L`,t.push(o,s);break;case`v`:s+=u.shift()||0,e=`L`,t.push(o,s);break;case`V`:s=u.shift()||0,e=`L`,t.push(o,s);break;case`C`:t.push(u.shift()||0,u.shift()||0,u.shift()||0,u.shift()||0),o=u.shift()||0,s=u.shift()||0,t.push(o,s);break;case`c`:t.push(o+(u.shift()||0),s+(u.shift()||0),o+(u.shift()||0),s+(u.shift()||0)),o+=u.shift()||0,s+=u.shift()||0,e=`C`,t.push(o,s);break;case`S`:l=o,d=s,c=i[i.length-1],c.command===`C`&&(l=o+(o-c.points[2]),d=s+(s-c.points[3])),t.push(l,d,u.shift()||0,u.shift()||0),o=u.shift()||0,s=u.shift()||0,e=`C`,t.push(o,s);break;case`s`:l=o,d=s,c=i[i.length-1],c.command===`C`&&(l=o+(o-c.points[2]),d=s+(s-c.points[3])),t.push(l,d,o+(u.shift()||0),s+(u.shift()||0)),o+=u.shift()||0,s+=u.shift()||0,e=`C`,t.push(o,s);break;case`Q`:t.push(u.shift()||0,u.shift()||0),o=u.shift()||0,s=u.shift()||0,t.push(o,s);break;case`q`:t.push(o+(u.shift()||0),s+(u.shift()||0)),o+=u.shift()||0,s+=u.shift()||0,e=`Q`,t.push(o,s);break;case`T`:l=o,d=s,c=i[i.length-1],c.command===`Q`&&(l=o+(o-c.points[0]),d=s+(s-c.points[1])),o=u.shift()||0,s=u.shift()||0,e=`Q`,t.push(l,d,o,s);break;case`t`:l=o,d=s,c=i[i.length-1],c.command===`Q`&&(l=o+(o-c.points[0]),d=s+(s-c.points[1])),o+=u.shift()||0,s+=u.shift()||0,e=`Q`,t.push(l,d,o,s);break;case`A`:f=u.shift()||0,p=u.shift()||0,m=u.shift()||0,h=u.shift()||0,g=u.shift()||0,_=o,v=s,o=u.shift()||0,s=u.shift()||0,e=`A`,t=this.convertEndpointToCenterParameterization(_,v,o,s,h,g,f,p,m);break;case`a`:f=u.shift()||0,p=u.shift()||0,m=u.shift()||0,h=u.shift()||0,g=u.shift()||0,_=o,v=s,o+=u.shift()||0,s+=u.shift()||0,e=`A`,t=this.convertEndpointToCenterParameterization(_,v,o,s,h,g,f,p,m);break}i.push({command:e||n,points:t,start:{x:r,y:a},pathLength:this.calcLength(r,a,e||n,t)})}(n===`z`||n===`Z`)&&i.push({command:`z`,points:[],start:{x:0,y:0},pathLength:0})}return i}static calcLength(t,n,r,i){let a,o,s,c,l=e;switch(r){case`L`:return l.getLineLength(t,n,i[0],i[1]);case`C`:for(a=0,o=l.getPointOnCubicBezier(0,t,n,i[0],i[1],i[2],i[3],i[4],i[5]),c=.01;c<=1;c+=.01)s=l.getPointOnCubicBezier(c,t,n,i[0],i[1],i[2],i[3],i[4],i[5]),a+=l.getLineLength(o.x,o.y,s.x,s.y),o=s;return a;case`Q`:for(a=0,o=l.getPointOnQuadraticBezier(0,t,n,i[0],i[1],i[2],i[3]),c=.01;c<=1;c+=.01)s=l.getPointOnQuadraticBezier(c,t,n,i[0],i[1],i[2],i[3]),a+=l.getLineLength(o.x,o.y,s.x,s.y),o=s;return a;case`A`:{a=0;let e=i[4],t=i[5],n=i[4]+t,r=Math.PI/180;if(Math.abs(e-n)<r&&(r=Math.abs(e-n)),o=l.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],e,0),t<0)for(c=e-r;c>n;c-=r)s=l.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],c,0),a+=l.getLineLength(o.x,o.y,s.x,s.y),o=s;else for(c=e+r;c<n;c+=r)s=l.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],c,0),a+=l.getLineLength(o.x,o.y,s.x,s.y),o=s;return s=l.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],n,0),a+=l.getLineLength(o.x,o.y,s.x,s.y),a}}return 0}static convertEndpointToCenterParameterization(e,t,n,r,i,a,o,s,c){let l=c*(Math.PI/180),u=Math.cos(l)*(e-n)/2+Math.sin(l)*(t-r)/2,d=-1*Math.sin(l)*(e-n)/2+Math.cos(l)*(t-r)/2,f=u*u/(o*o)+d*d/(s*s);f>1&&(o*=Math.sqrt(f),s*=Math.sqrt(f));let p=Math.sqrt((o*o*(s*s)-o*o*(d*d)-s*s*(u*u))/(o*o*(d*d)+s*s*(u*u)));i===a&&(p*=-1),isNaN(p)&&(p=0);let m=p*o*d/s,h=p*-s*u/o,g=(e+n)/2+Math.cos(l)*m-Math.sin(l)*h,_=(t+r)/2+Math.sin(l)*m+Math.cos(l)*h,v=e=>Math.sqrt(e[0]*e[0]+e[1]*e[1]),y=(e,t)=>(e[0]*t[0]+e[1]*t[1])/(v(e)*v(t)),b=(e,t)=>(e[0]*t[1]<e[1]*t[0]?-1:1)*Math.acos(y(e,t)),x=b([1,0],[(u-m)/o,(d-h)/s]),S=[(u-m)/o,(d-h)/s],C=[(-1*u-m)/o,(-1*d-h)/s],w=b(S,C);return y(S,C)<=-1&&(w=Math.PI),y(S,C)>=1&&(w=0),a===0&&w>0&&(w-=2*Math.PI),a===1&&w<0&&(w+=2*Math.PI),[g,_,o,s,x,w,l,a]}toJson(){let e={};return ic.forEach(t=>{this[t]&&(e[t]=this[t])}),{...super.toJson(),...e}}getState(){let{left:e,top:t,width:n,height:r}=this.getRect();return{left:e,top:t,width:n,height:r,scaleX:this.scaleX,scaleY:this.scaleY,angle:this.angle,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY}}getRect(){let{left:e,top:t,width:n,height:r}=this._getSelfRect();return{left:e*this.scaleX+this.left,top:t*this.scaleY+this.top,width:n*this.scaleX,height:r*this.scaleY}}getLength(){return this._pathLength}getPointAtLength(t){let n,r=0,i=this.dataArray.length;if(!i)return null;for(;r<i&&t>this.dataArray[r].pathLength;)t-=this.dataArray[r].pathLength,++r;if(r===i)return n=this.dataArray[r-1].points.slice(-2),{x:n[0],y:n[1]};if(t<.01)return n=this.dataArray[r].points.slice(0,2),{x:n[0],y:n[1]};let a=this.dataArray[r],o=a.points;switch(a.command){case`L`:return e.getPointOnLine(t,a.start.x,a.start.y,o[0],o[1]);case`C`:return e.getPointOnCubicBezier(t/a.pathLength,a.start.x,a.start.y,o[0],o[1],o[2],o[3],o[4],o[5]);case`Q`:return e.getPointOnQuadraticBezier(t/a.pathLength,a.start.x,a.start.y,o[0],o[1],o[2],o[3]);case`A`:{let n=o[0],r=o[1],i=o[2],s=o[3],c=o[4],l=o[5],u=o[6];return c+=l*t/a.pathLength,e.getPointOnEllipticalArc(n,r,i,s,c,u)}}return null}_draw(t){e.drawWith(t,this)}_setFixBoundingBox(){let{left:e,top:t,width:n,height:r}=this._getSelfRect(),i=this.width/n,a=this.height/r;this.left-=e*i,this.top-=t*a,this.scaleX=i,this.scaleY=a,this.width=n,this.height=r,this._setTransForm()}_getSelfRect(){if(!this._reCalculateCache)return this._selfRectCache;let t=[];this.dataArray.forEach(n=>{if(n.command===`A`){let r=n.points[4],i=n.points[5],a=n.points[4]+i,o=Math.PI/180;if(Math.abs(r-a)<o&&(o=Math.abs(r-a)),i<0)for(let i=r-o;i>a;i-=o){let r=e.getPointOnEllipticalArc(n.points[0],n.points[1],n.points[2],n.points[3],i,0);t.push(r.x,r.y)}else for(let i=r+o;i<a;i+=o){let r=e.getPointOnEllipticalArc(n.points[0],n.points[1],n.points[2],n.points[3],i,0);t.push(r.x,r.y)}}else if(n.command===`C`)for(let r=0;r<=1;r+=.01){let i=e.getPointOnCubicBezier(r,n.start.x,n.start.y,n.points[0],n.points[1],n.points[2],n.points[3],n.points[4],n.points[5]);t.push(i.x,i.y)}else t=t.concat(n.points)});let n=t[0],r=t[0],i=t[1],a=t[1],o,s;for(let e=0;e<t.length/2;e++)o=t[e*2],s=t[e*2+1],isNaN(o)||(n=Math.min(n,o),r=Math.max(r,o)),isNaN(s)||(i=Math.min(i,s),a=Math.max(a,s));let c={left:n,top:i,width:r-n,height:a-i};return this._selfRectCache=c,c}};const oc=[`pointsGroup`];var sc=class e extends br{constructor(e,t){super(e,t),U(this,`_pointsGroup`,void 0),this._pointsGroup=(t==null?void 0:t.pointsGroup)||[[]],this._setFixBoundingBox(),this.onTransformChange$.subscribeEvent(e=>{let{type:t,value:n,preValue:r}=e;(t===J.resize||t===J.all)&&this.resizePolygon(r)})}get pointsGroup(){return this._pointsGroup}static drawWith(e,t){var n;let{pointsGroup:r}=t;r=(n=r)==null?[[]]:n,t.strokeDashArray&&e.setLineDash(t.strokeDashArray),e.beginPath();for(let t of r){e.moveTo(t[0].x,t[0].y);for(let n=1;n<t.length;n++){let r=t[n];e.lineTo(r.x,r.y)}}e.closePath(),this._renderPaintInOrder(e,t)}isHit(e){let t=this.getInverseCoord(e);return!!(t.x>=-this.strokeWidth/2&&t.x<=this.width+this.strokeWidth/2&&t.y>=-this.strokeWidth/2&&t.y<=this.height+this.strokeWidth/2&&this._contains(t))}_contains(e){let t=!1;for(let n of this._pointsGroup){let r=0,i=n.length;for(let t=0;t<i;t++){let a=n[t],o=n[(t+1)%i];if(this._isOnLine(e,a,o))return!0;if(a.y>e.y!=o.y>e.y){let t=a.x+(e.y-a.y)*(o.x-a.x)/(o.y-a.y);e.x<t&&r++}}r%2!=0&&(t=!t)}return t}_isOnLine(e,t,n){return(t.x-e.x)*(n.y-e.y)-(n.x-e.x)*(t.y-e.y)===0?e.x>=Math.min(t.x,n.x)&&e.x<=Math.max(t.x,n.x)&&e.y>=Math.min(t.y,n.y)&&e.y<=Math.max(t.y,n.y):!1}updatePointGroup(e){this._pointsGroup=e,this._setFixBoundingBox()}resizePolygon(e){let{left:t,top:n,width:r,height:i}=this._getSelfRect(),{width:a,height:o}=e,s,c;s=a?this.width-a:0,c=o?this.height-o:0;let l=s/r,u=c/i;this.scaleX+=l,this.scaleY+=u,this.left-=t*l,this.top-=n*u,this._setTransForm()}toJson(){let e={};return oc.forEach(t=>{this[t]&&(e[t]=this[t])}),{...super.toJson(),...e}}getState(){let{left:e,top:t,width:n,height:r}=this.getRect();return{left:e,top:t,width:n,height:r,scaleX:this.scaleX,scaleY:this.scaleY,angle:this.angle,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY}}getRect(){let{left:e,top:t,width:n,height:r}=this._getSelfRect();return{left:e*this.scaleX+this.left,top:t*this.scaleY+this.top,width:n*this.scaleX,height:r*this.scaleY}}_draw(t){e.drawWith(t,this)}_setFixBoundingBox(){let{width:e,height:t,left:n,top:r}=this._getSelfRect();this.left+=n,this.top+=r,this.width=e,this.height=t;let i=this.pointsGroup;for(let e of i)for(let t of e)t.x-=n,t.y-=r;this._setTransForm()}_getSelfRect(){let e=this.pointsGroup,t=e[0][0].x,n=e[0][0].x,r=e[0][0].y,i=e[0][0].y;for(let a of e)for(let e of a)t=Math.min(t,e.x),n=Math.max(n,e.x),r=Math.min(r,e.y),i=Math.max(i,e.y);return{left:t,top:r,width:n-t,height:i-r}}};const cc=[`text`,`richText`,`fs`];var lc=class extends rn{constructor(e,t,n){super(t),this._localeService=e,U(this,`_documentData`,void 0),U(this,`_documentSkeleton`,void 0),U(this,`_documents`,void 0),U(this,`documentModel`,void 0),U(this,`_ff`,void 0),U(this,`_fs`,12),U(this,`_it`,l.BooleanNumber.FALSE),U(this,`_bl`,l.BooleanNumber.FALSE),U(this,`_ul`,{s:l.BooleanNumber.FALSE}),U(this,`_st`,{s:l.BooleanNumber.FALSE}),U(this,`_ol`,{s:l.BooleanNumber.FALSE}),U(this,`_bg`,void 0),U(this,`_bd`,void 0),U(this,`_cl`,void 0),U(this,`objectType`,nn.RICH_TEXT),n!=null&&n.richText?this._documentData=n.richText:n&&(this._fs=n.fs,this._ff=n.ff,this._it=n.it,this._bl=n.bl,this._ul=n.ul,this._st=n.st,this._ol=n.ol,this._bg=n.bg,this._bd=n.bd,this._cl=n.cl,this._documentData=this._convertToDocumentData(n.text||``));let r=this.documentModel=new l.DocumentDataModel(this._documentData),i=new Or(r);this._documentSkeleton=Cs.create(i,this._localeService),this._documents=new mc(`${this.oKey}_DOCUMENTS`,this._documentSkeleton,{pageMarginLeft:0,pageMarginTop:0}),this._initialProps(n),this.onTransformChange$.subscribeEvent(e=>{let{type:t}=e;if(t===J.resize||t===J.all){r.updateDocumentDataPageSize(this.width),this._documentSkeleton.makeDirty(!0),this._documentSkeleton.calculate();let e=this.getDocsSkeletonPageSize();this.height=(e==null?void 0:e.height)||this.height,this._setTransForm(),this.refreshDocumentByDocData()}})}get fs(){return this._fs}get text(){let e=this._documentData.body;if(!e)return``;let t=[];if(e.textRuns)for(let n of e.textRuns){let r=n.st||0,i=n.ed||0;t.push(e.dataStream.slice(r,i))}return t.join(``)}get documentData(){return this._documentData}getDocsSkeletonPageSize(){var e;let t=(e=this._documentSkeleton)==null?void 0:e.getSkeletonData();if(!t)return;let{pages:n}=t,{width:r,height:i}=n[n.length-1];return{width:r,height:i}}setProps(e){if(!e)return;let t=Object.keys(e);if(t.length!==0)return t.forEach(t=>{if(e[t]===void 0)return!0;cc.indexOf(t)===-1&&(this[`_${t}`]=e[t])}),this.makeDirty(!0),this}render(e,t){if(!this.visible)return this.makeDirty(!1),this;if(this.isRender(t)){let{top:e,left:n,bottom:r,right:i}=t.viewBound;if(this.width+this.strokeWidth<n||i<0||this.height+this.strokeWidth<e||r<0)return this}let n=this.transform.getMatrix();return e.save(),e.transform(n[0],n[1],n[2],n[3],n[4],n[5]),this._draw(e),e.restore(),this.makeDirty(!1),this}toJson(){let e={};return cc.forEach(t=>{this[t]&&(e[t]=this[t])}),{...super.toJson(),...e}}_draw(e){this._documents.render(e)}_convertToDocumentData(e){let t=e.length;return{id:`d`,body:{dataStream:`${e}${l.DEFAULT_EMPTY_DOCUMENT_VALUE}`,textRuns:[{ts:{fs:this._fs||14,ff:this._ff,it:this._it,bl:this._bl,ul:this._ul,st:this._st,ol:this._ol,bg:this._bg,bd:this._bd,cl:this._cl},st:0,ed:t}]},documentStyle:{pageSize:{width:1/0,height:1/0}}}}_initialProps(e){this._documentSkeleton.getViewModel().getDataModel().updateDocumentDataPageSize(e==null?void 0:e.width,e==null?void 0:e.height),this._documentSkeleton.calculate();let t=this.getDocsSkeletonPageSize();this.transformByState({width:(t==null?void 0:t.width)||0,height:(t==null?void 0:t.height)||0,left:(e==null?void 0:e.left)||0,top:(e==null?void 0:e.top)||0,angle:e==null?void 0:e.angle}),this.setProps(e),this.makeDirty(!0)}refreshDocumentByDocData(){let e=new Or(this.documentModel=new l.DocumentDataModel(this._documentData));this._documentSkeleton=Cs.create(e,this._localeService),this._documents=new mc(`${this.oKey}_DOCUMENTS`,this._documentSkeleton,{pageMarginLeft:0,pageMarginTop:0}),this._documentSkeleton.getViewModel().getDataModel().updateDocumentDataPageSize(this.width,1/0),this._documentSkeleton.calculate()}resizeToContentSize(){let e=this.getDocsSkeletonPageSize();e&&e.width!==0&&e.height!==0&&this.transformByState({height:(e==null?void 0:e.height)||0})}},uc=class e extends l.Disposable{constructor(e,t){super(),U(this,`_enableHorizontal`,!0),U(this,`_enableVertical`,!0),U(this,`horizontalThumbSize`,0),U(this,`horizontalMinusMiniThumb`,0),U(this,`horizontalTrackWidth`,0),U(this,`horizonScrollTrack`,void 0),U(this,`horizonThumbRect`,void 0),U(this,`verticalThumbSize`,0),U(this,`verticalTrackHeight`,0),U(this,`verticalMinusMiniThumb`,0),U(this,`verticalScrollTrack`,void 0),U(this,`verticalThumbRect`,void 0),U(this,`placeholderBarRect`,void 0),U(this,`_viewport`,void 0),U(this,`_mainScene`,void 0),U(this,`_lastX`,-1),U(this,`_lastY`,-1),U(this,`_isHorizonMove`,!1),U(this,`_isVerticalMove`,!1),U(this,`_horizonPointerMoveSub`,void 0),U(this,`_horizonPointerUpSub`,void 0),U(this,`_verticalPointerMoveSub`,void 0),U(this,`_verticalPointerUpSub`,void 0),U(this,`_thumbDefaultBackgroundColor`,`rgba(24, 28, 42, 0.20)`),U(this,`_thumbHoverBackgroundColor`,`rgba(24, 28, 42, 0.30)`),U(this,`_thumbActiveBackgroundColor`,`rgba(24, 28, 42, 0.40)`),U(this,`_trackBackgroundColor`,`rgba(255,255,255,0.5)`),U(this,`_trackBorderColor`,`rgba(255,255,255,0.7)`),U(this,`_trackThickness`,10),U(this,`_vThumbMargin`,2),U(this,`_hThumbMargin`,2),U(this,`_trackBorderThickness`,1),U(this,`_thumbLengthRatio`,1),U(this,`_minThumbSizeH`,17),U(this,`_minThumbSizeV`,17),U(this,`_eventSub`,new d.Subscription),U(this,`_viewportH`,0),U(this,`_viewportW`,0),U(this,`_contentW`,0),U(this,`_contentH`,0),e||console.warn(`Missing viewport`),this.setProps(t),this._viewport=e,this._initialScrollRect(),this._initialVerticalEvent(),this._initialHorizontalEvent(),this._viewport.setScrollBar(this)}setProps(e){if(!e)return;let t=Object.keys(e);t.length!==0&&(t.forEach(t=>{e[t]!==void 0&&(this[`_${t}`]=e[t])}),l.Tools.isDefine(e.thumbBackgroundColor)&&(this._thumbDefaultBackgroundColor=e.thumbBackgroundColor),l.Tools.isDefine(e.barSize)&&(this._trackThickness=e.barSize),l.Tools.isDefine(e.barBorder)&&(this._trackBorderThickness=e.barBorder),l.Tools.isDefine(e.thumbMargin)&&(this._hThumbMargin=e.thumbMargin,this._vThumbMargin=e.thumbMargin))}get enableHorizontal(){return this._enableHorizontal}set enableHorizontal(e){this._enableHorizontal=e}get enableVertical(){return this._enableVertical}set enableVertical(e){this._enableVertical=e}get limitX(){var e;return(e=this.horizonThumbRect)!=null&&e.visible?this.horizontalTrackWidth-this.horizontalThumbSize:0}get limitY(){var e;return(e=this.verticalThumbRect)!=null&&e.visible?this.verticalTrackHeight-this.verticalThumbSize:0}get ratioScrollX(){if(this._enableHorizontal===!1||this.horizontalThumbSize===void 0||this.horizontalTrackWidth===void 0)return 1;let e=(this.horizontalThumbSize-this.horizontalMinusMiniThumb)*this.miniThumbRatioX/this.horizontalTrackWidth;return Number.isNaN(e)?1:e}get ratioScrollY(){if(this._enableVertical===!1||this.verticalThumbSize===void 0||this.verticalTrackHeight===void 0)return 1;let e=(this.verticalThumbSize-this.verticalMinusMiniThumb)*this.miniThumbRatioY/this.verticalTrackHeight;return Number.isNaN(e)?1:e}get miniThumbRatioX(){let e=this.horizontalTrackWidth-this.horizontalThumbSize;if(e===0)return 0;let t=this.horizontalTrackWidth-(this.horizontalThumbSize-this.horizontalMinusMiniThumb);return t===0?0:e/t}get miniThumbRatioY(){let e=this.verticalTrackHeight-this.verticalThumbSize;if(e===0)return 0;let t=this.verticalTrackHeight-(this.verticalThumbSize-this.verticalMinusMiniThumb);return t===0?0:e/t}hasHorizonThumb(){var e;return((e=this.horizonThumbRect)==null?void 0:e.visible)||!1}hasVerticalThumb(){var e;return((e=this.verticalThumbRect)==null?void 0:e.visible)||!1}get scrollHorizonThumbThickness(){return Math.max(0,this._trackThickness-this._hThumbMargin*2)}get scrollVerticalThumbThickness(){return Math.max(0,this._trackThickness-this._vThumbMargin*2)}set barSize(e){this._trackThickness=e}get barSize(){return this._trackThickness}set trackThickness(e){this._trackThickness=e}get trackThickness(){return this._trackThickness}get totalSize(){return this._trackThickness+this._trackBorderThickness}static attachTo(t,n){return new e(t,n)}dispose(){var e,t,n,r,i,a,o,s,c;super.dispose(),(e=this.horizonScrollTrack)==null||e.dispose(),(t=this.horizonThumbRect)==null||t.dispose(),(n=this.verticalScrollTrack)==null||n.dispose(),(r=this.verticalThumbRect)==null||r.dispose(),(i=this.placeholderBarRect)==null||i.dispose(),this.horizonScrollTrack=null,this.horizonThumbRect=null,this.verticalScrollTrack=null,this.verticalThumbRect=null,this.placeholderBarRect=null,(a=this._horizonPointerMoveSub)==null||a.unsubscribe(),(o=this._horizonPointerUpSub)==null||o.unsubscribe(),(s=this._verticalPointerMoveSub)==null||s.unsubscribe(),(c=this._verticalPointerUpSub)==null||c.unsubscribe(),this._eventSub.unsubscribe(),this._mainScene=null,this._viewport.removeScrollBar()}render(e,t=0,n=0){let{scrollX:r,scrollY:i}=this._viewport;e.save();let a=new Y([1,0,0,1,t,n]).getMatrix();e.transform(a[0],a[1],a[2],a[3],a[4],a[5]),this._enableHorizontal&&(this.horizonScrollTrack.render(e),this.horizonThumbRect.translate(r).render(e)),this._enableVertical&&(this.verticalScrollTrack.render(e),this.verticalThumbRect.translate(void 0,i).render(e)),this._enableHorizontal&&this._enableVertical&&this.placeholderBarRect.render(e),e.restore()}_resizeHorizontal(){var e;let t=this._viewportH,n=this._viewportW,r=this._contentW;if(this._enableHorizontal)if(this.horizontalMinusMiniThumb=0,this.horizontalTrackWidth=n-(this._enableVertical?this._trackThickness:0)-this._trackBorderThickness,this.horizontalThumbSize=this.horizontalTrackWidth*(this.horizontalTrackWidth-this._trackBorderThickness)/r*this._thumbLengthRatio,this.horizontalThumbSize<this._minThumbSizeH&&(this.horizontalMinusMiniThumb=this._minThumbSizeH-this.horizontalThumbSize,this.horizontalThumbSize=this._minThumbSizeH),(e=this.horizonScrollTrack)==null||e.transformByState({left:0,top:t-this._trackThickness,width:this.horizontalTrackWidth,height:Math.max(0,this._trackThickness-this._trackBorderThickness)}),this.horizontalThumbSize>=n-(this._trackThickness+2)){var i;(i=this.horizonThumbRect)==null||i.setProps({visible:!1})}else{var a,o;if(!((a=this.horizonThumbRect)!=null&&a.visible)){var s;(s=this.horizonThumbRect)==null||s.setProps({visible:!0})}(o=this.horizonThumbRect)==null||o.transformByState({left:this._viewport.scrollX,top:t-this._trackThickness+this._hThumbMargin,width:this.horizontalThumbSize,height:this.scrollHorizonThumbThickness})}}_resizeVertical(){var e;let t=this._viewportH,n=this._viewportW,r=this._contentH;if(this._enableVertical)if(this.verticalMinusMiniThumb=0,this.verticalTrackHeight=t-(this._enableHorizontal?this._trackThickness:0)-this._trackBorderThickness,this.verticalThumbSize=this.verticalTrackHeight*this.verticalTrackHeight/r*this._thumbLengthRatio,this.verticalThumbSize<this._minThumbSizeV&&(this.verticalMinusMiniThumb=this._minThumbSizeV-this.verticalThumbSize,this.verticalThumbSize=this._minThumbSizeV),(e=this.verticalScrollTrack)==null||e.transformByState({left:n-this._trackThickness,top:0,width:Math.max(0,this._trackThickness-this._trackBorderThickness),height:this.verticalTrackHeight}),this.verticalThumbSize>=t-this._trackThickness){var i;(i=this.verticalThumbRect)==null||i.setProps({visible:!1})}else{var a,o;if(!((a=this.verticalThumbRect)!=null&&a.visible)){var s;(s=this.verticalThumbRect)==null||s.setProps({visible:!0})}(o=this.verticalThumbRect)==null||o.transformByState({left:n-this._trackThickness+this._vThumbMargin,top:this._viewport.scrollY,width:this.scrollVerticalThumbThickness,height:this.verticalThumbSize})}}_resizeRightBottomCorner(){let e=this._viewportH,t=this._viewportW;if(this._enableHorizontal&&this._enableVertical){var n;(n=this.placeholderBarRect)==null||n.transformByState({left:t-this._trackThickness,top:e-this._trackThickness,width:Math.max(0,this._trackThickness-this._trackBorderThickness),height:Math.max(0,this._trackThickness-this._trackBorderThickness)})}}resize(e=0,t=0,n=0,r=0){e===0&&e===0||(this._viewportH=t,this._viewportW=e,this._contentW=n,this._contentH=r,this._resizeHorizontal(),this._resizeVertical(),this._resizeRightBottomCorner())}makeDirty(e){var t,n,r,i,a;(t=this.horizonScrollTrack)==null||t.makeDirty(e),(n=this.horizonThumbRect)==null||n.makeDirty(e),(r=this.verticalScrollTrack)==null||r.makeDirty(e),(i=this.verticalThumbRect)==null||i.makeDirty(e),(a=this.placeholderBarRect)==null||a.makeDirty(e),this.makeViewDirty(e)}makeViewDirty(e){(this._mainScene||this._viewport.scene).makeDirty(e)}pick(e){var t,n,r,i;return(t=this.horizonThumbRect)!=null&&t.isHit(e)?this.horizonThumbRect:(n=this.verticalThumbRect)!=null&&n.isHit(e)?this.verticalThumbRect:(r=this.horizonScrollTrack)!=null&&r.isHit(e)?this.horizonScrollTrack:(i=this.verticalScrollTrack)!=null&&i.isHit(e)?this.verticalScrollTrack:null}_initialScrollRect(){this._enableHorizontal&&(this.horizonScrollTrack=new ec(`__horizonBarRect__`,{fill:this._trackBackgroundColor,strokeWidth:this._trackBorderThickness,stroke:this._trackBorderColor}),this.horizonThumbRect=new ec(`__horizonThumbRect__`,{radius:6,fill:this._thumbDefaultBackgroundColor})),this._enableVertical&&(this.verticalScrollTrack=new ec(`__verticalBarRect__`,{fill:this._trackBackgroundColor,strokeWidth:this._trackBorderThickness,stroke:this._trackBorderColor}),this.verticalThumbRect=new ec(`__verticalThumbRect__`,{radius:6,fill:this._thumbDefaultBackgroundColor})),this._enableHorizontal&&this._enableVertical&&(this.placeholderBarRect=new ec(`__placeholderBarRect__`,{fill:this._trackBackgroundColor,strokeWidth:this._trackBorderThickness,stroke:this._trackBorderColor}))}_initialVerticalEvent(){if(!this._enableVertical)return;let e=this._mainScene||this._viewport.scene;this.verticalThumbRect&&this._eventSub.add(this.verticalThumbRect.onPointerEnter$.subscribeEvent((e,t)=>{this._verticalHoverFunc(this._thumbHoverBackgroundColor,e,t)})),this.verticalThumbRect&&this._eventSub.add(this.verticalThumbRect.onPointerLeave$.subscribeEvent((e,t)=>{this._verticalHoverLeaveFunc(this._thumbDefaultBackgroundColor,e,t)})),this.verticalScrollTrack&&this._eventSub.add(this.verticalScrollTrack.onPointerDown$.subscribeEvent((e,t)=>{let n=e;this._viewport.scrollToBarPos({y:n.offsetY-this._viewport.top-this.verticalThumbSize/2}),t.stopPropagation()})),this.verticalThumbRect&&this._eventSub.add(this.verticalThumbRect.onPointerDown$.subscribeEvent((t,n)=>{let r=t,i=this.verticalThumbRect;this._isVerticalMove=!0,this._lastX=r.offsetX,this._lastY=r.offsetY,i==null||i.setProps({fill:this._thumbActiveBackgroundColor}),e.setCaptureObject(this.verticalThumbRect),e.disableObjectsEvent(),this.makeViewDirty(!0),n.stopPropagation()})),this._verticalPointerMoveSub=e.onPointerMove$.subscribeEvent((t,n)=>{var r;let i=t;this._isVerticalMove&&(this._viewport.scrollByBarDeltaValue({y:i.offsetY-this._lastY}),this._lastY=i.offsetY,(r=e.getEngine())==null||r.setCapture())}),this._verticalPointerUpSub=e.onPointerUp$.subscribeEvent((t,n)=>{let r=this.verticalThumbRect;this._isVerticalMove=!1,e.releaseCapturedObject(),e.enableObjectsEvent(),r==null||r.setProps({fill:this._thumbHoverBackgroundColor}),this.makeViewDirty(!0)})}_horizonHoverFunc(e,t,n){this._hThumbMargin=1,this._resizeHorizontal(),this._resizeRightBottomCorner(),this._hoverFunc(e,this.horizonThumbRect)(t,n)}_horizonHoverLeaveFunc(e,t,n){this._hThumbMargin=2,this._resizeHorizontal(),this._resizeRightBottomCorner(),this._hoverFunc(e,this.horizonThumbRect)(t,n)}_verticalHoverFunc(e,t,n){this._vThumbMargin=1,this._resizeVertical(),this._resizeRightBottomCorner(),this._hoverFunc(e,this.verticalThumbRect)(t,n)}_verticalHoverLeaveFunc(e,t,n){this._vThumbMargin=2,this._resizeVertical(),this._resizeRightBottomCorner(),this._hoverFunc(e,this.verticalThumbRect)(t,n)}_hoverFunc(e,t){return(n,r)=>{t.setProps({fill:e}),this._resizeHorizontal(),this.makeViewDirty(!0)}}_initialHorizontalEvent(){if(!this._enableHorizontal)return;let e=this._mainScene||this._viewport.scene;this.horizonThumbRect&&this._eventSub.add(this.horizonThumbRect.onPointerEnter$.subscribeEvent((e,t)=>{this._horizonHoverFunc(this._thumbHoverBackgroundColor,e,t)})),this.horizonThumbRect&&this._eventSub.add(this.horizonThumbRect.onPointerLeave$.subscribeEvent((e,t)=>{this._horizonHoverLeaveFunc(this._thumbDefaultBackgroundColor,e,t)})),this.horizonScrollTrack&&this._eventSub.add(this.horizonScrollTrack.onPointerDown$.subscribeEvent((e,t)=>{let n=e;this._viewport.scrollToBarPos({x:n.offsetX-this._viewport.left-this.horizontalThumbSize/2}),t.stopPropagation()})),this.horizonThumbRect&&this._eventSub.add(this.horizonThumbRect.onPointerDown$.subscribeEvent((t,n)=>{var r;let i=t;this._isHorizonMove=!0,this._lastX=i.offsetX,this._lastY=i.offsetY,(r=this.horizonThumbRect)==null||r.setProps({fill:this._thumbActiveBackgroundColor}),this.makeViewDirty(!0),e.setCaptureObject(this.horizonThumbRect),e.disableObjectsEvent(),n.stopPropagation()})),this._horizonPointerMoveSub=e.onPointerMove$.subscribeEvent((t,n)=>{var r;let i=t;this._isHorizonMove&&(this._viewport.scrollByBarDeltaValue({x:i.offsetX-this._lastX}),this._lastX=i.offsetX,(r=e.getEngine())==null||r.setCapture())}),this._horizonPointerUpSub=e.onPointerUp$.subscribeEvent((t,n)=>{var r;this._isHorizonMove=!1,e.releaseCapturedObject(),e.enableObjectsEvent(),(r=this.horizonThumbRect)==null||r.setProps({fill:this._thumbHoverBackgroundColor}),this.makeViewDirty(!0)})}},dc=class extends Gs{constructor(){super(),U(this,`uKey`,`DefaultDocsFontAndBaseLineExtension`),U(this,`Z_INDEX`,20),U(this,`_preFontColor`,``),U(this,`actualFontMap`,{})}draw(e,t,n,r,i){var a;if(!((a=n.parent)!=null&&a.parent))return;let{ts:o,content:s,fontStyle:c,bBox:u}=n,{spanPointWithFont:d=K.create(0,0)}=this.extensionOffset;if(s==null)return;if(!o){this._fillText(e,n,d);return}let f=(c==null?void 0:c.fontString)||``;f&&e.font!==this.actualFontMap[f]&&(e.font=f,this.actualFontMap[f]=e.font);let{cl:p,va:m}=o,h=(0,l.getColorStyle)(p)||`rgb(0,0,0)`;h&&this._preFontColor!==h&&(e.fillStyle=h),m===l.BaselineOffset.SUPERSCRIPT?d.y+=-u.spo:m===l.BaselineOffset.SUBSCRIPT&&(d.y+=u.sbo),this._fillText(e,n,d)}_fillText(e,t,n){let{renderConfig:r,spanStartPoint:i,centerPoint:a}=this.extensionOffset,{content:o,width:s,bBox:c}=t,{aba:l,abd:u}=c;if(o==null||i==null||a==null)return;let{vertexAngle:d,centerAngle:f}=r==null?{}:r;if(d===90&&f===90&&!_e(o))e.save(),e.translate(i.x+a.x,i.y+a.y),e.rotate(Math.PI/2),e.translate(-s/2,(l+u)/2-u),e.fillText(o,0,0),e.restore();else if((o===`☐`||o===`☑`)&&t.glyphType===pt.LIST){var p,m;let r=Math.ceil(((p=(m=t.ts)==null?void 0:m.fs)==null?12:p)*1.2);e.save();let i=t.bBox.aba-t.bBox.abd,a=n.y,s=a-i,c=n.x,l=s+(a-s-r)/2,u=c;e.translate(u-1/2,l-1/2),Ys.drawWith(e,{width:r,height:r,checked:o===`☑`}),e.restore()}else e.fillText(o,n.x,n.y)}clearCache(){this._preFontColor=``}};vn.add(new dc);var fc=class extends Gs{constructor(...e){super(...e),U(this,`uKey`,`DefaultDocsLineExtension`),U(this,`Z_INDEX`,40),U(this,`_preBackgroundColor`,``)}draw(e,t,n){var r;let i=(r=n.parent)==null?void 0:r.parent,{ts:a,bBox:o,content:s}=n;if(i==null||a==null||s===`\r`)return;let{asc:c,dsc:u}=i,{sp:d,spo:f,sbo:p,bd:m}=o,h=He(t),g=.5,{ul:_,st:v,ol:y,va:b,bbl:x}=a;if(_){let t=c+u;this._drawLine(e,n,_,t,h)}if(x){let t=c+u+3;this._drawLine(e,n,x,t,h,2)}if(v){let t=c+m-d-g;b===l.BaselineOffset.SUPERSCRIPT?t-=f:b===l.BaselineOffset.SUBSCRIPT&&(t+=p),this._drawLine(e,n,v,t,h)}y&&(-1-g,this._drawLine(e,n,y,-1.5,h))}clearCache(){this._preBackgroundColor=``}_drawLine(e,t,n,r,i,a=1){var o;let{s,cl:c,t:u,c:d=l.BooleanNumber.TRUE}=n;if(s!==l.BooleanNumber.TRUE)return;d==null&&(d=l.BooleanNumber.TRUE);let{originTranslate:f=K.create(0,0),alignOffset:p=K.create(0,0),renderConfig:m={}}=this.extensionOffset,{left:h,width:g}=t,{centerAngle:_=0,vertexAngle:v=0}=m;e.save(),e.strokeStyle=(d===l.BooleanNumber.TRUE?(0,l.getColorStyle)((o=t.ts)==null?void 0:o.cl):(0,l.getColorStyle)(c))||`rgb(0,0,0)`,this._setLineType(e,u==null?l.TextDecoration.SINGLE:u,a),r+=this._isDouble(u)?-.8:0;let y=V(_),b=V(v),x=Mt(f.addByPoint(h,r),K.create(0,0),y,b,p),S=Mt(f.addByPoint(h+g,r),K.create(0,0),y,b,p);e.beginPath(),e.moveTo(x.x,x.y),this._drawLineTo(e,x.x,S.x,S.y,u),this._isDouble(u)&&(e.moveTo(x.x,x.y+2),this._drawLineTo(e,x.x,S.x,S.y+2,u)),e.stroke(),e.restore()}_drawLineTo(e,t,n,r,i){if(this._isWave(i))for(let i=t;i<n;i++)e.lineTo(i,r+.8*Math.sin(i*1));else e.lineTo(n,r)}_setLineType(e,t,n){switch(t){case l.TextDecoration.SINGLE:case l.TextDecoration.DOUBLE:e.lineWidth=1,e.setLineDash([0]);return;case l.TextDecoration.DOTTED:e.lineWidth=1,e.setLineDash([2]);return;case l.TextDecoration.DOTTED_HEAVY:e.lineWidth=2,e.setLineDash([2]);return;case l.TextDecoration.DASH:e.lineWidth=1,e.setLineDash([3]);return;case l.TextDecoration.DASHED_HEAVY:e.lineWidth=2,e.setLineDash([3]);return;case l.TextDecoration.DASH_LONG:e.lineWidth=1,e.setLineDash([6]);return;case l.TextDecoration.DASH_LONG_HEAVY:e.lineWidth=2,e.setLineDash([6]);return;case l.TextDecoration.DOT_DASH:e.lineWidth=1,e.setLineDash([2,5,2]);return;case l.TextDecoration.DASH_DOT_HEAVY:e.lineWidth=2,e.setLineDash([2,5,2]);return;case l.TextDecoration.DOT_DOT_DASH:e.lineWidth=1,e.setLineDash([2,2,5,2,2]);return;case l.TextDecoration.DASH_DOT_DOT_HEAVY:e.lineWidth=2,e.setLineDash([2,2,5,2,2]);return;case l.TextDecoration.THICK:e.lineWidth=2,e.setLineDash([0]);return;case l.TextDecoration.WAVE:case l.TextDecoration.WAVY_DOUBLE:e.lineWidth=1;return;case l.TextDecoration.WAVY_HEAVY:e.lineWidth=2;return;default:e.setLineDash([0]),e.lineWidth=n}}_isWave(e){return e===l.TextDecoration.WAVE||e===l.TextDecoration.WAVY_HEAVY||e===l.TextDecoration.WAVY_DOUBLE}_isDouble(e){return e===l.TextDecoration.DOUBLE||e===l.TextDecoration.WAVY_DOUBLE}};vn.add(new fc);const pc={color:{rgb:`#dee0e3`}};var mc=class e extends Us{constructor(e,t,n){super(e,t,n),U(this,`_pageRender$`,new d.Subject),U(this,`pageRender$`,this._pageRender$.asObservable()),U(this,`_drawLiquid`,new Cr),this._initialDefaultExtension(),this.makeDirty(!0)}static create(t,n,r){return new e(t,n,r)}dispose(){super.dispose(),this._pageRender$.complete(),this._drawLiquid=null}getOffsetConfig(){let{transform:e,pageLayoutType:t,pageMarginLeft:n,pageMarginTop:r,left:i,top:a}=this;return{documentTransform:e,pageLayoutType:t,pageMarginLeft:n,pageMarginTop:r,docsLeft:i,docsTop:a}}getEngine(){return this.getScene().getEngine()}changeSkeleton(e){return this.setSkeleton(e),this}_draw(e,t){this.draw(e,t)}draw(e,t){var n;let r=(n=this.getSkeleton())==null?void 0:n.getSkeletonData();if(r==null||this._drawLiquid==null)return;this._drawLiquid.reset();let{pages:i,skeHeaders:a,skeFooters:o}=r,s=this.getParentScale(),c=this.getExtensionsByOrder();for(let e of c)e.clearCache();let u=c.find(e=>e.uKey===`DefaultDocsBackgroundExtension`),d=c.filter(e=>e.type===Ws.SPAN&&e.uKey!==`DefaultDocsBackgroundExtension`),f=0,p=0;for(let n=0,r=i.length;n<r;n++){var m,h,g;let r=i[n],{sections:_,marginTop:v=0,marginBottom:y=0,marginLeft:b=0,marginRight:x=0,width:S,height:C,pageWidth:w,headerId:T,footerId:E,renderConfig:D={},skeTables:O}=r,{verticalAlign:k=l.VerticalAlign.TOP,horizontalAlign:A=l.HorizontalAlign.LEFT,centerAngle:j=0,vertexAngle:M=0,wrapStrategy:N=l.WrapStrategy.UNSPECIFIED,cellValueType:P}=D,F=this._horizontalHandler(S,b,x,A,M,j,P),I=this._verticalHandler(C,v,y,k),L=K.create(F,I),R=V(j),z=V(M),ee=z-R;if(this.isSkipByDiffBounds(r,f,p,t)){let{x:e,y:t}=this._drawLiquid.translatePage(r,this.pageLayoutType,this.pageMarginLeft,this.pageMarginTop);p+=e,f+=t;continue}O.size>0&&this._drawTable(e,r,O,c,u,d,L,R,z,D,s);let B=(m=a.get(T))==null?void 0:m.get(w),te=K.create(F,(h=B==null?void 0:B.marginTop)==null?0:h);B&&this._drawHeaderFooter(B,e,c,u,d,te,R,z,D,s,r,!0),this._startRotation(e,ee);for(let n of _){let{columns:i}=n;this._drawLiquid.translateSection(n);for(let n of i){let{lines:i,width:a}=n;this._drawLiquid.translateSave(),this._drawLiquid.translateColumn(n);let o=i.length,f=L,p=null;if(z!==0){let{rotateTranslateXList:e,rotatedHeight:t,rotatedWidth:n,fixOffsetX:r,fixOffsetY:o,rotateTranslateY:s}=Pt(i,a,z),c=n;t>this.height&&N!==l.WrapStrategy.WRAP&&(N===l.WrapStrategy.OVERFLOW||z>0)&&(c=this.height/Math.tan(Math.abs(z)));let u=this._horizontalHandler(c,b,x,A,M,j),d=this._verticalHandler(t,v,y,k)-o;t>this.height&&(d=z<0?this.height-(t+o):-o),f=K.create(u+r,d),this._drawLiquid.translate(0,-s),p=e}else N===l.WrapStrategy.WRAP&&(A!==l.HorizontalAlign.UNSPECIFIED||P!==l.CellValueType.NUMBER)&&(f.x=b);for(let n=0;n<o;n++){let a=i[n],{divides:o,asc:l=0,type:m,lineHeight:h=0}=a,g=l,_=g*Math.sin(R),v=g*Math.cos(R);if(m===ft.BLOCK)for(let t of c)t.type===Ws.LINE&&(t.extensionOffset={alignOffset:f,renderConfig:D},t.draw(e,s,a));else{this._drawLiquid.translateSave(),this._drawLiquid.translateLine(a,!0,!0),p&&this._drawLiquid.translate(p[n]);let i=o.length;for(let n=0;n<i;n++){let r=o[n],{glyphGroup:i}=r;this._drawLiquid.translateSave(),this._drawLiquid.translateDivide(r);for(let t of i){if(!t.content||t.content.length===0)continue;let{width:n,left:r}=t,{x:i,y:a}=this._drawLiquid,o=K.create(i,a),c=K.create(n/2,h/2),l={spanStartPoint:Mt(o.addByPoint(r,0),c,R,z,f)};u&&(u.extensionOffset=l,u.draw(e,s,t))}for(let n of i){if(!n.content||n.content.length===0)continue;let{width:r,left:i,xOffset:a}=n,{x:o,y:c}=this._drawLiquid,l=K.create(o,c),u=K.create(r/2,h/2),p={originTranslate:l,spanStartPoint:Mt(l.addByPoint(i+a,0),u,R,z,f),spanPointWithFont:Mt(l.addByPoint(i+_+a,v),u,R,z,f),centerPoint:u,alignOffset:f,renderConfig:D};for(let r of d)r.extensionOffset=p,r.draw(e,s,n,[],{viewBound:t==null?void 0:t.viewBound})}this._drawLiquid.translateRestore()}a.borderBottom&&this._drawBorderBottom(e,r,a),this._drawLiquid.translateRestore()}}this._drawLiquid.translateRestore()}}this._resetRotation(e,ee);let ne=(g=o.get(E))==null?void 0:g.get(w);if(ne){let t=K.create(F,r.pageHeight-(ne==null?void 0:ne.height)-ne.marginBottom);this._drawHeaderFooter(ne,e,c,u,d,t,R,z,D,s,r,!1)}this._pageRender$.next({page:r,pageLeft:p,pageTop:f,ctx:e});let{x:re,y:ie}=this._drawLiquid.translatePage(r,this.pageLayoutType,this.pageMarginLeft,this.pageMarginTop);p+=re,f+=ie}}_drawTable(e,t,n,r,i,a,o,s,c,l,u){for(let[b,x]of n){var d,f,p;let{top:n,left:b,rows:S}=x;(d=this._drawLiquid)==null||d.translateSave(),(f=this._drawLiquid)==null||f.translate(b,n);for(let n of S){var m,h,g;let{top:d,cells:f}=n;(m=this._drawLiquid)==null||m.translateSave(),(h=this._drawLiquid)==null||h.translate(0,d);for(let n of f){var _,v,y;let{left:d}=n;(_=this._drawLiquid)==null||_.translateSave(),(v=this._drawLiquid)==null||v.translate(d,0),this._drawTableCell(e,t,n,r,i,a,o,s,c,l,u),(y=this._drawLiquid)==null||y.translateRestore()}(g=this._drawLiquid)==null||g.translateRestore()}(p=this._drawLiquid)==null||p.translateRestore()}}_drawBorderBottom(e,t,n,r=0,i=0){var a,o,s,c;if(this._drawLiquid==null)return;let{x:l,y:u}=this._drawLiquid,{pageWidth:d,marginLeft:f,marginRight:p,marginTop:m}=t;l+=f+(r==null?0:r),u-=n.marginTop,u-=n.paddingTop,u+=m+i+n.lineHeight+((a=(o=n.borderBottom)==null?void 0:o.padding)==null?0:a),e.save(),e.setLineWidthByPrecision(1),e.strokeStyle=(s=(c=n.borderBottom)==null?void 0:c.color.rgb)==null?`#CDD0D8`:s,Ct(e,E.BOTTOM,0,{startX:l,startY:u,endX:l+d-f-p,endY:u}),e.restore()}_drawTableCell(e,t,n,r,i,a,o,s,c,l,u){if(this._drawLiquid==null)return;this._drawTableCellBordersAndBg(e,t,n);let{sections:d,marginLeft:f,marginTop:p}=n;o=K.create(o.x+f,o.y+p),e.save();let{x:m,y:h}=this._drawLiquid,{pageWidth:g,pageHeight:_}=n;e.beginPath(),e.rectByPrecision(m+t.marginLeft,h+t.marginTop,g,_),e.closePath(),e.clip();for(let f of d){let{columns:d}=f;this._drawLiquid.translateSave(),this._drawLiquid.translateSection(f);for(let f of d){let{lines:d}=f;this._drawLiquid.translateSave(),this._drawLiquid.translateColumn(f);let p=d.length,m=o;for(let o=0;o<p;o++){let f=d[o],{divides:p,asc:h=0,type:g,lineHeight:_=0}=f,v=h,y=v*Math.sin(s),b=v*Math.cos(s);if(g===ft.BLOCK)for(let t of r)t.type===Ws.LINE&&(t.extensionOffset={alignOffset:m,renderConfig:l},t.draw(e,u,f));else{this._drawLiquid.translateSave(),this._drawLiquid.translateLine(f,!0,!0);let r=p.length;for(let t=0;t<r;t++){let n=p[t],{glyphGroup:r}=n;this._drawLiquid.translateSave(),this._drawLiquid.translateDivide(n);for(let t of r){if(!t.content||t.content.length===0)continue;let{width:n,left:r}=t,{x:a,y:o}=this._drawLiquid,l=K.create(a,o),d=K.create(n/2,_/2),f={spanStartPoint:Mt(l.addByPoint(r,0),d,s,c,m)};i&&(i.extensionOffset=f,i.draw(e,u,t))}for(let t of r){if(!t.content||t.content.length===0)continue;let{width:n,left:r,xOffset:i}=t,{x:o,y:d}=this._drawLiquid,f=K.create(o,d),p=K.create(n/2,_/2),h={originTranslate:f,spanStartPoint:Mt(f.addByPoint(r+i,0),p,s,c,m),spanPointWithFont:Mt(f.addByPoint(r+y+i,b),p,s,c,m),centerPoint:p,alignOffset:m,renderConfig:l};for(let n of a)n.extensionOffset=h,n.draw(e,u,t)}this._drawLiquid.translateRestore()}f.borderBottom&&this._drawBorderBottom(e,n,f,t.marginLeft,t.marginTop),this._drawLiquid.translateRestore()}}this._drawLiquid.translateRestore()}this._drawLiquid.translateRestore()}e.restore()}_drawTableCellBordersAndBg(e,t,n){var r,i,a,o;let{marginLeft:s,marginTop:c}=t,{pageWidth:l,pageHeight:u}=n,d=n.parent,f=d.cells.indexOf(n),{borderTop:p=pc,borderBottom:m=pc,borderLeft:h=pc,borderRight:g=pc,backgroundColor:_}=d.rowSource.tableCells[f];if(this._drawLiquid==null)return;let{x:v,y}=this._drawLiquid;v+=s,y+=c,_&&_.rgb&&(e.save(),e.fillStyle=_.rgb,e.fillRectByPrecision(v,y,l,u),e.restore()),e.save(),e.setLineWidthByPrecision(1),e.save(),e.strokeStyle=(r=h.color.rgb)==null?pc.color.rgb:r,Ct(e,E.LEFT,0,{startX:v,startY:y,endX:v+l,endY:y+u}),e.restore(),e.save(),e.strokeStyle=(i=p.color.rgb)==null?pc.color.rgb:i,Ct(e,E.TOP,0,{startX:v,startY:y,endX:v+l,endY:y+u}),e.restore(),e.save(),e.strokeStyle=(a=g.color.rgb)==null?pc.color.rgb:a,Ct(e,E.RIGHT,0,{startX:v,startY:y,endX:v+l,endY:y+u}),e.restore(),e.save(),e.strokeStyle=(o=m.color.rgb)==null?pc.color.rgb:o,Ct(e,E.BOTTOM,0,{startX:v,startY:y,endX:v+l,endY:y+u}),e.restore(),e.restore()}_drawHeaderFooter(e,t,n,r,i,a,o,s,c,l,u,d=!0){if(this._drawLiquid==null)return;let{sections:f}=e,{y:p}=this._drawLiquid;for(let m of f){let{columns:f}=m;this._drawLiquid.translateSave(),this._drawLiquid.translateSection(m);for(let m of f){let{lines:f}=m;this._drawLiquid.translateSave(),this._drawLiquid.translateColumn(m);let h=f.length,g=a;for(let a=0;a<h;a++){let m=f[a],{divides:h,asc:_=0,type:v,lineHeight:y=0}=m,b=_,x=b*Math.sin(o),S=b*Math.cos(o);if(v===ft.BLOCK)for(let e of n)e.type===Ws.LINE&&(e.extensionOffset={alignOffset:g,renderConfig:c},e.draw(t,l,m));else{this._drawLiquid.translateSave(),this._drawLiquid.translateLine(m,!0,!0);let{y:n}=this._drawLiquid;if(d){if(n-p+g.y>(u.pageHeight-100)/2){this._drawLiquid.translateRestore();continue}}else if(n-p+g.y+y<(u.pageHeight-100)/2+100){this._drawLiquid.translateRestore();continue}let a=h.length;for(let e=0;e<a;e++){let n=h[e],{glyphGroup:a}=n;this._drawLiquid.translateSave(),this._drawLiquid.translateDivide(n);for(let e of a){if(!e.content||e.content.length===0)continue;let{width:n,left:i}=e,{x:a,y:c}=this._drawLiquid,u=K.create(a,c),d=K.create(n/2,y/2),f={spanStartPoint:Mt(u.addByPoint(i,0),d,o,s,g)};r&&(r.extensionOffset=f,r.draw(t,l,e))}for(let e of a){if(!e.content||e.content.length===0)continue;let{width:n,left:r,xOffset:a}=e,{x:u,y:d}=this._drawLiquid,f=K.create(u,d),p=K.create(n/2,y/2),m={originTranslate:f,spanStartPoint:Mt(f.addByPoint(r+a,0),p,o,s,g),spanPointWithFont:Mt(f.addByPoint(r+x+a,S),p,o,s,g),centerPoint:p,alignOffset:g,renderConfig:c};for(let n of i)n.extensionOffset=m,n.draw(t,l,e)}this._drawLiquid.translateRestore()}m.borderBottom&&this._drawBorderBottom(t,e,m,u.marginLeft),this._drawLiquid.translateRestore()}}this._drawLiquid.translateRestore()}this._drawLiquid.translateRestore()}}_horizontalHandler(e,t,n,r,i=0,a=0,o){r===l.HorizontalAlign.UNSPECIFIED&&(r=a===90&&i===90?l.HorizontalAlign.CENTER:i>0&&i!==90||i===-90||o===l.CellValueType.NUMBER?l.HorizontalAlign.RIGHT:o===l.CellValueType.BOOLEAN?l.HorizontalAlign.CENTER:l.HorizontalAlign.LEFT);let s=0;return s=r===l.HorizontalAlign.CENTER?(this.width-e)/2:r===l.HorizontalAlign.RIGHT?this.width-e-n:t,s}_verticalHandler(e,t,n,r){let i=0;return i=r===l.VerticalAlign.MIDDLE?(this.height-e)/2:r===l.VerticalAlign.TOP?t:this.height-e-n,i}_startRotation(e,t){e.rotate(t||0)}_resetRotation(e,t){e.rotate(-t||0)}_initialDefaultExtension(){vn.getData().forEach(e=>{this.register(e)})}},hc=class extends yn{constructor(e,t,n=!0){super(e,t),this._allowCache=n,U(this,`_backgroundExtension`,void 0),U(this,`_borderExtension`,void 0),U(this,`_fontExtension`,void 0),U(this,`_refreshIncrementalState`,!1),U(this,`_dirtyBounds`,[]),U(this,`_forceDisableGridlines`,!1),U(this,`_documents`,new mc(`__SHEET_EXTENSION_FONT_DOCUMENT_INSTANCE__`,void 0,{pageMarginLeft:0,pageMarginTop:0})),U(this,`isPrinting`,!1),this._initialDefaultExtension(),this.makeDirty(!0)}get backgroundExtension(){return this._backgroundExtension}get borderExtension(){return this._borderExtension}get fontExtension(){return this._fontExtension}getDocuments(){return this._documents}get allowCache(){return this._allowCache}get forceDisableGridlines(){return this._forceDisableGridlines}dispose(){var e;super.dispose(),(e=this._documents)==null||e.dispose(),this._documents=null,this._backgroundExtension=null,this._borderExtension=null,this._fontExtension=null}draw(e,t){var n;let r=this.getSkeleton();if(!r)return;this._drawAuxiliary(e);let i=this.getParentScale(),a=this._refreshIncrementalState&&t.diffBounds?(n=t.diffBounds)==null?void 0:n.map(e=>r.getRangeByViewBound(e)):[],o=[r.getCacheRangeByViewport(t,this.isPrinting)],s=this.getExtensionsByOrder(),c=this.getScene();for(let n of s){let s=`${On}${n.uKey}`,u=l.Tools.now();n.draw(e,i,r,a,{viewRanges:o,checkOutOfViewBound:!0,viewportKey:t.viewportKey,viewBound:t.cacheBound,diffBounds:t.diffBounds}),this.addRenderFrameTimeMetricToScene(s,l.Tools.now()-u,c)}}addRenderFrameTimeMetricToScene(e,t,n){var r;n=(r=n)==null?this.getScene():r,n.getEngine().renderFrameTimeMetric$.next([e,t])}addRenderTagToScene(e,t,n){var r;n=(r=n)==null?this.getScene():r,n.getEngine().renderFrameTags$.next([e,t])}getScene(){return super.getScene()}isHit(e){let t=this.getInverseCoord(e),n=this.getSkeleton();if(!n)return!1;let{rowHeaderWidth:r,columnHeaderHeight:i}=n;return t.x>r&&t.y>i}getNoMergeCellPositionByIndex(e,t){let n=this.getSkeleton();return n?n.getNoMergeCellWithCoordByIndex(e,t):{startX:0,startY:0,endX:0,endY:0}}getScrollXYByRelativeCoords(e){let t=this.getParent(),n=0,r=0,i=t.findViewportByPosToScene(e);if(i){let e=i.viewportScrollX||0,t=i.viewportScrollY||0;n+=e,r+=t}return{x:n,y:r}}isForceDirty(){return this._forceDirty}makeForceDirty(e=!0){this.makeDirty(e),this._forceDirty=e}setForceDisableGridlines(e){this._forceDisableGridlines=e}getSelectionBounding(e,t,n,r){var i;return(i=this.getSkeleton())==null?void 0:i.expandRangeByMerge({startRow:e,startColumn:t,endRow:n,endColumn:r})}makeDirty(e=!0){var t;return(t=this.getParent())==null||t.getViewports().forEach(t=>t.markDirty(e)),super.makeDirty(e),e===!1&&(this._dirtyBounds=[]),this}setDirtyArea(e){this._dirtyBounds=e}renderByViewports(e,t,n){let{diffBounds:r,diffX:i,diffY:a,viewPortPosition:o,cacheCanvas:s,leftOrigin:c,topOrigin:l,bufferEdgeX:u,bufferEdgeY:d,isDirty:f,isForceDirty:p}=t,{rowHeaderWidth:m,columnHeaderHeight:h}=n,{a:g=1,d:_=1}=e.getTransform(),v=u*g/window.devicePixelRatio,y=d*_/window.devicePixelRatio,b=s.getContext();b.save();let x=p||this.isForceDirty(),S=f||this.isDirty();r.length===0||i===0&&a===0||x||S?(S||x)&&(this.addRenderTagToScene(`scrolling`,!1),this.refreshCacheCanvas(t,{cacheCanvas:s,cacheCtx:b,mainCtx:e,topOrigin:l,leftOrigin:c,bufferEdgeX:u,bufferEdgeY:d})):(r.length!==0||i!==0||a!==0)&&(this.addRenderTagToScene(`scrolling`,!0),this.paintNewAreaForScrolling(t,{cacheCanvas:s,cacheCtx:b,mainCtx:e,topOrigin:l,leftOrigin:c,bufferEdgeX:u,bufferEdgeY:d,scaleX:g,scaleY:_,columnHeaderHeight:h,rowHeaderWidth:m}));let C=v*Math.min(1,window.devicePixelRatio),w=y*Math.min(1,window.devicePixelRatio),{left:T,top:E,right:D,bottom:O}=o,k=D-T+m,A=O-E+h;this._applyCache(s,e,C,w,k,A,T,E,k,A),b.restore()}paintNewAreaForScrolling(e,t){let{cacheCanvas:n,cacheCtx:r,mainCtx:i,topOrigin:a,leftOrigin:o,bufferEdgeX:s,bufferEdgeY:c,scaleX:l,scaleY:u,columnHeaderHeight:d,rowHeaderWidth:f}=t,{shouldCacheUpdate:p,diffCacheBounds:m,diffX:h,diffY:g}=e;r.save(),r.setTransform(1,0,0,1,0,0),r.globalCompositeOperation=`copy`,r.drawImage(n.getCanvasEle(),h*l,g*u),r.restore(),this._refreshIncrementalState=!0;let _=i.getTransform();if(r.setTransform(_.a,_.b,_.c,_.d,0,0),r.translateWithPrecision(_.e/_.a-o+s,_.f/_.d-a+c),p)for(let t of m){let{left:n,right:i,bottom:a,top:o}=t,s=n-f,c=o-d,l=i-n,u=a-o;r.clearRectByPrecision(s,c,l,u),r.save(),r.beginPath(),r.rectByPrecision(s,c,l,u),r.closePath(),r.clip(),this.draw(r,{...e,diffBounds:[t]}),r.restore()}this._refreshIncrementalState=!1}refreshCacheCanvas(e,t){let{cacheCanvas:n,cacheCtx:r,mainCtx:i,topOrigin:a,leftOrigin:o,bufferEdgeX:s,bufferEdgeY:c}=t;r.save(),r.setTransform(1,0,0,1,0,0),n.clear(),r.restore(),r.save();let l=i.getTransform();r.setTransform(l.a,l.b,l.c,l.d,0,0),r.translateWithPrecision(l.e/l.a-o+s,l.f/l.d-a+c),this.draw(r,e),r.restore()}render(e,t){var n;if(!this.visible)return this.makeDirty(!1),this;let r=this.getSkeleton();if(!r)return;r.setStylesCache(t);let i=r.rowColumnSegment;if(!i||i.startRow===-1&&i.endRow===-1||i.startColumn===-1&&i.endColumn===-1)return;e.save();let{rowHeaderWidth:a,columnHeaderHeight:o}=r;e.translateWithPrecision(a,o),(n=this.getScene())==null||n.updateTransformerZero(r.rowHeaderWidth,r.columnHeaderHeight);let{viewportKey:s}=t;return wn.includes(s)?t&&t.cacheCanvas?this.renderByViewports(e,t,r):this._draw(e,t):Tn.includes(s)||(t&&t.cacheCanvas?this.renderByViewports(e,t,r):this._draw(e,t)),e.restore(),this}_applyCache(e,t,n=0,r=0,i=0,a=0,o=0,s=0,c=0,l=0){if(!t)return;let u=e.getPixelRatio(),d=e.getContext();d.save(),t.save(),t.setTransform(1,0,0,1,0,0),d.setTransform(1,0,0,1,0,0),t.imageSmoothingEnabled=!1,t.drawImage(e.getCanvasEle(),n*u,r*u,i*u,a*u,o*u,s*u,c*u,l*u),t.restore(),d.restore()}_draw(e,t){this.draw(e,t)}_getAncestorSize(){let e=this._getAncestorParent();if(e){if(e.classType===O.ENGINE){let t=e.getCanvas();return{width:t.getWidth(),height:t.getHeight()}}if(e.classType===O.SCENE_VIEWER)return{width:e.width,height:e.height}}}_getAncestorParent(){let e=this.parent;for(;e;){if(e.classType===O.ENGINE||e.classType===O.SCENE_VIEWER)return e;e=(e==null?void 0:e.getParent)&&(e==null?void 0:e.getParent())}}_initialDefaultExtension(){hn.getData().sort(l.sortRules).forEach(e=>{this.register(new e)}),this._backgroundExtension=this.getExtensionByKey(`DefaultBackgroundExtension`),this._borderExtension=this.getExtensionByKey(`DefaultBorderExtension`),this._fontExtension=this.getExtensionByKey(`DefaultFontExtension`)}_drawAuxiliary(e){var t;let n=this.getSkeleton();if(n==null)return;let{rowColumnSegment:r,overflowCache:i,showGridlines:a,gridlinesColor:o,worksheet:s}=n,{startRow:c,endRow:u,startColumn:d,endColumn:f}=r;if(!n||a===l.BooleanNumber.FALSE||this._forceDisableGridlines)return;let{rowHeightAccumulation:p,columnTotalWidth:m,columnWidthAccumulation:h,rowTotalHeight:g}=n;if(!p||!h||m===void 0||g===void 0)return;e.save(),e.setLineWidthByPrecision(1),e.strokeStyle=(t=o==null?e.renderConfig.gridlinesColor:o)==null?F([214,216,219]):t;let _=h.length,v=p.length,y=.4,b=u-c+1,x=f-d+1,S=Math.ceil(b*y),C=Math.ceil(x*y),w=Math.max(Math.floor(c-S),0),T=Math.min(Math.ceil(u+S),v-1),E=Math.min(Math.ceil(f+C),_-1),D=Math.max(Math.floor(d-C),0),O=h[D-1]||0,k=p[w-1]||0,A=h[E],M=p[T];e.translateWithPrecisionRatio(j,j),e.beginPath(),e.moveToByPrecision(O,k),e.lineToByPrecision(A,k),e.moveToByPrecision(O,k),e.lineToByPrecision(O,M),e.closePathByEnv(),e.stroke();let N=[],P=c;for(let t=w;t<=T;t++){if(s.getRowVisible(t)===!1?P<t?(N.push({startRow:P,endRow:t-1,startColumn:d,endColumn:f}),P=t+1):P===t&&(P=t+1):t===u&&P<=t&&N.push({startRow:P,endRow:t,startColumn:d,endColumn:f}),t<0||t>v-1)continue;let n=p[t];e.beginPath(),e.moveToByPrecision(O,n),e.lineToByPrecision(A,n),e.closePathByEnv(),e.stroke()}for(let t=D;t<=E;t++){if(t<0||t>_-1)continue;let n=h[t];e.beginPath(),e.moveToByPrecision(n,k),e.lineToByPrecision(n,M),e.closePathByEnv(),e.stroke()}let I=[];for(let e of N){let t=n.getCurrentRowColumnSegmentMergeData(e);I.push(...t)}this._clearRectangle(e,p,h,I),this._clearRectangle(e,p,h,i.toNativeArray()),e.restore()}_clearRectangle(e,t,n,r){if(r!=null)for(let c of r){var i,a,o,s;let{startRow:r,endRow:l,startColumn:u,endColumn:d}=c,f=(i=t[r-1])==null?0:i,p=(a=t[l])==null?t[t.length-1]:a,m=(o=n[u-1])==null?0:o,h=(s=n[d])==null?n[n.length-1]:s;e.clearRectByPrecision(m,f,h-m,p-f),e.beginPath(),e.moveToByPrecision(m,f),e.lineToByPrecision(h,f),e.lineToByPrecision(h,p),e.lineToByPrecision(m,p),e.lineToByPrecision(m,f),e.stroke(),e.closePath()}}testShowRuler(e,t){let{cacheBound:n}=t,{rowHeaderWidth:r,columnHeaderHeight:i}=this.getSkeleton(),{left:a,top:o,right:s,bottom:c}=n,l=e=>e+(100-e%100),u=l(a),d=l(s),f=l(o),p=l(c);e.save(),e.beginPath(),e.strokeStyle=`#000000`,e.fillStyle=`#000000`,e.font=`16px Arial`,e.lineWidth=1,e.textAlign=`center`,e.textBaseline=`middle`;for(let t=u;t<=d;t+=50)e.beginPath(),e.strokeStyle=t%100==0?`red`:`#aaa`,e.moveTo(t-r,o-i),e.lineTo(t-r,c-i),e.stroke(),e.closePath();for(let t=f;t<=p;t+=50)e.beginPath(),e.strokeStyle=t%100==0?`red`:`#aaa`,e.moveTo(a-r,t-i),e.lineTo(s-r,t-i),e.stroke(),e.closePath();e.fillStyle=`#666`;for(let t=u;t<=d;t+=100)for(let n=f;n<=p;n+=100)e.fillText(`${t},${n}`,t-r,n-i);e.closePath(),e.restore()}testGetRandomLightColor(){let e=`#`;for(let t=0;t<6;t++)e+=`ABCDEF`[Math.floor(Math.random()*6)];let t=Number.parseInt(e.substring(1,3),16),n=Number.parseInt(e.substring(3,5),16),r=Number.parseInt(e.substring(5,7),16);return t+n+r<610?this.testGetRandomLightColor():e}};let gc=function(e){return e.UserInfo=`userInfo`,e.Text=`text`,e.Image=`image`,e}({});function _c(e,t,n,r){let i=t.type,a=t.config;i===gc.UserInfo&&a.userInfo?vc(e,a.userInfo,r):i===gc.Image&&a.image?bc(e,a.image,n):i===gc.Text&&a.text&&yc(e,a.text)}function vc(e,t,n){let{x:r,y:i,repeat:a,spacingX:o,spacingY:s,rotate:c,opacity:l,name:u,fontSize:d,color:f,bold:p,italic:m,direction:h}=t;if(!n)return;let g=``;if(u&&(g+=`${n.name} `),!g)return;e.save(),e.globalAlpha=l,e.direction=h;let _=``;if(m&&(_+=`italic `),p&&(_+=`bold `),_+=`${d}px Arial`,e.font=_,e.fillStyle=f,a){let t=e.canvas.width,n=e.canvas.height;for(let a=i;a<n;a+=d+s)for(let n=r;n<t;n+=e.measureText(g).width+o)e.save(),e.translate(n,a),e.rotate(Math.PI/180*c),e.fillText(g,0,0),e.restore()}else e.save(),e.translate(r,i),e.rotate(Math.PI/180*c),e.fillText(g,0,0),e.restore();e.restore()}function yc(e,t){let{x:n,y:r,repeat:i,spacingX:a,spacingY:o,rotate:s,opacity:c,content:l,fontSize:u,color:d,bold:f,italic:p,direction:m}=t;e.save(),e.globalAlpha=c,e.direction=m;let h=``;if(p&&(h+=`italic `),f&&(h+=`bold `),h+=`${u}px Arial`,e.font=h,e.fillStyle=d,l)if(i){let t=e.canvas.width,i=e.canvas.height;for(let c=r;c<i;c+=u+o)for(let r=n;r<t;r+=e.measureText(l).width+a)e.save(),e.translate(r,c),e.rotate(Math.PI/180*s),e.fillText(l,0,0),e.restore()}else e.save(),e.translate(n,r),e.rotate(Math.PI/180*s),e.fillText(l,0,0),e.restore();e.restore()}function bc(e,t,n){let{x:r,y:i,repeat:a,spacingX:o,spacingY:s,rotate:c,opacity:l,width:u,height:d,maintainAspectRatio:f,originRatio:p}=t;if(!(n!=null&&n.complete))return;e.save(),e.globalAlpha=l;let m=u,h=f?u/p:d;if(a){let t=e.canvas.width,a=e.canvas.height;for(let l=i;l<a;l+=h+s)for(let i=r;i<t;i+=m+o)e.save(),e.translate(i,l),e.rotate(Math.PI/180*c),e.drawImage(n,0,0,m,h),e.restore()}else e.save(),e.translate(r,i),e.rotate(Math.PI/180*c),e.drawImage(n,0,0,m,h),e.restore();e.restore()}var xc=class extends l.Disposable{constructor(e,t=[],n=1,r=!1){super(),this._scene=e,this._zIndex=n,this._allowCache=r,U(this,`_objects`,[]),U(this,`_cacheCanvas`,void 0),U(this,`_dirty`,!0),U(this,`_debounceDirtyFunc`,void 0),this.addObjects(t),this._allowCache&&this._initialCacheCanvas()}get scene(){return this._scene}get zIndex(){return this._zIndex}enableCache(){this._allowCache=!0,this._initialCacheCanvas()}disableCache(){var e;this._allowCache=!1,(e=this._cacheCanvas)==null||e.dispose(),this._cacheCanvas=null}isAllowCache(){return this._allowCache}getObjectsByOrder(){let e=[];this._objects.sort(l.sortRules);for(let t of this._objects)!t.isInGroup&&t.visible&&e.push(t);return e}getObjectsByOrderForPick(){let e=[];this._objects.sort(l.sortRules);for(let t of this._objects)t.visible&&t.evented&&e.push(t);return e}getObjects(){return this._objects}addObject(e){if(e.classType===O.GROUP){let t=e.getObjects();for(let e of t)this.scene.getObject(e.oKey)||(this._objects.push(e),this.scene.setObjectBehavior(e),this._layerBehavior(e))}return this._objects.push(e),this.scene.setObjectBehavior(e),this._layerBehavior(e),this.makeDirty(!0),this}removeObject(e){let t=this.getObjects(),n=t.length;if(e instanceof rn){for(let r=0;r<n;r++)if(t[r]===e){t.splice(r,1);return}}else for(let r=0;r<n;r++)if(t[r].oKey===e){t.splice(r,1);return}}addObjects(e){return e.forEach(e=>{this.addObject(e)}),this}removeObjects(e){let t=this.getObjects(),n=t.length;for(let r=n-1;r>=0;r--){let n=t[r],i=e.length;if(i===0)break;for(let a=0;a<i;a++){let i=e[a];if(n=i instanceof rn?n:n.oKey,n===i){t.splice(r,1);break}}}}makeDirty(e=!0){this._dirty=e;let t=this.scene.getParent();return t.classType===O.SCENE_VIEWER&&t.makeDirty(!0),this}makeDirtyWithDebounce(e=!0){this._debounceDirtyFunc&&this._debounceDirtyFunc(),this._debounceDirtyFunc=(0,l.requestImmediateMacroTask)(()=>{this.makeDirty(e),this._debounceDirtyFunc=null})}isDirty(){return this._dirty}render(e,t=!1){var n;let r=e||((n=this._scene.getEngine())==null?void 0:n.getCanvas().getContext());if(r)if(this._allowCache&&this._cacheCanvas){if(this.isDirty()){let e=this._cacheCanvas.getContext();this._cacheCanvas.clear(),e.save(),e.setTransform(r.getTransform()),this._draw(e,t),e.restore()}this._applyCache(r)}else r.save(),this._draw(r,t),r.restore();return this.makeDirty(!1),this}_layerBehavior(e){this.disposeWithMe((0,l.toDisposable)(e.onTransformChange$.subscribeEvent(()=>{this.makeDirty(!0)}))),e.layer=this}_initialCacheCanvas(){let e=this.scene.getEngine();e&&this.disposeWithMe(e.onTransformChange$.subscribeEvent(()=>{this._resizeCacheCanvas()})),this._cacheCanvas=new un({colorService:e==null?void 0:e.canvasColorService})}_draw(e,t){let n=this._scene.getViewports().filter(e=>e.shouldIntoRender()),r=this.getObjectsByOrder();for(let[i,a]of n.entries())a.render(e,r,t);r.forEach(e=>{var t;e.makeDirty(!1),(t=e.makeForceDirty)==null||t.call(e,!1)})}_applyCache(e){if(!e||this._cacheCanvas==null)return;let t=this._cacheCanvas.getWidth(),n=this._cacheCanvas.getHeight();t!==0&&n!==0&&e.drawImage(this._cacheCanvas.getCanvasEle(),0,0,t,n)}_resizeCacheCanvas(){let e=this._scene.getEngine();if(e){var t;(t=this._cacheCanvas)==null||t.setSize(e.width,e.height)}this.makeDirty(!0)}clear(){this._objects=[]}dispose(){var e,t;super.dispose(),[...this.getObjects()].forEach(e=>{e.dispose()}),this.clear(),(e=this._debounceDirtyFunc)==null||e.call(this),this._debounceDirtyFunc=null,(t=this._cacheCanvas)==null||t.dispose(),this._cacheCanvas=null}},Sc=class extends xc{constructor(...e){super(...e),U(this,`_config`,void 0),U(this,`_image`,void 0),U(this,`_user`,void 0)}render(e,t=!1){var n;super.render(e,t);let r=e||((n=this.scene.getEngine())==null?void 0:n.getCanvas().getContext());return r&&r.getId()&&this._renderWatermark(r),this}updateConfig(e,t){var n;this._config=e,((n=this._config)==null?void 0:n.type)===gc.Image&&this._config.config.image&&(this._image=new Image,this._image.src=this._config.config.image.url),t&&(this._user=t)}_renderWatermark(e){this._config&&_c(e,this._config,this._image,this._user)}};function Cc(e,t,n){e.onPointerEnter$.subscribeEvent(n=>{t(e,n)}),e.onPointerLeave$.subscribeEvent(t=>{n(e,t)})}var wc=class extends rn{constructor(e,t){super(e),U(this,`_subScenes`,new Map),U(this,`_activeSubScene`,void 0),U(this,`_allowSelectedClipElement`,!1),this._initialProps(t)}get classType(){return O.SCENE_VIEWER}render(e,t){var n;if(!this.visible)return this.makeDirty(!1),this;if(t){let{left:e,top:n,right:r,bottom:i}=t.cacheBound||t.viewBound;if(this.width+this.strokeWidth+this.left<e||r<this.left||this.height+this.strokeWidth+this.top<n||i<this.top)return this}let r=this.transform.getMatrix();return e.save(),e.transform(r[0],r[1],r[2],r[3],r[4],r[5]),(n=this._activeSubScene)==null||n.makeDirtyNoParent(!0).render(e),e.restore(),this.makeDirty(!1),this}getSubScenes(){return this._subScenes}getActiveSubScene(){return this._activeSubScene}getSubScene(e){for(let[t,n]of this._subScenes)if(t===e)return n}addSubScene(e){this._activeSubScene=e,this._subScenes.set(e.sceneKey,e),this.makeDirty()}removeSubScene(e){let t=this._subScenes.get(e);this._subScenes.delete(e),this._activeSubScene===t&&(this._activeSubScene=this._subScenes.values().next().value),this.makeDirty()}activeSubScene(e){if(e==null)return;let t=this._subScenes.get(e);this._activeSubScene!==t&&(this._activeSubScene=t,this.makeDirty())}enableSelectedClipElement(){this._allowSelectedClipElement=!0}disableSelectedClipElement(){this._allowSelectedClipElement=!1}allowSelectedClipElement(){return this._allowSelectedClipElement}pick(e){var t;if(this._activeSubScene===void 0)return;let n=this.transform.invert().applyPoint(e);return(t=this._activeSubScene)==null?void 0:t.pick(n)}dispose(){super.dispose(),this._subScenes.forEach(e=>{e.dispose()})}_initialProps(e){if(!e)return;let t=Object.keys(e);if(t.length===0)return;let n={},r=!1;t.forEach(t=>{if(e[t]===void 0)return!0;n[t]=e[t],r=!0}),r&&this.transformByState(n),this.makeDirty(!0)}};let Tc=function(e){return e.LEFT=`__slideNavigationLeft__`,e.RIGHT=`__slideNavigationRight__`,e}({});const Ec=`M512 1024C229.248 1024 0 794.752 0 512S229.248 0 512 0s512 229.248 512 512-229.248 512-512 512z m200.746667-478.506667l1.749333-1.664 30.165333-30.165333-330.496-330.581333a42.837333 42.837333 0 0 0-60.288 0 42.538667 42.538667 0 0 0 0 60.330666l270.08 270.165334-270.08 269.952a42.496 42.496 0 0 0 0 60.288c16.64 16.64 43.861333 16.469333 60.288 0.042666l298.581334-298.368z`;var Dc=class extends wc{constructor(...e){super(...e),U(this,`slideChangePageByNavigation$`,new l.EventSubject),U(this,`subSceneChanged$`,new l.EventSubject),U(this,`_navigationEnabled`,!1)}activeFirstPage(){let e=this.getSubScenes().keys().next().value;e!=null&&this.changePage(e)}addPageScene(e){let t=e.sceneKey;this.getSubScene(t)||this.addSubScene(e),this.addNavigation(),this.subSceneChanged$.emitEvent(e)}changePage(e){e!==null&&(this.removeNavigation(),this.activeSubScene(e),this.addNavigation())}hasPage(e){return this.getSubScene(e)}addNavigation(){let e=this.getActiveSubScene();if(e==null||this._navigationEnabled===!1)return;let t=new ac(Tc.LEFT,{data:Ec,width:60,height:60,left:90,top:(this.height-30)/2,fill:this._getArrowColor(),flipX:!0}),n=new ac(Tc.RIGHT,{data:Ec,width:60,height:60,left:this.width-90,top:(this.height-30)/2,fill:this._getArrowColor()}),r=(e,t)=>{e.setCursor(C.POINTER),e.setProps({fill:this._getArrowColor(!0)})},i=(e,t)=>{e.setCursor(C.DEFAULT),e.setProps({fill:this._getArrowColor()})};Cc(t,r,i),Cc(n,r,i),this._addNavTrigger(t,n),e.addObjects([t,n],7)}removeNavigation(){var e,t;let n=this.getActiveSubScene();n==null||this._navigationEnabled===!1||((e=n.getObject(Tc.LEFT))==null||e.dispose(),(t=n.getObject(Tc.RIGHT))==null||t.dispose())}enableNav(){this._navigationEnabled=!0}disableNav(){this._navigationEnabled=!1}hiddenNav(){var e,t;let n=this.getActiveSubScene();n==null||this._navigationEnabled===!1||((e=n.getObject(Tc.LEFT))==null||e.hide(),(t=n.getObject(Tc.RIGHT))==null||t.hide())}showNav(){var e,t;let n=this.getActiveSubScene();n==null||this._navigationEnabled===!1||((e=n.getObject(Tc.LEFT))==null||e.show(),(t=n.getObject(Tc.RIGHT))==null||t.show())}renderToThumb(e,t,n=1,r=1){let i=this.getSubScene(t);i!=null&&(e.save(),e.scale(n,r),i.makeDirtyNoParent(!0).render(e),e.restore())}_getSubScenesIndex(e){if(e==null)return;let t=Array.from(this.getSubScenes()),n=t.length,r=0;for(let i=0;i<n;i++){let[n]=t[i];if(e===n){r=i;break}}let i=r+1,a=r-1;return i=i>=n?0:i,a=a<0?n-1:a,{nextScene:t[i][1],previousScene:t[a][1]}}_addNavTrigger(e,t){e.onPointerDown$.subscribeEvent(()=>{var e;let t=this._getSubScenesIndex((e=this.getActiveSubScene())==null?void 0:e.sceneKey),n=t==null?void 0:t.previousScene.sceneKey;this.changePage(n),this.slideChangePageByNavigation$.emitEvent(n)}),t.onPointerDown$.subscribeEvent(()=>{var e;let t=this._getSubScenesIndex((e=this.getActiveSubScene())==null?void 0:e.sceneKey),n=t==null?void 0:t.nextScene.sceneKey;this.changePage(n),this.slideChangePageByNavigation$.emitEvent(n)})}_getArrowColor(e=!1){return e?F(l.COLORS.white,.8):F(l.COLORS.white,.5)}},Oc=class e extends Us{constructor(e,t,n){super(e,t,n),U(this,`_drawLiquid`,void 0),this._drawLiquid=new Cr,this.makeDirty(!0)}static create(t,n,r){return new e(t,n,r)}draw(e,t){var n,r;let i=(n=this.getSkeleton())==null?void 0:n.getSkeletonData(),a=(r=this.getSkeleton())==null?void 0:r.getViewModel().getDataModel();if(i==null||a==null)return;let{documentFlavor:o}=a.getSnapshot().documentStyle;if(o!==l.DocumentFlavor.TRADITIONAL)return;this._drawLiquid.reset();let{pages:s}=i,c=0,u=0;for(let n=0,r=s.length;n<r;n++){let r=s[n];if(this.isSkipByDiffBounds(r,c,u,t)){let{x:e,y:t}=this._drawLiquid.translatePage(r,this.pageLayoutType,this.pageMarginLeft,this.pageMarginTop);u+=e,c+=t;continue}let{width:i,pageWidth:a,height:o,pageHeight:l,originMarginTop:d,originMarginBottom:f,marginLeft:p,marginRight:m}=r;e.save(),e.translate(u-.5,c-.5);let h={width:a==null?i:a,height:l==null?o:l,strokeWidth:1,stroke:`rgba(198, 198, 198, 1)`,fill:`rgba(255, 255, 255, 1)`,zIndex:3};ec.drawWith(e,h);let g={dataArray:[{command:`M`,points:[p-15,d]},{command:`L`,points:[p,d]},{command:`L`,points:[p,d-15]},{command:`M`,points:[a-m+15,d]},{command:`L`,points:[a-m,d]},{command:`L`,points:[a-m,d-15]},{command:`M`,points:[p-15,l-f]},{command:`L`,points:[p,l-f]},{command:`L`,points:[p,l-f+15]},{command:`M`,points:[a-m+15,l-f]},{command:`L`,points:[a-m,l-f]},{command:`L`,points:[a-m,l-f+15]}],strokeWidth:1.5,stroke:`rgba(158, 158, 158, 1)`};ac.drawWith(e,g),e.restore();let{x:_,y:v}=this._drawLiquid.translatePage(r,this.pageLayoutType,this.pageMarginLeft,this.pageMarginTop);u+=_,c+=v}}changeSkeleton(e){return this.setSkeleton(e),this}_draw(e,t){this.draw(e,t)}},kc=class extends rn{constructor(e,t=e=>{},n){super(e),this._render=t,this._isHitCustom=n}toJson(){return{...super.toJson()}}render(e,t){if(!this.visible)return this.makeDirty(!1),this;if(t&&!this.isInGroup){let{top:e,left:n,bottom:r,right:i}=t.viewBound;if(this.width+this.strokeWidth<n||i<0||this.height+this.strokeWidth<e||r<0)return this}let n=this.transform.getMatrix();return e.save(),e.transform(n[0],n[1],n[2],n[3],n[4],n[5]),this._render(e),e.restore(),this.makeDirty(!1),this}isHit(e){return this._isHitCustom?this._isHitCustom(e):super.isHit(e)}},Ac=class extends rn{constructor(e,...t){super(e),U(this,`_objects`,[]),U(this,`_selfSizeMode`,!1),this.addObjects(...t)}get classType(){return O.GROUP}set cursor(e){this.setCursor(e)}getState(){return this._selfSizeMode?super.getState():Lt(this.left,this.top,this._objects.map(e=>e.getState()))}get width(){return this._selfSizeMode?super.width:this.getState().width||0}get height(){return this._selfSizeMode?super.height:this.getState().height||0}set width(e){if(this._selfSizeMode){super.width=e;return}let t=e-this.width;this._objects.forEach(e=>{e.resize(e.width+t)})}set height(e){if(this._selfSizeMode){super.height=e;return}let t=e-this.height;this._objects.forEach(e=>{e.resize(void 0,e.height+t)})}get maxZIndex(){let e=0;for(let t of this._objects)e=Math.max(e,t.zIndex);return e}openSelfSizeMode(){this._selfSizeMode=!0}closeSelfSizeMode(){this._selfSizeMode=!1}reCalculateObjects(){if(this._selfSizeMode)return;let{left:e=0,top:t=0}=this.getState();for(let n of this._objects)n.transformByState({left:n.left-e,top:n.top-t});this.transformByState({left:e,top:t})}addObjects(...e){for(let t of e)this.addObject(t)}addObject(e){let t=e;if(le(e)){let n=this.getScene();if(t=n==null?void 0:n.getObject(e),!t)return;t.parent=this,t.isInGroup=!0,t.groupKey=this.oKey,this._objects.push(t)}else e.parent=this,e.isInGroup=!0,e.groupKey=this.oKey,this._objects.push(e)}removeObject(e){let t=this.getObjects(),n=t.length;if(le(e))for(let r=0;r<n;r++){let n=t[r];if(n.oKey===e){t.splice(r,1),this.parent.removeObject(n);return}}else for(let r=0;r<n;r++){let n=t[r];if(n===e){t.splice(r,1),this.parent.removeObject(n);return}}}removeSelfObjectAndTransform(e,t,n,r=!1){let i=[...this.getObjects()],a=i.length;t==null&&(t=this.width),n==null&&(n=this.height);for(let o=0;o<a;o++){let a=i[o];if(a.oKey===e){i.splice(o,1),r&&this._transformObject(a,t,n),a.parent=this.parent,a.groupKey=void 0,a.isInGroup=!1,this._objects=i;return}}}_transformObject(e,t,n){let r=zt(e.getState(),this.getState(),t,n);e.classType===O.GROUP?e.transformByState({left:r.left,top:r.top}):e.transformByState(r)}getObjectsByOrder(){let e=[];this._objects.sort(l.sortRules);for(let t of this._objects)t.visible&&e.push(t);return e}getObjects(){return this._objects}render(e,t){e.save();let n=this.transform.getMatrix();e.transform(n[0],n[1],n[2],n[3],n[4],n[5]);let r=this.getObjectsByOrder();for(let n=0;n<r.length;n++)r[n].render(e,t);e.restore()}_clear(){this._objects=[]}dispose(){[...this.getObjects()].forEach(e=>{e.dispose()}),this._clear(),super.dispose()}},jc=class extends Ac{constructor(...e){super(...e),U(this,`_selfSizeMode`,!0),U(this,`_baseBound`,{left:0,top:0,width:0,height:0})}setBaseBound(e){this._baseBound={...e}}getBaseBound(){return{...this._baseBound}}get ancestorTransform(){let{left:e,top:t,width:n,height:r}=this.getRealBound(),i=this.transform.getMatrix(),a=e+n/2,o=t+r/2,s=new Y([i[0],i[1],i[2],i[3],a,o]),c=this.getParent();return this.isInGroup&&(c==null?void 0:c.classType)===O.GROUP?c.ancestorTransform.multiply(s):s}render(e,t){let{left:n,top:r,width:i,height:a}=this.getRealBound();e.save();let o=this.transform.getMatrix(),s=n+i/2,c=r+a/2;e.transform(o[0],o[1],o[2],o[3],s,c);let l=this.getObjectsByOrder();for(let n=0;n<l.length;n++)l[n].render(e,t);e.restore()}addObjects(...e){for(let t of e)this.addObject(t)}isHit(e){let{left:t,top:n,width:r,height:i}=this.getRealBound(),a=this.transform.getMatrix(),o=t+r/2,s=n+i/2,c=new Y([a[0],a[1],a[2],a[3],o,s]),l=this.getParent(),u=(this.isInGroup&&(l==null?void 0:l.classType)===O.GROUP?l.ancestorTransform.multiply(c):c).invert().applyPoint(e),d=r/2,f=i/2;if(u.x<-d||u.x>d||u.y<-f||u.y>f)return!1;let p=this.getObjectsByOrder();for(let t=0;t<p.length;t++)if(p[t].isHit(e))return!0;return!1}dispose(){let e=[...this.getObjects()],t=this.getScene();e.forEach(e=>{e.dispose(),t==null||t.removeObject(e)}),this._objects=[],super.dispose(),t==null||t.removeObject(this)}};function Mc(e){return new d.Observable(t=>{let n=Fc(e,()=>t.next());return()=>n()})}function Nc(e,t){let n=null,r,i=(0,g.getDocumentElement)(e);function a(){clearTimeout(r),n==null||n.disconnect(),n=null}function o(s=!1,c=1){a();let{left:l,top:u,width:d,height:f}=e.getBoundingClientRect();if(s||t(),!d||!f)return;let p=(0,h.floor)(u),m=(0,h.floor)(i.clientWidth-(l+d)),g=(0,h.floor)(i.clientHeight-(u+f)),_=(0,h.floor)(l),v={rootMargin:`${-p}px ${-m}px ${-g}px ${-_}px`,threshold:(0,h.max)(0,(0,h.min)(1,c))||1},y=!0;function b(e){let t=e[0].intersectionRatio;if(t!==c){if(!y)return o();t?o(!1,t):r=setTimeout(()=>{o(!1,1e-7)},1e3)}y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function Pc(e){return e.getBoundingClientRect()}function Fc(e,t){let n=e,r=[...n?(0,m.getOverflowAncestors)(n):[]];r.forEach(e=>{e.addEventListener(`scroll`,t,{passive:!0}),e.addEventListener(`resize`,t)});let i=n?Nc(n,t):null,a=null,o=null;function s(){let n=Pc(e);o&&(n.x!==o.x||n.y!==o.y||n.width!==o.width||n.height!==o.height)&&t(),o=n,requestAnimationFrame(s)}return t(),()=>{r.forEach(e=>{e.removeEventListener(`scroll`,t),e.removeEventListener(`resize`,t)}),i==null||i(),a==null||a.disconnect(),a=null}}const Ic=(0,l.createIdentifier)(`univer.engine-render.canvas-color.service`);var Lc=class{getRenderColor(e){return e}};let Rc=class extends l.Disposable{constructor(e){super(),this._themeService=e,U(this,`_cache`,new Map),U(this,`_invertAlgo`,l.invertColorByMatrix)}getRenderColor(e){if(!this._themeService.darkMode)return e;if(this._cache.has(e))return this._cache.get(e);let t=``;if(e.startsWith(`#`)){if(t=Bc(this._invertAlgo(zc(e))),e.length===5){let n=e.charAt(4);t+=n+n}else if(e.length===9){let n=e.substring(7,9);t+=n}}else if(e.startsWith(`rgba`)){let n=e.slice(5,-1).split(`,`),r=this._invertAlgo(n.slice(0,3).map(Number));t=`rgba(${r[0]},${r[1]},${r[2]},${n[3]})`}else if(e.startsWith(`rgb`)){let n=e.slice(4,-1).split(`,`),r=this._invertAlgo(n.map(Number));t=`rgb(${r[0]},${r[1]},${r[2]})`}else if(this._themeService.isValidThemeColor(e))return this._themeService.getColorFromTheme(e);else if(new l.ColorKit(e).isValid){let{r:n,g:r,b:i,a}=new l.ColorKit(e).toRgb(),o=this._invertAlgo([n,r,i]);t=`rgba(${o[0]},${o[1]},${o[2]}, ${a})`}else throw Error(`[CanvasColorService]: illegal color "${e}"`);return this._cache.set(e,t),t}};Rc=Os([Ds(0,(0,l.Inject)(l.ThemeService))],Rc);function zc(e){let t=e.replace(/^#/,``),n,r,i;return t.length===3||t.length===4?(n=Number.parseInt(t.charAt(0)+t.charAt(0),16),r=Number.parseInt(t.charAt(1)+t.charAt(1),16),i=Number.parseInt(t.charAt(2)+t.charAt(2),16)):(n=Number.parseInt(t.substring(0,2),16),r=Number.parseInt(t.substring(2,4),16),i=Number.parseInt(t.substring(4,6),16)),[n,r,i]}function Bc(e){let t=Math.round(e[0]),n=Math.round(e[1]),r=Math.round(e[2]);return`#${t.toString(16).padStart(2,`0`)}${n.toString(16).padStart(2,`0`)}${r.toString(16).padStart(2,`0`)}`}let Vc=class extends l.Disposable{get clientRect$(){return this._rect$||(this._rect$=new d.Observable(e=>{if(!this._container)throw Error(`[Engine]: cannot subscribe to rect changes when container is not set!`);let t=Mc(this._container).subscribe(()=>e.next());return()=>{t.unsubscribe(),this._rect$=null}})).pipe((0,d.shareReplay)(1))}get unitId(){return this._unitId}get elapsedTime(){return l.Tools.now()-this._renderStartTime}get width(){return this.getCanvas().getWidth()}get height(){return this.getCanvas().getHeight()}get classType(){return O.ENGINE}get activeScene(){return this._activeScene}constructor(e,t,n){super(),this.canvasColorService=n,U(this,`renderEvenInBackground`,!0),U(this,`_beginFrame$`,new d.Subject),U(this,`beginFrame$`,this._beginFrame$.asObservable()),U(this,`_endFrame$`,new d.Subject),U(this,`endFrame$`,this._endFrame$.asObservable()),U(this,`renderFrameTimeMetric$`,new d.Subject),U(this,`renderFrameTags$`,new d.Subject),U(this,`onInputChanged$`,new l.EventSubject),U(this,`onTransformChange$`,new l.EventSubject),U(this,`_scenes`,{}),U(this,`_activeScene`,null),U(this,`_renderStartTime`,0),U(this,`_rect$`,null),U(this,`_container`,void 0),U(this,`_canvas`,void 0),U(this,`_renderingQueueLaunched`,!1),U(this,`_renderFrameTasks`,[]),U(this,`_requestNewFrameHandler`,-1),U(this,`_frameId`,-1),U(this,`_usingSafari`,ne()),U(this,`_resizeObserver`,void 0),U(this,`_fps`,60),U(this,`_deltaTime`,0),U(this,`_performanceMonitor`,void 0),U(this,`_pointerClickEvent`,void 0),U(this,`_pointerDblClickEvent`,void 0),U(this,`_pointerMoveEvent`,void 0),U(this,`_pointerDownEvent`,void 0),U(this,`_pointerUpEvent`,void 0),U(this,`_pointerOutEvent`,void 0),U(this,`_pointerCancelEvent`,void 0),U(this,`_pointerBlurEvent`,void 0),U(this,`_pointerWheelEvent`,void 0),U(this,`_pointerEnterEvent`,void 0),U(this,`_pointerLeaveEvent`,void 0),U(this,`_dragEnterEvent`,void 0),U(this,`_dragLeaveEvent`,void 0),U(this,`_dragOverEvent`,void 0),U(this,`_dropEvent`,void 0),U(this,`_remainCapture`,-1),U(this,`_pointerPosRecord`,{}),U(this,`_mouseId`,-1),U(this,`_isUsingFirefox`,navigator.userAgent.indexOf(`Firefox`)!==-1),U(this,`_previousWidth`,-1e3),U(this,`_previousHeight`,-1e3),U(this,`_unitId`,``),U(this,`_resizeListenerDisposable`,void 0),U(this,`_renderFunction`,e=>{let t=!0;this.renderEvenInBackground||(t=!1),t&&(this._beginFrame(e),this._renderFrame(e),this._endFrame(e)),this._renderFrameTasks.length>0?this._requestNewFrameHandler=L(this._renderFunction):this._renderingQueueLaunched=!1}),this._unitId=e==null?``:e;let r=Object.assign({},{elementHeight:1,elementWidth:1,renderMode:ln.Rendering,dpr:1},t);this._canvas=new un({mode:r.renderMode,width:r.elementWidth,height:r.elementHeight,pixelRatio:r.dpr,colorService:this.canvasColorService}),this._performanceMonitor=new Yt,this._handleKeyboardAction(),this._handlePointerAction(),this._handleDragAction(),r.renderMode!==ln.Printing&&this._matchMediaHandler()}getScenes(){return this._scenes}getScene(e){return this._scenes[e]}hasScene(e){return e in this._scenes}addScene(e){let t=e.sceneKey;return this.hasScene(t)&&console.warn(`Scenes has same key, it will be covered`),this._scenes[t]=e,e}setActiveScene(e){let t=this.getScene(e);return t&&(this._activeScene=t),t}hasActiveScene(){return this._activeScene!=null}get requestNewFrameHandler(){return this._requestNewFrameHandler}get frameId(){return this._frameId}setCanvasCursor(e){let t=this.getCanvas().getCanvasEle();t.style.cursor=e}clearCanvas(){this.getCanvas().clear()}getCanvas(){return this._canvas}getCanvasElement(){return this.getCanvas().getCanvasEle()}setCapture(){try{this.getCanvasElement().setPointerCapture(this._remainCapture)}catch{console.warn(`no capture`)}}getPixelRatio(){return this.getCanvas().getPixelRatio()}mount(e,t=!0){this.setContainer(e,t)}unmount(){if(this._clearResizeListener(),!this._container)throw Error(`[Engine]: cannot unmount when container is not set!`);this._container.removeChild(this.getCanvasElement()),this._container=null}setContainer(e,t=!0){if(this._container!==e&&(this._container=e,this._container.appendChild(this.getCanvasElement()),this._clearResizeListener(),t)){this.resize();let e;this._resizeObserver=new ResizeObserver(()=>{e||(e=window.requestIdleCallback(()=>{this.resize(),e=void 0}))}),this._resizeObserver.observe(this._container),this._resizeListenerDisposable=(0,l.toDisposable)(()=>{this._resizeObserver.unobserve(this._container),e!==void 0&&window.cancelIdleCallback(e)})}}_clearResizeListener(){var e;(e=this._resizeListenerDisposable)==null||e.dispose(),this._resizeListenerDisposable=void 0}resize(){if(!this._container)return;let{width:e,height:t}=Qe(this._container);e===this._previousWidth&&t===this._previousHeight||(this._previousWidth=e,this._previousHeight=t,this.resizeBySize(e,t))}dprChange(){let e=this._previousWidth,t=this._previousHeight;this.resizeBySize(e,t)}resizeBySize(e,t){let n=this.width,r=this.height;this.getCanvas().setSize(e,t),this.onTransformChange$.emitEvent({type:J.resize,value:{width:e,height:t},preValue:{width:n,height:r}})}dispose(){var e;super.dispose();let t={...this.getScenes()};Object.keys(t).forEach(e=>{t[e].dispose()}),this._scenes={};let n=te(),r=this.getCanvasElement();r.removeEventListener(`click`,this._pointerClickEvent),r.removeEventListener(`dblclick`,this._pointerDblClickEvent),r.removeEventListener(`${n}leave`,this._pointerLeaveEvent),r.removeEventListener(`${n}enter`,this._pointerEnterEvent),r.removeEventListener(`${n}move`,this._pointerMoveEvent),r.removeEventListener(`${n}down`,this._pointerDownEvent),r.removeEventListener(`${n}up`,this._pointerUpEvent),r.removeEventListener(`${n}out`,this._pointerOutEvent),r.removeEventListener(`${n}cancel`,this._pointerCancelEvent),r.removeEventListener(`blur`,this._pointerBlurEvent),r.removeEventListener(`dragenter`,this._dragEnterEvent),r.removeEventListener(`dragleave`,this._dragLeaveEvent),r.removeEventListener(`dragover`,this._dragOverEvent),r.removeEventListener(`drop`,this._dropEvent),r.removeEventListener(this._getWheelEventName(),this._pointerWheelEvent),this._renderFrameTasks=[],this._performanceMonitor.dispose(),this.getCanvas().dispose(),(e=this._resizeObserver)==null||e.disconnect(),this.onTransformChange$.complete(),this._beginFrame$.complete(),this._endFrame$.complete(),this.renderFrameTags$.complete(),this.renderFrameTimeMetric$.complete(),this._clearResizeListener(),this._container=null}addFunction2RenderLoop(e){this._renderFrameTasks.indexOf(e)===-1&&this._renderFrameTasks.push(e)}startRenderLoop(){this._renderingQueueLaunched||(this._renderStartTime=performance.now(),this._renderingQueueLaunched=!0,this._requestNewFrameHandler=L(this._renderFunction))}runRenderLoop(e){this.addFunction2RenderLoop(e),this.startRenderLoop()}stopRenderLoop(e){if(!e){this._renderFrameTasks.length=0,this._cancelFrame();return}let t=this._renderFrameTasks.indexOf(e);t>=0&&(this._renderFrameTasks.splice(t,1),this._renderFrameTasks.length===0&&this._cancelFrame())}_beginFrame(e){this._frameId++,this._beginFrame$.next(this._frameId)}_endFrame(e){this._performanceMonitor.endFrame(e),this._fps=this._performanceMonitor.averageFPS,this._deltaTime=this._performanceMonitor.instantaneousFrameTime||0,this._endFrame$.next({FPS:this.getFps(),frameTime:this.getDeltaTime(),elapsedTime:this.elapsedTime})}getFps(){return this._fps}getDeltaTime(){return this._deltaTime}_renderFrame(e){for(let e=0;e<this._renderFrameTasks.length;e++){let t=this._renderFrameTasks[e];t()}}_cancelFrame(){if(this._renderingQueueLaunched&&this._requestNewFrameHandler){if(this._renderingQueueLaunched=!1,typeof window>`u`){if(typeof cancelAnimationFrame==`function`)return cancelAnimationFrame(this._requestNewFrameHandler)}else{let{cancelAnimationFrame:e}=this._getHostWindow()||window;if(typeof e==`function`)return e(this._requestNewFrameHandler)}return clearTimeout(this._requestNewFrameHandler)}}_getHostWindow(){var e;return typeof window>`u`?null:(e=this.getCanvasElement().ownerDocument)!=null&&e.defaultView?this.getCanvasElement().ownerDocument.defaultView:window}_handleKeyboardAction(){let e=e=>{let t=e;t.deviceType=Wt.Keyboard,t.inputIndex=e.keyCode,this.onInputChanged$.emitEvent(t)},t=e=>{let t=e;t.deviceType=Wt.Keyboard,t.inputIndex=e.keyCode,this.onInputChanged$.emitEvent(t)},n=this.getCanvasElement();n.addEventListener(`keydown`,e),n.addEventListener(`keyup`,t)}_handlePointerAction(){let e=te();this._pointerClickEvent=e=>{let t=this._getPointerType(e),n=e;n.deviceType=t,this.onInputChanged$.emitEvent(n)},this._pointerDblClickEvent=e=>{let t=this._getPointerType(e),n=e;n.deviceType=t,this.onInputChanged$.emitEvent(n)},this._pointerMoveEvent=e=>{let t=e,n=this._getPointerType(t);this._pointerPosRecord[q.Horizontal]=t.clientX,this._pointerPosRecord[q.Vertical]=t.clientY,this._pointerPosRecord[q.DeltaHorizontal]=t.movementX,this._pointerPosRecord[q.DeltaVertical]=t.movementY;let r=t;r.deviceType=n,r.inputIndex=q.Horizontal,this.onInputChanged$.emitEvent(r),this._usingSafari||(r.inputIndex=t.button+2,this.onInputChanged$.emitEvent(r))},this._pointerDownEvent=e=>{let t=e,n=this._getPointerType(t),r=this._pointerPosRecord[q.Horizontal],i=this._pointerPosRecord[q.Vertical];n===Wt.Mouse?(this._mouseId===-1&&(t.pointerId===void 0?this._mouseId=this._isUsingFirefox?0:1:this._mouseId=t.pointerId),document.pointerLockElement||(this._remainCapture=this._mouseId)):t.pointerId&&!document.pointerLockElement&&(this._remainCapture=t.pointerId),this._pointerPosRecord[q.Horizontal]=t.clientX,this._pointerPosRecord[q.Vertical]=t.clientY;let a=t;a.deviceType=n,r!==t.clientX&&(a.inputIndex=q.Horizontal,this.onInputChanged$.emitEvent(a)),i!==t.clientY&&(a.inputIndex=q.Vertical,this.onInputChanged$.emitEvent(a)),a.inputIndex=t.button+2,this.onInputChanged$.emitEvent(a)},this._pointerUpEvent=e=>{let t=e,n=this._getPointerType(t),r=this._pointerPosRecord[q.Horizontal],i=this._pointerPosRecord[q.Vertical];this._pointerPosRecord[q.Horizontal]=t.clientX,this._pointerPosRecord[q.Vertical]=t.clientY;let a=t;a.deviceType=n,r!==t.clientX&&(a.inputIndex=q.Horizontal,this.onInputChanged$.emitEvent(a)),i!==t.clientY&&(a.inputIndex=q.Vertical,this.onInputChanged$.emitEvent(a)),a.inputIndex=t.button+2;let o=this.getCanvasElement();n===Wt.Mouse&&this._mouseId>=0&&o.hasPointerCapture(this._mouseId)?(this._remainCapture=this._mouseId,o.releasePointerCapture(this._mouseId)):a.pointerId&&o.hasPointerCapture(a.pointerId)&&(this._remainCapture=a.pointerId,o.releasePointerCapture(a.pointerId)),this.onInputChanged$.emitEvent(a),n!==Wt.Mouse&&(this._pointerPosRecord={})},this._pointerEnterEvent=e=>{let t=this._getPointerType(e),n=e;n.deviceType=t,this.onInputChanged$.emitEvent(n)},this._pointerLeaveEvent=e=>{let t=this._getPointerType(e),n=e;n.deviceType=t,this.onInputChanged$.emitEvent(n)},this._pointerOutEvent=e=>{let t=this._getPointerType(e),n=e;n.deviceType=t,this.onInputChanged$.emitEvent(n)},this._pointerCancelEvent=e=>{let t=this._getPointerType(e),n=e;n.deviceType=t,this.onInputChanged$.emitEvent(n)},this._pointerBlurEvent=()=>{this._mouseId>=0&&this.getCanvasElement().hasPointerCapture(this._mouseId),this._pointerPosRecord={}},this._pointerWheelEvent=e=>{let t=Wt.Mouse;this._pointerPosRecord[q.MouseWheelX]=e.deltaX||0,this._pointerPosRecord[q.MouseWheelY]=e.deltaY||e.wheelDelta||0,this._pointerPosRecord[q.MouseWheelZ]=e.deltaZ||0;let n=e;n.deviceType=t,this._pointerPosRecord[q.MouseWheelX]!==0&&(n.currentState=this._pointerPosRecord[q.MouseWheelX]),this._pointerPosRecord[q.MouseWheelY]!==0&&(n.currentState=this._pointerPosRecord[q.MouseWheelY]),this._pointerPosRecord[q.MouseWheelZ]!==0&&(n.currentState=this._pointerPosRecord[q.MouseWheelZ]),this.onInputChanged$.emitEvent(n)};let t=this.getCanvasElement();t.addEventListener(`click`,this._pointerClickEvent),t.addEventListener(`dblclick`,this._pointerDblClickEvent),t.addEventListener(`${e}enter`,this._pointerEnterEvent),t.addEventListener(`${e}leave`,this._pointerLeaveEvent),t.addEventListener(`${e}move`,this._pointerMoveEvent),t.addEventListener(`${e}down`,this._pointerDownEvent),t.addEventListener(`${e}up`,this._pointerUpEvent),t.addEventListener(`${e}out`,this._pointerOutEvent),t.addEventListener(`${e}cancel`,this._pointerCancelEvent),t.addEventListener(`blur`,this._pointerBlurEvent),t.addEventListener(this._getWheelEventName(),this._pointerWheelEvent,this._getPassive()?{passive:!1}:!1)}_handleDragAction(){this._dragEnterEvent=e=>{let t=this._getPointerType(e),n=e;n.deviceType=t,n.currentState=4,this.onInputChanged$.emitEvent(n)},this._dragLeaveEvent=e=>{let t=this._getPointerType(e),n=e;n.deviceType=t,n.currentState=5,this.onInputChanged$.emitEvent(n)},this._dragOverEvent=e=>{e.preventDefault();let t=this._getPointerType(e),n=this._pointerPosRecord[q.Horizontal],r=this._pointerPosRecord[q.Vertical];this._pointerPosRecord[q.Horizontal]=e.clientX,this._pointerPosRecord[q.Vertical]=e.clientY,this._pointerPosRecord[q.DeltaHorizontal]=e.movementX,this._pointerPosRecord[q.DeltaVertical]=e.movementY;let i=e;i.deviceType=t,n!==e.clientX&&(i.inputIndex=q.Horizontal,i.currentState=this._pointerPosRecord[q.Horizontal],this.onInputChanged$.emitEvent(i)),r!==e.clientY&&(i.inputIndex=q.Vertical,i.currentState=this._pointerPosRecord[q.Vertical],this.onInputChanged$.emitEvent(i)),this._pointerPosRecord[q.DeltaHorizontal]!==0&&(i.inputIndex=q.DeltaHorizontal,i.currentState=this._pointerPosRecord[q.DeltaHorizontal],this.onInputChanged$.emitEvent(i)),this._pointerPosRecord[q.DeltaVertical]!==0&&(i.inputIndex=q.DeltaVertical,i.currentState=this._pointerPosRecord[q.DeltaVertical],this.onInputChanged$.emitEvent(i)),this._usingSafari||(i.inputIndex=e.button+2,i.currentState=this._pointerPosRecord[e.button+2],this.onInputChanged$.emitEvent(i))},this._dropEvent=e=>{let t=this._getPointerType(e),n=e;n.deviceType=t,n.currentState=6,this.onInputChanged$.emitEvent(n)};let e=this.getCanvasElement();e.addEventListener(`dragenter`,this._dragEnterEvent),e.addEventListener(`dragleave`,this._dragLeaveEvent),e.addEventListener(`dragover`,this._dragOverEvent),e.addEventListener(`drop`,this._dropEvent)}_getWheelEventName(){return`onwheel`in document.createElement(`div`)?`wheel`:document.onmousewheel===void 0?`DOMMouseScroll`:`mousewheel`}_getPassive(){let e=!1,t=()=>{};try{let n={passive:{get(){e=!0}}},r=this.getCanvasElement();r.addEventListener(`test`,t,n),r.removeEventListener(`test`,t,n)}catch{}return e}_getPointerType(e){let t=Wt.Mouse;return(e.pointerType===`touch`||e.pointerType===`pen`||e.touches)&&(t=Wt.Touch),t}_matchMediaHandler(){var e;if(!((e=window)!=null&&e.matchMedia))return;let t=window.matchMedia(`(resolution: ${window.devicePixelRatio}dppx)`),n=()=>{this.dprChange()};t.addEventListener(`change`,n),this.disposeWithMe((0,l.toDisposable)(()=>{t.removeEventListener(`change`,n)}))}};Vc=Os([Ds(2,Ic)],Vc);var Hc=`@univerjs/engine-render`,Uc=`0.18.0`;const Wc=`engine-render.config`;Symbol(Wc);const Gc={};var Kc=class e extends l.Disposable{constructor(e){super(),U(this,`_scene`,void 0),U(this,`_alreadyAttached`,!1),U(this,`_onInput$`,void 0),U(this,`_currentMouseEnterPicked`,void 0),U(this,`_startingPosition`,new K(1/0,1/0)),U(this,`_delayedTimeout`,-1),U(this,`_delayedTripeTimeout`,-1),U(this,`_doubleClickOccurred`,0),U(this,`_tripleClickState`,!1),U(this,`_currentObject`,void 0),U(this,`_clickTimeout`,null),U(this,`_clickCount`,0),this._scene=e}dispose(){super.dispose(),this.detachControl(),this._scene=null,this._currentMouseEnterPicked=null,this._currentObject=null,this._startingPosition=null,clearTimeout(this._delayedTimeout),clearTimeout(this._delayedTripeTimeout),this._onClick=null,this._onDblClick=null,this._onPointerMove=null,this._onPointerDown=null,this._onPointerUp=null,this._onPointerEnter=null,this._onPointerLeave=null,this._onMouseWheel=null,this._onKeyDown=null,this._onKeyUp=null,this._onDragEnter=null,this._onDragLeave=null,this._onDragOver=null,this._onDrop=null}mouseLeaveEnterHandler(e){let t=this._currentObject||this.capturedObject;if(t==null){var n;(n=this._currentMouseEnterPicked)==null||n.triggerPointerLeave(e),this._currentMouseEnterPicked=null}else if(t!==this._currentMouseEnterPicked){let n=this._currentMouseEnterPicked;this._currentMouseEnterPicked=t,n==null||n.triggerPointerLeave(e),t==null||t.triggerPointerEnter(e)}}dragLeaveEnterHandler(e){let t=this._currentObject;if(t==null){var n;(n=this._currentMouseEnterPicked)==null||n.triggerDragLeave(e),this._currentMouseEnterPicked=null}else if(t!==this._currentMouseEnterPicked){let n=this._currentMouseEnterPicked;this._currentMouseEnterPicked=t,n==null||n.triggerDragLeave(e),t==null||t.triggerDragEnter(e)}}_onClick(e){e.pointerId===void 0&&(e.pointerId=0),this._clickCount++,this._clickTimeout||(this._clickTimeout=setTimeout(()=>{if(this._clickCount===1){let t=this._getObjectAtPos(e.offsetX,e.offsetY);!(t!=null&&t.triggerSingleClick(e))&&this._shouldDispatchEventToScene(t)&&this._scene.onPointerDown$.emitEvent(e)}else this._clickCount;clearTimeout(this._clickTimeout),this._clickTimeout=null,this._clickCount=0},300));let t=this._getObjectAtPos(e.offsetX,e.offsetY);!(t!=null&&t.triggerClick(e))&&this._shouldDispatchEventToScene(t)&&this._scene.onPointerDown$.emitEvent(e)}_onDblClick(e){e.pointerId===void 0&&(e.pointerId=0);let t=this._getObjectAtPos(e.offsetX,e.offsetY);!(t!=null&&t.triggerDblclick(e))&&this._shouldDispatchEventToScene(t)&&this._scene.onPointerDown$.emitEvent(e)}_onPointerEnter(e){e.pointerId===void 0&&(e.pointerId=0),this._currentObject=this._getObjectAtPos(e.offsetX,e.offsetY),this.mouseLeaveEnterHandler(e)}_onPointerLeave(e){e.pointerId===void 0&&(e.pointerId=0),this._currentObject=null,this.mouseLeaveEnterHandler(e)}_onPointerMove(e){var t;e.pointerId===void 0&&(e.pointerId=0);let n=this._currentObject=this._getObjectAtPos(e.offsetX,e.offsetY),r=(t=n||this.capturedObject)==null?void 0:t.triggerPointerMove(e);if(this.mouseLeaveEnterHandler(e),!r&&this._shouldDispatchEventToScene(n)){var i;this._scene.onPointerMove$.emitEvent(e),(i=this._scene.getEngine())==null||i.setCapture()}}_onPointerDown(e){e.pointerId===void 0&&(e.pointerId=0);let t=this._getObjectAtPos(e.offsetX,e.offsetY);!(t!=null&&t.triggerPointerDown(e))&&this._shouldDispatchEventToScene(t)&&this._scene.onPointerDown$.emitEvent(e)}_onPointerUp(e){e.pointerId===void 0&&(e.pointerId=0);let t=this._getObjectAtPos(e.offsetX,e.offsetY);!(t!=null&&t.triggerPointerUp(e))&&this._shouldDispatchEventToScene(t)&&this._scene.onPointerUp$.emitEvent(e),this._prePointerDoubleOrTripleClick(e)}_onPointerCancel(e){this._scene.onPointerCancel$.emitEvent(e);let t=this._getObjectAtPos(e.offsetX,e.offsetY);t==null||t.triggerPointerCancel(e)}_onPointerOut(e){this._scene.onPointerOut$.emitEvent(e);let t=this._getObjectAtPos(e.offsetX,e.offsetY);t==null||t.triggerPointerOut(e)}_onMouseWheel(e){let t=this._getObjectAtPos(e.offsetX,e.offsetY),n=t==null?void 0:t.triggerMouseWheel(e);this._scene.getMainViewport().onMouseWheel$.emitEvent(e),!n&&this._shouldDispatchEventToScene(t)&&this._scene.onMouseWheel$.emitEvent(e)}_onKeyDown(e){this._scene.onKeyDown$.emitEvent(e)}_onKeyUp(e){this._scene.onKeyUp$.emitEvent(e)}_onDragEnter(e){var t;this._currentObject=this._getObjectAtPos(e.offsetX,e.offsetY),(t=this._currentObject)==null||t.triggerDragOver(e),this.dragLeaveEnterHandler(e)}_onDragLeave(e){this._currentObject=null,this.dragLeaveEnterHandler(e)}_onDragOver(e){var t;this._currentObject=this._getObjectAtPos(e.offsetX,e.offsetY);let n=(t=this._currentObject)==null?void 0:t.triggerDragOver(e);if(this.dragLeaveEnterHandler(e),!n&&this._shouldDispatchEventToScene(this._currentObject)){var r;this._scene.onDragOver$.emitEvent(e),(r=this._scene.getEngine())==null||r.setCapture()}}_onDrop(e){let t=this._getObjectAtPos(e.offsetX,e.offsetY);!(t!=null&&t.triggerDrop(e))&&this._shouldDispatchEventToScene(t)&&this._scene.onDrop$.emitEvent(e)}attachControl(e){var t,n,r,i,a,o;let s=(t=e==null?void 0:e.enableDown)==null?!0:t,c=(n=e==null?void 0:e.enableUp)==null?!0:n,u=(r=e==null?void 0:e.enableMove)==null?!0:r,d=(i=e==null?void 0:e.enableWheel)==null?!0:i,f=(a=e==null?void 0:e.enableEnter)==null?!0:a,p=(o=e==null?void 0:e.enableLeave)==null?!0:o,m=this._scene.getEngine();m&&(this._onInput$=m.onInputChanged$.subscribeEvent(e=>{let t=e;if(e.deviceType===Wt.Keyboard)switch(e.type){case`keydown`:this._onKeyDown(t);break;case`keyup`:this._onKeyUp(t);break}if(e.deviceType===Wt.Mouse||e.deviceType===Wt.Touch)switch(e.type){case`wheel`:case`DOMMouseScroll`:case`mousewheel`:d&&this._onMouseWheel(t);break;case`click`:this._onClick(t);break;case`pointerout`:this._onPointerOut(t);break;case`pointercancel`:this._onPointerCancel(t);break;case`pointerleave`:this._onPointerLeave(t);break;case`pointermove`:u&&this._onPointerMove(t);break;case`pointerup`:c&&e.inputIndex>=q.LeftClick&&e.inputIndex<=q.RightClick&&this._onPointerUp(t);break;case`pointerdown`:s&&e.inputIndex>=q.LeftClick&&e.inputIndex<=q.RightClick&&this._onPointerDown(t);break}if(e.dataTransfer)switch(e.type){case`dragenter`:f&&this._onDragEnter(t);break;case`dragover`:{let n=e.inputIndex===q.Horizontal||e.inputIndex===q.Vertical||e.inputIndex===q.DeltaHorizontal||e.inputIndex===q.DeltaVertical;u&&n&&this._onDragOver(t);break}case`dragleave`:p&&this._onDragLeave(t);break;case`drop`:this._onDrop(t);break}}),this.disposeWithMe((0,l.toDisposable)(this._onInput$)),this._alreadyAttached=!0)}detachControl(){var e;this._alreadyAttached&&this._scene.getEngine()&&((e=this._onInput$)==null||e.unsubscribe(),this._alreadyAttached=!1)}_getObjectAtPos(e,t){var n;return(n=this._scene)==null?void 0:n.pick(K.FromArray([e,t]))}_shouldDispatchEventToScene(e){return e==null?!0:this._scene.objectsEvented?!1:!this._isObjectInSceneViewer(e)}_isObjectInSceneViewer(e){if(e&&e.classType===O.BASE_OBJECT){let t=e.getScene();if(t)return t.getParent().classType===O.SCENE_VIEWER}return!1}_isPointerSwiping(t,n){return Math.abs(this._startingPosition.x-t)>e.DragMovementThreshold||Math.abs(this._startingPosition.y-n)>e.DragMovementThreshold}_prePointerDoubleOrTripleClick(t){let{clientX:n,clientY:r}=t;if(this._isPointerSwiping(n,r)&&this._resetDoubleClickParam(),this._delayedTimeout=setTimeout(()=>{this._resetDoubleClickParam()},e.DoubleClickDelay),this._doubleClickOccurred+=1,this._tripleClickState){var i;(i=this._scene)==null||(i=i.pick(K.FromArray([t.offsetX,t.offsetY])))==null||i.triggerTripleClick(t),this._scene.onTripleClick$.emitEvent(t)}if(this._doubleClickOccurred===2){var a;(a=this._scene)==null||(a=a.pick(K.FromArray([t.offsetX,t.offsetY])))==null||a.triggerDblclick(t),this._scene.onDblclick$.emitEvent(t),this._resetDoubleClickParam(),this._tripleClickState=!0,clearTimeout(this._delayedTripeTimeout),this._delayedTripeTimeout=setTimeout(()=>{this._tripleClickState=!1},e.TripleClickDelay)}this._startingPosition.x=n,this._startingPosition.y=r}_resetDoubleClickParam(){this._doubleClickOccurred=0,clearTimeout(this._delayedTimeout)}get capturedObject(){return this._scene._capturedObject}};U(Kc,`DragMovementThreshold`,2),U(Kc,`LongPressDelay`,500),U(Kc,`DoubleClickDelay`,500),U(Kc,`TripleClickDelay`,300),U(Kc,`ExclusiveDoubleClickMode`,!1);let qc=function(e){return e[e.NONE=0]=`NONE`,e[e.X=1]=`X`,e[e.Y=2]=`Y`,e[e.ALL=3]=`ALL`,e}({});const Jc={t:0,b:15,l:0,r:60};var Yc=class e{constructor(e,t=qc.ALL,n=Jc){this._scene=e,this._scrollTimerType=t,this._thresholdAutoMove=n,U(this,`_requestNewFrameNumber`,-1),U(this,`_viewport`,void 0),U(this,`_offsetX`,0),U(this,`_offsetY`,0),U(this,`_moveX`,0),U(this,`_moveY`,0),U(this,`_scrollX`,0),U(this,`_scrollY`,0),U(this,`_scrollFunction`,void 0)}static create(t,n=qc.ALL,r){return new e(t,n,r)}get offsetX(){return this._offsetX}get offsetY(){return this._offsetY}set scrollTimerType(e){this._scrollTimerType=e}get scrollTimerType(){return this._scrollTimerType}setActiveViewport(e){this._viewport=e}getActiveViewport(){return this._viewport}startScroll(e,t,n){this._offsetX=e,this._offsetY=t,this._moveX=e,this._moveY=t,n==null?this._viewport=this._scene.findViewportByPosToScene(K.FromArray([e,t])):this._viewport=n,this._runRenderLoop()}_autoScroll(e){let t=(e==null?void 0:e.top)||0,n=t+((e==null?void 0:e.height)||0),r=(e==null?void 0:e.left)||0,i=r+((e==null?void 0:e.width)||0),{t:a=0,b:o=0,r:s=0,l:c=0}=this._thresholdAutoMove,l=0,u=0,d=!1;if(this._scrollTimerType&qc.X&&(this._moveX<r+c&&(l=this._moveX-r-c,d=!0),this._moveX>i-s&&(l=this._moveX-i+s,d=!0)),this._scrollTimerType&qc.Y&&(this._moveY<t+a&&(u=this._moveY-t-a,d=!0),this._moveY>n-o&&(u=this._moveY-n+o,d=!0)),!d)return;e==null||e.scrollByViewportDeltaVal({viewportScrollX:l,viewportScrollY:u});let f=e==null?void 0:e.transScroll2ViewportScrollValue(l,u);this._scrollX=(f==null?void 0:f.x)||0,this._scrollY=(f==null?void 0:f.y)||0}scrolling(e,t,n){this._moveX=e,this._moveY=t,this._scrollFunction=n}stopScroll(){R(this._requestNewFrameNumber)}dispose(){this.stopScroll(),delete this._scrollFunction}getScene(){return this._scene}_runRenderLoop(){this._autoScroll(this._viewport),this._scrollFunction&&this._scrollFunction(this._scrollX,this._scrollY),this._requestNewFrameNumber=L(this._runRenderLoop.bind(this))}},Q=function(e){return e.RESIZE_LT=`__SpreadsheetTransformerResizeLT__`,e.RESIZE_CT=`__SpreadsheetTransformerResizeCT__`,e.RESIZE_RT=`__SpreadsheetTransformerResizeRT__`,e.RESIZE_LM=`__SpreadsheetTransformerResizeLM__`,e.RESIZE_RM=`__SpreadsheetTransformerResizeRM__`,e.RESIZE_LB=`__SpreadsheetTransformerResizeLB__`,e.RESIZE_CB=`__SpreadsheetTransformerResizeCB__`,e.RESIZE_RB=`__SpreadsheetTransformerResizeRB__`,e.OUTLINE=`__SpreadsheetTransformerOutline__`,e.ROTATE_LINE=`__SpreadsheetTransformerRotateLine__`,e.ROTATE=`__SpreadsheetTransformerRotate__`,e.GROUP=`__SpreadsheetTransformer__`,e}(Q||{});const Xc=[Q.RESIZE_LT,Q.RESIZE_CT,Q.RESIZE_RT,Q.RESIZE_LM,Q.RESIZE_RM,Q.RESIZE_LB,Q.RESIZE_CB,Q.RESIZE_RB];var $=function(e){return e[e.MOVE_START=0]=`MOVE_START`,e[e.MOVING=1]=`MOVING`,e[e.MOVE_END=2]=`MOVE_END`,e}($||{});const Zc=new Set([nn.CHART]);var Qc=class extends l.Disposable{constructor(e,t){super(),this._scene=e,U(this,`isCropper`,!1),U(this,`hoverEnabled`,!1),U(this,`hoverEnterFunc`,void 0),U(this,`hoverLeaveFunc`,void 0),U(this,`resizeEnabled`,!0),U(this,`rotateEnabled`,!0),U(this,`rotationSnaps`,[]),U(this,`rotationSnapTolerance`,5),U(this,`rotateAnchorOffset`,50),U(this,`rotateSize`,10),U(this,`rotateCornerRadius`,10),U(this,`borderEnabled`,!0),U(this,`borderStroke`,`rgb(97, 97, 97)`),U(this,`borderStrokeWidth`,1),U(this,`borderDash`,[]),U(this,`borderSpacing`,0),U(this,`anchorFill`,`rgb(255, 255, 255)`),U(this,`anchorStroke`,`rgb(185, 185, 185)`),U(this,`anchorStrokeWidth`,1),U(this,`anchorSize`,10),U(this,`anchorCornerRadius`,10),U(this,`keepRatio`,!0),U(this,`centeredScaling`,!1),U(this,`zeroLeft`,0),U(this,`zeroTop`,0),U(this,`enabledAnchors`,[1,1,1,1,1,1,1,1]),U(this,`flipEnabled`,!1),U(this,`ignoreStroke`,!1),U(this,`boundBoxFunc`,void 0),U(this,`useSingleNodeRotation`,!1),U(this,`shouldOverdrawWholeArea`,!1),U(this,`_changeStart$`,new d.Subject),U(this,`changeStart$`,this._changeStart$.asObservable()),U(this,`_changing$`,new d.Subject),U(this,`changing$`,this._changing$.asObservable()),U(this,`_changeEnd$`,new d.Subject),U(this,`changeEnd$`,this._changeEnd$.asObservable()),U(this,`_clearControl$`,new d.Subject),U(this,`clearControl$`,this._clearControl$.asObservable()),U(this,`_createControl$`,new d.Subject),U(this,`createControl$`,this._createControl$.asObservable()),U(this,`_startOffsetX`,-1),U(this,`_startOffsetY`,-1),U(this,`_startStateMap`,new Map),U(this,`_viewportScrollX`,-1),U(this,`_viewportScrollY`,-1),U(this,`_topScenePointerMoveSub`,void 0),U(this,`_topScenePointerUpSub`,void 0),U(this,`_cancelFocusSubscription`,void 0),U(this,`_transformerControlMap`,new Map),U(this,`_selectedObjectMap`,new Map),U(this,`_subscriptionObjectMap`,new Map),U(this,`_copperControl`,void 0),U(this,`_copperSelectedObject`,void 0),U(this,`_moveBufferSkip`,!1),U(this,`_debounceClearFunc`,void 0),this._initialProps(t)}updateZeroPoint(e,t){this.zeroLeft=e,this.zeroTop=t}changeNotification(){return this._changing$.next({objects:this._selectedObjectMap,type:$.MOVE_START}),this}getSelectedObjectMap(){return this._selectedObjectMap}resetProps(e){this._initialProps(e)}getScene(){return this._scene}clearControls(e=!1){this._clearControls(e)}updateControl(){this._updateControl()}debounceRefreshControls(){this._debounceClearFunc&&this._debounceClearFunc(),this._debounceClearFunc=(0,l.requestImmediateMacroTask)(()=>{this.refreshControls(),this._debounceClearFunc=null})}clearSelectedObjects(){var e;this._selectedObjectMap.clear(),(e=this._cancelFocusSubscription)==null||e.unsubscribe(),this._cancelFocusSubscription=null,this._clearControls(!0)}refreshControls(){return this._clearControlMap(),this._selectedObjectMap.forEach(e=>{this._createControl(e)}),this}createControlForCopper(e){this._createControl(e,!1)}clearCopperControl(){var e;(e=this._copperControl)==null||e.dispose(),this._copperControl=null}setSelectedControl(e){e=this._findGroupObject(e),this._selectedObjectMap.set(e.oKey,e),this._createControl(e)}_getConfig(e){let t=e.transformerConfig,{isCropper:n,hoverEnabled:r,hoverEnterFunc:i,hoverLeaveFunc:a,resizeEnabled:o,rotateEnabled:s,rotationSnaps:c,rotationSnapTolerance:l,rotateAnchorOffset:u,rotateSize:d,rotateCornerRadius:f,borderEnabled:p,borderStroke:m,borderStrokeWidth:h,borderDash:g,borderSpacing:_,anchorFill:v,anchorStroke:y,anchorStrokeWidth:b,anchorSize:x,anchorCornerRadius:S,keepRatio:C,centeredScaling:w,enabledAnchors:T,flipEnabled:E,ignoreStroke:D,boundBoxFunc:O,useSingleNodeRotation:k,shouldOverdrawWholeArea:A}=this;if(t!=null){var j,M,N,P,F,I,L,R,z,ee,B,V,te,ne,re,ie,ae,oe,se,ce,le,ue,de,fe,H,pe,me,he,ge;n=(j=t.isCropper)==null?n:j,r=(M=t.hoverEnabled)==null?r:M,i=(N=t.hoverEnterFunc)==null?i:N,a=(P=t.hoverLeaveFunc)==null?a:P,o=(F=t.resizeEnabled)==null?o:F,s=(I=t.rotateEnabled)==null?s:I,c=(L=t.rotationSnaps)==null?c:L,l=(R=t.rotationSnapTolerance)==null?l:R,u=(z=t.rotateAnchorOffset)==null?u:z,d=(ee=t.rotateSize)==null?d:ee,f=(B=t.rotateCornerRadius)==null?f:B,p=(V=t.borderEnabled)==null?p:V,m=(te=t.borderStroke)==null?m:te,h=(ne=t.borderStrokeWidth)==null?h:ne,g=(re=t.borderDash)==null?g:re,_=(ie=t.borderSpacing)==null?_:ie,v=(ae=t.anchorFill)==null?v:ae,y=(oe=t.anchorStroke)==null?y:oe,b=(se=t.anchorStrokeWidth)==null?b:se,x=(ce=t.anchorSize)==null?x:ce,S=(le=t.anchorCornerRadius)==null?S:le,C=(ue=t.keepRatio)==null?C:ue,w=(de=t.centeredScaling)==null?w:de,T=(fe=t.enabledAnchors)==null?T:fe,E=(H=t.flipEnabled)==null?E:H,D=(pe=t.ignoreStroke)==null?D:pe,O=(me=t.boundBoxFunc)==null?O:me,k=(he=t.useSingleNodeRotation)==null?k:he,A=(ge=t.shouldOverdrawWholeArea)==null?A:ge}return{isCropper:n,hoverEnabled:r,hoverEnterFunc:i,hoverLeaveFunc:a,resizeEnabled:o,rotateEnabled:s,rotationSnaps:c,rotationSnapTolerance:l,rotateAnchorOffset:u,rotateSize:d,rotateCornerRadius:f,borderEnabled:p,borderStroke:m,borderStrokeWidth:h,borderDash:g,borderSpacing:_,anchorFill:v,anchorStroke:y,anchorStrokeWidth:b,anchorSize:x,anchorCornerRadius:S,keepRatio:C,centeredScaling:w,enabledAnchors:T,flipEnabled:E,ignoreStroke:D,boundBoxFunc:O,useSingleNodeRotation:k,shouldOverdrawWholeArea:A}}attachTo(e){this.hoverEnabled&&(this.hoverEnterFunc&&e.onPointerEnter$.subscribeEvent(this.hoverEnterFunc),this.hoverLeaveFunc&&e.onPointerLeave$.subscribeEvent(this.hoverLeaveFunc)),this.detachFrom(e);let t=e.onPointerDown$.subscribeEvent((t,n)=>{let{offsetX:r,offsetY:i}=t;this._startOffsetX=r,this._startOffsetY=i;let{isCropper:a}=this._getConfig(e),o=this._getTopScene();if(!o)return;this._addCancelObserver(o),o.disableObjectsEvent();let s=Yc.create(o);s.startScroll(r,i);let{scrollX:c,scrollY:l}=Qt(s);this._viewportScrollX=c,this._viewportScrollY=l,a?(this._copperSelectedObject=e,this._changeStart$.next({target:e,objects:new Map([[e.oKey,e]]),type:$.MOVE_START})):(this._updateActiveObjectList(e,t),this._changeStart$.next({target:e,objects:this._selectedObjectMap,type:$.MOVE_START})),this._moveBufferSkip=!1;let u=o.onPointerMove$.subscribeEvent(e=>{let{offsetX:t,offsetY:n}=e;this._moving(t,n,s,a),!a&&this._clearControlMap(),s.scrolling(t,n,()=>{this._moving(t,n,s,a)})}),d=o.onPointerUp$.subscribeEvent(t=>{u==null||u.unsubscribe(),d==null||d.unsubscribe(),o.enableObjectsEvent(),!a&&this.refreshControls(),s.dispose();let{offsetX:n,offsetY:r}=t;a?this._changeEnd$.next({objects:new Map([[e.oKey,e]]),type:$.MOVE_END,offsetX:n,offsetY:r,event:t}):this._changeEnd$.next({objects:this._selectedObjectMap,type:$.MOVE_END,offsetX:n,offsetY:r,event:t})});n.stopPropagation()});return this.disposeWithMe((0,l.toDisposable)(t)),this._subscriptionObjectMap.set(e.oKey,t),e}detachFrom(e){let t=this._subscriptionObjectMap.get(e.oKey);return t&&(t.unsubscribe(),this._subscriptionObjectMap.delete(e.oKey)),e}dispose(){var e,t,n;super.dispose(),(e=this._topScenePointerMoveSub)==null||e.unsubscribe(),(t=this._topScenePointerUpSub)==null||t.unsubscribe(),(n=this._cancelFocusSubscription)==null||n.unsubscribe(),this._cancelFocusSubscription=null,this._topScenePointerMoveSub=null,this._topScenePointerUpSub=null,this._cancelFocusSubscription=null,this._transformerControlMap.forEach(e=>e.dispose()),this._selectedObjectMap.forEach(e=>e.dispose()),this._changeStart$.complete(),this._changing$.complete(),this._changeEnd$.complete()}_initialProps(e){if(!e)return;let t=Object.keys(e);t.length!==0&&t.forEach(t=>{if(e[t]===void 0)return!0;this[t]=e[t]})}_checkMoveBoundary(e,t,n,r,i,a,o){let{left:s,top:c,width:l,height:u}=e;return t+s+r<this.zeroLeft&&(t=-r),n+c+i<this.zeroTop&&(n=-i),t+s+l+r>a+this.zeroLeft&&(t=this.zeroLeft+a-l-s-r),n+c+u+i>o+this.zeroTop&&(n=this.zeroTop+o-u-c-i),{moveLeft:t,moveTop:n}}_moving(e,t,n,r=!1){let{scrollX:i,scrollY:a}=Qt(n),o=e-this._viewportScrollX+i,s=t-this._viewportScrollY+a,{ancestorScaleX:c,ancestorScaleY:l,ancestorLeft:u,ancestorTop:d}=this._scene,f=this._smoothAccuracy((o-this._startOffsetX)/c,r),p=this._smoothAccuracy((s-this._startOffsetY)/l,r);if(this._moveBufferBlocker(e,t))return;let m=this._getTopScene();if(!m)return;let{width:h,height:g}=m;if(!r){let n=Array.from(this._selectedObjectMap.values());for(let e=0;e<n.length;e++){let t=n[e],r=this._checkMoveBoundary(t,f,p,u,d,h,g);f=r.moveLeft,p=r.moveTop}this._selectedObjectMap.forEach(e=>{e.translate(f+e.left,p+e.top)}),this._changing$.next({objects:this._selectedObjectMap,moveX:f,moveY:p,type:$.MOVING,offsetX:e,offsetY:t})}else if(this._copperSelectedObject){let n=this._copperSelectedObject,r=this._checkMoveBoundary(n,f,p,u,d,h,g);f=r.moveLeft,p=r.moveTop,n.translate(f+n.left,p+n.top),this._changing$.next({objects:new Map([[n.oKey,n]]),moveX:f,moveY:p,type:$.MOVING,offsetX:e,offsetY:t})}this._startOffsetX=o,this._startOffsetY=s}_moveBufferBlocker(e,t){return!this._moveBufferSkip&&Math.abs(e-this._startOffsetX)<l.MOVE_BUFFER_VALUE&&Math.abs(t-this._startOffsetY)<l.MOVE_BUFFER_VALUE?!0:(this._moveBufferSkip=!0,!1)}_anchorMoving(e,t,n,r,i,a=!1,o){let{scrollX:s,scrollY:c}=Qt(r),l=t-this._viewportScrollX+s,u=n-this._viewportScrollY+c;if(this._moveBufferBlocker(t,n))return;let d=o instanceof Ac;a?(this._moveFunc(o,e,l,u,i,a,d),this._changing$.next({objects:new Map([[o.oKey,o]]),type:$.MOVING,offsetX:t,offsetY:n})):(this._selectedObjectMap.forEach(t=>{this._moveFunc(t,e,l,u,i,a,d)}),this._changing$.next({objects:this._selectedObjectMap,type:$.MOVING,offsetX:t,offsetY:n})),i&&e!==Q.RESIZE_CT&&e!==Q.RESIZE_CB&&e!==Q.RESIZE_LM&&e!==Q.RESIZE_RM&&!d||(this._startOffsetX=l,this._startOffsetY=u)}_moveFunc(e,t,n,r,i,a=!1,o=!1){let{left:s,top:c,width:l,height:u,angle:d}=e,f=this._startStateMap.get(e.oKey)||{},p={},{moveLeft:m,moveTop:h}=this._getMovePoint(n,r,e);if(i&&t!==Q.RESIZE_CT&&t!==Q.RESIZE_CB&&t!==Q.RESIZE_LM&&t!==Q.RESIZE_RM&&!o)switch(t){case Q.RESIZE_LT:p=this._resizeLeftTop(e,m,h,f);break;case Q.RESIZE_RT:p=this._resizeRightTop(e,m,h,f);break;case Q.RESIZE_LB:p=this._resizeLeftBottom(e,m,h,f);break;case Q.RESIZE_RB:p=this._resizeRightBottom(e,m,h,f);break}else p=this._updateCloseKeepRatioState(t,s,c,l,u,m,h);e.transformByState(this._applyRotationForResult(p,{left:s,top:c,width:l,height:u},d,a))}_getMovePoint(e,t,n){let{ancestorScaleX:r,ancestorScaleY:i}=this._scene,{left:a,top:o,width:s,height:c,angle:l}=n,u=new K(a+s/2,o+c/2),d=new K(e,t);d.rotateByPoint(V(-l),u);let f=new K(this._startOffsetX,this._startOffsetY);return f.rotateByPoint(V(-l),u),{moveLeft:(d.x-f.x)/r,moveTop:(d.y-f.y)/i}}_applyRotationForResult(e,t,n,r=!1){if(n===0)return e;let{left:i=0,top:a=0,width:o=0,height:s=0}=e,{left:c=0,top:l=0,width:u=0,height:d=0}=t,f=u/2,p=d/2,m=o/2+i-c,h=s/2+a-l,g=It(new K(f,p),n,new K(i,a),new K(m,h));return{width:this._smoothAccuracy(o,r),height:this._smoothAccuracy(s,r),left:this._smoothAccuracy(g.x,r),top:this._smoothAccuracy(g.y,r)}}_updateCloseKeepRatioState(e,t,n,r,i,a,o){let s={left:t,top:n,width:r,height:i};switch(e){case Q.RESIZE_LT:s.width=r-a<20?20:r-a,s.height=i-o<20?20:i-o,s.left=t+r-s.width,s.top=n+i-s.height;break;case Q.RESIZE_CT:s.height=i-o<20?20:i-o,s.top=n+i-s.height;break;case Q.RESIZE_RT:s.width=r+a<20?20:r+a,s.height=i-o<20?20:i-o,s.top=n+i-s.height;break;case Q.RESIZE_LM:s.width=r-a<20?20:r-a,s.left=t+r-s.width;break;case Q.RESIZE_RM:s.width=a+r<20?20:a+r;break;case Q.RESIZE_LB:s.width=r-a<20?20:r-a,s.height=i+o<20?20:i+o,s.left=s.width<=20?t:t+a;break;case Q.RESIZE_CB:s.height=o+i<20?20:o+i;break;case Q.RESIZE_RB:s.width=a+r<20?20:a+r,s.height=o+i<20?20:o+i;break}return s}_getLimitedSize(e,t){let n=20,r=20;return e>t?n*=Math.abs(e/t):r*=Math.abs(t/e),{limitWidth:n,limitHeight:r}}_resizeLeftTop(e,t,n,r){let{left:i=0,top:a=0,width:o=0,height:s=0}=e.getState(),{width:c=o,height:l=s,left:u=i,top:d=a}=r,f=c/l,{moveLeft:p,moveTop:m}=this._fixMoveLtRb(t,n,c,l,f),h=c-p,g=l-m,{limitWidth:_,limitHeight:v}=this._getLimitedSize(c,l);return h<_&&(h=_),g<v&&(g=v),{left:i+o-h,top:a+s-g,width:h,height:g}}_resizeRightBottom(e,t,n,r){let{left:i=0,top:a=0,width:o=0,height:s=0}=e.getState(),{width:c=o,height:l=s,left:u=i,top:d=a}=r,f=c/l,{moveLeft:p,moveTop:m}=this._fixMoveLtRb(t,n,c,l,f),h=c+p,g=l+m,{limitWidth:_,limitHeight:v}=this._getLimitedSize(c,l);return h<_&&(h=_),g<v&&(g=v),{left:i,top:a,width:h,height:g}}_resizeLeftBottom(e,t,n,r){let{left:i=0,top:a=0,width:o=0,height:s=0}=e.getState(),{width:c=o,height:l=s,left:u=i,top:d=a}=r,f=c/l,{moveLeft:p,moveTop:m}=this._fixMoveLbRt(t,n,c,l,f),h=c-p,g=l+m,{limitWidth:_,limitHeight:v}=this._getLimitedSize(c,l);return h<_&&(h=_),g<v&&(g=v),{left:i+o-h,top:a,width:h,height:g}}_resizeRightTop(e,t,n,r){let{left:i=0,top:a=0,width:o=0,height:s=0}=e.getState(),{width:c=o,height:l=s,left:u=i,top:d=a}=r,f=c/l,{moveLeft:p,moveTop:m}=this._fixMoveLbRt(t,n,c,l,f),h=c+p,g=l-m,{limitWidth:_,limitHeight:v}=this._getLimitedSize(c,l);return h<_&&(h=_),g<v&&(g=v),{left:i,top:a+s-g,width:h,height:g}}_fixMoveLtRb(e,t,n,r,i){let a=e,o=t;return(n+a)/(r+o)>i?o=a/i:a=o*i,{moveLeft:a,moveTop:o}}_fixMoveLbRt(e,t,n,r,i){let a=e,o=t;return Math.abs((n-a)/(r+o))>i?o=-a/i:a=-o*i,{moveLeft:a,moveTop:o}}_attachEventToAnchor(e,t=Q.RESIZE_LT,n){this.disposeWithMe((0,l.toDisposable)(e.onPointerDown$.subscribeEvent((e,r)=>{let{offsetX:i,offsetY:a}=e;this._startOffsetX=i,this._startOffsetY=a;let o=this._getTopScene(),{keepRatio:s,isCropper:c}=this._getConfig(n);if(o==null)return;o.disableObjectsEvent();let l=Yc.create(o);l.startScroll(i,a);let{scrollX:u,scrollY:d}=Qt(l);this._viewportScrollX=u,this._viewportScrollY=d;let{ancestorLeft:f,ancestorTop:p}=this._scene,{width:m,height:h}=o,g=this._getRotateAnchorCursor(t);if(!c)this._clearControlMap(),this._changeStart$.next({objects:this._selectedObjectMap,type:$.MOVE_START}),this._selectedObjectMap.forEach(e=>{let{width:t,height:n,left:r,top:i}=e.getState();this._startStateMap.set(e.oKey,{width:t,height:n,left:r,top:i})});else{this._changeStart$.next({objects:new Map([[n.oKey,n]]),type:$.MOVE_START});let{width:e,height:t,left:r,top:i}=n.getState();this._startStateMap.set(n.oKey,{width:e,height:t,left:r,top:i})}this._moveBufferSkip=!1,this._topScenePointerMoveSub=o.onPointerMove$.subscribeEvent(e=>{let{offsetX:r,offsetY:i}=e;this._anchorMoving(t,r,i,l,s,c,n),l.scrolling(r,i,()=>{this._anchorMoving(t,r,i,l,s,c,n)}),o.setCursor(g)}),this._topScenePointerUpSub=o.onPointerUp$.subscribeEvent(e=>{var t,r;(t=this._topScenePointerMoveSub)==null||t.unsubscribe(),(r=this._topScenePointerUpSub)==null||r.unsubscribe(),o.enableObjectsEvent(),o.resetCursor(),l.dispose(),this._startStateMap.clear();let{offsetX:i,offsetY:a}=e;c?(this._recoverySizeBoundary([n],f,p,m,h),this._changeEnd$.next({objects:new Map([[n.oKey,n]]),type:$.MOVE_END,offsetX:i,offsetY:a,event:e})):(this._recoverySizeBoundary(Array.from(this._selectedObjectMap.values()),f,p,m,h),this._changeEnd$.next({objects:this._selectedObjectMap,type:$.MOVE_END,offsetX:i,offsetY:a,event:e})),this.refreshControls()}),r.stopPropagation()})))}_recoverySizeBoundary(e,t,n,r,i){for(let a=0;a<e.length;a++){let o=e[a],{left:s,top:c,width:l,height:u}=o,d={};s+t<this.zeroLeft?(d.left=this.zeroLeft-t,d.width=l+s):s+l+t>r+this.zeroLeft&&(d.width=this.zeroLeft+r-s-t),c+n<this.zeroTop?(d.top=this.zeroTop-n,d.height=u+c):c+u+n>i+this.zeroTop&&(d.height=this.zeroTop+i-c-n),o.transformByState(d)}}_attachEventToRotate(e,t){this.disposeWithMe((0,l.toDisposable)(e.onPointerDown$.subscribeEvent((e,n)=>{let{offsetX:r,offsetY:i}=e;this._startOffsetX=r,this._startOffsetY=i;let a=this._getTopScene();if(a==null)return;a.disableObjectsEvent();let o=a.getScrollXYInfoByViewport(K.create(r,i));this._viewportScrollX=o.x,this._viewportScrollY=o.y;let s=this._getRotateAnchorCursor(Q.ROTATE_LINE),{ancestorLeft:c,ancestorTop:l,width:u,height:d,angle:f}=t,p=u/2+c,m=d/2+l;this._clearControlMap(),this._changeStart$.next({objects:this._selectedObjectMap,type:$.MOVE_START}),this._moveBufferSkip=!1;let h=a.onPointerMove$.subscribeEvent(e=>{let{offsetX:t,offsetY:n}=e;this._rotateMoving(t,n,p,m,f),a.setCursor(s)}),g=a.onPointerUp$.subscribeEvent(e=>{h==null||h.unsubscribe(),g==null||g.unsubscribe(),a.enableObjectsEvent(),a.resetCursor(),this.refreshControls();let{offsetX:t,offsetY:n}=e;this._changeEnd$.next({objects:this._selectedObjectMap,type:$.MOVE_END,offsetX:t,offsetY:n,event:e})});n.stopPropagation()})))}_rotateMoving(e,t,n,r,i){let{ancestorScaleX:a,ancestorScaleY:o}=this._scene;if(this._moveBufferBlocker(e,t))return;let s=i+B(Math.atan2((t-r)/o+this._viewportScrollY,(e-n)/a+this._viewportScrollX)-Math.atan2((this._startOffsetY-r)/o+this._viewportScrollY,(this._startOffsetX-n)/a+this._viewportScrollX));s<0&&(s=360+s),s%=360,s=this._smoothAccuracy(s),this._selectedObjectMap.forEach(e=>{e.transformByState({angle:s})}),this._changing$.next({objects:this._selectedObjectMap,angle:s,type:$.MOVING,offsetX:e,offsetY:t})}_getOutlinePosition(e,t,n,r){return{left:n-r,top:-n-this.borderStrokeWidth,width:e+n*2,height:t+n*2}}_getRotateAnchorCursor(e){let t=C.NORTH_WEST_RESIZE;switch(e){case Q.ROTATE:t=C.MOVE;break;case Q.ROTATE_LINE:t=C.MOVE;break;case Q.RESIZE_LT:break;case Q.RESIZE_CT:t=C.NORTH_RESIZE;break;case Q.RESIZE_RT:t=C.NORTH_EAST_RESIZE;break;case Q.RESIZE_LM:t=C.WEST_RESIZE;break;case Q.RESIZE_RM:t=C.EAST_RESIZE;break;case Q.RESIZE_LB:t=C.SOUTH_WEST_RESIZE;break;case Q.RESIZE_CB:t=C.SOUTH_RESIZE;break;case Q.RESIZE_RB:t=C.SOUTH_EAST_RESIZE;break}return t}_getCopperAnchorPosition(e,t,n,r){let{borderStrokeWidth:i,borderSpacing:a,anchorSize:o}=this._getConfig(r),s=0,c=0,l=o,u=o/4;switch(e){case Q.RESIZE_LT:s+=-a-i,c+=-a-i;break;case Q.RESIZE_CT:s+=n/2-l/2,c+=-a-i;break;case Q.RESIZE_RT:s+=n+a-i-l,c+=-a-i;break;case Q.RESIZE_LM:s+=a-i,c+=t/2-l/2;break;case Q.RESIZE_RM:s+=n+a-i-u,c+=t/2-l/2;break;case Q.RESIZE_LB:s+=-this.borderSpacing-i,c+=t+a-i-l;break;case Q.RESIZE_CB:s+=n/2-l/2,c+=t+a-i-u;break;case Q.RESIZE_RB:s+=n+a-i-l,c+=t+a-i-l;break}return{left:s,top:c}}_getRotateAnchorPosition(e,t,n,r){let{rotateAnchorOffset:i,rotateSize:a,borderStrokeWidth:o,borderSpacing:s,anchorSize:c}=this._getConfig(r),l=-c/2,u=-c/2;switch(e){case Q.ROTATE:l=n/2-a/2,u=-i-s-o*2-a;break;case Q.ROTATE_LINE:l=n/2,u=-i-s-o;break;case Q.RESIZE_LT:l+=-s-o,u+=-s-o;break;case Q.RESIZE_CT:l+=n/2,u+=-s-o;break;case Q.RESIZE_RT:l+=n+s-o,u+=-s-o;break;case Q.RESIZE_LM:l+=s-o,u+=t/2;break;case Q.RESIZE_RM:l+=n+s-o,u+=t/2;break;case Q.RESIZE_LB:l+=-this.borderSpacing-o,u+=t+s-o;break;case Q.RESIZE_CB:l+=n/2,u+=t+s-o;break;case Q.RESIZE_RB:l+=n+s-o,u+=t+s-o;break}return{left:l,top:u}}_createResizeAnchor(e,t,n){let{height:r=0,width:i=0,scaleX:a=1,scaleY:o=1}=t.getState(),{anchorFill:s,anchorStroke:c,anchorStrokeWidth:l,anchorCornerRadius:u,anchorSize:d}=this._getConfig(t),{left:f,top:p}=this._getRotateAnchorPosition(e,r,i,t),m=this._getRotateAnchorCursor(e),h=new ec(`${e}_${n}`,{zIndex:n-1,fill:s,stroke:c,strokeWidth:l,width:d,height:d,radius:u,left:f,top:p});return this._attachHover(h,m,C.DEFAULT),h}_createCopperResizeAnchor(e,t,n){let{height:r=0,width:i=0,scaleX:a=1,scaleY:o=1}=t.getState(),{anchorFill:s,anchorStroke:c,anchorStrokeWidth:l,anchorSize:u}=this._getConfig(t),{left:d,top:f}=this._getCopperAnchorPosition(e,r,i,t),p=this._getRotateAnchorCursor(e),m,h=`${e}_${n}`,g={zIndex:n-1,fill:s,stroke:c,strokeWidth:l,width:u,height:u,left:d,top:f},_=u,v=u/4;return p===C.EAST_RESIZE||p===C.WEST_RESIZE?(g.width=v,g.height=_,m=new ec(h,g)):p===C.NORTH_RESIZE||p===C.SOUTH_RESIZE?(g.width=_,g.height=v,m=new ec(h,g)):p===C.NORTH_EAST_RESIZE?(g.pointsGroup=this._getNorthEastPoints(_,v),m=new sc(h,g)):p===C.NORTH_WEST_RESIZE?(g.pointsGroup=this._getNorthWestPoints(_,v),m=new sc(h,g)):p===C.SOUTH_EAST_RESIZE?(g.pointsGroup=this._getSouthEastPoints(_,v),m=new sc(h,g)):p===C.SOUTH_WEST_RESIZE&&(g.pointsGroup=this._getSouthWestPoints(_,v),m=new sc(h,g)),this._attachHover(m,p,C.DEFAULT),m}_getNorthEastPoints(e,t){let n=e-t;return[[{x:0,y:0},{x:e,y:0},{x:e,y:e},{x:n,y:e},{x:n,y:t},{x:0,y:t}]]}_getNorthWestPoints(e,t){return[[{x:0,y:0},{x:e,y:0},{x:e,y:t},{x:t,y:t},{x:t,y:e},{x:0,y:e}]]}_getSouthEastPoints(e,t){let n=e-t;return[[{x:n,y:0},{x:e,y:0},{x:e,y:e},{x:0,y:e},{x:0,y:n},{x:n,y:n},{x:n,y:0}]]}_getSouthWestPoints(e,t){let n=e-t;return[[{x:0,y:0},{x:t,y:0},{x:t,y:n},{x:e,y:n},{x:e,y:e},{x:0,y:e},{x:0,y:0}]]}_checkTransformerType(e){if(e.indexOf(Q.OUTLINE)>-1)return Q.OUTLINE;if(e.indexOf(Q.ROTATE)>-1)return Q.ROTATE;if(e.indexOf(Q.ROTATE_LINE)>-1)return Q.ROTATE_LINE;if(e.indexOf(Q.RESIZE_LT)>-1)return Q.RESIZE_LT;if(e.indexOf(Q.RESIZE_CT)>-1)return Q.RESIZE_CT;if(e.indexOf(Q.RESIZE_RT)>-1)return Q.RESIZE_RT;if(e.indexOf(Q.RESIZE_LM)>-1)return Q.RESIZE_LM;if(e.indexOf(Q.RESIZE_RM)>-1)return Q.RESIZE_RM;if(e.indexOf(Q.RESIZE_LB)>-1)return Q.RESIZE_LB;if(e.indexOf(Q.RESIZE_CB)>-1)return Q.RESIZE_CB;if(e.indexOf(Q.RESIZE_RB)>-1)return Q.RESIZE_RB}_updateControlIterator(e){this._transformerControlMap.forEach((t,n)=>{let r=this._selectedObjectMap.get(n);if(!r)return!0;e(t,r)})}_updateControl(){this._updateControlIterator((e,t)=>{let{left:n,top:r,height:i,width:a,angle:o}=t.getState();e.transformByState({left:n,top:r,height:i,width:a,angle:o}),e.show(),e.makeDirty(!0)})}_hideControl(){this._transformerControlMap.forEach(e=>{e.hide(),e.makeDirty(!0)})}_attachHover(e,t,n){this.disposeWithMe((0,l.toDisposable)(e.onPointerEnter$.subscribeEvent(()=>{e.cursor=t}))),this.disposeWithMe((0,l.toDisposable)(e.onPointerLeave$.subscribeEvent(()=>{e.cursor=n})))}_clearControls(e=!1){this._clearControlMap(),this._clearControl$.next(e)}clearControlByIds(e){for(let t of e)this._selectedObjectMap.delete(t);this.refreshControls()}_clearControlMap(){this._transformerControlMap.forEach(e=>{e.dispose()}),this._transformerControlMap.clear()}_createControl(e,t=!0){let{left:n=0,top:r=0,height:i=0,width:a=0}=e.getState(),o=e.angle,{isCropper:s,resizeEnabled:c,rotateEnabled:l,rotateAnchorOffset:u,rotateSize:d,rotateCornerRadius:f,borderEnabled:p,borderStroke:m,borderStrokeWidth:h,borderSpacing:g,enabledAnchors:_}=this._getConfig(e);if(t&&s)return;let v=e.oKey,y=this._selectedObjectMap.size+e.maxZIndex+5e3,b=e.getLayerIndex()||2,x=[];if(p&&!s){let e=new ec(`${Q.OUTLINE}_${y}`,{zIndex:y-1,evented:!1,strokeWidth:h,stroke:m,...this._getOutlinePosition(a,i,g,h)});x.push(e)}if(c&&!s){let{left:t,top:n}=this._getRotateAnchorPosition(Q.ROTATE_LINE,i,a,e);if(l){let r=new ec(`${Q.ROTATE_LINE}_${y}`,{zIndex:y-1,evented:!1,left:t,top:n,height:u,width:1,strokeWidth:h,stroke:m}),{left:o,top:s}=this._getRotateAnchorPosition(Q.ROTATE,i,a,e),c=this._getRotateAnchorCursor(Q.ROTATE),l=new ec(`${Q.ROTATE}_${y}`,{zIndex:y-1,left:o,top:s,height:d,width:d,radius:f,strokeWidth:h*2,stroke:m});this._attachEventToRotate(l,e),this._attachHover(l,c,C.DEFAULT),x.push(r,l)}}if(c)for(let t=0,n=_.length;t<n;t++){if(_[t]!==1)continue;let n=Xc[t],r;r=s?this._createCopperResizeAnchor(n,e,y):this._createResizeAnchor(n,e,y),this._attachEventToAnchor(r,n,e),x.push(r)}let S=new Ac(`${Q.GROUP}_${v}`,...x);return S.zIndex=y,S.evented=!1,S.openSelfSizeMode(),S.transformByState({left:e.left||n,top:e.top||r,angle:e.angle||o,width:e.width||a,height:e.height||i}),this.getScene().addObject(S,b),s?this._copperControl=S:(this._transformerControlMap.has(v)&&this._transformerControlMap.get(v).dispose(),this._transformerControlMap.set(v,S),this._createControl$.next(S)),S}_getTopScene(){var e;return(e=this.getScene().getEngine())==null?void 0:e.activeScene}activeAnObject(e){this._updateActiveObjectList(e,{}),this._changeStart$.next({target:e,objects:this._selectedObjectMap,type:$.MOVE_START})}_updateActiveObjectList(e,t){let{isCropper:n}=this._getConfig(e);e=this._findGroupObject(e),!this._selectedObjectMap.has(e.oKey)&&((!t.ctrlKey||Zc.has(e.objectType))&&(this._selectedObjectMap.clear(),this._clearControlMap()),n||this._selectedObjectMap.set(e.oKey,e),this._createControl(e))}_findGroupObject(e){return e.isInGroup&&e.ancestorGroup||e}_addCancelObserver(e){var t;(t=this._cancelFocusSubscription)==null||t.unsubscribe(),this._cancelFocusSubscription=e.onPointerDown$.subscribeEvent(()=>{this.clearSelectedObjects()})}_smoothAccuracy(e,t=!1,n=1){return t?fe(e,3):fe(e,n)}};const $c=`viewMain`;var el=class extends l.Disposable{constructor(e,t,n){var r;if(super(),this._parent=t,U(this,`_sceneKey`,``),U(this,`_width`,100),U(this,`_height`,100),U(this,`_scaleX`,1),U(this,`_scaleY`,1),U(this,`_transform`,new Y),U(this,`_evented`,!0),U(this,`_layers`,[]),U(this,`_viewports`,[]),U(this,`_cursor`,C.DEFAULT),U(this,`_defaultCursor`,C.DEFAULT),U(this,`_addObject$`,new d.BehaviorSubject(this)),U(this,`addObject$`,this._addObject$.asObservable()),U(this,`onTransformChange$`,new l.EventSubject),U(this,`onFileLoaded$`,new l.EventSubject),U(this,`onPointerDown$`,new l.EventSubject),U(this,`onPointerMove$`,new l.EventSubject),U(this,`onPointerUp$`,new l.EventSubject),U(this,`onPointerEnter$`,new l.EventSubject),U(this,`onPointerOut$`,new l.EventSubject),U(this,`onPointerCancel$`,new l.EventSubject),U(this,`onPointerLeave$`,new l.EventSubject),U(this,`onDragEnter$`,new l.EventSubject),U(this,`onDragOver$`,new l.EventSubject),U(this,`onDragLeave$`,new l.EventSubject),U(this,`onDrop$`,new l.EventSubject),U(this,`onClick$`,new l.EventSubject),U(this,`onSingleClick$`,new l.EventSubject),U(this,`onDblclick$`,new l.EventSubject),U(this,`onTripleClick$`,new l.EventSubject),U(this,`onMouseWheel$`,new l.EventSubject),U(this,`onKeyDown$`,new l.EventSubject),U(this,`onKeyUp$`,new l.EventSubject),U(this,`_beforeRender$`,new d.BehaviorSubject(null)),U(this,`beforeRender$`,this._beforeRender$.asObservable()),U(this,`_afterRender$`,new d.BehaviorSubject(null)),U(this,`afterRender$`,this._afterRender$.asObservable()),U(this,`_transformer`,void 0),U(this,`_inputManager`,void 0),U(this,`_capturedObject`,null),this._sceneKey=e,n&&this.transformByState(n),this._parent.classType===O.ENGINE){let t=this._parent;t.addScene(this),t.hasActiveScene()||t.setActiveScene(e),this._inputManager=new Kc(this)}else this._parent.classType===O.SCENE_VIEWER&&this._parent.addSubScene(this);this.disposeWithMe((0,l.toDisposable)((r=this._parent)==null?void 0:r.onTransformChange$.subscribeEvent(e=>{this._transformHandler()})))}get classType(){return O.SCENE}get transform(){return this._transform}get width(){return this._width}get height(){return this._height}get scaleX(){return this._scaleX}get scaleY(){return this._scaleY}get sceneKey(){return this._sceneKey}get objectsEvented(){return this._evented}set transform(e){this._transform=e}set width(e){this._width=e}set height(e){this._height=e}set scaleX(e){this._scaleX=e}set scaleY(e){this._scaleY=e}get ancestorScaleX(){let e=this.getParent(),t=1;return e.classType===O.SCENE_VIEWER&&(t=e.ancestorScaleX),this.scaleX*t}get ancestorScaleY(){let e=this.getParent(),t=1;return e.classType===O.SCENE_VIEWER&&(t=e.ancestorScaleY),this.scaleY*t}getAncestorScale(){return{scaleX:this.ancestorScaleX||1,scaleY:this.ancestorScaleY||1}}get ancestorLeft(){let e=this.getParent(),t=0;return e.classType===O.SCENE_VIEWER&&(t=e.ancestorLeft),t}get ancestorTop(){let e=this.getParent(),t=0;return e.classType===O.SCENE_VIEWER&&(t=e.ancestorTop),t}set cursor(e){this.setCursor(e)}attachControl(e){var t;if(this._parent.classType===O.ENGINE)return(t=this._inputManager)==null||t.attachControl(e),this}detachControl(){var e;return(e=this._inputManager)==null||e.detachControl(),this}makeDirty(e=!0){if(this._layers.forEach(t=>{t.makeDirty(e)}),this._parent.classType===O.SCENE_VIEWER){var t;(t=this._parent)==null||t.makeDirty(e)}return this}makeDirtyNoParent(e=!0){return this._layers.forEach(t=>{t.makeDirty(e)}),this}enableLayerCache(...e){e.forEach(e=>{this.getLayer(e).enableCache()})}disableLayerCache(...e){e.forEach(e=>{this.getLayer(e).disableCache()})}isDirty(){for(let e=0;e<this._layers.length;e++)if(this._layers[e].isDirty()===!0)return!0;return!1}getCursor(){return this._cursor}resetCursor(){this.setCursor(this._defaultCursor)}setCursor(e){this._cursor=e;let t=this.getEngine();t&&t.setCanvasCursor(e)}setDefaultCursor(e){this._defaultCursor=e,this.resetCursor()}resize(e,t){let n=this.width;e!==void 0&&(this.width=e);let r=this.height;return t!==void 0&&(this.height=t),this._transformHandler(),this.onTransformChange$.emitEvent({type:J.resize,value:{width:this.width,height:this.height},preValue:{width:n,height:r}}),this}setScaleValueOnly(e,t){e!==void 0&&(this.scaleX=e),t!==void 0&&(this.scaleY=t)}scale(e,t){let n=this.scaleX,r=this.scaleY;return this.setScaleValueOnly(e||1,t||1),this._transformHandler(),this.onTransformChange$.emitEvent({type:J.scale,value:{scaleX:this.scaleX,scaleY:this.scaleY},preValue:{scaleX:n,scaleY:r}}),this}scaleBy(e,t){let n=this.scaleX;e!==void 0&&(this.scaleX+=e);let r=this.scaleY;return t!==void 0&&(this.scaleY+=t),this.scaleX=fe(this.scaleX,1),this.scaleY=fe(this.scaleY,1),this._transformHandler(),this.onTransformChange$.emitEvent({type:J.scale,value:{scaleX:this.scaleX,scaleY:this.scaleY},preValue:{scaleX:n,scaleY:r}}),this}transformByState(e){let t=Object.keys(e),n={};t.length!==0&&(t.forEach(t=>{e[t]!==void 0&&(n[t]=this[t],this[t]=e[t])}),this._transformHandler(),this.onTransformChange$.emitEvent({type:J.all,value:e,preValue:n}))}getParent(){return this._parent}getEngine(){if(this._parent.classType===O.ENGINE)return this._parent;let e=this._parent;for(;e;){if(e.classType===O.ENGINE)return e;e=e==null?void 0:e.getParent()}return null}getLayers(){return this._layers}getLayer(e=1){for(let t of this._layers)if(t.zIndex===e)return t;let t=new xc(this,[],e);return this.addLayer(t),t}findLayerByZIndex(e=1){for(let t of this.getLayers())if(t.zIndex===e)return t}getLayerMaxZIndex(){let e=Number.MIN_VALUE;for(let t=0;t<this._layers.length;t++){let n=this._layers[t];n.zIndex>=e&&(e=n.zIndex)}return e}addLayer(...e){this._layers.push(...e)}addObjects(e,t=1){var n;return(n=this.getLayer(t))==null||n.addObjects(e),this._addObject$.next(this),this}addObject(e,t=1){var n;return(n=this.getLayer(t))==null||n.addObject(e),this._addObject$.next(this),this}setObjectBehavior(e){e.parent||(e.parent=this),e.onIsAddedToParent$.emitEvent(this)}removeObject(e){if(e==null)return;let t=this.getLayers();for(let n of t)n.removeObject(e);return this}removeObjects(e){if(e==null)return;let t=this.getLayers();for(let n of t)n.removeObjects(e);return this}getObjectsByLayer(e){let t=[];this._layers.sort(l.sortRules);for(let n of this._layers)n.zIndex===e&&t.push(...n.getObjects());return t}getAllObjects(){let e=[];this._layers.sort(l.sortRules);for(let t of this._layers)e.push(...t.getObjects());return e}getAllObjectsByOrder(){let e=[];this._layers.sort(l.sortRules);for(let t of this._layers)e.push(...t.getObjectsByOrder());return e}getAllObjectsByDescOrder(e=!1){let t=[],n=e?l.sortRulesByDesc:l.sortRules;this._layers.sort(n);for(let e of this._layers)t.push(...e.getObjectsByOrder().sort(n));return t}getAllObjectsByOrderForPick(e=!1){let t=[],n=e?l.sortRulesByDesc:l.sortRules;this._layers.sort(n);for(let e of this._layers)t.push(...e.getObjectsByOrderForPick().sort(n));return t}getObject(e){for(let t of this._layers){let n=t.getObjectsByOrder();for(let t of n)if(t.oKey===e)return t}}getObjectIncludeInGroup(e){for(let t of this._layers){let n=t.getObjects();for(let t of n)if(t.oKey===e)return t}}fuzzyMathObjects(e,t=!1){let n=[];for(let r of this._layers){let i=r.getObjectsByOrder();for(let r of i)(t?r.oKey.startsWith(e):r.oKey.indexOf(e)>-1)&&n.push(r)}return n}addViewport(...e){return this._viewports.push(...e),this}removeViewport(e){for(let t=0,n=this._viewports.length;t<n;t++){let n=this._viewports[t];if(n.viewportKey===e)return this._viewports.splice(t,1),n}}getViewports(){return this._viewports}getMainViewport(){return this.getViewport($c)}getViewport(e){for(let t of this._viewports)if(t.viewportKey===e)return t}render(e){var t,n;if(!this.isDirty())return;!e&&((t=this.getEngine())==null||t.clearCanvas());let r=this._layers.sort(l.sortRules),i=(n=this.getEngine())==null?void 0:n.getCanvas();this._beforeRender$.next(i);for(let t=0,n=r.length;t<n;t++)r[t].render(e,t===n-1);this._afterRender$.next(i)}async requestRender(e){return new Promise((t,n)=>{this.render(e),L(t)})}attachTransformerTo(e){var t;this._transformer||this.initTransformer(),(t=this._transformer)==null||t.attachTo(e)}detachTransformerFrom(e){var t;(t=this._transformer)==null||t.detachFrom(e)}initTransformer(e){if(this._transformer){this._transformer.resetProps(e);return}this._transformer=new Qc(this,e)}getTransformerByCreate(){return this._transformer||this.initTransformer(),this._transformer}getTransformer(){return this._transformer}updateTransformerZero(e,t){var n;(n=this._transformer)==null||n.updateZeroPoint(e,t)}findViewportByPosToScene(e){return this._viewports.find(t=>t.isHit(e))}getActiveViewportByCoord(e){return e=this.getCoordRelativeToViewport(e),this.findViewportByPosToScene(e)}getVpScrollXYInfoByPosToVp(e,t){return this.getScrollXYInfoByViewport(e,t)}getScrollXYInfoByViewport(e,t){return t||(t=this.findViewportByPosToScene(e)||this.getDefaultViewport()),this.getViewportScrollXY(t)}getDefaultViewport(){return this.getViewport(`viewMain`)}getViewportScrollXY(e){let t=0,n=0;if(e){let r=e.viewportScrollX||0,i=e.viewportScrollY||0;t+=r,n+=i}return{x:t,y:n}}getRelativeToViewportCoord(e){return this.getCoordRelativeToViewport(e)}getCoordRelativeToViewport(e){let t=this.getParent(),n=[];for(;t;)(t.classType===O.SCENE||t.classType===O.SCENE_VIEWER)&&n.push(t),t=(t==null?void 0:t.getParent)&&(t==null?void 0:t.getParent());n.reverse();for(let t of n)if(t.classType===O.SCENE){let n=t.getActiveViewportByCoord(e);if(n){let t=n.viewportScrollX||0,r=n.viewportScrollY||0;e=e.addByPoint(t,r)}}else t.classType===O.SCENE_VIEWER&&(e=t.transform.clone().invert().applyPoint(e));return e}clearLayer(){this._layers=[]}clearViewports(){this._viewports=[]}getPrecisionScale(){var e;let t=((e=this.getEngine())==null?void 0:e.getPixelRatio())||1,{scaleX:n,scaleY:r}=this.getAncestorScale();return{scaleX:n*t,scaleY:r*t}}dispose(){var e,t,n;let r=[...this.getLayers()];r.forEach(e=>{e.dispose()}),r=[];let i=[...this.getViewports()];i.forEach(e=>{e.dispose()}),i=[],this.clearLayer(),this.clearViewports(),this.detachControl(),(e=this.onTransformChange$)==null||e.complete(),(t=this._inputManager)==null||t.dispose(),this._inputManager=null,(n=this._transformer)==null||n.dispose(),this._transformer=null,this.onFileLoaded$.complete(),this.onClick$.complete(),this.onPointerDown$.complete(),this.onPointerMove$.complete(),this.onPointerUp$.complete(),this.onPointerEnter$.complete(),this.onPointerLeave$.complete(),this.onPointerOut$.complete(),this.onPointerCancel$.complete(),this.onDragEnter$.complete(),this.onDragOver$.complete(),this.onDragLeave$.complete(),this.onDrop$.complete(),this.onSingleClick$.complete(),this.onDblclick$.complete(),this.onTripleClick$.complete(),this.onMouseWheel$.complete(),this.onKeyDown$.complete(),this.onKeyUp$.complete(),this._addObject$.complete(),super.dispose()}pick(e){let t=this.getActiveViewportByCoord(e);if(t||(t=this._viewports[0]),!this.objectsEvented||!t)return null;let n=t.pickScrollBar(e);if(n)return n;let r=t.transformVector2SceneCoord(e),i=null,a=this.getAllObjectsByOrderForPick().reverse(),o=a.length;for(let e=0;e<o;e++){var s;let t=a[e];if(!t.visible||!t.evented||t.isInGroup&&((s=t.parent)==null?void 0:s.classType)===O.GROUP&&t.isDrawingObject)continue;let n=r;if(t.isHit(n)){i=t.classType===O.SCENE_VIEWER?t.pick(n)||t.getActiveSubScene():t;break}else if(t.classType===O.SCENE_VIEWER&&t.allowSelectedClipElement()){let e=t.pick(n);if(e){i=e;break}}}return!i&&this._parent.classType===O.ENGINE?this:i}triggerPointerUp(e){var t;if(!((t=this.onPointerUp$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===O.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerPointerUp(e),!1}return!0}triggerMouseWheel(e){var t;if(!((t=this.onMouseWheel$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===O.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerMouseWheel(e),!1}return!0}triggerSingleClick(e){var t;if(!((t=this.onSingleClick$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===O.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerSingleClick(e),!1}return!0}triggerClick(e){var t;if(!((t=this.onClick$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===O.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerClick(e),!1}return!0}triggerDblclick(e){var t;if(!((t=this.onDblclick$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===O.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerDblclick(e),!1}return!0}triggerTripleClick(e){var t;if(!((t=this.onTripleClick$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===O.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerTripleClick(e),!1}return!0}triggerPointerMove(e){var t;if(!((t=this.onPointerMove$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===O.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerPointerMove(e),!1}return!0}triggerPointerDown(e){var t;if(!((t=this.onPointerDown$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===O.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerPointerDown(e),!1}return!0}triggerPointerOut(e){if(this._parent.classType===O.SCENE_VIEWER){var t;return(t=this._parent)==null||t.triggerPointerOut(e),!1}return!0}triggerPointerLeave(e){var t;if(!((t=this.onPointerLeave$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===O.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerPointerLeave(e),!1}return!0}triggerPointerOver(e){if(this._parent.classType===O.SCENE_VIEWER){var t;return(t=this._parent)==null||t.triggerPointerOver(e),!1}return!0}triggerPointerCancel(e){if(this._parent.classType===O.SCENE_VIEWER){var t;return(t=this._parent)==null||t.triggerPointerCancel(e),!1}return!0}triggerPointerEnter(e){var t;if(!((t=this.onPointerEnter$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===O.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerPointerEnter(e),!1}return!0}triggerDragLeave(e){var t;if(!((t=this.onDragLeave$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===O.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerDragLeave(e),!1}return!0}triggerDragOver(e){var t;if(!((t=this.onDragOver$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===O.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerDragOver(e),!1}return!0}triggerDragEnter(e){var t;if(!((t=this.onDragEnter$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===O.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerDragEnter(e),!1}return!0}triggerDrop(e){var t;if(!((t=this.onDrop$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===O.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerDrop(e),!1}return!0}_transformHandler(){this.transform=Y.create().composeMatrix({scaleX:this.scaleX,scaleY:this.scaleY}),this.getViewports().forEach(e=>{e.resetCanvasSizeAndUpdateScroll()}),this.makeDirty(!0)}disableObjectsEvent(){this._evented=!1}enableObjectsEvent(){this._evented=!0}get capturedObject(){return this._capturedObject}setCaptureObject(e){this._capturedObject=e}releaseCapturedObject(){this._capturedObject=null}};let tl=class extends l.Disposable{get unitId(){return this._renderContext.unitId}get type(){return this._renderContext.type}set isMainScene(e){this._renderContext.isMainScene=e}get isMainScene(){return this._renderContext.isMainScene}set engine(e){this._renderContext.engine=e}get engine(){return this._renderContext.engine}set mainComponent(e){this._renderContext.mainComponent=e}get mainComponent(){return this._renderContext.mainComponent}set scene(e){this._renderContext.scene=e}get scene(){return this._renderContext.scene}get components(){return this._renderContext.components}constructor(e,t){super(),U(this,`isRenderUnit`,!0),U(this,`_activated$`,new d.BehaviorSubject(!0)),U(this,`activated$`,this._activated$.pipe((0,d.distinctUntilChanged)())),U(this,`_injector`,void 0),U(this,`_renderContext`,void 0),this._injector=t.createChild(),this._renderContext={unit:e.unit,unitId:e.unit.getUnitId(),type:e.unit.type,components:new Map,mainComponent:null,isMainScene:e.isMainScene,engine:e.engine,scene:e.scene,activated$:this.activated$,activate:()=>this._activated$.next(!0),deactivate:()=>this._activated$.next(!1)}}dispose(){this._injector.dispose(),super.dispose(),this._activated$.next(!1),this._activated$.complete(),this._renderContext.unit=null,this._renderContext.components.clear()}with(e){return this._injector.get(e)}addRenderDependencies(e){this._initDependencies(e)}_initDependencies(e){let t=this._injector;e.forEach(e=>{let[n,r]=Array.isArray(e)?e:[e,null];if(!r)t.add([n,{useFactory:()=>t.createInstance(n,this._renderContext)}]);else if((0,l.isClassDependencyItem)(r))t.add([n,{useFactory:()=>t.createInstance(r.useClass,this._renderContext)}]);else throw Error(`[RenderUnit]: render dependency could only be an class!`)}),e.forEach(e=>{let[n]=Array.isArray(e)?e:[e,null];t.get(n)})}getRenderContext(){return this._renderContext}activate(){this._renderContext.activate()}deactivate(){this._renderContext.deactivate()}};tl=Os([Ds(1,(0,l.Inject)(l.Injector))],tl);const nl={width:1500,height:1e3};let rl=class extends l.Disposable{get defaultEngine(){return this._defaultEngine||(this._defaultEngine=new Vc),this._defaultEngine}constructor(e,t,n){super(),this._injector=e,this._univerInstanceService=t,this._themeService=n,U(this,`_defaultEngine`,void 0),U(this,`_renderMap`,new Map),U(this,`_createRender$`,new d.Subject),U(this,`createRender$`,this._createRender$.asObservable()),U(this,`_renderCreated$`,new d.Subject),U(this,`created$`,this._renderCreated$.asObservable()),U(this,`_renderDisposed$`,new d.Subject),U(this,`disposed$`,this._renderDisposed$.asObservable()),U(this,`_renderDependencies`,new Map),this._initDarkModeListener()}dispose(){super.dispose(),this._renderMap.forEach(e=>this._disposeItem(e)),this._renderDependencies.clear(),this._renderMap.clear(),this._renderCreated$.complete(),this._renderDisposed$.complete()}registerRenderModules(e,t){this._renderDependencies.has(e)||this._renderDependencies.set(e,[]);let n=this._renderDependencies.get(e);n.push(...t);for(let[n,r]of this._renderMap)r.type===e&&this._tryAddRenderDependencies(r,t);return(0,l.toDisposable)(()=>{t.forEach(e=>(0,l.remove)(n,e))})}registerRenderModule(e,t){this._renderDependencies.has(e)||this._renderDependencies.set(e,[]);let n=this._renderDependencies.get(e);n.push(t);for(let[n,r]of this._renderMap)r.type===e&&this._tryAddRenderDependencies(r,[t]);return(0,l.toDisposable)(()=>(0,l.remove)(n,t))}_getRenderDepsByType(e){var t;return Array.from((t=this._renderDependencies.get(e))==null?[]:t)}_initDarkModeListener(){this.disposeWithMe(this._themeService.darkMode$.subscribe(()=>{this.getRenderAll().forEach(e=>{e.components.forEach(e=>{e.makeForceDirty(!0),e.makeDirty(!0)})})}))}create(e){this._createRender$.next(e)}createRender(e){let t=this._createRender(e,this._injector.createInstance(Vc,e,void 0));return this._renderCreated$.next(t),t}getAllRenderersOfType(e){let t=[];for(let[n,r]of this._renderMap)r.type===e&&t.push(r);return t}_tryAddRenderDependencies(e,t){e instanceof tl&&e.addRenderDependencies(t)}_createRender(e,t,n=!0){let r=this.getRenderById(e),i=!0;r!=null&&r.engine===t&&(i=!1),this._disposeItem(r,i);let{width:a,height:o}=nl,s=new el(`_UNIVER_SCENE_`+e,t,{width:a,height:o}),c=this._univerInstanceService.getUnit(e),u;if(c){let r=this._univerInstanceService.getUnitType(e),i=this._getRenderDepsByType(r);u=this._injector.createInstance(tl,{unit:c,engine:t,scene:s,isMainScene:n}),this._addRenderUnit(e,u),this._tryAddRenderDependencies(u,i)}else u={isThumbNail:!0,type:l.UniverInstanceType.UNIVER_SLIDE,unitId:e,engine:t,scene:s,mainComponent:null,components:new Map,isMainScene:n,with(e){return null}},this._addRenderUnit(e,u);return u}addRender(e,t){this._addRenderUnit(e,t)}_addRenderUnit(e,t){this._renderMap.set(e,t)}removeRender(e){let t=this._renderMap.get(e);t!=null&&this._disposeItem(t),this._renderMap.delete(e)}has(e){return this._renderMap.has(e)}getRenderById(e){return this._renderMap.get(e)}getRenderUnitById(e){return this._renderMap.get(e)}getRenderAll(){return this._renderMap}_disposeItem(e,t=!0){if(e==null)return;let{engine:n,scene:r,components:i}=e;i==null||i.forEach(e=>e.dispose()),r.dispose(),al(e)&&e.dispose(),t&&n.dispose(),this._renderDisposed$.next(e.unitId)}};rl=Os([Ds(0,(0,l.Inject)(l.Injector)),Ds(1,l.IUniverInstanceService),Ds(2,(0,l.Inject)(l.ThemeService))],rl);const il=(0,l.createIdentifier)(`engine-render.render-manager.service`);function al(e){return!!e&&typeof e.dispose==`function`}function ol(e,t,n){let r=t.getCurrentUnitOfType(e);return r==null?null:n.getRenderUnitById(r.getUnitId())}function sl(e,t,n,r){let i=ol(e,n,r);return i?i.with(t):null}var cl=class{constructor(){U(this,`_renderConfig`,{ok:`111`}),U(this,`_updateSignal$`,new d.Subject),U(this,`updateSignal$`,this._updateSignal$.pipe((0,d.debounceTime)(4)))}setRenderConfig(e,t){if(t==null){delete this._renderConfig[e];return}this._renderConfig[e]=t}getRenderConfig(){return this._renderConfig}};const ll=(0,l.createIdentifier)(`univer.render-engine`);let ul=class extends l.Plugin{constructor(e=Gc,t,n){super(),this._config=e,this._injector=t,this._configService=n;let{...r}=(0,l.merge)({},Gc,this._config);this._configService.setConfig(Wc,r)}onStarting(){(0,l.registerDependencies)(this._injector,[[cl],[Ic,{useClass:Rc}],[ll,{useClass:Vc}],[il,{useClass:rl}]])}};U(ul,`pluginName`,`UNIVER_RENDER_ENGINE_PLUGIN`),U(ul,`packageName`,Hc),U(ul,`version`,Uc),ul=Os([Ds(1,(0,l.Inject)(l.Injector)),Ds(2,l.IConfigService)],ul);function dl(e,t){if(t.startRow>=e.endRow||t.endRow<=e.startRow||t.startColumn>=e.endColumn||t.endColumn<=e.startColumn)return[e];let n=[];t.startRow>e.startRow&&n.push({startRow:e.startRow,startColumn:e.startColumn,endRow:t.startRow,endColumn:e.endColumn}),t.endRow<e.endRow&&n.push({startRow:t.endRow,startColumn:e.startColumn,endRow:e.endRow,endColumn:e.endColumn});let r=Math.max(e.startRow,t.startRow),i=Math.min(e.endRow,t.endRow);return t.startColumn>e.startColumn&&n.push({startRow:r,startColumn:e.startColumn,endRow:i,endColumn:t.startColumn}),t.endColumn<e.endColumn&&n.push({startRow:r,startColumn:t.endColumn,endRow:i,endColumn:e.endColumn}),n}var fl=class{constructor(e,t,n){var r;U(this,`_viewportKey`,``),U(this,`_scrollX`,0),U(this,`_scrollY`,0),U(this,`_preScrollX`,0),U(this,`_preScrollY`,0),U(this,`_viewportScrollX`,0),U(this,`_viewportScrollY`,0),U(this,`_preViewportScrollX`,0),U(this,`_preViewportScrollY`,0),U(this,`_sceneWCurrVpAfterScale`,0),U(this,`_sceneHCurrVpAfterScale`,0),U(this,`_sceneWidthAfterScale`,void 0),U(this,`_sceneHeightAfterScale`,void 0),U(this,`onMouseWheel$`,new l.EventSubject),U(this,`onScrollAfter$`,new l.EventSubject),U(this,`onScrollEnd$`,new l.EventSubject),U(this,`onScrollByBar$`,new l.EventSubject),U(this,`onResized$`,new d.Subject),U(this,`_topOrigin`,0),U(this,`_leftOrigin`,0),U(this,`_bottomOrigin`,0),U(this,`_rightOrigin`,0),U(this,`_widthOrigin`,void 0),U(this,`_heightOrigin`,void 0),U(this,`_top`,0),U(this,`_left`,0),U(this,`_bottom`,0),U(this,`_right`,0),U(this,`_width`,void 0),U(this,`_height`,void 0),U(this,`_scene`,void 0),U(this,`_scrollBar`,void 0),U(this,`_isWheelPreventDefaultX`,!1),U(this,`_isWheelPreventDefaultY`,!1),U(this,`_scrollStopNum`,0),U(this,`_clipViewport`,!0),U(this,`_active`,!0),U(this,`_paddingStartX`,0),U(this,`_paddingEndX`,0),U(this,`_paddingStartY`,0),U(this,`_paddingEndY`,0),U(this,`_marginLeft`,0),U(this,`_marginTop`,0),U(this,`_cacheBound`,void 0),U(this,`_preCacheBound`,void 0),U(this,`_preCacheVisibleBound`,void 0),U(this,`_viewBound`,{top:0,left:0,bottom:0,right:0}),U(this,`_preViewBound`,void 0),U(this,`_isDirty`,!0),U(this,`_cacheCanvas`,null),U(this,`_allowCache`,!1),U(this,`bufferEdgeX`,0),U(this,`bufferEdgeY`,0),U(this,`scrollAnimationFrameId`,null),U(this,`_isForceDirty`,!0),this._viewportKey=e,this._scene=t,this._scene.addViewport(this),this._active=l.Tools.isDefine(n==null?void 0:n.active)?n==null?void 0:n.active:!0,this.setViewportSize(n),this.initCacheCanvas(n,t),this._isWheelPreventDefaultX=(n==null?void 0:n.isWheelPreventDefaultX)||!1,this._isWheelPreventDefaultY=(n==null?void 0:n.isWheelPreventDefaultY)||!1,this.resetCanvasSizeAndUpdateScroll(),this.getBounding(),(r=this.scene.getEngine())==null||r.onTransformChange$.subscribeEvent(()=>{this.markForceDirty(!0)}),this.markForceDirty(!0)}initCacheCanvas(e,t){if(this._allowCache=(e==null?void 0:e.allowCache)||!1,this._allowCache){var n;this._cacheCanvas=new un({colorService:(n=t.getEngine())==null?void 0:n.canvasColorService}),this.bufferEdgeX=(e==null?void 0:e.bufferEdgeX)||0,this.bufferEdgeY=(e==null?void 0:e.bufferEdgeY)||0}}get scene(){return this._scene}get width(){return this._width}get height(){return this._height}get viewportKey(){return this._viewportKey}get topOrigin(){return this._topOrigin}get leftOrigin(){return this._leftOrigin}get bottomOrigin(){return this._bottomOrigin}get rightOrigin(){return this._rightOrigin}get top(){return this._top}get left(){return this._left}get bottom(){return this._bottom}get right(){return this._right}get isWheelPreventDefaultX(){return this._isWheelPreventDefaultX}get isWheelPreventDefaultY(){return this._isWheelPreventDefaultY}set width(e){this._width=e}set height(e){let t=this.scene.getParent().height;l.Tools.isDefine(e)?this._height=l.Tools.clamp(e,0,t):this._height=e}get isActive(){return this._active===!1||(this.height||0)<=0||(this.width||0)<=0?!1:this._active}set viewportScrollX(e){this._viewportScrollX=e}get viewportScrollX(){return this._viewportScrollX}set viewportScrollY(e){this._viewportScrollY=e}get viewportScrollY(){return this._viewportScrollY}set scrollX(e){this._scrollX=e}set scrollY(e){this._scrollY=e}get scrollX(){return this._scrollX}get scrollY(){return this._scrollY}set top(e){var t;this._topOrigin=e,this._top=I(e,(t=this._scene)==null||(t=t.getParent())==null?void 0:t.height)}set left(e){var t;this._leftOrigin=e,this._left=I(e,(t=this.scene.getParent())==null?void 0:t.width)}set bottom(e){var t;this._bottomOrigin=e,this._bottom=I(e,(t=this.scene.getParent())==null?void 0:t.height)}set right(e){var t;this._rightOrigin=e,this._right=I(e,(t=this.scene.getParent())==null?void 0:t.width)}get viewBound(){return this._viewBound}get cacheBound(){return this._cacheBound}set cacheBound(e){this._cacheBound=e}get preCacheBound(){return this._preCacheBound}set preCacheBound(e){this._preCacheBound=e,this._preCacheVisibleBound=Object.assign({},e)}get _deltaScrollX(){return this.scrollX-this._preScrollX}get _deltaScrollY(){return this.scrollY-this._preScrollY}get _deltaViewportScrollX(){return this.viewportScrollX-this._preViewportScrollX}get _deltaViewportScrollY(){return this.viewportScrollY-this._preViewportScrollY}get canvas(){return this._cacheCanvas}enable(){this._active=!0}disable(){this._active=!1}resetCanvasSizeAndUpdateScroll(){this._resizeCacheCanvas(),this._updateScrollByViewportScrollValue(),this.onResized$.next({width:this._width,height:this._height,left:this._left,top:this._top,paddingStartX:this._paddingStartX,paddingEndX:this._paddingEndX,paddingStartY:this._paddingStartY,paddingEndY:this._paddingEndY})}setScrollBar(e){this._scrollBar=e,this._updateScrollByViewportScrollValue()}removeScrollBar(){this._scrollBar=null}resizeWhenFreezeChange(e){Object.keys(e).length!==0&&(this.setViewportSize(e),this.resetCanvasSizeAndUpdateScroll())}setPadding(e){let{startX:t=0,startY:n=0,endX:r=0,endY:i=0}=e;this._paddingStartX=t,this._paddingEndX=r,this._paddingStartY=n,this._paddingEndY=i,this.resetCanvasSizeAndUpdateScroll()}resetPadding(){this.setPadding({startX:0,endX:0,startY:0,endY:0})}setMargin(e,t){this._marginLeft=e,this._marginTop=t}scrollToBarPos(e){return this._scrollToBarPosCore(e)}scrollByBarDeltaValue(e,t=!0){let n=this.scrollX+(e.x||0),r=this.scrollY+(e.y||0);return this._scrollToBarPosCore({x:n,y:r},t)}scrollToViewportPos(e,t=!0){if(!this._scrollBar||this.isActive===!1)return;let{viewportScrollX:n,viewportScrollY:r}=e;return this._scrollToViewportPosCore({viewportScrollX:n,viewportScrollY:r},t)}scrollByViewportDeltaVal(e,t=!0){if(!this._scrollBar||this.isActive===!1)return;let n=this.viewportScrollX+(e.viewportScrollX||0),r=this.viewportScrollY+(e.viewportScrollY||0);return this._scrollToViewportPosCore({viewportScrollX:n,viewportScrollY:r},t)}transViewportScroll2ScrollValue(e,t){let n=e-this._paddingStartX,r=t-this._paddingStartY;if(this._scrollBar){n*=this._scrollBar.ratioScrollX,r*=this._scrollBar.ratioScrollY;let{scaleX:e,scaleY:t}=this.scene;n*=e,r*=t}else this.scrollX!==void 0&&(n=this.scrollX),this.scrollY!==void 0&&(r=this.scrollY);return{x:n,y:r}}transScroll2ViewportScrollValue(e,t){let n=e,r=t;if(this._scrollBar){let{scaleX:e,scaleY:t}=this.scene;this._scrollBar.ratioScrollX===0?n=this.viewportScrollX===void 0?0:this.viewportScrollX:(n/=this._scrollBar.ratioScrollX,n/=e),this._scrollBar.ratioScrollY===0?r=this.viewportScrollY===void 0?0:this.viewportScrollY:(r/=this._scrollBar.ratioScrollY,r/=t)}else n=this.viewportScrollX===void 0?0:this.viewportScrollX,r=this.viewportScrollY===void 0?0:this.viewportScrollY;let{scaleX:i,scaleY:a}=this._scene.getPrecisionScale();return{x:H(n+this._paddingStartX,i),y:H(r+this._paddingStartY,a)}}getViewportScrollByScrollXY(){let e=this.scrollX,t=this.scrollY;return this.transScroll2ViewportScrollValue(e,t)}getScrollBar(){return this._scrollBar}updateScrollVal(e){this._preScrollX=this.scrollX,this._preScrollY=this.scrollY;let{scrollX:t,scrollY:n,viewportScrollX:r,viewportScrollY:i}=e;return t!==void 0&&(this.scrollX=t),n!==void 0&&(this.scrollY=n),r!==void 0&&(this._preViewportScrollX=this.viewportScrollX,this.viewportScrollX=r),i!==void 0&&(this._preViewportScrollY=this.viewportScrollY,this.viewportScrollY=i),this}getScrollBarTransForm(){let e=Y.create();return e.multiply(Y.create([1,0,0,1,this._left,this._top])),e}shouldIntoRender(){return!(this.isActive===!1||this.width==null||this.height==null||this.width<=1||this.height<=1)}render(e,t=[],n=!1){var r;if(!this.shouldIntoRender())return;let i=e||((r=this._scene.getEngine())==null?void 0:r.getCanvas().getContext()),a=this._scene.transform.clone();a.multiply(Y.create([1,0,0,1,-this.viewportScrollX||0,-this.viewportScrollY||0]));let o=a.getMatrix();i.save(),this._clipViewport&&(i.beginPath(),i.rect(this.left,this.top,this.width||0,this.height||0),i.clip()),i.transform(o[0],o[1],o[2],o[3],o[4],o[5]);let s=this.calcViewportInfo();for(let e=0,n=t.length;e<n;e++)t[e].render(i,s);if(this.markDirty(!1),this.markForceDirty(!1),this._preViewBound=this._viewBound,s.shouldCacheUpdate&&(this.preCacheBound=this._cacheBound),i.restore(),this._scrollBar&&n){i.save();let e=this.getScrollBarTransForm().getMatrix();i.transform(e[0],e[1],e[2],e[3],e[4],e[5]),this._drawScrollbar(i),i.restore()}this._afterRender()}_makeDefaultViewport(){return{viewBound:{left:-1,top:-1,right:-1,bottom:-1},diffBounds:[],diffX:-1,diffY:-1,viewPortPosition:{top:0,left:0,bottom:0,right:0},viewportKey:this.viewportKey,isDirty:0,isForceDirty:this.isForceDirty,allowCache:!1,cacheBound:{left:-1,top:-1,right:-1,bottom:-1},diffCacheBounds:[],cacheViewPortPosition:{top:0,left:0,bottom:0,right:0},shouldCacheUpdate:0,sceneTrans:Y.create([1,0,0,1,0,0]),leftOrigin:0,topOrigin:0,bufferEdgeX:this.bufferEdgeX,bufferEdgeY:this.bufferEdgeY}}calcViewportInfo(){if(this.isActive===!1)return this._makeDefaultViewport();let e=this._scene.transform.clone(),t=this._width,n=this._height,r=this._calcViewPortSize();t=r.width,n=r.height;let i=this.left,a=(t||0)+this.left,o=this.top,s=(n||0)+this.top,c=this.transformVector2SceneCoord(K.FromArray([i,o])),l=this.transformVector2SceneCoord(K.FromArray([a,s])),u={left:c.x,right:l.x,top:c.y,bottom:l.y};this._viewBound=u;let d=this._preViewBound,f=this._diffViewBound(u,d),p=((d==null?void 0:d.left)||0)-u.left,m=((d==null?void 0:d.top)||0)-u.top,h={top:o,left:i,bottom:s,right:a},g=this.expandBounds(u);this.cacheBound=g,this.preCacheBound||(this.preCacheBound=this.expandBounds(u));let _=[];this._preCacheVisibleBound&&(p<0?this._preCacheVisibleBound.left-=p:p>0&&(this._preCacheVisibleBound.right-=p),m<0?this._preCacheVisibleBound.top-=m:m>0&&(this._preCacheVisibleBound.bottom-=m));let v=this.expandBounds(h),y=this._calcCacheUpdate(u,this._preCacheVisibleBound,p,m);return y&&(_=this._calcDiffCacheBound(this._preCacheBound,g)),{viewBound:u,diffBounds:f,diffX:p,diffY:m,viewPortPosition:h,viewportKey:this.viewportKey,isDirty:this.isDirty?2:0,isForceDirty:this.isForceDirty,allowCache:this._allowCache,cacheBound:g,diffCacheBounds:_,cacheViewPortPosition:v,shouldCacheUpdate:y,sceneTrans:e,cacheCanvas:this._cacheCanvas,leftOrigin:this._leftOrigin,topOrigin:this._topOrigin,bufferEdgeX:this.bufferEdgeX,bufferEdgeY:this.bufferEdgeY,updatePrevCacheBounds:e=>{this.updatePrevCacheBounds(e)}}}getBounding(){return this.calcViewportInfo()}transformVector2SceneCoord(e){let t=this.scene.transform.clone().invert(),n=this.getViewportScrollByScrollXY();return t.applyPoint(e).add(K.FromArray([n.x,n.y]))}getAbsoluteVector(e){let t=this.scene.transform.clone(),n=this.getViewportScrollByScrollXY();return t.applyPoint(e.subtract(K.FromArray([n.x,n.y])))}onMouseWheel(e,t){if(!this._scrollBar||this.isActive===!1)return;let n=0,r=0,i=this._scene.width;n=(this.width||1)/i*e.deltaX;let a=this._scene.height,o=this.height||1;e.shiftKey?n=o/a*e.deltaY*3:r=o/a*e.deltaY;let s=this.scrollByBarDeltaValue({x:n,y:r});s&&!s.isLimitedX&&!s.isLimitedY&&(e.preventDefault(),this._scene.getParent().classType===O.SCENE_VIEWER&&t.stopPropagation()),this._isWheelPreventDefaultX&&this._isWheelPreventDefaultY&&e.preventDefault(),this._scene.makeDirty(!0)}isHit(e){if(this.isActive===!1)return!1;let{width:t,height:n}=this._calcViewPortSize();return e.x>=this.left&&e.x<=this.left+(t||0)&&e.y>=this.top&&e.y<=this.top+(n||0)}pickScrollBar(e){if(!this._scrollBar)return;let t=this.getScrollBarTransForm().invert().applyPoint(e);return this._scrollBar.pick(t)}openClip(){this._clipViewport=!0}closeClip(){this._clipViewport=!1}dispose(){var e,t;this.onMouseWheel$.complete(),this.onScrollAfter$.complete(),this.onScrollEnd$.complete(),(e=this._scrollBar)==null||e.dispose(),(t=this._cacheCanvas)==null||t.dispose(),this._scene.removeViewport(this._viewportKey)}limitedScroll(e,t){var n,r,i,a;if(!this._scrollBar)return{scrollX:0,scrollY:0,isLimitedX:!1,isLimitedY:!1};e=(n=e)==null?this.scrollX:n,t=(r=t)==null?this.scrollY:r;let{height:o,width:s}=this._calcViewPortSize();this._sceneWCurrVpAfterScale<=s&&(e=0),this._sceneHCurrVpAfterScale<=o&&(t=0);let c=(i=this._scrollBar)==null?void 0:i.limitX,u=(a=this._scrollBar)==null?void 0:a.limitY,d=!1,f=!1;return(e<0||e>c)&&(d=!0),(t<0||t>u)&&(f=!0),e=l.Tools.clamp(e,0,c),t=l.Tools.clamp(t,0,u),{scrollX:e,scrollY:t,isLimitedX:d,isLimitedY:f}}_limitViewportScroll(e,t){var n,r;let{width:i,height:a}=this._calcViewPortSize(),o=this._paddingEndY-this._paddingStartY,s=this._paddingEndX-this._paddingStartX,c=this.scene.scaleY,u=this.scene.scaleX,d=(n=(r=this.getScrollBar())==null?void 0:r.totalSize)==null?0:n,f=this._sceneWidthAfterScale-this._marginLeft*u-s*u-i+d,p=this._sceneHeightAfterScale-this._marginTop*c-o*c-a+d;return{viewportScrollX:l.Tools.clamp(e,this._paddingStartX,f/u),viewportScrollY:l.Tools.clamp(t,this._paddingStartY,p/c),isLimitedX:e>f,isLimitedY:t>p}}markDirty(e){e===void 0&&(e=!0),this._isDirty=e}get isDirty(){return this._isDirty}markForceDirty(e){e===void 0&&(e=!0),this._isForceDirty=e}resetPrevCacheBounds(){this._preCacheBound=null}get isForceDirty(){return this._isForceDirty}_resizeCacheCanvas(){var e;let{width:t,height:n}=this._calcViewPortSize();this.width=t,this.height=n;let r=this.scene.scaleX,i=this.scene.scaleY,a=t===0?0:t+this.bufferEdgeX*2*r,o=n===0?0:n+this.bufferEdgeY*2*i;(e=this._cacheCanvas)==null||e.setSize(a,o),this.cacheBound=this._viewBound,this.preCacheBound=null,this.markForceDirty(!0)}_updateScrollByViewportScrollValue(){if(!this.width||this.width<0||!this.height||this.height<0)return;let{width:e,height:t}=this._calcViewPortSize(),n=(this._scene.width-this._marginLeft-this._paddingEndX)*this._scene.scaleX,r=(this._scene.height-this._marginTop-this._paddingEndY)*this._scene.scaleY;if(this._sceneWCurrVpAfterScale=n,this._sceneHCurrVpAfterScale=r,this._sceneWidthAfterScale=this._scene.width*this._scene.scaleX,this._sceneHeightAfterScale=this._scene.height*this._scene.scaleY,this._scrollBar){this._scrollBar.resize(e,t,n,r);let i=this.viewportScrollX,a=this.viewportScrollY;this.scrollToViewportPos({viewportScrollX:i,viewportScrollY:a})}this.markForceDirty(!0)}_calcViewPortSize(){let{width:e,height:t}=this._scene.getParent(),{scaleX:n=1,scaleY:r=1}=this._scene,i,a,o=this._leftOrigin*n,s=this._topOrigin*r;return this._left=o,this._top=s,i=l.Tools.isDefine(this._widthOrigin)?(this._widthOrigin||0)*n:e-(this._left+this._right),a=l.Tools.isDefine(this._heightOrigin)?(this._heightOrigin||0)*r:t-(this._top+this._bottom),{width:i,height:a,parentHeight:t}}_afterRender(){}_emitScrollEnd$(e){clearTimeout(this._scrollStopNum),this._scrollStopNum=setTimeout(()=>{var t,n;this.onScrollEnd$.emitEvent({rawScrollX:e.rawScrollX,rawScrollY:e.rawScrollY,viewport:this,scrollX:this.scrollX,scrollY:this.scrollY,viewportScrollX:this.viewportScrollX,viewportScrollY:this.viewportScrollY,limitX:(t=this._scrollBar)==null?void 0:t.limitX,limitY:(n=this._scrollBar)==null?void 0:n.limitY,isTrigger:!1})},2)}_scrollToBarPosCore(e,t=!0){var n,r,i,a,o;if(this._scrollBar==null)return;let s=e.x,c=e.y,l=this.limitedScroll(s,c),u=this.transScroll2ViewportScrollValue(l.scrollX,l.scrollY);this.scrollX=s=l.scrollX,this.scrollY=c=l.scrollY,this.viewportScrollX=u.x,this.viewportScrollY=u.y;let d={viewport:this,scrollX:s,scrollY:c,viewportScrollX:u.x,viewportScrollY:u.y,rawScrollX:e.x,rawScrollY:e.y,limitX:(n=this._scrollBar)==null?void 0:n.limitX,limitY:(r=this._scrollBar)==null?void 0:r.limitY,isTrigger:t};return(i=this._scrollBar)==null||i.makeDirty(!0),this.onScrollAfter$.emitEvent(d),this._emitScrollEnd$(d),this.onScrollByBar$.emitEvent({viewport:this,scrollX:this.scrollX,scrollY:this.scrollY,viewportScrollX:this.viewportScrollX,viewportScrollY:this.viewportScrollY,limitX:(a=this._scrollBar)==null?void 0:a.limitX,limitY:(o=this._scrollBar)==null?void 0:o.limitY,isTrigger:t}),l}_scrollToViewportPosCore(e,t=!0){var n,r,i,a,o;if(this._scrollBar==null)return;let s=(n=e.viewportScrollX)==null?this.viewportScrollX:n,c=(r=e.viewportScrollY)==null?this.viewportScrollY:r,l=this.transViewportScroll2ScrollValue(s,c),u=this._limitViewportScroll(s,c);s=u.viewportScrollX,c=u.viewportScrollY;let d=this.transViewportScroll2ScrollValue(s,c),f=d.x,p=d.y;this._preScrollX=this.scrollX,this._preScrollY=this.scrollY,this._preViewportScrollX=this.viewportScrollX,this._preViewportScrollY=this.viewportScrollY,this.scrollX=f,this.scrollY=p,this.viewportScrollX=s,this.viewportScrollY=c;let m={isTrigger:t,viewport:this,scrollX:this.scrollX,scrollY:this.scrollY,viewportScrollX:s,viewportScrollY:c,rawScrollX:l.x,rawScrollY:l.y,limitX:(i=this._scrollBar)==null?void 0:i.limitX,limitY:(a=this._scrollBar)==null?void 0:a.limitY};return(o=this._scrollBar)==null||o.makeDirty(!0),this.onScrollAfter$.emitEvent(m),this._emitScrollEnd$(m),u}expandBounds(e){return{left:e.left-this.bufferEdgeX-0,right:e.right+this.bufferEdgeX+0,top:e.top-this.bufferEdgeY-0,bottom:e.bottom+this.bufferEdgeY+0}}updatePrevCacheBounds(e){e&&(this.preCacheBound=this.cacheBound=this.expandBounds(e))}_calcCacheUpdate(e,t,n,r){if(!this._cacheCanvas)return 0;if(!t)return 1;let i=e.right>t.right||e.top<t.top||e.left<t.left||e.bottom>t.bottom?1:0,a=this.bufferEdgeX/50,o=this.bufferEdgeY/50;return(t.right-e.right<a||e.left-t.left<a||e.top-t.top<o||t.bottom-e.bottom<o?5:0)|i}_diffViewBound(e,t){return t==null?[e]:dl({startRow:e.top,endRow:e.bottom,startColumn:e.left,endColumn:e.right},{startRow:t.top,endRow:t.bottom,startColumn:t.left,endColumn:t.right}).map(e=>{let{startRow:t,endRow:n,startColumn:r,endColumn:i}=e;return{left:r,top:t,right:i,bottom:n}})}_calcDiffCacheBound(e,t){if(!e)return[t];let n=[];t.left<e.left&&n.push({top:t.top,bottom:t.bottom,left:t.left,right:e.left}),t.right>e.right&&n.push({top:t.top,bottom:t.bottom,left:e.right,right:t.right}),t.top<e.top&&n.push({top:t.top,bottom:e.top,left:Math.max(e.left,t.left),right:Math.min(e.right,t.right)}),t.bottom>e.bottom&&n.push({top:e.bottom,bottom:t.bottom,left:Math.max(e.left,t.left),right:Math.min(e.right,t.right)});let r=this.bufferEdgeX,i=this.bufferEdgeY;for(let e of n)e.left-=r,e.right+=r,e.top-=i,e.bottom+=i;return n}_drawScrollbar(e){if(!this._scrollBar)return;let t=this._scene.getParent();(t.classType===O.SCENE_VIEWER||t.classType===O.ENGINE)&&this._scrollBar.render(e)}setViewportSize(e){l.Tools.isDefine(e==null?void 0:e.top)&&(this.top=e.top),l.Tools.isDefine(e==null?void 0:e.left)&&(this.left=e.left),l.Tools.isDefine(e==null?void 0:e.bottom)&&(this.bottom=e.bottom),l.Tools.isDefine(e==null?void 0:e.right)&&(this.right=e.right),l.Tools.isDefine(e==null?void 0:e.width)&&(this.width=e==null?void 0:e.width,this._widthOrigin=e==null?void 0:e.width),l.Tools.isDefine(e==null?void 0:e.height)&&(this.height=e==null?void 0:e.height,this._heightOrigin=e==null?void 0:e.height)}};exports.BASE_OBJECT_ARRAY=tn,exports.BG_Z_INDEX=21,exports.BORDER_TYPE=E,exports.BORDER_Z_INDEX=50,exports.Background=An,exports.BaseObject=rn,exports.Border=jn,exports.BreakType=dt,exports.CHECK_OBJECT_ARRAY=Js,exports.CIRCLE_OBJECT_ARRAY=Xs,exports.COLOR_BLACK_RGB=T,exports.CURSOR_TYPE=C,exports.Canvas=un,Object.defineProperty(exports,`CanvasColorService`,{enumerable:!0,get:function(){return Rc}}),exports.CanvasRenderMode=ln,exports.CheckboxShape=Ys,exports.Circle=Zs,exports.ColumnHeaderLayout=Nn,exports.ComponentExtension=mn,exports.Control=Qs,exports.Custom=Fn,exports.CustomObject=kc,exports.DEFAULT_DOCUMENT_FONTSIZE=14,exports.DEFAULT_FONTFACE_PLANE=y,exports.DEFAULT_FRAME_LIST_SIZE=3600,exports.DEFAULT_FRAME_SAMPLE_SIZE=60,exports.DEFAULT_MEASURE_TEXT=`0`,exports.DEFAULT_OFFSET_SPACING=1,exports.DEFAULT_PADDING_DATA=As,exports.DEFAULT_SKELETON_FOOTER=S,exports.DEFAULT_SKELETON_HEADER=x,exports.DOCUMENT_CONTEXT_CLIP_TYPE=w,exports.DRAWING_OBJECT_LAYER_INDEX=4,exports.DRAWING_OBJECT_LOWER_LAYER_INDEX=3,exports.DRAWING_OBJECT_UPPER_LAYER_INDEX=5,exports.DashedRect=tc,exports.DataStreamTreeNode=wr,exports.DeviceInputEventType=Ht,exports.DeviceType=Wt,exports.DocBackground=Oc,exports.DocSimpleSkeleton=_r,exports.DocumentEditArea=Tr,exports.DocumentSkeleton=Cs,exports.DocumentSkeletonPageType=G,exports.DocumentViewModel=Or,exports.Documents=mc,exports.DocumentsSpanAndLineExtensionRegistry=vn,exports.Drawing=nc,exports.DrawingGroupObject=jc,exports.DumbCanvasColorService=Lc,exports.EXPAND_SIZE_FOR_RENDER_OVERFLOW=20,Object.defineProperty(exports,`Engine`,{enumerable:!0,get:function(){return Vc}}),exports.EventConstants=Ut,exports.FIX_ONE_PIXEL_BLUR_OFFSET=j,exports.FONT_EXTENSION_Z_INDEX=45,exports.Font=Ls,exports.FontCache=W,exports.GlyphType=pt,exports.Group=Ac,exports.HitCanvas=fn,exports.ICanvasColorService=Ic,exports.INITIAL_MATRIX=en,exports.INITIAL_Path2=Gt,exports.IRenderManagerService=il,exports.IRenderingEngine=ll,exports.IWatermarkTypeEnum=gc,exports.Image=rc,exports.IsSafari=ne,exports.LINK_VIEW_PORT_TYPE=v,exports.Layer=xc,exports.LineType=ft,exports.Liquid=Cr,exports.MAIN_VIEW_PORT_KEY=$c,exports.MAXIMUM_COL_WIDTH=A,exports.MAXIMUM_ROW_HEIGHT=k,exports.MEASURE_EXTENT=En,exports.MEASURE_EXTENT_FOR_PARAGRAPH=1e3,exports.MIDDLE_CELL_POS_MAGIC_NUMBER=1,exports.MIN_COL_WIDTH=2,exports.Marker=zs,exports.NORMAL_TEXT_SELECTION_PLUGIN_STYLE=Zt,exports.ORIENTATION_TYPE=D,exports.ObjectType=nn,exports.PATH_OBJECT_ARRAY=ic,exports.PRINTING_BG_Z_INDEX=21,exports.PageLayoutType=mt,exports.Path=ac,exports.Path2=Kt,exports.PerformanceMonitor=Yt,exports.PointerInput=q,exports.RECT_OBJECT_ARRAY=$s,exports.REGULAR_POLYGON_OBJECT_ARRAY=oc,exports.RENDER_CLASS_TYPE=O,exports.RENDER_RAW_FORMULA_KEY=js,exports.RICHTEXT_OBJECT_ARRAY=cc,exports.Rect=ec,exports.RegularPolygon=sc,exports.RenderComponent=pn,Object.defineProperty(exports,`RenderManagerService`,{enumerable:!0,get:function(){return rl}}),Object.defineProperty(exports,`RenderUnit`,{enumerable:!0,get:function(){return tl}}),exports.RichText=lc,exports.RollingAverage=Xt,exports.RowHeaderLayout=Vs,exports.SHAPE_OBJECT_ARRAY=yr,exports.SHAPE_TYPE=_,exports.SHEET_EXTENSION_PREFIX=On,exports.SHEET_EXTENSION_TYPE=Dn,exports.SHEET_VIEWPORT_KEY=Cn,exports.SLIDE_NAVIGATION_KEY=Tc,exports.Scene=el,exports.SceneCanvas=dn,exports.SceneViewer=wc,exports.ScrollBar=uc,exports.ScrollTimer=Yc,exports.ScrollTimerType=qc,exports.Shape=br,exports.SheetColumnHeaderExtensionRegistry=_n,exports.SheetComponent=yn,exports.SheetExtension=kn,exports.SheetRowHeaderExtensionRegistry=gn,exports.ShowGridlinesState=Sn,exports.SkeletonType=ut,exports.Slide=Dc,exports.Spreadsheet=hc,exports.SpreadsheetColumnHeader=xn,exports.SpreadsheetExtensionRegistry=hn,exports.SpreadsheetHeader=bn,exports.SpreadsheetRowHeader=Hs,Object.defineProperty(exports,`SpreadsheetSkeleton`,{enumerable:!0,get:function(){return Ms}}),exports.TEXT_OBJECT_ARRAY=xr,exports.TRANSFORM_CHANGE_OBSERVABLE_TYPE=J,exports.Text=Sr,exports.Transform=Y,exports.UNIVER_WATERMARK_LAYER_INDEX=10,exports.UNIVER_WATERMARK_STORAGE_KEY=`UNIVER_WATERMARK_STORAGE_KEY`,exports.UniverPrintingContext=cn,Object.defineProperty(exports,`UniverRenderEnginePlugin`,{enumerable:!0,get:function(){return ul}}),exports.UniverRenderingContext=sn,exports.UniverRenderingContext2D=on,exports.VERTICAL_ROTATE_ANGLE=90,exports.Vector2=K,exports.Viewport=fl,exports.WatermarkLayer=Sc,exports.calculateRectRotate=Mt,exports.cancelRequestFrame=R,exports.checkStyle=Xe,exports.clampRange=it,exports.clearLineByBorderType=Dt,exports.convertTextRotation=$t,exports.convertTransformToOffsetX=Ns,exports.convertTransformToOffsetY=Ps,exports.createCanvasElement=z,exports.createImageElement=ee,exports.degToRad=V,exports.drawDiagonalLineByBorderType=Et,exports.drawLineByBorderType=Ct,exports.expandRangeIfIntersects=rt,exports.fixLineWidthByScale=H,exports.generateRandomKey=re,exports.getCellByIndexWithMergeInfo=Ge,exports.getCellPositionByIndex=Ue,exports.getCharSpaceApply=da,exports.getColor=F,exports.getCurrentScrollXY=Qt,exports.getCurrentTypeOfRenderer=ol,exports.getDPI=Le,exports.getDevicePixelRatio=St,exports.getDocsSkeletonPageSize=Fs,exports.getDrawingGroupState=Rt,exports.getFirstGrapheme=Ee,exports.getFontStyleString=pe,exports.getGroupState=Lt,exports.getLastColumn=ia,exports.getLastLine=aa,exports.getLineOffset=kt,exports.getLineWidth=jt,exports.getLineWith=At,exports.getNumberUnitValue=ua,exports.getOffsetRectForDom=an,exports.getPageFromPath=za,exports.getParagraphByGlyph=yt,exports.getPointerPrefix=te,exports.getRenderTransformBaseOnParentBound=Bt,exports.getRotateOffsetAndFarthestHypotenuse=Pt,exports.getRotateOrientation=Nt,exports.getRotatedBoundInGroup=Vt,exports.getScale=He,exports.getSizeForDom=Qe,exports.getSystemHighlightColor=at,exports.getTableIdAndSliceIndex=Ei,exports.getTranslateInSpreadContextWithPixelRatio=Ft,exports.getValueType=ie,exports.glyphIterator=_a,exports.hasAllLatin=be,exports.hasArabic=ke,exports.hasBasicLatin=xe,exports.hasCJK=_e,exports.hasCJKPunctuation=ye,exports.hasCJKText=he,exports.hasLatinExtendedA=Ce,exports.hasLatinExtendedB=we,exports.hasLatinOneSupplement=Se,exports.hasListGlyph=ht,exports.hasSpace=je,exports.hasTibetan=Ae,exports.hasUnMergedCellInRow=Ke,exports.inViewRanges=nt,exports.injectStyle=Ye,exports.isArray=ce,exports.isCjkCenterAlignedPunctuation=Pe,exports.isCjkLeftAlignedPunctuation=Me,exports.isCjkRightAlignedPunctuation=Ne,exports.isDate=oe,exports.isEmojiGrapheme=De,exports.isFirstGlyph=vt,exports.isFunction=ae,exports.isIndentByGlyph=gt,exports.isLastGlyph=_t,exports.isNumber=ue,exports.isObject=de,exports.isPlaceholderOrSpace=bt,exports.isRectIntersect=Je,exports.isRegExp=se,exports.isSameLine=xt,exports.isString=le,exports.lineIterator=va,exports.mergeInfoOffset=qe,exports.parseDataStreamToTree=Dr,exports.pixelToPt=tt,exports.precisionTo=fe,exports.ptToMM=Be,exports.ptToPixel=et,exports.ptToPx=Re,exports.pxToInch=Ve,exports.pxToNum=Ze,exports.pxToPt=ze,exports.radToDeg=B,exports.renderImageWatermark=bc,exports.renderTextWatermark=yc,exports.renderUserInfoWatermark=vc,exports.renderWatermark=_c,exports.requestNewFrame=L,exports.setLineType=Ot,exports.sheetContentViewportKeys=wn,exports.sheetHeaderViewportKeys=Tn,exports.startWithEmoji=Oe,exports.toPx=I,exports.transformObjectOutOfGroup=zt,exports.withCurrentTypeOfRenderer=sl;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));const c=require(`./en-us-SZJQVKoT.js`);let l=require(`@univerjs/core`),u=require(`cjk-regex`);u=s(u);let d=require(`rxjs`),f=require(`opentype.js/dist/opentype.module`),p=require(`franc-min`),m=require(`@floating-ui/dom`),h=require(`@floating-ui/utils`),g=require(`@floating-ui/utils/dom`),_=function(e){return e.RECT=`rect`,e.CIRCLE=`circle`,e.PATH=`path`,e}({}),v=function(e){return e[e.XY=0]=`XY`,e[e.X=1]=`X`,e[e.Y=2]=`Y`,e}({});const y=`"Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Heiti SC", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif`,b={lines:[],drawings:new Map,height:0,st:0,ed:0,marginLeft:0},x={...b,marginTop:20},S={...b,marginBottom:20};let C=function(e){return e.DEFAULT=`default`,e.AUTO=`auto`,e.CROSSHAIR=`crosshair`,e.POINTER=`pointer`,e.MOVE=`move`,e.EAST_RESIZE=`e-resize`,e.NORTH_EAST_RESIZE=`ne-resize`,e.NORTH_WEST_RESIZE=`nw-resize`,e.NORTH_RESIZE=`n-resize`,e.SOUTH_EAST_RESIZE=`se-resize`,e.SOUTH_WEST_RESIZE=`sw-resize`,e.SOUTH_RESIZE=`s-resize`,e.WEST_RESIZE=`w-resize`,e.TEXT=`text`,e.WAIT=`wait`,e.HELP=`help`,e.CELL=`cell`,e.NONE=`none`,e.VERTICAL_TEXT=`vertical-text`,e.NO_DROP=`no-drop`,e.GRAB=`grab`,e.GRABBING=`grabbing`,e.ALL_SCROLL=`all-scroll`,e.COLUMN_RESIZE=`col-resize`,e.ROW_RESIZE=`row-resize`,e.PROGRESS=`progress`,e.NOT_ALLOWED=`not-allowed`,e.ZOOM_IN=`zoom-in`,e.ZOOM_OUT=`zoom-out`,e}({}),w=function(e){return e[e.noClip=0]=`noClip`,e[e.DOC_SIZE=1]=`DOC_SIZE`,e[e.CONTENT_SIZE_LEFT=2]=`CONTENT_SIZE_LEFT`,e[e.CONTENT_SIZE_CENTER=3]=`CONTENT_SIZE_CENTER`,e[e.CONTENT_SIZE_Right=4]=`CONTENT_SIZE_Right`,e}({});const T=`rgb(0,0,0)`;let E=function(e){return e.TOP=`t`,e.BOTTOM=`b`,e.LEFT=`l`,e.RIGHT=`r`,e.TL_BR=`tl_br`,e.TL_BC=`tl_bc`,e.TL_MR=`tl_mr`,e.BL_TR=`bl_tr`,e.ML_TR=`ml_tr`,e.BC_TR=`bc_tr`,e}({}),D=function(e){return e[e.UP=0]=`UP`,e[e.DOWN=1]=`DOWN`,e}({}),O=function(e){return e.ENGINE=`Engine`,e.SCENE=`Scene`,e.BASE_OBJECT=`BaseObject`,e.SCENE_VIEWER=`SceneViewer`,e.CANVAS=`Canvas`,e.VIEWPORT=`Viewport`,e.LAYER=`Layer`,e.GROUP=`Group`,e.IMAGE=`Image`,e.SHAPE=`Shape`,e.TEXT=`Text`,e}({});const k=2e3,A=2e3,j=.5,M=Math.PI/180,N=180/Math.PI,P=`rgb(`,F=(e,t)=>e?t==null?`${P+e.join(`,`)})`:`${`rgba(`+e.join(`,`)},${t})`:`${P}0,0,0)`,I=(e,t)=>l.Tools.isNumber(e)?e:t&&e&&l.Tools.isString(e)&&e.substr(e.length-1,1)===`%`?Number.parseFloat(e)/100*t:0,L=(e,t)=>(t||(t=window),t.requestPostAnimationFrame?t.requestPostAnimationFrame(e):t.requestAnimationFrame?t.requestAnimationFrame(e):t.msRequestAnimationFrame?t.msRequestAnimationFrame(e):t.webkitRequestAnimationFrame?t.webkitRequestAnimationFrame(e):t.mozRequestAnimationFrame?t.mozRequestAnimationFrame(e):t.oRequestAnimationFrame?t.oRequestAnimationFrame(e):setTimeout(e,16)),R=(e,t)=>(t||(t=window),t.requestPostAnimationFrame?t.cancelPostAnimationFrame(e):t.requestAnimationFrame?t.cancelAnimationFrame(e):t.msRequestAnimationFrame?t.msCancelAnimationFrame(e):t.webkitRequestAnimationFrame?t.webkitCancelAnimationFrame(e):t.mozRequestAnimationFrame?t.mozCancelAnimationFrame(e):t.oRequestAnimationFrame?t.oCancelAnimationFrame(e):clearTimeout(e)),z=()=>{let e=document.createElement(`canvas`);try{e.style=e.style||{}}catch(e){console.error(e)}return e},ee=()=>document.createElement(`img`),B=e=>e*N,V=e=>e*M,te=()=>{let e=`pointer`;return typeof window<`u`&&!window.PointerEvent&&typeof navigator<`u`&&(e=`mouse`),l.Tools.isTablet()&&!l.Tools.isIPhone()&&!(document&&`ontouchend`in document)&&(e=`mouse`),e},ne=()=>l.Tools.getBrowserType()===`safari`,re=(e=`obj`,t=4)=>{let n=window.navigator.userAgent.replace(/[^a-zA-Z0-9]/g,``).split(``),r=``;for(let e=0;e<t;e++)r+=n[Math.round(Math.random()*(n.length-1))];let i=new Date().getTime();return`${e}_${r}_${i}`};function ie(e){return Object.prototype.toString.apply(e)}function ae(e){return ie(e)===`[object Function]`}function oe(e){return ie(e)===`[object Date]`}function se(e){return ie(e)===`[object RegExp]`}function ce(e){return ie(e)===`[object Array]`}function le(e){return ie(e)===`[object String]`}function ue(e){return ie(e)===`[object Number]`}function de(e){return ie(e)===`[object Object]`}function fe(e,t){return t=10**t,Math.round(e*t)/t}function H(e,t){return Math.round(e*t)/t}function pe(e){let t=l.DEFAULT_STYLES.ff,n=l.DEFAULT_STYLES.fs;if(!e){let e=`${n}pt ${t}`;return{fontCache:e,fontString:e,fontSize:n,originFontSize:n,fontFamily:t}}let r=l.FontStyleType.ITALIC;(e.it===0||e.it===void 0)&&(r=l.FontStyleType.NORMAL);let i=l.FontStyleType.BOLD;(e.bl===0||e.bl===void 0)&&(i=l.FontStyleType.NORMAL);let a=n;e.fs&&(a=Math.ceil(e.fs));let o=a,s=t;if(e.ff){let n=e.ff;n=n.replace(/"/g,``).replace(/'/g,``),n.indexOf(` `)>-1&&(n=`"${n}"`),n==null&&(n=t),s=n}let{va:c}=e;if(c===l.BaselineOffset.SUBSCRIPT||c===l.BaselineOffset.SUPERSCRIPT){let{sbr:e,spr:t}=W.getBaselineOffsetInfo(s,o);o*=c===l.BaselineOffset.SUBSCRIPT?e:t}let u=`${r} ${i} ${o}pt ${s}`;return{fontCache:u,fontString:`${u}, ${y} `,fontSize:o,originFontSize:a,fontFamily:s}}const me=u.letters().toRegExp();function he(e){return me.test(e)}const ge=u.all().toRegExp();function _e(e){return ge.test(e)}const ve=u.punctuations().toRegExp();function ye(e){return ve.test(e)}function be(e){return!!/[\u0000-\u024F]/gi.exec(e)}function xe(e){return!!/[\u0000-\u007F]/gi.exec(e)}function Se(e){return!!/[\u0080-\u00FF]/gi.exec(e)}function Ce(e){return!!/[\u0100-\u017F]/gi.exec(e)}function we(e){return!!/[\u0180-\u024F]/gi.exec(e)}const Te=new Intl.Segmenter(void 0,{granularity:`grapheme`});function Ee(e){var t,n;return(t=(n=Te.segment(e)[Symbol.iterator]().next().value)==null?void 0:n.segment)==null?null:t}function De(e){return!!(/\p{Extended_Pictographic}/u.test(e)||/^\p{Regional_Indicator}{2}$/u.test(e)||/^[0-9#*]\uFE0F?\u20E3$/u.test(e))}function Oe(e){let t=Ee(e);return t?De(t):!1}function ke(e){return/[\u0600-\u06FF]|[\u0750-\u0750]|[\u0870-\u08FF]|[\uFB50-\uFDFF]|[\uFE70-\uFEFF]/gi.test(e)}function Ae(e){return/[\u0180-\u024F]/gi.test(e)}function je(e){return/\s+/g.test(e)}function Me(e){return[`”`,`’`,`,`,`。`,`.`,`、`,`:`,`;`,`?`,`!`,`》`,`)`,`』`,`」`,`】`,`〗`,`〕`,`〉`,`]`,`}`].indexOf(e)>-1}function Ne(e){return[`“`,`‘`,`《`,`(`,`『`,`「`,`【`,`〖`,`〔`,`〈`,`[`,`{`].indexOf(e)>-1}function Pe(e){return[`・`,`·`].indexOf(e)>-1}const Fe=1e3;let Ie;function Le(){if(Ie)return Ie;let e=56;for(;e<Fe*2;e++)if(matchMedia(`(max-resolution: ${e}dpi)`).matches===!0)return e;return Ie=e,setTimeout(()=>{Ie=null},Fe),e}function Re(e){return e/(72/Le())}function ze(e){return e*(72/Le())}function Be(e){return e*(Le()/25.4)}function Ve(e){return e*Le()}function He(e){let{scaleX:t=1,scaleY:n=1}=e;return Math.max(t,n)}function Ue(e,t,n,r){let i=e-1,a=t-1,o=n[i]||0,s=n[e];s==null&&(s=n[n.length-1]);let c=r[a]||0,l=r[t];return l==null&&(l=r[r.length-1]),{startY:o,endY:s,startX:c,endX:l}}function We(e,t,n,r,i){e=l.Tools.clamp(e,0,n.length-1),t=l.Tools.clamp(t,0,r.length-1);let{startY:a,endY:o,startX:s,endX:c}=Ue(e,t,n,r),{isMerged:u,isMergedMainCell:d,startRow:f,startColumn:p,endRow:m,endColumn:h}=i,g={startRow:f,startColumn:p,endRow:m,endColumn:h,startY:0,endY:0,startX:0,endX:0},_=n.length-1,v=r.length-1;if(u&&f!==-1&&p!==-1){let e=n[f-1]||0,t=n[m]||n[_],i=r[p-1]||0,a=r[h]||r[v];g={...g,startY:e,endY:t,startX:i,endX:a}}else if(!u&&m!==-1&&h!==-1){let e=n[m]||n[_],t=r[h]||r[v];g={...g,startY:a,endY:e,startX:s,endX:t}}return{isMerged:u,isMergedMainCell:d,actualRow:e,actualColumn:t,startY:a,endY:o,startX:s,endX:c,mergeInfo:g}}const Ge=We;function Ke(e,t,n,r){let i=!1;for(let a=t;a<=n;a++){let{isMerged:t,isMergedMainCell:n}=(0,l.getCellInfoInMergeData)(e,a,r);if(!t&&!n){i=!0;break}}return i}function qe(e,t,n){return{...e,startY:e.startY+n,endY:e.endY+n,startX:e.startX+t,endX:e.endX+t}}function Je(e,t){return!(e.left>t.right||e.top>t.bottom||t.left>e.right||t.top>e.bottom)}function Ye(e){let t=document.createElement(`style`);document.head.appendChild(t);let n=t.sheet;for(let t of e)n==null||n.insertRule(t,n.cssRules.length)}function Xe(e){for(let t=0,n=document.head.childNodes.length;t<n;t++){let n=document.head.childNodes[t];if(n.nodeName===`STYLE`&&n.textContent&&n.textContent.indexOf(e)>-1)return!0}return!1}function Ze(e){return Number(e.replace(/px/gi,``))}function Qe(e){let{borderTopWidth:t,borderLeftWidth:n,borderRightWidth:r,borderBottomWidth:i,width:a,height:o}=getComputedStyle(e);return{top:Ze(t),left:Ze(n),right:Ze(r),bottom:Ze(i),width:Ze(a),height:Ze(o)}}const $e=.75;function et(e){return e/$e}function tt(e){return e*$e}function nt(e,t,n){for(let r of e)if(t>=r.startRow&&t<=r.endRow&&n>=r.startColumn&&n<=r.endColumn)return!0;return!1}function rt(e,t){let n=[];for(let r of e)for(let e of t)l.Rectangle.simpleRangesIntersect(r,e)&&n.push(e);return e.concat(n)}function it(e,t,n){return{startRow:l.Tools.clamp(e.startRow,0,t),endRow:l.Tools.clamp(e.endRow,0,t),startColumn:l.Tools.clamp(e.startColumn,0,n),endColumn:l.Tools.clamp(e.endColumn,0,n)}}function at(){let e=document.createElement(`div`);e.style.width=`0`,e.style.height=`0`,e.style.backgroundColor=`highlight`,document.body.append(e);let t=getComputedStyle(e).backgroundColor;return e.remove(),new l.ColorKit(t).toRgb()}function ot(e){"@babel/helpers - typeof";return ot=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},ot(e)}function st(e,t){if(ot(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(ot(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function ct(e){var t=st(e,`string`);return ot(t)==`symbol`?t:t+``}function U(e,t,n){return(t=ct(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const lt=e=>({sbr:.6,sbo:e,spr:.6,spo:e});var W=class{static get globalFontMeasureCache(){return this._globalFontMeasureCache}static setFontMeasureCache(e,t,n){this._globalFontMeasureCache.has(e)||this._globalFontMeasureCache.set(e,new Map);let r=this._globalFontMeasureCache.get(e);r&&r.set(t,n)}static clearFontMeasureCache(e){let t=e.split(`/`);if(t.length===1){let e=t[0];this._globalFontMeasureCache.delete(e)}else if(t.length===2){var n;let e=t[0],r=t[1];(n=this._globalFontMeasureCache.get(e))==null||n.delete(r)}else return!1;return!0}static getFontMeasureCache(e,t){var n;return(n=this._globalFontMeasureCache.get(e))==null?void 0:n.get(t)}static autoCleanFontMeasureCache(e=1e6){let t=0,n=!1,r=0;for(let i of this._globalFontMeasureCache){let[,a]=i;if(t+=a.size,t>e){n=!0;break}r++}if(n){let t=0;for(let n of this._globalFontMeasureCache){let[r,i]=n;if(t+=i.size,t>e/2){let n=t-e/2;this._clearMeasureCache(n,i);break}this._globalFontMeasureCache.delete(r)}return!0}return!1}static getBaselineOffsetInfo(e,t){if(this._fontDataMap.size===0)return lt(t);let n=e.split(`,`);for(let e of n){e=e.replace(/'/g,``);let n=this._fontDataMap.get(e);if(!n)continue;let{subscriptSizeRatio:r,subscriptOffset:i,superscriptSizeRatio:a,superscriptOffset:o}=n;return{sbr:r,sbo:i*t,spr:a,spo:o*t}}return lt(t)}static getTextSizeByDom(e,t){if(t in this._getTextHeightCache)return this._getTextHeightCache[t];let n=document.getElementById(`universheetTextSizeTest`);n||(n=document.createElement(`span`),n.id=`universheetTextSizeTest`,document.getElementsByTagName(`body`)[0].appendChild(n)),n.style.cssText+=`float:left;white-space:nowrap;visibility:hidden;margin:0;padding:0;;${t}`,n.textContent=e;let r=n.getBoundingClientRect(),i={width:r.width,height:r.height};return this._getTextHeightCache[t]=i,i}static getTextSize(e,t){let{fontString:n,fontSize:r,fontFamily:i}=t,a=this._getBoundingBoxByFont(i,r);if(!a){let r=this.getMeasureText(e,n);a=this._calculateBoundingBoxByMeasureText(r,t)}return a}static getBBoxFromGlyphInfo(e,t){var n;let r=e.glyph,i=e.font,{y1:a,y2:o}=e.boundingBox,s=et(t.fontSize)/i.unitsPerEm,{ascender:c,descender:l}=i;return this._calculateBoundingBoxByMeasureText({width:((n=r.advanceWidth)==null?0:n)*s,fontBoundingBoxAscent:c*s,fontBoundingBoxDescent:Math.abs(l*s),actualBoundingBoxAscent:o*s,actualBoundingBoxDescent:Math.abs(a*s)},t)}static getMeasureText(e,t){if(this._context||(this._context=document.createElement(`canvas`).getContext(`2d`)),!this._context)return{width:0,fontBoundingBoxAscent:0,fontBoundingBoxDescent:0,actualBoundingBoxAscent:0,actualBoundingBoxDescent:0};let n=this._context,r=this.getFontMeasureCache(t,e);if(r!=null)return r;n.font=t;let{width:i,fontBoundingBoxAscent:a,fontBoundingBoxDescent:o,actualBoundingBoxAscent:s,actualBoundingBoxDescent:c}=n.measureText(e),l={width:i,fontBoundingBoxAscent:a,fontBoundingBoxDescent:o,actualBoundingBoxAscent:s,actualBoundingBoxDescent:c};if(a==null||o==null||Number.isNaN(a)||Number.isNaN(o)){let e=this.getTextSizeByDom(`0`,t).height;n.textBaseline===`top`?(l.fontBoundingBoxAscent=l.actualBoundingBoxAscent=e,l.fontBoundingBoxDescent=l.actualBoundingBoxDescent=0):n.textBaseline===`middle`?(l.fontBoundingBoxDescent=l.actualBoundingBoxDescent=e/2,l.fontBoundingBoxAscent=l.actualBoundingBoxAscent=e/2):(l.fontBoundingBoxDescent=l.actualBoundingBoxDescent=0,l.fontBoundingBoxAscent=l.actualBoundingBoxAscent=e)}return this.setFontMeasureCache(t,e,l),l}static _clearMeasureCache(e,t){let n=0;for(let r of t){let[i]=r;if(n>e)break;t.delete(i),n++}return!0}static _getBoundingBoxByFont(e,t=28,n=``){let r=this._fontDataMap.get(e);if(!r)return;let{notDefWidth:i,ascender:a,descender:o,typoAscender:s,typoDescender:c,strikeoutPosition:l,subscriptSizeRatio:u,subscriptOffset:d,superscriptSizeRatio:f,superscriptOffset:p,hdmxData:m,glyphHorizonMap:h}=r,g=m==null?void 0:m.indexOf(Math.floor(t)),_=h.get(n.charCodeAt(0)),v=i;if(_){let{width:e,pixelsPerEm:t=[]}=_;v=g?t[g]:e}return{width:v*t,ba:a*t,bd:o*t,aba:s*t,abd:c*t,sp:l*t,sbr:u,sbo:d*t,spr:f,spo:p*t}}static _calculateBoundingBoxByMeasureText(e,t){let{width:n,fontBoundingBoxAscent:r,fontBoundingBoxDescent:i,actualBoundingBoxAscent:a,actualBoundingBoxDescent:o}=e,{fontSize:s,originFontSize:c}=t,l=c/s,u=r*l,d=i*l;return{width:n,ba:u,bd:d,aba:a,abd:o,sp:(r+i)/2,sbr:.6,spr:.6,sbo:(u+d)*.141,spo:(u+d)*.4}}};U(W,`_getTextHeightCache`,{}),U(W,`_context`,void 0),U(W,`_fontDataMap`,new Map),U(W,`_globalFontMeasureCache`,new Map);let G=function(e){return e[e.BODY=0]=`BODY`,e[e.HEADER=1]=`HEADER`,e[e.FOOTER=2]=`FOOTER`,e[e.CELL=3]=`CELL`,e}({}),ut=function(e){return e[e.GLYPH=0]=`GLYPH`,e[e.DIVIDE=1]=`DIVIDE`,e[e.LINE=2]=`LINE`,e[e.COLUMN=3]=`COLUMN`,e[e.SECTION=4]=`SECTION`,e[e.PAGE=5]=`PAGE`,e[e.DRAWING=6]=`DRAWING`,e[e.BULLET=7]=`BULLET`,e[e.HEADER=8]=`HEADER`,e[e.FOOTER=9]=`FOOTER`,e[e.ALL=10]=`ALL`,e}({}),dt=function(e){return e[e.SECTION=0]=`SECTION`,e[e.PAGE=1]=`PAGE`,e[e.COLUMN=2]=`COLUMN`,e}({}),ft=function(e){return e[e.PARAGRAPH=0]=`PARAGRAPH`,e[e.BLOCK=1]=`BLOCK`,e}({}),pt=function(e){return e[e.LETTER=0]=`LETTER`,e[e.WORD=1]=`WORD`,e[e.LIST=2]=`LIST`,e[e.PLACEHOLDER=3]=`PLACEHOLDER`,e[e.TAB=4]=`TAB`,e[e.IMAGE=5]=`IMAGE`,e[e.AT=6]=`AT`,e[e.MATH=7]=`MATH`,e[e.MULTI_LINE=8]=`MULTI_LINE`,e[e.CUSTOM=9]=`CUSTOM`,e}({}),mt=function(e){return e[e.VERTICAL=0]=`VERTICAL`,e[e.HORIZONTAL=1]=`HORIZONTAL`,e[e.AUTO=2]=`AUTO`,e}({});function ht(e){var t;let n=e==null?void 0:e.parent;return n==null?!1:((t=n.glyphGroup[0])==null?void 0:t.glyphType)===pt.LIST}function gt(e,t){let n=yt(e,t);if(n==null)return!1;let{paragraphStyle:r}=n;return r==null?!1:(0,l.checkParagraphHasIndentByStyle)(r)}function _t(e){let t=e==null?void 0:e.parent,n=t==null?void 0:t.parent,r=t==null?void 0:t.glyphGroup,i=n==null?void 0:n.divides;if(r&&e&&i&&t){let n=r.indexOf(e);if(i.indexOf(t)===i.length-1&&n===r.length-1)return!0}return!1}function vt(e){let t=e==null?void 0:e.parent,n=t==null?void 0:t.parent,r=t==null?void 0:t.glyphGroup,i=n==null?void 0:n.divides;if(r&&e&&i&&t){let n=r.indexOf(e),a=i.indexOf(t);if(a===0&&n===0||a===0&&n===1&&r[0].glyphType===pt.LIST)return!0}return!1}function yt(e,t){var n;let r=e==null||(n=e.parent)==null?void 0:n.parent;if(r==null||t==null)return;let i=t.paragraphs;if(i!=null)for(let e=0;e<i.length;e++){let t=i[e],n=i[e-1];if(t.startIndex===r.paragraphIndex){var a;return{...t,paragraphStart:((a=n==null?void 0:n.startIndex)==null?-1:a)+1,paragraphEnd:t.startIndex}}}}function bt(e){return e==null?!1:[l.DataStreamTreeTokenType.PARAGRAPH,l.DataStreamTreeTokenType.TAB,l.DataStreamTreeTokenType.SECTION_BREAK].indexOf(e.streamType)!==-1||e.content===l.DataStreamTreeTokenType.SPACE}function xt(e,t){return e==null||t==null||e.parent==null||t.parent==null?!1:e.parent.parent===t.parent.parent}var K=class e{constructor(e=0,t=0){this.x=e,this.y=t}static Zero(){return new e(0,0)}static One(){return new e(1,1)}static FromArray(t,n=0){return new e(t[n],t[n+1])}static FromArrayToRef(e,t,n){n.x=e[t],n.y=e[t+1]}static CatmullRom(t,n,r,i,a){let o=a*a,s=a*o;return new e(.5*(2*n.x+(-t.x+r.x)*a+(2*t.x-5*n.x+4*r.x-i.x)*o+(-t.x+3*n.x-3*r.x+i.x)*s),.5*(2*n.y+(-t.y+r.y)*a+(2*t.y-5*n.y+4*r.y-i.y)*o+(-t.y+3*n.y-3*r.y+i.y)*s))}static Clamp(t,n,r){let i=t.x;i=i>r.x?r.x:i,i=i<n.x?n.x:i;let a=t.y;return a=a>r.y?r.y:a,a=a<n.y?n.y:a,new e(i,a)}static Hermite(t,n,r,i,a){let o=a*a,s=a*o,c=2*s-3*o+1,l=-2*s+3*o,u=s-2*o+a,d=s-o;return new e(t.x*c+r.x*l+n.x*u+i.x*d,t.y*c+r.y*l+n.y*u+i.y*d)}static Hermite1stDerivative(t,n,r,i,a){let o=e.Zero();return this.Hermite1stDerivativeToRef(t,n,r,i,a,o),o}static Hermite1stDerivativeToRef(e,t,n,r,i,a){let o=i*i;a.x=(o-i)*6*e.x+(3*o-4*i+1)*t.x+(-o+i)*6*n.x+(3*o-2*i)*r.x,a.y=(o-i)*6*e.y+(3*o-4*i+1)*t.y+(-o+i)*6*n.y+(3*o-2*i)*r.y}static Lerp(t,n,r){return new e(t.x+(n.x-t.x)*r,t.y+(n.y-t.y)*r)}static Dot(e,t){return e.x*t.x+e.y*t.y}static Normalize(t){let n=e.Zero();return this.NormalizeToRef(t,n),n}static NormalizeToRef(e,t){let n=e.length();n!==0&&(t.x=e.x/n,t.y=e.y/n)}static Minimize(t,n){return new e(t.x<n.x?t.x:n.x,t.y<n.y?t.y:n.y)}static Maximize(t,n){return new e(t.x>n.x?t.x:n.x,t.y>n.y?t.y:n.y)}static PointInTriangle(e,t,n,r){let i=1/2*(-n.y*r.x+t.y*(-n.x+r.x)+t.x*(n.y-r.y)+n.x*r.y),a=i<0?-1:1,o=(t.y*r.x-t.x*r.y+(r.y-t.y)*e.x+(t.x-r.x)*e.y)*a,s=(t.x*n.y-t.y*n.x+(t.y-n.y)*e.x+(n.x-t.x)*e.y)*a;return o>0&&s>0&&o+s<2*i*a}static Distance(t,n){return Math.sqrt(e.DistanceSquared(t,n))}static DistanceSquared(e,t){let n=e.x-t.x,r=e.y-t.y;return n*n+r*r}static Center(t,n){return e.CenterToRef(t,n,e.Zero())}static CenterToRef(e,t,n){return n.copyFromFloats((e.x+t.x)/2,(e.y+t.y)/2)}static DistanceOfPointFromSegment(t,n,r){let i=e.DistanceSquared(n,r);if(i===0)return e.Distance(t,n);let a=r.subtract(n),o=Math.max(0,Math.min(1,e.Dot(t.subtract(n),a)/i)),s=n.add(a.multiplyByFloats(o,o));return e.Distance(t,s)}static create(t,n){return new e(t,n)}toString(){return`{X: ${this.x} Y: ${this.y}}`}getClassName(){return`Vector2`}getHashCode(){let e=this.x|0;return e=e*397^(this.y|0),e}toArray(e,t=0){return e[t]=this.x,e[t+1]=this.y,this}fromArray(t,n=0){return e.FromArrayToRef(t,n,this),this}asArray(){let e=[];return this.toArray(e,0),e}copyFrom(e){return this.x=e.x,this.y=e.y,this}copyFromFloats(e,t){return this.x=e,this.y=t,this}set(e,t){return this.copyFromFloats(e,t)}add(t){return new e(this.x+t.x,this.y+t.y)}addToRef(e,t){return t.x=this.x+e.x,t.y=this.y+e.y,this}addByPoint(t,n){return new e(this.x+t,this.y+n)}addInPlace(e){return this.x+=e.x,this.y+=e.y,this}subtract(t){return new e(this.x-t.x,this.y-t.y)}subtractByPoint(t,n){return new e(this.x-t,this.y-n)}subtractToRef(e,t){return t.x=this.x-e.x,t.y=this.y-e.y,this}subtractInPlace(e){return this.x-=e.x,this.y-=e.y,this}multiplyInPlace(e){return this.x*=e.x,this.y*=e.y,this}multiply(t){return new e(this.x*t.x,this.y*t.y)}multiplyToRef(e,t){return t.x=this.x*e.x,t.y=this.y*e.y,this}multiplyByFloats(t,n){return new e(this.x*t,this.y*n)}divide(t){return new e(this.x/t.x,this.y/t.y)}divideToRef(e,t){return t.x=this.x/e.x,t.y=this.y/e.y,this}divideInPlace(e){return this.divideToRef(e,this)}negate(){return new e(-this.x,-this.y)}negateInPlace(){return this.x*=-1,this.y*=-1,this}negateToRef(e){return e.copyFromFloats(this.x*-1,this.y*-1)}scaleInPlace(e){return this.x*=e,this.y*=e,this}scale(t){let n=new e(0,0);return this.scaleToRef(t,n),n}scaleToRef(e,t){return t.x=this.x*e,t.y=this.y*e,this}scaleAndAddToRef(e,t){return t.x+=this.x*e,t.y+=this.y*e,this}equals(e){return e&&this.x===e.x&&this.y===e.y}floor(){return new e(Math.floor(this.x),Math.floor(this.y))}fract(){return new e(this.x-Math.floor(this.x),this.y-Math.floor(this.y))}rotate(e){let t=Math.cos(e),n=Math.sin(e),r=t*this.x-n*this.y,i=n*this.x+t*this.y;return this.x=r,this.y=i,this}rotateToRef(e,t){let n=Math.cos(e),r=Math.sin(e);return t.x=n*this.x-r*this.y,t.y=r*this.x+n*this.y,this}rotateByPoint(t,n=e.create(0,0)){let r=Math.cos(t),i=Math.sin(t),a=n.x+(this.x-n.x)*r-(this.y-n.y)*i,o=n.y+(this.x-n.x)*i+(this.y-n.y)*r;return this.x=a,this.y=o,this}transformCoordinateOnRotate(e){let t=Math.sqrt(this.x**2+this.y**2),n=Math.atan2(this.y,this.x),r=-e+n;return this.x=t*Math.cos(r),this.y=t*Math.sin(r),this}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}lengthSquared(){return this.x*this.x+this.y*this.y}normalize(){return e.NormalizeToRef(this,this),this}clone(){return new e(this.x,this.y)}};function St(){let e=1,t=z().getContext(`2d`);return e=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),e<1?1:e}function Ct(e,t,n,r){let i=0,a=0,o=0,s=0,{startX:c,startY:l,endX:u,endY:d}=r;t===E.TOP?(i=c-n,a=l,o=u+n,s=l):t===E.BOTTOM?(i=c-n,a=d,o=u-n,s=d):t===E.LEFT?(i=c,a=l-n,o=c,s=d+n):t===E.RIGHT&&(i=u,a=l-n,o=u,s=d+n),e.beginPath(),e.moveToByPrecision(i,a),e.lineToByPrecision(o,s),e.stroke(),e.closePathByEnv()}function wt(e,t,n){let r=0,i=0,a=0,o=0,{startX:s,startY:c,endX:l,endY:u}=n;switch(t){case E.TL_BR:r=s,i=c,a=l,o=u;break;case E.TL_BC:r=s,i=c,a=(s+l)/2,o=u;break;case E.TL_MR:r=s,i=c,a=l,o=(c+u)/2;break;case E.BL_TR:r=s,i=u,a=l,o=c;break;case E.ML_TR:r=s,i=(c+u)/2,a=l,o=c;break;case E.BC_TR:r=(s+l)/2,i=u,a=l,o=c;break}e.beginPath(),e.moveToByPrecision(r,i),e.lineToByPrecision(a,o),e.closePathByEnv(),e.stroke()}function Tt(e,t,n){let r=0,i=0,a=0,o=0,s=0,c=0,l=0,u=0,{startX:d,startY:f,endX:p,endY:m}=n;switch(t){case E.TL_BR:r=d,i=f+1.5,a=p-1.5,o=m,s=d+1.5,c=f,l=p,u=m-1.5;break;case E.BL_TR:r=d,i=m-1.5,a=p-1.5,o=f,s=d+1.5,c=m,l=p,u=f+1.5;break}e.beginPath(),e.moveToByPrecision(r,i),e.lineToByPrecision(a,o),e.closePathByEnv(),e.stroke(),e.beginPath(),e.moveToByPrecision(s,c),e.lineToByPrecision(l,u),e.closePathByEnv(),e.stroke()}function Et(e,t,n,r){t===l.BorderStyleTypes.DOUBLE&&(n===E.TL_BR||n===E.BL_TR)?Tt(e,n,r):wt(e,n,r)}function Dt(e,t,n){let r=0,i=0,a=0,o=0,{startX:s,startY:c,endX:l,endY:u}=n;switch(t){case E.TOP:r=s,i=c,a=l,o=c;break;case E.BOTTOM:r=s,i=u,a=l,o=u;break;case E.LEFT:r=s,i=c,a=s,o=u;break;case E.RIGHT:r=l,i=c,a=l,o=u;break}e.beginPath(),e.clearRectForTexture(r,i,a-r,o-i)}function Ot(e,t){t===l.BorderStyleTypes.HAIR?e.setLineDash([1,1]):t===l.BorderStyleTypes.DASH_DOT_DOT||t===l.BorderStyleTypes.MEDIUM_DASH_DOT_DOT?e.setLineDash([2,2,5,2,2]):t===l.BorderStyleTypes.DASH_DOT||t===l.BorderStyleTypes.MEDIUM_DASH_DOT||t===l.BorderStyleTypes.SLANT_DASH_DOT?e.setLineDash([2,5,2]):t===l.BorderStyleTypes.DOTTED?e.setLineDash([2]):t===l.BorderStyleTypes.DASHED||t===l.BorderStyleTypes.MEDIUM_DASHED?e.setLineDash([3]):e.setLineDash([0])}function kt(){let e=At(1);return e-Math.floor(e)}function At(e){return Math.ceil(e/St()*100)/100}function jt(e){let t=1;return e===l.BorderStyleTypes.MEDIUM||e===l.BorderStyleTypes.MEDIUM_DASH_DOT||e===l.BorderStyleTypes.MEDIUM_DASHED||e===l.BorderStyleTypes.MEDIUM_DASH_DOT_DOT?t=2:e===l.BorderStyleTypes.THICK&&(t=3),t}function Mt(e,t,n,r,i=K.create(0,0)){let a=e.add(t).rotateByPoint(r),o=a.subtract(t),s=r-n;return o.rotateByPoint(s,a).add(i).transformCoordinateOnRotate(s)}function Nt(e){return e>0?D.DOWN:D.UP}function Pt(e,t,n){let r=[],i=0,a=0,o=0,s=0,c=0,l=Nt(n),u=e.length;n=Math.abs(n);let d=Math.tan(n),f=Math.sin(n),p=Math.cos(n);if(l===D.UP){let n=0;for(let i=0;i<u;i++){let{lineHeight:s=0}=e[i];n+=i===0?0:s;let l=t*f+s*p;r.push(n/d),l>a&&(a=l),i===0&&(o+=s*f,c+=s*p)}o+=n/f+t*p,c-=a}else{var m;let n=0,c=-1,l=[];for(let r=u-1;r>=0;r--){let{lineHeight:i=0}=e[r],s=i/d,m=(t+s)*f;l.unshift(i/d),m>a&&(a=m,n=s,c=r),r===0?o+=i*f:r===u-1?o+=t*p+i/f:o+=i/f}let h=((m=e[c])==null?void 0:m.lineHeight)||0,g=0;for(let t=c+1;t<=u-1;t++){let{lineHeight:n=0}=e[t];h+=n,g+=l[t]||0,r[t]=-g}g=0;for(let t=c-1;t>=0;t--){let{lineHeight:n=0}=e[t];g+=l[t+1]||0,r[t]=g,i+=n}r[c]=0,u===1&&(o+=t*p),s=h/f-n*p}return{rotateTranslateXList:r,rotatedHeight:a,rotatedWidth:o,fixOffsetX:s,fixOffsetY:c,rotateTranslateY:i}}function Ft(){let e=.5-kt();return{left:e,top:e}}function It(e,t,n,r){let i=V(t),a=n.clone().rotateByPoint(i,e),o=r.clone().rotateByPoint(i,e),s=a.clone();return s.rotateByPoint(V(-t),o),s}function Lt(e,t,n){let r=2**53-1,i=2**53-1,a=-(2**53-1),o=-(2**53-1);n.forEach(e=>{let{left:t=0,top:n=0,width:s=0,height:c=0}=e;r=Math.min(r,t),i=Math.min(i,n),a=Math.max(a,t+s),o=Math.max(o,n+c)});let s=a-r,c=o-i;return{left:r+e,top:i+t,width:s,height:c,angle:0,scaleX:1,scaleY:1}}function Rt(e,t,n){let r=2**53-1,i=2**53-1,a=-(2**53-1),o=-(2**53-1);n.forEach(e=>{let{left:t=0,top:n=0,width:s=0,height:c=0}=e;r=Math.min(r,t),i=Math.min(i,n),a=Math.max(a,t+s),o=Math.max(o,n+c)});let s=a-r,c=o-i;return{left:r,top:i,width:s,height:c,angle:0,scaleX:1,scaleY:1}}function zt(e,t,n,r,i){let{left:a=0,top:o=0,width:s=0,height:c=0,angle:l=0}=e,{left:u=0,top:d=0,angle:f=0,flipX:p=!1,flipY:m=!1}=t,h=a,g=o,_=s,v=c;if(i&&i.width>0&&i.height>0){let e=Bt(i,{left:u,top:d,width:n,height:r},{left:a,top:o,width:s,height:c});h=e.left,g=e.top,_=e.width,v=e.height}let y=u+n/2,b=d+r/2,x=e.flipX||!1,S=e.flipY||!1,C=h,w=g;if(p){let e=C+_/2;C=2*y-e-_/2,x=!x}if(m){let e=w+v/2;w=2*b-e-v/2,S=!S}let T=C+_/2,E=w+v/2,D=It(new K(y,b),f,new K(C,w),new K(T,E));return{left:D.x,top:D.y,width:_,height:v,angle:f+l,flipX:x,flipY:S}}function Bt(e,t,n){if(!e)return{left:n.left,top:n.top,width:n.width,height:n.height};let{left:r,top:i,width:a,height:o}=e,{left:s,top:c,width:l,height:u}=t;return{left:s+(n.left-r)/a*l,top:c+(n.top-i)/o*u,width:n.width/a*l,height:n.height/o*u}}function Vt(e,t){let n=(t%360+360)%360,r=e.left+e.width/2,i=e.top+e.height/2,a=n>=315||n<45||n>=135&&n<225,o,s;return a?(o=e.width,s=e.height):(o=e.height,s=e.width),{left:r-o/2,top:i-s/2,width:o,height:s}}let Ht=function(e){return e[e.PointerMove=0]=`PointerMove`,e[e.PointerDown=1]=`PointerDown`,e[e.PointerUp=2]=`PointerUp`,e[e.Dblclick=3]=`Dblclick`,e[e.Keyboard=4]=`Keyboard`,e}({});var Ut=class{};U(Ut,`DOM_DELTA_PIXEL`,0),U(Ut,`DOM_DELTA_LINE`,1),U(Ut,`DOM_DELTA_PAGE`,2);let Wt=function(e){return e[e.Generic=0]=`Generic`,e[e.Keyboard=1]=`Keyboard`,e[e.Mouse=2]=`Mouse`,e[e.Touch=3]=`Touch`,e}({}),q=function(e){return e[e.Horizontal=0]=`Horizontal`,e[e.Vertical=1]=`Vertical`,e[e.LeftClick=2]=`LeftClick`,e[e.MiddleClick=3]=`MiddleClick`,e[e.RightClick=4]=`RightClick`,e[e.BrowserBack=5]=`BrowserBack`,e[e.BrowserForward=6]=`BrowserForward`,e[e.MouseWheelX=7]=`MouseWheelX`,e[e.MouseWheelY=8]=`MouseWheelY`,e[e.MouseWheelZ=9]=`MouseWheelZ`,e[e.DeltaHorizontal=10]=`DeltaHorizontal`,e[e.DeltaVertical=11]=`DeltaVertical`,e[e.FakeMove=12]=`FakeMove`,e}({}),J=function(e){return e[e.translate=0]=`translate`,e[e.resize=1]=`resize`,e[e.scale=2]=`scale`,e[e.skew=3]=`skew`,e[e.flip=4]=`flip`,e[e.all=5]=`all`,e}({});const Gt=[new K(0,0),new K(1,1)];var Kt=class{constructor(e=Gt){this._lines=e}intersection(e){if(this._lines.length<1||e.length<1)return;let t=[];for(let n=1;n<this._lines.length;n++){let r=this._lines[n-1],i=this._lines[n];for(let a=1;a<e.length;a++){let e=this._lines[n-1],a=this._lines[n],o=this._intersection({from:r,to:i},{from:e,to:a});o&&t.push(o)}}return t}_intersection(e,t){let n=e.from,r=e.to,i=t.from,a=t.to,o=(n.x-i.x)*(r.y-i.y)-(n.y-i.y)*(r.x-i.x),s=(n.x-a.x)*(r.y-a.y)-(n.y-a.y)*(r.x-a.x);if(o*s>=0)return!1;let c=(i.x-n.x)*(a.y-n.y)-(i.y-n.y)*(a.x-n.x);if(c*(c+o-s)>=0)return!1;let l=c/(s-o),u=l*(r.x-n.x),d=l*(r.y-n.y);return new K(n.x+u,n.y+d)}};const qt=1e3,Jt=16.67;var Yt=class extends l.Disposable{constructor(e=60){super(),U(this,`_enabled`,!0),U(this,`_rollingFrameTime`,void 0),U(this,`_lastFrameTimeMs`,void 0),U(this,`_frameCountInLastSecond`,0),U(this,`_lastSecondTimeMs`,void 0),U(this,`_recFPSValueLastSecond`,60),this._rollingFrameTime=new Xt(e)}dispose(){super.dispose()}get averageFrameTime(){return this._rollingFrameTime.averageFrameTime}get averageFrameTimeVariance(){return this._rollingFrameTime.variance}get instantaneousFrameTime(){return this._rollingFrameTime.history(0)}get averageFPS(){return this._recFPSValueLastSecond}get instantaneousFPS(){let e=this._rollingFrameTime.history(0);return e===0?0:qt/e}get isSaturated(){return this._rollingFrameTime.isSaturated()}get isEnabled(){return this._enabled}sampleFrame(e=this.now()){if(this._enabled){if(this._frameCountInLastSecond++,this._lastSecondTimeMs!=null){if(this._lastSecondTimeMs<=e-qt){let t=e-this._lastSecondTimeMs;this._recFPSValueLastSecond=Math.round(this._frameCountInLastSecond/t*qt),this._lastSecondTimeMs=e,this._frameCountInLastSecond=0}}else this._lastSecondTimeMs=e;if(this._lastFrameTimeMs!=null){let t=e-this._lastFrameTimeMs;this._rollingFrameTime.addFrameTime(t),this._rollingFrameTime.calcAverageFrameTime()}}}endFrame(e){this.sampleFrame(e),this._lastFrameTimeMs=e}now(){return performance&&performance.now?performance.now():Date.now()}enable(){this._enabled=!0}disable(){this._enabled=!1,this._lastFrameTimeMs=null}reset(){this._lastFrameTimeMs=null,this._rollingFrameTime.reset()}},Xt=class{constructor(e){U(this,`averageFrameTime`,Jt),U(this,`variance`,0),U(this,`_samples`,[]),U(this,`_sampleCount`,0),U(this,`_pos`,0),U(this,`_m2`,0),this._samples=Array(e),this.reset()}calcAverageFrameTime(){let e=this.history(0),t;if(this.isSaturated()){let e=this._samples[this._pos];t=e-this.averageFrameTime,this._m2-=t*(e-this.averageFrameTime)}else this._sampleCount++;let n=Math.min(...this._samples),r=Math.min(...this._samples),i=this._samples.filter(e=>e!==r&&e!==n);this.averageFrameTime=i.reduce((e,t)=>e+t,0)/i.length,t=e-this.averageFrameTime,this._m2+=t*(e-this.averageFrameTime),this.variance=this._m2/(this._sampleCount-1)}addFrameTime(e){this._samples[this._pos]=e,this._pos=++this._pos%this._samples.length}history(e){if(e>=this._sampleCount||e>=this._samples.length)return 0;let t=this._wrapPosition(this._pos-1);return this._samples[this._wrapPosition(t-e)]}isSaturated(){return this._sampleCount>=this._samples.length}reset(){this.averageFrameTime=Jt,this.variance=0,this._sampleCount=0,this._pos=0,this._m2=0}_wrapPosition(e){let t=this._samples.length;return(e%t+t)%t}};const Zt={strokeWidth:1.5,stroke:`rgba(0, 0, 0, 0)`,strokeActive:`rgba(0, 0, 0, 1)`,fill:`rgba(0, 0, 0, 0.2)`};function Qt(e){let t=e.getScene().findViewportByPosToScene(K.FromArray([e.offsetX,e.offsetY]));if(!t)return{scrollX:0,scrollY:0};let n=t.transScroll2ViewportScrollValue(t.scrollX,t.scrollY);return{scrollX:n.x,scrollY:n.y}}function $t(e){let{a:t=0,v:n=l.BooleanNumber.FALSE}=e||{a:0,v:l.BooleanNumber.FALSE},r=0,i=t;return n===l.BooleanNumber.TRUE&&(r=90,i=90),{centerAngle:r,vertexAngle:i}}const en=[1,0,0,1,0,0];var Y=class e{constructor(e=en){U(this,`dirty`,!1),U(this,`_m`,void 0),this._m=e&&e.slice()||en}static create(e=en){return new this(e)}reset(){this._m[0]=1,this._m[1]=0,this._m[2]=0,this._m[3]=1,this._m[4]=0,this._m[5]=0}copy(){return new e(this._m)}copyInto(e){e._m[0]=this._m[0],e._m[1]=this._m[1],e._m[2]=this._m[2],e._m[3]=this._m[3],e._m[4]=this._m[4],e._m[5]=this._m[5]}applyPoint(e,t=!1){let n=this._m,r=n[0]*e.x+n[2]*e.y,i=n[1]*e.x+n[3]*e.y;return t?new K(r,i):new K(r+n[4],i+n[5])}translate(e,t){return this._m[4]+=this._m[0]*e+this._m[2]*t,this._m[5]+=this._m[1]*e+this._m[3]*t,this}scale(e,t){return this._m[0]*=e,this._m[1]*=e,this._m[2]*=t,this._m[3]*=t,this}rotate(e){let t=V(e),n=Math.cos(t),r=Math.sin(t),i=this._m[0]*n+this._m[2]*r,a=this._m[1]*n+this._m[3]*r,o=this._m[0]*-r+this._m[2]*n,s=this._m[1]*-r+this._m[3]*n;return this._m[0]=i,this._m[1]=a,this._m[2]=o,this._m[3]=s,this}getTranslation(){return{x:this._m[4],y:this._m[5]}}skew(e,t){let n=this._m[0]+this._m[2]*t,r=this._m[1]+this._m[3]*t,i=this._m[2]+this._m[0]*e,a=this._m[3]+this._m[1]*e;return this._m[0]=n,this._m[1]=r,this._m[2]=i,this._m[3]=a,this}multiply(e){let t=this._m[0]*e._m[0]+this._m[2]*e._m[1],n=this._m[1]*e._m[0]+this._m[3]*e._m[1],r=this._m[0]*e._m[2]+this._m[2]*e._m[3],i=this._m[1]*e._m[2]+this._m[3]*e._m[3],a=this._m[0]*e._m[4]+this._m[2]*e._m[5]+this._m[4],o=this._m[1]*e._m[4]+this._m[3]*e._m[5]+this._m[5];return this._m[0]=t,this._m[1]=n,this._m[2]=r,this._m[3]=i,this._m[4]=a,this._m[5]=o,this}invert(){let e=1/(this._m[0]*this._m[3]-this._m[1]*this._m[2]),t=this._m[3]*e,n=-this._m[1]*e,r=-this._m[2]*e,i=this._m[0]*e,a=e*(this._m[2]*this._m[5]-this._m[3]*this._m[4]),o=e*(this._m[1]*this._m[4]-this._m[0]*this._m[5]);return this._m[0]=t,this._m[1]=n,this._m[2]=r,this._m[3]=i,this._m[4]=a,this._m[5]=o,this}getMatrix(){return this._m}getMatrixByAccurate(e=3){return this._m.map(t=>fe(t,e))}setAbsolutePosition(e){let t=this._m[0],n=this._m[1],r=this._m[2],i=this._m[3],a=this._m[4],o=this._m[5],s=(t*(e.y-o)-n*(e.x-a))/(t*i-n*r),c=(e.x-a-r*s)/t;return this.translate(c,s)}decompose(){let e=this._m[0],t=this._m[1],n=this._m[2],r=this._m[3],i=this._m[4],a=this._m[5],o=e*r-t*n,s={x:i,y:a,angle:0,scaleX:0,scaleY:0,skewX:0,skewY:0};if(e!==0||t!==0){let i=Math.sqrt(e*e+t*t);s.angle=t>0?Math.acos(e/i):-Math.acos(e/i),s.scaleX=i,s.scaleY=o/i,s.skewX=(e*n+t*r)/o,s.skewY=0}else if(n!==0||r!==0){let i=Math.sqrt(n*n+r*r);s.angle=Math.PI/2-(r>0?Math.acos(-n/i):-Math.acos(n/i)),s.scaleX=o/i,s.scaleY=i,s.skewX=0,s.skewY=(e*n+t*r)/o}return s.angle=B(s.angle),s}makeBoundingBoxFromPoints(e){if(this)for(let t=0;t<e.length;t++)e[t]=this.applyPoint(e[t]);let t=[e[0].x,e[1].x,e[2].x,e[3].x],n=Math.min(...t),r=Math.max(...t)-n,i=[e[0].y,e[1].y,e[2].y,e[3].y],a=Math.min(...i);return{left:n,top:a,width:r,height:Math.max(...i)-a,points:e}}composeMatrix(t){let n=new e([1,0,0,1,t.left||0,t.top||0]);return t.angle&&n.rotate(t.angle),(t.scaleX!==1||t.scaleY!==1||t.skewX||t.skewY||t.flipX||t.flipY)&&n.multiply(this._calcDimensionsMatrix(t)),this._m=n.getMatrix(),this}clone(){return new e([...this._m])}_calcDimensionsMatrix(t){var n,r;let i=(n=t.scaleX)==null?1:n,a=(r=t.scaleY)==null?1:r,o=new e([t.flipX?-i:i,0,0,t.flipY?-a:a,0,0]);return t.skewX&&o.multiply(new e([1,0,Math.tan(V(t.skewX)),1,0,0])),t.skewY&&o.multiply(new e([1,Math.tan(V(t.skewY)),0,1,0,0])),o}convert2DOMMatrix2D(){let e=this.getMatrix();return{a:e[0],b:e[1],c:e[2],d:e[3],e:e[4],f:e[5]}}};const tn=[`top`,`left`,`width`,`height`,`angle`,`scaleX`,`scaleY`,`skewX`,`skewY`,`flipX`,`flipY`,`strokeWidth`];let nn=function(e){return e[e.UNKNOWN=0]=`UNKNOWN`,e[e.RICH_TEXT=1]=`RICH_TEXT`,e[e.SHAPE=2]=`SHAPE`,e[e.IMAGE=3]=`IMAGE`,e[e.RECT=4]=`RECT`,e[e.CIRCLE=5]=`CIRCLE`,e[e.CHART=6]=`CHART`,e}({});var rn=class extends l.Disposable{constructor(e){super(),U(this,`groupKey`,void 0),U(this,`isInGroup`,!1),U(this,`isDrawingObject`,!1),U(this,`objectType`,nn.UNKNOWN),U(this,`onTransformChange$`,new l.EventSubject),U(this,`onPointerDown$`,new l.EventSubject),U(this,`onPointerMove$`,new l.EventSubject),U(this,`onPointerUp$`,new l.EventSubject),U(this,`onPointerOut$`,new l.EventSubject),U(this,`onPointerOver$`,new l.EventSubject),U(this,`onPointerLeave$`,new l.EventSubject),U(this,`onPointerEnter$`,new l.EventSubject),U(this,`onSingleClick$`,new l.EventSubject),U(this,`onClick$`,new l.EventSubject),U(this,`onDblclick$`,new l.EventSubject),U(this,`onTripleClick$`,new l.EventSubject),U(this,`onMouseWheel$`,new l.EventSubject),U(this,`onDragLeave$`,new l.EventSubject),U(this,`onDragOver$`,new l.EventSubject),U(this,`onDragEnter$`,new l.EventSubject),U(this,`onDrop$`,new l.EventSubject),U(this,`onIsAddedToParent$`,new l.EventSubject),U(this,`onDispose$`,new l.EventSubject),U(this,`_oKey`,void 0),U(this,`_dirty`,!0),U(this,`_forceDirty`,!0),U(this,`_printable`,!1),U(this,`_top`,0),U(this,`_topOrigin`,0),U(this,`_left`,0),U(this,`_leftOrigin`,0),U(this,`_width`,0),U(this,`_widthOrigin`,0),U(this,`_height`,0),U(this,`_heightOrigin`,0),U(this,`_angle`,0),U(this,`_scaleX`,1),U(this,`_scaleY`,1),U(this,`_skewX`,0),U(this,`_skewY`,0),U(this,`_flipX`,!1),U(this,`_flipY`,!1),U(this,`_strokeWidth`,0),U(this,`_parent`,void 0),U(this,`_zIndex`,0),U(this,`_evented`,!0),U(this,`_visible`,!0),U(this,`_debounceParentDirty`,!0),U(this,`_transform`,new Y),U(this,`_cursor`,C.DEFAULT),U(this,`_transformerConfig`,void 0),U(this,`_forceRender`,!1),U(this,`_layer`,void 0),e?this._oKey=e:this._oKey=re()}get transform(){let e=this._transform.clone();return this.transformForAngle(e)}transformForAngle(e){if(this._angle!==0){let t=(this.width+this.strokeWidth)/2,n=(this.height+this.strokeWidth)/2;e.rotate(-this._angle),e.translate(t,n),e.rotate(this.angle),e.translate(-t,-n)}return e}get printable(){return this._printable}get topOrigin(){return this._topOrigin}get leftOrigin(){return this._leftOrigin}get widthOrigin(){return this._widthOrigin}get heightOrigin(){return this._heightOrigin}get classType(){return O.BASE_OBJECT}get top(){return this._top}get left(){return this._left}get width(){return this._width}get height(){return this._height}get strokeWidth(){return this._strokeWidth}get angle(){return this._angle}get scaleX(){return this._scaleX}get scaleY(){return this._scaleY}get ancestorScaleX(){var e;let t=((e=this.getParent())==null?void 0:e.ancestorScaleX)||1;return this.scaleX*t}get ancestorScaleY(){var e;let t=((e=this.getParent())==null?void 0:e.ancestorScaleY)||1;return this.scaleY*t}get ancestorLeft(){var e;return this.left+(((e=this.getParent())==null?void 0:e.ancestorLeft)||0)}get ancestorTop(){var e;return this.top+(((e=this.getParent())==null?void 0:e.ancestorTop)||0)}get ancestorTransform(){let e=this.getParent();return this.isInGroup&&(e==null?void 0:e.classType)===O.GROUP?e==null?void 0:e.ancestorTransform.multiply(this.transform):this.transform}get ancestorGroup(){let e=null,t=this.getParent();for(;t!=null&&t;)t.classType===O.GROUP&&(e=t),t=t.classType===O.GROUP?t.getParent():null;return e}get skewX(){return this._skewX}get skewY(){return this._skewY}get flipX(){return this._flipX}get flipY(){return this._flipY}get parent(){return this._parent}get oKey(){return this._oKey}get zIndex(){return this._zIndex}get evented(){return this._evented}get visible(){return this._visible}get debounceParentDirty(){return this._debounceParentDirty}get cursor(){return this._cursor}get layer(){return this._layer}set transform(e){this._transform=e}set zIndex(e){this._zIndex=e}set parent(e){this._parent=e}set evented(e){this._evented=e}set debounceParentDirty(e){this._debounceParentDirty=e}set cursor(e){this.setCursor(e)}set layer(e){this._layer=e}set top(e){var t;this._topOrigin=e,this._top=I(e,(t=this._parent)==null?void 0:t.height)}set left(e){var t;this._leftOrigin=e,this._left=I(e,(t=this._parent)==null?void 0:t.width)}set width(e){var t;this._widthOrigin=e,this._width=I(e,(t=this._parent)==null?void 0:t.width)}set height(e){var t;this._heightOrigin=e,this._height=I(e,(t=this._parent)==null?void 0:t.height)}set strokeWidth(e){this._strokeWidth=e}set angle(e){this._angle=e}set scaleX(e){this._scaleX=e}set scaleY(e){this._scaleY=e}set skewX(e){this._skewX=e}set flipY(e){this._flipY=e}set flipX(e){this._flipX=e}set skewY(e){this._skewY=e}get transformerConfig(){return this._transformerConfig}set transformerConfig(e){this._transformerConfig=e}get maxZIndex(){return this._zIndex}makeDirty(e=!0){if(this._dirty=e,e){if(this._layer==null){this._dirty=!1;return}this._layer.makeDirtyWithDebounce(e)}return this}makeForceDirty(e=!0){this._forceDirty=e}makeDirtyNoDebounce(e=!0){if(this._dirty=e,e){var t;(t=this._layer)==null||t.makeDirty(e)}return this}isDirty(){return this._dirty}translate(e,t){let n=this.top;t!==void 0&&(this.top=t);let r=this.left;return e!==void 0&&(this.left=e),this._setTransForm(),this.onTransformChange$.emitEvent({type:J.translate,value:{top:this._top,left:this._left},preValue:{top:n,left:r}}),this}resize(e,t){let n=this.width;e!==void 0&&(this.width=e);let r=this.height;return t!==void 0&&(this.height=t),this._setTransForm(),this.onTransformChange$.emitEvent({type:J.resize,value:{width:this._width,height:this._height},preValue:{width:n,height:r}}),this}scale(e,t){let n=this.scaleX;e!==void 0&&(this.scaleX=e);let r=this.scaleY;return t!==void 0&&(this.scaleY=t),this._setTransForm(),this.onTransformChange$.emitEvent({type:J.scale,value:{scaleX:this._scaleX,scaleY:this._scaleY},preValue:{scaleX:n,scaleY:r}}),this}skew(e,t){let n=e;e!==void 0&&(this.skewX=e);let r=t;return t!==void 0&&(this.skewY=t),this._setTransForm(),this.onTransformChange$.emitEvent({type:J.skew,value:{skewX:this._skewX,skewY:this._skewY},preValue:{skewX:n,skewY:r}}),this}flip(e,t){let n=e;e!==void 0&&(this.flipX=e);let r=t;return t!==void 0&&(this.flipY=t),this._setTransForm(),this.onTransformChange$.emitEvent({type:J.flip,value:{flipX:this._flipX,flipY:this._flipY},preValue:{flipX:n,flipY:r}}),this}transformByState(e){let t=Object.keys(e),n={};if(t.length!==0)return t.forEach(t=>{e[t]!==void 0&&(n[t]=this[t],this[t]=e[t])}),this._setTransForm(),this.onTransformChange$.emitEvent({type:J.all,value:e,preValue:n}),this}isRender(e){return this._forceRender?!1:e&&!this.isInGroup}getParent(){return this._parent}getState(){return{left:this.left,top:this.top,width:this.width,height:this.height,scaleX:this.scaleX,scaleY:this.scaleY,angle:this.angle,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY}}getRealBound(){var e,t;let{width:n,height:r,left:i,top:a}=this,o;if(this.isInGroup&&((e=this.parent)==null?void 0:e.classType)===O.GROUP&&(t=this.parent)!=null&&t.getBaseBound&&(o=this.parent.getBaseBound()),o){let e=this.getParent(),t={top:e.top||0,left:e.left,width:e.width||0,height:e.height||0},s=Bt(o,t,{width:n,height:r,left:i,top:a});n=s.width,r=s.height,i=s.left-t.left-t.width/2,a=s.top-t.top-t.height/2}return{left:i,top:a,width:n,height:r}}hide(){this._visible=!1,this._makeDirtyMix()}show(){this._visible=!0,this._makeDirtyMix()}render(e,t){}isHit(e){let t=this.getInverseCoord(e);return t.x>=-this.strokeWidth/2&&t.x<=this.width+this.strokeWidth/2&&t.y>=-this.strokeWidth/2&&t.y<=this.height+this.strokeWidth/2}triggerPointerMove(e){var t;if(!((t=this.onPointerMove$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerPointerMove(e),!1}return!0}triggerPointerDown(e){var t;if(!((t=this.onPointerDown$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerPointerDown(e),!1}return!0}triggerPointerUp(e){var t;if(!((t=this.onPointerUp$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerPointerUp(e),!1}return!0}triggerSingleClick(e){var t;if(!((t=this.onSingleClick$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerSingleClick(e),!1}return!0}triggerClick(e){var t;if(!((t=this.onClick$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerClick(e),!1}return!0}triggerDblclick(e){var t;if(!((t=this.onDblclick$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerDblclick(e),!1}return!0}triggerTripleClick(e){var t;if(!((t=this.onTripleClick$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerTripleClick(e),!1}return!0}triggerMouseWheel(e){var t;if(!((t=this.onMouseWheel$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerMouseWheel(e),!1}return!0}triggerPointerOut(e){var t;if(!((t=this.onPointerOut$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerPointerOut(e),!1}return!0}triggerPointerLeave(e){var t;if(!((t=this.onPointerLeave$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerPointerLeave(e),!1}return!0}triggerPointerOver(e){if(!this.onPointerOver$.emitEvent(e)){var t;return(t=this._parent)==null||t.triggerPointerOver(e),!1}return!0}triggerPointerEnter(e){var t;if(!((t=this.onPointerEnter$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerPointerEnter(e),!1}return!0}triggerPointerCancel(e){var t;if(!((t=this.onPointerEnter$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerPointerCancel(e),!1}return!0}triggerDragLeave(e){var t;if(!((t=this.onDragLeave$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerDragLeave(e),!1}return!0}triggerDragOver(e){var t;if(!((t=this.onDragOver$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerDragOver(e),!1}return!0}triggerDragEnter(e){var t;if(!((t=this.onDragEnter$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerDragEnter(e),!1}return!0}triggerDrop(e){var t;if(!((t=this.onDrop$.emitEvent(e))!=null&&t.stopPropagation)){var n;return(n=this._parent)==null||n.triggerDrop(e),!1}return!0}dispose(){var e;super.dispose(),this.onTransformChange$.complete(),this.onPointerDown$.complete(),this.onPointerMove$.complete(),this.onPointerUp$.complete(),this.onMouseWheel$.complete(),this.onPointerOut$.complete(),this.onPointerLeave$.complete(),this.onPointerOver$.complete(),this.onPointerEnter$.complete(),this.onDragLeave$.complete(),this.onDragOver$.complete(),this.onDragEnter$.complete(),this.onDrop$.complete(),this.onSingleClick$.complete(),this.onClick$.complete(),this.onDblclick$.complete(),this.onTripleClick$.complete(),this.onIsAddedToParent$.complete(),(e=this.parent)==null||e.removeObject(this),this.onDispose$.emitEvent(this),this._makeDirtyMix(),this.onDispose$.complete(),this._parent=null,this._layer=null,this.transform=null}toJson(){let e={};return tn.forEach(t=>{this[t]&&(e[t]=this[t])}),e}getScene(){let e=this.parent;for(;e;){if(e.classType===O.SCENE)return e;e=e.getParent()}return null}resetCursor(){var e;(e=this.getScene())==null||e.resetCursor()}setCursor(e){var t;this._cursor=e,(t=this.getScene())==null||t.setCursor(e)}getEngine(){let e=this.getParent();for(;e!=null;){if(e.classType===O.ENGINE)return e;e=e.getParent()}return null}getObjects(){return[]}getLayerIndex(){return this._layer==null?1:this._layer.zIndex}applyTransform(){var e;(e=this.getScene())==null||e.attachTransformerTo(this)}removeTransform(){var e;(e=this.getScene())==null||e.detachTransformerFrom(this)}getInverseCoord(e){return this.ancestorTransform.invert().applyPoint(e)}_setTransForm(){this.transform=Y.create().composeMatrix({left:this.left+this.strokeWidth/2,top:this.top+this.strokeWidth/2,scaleX:this.scaleX,scaleY:this.scaleY,angle:this.angle,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY}),this._makeDirtyMix()}_makeDirtyMix(){this.debounceParentDirty?this.makeDirty(!0):this.makeDirtyNoDebounce(!0)}};function an(e){let t=e.getBoundingClientRect(),n=document.body,r=document.documentElement,i=window.pageYOffset||r.scrollTop||n.scrollTop,a=window.pageXOffset||r.scrollLeft||n.scrollLeft,o=r.clientTop||n.clientTop,s=r.clientLeft||n.clientLeft;return{top:t.top+i-o,left:t.left+a-s}}var on=class{constructor(e,t){U(this,`__mode`,`rendering`),U(this,`_transformCache`,void 0),U(this,`canvas`,void 0),U(this,`_context`,void 0),U(this,`_systemType`,void 0),U(this,`_browserType`,void 0),U(this,`renderConfig`,{}),U(this,`_canvasColorService`,void 0),U(this,`_id`,void 0),U(this,`_normalizedCachedFont`,void 0),this.canvas=e.canvas,this._context=e,this._canvasColorService=t==null?void 0:t.canvasColorService}getId(){return this._id}setId(e){this._id=e}isContextLost(){return this._context.isContextLost()}get globalAlpha(){return this._context.globalAlpha}set globalAlpha(e){this._context.globalAlpha=e}get globalCompositeOperation(){return this._context.globalCompositeOperation}set globalCompositeOperation(e){this._context.globalCompositeOperation=e}get fillStyle(){return this._context.fillStyle}set fillStyle(e){this._context.fillStyle=this._canvasColorService&&typeof e==`string`?this._canvasColorService.getRenderColor(e):e}get strokeStyle(){return this._context.strokeStyle}set strokeStyle(e){this._context.strokeStyle=this._canvasColorService&&typeof e==`string`?this._canvasColorService.getRenderColor(e):e}get filter(){return this._context.filter}set filter(e){this._context.filter=e}get imageSmoothingEnabled(){return this._context.imageSmoothingEnabled}set imageSmoothingEnabled(e){this._context.imageSmoothingEnabled=e}get imageSmoothingQuality(){return this._context.imageSmoothingQuality}set imageSmoothingQuality(e){this._context.imageSmoothingQuality=e}get lineCap(){return this._context.lineCap}set lineCap(e){this._context.lineCap=e}get lineDashOffset(){return this._context.lineDashOffset}set lineDashOffset(e){this._context.lineDashOffset=e}get lineJoin(){return this._context.lineJoin}set lineJoin(e){this._context.lineJoin=e}get lineWidth(){return this._context.lineWidth}set lineWidth(e){this._context.lineWidth=e}setLineWidthByPrecision(e){let{scaleX:t,scaleY:n}=this._getScale();this._context.lineWidth=e/Math.max(t,n)}get miterLimit(){return this._context.miterLimit}set miterLimit(e){this._context.miterLimit=e}get shadowBlur(){return this._context.shadowBlur}set shadowBlur(e){this._context.shadowBlur=e}get shadowColor(){return this._context.shadowColor}set shadowColor(e){this._context.shadowColor=e}get shadowOffsetX(){return this._context.shadowOffsetX}set shadowOffsetX(e){this._context.shadowOffsetX=e}get shadowOffsetY(){return this._context.shadowOffsetY}set shadowOffsetY(e){this._context.shadowOffsetY=e}get direction(){return this._context.direction}set direction(e){this._context.direction=e}get font(){if(this._normalizedCachedFont)return this._normalizedCachedFont;let e=this._context.font;return this._normalizedCachedFont=e,e}set font(e){this._context.font=e,this._normalizedCachedFont=``}get fontKerning(){return this._context.fontKerning}set fontKerning(e){this._context.fontKerning=e}get fontStretch(){return this._context.fontStretch}set fontStretch(e){this._context.fontStretch=e}get fontVariantCaps(){return this._context.fontVariantCaps}set fontVariantCaps(e){this._context.fontVariantCaps=e}get letterSpacing(){return this._context.letterSpacing}set letterSpacing(e){this._context.letterSpacing=e}get textRendering(){return this._context.textRendering}set textRendering(e){this._context.textRendering=e}get wordSpacing(){return this._context.wordSpacing}set wordSpacing(e){this._context.wordSpacing=e}get textAlign(){return this._context.textAlign}set textAlign(e){this._context.textAlign=e}get textBaseline(){return this._context.textBaseline}set textBaseline(e){this._context.textBaseline=e}_getScale(){let{a:e,b:t,c:n,d:r}=this.getTransform();return{scaleX:Math.sqrt(e*e+t*t),scaleY:Math.sqrt(n*n+r*r)}}getScale(){return this._getScale()}getContextAttributes(){return this._context.getContextAttributes()}isPointInStroke(...e){return this._context.isPointInStroke(...e)}createConicGradient(e,t,n){return this._context.createConicGradient(e,t,n)}roundRect(e,t,n,r,i){this._context.roundRect(e,t,n,r,i)}roundRectByPrecision(e,t,n,r,i){let{scaleX:a,scaleY:o}=this._getScale();e=H(e,a),t=H(t,o),n=H(n,a),r=H(r,o),this.roundRect(e,t,n,r,i)}getTransform(){return this._transformCache||this._context.getTransform()}resetTransform(){this._transformCache=null,this._context.resetTransform()}drawFocusIfNeeded(...e){return this._context.drawFocusIfNeeded(...e)}reset(){this._transformCache=null,this._context.reset()}arc(e,t,n,r,i,a){this._context.arc(e,t,Math.max(0,n),r,i,a)}arcByPrecision(e,t,n,r,i,a){let{scaleX:o,scaleY:s}=this._getScale();e=H(e,o),t=H(t,s),this.arc(e,t,n,r,i,a)}arcTo(e,t,n,r,i){this._context.arcTo(e,t,n,r,i)}arcToByPrecision(e,t,n,r,i){let{scaleX:a,scaleY:o}=this._getScale();e=H(e,a),t=H(t,o),n=H(n,a),r=H(r,o),this.arcTo(e,t,n,r,i)}beginPath(){this._context.beginPath()}bezierCurveTo(e,t,n,r,i,a){this._context.bezierCurveTo(e,t,n,r,i,a)}bezierCurveToByPrecision(e,t,n,r,i,a){let{scaleX:o,scaleY:s}=this._getScale();i=H(i,o),a=H(a,s),e=H(e,o),t=H(t,s),n=H(n,o),r=H(r,s),this.bezierCurveTo(e,t,n,r,i,a)}clearRect(e,t,n,r){this._context.clearRect(e,t,n,r)}clearRectByPrecision(e,t,n,r){let{scaleX:i,scaleY:a}=this._getScale();e=H(e,i),t=H(t,a),n=H(n,i),r=H(r,a),this.clearRect(e,t,n,r)}clip(...e){this._context.clip(...e)}closePath(){this._context.closePath()}getSystemType(){return this._systemType||(this._systemType=l.Tools.getSystemType()),this._systemType}getBrowserType(){return this._browserType||(this._browserType=l.Tools.getBrowserType()),this._browserType}closePathByEnv(){let e=this.getSystemType()===`Mac`,t=this.getBrowserType()===`Chrome`;e&&t||this._context.closePath()}createImageData(...e){if(e.length===0)throw Error(`arguments is zero`);return e.length===1?this._context.createImageData(e[0]):e.length===2?this._context.createImageData(e[0],e[1]):this._context.createImageData(e[0],e[1],e[1])}createLinearGradient(e,t,n,r){return this._context.createLinearGradient(e,t,n,r)}createPattern(e,t){return this._context.createPattern(e,t)}createRadialGradient(e,t,n,r,i,a){return this._context.createRadialGradient(e,t,n,r,i,a)}drawImage(...e){let t=e,n=this._context;t.length===3?n.drawImage(e[0],e[1],e[2]):t.length===5?n.drawImage(e[0],e[1],e[2],e[3],e[4]):t.length===9&&n.drawImage(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])}ellipse(e,t,n,r,i,a,o,s){this._context.ellipse(e,t,n,r,i,a,o,s)}isPointInPath(...e){return this._context.isPointInPath(...e)}fill(...e){this._context.fill(...e)}fillRect(e,t,n,r){this._context.fillRect(e,t,n,r)}fillRectByPrecision(e,t,n,r){let{scaleX:i,scaleY:a}=this._getScale();e=H(e,i),t=H(t,a),n=H(n,i),r=H(r,a),this.fillRect(e,t,n,r)}strokeRect(e,t,n,r){this._context.strokeRect(e,t,n,r)}strokeRectPrecision(e,t,n,r){let{scaleX:i,scaleY:a}=this._getScale();e=H(e,i),t=H(t,a),n=H(n,i),r=H(r,a),this.strokeRect(e,t,n,r)}fillText(e,t,n,r){r?this._context.fillText(e,t,n,r):this._context.fillText(e,t,n)}fillTextPrecision(e,t,n,r){let{scaleX:i,scaleY:a}=this._getScale();t=H(t,i),n=H(n,a),r?(r=H(r,i),this._context.fillText(e,t,n,r)):this._context.fillText(e,t,n)}measureText(e){return this._context.measureText(e)}getImageData(e,t,n,r){return this._context.getImageData(e,t,n,r)}lineTo(e,t){this._context.lineTo(e,t)}lineToByPrecision(e,t){let{scaleX:n,scaleY:r}=this._getScale();e=H(e,n),t=H(t,r),this.lineTo(e,t)}moveTo(e,t){this._context.moveTo(e,t)}moveToByPrecision(e,t){let{scaleX:n,scaleY:r}=this._getScale();e=H(e,n),t=H(t,r),this.moveTo(e,t)}moveToByPrecisionLog(e,t){let{scaleX:n,scaleY:r}=this._getScale(),i=H(e,n),a=H(t,r);this.moveTo(i,a)}rect(e,t,n,r){this._context.rect(e,t,n,r)}rectByPrecision(e,t,n,r){let{scaleX:i,scaleY:a}=this._getScale();e=H(e,i),t=H(t,a),n=H(n,i),r=H(r,a),this.rect(e,t,n,r)}putImageData(e,t,n){this._context.putImageData(e,t,n)}quadraticCurveTo(e,t,n,r){this._context.quadraticCurveTo(e,t,n,r)}restore(){this._transformCache=null,this._normalizedCachedFont=``,this._context.restore()}rotate(e){this._transformCache=null,this._context.rotate(e)}save(){this._context.save()}scale(e,t){this._transformCache=null,this._context.scale(e,t)}setLineDash(e){this._context.setLineDash?this._context.setLineDash(e):`mozDash`in this._context?this._context.mozDash=e:`webkitLineDash`in this._context&&(this._context.webkitLineDash=e)}getLineDash(){return this._context.getLineDash()}setTransform(...e){this._transformCache=null,this._normalizedCachedFont=``,this._context.setTransform(...e)}stroke(e){e?this._context.stroke(e):this._context.stroke()}strokeText(e,t,n,r){this._context.strokeText(e,t,n,r)}strokeTextByPrecision(e,t,n,r){let{scaleX:i,scaleY:a}=this._getScale();t=H(t,i),n=H(n,a),r&&(r=H(r,i)),this.strokeText(e,t,n,r)}transform(e,t,n,r,i,a){this._transformCache=null,this._context.transform(e,t,n,r,i,a)}translate(e,t){this._transformCache=null,this._context.translate(e,t)}translateWithPrecision(e,t){let{scaleX:n,scaleY:r}=this._getScale();e=H(e,n),t=H(t,r),this._transformCache=null,this._context.translate(e,t)}translateWithPrecisionRatio(e,t){this._transformCache=null;let{scaleX:n,scaleY:r}=this._getScale();this._context.translate(e/n,t/r)}clearRectForTexture(e,t,n,r){this.clearRectByPrecision(e,t,n,r)}setGlobalCompositeOperation(e){this._context.globalCompositeOperation=e}},sn=class extends on{},cn=class extends on{constructor(...e){super(...e),U(this,`__mode`,`printing`)}clearRect(e,t,n,r){let{scaleX:i,scaleY:a}=this._getScale();e=H(e,i),t=H(t,a),n=H(n,i),r=H(r,a),this._context.save(),this._context.fillStyle=F([255,255,255]),this._context.fillRect(e,t,n,r),this._context.restore()}clearRectForTexture(e,t,n,r){}setGlobalCompositeOperation(e){}};let ln=function(e){return e[e.Rendering=0]=`Rendering`,e[e.Printing=1]=`Printing`,e}({});var un=class{constructor(e){U(this,`isCache`,!1),U(this,`_pixelRatio`,1),U(this,`_canvasEle`,void 0),U(this,`_context`,void 0),U(this,`_width`,0),U(this,`_height`,0);let t=e||{};this._canvasEle=z(),this._canvasEle.style.padding=`0`,this._canvasEle.style.margin=`0`,this._canvasEle.style.border=`0`,this._canvasEle.style.background=`transparent`,this._canvasEle.style.position=`absolute`,this._canvasEle.style.top=`0`,this._canvasEle.style.left=`0`,this._canvasEle.style.zIndex=`8`,this._canvasEle.dataset.uComp=`render-canvas`,this._canvasEle.tabIndex=1,this._canvasEle.style.touchAction=`none`,this._canvasEle.style.outline=`0`;let n=this._canvasEle.getContext(`2d`);if(n==null)throw Error(`context is not support`);t.mode===ln.Printing?this._context=new cn(n):this._context=new sn(n,{canvasColorService:t.colorService}),this.setSize(t.width,t.height,t.pixelRatio)}getCanvasEle(){return this._canvasEle}getContext(){return this._context}getPixelRatio(){return this._pixelRatio}getWidth(){return this._width}getHeight(){return this._height}setId(e){this._canvasEle.id=e}setSize(e,t,n){var r;this._pixelRatio=n||St();let i=this.getCanvasEle();i&&e!==void 0&&(i.width=e*this._pixelRatio,this._width=i.width/this._pixelRatio,i.style.width=`${this._width}px`),i&&t!==void 0&&(i.height=t*this._pixelRatio,this._height=i.height/this._pixelRatio,i.style.height=`${this._height}px`),(r=this.getContext())==null||r.setTransform(this._pixelRatio,0,0,this._pixelRatio,0,0)}setPixelRatio(e){this._width===0||this._height===0||(e<1&&(e=1),this.setSize(this._width,this._height,e))}dispose(){var e;this.clear(),(e=this._canvasEle)==null||e.remove(),this._canvasEle=null,this._context=null}clear(){this.getContext().clearRect(0,0,this._width*this._pixelRatio,this._height*this._pixelRatio)}toDataURL(e,t){try{return this.getCanvasEle().toDataURL(e,t)}catch{try{return this.getCanvasEle().toDataURL()}catch(e){let{message:t}=e;return console.error(`Unable to get data URL. ${t} For more info read https://universheet.net/docs/Canvas.html.`),``}}}},dn=class extends un{constructor(e={width:0,height:0}){super(e),this.setSize(e.width,e.height)}},fn=class extends un{constructor(e={width:0,height:0}){super(e),U(this,`hitCanvas`,!0),this.setSize(e.width,e.height)}},pn=class extends rn{constructor(...e){super(...e),U(this,`_extensions`,new Map)}get extensions(){return this._extensions}register(...e){let t=new l.DisposableCollection;for(let n of e)n.parent=this,this._extensions.set(n.uKey,n),t.add((0,l.toDisposable)(()=>{this._extensions.delete(n.uKey),n.parent=null}));return this.disposeWithMe(t),t}getExtensionsByOrder(){let e=Array.from(this._extensions.values());return e.sort(l.sortRules),e}getExtensionByKey(e){return this._extensions.get(e)}draw(e,t){}dispose(){super.dispose();for(let e of this._extensions.values())e.dispose();this._extensions.clear()}},mn=class{constructor(){U(this,`uKey`,``),U(this,`type`,void 0),U(this,`Z_INDEX`,0),U(this,`parent`,void 0),U(this,`translateX`,0),U(this,`translateY`,0),U(this,`extensionOffset`,{})}get zIndex(){return this.Z_INDEX}draw(e,t,n,r,i){}clearCache(){}_getScale(e){return He(e)}dispose(){this.extensionOffset={},this.parent=null}};const hn=l.Registry.create(),gn=l.Registry.create(),_n=l.Registry.create(),vn=l.Registry.create();var yn=class extends pn{constructor(e,t){super(e),this._skeleton=t}getSkeleton(){return this._skeleton}updateSkeleton(e){var t;this._skeleton=e,(t=this.getScene())==null||t.updateTransformerZero(e.rowHeaderWidth,e.columnHeaderHeight)}render(e,t){if(!this.visible)return this.makeDirty(!1),this;e.save(),this._draw(e,t),e.restore()}getParentScale(){let{scaleX:e=1,scaleY:t=1}=this.parent;return this.parent.classType===O.SCENE_VIEWER&&(e=this.parent.ancestorScaleX||1,t=this.parent.ancestorScaleY||1),{scaleX:e,scaleY:t}}getScrollXYByRelativeCoords(e){return{x:0,y:0}}dispose(){super.dispose(),this._skeleton=null}},bn=class extends yn{_draw(e,t){this.draw(e,t)}},xn=class extends bn{getDocuments(){throw Error(`Method not implemented.`)}getNoMergeCellPositionByIndex(e,t){throw Error(`Method not implemented.`)}getSelectionBounding(e,t,n,r){throw Error(`Method not implemented.`)}constructor(e,t){super(e,t),U(this,`_columnHeaderLayoutExtension`,void 0),this._initialDefaultExtension(),this.makeDirty(!0)}get columnHeaderLayoutExtension(){return this._columnHeaderLayoutExtension}draw(e,t){let n=this.getSkeleton();if(!n)return;let r=this.getParentScale();n.updateVisibleRange(t);let i=n.rowColumnSegment;if(!i||i.startColumn===-1&&i.endColumn===-1)return;let{rowHeaderWidth:a}=n;e.translateWithPrecision(a,0);let o=this.getExtensionsByOrder();for(let t of o)t.draw(e,r,n)}isHit(e){let t=this.getInverseCoord(e),n=this.getSkeleton();if(!n)return!1;let{rowHeaderWidth:r,columnHeaderHeight:i}=n;return t.x>r&&t.y>=0&&t.y<=i}_initialDefaultExtension(){_n.getData().forEach(e=>{this.register(e)}),this._columnHeaderLayoutExtension=this.getExtensionByKey(`DefaultColumnHeaderLayoutExtension`)}setCustomHeader(e,t){this.makeDirty(!0),this._columnHeaderLayoutExtension.configHeaderColumn(e,t)}};let Sn=function(e){return e[e.OFF=0]=`OFF`,e[e.ON=1]=`ON`,e}({}),Cn=function(e){return e.VIEW_MAIN=`viewMain`,e.VIEW_MAIN_LEFT_TOP=`viewMainLeftTop`,e.VIEW_MAIN_TOP=`viewMainTop`,e.VIEW_MAIN_LEFT=`viewMainLeft`,e.VIEW_ROW_TOP=`viewRowTop`,e.VIEW_ROW_BOTTOM=`viewRowBottom`,e.VIEW_COLUMN_LEFT=`viewColumnLeft`,e.VIEW_COLUMN_RIGHT=`viewColumnRight`,e.VIEW_LEFT_TOP=`viewLeftTop`,e}({});const wn=[Cn.VIEW_MAIN,Cn.VIEW_MAIN_LEFT_TOP,Cn.VIEW_MAIN_TOP,Cn.VIEW_MAIN_LEFT],Tn=[Cn.VIEW_ROW_TOP,Cn.VIEW_ROW_BOTTOM,Cn.VIEW_COLUMN_LEFT,Cn.VIEW_COLUMN_RIGHT,Cn.VIEW_LEFT_TOP],En=1e4;En/10;let Dn=function(e){return e[e.GRID=0]=`GRID`,e}({});const On=`sheet-ext-`;var kn=class extends mn{constructor(...e){super(...e),U(this,`type`,Dn.GRID)}isRenderDiffRangesByCell(e,t){if(t==null||t.length===0)return!0;for(let n of t){let{startRow:t,startColumn:r,endRow:i,endColumn:a}=n;if(l.Rectangle.intersects(e,{startRow:t,endRow:i,startColumn:r,endColumn:a}))return!0}return!1}isRenderDiffRangesByColumn(e,t,n){if(n==null||n.length===0)return!0;for(let r of n){let{startColumn:n,endColumn:i}=r;if(l.Rectangle.intersects({startRow:0,endRow:0,startColumn:e,endColumn:t},{startRow:0,endRow:0,startColumn:n,endColumn:i}))return!0}return!1}isRenderDiffRangesByRow(e,t,n){if(n==null||n.length===0)return!0;for(let r of n){let{startRow:n,endRow:i}=r;if(l.Rectangle.intersects({startRow:e,endRow:t,startColumn:0,endColumn:0},{startRow:n,endRow:i,startColumn:0,endColumn:0}))return!0}return!1}isRowInRanges(e,t,n){if(n==null||n.length===0)return!0;for(let r of n){let{startRow:n,endRow:i}=r;if(e>=n&&e<=i||t>=n&&t<=i||l.Rectangle.intersects({startRow:e,endRow:t,startColumn:0,endColumn:0},{startRow:n,endRow:i,startColumn:0,endColumn:0}))return!0}return!1}},An=class extends kn{constructor(...e){super(...e),U(this,`uKey`,`DefaultBackgroundExtension`),U(this,`Z_INDEX`,21),U(this,`PRINTING_Z_INDEX`,21)}get zIndex(){var e;return(e=this.parent)!=null&&e.isPrinting?this.PRINTING_Z_INDEX:this.Z_INDEX}draw(e,t,n,r,{viewRanges:i,checkOutOfViewBound:a}){let{stylesCache:o,worksheet:s,rowHeightAccumulation:c,columnTotalWidth:u,columnWidthAccumulation:d,rowTotalHeight:f}=n,{background:p,backgroundPositions:m}=o;if(!s||!p||!c||!d||u===void 0||f===void 0)return;e.save();let{scaleX:h,scaleY:g}=e.getScale(),_={ctx:e,backgroundPositions:m,scaleX:h,scaleY:g,checkOutOfViewBound:a,viewRanges:i,diffRanges:r,spreadsheetSkeleton:n},v=[];i.forEach(e=>{let t=n.worksheet.getMergedCellRange(e.startRow,e.startColumn,e.endRow,e.endColumn);v.push(...t)});let y=t=>{let r=p[t],a=(e,t,i)=>{if(n.worksheet.getSpanModel().getMergeDataIndex(e,t)!==-1)return;let a=n.getCellByIndexWithNoHeader(e,t);a&&(i||r.getValue(e,t))&&(_.cellInfo=a,this.renderBGByCell(_,e,t))};e.fillStyle=t||F([255,255,255]);let o=new Path2D;_.backgroundPaths=o,e.beginPath();let s=r.getSizeOf();i.reduce((e,t)=>e+(t.endRow-t.startRow)*(t.endColumn-t.startColumn),0)<s?i.forEach(e=>{l.Range.foreach(e,a)}):r.forValue(a),e.fill(o),e.closePath()},b=t=>{let r=p[t];e.fillStyle=t||F([255,255,255]);let i=new Path2D;_.backgroundPaths=i,e.beginPath(),v.forEach(e=>{if(r.getValue(e.startRow,e.startColumn)){let t=n.getCellWithCoordByIndex(e.startRow,e.startColumn,!1);if(!t)return;_.cellInfo=t,this.renderBGByCell(_,e.startRow,e.startColumn)}}),e.fill(i),e.closePath()},x=Object.keys(p);for(let e=0;e<x.length;e++){let t=x[e];y(t),b(t)}e.restore()}renderBGByCell(e,t,n){let{spreadsheetSkeleton:r,backgroundPaths:i,scaleX:a,scaleY:o,viewRanges:s,diffRanges:c,cellInfo:l}=e,{startY:u,endY:d,startX:f,endX:p}=l,{isMerged:m,isMergedMainCell:h,mergeInfo:g}=l,_=c&&c.length>0?c:s;if(u=g.startY,d=g.endY,f=g.startX,p=g.endX,!m&&!h&&!nt(_,t,n))return!0;if(!m&&!h){if(!r.worksheet.getRowVisible(t)||!r.worksheet.getColVisible(n))return!0}else{let e=!0;for(let t=g.startRow;t<=g.endRow;t++)if(r.worksheet.getRowVisible(t)){e=!1;break}if(e)return!0;let t=!0;for(let e=g.startColumn;e<=g.endColumn;e++)if(r.worksheet.getColVisible(e)){t=!1;break}if(t)return!0}let v=H(f,a),y=H(u,o),b=H(p,a),x=H(d,o);i.rect(v,y,b-v,x-y)}};hn.add(An);var jn=class extends kn{constructor(...e){super(...e),U(this,`uKey`,`DefaultBorderExtension`),U(this,`Z_INDEX`,50),U(this,`preStyle`,void 0),U(this,`preColor`,void 0)}draw(e,t,n,r,{viewRanges:i}){let{stylesCache:a,overflowCache:o,worksheet:s,rowHeightAccumulation:c,columnTotalWidth:u,columnWidthAccumulation:d,rowTotalHeight:f}=n;if(!s||!c||!d||u===void 0||f===void 0)return;let{border:p}=a;if(!p)return;e.save(),e.translateWithPrecisionRatio(j,j);let m={ctx:e,precisionScale:this._getScale(e.getScale()),overflowCache:o,diffRanges:r,viewRanges:i,spreadsheetSkeleton:n};e.beginPath(),i.forEach(e=>{l.Range.foreach(e,(e,t)=>{let n=p.getValue(e,t);n&&this.renderBorderByCell(m,e,t,n)})}),e.closePath(),e.restore()}renderBorderByCell(e,t,n,r){let{ctx:i,precisionScale:a,overflowCache:o,spreadsheetSkeleton:s,diffRanges:c}=e,u=s.getCellWithCoordByIndex(t,n,!1),{startY:d,endY:f,startX:p,endX:m}=u,{isMerged:h,isMergedMainCell:g,mergeInfo:_}=u;if(!h&&(!s.worksheet.getRowVisible(t)||!s.worksheet.getColVisible(n))||!this.isRenderDiffRangesByRow(_.startRow,_.endRow,c))return!0;for(let s in r){let{type:c,style:u,color:v}=r[s];if(u===l.BorderStyleTypes.NONE)continue;let y=d,b=f,x=p,S=m;if(c!==E.TOP&&c!==E.BOTTOM&&c!==E.LEFT&&c!==E.RIGHT){if(h)return!0;g&&(y=_.startY,b=_.endY,x=_.startX,S=_.endX)}let C=jt(u);Ot(i,u),i.setLineWidthByPrecision(C),i.strokeStyle=v||`rgb(0,0,0)`,Et(i,u,c,{startX:x,startY:y,endX:S,endY:b}),!this._getOverflowExclusion(o,c,t,n)&&(Ct(i,c,(C-1)/2/a,{startX:x,startY:y,endX:S,endY:b}),u===l.BorderStyleTypes.DOUBLE&&(c===E.LEFT||c===E.RIGHT||c===E.TOP||c===E.BOTTOM)&&this._renderDoubleBorder({renderBorderContext:e,row:t,col:n,type:c,lineWidth:C,startX:x,startY:y,endX:S,endY:b}))}}_getOverflowExclusion(e,t,n,r){let i=!1;return t===E.TOP||t===E.BOTTOM||e==null||e.forRow((a,o)=>{if(a!==n)return!0;o.forEach(n=>{let{startColumn:o,endColumn:s}=e.getValue(a,n);if(t===E.LEFT&&r>o&&r<=s||t===E.RIGHT&&r>=o&&r<s)return i=!0,!1})}),i}_renderDoubleBorder({renderBorderContext:e,row:t,col:n,type:r,lineWidth:i,startX:a,startY:o,endX:s,endY:c}){let{ctx:u,precisionScale:d,spreadsheetSkeleton:f}=e,p=f.stylesCache.border,m=(i-1)/2/d,h=i/2,g=e=>{u.save(),u.lineCap=`round`,u.globalCompositeOperation=`destination-out`,Ct(u,r,m,e),u.restore()},_=e=>{let{startXOffset:t,startYOffset:n,endXOffset:i,endYOffset:l}=e;Ct(u,r,m,{startX:a-t,startY:o-n,endX:s+i,endY:c+l})},v=e=>{let{startXOffset:t,startYOffset:n,endXOffset:i,endYOffset:l}=e;Ct(u,r,m,{startX:a+t,startY:o+n,endX:s-i,endY:c-l})},y=this._getSpecificCellBorder(p,t,n-1),b=this._getSpecificCellBorder(p,t,n+1),x=this._getSpecificCellBorder(p,t-1,n),S=this._getSpecificCellBorder(p,t+1,n),C={startX:a,startY:o,endX:s,endY:c},w={startXOffset:h,startYOffset:h,endXOffset:h,endYOffset:h},T={startXOffset:h,startYOffset:h,endXOffset:h,endYOffset:h};if(r===E.LEFT||r===E.RIGHT){if(x.bottom&&x.bottom.style!==l.BorderStyleTypes.DOUBLE)T.startYOffset=0,w.startYOffset=0;else{var D,O,k,A;let e=this._getSpecificCellBorder(p,t-1,n-1),i=this._getSpecificCellBorder(p,t-1,n+1);r===E.LEFT&&(((D=y.top)==null?void 0:D.style)===l.BorderStyleTypes.DOUBLE||((O=e.bottom)==null?void 0:O.style)===l.BorderStyleTypes.DOUBLE)||r===E.RIGHT&&(((k=b.top)==null?void 0:k.style)===l.BorderStyleTypes.DOUBLE||((A=i.bottom)==null?void 0:A.style)===l.BorderStyleTypes.DOUBLE)?T.startYOffset=-h:r===E.LEFT&&e.bottom&&e.bottom.style!==l.BorderStyleTypes.DOUBLE||r===E.RIGHT&&i.bottom&&i.bottom.style!==l.BorderStyleTypes.DOUBLE?T.startYOffset=0:T.startYOffset=h,w.startYOffset=h}if(S.top&&S.top.style!==l.BorderStyleTypes.DOUBLE)T.endYOffset=0,w.endYOffset=0;else{var j,M,N,P;let e=this._getSpecificCellBorder(p,t+1,n-1),i=this._getSpecificCellBorder(p,t+1,n+1);r===E.LEFT&&(((j=y.bottom)==null?void 0:j.style)===l.BorderStyleTypes.DOUBLE||((M=e.top)==null?void 0:M.style)===l.BorderStyleTypes.DOUBLE)||r===E.RIGHT&&(((N=b.bottom)==null?void 0:N.style)===l.BorderStyleTypes.DOUBLE||((P=i.top)==null?void 0:P.style)===l.BorderStyleTypes.DOUBLE)?T.endYOffset=-h:r===E.LEFT&&e.top&&e.top.style!==l.BorderStyleTypes.DOUBLE||r===E.RIGHT&&i.top&&i.top.style!==l.BorderStyleTypes.DOUBLE?T.endYOffset=0:T.endYOffset=h,w.endYOffset=h}C.startY=o-h,C.endY=c+h,g(C),(r===E.LEFT&&!y.right||r===E.RIGHT&&!b.left)&&_(T),v(w)}else if(r===E.TOP||r===E.BOTTOM){if(y.right&&y.right.style!==l.BorderStyleTypes.DOUBLE)T.startXOffset=0,w.startXOffset=0;else{var F,I,L,R;let e=this._getSpecificCellBorder(p,t-1,n-1),i=this._getSpecificCellBorder(p,t+1,n-1);r===E.TOP&&(((F=x.left)==null?void 0:F.style)===l.BorderStyleTypes.DOUBLE||((I=e.right)==null?void 0:I.style)===l.BorderStyleTypes.DOUBLE)||r===E.BOTTOM&&(((L=S.left)==null?void 0:L.style)===l.BorderStyleTypes.DOUBLE||((R=i.right)==null?void 0:R.style)===l.BorderStyleTypes.DOUBLE)?T.startXOffset=-h:r===E.TOP&&e.right&&e.right.style!==l.BorderStyleTypes.DOUBLE||r===E.BOTTOM&&i.right&&i.right.style!==l.BorderStyleTypes.DOUBLE?T.startXOffset=0:T.startXOffset=h,w.startXOffset=h}if(b.left&&b.left.style!==l.BorderStyleTypes.DOUBLE)T.endXOffset=0,w.endXOffset=0;else{var z,ee,B,V;let e=this._getSpecificCellBorder(p,t-1,n+1),i=this._getSpecificCellBorder(p,t+1,n+1);r===E.TOP&&(((z=x.right)==null?void 0:z.style)===l.BorderStyleTypes.DOUBLE||((ee=e.left)==null?void 0:ee.style)===l.BorderStyleTypes.DOUBLE)||r===E.BOTTOM&&(((B=S.right)==null?void 0:B.style)===l.BorderStyleTypes.DOUBLE||((V=i.left)==null?void 0:V.style)===l.BorderStyleTypes.DOUBLE)?T.endXOffset=-h:r===E.TOP&&e.left&&e.left.style!==l.BorderStyleTypes.DOUBLE||r===E.BOTTOM&&i.left&&i.left.style!==l.BorderStyleTypes.DOUBLE?T.endXOffset=0:T.endXOffset=h,w.endXOffset=h}C.startX=a-h,C.endX=s+h,g(C),(r===E.TOP&&!x.bottom||r===E.BOTTOM&&!S.top)&&_(T),v(w)}}_getSpecificCellBorder(e,t,n){let r=e.getValue(t,n),i=null,a=null,o=null,s=null;return r&&(r[E.LEFT]&&Object.prototype.hasOwnProperty.call(r[E.LEFT],`type`)&&(i=r[E.LEFT]),r[E.RIGHT]&&Object.prototype.hasOwnProperty.call(r[E.RIGHT],`type`)&&(a=r[E.RIGHT]),r[E.TOP]&&Object.prototype.hasOwnProperty.call(r[E.TOP],`type`)&&(o=r[E.TOP]),r[E.BOTTOM]&&Object.prototype.hasOwnProperty.call(r[E.BOTTOM],`type`)&&(s=r[E.BOTTOM])),{left:i,right:a,top:o,bottom:s}}};hn.add(jn);const Mn={fontSize:13,fontFamily:y,fontColor:`#000000`,backgroundColor:F([248,249,250]),borderColor:F([217,217,217]),textAlign:`center`,textBaseline:`middle`};var Nn=class extends kn{constructor(e){super(),U(this,`uKey`,`DefaultColumnHeaderLayoutExtension`),U(this,`Z_INDEX`,10),U(this,`columnsCfg`,{}),U(this,`headerStyle`,{}),U(this,`columnsCfgOfWorksheet`,new Map),U(this,`headerStyleOfWorksheet`,new Map),e&&this.configHeaderColumn(e)}configHeaderColumn(e,t){if(t){var n,r;this.columnsCfgOfWorksheet.set(t,(n=e.columnsCfg)==null?{}:n),this.headerStyleOfWorksheet.set(t,(r=e.headerStyle)==null?{}:r)}else{var i,a;this.columnsCfg=(i=e.columnsCfg)==null?{}:i,this.headerStyle=(a=e.headerStyle)==null?{}:a}}getColumnsCfg(e){var t;let n=(t=this.columnsCfgOfWorksheet.get(e))==null?{}:t;return{...this.columnsCfg,...n}}getHeaderStyle(e){var t;let n=(t=this.headerStyleOfWorksheet.get(e))==null?{}:t;return{...Mn,...this.headerStyle,...n}}getCfgOfCurrentColumn(e,t,n){let r,i;e[n]?(typeof e[n]==`string`&&(e[n]={text:e[n]}),i=e[n],r={...t,...i}):r={...t,text:(0,l.numberToABC)(n)};let a=Object.keys(i||{}).length>1;return[r,a]}setStyleToCtx(e,t){t.textAlign&&(e.textAlign=t.textAlign),t.textBaseline&&(e.textBaseline=t.textBaseline),t.fontColor&&(e.fillStyle=t.fontColor),t.borderColor&&(e.strokeStyle=t.borderColor),t.fontSize&&(e.font=`${t.fontSize}px ${y}`)}draw(e,t,n){let{rowColumnSegment:r,columnHeaderHeight:i=0}=n,{startColumn:a,endColumn:o}=r;if(!n||i===0)return;let{rowHeightAccumulation:s,columnTotalWidth:c,columnWidthAccumulation:l,rowTotalHeight:u,worksheet:d}=n;if(!s||!l||c===void 0||u===void 0)return;let f=this.getColumnsCfg(d.getSheetId()),p=this.getHeaderStyle(d.getSheetId()),m=this._getScale(t);this.setStyleToCtx(e,p),e.save(),e.fillStyle=p.backgroundColor,e.fillRectByPrecision(0,0,c,i),e.restore(),e.setLineWidthByPrecision(1),e.translateWithPrecisionRatio(j,j);let h=0;for(let t=a-1;t<=o;t++){if(t<0||t>l.length-1)continue;let n=l[t];if(h===n)continue;let r={left:h,top:0,right:n,bottom:i,width:n-h,height:i},[a,o]=this.getCfgOfCurrentColumn(f,p,t);o&&a.backgroundColor&&(e.save(),e.fillStyle=a.backgroundColor,e.fillRectByPrecision(r.left,r.top,r.width,r.height),e.restore()),e.beginPath(),e.moveToByPrecision(r.right,0),e.lineToByPrecision(r.right,r.height),e.stroke();let s=(()=>{switch(a.textAlign){case`center`:return r.left+(r.right-r.left)/2;case`right`:return r.right-3;case`left`:return r.left+3;default:return r.left+(r.right-r.left)/2}})(),c=r.height/2+1;o&&(e.save(),e.beginPath(),this.setStyleToCtx(e,a),e.rectByPrecision(r.left,r.top,r.width,r.height),e.clip()),e.fillText(a.text,s,c),o&&e.restore(),h=n}let g=i-.5/m;e.beginPath(),e.moveToByPrecision(0,g),e.lineToByPrecision(c,g),e.stroke()}};_n.add(new Nn);const Pn=e=>{let{startRow:t,endRow:n,startColumn:r,endColumn:i}=e;return`${t}-${n}-${r}-${i}`};var Fn=class extends kn{constructor(...e){super(...e),U(this,`Z_INDEX`,55),U(this,`uKey`,`DefaultCustomExtension`)}draw(e,t,n,r){let{worksheet:i,rowColumnSegment:a}=n;if(!i)return;let o=new Set,s=i.getSheetId();l.Range.foreach(a,(t,a)=>{if(!i.getRowVisible(t)||!i.getColVisible(a))return;let c=n.getCellWithCoordByIndex(t,a,!1),{mergeInfo:u}=c,d=i.getCell(t,a);if(c.isMerged&&(d=i.getCell(u.startRow,u.startColumn)),!(d!=null&&d.customRender))return;if(!this.isRenderDiffRangesByRow(u.startRow,u.endRow,r))return!0;if(c.isMerged||c.isMergedMainCell){let e=Pn(u);if(o.has(e))return;o.add(e)}c.isMerged&&(c=n.getCellWithCoordByIndex(u.startRow,u.startColumn,!1));let f={data:d,style:n.getStyles().getStyleByCell(d),primaryWithCoord:c,subUnitId:s,row:t,col:a,worksheet:i,unitId:i.unitId},p=d.customRender.sort(l.sortRules);e.save(),p.forEach(t=>{t.drawWith(e,f,n,this.parent)}),e.restore()})}};hn.add(Fn);let X=function(e){return e.Normal=`Normal`,e.Mandatory=`Mandatory`,e.Hyphen=`Hyphen`,e.Link=`Link`,e}({});var In=class{constructor(e,t=X.Normal){this.position=e,this.type=t}};const Ln=[[4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,4,4,4,4,4,4,4,4,4,4,4],[0,4,4,1,1,4,4,4,4,1,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,4,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[4,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,1],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,1,0,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,1,1,1,1,0,0,4,2,4,1,1,1,1,1,0,1,1,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,0,1,4,4,4,0,0,1,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,0,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,4,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,1,1,1,1,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,1,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0]];var Rn=class{constructor(){U(this,`_rules`,new Map)}add(e,t){this._rules.set(e,t)}shouldBreak(e,t,n){for(let r of this._rules.values())if(r(e,t,n))return!0;return!1}},zn=new Uint8Array([0,8,14,0,0,0,0,0,176,232,0,0,1,181,15,74,240,237,157,11,140,93,69,25,199,231,178,187,183,123,31,187,237,46,108,193,194,22,104,41,200,242,48,128,104,16,129,152,162,64,42,10,193,42,24,121,104,2,65,177,4,9,69,41,193,104,73,35,193,84,20,104,144,152,74,140,109,80,1,149,87,12,175,68,64,162,60,42,9,136,196,70,194,35,40,132,84,222,34,40,18,255,195,153,113,103,103,231,253,58,183,244,158,228,151,57,103,158,223,124,243,205,227,204,57,231,222,141,3,132,220,0,110,5,119,129,191,129,127,128,127,130,255,130,129,65,66,58,131,254,238,56,88,0,22,129,41,240,1,240,97,135,116,71,128,163,12,225,199,130,229,224,100,112,58,88,1,86,130,11,193,197,66,188,75,192,247,193,85,224,26,176,17,220,0,174,7,183,128,59,193,239,192,67,224,81,240,56,75,251,36,115,159,3,47,129,55,192,155,128,12,17,50,12,230,129,113,176,0,44,2,83,96,95,112,16,56,20,44,101,225,203,192,9,44,156,94,127,30,124,9,124,5,124,21,156,7,46,4,23,179,240,239,130,43,192,143,216,245,79,193,117,67,85,249,55,195,189,3,220,203,242,167,242,61,0,247,17,176,25,252,21,60,11,30,27,168,174,183,128,87,216,245,91,112,27,205,42,77,11,238,24,152,0,147,205,42,124,11,139,191,164,89,185,123,179,184,156,3,154,211,28,194,56,2,124,140,33,198,53,113,12,226,30,47,197,63,11,229,157,228,145,135,11,95,20,242,251,50,206,87,128,149,224,34,176,166,57,93,223,181,56,95,7,214,75,229,111,196,245,213,194,245,181,184,254,21,248,141,144,150,114,23,75,119,159,224,191,137,234,20,60,209,172,236,158,242,44,206,159,3,47,130,55,192,59,160,57,7,233,160,251,209,57,85,30,19,112,39,193,30,115,166,203,221,23,231,7,206,209,215,243,35,8,59,220,16,238,194,39,144,254,83,224,179,224,20,112,6,56,27,156,15,190,9,86,131,75,193,229,96,29,88,15,54,176,50,175,99,238,205,112,239,0,247,130,7,193,163,96,51,11,123,6,238,243,224,37,141,156,175,9,254,111,225,188,49,60,147,237,132,243,54,24,5,243,193,66,176,4,236,7,14,6,135,129,143,131,99,193,114,112,50,56,29,172,0,43,135,171,252,47,128,251,109,240,29,118,253,61,184,235,134,253,117,182,158,165,217,0,247,58,143,244,55,7,148,117,187,148,230,30,225,250,90,102,99,15,192,239,17,176,121,184,234,207,207,12,251,241,2,120,21,252,155,234,187,5,61,131,241,86,117,190,160,101,78,187,72,8,159,178,196,237,211,167,79,58,248,56,80,183,28,125,250,244,233,211,167,79,159,62,125,182,46,246,239,209,251,182,131,91,51,247,67,180,251,32,173,106,47,143,158,31,129,243,95,10,97,71,181,236,233,63,141,56,159,99,241,78,129,251,49,184,147,224,12,156,159,205,242,62,31,238,69,96,13,88,11,126,0,174,6,63,105,85,251,56,63,135,123,99,107,230,254,16,229,54,248,253,204,80,246,221,8,191,31,60,0,30,4,15,129,77,224,143,224,225,126,88,63,172,31,214,15,235,135,37,15,251,51,120,2,60,213,170,246,76,235,228,249,86,189,212,93,255,62,125,122,153,216,117,236,203,232,99,111,130,183,91,225,207,233,72,91,237,63,12,255,121,96,39,176,43,216,75,138,183,15,174,15,2,135,130,165,96,25,56,174,93,201,117,34,220,211,218,245,143,63,59,204,173,184,18,252,9,116,231,233,57,26,92,2,238,84,132,189,45,93,127,112,140,144,243,192,45,96,203,88,229,183,219,56,33,95,0,87,130,95,131,151,193,211,173,74,119,167,130,107,192,147,84,135,29,66,14,0,4,247,31,159,233,84,215,34,23,131,43,26,211,220,203,226,114,182,224,122,223,46,33,159,4,95,3,95,7,55,129,87,193,129,35,240,3,55,130,87,70,102,230,179,173,49,54,58,83,111,125,250,244,233,179,45,113,252,168,121,238,63,19,243,209,57,154,249,159,114,110,123,246,154,133,135,173,66,216,106,41,237,26,92,175,101,126,203,53,239,94,209,247,178,214,37,126,47,203,196,101,154,250,173,51,212,155,178,30,225,251,209,119,229,20,241,126,193,252,110,178,228,97,227,118,133,126,85,240,248,247,176,248,191,23,202,125,152,157,63,46,248,109,166,235,48,240,119,232,249,5,184,175,180,171,119,195,222,130,219,192,250,97,78,167,186,158,11,119,71,176,51,187,190,0,105,23,119,166,247,21,247,193,249,65,157,105,25,14,197,249,249,112,151,194,93,6,142,5,203,193,201,29,181,204,13,216,224,233,157,105,185,22,130,21,138,184,60,254,42,176,82,40,143,198,191,8,215,107,88,30,107,225,174,99,225,116,15,116,61,206,55,26,242,187,161,163,214,59,221,119,165,123,171,183,34,252,174,206,204,52,247,225,122,19,245,3,127,1,79,179,60,158,135,251,50,59,127,29,238,219,154,114,229,250,12,98,93,214,1,243,192,68,119,118,89,147,221,234,124,73,119,186,110,54,246,67,220,131,187,213,187,127,135,9,121,30,137,243,163,193,113,221,114,253,203,133,19,123,76,158,58,56,141,233,224,76,131,46,206,210,132,157,11,255,85,93,55,219,200,73,104,221,87,39,108,127,250,110,226,165,221,233,115,58,151,92,198,174,175,130,251,227,66,182,182,81,83,206,245,221,234,221,201,27,133,246,186,173,155,255,153,86,104,61,238,102,114,222,223,3,246,85,39,155,28,219,232,49,196,219,12,158,242,108,211,103,183,2,253,202,182,177,165,59,253,174,249,182,202,235,158,227,201,127,104,252,17,232,83,177,54,236,140,148,25,155,82,49,15,242,238,144,64,102,170,199,93,70,42,119,49,220,41,112,192,72,253,246,46,218,61,253,70,64,23,78,229,62,132,233,225,112,184,75,71,102,167,95,6,191,19,60,116,117,34,139,123,90,132,30,232,122,239,204,204,122,212,201,127,206,200,204,240,111,20,104,207,111,49,157,173,73,212,143,14,115,144,217,54,174,175,69,30,151,143,84,223,145,252,144,185,235,71,170,176,13,35,254,243,248,245,72,115,11,184,19,252,86,72,255,7,156,63,12,30,7,79,10,254,207,225,252,69,240,58,248,23,120,135,133,13,226,222,191,51,58,29,111,28,231,243,217,245,66,184,123,142,206,94,55,236,47,236,23,156,202,210,125,136,249,125,148,185,71,194,125,77,40,255,152,209,106,159,129,158,159,196,220,83,225,158,33,229,191,255,232,204,122,158,141,235,115,13,251,19,180,63,174,26,245,215,223,123,137,213,84,183,131,225,115,87,47,141,177,161,108,24,104,252,159,9,66,172,140,129,37,96,17,99,15,135,52,174,236,13,112,187,65,32,22,193,208,75,90,228,221,199,103,239,158,83,63,122,108,39,132,161,9,201,60,230,210,45,185,142,35,195,140,174,64,83,186,206,13,97,117,216,174,96,153,114,249,180,45,27,236,122,130,244,143,169,109,28,85,159,220,83,227,159,131,65,214,14,180,207,183,4,168,125,238,206,224,231,124,140,24,35,211,54,205,211,241,184,227,82,90,145,1,233,154,144,188,253,109,247,204,249,247,122,249,189,6,183,15,209,6,248,181,171,206,100,155,18,211,140,91,210,150,160,84,191,221,26,24,12,76,163,35,68,134,208,118,148,215,42,182,182,173,219,238,114,66,117,65,199,124,62,103,113,255,22,209,207,97,189,206,152,208,110,19,138,243,38,115,109,243,247,72,15,193,219,197,103,253,161,91,175,139,237,223,22,144,215,241,62,58,111,10,46,167,110,219,206,61,118,187,222,31,181,53,186,207,61,182,52,137,189,238,29,75,28,89,127,170,184,60,142,171,62,82,183,235,123,193,166,228,241,247,189,132,143,30,186,196,111,140,115,25,239,114,218,95,78,157,200,105,232,216,204,251,180,120,143,41,222,215,149,144,85,39,191,236,175,139,87,210,214,115,149,43,218,155,207,253,191,169,125,83,244,159,208,121,44,119,25,49,245,207,105,19,41,245,107,203,203,87,190,49,70,201,113,77,238,47,117,180,143,216,127,82,180,143,152,167,169,175,202,126,54,29,133,206,59,124,189,173,202,155,251,183,20,229,169,198,209,186,219,39,5,166,118,177,201,16,179,14,80,245,75,87,123,81,233,160,116,123,196,234,59,181,28,33,253,161,69,236,237,95,106,62,42,213,255,67,108,90,182,185,58,250,189,78,206,84,122,55,233,192,54,78,228,186,15,224,227,176,235,250,110,107,232,255,174,109,146,187,255,155,218,208,117,191,95,148,185,244,51,130,146,99,145,105,76,138,209,127,76,93,234,208,117,10,189,187,150,151,219,254,93,242,214,173,19,101,82,142,199,190,54,233,219,223,197,118,112,29,211,57,123,245,8,178,92,173,200,252,186,30,122,228,247,133,189,170,27,174,31,95,187,80,233,100,92,66,244,27,20,206,199,216,117,83,193,32,75,39,63,147,176,141,7,169,239,187,229,231,82,220,165,71,67,112,99,198,215,84,107,179,49,7,255,210,115,162,235,24,197,251,71,236,216,46,218,150,110,109,193,159,95,199,140,139,58,121,99,251,160,107,249,186,244,239,171,153,5,53,179,115,205,228,90,75,153,198,13,121,157,100,234,71,185,169,179,236,210,229,211,163,65,102,142,31,190,178,218,198,189,80,92,215,129,161,178,251,148,175,91,251,228,148,193,167,222,169,203,159,138,40,63,245,154,142,235,126,72,184,230,182,39,174,127,83,237,3,164,106,63,190,14,228,242,143,75,254,178,141,241,247,209,114,200,95,199,189,179,205,174,74,174,205,100,253,136,215,188,61,98,215,45,177,247,114,190,246,107,186,167,203,133,73,191,60,78,93,247,125,220,182,92,245,23,75,234,241,47,246,222,73,164,228,145,67,54,81,159,163,142,240,113,86,60,23,253,92,112,145,223,71,22,213,218,182,14,66,108,136,167,141,221,143,208,29,161,118,227,187,254,201,57,159,200,118,230,243,222,132,78,230,212,251,63,185,112,93,247,219,218,75,182,185,24,91,21,219,220,212,23,84,182,145,178,239,132,126,91,144,2,185,236,58,108,131,175,117,117,125,132,51,40,93,239,192,100,222,85,144,95,142,183,61,153,249,173,206,0,153,254,174,116,64,113,45,198,165,204,21,160,249,241,111,96,117,186,108,91,16,101,160,229,12,49,116,186,25,102,178,53,132,184,166,248,166,254,215,86,232,180,43,93,207,87,164,245,89,103,200,253,216,229,27,52,94,63,241,123,42,249,27,43,151,244,161,247,99,226,248,210,50,208,182,132,251,166,109,43,206,99,202,104,121,180,147,235,156,21,179,159,192,237,93,110,195,54,113,107,23,49,157,207,187,195,174,118,147,227,251,72,83,217,170,239,12,85,223,169,154,208,149,231,155,206,85,47,114,251,230,40,207,71,166,208,186,168,228,146,253,84,225,220,149,191,75,182,181,173,74,23,114,29,76,186,51,217,144,139,61,132,180,181,173,220,20,253,193,164,27,211,117,10,251,73,149,191,171,206,98,117,23,43,151,47,115,19,200,64,15,241,57,113,168,172,252,222,216,167,204,28,58,149,239,213,99,242,138,153,87,117,248,206,31,57,233,6,166,145,237,34,135,92,62,125,40,69,89,161,50,184,234,210,39,31,213,181,171,191,156,71,108,253,92,245,238,154,38,71,255,54,213,219,166,55,158,15,15,31,85,148,51,73,210,140,39,33,117,212,233,48,133,46,99,218,93,101,115,92,127,170,56,41,100,46,165,127,91,189,75,227,186,191,45,219,178,201,166,119,215,196,87,245,7,57,76,236,119,58,61,169,228,80,229,163,146,103,210,80,174,10,149,174,38,37,74,217,136,120,61,160,129,134,241,231,146,178,252,244,104,4,184,57,230,225,80,123,231,50,149,236,35,174,122,170,163,76,95,183,78,189,149,44,187,148,173,164,178,107,25,211,62,170,252,14,130,188,135,219,36,110,207,87,108,184,190,183,164,123,54,163,27,163,108,152,246,253,197,125,106,34,213,83,28,3,197,107,122,152,250,132,156,63,127,199,70,181,47,174,210,211,246,12,221,94,58,81,148,161,171,147,174,44,62,166,187,212,197,247,249,119,46,248,239,75,54,4,191,33,225,220,86,23,34,165,181,197,27,18,206,197,116,161,207,238,117,113,85,254,252,89,140,232,71,219,96,49,59,183,185,185,41,85,142,173,124,151,122,219,194,22,147,217,207,128,135,36,120,155,244,154,254,83,213,95,101,127,139,137,218,14,99,100,142,193,150,191,109,125,152,163,29,66,117,227,251,188,43,102,206,77,53,127,235,214,19,190,239,75,164,150,65,156,227,68,92,245,43,203,228,251,30,71,14,125,234,100,240,177,15,215,103,161,161,240,239,131,248,90,194,231,253,26,159,103,194,49,239,51,185,148,239,139,143,126,92,236,199,86,94,142,239,26,114,63,187,167,101,212,241,205,148,169,189,235,60,66,244,77,15,221,252,97,122,167,116,74,227,239,75,157,223,223,77,101,212,171,171,45,139,58,158,32,246,123,46,57,239,16,157,135,126,199,228,58,110,248,212,223,119,140,146,243,142,29,175,119,4,59,21,164,116,121,190,123,32,41,191,237,148,243,174,227,251,78,89,134,247,215,76,206,181,82,87,211,166,244,183,141,39,136,223,239,32,231,254,141,229,210,240,61,151,210,229,202,235,227,216,117,225,48,153,222,43,226,191,37,45,239,179,209,247,96,114,173,79,85,243,9,47,215,213,149,211,153,230,170,134,224,82,249,249,94,129,248,188,200,86,142,13,254,222,170,234,158,185,14,91,229,101,207,103,46,175,167,44,171,74,135,13,201,245,217,99,144,247,25,154,158,121,196,66,2,101,207,85,62,215,109,67,58,231,122,74,181,167,84,130,148,123,108,190,136,253,137,218,110,75,10,231,239,166,218,250,155,235,26,70,28,175,118,35,213,190,92,29,253,217,182,222,239,133,177,134,207,73,41,101,240,93,115,202,109,87,151,30,100,157,184,220,207,213,37,31,183,165,58,202,157,146,202,143,89,79,228,182,55,151,103,152,174,182,224,210,246,186,114,76,107,178,18,246,228,170,19,91,63,176,201,95,234,247,40,196,113,126,76,145,62,102,12,138,197,197,190,75,247,145,28,121,166,236,167,42,221,213,113,152,246,73,117,123,161,185,214,162,174,242,202,178,211,195,69,215,252,55,251,82,218,149,139,29,119,200,236,113,199,117,191,144,143,49,165,214,43,57,199,179,208,57,211,71,46,213,248,94,215,24,192,203,20,191,151,118,25,15,228,124,228,247,143,84,118,198,207,125,126,95,96,92,202,63,100,125,229,219,150,186,247,181,38,164,60,235,154,203,92,234,108,122,14,94,114,124,201,209,127,85,101,212,113,136,178,168,108,222,7,158,223,148,116,174,170,187,202,159,191,31,40,30,49,242,184,180,163,107,251,152,214,56,170,177,208,119,28,229,54,45,143,51,186,50,93,230,178,88,251,228,191,159,202,223,195,145,127,131,215,118,15,20,114,63,32,150,47,199,245,105,191,216,250,203,191,93,236,66,233,241,49,102,190,183,233,52,86,127,177,196,254,14,156,239,243,123,209,54,67,127,115,174,174,246,143,89,243,233,214,107,177,71,204,28,66,132,115,121,61,227,242,110,28,37,100,15,57,70,255,169,219,132,183,203,184,144,87,9,187,19,235,31,99,63,41,177,149,45,251,169,214,219,99,158,186,244,109,191,82,54,33,207,161,226,252,227,211,63,114,216,187,13,83,249,117,204,177,114,253,67,222,195,245,157,111,82,233,143,191,187,154,186,109,98,237,211,5,23,125,218,250,123,170,246,136,237,15,49,99,187,73,254,84,135,234,158,206,197,182,197,249,120,130,148,63,196,242,67,246,71,93,143,148,227,71,105,218,100,246,111,232,229,28,163,117,196,62,47,228,121,132,142,189,37,244,47,30,13,1,57,158,236,199,227,19,77,252,220,50,235,228,244,205,103,208,0,47,71,229,199,93,211,26,41,247,92,18,99,31,169,218,45,116,62,10,221,47,54,245,53,221,252,234,211,231,98,229,240,89,227,170,224,97,169,215,103,37,198,146,216,54,85,205,213,177,253,40,197,189,141,136,252,13,170,238,127,150,108,235,143,94,155,143,93,203,143,217,123,168,123,61,34,203,31,35,71,236,119,179,169,72,209,94,185,222,93,44,49,230,152,198,96,219,115,159,82,253,205,54,246,228,30,223,82,143,129,190,117,46,217,246,190,243,98,110,114,181,173,74,175,185,230,65,159,54,20,227,170,158,141,197,140,185,41,116,22,59,255,196,150,149,218,206,83,146,66,63,177,117,9,181,83,223,126,159,123,158,74,161,203,16,185,100,157,197,236,23,250,252,6,123,142,242,83,180,75,234,249,223,102,159,114,250,208,250,243,163,14,27,18,105,91,174,125,9,249,13,65,113,125,153,250,119,9,83,231,215,205,32,111,142,117,250,46,133,80,149,61,169,241,79,129,170,13,74,150,161,243,23,127,75,84,165,7,85,120,105,22,42,144,229,83,201,107,35,133,108,62,229,249,200,163,146,79,142,235,90,151,73,67,158,62,182,165,114,117,101,233,210,134,246,1,211,216,29,219,134,174,115,68,206,188,115,213,205,102,183,46,237,23,154,191,107,153,41,40,173,199,144,114,76,125,189,212,239,58,139,191,117,106,250,31,175,212,54,225,59,238,250,150,153,218,174,82,235,61,119,249,169,229,79,37,95,174,254,26,91,63,221,122,199,197,126,125,214,18,62,246,238,179,70,40,185,46,203,85,134,106,45,19,83,158,105,125,20,179,38,172,99,13,28,187,126,141,189,55,143,221,31,41,165,39,215,122,255,15]);const Bn=new Uint8Array(new Uint32Array([305419896]).buffer)[0]===18,Vn=(e,t,n)=>{let r=e[t];e[t]=e[n],e[n]=r},Hn=e=>{let t=e.length;for(let n=0;n<t;n+=4)Vn(e,n,n+3),Vn(e,n+1,n+2)},Un=e=>{Bn&&Hn(e)};var Wn=class{constructor(){U(this,`table`,new Uint16Array(16)),U(this,`trans`,new Uint16Array(288))}},Gn=class{constructor(e,t){U(this,`source`,void 0),U(this,`dest`,void 0),U(this,`sourceIndex`,void 0),U(this,`tag`,void 0),U(this,`bitcount`,void 0),U(this,`destLen`,void 0),U(this,`ltree`,void 0),U(this,`dtree`,void 0),this.source=e,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=t,this.destLen=0,this.ltree=new Wn,this.dtree=new Wn}};const Kn=new Wn,qn=new Wn,Jn=new Uint8Array(30),Yn=new Uint16Array(30),Xn=new Uint8Array(30),Zn=new Uint16Array(30),Qn=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),$n=new Wn,er=new Uint8Array(320);function tr(e,t,n,r){let i,a;for(i=0;i<n;++i)e[i]=0;for(i=0;i<30-n;++i)e[i+n]=i/n|0;for(a=r,i=0;i<30;++i)t[i]=a,a+=1<<e[i]}function nr(e,t){let n;for(n=0;n<7;++n)e.table[n]=0;for(e.table[7]=24,e.table[8]=152,e.table[9]=112,n=0;n<24;++n)e.trans[n]=256+n;for(n=0;n<144;++n)e.trans[24+n]=n;for(n=0;n<8;++n)e.trans[168+n]=280+n;for(n=0;n<112;++n)e.trans[176+n]=144+n;for(n=0;n<5;++n)t.table[n]=0;for(t.table[5]=32,n=0;n<32;++n)t.trans[n]=n}const rr=new Uint16Array(16);function ir(e,t,n,r){let i,a;for(i=0;i<16;++i)e.table[i]=0;for(i=0;i<r;++i)e.table[t[n+i]]++;for(e.table[0]=0,a=0,i=0;i<16;++i)rr[i]=a,a+=e.table[i];for(i=0;i<r;++i)t[n+i]&&(e.trans[rr[t[n+i]]++]=i)}function ar(e){e.bitcount--||(e.tag=e.source[e.sourceIndex++],e.bitcount=7);let t=e.tag&1;return e.tag>>>=1,t}function or(e,t,n){if(!t)return n;for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<<e.bitcount,e.bitcount+=8;let r=e.tag&65535>>>16-t;return e.tag>>>=t,e.bitcount-=t,r+n}function sr(e,t){for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<<e.bitcount,e.bitcount+=8;let n=0,r=0,i=0,a=e.tag;do r=2*r+(a&1),a>>>=1,++i,n+=t.table[i],r-=t.table[i];while(r>=0);return e.tag=a,e.bitcount-=i,t.trans[n+r]}function cr(e,t,n){let r,i,a,o=or(e,5,257),s=or(e,5,1),c=or(e,4,4);for(r=0;r<19;++r)er[r]=0;for(r=0;r<c;++r){let t=or(e,3,0);er[Qn[r]]=t}for(ir($n,er,0,19),i=0;i<o+s;){let t=sr(e,$n);switch(t){case 16:{let t=er[i-1];for(a=or(e,2,3);a;--a)er[i++]=t;break}case 17:for(a=or(e,3,3);a;--a)er[i++]=0;break;case 18:for(a=or(e,7,11);a;--a)er[i++]=0;break;default:er[i++]=t;break}}ir(t,er,0,o),ir(n,er,o,s)}function lr(e,t,n){for(;;){let r=sr(e,t);if(r===256)return 0;if(r<256)e.dest[e.destLen++]=r;else{let t;r-=257;let i=or(e,Jn[r],Yn[r]),a=sr(e,n),o=e.destLen-or(e,Xn[a],Zn[a]);for(t=o;t<o+i;++t)e.dest[e.destLen++]=e.dest[t]}}}function ur(e){let t,n,r;for(;e.bitcount>8;)e.sourceIndex--,e.bitcount-=8;if(t=e.source[e.sourceIndex+1],t=256*t+e.source[e.sourceIndex],n=e.source[e.sourceIndex+3],n=256*n+e.source[e.sourceIndex+2],t!==(~n&65535))return-3;for(e.sourceIndex+=4,r=t;r;--r)e.dest[e.destLen++]=e.source[e.sourceIndex++];return e.bitcount=0,0}function dr(e,t){let n=new Gn(e,t),r,i,a;do{switch(r=ar(n),i=or(n,2,0),i){case 0:a=ur(n);break;case 1:a=lr(n,Kn,qn);break;case 2:cr(n,n.ltree,n.dtree),a=lr(n,n.ltree,n.dtree);break;default:a=-3}if(a!==0)throw Error(`Data error`)}while(!r);return n.destLen<n.dest.length?typeof n.dest.slice==`function`?n.dest.slice(0,n.destLen):n.dest.subarray(0,n.destLen):n.dest}nr(Kn,qn),tr(Jn,Yn,4,3),tr(Xn,Zn,2,1),Jn[28]=0,Yn[28]=258;const fr=2048;fr+32+32;const pr=new class{constructor(e){U(this,`highStart`,void 0),U(this,`errorValue`,void 0),U(this,`data`,void 0);let t=typeof e.readUInt32BE==`function`&&typeof e.slice==`function`;if(t||e instanceof Uint8Array){let n;if(t)this.highStart=e.readUInt32LE(0),this.errorValue=e.readUInt32LE(4),n=e.readUInt32LE(8),e=e.slice(12);else{let t=new DataView(e.buffer);this.highStart=t.getUint32(0,!0),this.errorValue=t.getUint32(4,!0),n=t.getUint32(8,!0),e=e.subarray(12)}e=dr(e,new Uint8Array(n)),e=dr(e,new Uint8Array(n)),Un(e),this.data=new Uint32Array(e.buffer)}else ({data:this.data,highStart:this.highStart,errorValue:this.errorValue}=e)}get(e){let t;return e<0||e>1114111?this.errorValue:e<55296||e>56319&&e<=65535?(t=(this.data[e>>5]<<2)+(e&31),this.data[t]):e<=65535?(t=(this.data[fr+(e-55296>>5)]<<2)+(e&31),this.data[t]):e<this.highStart?(t=this.data[2080+(e>>11)],t=this.data[t+(e>>5&63)],t=(t<<2)+(e&31),this.data[t]):this.data[this.data.length-4]}}(zn);function mr(e){switch(e){case 33:return 12;case 39:case 40:case 42:return 12;case 35:return 5;default:return e}}function hr(e){switch(e){case 37:case 38:return 34;case 41:return 22;default:return e}}var gr=class{constructor(e){this.content=e,U(this,`_pos`,0),U(this,`_lastPos`,0),U(this,`_curClass`,null),U(this,`_codePoint`,null),U(this,`_lastCodePoint`,null),U(this,`_nextClass`,null),U(this,`_LB8a`,!1),U(this,`_LB21a`,!1),U(this,`_LB30a`,0),U(this,`_rule`,new Rn)}use(e){return e(this),this}addRule(e,t){return this._rule.add(e,t),this}nextBreakPoint(){if(this._curClass==null){let e=this._nextCharClass();this._curClass=hr(e),this._nextClass=e,this._LB8a=e===31,this._LB30a=0}for(;this._pos<this.content.length;){this._lastPos=this._pos;let e=this._nextClass;if(this._nextClass=this._nextCharClass(),this._curClass===34||this._curClass===36&&this._nextClass!==37)return this._curClass=hr(mr(this._nextClass)),new In(this._lastPos,X.Mandatory);if(this._rule.shouldBreak(this._codePoint,this._lastCodePoint,this._nextClass))return this._curClass=hr(mr(this._nextClass)),new In(this._lastPos);let t=this._getSimpleBreak();if(t===null&&(t=this._getPairTableBreak(e)),this._LB8a=this._nextClass===31,t)return new In(this._lastPos)}return this._lastPos<this.content.length?(this._lastPos=this.content.length,new In(this.content.length)):null}_getNextCodePoint(){let e=this.content.charCodeAt(this._pos++),t=this.content.charCodeAt(this._pos);return e>=55296&&e<=56319&&t>=56320&&t<=57343?(this._pos++,(e-55296)*1024+(t-56320)+65536):e}_nextCharClass(){let e=this._getNextCodePoint(),t=pr.get(e);return this._lastCodePoint=this._codePoint,this._codePoint=e,mr(t)}_getSimpleBreak(){switch(this._nextClass){case 41:return!1;case 34:case 37:case 38:return this._curClass=34,!1;case 36:return this._curClass=36,!1}return null}_getPairTableBreak(e){let t=!1;switch(Ln[this._curClass][this._nextClass]){case 0:t=!0;break;case 1:t=e===41;break;case 2:if(t=e===41,!t)return t=!1,t;break;case 3:if(e!==41)return t;break;case 4:break}return this._LB8a&&(t=!1),this._LB21a&&(this._curClass===16||this._curClass===17)?(t=!1,this._LB21a=!1):this._LB21a=this._curClass===13,this._curClass===28?(this._LB30a++,this._LB30a===2&&this._nextClass===28&&(t=!0,this._LB30a=0)):this._LB30a=0,this._curClass=this._nextClass,t}},_r=class{constructor(e,t,n,r,i){this._text=e,this._fontStyle=t,this._warp=n,this._width=r,this._height=i,U(this,`_lineBreaker`,void 0),U(this,`_lines`,[]),U(this,`_dirty`,!0),U(this,`_lastBreakLength`,0),this._lineBreaker=new gr(this._text)}calculate(){if(!this._dirty)return this._lines;if(this._dirty=!1,this._lines=[],this._text.length===0){let e=W.getMeasureText(`A`,this._fontStyle);return this._lines.push({text:``,width:0,height:e.fontBoundingBoxAscent+e.fontBoundingBoxDescent,baseline:e.fontBoundingBoxAscent}),this._lines}if(!this._warp){let e=W.getMeasureText(this._text,this._fontStyle);return this._lines.push({text:this._text,width:e.width,height:e.fontBoundingBoxAscent+e.fontBoundingBoxDescent,baseline:e.fontBoundingBoxAscent}),this._lines}let e=0,t={text:``,width:0,height:0,baseline:0},n=0;for(;;){let r=this._lineBreaker.nextBreakPoint();if(!r)break;let{position:i}=r,a=this._text.slice(e,i),o=W.getMeasureText(a,this._fontStyle);if(o.width+t.width>this._width)if(o.width>this._width){if(t.text.length>0){if(this._lines.push(t),n+=t.height,n>this._height)break;t={text:``,width:0,height:0,baseline:0}}let e=a;for(;e.length>0;){let r=0,i=``,a=0,o=Math.min(this._lastBreakLength,e.length);o===0&&(o=Math.min(10,e.length));let s=e.slice(0,o),c=W.getMeasureText(s,this._fontStyle);if(c.width+t.width<=this._width){r=o;for(let n=o+1;n<=e.length&&(s=e.slice(0,n),c=W.getMeasureText(s,this._fontStyle),c.width+t.width<=this._width);n++)r=n}else{r=0;for(let n=o-1;n>=1;n--)if(s=e.slice(0,n),c=W.getMeasureText(s,this._fontStyle),c.width+t.width<=this._width){r=n;break}}if(r>0&&(this._lastBreakLength=r),r>0&&(i=e.slice(0,r),a=W.getMeasureText(i,this._fontStyle).width),r===0&&t.text.length===0&&(r=1,i=e[0],a=W.getMeasureText(i,this._fontStyle).width),r>0){t.text+=i,t.width+=a;let o=W.getMeasureText(t.text,this._fontStyle);if(t.height=o.fontBoundingBoxAscent+o.fontBoundingBoxDescent,t.baseline=o.fontBoundingBoxAscent,e=e.slice(r),e.length>0){if(this._lines.push(t),n+=t.height,n>this._height)break;t={text:``,width:0,height:0,baseline:0}}}else break}}else if(t.text.length>0){if(this._lines.push(t),n+=t.height,n>this._height)break;t={text:a,width:o.width,height:o.fontBoundingBoxAscent+o.fontBoundingBoxDescent,baseline:o.fontBoundingBoxAscent}}else t={text:a,width:o.width,height:o.fontBoundingBoxAscent+o.fontBoundingBoxDescent,baseline:o.fontBoundingBoxAscent};else t.text+=a,t.width+=o.width,t.baseline=o.fontBoundingBoxAscent,t.height=o.fontBoundingBoxAscent+o.fontBoundingBoxDescent;e=i}return t.text.length>0&&this._lines.push(t),this._lines}getLines(){return this._lines}getTotalHeight(){return this._lines.reduce((e,t)=>e+t.height,0)}getTotalWidth(){return this._lines.reduce((e,t)=>Math.max(e,t.width),0)}makeDirty(){this._dirty=!0,this._lastBreakLength=0}};const vr=new Set(tn),yr=[`hoverCursor`,`moveCursor`,`fillRule`,`globalCompositeOperation`,`paintFirst`,`stroke`,`strokeScaleEnabled`,`fill`,`fillAfterStrokeEnabled`,`hitStrokeWidth`,`strokeLineJoin`,`strokeLineCap`,`shadowColor`,`shadowBlur`,`shadowOffset`,`shadowOffsetX`,`shadowOffsetY`,`shadowOpacity`,`shadowEnabled`,`shadowForStrokeEnabled`,`strokeDashArray`,`strokeDashOffset`,`strokeMiterLimit`];var br=class extends rn{constructor(e,t){super(e),U(this,`_hoverCursor`,void 0),U(this,`_moveCursor`,null),U(this,`_fillRule`,`nonzero`),U(this,`_globalCompositeOperation`,`source-over`),U(this,`_paintFirst`,`fill`),U(this,`_stroke`,void 0),U(this,`_strokeScaleEnabled`,!1),U(this,`_fill`,void 0),U(this,`_fillAfterStrokeEnabled`,!1),U(this,`_hitStrokeWidth`,0),U(this,`_strokeLineJoin`,`round`),U(this,`_strokeLineCap`,`round`),U(this,`_shadowColor`,void 0),U(this,`_shadowBlur`,0),U(this,`_shadowOffset`,void 0),U(this,`_shadowOffsetX`,0),U(this,`_shadowOffsetY`,0),U(this,`_shadowOpacity`,0),U(this,`_shadowEnabled`,!1),U(this,`_shadowForStrokeEnabled`,!1),U(this,`_strokeDashArray`,void 0),U(this,`_strokeDashOffset`,0),U(this,`_strokeMiterLimit`,0),U(this,`_type`,_.RECT),U(this,`objectType`,nn.SHAPE),this._initialProps(t)}get hoverCursor(){return this._hoverCursor}get moveCursor(){return this._moveCursor}get fillRule(){return this._fillRule}get globalCompositeOperation(){return this._globalCompositeOperation}get paintFirst(){return this._paintFirst}get stroke(){return this._stroke}get strokeScaleEnabled(){return this._strokeScaleEnabled}get fill(){return this._fill}get fillAfterStrokeEnabled(){return this._fillAfterStrokeEnabled}get hitStrokeWidth(){return this._hitStrokeWidth}get strokeLineJoin(){return this._strokeLineJoin}get strokeLineCap(){return this._strokeLineCap}get shadowColor(){return this._shadowColor}get shadowBlur(){return this._shadowBlur}get shadowOffset(){return this._shadowOffset}get shadowOffsetX(){return this._shadowOffsetX}get shadowOffsetY(){return this._shadowOffsetY}get shadowOpacity(){return this._shadowOpacity}get shadowEnabled(){return this._shadowEnabled}get shadowForStrokeEnabled(){return this._shadowForStrokeEnabled}get strokeDashArray(){return this._strokeDashArray}get strokeDashOffset(){return this._strokeDashOffset}get strokeMiterLimit(){return this._strokeMiterLimit}static drawWith(e,t){}static _renderPaintInOrder(e,t){t.paintFirst===`stroke`?(this._renderStroke(e,t),this._renderFill(e,t)):(this._renderFill(e,t),this._renderStroke(e,t))}static _renderFill(e,t){t.fill&&(e.save(),this._setFillStyles(e,t),t.fillRule===`evenodd`?e.fill(`evenodd`):e.fill(),e.restore())}static _renderStroke(e,t){let{stroke:n,strokeWidth:r,strokeScaleEnabled:i}=t;!n||r===0||(e.save(),this._setStrokeStyles(e,t),e.stroke(),e.restore())}static _removeShadow(e){}static _setFillStyles(e,t){e.fillStyle=t.fill}static _setStrokeStyles(e,t){let{strokeWidth:n,strokeLineCap:r,strokeDashOffset:i,strokeLineJoin:a,strokeMiterLimit:o,stroke:s}=t;e.lineWidth=n,e.lineCap=r,e.lineDashOffset=i,e.lineJoin=a,e.miterLimit=o,e.strokeStyle=s}render(e,t){if(!this.visible)return this.makeDirty(!1),this;if(this.isRender(t)){let{top:e,left:n,bottom:r,right:i}=t.viewBound;if(this.width+this.strokeWidth+this.left<n||i<this.left||this.height+this.strokeWidth+this.top<e||r<this.top)return this}let n=this.transform.getMatrix();return e.save(),e.transform(n[0],n[1],n[2],n[3],n[4],n[5]),this._draw(e,t),e.restore(),this.makeDirty(!1),this}setProps(e){if(!e)return this;let t=Object.keys(e);return t.length===0?this:(t.forEach(t=>{if(e[t]===void 0)return!0;vr.has(t)||(this[`_${t}`]=e[t])}),this.makeDirty(!0),this)}getPropByKey(e){return this[`_${String(e)}`]}toJson(){let e={};return yr.forEach(t=>{this[t]&&(e[t]=this[t])}),{...super.toJson(),...e}}_draw(e,t){}_initialProps(e){if(!e)return;let t=Object.keys(e);if(t.length===0)return;let n={},r=!1,i=(e==null?void 0:e.rotateEnabled)!==void 0,a=(e==null?void 0:e.resizeEnabled)!==void 0,o=(e==null?void 0:e.borderEnabled)!==void 0;if(i||a||o){let t=this.transformerConfig||{};i&&(t.rotateEnabled=e==null?void 0:e.rotateEnabled),a&&(t.resizeEnabled=e==null?void 0:e.resizeEnabled),o&&(t.borderEnabled=e==null?void 0:e.borderEnabled),this.transformerConfig={...t}}t.forEach(t=>{if(e[t]===void 0)return!0;vr.has(t)?(n[t]=e[t],r=!0):this[`_${t}`]=e[t]}),r&&this.transformByState(n),this.makeDirty(!0)}};const xr=[`text`,`fontStyle`,`warp`,`hAlign`,`vAlign`,`width`,`height`,`color`];var Sr=class e extends br{constructor(e,t){var n,r,i;super(e,t),U(this,`text`,void 0),U(this,`fontStyle`,void 0),U(this,`warp`,void 0),U(this,`hAlign`,void 0),U(this,`vAlign`,void 0),U(this,`skeleton`,void 0),this.width=t.width,this.height=t.height,this.text=t.text,this.fontStyle=t.fontStyle,this.warp=(n=t.warp)==null?!1:n,this.hAlign=(r=t.hAlign)==null?l.HorizontalAlign.LEFT:r,this.vAlign=(i=t.vAlign)==null?l.VerticalAlign.TOP:i,this.skeleton=new _r(t.text,t.fontStyle,!!t.warp,t.width,t.height)}static drawWith(e,t,n){var r;let{text:i,fontStyle:a,warp:o,hAlign:s,vAlign:c,width:u,height:d,left:f=0,top:p=0,cellValueType:m}=t,h=n==null?new _r(i,a,!!o,u,c===l.VerticalAlign.TOP?d:1/0):n,g=h.calculate(),_=h.getTotalHeight(),v=p+(c===l.VerticalAlign.TOP?0:c===l.VerticalAlign.MIDDLE?(d-_)/2:d-_);e.save(),e.font=a,e.fillStyle=(r=t.color)==null?T:r;for(let n of g){let r=n.height,i=n.width,a=0;if(!(!o&&u<i&&m===l.CellValueType.NUMBER))switch(s){case l.HorizontalAlign.CENTER:a=(u-i)/2;break;case l.HorizontalAlign.RIGHT:a=u-i;break;default:a=0}let c=v+n.baseline;if(e.fillText(n.text,f+a,c),t.underline){var y;this._drawTextDecoration(e,{x:f+a,y:v+r-1,width:i,color:t.color||`#000000`,lineWidth:1,lineType:(y=t.underlineType)==null?l.TextDecoration.SINGLE:y})}t.strokeLine&&this._drawTextDecoration(e,{x:f+a,y:v+n.baseline-r*.3,width:i,color:t.color||`#000000`,lineWidth:1,lineType:l.TextDecoration.SINGLE}),v+=r}return e.restore(),_}static _drawTextDecoration(e,t){let{x:n,y:r,width:i,color:a,lineWidth:o,lineType:s}=t,c=this._isDouble(s)?r-.8:r;e.save(),e.strokeStyle=a,this._setLineType(e,s,o),e.beginPath(),e.moveTo(n,c),this._drawLine(e,n,c,i,s),this._isDouble(s)&&(e.moveTo(n,c+2),this._drawLine(e,n,c+2,i,s)),e.stroke(),e.restore()}static _drawLine(e,t,n,r,i){if(this._isWave(i))for(let t=1;t<r+1;t++)e.lineTo(t,n+.8*Math.sin(t*1));else e.lineTo(t+r,n)}static _setLineType(e,t,n){switch(t){case l.TextDecoration.SINGLE:case l.TextDecoration.DOUBLE:e.lineWidth=1,e.setLineDash([0]);return;case l.TextDecoration.DOTTED:e.lineWidth=1,e.setLineDash([2]);return;case l.TextDecoration.DOTTED_HEAVY:e.lineWidth=2,e.setLineDash([2]);return;case l.TextDecoration.DASH:e.lineWidth=1,e.setLineDash([3]);return;case l.TextDecoration.DASHED_HEAVY:e.lineWidth=2,e.setLineDash([3]);return;case l.TextDecoration.DASH_LONG:e.lineWidth=1,e.setLineDash([6]);return;case l.TextDecoration.DASH_LONG_HEAVY:e.lineWidth=2,e.setLineDash([6]);return;case l.TextDecoration.DOT_DASH:e.lineWidth=1,e.setLineDash([2,5,2]);return;case l.TextDecoration.DASH_DOT_HEAVY:e.lineWidth=2,e.setLineDash([2,5,2]);return;case l.TextDecoration.DOT_DOT_DASH:e.lineWidth=1,e.setLineDash([2,2,5,2,2]);return;case l.TextDecoration.DASH_DOT_DOT_HEAVY:e.lineWidth=2,e.setLineDash([2,2,5,2,2]);return;case l.TextDecoration.THICK:e.lineWidth=2,e.setLineDash([0]);return;case l.TextDecoration.WAVE:case l.TextDecoration.WAVY_DOUBLE:e.lineWidth=1;return;case l.TextDecoration.WAVY_HEAVY:e.lineWidth=2;return;default:e.setLineDash([0]),e.lineWidth=n}}static _isWave(e){return e===l.TextDecoration.WAVE||e===l.TextDecoration.WAVY_HEAVY||e===l.TextDecoration.WAVY_DOUBLE}static _isDouble(e){return e===l.TextDecoration.DOUBLE||e===l.TextDecoration.WAVY_DOUBLE}_draw(t){this.skeleton.calculate(),e.drawWith(t,this,this.skeleton)}makeDirty(e){return super.makeDirty(e),e&&this.skeleton.makeDirty(),this}toJson(){let e={};return xr.forEach(t=>{this[t]&&(e[t]=this[t])}),{...super.toJson(),...e}}},Cr=class{constructor(){U(this,`_translateX`,0),U(this,`_translateY`,0),U(this,`_translateSaveList`,[])}get x(){return this._translateX}get y(){return this._translateY}reset(){this.translateBy(0,0),this._translateSaveList=[]}translateBy(e=0,t=0){this._translateX=e,this._translateY=t}translate(e=0,t=0){this._translateX+=e,this._translateY+=t}translateSave(){this._translateSaveList.push({x:this._translateX,y:this._translateY})}translateRestore(){let e=this._translateSaveList.pop();e&&(this._translateX=e.x,this._translateY=e.y)}translatePagePadding(e){let{marginTop:t=0,marginBottom:n=0,marginLeft:r=0,marginRight:i=0}=e;this.translate(r,t)}restorePagePadding(e){let{marginTop:t=0,marginBottom:n=0,marginLeft:r=0,marginRight:i=0}=e;this.translate(-r,-t)}translatePage(e,t=mt.VERTICAL,n=0,r=0,i=0,a=0){let{pageWidth:o,pageHeight:s}=e,c=0,l=0;return t===mt.VERTICAL?c+=s+r:t===mt.HORIZONTAL&&(l+=o+n),this.translate(l,c),{x:l,y:c}}translateSection(e){let{top:t=0}=e;return this.translate(0,t),{x:0,y:t}}translateColumn(e){let{left:t}=e;return this.translate(t,0),{x:t,y:0}}translateLine(e,t=!1,n=!1){let{top:r,marginBottom:i=0,marginTop:a=0,paddingTop:o=0,paddingBottom:s=0}=e,c=r+(t?a:0)+(n?o:0);return this.translate(0,c),{x:0,y:c}}translateDivide(e){let{left:t,paddingLeft:n}=e,r=t+n;return this.translate(r,0),{x:r,y:0}}translateGlyph(e){let{left:t}=e;return this.translate(t,0),{x:t,y:0}}},wr=class e{constructor(e,t){this.nodeType=e,this.content=t,U(this,`children`,[]),U(this,`parent`,void 0),U(this,`startIndex`,-1),U(this,`endIndex`,-1),U(this,`blocks`,[])}static create(t,n){return new e(t,n)}dispose(){this.children.forEach(e=>{e.dispose()}),this.parent=null,this.blocks=[]}getProps(){let{children:e,parent:t,startIndex:n,endIndex:r,nodeType:i,content:a}=this;return{children:e,parent:t,startIndex:n,endIndex:r,nodeType:i,content:a}}addBlocks(e){this.blocks=this.blocks.concat(e)}setIndexRange(e,t){this.startIndex=e,this.endIndex=t}insertText(e,t){this.content=(0,l.insertTextToContent)(this.content||``,t-this.startIndex,e)}exclude(e){let{startIndex:t,endIndex:n}=this;return e<t||e>n}plus(e){this.startIndex+=e,this.endIndex+=e,this._addIndexForBlock(e)}selfPlus(e,t){this.endIndex+=e,t==null&&(t=this.startIndex),this._addIndexForBlock(e,t)}split(t){let{children:n,parent:r,startIndex:i,nodeType:a,content:o=``}=this.getProps();if(this.exclude(t))return;let s=t-i,c=s,l=o.slice(0,s),u=e.create(a,l);u.parent=r,u.setIndexRange(0,s-1);let d=o.slice(c),f=e.create(a,d);f.parent=r,f.setIndexRange(c,c+d.length-1);let p=[],m=[];for(let e of n){let{startIndex:n}=e;if(e.exclude(t))t<n?p.push(e):m.push(e);else{let n=e.split(t);if(n==null){p.push(e);continue}let{firstNode:r,lastNode:i}=n;p.push(r),p.push(i)}}return u.children=p,f.children=m,u._resetBlocks(),f._resetBlocks(),{firstNode:u,lastNode:f}}getPositionInParent(){var e;let t=(e=this.parent)==null?void 0:e.children.indexOf(this);return t==null?-1:t}remove(){this.children=[],this.parent!=null&&(this.parent.children.splice(this.getPositionInParent(),1),this.parent=null)}minus(e,t){let n=(0,l.horizontalLineSegmentsSubtraction)(this.startIndex,this.endIndex,e,t);if(n.length===0)return;let r=this.startIndex;this.startIndex=n[0],this.endIndex=n[1],this.content!=null&&(this.content=(0,l.deleteContent)(this.content||``,e-r,t-r+1))}merge(e){let{startIndex:t,endIndex:n,children:r}=e;this.endIndex+=n-t+1,this.children.push(...r),this.content+=e.content||``,e.remove()}_addIndexForBlock(e,t=-1/0){for(let n=0,r=this.blocks.length;n<r;n++){let r=this.blocks[n];r>=t&&(this.blocks[n]=r+e)}}_resetBlocks(){if(this.nodeType===l.DataStreamTreeNodeType.PARAGRAPH&&this.content!=null&&this.content.length!==0){this.blocks=[];for(let e=0,t=this.content.length;e<t;e++)this.content[e]===l.DataStreamTreeTokenType.CUSTOM_BLOCK&&this.blocks.push(this.startIndex+e)}}};let Tr=function(e){return e.BODY=`BODY`,e.HEADER=`HEADER`,e.FOOTER=`FOOTER`,e}({});function Er(e,t,n=l.DataStreamTreeNodeType.SECTION_BREAK){if(t.length===0)throw Error("Missing `paragraphs` or `sectionBreaks` fields, or doesn't correspond to the location in `dataStream`.");for(let n of t)n.parent=e,e.children.push(n);let r=n===l.DataStreamTreeNodeType.SECTION_BREAK?0:1,i=e.children;e.setIndexRange(i[0].startIndex-r,i[i.length-1].endIndex+1)}function Dr(e,t){let n=``,r=e.length,i=[],a=new Map,o=[],s=[],c=[],u=[],d=[],f=[];for(let p=0;p<r;p++){let r=e[p];if(r===l.DataStreamTreeTokenType.PARAGRAPH){n+=l.DataStreamTreeTokenType.PARAGRAPH;let e=wr.create(l.DataStreamTreeNodeType.PARAGRAPH,n),r=c[c.length-1];if(r&&r.isFinished){if(Er(e,[r.table],l.DataStreamTreeNodeType.PARAGRAPH),t){let e=t.find(e=>e.startIndex===r.table.startIndex&&e.endIndex===r.table.endIndex+1);e&&a.set(e.tableId,{table:r.table})}c.pop()}e.setIndexRange(p-n.length+1,p),e.addBlocks(f),f.length=0,n=``,d.length>0?s.push(e):o.push(e)}else if(r===l.DataStreamTreeTokenType.SECTION_BREAK){let e=wr.create(l.DataStreamTreeNodeType.SECTION_BREAK),t=d.length>0?s:o;if(t.length===0){let e=wr.create(l.DataStreamTreeNodeType.PARAGRAPH,``);e.setIndexRange(p,p-1),t.push(e)}Er(e,t);let n=t[t.length-1];if(n&&n.content&&(n.content+=l.DataStreamTreeTokenType.SECTION_BREAK),d.length>0){let t=d[d.length-1];Er(t,[e],l.DataStreamTreeNodeType.TABLE_CELL)}else i.push(e);t.length=0}else if(r===l.DataStreamTreeTokenType.TABLE_START){let e=wr.create(l.DataStreamTreeNodeType.TABLE);c.push({table:e,isFinished:!1})}else if(r===l.DataStreamTreeTokenType.TABLE_ROW_START){let e=wr.create(l.DataStreamTreeNodeType.TABLE_ROW);u.push(e)}else if(r===l.DataStreamTreeTokenType.TABLE_CELL_START){let e=wr.create(l.DataStreamTreeNodeType.TABLE_CELL);d.push(e)}else if(r===l.DataStreamTreeTokenType.TABLE_END){let e=c[c.length-1];e.isFinished=!0,n=``}else if(r===l.DataStreamTreeTokenType.TABLE_ROW_END){let e=u.pop(),t=c[c.length-1];Er(t.table,[e],l.DataStreamTreeNodeType.TABLE)}else if(r===l.DataStreamTreeTokenType.TABLE_CELL_END){let e=d.pop(),t=u[u.length-1];Er(t,[e],l.DataStreamTreeNodeType.TABLE_ROW)}else r===l.DataStreamTreeTokenType.CUSTOM_BLOCK&&f.push(p),n+=r}return{sectionList:i,tableNodeCache:a}}var Or=class e{constructor(e){if(this._documentDataModel=e,U(this,`_interceptor`,null),U(this,`_cacheSize`,1e3),U(this,`_textRunsCache`,new Map),U(this,`_paragraphCache`,new Map),U(this,`_sectionBreakCache`,new Map),U(this,`_customBlockCache`,new Map),U(this,`_tableCache`,new Map),U(this,`_tableNodeCache`,new Map),U(this,`_children`,[]),U(this,`_editArea`,Tr.BODY),U(this,`_editAreaChange$`,new d.BehaviorSubject(null)),U(this,`editAreaChange$`,this._editAreaChange$.asObservable()),U(this,`_headerTreeMap`,new Map),U(this,`_footerTreeMap`,new Map),U(this,`_segmentViewModels$`,new d.BehaviorSubject([])),U(this,`segmentViewModels$`,this._segmentViewModels$.asObservable()),e.getBody()==null)return;let t=e.getBody(),{sectionList:n,tableNodeCache:r}=Dr(t.dataStream,t.tables);this._buildAllCache(),this._children=n,this._tableNodeCache=r,this._buildHeaderFooterViewModel()}registerCustomRangeInterceptor(e){return this._interceptor=e,(0,l.toDisposable)(()=>this._interceptor=null)}dispose(){this._children.forEach(e=>{e.dispose()}),this._textRunsCache.clear(),this._paragraphCache.clear(),this._sectionBreakCache.clear(),this._customBlockCache.clear(),this._tableCache.clear(),this._tableNodeCache.clear(),this._segmentViewModels$.complete(),this._editAreaChange$.complete()}getHeaderFooterTreeMap(){return{headerTreeMap:this._headerTreeMap,footerTreeMap:this._footerTreeMap}}getEditArea(){return this._editArea}setEditArea(e){e!==this._editArea&&(this._editArea=e,this._editAreaChange$.next(e))}getChildren(){return this._children}getBody(){return this._documentDataModel.getBody()}getSnapshot(){return this._documentDataModel.getSnapshot()}getDataModel(){return this._documentDataModel}getSelfOrHeaderFooterViewModel(e){return e==null?this:this._headerTreeMap.has(e)?this._headerTreeMap.get(e):this._footerTreeMap.has(e)?this._footerTreeMap.get(e):this}reset(e){this._documentDataModel=e;let t=e.getBody(),{sectionList:n,tableNodeCache:r}=Dr(t.dataStream,t.tables);this._children=n,this._tableNodeCache=r,this._buildAllCache(),this._buildHeaderFooterViewModel()}getSectionBreak(e){return this._sectionBreakCache.get(e)}getParagraph(e){return this._paragraphCache.get(e)}getTextRun(e){let t=Math.floor(e/this._cacheSize),n=this._textRunsCache.get(t);return n==null?void 0:n.get(e%this._cacheSize)}getCustomBlock(e){return this._customBlockCache.get(e)}getCustomBlockWithoutSetCurrentIndex(e){let t=this.getBody().customBlocks;if(t!=null)for(let n=0;n<t.length;n++){let r=t[n];if(r.startIndex===e)return r}}getTableByStartIndex(e){return this._tableCache.get(e)}findTableNodeById(e){var t;return(t=this._tableNodeCache.get(e))==null?void 0:t.table}getCustomRangeRaw(e){let t=this.getBody().customRanges;if(t!=null)for(let n=0,r=t.length;n<r;n++){let r=t[n];if(e>=r.startIndex&&e<=r.endIndex)return r}}getCustomRange(e){return this._interceptor?this._interceptor.getCustomRange(e):this.getCustomRangeRaw(e)}getCustomDecorationRaw(e){let t=this.getBody().customDecorations;if(t!=null)for(let n=0,r=t.length;n<r;n++){let r=t[n];if(e>=r.startIndex&&e<=r.endIndex)return r}}getCustomDecoration(e){return this._interceptor?this._interceptor.getCustomDecoration(e):this.getCustomDecorationRaw(e)}_buildAllCache(){this._buildTextRunsCache(),this._buildParagraphCache(),this._buildSectionBreakCache(),this._buildCustomBlockCache(),this._buildTableCache()}_buildParagraphCache(){var e,t;this._paragraphCache.clear();let n=(e=(t=this.getBody())==null?void 0:t.paragraphs)==null?[]:e;for(let e of n){let{startIndex:t}=e;this._paragraphCache.set(t,e)}}_buildSectionBreakCache(){var e,t;this._sectionBreakCache.clear();let n=(e=(t=this.getBody())==null?void 0:t.sectionBreaks)==null?[]:e;for(let e of n){let{startIndex:t}=e;this._sectionBreakCache.set(t,e)}}_buildCustomBlockCache(){var e,t;this._customBlockCache.clear();let n=(e=(t=this.getBody())==null?void 0:t.customBlocks)==null?[]:e;for(let e of n){let{startIndex:t}=e;this._customBlockCache.set(t,e)}}_buildTableCache(){var e;this._tableCache.clear();let t=(e=this.getBody())==null?void 0:e.tables,n=this.getSnapshot().tableSource;if(!(t==null||n==null))for(let e of t){let{startIndex:t,tableId:r}=e,i=n[r];i!=null&&this._tableCache.set(t,{table:e,tableSource:i})}}_buildTextRunsCache(){var e,t;let n=(e=(t=this.getBody())==null?void 0:t.textRuns)==null?[]:e;this._textRunsCache.clear();for(let e of n){let{st:t,ed:n}=e;for(let r=t;r<n;r++){let t=Math.floor(r/this._cacheSize);this._textRunsCache.has(t)||this._textRunsCache.set(t,new Map),this._textRunsCache.get(t).set(r%this._cacheSize,e)}}}_buildHeaderFooterViewModel(){let{headerModelMap:t,footerModelMap:n}=this._documentDataModel,r=[];for(let[n,i]of t)this._headerTreeMap.set(n,new e(i)),r.push(this._headerTreeMap.get(n));for(let[t,i]of n)this._footerTreeMap.set(t,new e(i)),r.push(this._footerTreeMap.get(t));this._segmentViewModels$.next(r)}};function kr(e){return[` `,`\xA0`,` `].includes(e)}function Ar(e){return kr(e)||he(e)||Me(e)||Ne(e)||Pe(e)}function jr(e,t){return kr(e)?{stretchability:[0,t/2],shrinkability:[0,t/3]}:Me(e)?{stretchability:[0,0],shrinkability:[0,t/2]}:Ne(e)?{stretchability:[0,0],shrinkability:[t/2,0]}:Pe(e)?{stretchability:[0,0],shrinkability:[t/4,t/4]}:{stretchability:[0,0],shrinkability:[0,0]}}function Mr(e,t,n){return Lr(pt.WORD,e,t,n)}function Nr(e,t,n,r){return Lr(pt.LETTER,e,t,n,r)}function Pr(e,t){return Lr(pt.TAB,l.DataStreamTreeTokenType.TAB,e,t)}function Fr(e){let t=Lr(pt.LETTER,`-`,e);return t.count=0,t}function Ir(e,t=0,n=0,r=``){let{fontStyle:i,textStyle:a}=e,o=l.DataStreamTreeTokenType.CUSTOM_BLOCK;return{content:``,raw:o,ts:a,fontStyle:i,width:t,bBox:{width:0,ba:n,bd:0,aba:0,abd:0,sp:0,sbr:0,sbo:0,spr:0,spo:0},xOffset:0,left:0,isJustifiable:!1,adjustability:jr(o,0),glyphType:pt.PLACEHOLDER,streamType:o,count:1,drawingId:r}}function Lr(e,t,n,r,i){let{fontStyle:a,textStyle:o,charSpace:s=1,gridType:c=l.GridType.LINES,snapToGrid:u=l.BooleanNumber.FALSE}=n,d=[l.DataStreamTreeTokenType.SECTION_BREAK,l.DataStreamTreeTokenType.TABLE_START,l.DataStreamTreeTokenType.TABLE_END,l.DataStreamTreeTokenType.TABLE_ROW_START,l.DataStreamTreeTokenType.TABLE_ROW_END,l.DataStreamTreeTokenType.TABLE_CELL_START,l.DataStreamTreeTokenType.TABLE_CELL_END,l.DataStreamTreeTokenType.CUSTOM_RANGE_START,l.DataStreamTreeTokenType.CUSTOM_RANGE_END,l.DataStreamTreeTokenType.COLUMN_BREAK,l.DataStreamTreeTokenType.PAGE_BREAK,l.DataStreamTreeTokenType.DOCS_END,l.DataStreamTreeTokenType.CUSTOM_BLOCK],f=l.DataStreamTreeTokenType.LETTER;if(d.indexOf(t)>-1)return{content:``,raw:t,ts:o,fontStyle:a,width:0,bBox:{width:0,ba:0,bd:0,aba:0,abd:0,sp:0,sbr:0,sbo:0,spr:0,spo:0},xOffset:0,left:0,isJustifiable:!1,adjustability:jr(t,0),glyphType:pt.PLACEHOLDER,streamType:t,count:1};t===l.DataStreamTreeTokenType.PARAGRAPH&&(f=l.DataStreamTreeTokenType.PARAGRAPH);let p=null,m=0;p=i&&i.boundingBox&&i.font?W.getBBoxFromGlyphInfo(i,a):W.getTextSize(t,a);let{width:h=0}=p,g=r==null?h:r;if(fa(c,u)&&(g=h+(_e(t)?s:s/2),c===l.GridType.SNAP_TO_CHARS&&(m=(g-h)/2)),i&&i.kerning!==0&&i.font){let e=et(a.fontSize)/i.font.unitsPerEm,t=i.kerning*e;g+=t,m+=t}return{content:t,ts:o,fontStyle:a,width:g,bBox:p,xOffset:m,left:0,glyphType:e,streamType:f,isJustifiable:Ar(t),adjustability:jr(t,g),count:t.length,raw:t}}function Rr(e,t,n){let{symbol:r,bulletAlign:i=l.BulletAlignment.START,bulletType:a=!1}=t,{fontStyle:o}=e,s=W.getTextSize(r,o),c=s.width,u=Math.ceil(c/n),d=(u<2?2:u)*n,f=0;a&&(i===l.BulletAlignment.CENTER?(f=-c/2,d-=f):i===l.BulletAlignment.END&&(f=-c,d-=f));let p=Vr(e,s);return{content:r,ts:{...e.ts,st:{s:l.BooleanNumber.FALSE}},fontStyle:o,width:d,xOffset:0,bBox:p,left:f,isJustifiable:Ar(r),adjustability:jr(r,d),glyphType:pt.LIST,streamType:l.DataStreamTreeTokenType.LETTER,count:0,raw:r}}function zr(e,t=0){let n=e.length,r;for(let i=0;i<n;i++){let n=e[i];n.left=r?r.left+r.width:t,r=n}}function Br(e,t,n=0){zr(t,n);for(let n of t)n.parent=e;e.glyphGroup.push(...t)}function Vr(e,t){let{ba:n,bd:r}=e.bBox,{ba:i,bd:a}=t;return n+r>i+a?e.bBox:t}function Hr(e,t){e.width-=t,e.adjustability.shrinkability[1]-=t}function Ur(e,t){e.width-=t,e.xOffset-=t,e.adjustability.shrinkability[0]-=t}var Wr=function(e){return e[e.BOTH=0]=`BOTH`,e[e.LEFT=1]=`LEFT`,e[e.RIGHT=2]=`RIGHT`,e}(Wr||{}),Gr=function(e){return e[e.X=0]=`X`,e[e.Y=1]=`Y`,e}(Gr||{});function Kr(e,t,n,r,i=0,a=!1,o,s,c,u){var d,f;let{lineHeight:p=15.6,lineTop:m=0,contentHeight:h=0,paddingLeft:g=0,paddingRight:_=0,paddingTop:v=0,paddingBottom:y=0,marginTop:b=0,spaceBelowApply:x=0}=n,{skeTablesInParagraph:S}=o,C=(d=s.skeDrawings)==null?new Map:d,w=(f=s.skeTables)==null?new Map:f,T=c==null?void 0:c.skeDrawings,E=u==null?void 0:u.skeDrawings,D=li(t,e);if(D.lineIndex=i,D.paragraphStart=a,D.contentHeight=h,D.top=m,D.lineHeight=p,D.paddingTop=v,D.paddingBottom=y,D.marginTop=b,D.spaceBelowApply=x,a&&Array.isArray(S)&&S.length>0){let e=S[S.length-1].tableId;D.isBehindTable=!0,D.tableId=e}D.divides=Xr(p,m,r,g,_,s,c,u,new Map(Array.from(C).filter(([e,t])=>t.drawingOrigin.layoutType!==l.PositionedObjectLayoutType.INLINE)),T,E,new Map(Array.from(w).filter(([e,t])=>t.tableSource.textWrap===l.TableTextWrapType.WRAP)));for(let e of D.divides)e.parent=D;return D}function qr(e=15.6,t=0,n,r,i){let a=t,o=n.skeDrawings,s=new Map(Array.from(n.skeTables).filter(([e,t])=>t.tableSource.textWrap===l.TableTextWrapType.NONE)),c=r==null?void 0:r.skeDrawings,u=i==null?void 0:i.skeDrawings;return r&&c&&c.forEach(i=>{let o=Yr(ni(i,r,n,!0),e,t);o&&(a=Math.max(a,o))}),i&&u&&u.forEach(r=>{let o=Yr(ni(r,i,n,!1),e,t);o&&(a=Math.max(a,o))}),o==null||o.forEach(n=>{let r=Yr(n,e,t);r&&(a=Math.max(a,r))}),s==null||s.forEach(n=>{let r=Jr(n,e,t);r&&(a=Math.max(a,r))}),a}function Jr(e,t,n){let{top:r,height:i}=e;if(!(r+i<n||r>t+n))return r+i}function Yr(e,t,n){let{aTop:r,height:i,aLeft:a,width:o,angle:s=0,drawingOrigin:c}=e,{layoutType:u,distT:d=0,distB:f=0}=c;if(u!==l.PositionedObjectLayoutType.WRAP_TOP_AND_BOTTOM)return;if(s===0){let e=r-d,a=d+i+f;return e+a<n||e>t+n?void 0:e+a}let{top:p=0,height:m=0}=ti(s,a,o,r,i);if(p-=d,m+=f,!(p+m<n||p>t+n))return p+m}function Xr(e,t,n,r,i,a,o,s,c,l,u,d){let f=[];return f.push({left:0,width:r},{left:n-i,width:i}),o&&l&&l.forEach(r=>{let i=ei(ni(r,o,a,!0),e,t,n);i&&f.push(i)}),s&&u&&u.forEach(r=>{let i=ei(ni(r,s,a,!1),e,t,n);i&&f.push(i)}),c==null||c.forEach(r=>{let i=ei(r,e,t,n);i&&f.push(i)}),d&&d.size>0&&d.forEach(r=>{let{left:i,top:a,width:o,height:s,tableSource:c}=r,{dist:l}=c,u=ai(a,s,i,o,t,e,n,l);u&&f.push(u)}),si(n,f)}function Zr(e,t){Object.assign(e,t)}function Qr(e,t){e.marginBottom=t}function $r(e,t,n,r,i){let{top:a,height:o,left:s,width:c,angle:l=0}=e,{top:u=0,left:d=0,width:f=0,height:p=0}=ti(l,s,c,a,o);return!(u+p<n||u>t+n||d+f<r||d>r+i)}function ei(e,t,n,r){let{aTop:i,height:a,aLeft:o,width:s,angle:c=0,drawingOrigin:u}=e,{layoutType:d}=u;if(d===l.PositionedObjectLayoutType.WRAP_NONE||d===l.PositionedObjectLayoutType.WRAP_TOP_AND_BOTTOM)return;if(d===l.PositionedObjectLayoutType.WRAP_POLYGON){let{start:e=[0,0],lineTo:i}=u;if(!i)return;let a=[];a.push(new K(e[0],e[1]));for(let e=0;e<i.length;e++){let t=i[e];a.push(new K(t[0],t[1]))}if(c!==0){let e=new Y().rotate(c);for(let t=0;t<a.length;t++){let n=a[t];a[t]=e.applyPoint(n)}}return ri(a,n,t,r)}let{distL:f=0,distT:p=0,distB:m=0,distR:h=0,wrapText:g}=u,_={distL:f,distT:p,distB:m,distR:h};if(c===0)return ai(i,a,o,s,n,t,r,_,d,g);let v=ti(c,o,s,i,a);if(d===l.PositionedObjectLayoutType.WRAP_SQUARE){let{left:e,width:i,top:a,height:o}=v;return ai(a,o,e,i,n,t,r,_,d,g)}return ri(v.points,n,t,r)}function ti(e,t,n,r,i){let a=t+n/2,o=r+i/2,s=new Y().translate(a,o).rotate(e).translate(-a,-o),c=new K(t,r),l=new K(t,r+i),u=new K(t+n,r),d=new K(t+n,r+i);return s.makeBoundingBoxFromPoints([c,l,u,d])}function ni(e,t,n,r=!0){let{aTop:i}=e,a=i;return a=r?i+t.marginTop-n.marginTop:i+t.marginTop+n.pageHeight-n.marginBottom-n.marginTop,{...e,aTop:a}}function ri(e,t,n,r){let i=new Kt(e),a=i.intersection([new K(0,t),new K(r,t)]),o=i.intersection([new K(0,t+n),new K(r,t+n)]);if(!a&&!o)return;let s=ii([...e,...a||[],...o||[]]);return{left:s.min,width:s.max}}function ii(e,t=Gr.X){let n=[];for(let r=0;r<e.length;r++){let i=e[r];t===Gr.X?n.push(i.x):n.push(i.y)}return{max:Math.max(...n),min:Math.min(...n)}}function ai(e,t,n,r,i,a,o,s,c=l.PositionedObjectLayoutType.WRAP_SQUARE,u=l.WrapTextType.BOTH_SIDES){let{distL:d=0,distR:f=0,distT:p=0,distB:m=0}=s,h=e-(c===l.PositionedObjectLayoutType.WRAP_SQUARE?p:0);if(h+(t+(c===l.PositionedObjectLayoutType.WRAP_SQUARE?m+p:0))<=i||h>=a+i)return;let g=n-d,_=r+d+f,v=oi(u,g,_,o);return v===Wr.LEFT?_=o-g:v===Wr.RIGHT&&(g=0,_=n+r+f),{left:g,width:_}}function oi(e,t,n,r){let i=Wr.BOTH;return e===l.WrapTextType.LEFT?i=Wr.LEFT:e===l.WrapTextType.RIGHT?i=Wr.RIGHT:e===l.WrapTextType.LARGEST&&(i=t>r-t-n?Wr.LEFT:Wr.RIGHT),i}function si(e,t){t.sort((e,t)=>e.left>t.left?1:-1);let n=[],r=0,i=t.length;for(let a=0;a<i;a++){let{left:o,width:s}=t[a];if(o>r){let t=o-r;t=t<e?t:e-r;let i=ci(r,t);n.push(i)}if(r=Math.max(o+s,r),a===i-1&&o+s<e){let t=ci(o+s,e-o-s);n.push(t)}}return n}function ci(e,t){return{glyphGroup:[],width:t,left:e,paddingLeft:0,isFull:!1,st:0,ed:0}}function li(e,t){return{paragraphIndex:t,type:e,divides:[],lineHeight:0,contentHeight:0,top:0,asc:0,dsc:0,paddingTop:0,paddingBottom:0,marginTop:0,marginBottom:0,spaceBelowApply:0,divideLen:0,st:-1,ed:-1,isBehindTable:!1,tableId:``,lineIndex:0,paragraphStart:!1}}function ui(e,t,n,r){if(r)if(r.has(e)){let n=r.get(e);n==null||n.elements.push(t)}else r.set(e,{elements:[t],paragraphIndex:e,top:n})}function di(e=[],t=l.ColumnSeparatorType.NONE,n=0,r=0,i=1/0,a=1/0){let o=[],s=0,c=0;if(e.length===0)o.push(pi(r,i,0,l.ColumnSeparatorType.NONE));else for(let n=0;n<e.length;n++){let{width:a,paddingEnd:l}=e[n];c=l,s=a,o.push(pi(r,s,c,t)),r+=s+c,n===e.length-1&&(s=i===1/0?a:i-s,c=0,o.push(pi(r,s,c,t)))}let u={columns:o,colCount:(e==null?void 0:e.length)||1,height:a,top:n,st:0,ed:0};return o.forEach(e=>{e.parent=u}),u}function fi(e,t){e.isFull=t}function pi(e,t,n,r){return{lines:[],left:e,width:t,height:0,spaceWidth:n,separator:r,st:0,ed:0,drawingLRIds:[],isFull:!1}}function mi(e,t,n,r,i){var a;let{startIndex:o,endIndex:s,children:c}=r,u=(a=n.getTableByStartIndex(o))==null?void 0:a.tableSource;if(u==null)return console.warn(`Table not found when creating table skeleton`),null;let d=Ci(o,s,u),f=0,p=0;for(let t of c){let{children:r,startIndex:a,endIndex:o}=t,s=c.indexOf(t),m=u.tableRows[s],{trHeight:h}=m,g=wi(a,o,s,m,!1,d),{hRule:_,val:v}=h;d.rows.push(g);let y=0,b=0;for(let t of r){let a=Ga(e,n,t,i,u,s,r.indexOf(t))[0],{marginTop:o=0,marginBottom:c=0}=a,l=a.height+o+c;a.left=y,y+=a.pageWidth,a.parent=g,g.cells.push(a),b=Math.max(b,l)}_===l.TableRowHeightRule.AT_LEAST?b=Math.max(b,v.v):_===l.TableRowHeightRule.EXACT&&(b=v.v);for(let e of g.cells)e.pageHeight=b;let x=u.tableRows[s];for(let e=0;e<x.tableCells.length;e++){let t=x.tableCells[e],n=g.cells[e],{vAlign:r=l.VerticalAlignmentType.CONTENT_ALIGNMENT_UNSPECIFIED}=t,{pageHeight:i,height:a,originMarginTop:o,originMarginBottom:s}=n,c=o;switch(r){case l.VerticalAlignmentType.TOP:c=o;break;case l.VerticalAlignmentType.CENTER:c=(i-a)/2;break;case l.VerticalAlignmentType.BOTTOM:c=i-a-s;break;default:break}c=Math.max(o,c),n.marginTop=c}g.height=b,g.top=f,f+=b,p=Math.max(p,y)}d.width=p,d.height=f;let{pageWidth:m,marginLeft:h=0,marginRight:g=0}=t;return d.left=Si(m-h-g,p,u.align,u.indent),d}function hi(e,t){let{startIndex:n,endIndex:r}=t;for(let t of e.values())for(let e of t){let t=e.findIndex(e=>e.paragraph.startIndex>n&&e.paragraph.startIndex<r);t>-1&&e.splice(t)}}function gi(e,t,n,r,i,a){var o;let s=[],{startIndex:c,endIndex:u,children:d}=r,f=(o=n.getTableByStartIndex(c))==null?void 0:o.tableSource;if(f==null)return console.warn(`Table not found when creating table skeletons`),{skeTables:s,fromCurrentPage:!1};let p=f.tableRows[0].repeatHeaderRow===l.BooleanNumber.TRUE,m=Ci(c,u,f),h={rowTop:0,tableWidth:0,remainHeight:a,repeatRow:p?d[0]:null,repeatRowHeight:0};s.push(m);for(let r of d)bi(e,t,s,n,i,r,d.indexOf(r),f,h);return _i(h,t,s,f),{skeTables:s,fromCurrentPage:s[0].height<=a}}function _i(e,t,n,r){let{pageWidth:i,marginLeft:a=0,marginRight:o=0}=t,{tableWidth:s}=e,c=Si(i-a-o,s,r.align,r.indent),l=0;for(let e of n)e.width=s,e.left=c,e.st=e.rows[0].st-1,e.ed=e.rows[e.rows.length-1].ed+1,n.length>1&&(e.tableId=Ti(r.tableId,l),l++)}function vi(e){return e[e.length-1]}function yi(e,t,n){let{marginTop:r,marginBottom:i,pageHeight:a}=e,o=a-r-i;return n&&(o-=t.repeatRowHeight),o}function bi(e,t,n,r,i,a,o,s,c,u=!1){let d=yi(t,c,!1),f=yi(t,c,!0),{children:p,startIndex:m,endIndex:h}=a,g=s.tableRows[o],{trHeight:_,cantSplit:v}=g,y=[],{hRule:b,val:x}=_,S=v===l.BooleanNumber.TRUE&&_.hRule===l.TableRowHeightRule.AUTO,C=c.remainHeight<=72,w=vi(n),T=[0];for(let t of p){let n=p.indexOf(t),a=Ga(e,r,t,i,s,o,n,S&&!C?c.remainHeight:f,d);for(;y.length<a.length;){let t=wi(m,h,o,g,u),n=p.length;t.cells=[...Array(n)].map((n,r)=>{let a=Wa(e,i,s,o,r).page;return a.parent=t,a}),y.push(t)}for(;T.length<a.length;)T.push(0);for(let e of a){let{marginTop:t=0,marginBottom:r=0}=e,i=e.height+t+r,o=a.indexOf(e),s=y[o];e.parent=s,s.cells[n]=e,T[o]=Math.max(T[o],i)}}for(let e of y){let t=y.indexOf(e);b===l.TableRowHeightRule.AT_LEAST?T[t]=Math.max(T[t],x.v):b===l.TableRowHeightRule.EXACT&&(T[t]=x.v),T[t]=Math.min(T[t],d);let n=0;for(let r of e.cells)r.left=n,r.pageHeight=T[t],n+=r.pageWidth,c.tableWidth=Math.max(c.tableWidth,n);e.height=T[t]}o===0&&c.repeatRow&&(c.repeatRowHeight=T[T.length-1]);for(let e of y)xi(e,g);for(;y.length>0;){let a=y.shift(),l=w.rows[w.rows.length-1];(c.remainHeight<72||c.remainHeight<a.height)&&(c.remainHeight=yi(t,c,o!==0&&a.index!==l.index),c.rowTop=0,w.rows.length>0&&(w=Ci(m,h,s),n.push(w),c.repeatRow&&u===!1&&o!==0&&a.index!==l.index))&&(c.remainHeight=yi(t,c,!1),bi(e,t,n,r,i,c.repeatRow,0,s,c,!0)),w=vi(n),a.top=c.rowTop,w.height+=a.height,w.rows.push(a),a.parent=w,c.remainHeight-=a.height,c.rowTop+=a.height}}function xi(e,t){for(let n=0;n<t.tableCells.length;n++){let r=t.tableCells[n],i=e.cells[n];if(i==null)continue;let{vAlign:a=l.VerticalAlignmentType.CONTENT_ALIGNMENT_UNSPECIFIED}=r,{pageHeight:o,height:s,originMarginTop:c,originMarginBottom:u}=i,d=c;switch(a){case l.VerticalAlignmentType.TOP:d=c;break;case l.VerticalAlignmentType.CENTER:d=(o-s)/2;break;case l.VerticalAlignmentType.BOTTOM:d=o-s-u;break;default:break}d=Math.max(c,d),i.marginTop=d}}function Si(e,t,n,r={v:0}){switch(n){case l.TableAlignmentType.START:return r.v;case l.TableAlignmentType.END:return Math.max(0,e-t);case l.TableAlignmentType.CENTER:return Math.max(0,(e-t)/2);default:throw Error(`Unknown table alignment type`)}}function Ci(e,t,n){return{rows:[],width:0,height:0,top:0,left:0,st:e,ed:t,tableId:n.tableId,tableSource:n}}function wi(e,t,n,r,i=!1,a){return{cells:[],index:n,height:0,top:0,st:e,ed:t,parent:a,rowSource:r,isRepeatRow:i}}function Ti(e,t){return`${e}#-#${t}`}function Ei(e){if(!e.includes(`#-#`))return{tableId:e,sliceIndex:0};let[t,n]=e.split(`#-#`);return{tableId:t,sliceIndex:Number(n)}}function Di(e,t,n,r,i,a,o=X.Normal){if(a)if(i.bulletSkeleton){let{bulletSkeleton:s,paragraphStyle:c={}}=i,{gridType:u=l.GridType.LINES,charSpace:d=0,defaultTabStop:f=10.5}=r,{snapToGrid:p=l.BooleanNumber.TRUE}=c,m=da(d,f,u,p),h=Rr(t[0],s,m),g=s.paragraphProperties||{};i.paragraphStyle=Ra(i.paragraphStyle,{...g,hanging:{v:h.width}},`max`),Ni(e,[h,...t],n,r,i,a,o)}else Ni(e,t,n,r,i,a,o);else Mi(e,t,n,r,i,a,o);return[...n]}function Oi(e){if(e.length<=1)return!1;let t=!1;for(let n of e)if(n.content===l.DataStreamTreeTokenType.SPACE&&(t=!0),t&&n.content!==l.DataStreamTreeTokenType.SPACE&&n.content!==l.DataStreamTreeTokenType.PARAGRAPH&&n.streamType!==l.DataStreamTreeTokenType.SECTION_BREAK)return!1;return t}function ki(e,t,n){if(e.length<=1)return!1;let r=t,i=!1;for(let t of e){if(t.content===l.DataStreamTreeTokenType.SPACE||t.content===l.DataStreamTreeTokenType.PARAGRAPH||t.streamType===l.DataStreamTreeTokenType.SECTION_BREAK)break;if(r+=t.width,r>n){i=!0;break}}return i}function Ai(e){var t;let n=(t=e.parent)==null?void 0:t.parent;if(n==null)return 0;let r=0;for(let e=n.lines.length-1;e>=0;e--){let t=n.lines[e];if(t.divides[t.divides.length-1].breakType===X.Hyphen)r++;else break}return r}function ji(e){let t=[],n=e.glyphGroup.pop();for(;n&&n.content!==` `;)t.unshift(n),n=e.glyphGroup.pop();return e.glyphGroup.length===0&&(e.glyphGroup.push(...t),t.length=0),t}function Mi(e,t,n,r,i,a,o=X.Normal,s){let c=ca(na(n));if(c){var u;let d=Xi(t),{divide:f,isLast:p}=c,m=f==null||(u=f.glyphGroup)==null?void 0:u[f.glyphGroup.length-1],h=((m==null?void 0:m.width)||0)+((m==null?void 0:m.left)||0),{hyphenationZone:g}=r;if(h+d>f.width){Zr(f,{isFull:!0});let u=Ai(c.divide),{consecutiveHyphenLimit:d=1/0}=r;if(c.isLast&&t.length===1&&(t[0].content===l.DataStreamTreeTokenType.SPACE||t[0].content===l.DataStreamTreeTokenType.PARAGRAPH))Br(f,t,h);else if(c.isLast&&!ki(t,h,f.width)&&Oi(t))Br(f,t,h);else if((f==null?void 0:f.glyphGroup.length)===0){let a=[];for(;t.length;)if(a.push(t.shift()),Xi(a)>f.width){a.length>1&&t.unshift(a.pop());break}a.length>0&&Br(f,a,h),t.length&&Mi(e,t,n,r,i,!1,o,s)}else if(u>d){let c=ji(f);c.length>0&&(Zr(f,{breakType:X.Normal}),Mi(e,c,n,r,i,a,X.Hyphen)),Mi(e,t,n,r,i,a,o,s)}else Mi(e,t,n,r,i,a,o,s)}else if(p&&g&&g>0&&h>=f.width-g&&o===X.Hyphen&&f.breakType===X.Normal)Zr(f,{isFull:!0}),Mi(e,t,n,r,i,a,o,s);else{let s=f.parent,c=Zi(t);if(s&&c&&!$i(s)){let{paragraphLineGapDefault:l,linePitch:u,lineSpacing:d,spacingRule:f,snapToGrid:p,gridType:m}=pa(r,i),{boundingBoxAscent:h,boundingBoxDescent:g}=c,{contentHeight:_}=Gi(h+g,l,u,m,d,f,p);if(s.contentHeight<_){let c=Qi(s),l=c.length,u=[],d=1;l>2&&c[0].glyphType===pt.LIST?(u=[c[0],c[1]],d=2):u=[c[0]];let{paragraphStart:f}=s.parent.lines.pop();Ni(e,u,n,r,i,f,o,h+g);for(let t=d;t<c.length;t++)Mi(e,[c[t]],n,r,i,a);Mi(e,t,n,r,i,a,o);return}}Br(f,t,h),Zr(f,{breakType:o})}}else Ni(e,t,n,r,i,a,o,s)}function Ni(e,t,n,r,i,a,o=X.Normal,s){var c,u,d,f;let p=na(n),m=sa(p);if((!m||!m.column)&&(Hi(e,t,n,r,i,!0,o),p=na(n),m=sa(p)),!m)return;let h=m.column;if(h.width<=0){console.error(`The column width is less than 0, need to adjust page width to make it great than 0`);return}let g=oa(h),_=Math.max(...t.map(e=>e.bBox.ba)),v=Math.max(...t.map(e=>e.bBox.bd)),y=s||_+v,{paragraphStyle:b={},paragraphNonInlineSkeDrawings:x,skeTablesInParagraph:S,skeHeaders:C,skeFooters:w,pDrawingAnchor:T,paragraphIndex:E}=i,{namedStyleType:D}=b,O=D===void 0?null:l.NAMED_STYLE_SPACE_MAP[D],{spaceAbove:k,spaceBelow:A,indentFirstLine:j,hanging:M,indentStart:N,indentEnd:P}={...b,spaceAbove:(c=b.spaceAbove)==null?O==null?void 0:O.spaceAbove:c,spaceBelow:(u=b.spaceBelow)==null?O==null?void 0:O.spaceBelow:u},{paragraphLineGapDefault:F,linePitch:I,lineSpacing:L,spacingRule:R,snapToGrid:z,gridType:ee}=pa(r,i),{paddingTop:B,paddingBottom:V,contentHeight:te,lineSpacingApply:ne}=Gi(y,F,I,ee,L,R,z),{marginTop:re,spaceBelowApply:ie}=Wi(e,ne,k,A,a,g),ae=re+B+te+V,oe=h.parent;oe||(oe=ra(p));let se=((g==null?void 0:g.lineHeight)||0)+((g==null?void 0:g.top)||0),{pageWidth:ce,headerId:le,footerId:ue,segmentId:de}=p,fe=C==null||(d=C.get(le))==null?void 0:d.get(ce),H=w==null||(f=w.get(ue))==null?void 0:f.get(ce),pe=!1;if(g){let t=Ri(g);if(t.length>0){var me,he;let n=(me=e.paragraphConfigCache.get(de))==null||(me=me.get(g.paragraphIndex))==null?void 0:me.paragraphNonInlineSkeDrawings,r=[...(he=n==null?void 0:n.values())==null?[]:he].filter(e=>e.drawingOrigin.docTransform.positionV.relativeFrom===l.ObjectRelativeFromV.LINE).filter(e=>t.includes(e.drawingId));r.length>0&&Pi(e,g.top,g.lineHeight,h,r,g.paragraphIndex,a)}}if(x!=null&&x.size>0){var ge;Pi(e,se,ae,h,[...x.values()].filter(e=>e.drawingOrigin.docTransform.positionV.relativeFrom!==l.ObjectRelativeFromV.LINE),i.paragraphIndex,a,T==null||(ge=T.get(E))==null?void 0:ge.top)}if(S!=null&&S.length>0){var _e;pe=Li(e,se,ae,p,h,oe,S,i.paragraphIndex,r,T==null||(_e=T.get(E))==null?void 0:_e.top)}let ve=qr(ae,se,p,fe,H);if(ae+ve>oe.height&&h.lines.length>0&&p.sections.length>0||pe){if(fi(h,!0),Vi(e,t,n,r,i,a,o,s),a&&x&&x.size>0)for(let t of x.values())p.skeDrawings.has(t.drawingId)&&p.skeDrawings.delete(t.drawingId),e.floatObjectsCache.has(t.drawingId)&&(e.floatObjectsCache.delete(t.drawingId),e.isDirty=!1,e.layoutStartPointer[de]=null);return}let ye=g?g.lineIndex+1:0,{charSpace:be,defaultTabStop:xe}=ma(r,i),{paddingLeft:Se,paddingRight:Ce}=Ui(j,M,N,P,da(be,xe,ee,z),a);if(Se+Ce>=h.width){let e=Se/(Se+Ce);Se=h.width*e-.5,Ce=h.width-Se-.5}let we=Kr(E,ft.PARAGRAPH,{lineHeight:ae,contentHeight:te,lineTop:ve,paddingLeft:Se,paddingRight:Ce,paddingTop:B,paddingBottom:V,marginTop:re,spaceBelowApply:ie},h.width,ye,a,i,p,fe,H);h.lines.push(we),we.parent=h,ui(E,we,se,T),Mi(e,t,n,r,i,a,o,s)}function Pi(e,t,n,r,i,a,o,s){if(i.length===0)return;let c=qi(t,n,r,o,s,i);c==null||c.size===0||(zi(e,[...c.values()].filter(e=>{let t=e.drawingOrigin.layoutType;return t!==l.PositionedObjectLayoutType.INLINE&&t!==l.PositionedObjectLayoutType.WRAP_NONE}).map(e=>{let{drawingOrigin:t,drawingId:n,aTop:r,aLeft:i,width:a,height:o,angle:s}=e,c=t.docTransform.positionV;return{id:n,top:r,left:i,width:a,height:o,angle:s,type:ja.IMAGE,positionV:c}}),r,a),Ji(r,c))}function Fi(e,t,n,r,i,a,o){let s=Ii(t,i,n,r,o);if(s==null)return;let{tableId:c,width:l,height:u,tableSource:d}=t,{left:f,top:p}=s;zi(e,[{id:c,top:p,left:f,width:l,height:u,angle:0,type:ja.TABLE,positionV:d.position.positionV}],i,a),t.top=p,t.left=f}function Ii(e,t,n,r,i){var a,o,s;let c=(a=t.parent)==null?void 0:a.parent;if(c==null)return;let l=Yi(t),{tableSource:u,width:d,height:f}=e,{positionH:p,positionV:m}=u.position;return{left:(o=ba(p,t,c,d,l))==null?0:o,top:(s=xa(m,c,n,r,f,i,l))==null?0:s}}function Li(e,t,n,r,i,a,o,s,c,u){if(o.length===0)return!1;let d=o.find(e=>e.hasPositioned===!1);if(d==null)return!1;let{tableId:f,table:p}=d,{tableSource:m}=p;if(d.isSlideTable===!1)switch(m.textWrap){case l.TableTextWrapType.NONE:p.top=t;break;case l.TableTextWrapType.WRAP:Fi(e,p,t,n,i,s,u);break;default:throw Error(`Unsupported table text wrap type: ${m.textWrap}`)}let{top:h,left:g,height:_}=p;if(!e.isDirty&&h+_>a.height&&d.isSlideTable===!1){o.pop();let t=a.height-h,{segmentId:n}=r,i=e.viewModel.getSelfOrHeaderFooterViewModel(n),s=d.tableNode;hi(e.skeletonResourceReference.skeListLevel,s);let{fromCurrentPage:l,skeTables:u}=gi(e,r,i,s,c,t);if(u.forEach((e,t)=>{e.top=t===0&&l?h:0,e.left=g}),l){let e=u.shift();r.skeTables.set(e.tableId,e),e.parent=r,o.push({table:e,tableId:e.tableId,hasPositioned:!0,isSlideTable:!0,tableNode:s})}return o.push(...u.map(e=>({table:e,tableId:e.tableId,hasPositioned:!1,isSlideTable:!0,tableNode:s}))),!0}else return r.skeTables.set(f,p),p.parent=r,d.hasPositioned=!0,d!==o[o.length-1]}function Ri(e){let t=[];for(let n of e.divides)for(let e of n.glyphGroup)e.streamType===l.DataStreamTreeTokenType.CUSTOM_BLOCK&&t.push(e.drawingId);return t}function zi(e,t,n,r){var i;let a=(i=n.parent)==null?void 0:i.parent;if(t.length===0||a==null)return;let o=!1;for(let n of t){var s,c;let t=e.floatObjectsCache.get(n.id);if(t==null||t.page.segmentId!==a.segmentId)continue;let i=(s=t.page.sections[0])==null||(s=s.columns[0])==null||(s=s.lines[0])==null?void 0:s.paragraphIndex,l=(c=a.sections[0])==null||(c=c.columns[0])==null||(c=c.lines[0])==null?void 0:c.paragraphIndex;t.page&&i&&l&&i!==l&&(t.page.skeDrawings.delete(n.id),e.floatObjectsCache.delete(n.id),va([t.page],n=>{let{lineHeight:i,top:a}=n,s=n.parent;if(o||s==null)return;let{width:c,left:l}=s;if($r(t.floatObject,i,a,l,c)){var u;o=!0,e.isDirty=!0,e.layoutStartPointer[t.page.segmentId]=Math.min(n.paragraphIndex,(u=e.layoutStartPointer[t.page.segmentId])==null?1/0:u),e.paragraphsOpenNewPage.add(r)}}))}o=!1,va([a],r=>{let{lineHeight:i,top:s}=r,{width:c,left:l}=n;if(!o)for(let n of t.values()){let t=n;if(e.floatObjectsCache.has(n.id)){let r=e.floatObjectsCache.get(n.id),i=Bi(e,n);if((r==null?void 0:r.page.segmentId)!==a.segmentId)continue;if(i){var u;t=(u=r==null?void 0:r.floatObject)==null?n:u}else continue}if($r(t,i,s,l,c)){var d;o=!0,e.isDirty=!0,e.layoutStartPointer[a.segmentId]=Math.min(r.paragraphIndex,(d=e.layoutStartPointer[a.segmentId])==null?1/0:d);let t=e.floatObjectsCache.get(n.id);t==null&&(t={count:0,floatObject:n,page:a},e.floatObjectsCache.set(n.id,t)),t.count++,t.floatObject=n,t.page=a}}})}function Bi(e,t){let{relativeFrom:n}=t.positionV,r=e.floatObjectsCache.get(t.id);if(r==null)return!1;if(n===l.ObjectRelativeFromV.PARAGRAPH||n===l.ObjectRelativeFromV.LINE){let{count:e,floatObject:n}=r;if(e<5&&Math.abs(t.top-n.top)>5)return!0}return!1}function Vi(e,t,n,r,i,a,o=X.Normal,s){la(na(n))===!0?Hi(e,t,n,r,i,a,o,s):Ni(e,t,n,r,i,a,o,s)}function Hi(e,t,n,r,i,a,o=X.Normal,s){let c=na(n),{skeHeaders:l,skeFooters:u}=i;n.push(Va(e,r,{skeHeaders:l,skeFooters:u},(c==null?void 0:c.pageNumber)+1)),Vi(e,t,n,r,i,a,o,s)}function Ui(e,t,n,r,i,a=!1){let o=ua(e,i),s=ua(t,i),c=ua(n,i),l=ua(r,i),u=c,d=l;return o>0&&a&&(u+=o),s>0&&!a&&(u+=s),{paddingLeft:u,paddingRight:d}}function Wi(e,t=0,n,r,i,a){let o=ua(r,t);if(i){let e=ua(n,t);if(a){let{spaceBelowApply:t}=a;if(e<t){let n=Math.max(t,e);a.lineHeight+=n,Qr(a,n),e=0}}return{marginTop:e,spaceBelowApply:o}}return{marginTop:0,spaceBelowApply:o}}function Gi(e,t,n,r,i,a,o){let s=t,c=t;if(r===l.GridType.DEFAULT||o===l.BooleanNumber.FALSE)return a===l.SpacingRule.AUTO?{paddingTop:s,paddingBottom:c,contentHeight:i*e,lineSpacingApply:e}:{paddingTop:s,paddingBottom:c,contentHeight:Math.max(i,e),lineSpacingApply:i};let u=0;return u=a===l.SpacingRule.AUTO?i*n:i,e+t*2<u?s=c=(u-e)/2:u=e,{paddingTop:s,paddingBottom:c,contentHeight:e,lineSpacingApply:u}}function Ki(e,t,n){var r;let i=e.parent,a=e==null||(r=e.parent)==null||(r=r.parent)==null?void 0:r.parent;if(a==null||i==null)return;let o=Yi(i),s=new Map,{top:c,lineHeight:u,marginBottom:d=0}=e;for(let r of e.divides)for(let a of r.glyphGroup)if(a.streamType===l.DataStreamTreeTokenType.CUSTOM_BLOCK&&a.width!==0){let{drawingId:l}=a;if(l==null)continue;let f=t==null?void 0:t.get(l),p=f==null?void 0:f.drawingOrigin;if(p==null||f==null)continue;let{docTransform:m}=p,{size:h,angle:g}=m,{width:_=0,height:v=0}=h,y=a.bBox.bd+a.bBox.ba;f.aLeft=r.left+r.paddingLeft+a.left+.5*a.width-.5*_||0,f.aTop=c+u-.5*y-.5*v-d,f.width=_,f.height=v,f.angle=g,f.isPageBreak=o,f.lineTop=c,f.columnLeft=i.left,f.blockAnchorTop=n==null?c:n,f.lineHeight=e.lineHeight,s.set(f.drawingId,f)}a.skeDrawings=new Map([...a.skeDrawings,...s])}function qi(e,t,n,r,i,a=[]){var o;let s=(o=n.parent)==null?void 0:o.parent;if(s==null||a.length===0)return;let c=new Map,l=Yi(n);if(!(l&&!r)){for(let r of a){var u,d;let{drawingOrigin:a}=r;if(!a)continue;let{docTransform:o}=a,{positionH:f,positionV:p,size:m,angle:h}=o,{width:g=0,height:_=0}=m;r.aLeft=(u=ba(f,n,s,g,l))==null?0:u,r.aTop=(d=xa(p,s,e,t,_,i,l))==null?0:d,r.width=g,r.height=_,r.angle=h,r.initialState=!0,r.columnLeft=n.left,r.lineTop=e,r.lineHeight=t,r.isPageBreak=l,r.blockAnchorTop=i==null?e:i,c.set(r.drawingId,r)}return c}}function Ji(e,t){var n;let r=(n=e.parent)==null?void 0:n.parent;if(!(t==null||t.size===0||r==null))for(let e of t.values()){let t=r.skeDrawings.get(e.drawingId);if(t)if(t.drawingOrigin.layoutType===l.PositionedObjectLayoutType.WRAP_TOP_AND_BOTTOM){let n=t.aTop>e.aTop?t:e;r.skeDrawings.set(e.drawingId,n)}else r.skeDrawings.set(e.drawingId,e);else r.skeDrawings.set(e.drawingId,e)}}function Yi(e){let t=e.parent;if(!t)return!1;let n=t==null?void 0:t.columns;if(!n)return!1;let r=n.length;for(let e=r-1;e>=0;e--){let t=n[e].lines,r=t.length;if(!(r<=0)){for(let e=r-1;e>=0;e--)if(t[e].paragraphStart)return!1}}return!0}function Xi(e){let t=e.length,n=0;for(let r=0;r<t;r++){let t=e[r];n+=t.width}return n}function Zi(e){let t=e.length,n=-1/0,r;for(let i=0;i<t;i++){let{ba:t,bd:a}=e[i].bBox;n<t+a&&(r={boundingBoxAscent:t,boundingBoxDescent:a}),n=t+a}return r}function Qi({divides:e}){return e.flatMap(e=>e.glyphGroup)}function $i(e){return!e.divides[0].glyphGroup[0]}function ea(e){return e.type===l.CustomDecorationType.COMMENT?{bbl:{s:l.BooleanNumber.TRUE,cl:{rgb:`#fcdf7e`},c:l.BooleanNumber.FALSE},...e.active?{bg:{rgb:`#faedc2`}}:null}:null}function ta(e){if(e.rangeType===l.CustomRangeType.HYPERLINK||e.rangeType===l.CustomRangeType.MENTION||e.rangeType===l.CustomRangeType.CUSTOM){var t;return{...(t=e.active)==null||t?{ul:{s:l.BooleanNumber.TRUE}}:null,cl:{rgb:`#274fee`}}}return null}function na(e){return e[e.length-1]}function ra(e){var t;return(t=e.sections)==null?void 0:t[e.sections.length-1]}function ia(e){let t=ra(e).columns;return t==null?void 0:t[t.length-1]}function aa(e){var t;let n=(t=sa(e))==null?void 0:t.column.lines;return n==null?void 0:n[n.length-1]}function oa(e){return e.lines[e.lines.length-1]}function sa(e){let t=ra(e);for(let e=0;e<t.columns.length;e++){let n=t.columns[e];if(!n.isFull)return{column:n,isLast:e===t.columns.length-1,index:e}}}function ca(e){let t=aa(e);if(t)for(let e=0;e<t.divides.length;e++){let n=t.divides[e];if(!n.isFull)return{divide:n,isLast:e===t.divides.length-1,index:e}}}function la(e){let t=ra(e),n=t.columns.length;for(let e=0;e<n;e++)if(!t.columns[e].isFull)return!1;return!0}function ua(e,t){if(!e)return 0;let{v:n,u:r}=e;return!r||r===l.NumberUnitType.PIXEL?n:n*t}function da(e=0,t,n=l.GridType.LINES,r=l.BooleanNumber.TRUE){let i=1;return fa(n,r)&&(i=e),i*=t,i}function fa(e=l.GridType.LINES,t=l.BooleanNumber.FALSE){return t===l.BooleanNumber.TRUE&&(e===l.GridType.LINES_AND_CHARS||e===l.GridType.SNAP_TO_CHARS)}function pa(e,t){let{paragraphStyle:n={}}=t,{linePitch:r=15.6,gridType:i=l.GridType.LINES,paragraphLineGapDefault:a=0}=e,{lineSpacing:o=0,spacingRule:s=l.SpacingRule.AUTO,snapToGrid:c=l.BooleanNumber.TRUE}=n,u=o;return(i===l.GridType.LINES||i===l.GridType.LINES_AND_CHARS)&&o===0&&s===l.SpacingRule.AUTO&&(u=1),{paragraphLineGapDefault:a,linePitch:r,gridType:i,lineSpacing:u,spacingRule:s,snapToGrid:c}}function ma(e,t){let{paragraphStyle:n={}}=t,{charSpace:r=0,gridType:i=l.GridType.LINES,defaultTabStop:a=36,documentTextStyle:o={}}=e,{fs:s=14}=o,{snapToGrid:c=l.BooleanNumber.TRUE}=n;return{charSpace:r,documentFontSize:s,defaultTabStop:a,gridType:i,snapToGrid:c}}function ha(e,t=-1){let n=t;for(let t of e){let{sections:e,skeTables:r}=t,i=n,a=i,o=-1/0,s=0;for(let t of e){let{columns:e}=t,n=a,i=n,c=-1/0,l=0;for(let t of e){let{lines:e}=t,n=i,a=n,o=0,s=-1/0;for(let t of e){let{divides:e,lineHeight:n,top:i,isBehindTable:c,tableId:l}=t,u=a;if(c&&l){let e=r.get(l);e&&(u=e.ed)}let d=u,f=0,p=0,m=0;o=i+n;let h=e.length,g=!1;for(let t=0;t<h;t++){let n=e[t],{glyphGroup:r}=n,i=d,a=i;for(let e of r){let n=e.glyphType===pt.LIST?0:e.count;a+=n;let{ba:r,bd:i}=e.bBox;p=Math.max(p,r),m=Math.max(m,i),t===h-1&&(f+=e.width)}r.length!==0&&(g=!0,r[0].xOffset!==0&&t===h-1&&(f-=r[0].xOffset),t===h-1&&(f+=n.left),n.st=i+1,n.ed=a>=n.st?a:n.st,d=n.ed)}t.st=g?u+1:u,t.ed=d>=t.st?d:t.st,t.width=f,t.asc=p,t.dsc=m,s=Math.max(s,f),a=t.ed}t.st=n+1,t.ed=a>=t.st?a:t.st,t.height=o,t.width=s,l+=s,c=Math.max(c,t.height),i=t.ed}t.st=n+1,t.ed=i>=t.st?i:t.st,t.height=c,s+=c,o=Math.max(o,l),a=t.ed}for(let e of r.values()){let{ed:t}=e;a=Math.max(a,t)}t.st=i+1,t.ed=a>=t.st?a:t.st,t.height=s,t.width=o,n=t.ed}}function ga(e,t){va(t,(t,n,r,i)=>{var a,o;let{segmentId:s}=i,c=(a=e.paragraphConfigCache.get(s))==null?void 0:a.get(t.paragraphIndex),u=c==null?void 0:c.paragraphInlineSkeDrawings,d=(o=e.skeletonResourceReference)==null||(o=o.drawingAnchor)==null||(o=o.get(s))==null?void 0:o.get(t.paragraphIndex);u&&u.size>0&&Ki(t,u,d==null?void 0:d.top);let f=c==null?void 0:c.paragraphStyle;if(t.divides.length>0){let e=t.divides[t.divides.length-1],n=e.glyphGroup[e.glyphGroup.length-1];(n==null?void 0:n.streamType)===l.DataStreamTreeTokenType.PARAGRAPH&&f!=null&&f.borderBottom&&(t.borderBottom=f.borderBottom)}})}function _a(e,t){for(let n of e){let{sections:e}=n;for(let r of e){let{columns:e}=r;for(let i of e){let{lines:e}=i;for(let a of e){let{divides:e}=a,o=e.length;for(let s=0;s<o;s++){let o=e[s],{glyphGroup:c}=o;for(let e of c)t&&ae(t)&&t(e,o,a,i,r,n)}}}}}}function va(e,t){for(let n of e){let{sections:e}=n;for(let r of e){let{columns:e}=r;for(let i of e){let{lines:e}=i;for(let a of e)t&&ae(t)&&t(a,i,r,n)}}}}function ya(e,t){for(let n of e){let{sections:e}=n;for(let n of e){let{columns:e}=n;for(let n of e)t&&ae(t)&&t(n)}}}function ba(e,t,n,r,i=!1){let{relativeFrom:a,align:o,posOffset:s,percent:c}=e;if(o!=null)if(o===l.AlignTypeH.INSIDE||o===l.AlignTypeH.OUTSIDE)a===l.ObjectRelativeFromH.MARGIN||l.ObjectRelativeFromH.PAGE;else{if(a===l.ObjectRelativeFromH.COLUMN){let{width:e,left:n}=t,i=0;return o===l.AlignTypeH.LEFT?i=n:o===l.AlignTypeH.RIGHT?i=n+e-r:o===l.AlignTypeH.CENTER&&(i=n+e/2-r/2),i}if(a!==l.ObjectRelativeFromH.LEFT_MARGIN&&a!==l.ObjectRelativeFromH.MARGIN&&a!==l.ObjectRelativeFromH.RIGHT_MARGIN&&a!==l.ObjectRelativeFromH.INSIDE_MARGIN&&a!==l.ObjectRelativeFromH.OUTSIDE_MARGIN&&a===l.ObjectRelativeFromH.PAGE){let{pageWidth:e}=n,t=0;return o===l.AlignTypeH.RIGHT?t=e-r:o===l.AlignTypeH.CENTER&&(t=e/2-r/2),t}}else if(s){let{pageWidth:e,marginLeft:o,marginRight:c}=n,u=e-c,d=0;return a===l.ObjectRelativeFromH.COLUMN?d=(i?0:(t==null?void 0:t.left)||0)+s:a===l.ObjectRelativeFromH.LEFT_MARGIN||(a===l.ObjectRelativeFromH.MARGIN?d=s+o:a===l.ObjectRelativeFromH.RIGHT_MARGIN||a===l.ObjectRelativeFromH.INSIDE_MARGIN||a===l.ObjectRelativeFromH.OUTSIDE_MARGIN||a===l.ObjectRelativeFromH.PAGE&&(d=s)),d+r>u&&(d=u-r),d}else if(c){let{pageWidth:e,marginLeft:t,marginRight:r}=n;if(a!==l.ObjectRelativeFromH.LEFT_MARGIN&&a!==l.ObjectRelativeFromH.MARGIN&&a!==l.ObjectRelativeFromH.RIGHT_MARGIN&&a!==l.ObjectRelativeFromH.INSIDE_MARGIN&&a!==l.ObjectRelativeFromH.OUTSIDE_MARGIN&&a===l.ObjectRelativeFromH.PAGE)return c*e}}function xa(e,t,n,r,i,a,o=!1){let{relativeFrom:s,align:c,posOffset:u,percent:d}=e;if(c!=null){if(s===l.ObjectRelativeFromV.LINE){let e=0;return c===l.AlignTypeV.BOTTOM?e=n+r-i:c===l.AlignTypeV.TOP?e=n:c===l.AlignTypeV.CENTER&&(e=n+r/2-i/2),e}else if(s!==l.ObjectRelativeFromV.TOP_MARGIN&&s!==l.ObjectRelativeFromV.MARGIN&&s!==l.ObjectRelativeFromV.BOTTOM_MARGIN&&s!==l.ObjectRelativeFromV.INSIDE_MARGIN&&s!==l.ObjectRelativeFromV.OUTSIDE_MARGIN&&s===l.ObjectRelativeFromV.PAGE){let{pageHeight:e}=t,n=0;return c===l.AlignTypeV.BOTTOM?n=e-i:c===l.AlignTypeV.CENTER&&(n=e/2-i/2),n}}else if(u!=null){let e=0,{marginTop:r}=t;return s===l.ObjectRelativeFromV.LINE?e=(n||0)+u:s===l.ObjectRelativeFromV.TOP_MARGIN||(s===l.ObjectRelativeFromV.MARGIN?e=u:s===l.ObjectRelativeFromV.BOTTOM_MARGIN||s===l.ObjectRelativeFromV.INSIDE_MARGIN||s===l.ObjectRelativeFromV.OUTSIDE_MARGIN||(s===l.ObjectRelativeFromV.PAGE?e=u-r:s===l.ObjectRelativeFromV.PARAGRAPH&&(e=(o?0:a==null?n:a)+u))),e}else if(d!=null){let{pageHeight:e,marginBottom:n,marginTop:r}=t;if(s!==l.ObjectRelativeFromV.TOP_MARGIN&&s!==l.ObjectRelativeFromV.MARGIN&&s!==l.ObjectRelativeFromV.BOTTOM_MARGIN&&s!==l.ObjectRelativeFromV.INSIDE_MARGIN&&s!==l.ObjectRelativeFromV.OUTSIDE_MARGIN&&s===l.ObjectRelativeFromV.PAGE)return d*e}}function Sa(e){let t=0;for(let n of e.glyphGroup)t+=n.width;return t}const Ca=new l.ObjectMatrix;function wa(){Ca.reset()}function Ta(e,t,n){let{ts:r,fontStyle:i}=e,{gridType:a=l.GridType.LINES,charSpace:o=0,pageSize:s={width:1/0,height:1/0},marginRight:c=0,marginLeft:u=0}=t,{snapToGrid:d=l.BooleanNumber.TRUE}=n;return{fontStyle:i,textStyle:r,charSpace:o,gridType:a,snapToGrid:d,pageWidth:s.width||1/0-u-c}}function Ea(e,t){var n;let{listType:r}=e;return(n=t.getDataModel().getBulletPresetList()[r].nestingLevel[0].paragraphProperties)==null?void 0:n.textStyle}const Da={ts:{},st:0,ed:0};function Oa(e,t,n,r,i){let{gridType:a=l.GridType.LINES,charSpace:o=0,documentTextStyle:s={},pageSize:c={width:1/0,height:1/0},marginRight:u=0,marginLeft:d=0,renderConfig:f={}}=r,{paragraphStyle:p={},bullet:m}=i,{isRenderStyle:h}=f,{startIndex:g}=n,_=t.getTextRun(e+g),v=h===l.BooleanNumber.FALSE||_==null?Da:_,y=t.getCustomDecoration(e+g),b=y&&y.show!==!1,x=b?ea(y):null,S=t.getCustomRange(e+g),C=S&&S.show!==!1,w=C?ta(S):null,T=C||b||!!m||(p==null?void 0:p.namedStyleType),{st:E,ed:D}=v,{ts:O={}}=v,k=Ca.getValue(E,D);if(k&&!T&&_)return k;let{snapToGrid:A=l.BooleanNumber.TRUE,namedStyleType:j}=p,M=m?Ea(m,t):null,N=j?l.NAMED_STYLE_MAP[j]:null;O={...s,...N,...O,...x,...w,...M};let P={fontStyle:pe(O),textStyle:{...s,...O},charSpace:o,gridType:a,snapToGrid:A,pageWidth:c.width||1/0-d-u};return!T&&_&&Ca.setValue(E,D,P),P}function ka(){return{pages:[],left:0,top:0,st:0,skeHeaders:new Map,skeFooters:new Map,skeListLevel:new Map,drawingAnchor:new Map}}function Aa(e,t){for(let n of e)n.parent=t}let ja=function(e){return e.IMAGE=`IMAGE`,e.TABLE=`TABLE`,e}({});const Ma={columnProperties:[],columnSeparatorType:l.ColumnSeparatorType.NONE,sectionType:l.SectionType.SECTION_TYPE_UNSPECIFIED,startIndex:0},Na={width:1/0,height:1/0},Pa={pageNumberStart:1,pageSize:{width:et(595),height:1/0},marginTop:et(50),marginBottom:et(50),marginRight:et(50),marginLeft:et(50),renderConfig:{vertexAngle:0,centerAngle:0,background:{rgb:`#FFFFFF`}},defaultHeaderId:``,defaultFooterId:``,evenPageHeaderId:``,evenPageFooterId:``,firstPageHeaderId:``,firstPageFooterId:``,evenAndOddHeaders:l.BooleanNumber.FALSE,useFirstPageHeaderFooter:l.BooleanNumber.FALSE,marginHeader:0,marginFooter:0},Fa={columnProperties:[],columnSeparatorType:l.ColumnSeparatorType.NONE,sectionType:l.SectionType.SECTION_TYPE_UNSPECIFIED};function Ia(e,t){var n;let{viewModel:r,dataModel:i,docsConfig:a}=e,o=r.getChildren()[t],{documentStyle:s}=i,{documentFlavor:c}=s,u=r.getSectionBreak(o.endIndex)||Ma;c===l.DocumentFlavor.MODERN&&(u=Object.assign({},u,Fa),s=Object.assign({},s,Pa));let{pageNumberStart:d=1,pageSize:f=Na,pageOrient:p=l.PageOrientType.PORTRAIT,defaultHeaderId:m,defaultFooterId:h,evenPageHeaderId:g,evenPageFooterId:_,firstPageHeaderId:v,firstPageFooterId:y,useFirstPageHeaderFooter:b,evenAndOddHeaders:x,marginTop:S=0,marginBottom:C=0,marginRight:w=0,marginLeft:T=0,marginHeader:E=0,marginFooter:D=0,autoHyphenation:O=l.BooleanNumber.FALSE,doNotHyphenateCaps:k=l.BooleanNumber.FALSE,consecutiveHyphenLimit:A=1/0,hyphenationZone:j,renderConfig:M={horizontalAlign:l.HorizontalAlign.LEFT,verticalAlign:l.VerticalAlign.TOP,centerAngle:0,vertexAngle:0,wrapStrategy:l.WrapStrategy.UNSPECIFIED}}=s,{charSpace:N=0,linePitch:P=15.6,gridType:F=l.GridType.LINES,pageNumberStart:I=d,pageSize:L=f,pageOrient:R=p,marginTop:z=S,marginBottom:ee=C,marginRight:B=w,marginLeft:V=T,marginHeader:te=E,marginFooter:ne=D,defaultHeaderId:re=m,defaultFooterId:ie=h,evenPageHeaderId:ae=g,evenPageFooterId:oe=_,firstPageHeaderId:se=v,firstPageFooterId:ce=y,useFirstPageHeaderFooter:le=b,evenAndOddHeaders:ue=x,columnProperties:de=[],columnSeparatorType:fe=l.ColumnSeparatorType.NONE,contentDirection:H,sectionType:pe,textDirection:me,renderConfig:he=M}=u,ge=r.getChildren()[t+1],_e=(n=r.getSectionBreak(ge==null?void 0:ge.endIndex))==null?void 0:n.sectionType,ve={defaultHeaderId:re,evenPageHeaderId:ae,firstPageHeaderId:se},ye={defaultFooterId:ie,evenPageFooterId:oe,firstPageFooterId:ce};return L.width===null&&(L.width=1/0),L.height===null&&(L.height=1/0),{charSpace:N,linePitch:P,gridType:F,pageNumberStart:I,pageSize:L,pageOrient:R,marginTop:z,marginBottom:ee,marginRight:B,marginLeft:V,marginHeader:te,marginFooter:ne,headerIds:ve,footerIds:ye,useFirstPageHeaderFooter:le,evenAndOddHeaders:ue,columnProperties:de,columnSeparatorType:fe,contentDirection:H,sectionType:pe,sectionTypeNext:_e,textDirection:me,renderConfig:he,autoHyphenation:O,doNotHyphenateCaps:k,consecutiveHyphenLimit:A,hyphenationZone:j,...a}}function La(e){var t;e.isDirty=!1,(t=e.skeleton.drawingAnchor)==null||t.clear()}function Ra(e,t,n){let r=(e,t,i)=>i===`v`?typeof t==`number`&&typeof e==`number`?n===`max`?Math.max(t,e):Math.min(t,e):t==null?e:t:typeof t==`object`?(0,l.mergeWith)(e,t,r):t==null?e:t;return(0,l.mergeWith)(e,t,r)}function za(e,t){let n=[...t],r=null;for(;n.length>0;){let t=n.shift();if(t===`pages`){let t=n.shift();r=e.pages[t]}else if(t===`skeTables`){var i;let e=n.shift();n.shift();let t=n.shift();n.shift();let a=n.shift();r=(i=r.skeTables)==null||(i=i.get(e))==null||(i=i.rows[t])==null?void 0:i.cells[a]}}return r}function Ba(e){return(e-100)/2}function Va(e,t,n,r=1,i=dt.SECTION){let a=Ha(),{pageNumberStart:o=1,pageSize:s={width:1/0,height:1/0},pageOrient:c=l.PageOrientType.PORTRAIT,headerIds:u={},footerIds:d={},useFirstPageHeaderFooter:f,evenAndOddHeaders:p,footerTreeMap:m,headerTreeMap:h,columnProperties:g=[],columnSeparatorType:_,marginTop:v=0,marginBottom:y=0,marginHeader:b=0,marginFooter:x=0,marginLeft:S=0,marginRight:C=0,renderConfig:w={}}=t,{skeHeaders:T,skeFooters:E}=n,{width:D=1/0,height:O=1/0}=s;a.pageNumber=r,a.pageNumberStart=o,a.renderConfig=w,a.marginLeft=S,a.marginRight=C,a.breakType=i,a.pageWidth=D,a.width=0,a.pageHeight=O,a.height=0,a.pageOrient=c;let{defaultHeaderId:k,evenPageHeaderId:A,firstPageHeaderId:j}=u,{defaultFooterId:M,evenPageFooterId:N,firstPageFooterId:P}=d,F=k==null?``:k,I=M==null?``:M;r===o&&f===l.BooleanNumber.TRUE?(F=j==null?``:j,I=P==null?``:P):r%2==0&&p===l.BooleanNumber.TRUE&&(F=A==null?``:A,I=N==null?``:N);let L,R;if(F){var z;if((z=T.get(F))!=null&&z.has(D)){var ee;L=(ee=T.get(F))==null?void 0:ee.get(D)}else h&&h.has(F)&&(L=Ua(e,h.get(F),t,n,F,!0),T.set(F,new Map([[D,L]])));a.headerId=F}if(I){var B;if((B=E.get(I))!=null&&B.has(D)){var V;R=(V=E.get(I))==null?void 0:V.get(D)}else m&&m.has(I)&&(R=Ua(e,m.get(I),t,n,I,!1),E.set(I,new Map([[D,R]])));a.footerId=I}a.originMarginTop=v,a.originMarginBottom=y,a.marginTop=Ka(v,L,O),a.marginBottom=Ka(y,R,O);let te=a.sections,ne=te[te.length-1],{marginTop:re,marginBottom:ie,marginLeft:ae,marginRight:oe}=a,se=D-ae-oe,ce=O-re-ie,le=0;ne&&(le=ne.top+ne.height);let ue=di(g,_,le,0,se,ce-le);return ue.parent=a,te.push(ue),a}function Ha(e=G.BODY,t=``){return{sections:[],headerId:``,footerId:``,pageWidth:0,pageHeight:0,pageOrient:l.PageOrientType.PORTRAIT,pageNumber:1,pageNumberStart:1,verticalAlign:!1,angle:0,width:0,height:0,left:0,marginLeft:0,marginRight:0,originMarginTop:0,marginTop:0,originMarginBottom:0,marginBottom:0,breakType:dt.SECTION,st:0,ed:0,skeDrawings:new Map,skeTables:new Map,type:e,segmentId:t}}function Ua(e,t,n,r,i,a=!0,o,s=0){let{lists:c,footerTreeMap:l,headerTreeMap:u,localeService:d,pageSize:f,drawings:p,marginLeft:m=0,marginRight:h=0,marginHeader:g=0,marginFooter:_=0}=n,v=(f==null?void 0:f.width)||1/0,y=(f==null?void 0:f.height)||1/0,b={lists:c,footerTreeMap:l,headerTreeMap:u,pageSize:{width:v-m-h,height:Ba(y)-(a?g:_)-5},localeService:d,drawings:p};o==null&&(o=Va(e,b,r),o.type=a?G.HEADER:G.FOOTER,o.segmentId=i);let x=e.layoutStartPointer[i];e.layoutStartPointer[i]=null;let S=us(e,t,t.getChildren()[0],o,b,x).pages[0];return e.isDirty&&s<10?(s++,La(e),Ua(e,t,n,r,i,a,o,s)):(ha([S]),a?Object.assign(S,{marginTop:g,marginBottom:5}):Object.assign(S,{marginTop:5,marginBottom:_}),S)}function Wa(e,t,n,r,i,a=1/0,o=1/0){var s,c;let{lists:l,footerTreeMap:u,headerTreeMap:d,localeService:f,drawings:p}=t,{skeletonResourceReference:m}=e,{cellMargin:h,tableRows:g,tableColumns:_,tableId:v}=n,{start:y={v:10},end:b={v:10},top:x={v:5},bottom:S={v:5}}=(s=(c=g[r].tableCells[i].margin)==null?h:c)==null?{}:s,C=_[i].size.width.v,w=o,T={lists:l,footerTreeMap:u,headerTreeMap:d,pageSize:{width:C,height:w},marginTop:x.v,marginBottom:S.v,marginLeft:y.v,marginRight:b.v,localeService:f,drawings:p},E=Va(e,Object.assign({},T,{pageSize:{width:C,height:Number.isFinite(a)?a:w}}),m);return E.type=G.CELL,E.segmentId=v,{page:E,sectionBreakConfig:T}}function Ga(e,t,n,r,i,a,o,s=1/0,c=1/0){let l=n.children[0],{page:u,sectionBreakConfig:d}=Wa(e,r,i,a,o,s,c),{pages:f}=us(e,t,l,u,d);for(let e of f)e.type=G.CELL,e.segmentId=i.tableId;return ha(f,n.startIndex),ga(e,f),f}function Ka(e,t,n){if(!t||t.sections[0].columns[0].lines.length===0)return e;let r=t.height+t.marginTop+t.marginBottom,i=Ba(n);return Math.min(i,Math.max(e,r))}function qa(){return[]}function Ja(e){return e.length>0&&!/\s|(?![\'])[\!-\@\[-\`\{-\~\u2013-\u203C]/.test(e)}function Ya(e){let t=``;for(let n=0;n<e.length&&Ja(e[n]);n++)t+=e[n];return t}function Xa(e,t,n){let r=e;for(let e=0;e<=n;e++)r+=t[e].length;return r}function Za(e){switch(e){case`–`:case`—`:return .2;case`.`:case`,`:return .8;case`:`:case`;`:return .3;case`،`:case`۔`:return .4;default:return 0}}function Qa(e){let{glyphGroup:t}=e,n=0;for(let e of t){let[t,r]=e.adjustability.shrinkability;n+=t+r}return n}function $a(e){let{glyphGroup:t}=e,n=0;for(let e of t){let[t,r]=e.adjustability.stretchability;n+=t+r}return n}function eo(e){let t=e.glyphGroup.filter(e=>e.isJustifiable).length,n=e.glyphGroup[e.glyphGroup.length-1];return _e(n.content)?t-1:t}function to(e,t,n){for(let r of e.glyphGroup){let e=t<0?r.adjustability.shrinkability[0]:r.adjustability.stretchability[0],i=t<0?r.adjustability.shrinkability[1]:r.adjustability.stretchability[1],a=e*t,o=i*t;r.isJustifiable&&(o+=n),r.width+=a+o,r.xOffset+=a}zr(e.glyphGroup)}function no(e,t){let{divides:n}=e;for(let e=0;e<n.length;e++){let r=n[e],{width:i}=r,a=Sa(r);if(i!==1/0){if(r.isFull){let e=i-a;if(r.glyphGroup.length>1){let t=r.glyphGroup[r.glyphGroup.length-1],n=Za(t.content)*t.width;e+=n}let n=0,o=0,s=Qa(r),c=$a(r);if(e<0&&s>0)n=Math.max(e/s,-1),e=Math.min(e+s,0);else if(t===l.HorizontalAlign.JUSTIFIED){c>0&&(n=Math.min(e/c,1),e=Math.max(e-c,0));let t=eo(r);t>0&&e>0&&(o=e/t,e=0)}(n!==0||o!==0)&&(to(r,n,o),a=Sa(r))}t===l.HorizontalAlign.CENTER?r.paddingLeft=(i-a)/2:t===l.HorizontalAlign.RIGHT&&(r.paddingLeft=i-a),r.paddingLeft=Math.max(r.paddingLeft,0)}}}function ro(e){for(let t of e.divides){let e=t.glyphGroup[t.glyphGroup.length-1];if(e&&t.isFull&&he(e.content)&&e.width-e.xOffset>e.bBox.width){let t=e.width-e.xOffset-e.bBox.width;e.width-=t,e.adjustability.shrinkability[1]=0}}}function io(e){for(let t of e.divides){let e=t.glyphGroup.length;if(e<2)continue;let n=t.glyphGroup[0],r=t.glyphGroup[e-1];if(Ne(n.content)){let e=n.adjustability.shrinkability[0];Ur(n,e)}if(Me(r.content)){let e=r.adjustability.shrinkability[1];Hr(r,e)}zr(t.glyphGroup)}}function ao(e,t,n,r,i){for(let t of e.divides){let{glyphGroup:e,breakType:n}=t,a=e[e.length-1];if(a&&Ja(a.content)&&n===X.Hyphen){let e=Fr(Ta(a,r,i));e.parent=a.parent,e.left=a.left+a.width,t.glyphGroup.push(e),t.width-=e.width}}}function oo(e,t,n,r){let{endIndex:i}=n,a=t.getParagraph(i)||{startIndex:0};va(e,e=>{if(e.paragraphIndex!==a.startIndex)return;let{paragraphStyle:i={}}=a,{horizontalAlign:o=l.HorizontalAlign.UNSPECIFIED}=i;io(e),ro(e),ao(e,t,n,r,i),no(e,o)})}function so(e,t,n){return co(e,t,n)}function co(e,t,n){return n===l.ListGlyphType.DECIMAL?lo(e,t):n===l.ListGlyphType.DECIMAL_ZERO?uo(e,t):n===l.ListGlyphType.UPPER_LETTER?fo(e,t):n===l.ListGlyphType.LOWER_LETTER?po(e,t):n===l.ListGlyphType.UPPER_ROMAN?mo(e,t):n===l.ListGlyphType.LOWER_ROMAN?ho(e,t):lo(e,t)}function lo(e,t){return(e+t).toString()}function uo(e,t){let n=e+t;return n<10?`0${n}`:n.toString()}function fo(e,t){return(0,l.numberToListABC)(e+t-1,!0)}function po(e,t){return(0,l.numberToListABC)(e+t-1,!1)}function mo(e,t){return go(e+t,!0)}function ho(e,t){return go(e+t,!1)}function go(e,t=!1){let n={M:1e3,CM:900,D:500,CD:400,C:100,XC:90,L:50,XL:40,X:10,IX:9,V:5,IV:4,I:1},r={m:1e3,cm:900,d:500,cd:400,c:100,xc:90,l:50,xl:40,x:10,ix:9,v:5,iv:4,i:1};t&&(r=n);let i=``;for(let t in r)for(;e>=r[t];)i+=t,e-=r[t];return i}function _o(e,t,n,r){if(!e||!t)return;let{listId:i,listType:a,nestingLevel:o=0,textStyle:s}=e,c=t[a];if(!c||!c.nestingLevel){var l;return vo(i,n==null||(l=n[o])==null?void 0:l.startIndexItem)}if(!c.nestingLevel[o]){var u;return vo(i,n==null||(u=n[o])==null?void 0:u.startIndexItem)}return yo(i,o,c.nestingLevel,n,s,r)}function vo(e,t=1){return{listId:e,symbol:`●`,ts:{ff:`Arial`,fs:9},startIndexItem:t,paragraphProperties:{indentFirstLine:{v:0},hanging:{v:21},indentStart:{v:0}}}}function yo(e,t,n,r,i,a){var o,s;let c=n[t],{bulletAlignment:l,glyphFormat:u,textStyle:d={},glyphType:f,glyphSymbol:p}=c,m={...i,...d},h=pe(m),g;g=p||bo(u,t,n,r);let _=(o=r==null||(s=r[t])==null?void 0:s.startIndexItem)==null?1:o;return{listId:e,symbol:g,ts:m,fontStyle:h,startIndexItem:_+1,nestingLevel:c,bulletAlign:l,bulletType:p?!1:!!f,paragraphProperties:c.paragraphProperties}}function bo(e,t,n,r){let i=e.split(`%`),a=[i[0]];for(let e=1;e<i.length;e++){var o;let s=i[e],{level:c,suffix:l}=So(s),u=(r==null||(o=r[c])==null?void 0:o.startIndexItem)||1;c!==t&&(r==null?void 0:r[c])!==null&&--u;let d=xo(u,n[c]);a.push(d,l)}return a.join(``)}function xo(e=1,t){let{startNumber:n,glyphType:r,glyphSymbol:i}=t;return i||(r?so(e,n,r):`●`)}function So(e){if(e===``)return{level:0,suffix:``};let t=e.split(``),n=``,r=``,i=!1,a=/[0-9]/g;return t.forEach(e=>{!i&&a.test(`${n}${e}`)?n+=e:(i=!0,r+=e)}),{level:Number.parseInt(n)-1,suffix:r}}function Co(e,t){if(!e||!t)return;let{listId:n,nestingLevel:r}=e,i=t==null?void 0:t.get(n),a=r;a<0&&(a=0);let o=[];for(let e=a;e>=0;e--)if(Array.isArray(i==null?void 0:i[e])){var s,c;let t=i[e].length;o[e]=(s=(c=i[e][t-1])==null?void 0:c.bullet)==null?null:s}else o[e]=null;return o}function wo(e,t,n,r){if(!t||!n)return;let{listId:i,nestingLevel:a}=t,o=[...(r==null?void 0:r.get(i))||[]];o[a]==null&&(o[a]=[]),o[a].push({bullet:n,paragraph:e}),o.splice(a+1),r==null||r.set(i,o)}function To(e){let{drawingId:t}=e;return{drawingId:t,aLeft:0,aTop:0,width:0,height:0,angle:0,initialState:!1,drawingOrigin:e,columnLeft:0,lineHeight:0,lineTop:0,blockAnchorTop:0,isPageBreak:!1}}function Eo(e){return e.pageNumber+1}function Do(e,t,n,r,i,a,o){let{skeletonResourceReference:s}=e,{lists:c,drawings:u={},localeService:d}=a,{endIndex:f,blocks:p=[],children:m}=i,{segmentId:h}=r,g=t.getParagraph(f)||{startIndex:0},{paragraphStyle:_={},bullet:v}=g,{skeHeaders:y,skeFooters:b,skeListLevel:x,drawingAnchor:S}=s,C=new Map,w=new Map,T=S==null?void 0:S.get(h);T==null&&(T=new Map,S==null||S.set(h,T));let E={paragraphIndex:f,paragraphStyle:l.Tools.deepClone(_),paragraphNonInlineSkeDrawings:C,paragraphInlineSkeDrawings:w,skeTablesInParagraph:o?[{tableId:o.tableId,table:o,hasPositioned:!1,isSlideTable:!1,tableNode:m[0]}]:void 0,skeHeaders:y,skeFooters:b,pDrawingAnchor:T},D=e.paragraphConfigCache.get(h);if(D==null&&(D=new Map,e.paragraphConfigCache.set(h,D)),D.has(f)){var O;E.bulletSkeleton=(O=D.get(f))==null?void 0:O.bulletSkeleton}else{let e=_o(v,c,Co(v,x),d);wo(g,v,e,x),E.bulletSkeleton=e}for(let e=0,n=p.length;e<n;e++){let n=p[e],r=t.getCustomBlock(n);if(r==null)continue;let{blockId:i}=r,a=u[i];a.layoutType===l.PositionedObjectLayoutType.INLINE?w.set(i,To(a)):C.set(i,To(a))}D.set(f,E);let k=[r],A=!0;for(let[t,{text:r,glyphs:i,breakPointType:o}]of n.entries()){let t=()=>{i.length!==0&&(k=Di(e,i,k,a,E,A,o),A=!1)};if(r.endsWith(l.DataStreamTreeTokenType.PAGE_BREAK)){t(),k.push(Va(e,a,s,Eo(k[k.length-1]),dt.PAGE)),C.clear(),w.clear();continue}else if(r.endsWith(l.DataStreamTreeTokenType.COLUMN_BREAK)){t();let n=k[k.length-1],r=sa(n);r&&!r.isLast?fi(r.column,!0):k.push(Va(e,a,s,Eo(n),dt.COLUMN));continue}t()}return k}let Z=function(e){return e.Af=`af`,e.As=`as`,e.Be=`be`,e.Bg=`bg`,e.Bn=`bn`,e.Ca=`ca`,e.Cop=`cop`,e.Cs=`cs`,e.Cu=`cu`,e.Cy=`cy`,e.Da=`da`,e.De1901=`de-1901`,e.De1996=`de-1996`,e.DeCh1901=`de-ch-1901`,e.ElMonoton=`el-monoton`,e.ElPolyton=`el-polyton`,e.EnGb=`en-gb`,e.EnUs=`en-us`,e.Es=`es`,e.Et=`et`,e.Eu=`eu`,e.Fi=`fi`,e.Fr=`fr`,e.Fur=`fur`,e.Ga=`ga`,e.Gl=`gl`,e.Grc=`grc`,e.Gu=`gu`,e.Hi=`hi`,e.Hr=`hr`,e.Hsb=`hsb`,e.Hu=`hu`,e.Hy=`hy`,e.Ia=`ia`,e.Id=`id`,e.Is=`is`,e.It=`it`,e.Ka=`ka`,e.Kmr=`kmr`,e.Kn=`kn`,e.LaXClassic=`la-x-classic`,e.LaXLiturgic=`la-x-liturgic`,e.La=`la`,e.Lt=`lt`,e.Lv=`lv`,e.Ml=`ml`,e.MnCyrlXLmc=`mn-cyrl-x-lmc`,e.MnCyrl=`mn-cyrl`,e.Mr=`mr`,e.MulEthi=`mul-ethi`,e.Nb=`nb`,e.Nl=`nl`,e.Nn=`nn`,e.No=`no`,e.Oc=`oc`,e.Or=`or`,e.Pa=`pa`,e.Pi=`pi`,e.Pl=`pl`,e.Pms=`pms`,e.Pt=`pt`,e.Rm=`rm`,e.Ro=`ro`,e.Ru=`ru`,e.Sa=`sa`,e.ShCyrl=`sh-cyrl`,e.ShLatn=`sh-latn`,e.Sk=`sk`,e.Sl=`sl`,e.SrCyrl=`sr-cyrl`,e.Sv=`sv`,e.Ta=`ta`,e.Te=`te`,e.Th=`th`,e.Tk=`tk`,e.Tr=`tr`,e.Uk=`uk`,e.ZhLatnPinyin=`zh-latn-pinyin`,e.UNKNOWN=`unknown`,e}({});function Oo(e){return e.length>0&&e===e.toUpperCase()}var ko=class{constructor(e,t,n,r=!1){this._lineBreaker=e,this._hyphen=t,this._lang=n,this._doNotHyphenateCaps=r,U(this,`_curBreak`,null),U(this,`_nextBreak`,new In(0)),U(this,`_isInWord`,!1),U(this,`_word`,``),U(this,`_hyphenIndex`,-1),U(this,`_hyphenSlice`,[]),U(this,`content`,``),this.content=e.content}nextBreakPoint(){if(!this._isInWord){if(this._curBreak=this._nextBreak,this._nextBreak=this._lineBreaker.nextBreakPoint(),this._nextBreak==null||this._curBreak==null)return null;let e=Ya(this.content.slice(this._curBreak.position,this._nextBreak.position));return e.length&&!(Oo(e)&&this._doNotHyphenateCaps)&&this._nextBreak.type!==X.Link?(this._isInWord=!0,this._word=e,this._hyphenSlice=this._hyphen.hyphenate(this._word,this._lang),this._hyphenIndex=0,this.nextBreakPoint()):this._nextBreak}else if(this._hyphenIndex<this._hyphenSlice.length-1){let e=Xa(this._curBreak.position,this._hyphenSlice,this._hyphenIndex);return this._hyphenIndex++,new In(e,X.Hyphen)}else return this._isInWord=!1,this._word=``,this._hyphenSlice=[],this._hyphenIndex=-1,this._nextBreak}},Ao=function(e){return e.Alphabetic=`Alphabetic`,e.Digit=`Digit`,e.Open=`Open`,e.Other=`Other`,e}(Ao||{});function jo(e){return/[a-z]/i.test(e)?Ao.Alphabetic:/[0-9]/.test(e)?Ao.Digit:e===`(`||e===`[`?Ao.Open:Ao.Other}function Mo(e){let t=[],n=0,r=Ao.Other;for(let i=0;i<e.length;i++){let a=e[i],o=jo(a);if(i>0&&r!==Ao.Open&&(o===Ao.Other?o===Ao.Other:o!==r)){let a=e.slice(n,i);if(a.length<16)t.push(a);else for(let e=0;e<a.length;e++)t.push(a[e]);n=i,r=o}}return t}const No=/[a-z\d!#$%&*+,-./:;=?@_~\\]/i,Po=/[!,.;:?']$/g;function Fo(e,t){let n=``;for(let r=t;r<e.length;r++){let t=e[r];if(No.test(t))n+=t;else break}return n.replace(Po,``),n}var Io=class{constructor(e){this._lineBreaker=e,U(this,`_curBreak`,null),U(this,`_nextBreak`,new In(0)),U(this,`_isInLink`,!1),U(this,`_link`,``),U(this,`_index`,-1),U(this,`_linkSlice`,[]),U(this,`content`,``),this.content=e.content}nextBreakPoint(){if(!this._isInLink){if(this._curBreak=this._nextBreak,this._nextBreak=this._lineBreaker.nextBreakPoint(),this._nextBreak==null||this._curBreak==null)return null;let e=this.content.slice(this._curBreak.position,this._nextBreak.position);if(e.length&&(e.endsWith(`://`)||e.startsWith(`www.`))){for(this._isInLink=!0,this._link=Fo(this.content,this._curBreak.position),this._linkSlice=Mo(this._link),this._index=0;this._nextBreak&&this._nextBreak.position<this._curBreak.position+this._link.length;)this._nextBreak=this._lineBreaker.nextBreakPoint();return this.nextBreakPoint()}else return this._nextBreak}else if(this._index<this._linkSlice.length-1){let e=Xa(this._curBreak.position,this._linkSlice,this._index);return this._index++,new In(e,X.Link)}else return this._isInLink=!1,this._link=``,this._linkSlice=[],this._index=-1,this._nextBreak}};function Lo(e){e.addRule(`break_before_and_after_slash_b`,(e,t)=>e===8||t===8)}function Ro(e){e.addRule(`break_before_tab`,e=>e===9)}var zo=function(e){return e[e.EQUAL=0]=`EQUAL`,e[e.GREATER=1]=`GREATER`,e[e.LESS=2]=`LESS`,e}(zo||{}),Bo=function(e){return e[e.Normal=0]=`Normal`,e[e.Italic=1]=`Italic`,e[e.Oblique=2]=`Oblique`,e}(Bo||{}),Vo=function(e){return e[e.THIN=100]=`THIN`,e[e.EXTRALIGHT=200]=`EXTRALIGHT`,e[e.LIGHT=300]=`LIGHT`,e[e.REGULAR=400]=`REGULAR`,e[e.MEDIUM=500]=`MEDIUM`,e[e.SEMIBOLD=600]=`SEMIBOLD`,e[e.BOLD=700]=`BOLD`,e[e.EXTRABOLD=800]=`EXTRABOLD`,e[e.BLACK=900]=`BLACK`,e}(Vo||{});function Ho(e){let{family:t,style:n}=e,r=Bo.Normal,i=Vo.REGULAR;switch(/italic/i.test(n)&&(r=Bo.Italic),!0){case/thin|hairline/i.test(n):i=Vo.THIN;break;case/(extra|ultra) *light/i.test(n):i=Vo.EXTRALIGHT;break;case/light/i.test(n):i=Vo.LIGHT;break;case/medium/i.test(n):i=Vo.MEDIUM;break;case/(semi|demi) *bold/i.test(n):i=Vo.SEMIBOLD;break;case/bold/i.test(n):i=Vo.BOLD;break;case/(extra|ultra) *bold/i.test(n):i=Vo.EXTRABOLD;break;case/black|heavy/i.test(n):i=Vo.BLACK;break}return{family:t,variant:{style:r,weight:i}}}function Uo(e){let{ff:t,bl:n=l.BooleanNumber.FALSE,it:r=l.BooleanNumber.FALSE}=e;return{family:t==null?`Arial`:t,variant:{style:r===l.BooleanNumber.TRUE?Bo.Italic:Bo.Normal,weight:n===l.BooleanNumber.TRUE?Vo.BOLD:Vo.REGULAR}}}function Wo(e,t){let n=1/0;n=e.variant.style===t.variant.style?0:e.variant.style!==Bo.Normal&&t.variant.style!==Bo.Normal?1:2;let r=Math.abs(e.variant.weight-t.variant.weight);return[n,r]}function Go(e,t){return e[0]===t[0]&&e[1]===t[1]?zo.EQUAL:e[0]===t[0]?e[1]>t[1]?zo.GREATER:zo.LESS:e[0]>t[0]?zo.GREATER:zo.LESS}async function Ko(){var e;if(typeof WorkerGlobalScope<`u`&&self instanceof WorkerGlobalScope||typeof window>`u`||window.navigator==null||((e=window.navigator)==null?void 0:e.permissions)==null)return!1;try{return(await window.navigator.permissions.query({name:`local-fonts`})).state===`granted`}catch{return!1}}const qo=new class{constructor(){U(this,`isReady`,!1),U(this,`_fontBook`,new Map),this._loadFontsToBook()}async _loadFontsToBook(){if(!this.isReady&&!(!await Ko()||!(`queryLocalFonts`in window))&&!(typeof navigator==`object`&&navigator.userAgent.includes(`Electron`)))try{let e=await window.queryLocalFonts({postscriptNames:[]});for(let t of e){let{family:e,style:n}=t,r=this._fontBook.get(e);r==null&&(r=new Map,this._fontBook.set(e,r));let i=await(await t.blob()).arrayBuffer();r.set(n,{font:t,buffer:i})}this.isReady=!0}catch(e){console.error(e)}}findBestMatchFontByStyle(e){let t=e.ff,n=this._fontBook.get(t);if(n==null)return;let r=null,i=[1/0,1/0];for(let t of n.values()){let{font:n}=t,a=Wo(Ho(n),Uo(e));(r==null||Go(i,a)===zo.GREATER)&&(r=t,i=a)}return r}getValidFontFamilies(e){return e.filter(e=>this._fontBook.has(e))}};function Jo(e,t){let{dataStream:n,paragraphs:r=[],textRuns:i=[]}=e,a=0;for(let e=0;e<r.length;e++){let{startIndex:n}=r[e];if(n===t)break;a=n+1}let o=[];for(let e of i){let{st:n,ed:r}=e;n>=a&&n<=t?o.push({...e,st:n-a,ed:Math.min(r,t)-a}):r>=a&&r<=t&&o.push({...e,st:Math.max(n,a)-a,ed:r-a})}return{dataStream:n.substring(a,t+1),textRuns:o}}function Yo(e){let{dataStream:t,textRuns:n=[]}=e,r=0,i=[];for(let e of n){let{st:n,ed:a,ts:o={}}=e;n!==r&&i.push({content:t.substring(r,n)}),i.push({content:t.substring(n,a),style:o}),r=a}return r!==t.length&&i.push({content:t.substring(r)}),i}const Xo=new Map,Zo=new Map;function Qo(e,t,n,r,i){var a,o,s;let c=0,u=r[c];for(;n.has(u);)c++,u=r[c];if(!u)return[{char:e,start:t,end:t+e.length,glyph:null,font:null,kerning:0,boundingBox:null}];n.add(u);let{font:d,buffer:p}=qo.findBestMatchFontByStyle({ff:u,bl:(a=i.bl)==null?l.BooleanNumber.FALSE:a,it:(o=i.it)==null?l.BooleanNumber.FALSE:o}),m=Xo.get(d.fullName);m||(m=(0,f.parse)(p),Xo.set(d.fullName,m));let h=[],g=m.stringToGlyphs(e),_=(s=e.match(/[\s\S]/gu))==null?[]:s,v=0,y=0;for(;v<g.length;){var b;let a=g[v];if(a.index!==0)h.push({char:_[v],start:y+t,end:y+t+_[v].length,glyph:a,font:m,kerning:0,boundingBox:a.getBoundingBox()});else{let a=y,o=Ee(e.substring(a));if(o&&De(o)){let s=0;do s+=_[v].length,y+=_[v].length,v++;while(s<o.length);h.push(...Qo(e.slice(a,a+o.length),t+a,n,r,i));continue}else{let o=g[v+1],s=_[v+1];for(;(o==null?void 0:o.index)===0&&!De(s);)y+=_[v].length,v++,o=g[v+1],s=_[v+1];h.push(...Qo(e.slice(a,y+_[v].length),t+a,n,r,i))}}y+=(b=_[v])==null?void 0:b.length,v++}return n.delete(u),h}function $o(e){if(e.length<2)return;let t=e[0].font,n=e[0].glyph;for(let r=1;r<e.length;r++){let{font:i,glyph:a}=e[r];if(t!==i||i==null||n==null||a==null){t=i,n=a;continue}let o=i.getKerningValue(n,a);o!==0&&(e[r].kerning=o),t=i,n=a}}function es(e){if(!qo.isReady)return[];let t=JSON.stringify(e);if(Zo.has(t))return Zo.get(t);let n=Yo(e),r=[],i=0;for(let e of n){var a;let{content:t,style:n={}}=e,o=y.split(`,`).map(e=>e.trim().replace(/["']/g,``));o.unshift((a=n.ff)==null?`Arial`:a),o=qo.getValidFontFamilies(o),r.push(...Qo(t,i,new Set,o,n)),i+=t.length}return $o(r),Zo.set(t,r),r}function ts(e,t,n,r,i,a){let o=[],s=0,c=t;for(;c.length;){var l;let u=(l=c.match(/^[\s\S]/gu))==null?void 0:l[0];if(u==null||je(u)||Oe(t.substring(s)))break;let d=Nr(u,Oa(e+s,n,r,i,a));o.push(d),c=c.substring(u.length),s+=u.length}return{step:s,glyphGroup:o}}function ns(e,t,n,r,i,a){let o=Oa(e,n,r,i,a),s=[],c=0;for(let e=0;e<t.length;e++){let n=t[e];if(ke(n))s.unshift(n),c++;else break}return{step:c,glyphGroup:[Nr(s.join(``),o)]}}function rs(e,t,n,r,i,a){let o=Oa(e,n,r,i,a),s=Ee(t)||t[0];return{step:s.length,glyphGroup:[Nr(s,o)]}}function is(e,t,n,r,i,a){let o=Oa(e,n,r,i,a),s=[],c=0;for(let e=0;e<t.length;e++){let n=t[e];if(Ae(n))s.push(n),c++;else break}return{step:c,glyphGroup:[Mr(s.join(``),o)]}}function as(e){let t=e.length;for(let n=0;n<t-1;n++){let t=e[n],r=e[n+1],{width:i,content:a}=t,o=i/2;if(ye(a)&&ye(r.content)&&t.adjustability.shrinkability[1]+r.adjustability.shrinkability[0]>=o){let e=Math.min(t.adjustability.shrinkability[1],o);Hr(t,e),Ur(r,o-e)}}}function os(e){let t=e.flatMap(e=>e.glyphs),n=null,r=t.length,i=/[a-z\d]/i;for(let e=0;e<r;e++){let a=t[e],o=e<r-1?t[e+1]:null,{width:s}=a;he(a.content)&&o&&i.test(o.content)&&(a.width+=s/4,a.adjustability.shrinkability[1]+=s/8),he(a.content)&&n&&i.test(n.content)&&(a.width+=s/4,a.xOffset+=s/4,a.adjustability.shrinkability[0]+=s/8),n=a}}function ss(e,t){let{suppressHyphenation:n=l.BooleanNumber.FALSE}=e,{autoHyphenation:r=l.BooleanNumber.FALSE}=t;return n===l.BooleanNumber.FALSE&&r===l.BooleanNumber.TRUE}function cs(e,t,n,r,i,a=!1){let{gridType:o=l.GridType.LINES,charSpace:s=0,defaultTabStop:c=10.5,drawings:u={}}=i,d=[],f=new gr(t),{endIndex:p}=r,m=n.getParagraph(p)||{startIndex:0},{paragraphStyle:h={}}=m,{snapToGrid:g=l.BooleanNumber.TRUE}=h,_=0,v,y=0,{hyphen:b,languageDetector:x}=e,S=Jo(n.getBody(),p),C=[];a&&(C=es(S)),Ro(f),Lo(f),f=new Io(f);let w=x.detect(t),T=ss(h,i),E=i.doNotHyphenateCaps===l.BooleanNumber.TRUE;for(w!==Z.UNKNOWN&&T&&(b.hasPattern(w)?f=new ko(f,b,w,E):b.loadPattern(w));v=f.nextBreakPoint();){let e=t.slice(_,v.position),f=[];if(qo.isReady&&a){let e=[],t=0;for(t=y;t<C.length;t++){let n=C[t],{end:r}=n;if(r>v.position)break;e.push(n)}y=t;for(let t of e){let{start:e,char:a}=t,u=Oa(e,n,r,i,m);if(a===l.DataStreamTreeTokenType.TAB){let e=Pr(u,da(s,c,o,g));f.push(e)}else if(Oe(a)){let e=Nr(a,u);f.push(e)}else{let e=Nr(a,u,void 0,t);f.push(e)}}}else{let t=e,a=_;for(;t.length>0;){var D;let e=(D=t.match(/^[\s\S]/gu))==null?void 0:D[0];if(e==null)break;if(e===l.DataStreamTreeTokenType.CUSTOM_BLOCK){let o=Oa(a,n,r,i,m),s=null,c=n.getCustomBlockWithoutSetCurrentIndex(r.startIndex+a);if(c!=null){let{blockId:e}=c,t=u[e];if(t.layoutType===l.PositionedObjectLayoutType.INLINE){let{angle:e}=t.docTransform,{width:n=0,height:r=0}=t.docTransform.size,i=ti(e,0,n,0,r);s=Ir(o,i.width,i.height,t.drawingId)}else s=Ir(o,0,0,t.drawingId)}s==null&&(s=Nr(e,o)),f.push(s),a+=e.length,t=t.substring(e.length)}else if(/\s/.test(e)||_e(e)){let u=Oa(a,n,r,i,m),d=null;if(e===l.DataStreamTreeTokenType.TAB)d=Pr(u,da(s,c,o,g));else if(e===l.DataStreamTreeTokenType.PARAGRAPH){var O;d=((O=i.renderConfig)==null?void 0:O.zeroWidthParagraphBreak)===l.BooleanNumber.TRUE?Nr(e,u,0):Nr(e,u)}else d=Nr(e,u);f.push(d),a+=e.length,t=t.substring(e.length)}else if(Oe(t)){let{step:e,glyphGroup:o}=rs(a,t,n,r,i,m);f.push(...o),a+=e,t=t.substring(e)}else if(ke(e)){let{step:e,glyphGroup:o}=ns(a,t,n,r,i,m);f.push(...o),a+=e,t=t.substring(e)}else if(Ae(e)){let{step:e,glyphGroup:o}=is(a,t,n,r,i,m);f.push(...o),a+=e,t=t.substring(e)}else{let{step:e,glyphGroup:o}=ts(a,t,n,r,i,m);f.push(...o),a+=e,t=t.substring(e)}}}as(f);let p=[[]];for(let e=0;e<f.length;e++){let t=p[p.length-1],n=f[e];n.streamType===l.DataStreamTreeTokenType.CUSTOM_BLOCK&&n.width!==0?(t.length===0&&p.pop(),p.push([n])):t.push(n)}let h=p[p.length-1];for(let e of p){let t=e.map(e=>e.content).join(``);d.push({text:t,glyphs:e,breakPointType:e===h?v.type:X.Normal})}_=v.position}return os(d),d}function ls(e,t,n,r,i){wa();let{content:a=``,children:o}=n,s=null;o.length===1&&o[0].nodeType===l.DataStreamTreeNodeType.TABLE&&(s=mi(e,r,t,o[0],i));let c=Do(e,t,cs(e,a,t,n,i),r,n,i,s);return oo(c,t,n,i),c}function us(e,t,n,r,i,a){let o=[],s=new Map,c=0;if(a!=null){let{startIndex:e,endIndex:t}=n;if(a>=e&&a<=t){for(let e=0;e<n.children.length;e++)if(n.children[e].endIndex===a){c=e;break}}}for(let a=c;a<n.children.length;a++){let s=n.children[a],c=[],u=r;if(o.length>0&&(u=o[o.length-1]),s.nodeType===l.DataStreamTreeNodeType.PARAGRAPH&&(e.paragraphsOpenNewPage.has(s.endIndex)&&(u=Va(e,i,e.skeletonResourceReference,u.pageNumber+1)),c=ls(e,t,s,u,i)),c.length===0&&(c=qa()),fs(o,c),e.isDirty)break}let{segmentId:u}=r;return e.isDirty&&e.layoutStartPointer[u]!=null&&ds(e.layoutStartPointer[u],o),{pages:o,renderedBlockIdMap:s}}function ds(e,t){let n=!1;for(let r=0;r<t.length;r++){let i=t[r];for(let t=0;t<i.sections.length;t++){let r=i.sections[t];for(let t=0;t<r.columns.length;t++){let i=r.columns[t];for(let t=0;t<i.lines.length;t++)if(i.lines[t].paragraphIndex===e){n=!0,i.lines.splice(t);break}if(n){let e=i.lines.length?t+1:t;e=Math.max(e,1);let n=e-1;n>=0&&(r.columns[n].isFull=!1),r.columns.splice(e);break}}if(n){let e=t+1;i.sections.splice(e);break}}if(n){let e=r+1;t.splice(Math.max(e,1));break}}}function fs(e,t){e[e.length-1]===t[0]&&t.splice(0,1),e.push(...t)}const ps={[Z.Af]:()=>Promise.resolve().then(()=>require(`./af-CWFgqcSf.js`)),[Z.As]:()=>Promise.resolve().then(()=>require(`./as-B8EPqu0L.js`)),[Z.Be]:()=>Promise.resolve().then(()=>require(`./be-UZZOxfZr.js`)),[Z.Bg]:()=>Promise.resolve().then(()=>require(`./bg-CLOXXW2u.js`)),[Z.Bn]:()=>Promise.resolve().then(()=>require(`./bn-Brt8pV_G.js`)),[Z.Ca]:()=>Promise.resolve().then(()=>require(`./ca-DnHlpX0s.js`)),[Z.Cop]:()=>Promise.resolve().then(()=>require(`./cop-IZjkuf0A.js`)),[Z.Cs]:()=>Promise.resolve().then(()=>require(`./cs-MvRgOKkp.js`)),[Z.Cu]:()=>Promise.resolve().then(()=>require(`./cu-D_-GB0JR.js`)),[Z.Cy]:()=>Promise.resolve().then(()=>require(`./cy-BxcUVOJZ.js`)),[Z.Da]:()=>Promise.resolve().then(()=>require(`./da-DIGKIx3h.js`)),[Z.De1901]:()=>Promise.resolve().then(()=>require(`./de-1901-C662l7cs.js`)),[Z.De1996]:()=>Promise.resolve().then(()=>require(`./de-1996-BvW4GFSz.js`)),[Z.DeCh1901]:()=>Promise.resolve().then(()=>require(`./de-ch-1901-DIum9f-N.js`)),[Z.ElMonoton]:()=>Promise.resolve().then(()=>require(`./el-monoton-CYl3qdzy.js`)),[Z.ElPolyton]:()=>Promise.resolve().then(()=>require(`./el-polyton-BXIyXkwr.js`)),[Z.EnGb]:()=>Promise.resolve().then(()=>require(`./en-gb-CK3QQZSP.js`)),[Z.EnUs]:()=>Promise.resolve().then(()=>require(`./en-us-DZ5W3OmX.js`)),[Z.Es]:()=>Promise.resolve().then(()=>require(`./es-Dz2OSmg6.js`)),[Z.Et]:()=>Promise.resolve().then(()=>require(`./et-DhopKz29.js`)),[Z.Eu]:()=>Promise.resolve().then(()=>require(`./eu-pTz5g9Jy.js`)),[Z.Fi]:()=>Promise.resolve().then(()=>require(`./fi-DGf9IBvz.js`)),[Z.Fr]:()=>Promise.resolve().then(()=>require(`./fr-CMUOCCEr.js`)),[Z.Fur]:()=>Promise.resolve().then(()=>require(`./fur-CiMlbql9.js`)),[Z.Ga]:()=>Promise.resolve().then(()=>require(`./ga-3F00ankY.js`)),[Z.Gl]:()=>Promise.resolve().then(()=>require(`./gl-D74E5SCu.js`)),[Z.Grc]:()=>Promise.resolve().then(()=>require(`./grc-3CWlF5IP.js`)),[Z.Gu]:()=>Promise.resolve().then(()=>require(`./gu-DFCwc2Q0.js`)),[Z.Hi]:()=>Promise.resolve().then(()=>require(`./hi-B6yYuhvp.js`)),[Z.Hr]:()=>Promise.resolve().then(()=>require(`./hr-BtbDJMHs.js`)),[Z.Hsb]:()=>Promise.resolve().then(()=>require(`./hsb-BLIGfMw2.js`)),[Z.Hu]:()=>Promise.resolve().then(()=>require(`./hu-DlGJqslc.js`)),[Z.Hy]:()=>Promise.resolve().then(()=>require(`./hy-TODHKZkf.js`)),[Z.Ia]:()=>Promise.resolve().then(()=>require(`./ia-DYI69LkL.js`)),[Z.Id]:()=>Promise.resolve().then(()=>require(`./id-ChJ6qXmB.js`)),[Z.Is]:()=>Promise.resolve().then(()=>require(`./is-BrYepHpk.js`)),[Z.It]:()=>Promise.resolve().then(()=>require(`./it-DkVAowhI.js`)),[Z.Ka]:()=>Promise.resolve().then(()=>require(`./ka-C8RK-saM.js`)),[Z.Kmr]:()=>Promise.resolve().then(()=>require(`./kmr-D5wD3fHq.js`)),[Z.Kn]:()=>Promise.resolve().then(()=>require(`./kn-DK2mse06.js`)),[Z.La]:()=>Promise.resolve().then(()=>require(`./la-2_CAcK9Z.js`)),[Z.LaXClassic]:()=>Promise.resolve().then(()=>require(`./la-x-classic-DhD3-ee8.js`)),[Z.LaXLiturgic]:()=>Promise.resolve().then(()=>require(`./la-x-liturgic-U09Rp-TZ.js`)),[Z.Lt]:()=>Promise.resolve().then(()=>require(`./lt-DYbOA57n.js`)),[Z.Lv]:()=>Promise.resolve().then(()=>require(`./lv-Ds_7m8k9.js`)),[Z.Ml]:()=>Promise.resolve().then(()=>require(`./ml-6ewS9Vq8.js`)),[Z.MnCyrl]:()=>Promise.resolve().then(()=>require(`./mn-cyrl-BJ33HJ6-.js`)),[Z.MnCyrlXLmc]:()=>Promise.resolve().then(()=>require(`./mn-cyrl-x-lmc-CbRrg1mU.js`)),[Z.Mr]:()=>Promise.resolve().then(()=>require(`./mr-HKDaXacu.js`)),[Z.MulEthi]:()=>Promise.resolve().then(()=>require(`./mul-ethi-CTb0PFSs.js`)),[Z.Nb]:()=>Promise.resolve().then(()=>require(`./nb-D32oHd0L.js`)),[Z.Nl]:()=>Promise.resolve().then(()=>require(`./nl-Bmd8OlYC.js`)),[Z.Nn]:()=>Promise.resolve().then(()=>require(`./nn-DVBBWI2u.js`)),[Z.No]:()=>Promise.resolve().then(()=>require(`./no-BaGM42cP.js`)),[Z.Oc]:()=>Promise.resolve().then(()=>require(`./oc-DtaonYfQ.js`)),[Z.Or]:()=>Promise.resolve().then(()=>require(`./or-C-HLaR9M.js`)),[Z.Pa]:()=>Promise.resolve().then(()=>require(`./pa-BjXyJ4IF.js`)),[Z.Pi]:()=>Promise.resolve().then(()=>require(`./pi-DjNXP4A9.js`)),[Z.Pl]:()=>Promise.resolve().then(()=>require(`./pl-04Tc1IG5.js`)),[Z.Pms]:()=>Promise.resolve().then(()=>require(`./pms-CdYiCx9g.js`)),[Z.Pt]:()=>Promise.resolve().then(()=>require(`./pt-0ZCVnlX3.js`)),[Z.Rm]:()=>Promise.resolve().then(()=>require(`./rm-CJ69Y9QW.js`)),[Z.Ro]:()=>Promise.resolve().then(()=>require(`./ro-CBrJAbEY.js`)),[Z.Ru]:()=>Promise.resolve().then(()=>require(`./ru-C8ZmpPlf.js`)),[Z.Sa]:()=>Promise.resolve().then(()=>require(`./sa-BzTPJ2eQ.js`)),[Z.ShCyrl]:()=>Promise.resolve().then(()=>require(`./sh-cyrl-BwDjDFQM.js`)),[Z.ShLatn]:()=>Promise.resolve().then(()=>require(`./sh-latn-B7P6ef8g.js`)),[Z.Sk]:()=>Promise.resolve().then(()=>require(`./sk-8yRutCOH.js`)),[Z.Sl]:()=>Promise.resolve().then(()=>require(`./sl-CjeDQ-zm.js`)),[Z.SrCyrl]:()=>Promise.resolve().then(()=>require(`./sr-cyrl-lIGLzxIi.js`)),[Z.Sv]:()=>Promise.resolve().then(()=>require(`./sv-jpjMCX9A.js`)),[Z.Ta]:()=>Promise.resolve().then(()=>require(`./ta-D3DgWCTc.js`)),[Z.Te]:()=>Promise.resolve().then(()=>require(`./te-CNX77aEQ.js`)),[Z.Th]:()=>Promise.resolve().then(()=>require(`./th-B9_tUiwc.js`)),[Z.Tk]:()=>Promise.resolve().then(()=>require(`./tk-D64TV4D5.js`)),[Z.Tr]:()=>Promise.resolve().then(()=>require(`./tr-B26BdqRz.js`)),[Z.Uk]:()=>Promise.resolve().then(()=>require(`./uk-BKFhTlDZ.js`)),[Z.ZhLatnPinyin]:()=>Promise.resolve().then(()=>require(`./zh-latn-pinyin-DFXgaUKz.js`))};function ms(e){let[t,n]=e;return{levelsTable:t.split(`,`),pattern:JSON.parse(n)}}function hs(e){return e.split(`-`).filter(Boolean).map(e=>e[0].toUpperCase()+e.slice(1)).join(``)}function gs(e){let t=0,n=e;function r(){return n=e.slice(t++),n.length<3?[]:n}function i(){return t===2}return[r,i]}function _s(e){let t=0;function n(){return e[t++]}function r(){return e.length===t+1}return[n,r]}var vs=class e{static getInstance(){return this._instance==null&&(this._instance=new e),this._instance}constructor(){U(this,`_patterns`,new Map),U(this,`_hyphenCache`,new Map),this._preloadPatterns(),this.loadPattern(Z.EnGb)}_preloadPatterns(){this._patterns.set(Z.EnUs,ms(c.t)),this._loadExceptionsToCache(Z.EnUs,c.t)}_loadExceptionsToCache(e,t){if(t.length<3)return;let n=t[2];for(let t of n){let n=t.replace(/-/g,``),r=t.split(`-`),i=this._hyphenCache.get(e);i==null&&(i=new Map,this._hyphenCache.set(e,i)),i.set(n,r)}}async loadPattern(e){let t=ps[e];if(!t)return;let n=await t(),r=Array.isArray(n)?n:n==null?void 0:n[hs(e)];r!=null&&(this._patterns.set(e,ms(r)),this._loadExceptionsToCache(e,r))}fetchHyphenCache(e){return this._hyphenCache.get(e)}hasPattern(e){return this._patterns.has(e)}hyphenate(e,t){let n=this._hyphenCache.get(t);if(n!=null&&n.has(e))return n.get(e);if(!this._patterns.has(t))throw Error(`Language pattern not found for ${t}, please load pattern before hyphenating`);let{levelsTable:r,pattern:i}=this._patterns.get(t),a=Array(e.length+1).fill(0),[o,s]=gs(`.${e.toLocaleLowerCase()}.`.split(``)),c,l,u,d,f,p,m=-1,h,g,_;for(;(c=o()).length>0;)for(m++,s()&&m--,u=i,h=_s(c),g=h[0],_=h[1];(l=g())&&u[l]!==void 0;)if(d=u[l],u=d[0],f=d[1],u===void 0&&(u={},f=d),!_()&&f!==void 0){p=r[f];for(let e=0;e<p.length;e++)a[m+e]=Math.max(+p[e],a[m+e])}a[0]=a[1]=a[a.length-1]=a[a.length-2]=0;let v=``;for(let t=0;t<a.length;t++)v+=(a[t]%2==1?`-`:``)+e.charAt(t);n==null&&(n=new Map,this._hyphenCache.set(t,n));let y=v.split(`-`);return n.set(e,y),y}dispose(){this._patterns.clear(),this._hyphenCache.clear()}};U(vs,`_instance`,null);const ys={spa:Z.Es,eng:Z.EnUs,rus:Z.Ru,ben:Z.Bn,hin:Z.Hi,por:Z.Pt,ind:Z.Id,fra:Z.Fr,deu:Z.De1901,tel:Z.Te,mar:Z.Mr,ita:Z.It,tam:Z.Ta,tur:Z.Tr,guj:Z.Gu,pol:Z.Pl,ukr:Z.Uk,kan:Z.Kn,mal:Z.Ml,ron:Z.Ro,pan:Z.Pa,hrv:Z.Hr,nld:Z.Nl,srp:Z.SrCyrl,tha:Z.Th,uzn:Z.Kmr,zlm:Z.Ml,hun:Z.Hu,ell:Z.ElMonoton,ces:Z.Cs,bel:Z.Be,bul:Z.Bg,swe:Z.Sv,und:Z.UNKNOWN};var bs=class e{constructor(){U(this,`_detectCache`,new Map)}static getInstance(){return this._instance==null&&(this._instance=new e),this._instance}detect(e){var t;let n=this._detectCache.get(e);return n||(n=(t=ys[(0,p.franc)(e)])==null?Z.UNKNOWN:t,this._detectCache.set(e,n),n)}dispose(){this._detectCache.clear()}};U(bs,`_instance`,null);function xs(e){let t=new Set;e.skeleton.pages=e.skeleton.pages.filter(e=>{let n=t.has(e);return t.add(e),!n})}function Ss(e){let t=[],n=e,r=n.parent;for(;r;){if(r.pages){let e=r.pages.indexOf(n);e!==-1&&t.unshift(`pages`,e)}else if(r.cells){let e=r.cells.indexOf(n);e!==-1&&t.unshift(`cells`,e)}else if(r.rows){let e=r.rows.indexOf(n);e!==-1&&t.unshift(`rows`,e)}else r.skeTables&&r.skeTables.has(n.tableId)&&t.unshift(`skeTables`,n.tableId);n=r,r=r==null?void 0:r.parent}return t}var Cs=class e extends l.Skeleton{constructor(e,t){super(t),this._docViewModel=e,U(this,`_dirty$`,new d.Subject),U(this,`dirty$`,this._dirty$.asObservable()),U(this,`_skeletonData`,void 0),U(this,`_findLiquid`,new Cr),U(this,`_hyphen`,vs.getInstance()),U(this,`_languageDetector`,bs.getInstance()),U(this,`_iteratorCount`,0),U(this,`_initialWidth`,0)}static create(t,n){return new e(t,n)}dispose(){super.dispose(),this._skeletonData=null,this._findLiquid=null,this._docViewModel.dispose(),this._initialWidth=0}getViewModel(){return this._docViewModel}calculate(e){if(!this.dirty)return;let t=this._prepareLayoutContext();this._skeletonData=this._createSkeleton(t,e),this._dirty$.next(!0)}getSkeletonData(){return this._skeletonData}resetInitialWidth(){this._initialWidth=0}getActualSize(){let e=this.getSkeletonData(),t=0,n=0;return e==null||e.pages.forEach(e=>{let{width:r,height:i}=e;t=Math.max(this._initialWidth,r),this._initialWidth=t,n+=i}),{actualWidth:t,actualHeight:n}}_getPageActualWidth(e){let t=-1/0;for(let n of e.sections)for(let e of n.columns)for(let n of e.lines){let e=0;for(let t of n.divides)for(let n of t.glyphGroup)e+=n.width;t=Math.max(t,e)}return t}getPageSize(){return this.getViewModel().getDataModel().documentStyle.pageSize}findPositionByGlyph(e,t){let n=e.parent,r=n==null?void 0:n.parent,i=r==null?void 0:r.parent,a=i==null?void 0:i.parent,o=a==null?void 0:a.parent,s=this.getSkeletonData();if(!n||!i||!a||!o||!s)return;let c=o.type,l=n.glyphGroup.indexOf(e),u=r.divides.indexOf(n),d=i.lines.indexOf(r),f=a.columns.indexOf(i),p=o.sections.indexOf(a),m=-1,h=Ss(o);switch(c){case G.HEADER:case G.FOOTER:m=0;break;case G.BODY:m=s.pages.indexOf(o);break;case G.CELL:m=h[1];break;default:throw Error(`Invalid page type`)}return{glyph:l,divide:u,line:d,column:f,section:p,page:m,segmentPage:t,pageType:c,path:h}}findCharIndexByPosition(e){let t=this.findGlyphByPosition(e),n=t==null?void 0:t.parent;if(n==null)return;let{st:r,glyphGroup:i}=n,a=r;for(let e of i){if(e===t)break;a+=e.count}return e.isBack?a:a+t.count}findNodePositionByCharIndex(e,t=!0,n=``,r=-1){let i=this._findNodeByIndex(e,n,r);if(i==null)return;let a=this.getSkeletonData();if(!a)return;let o=a.pages,{glyph:s,divide:c,line:l,column:u,section:d,page:f,segmentPageIndex:p,pageType:m}=i,h=Ss(f),g=-1;switch(m){case G.HEADER:case G.FOOTER:g=0;break;case G.BODY:g=o.indexOf(f);break;case G.CELL:g=h[1];break;default:throw Error(`Invalid page type`)}return{glyph:c.glyphGroup.indexOf(s),divide:l.divides.indexOf(c),line:u.lines.indexOf(l),column:d.columns.indexOf(u),section:f.sections.indexOf(d),page:g,pageType:m,segmentPage:p,isBack:t,path:h}}findNodeByCharIndex(e,t=``,n=-1){let r=this._findNodeByIndex(e,t,n);return r==null?void 0:r.glyph}findGlyphByPosition(e){if(e==null)return;let t=this.getSkeletonData();if(t==null)return;let{pages:n,skeFooters:r,skeHeaders:i}=t,{divide:a,line:o,column:s,section:c,segmentPage:l,pageType:u,path:d,isBack:f}=e,{glyph:p}=e,m=null;if(u===G.HEADER||u===G.FOOTER){m=n[l];let{headerId:e,footerId:t,pageWidth:a}=m;if(u===G.HEADER){var h;let t=(h=i.get(e))==null?void 0:h.get(a);if(t==null)return;m=t}else if(u===G.FOOTER){var g;let e=(g=r.get(t))==null?void 0:g.get(a);if(e==null)return;m=e}}else m=za(t,d);if(m==null)return;let _=m.sections[c].columns[s].lines[o].divides[a].glyphGroup;return p=Math.min(p,_.length-1),_[p].glyphType===pt.LIST&&(p+=1),_[p]}findEditAreaByCoord(e,t,n,r){let{x:i,y:a}=e,o=Tr.BODY,s=-1,c=null,l=this.getSkeletonData();if(l==null)return{editArea:o,page:c,pageNumber:s};this._findLiquid.reset();let{pages:u}=l;for(let e=0,l=u.length;e<l;e++){let l=u[e],{marginTop:d,marginBottom:f,pageWidth:p,pageHeight:m}=l;if(i>this._findLiquid.x&&i<this._findLiquid.x+p&&a>this._findLiquid.y&&a<this._findLiquid.y+d){o=Tr.HEADER,c=l,s=e;break}if(i>this._findLiquid.x&&i<this._findLiquid.x+p&&a>this._findLiquid.y+d&&a<this._findLiquid.y+m-f){o=Tr.BODY,c=l,s=e;break}if(i>this._findLiquid.x&&i<this._findLiquid.x+p&&a>this._findLiquid.y+m-f&&a<this._findLiquid.y+m){o=Tr.FOOTER,c=l,s=e;break}this._translatePage(l,t,n,r)}return{editArea:o,page:c,pageNumber:s}}findNodeByCoord(e,t,n,r,i){let{x:a,y:o}=e,s=this.getSkeletonData();if(s==null)return;let c={nearestNodeList:[],nearestNodeDistanceList:[]},{pages:l,skeHeaders:u,skeFooters:d}=s,f=this.findEditAreaByCoord(e,t,n,r).editArea,p=l.length;if(this._findLiquid.reset(),i==null)for(let e=0;e<p;e++){let i=l[e],{headerId:s,footerId:_,pageWidth:v}=i,y=null;if(f===Tr.HEADER||f===Tr.FOOTER){var m,h;let t=(m=u.get(s))==null?void 0:m.get(v);t&&(y=this._collectNearestNode(t,G.HEADER,i,s,e,c,a,o,p));let n=(h=d.get(_))==null?void 0:h.get(v);if(n){var g;y=(g=y)==null?this._collectNearestNode(n,G.FOOTER,i,_,e,c,a,o,p):g}}else y=this._collectNearestNode(i,G.BODY,i,``,e,c,a,o,p);if(y)return y;this._translatePage(i,t,n,r)}else{let{segmentId:e,segmentPage:s,strict:f}=i,m=null;if(f===!1)for(let i=0;i<p;i++){let s=l[i],{headerId:f,footerId:h,pageWidth:g}=s;if(e!==``){var _,v;let e=(_=u.get(f))==null?void 0:_.get(g);e&&(m=this._collectNearestNode(e,G.HEADER,s,f,i,c,a,o,p));let t=(v=d.get(h))==null?void 0:v.get(g);if(t){var y;m=(y=m)==null?this._collectNearestNode(t,G.FOOTER,s,h,i,c,a,o,p):y}}else m=this._collectNearestNode(s,G.BODY,s,``,i,c,a,o,p);if(m)return m;this._translatePage(s,t,n,r)}else for(let i=0;i<p;i++){let f=l[i];if(e){var b,x;if(s!==i){this._translatePage(f,t,n,r);continue}let{headerId:l,pageWidth:h}=f,g=e===l?(b=u.get(e))==null?void 0:b.get(h):(x=d.get(e))==null?void 0:x.get(h);g&&(m=this._collectNearestNode(g,e===l?G.HEADER:G.FOOTER,f,e,s,c,a,o,p))}else m=this._collectNearestNode(f,G.BODY,f,``,i,c,a,o,p);if(m)return m;this._translatePage(f,t,n,r)}}return this._getNearestNode(c.nearestNodeList,c.nearestNodeDistanceList)}_collectNearestNode(e,t,n,r,i,a,o,s,c,l=0){let{sections:u,skeTables:d}=e;this._findLiquid.translateSave();let f=this._findLiquid.x,p=f+n.pageWidth,m=this._findLiquid.y+(t===G.FOOTER?n.pageHeight-e.pageHeight:0),h=m+e.pageHeight,g=o>=f&&o<=p&&s>=m&&s<=h;if(l===0&&t===G.BODY){let e=i===0,t=i===c-1,r=n.originMarginTop/2;g=e&&t?!0:e?s<=h+r:t?s>=m-r:s>=m-r&&s<=h+r}switch(t){case G.HEADER:this._findLiquid.translatePagePadding({...e,marginLeft:n.marginLeft});break;case G.FOOTER:{let t=n.pageHeight-e.height-e.marginBottom;this._findLiquid.translate(n.marginLeft,t);break}default:this._findLiquid.translatePagePadding(n);break}if(g){let e=1/0;for(let n of u){let{columns:c}=n;this._findLiquid.translateSave(),this._findLiquid.translateSection(n);for(let n of c){let{lines:c}=n;this._findLiquid.translateSave(),this._findLiquid.translateColumn(n);for(let n=0;n<c.length;n++){let u=c[n],{divides:d,type:f,lineHeight:p=0}=u;if(f!==ft.BLOCK){this._findLiquid.translateSave(),this._findLiquid.translateLine(u);let{y:n}=this._findLiquid,c=n,f=n+p,m=Math.abs(s-f),h=d.length;for(let n=0;n<h;n++){let u=d[n],{glyphGroup:p}=u;this._findLiquid.translateSave(),this._findLiquid.translateDivide(u);let{x:h}=this._findLiquid;for(let n of p){if(!n.content||n.content.length===0)continue;let{width:u,left:d}=n,p=h+d,_=h+d+u,v=Math.abs(o-_);if(s>=c&&s<=f){if(o>=p&&o<=_)return{node:n,segmentPage:t===G.BODY?-1:i,segmentId:r,ratioX:o/(p+_),ratioY:s/(c+f)};e!==-1/0&&(a.nearestNodeList=[],a.nearestNodeDistanceList=[]),a.nearestNodeList.push({node:n,segmentPage:t===G.BODY?-1:i,segmentId:r,ratioX:o/(p+_),ratioY:s/(c+f)}),a.nearestNodeDistanceList.push({coordInPage:g,distance:v,nestLevel:l}),e=-1/0;continue}m<e&&(e=m,a.nearestNodeList=[],a.nearestNodeDistanceList=[]),m===e&&(a.nearestNodeList.push({node:n,segmentPage:t===G.BODY?-1:i,segmentId:r,ratioX:o/(p+_),ratioY:s/(c+f)}),a.nearestNodeDistanceList.push({coordInPage:g,distance:v,nestLevel:l}))}this._findLiquid.translateRestore()}this._findLiquid.translateRestore()}}this._findLiquid.translateRestore()}this._findLiquid.translateRestore()}}let _=null;if(d.size>0)for(let e of d.values()){var v,y,b;let{top:t,left:n,rows:u}=e;(v=this._findLiquid)==null||v.translateSave(),(y=this._findLiquid)==null||y.translate(n,t);for(let e of u){var x,S,C;let{top:t,cells:n,isRepeatRow:u}=e;if(!u){(x=this._findLiquid)==null||x.translateSave(),(S=this._findLiquid)==null||S.translate(0,t);for(let e of n){var w,T,E,D;let{left:t}=e;(w=this._findLiquid)==null||w.translateSave(),(T=this._findLiquid)==null||T.translate(t,0),_=(E=_)==null?this._collectNearestNode(e,G.CELL,e,r,i,a,o,s,c,l+1):E,(D=this._findLiquid)==null||D.translateRestore()}(C=this._findLiquid)==null||C.translateRestore()}}(b=this._findLiquid)==null||b.translateRestore()}if(_)return this._findLiquid.translateRestore(),_;this._findLiquid.translateRestore()}_getNearestNode(e,t){if(t.length===0)return;if(t.length===1)return e[0];let n=t[0];for(let e=1;e<t.length;e++){let{distance:r,nestLevel:i,coordInPage:a}=t[e];if(i>n.nestLevel){n=t[e];continue}if(i===n.nestLevel){if(a===n.coordInPage){if(r<n.distance){n=t[e];continue}}else if(a){n=t[e];continue}}}return e[t.indexOf(n)]}_getPageBoundingBox(e,t){let{pageWidth:n,pageHeight:r}=e,{x:i,y:a}=this._findLiquid,o=-1,s=-1;return t===mt.VERTICAL?(o=n,s=a+r):t===mt.HORIZONTAL&&(o=i+n,s=r),{startX:i,startY:a,endX:o,endY:s}}_translatePage(e,t,n,r){this._findLiquid.translatePage(e,t,n,r)}_prepareLayoutContext(){let e=this.getViewModel(),t=e.getDataModel(),{headerTreeMap:n,footerTreeMap:r}=e.getHeaderFooterTreeMap(),{documentStyle:i,drawings:a,lists:o={}}=t,s={...l.PRESET_LIST_TYPE,...o},{paragraphLineGapDefault:c=0,defaultTabStop:u=10.5,textStyle:d={}}=i,f={headerTreeMap:n,footerTreeMap:r,lists:s,drawings:a,localeService:this._localeService,paragraphLineGapDefault:c,defaultTabStop:u,documentTextStyle:d},p=ka(),{skeHeaders:m,skeFooters:h,skeListLevel:g,drawingAnchor:_}=p;return{viewModel:e,dataModel:t,skeleton:p,skeletonResourceReference:{skeHeaders:m,skeFooters:h,skeListLevel:g,drawingAnchor:_},docsConfig:f,layoutStartPointer:{"":null},isDirty:!1,floatObjectsCache:new Map,paragraphConfigCache:new Map,sectionBreakConfigCache:new Map,paragraphsOpenNewPage:new Set,hyphen:this._hyphen,languageDetector:this._languageDetector}}_createSkeleton(e,t){let{viewModel:n,skeleton:r,skeletonResourceReference:i}=e,a=r.pages,o=0,s=e.layoutStartPointer[``];if(e.layoutStartPointer[``]=null,s!=null)for(let e=0;e<n.getChildren().length;e++){let{endIndex:t,startIndex:r}=n.getChildren()[e];if(s>=r&&s<=t){o=e;break}}for(let t=o,r=n.getChildren().length;t<r;t++){let r=n.getChildren()[t],o=Ia(e,t),{sectionType:u,columnProperties:d,columnSeparatorType:f,sectionTypeNext:p,pageNumberStart:m=1}=o,h=na(a),g=!1;if(e.sectionBreakConfigCache.set(r.endIndex,o),u===l.SectionType.CONTINUOUS)ha(a),this._addNewSectionByContinuous(h,d,f),g=!0;else if(s==null||h==null){var c;h=Va(e,o,i,(c=h==null?void 0:h.pageNumber)==null?m:c)}let{pages:_}=us(e,n,r,h,o,s);if(p===l.SectionType.CONTINUOUS&&d.length,g&&_.splice(0,1),a.push(..._),e.isDirty)break}if(e.isDirty&&this._iteratorCount<10)return this._iteratorCount++,La(e),this._createSkeleton(e,t);this._iteratorCount=0,xs(e),ha(r.pages),ga(e,r.pages);for(let t of r.skeHeaders.values())for(let n of t.values())ga(e,[n]);for(let t of r.skeFooters.values())for(let n of t.values())ga(e,[n]);return Aa(r.pages,r),r}_addNewSectionByContinuous(e,t,n){let r=e.sections,i=r[r.length-1],{pageWidth:a,pageHeight:o,marginTop:s,marginBottom:c,marginLeft:l,marginRight:u}=e,d=a-l-u,f=o-s-c,p=((i==null?void 0:i.top)||0)+((i==null?void 0:i.height)||0),m=di(t,n,p,0,d,f-p);m.parent=e,r.push(m)}_findNodeByIndex(e,t=``,n=-1){let r=this.getSkeletonData();if(r==null)return;let{pages:i,skeFooters:a,skeHeaders:o}=r;for(let r of i){let l=i.indexOf(r);if(t&&l!==n)continue;let{pageWidth:u,skeTables:d}=r,f=r;if(t){var s,c;let e=(s=o.get(t))==null?void 0:s.get(u),n=(c=a.get(t))==null?void 0:c.get(u);if(e)f=e;else if(n)f=n;else continue}if(t===``){let t=!1;for(let n of d.values()){let{rows:r}=n;for(let n of r){let{cells:r}=n;for(let n of r){let{st:r,ed:i}=n;if(e>=r&&e<=i){f=n,t=!0;break}}if(t)break}if(t)break}}let{sections:p,st:m,ed:h}=f;if(!(e<m||e>h))for(let t of p){let{columns:r,st:i,ed:a}=t;if(!(e<i||e>a))for(let i of r){let{lines:r,st:a,ed:o}=i;if(!(e<a||e>o))for(let a of r){let{divides:r,st:o,ed:s}=a,c=r.length;if(!(e<o||e>s))for(let o=0;o<c;o++){let s=r[o],{glyphGroup:c,st:l,ed:u}=s;if(e<l||e>u)continue;let d=e-l;for(let e of c)if(d-=e.count,d<0)return{page:f,pageType:f.type,section:t,column:i,line:a,divide:s,glyph:e,segmentPageIndex:n}}}}}}}};function ws(e,t,n={}){let r=e.length,{textRotation:i,paddingData:a,horizontalAlign:o=l.HorizontalAlign.UNSPECIFIED,verticalAlign:s=l.VerticalAlign.UNSPECIFIED,wrapStrategy:c=l.WrapStrategy.UNSPECIFIED,cellValueType:u}=n,{t:d,r:f,b:p,l:m}=a||As,{vertexAngle:h,centerAngle:g}=$t(i);return new l.DocumentDataModel({id:`d`,body:{dataStream:`${e}${l.DEFAULT_EMPTY_DOCUMENT_VALUE}`,textRuns:[{ts:t,st:0,ed:r}],paragraphs:[{startIndex:r,paragraphStyle:{horizontalAlign:o}}],sectionBreaks:[{startIndex:r+1}]},documentStyle:{pageSize:{width:1/0,height:1/0},marginTop:d,marginBottom:p,marginRight:f,marginLeft:m,renderConfig:{horizontalAlign:o,verticalAlign:s,centerAngle:g,vertexAngle:h,wrapStrategy:c,cellValueType:u}},drawings:{},drawingsOrder:[]})}function Ts(e){if(!e)return{};let{tr:t,td:n,ht:r,vt:i,tb:a,pd:o}=e;return{textRotation:t,textDirection:n,horizontalAlign:r,verticalAlign:i,wrapStrategy:a,paddingData:o}}function Es(e){if(!e)return{};let{ff:t,fs:n,it:r,bl:i,ul:a,st:o,ol:s,cl:c}=e,l={};return t&&(l.ff=t),n&&(l.fs=n),r&&(l.it=r),i&&(l.bl=i),a&&(l.ul=a),o&&(l.st=o),s&&(l.ol=s),c&&(l.cl=c),l}function Ds(e,t){return function(n,r){t(n,r,e)}}function Os(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}const ks={isDeepClone:!1,displayRawFormula:!1,ignoreTextRotation:!1},As={t:0,b:2,l:2,r:2},js=`RENDER_RAW_FORMULA`;let Ms=class extends l.SheetSkeleton{constructor(e,t,n,r,i,a){super(e,t,n,r,i,a),U(this,`_drawingRange`,{startRow:-1,endRow:-1,startColumn:-1,endColumn:-1}),U(this,`_cacheRangeMap`,new Map),U(this,`_visibleRangeMap`,new Map),U(this,`_overflowCache`,new l.ObjectMatrix),U(this,`_stylesCache`,{background:{},backgroundPositions:new l.ObjectMatrix,fontMatrix:new l.ObjectMatrix,border:new l.ObjectMatrix}),U(this,`_clearTaskId`,null),U(this,`_handleBgMatrix`,new l.ObjectMatrix),U(this,`_handleBorderMatrix`,new l.ObjectMatrix),U(this,`_showGridlines`,l.BooleanNumber.TRUE),U(this,`_gridlinesColor`,void 0),U(this,`_scene`,null),this._updateLayout(),this.disposeWithMe(this._contextService.subscribeContextValue$(js).pipe((0,d.startWith)(!1),(0,d.distinctUntilChanged)()).subscribe(e=>{this._renderRawFormula=e,this._resetCache(),this.makeDirty(!0)})),this.disposeWithMe(this.worksheet.__registerGetCellHeight((e,t)=>{var n;return(n=this.calculateAutoHeightForCell(e,t))==null?0:n}))}setScene(e){this._scene=e,this.disposeWithMe(this._scene.onTransformChange$.subscribeEvent(e=>{this.setScale(e.value.scaleX||1,e.value.scaleY)}))}_updateLayout(){let{showGridlines:e,gridlinesColor:t}=this._worksheetData;this._showGridlines=e,this._gridlinesColor=t,super._updateLayout()}get rowColumnSegment(){return this._drawingRange}visibleRangeByViewportKey(e){return this._cacheRangeMap.get(e)}get stylesCache(){return this._stylesCache}get overflowCache(){return this._overflowCache}get showGridlines(){return this._showGridlines}get gridlinesColor(){return this._gridlinesColor}dispose(){super.dispose(),this._drawingRange={startRow:-1,endRow:-1,startColumn:-1,endColumn:-1},this._stylesCache={background:{},backgroundPositions:new l.ObjectMatrix,fontMatrix:new l.ObjectMatrix,border:new l.ObjectMatrix},this._handleBgMatrix.reset(),this._handleBorderMatrix.reset(),this._overflowCache.reset()}getStyles(){return this._styles}setOverflowCache(e){this._overflowCache=e}getFont(e,t){let n=this.stylesCache.fontMatrix;return n&&n.getValue(e,t)||null}updateVisibleRange(e){if(!this._worksheetData||!this.rowHeightAccumulation||!this.columnWidthAccumulation)return!1;if(e){let t=this.getRangeByViewport(e);this._visibleRangeMap.set(e.viewportKey,t);let n=this.getCacheRangeByViewport(e);this._drawingRange=n,this._cacheRangeMap.set(e.viewportKey,n)}return!0}getVisibleRangeByViewport(e){return this._visibleRangeMap.get(e)}getVisibleRanges(){return this._visibleRangeMap}_clearCacheOutOfVisibleRange(e,t,n,r){this._clearTaskId&&cancelIdleCallback(this._clearTaskId),this._clearTaskId=requestIdleCallback(()=>{this._stylesCache.fontMatrix.forValue((i,a)=>{(i<e-100||i>t+100||a<n-100||a>r+100)&&this._stylesCache.fontMatrix.realDeleteValue(i,a)}),this._clearTaskId=null})}setStylesCache(e){if(!this._worksheetData||!this.rowHeightAccumulation||!this.columnWidthAccumulation)return;this.updateVisibleRange(e);let t=this._drawingRange,n=this.columnWidthAccumulation,{startRow:r,endRow:i,startColumn:a,endColumn:o}=t;if(o===-1||i===-1)return;let s=[],c=r,l=Math.max(0,a-20),u=Math.min(n.length-1,o+20);for(let e=r;e<=i;e++){if(this.worksheet.getRowVisible(e)===!1){c<e&&s.push({startRow:c,endRow:e-1,startColumn:a,endColumn:o}),c=e+1;continue}e===i&&s.push({startRow:c,endRow:e,startColumn:a,endColumn:o});for(let t=a;t<=o;t++)this._setStylesCacheForOneCell(e,t,{cacheItem:{bg:!0,border:!0}});for(let t=l;t<o;t++)this._setStylesCacheForOneCell(e,t,{cacheItem:{bg:!1,border:!1}});if(o!==0)for(let t=o+1;t<u;t++)this._setStylesCacheForOneCell(e,t,{cacheItem:{bg:!1,border:!1}})}let d=[];for(let e of s){let t=this.getCurrentRowColumnSegmentMergeData(e);d.push(...t)}for(let e of d)this._setStylesCacheForOneCell(e.startRow,e.startColumn,{mergeRange:e});return this}calculateAutoHeightInRange(e,t){if(!l.Tools.isArray(e))return[];let n=[],{rowData:r}=this._worksheetData,i=r,a=new Set,o=this.worksheet.getRowCount();for(let r of e){let{startRow:e,endRow:d,startColumn:f,endColumn:p}=r,m=Math.min(d,o);for(let r=e;r<=m;r++){var s;if(!a.has(r)&&((s=i[r])==null?void 0:s.ia)!==l.BooleanNumber.FALSE&&this._hasUnMergedCellInRow(r,f,p))if(t){let e=this.worksheet.getRowHeight(r),i=0,o=0;for(let e=f;e<=p;e++){var c,u;let n=(c=t.getValue(r,e))==null?0:c;i=Math.max(i,n);let a=(u=this.calculateAutoHeightForCell(r,e))==null?this._worksheetData.defaultRowHeight:u;o=Math.max(o,a)}if(i<e)a.add(r),n.push({row:r,autoHeight:Math.max(e,o)});else if(o>=e)a.add(r),n.push({row:r,autoHeight:o});else{let e=this._calculateRowAutoHeight(r);a.add(r),n.push({row:r,autoHeight:e})}}else{let e=this._calculateRowAutoHeight(r);a.add(r),n.push({row:r,autoHeight:e})}}}return n}calculateAutoHeightForCell(e,t){var n,r,i,a,o,s,c;let{columnData:u,defaultColumnWidth:d}=this._worksheetData,f=this.worksheet.getCellInfoInMergeData(e,t);if(this._skipAutoHeightForMergedCells&&(f.isMerged||f.isMergedMainCell))return;let p=this.worksheet.getCell(e,t),m=this.worksheet.getComposedCellStyleByCellData(e,t,p);if(p!=null&&p.interceptorAutoHeight){let e=p.interceptorAutoHeight();if(e)return e}let h=((n=p==null||(r=p.fontRenderExtension)==null?void 0:r.leftOffset)==null?0:n)+((i=p==null||(a=p.fontRenderExtension)==null?void 0:a.rightOffset)==null?0:i),{vertexAngle:g,centerAngle:_}=$t((o=m==null?void 0:m.tr)==null?{a:0}:o),v=(p==null?void 0:p.p)||g||_,y=(s=(c=u[t])==null?void 0:c.w)==null?d:s;if(f.isMergedMainCell){let e=f.startColumn,t=f.endColumn;y=Array.from({length:t-e+1},(t,n)=>e+n).reduce((e,t)=>{var n,r;return e+((n=(r=u[t])==null?void 0:r.w)==null?d:n)},0)}if(y-=h,v){var b;let e=p&&this.worksheet.getCellDocumentModel(p,m);if(e==null)return;let{documentModel:t,textRotation:n,wrapStrategy:r}=e;if(t==null)return;let i=new Or(t),{vertexAngle:a}=$t(n);typeof y==`number`&&r===l.WrapStrategy.WRAP&&t.updateDocumentDataPageSize(y);let o=Cs.create(i,this._localeService);o.calculate();let{height:s=0}=(b=Fs(o,a))==null?{}:b;if(o){let e=o.getSkeletonData(),{marginTop:t,marginBottom:n,marginLeft:r,marginRight:i}=e.pages[e.pages.length-1],c=Math.abs(V(a));s+=t*Math.cos(c)+i*Math.sin(c)+n*Math.cos(c)+r*Math.sin(c)}return s}else{var x,S,C,w,T,E,D,O;if((p==null?void 0:p.v)===void 0||(p==null?void 0:p.v)===null)return;let e=(x=(S=m.pd)==null?void 0:S.l)==null?As.l:x,t=(C=(w=m.pd)==null?void 0:w.r)==null?As.r:C,n=(T=(E=m.pd)==null?void 0:E.t)==null?As.t:T,r=(D=(O=m.pd)==null?void 0:O.b)==null?As.b:D;if((m==null?void 0:m.tb)===l.WrapStrategy.WRAP){let i=new _r(`${p.v}`,pe(m).fontCache,(m==null?void 0:m.tb)===l.WrapStrategy.WRAP,y-e-t,1/0);return i.calculate(),i.getTotalHeight()+n+r}else{let e=W.getMeasureText(`A`,pe(m).fontCache);return e.fontBoundingBoxAscent+e.fontBoundingBoxDescent+n+r}}}_calculateRowAutoHeight(e){let{columnCount:t,defaultRowHeight:n}=this._worksheetData,r=n;for(let n=0;n<t;n++){let t=this.calculateAutoHeightForCell(e,n);t&&(r=Math.max(r,t))}return Math.min(r,k)}calculateAutoWidthInRange(e){if(!l.Tools.isArray(e))return[];let t=[],n=new Set;for(let r of e){let{startColumn:e,endColumn:i}=r;for(let r=e;r<=i;r++){if(!this.worksheet.getColVisible(r)||n.has(r))continue;let e=this._calculateColWidth(r);n.add(r),t.push({col:r,width:Math.max(this._worksheetData.defaultColumnWidth,e)})}}return t}_calculateColWidth(e){let t=this.worksheet,n=0,r=this.visibleRangeByViewportKey(Cn.VIEW_MAIN);if(!r)return n;let{startRow:i,endRow:a}=r,o=this.worksheet.getRowCount(),s=new Set;s.add(0),s.add(o-1);let c=this.visibleRangeByViewportKey(Cn.VIEW_MAIN_TOP);if(c){let{startRow:e,endRow:t}=c;for(let n=e;n<=t;n++)s.add(n)}let l=((e,t,n)=>[...Array.from({length:t-e+1},(t,n)=>n+e),...n])(Math.max(0,i-En),Math.min(o,a+En),s),u=Math.max(0,e-1),d=this.columnWidthAccumulation[e]-this.columnWidthAccumulation[u];e===0&&(d=this.columnWidthAccumulation[e]);for(let r=0;r<l.length;r++){let o=l[r],{isMerged:s,isMergedMainCell:c}=this.worksheet.getCellInfoInMergeData(e,o);if(s&&!c||!this.worksheet.getRowVisible(o))continue;let u=t.getCell(o,e);if(!u||u.p&&(o+1e3<=i||o-1e3>=a))continue;let m=this._getMeasuredWidthByCell(u,o,e,d);if(u.fontRenderExtension){var f,p;m+=(((f=u.fontRenderExtension)==null?void 0:f.leftOffset)||0)+(((p=u.fontRenderExtension)==null?void 0:p.rightOffset)||0)}if(n=Math.max(n,m),n>=2e3)return A}return n===0?d:Math.max(2,n)}getColWidth(e){let t=Math.max(0,e-1);return this.columnWidthAccumulation[e]-this.columnWidthAccumulation[t]}getRowHeight(e){let t=Math.max(0,e-1);return this.rowHeightAccumulation[e]-this.rowHeightAccumulation[t]}_getMeasuredWidthByCell(e,t,n,r){var i,a;let o=0;if((i=e.fontRenderExtension)!=null&&i.isSkip&&e!=null&&e.interceptorAutoWidth){var s;let t=(s=e.interceptorAutoWidth)==null?void 0:s.call(e);if(t)return t}let c=this.worksheet.getComposedCellStyleByCellData(t,n,e),u=this.worksheet.getCellDocumentModel(e,c);if(u==null)return o;let{documentModel:d,textRotation:f}=u;if(d==null)return o;let p=new Or(d),{vertexAngle:m}=$t(f);(c==null?void 0:c.tb)===l.WrapStrategy.WRAP?d.updateDocumentDataPageSize(r,1/0):d.updateDocumentDataPageSize(1/0,1/0);let h=Cs.create(p,this._localeService);if(h.calculate(),o=((a=Fs(h,m))==null?{width:0}:a).width,h){let e=h.getSkeletonData(),{marginTop:t,marginBottom:n,marginLeft:r,marginRight:i}=e.pages[e.pages.length-1],a=Math.abs(V(m));o+=t*Math.sin(a)+i*Math.cos(a)+n*Math.sin(a)+r*Math.cos(a)}return o}getRangeByBounding(e){return this._getRangeByViewBounding(this.rowHeightAccumulation,this.columnWidthAccumulation,e==null?void 0:e.cacheBound)}getRangeByViewport(e){return this._getRangeByViewBounding(this.rowHeightAccumulation,this.columnWidthAccumulation,e==null?void 0:e.viewBound)}getCacheRangeByViewport(e,t){return this._getRangeByViewBounding(this.rowHeightAccumulation,this.columnWidthAccumulation,e==null?void 0:e.cacheBound,t)}getRangeByViewBound(e){return this._getRangeByViewBounding(this.rowHeightAccumulation,this.columnWidthAccumulation,e)}appendToOverflowCache(e,t,n,r){this._overflowCache.setValue(e,t,{startRow:e,endRow:e,startColumn:n,endColumn:r})}getOverflowPosition(e,t,n,r,i){var a;let o=(a=e==null?void 0:e.width)==null?0:a,s=r,c=r;return t===l.HorizontalAlign.CENTER?(s=this._getOverflowBound(n,r,0,o/2,t),c=this._getOverflowBound(n,r,i-1,o/2,t)):t===l.HorizontalAlign.RIGHT?s=this._getOverflowBound(n,r,0,o):c=this._getOverflowBound(n,r,i-1,o),{startColumn:s,endColumn:c}}calculateCellIndexByPosition(e,t,n,r,i){return this.getCellWithCoordByOffset(e,t,n,r,i)}getCellPositionByOffset(e,t,n,r,i,a){return this.getCellIndexByOffset(e,t,n,r,i,a)}getCellWithMergeInfoByIndex(e,t){return this.worksheet.getCellInfoInMergeData(e,t)}getColumnPositionByOffsetX(e,t,n,r){return this.getColumnIndexByOffsetX(e,t,n,r)}getRowPositionByOffsetY(e,t,n,r){return this.getRowIndexByOffsetY(e,t,n,r)}getCellByIndex(e,t){return this.getCellWithCoordByIndex(e,t)}getCellByIndexWithNoHeader(e,t){return this.getCellWithCoordByIndex(e,t,!1)}getBlankCellDocumentModel(e){let t=this._getCellDocumentModel(e,{ignoreTextRotation:!0}),n=Es(this._styles.getStyleByCell(e));if(t!=null)return t.documentModel==null&&(t.documentModel=ws(``,n)),t;let r=`document`,i=l.DEFAULT_STYLES.tr,a=l.DEFAULT_STYLES.ht,o=l.DEFAULT_STYLES.vt,s=l.DEFAULT_STYLES.tb,c=As;return r=pe({}).fontCache,{documentModel:ws(``,n),fontString:r,textRotation:i,wrapStrategy:s,verticalAlign:o,horizontalAlign:a,paddingData:c}}getCellDocumentModelWithFormula(e){return this._getCellDocumentModel(e,{isDeepClone:!0,displayRawFormula:!0,ignoreTextRotation:!0})}_getCellDocumentModel(e,t=ks){var n;let{isDeepClone:r,displayRawFormula:i,ignoreTextRotation:a}={...ks,...t},o=this._styles.getStyleByCell(e);if(!e)return;let s,c=`document`,u=Ts(o),d=a?l.DEFAULT_STYLES.tr:u.textRotation||l.DEFAULT_STYLES.tr,f=u.horizontalAlign||l.DEFAULT_STYLES.ht,p=u.verticalAlign||l.DEFAULT_STYLES.vt,m=u.wrapStrategy||l.DEFAULT_STYLES.tb,h=u.paddingData||As;if(e.f&&i)s=ws(e.f.toString(),{},{verticalAlign:p}),f=l.DEFAULT_STYLES.ht;else if(e.p){let{centerAngle:t,vertexAngle:n}=$t(d);s=this._updateConfigAndGetDocumentModel(r?l.Tools.deepClone(e.p):e.p,f,h,{horizontalAlign:f,verticalAlign:p,centerAngle:t,vertexAngle:n,wrapStrategy:m,zeroWidthParagraphBreak:1})}else if(e.v!=null){let t=Es(o);c=pe(t).fontCache;let n=(0,l.extractPureTextFromCell)(e);e.t===l.CellValueType.FORCE_STRING&&i&&(n=`'${n}`),s=ws(n,t,{...u,textRotation:d,cellValueType:e.t})}return s&&e.linkUrl&&e.linkId&&(0,l.addLinkToDocumentModel)(s,e.linkUrl,e.linkId),{documentModel:s,fontString:c,textRotation:d,wrapStrategy:m,verticalAlign:p,horizontalAlign:f,paddingData:h,fill:o==null||(n=o.bg)==null?void 0:n.rgb}}_calculateOverflowCell(e,t,n){let{documentSkeleton:r,vertexAngle:i=0,centerAngle:a=0,horizontalAlign:o,wrapStrategy:s}=n,{t:c=l.CellValueType.STRING}=this._cellData.getValue(e,t)||{},u=o;if(o===l.HorizontalAlign.UNSPECIFIED&&(a===90&&i===90?u=l.HorizontalAlign.CENTER:(i>0&&i!==90||i===-90)&&(u=l.HorizontalAlign.RIGHT)),(s===l.WrapStrategy.OVERFLOW||s===l.WrapStrategy.UNSPECIFIED)&&c!==l.CellValueType.NUMBER&&c!==l.CellValueType.BOOLEAN&&o!==l.HorizontalAlign.JUSTIFIED){if(this.intersectMergeRange(e,t))return!0;let a;if(r)a=Fs(r,i);else{let e=W.getMeasureText(`${n.cellData.v}`,n.fontString);a={width:e.width,height:e.fontBoundingBoxDescent+e.fontBoundingBoxAscent}}if(!a)return!0;if(i!==0){let{startY:n,endY:r,startX:o,endX:s}=this.getCellWithCoordByIndex(e,t),c=s-o,l=r-n;a.height>l&&(a={width:l/Math.tan(Math.abs(i))+c,height:l})}let{startColumn:o,endColumn:s}=this.getOverflowPosition(a,u,e,t,this.getColumnCount());if(o===s)return!0;this.appendToOverflowCache(e,t,o,s)}else if(s===l.WrapStrategy.WRAP&&i!==0){if(this.intersectMergeRange(e,t))return!0;let{startY:n,endY:a}=this.getCellWithCoordByIndex(e,t),o=a-n;r.getViewModel().getDataModel().updateDocumentDataPageSize(o),r.calculate();let s=Fs(r,i);if(!s)return!0;let{startColumn:c,endColumn:l}=this.getOverflowPosition(s,u,e,t,this.getColumnCount());if(c===l)return!0;this.appendToOverflowCache(e,t,c,l)}return!1}_getRangeByViewBounding(e,t,n,r){let i=e.length,a=t.length;if(!n)return{startRow:0,endRow:i-1,startColumn:0,endColumn:a-1};let o=(0,l.searchArray)(e,Math.round(n.top)-this.columnHeaderHeightAndMarginTop),s=Math.round(n.bottom)-this.columnHeaderHeightAndMarginTop,c=(0,l.searchArray)(e,s);c<i&&e[c-1]===s&&--c;let u=(0,l.searchArray)(t,Math.round(n.left)-this.rowHeaderWidthAndMarginLeft),d=Math.round(n.right)-this.rowHeaderWidthAndMarginLeft,f=(0,l.searchArray)(t,d);return f<a&&t[f-1]===d&&--f,r?{startRow:o,endRow:c===i-1?c:c-1,startColumn:u,endColumn:f===a-1?f:f-1}:{startRow:o,endRow:c,startColumn:u,endColumn:f}}getCurrentRowColumnSegmentMergeData(e){let t=this.columnWidthAccumulation.length-1;return e=e?{startRow:e.startRow,startColumn:0,endRow:e.endRow,endColumn:t}:{startRow:0,startColumn:0,endRow:this.rowHeightAccumulation.length-1,endColumn:t},this.worksheet.getMergedCellRange(e.startRow,e.startColumn,e.endRow,e.endColumn)}resetCache(){this._resetCache()}_resetCache(){var e,t,n;this._stylesCache={background:{},backgroundPositions:new l.ObjectMatrix,fontMatrix:new l.ObjectMatrix,border:new l.ObjectMatrix},(e=this._handleBgMatrix)==null||e.reset(),(t=this._handleBorderMatrix)==null||t.reset(),(n=this._overflowCache)==null||n.reset()}resetRangeCache(e){for(let t=0;t<e.length;t++){let n=e[t];l.Range.foreach(n,(e,t)=>{this._stylesCache.fontMatrix.realDeleteValue(e,t)})}this.makeDirty(!0)}_setBorderStylesCache(e,t,n,r){if(!l.Tools.isDefine(this._handleBorderMatrix.getValue(e,t))&&((r==null?void 0:r.cacheItem)||{bg:!0,border:!0}).border&&(this._handleBorderMatrix.setValue(e,t,!0),n&&n.bd)){let i=r==null?void 0:r.mergeRange;i?(this._setMergeBorderProps(E.TOP,this._stylesCache,i),this._setMergeBorderProps(E.BOTTOM,this._stylesCache,i),this._setMergeBorderProps(E.LEFT,this._stylesCache,i),this._setMergeBorderProps(E.RIGHT,this._stylesCache,i)):this.intersectMergeRange(e,t)||(this._setBorderProps(e,t,E.TOP,n,this._stylesCache),this._setBorderProps(e,t,E.BOTTOM,n,this._stylesCache),this._setBorderProps(e,t,E.LEFT,n,this._stylesCache),this._setBorderProps(e,t,E.RIGHT,n,this._stylesCache)),this._setBorderProps(e,t,E.TL_BR,n,this._stylesCache),this._setBorderProps(e,t,E.TL_BC,n,this._stylesCache),this._setBorderProps(e,t,E.TL_MR,n,this._stylesCache),this._setBorderProps(e,t,E.BL_TR,n,this._stylesCache),this._setBorderProps(e,t,E.ML_TR,n,this._stylesCache),this._setBorderProps(e,t,E.BC_TR,n,this._stylesCache)}}_setBgStylesCache(e,t,n,r){if(!l.Tools.isDefine(this._handleBgMatrix.getValue(e,t))&&((r==null?void 0:r.cacheItem)||{bg:!0,border:!0}).bg&&(this._handleBgMatrix.setValue(e,t,!0),n&&n.bg&&n.bg.rgb)){var i;let r=n.bg.rgb;this._stylesCache.background[r]||(this._stylesCache.background[r]=new l.ObjectMatrix),this._stylesCache.background[r].setValue(e,t,r);let a=this.getCellWithCoordByIndex(e,t,!1);(i=this._stylesCache.backgroundPositions)==null||i.setValue(e,t,a)}}_setFontStylesCache(e,t,n,r){var i;if((0,l.isNullCell)(n))return;let a={cellData:n,imageCacheMap:this._imageCacheMap},o=this._stylesCache.fontMatrix.getValue(e,t);if(!o)this._stylesCache.fontMatrix.setValue(e,t,a);else{let r=o;r.cellData=n,this._stylesCache.fontMatrix.setValue(e,t,o);return}let{vertexAngle:s,centerAngle:c}=$t((i=r==null?void 0:r.tr)==null?{a:0}:i),u=n!=null&&n.p||s||c?this.worksheet.getCellDocumentModel(n,r,{displayRawFormula:this._renderRawFormula}):null;if(u){let{documentModel:e}=u;if(e){let{fontString:t,wrapStrategy:i,verticalAlign:o,horizontalAlign:l}=u,d=new Or(e);if(d){let e=Cs.create(d,this._localeService);e.calculate(),a={documentSkeleton:e,vertexAngle:s,centerAngle:c,verticalAlign:o,horizontalAlign:l,wrapStrategy:i,imageCacheMap:this._imageCacheMap,cellData:n,fontString:t,style:r}}}}else{let e=pe(r==null?void 0:r).fontCache,{vt:t,ht:i,tb:o}=r==null?{}:r;a={documentSkeleton:void 0,vertexAngle:s,centerAngle:c,verticalAlign:t==null?l.VerticalAlign.UNSPECIFIED:t,horizontalAlign:i==null?l.HorizontalAlign.UNSPECIFIED:i,wrapStrategy:o==null?l.WrapStrategy.OVERFLOW:o,imageCacheMap:this._imageCacheMap,cellData:n,fontString:e,style:r}}this._calculateOverflowCell(e,t,a),this._stylesCache.fontMatrix.setValue(e,t,a)}_setStylesCacheForOneCell(e,t,n){if(e===-1||t===-1)return;n||(n={cacheItem:{bg:!0,border:!0}});let{isMerged:r,isMergedMainCell:i,startRow:a,startColumn:o,endRow:s,endColumn:c}=this.worksheet.getCellInfoInMergeData(e,t);if(r&&(n.mergeRange={startRow:a,startColumn:o,endRow:s,endColumn:c}),(this.worksheet.getColVisible(t)===!1||this.worksheet.getRowVisible(e)===!1)&&(r&&!i||!i))return;let l=this.worksheet.getCell(e,t)||this.worksheet.getCellRaw(e,t),u=this.worksheet.getComposedCellStyleByCellData(e,t,l);!l&&Object.keys(u).length===0||(this._setBgStylesCache(e,t,u,n),this._setBorderStylesCache(e,t,u,n),this._setFontStylesCache(e,t,{...l,s:u},u))}_setMergeBorderProps(e,t,n){if(!this.worksheet||!t.border)return;let r=[],i=n.startRow,a=n.endRow,o=n.startRow,s=n.startColumn;e===E.TOP?(o=n.startRow,i=n.startColumn,a=n.endColumn):e===E.BOTTOM?(o=n.endRow,i=n.startColumn,a=n.endColumn):e===E.LEFT?(s=n.startColumn,i=n.startRow,a=n.endRow):e===E.RIGHT&&(s=n.endColumn,i=n.startRow,a=n.endRow);for(let t=i;t<=a;t++){var c,u,d;e===E.TOP||e===E.BOTTOM?s=t:(e===E.LEFT||e===E.RIGHT)&&(o=t);let n=this.worksheet.getCell(o,s);if(!n)break;let i=(c=n.themeStyle)==null?void 0:c.bd,a=this.worksheet.getComposedCellStyleByCellData(o,s,n);if(!a&&!i)break;let f=(u=a==null||(d=a.bd)==null?void 0:d[e])==null?i==null?void 0:i[e]:u;if(f){let e=(0,l.getColorStyle)(f.cl)||`rgb(0,0,0)`;r.push({r:o,c:s,style:f.s,color:e})}}r.forEach(n=>{let{r,c:i,style:a,color:o}=n;t.border.getValue(r,i)||t.border.setValue(r,i,{}),t.border.getValue(r,i)[e]={type:e,style:a,color:o}})}_setBorderProps(e,t,n,r,i){var a;let o=(a=r.bd)==null?void 0:a[n];if(!o||!i.border)return;let s=(0,l.getColorStyle)(o.cl)||`rgb(0,0,0)`,c=i.border;if(c.getValue(e,t)||c.setValue(e,t,{[n]:{}}),n===E.TOP){var u;if((u=c.getValue(e-1,t))!=null&&u[E.BOTTOM]&&(0,l.isWhiteColor)(s))return}else if(n===E.LEFT){var d;if((d=c.getValue(e,t-1))!=null&&d[E.RIGHT]&&(0,l.isWhiteColor)(s))return}c.getValue(e,t)[n]={type:n,style:o.s,color:s}}getDistanceFromTopLeft(e,t){return{x:this.colStartX(t),y:this.rowStartY(e)}}colStartX(e){let t=this.columnWidthAccumulation,n=e-1;return n===-1?0:t[n]}rowStartY(e){let t=this.rowHeightAccumulation,n=e-1;return n===-1?0:t[n]}getHiddenRowsInRange(e){let t=[];for(let n=e.startRow;n<=e.endRow;n++)this.worksheet.getRowVisible(n)||t.push(n);return t}getHiddenColumnsInRange(e){let t=[];for(let n=e.startColumn;n<=e.endColumn;n++)this.worksheet.getColVisible(n)||t.push(n);return t}convertTransformToOffsetX(e,t,n){let{x:r}=n;return(e-r)*t}convertTransformToOffsetY(e,t,n){let{y:r}=n;return(e-r)*t}};Ms=Os([Ds(2,(0,l.Inject)(l.LocaleService)),Ds(3,l.IContextService),Ds(4,l.IConfigService),Ds(5,(0,l.Inject)(l.Injector))],Ms);function Ns(e,t,n){let{x:r}=n;return(e-r)*t}function Ps(e,t,n){let{y:r}=n;return(e-r)*t}function Fs(e,t=0){let n=e==null?void 0:e.getSkeletonData(),r=V(t);if(!n)return null;let{pages:i}=n;if(!i||i.length===0)return null;let a=i[i.length-1];if(!a)return null;let{width:o,height:s}=a;if(r===0)return{width:o,height:s};if(Math.abs(r)===Math.PI/2)return{width:s,height:o};let c=0,l=0,u=[];ya([a],e=>{let{lines:t,width:n,spaceWidth:i}=e,{rotatedHeight:a,rotatedWidth:o}=Pt(t,n,r);l+=a,u.push({rotatedWidth:o,spaceWidth:i})});let d=u.length;for(let e=0;e<d;e++){let{rotatedWidth:t}=u[e];e===0&&(c+=t)}return{width:c,height:l}}function Is(e,t,n){let r=n*Math.PI/180;return{rotatedWidth:Math.abs(e*Math.cos(r))+Math.abs(t*Math.sin(r)),rotatedHeight:Math.abs(e*Math.sin(r))+Math.abs(t*Math.cos(r))}}var Ls=class extends kn{constructor(){super(),U(this,`uKey`,`DefaultFontExtension`),U(this,`Z_INDEX`,45),U(this,`_imageFallback`,new Image),this._imageFallback.src=`data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTMwNC4xMjggNDU2LjE5MmM0OC42NCAwIDg4LjA2NC0zOS40MjQgODguMDY0LTg4LjA2NHMtMzkuNDI0LTg4LjA2NC04OC4wNjQtODguMDY0LTg4LjA2NCAzOS40MjQtODguMDY0IDg4LjA2NCAzOS40MjQgODguMDY0IDg4LjA2NCA4OC4wNjR6bTAtMTE2LjIyNGMxNS4zNiAwIDI4LjE2IDEyLjI4OCAyOC4xNiAyOC4xNnMtMTIuMjg4IDI4LjE2LTI4LjE2IDI4LjE2LTI4LjE2LTEyLjI4OC0yOC4xNi0yOC4xNiAxMi4yODgtMjguMTYgMjguMTYtMjguMTZ6IiBmaWxsPSIjZTZlNmU2Ii8+PHBhdGggZD0iTTg4Ny4yOTYgMTU5Ljc0NEgxMzYuNzA0Qzk2Ljc2OCAxNTkuNzQ0IDY0IDE5MiA2NCAyMzIuNDQ4djU1OS4xMDRjMCAzOS45MzYgMzIuMjU2IDcyLjcwNCA3Mi43MDQgNzIuNzA0aDE5OC4xNDRMNTAwLjIyNCA2ODguNjRsLTM2LjM1Mi0yMjIuNzIgMTYyLjMwNC0xMzAuNTYtNjEuNDQgMTQzLjg3MiA5Mi42NzIgMjE0LjAxNi0xMDUuNDcyIDE3MS4wMDhoMzM1LjM2QzkyNy4yMzIgODY0LjI1NiA5NjAgODMyIDk2MCA3OTEuNTUyVjIzMi40NDhjMC0zOS45MzYtMzIuMjU2LTcyLjcwNC03Mi43MDQtNzIuNzA0em0tMTM4Ljc1MiA3MS42OHYuNTEySDg1Ny42YzE2LjM4NCAwIDMwLjIwOCAxMy4zMTIgMzAuMjA4IDMwLjIwOHYzOTkuODcyTDY3My4yOCA0MDguMDY0bDc1LjI2NC0xNzYuNjR6TTMwNC42NCA3OTIuMDY0SDE2NS44ODhjLTE2LjM4NCAwLTMwLjIwOC0xMy4zMTItMzAuMjA4LTMwLjIwOHYtOS43MjhsMTM4Ljc1Mi0xNjQuMzUyIDEwNC45NiAxMjQuNDE2LTc0Ljc1MiA3OS44NzJ6bTgxLjkyLTM1NS44NGwzNy4zNzYgMjI4Ljg2NC0uNTEyLjUxMi0xNDIuODQ4LTE2OS45ODRjLTMuMDcyLTMuNTg0LTkuMjE2LTMuNTg0LTEyLjI4OCAwTDEzNS42OCA2NTIuOFYyNjIuMTQ0YzAtMTYuMzg0IDEzLjMxMi0zMC4yMDggMzAuMjA4LTMwLjIwOGg0NzQuNjI0TDM4Ni41NiA0MzYuMjI0em01MDEuMjQ4IDMyNS42MzJjMCAxNi44OTYtMTMuMzEyIDMwLjIwOC0yOS42OTYgMzAuMjA4SDY4MC45Nmw1Ny4zNDQtOTMuMTg0LTg3LjU1Mi0yMDIuMjQgNy4xNjgtNy42OCAyMjkuODg4IDI3Mi44OTZ6IiBmaWxsPSIjZTZlNmU2Ii8+PC9zdmc+`}getDocuments(){let e=this.parent;return e==null?void 0:e.getDocuments()}_drawFallbackImage(e,t,n,r,i){if(this._imageFallback.complete&&this._imageFallback.naturalWidth>0)try{e.drawImage(this._imageFallback,t,n,r,i)}catch(e){console.error(`Failed to draw fallback image:`,e)}}draw(e,t,n,r,i){let{stylesCache:a,worksheet:o}=n,{fontMatrix:s}=a;if(!n||!o||!s)return;let{rowHeightAccumulation:c,columnTotalWidth:u,columnWidthAccumulation:d,rowTotalHeight:f}=n;if(!c||!d||u===void 0||f===void 0||!o)return;let p=this._getScale(t),{viewRanges:m=[],checkOutOfViewBound:h}=i,g={ctx:e,scale:p,columnTotalWidth:u,rowTotalHeight:f,viewRanges:m,checkOutOfViewBound:h||!0,diffRanges:r,spreadsheetSkeleton:n};e.save();let _=[],v=new Set,y=n.getRowCount()-1,b=n.getColumnCount()-1;m.forEach(e=>{e.startColumn-=20,e.endColumn+=20,e=it(e,y,b),n.worksheet.getMergedCellRange(e.startRow,e.startColumn,e.endRow,e.endColumn).forEach(e=>{let t=n.worksheet.getSpanModel().getMergeDataIndex(e.startRow,e.startColumn);v.has(t)||(v.add(t),_.push(e))}),l.Range.foreach(e,(e,t)=>{if(n.worksheet.getSpanModel().getMergeDataIndex(e,t)!==-1)return;let r=n.getCellWithCoordByIndex(e,t,!1);r&&(g.cellInfo=r,this._renderFontEachCell(g,e,t,s))})}),_.forEach(e=>{g.cellInfo=n.getCellWithCoordByIndex(e.startRow,e.startColumn,!1),this._renderFontEachCell(g,e.startRow,e.startColumn,s)}),e.restore()}_renderFontEachCell(e,t,n,r){var i;let{ctx:a,viewRanges:o,diffRanges:s,spreadsheetSkeleton:c,cellInfo:l}=e,{startY:u,endY:d,startX:f,endX:p}=l,{isMerged:m,isMergedMainCell:h,mergeInfo:g}=l;if(e.startX=f,e.startY=u,e.endX=p,e.endY=d,m&&!h)return!0;h&&(e.startX=g.startX,e.startY=g.startY,e.endX=g.endX,e.endY=g.endY);let _=r.getValue(t,n);if(!_)return!0;e.fontCache=_;let v=c.overflowCache.getValue(t,n),y=s&&s.length>0?s:o,b=!h&&!m;if(!v&&b&&!nt(y,t,n))return!0;if(b){if(!c.worksheet.getRowVisible(t)||!c.worksheet.getColVisible(n))return!0}else{let e=!0;for(let t=g.startRow;t<=g.endRow;t++)if(c.worksheet.getRowVisible(t)){e=!1;break}if(e)return!0;let t=!0;for(let e=g.startColumn;e<=g.endColumn;e++)if(c.worksheet.getColVisible(e)){t=!1;break}if(t)return!0}let x=c.worksheet.getCell(t,n)||{};if(!(x==null||(i=x.fontRenderExtension)==null)&&i.isSkip)return!0;if(a.save(),a.beginPath(),e.overflowRectangle=v,this._clipByRenderBounds(e,t,n),a.translate(e.startX+j,e.startY+j),_.documentSkeleton?this._renderDocuments(a,t,n,e,c.overflowCache):this._renderText(a,t,n,e,c.overflowCache),a.closePath(),a.restore(),_.documentSkeleton){var S;(S=_.documentSkeleton.getViewModel().getDataModel().getDrawingsOrder())!=null&&S.length&&(a.save(),a.beginPath(),this._clipByRenderBounds(e,t,n,1),this._renderImages(a,_,e.startX,e.startY,e.endX,e.endY),a.closePath(),a.restore())}return e.startX=0,e.startY=0,e.endX=0,e.endY=0,e.overflowRectangle=null,!1}_renderImages(e,t,n,r,i,a){var o;let{documentSkeleton:s,verticalAlign:c,horizontalAlign:u}=t,d=s.getSkeletonData().pages[0].height,f=s.getSkeletonData().pages[0].width,p=n,m=r;switch(c){case l.VerticalAlign.TOP:m=r+2;break;case l.VerticalAlign.MIDDLE:m=(r+a)/2-d/2;break;default:m=a-d-2;break}switch(u){case l.HorizontalAlign.RIGHT:p=i-f-2;break;case l.HorizontalAlign.CENTER:p=(n+i)/2-f/2;break;default:p=n+2;break}let h=s.getViewModel().getDataModel().getDrawings(),g=(o=s.getSkeletonData())==null?void 0:o.pages[0].skeDrawings;g==null||g.forEach(n=>{let r=h==null?void 0:h[n.drawingId];if(r){let i=t.imageCacheMap.getImage(r.imageSourceType,r.source,()=>{var e;(e=this.parent)==null||e.makeDirty()},()=>{var e;(e=this.parent)==null||e.makeDirty()}),a=p+n.aLeft,o=m+n.aTop,s=n.width,c=n.height,l=n.angle,{rotatedHeight:u,rotatedWidth:d}=Is(s,c,l);if(i&&i.complete){let t=l*Math.PI/180;if(e.save(),e.translate(a+d/2,o+u/2),e.rotate(t),i.getAttribute(`data-error`)===`true`)this._drawFallbackImage(e,-d/2,-u/2,s,c);else try{e.drawImage(i,-d/2,-u/2,s,c)}catch{this._drawFallbackImage(e,-d/2,-u/2,s,c)}e.restore()}}})}_clipByRenderBounds(e,t,n,r=0){var i,a,o,s;let{ctx:c,scale:u,overflowRectangle:d,fontCache:f}=e,{startX:p,endX:m,startY:h,endY:g}=e,{horizontalAlign:_=0,vertexAngle:v=0,centerAngle:y=0}=f,b=_;_===l.HorizontalAlign.UNSPECIFIED&&(y===90&&v===90?b=l.HorizontalAlign.CENTER:(v>0&&v!==90||v===-90)&&(b=l.HorizontalAlign.RIGHT));let x=(i=f==null||(a=f.cellData)==null||(a=a.fontRenderExtension)==null?void 0:a.rightOffset)==null?0:i,S=(o=f==null||(s=f.cellData)==null||(s=s.fontRenderExtension)==null?void 0:s.leftOffset)==null?0:o,C=!0;v===0&&(p+=S,m-=x,(x!==0||S!==0)&&(C=!1));let w=m-p,T=g-h;if(d&&C){let{startColumn:i,startRow:a,endColumn:o,endRow:s}=d,{spreadsheetSkeleton:f}=e,{rowHeightAccumulation:m,columnWidthAccumulation:g}=f;i===o&&i===n?(c.rectByPrecision(p+1/u,h+1/u,w-2/u,T-2/u),c.clip()):b===l.HorizontalAlign.CENTER?this._clipRectangleForOverflow(c,a,s,i,o,u,m,g,r):b===l.HorizontalAlign.RIGHT?this._clipRectangleForOverflow(c,a,t,i,n,u,m,g,r):this._clipRectangleForOverflow(c,t,s,n,o,u,m,g,r)}else c.rectByPrecision(p+1/u,h+1/u,w-2/u,T-2/u),c.clip();e.startX=p,e.startY=h,e.endX=m,e.endY=g}_renderText(e,t,n,r,i){var a,o,s,c,u,d,f,p,m,h;let{fontCache:g}=r;if(!g)return;let _=(a=(o=g.style)==null?void 0:o.pd)==null?As:a,v=(s=_.l)==null?As.l:s,y=(c=_.r)==null?As.r:c,b=(u=_.t)==null?As.t:u,x=(d=_.b)==null?As.b:d,{vertexAngle:S=0,wrapStrategy:C,cellData:w}=g;if((w==null?void 0:w.v)===void 0||(w==null?void 0:w.v)===null)return;let T=(0,l.extractPureTextFromCell)(w),{startX:E,startY:D,endX:O,endY:k}=r,A=O-E-v-y,j=k-D-b-x,M=g.horizontalAlign;g.horizontalAlign===l.HorizontalAlign.UNSPECIFIED&&(w.t===l.CellValueType.NUMBER||!l.Tools.isDefine(w.t)&&typeof w.v==`number`?M=l.HorizontalAlign.RIGHT:w.t===l.CellValueType.BOOLEAN&&(M=l.HorizontalAlign.CENTER)),Sr.drawWith(e,{text:T,fontStyle:g.fontString,warp:C===l.WrapStrategy.WRAP&&S===0,hAlign:M,vAlign:g.verticalAlign,width:A,height:j,left:v,top:b,color:(f=g.style)==null||(f=f.cl)==null?void 0:f.rgb,strokeLine:!!(!((p=g.style)==null||(p=p.st)==null)&&p.s),underline:!!(!((m=g.style)==null||(m=m.ul)==null)&&m.s),underlineType:(h=g.style)==null||(h=h.ul)==null?void 0:h.t,cellValueType:w.t})}_renderDocuments(e,t,n,r,i){let a=this.getDocuments();if(a==null)throw Error(`documents is null`);let{fontCache:o}=r;if(!o)return;let{documentSkeleton:s,vertexAngle:c=0,wrapStrategy:u}=o;if(!s)return;let d=s.getViewModel().getDataModel(),{startX:f,startY:p,endX:m,endY:h}=r,g=m-f,_=h-p;u===l.WrapStrategy.WRAP&&c===0?(d.updateDocumentDataPageSize(m-f),s.calculate()):d.updateDocumentDataPageSize(1/0);let v=i.getValue(t,n);if(!(u===l.WrapStrategy.WRAP&&c===0)&&v){let e=Fs(s),t=d.getSnapshot().documentStyle;if(e&&t){let{width:n}=e,{marginRight:r=0,marginLeft:i=0}=t;s.getViewModel().getDataModel().updateDocumentDataPageSize(n+i+r),s.calculate()}let n=v.endColumn,i=v.startColumn,a=v.startRow,o=v.endRow,c=r.spreadsheetSkeleton.getCellWithCoordByIndex(o,n);m=c.endX,h=c.endY;let l=r.spreadsheetSkeleton.getCellWithCoordByIndex(a,i);f=l.startX,p=l.startY}let y={right:m-f,bottom:h-p};s.makeDirty(!1),a.resize(g,_),a.changeSkeleton(s).render(e,{viewBound:{left:0,top:0,right:y.right,bottom:y.bottom}})}_clipRectangleForOverflow(e,t,n,r,i,a,o,s,c=0){let l=o[t-1]||0,u=o[n]||o[o.length-1],d=s[r-1]||0,f=s[i]||s[s.length-1];e.rectByPrecision(d+c,l+c,f-d-2*c,u-l-2*c),e.clip()}};hn.add(Ls);const Rs=e=>{let{startRow:t,endRow:n,startColumn:r,endColumn:i}=e;return`${t}-${n}-${r}-${i}`};var zs=class extends kn{constructor(...e){super(...e),U(this,`Z_INDEX`,60),U(this,`uKey`,`DefaultMarkerExtension`)}draw(e,t,n,r){if(e.__mode===`printing`)return;let{worksheet:i,rowColumnSegment:a}=n;if(!i)return;let o=new Set;l.Range.foreach(a,(t,a)=>{var s,c,l,u;if(!i.getRowVisible(t)||!i.getColVisible(a))return;let d=i.getCell(t,a),f=n.getCellWithCoordByIndex(t,a,!1),{isMerged:p,isMergedMainCell:m,mergeInfo:h}=f,{startY:g,endY:_,startX:v,endX:y}=f;if((m||p)&&(g=h.startY,_=h.endY,v=h.startX,y=h.endX),p){let e={row:h.startRow,col:h.startColumn};d=i.getCell(e.row,e.col)}if(!this.isRenderDiffRangesByRow(h.startRow,h.endRow,r))return!0;if(f.isMerged||f.isMergedMainCell){let e=Rs(h);if(o.has(e))return;o.add(e)}if(d){if((s=d.markers)!=null&&s.tr){e.save();let t=d.markers.tr,n=y,r=g;e.fillStyle=t.color,e.moveTo(n,r),e.beginPath(),e.lineTo(n-t.size,r),e.lineTo(n,r+t.size),e.lineTo(n,r),e.closePath(),e.fill(),e.restore()}if((c=d.markers)!=null&&c.tl){e.save();let t=d.markers.tl,n=v,r=g;e.fillStyle=t.color,e.moveTo(n,r),e.beginPath(),e.lineTo(n+t.size,r),e.lineTo(n,r+t.size),e.lineTo(n,r),e.closePath(),e.fill(),e.restore()}if((l=d.markers)!=null&&l.br){e.save();let t=d.markers.br,n=y,r=_;e.fillStyle=t.color,e.moveTo(n,r),e.beginPath(),e.lineTo(n-t.size,r),e.lineTo(n,r-t.size),e.lineTo(n,r),e.closePath(),e.fill(),e.restore()}if((u=d.markers)!=null&&u.bl){e.save();let t=d.markers.bl,n=v,r=_;e.fillStyle=t.color,e.moveTo(n,r),e.beginPath(),e.lineTo(n+t.size,r),e.lineTo(n,r-t.size),e.lineTo(n,r),e.closePath(),e.fill(),e.restore()}}})}};hn.add(zs);const Bs={fontSize:13,fontFamily:y,fontColor:`#000000`,backgroundColor:F([248,249,250]),borderColor:F([217,217,217]),textAlign:`center`,textBaseline:`middle`};var Vs=class extends kn{constructor(e){super(),U(this,`uKey`,`DefaultRowHeaderLayoutExtension`),U(this,`Z_INDEX`,10),U(this,`rowsCfg`,{}),U(this,`headerStyle`,{}),U(this,`rowsCfgOfWorksheet`,new Map),U(this,`headerStyleOfWorksheet`,new Map),e&&this.configHeaderRow(e)}configHeaderRow(e,t){if(t){var n,r;this.rowsCfgOfWorksheet.set(t,(n=e.rowsCfg)==null?{}:n),this.headerStyleOfWorksheet.set(t,(r=e.headerStyle)==null?{}:r)}else{var i,a;this.rowsCfg=(i=e.rowsCfg)==null?{}:i,this.headerStyle=(a=e.headerStyle)==null?{}:a}}getRowsCfg(e){var t;let n=(t=this.rowsCfgOfWorksheet.get(e))==null?{}:t;return{...this.rowsCfg,...n}}getHeaderStyle(e){var t;let n=(t=this.headerStyleOfWorksheet.get(e))==null?{}:t;return{...Bs,...this.headerStyle,...n}}getCfgOfCurrentRow(e,t,n){let r,i;e[n]?(typeof e[n]==`string`&&(e[n]={text:e[n]}),i=e[n],r={...t,...i}):r={...t,text:`${n+1}`};let a=Object.keys(i||{}).length>1;return[r,a]}setStyleToCtx(e,t){t.textAlign&&(e.textAlign=t.textAlign),t.textBaseline&&(e.textBaseline=t.textBaseline),t.fontColor&&(e.fillStyle=t.fontColor),t.borderColor&&(e.strokeStyle=t.borderColor),t.fontSize&&(e.font=`${t.fontSize}px ${y}`)}draw(e,t,n){let{rowColumnSegment:r,rowHeaderWidth:i=0}=n,{startRow:a,endRow:o}=r;if(!n||i===0)return;let{rowHeightAccumulation:s,columnTotalWidth:c,columnWidthAccumulation:l,rowTotalHeight:u,worksheet:d}=n;if(!s||!l||c===void 0||u===void 0)return;let f=this.getRowsCfg(d.getSheetId()),p=this.getHeaderStyle(d.getSheetId()),m=this._getScale(t);this.setStyleToCtx(e,p),e.save(),e.fillStyle=p.backgroundColor,e.fillRectByPrecision(0,0,i,u),e.restore(),e.setLineWidthByPrecision(1),e.translateWithPrecisionRatio(j,j);let h=0,g=s.length;for(let t=a-1;t<=o;t++){if(t<0||t>g-1)continue;let n=s[t];if(h===n)continue;let r={left:0,top:h,right:i,bottom:n,width:i,height:n-h},[a,o]=this.getCfgOfCurrentRow(f,p,t);o&&a.backgroundColor&&(e.save(),e.fillStyle=a.backgroundColor,e.fillRectByPrecision(r.left,r.top,r.width,r.height),e.restore()),e.beginPath(),e.moveToByPrecision(r.left,r.bottom),e.lineToByPrecision(r.right,r.bottom),e.stroke();let c=(()=>{switch(a.textAlign){case`center`:return r.left+(r.right-r.left)/2;case`right`:return r.right-1;case`left`:return r.left+1;default:return r.left+(r.right-r.left)/2}})(),l=h+(n-h)/2+1;o&&(e.save(),e.beginPath(),this.setStyleToCtx(e,a),e.rectByPrecision(r.left,r.top,r.width,r.height),e.clip()),e.fillText(a.text,c,l),o&&e.restore(),h=n}let _=i-.5/m;e.beginPath(),e.moveToByPrecision(_,0),e.lineToByPrecision(_,u),e.stroke()}};gn.add(new Vs);var Hs=class extends bn{getDocuments(){throw Error(`Method not implemented.`)}getNoMergeCellPositionByIndex(e,t){throw Error(`Method not implemented.`)}getSelectionBounding(e,t,n,r){throw Error(`Method not implemented.`)}constructor(e,t){super(e,t),U(this,`_rowHeaderLayoutExtension`,void 0),this._initialDefaultExtension(),this.makeDirty(!0)}get rowHeaderLayoutExtension(){return this._rowHeaderLayoutExtension}draw(e,t){let n=this.getSkeleton();if(!n)return;let r=this.getParentScale();n.updateVisibleRange(t);let i=n.rowColumnSegment;if(!i||i.startRow===-1&&i.endRow===-1)return;let{columnHeaderHeight:a}=n;e.translateWithPrecision(0,a);let o=this.getExtensionsByOrder();for(let t of o)t.draw(e,r,n)}isHit(e){let t=this.getInverseCoord(e),n=this.getSkeleton();if(!n)return!1;let{rowHeaderWidth:r,columnHeaderHeight:i}=n;return t.x>=0&&t.x<=r&&t.y>i}_initialDefaultExtension(){gn.getData().forEach(e=>{this.register(e)}),this._rowHeaderLayoutExtension=this.getExtensionByKey(`DefaultRowHeaderLayoutExtension`)}setCustomHeader(e,t){this.makeDirty(!0),this._rowHeaderLayoutExtension.configHeaderRow(e,t)}},Us=class extends pn{constructor(e,t,n){super(e),this._skeleton=t,U(this,`pageMarginLeft`,0),U(this,`pageMarginTop`,0),U(this,`pageLayoutType`,mt.VERTICAL),this._setConfig(n)}getSkeleton(){return this._skeleton}setSkeleton(e){this._skeleton=e}_setConfig(e){(e==null?void 0:e.pageMarginLeft)==null?this.pageMarginLeft=17:this.pageMarginLeft=e==null?void 0:e.pageMarginLeft,(e==null?void 0:e.pageMarginTop)==null?this.pageMarginTop=14:this.pageMarginTop=e==null?void 0:e.pageMarginTop,(e==null?void 0:e.pageLayoutType)==null?this.pageLayoutType=mt.VERTICAL:this.pageLayoutType=e==null?void 0:e.pageLayoutType}render(e,t){if(!this.visible)return this.makeDirty(!1),this;if(!this._skeleton)return;let n=this.transform.getMatrix();e.save(),e.transform(n[0],n[1],n[2],n[3],n[4],n[5]),this._draw(e,t),e.restore()}getParentScale(){if(!this.parent)return{scaleX:1,scaleY:1};let{scaleX:e=1,scaleY:t=1}=this.parent;return this.parent.classType===O.SCENE&&(e=this.parent.ancestorScaleX||1,t=this.parent.ancestorScaleY||1),{scaleX:e,scaleY:t}}isSkipByDiffBounds(e,t,n,r){if(r==null)return!1;let{pageWidth:i,pageHeight:a,marginBottom:o,marginTop:s,marginLeft:c,marginRight:l}=e,u=n+i+c+l,d=t+a+o+s,{left:f,top:p,right:m,bottom:h}=r.viewBound;return u<f||d<p||n>m&&i!==1/0||t>h&&a!==1/0}};let Ws=function(e){return e[e.SPAN=0]=`SPAN`,e[e.LINE=1]=`LINE`,e}({});var Gs=class extends mn{constructor(...e){super(...e),U(this,`type`,Ws.SPAN),U(this,`translateX`,0),U(this,`translateY`,0)}},Ks=class extends Gs{constructor(...e){super(...e),U(this,`uKey`,`DefaultDocsBackgroundExtension`),U(this,`Z_INDEX`,10),U(this,`_preBackgroundColor`,``)}draw(e,t,n){var r;let i=(r=n.parent)==null?void 0:r.parent;if(i==null)return;let{contentHeight:a=0}=i,{ts:o,width:s,content:c}=n;if((o==null?void 0:o.bg)==null)return;let{bg:u}=o,d=(0,l.getColorStyle)(u),{spanStartPoint:f=K.create(0,0)}=this.extensionOffset;d&&c!==`\r`&&(e.fillStyle=d,e.fillRect(f.x-.5,f.y+1,s+1,a+2))}clearCache(){this._preBackgroundColor=``}};vn.add(new Ks);var qs=class extends Gs{constructor(...e){super(...e),U(this,`uKey`,`DefaultDocsBorderExtension`),U(this,`Z_INDEX`,50),U(this,`_preBorderStyle`,void 0),U(this,`_preBorderColor`,``)}draw(e,t,n){var r;let i=(r=n.parent)==null?void 0:r.parent;if(!i)return;let{asc:a=0,lineHeight:o=0}=i,{ts:s,left:c,width:u}=n;if(!s)return;let{bd:d}=s;if(!d)return;let f=this._getScale(e.getScale()),p=this._createBorderCache(d);e.save(),e.translateWithPrecisionRatio(j,j);let{spanStartPoint:m=K.create(0,0)}=this.extensionOffset;for(let t of p.keys()){let n=p.get(t);if(!n)continue;let{s:r,cl:i}=n,a=(0,l.getColorStyle)(i)||`rgb(0,0,0)`,s=jt(r);r!==this._preBorderStyle&&(Ot(e,r),e.setLineWidthByPrecision(s),this._preBorderStyle=r),a!==this._preBorderColor&&(e.strokeStyle=a||`rgb(0,0,0)`,this._preBorderColor=a),Ct(e,t,(s-1)/2/f,{startX:m.x,startY:m.y,endX:m.x+u,endY:m.y+o})}e.restore()}clearCache(){this._preBorderStyle=null,this._preBorderColor=``}_createBorderCache(e){let{t,b:n,l:r,r:i}=e,a=new Map;return t&&a.set(E.TOP,t),n&&a.set(E.BOTTOM,n),r&&a.set(E.LEFT,r),i&&a.set(E.RIGHT,i),a}};vn.add(new qs);const Js=[`checked`];var Ys=class e extends br{constructor(e,t){super(e,t),U(this,`_checked`,!1),l.Tools.isDefine(t.checked)&&(this._checked=t.checked)}get checked(){return this._checked}static drawWith(e,t){let{width:n=16,height:r=16,fill:i,checked:a,top:o=0,left:s=0}=t,c=new Path2D(`M12 2.65381H4C3.17157 2.65381 2.5 3.32538 2.5 4.15381V12.1538C2.5 12.9822 3.17157 13.6538 4 13.6538H12C12.8284 13.6538 13.5 12.9822 13.5 12.1538V4.15381C13.5 3.32538 12.8284 2.65381 12 2.65381ZM4 1.65381C2.61929 1.65381 1.5 2.7731 1.5 4.15381V12.1538C1.5 13.5345 2.61929 14.6538 4 14.6538H12C13.3807 14.6538 14.5 13.5345 14.5 12.1538V4.15381C14.5 2.7731 13.3807 1.65381 12 1.65381H4Z`),l=new Path2D(`M3.99243 1.65381C2.61172 1.65381 1.49243 2.77295 1.49243 4.15381V12.1538C1.49243 13.5347 2.61172 14.6538 3.99243 14.6538H11.9924C13.3731 14.6538 14.4924 13.5347 14.4924 12.1538V4.15381C14.4924 2.77295 13.3731 1.65381 11.9924 1.65381H3.99243ZM12.3779 6.3623C12.6317 6.1084 12.6317 5.69678 12.3779 5.44287C12.1241 5.18896 11.7125 5.18896 11.4586 5.44287L7.21062 9.69092L5.00681 7.4873C4.75296 7.2334 4.3414 7.2334 4.08755 7.4873C3.83372 7.74072 3.83372 8.15234 4.08757 8.40625L6.85709 11.1758C7.05234 11.3711 7.36893 11.3711 7.56418 11.1758L12.3779 6.3623Z`);e.save(),e.translate(s,o),e.scale(n/16,r/16),i&&(e.fillStyle=i),a?e.fill(l,`evenodd`):e.fill(c,`evenodd`),e.restore()}_draw(t){e.drawWith(t,this)}toJson(){let e={};return Js.forEach(t=>{this[t]&&(e[t]=this[t])}),{...super.toJson(),...e}}};const Xs=[`radius`];var Zs=class e extends br{constructor(e,t){super(e,t),U(this,`_radius`,void 0),U(this,`objectType`,nn.CIRCLE),this._radius=(t==null?void 0:t.radius)||10,this._setFixBoundingBox(),this.onTransformChange$.subscribeEvent(e=>{let{type:t,value:n,preValue:r}=e;if(t===J.resize||t===J.all){let e=Math.min(this.width,this.height);this._radius=e/2,this.width=e,this.height=e,this._setTransForm()}})}get radius(){return this._radius}static drawWith(e,t){var n;let{radius:r}=t;r=(n=r)==null?10:n,e.beginPath(),t.strokeDashArray&&e.setLineDash(t.strokeDashArray),e.beginPath(),e.arc(r,r,r||0,0,Math.PI*2,!1),e.closePath(),this._renderPaintInOrder(e,t)}toJson(){let e={};return Xs.forEach(t=>{this[t]&&(e[t]=this[t])}),{...super.toJson(),...e}}_draw(t){e.drawWith(t,this)}_setFixBoundingBox(){this.transformByState({width:this._radius*2,height:this._radius*2})}},Qs=class{};const $s=[`radius`];var ec=class e extends br{constructor(e,t){super(e,t),U(this,`objectType`,nn.RECT),U(this,`_radius`,0),U(this,`_opacity`,1),U(this,`_visualHeight`,void 0),U(this,`_visualWidth`,void 0),t!=null&&t.radius&&(this._radius=t.radius),t!=null&&t.visualHeight&&(this._visualHeight=t.visualHeight),t!=null&&t.visualWidth&&(this._visualWidth=t.visualWidth)}get visualHeight(){return this._visualHeight}get visualWidth(){return this._visualWidth}get radius(){return this._radius}get opacity(){return this._opacity}setObjectType(e){this.objectType=e}setOpacity(e){this._opacity=e}static drawWith(e,t){var n,r,i;let{radius:a,width:o,height:s}=t;if(a=(n=a)==null?0:n,o=(r=o)==null?0:r,s=(i=s)==null?0:i,e.save(),e.beginPath(),t.strokeDashArray&&e.setLineDash(t.strokeDashArray),t.visualHeight&&(e.translate(0,(s-(t.visualHeight||0))/2),s=t.visualHeight),t.visualWidth&&(e.translate((o-(t.visualWidth||0))/2,0),o=t.visualWidth),!a)e.rect(0,0,o,s);else{let t=0,n=0,r=0,i=0;t=n=r=i=Math.min(a,o/2,s/2),e.moveTo(t,0),e.lineTo(o-n,0),e.arc(o-n,n,n,Math.PI*3/2,0,!1),e.lineTo(o,s-i),e.arc(o-i,s-i,i,0,Math.PI/2,!1),e.lineTo(r,s),e.arc(r,s-r,r,Math.PI/2,Math.PI,!1),e.lineTo(0,t),e.arc(t,t,t,Math.PI,Math.PI*3/2,!1)}e.closePath(),this._renderPaintInOrder(e,t),e.restore()}toJson(){let e={};return $s.forEach(t=>{this[t]&&(e[t]=this[t])}),{...super.toJson(),...e}}_draw(t){e.drawWith(t,this)}},tc=class e extends ec{static drawWith(e,t){var n,r,i,a,o;let{radius:s,left:c,top:l,width:u,height:d}=t;if(s=(n=s)==null?0:n,u=(r=u)==null?0:r,d=(i=d)==null?0:i,c=(a=c)==null?0:a,l=(o=l)==null?0:o,e.beginPath(),e.setLineDash(t.strokeDashArray),!s)e.rect(c,l,u,d);else{let t=0,n=0,r=0,i=0;t=n=r=i=Math.min(s,u/2,d/2),e.moveTo(t,0),e.lineTo(u-n,0),e.arc(u-n,n,n,Math.PI*3/2,0,!1),e.lineTo(u,d-i),e.arc(u-i,d-i,i,0,Math.PI/2,!1),e.lineTo(r,d),e.arc(r,d-r,r,Math.PI/2,Math.PI,!1),e.lineTo(0,t),e.arc(t,t,t,Math.PI,Math.PI*3/2,!1)}e.closePath(),this._renderPaintInOrder(e,t)}_draw(t,n){let{radius:r,paintFirst:i,stroke:a,strokeWidth:o,fill:s,strokeScaleEnabled:c,fillRule:u,strokeLineCap:d,strokeDashOffset:f,strokeLineJoin:p,strokeMiterLimit:m,strokeDashArray:h}=this,g=this.getParent().transform,_=g.getMatrix()[4],v=g.getMatrix()[5],y={left:_,top:v,right:_+this.width,bottom:v+this.height},{left:b,top:x,right:S,bottom:C}=y,w=S-b,T=C-x;if(n){let e=l.Rectangle.getIntersectionBetweenTwoRect(y,n.cacheBound);e&&(b=e.left-_,x=e.top-v,S=e.right,C=e.bottom,w=e.width,T=e.height)}e.drawWith(t,{radius:r,paintFirst:i,stroke:a,strokeWidth:o,fill:s,strokeScaleEnabled:c,fillRule:u,strokeLineCap:d,strokeDashOffset:f,strokeLineJoin:p,strokeMiterLimit:m,strokeDashArray:h,width:w,height:T,left:b,top:x})}},nc=class{},rc=class extends br{constructor(e,t){super(e,t),U(this,`_props`,void 0),U(this,`_native`,void 0),U(this,`_renderByCropper`,!1),U(this,`_transformCalculateSrcRect`,!0),U(this,`objectType`,nn.IMAGE),U(this,`isDrawingObject`,!0),this._props={...t},t.image?(this._native=t.image,this._native.crossOrigin=`anonymous`,this.makeDirty(!0)):t.url&&(this._native=document.createElement(`img`),this._native.src=t.url,this._native.crossOrigin=`anonymous`,this._native.onload=()=>{var n,r;(n=t.success)==null||n.call(t),this.makeDirty(!0),(r=this.getEngine())==null||(r=r.activeScene)==null||r.onFileLoaded$.emitEvent(e)},this._native.onerror=()=>{t.fail?t.fail():(this._native.src=`data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTMwNC4xMjggNDU2LjE5MmM0OC42NCAwIDg4LjA2NC0zOS40MjQgODguMDY0LTg4LjA2NHMtMzkuNDI0LTg4LjA2NC04OC4wNjQtODguMDY0LTg4LjA2NCAzOS40MjQtODguMDY0IDg4LjA2NCAzOS40MjQgODguMDY0IDg4LjA2NCA4OC4wNjR6bTAtMTE2LjIyNGMxNS4zNiAwIDI4LjE2IDEyLjI4OCAyOC4xNiAyOC4xNnMtMTIuMjg4IDI4LjE2LTI4LjE2IDI4LjE2LTI4LjE2LTEyLjI4OC0yOC4xNi0yOC4xNiAxMi4yODgtMjguMTYgMjguMTYtMjguMTZ6IiBmaWxsPSIjZTZlNmU2Ii8+PHBhdGggZD0iTTg4Ny4yOTYgMTU5Ljc0NEgxMzYuNzA0Qzk2Ljc2OCAxNTkuNzQ0IDY0IDE5MiA2NCAyMzIuNDQ4djU1OS4xMDRjMCAzOS45MzYgMzIuMjU2IDcyLjcwNCA3Mi43MDQgNzIuNzA0aDE5OC4xNDRMNTAwLjIyNCA2ODguNjRsLTM2LjM1Mi0yMjIuNzIgMTYyLjMwNC0xMzAuNTYtNjEuNDQgMTQzLjg3MiA5Mi42NzIgMjE0LjAxNi0xMDUuNDcyIDE3MS4wMDhoMzM1LjM2QzkyNy4yMzIgODY0LjI1NiA5NjAgODMyIDk2MCA3OTEuNTUyVjIzMi40NDhjMC0zOS45MzYtMzIuMjU2LTcyLjcwNC03Mi43MDQtNzIuNzA0em0tMTM4Ljc1MiA3MS42OHYuNTEySDg1Ny42YzE2LjM4NCAwIDMwLjIwOCAxMy4zMTIgMzAuMjA4IDMwLjIwOHYzOTkuODcyTDY3My4yOCA0MDguMDY0bDc1LjI2NC0xNzYuNjR6TTMwNC42NCA3OTIuMDY0SDE2NS44ODhjLTE2LjM4NCAwLTMwLjIwOC0xMy4zMTItMzAuMjA4LTMwLjIwOHYtOS43MjhsMTM4Ljc1Mi0xNjQuMzUyIDEwNC45NiAxMjQuNDE2LTc0Ljc1MiA3OS44NzJ6bTgxLjkyLTM1NS44NGwzNy4zNzYgMjI4Ljg2NC0uNTEyLjUxMi0xNDIuODQ4LTE2OS45ODRjLTMuMDcyLTMuNTg0LTkuMjE2LTMuNTg0LTEyLjI4OCAwTDEzNS42OCA2NTIuOFYyNjIuMTQ0YzAtMTYuMzg0IDEzLjMxMi0zMC4yMDggMzAuMjA4LTMwLjIwOGg0NzQuNjI0TDM4Ni41NiA0MzYuMjI0em01MDEuMjQ4IDMyNS42MzJjMCAxNi44OTYtMTMuMzEyIDMwLjIwOC0yOS42OTYgMzAuMjA4SDY4MC45Nmw1Ny4zNDQtOTMuMTg0LTg3LjU1Mi0yMDIuMjQgNy4xNjgtNy42OCAyMjkuODg4IDI3Mi44OTZ6IiBmaWxsPSIjZTZlNmU2Ii8+PC9zdmc+`,this.makeDirty(!0))}),this._init()}get srcRect(){return this._props.srcRect}get prstGeom(){return this._props.prstGeom}get opacity(){var e;return(e=this._props.opacity)==null?1:e}setOpacity(e){this._props.opacity=e,this.makeDirty(!0)}get classType(){return O.IMAGE}transformByStateCloseCropper(e){this._transformCalculateSrcRect=!1,this.transformByState(e),this._transformCalculateSrcRect=!0}changeSource(e){this._native==null&&(this._native=document.createElement(`img`)),this._native.src=e,this._native.onload=()=>{this.makeDirty(!0)}}resetSize(){this._native!=null&&(this.transformByState({width:this._native.width,height:this._native.height}),this.setSrcRect(null))}setPrstGeom(e){this._props.prstGeom=e}setSrcRect(e){this._props.srcRect=e,this.makeDirty(!0)}getProps(){return this._props}getNative(){return this._native}getNativeSize(){return this._native==null?{width:this.width,height:this.height}:{width:this._native.width,height:this._native.height}}closeRenderByCropper(){this._renderByCropper=!1}openRenderByCropper(){this._renderByCropper=!0,this._transformBySrcRect()}calculateTransformWithSrcRect(){let{left:e,top:t,width:n,height:r}=this;if(this.srcRect==null)return{left:e,top:t,width:n,height:r,angle:this.angle};let{left:i=0,top:a=0,right:o=0,bottom:s=0}=this.srcRect;return{left:e-i,top:t-a,width:n+o+i,height:r+s+a,angle:this.angle}}_transformBySrcRect(){if(this.srcRect==null)return;let{left:e=0,top:t=0,right:n=0,bottom:r=0}=this.srcRect,{width:i,height:a}=this,{left:o,top:s,width:c,height:l}=this.calculateTransformWithSrcRect();if(this.angle!==0){let n=(i+this.strokeWidth)/2,r=(a+this.strokeWidth)/2,u=c/2-e,d=l/2-t,f=It(new K(n,r),this.angle,new K(o,s),new K(u,d));o=f.x,s=f.y}this.transformByState({left:o,top:s,width:c,height:l})}render(e,t){if(!this.visible)return this.makeDirty(!1),this;if(!this.transform)return this;let{width:n,height:r,left:i,top:a}=this,o=this.getRealBound();if(n=o.width,r=o.height,i=o.left,a=o.top,this.isRender(t)){let{top:e,left:o,bottom:s,right:c}=t.viewBound;if(n+this.strokeWidth+i<o||c<i||r+this.strokeWidth+a<e||s<a)return this}let s=this.transform.getMatrix();e.save();let c=i+n/2,l=a+r/2;return e.transform(s[0],s[1],s[2],s[3],c,l),this.opacity!==1&&(e.globalAlpha=this.opacity),this._draw(e,void 0,n,r),e.restore(),this.makeDirty(!1),this}_draw(e,t,n,r){if(this._native==null)return;let i=n==null?this.width:n,a=r==null?this.height:r;if(!this._renderByCropper&&this.srcRect){let{left:t=0,top:n=0,right:r=0,bottom:o=0}=this.srcRect;e.beginPath(),e.rect(-i/2,-a/2,i,a),e.clip(),e.drawImage(this._native,-t-i/2,-n-a/2,i+r+t,a+o+n)}else e.drawImage(this._native,-i/2,-a/2,i,a)}_init(){this.onTransformChange$.subscribeEvent(e=>{this._updateSrcRectByTransform(e)})}_updateSrcRectByTransform(e){if(this.srcRect==null||!this._transformCalculateSrcRect)return;let{width:t,height:n,left:r,top:i,angle:a}=this,{width:o=0,height:s=0,left:c=0,top:l=0,angle:u}=e.preValue,{left:d=0,top:f=0,right:p=0,bottom:m=0}=this.srcRect,h=d,g=f,_=p,v=m,y=!1;if(o!==0&&o!==t){let e=d/o,n=p/o;h=t*e,_=t*n,y=!0}if(s!==0&&s!==n){let e=f/s,t=m/s;g=n*e,v=n*t,y=!0}y&&this.setSrcRect({left:h,top:g,right:_,bottom:v})}set transform(e){this._transform=e}get transform(){this._transform||this._setTransForm();let e=this._transform.clone();return this.transformForAngle(e)}isHit(e){let{left:t,top:n,width:r,height:i}=this.getRealBound(),a=t+r/2,o=n+i/2,s=this.transform.getMatrix(),c=new Y([s[0],s[1],s[2],s[3],a,o]),l=this.getParent(),u=(this.isInGroup&&(l==null?void 0:l.classType)===O.GROUP?l.ancestorTransform.multiply(c):c).invert().applyPoint(e),d=r/2,f=i/2;return u.x>=-d-this.strokeWidth/2&&u.x<=d+this.strokeWidth/2&&u.y>=-f-this.strokeWidth/2&&u.y<=f+this.strokeWidth/2}};const ic=[`dataArray`];var ac=class e extends br{constructor(t,n){super(t,n),U(this,`_dataArray`,[]),U(this,`_pathLength`,0),U(this,`_selfRectCache`,{left:0,top:0,width:0,height:0}),U(this,`_reCalculateCache`,!0),n!=null&&n.data?this._dataArray=e.parsePathData(n.data):n!=null&&n.dataArray&&(this._dataArray=n.dataArray);for(let e=0;e<this.dataArray.length;++e)this._pathLength+=this.dataArray[e].pathLength;this._setFixBoundingBox(),this.onTransformChange$.subscribeEvent(e=>{let{type:t,preValue:n}=e;if(t===J.resize||t===J.all){this._reCalculateCache=!0;let{left:e,top:t,width:r,height:i}=this._getSelfRect(),{width:a,height:o}=n,s,c;s=a?this.width-a:0,c=o?this.height-o:0;let l=s/r,u=c/i;this.scaleX+=l,this.scaleY+=u,this.left-=e*l,this.top-=t*u,this._setTransForm()}})}get dataArray(){return this._dataArray}static drawWith(e,t){let n=t.dataArray;if(n){e.beginPath();for(let t=0;t<n.length;t++){let r=n[t].command,i=n[t].points;switch(r){case`L`:e.lineTo(i[0],i[1]);break;case`M`:e.moveTo(i[0],i[1]);break;case`C`:e.bezierCurveTo(i[0],i[1],i[2],i[3],i[4],i[5]);break;case`Q`:e.quadraticCurveTo(i[0],i[1],i[2],i[3]);break;case`A`:{let t=i[0],n=i[1],r=i[2],a=i[3],o=i[4],s=i[5],c=i[6],l=i[7],u=r>a?r:a,d=r>a?1:r/a,f=r>a?a/r:1;e.translate(t,n),e.rotate(c),e.scale(d,f),e.arc(0,0,u,o,o+s,!!(1-l)),e.scale(1/d,1/f),e.rotate(-c),e.translate(-t,-n);break}case`z`:e.closePath();break}}this._renderPaintInOrder(e,t)}}static getLineLength(e,t,n,r){return Math.sqrt((n-e)*(n-e)+(r-t)*(r-t))}static getPointOnLine(e,t,n,r,i,a,o){a===void 0&&(a=t),o===void 0&&(o=n);let s=(i-n)/(r-t+1e-8),c=Math.sqrt(e*e/(1+s*s));r<t&&(c*=-1);let l=s*c,u;if(r===t)u={x:a,y:o+l};else if((o-n)/(a-t+1e-8)===s)u={x:a+c,y:o+l};else{let d=this.getLineLength(t,n,r,i),f=(a-t)*(r-t)+(o-n)*(i-n);f/=d*d;let p=t+f*(r-t),m=n+f*(i-n),h=this.getLineLength(a,o,p,m),g=Math.sqrt(e*e-h*h);c=Math.sqrt(g*g/(1+s*s)),r<t&&(c*=-1),l=s*c,u={x:p+c,y:m+l}}return u}static getPointOnCubicBezier(e,t,n,r,i,a,o,s,c){function l(e){return e*e*e}function u(e){return 3*e*e*(1-e)}function d(e){return 3*e*(1-e)*(1-e)}function f(e){return(1-e)*(1-e)*(1-e)}return{x:s*l(e)+a*u(e)+r*d(e)+t*f(e),y:c*l(e)+o*u(e)+i*d(e)+n*f(e)}}static getPointOnQuadraticBezier(e,t,n,r,i,a,o){function s(e){return e*e}function c(e){return 2*e*(1-e)}function l(e){return(1-e)*(1-e)}return{x:a*s(e)+r*c(e)+t*l(e),y:o*s(e)+i*c(e)+n*l(e)}}static getPointOnEllipticalArc(e,t,n,r,i,a){let o=Math.cos(a),s=Math.sin(a),c={x:n*Math.cos(i),y:r*Math.sin(i)};return{x:e+(c.x*o-c.y*s),y:t+(c.x*s+c.y*o)}}static parsePathData(e){if(!e)return[];let t=e,n=[`m`,`M`,`l`,`L`,`v`,`V`,`h`,`H`,`z`,`Z`,`c`,`C`,`q`,`Q`,`t`,`T`,`s`,`S`,`a`,`A`];t=t.replace(RegExp(` `,`g`),`,`);for(let e=0,r=n.length;e<r;e++)t=t.replace(new RegExp(n[e],`g`),`|${n[e]}`);let r=t.split(`|`),i=[],a=[],o=0,s=0,c=/([-+]?((\d+\.\d+)|((\d+)|(\.\d+)))(?:e[-+]?\d+)?)/gi,l;for(let e=1,t=r.length;e<t;e++){let t=r[e],n=t.charAt(0);for(t=t.slice(1),a.length=0;l=c.exec(t);)a.push(l[0]);let u=[];for(let e=0,t=a.length;e<t;e++){if(a[e]===`00`){u.push(0,0);continue}let t=Number.parseFloat(a[e]);isNaN(t)?u.push(0):u.push(t)}for(;u.length>0&&!isNaN(u[0]);){let e,t=[],r=o,a=s,c,l,d,f,p,m,h,g,_,v;switch(n){case`l`:o+=u.shift()||0,s+=u.shift()||0,e=`L`,t.push(o,s);break;case`L`:o=u.shift()||0,s=u.shift()||0,t.push(o,s);break;case`m`:{let r=u.shift()||0,a=u.shift()||0;if(o+=r,s+=a,e=`M`,i.length>2&&i[i.length-1].command===`z`){for(let e=i.length-2;e>=0;e--)if(i[e].command===`M`){o=i[e].points[0]+r,s=i[e].points[1]+a;break}}t.push(o,s),n=`l`;break}case`M`:o=u.shift()||0,s=u.shift()||0,e=`M`,t.push(o,s),n=`L`;break;case`h`:o+=u.shift()||0,e=`L`,t.push(o,s);break;case`H`:o=u.shift()||0,e=`L`,t.push(o,s);break;case`v`:s+=u.shift()||0,e=`L`,t.push(o,s);break;case`V`:s=u.shift()||0,e=`L`,t.push(o,s);break;case`C`:t.push(u.shift()||0,u.shift()||0,u.shift()||0,u.shift()||0),o=u.shift()||0,s=u.shift()||0,t.push(o,s);break;case`c`:t.push(o+(u.shift()||0),s+(u.shift()||0),o+(u.shift()||0),s+(u.shift()||0)),o+=u.shift()||0,s+=u.shift()||0,e=`C`,t.push(o,s);break;case`S`:l=o,d=s,c=i[i.length-1],c.command===`C`&&(l=o+(o-c.points[2]),d=s+(s-c.points[3])),t.push(l,d,u.shift()||0,u.shift()||0),o=u.shift()||0,s=u.shift()||0,e=`C`,t.push(o,s);break;case`s`:l=o,d=s,c=i[i.length-1],c.command===`C`&&(l=o+(o-c.points[2]),d=s+(s-c.points[3])),t.push(l,d,o+(u.shift()||0),s+(u.shift()||0)),o+=u.shift()||0,s+=u.shift()||0,e=`C`,t.push(o,s);break;case`Q`:t.push(u.shift()||0,u.shift()||0),o=u.shift()||0,s=u.shift()||0,t.push(o,s);break;case`q`:t.push(o+(u.shift()||0),s+(u.shift()||0)),o+=u.shift()||0,s+=u.shift()||0,e=`Q`,t.push(o,s);break;case`T`:l=o,d=s,c=i[i.length-1],c.command===`Q`&&(l=o+(o-c.points[0]),d=s+(s-c.points[1])),o=u.shift()||0,s=u.shift()||0,e=`Q`,t.push(l,d,o,s);break;case`t`:l=o,d=s,c=i[i.length-1],c.command===`Q`&&(l=o+(o-c.points[0]),d=s+(s-c.points[1])),o+=u.shift()||0,s+=u.shift()||0,e=`Q`,t.push(l,d,o,s);break;case`A`:f=u.shift()||0,p=u.shift()||0,m=u.shift()||0,h=u.shift()||0,g=u.shift()||0,_=o,v=s,o=u.shift()||0,s=u.shift()||0,e=`A`,t=this.convertEndpointToCenterParameterization(_,v,o,s,h,g,f,p,m);break;case`a`:f=u.shift()||0,p=u.shift()||0,m=u.shift()||0,h=u.shift()||0,g=u.shift()||0,_=o,v=s,o+=u.shift()||0,s+=u.shift()||0,e=`A`,t=this.convertEndpointToCenterParameterization(_,v,o,s,h,g,f,p,m);break}i.push({command:e||n,points:t,start:{x:r,y:a},pathLength:this.calcLength(r,a,e||n,t)})}(n===`z`||n===`Z`)&&i.push({command:`z`,points:[],start:{x:0,y:0},pathLength:0})}return i}static calcLength(t,n,r,i){let a,o,s,c,l=e;switch(r){case`L`:return l.getLineLength(t,n,i[0],i[1]);case`C`:for(a=0,o=l.getPointOnCubicBezier(0,t,n,i[0],i[1],i[2],i[3],i[4],i[5]),c=.01;c<=1;c+=.01)s=l.getPointOnCubicBezier(c,t,n,i[0],i[1],i[2],i[3],i[4],i[5]),a+=l.getLineLength(o.x,o.y,s.x,s.y),o=s;return a;case`Q`:for(a=0,o=l.getPointOnQuadraticBezier(0,t,n,i[0],i[1],i[2],i[3]),c=.01;c<=1;c+=.01)s=l.getPointOnQuadraticBezier(c,t,n,i[0],i[1],i[2],i[3]),a+=l.getLineLength(o.x,o.y,s.x,s.y),o=s;return a;case`A`:{a=0;let e=i[4],t=i[5],n=i[4]+t,r=Math.PI/180;if(Math.abs(e-n)<r&&(r=Math.abs(e-n)),o=l.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],e,0),t<0)for(c=e-r;c>n;c-=r)s=l.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],c,0),a+=l.getLineLength(o.x,o.y,s.x,s.y),o=s;else for(c=e+r;c<n;c+=r)s=l.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],c,0),a+=l.getLineLength(o.x,o.y,s.x,s.y),o=s;return s=l.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],n,0),a+=l.getLineLength(o.x,o.y,s.x,s.y),a}}return 0}static convertEndpointToCenterParameterization(e,t,n,r,i,a,o,s,c){let l=c*(Math.PI/180),u=Math.cos(l)*(e-n)/2+Math.sin(l)*(t-r)/2,d=-1*Math.sin(l)*(e-n)/2+Math.cos(l)*(t-r)/2,f=u*u/(o*o)+d*d/(s*s);f>1&&(o*=Math.sqrt(f),s*=Math.sqrt(f));let p=Math.sqrt((o*o*(s*s)-o*o*(d*d)-s*s*(u*u))/(o*o*(d*d)+s*s*(u*u)));i===a&&(p*=-1),isNaN(p)&&(p=0);let m=p*o*d/s,h=p*-s*u/o,g=(e+n)/2+Math.cos(l)*m-Math.sin(l)*h,_=(t+r)/2+Math.sin(l)*m+Math.cos(l)*h,v=e=>Math.sqrt(e[0]*e[0]+e[1]*e[1]),y=(e,t)=>(e[0]*t[0]+e[1]*t[1])/(v(e)*v(t)),b=(e,t)=>(e[0]*t[1]<e[1]*t[0]?-1:1)*Math.acos(y(e,t)),x=b([1,0],[(u-m)/o,(d-h)/s]),S=[(u-m)/o,(d-h)/s],C=[(-1*u-m)/o,(-1*d-h)/s],w=b(S,C);return y(S,C)<=-1&&(w=Math.PI),y(S,C)>=1&&(w=0),a===0&&w>0&&(w-=2*Math.PI),a===1&&w<0&&(w+=2*Math.PI),[g,_,o,s,x,w,l,a]}toJson(){let e={};return ic.forEach(t=>{this[t]&&(e[t]=this[t])}),{...super.toJson(),...e}}getState(){let{left:e,top:t,width:n,height:r}=this.getRect();return{left:e,top:t,width:n,height:r,scaleX:this.scaleX,scaleY:this.scaleY,angle:this.angle,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY}}getRect(){let{left:e,top:t,width:n,height:r}=this._getSelfRect();return{left:e*this.scaleX+this.left,top:t*this.scaleY+this.top,width:n*this.scaleX,height:r*this.scaleY}}getLength(){return this._pathLength}getPointAtLength(t){let n,r=0,i=this.dataArray.length;if(!i)return null;for(;r<i&&t>this.dataArray[r].pathLength;)t-=this.dataArray[r].pathLength,++r;if(r===i)return n=this.dataArray[r-1].points.slice(-2),{x:n[0],y:n[1]};if(t<.01)return n=this.dataArray[r].points.slice(0,2),{x:n[0],y:n[1]};let a=this.dataArray[r],o=a.points;switch(a.command){case`L`:return e.getPointOnLine(t,a.start.x,a.start.y,o[0],o[1]);case`C`:return e.getPointOnCubicBezier(t/a.pathLength,a.start.x,a.start.y,o[0],o[1],o[2],o[3],o[4],o[5]);case`Q`:return e.getPointOnQuadraticBezier(t/a.pathLength,a.start.x,a.start.y,o[0],o[1],o[2],o[3]);case`A`:{let n=o[0],r=o[1],i=o[2],s=o[3],c=o[4],l=o[5],u=o[6];return c+=l*t/a.pathLength,e.getPointOnEllipticalArc(n,r,i,s,c,u)}}return null}_draw(t){e.drawWith(t,this)}_setFixBoundingBox(){let{left:e,top:t,width:n,height:r}=this._getSelfRect(),i=this.width/n,a=this.height/r;this.left-=e*i,this.top-=t*a,this.scaleX=i,this.scaleY=a,this.width=n,this.height=r,this._setTransForm()}_getSelfRect(){if(!this._reCalculateCache)return this._selfRectCache;let t=[];this.dataArray.forEach(n=>{if(n.command===`A`){let r=n.points[4],i=n.points[5],a=n.points[4]+i,o=Math.PI/180;if(Math.abs(r-a)<o&&(o=Math.abs(r-a)),i<0)for(let i=r-o;i>a;i-=o){let r=e.getPointOnEllipticalArc(n.points[0],n.points[1],n.points[2],n.points[3],i,0);t.push(r.x,r.y)}else for(let i=r+o;i<a;i+=o){let r=e.getPointOnEllipticalArc(n.points[0],n.points[1],n.points[2],n.points[3],i,0);t.push(r.x,r.y)}}else if(n.command===`C`)for(let r=0;r<=1;r+=.01){let i=e.getPointOnCubicBezier(r,n.start.x,n.start.y,n.points[0],n.points[1],n.points[2],n.points[3],n.points[4],n.points[5]);t.push(i.x,i.y)}else t=t.concat(n.points)});let n=t[0],r=t[0],i=t[1],a=t[1],o,s;for(let e=0;e<t.length/2;e++)o=t[e*2],s=t[e*2+1],isNaN(o)||(n=Math.min(n,o),r=Math.max(r,o)),isNaN(s)||(i=Math.min(i,s),a=Math.max(a,s));let c={left:n,top:i,width:r-n,height:a-i};return this._selfRectCache=c,c}};const oc=[`pointsGroup`];var sc=class e extends br{constructor(e,t){super(e,t),U(this,`_pointsGroup`,void 0),this._pointsGroup=(t==null?void 0:t.pointsGroup)||[[]],this._setFixBoundingBox(),this.onTransformChange$.subscribeEvent(e=>{let{type:t,value:n,preValue:r}=e;(t===J.resize||t===J.all)&&this.resizePolygon(r)})}get pointsGroup(){return this._pointsGroup}static drawWith(e,t){var n;let{pointsGroup:r}=t;r=(n=r)==null?[[]]:n,t.strokeDashArray&&e.setLineDash(t.strokeDashArray),e.beginPath();for(let t of r){e.moveTo(t[0].x,t[0].y);for(let n=1;n<t.length;n++){let r=t[n];e.lineTo(r.x,r.y)}}e.closePath(),this._renderPaintInOrder(e,t)}isHit(e){let t=this.getInverseCoord(e);return!!(t.x>=-this.strokeWidth/2&&t.x<=this.width+this.strokeWidth/2&&t.y>=-this.strokeWidth/2&&t.y<=this.height+this.strokeWidth/2&&this._contains(t))}_contains(e){let t=!1;for(let n of this._pointsGroup){let r=0,i=n.length;for(let t=0;t<i;t++){let a=n[t],o=n[(t+1)%i];if(this._isOnLine(e,a,o))return!0;if(a.y>e.y!=o.y>e.y){let t=a.x+(e.y-a.y)*(o.x-a.x)/(o.y-a.y);e.x<t&&r++}}r%2!=0&&(t=!t)}return t}_isOnLine(e,t,n){return(t.x-e.x)*(n.y-e.y)-(n.x-e.x)*(t.y-e.y)===0?e.x>=Math.min(t.x,n.x)&&e.x<=Math.max(t.x,n.x)&&e.y>=Math.min(t.y,n.y)&&e.y<=Math.max(t.y,n.y):!1}updatePointGroup(e){this._pointsGroup=e,this._setFixBoundingBox()}resizePolygon(e){let{left:t,top:n,width:r,height:i}=this._getSelfRect(),{width:a,height:o}=e,s,c;s=a?this.width-a:0,c=o?this.height-o:0;let l=s/r,u=c/i;this.scaleX+=l,this.scaleY+=u,this.left-=t*l,this.top-=n*u,this._setTransForm()}toJson(){let e={};return oc.forEach(t=>{this[t]&&(e[t]=this[t])}),{...super.toJson(),...e}}getState(){let{left:e,top:t,width:n,height:r}=this.getRect();return{left:e,top:t,width:n,height:r,scaleX:this.scaleX,scaleY:this.scaleY,angle:this.angle,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY}}getRect(){let{left:e,top:t,width:n,height:r}=this._getSelfRect();return{left:e*this.scaleX+this.left,top:t*this.scaleY+this.top,width:n*this.scaleX,height:r*this.scaleY}}_draw(t){e.drawWith(t,this)}_setFixBoundingBox(){let{width:e,height:t,left:n,top:r}=this._getSelfRect();this.left+=n,this.top+=r,this.width=e,this.height=t;let i=this.pointsGroup;for(let e of i)for(let t of e)t.x-=n,t.y-=r;this._setTransForm()}_getSelfRect(){let e=this.pointsGroup,t=e[0][0].x,n=e[0][0].x,r=e[0][0].y,i=e[0][0].y;for(let a of e)for(let e of a)t=Math.min(t,e.x),n=Math.max(n,e.x),r=Math.min(r,e.y),i=Math.max(i,e.y);return{left:t,top:r,width:n-t,height:i-r}}};const cc=[`text`,`richText`,`fs`];var lc=class extends rn{constructor(e,t,n){super(t),this._localeService=e,U(this,`_documentData`,void 0),U(this,`_documentSkeleton`,void 0),U(this,`_documents`,void 0),U(this,`documentModel`,void 0),U(this,`_ff`,void 0),U(this,`_fs`,12),U(this,`_it`,l.BooleanNumber.FALSE),U(this,`_bl`,l.BooleanNumber.FALSE),U(this,`_ul`,{s:l.BooleanNumber.FALSE}),U(this,`_st`,{s:l.BooleanNumber.FALSE}),U(this,`_ol`,{s:l.BooleanNumber.FALSE}),U(this,`_bg`,void 0),U(this,`_bd`,void 0),U(this,`_cl`,void 0),U(this,`objectType`,nn.RICH_TEXT),n!=null&&n.richText?this._documentData=n.richText:n&&(this._fs=n.fs,this._ff=n.ff,this._it=n.it,this._bl=n.bl,this._ul=n.ul,this._st=n.st,this._ol=n.ol,this._bg=n.bg,this._bd=n.bd,this._cl=n.cl,this._documentData=this._convertToDocumentData(n.text||``));let r=this.documentModel=new l.DocumentDataModel(this._documentData),i=new Or(r);this._documentSkeleton=Cs.create(i,this._localeService),this._documents=new mc(`${this.oKey}_DOCUMENTS`,this._documentSkeleton,{pageMarginLeft:0,pageMarginTop:0}),this._initialProps(n),this.onTransformChange$.subscribeEvent(e=>{let{type:t}=e;if(t===J.resize||t===J.all){r.updateDocumentDataPageSize(this.width),this._documentSkeleton.makeDirty(!0),this._documentSkeleton.calculate();let e=this.getDocsSkeletonPageSize();this.height=(e==null?void 0:e.height)||this.height,this._setTransForm(),this.refreshDocumentByDocData()}})}get fs(){return this._fs}get text(){let e=this._documentData.body;if(!e)return``;let t=[];if(e.textRuns)for(let n of e.textRuns){let r=n.st||0,i=n.ed||0;t.push(e.dataStream.slice(r,i))}return t.join(``)}get documentData(){return this._documentData}getDocsSkeletonPageSize(){var e;let t=(e=this._documentSkeleton)==null?void 0:e.getSkeletonData();if(!t)return;let{pages:n}=t,{width:r,height:i}=n[n.length-1];return{width:r,height:i}}setProps(e){if(!e)return;let t=Object.keys(e);if(t.length!==0)return t.forEach(t=>{if(e[t]===void 0)return!0;cc.indexOf(t)===-1&&(this[`_${t}`]=e[t])}),this.makeDirty(!0),this}render(e,t){if(!this.visible)return this.makeDirty(!1),this;if(this.isRender(t)){let{top:e,left:n,bottom:r,right:i}=t.viewBound;if(this.width+this.strokeWidth<n||i<0||this.height+this.strokeWidth<e||r<0)return this}let n=this.transform.getMatrix();return e.save(),e.transform(n[0],n[1],n[2],n[3],n[4],n[5]),this._draw(e),e.restore(),this.makeDirty(!1),this}toJson(){let e={};return cc.forEach(t=>{this[t]&&(e[t]=this[t])}),{...super.toJson(),...e}}_draw(e){this._documents.render(e)}_convertToDocumentData(e){let t=e.length;return{id:`d`,body:{dataStream:`${e}${l.DEFAULT_EMPTY_DOCUMENT_VALUE}`,textRuns:[{ts:{fs:this._fs||14,ff:this._ff,it:this._it,bl:this._bl,ul:this._ul,st:this._st,ol:this._ol,bg:this._bg,bd:this._bd,cl:this._cl},st:0,ed:t}]},documentStyle:{pageSize:{width:1/0,height:1/0}}}}_initialProps(e){this._documentSkeleton.getViewModel().getDataModel().updateDocumentDataPageSize(e==null?void 0:e.width,e==null?void 0:e.height),this._documentSkeleton.calculate();let t=this.getDocsSkeletonPageSize();this.transformByState({width:(t==null?void 0:t.width)||0,height:(t==null?void 0:t.height)||0,left:(e==null?void 0:e.left)||0,top:(e==null?void 0:e.top)||0,angle:e==null?void 0:e.angle}),this.setProps(e),this.makeDirty(!0)}refreshDocumentByDocData(){let e=new Or(this.documentModel=new l.DocumentDataModel(this._documentData));this._documentSkeleton=Cs.create(e,this._localeService),this._documents=new mc(`${this.oKey}_DOCUMENTS`,this._documentSkeleton,{pageMarginLeft:0,pageMarginTop:0}),this._documentSkeleton.getViewModel().getDataModel().updateDocumentDataPageSize(this.width,1/0),this._documentSkeleton.calculate()}resizeToContentSize(){let e=this.getDocsSkeletonPageSize();e&&e.width!==0&&e.height!==0&&this.transformByState({height:(e==null?void 0:e.height)||0})}},uc=class e extends l.Disposable{constructor(e,t){super(),U(this,`_enableHorizontal`,!0),U(this,`_enableVertical`,!0),U(this,`horizontalThumbSize`,0),U(this,`horizontalMinusMiniThumb`,0),U(this,`horizontalTrackWidth`,0),U(this,`horizonScrollTrack`,void 0),U(this,`horizonThumbRect`,void 0),U(this,`verticalThumbSize`,0),U(this,`verticalTrackHeight`,0),U(this,`verticalMinusMiniThumb`,0),U(this,`verticalScrollTrack`,void 0),U(this,`verticalThumbRect`,void 0),U(this,`placeholderBarRect`,void 0),U(this,`_viewport`,void 0),U(this,`_mainScene`,void 0),U(this,`_lastX`,-1),U(this,`_lastY`,-1),U(this,`_isHorizonMove`,!1),U(this,`_isVerticalMove`,!1),U(this,`_horizonPointerMoveSub`,void 0),U(this,`_horizonPointerUpSub`,void 0),U(this,`_verticalPointerMoveSub`,void 0),U(this,`_verticalPointerUpSub`,void 0),U(this,`_thumbDefaultBackgroundColor`,`rgba(24, 28, 42, 0.20)`),U(this,`_thumbHoverBackgroundColor`,`rgba(24, 28, 42, 0.30)`),U(this,`_thumbActiveBackgroundColor`,`rgba(24, 28, 42, 0.40)`),U(this,`_trackBackgroundColor`,`rgba(255,255,255,0.5)`),U(this,`_trackBorderColor`,`rgba(255,255,255,0.7)`),U(this,`_trackThickness`,10),U(this,`_vThumbMargin`,2),U(this,`_hThumbMargin`,2),U(this,`_trackBorderThickness`,1),U(this,`_thumbLengthRatio`,1),U(this,`_minThumbSizeH`,17),U(this,`_minThumbSizeV`,17),U(this,`_eventSub`,new d.Subscription),U(this,`_viewportH`,0),U(this,`_viewportW`,0),U(this,`_contentW`,0),U(this,`_contentH`,0),e||console.warn(`Missing viewport`),this.setProps(t),this._viewport=e,this._initialScrollRect(),this._initialVerticalEvent(),this._initialHorizontalEvent(),this._viewport.setScrollBar(this)}setProps(e){if(!e)return;let t=Object.keys(e);t.length!==0&&(t.forEach(t=>{e[t]!==void 0&&(this[`_${t}`]=e[t])}),l.Tools.isDefine(e.thumbBackgroundColor)&&(this._thumbDefaultBackgroundColor=e.thumbBackgroundColor),l.Tools.isDefine(e.barSize)&&(this._trackThickness=e.barSize),l.Tools.isDefine(e.barBorder)&&(this._trackBorderThickness=e.barBorder),l.Tools.isDefine(e.thumbMargin)&&(this._hThumbMargin=e.thumbMargin,this._vThumbMargin=e.thumbMargin))}get enableHorizontal(){return this._enableHorizontal}set enableHorizontal(e){this._enableHorizontal=e}get enableVertical(){return this._enableVertical}set enableVertical(e){this._enableVertical=e}get limitX(){var e;return(e=this.horizonThumbRect)!=null&&e.visible?this.horizontalTrackWidth-this.horizontalThumbSize:0}get limitY(){var e;return(e=this.verticalThumbRect)!=null&&e.visible?this.verticalTrackHeight-this.verticalThumbSize:0}get ratioScrollX(){if(this._enableHorizontal===!1||this.horizontalThumbSize===void 0||this.horizontalTrackWidth===void 0)return 1;let e=(this.horizontalThumbSize-this.horizontalMinusMiniThumb)*this.miniThumbRatioX/this.horizontalTrackWidth;return Number.isNaN(e)?1:e}get ratioScrollY(){if(this._enableVertical===!1||this.verticalThumbSize===void 0||this.verticalTrackHeight===void 0)return 1;let e=(this.verticalThumbSize-this.verticalMinusMiniThumb)*this.miniThumbRatioY/this.verticalTrackHeight;return Number.isNaN(e)?1:e}get miniThumbRatioX(){let e=this.horizontalTrackWidth-this.horizontalThumbSize;if(e===0)return 0;let t=this.horizontalTrackWidth-(this.horizontalThumbSize-this.horizontalMinusMiniThumb);return t===0?0:e/t}get miniThumbRatioY(){let e=this.verticalTrackHeight-this.verticalThumbSize;if(e===0)return 0;let t=this.verticalTrackHeight-(this.verticalThumbSize-this.verticalMinusMiniThumb);return t===0?0:e/t}hasHorizonThumb(){var e;return((e=this.horizonThumbRect)==null?void 0:e.visible)||!1}hasVerticalThumb(){var e;return((e=this.verticalThumbRect)==null?void 0:e.visible)||!1}get scrollHorizonThumbThickness(){return Math.max(0,this._trackThickness-this._hThumbMargin*2)}get scrollVerticalThumbThickness(){return Math.max(0,this._trackThickness-this._vThumbMargin*2)}set barSize(e){this._trackThickness=e}get barSize(){return this._trackThickness}set trackThickness(e){this._trackThickness=e}get trackThickness(){return this._trackThickness}get totalSize(){return this._trackThickness+this._trackBorderThickness}static attachTo(t,n){return new e(t,n)}dispose(){var e,t,n,r,i,a,o,s,c;super.dispose(),(e=this.horizonScrollTrack)==null||e.dispose(),(t=this.horizonThumbRect)==null||t.dispose(),(n=this.verticalScrollTrack)==null||n.dispose(),(r=this.verticalThumbRect)==null||r.dispose(),(i=this.placeholderBarRect)==null||i.dispose(),this.horizonScrollTrack=null,this.horizonThumbRect=null,this.verticalScrollTrack=null,this.verticalThumbRect=null,this.placeholderBarRect=null,(a=this._horizonPointerMoveSub)==null||a.unsubscribe(),(o=this._horizonPointerUpSub)==null||o.unsubscribe(),(s=this._verticalPointerMoveSub)==null||s.unsubscribe(),(c=this._verticalPointerUpSub)==null||c.unsubscribe(),this._eventSub.unsubscribe(),this._mainScene=null,this._viewport.removeScrollBar()}render(e,t=0,n=0){let{scrollX:r,scrollY:i}=this._viewport;e.save();let a=new Y([1,0,0,1,t,n]).getMatrix();e.transform(a[0],a[1],a[2],a[3],a[4],a[5]),this._enableHorizontal&&(this.horizonScrollTrack.render(e),this.horizonThumbRect.translate(r).render(e)),this._enableVertical&&(this.verticalScrollTrack.render(e),this.verticalThumbRect.translate(void 0,i).render(e)),this._enableHorizontal&&this._enableVertical&&this.placeholderBarRect.render(e),e.restore()}_resizeHorizontal(){var e;let t=this._viewportH,n=this._viewportW,r=this._contentW;if(this._enableHorizontal)if(this.horizontalMinusMiniThumb=0,this.horizontalTrackWidth=n-(this._enableVertical?this._trackThickness:0)-this._trackBorderThickness,this.horizontalThumbSize=this.horizontalTrackWidth*(this.horizontalTrackWidth-this._trackBorderThickness)/r*this._thumbLengthRatio,this.horizontalThumbSize<this._minThumbSizeH&&(this.horizontalMinusMiniThumb=this._minThumbSizeH-this.horizontalThumbSize,this.horizontalThumbSize=this._minThumbSizeH),(e=this.horizonScrollTrack)==null||e.transformByState({left:0,top:t-this._trackThickness,width:this.horizontalTrackWidth,height:Math.max(0,this._trackThickness-this._trackBorderThickness)}),this.horizontalThumbSize>=n-(this._trackThickness+2)){var i;(i=this.horizonThumbRect)==null||i.setProps({visible:!1})}else{var a,o;if(!((a=this.horizonThumbRect)!=null&&a.visible)){var s;(s=this.horizonThumbRect)==null||s.setProps({visible:!0})}(o=this.horizonThumbRect)==null||o.transformByState({left:this._viewport.scrollX,top:t-this._trackThickness+this._hThumbMargin,width:this.horizontalThumbSize,height:this.scrollHorizonThumbThickness})}}_resizeVertical(){var e;let t=this._viewportH,n=this._viewportW,r=this._contentH;if(this._enableVertical)if(this.verticalMinusMiniThumb=0,this.verticalTrackHeight=t-(this._enableHorizontal?this._trackThickness:0)-this._trackBorderThickness,this.verticalThumbSize=this.verticalTrackHeight*this.verticalTrackHeight/r*this._thumbLengthRatio,this.verticalThumbSize<this._minThumbSizeV&&(this.verticalMinusMiniThumb=this._minThumbSizeV-this.verticalThumbSize,this.verticalThumbSize=this._minThumbSizeV),(e=this.verticalScrollTrack)==null||e.transformByState({left:n-this._trackThickness,top:0,width:Math.max(0,this._trackThickness-this._trackBorderThickness),height:this.verticalTrackHeight}),this.verticalThumbSize>=t-this._trackThickness){var i;(i=this.verticalThumbRect)==null||i.setProps({visible:!1})}else{var a,o;if(!((a=this.verticalThumbRect)!=null&&a.visible)){var s;(s=this.verticalThumbRect)==null||s.setProps({visible:!0})}(o=this.verticalThumbRect)==null||o.transformByState({left:n-this._trackThickness+this._vThumbMargin,top:this._viewport.scrollY,width:this.scrollVerticalThumbThickness,height:this.verticalThumbSize})}}_resizeRightBottomCorner(){let e=this._viewportH,t=this._viewportW;if(this._enableHorizontal&&this._enableVertical){var n;(n=this.placeholderBarRect)==null||n.transformByState({left:t-this._trackThickness,top:e-this._trackThickness,width:Math.max(0,this._trackThickness-this._trackBorderThickness),height:Math.max(0,this._trackThickness-this._trackBorderThickness)})}}resize(e=0,t=0,n=0,r=0){e===0&&e===0||(this._viewportH=t,this._viewportW=e,this._contentW=n,this._contentH=r,this._resizeHorizontal(),this._resizeVertical(),this._resizeRightBottomCorner())}makeDirty(e){var t,n,r,i,a;(t=this.horizonScrollTrack)==null||t.makeDirty(e),(n=this.horizonThumbRect)==null||n.makeDirty(e),(r=this.verticalScrollTrack)==null||r.makeDirty(e),(i=this.verticalThumbRect)==null||i.makeDirty(e),(a=this.placeholderBarRect)==null||a.makeDirty(e),this.makeViewDirty(e)}makeViewDirty(e){(this._mainScene||this._viewport.scene).makeDirty(e)}pick(e){var t,n,r,i;return(t=this.horizonThumbRect)!=null&&t.isHit(e)?this.horizonThumbRect:(n=this.verticalThumbRect)!=null&&n.isHit(e)?this.verticalThumbRect:(r=this.horizonScrollTrack)!=null&&r.isHit(e)?this.horizonScrollTrack:(i=this.verticalScrollTrack)!=null&&i.isHit(e)?this.verticalScrollTrack:null}_initialScrollRect(){this._enableHorizontal&&(this.horizonScrollTrack=new ec(`__horizonBarRect__`,{fill:this._trackBackgroundColor,strokeWidth:this._trackBorderThickness,stroke:this._trackBorderColor}),this.horizonThumbRect=new ec(`__horizonThumbRect__`,{radius:6,fill:this._thumbDefaultBackgroundColor})),this._enableVertical&&(this.verticalScrollTrack=new ec(`__verticalBarRect__`,{fill:this._trackBackgroundColor,strokeWidth:this._trackBorderThickness,stroke:this._trackBorderColor}),this.verticalThumbRect=new ec(`__verticalThumbRect__`,{radius:6,fill:this._thumbDefaultBackgroundColor})),this._enableHorizontal&&this._enableVertical&&(this.placeholderBarRect=new ec(`__placeholderBarRect__`,{fill:this._trackBackgroundColor,strokeWidth:this._trackBorderThickness,stroke:this._trackBorderColor}))}_initialVerticalEvent(){if(!this._enableVertical)return;let e=this._mainScene||this._viewport.scene;this.verticalThumbRect&&this._eventSub.add(this.verticalThumbRect.onPointerEnter$.subscribeEvent((e,t)=>{this._verticalHoverFunc(this._thumbHoverBackgroundColor,e,t)})),this.verticalThumbRect&&this._eventSub.add(this.verticalThumbRect.onPointerLeave$.subscribeEvent((e,t)=>{this._verticalHoverLeaveFunc(this._thumbDefaultBackgroundColor,e,t)})),this.verticalScrollTrack&&this._eventSub.add(this.verticalScrollTrack.onPointerDown$.subscribeEvent((e,t)=>{let n=e;this._viewport.scrollToBarPos({y:n.offsetY-this._viewport.top-this.verticalThumbSize/2}),t.stopPropagation()})),this.verticalThumbRect&&this._eventSub.add(this.verticalThumbRect.onPointerDown$.subscribeEvent((t,n)=>{let r=t,i=this.verticalThumbRect;this._isVerticalMove=!0,this._lastX=r.offsetX,this._lastY=r.offsetY,i==null||i.setProps({fill:this._thumbActiveBackgroundColor}),e.setCaptureObject(this.verticalThumbRect),e.disableObjectsEvent(),this.makeViewDirty(!0),n.stopPropagation()})),this._verticalPointerMoveSub=e.onPointerMove$.subscribeEvent((t,n)=>{var r;let i=t;this._isVerticalMove&&(this._viewport.scrollByBarDeltaValue({y:i.offsetY-this._lastY}),this._lastY=i.offsetY,(r=e.getEngine())==null||r.setCapture())}),this._verticalPointerUpSub=e.onPointerUp$.subscribeEvent((t,n)=>{let r=this.verticalThumbRect;this._isVerticalMove=!1,e.releaseCapturedObject(),e.enableObjectsEvent(),r==null||r.setProps({fill:this._thumbHoverBackgroundColor}),this.makeViewDirty(!0)})}_horizonHoverFunc(e,t,n){this._hThumbMargin=1,this._resizeHorizontal(),this._resizeRightBottomCorner(),this._hoverFunc(e,this.horizonThumbRect)(t,n)}_horizonHoverLeaveFunc(e,t,n){this._hThumbMargin=2,this._resizeHorizontal(),this._resizeRightBottomCorner(),this._hoverFunc(e,this.horizonThumbRect)(t,n)}_verticalHoverFunc(e,t,n){this._vThumbMargin=1,this._resizeVertical(),this._resizeRightBottomCorner(),this._hoverFunc(e,this.verticalThumbRect)(t,n)}_verticalHoverLeaveFunc(e,t,n){this._vThumbMargin=2,this._resizeVertical(),this._resizeRightBottomCorner(),this._hoverFunc(e,this.verticalThumbRect)(t,n)}_hoverFunc(e,t){return(n,r)=>{t.setProps({fill:e}),this._resizeHorizontal(),this.makeViewDirty(!0)}}_initialHorizontalEvent(){if(!this._enableHorizontal)return;let e=this._mainScene||this._viewport.scene;this.horizonThumbRect&&this._eventSub.add(this.horizonThumbRect.onPointerEnter$.subscribeEvent((e,t)=>{this._horizonHoverFunc(this._thumbHoverBackgroundColor,e,t)})),this.horizonThumbRect&&this._eventSub.add(this.horizonThumbRect.onPointerLeave$.subscribeEvent((e,t)=>{this._horizonHoverLeaveFunc(this._thumbDefaultBackgroundColor,e,t)})),this.horizonScrollTrack&&this._eventSub.add(this.horizonScrollTrack.onPointerDown$.subscribeEvent((e,t)=>{let n=e;this._viewport.scrollToBarPos({x:n.offsetX-this._viewport.left-this.horizontalThumbSize/2}),t.stopPropagation()})),this.horizonThumbRect&&this._eventSub.add(this.horizonThumbRect.onPointerDown$.subscribeEvent((t,n)=>{var r;let i=t;this._isHorizonMove=!0,this._lastX=i.offsetX,this._lastY=i.offsetY,(r=this.horizonThumbRect)==null||r.setProps({fill:this._thumbActiveBackgroundColor}),this.makeViewDirty(!0),e.setCaptureObject(this.horizonThumbRect),e.disableObjectsEvent(),n.stopPropagation()})),this._horizonPointerMoveSub=e.onPointerMove$.subscribeEvent((t,n)=>{var r;let i=t;this._isHorizonMove&&(this._viewport.scrollByBarDeltaValue({x:i.offsetX-this._lastX}),this._lastX=i.offsetX,(r=e.getEngine())==null||r.setCapture())}),this._horizonPointerUpSub=e.onPointerUp$.subscribeEvent((t,n)=>{var r;this._isHorizonMove=!1,e.releaseCapturedObject(),e.enableObjectsEvent(),(r=this.horizonThumbRect)==null||r.setProps({fill:this._thumbHoverBackgroundColor}),this.makeViewDirty(!0)})}},dc=class extends Gs{constructor(){super(),U(this,`uKey`,`DefaultDocsFontAndBaseLineExtension`),U(this,`Z_INDEX`,20),U(this,`_preFontColor`,``),U(this,`actualFontMap`,{})}draw(e,t,n,r,i){var a;if(!((a=n.parent)!=null&&a.parent))return;let{ts:o,content:s,fontStyle:c,bBox:u}=n,{spanPointWithFont:d=K.create(0,0)}=this.extensionOffset;if(s==null)return;if(!o){this._fillText(e,n,d);return}let f=(c==null?void 0:c.fontString)||``;f&&e.font!==this.actualFontMap[f]&&(e.font=f,this.actualFontMap[f]=e.font);let{cl:p,va:m}=o,h=(0,l.getColorStyle)(p)||`rgb(0,0,0)`;h&&this._preFontColor!==h&&(e.fillStyle=h),m===l.BaselineOffset.SUPERSCRIPT?d.y+=-u.spo:m===l.BaselineOffset.SUBSCRIPT&&(d.y+=u.sbo),this._fillText(e,n,d)}_fillText(e,t,n){let{renderConfig:r,spanStartPoint:i,centerPoint:a}=this.extensionOffset,{content:o,width:s,bBox:c}=t,{aba:l,abd:u}=c;if(o==null||i==null||a==null)return;let{vertexAngle:d,centerAngle:f}=r==null?{}:r;if(d===90&&f===90&&!_e(o))e.save(),e.translate(i.x+a.x,i.y+a.y),e.rotate(Math.PI/2),e.translate(-s/2,(l+u)/2-u),e.fillText(o,0,0),e.restore();else if((o===`☐`||o===`☑`)&&t.glyphType===pt.LIST){var p,m;let r=Math.ceil(((p=(m=t.ts)==null?void 0:m.fs)==null?12:p)*1.2);e.save();let i=t.bBox.aba-t.bBox.abd,a=n.y,s=a-i,c=n.x,l=s+(a-s-r)/2,u=c;e.translate(u-1/2,l-1/2),Ys.drawWith(e,{width:r,height:r,checked:o===`☑`}),e.restore()}else e.fillText(o,n.x,n.y)}clearCache(){this._preFontColor=``}};vn.add(new dc);var fc=class extends Gs{constructor(...e){super(...e),U(this,`uKey`,`DefaultDocsLineExtension`),U(this,`Z_INDEX`,40),U(this,`_preBackgroundColor`,``)}draw(e,t,n){var r;let i=(r=n.parent)==null?void 0:r.parent,{ts:a,bBox:o,content:s}=n;if(i==null||a==null||s===`\r`)return;let{asc:c,dsc:u}=i,{sp:d,spo:f,sbo:p,bd:m}=o,h=He(t),g=.5,{ul:_,st:v,ol:y,va:b,bbl:x}=a;if(_){let t=c+u;this._drawLine(e,n,_,t,h)}if(x){let t=c+u+3;this._drawLine(e,n,x,t,h,2)}if(v){let t=c+m-d-g;b===l.BaselineOffset.SUPERSCRIPT?t-=f:b===l.BaselineOffset.SUBSCRIPT&&(t+=p),this._drawLine(e,n,v,t,h)}y&&(-1-g,this._drawLine(e,n,y,-1.5,h))}clearCache(){this._preBackgroundColor=``}_drawLine(e,t,n,r,i,a=1){var o;let{s,cl:c,t:u,c:d=l.BooleanNumber.TRUE}=n;if(s!==l.BooleanNumber.TRUE)return;d==null&&(d=l.BooleanNumber.TRUE);let{originTranslate:f=K.create(0,0),alignOffset:p=K.create(0,0),renderConfig:m={}}=this.extensionOffset,{left:h,width:g}=t,{centerAngle:_=0,vertexAngle:v=0}=m;e.save(),e.strokeStyle=(d===l.BooleanNumber.TRUE?(0,l.getColorStyle)((o=t.ts)==null?void 0:o.cl):(0,l.getColorStyle)(c))||`rgb(0,0,0)`,this._setLineType(e,u==null?l.TextDecoration.SINGLE:u,a),r+=this._isDouble(u)?-.8:0;let y=V(_),b=V(v),x=Mt(f.addByPoint(h,r),K.create(0,0),y,b,p),S=Mt(f.addByPoint(h+g,r),K.create(0,0),y,b,p);e.beginPath(),e.moveTo(x.x,x.y),this._drawLineTo(e,x.x,S.x,S.y,u),this._isDouble(u)&&(e.moveTo(x.x,x.y+2),this._drawLineTo(e,x.x,S.x,S.y+2,u)),e.stroke(),e.restore()}_drawLineTo(e,t,n,r,i){if(this._isWave(i))for(let i=t;i<n;i++)e.lineTo(i,r+.8*Math.sin(i*1));else e.lineTo(n,r)}_setLineType(e,t,n){switch(t){case l.TextDecoration.SINGLE:case l.TextDecoration.DOUBLE:e.lineWidth=1,e.setLineDash([0]);return;case l.TextDecoration.DOTTED:e.lineWidth=1,e.setLineDash([2]);return;case l.TextDecoration.DOTTED_HEAVY:e.lineWidth=2,e.setLineDash([2]);return;case l.TextDecoration.DASH:e.lineWidth=1,e.setLineDash([3]);return;case l.TextDecoration.DASHED_HEAVY:e.lineWidth=2,e.setLineDash([3]);return;case l.TextDecoration.DASH_LONG:e.lineWidth=1,e.setLineDash([6]);return;case l.TextDecoration.DASH_LONG_HEAVY:e.lineWidth=2,e.setLineDash([6]);return;case l.TextDecoration.DOT_DASH:e.lineWidth=1,e.setLineDash([2,5,2]);return;case l.TextDecoration.DASH_DOT_HEAVY:e.lineWidth=2,e.setLineDash([2,5,2]);return;case l.TextDecoration.DOT_DOT_DASH:e.lineWidth=1,e.setLineDash([2,2,5,2,2]);return;case l.TextDecoration.DASH_DOT_DOT_HEAVY:e.lineWidth=2,e.setLineDash([2,2,5,2,2]);return;case l.TextDecoration.THICK:e.lineWidth=2,e.setLineDash([0]);return;case l.TextDecoration.WAVE:case l.TextDecoration.WAVY_DOUBLE:e.lineWidth=1;return;case l.TextDecoration.WAVY_HEAVY:e.lineWidth=2;return;default:e.setLineDash([0]),e.lineWidth=n}}_isWave(e){return e===l.TextDecoration.WAVE||e===l.TextDecoration.WAVY_HEAVY||e===l.TextDecoration.WAVY_DOUBLE}_isDouble(e){return e===l.TextDecoration.DOUBLE||e===l.TextDecoration.WAVY_DOUBLE}};vn.add(new fc);const pc={color:{rgb:`#dee0e3`}};var mc=class e extends Us{constructor(e,t,n){super(e,t,n),U(this,`_pageRender$`,new d.Subject),U(this,`pageRender$`,this._pageRender$.asObservable()),U(this,`_drawLiquid`,new Cr),this._initialDefaultExtension(),this.makeDirty(!0)}static create(t,n,r){return new e(t,n,r)}dispose(){super.dispose(),this._pageRender$.complete(),this._drawLiquid=null}getOffsetConfig(){let{transform:e,pageLayoutType:t,pageMarginLeft:n,pageMarginTop:r,left:i,top:a}=this;return{documentTransform:e,pageLayoutType:t,pageMarginLeft:n,pageMarginTop:r,docsLeft:i,docsTop:a}}getEngine(){return this.getScene().getEngine()}changeSkeleton(e){return this.setSkeleton(e),this}_draw(e,t){this.draw(e,t)}draw(e,t){var n;let r=(n=this.getSkeleton())==null?void 0:n.getSkeletonData();if(r==null||this._drawLiquid==null)return;this._drawLiquid.reset();let{pages:i,skeHeaders:a,skeFooters:o}=r,s=this.getParentScale(),c=this.getExtensionsByOrder();for(let e of c)e.clearCache();let u=c.find(e=>e.uKey===`DefaultDocsBackgroundExtension`),d=c.filter(e=>e.type===Ws.SPAN&&e.uKey!==`DefaultDocsBackgroundExtension`),f=0,p=0;for(let n=0,r=i.length;n<r;n++){var m,h,g;let r=i[n],{sections:_,marginTop:v=0,marginBottom:y=0,marginLeft:b=0,marginRight:x=0,width:S,height:C,pageWidth:w,headerId:T,footerId:E,renderConfig:D={},skeTables:O}=r,{verticalAlign:k=l.VerticalAlign.TOP,horizontalAlign:A=l.HorizontalAlign.LEFT,centerAngle:j=0,vertexAngle:M=0,wrapStrategy:N=l.WrapStrategy.UNSPECIFIED,cellValueType:P}=D,F=this._horizontalHandler(S,b,x,A,M,j,P),I=this._verticalHandler(C,v,y,k),L=K.create(F,I),R=V(j),z=V(M),ee=z-R;if(this.isSkipByDiffBounds(r,f,p,t)){let{x:e,y:t}=this._drawLiquid.translatePage(r,this.pageLayoutType,this.pageMarginLeft,this.pageMarginTop);p+=e,f+=t;continue}O.size>0&&this._drawTable(e,r,O,c,u,d,L,R,z,D,s);let B=(m=a.get(T))==null?void 0:m.get(w),te=K.create(F,(h=B==null?void 0:B.marginTop)==null?0:h);B&&this._drawHeaderFooter(B,e,c,u,d,te,R,z,D,s,r,!0),this._startRotation(e,ee);for(let n of _){let{columns:i}=n;this._drawLiquid.translateSection(n);for(let n of i){let{lines:i,width:a}=n;this._drawLiquid.translateSave(),this._drawLiquid.translateColumn(n);let o=i.length,f=L,p=null;if(z!==0){let{rotateTranslateXList:e,rotatedHeight:t,rotatedWidth:n,fixOffsetX:r,fixOffsetY:o,rotateTranslateY:s}=Pt(i,a,z),c=n;t>this.height&&N!==l.WrapStrategy.WRAP&&(N===l.WrapStrategy.OVERFLOW||z>0)&&(c=this.height/Math.tan(Math.abs(z)));let u=this._horizontalHandler(c,b,x,A,M,j),d=this._verticalHandler(t,v,y,k)-o;t>this.height&&(d=z<0?this.height-(t+o):-o),f=K.create(u+r,d),this._drawLiquid.translate(0,-s),p=e}else N===l.WrapStrategy.WRAP&&(A!==l.HorizontalAlign.UNSPECIFIED||P!==l.CellValueType.NUMBER)&&(f.x=b);for(let n=0;n<o;n++){let a=i[n],{divides:o,asc:l=0,type:m,lineHeight:h=0}=a,g=l,_=g*Math.sin(R),v=g*Math.cos(R);if(m===ft.BLOCK)for(let t of c)t.type===Ws.LINE&&(t.extensionOffset={alignOffset:f,renderConfig:D},t.draw(e,s,a));else{this._drawLiquid.translateSave(),this._drawLiquid.translateLine(a,!0,!0),p&&this._drawLiquid.translate(p[n]);let i=o.length;for(let n=0;n<i;n++){let r=o[n],{glyphGroup:i}=r;this._drawLiquid.translateSave(),this._drawLiquid.translateDivide(r);for(let t of i){if(!t.content||t.content.length===0)continue;let{width:n,left:r}=t,{x:i,y:a}=this._drawLiquid,o=K.create(i,a),c=K.create(n/2,h/2),l={spanStartPoint:Mt(o.addByPoint(r,0),c,R,z,f)};u&&(u.extensionOffset=l,u.draw(e,s,t))}for(let n of i){if(!n.content||n.content.length===0)continue;let{width:r,left:i,xOffset:a}=n,{x:o,y:c}=this._drawLiquid,l=K.create(o,c),u=K.create(r/2,h/2),p={originTranslate:l,spanStartPoint:Mt(l.addByPoint(i+a,0),u,R,z,f),spanPointWithFont:Mt(l.addByPoint(i+_+a,v),u,R,z,f),centerPoint:u,alignOffset:f,renderConfig:D};for(let r of d)r.extensionOffset=p,r.draw(e,s,n,[],{viewBound:t==null?void 0:t.viewBound})}this._drawLiquid.translateRestore()}a.borderBottom&&this._drawBorderBottom(e,r,a),this._drawLiquid.translateRestore()}}this._drawLiquid.translateRestore()}}this._resetRotation(e,ee);let ne=(g=o.get(E))==null?void 0:g.get(w);if(ne){let t=K.create(F,r.pageHeight-(ne==null?void 0:ne.height)-ne.marginBottom);this._drawHeaderFooter(ne,e,c,u,d,t,R,z,D,s,r,!1)}this._pageRender$.next({page:r,pageLeft:p,pageTop:f,ctx:e});let{x:re,y:ie}=this._drawLiquid.translatePage(r,this.pageLayoutType,this.pageMarginLeft,this.pageMarginTop);p+=re,f+=ie}}_drawTable(e,t,n,r,i,a,o,s,c,l,u){for(let[b,x]of n){var d,f,p;let{top:n,left:b,rows:S}=x;(d=this._drawLiquid)==null||d.translateSave(),(f=this._drawLiquid)==null||f.translate(b,n);for(let n of S){var m,h,g;let{top:d,cells:f}=n;(m=this._drawLiquid)==null||m.translateSave(),(h=this._drawLiquid)==null||h.translate(0,d);for(let n of f){var _,v,y;let{left:d}=n;(_=this._drawLiquid)==null||_.translateSave(),(v=this._drawLiquid)==null||v.translate(d,0),this._drawTableCell(e,t,n,r,i,a,o,s,c,l,u),(y=this._drawLiquid)==null||y.translateRestore()}(g=this._drawLiquid)==null||g.translateRestore()}(p=this._drawLiquid)==null||p.translateRestore()}}_drawBorderBottom(e,t,n,r=0,i=0){var a,o,s,c;if(this._drawLiquid==null)return;let{x:l,y:u}=this._drawLiquid,{pageWidth:d,marginLeft:f,marginRight:p,marginTop:m}=t;l+=f+(r==null?0:r),u-=n.marginTop,u-=n.paddingTop,u+=m+i+n.lineHeight+((a=(o=n.borderBottom)==null?void 0:o.padding)==null?0:a),e.save(),e.setLineWidthByPrecision(1),e.strokeStyle=(s=(c=n.borderBottom)==null?void 0:c.color.rgb)==null?`#CDD0D8`:s,Ct(e,E.BOTTOM,0,{startX:l,startY:u,endX:l+d-f-p,endY:u}),e.restore()}_drawTableCell(e,t,n,r,i,a,o,s,c,l,u){if(this._drawLiquid==null)return;this._drawTableCellBordersAndBg(e,t,n);let{sections:d,marginLeft:f,marginTop:p}=n;o=K.create(o.x+f,o.y+p),e.save();let{x:m,y:h}=this._drawLiquid,{pageWidth:g,pageHeight:_}=n;e.beginPath(),e.rectByPrecision(m+t.marginLeft,h+t.marginTop,g,_),e.closePath(),e.clip();for(let f of d){let{columns:d}=f;this._drawLiquid.translateSave(),this._drawLiquid.translateSection(f);for(let f of d){let{lines:d}=f;this._drawLiquid.translateSave(),this._drawLiquid.translateColumn(f);let p=d.length,m=o;for(let o=0;o<p;o++){let f=d[o],{divides:p,asc:h=0,type:g,lineHeight:_=0}=f,v=h,y=v*Math.sin(s),b=v*Math.cos(s);if(g===ft.BLOCK)for(let t of r)t.type===Ws.LINE&&(t.extensionOffset={alignOffset:m,renderConfig:l},t.draw(e,u,f));else{this._drawLiquid.translateSave(),this._drawLiquid.translateLine(f,!0,!0);let r=p.length;for(let t=0;t<r;t++){let n=p[t],{glyphGroup:r}=n;this._drawLiquid.translateSave(),this._drawLiquid.translateDivide(n);for(let t of r){if(!t.content||t.content.length===0)continue;let{width:n,left:r}=t,{x:a,y:o}=this._drawLiquid,l=K.create(a,o),d=K.create(n/2,_/2),f={spanStartPoint:Mt(l.addByPoint(r,0),d,s,c,m)};i&&(i.extensionOffset=f,i.draw(e,u,t))}for(let t of r){if(!t.content||t.content.length===0)continue;let{width:n,left:r,xOffset:i}=t,{x:o,y:d}=this._drawLiquid,f=K.create(o,d),p=K.create(n/2,_/2),h={originTranslate:f,spanStartPoint:Mt(f.addByPoint(r+i,0),p,s,c,m),spanPointWithFont:Mt(f.addByPoint(r+y+i,b),p,s,c,m),centerPoint:p,alignOffset:m,renderConfig:l};for(let n of a)n.extensionOffset=h,n.draw(e,u,t)}this._drawLiquid.translateRestore()}f.borderBottom&&this._drawBorderBottom(e,n,f,t.marginLeft,t.marginTop),this._drawLiquid.translateRestore()}}this._drawLiquid.translateRestore()}this._drawLiquid.translateRestore()}e.restore()}_drawTableCellBordersAndBg(e,t,n){var r,i,a,o;let{marginLeft:s,marginTop:c}=t,{pageWidth:l,pageHeight:u}=n,d=n.parent,f=d.cells.indexOf(n),{borderTop:p=pc,borderBottom:m=pc,borderLeft:h=pc,borderRight:g=pc,backgroundColor:_}=d.rowSource.tableCells[f];if(this._drawLiquid==null)return;let{x:v,y}=this._drawLiquid;v+=s,y+=c,_&&_.rgb&&(e.save(),e.fillStyle=_.rgb,e.fillRectByPrecision(v,y,l,u),e.restore()),e.save(),e.setLineWidthByPrecision(1),e.save(),e.strokeStyle=(r=h.color.rgb)==null?pc.color.rgb:r,Ct(e,E.LEFT,0,{startX:v,startY:y,endX:v+l,endY:y+u}),e.restore(),e.save(),e.strokeStyle=(i=p.color.rgb)==null?pc.color.rgb:i,Ct(e,E.TOP,0,{startX:v,startY:y,endX:v+l,endY:y+u}),e.restore(),e.save(),e.strokeStyle=(a=g.color.rgb)==null?pc.color.rgb:a,Ct(e,E.RIGHT,0,{startX:v,startY:y,endX:v+l,endY:y+u}),e.restore(),e.save(),e.strokeStyle=(o=m.color.rgb)==null?pc.color.rgb:o,Ct(e,E.BOTTOM,0,{startX:v,startY:y,endX:v+l,endY:y+u}),e.restore(),e.restore()}_drawHeaderFooter(e,t,n,r,i,a,o,s,c,l,u,d=!0){if(this._drawLiquid==null)return;let{sections:f}=e,{y:p}=this._drawLiquid;for(let m of f){let{columns:f}=m;this._drawLiquid.translateSave(),this._drawLiquid.translateSection(m);for(let m of f){let{lines:f}=m;this._drawLiquid.translateSave(),this._drawLiquid.translateColumn(m);let h=f.length,g=a;for(let a=0;a<h;a++){let m=f[a],{divides:h,asc:_=0,type:v,lineHeight:y=0}=m,b=_,x=b*Math.sin(o),S=b*Math.cos(o);if(v===ft.BLOCK)for(let e of n)e.type===Ws.LINE&&(e.extensionOffset={alignOffset:g,renderConfig:c},e.draw(t,l,m));else{this._drawLiquid.translateSave(),this._drawLiquid.translateLine(m,!0,!0);let{y:n}=this._drawLiquid;if(d){if(n-p+g.y>(u.pageHeight-100)/2){this._drawLiquid.translateRestore();continue}}else if(n-p+g.y+y<(u.pageHeight-100)/2+100){this._drawLiquid.translateRestore();continue}let a=h.length;for(let e=0;e<a;e++){let n=h[e],{glyphGroup:a}=n;this._drawLiquid.translateSave(),this._drawLiquid.translateDivide(n);for(let e of a){if(!e.content||e.content.length===0)continue;let{width:n,left:i}=e,{x:a,y:c}=this._drawLiquid,u=K.create(a,c),d=K.create(n/2,y/2),f={spanStartPoint:Mt(u.addByPoint(i,0),d,o,s,g)};r&&(r.extensionOffset=f,r.draw(t,l,e))}for(let e of a){if(!e.content||e.content.length===0)continue;let{width:n,left:r,xOffset:a}=e,{x:u,y:d}=this._drawLiquid,f=K.create(u,d),p=K.create(n/2,y/2),m={originTranslate:f,spanStartPoint:Mt(f.addByPoint(r+a,0),p,o,s,g),spanPointWithFont:Mt(f.addByPoint(r+x+a,S),p,o,s,g),centerPoint:p,alignOffset:g,renderConfig:c};for(let n of i)n.extensionOffset=m,n.draw(t,l,e)}this._drawLiquid.translateRestore()}m.borderBottom&&this._drawBorderBottom(t,e,m,u.marginLeft),this._drawLiquid.translateRestore()}}this._drawLiquid.translateRestore()}this._drawLiquid.translateRestore()}}_horizontalHandler(e,t,n,r,i=0,a=0,o){r===l.HorizontalAlign.UNSPECIFIED&&(r=a===90&&i===90?l.HorizontalAlign.CENTER:i>0&&i!==90||i===-90||o===l.CellValueType.NUMBER?l.HorizontalAlign.RIGHT:o===l.CellValueType.BOOLEAN?l.HorizontalAlign.CENTER:l.HorizontalAlign.LEFT);let s=0;return s=r===l.HorizontalAlign.CENTER?(this.width-e)/2:r===l.HorizontalAlign.RIGHT?this.width-e-n:t,s}_verticalHandler(e,t,n,r){let i=0;return i=r===l.VerticalAlign.MIDDLE?(this.height-e)/2:r===l.VerticalAlign.TOP?t:this.height-e-n,i}_startRotation(e,t){e.rotate(t||0)}_resetRotation(e,t){e.rotate(-t||0)}_initialDefaultExtension(){vn.getData().forEach(e=>{this.register(e)})}},hc=class extends yn{constructor(e,t,n=!0){super(e,t),this._allowCache=n,U(this,`_backgroundExtension`,void 0),U(this,`_borderExtension`,void 0),U(this,`_fontExtension`,void 0),U(this,`_refreshIncrementalState`,!1),U(this,`_dirtyBounds`,[]),U(this,`_forceDisableGridlines`,!1),U(this,`_documents`,new mc(`__SHEET_EXTENSION_FONT_DOCUMENT_INSTANCE__`,void 0,{pageMarginLeft:0,pageMarginTop:0})),U(this,`isPrinting`,!1),this._initialDefaultExtension(),this.makeDirty(!0)}get backgroundExtension(){return this._backgroundExtension}get borderExtension(){return this._borderExtension}get fontExtension(){return this._fontExtension}getDocuments(){return this._documents}get allowCache(){return this._allowCache}get forceDisableGridlines(){return this._forceDisableGridlines}dispose(){var e;super.dispose(),(e=this._documents)==null||e.dispose(),this._documents=null,this._backgroundExtension=null,this._borderExtension=null,this._fontExtension=null}draw(e,t){var n;let r=this.getSkeleton();if(!r)return;this._drawAuxiliary(e);let i=this.getParentScale(),a=this._refreshIncrementalState&&t.diffBounds?(n=t.diffBounds)==null?void 0:n.map(e=>r.getRangeByViewBound(e)):[],o=[r.getCacheRangeByViewport(t,this.isPrinting)],s=this.getExtensionsByOrder(),c=this.getScene();for(let n of s){let s=`${On}${n.uKey}`,u=l.Tools.now();n.draw(e,i,r,a,{viewRanges:o,checkOutOfViewBound:!0,viewportKey:t.viewportKey,viewBound:t.cacheBound,diffBounds:t.diffBounds}),this.addRenderFrameTimeMetricToScene(s,l.Tools.now()-u,c)}}addRenderFrameTimeMetricToScene(e,t,n){var r;n=(r=n)==null?this.getScene():r,n.getEngine().renderFrameTimeMetric$.next([e,t])}addRenderTagToScene(e,t,n){var r;n=(r=n)==null?this.getScene():r,n.getEngine().renderFrameTags$.next([e,t])}getScene(){return super.getScene()}isHit(e){let t=this.getInverseCoord(e),n=this.getSkeleton();if(!n)return!1;let{rowHeaderWidth:r,columnHeaderHeight:i}=n;return t.x>r&&t.y>i}getNoMergeCellPositionByIndex(e,t){let n=this.getSkeleton();return n?n.getNoMergeCellWithCoordByIndex(e,t):{startX:0,startY:0,endX:0,endY:0}}getScrollXYByRelativeCoords(e){let t=this.getParent(),n=0,r=0,i=t.findViewportByPosToScene(e);if(i){let e=i.viewportScrollX||0,t=i.viewportScrollY||0;n+=e,r+=t}return{x:n,y:r}}isForceDirty(){return this._forceDirty}makeForceDirty(e=!0){this.makeDirty(e),this._forceDirty=e}setForceDisableGridlines(e){this._forceDisableGridlines=e}getSelectionBounding(e,t,n,r){var i;return(i=this.getSkeleton())==null?void 0:i.expandRangeByMerge({startRow:e,startColumn:t,endRow:n,endColumn:r})}makeDirty(e=!0){var t;return(t=this.getParent())==null||t.getViewports().forEach(t=>t.markDirty(e)),super.makeDirty(e),e===!1&&(this._dirtyBounds=[]),this}setDirtyArea(e){this._dirtyBounds=e}renderByViewports(e,t,n){let{diffBounds:r,diffX:i,diffY:a,viewPortPosition:o,cacheCanvas:s,leftOrigin:c,topOrigin:l,bufferEdgeX:u,bufferEdgeY:d,isDirty:f,isForceDirty:p}=t,{rowHeaderWidth:m,columnHeaderHeight:h}=n,{a:g=1,d:_=1}=e.getTransform(),v=u*g/window.devicePixelRatio,y=d*_/window.devicePixelRatio,b=s.getContext();b.save();let x=p||this.isForceDirty(),S=f||this.isDirty();r.length===0||i===0&&a===0||x||S?(S||x)&&(this.addRenderTagToScene(`scrolling`,!1),this.refreshCacheCanvas(t,{cacheCanvas:s,cacheCtx:b,mainCtx:e,topOrigin:l,leftOrigin:c,bufferEdgeX:u,bufferEdgeY:d})):(r.length!==0||i!==0||a!==0)&&(this.addRenderTagToScene(`scrolling`,!0),this.paintNewAreaForScrolling(t,{cacheCanvas:s,cacheCtx:b,mainCtx:e,topOrigin:l,leftOrigin:c,bufferEdgeX:u,bufferEdgeY:d,scaleX:g,scaleY:_,columnHeaderHeight:h,rowHeaderWidth:m}));let C=v*Math.min(1,window.devicePixelRatio),w=y*Math.min(1,window.devicePixelRatio),{left:T,top:E,right:D,bottom:O}=o,k=D-T+m,A=O-E+h;this._applyCache(s,e,C,w,k,A,T,E,k,A),b.restore()}paintNewAreaForScrolling(e,t){let{cacheCanvas:n,cacheCtx:r,mainCtx:i,topOrigin:a,leftOrigin:o,bufferEdgeX:s,bufferEdgeY:c,scaleX:l,scaleY:u,columnHeaderHeight:d,rowHeaderWidth:f}=t,{shouldCacheUpdate:p,diffCacheBounds:m,diffX:h,diffY:g}=e;r.save(),r.setTransform(1,0,0,1,0,0),r.globalCompositeOperation=`copy`,r.drawImage(n.getCanvasEle(),h*l,g*u),r.restore(),this._refreshIncrementalState=!0;let _=i.getTransform();if(r.setTransform(_.a,_.b,_.c,_.d,0,0),r.translateWithPrecision(_.e/_.a-o+s,_.f/_.d-a+c),p)for(let t of m){let{left:n,right:i,bottom:a,top:o}=t,s=n-f,c=o-d,l=i-n,u=a-o;r.clearRectByPrecision(s,c,l,u),r.save(),r.beginPath(),r.rectByPrecision(s,c,l,u),r.closePath(),r.clip(),this.draw(r,{...e,diffBounds:[t]}),r.restore()}this._refreshIncrementalState=!1}refreshCacheCanvas(e,t){let{cacheCanvas:n,cacheCtx:r,mainCtx:i,topOrigin:a,leftOrigin:o,bufferEdgeX:s,bufferEdgeY:c}=t;r.save(),r.setTransform(1,0,0,1,0,0),n.clear(),r.restore(),r.save();let l=i.getTransform();r.setTransform(l.a,l.b,l.c,l.d,0,0),r.translateWithPrecision(l.e/l.a-o+s,l.f/l.d-a+c),this.draw(r,e),r.restore()}render(e,t){var n;if(!this.visible)return this.makeDirty(!1),this;let r=this.getSkeleton();if(!r)return;r.setStylesCache(t);let i=r.rowColumnSegment;if(!i||i.startRow===-1&&i.endRow===-1||i.startColumn===-1&&i.endColumn===-1)return;e.save();let{rowHeaderWidth:a,columnHeaderHeight:o}=r;e.translateWithPrecision(a,o),(n=this.getScene())==null||n.updateTransformerZero(r.rowHeaderWidth,r.columnHeaderHeight);let{viewportKey:s}=t;return wn.includes(s)?t&&t.cacheCanvas?this.renderByViewports(e,t,r):this._draw(e,t):Tn.includes(s)||(t&&t.cacheCanvas?this.renderByViewports(e,t,r):this._draw(e,t)),e.restore(),this}_applyCache(e,t,n=0,r=0,i=0,a=0,o=0,s=0,c=0,l=0){if(!t)return;let u=e.getPixelRatio(),d=e.getContext();d.save(),t.save(),t.setTransform(1,0,0,1,0,0),d.setTransform(1,0,0,1,0,0),t.imageSmoothingEnabled=!1,t.drawImage(e.getCanvasEle(),n*u,r*u,i*u,a*u,o*u,s*u,c*u,l*u),t.restore(),d.restore()}_draw(e,t){this.draw(e,t)}_getAncestorSize(){let e=this._getAncestorParent();if(e){if(e.classType===O.ENGINE){let t=e.getCanvas();return{width:t.getWidth(),height:t.getHeight()}}if(e.classType===O.SCENE_VIEWER)return{width:e.width,height:e.height}}}_getAncestorParent(){let e=this.parent;for(;e;){if(e.classType===O.ENGINE||e.classType===O.SCENE_VIEWER)return e;e=(e==null?void 0:e.getParent)&&(e==null?void 0:e.getParent())}}_initialDefaultExtension(){hn.getData().sort(l.sortRules).forEach(e=>{this.register(new e)}),this._backgroundExtension=this.getExtensionByKey(`DefaultBackgroundExtension`),this._borderExtension=this.getExtensionByKey(`DefaultBorderExtension`),this._fontExtension=this.getExtensionByKey(`DefaultFontExtension`)}_drawAuxiliary(e){var t;let n=this.getSkeleton();if(n==null)return;let{rowColumnSegment:r,overflowCache:i,showGridlines:a,gridlinesColor:o,worksheet:s}=n,{startRow:c,endRow:u,startColumn:d,endColumn:f}=r;if(!n||a===l.BooleanNumber.FALSE||this._forceDisableGridlines)return;let{rowHeightAccumulation:p,columnTotalWidth:m,columnWidthAccumulation:h,rowTotalHeight:g}=n;if(!p||!h||m===void 0||g===void 0)return;e.save(),e.setLineWidthByPrecision(1),e.strokeStyle=(t=o==null?e.renderConfig.gridlinesColor:o)==null?F([214,216,219]):t;let _=h.length,v=p.length,y=.4,b=u-c+1,x=f-d+1,S=Math.ceil(b*y),C=Math.ceil(x*y),w=Math.max(Math.floor(c-S),0),T=Math.min(Math.ceil(u+S),v-1),E=Math.min(Math.ceil(f+C),_-1),D=Math.max(Math.floor(d-C),0),O=h[D-1]||0,k=p[w-1]||0,A=h[E],M=p[T];e.translateWithPrecisionRatio(j,j),e.beginPath(),e.moveToByPrecision(O,k),e.lineToByPrecision(A,k),e.moveToByPrecision(O,k),e.lineToByPrecision(O,M),e.closePathByEnv(),e.stroke();let N=[],P=c;for(let t=w;t<=T;t++){if(s.getRowVisible(t)===!1?P<t?(N.push({startRow:P,endRow:t-1,startColumn:d,endColumn:f}),P=t+1):P===t&&(P=t+1):t===u&&P<=t&&N.push({startRow:P,endRow:t,startColumn:d,endColumn:f}),t<0||t>v-1)continue;let n=p[t];e.beginPath(),e.moveToByPrecision(O,n),e.lineToByPrecision(A,n),e.closePathByEnv(),e.stroke()}for(let t=D;t<=E;t++){if(t<0||t>_-1)continue;let n=h[t];e.beginPath(),e.moveToByPrecision(n,k),e.lineToByPrecision(n,M),e.closePathByEnv(),e.stroke()}let I=[];for(let e of N){let t=n.getCurrentRowColumnSegmentMergeData(e);I.push(...t)}this._clearRectangle(e,p,h,I),this._clearRectangle(e,p,h,i.toNativeArray()),e.restore()}_clearRectangle(e,t,n,r){if(r!=null)for(let c of r){var i,a,o,s;let{startRow:r,endRow:l,startColumn:u,endColumn:d}=c,f=(i=t[r-1])==null?0:i,p=(a=t[l])==null?t[t.length-1]:a,m=(o=n[u-1])==null?0:o,h=(s=n[d])==null?n[n.length-1]:s;e.clearRectByPrecision(m,f,h-m,p-f),e.beginPath(),e.moveToByPrecision(m,f),e.lineToByPrecision(h,f),e.lineToByPrecision(h,p),e.lineToByPrecision(m,p),e.lineToByPrecision(m,f),e.stroke(),e.closePath()}}testShowRuler(e,t){let{cacheBound:n}=t,{rowHeaderWidth:r,columnHeaderHeight:i}=this.getSkeleton(),{left:a,top:o,right:s,bottom:c}=n,l=e=>e+(100-e%100),u=l(a),d=l(s),f=l(o),p=l(c);e.save(),e.beginPath(),e.strokeStyle=`#000000`,e.fillStyle=`#000000`,e.font=`16px Arial`,e.lineWidth=1,e.textAlign=`center`,e.textBaseline=`middle`;for(let t=u;t<=d;t+=50)e.beginPath(),e.strokeStyle=t%100==0?`red`:`#aaa`,e.moveTo(t-r,o-i),e.lineTo(t-r,c-i),e.stroke(),e.closePath();for(let t=f;t<=p;t+=50)e.beginPath(),e.strokeStyle=t%100==0?`red`:`#aaa`,e.moveTo(a-r,t-i),e.lineTo(s-r,t-i),e.stroke(),e.closePath();e.fillStyle=`#666`;for(let t=u;t<=d;t+=100)for(let n=f;n<=p;n+=100)e.fillText(`${t},${n}`,t-r,n-i);e.closePath(),e.restore()}testGetRandomLightColor(){let e=`#`;for(let t=0;t<6;t++)e+=`ABCDEF`[Math.floor(Math.random()*6)];let t=Number.parseInt(e.substring(1,3),16),n=Number.parseInt(e.substring(3,5),16),r=Number.parseInt(e.substring(5,7),16);return t+n+r<610?this.testGetRandomLightColor():e}};let gc=function(e){return e.UserInfo=`userInfo`,e.Text=`text`,e.Image=`image`,e}({});function _c(e,t,n,r){let i=t.type,a=t.config;i===gc.UserInfo&&a.userInfo?vc(e,a.userInfo,r):i===gc.Image&&a.image?bc(e,a.image,n):i===gc.Text&&a.text&&yc(e,a.text)}function vc(e,t,n){let{x:r,y:i,repeat:a,spacingX:o,spacingY:s,rotate:c,opacity:l,name:u,fontSize:d,color:f,bold:p,italic:m,direction:h}=t;if(!n)return;let g=``;if(u&&(g+=`${n.name} `),!g)return;e.save(),e.globalAlpha=l,e.direction=h;let _=``;if(m&&(_+=`italic `),p&&(_+=`bold `),_+=`${d}px Arial`,e.font=_,e.fillStyle=f,a){let t=e.canvas.width,n=e.canvas.height;for(let a=i;a<n;a+=d+s)for(let n=r;n<t;n+=e.measureText(g).width+o)e.save(),e.translate(n,a),e.rotate(Math.PI/180*c),e.fillText(g,0,0),e.restore()}else e.save(),e.translate(r,i),e.rotate(Math.PI/180*c),e.fillText(g,0,0),e.restore();e.restore()}function yc(e,t){let{x:n,y:r,repeat:i,spacingX:a,spacingY:o,rotate:s,opacity:c,content:l,fontSize:u,color:d,bold:f,italic:p,direction:m}=t;e.save(),e.globalAlpha=c,e.direction=m;let h=``;if(p&&(h+=`italic `),f&&(h+=`bold `),h+=`${u}px Arial`,e.font=h,e.fillStyle=d,l)if(i){let t=e.canvas.width,i=e.canvas.height;for(let c=r;c<i;c+=u+o)for(let r=n;r<t;r+=e.measureText(l).width+a)e.save(),e.translate(r,c),e.rotate(Math.PI/180*s),e.fillText(l,0,0),e.restore()}else e.save(),e.translate(n,r),e.rotate(Math.PI/180*s),e.fillText(l,0,0),e.restore();e.restore()}function bc(e,t,n){let{x:r,y:i,repeat:a,spacingX:o,spacingY:s,rotate:c,opacity:l,width:u,height:d,maintainAspectRatio:f,originRatio:p}=t;if(!(n!=null&&n.complete))return;e.save(),e.globalAlpha=l;let m=u,h=f?u/p:d;if(a){let t=e.canvas.width,a=e.canvas.height;for(let l=i;l<a;l+=h+s)for(let i=r;i<t;i+=m+o)e.save(),e.translate(i,l),e.rotate(Math.PI/180*c),e.drawImage(n,0,0,m,h),e.restore()}else e.save(),e.translate(r,i),e.rotate(Math.PI/180*c),e.drawImage(n,0,0,m,h),e.restore();e.restore()}var xc=class extends l.Disposable{constructor(e,t=[],n=1,r=!1){super(),this._scene=e,this._zIndex=n,this._allowCache=r,U(this,`_objects`,[]),U(this,`_cacheCanvas`,void 0),U(this,`_dirty`,!0),U(this,`_debounceDirtyFunc`,void 0),this.addObjects(t),this._allowCache&&this._initialCacheCanvas()}get scene(){return this._scene}get zIndex(){return this._zIndex}enableCache(){this._allowCache=!0,this._initialCacheCanvas()}disableCache(){var e;this._allowCache=!1,(e=this._cacheCanvas)==null||e.dispose(),this._cacheCanvas=null}isAllowCache(){return this._allowCache}getObjectsByOrder(){let e=[];this._objects.sort(l.sortRules);for(let t of this._objects)!t.isInGroup&&t.visible&&e.push(t);return e}getObjectsByOrderForPick(){let e=[];this._objects.sort(l.sortRules);for(let t of this._objects)t.visible&&t.evented&&e.push(t);return e}getObjects(){return this._objects}addObject(e){if(e.classType===O.GROUP){let t=e.getObjects();for(let e of t)this.scene.getObject(e.oKey)||(this._objects.push(e),this.scene.setObjectBehavior(e),this._layerBehavior(e))}return this._objects.push(e),this.scene.setObjectBehavior(e),this._layerBehavior(e),this.makeDirty(!0),this}removeObject(e){let t=this.getObjects(),n=t.length;if(e instanceof rn){for(let r=0;r<n;r++)if(t[r]===e){t.splice(r,1);return}}else for(let r=0;r<n;r++)if(t[r].oKey===e){t.splice(r,1);return}}addObjects(e){return e.forEach(e=>{this.addObject(e)}),this}removeObjects(e){let t=this.getObjects(),n=t.length;for(let r=n-1;r>=0;r--){let n=t[r],i=e.length;if(i===0)break;for(let a=0;a<i;a++){let i=e[a];if(n=i instanceof rn?n:n.oKey,n===i){t.splice(r,1);break}}}}makeDirty(e=!0){this._dirty=e;let t=this.scene.getParent();return t.classType===O.SCENE_VIEWER&&t.makeDirty(!0),this}makeDirtyWithDebounce(e=!0){this._debounceDirtyFunc&&this._debounceDirtyFunc(),this._debounceDirtyFunc=(0,l.requestImmediateMacroTask)(()=>{this.makeDirty(e),this._debounceDirtyFunc=null})}isDirty(){return this._dirty}render(e,t=!1){var n;let r=e||((n=this._scene.getEngine())==null?void 0:n.getCanvas().getContext());if(r)if(this._allowCache&&this._cacheCanvas){if(this.isDirty()){let e=this._cacheCanvas.getContext();this._cacheCanvas.clear(),e.save(),e.setTransform(r.getTransform()),this._draw(e,t),e.restore()}this._applyCache(r)}else r.save(),this._draw(r,t),r.restore();return this.makeDirty(!1),this}_layerBehavior(e){this.disposeWithMe((0,l.toDisposable)(e.onTransformChange$.subscribeEvent(()=>{this.makeDirty(!0)}))),e.layer=this}_initialCacheCanvas(){let e=this.scene.getEngine();e&&this.disposeWithMe(e.onTransformChange$.subscribeEvent(()=>{this._resizeCacheCanvas()})),this._cacheCanvas=new un({colorService:e==null?void 0:e.canvasColorService})}_draw(e,t){let n=this._scene.getViewports().filter(e=>e.shouldIntoRender()),r=this.getObjectsByOrder();for(let[i,a]of n.entries())a.render(e,r,t);r.forEach(e=>{var t;e.makeDirty(!1),(t=e.makeForceDirty)==null||t.call(e,!1)})}_applyCache(e){if(!e||this._cacheCanvas==null)return;let t=this._cacheCanvas.getWidth(),n=this._cacheCanvas.getHeight();t!==0&&n!==0&&e.drawImage(this._cacheCanvas.getCanvasEle(),0,0,t,n)}_resizeCacheCanvas(){let e=this._scene.getEngine();if(e){var t;(t=this._cacheCanvas)==null||t.setSize(e.width,e.height)}this.makeDirty(!0)}clear(){this._objects=[]}dispose(){var e,t;super.dispose(),[...this.getObjects()].forEach(e=>{e.dispose()}),this.clear(),(e=this._debounceDirtyFunc)==null||e.call(this),this._debounceDirtyFunc=null,(t=this._cacheCanvas)==null||t.dispose(),this._cacheCanvas=null}},Sc=class extends xc{constructor(...e){super(...e),U(this,`_config`,void 0),U(this,`_image`,void 0),U(this,`_user`,void 0)}render(e,t=!1){var n;super.render(e,t);let r=e||((n=this.scene.getEngine())==null?void 0:n.getCanvas().getContext());return r&&r.getId()&&this._renderWatermark(r),this}updateConfig(e,t){var n;this._config=e,((n=this._config)==null?void 0:n.type)===gc.Image&&this._config.config.image&&(this._image=new Image,this._image.src=this._config.config.image.url),t&&(this._user=t)}_renderWatermark(e){this._config&&_c(e,this._config,this._image,this._user)}};function Cc(e,t,n){e.onPointerEnter$.subscribeEvent(n=>{t(e,n)}),e.onPointerLeave$.subscribeEvent(t=>{n(e,t)})}var wc=class extends rn{constructor(e,t){super(e),U(this,`_subScenes`,new Map),U(this,`_activeSubScene`,void 0),U(this,`_allowSelectedClipElement`,!1),this._initialProps(t)}get classType(){return O.SCENE_VIEWER}render(e,t){var n;if(!this.visible)return this.makeDirty(!1),this;if(t){let{left:e,top:n,right:r,bottom:i}=t.cacheBound||t.viewBound;if(this.width+this.strokeWidth+this.left<e||r<this.left||this.height+this.strokeWidth+this.top<n||i<this.top)return this}let r=this.transform.getMatrix();return e.save(),e.transform(r[0],r[1],r[2],r[3],r[4],r[5]),(n=this._activeSubScene)==null||n.makeDirtyNoParent(!0).render(e),e.restore(),this.makeDirty(!1),this}getSubScenes(){return this._subScenes}getActiveSubScene(){return this._activeSubScene}getSubScene(e){for(let[t,n]of this._subScenes)if(t===e)return n}addSubScene(e){this._activeSubScene=e,this._subScenes.set(e.sceneKey,e),this.makeDirty()}removeSubScene(e){let t=this._subScenes.get(e);this._subScenes.delete(e),this._activeSubScene===t&&(this._activeSubScene=this._subScenes.values().next().value),this.makeDirty()}activeSubScene(e){if(e==null)return;let t=this._subScenes.get(e);this._activeSubScene!==t&&(this._activeSubScene=t,this.makeDirty())}enableSelectedClipElement(){this._allowSelectedClipElement=!0}disableSelectedClipElement(){this._allowSelectedClipElement=!1}allowSelectedClipElement(){return this._allowSelectedClipElement}pick(e){var t;if(this._activeSubScene===void 0)return;let n=this.transform.invert().applyPoint(e);return(t=this._activeSubScene)==null?void 0:t.pick(n)}dispose(){super.dispose(),this._subScenes.forEach(e=>{e.dispose()})}_initialProps(e){if(!e)return;let t=Object.keys(e);if(t.length===0)return;let n={},r=!1;t.forEach(t=>{if(e[t]===void 0)return!0;n[t]=e[t],r=!0}),r&&this.transformByState(n),this.makeDirty(!0)}};let Tc=function(e){return e.LEFT=`__slideNavigationLeft__`,e.RIGHT=`__slideNavigationRight__`,e}({});const Ec=`M512 1024C229.248 1024 0 794.752 0 512S229.248 0 512 0s512 229.248 512 512-229.248 512-512 512z m200.746667-478.506667l1.749333-1.664 30.165333-30.165333-330.496-330.581333a42.837333 42.837333 0 0 0-60.288 0 42.538667 42.538667 0 0 0 0 60.330666l270.08 270.165334-270.08 269.952a42.496 42.496 0 0 0 0 60.288c16.64 16.64 43.861333 16.469333 60.288 0.042666l298.581334-298.368z`;var Dc=class extends wc{constructor(...e){super(...e),U(this,`slideChangePageByNavigation$`,new l.EventSubject),U(this,`subSceneChanged$`,new l.EventSubject),U(this,`_navigationEnabled`,!1)}activeFirstPage(){let e=this.getSubScenes().keys().next().value;e!=null&&this.changePage(e)}addPageScene(e){let t=e.sceneKey;this.getSubScene(t)||this.addSubScene(e),this.addNavigation(),this.subSceneChanged$.emitEvent(e)}changePage(e){e!==null&&(this.removeNavigation(),this.activeSubScene(e),this.addNavigation())}hasPage(e){return this.getSubScene(e)}addNavigation(){let e=this.getActiveSubScene();if(e==null||this._navigationEnabled===!1)return;let t=new ac(Tc.LEFT,{data:Ec,width:60,height:60,left:90,top:(this.height-30)/2,fill:this._getArrowColor(),flipX:!0}),n=new ac(Tc.RIGHT,{data:Ec,width:60,height:60,left:this.width-90,top:(this.height-30)/2,fill:this._getArrowColor()}),r=(e,t)=>{e.setCursor(C.POINTER),e.setProps({fill:this._getArrowColor(!0)})},i=(e,t)=>{e.setCursor(C.DEFAULT),e.setProps({fill:this._getArrowColor()})};Cc(t,r,i),Cc(n,r,i),this._addNavTrigger(t,n),e.addObjects([t,n],7)}removeNavigation(){var e,t;let n=this.getActiveSubScene();n==null||this._navigationEnabled===!1||((e=n.getObject(Tc.LEFT))==null||e.dispose(),(t=n.getObject(Tc.RIGHT))==null||t.dispose())}enableNav(){this._navigationEnabled=!0}disableNav(){this._navigationEnabled=!1}hiddenNav(){var e,t;let n=this.getActiveSubScene();n==null||this._navigationEnabled===!1||((e=n.getObject(Tc.LEFT))==null||e.hide(),(t=n.getObject(Tc.RIGHT))==null||t.hide())}showNav(){var e,t;let n=this.getActiveSubScene();n==null||this._navigationEnabled===!1||((e=n.getObject(Tc.LEFT))==null||e.show(),(t=n.getObject(Tc.RIGHT))==null||t.show())}renderToThumb(e,t,n=1,r=1){let i=this.getSubScene(t);i!=null&&(e.save(),e.scale(n,r),i.makeDirtyNoParent(!0).render(e),e.restore())}_getSubScenesIndex(e){if(e==null)return;let t=Array.from(this.getSubScenes()),n=t.length,r=0;for(let i=0;i<n;i++){let[n]=t[i];if(e===n){r=i;break}}let i=r+1,a=r-1;return i=i>=n?0:i,a=a<0?n-1:a,{nextScene:t[i][1],previousScene:t[a][1]}}_addNavTrigger(e,t){e.onPointerDown$.subscribeEvent(()=>{var e;let t=this._getSubScenesIndex((e=this.getActiveSubScene())==null?void 0:e.sceneKey),n=t==null?void 0:t.previousScene.sceneKey;this.changePage(n),this.slideChangePageByNavigation$.emitEvent(n)}),t.onPointerDown$.subscribeEvent(()=>{var e;let t=this._getSubScenesIndex((e=this.getActiveSubScene())==null?void 0:e.sceneKey),n=t==null?void 0:t.nextScene.sceneKey;this.changePage(n),this.slideChangePageByNavigation$.emitEvent(n)})}_getArrowColor(e=!1){return e?F(l.COLORS.white,.8):F(l.COLORS.white,.5)}},Oc=class e extends Us{constructor(e,t,n){super(e,t,n),U(this,`_drawLiquid`,void 0),this._drawLiquid=new Cr,this.makeDirty(!0)}static create(t,n,r){return new e(t,n,r)}draw(e,t){var n,r;let i=(n=this.getSkeleton())==null?void 0:n.getSkeletonData(),a=(r=this.getSkeleton())==null?void 0:r.getViewModel().getDataModel();if(i==null||a==null)return;let{documentFlavor:o}=a.getSnapshot().documentStyle;if(o!==l.DocumentFlavor.TRADITIONAL)return;this._drawLiquid.reset();let{pages:s}=i,c=0,u=0;for(let n=0,r=s.length;n<r;n++){let r=s[n];if(this.isSkipByDiffBounds(r,c,u,t)){let{x:e,y:t}=this._drawLiquid.translatePage(r,this.pageLayoutType,this.pageMarginLeft,this.pageMarginTop);u+=e,c+=t;continue}let{width:i,pageWidth:a,height:o,pageHeight:l,originMarginTop:d,originMarginBottom:f,marginLeft:p,marginRight:m}=r;e.save(),e.translate(u-.5,c-.5);let h={width:a==null?i:a,height:l==null?o:l,strokeWidth:1,stroke:`rgba(198, 198, 198, 1)`,fill:`rgba(255, 255, 255, 1)`,zIndex:3};ec.drawWith(e,h);let g={dataArray:[{command:`M`,points:[p-15,d]},{command:`L`,points:[p,d]},{command:`L`,points:[p,d-15]},{command:`M`,points:[a-m+15,d]},{command:`L`,points:[a-m,d]},{command:`L`,points:[a-m,d-15]},{command:`M`,points:[p-15,l-f]},{command:`L`,points:[p,l-f]},{command:`L`,points:[p,l-f+15]},{command:`M`,points:[a-m+15,l-f]},{command:`L`,points:[a-m,l-f]},{command:`L`,points:[a-m,l-f+15]}],strokeWidth:1.5,stroke:`rgba(158, 158, 158, 1)`};ac.drawWith(e,g),e.restore();let{x:_,y:v}=this._drawLiquid.translatePage(r,this.pageLayoutType,this.pageMarginLeft,this.pageMarginTop);u+=_,c+=v}}changeSkeleton(e){return this.setSkeleton(e),this}_draw(e,t){this.draw(e,t)}},kc=class extends rn{constructor(e,t=e=>{},n){super(e),this._render=t,this._isHitCustom=n}toJson(){return{...super.toJson()}}render(e,t){if(!this.visible)return this.makeDirty(!1),this;if(t&&!this.isInGroup){let{top:e,left:n,bottom:r,right:i}=t.viewBound;if(this.width+this.strokeWidth<n||i<0||this.height+this.strokeWidth<e||r<0)return this}let n=this.transform.getMatrix();return e.save(),e.transform(n[0],n[1],n[2],n[3],n[4],n[5]),this._render(e),e.restore(),this.makeDirty(!1),this}isHit(e){return this._isHitCustom?this._isHitCustom(e):super.isHit(e)}},Ac=class extends rn{constructor(e,...t){super(e),U(this,`_objects`,[]),U(this,`_selfSizeMode`,!1),this.addObjects(...t)}get classType(){return O.GROUP}set cursor(e){this.setCursor(e)}getState(){return this._selfSizeMode?super.getState():Lt(this.left,this.top,this._objects.map(e=>e.getState()))}get width(){return this._selfSizeMode?super.width:this.getState().width||0}get height(){return this._selfSizeMode?super.height:this.getState().height||0}set width(e){if(this._selfSizeMode){super.width=e;return}let t=e-this.width;this._objects.forEach(e=>{e.resize(e.width+t)})}set height(e){if(this._selfSizeMode){super.height=e;return}let t=e-this.height;this._objects.forEach(e=>{e.resize(void 0,e.height+t)})}get maxZIndex(){let e=0;for(let t of this._objects)e=Math.max(e,t.zIndex);return e}openSelfSizeMode(){this._selfSizeMode=!0}closeSelfSizeMode(){this._selfSizeMode=!1}reCalculateObjects(){if(this._selfSizeMode)return;let{left:e=0,top:t=0}=this.getState();for(let n of this._objects)n.transformByState({left:n.left-e,top:n.top-t});this.transformByState({left:e,top:t})}addObjects(...e){for(let t of e)this.addObject(t)}addObject(e){let t=e;if(le(e)){let n=this.getScene();if(t=n==null?void 0:n.getObject(e),!t)return;t.parent=this,t.isInGroup=!0,t.groupKey=this.oKey,this._objects.push(t)}else e.parent=this,e.isInGroup=!0,e.groupKey=this.oKey,this._objects.push(e)}removeObject(e){let t=this.getObjects(),n=t.length;if(le(e))for(let r=0;r<n;r++){let n=t[r];if(n.oKey===e){t.splice(r,1),this.parent.removeObject(n);return}}else for(let r=0;r<n;r++){let n=t[r];if(n===e){t.splice(r,1),this.parent.removeObject(n);return}}}removeSelfObjectAndTransform(e,t,n,r=!1){let i=[...this.getObjects()],a=i.length;t==null&&(t=this.width),n==null&&(n=this.height);for(let o=0;o<a;o++){let a=i[o];if(a.oKey===e){i.splice(o,1),r&&this._transformObject(a,t,n),a.parent=this.parent,a.groupKey=void 0,a.isInGroup=!1,this._objects=i;return}}}_transformObject(e,t,n){let r=zt(e.getState(),this.getState(),t,n);e.classType===O.GROUP?e.transformByState({left:r.left,top:r.top}):e.transformByState(r)}getObjectsByOrder(){let e=[];this._objects.sort(l.sortRules);for(let t of this._objects)t.visible&&e.push(t);return e}getObjects(){return this._objects}render(e,t){e.save();let n=this.transform.getMatrix();e.transform(n[0],n[1],n[2],n[3],n[4],n[5]);let r=this.getObjectsByOrder();for(let n=0;n<r.length;n++)r[n].render(e,t);e.restore()}_clear(){this._objects=[]}dispose(){[...this.getObjects()].forEach(e=>{e.dispose()}),this._clear(),super.dispose()}},jc=class extends Ac{constructor(...e){super(...e),U(this,`_selfSizeMode`,!0),U(this,`_baseBound`,{left:0,top:0,width:0,height:0})}setBaseBound(e){this._baseBound={...e}}getBaseBound(){return{...this._baseBound}}get ancestorTransform(){let{left:e,top:t,width:n,height:r}=this.getRealBound(),i=this.transform.getMatrix(),a=e+n/2,o=t+r/2,s=new Y([i[0],i[1],i[2],i[3],a,o]),c=this.getParent();return this.isInGroup&&(c==null?void 0:c.classType)===O.GROUP?c.ancestorTransform.multiply(s):s}render(e,t){let{left:n,top:r,width:i,height:a}=this.getRealBound();e.save();let o=this.transform.getMatrix(),s=n+i/2,c=r+a/2;e.transform(o[0],o[1],o[2],o[3],s,c);let l=this.getObjectsByOrder();for(let n=0;n<l.length;n++)l[n].render(e,t);e.restore()}addObjects(...e){for(let t of e)this.addObject(t)}isHit(e){let{left:t,top:n,width:r,height:i}=this.getRealBound(),a=this.transform.getMatrix(),o=t+r/2,s=n+i/2,c=new Y([a[0],a[1],a[2],a[3],o,s]),l=this.getParent(),u=(this.isInGroup&&(l==null?void 0:l.classType)===O.GROUP?l.ancestorTransform.multiply(c):c).invert().applyPoint(e),d=r/2,f=i/2;if(u.x<-d||u.x>d||u.y<-f||u.y>f)return!1;let p=this.getObjectsByOrder();for(let t=0;t<p.length;t++)if(p[t].isHit(e))return!0;return!1}dispose(){let e=[...this.getObjects()],t=this.getScene();e.forEach(e=>{e.dispose(),t==null||t.removeObject(e)}),this._objects=[],super.dispose(),t==null||t.removeObject(this)}};function Mc(e){return new d.Observable(t=>{let n=Fc(e,()=>t.next());return()=>n()})}function Nc(e,t){let n=null,r,i=(0,g.getDocumentElement)(e);function a(){clearTimeout(r),n==null||n.disconnect(),n=null}function o(s=!1,c=1){a();let{left:l,top:u,width:d,height:f}=e.getBoundingClientRect();if(s||t(),!d||!f)return;let p=(0,h.floor)(u),m=(0,h.floor)(i.clientWidth-(l+d)),g=(0,h.floor)(i.clientHeight-(u+f)),_=(0,h.floor)(l),v={rootMargin:`${-p}px ${-m}px ${-g}px ${-_}px`,threshold:(0,h.max)(0,(0,h.min)(1,c))||1},y=!0;function b(e){let t=e[0].intersectionRatio;if(t!==c){if(!y)return o();t?o(!1,t):r=setTimeout(()=>{o(!1,1e-7)},1e3)}y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function Pc(e){return e.getBoundingClientRect()}function Fc(e,t){let n=e,r=[...n?(0,m.getOverflowAncestors)(n):[]];r.forEach(e=>{e.addEventListener(`scroll`,t,{passive:!0}),e.addEventListener(`resize`,t)});let i=n?Nc(n,t):null,a=null,o=null;function s(){let n=Pc(e);o&&(n.x!==o.x||n.y!==o.y||n.width!==o.width||n.height!==o.height)&&t(),o=n,requestAnimationFrame(s)}return t(),()=>{r.forEach(e=>{e.removeEventListener(`scroll`,t),e.removeEventListener(`resize`,t)}),i==null||i(),a==null||a.disconnect(),a=null}}const Ic=(0,l.createIdentifier)(`univer.engine-render.canvas-color.service`);var Lc=class{getRenderColor(e){return e}};let Rc=class extends l.Disposable{constructor(e){super(),this._themeService=e,U(this,`_cache`,new Map),U(this,`_invertAlgo`,l.invertColorByMatrix)}getRenderColor(e){if(!this._themeService.darkMode)return e;if(this._cache.has(e))return this._cache.get(e);let t=``;if(e.startsWith(`#`)){if(t=Bc(this._invertAlgo(zc(e))),e.length===5){let n=e.charAt(4);t+=n+n}else if(e.length===9){let n=e.substring(7,9);t+=n}}else if(e.startsWith(`rgba`)){let n=e.slice(5,-1).split(`,`),r=this._invertAlgo(n.slice(0,3).map(Number));t=`rgba(${r[0]},${r[1]},${r[2]},${n[3]})`}else if(e.startsWith(`rgb`)){let n=e.slice(4,-1).split(`,`),r=this._invertAlgo(n.map(Number));t=`rgb(${r[0]},${r[1]},${r[2]})`}else if(this._themeService.isValidThemeColor(e))return this._themeService.getColorFromTheme(e);else if(new l.ColorKit(e).isValid){let{r:n,g:r,b:i,a}=new l.ColorKit(e).toRgb(),o=this._invertAlgo([n,r,i]);t=`rgba(${o[0]},${o[1]},${o[2]}, ${a})`}else throw Error(`[CanvasColorService]: illegal color "${e}"`);return this._cache.set(e,t),t}};Rc=Os([Ds(0,(0,l.Inject)(l.ThemeService))],Rc);function zc(e){let t=e.replace(/^#/,``),n,r,i;return t.length===3||t.length===4?(n=Number.parseInt(t.charAt(0)+t.charAt(0),16),r=Number.parseInt(t.charAt(1)+t.charAt(1),16),i=Number.parseInt(t.charAt(2)+t.charAt(2),16)):(n=Number.parseInt(t.substring(0,2),16),r=Number.parseInt(t.substring(2,4),16),i=Number.parseInt(t.substring(4,6),16)),[n,r,i]}function Bc(e){let t=Math.round(e[0]),n=Math.round(e[1]),r=Math.round(e[2]);return`#${t.toString(16).padStart(2,`0`)}${n.toString(16).padStart(2,`0`)}${r.toString(16).padStart(2,`0`)}`}let Vc=class extends l.Disposable{get clientRect$(){return this._rect$||(this._rect$=new d.Observable(e=>{if(!this._container)throw Error(`[Engine]: cannot subscribe to rect changes when container is not set!`);let t=Mc(this._container).subscribe(()=>e.next());return()=>{t.unsubscribe(),this._rect$=null}})).pipe((0,d.shareReplay)(1))}get unitId(){return this._unitId}get elapsedTime(){return l.Tools.now()-this._renderStartTime}get width(){return this.getCanvas().getWidth()}get height(){return this.getCanvas().getHeight()}get classType(){return O.ENGINE}get activeScene(){return this._activeScene}constructor(e,t,n){super(),this.canvasColorService=n,U(this,`renderEvenInBackground`,!0),U(this,`_beginFrame$`,new d.Subject),U(this,`beginFrame$`,this._beginFrame$.asObservable()),U(this,`_endFrame$`,new d.Subject),U(this,`endFrame$`,this._endFrame$.asObservable()),U(this,`renderFrameTimeMetric$`,new d.Subject),U(this,`renderFrameTags$`,new d.Subject),U(this,`onInputChanged$`,new l.EventSubject),U(this,`onTransformChange$`,new l.EventSubject),U(this,`_scenes`,{}),U(this,`_activeScene`,null),U(this,`_renderStartTime`,0),U(this,`_rect$`,null),U(this,`_container`,void 0),U(this,`_canvas`,void 0),U(this,`_renderingQueueLaunched`,!1),U(this,`_renderFrameTasks`,[]),U(this,`_requestNewFrameHandler`,-1),U(this,`_frameId`,-1),U(this,`_usingSafari`,ne()),U(this,`_resizeObserver`,void 0),U(this,`_fps`,60),U(this,`_deltaTime`,0),U(this,`_performanceMonitor`,void 0),U(this,`_pointerClickEvent`,void 0),U(this,`_pointerDblClickEvent`,void 0),U(this,`_pointerMoveEvent`,void 0),U(this,`_pointerDownEvent`,void 0),U(this,`_pointerUpEvent`,void 0),U(this,`_pointerOutEvent`,void 0),U(this,`_pointerCancelEvent`,void 0),U(this,`_pointerBlurEvent`,void 0),U(this,`_pointerWheelEvent`,void 0),U(this,`_pointerEnterEvent`,void 0),U(this,`_pointerLeaveEvent`,void 0),U(this,`_dragEnterEvent`,void 0),U(this,`_dragLeaveEvent`,void 0),U(this,`_dragOverEvent`,void 0),U(this,`_dropEvent`,void 0),U(this,`_remainCapture`,-1),U(this,`_pointerPosRecord`,{}),U(this,`_mouseId`,-1),U(this,`_isUsingFirefox`,navigator.userAgent.indexOf(`Firefox`)!==-1),U(this,`_previousWidth`,-1e3),U(this,`_previousHeight`,-1e3),U(this,`_unitId`,``),U(this,`_resizeListenerDisposable`,void 0),U(this,`_renderFunction`,e=>{let t=!0;this.renderEvenInBackground||(t=!1),t&&(this._beginFrame(e),this._renderFrame(e),this._endFrame(e)),this._renderFrameTasks.length>0?this._requestNewFrameHandler=L(this._renderFunction):this._renderingQueueLaunched=!1}),this._unitId=e==null?``:e;let r=Object.assign({},{elementHeight:1,elementWidth:1,renderMode:ln.Rendering,dpr:1},t);this._canvas=new un({mode:r.renderMode,width:r.elementWidth,height:r.elementHeight,pixelRatio:r.dpr,colorService:this.canvasColorService}),this._performanceMonitor=new Yt,this._handleKeyboardAction(),this._handlePointerAction(),this._handleDragAction(),r.renderMode!==ln.Printing&&this._matchMediaHandler()}getScenes(){return this._scenes}getScene(e){return this._scenes[e]}hasScene(e){return e in this._scenes}addScene(e){let t=e.sceneKey;return this.hasScene(t)&&console.warn(`Scenes has same key, it will be covered`),this._scenes[t]=e,e}setActiveScene(e){let t=this.getScene(e);return t&&(this._activeScene=t),t}hasActiveScene(){return this._activeScene!=null}get requestNewFrameHandler(){return this._requestNewFrameHandler}get frameId(){return this._frameId}setCanvasCursor(e){let t=this.getCanvas().getCanvasEle();t.style.cursor=e}clearCanvas(){this.getCanvas().clear()}getCanvas(){return this._canvas}getCanvasElement(){return this.getCanvas().getCanvasEle()}setCapture(){try{this.getCanvasElement().setPointerCapture(this._remainCapture)}catch{console.warn(`no capture`)}}getPixelRatio(){return this.getCanvas().getPixelRatio()}mount(e,t=!0){this.setContainer(e,t)}unmount(){if(this._clearResizeListener(),!this._container)throw Error(`[Engine]: cannot unmount when container is not set!`);this._container.removeChild(this.getCanvasElement()),this._container=null}setContainer(e,t=!0){if(this._container!==e&&(this._container=e,this._container.appendChild(this.getCanvasElement()),this._clearResizeListener(),t)){this.resize();let e;this._resizeObserver=new ResizeObserver(()=>{e||(e=window.requestIdleCallback(()=>{this.resize(),e=void 0}))}),this._resizeObserver.observe(this._container),this._resizeListenerDisposable=(0,l.toDisposable)(()=>{this._resizeObserver.unobserve(this._container),e!==void 0&&window.cancelIdleCallback(e)})}}_clearResizeListener(){var e;(e=this._resizeListenerDisposable)==null||e.dispose(),this._resizeListenerDisposable=void 0}resize(){if(!this._container)return;let{width:e,height:t}=Qe(this._container);e===this._previousWidth&&t===this._previousHeight||(this._previousWidth=e,this._previousHeight=t,this.resizeBySize(e,t))}dprChange(){let e=this._previousWidth,t=this._previousHeight;this.resizeBySize(e,t)}resizeBySize(e,t){let n=this.width,r=this.height;this.getCanvas().setSize(e,t),this.onTransformChange$.emitEvent({type:J.resize,value:{width:e,height:t},preValue:{width:n,height:r}})}dispose(){var e;super.dispose();let t={...this.getScenes()};Object.keys(t).forEach(e=>{t[e].dispose()}),this._scenes={};let n=te(),r=this.getCanvasElement();r.removeEventListener(`click`,this._pointerClickEvent),r.removeEventListener(`dblclick`,this._pointerDblClickEvent),r.removeEventListener(`${n}leave`,this._pointerLeaveEvent),r.removeEventListener(`${n}enter`,this._pointerEnterEvent),r.removeEventListener(`${n}move`,this._pointerMoveEvent),r.removeEventListener(`${n}down`,this._pointerDownEvent),r.removeEventListener(`${n}up`,this._pointerUpEvent),r.removeEventListener(`${n}out`,this._pointerOutEvent),r.removeEventListener(`${n}cancel`,this._pointerCancelEvent),r.removeEventListener(`blur`,this._pointerBlurEvent),r.removeEventListener(`dragenter`,this._dragEnterEvent),r.removeEventListener(`dragleave`,this._dragLeaveEvent),r.removeEventListener(`dragover`,this._dragOverEvent),r.removeEventListener(`drop`,this._dropEvent),r.removeEventListener(this._getWheelEventName(),this._pointerWheelEvent),this._renderFrameTasks=[],this._performanceMonitor.dispose(),this.getCanvas().dispose(),(e=this._resizeObserver)==null||e.disconnect(),this.onTransformChange$.complete(),this._beginFrame$.complete(),this._endFrame$.complete(),this.renderFrameTags$.complete(),this.renderFrameTimeMetric$.complete(),this._clearResizeListener(),this._container=null}addFunction2RenderLoop(e){this._renderFrameTasks.indexOf(e)===-1&&this._renderFrameTasks.push(e)}startRenderLoop(){this._renderingQueueLaunched||(this._renderStartTime=performance.now(),this._renderingQueueLaunched=!0,this._requestNewFrameHandler=L(this._renderFunction))}runRenderLoop(e){this.addFunction2RenderLoop(e),this.startRenderLoop()}stopRenderLoop(e){if(!e){this._renderFrameTasks.length=0,this._cancelFrame();return}let t=this._renderFrameTasks.indexOf(e);t>=0&&(this._renderFrameTasks.splice(t,1),this._renderFrameTasks.length===0&&this._cancelFrame())}_beginFrame(e){this._frameId++,this._beginFrame$.next(this._frameId)}_endFrame(e){this._performanceMonitor.endFrame(e),this._fps=this._performanceMonitor.averageFPS,this._deltaTime=this._performanceMonitor.instantaneousFrameTime||0,this._endFrame$.next({FPS:this.getFps(),frameTime:this.getDeltaTime(),elapsedTime:this.elapsedTime})}getFps(){return this._fps}getDeltaTime(){return this._deltaTime}_renderFrame(e){for(let e=0;e<this._renderFrameTasks.length;e++){let t=this._renderFrameTasks[e];t()}}_cancelFrame(){if(this._renderingQueueLaunched&&this._requestNewFrameHandler){if(this._renderingQueueLaunched=!1,typeof window>`u`){if(typeof cancelAnimationFrame==`function`)return cancelAnimationFrame(this._requestNewFrameHandler)}else{let{cancelAnimationFrame:e}=this._getHostWindow()||window;if(typeof e==`function`)return e(this._requestNewFrameHandler)}return clearTimeout(this._requestNewFrameHandler)}}_getHostWindow(){var e;return typeof window>`u`?null:(e=this.getCanvasElement().ownerDocument)!=null&&e.defaultView?this.getCanvasElement().ownerDocument.defaultView:window}_handleKeyboardAction(){let e=e=>{let t=e;t.deviceType=Wt.Keyboard,t.inputIndex=e.keyCode,this.onInputChanged$.emitEvent(t)},t=e=>{let t=e;t.deviceType=Wt.Keyboard,t.inputIndex=e.keyCode,this.onInputChanged$.emitEvent(t)},n=this.getCanvasElement();n.addEventListener(`keydown`,e),n.addEventListener(`keyup`,t)}_handlePointerAction(){let e=te();this._pointerClickEvent=e=>{let t=this._getPointerType(e),n=e;n.deviceType=t,this.onInputChanged$.emitEvent(n)},this._pointerDblClickEvent=e=>{let t=this._getPointerType(e),n=e;n.deviceType=t,this.onInputChanged$.emitEvent(n)},this._pointerMoveEvent=e=>{let t=e,n=this._getPointerType(t);this._pointerPosRecord[q.Horizontal]=t.clientX,this._pointerPosRecord[q.Vertical]=t.clientY,this._pointerPosRecord[q.DeltaHorizontal]=t.movementX,this._pointerPosRecord[q.DeltaVertical]=t.movementY;let r=t;r.deviceType=n,r.inputIndex=q.Horizontal,this.onInputChanged$.emitEvent(r),this._usingSafari||(r.inputIndex=t.button+2,this.onInputChanged$.emitEvent(r))},this._pointerDownEvent=e=>{let t=e,n=this._getPointerType(t),r=this._pointerPosRecord[q.Horizontal],i=this._pointerPosRecord[q.Vertical];n===Wt.Mouse?(this._mouseId===-1&&(t.pointerId===void 0?this._mouseId=this._isUsingFirefox?0:1:this._mouseId=t.pointerId),document.pointerLockElement||(this._remainCapture=this._mouseId)):t.pointerId&&!document.pointerLockElement&&(this._remainCapture=t.pointerId),this._pointerPosRecord[q.Horizontal]=t.clientX,this._pointerPosRecord[q.Vertical]=t.clientY;let a=t;a.deviceType=n,r!==t.clientX&&(a.inputIndex=q.Horizontal,this.onInputChanged$.emitEvent(a)),i!==t.clientY&&(a.inputIndex=q.Vertical,this.onInputChanged$.emitEvent(a)),a.inputIndex=t.button+2,this.onInputChanged$.emitEvent(a)},this._pointerUpEvent=e=>{let t=e,n=this._getPointerType(t),r=this._pointerPosRecord[q.Horizontal],i=this._pointerPosRecord[q.Vertical];this._pointerPosRecord[q.Horizontal]=t.clientX,this._pointerPosRecord[q.Vertical]=t.clientY;let a=t;a.deviceType=n,r!==t.clientX&&(a.inputIndex=q.Horizontal,this.onInputChanged$.emitEvent(a)),i!==t.clientY&&(a.inputIndex=q.Vertical,this.onInputChanged$.emitEvent(a)),a.inputIndex=t.button+2;let o=this.getCanvasElement();n===Wt.Mouse&&this._mouseId>=0&&o.hasPointerCapture(this._mouseId)?(this._remainCapture=this._mouseId,o.releasePointerCapture(this._mouseId)):a.pointerId&&o.hasPointerCapture(a.pointerId)&&(this._remainCapture=a.pointerId,o.releasePointerCapture(a.pointerId)),this.onInputChanged$.emitEvent(a),n!==Wt.Mouse&&(this._pointerPosRecord={})},this._pointerEnterEvent=e=>{let t=this._getPointerType(e),n=e;n.deviceType=t,this.onInputChanged$.emitEvent(n)},this._pointerLeaveEvent=e=>{let t=this._getPointerType(e),n=e;n.deviceType=t,this.onInputChanged$.emitEvent(n)},this._pointerOutEvent=e=>{let t=this._getPointerType(e),n=e;n.deviceType=t,this.onInputChanged$.emitEvent(n)},this._pointerCancelEvent=e=>{let t=this._getPointerType(e),n=e;n.deviceType=t,this.onInputChanged$.emitEvent(n)},this._pointerBlurEvent=()=>{this._mouseId>=0&&this.getCanvasElement().hasPointerCapture(this._mouseId),this._pointerPosRecord={}},this._pointerWheelEvent=e=>{let t=Wt.Mouse;this._pointerPosRecord[q.MouseWheelX]=e.deltaX||0,this._pointerPosRecord[q.MouseWheelY]=e.deltaY||e.wheelDelta||0,this._pointerPosRecord[q.MouseWheelZ]=e.deltaZ||0;let n=e;n.deviceType=t,this._pointerPosRecord[q.MouseWheelX]!==0&&(n.currentState=this._pointerPosRecord[q.MouseWheelX]),this._pointerPosRecord[q.MouseWheelY]!==0&&(n.currentState=this._pointerPosRecord[q.MouseWheelY]),this._pointerPosRecord[q.MouseWheelZ]!==0&&(n.currentState=this._pointerPosRecord[q.MouseWheelZ]),this.onInputChanged$.emitEvent(n)};let t=this.getCanvasElement();t.addEventListener(`click`,this._pointerClickEvent),t.addEventListener(`dblclick`,this._pointerDblClickEvent),t.addEventListener(`${e}enter`,this._pointerEnterEvent),t.addEventListener(`${e}leave`,this._pointerLeaveEvent),t.addEventListener(`${e}move`,this._pointerMoveEvent),t.addEventListener(`${e}down`,this._pointerDownEvent),t.addEventListener(`${e}up`,this._pointerUpEvent),t.addEventListener(`${e}out`,this._pointerOutEvent),t.addEventListener(`${e}cancel`,this._pointerCancelEvent),t.addEventListener(`blur`,this._pointerBlurEvent),t.addEventListener(this._getWheelEventName(),this._pointerWheelEvent,this._getPassive()?{passive:!1}:!1)}_handleDragAction(){this._dragEnterEvent=e=>{let t=this._getPointerType(e),n=e;n.deviceType=t,n.currentState=4,this.onInputChanged$.emitEvent(n)},this._dragLeaveEvent=e=>{let t=this._getPointerType(e),n=e;n.deviceType=t,n.currentState=5,this.onInputChanged$.emitEvent(n)},this._dragOverEvent=e=>{e.preventDefault();let t=this._getPointerType(e),n=this._pointerPosRecord[q.Horizontal],r=this._pointerPosRecord[q.Vertical];this._pointerPosRecord[q.Horizontal]=e.clientX,this._pointerPosRecord[q.Vertical]=e.clientY,this._pointerPosRecord[q.DeltaHorizontal]=e.movementX,this._pointerPosRecord[q.DeltaVertical]=e.movementY;let i=e;i.deviceType=t,n!==e.clientX&&(i.inputIndex=q.Horizontal,i.currentState=this._pointerPosRecord[q.Horizontal],this.onInputChanged$.emitEvent(i)),r!==e.clientY&&(i.inputIndex=q.Vertical,i.currentState=this._pointerPosRecord[q.Vertical],this.onInputChanged$.emitEvent(i)),this._pointerPosRecord[q.DeltaHorizontal]!==0&&(i.inputIndex=q.DeltaHorizontal,i.currentState=this._pointerPosRecord[q.DeltaHorizontal],this.onInputChanged$.emitEvent(i)),this._pointerPosRecord[q.DeltaVertical]!==0&&(i.inputIndex=q.DeltaVertical,i.currentState=this._pointerPosRecord[q.DeltaVertical],this.onInputChanged$.emitEvent(i)),this._usingSafari||(i.inputIndex=e.button+2,i.currentState=this._pointerPosRecord[e.button+2],this.onInputChanged$.emitEvent(i))},this._dropEvent=e=>{let t=this._getPointerType(e),n=e;n.deviceType=t,n.currentState=6,this.onInputChanged$.emitEvent(n)};let e=this.getCanvasElement();e.addEventListener(`dragenter`,this._dragEnterEvent),e.addEventListener(`dragleave`,this._dragLeaveEvent),e.addEventListener(`dragover`,this._dragOverEvent),e.addEventListener(`drop`,this._dropEvent)}_getWheelEventName(){return`onwheel`in document.createElement(`div`)?`wheel`:document.onmousewheel===void 0?`DOMMouseScroll`:`mousewheel`}_getPassive(){let e=!1,t=()=>{};try{let n={passive:{get(){e=!0}}},r=this.getCanvasElement();r.addEventListener(`test`,t,n),r.removeEventListener(`test`,t,n)}catch{}return e}_getPointerType(e){let t=Wt.Mouse;return(e.pointerType===`touch`||e.pointerType===`pen`||e.touches)&&(t=Wt.Touch),t}_matchMediaHandler(){var e;if(!((e=window)!=null&&e.matchMedia))return;let t=window.matchMedia(`(resolution: ${window.devicePixelRatio}dppx)`),n=()=>{this.dprChange()};t.addEventListener(`change`,n),this.disposeWithMe((0,l.toDisposable)(()=>{t.removeEventListener(`change`,n)}))}};Vc=Os([Ds(2,Ic)],Vc);var Hc=`@univerjs/engine-render`,Uc=`0.19.0`;const Wc=`engine-render.config`;Symbol(Wc);const Gc={};var Kc=class e extends l.Disposable{constructor(e){super(),U(this,`_scene`,void 0),U(this,`_alreadyAttached`,!1),U(this,`_onInput$`,void 0),U(this,`_currentMouseEnterPicked`,void 0),U(this,`_startingPosition`,new K(1/0,1/0)),U(this,`_delayedTimeout`,-1),U(this,`_delayedTripeTimeout`,-1),U(this,`_doubleClickOccurred`,0),U(this,`_tripleClickState`,!1),U(this,`_currentObject`,void 0),U(this,`_clickTimeout`,null),U(this,`_clickCount`,0),this._scene=e}dispose(){super.dispose(),this.detachControl(),this._scene=null,this._currentMouseEnterPicked=null,this._currentObject=null,this._startingPosition=null,clearTimeout(this._delayedTimeout),clearTimeout(this._delayedTripeTimeout),this._onClick=null,this._onDblClick=null,this._onPointerMove=null,this._onPointerDown=null,this._onPointerUp=null,this._onPointerEnter=null,this._onPointerLeave=null,this._onMouseWheel=null,this._onKeyDown=null,this._onKeyUp=null,this._onDragEnter=null,this._onDragLeave=null,this._onDragOver=null,this._onDrop=null}mouseLeaveEnterHandler(e){let t=this._currentObject||this.capturedObject;if(t==null){var n;(n=this._currentMouseEnterPicked)==null||n.triggerPointerLeave(e),this._currentMouseEnterPicked=null}else if(t!==this._currentMouseEnterPicked){let n=this._currentMouseEnterPicked;this._currentMouseEnterPicked=t,n==null||n.triggerPointerLeave(e),t==null||t.triggerPointerEnter(e)}}dragLeaveEnterHandler(e){let t=this._currentObject;if(t==null){var n;(n=this._currentMouseEnterPicked)==null||n.triggerDragLeave(e),this._currentMouseEnterPicked=null}else if(t!==this._currentMouseEnterPicked){let n=this._currentMouseEnterPicked;this._currentMouseEnterPicked=t,n==null||n.triggerDragLeave(e),t==null||t.triggerDragEnter(e)}}_onClick(e){e.pointerId===void 0&&(e.pointerId=0),this._clickCount++,this._clickTimeout||(this._clickTimeout=setTimeout(()=>{if(this._clickCount===1){let t=this._getObjectAtPos(e.offsetX,e.offsetY);!(t!=null&&t.triggerSingleClick(e))&&this._shouldDispatchEventToScene(t)&&this._scene.onPointerDown$.emitEvent(e)}else this._clickCount;clearTimeout(this._clickTimeout),this._clickTimeout=null,this._clickCount=0},300));let t=this._getObjectAtPos(e.offsetX,e.offsetY);!(t!=null&&t.triggerClick(e))&&this._shouldDispatchEventToScene(t)&&this._scene.onPointerDown$.emitEvent(e)}_onDblClick(e){e.pointerId===void 0&&(e.pointerId=0);let t=this._getObjectAtPos(e.offsetX,e.offsetY);!(t!=null&&t.triggerDblclick(e))&&this._shouldDispatchEventToScene(t)&&this._scene.onPointerDown$.emitEvent(e)}_onPointerEnter(e){e.pointerId===void 0&&(e.pointerId=0),this._currentObject=this._getObjectAtPos(e.offsetX,e.offsetY),this.mouseLeaveEnterHandler(e)}_onPointerLeave(e){e.pointerId===void 0&&(e.pointerId=0),this._currentObject=null,this.mouseLeaveEnterHandler(e)}_onPointerMove(e){var t;e.pointerId===void 0&&(e.pointerId=0);let n=this._currentObject=this._getObjectAtPos(e.offsetX,e.offsetY),r=(t=n||this.capturedObject)==null?void 0:t.triggerPointerMove(e);if(this.mouseLeaveEnterHandler(e),!r&&this._shouldDispatchEventToScene(n)){var i;this._scene.onPointerMove$.emitEvent(e),(i=this._scene.getEngine())==null||i.setCapture()}}_onPointerDown(e){e.pointerId===void 0&&(e.pointerId=0);let t=this._getObjectAtPos(e.offsetX,e.offsetY);!(t!=null&&t.triggerPointerDown(e))&&this._shouldDispatchEventToScene(t)&&this._scene.onPointerDown$.emitEvent(e)}_onPointerUp(e){e.pointerId===void 0&&(e.pointerId=0);let t=this._getObjectAtPos(e.offsetX,e.offsetY);!(t!=null&&t.triggerPointerUp(e))&&this._shouldDispatchEventToScene(t)&&this._scene.onPointerUp$.emitEvent(e),this._prePointerDoubleOrTripleClick(e)}_onPointerCancel(e){this._scene.onPointerCancel$.emitEvent(e);let t=this._getObjectAtPos(e.offsetX,e.offsetY);t==null||t.triggerPointerCancel(e)}_onPointerOut(e){this._scene.onPointerOut$.emitEvent(e);let t=this._getObjectAtPos(e.offsetX,e.offsetY);t==null||t.triggerPointerOut(e)}_onMouseWheel(e){let t=this._getObjectAtPos(e.offsetX,e.offsetY),n=t==null?void 0:t.triggerMouseWheel(e);this._scene.getMainViewport().onMouseWheel$.emitEvent(e),!n&&this._shouldDispatchEventToScene(t)&&this._scene.onMouseWheel$.emitEvent(e)}_onKeyDown(e){this._scene.onKeyDown$.emitEvent(e)}_onKeyUp(e){this._scene.onKeyUp$.emitEvent(e)}_onDragEnter(e){var t;this._currentObject=this._getObjectAtPos(e.offsetX,e.offsetY),(t=this._currentObject)==null||t.triggerDragOver(e),this.dragLeaveEnterHandler(e)}_onDragLeave(e){this._currentObject=null,this.dragLeaveEnterHandler(e)}_onDragOver(e){var t;this._currentObject=this._getObjectAtPos(e.offsetX,e.offsetY);let n=(t=this._currentObject)==null?void 0:t.triggerDragOver(e);if(this.dragLeaveEnterHandler(e),!n&&this._shouldDispatchEventToScene(this._currentObject)){var r;this._scene.onDragOver$.emitEvent(e),(r=this._scene.getEngine())==null||r.setCapture()}}_onDrop(e){let t=this._getObjectAtPos(e.offsetX,e.offsetY);!(t!=null&&t.triggerDrop(e))&&this._shouldDispatchEventToScene(t)&&this._scene.onDrop$.emitEvent(e)}attachControl(e){var t,n,r,i,a,o;let s=(t=e==null?void 0:e.enableDown)==null?!0:t,c=(n=e==null?void 0:e.enableUp)==null?!0:n,u=(r=e==null?void 0:e.enableMove)==null?!0:r,d=(i=e==null?void 0:e.enableWheel)==null?!0:i,f=(a=e==null?void 0:e.enableEnter)==null?!0:a,p=(o=e==null?void 0:e.enableLeave)==null?!0:o,m=this._scene.getEngine();m&&(this._onInput$=m.onInputChanged$.subscribeEvent(e=>{let t=e;if(e.deviceType===Wt.Keyboard)switch(e.type){case`keydown`:this._onKeyDown(t);break;case`keyup`:this._onKeyUp(t);break}if(e.deviceType===Wt.Mouse||e.deviceType===Wt.Touch)switch(e.type){case`wheel`:case`DOMMouseScroll`:case`mousewheel`:d&&this._onMouseWheel(t);break;case`click`:this._onClick(t);break;case`pointerout`:this._onPointerOut(t);break;case`pointercancel`:this._onPointerCancel(t);break;case`pointerleave`:this._onPointerLeave(t);break;case`pointermove`:u&&this._onPointerMove(t);break;case`pointerup`:c&&e.inputIndex>=q.LeftClick&&e.inputIndex<=q.RightClick&&this._onPointerUp(t);break;case`pointerdown`:s&&e.inputIndex>=q.LeftClick&&e.inputIndex<=q.RightClick&&this._onPointerDown(t);break}if(e.dataTransfer)switch(e.type){case`dragenter`:f&&this._onDragEnter(t);break;case`dragover`:{let n=e.inputIndex===q.Horizontal||e.inputIndex===q.Vertical||e.inputIndex===q.DeltaHorizontal||e.inputIndex===q.DeltaVertical;u&&n&&this._onDragOver(t);break}case`dragleave`:p&&this._onDragLeave(t);break;case`drop`:this._onDrop(t);break}}),this.disposeWithMe((0,l.toDisposable)(this._onInput$)),this._alreadyAttached=!0)}detachControl(){var e;this._alreadyAttached&&this._scene.getEngine()&&((e=this._onInput$)==null||e.unsubscribe(),this._alreadyAttached=!1)}_getObjectAtPos(e,t){var n;return(n=this._scene)==null?void 0:n.pick(K.FromArray([e,t]))}_shouldDispatchEventToScene(e){return e==null?!0:this._scene.objectsEvented?!1:!this._isObjectInSceneViewer(e)}_isObjectInSceneViewer(e){if(e&&e.classType===O.BASE_OBJECT){let t=e.getScene();if(t)return t.getParent().classType===O.SCENE_VIEWER}return!1}_isPointerSwiping(t,n){return Math.abs(this._startingPosition.x-t)>e.DragMovementThreshold||Math.abs(this._startingPosition.y-n)>e.DragMovementThreshold}_prePointerDoubleOrTripleClick(t){let{clientX:n,clientY:r}=t;if(this._isPointerSwiping(n,r)&&this._resetDoubleClickParam(),this._delayedTimeout=setTimeout(()=>{this._resetDoubleClickParam()},e.DoubleClickDelay),this._doubleClickOccurred+=1,this._tripleClickState){var i;(i=this._scene)==null||(i=i.pick(K.FromArray([t.offsetX,t.offsetY])))==null||i.triggerTripleClick(t),this._scene.onTripleClick$.emitEvent(t)}if(this._doubleClickOccurred===2){var a;(a=this._scene)==null||(a=a.pick(K.FromArray([t.offsetX,t.offsetY])))==null||a.triggerDblclick(t),this._scene.onDblclick$.emitEvent(t),this._resetDoubleClickParam(),this._tripleClickState=!0,clearTimeout(this._delayedTripeTimeout),this._delayedTripeTimeout=setTimeout(()=>{this._tripleClickState=!1},e.TripleClickDelay)}this._startingPosition.x=n,this._startingPosition.y=r}_resetDoubleClickParam(){this._doubleClickOccurred=0,clearTimeout(this._delayedTimeout)}get capturedObject(){return this._scene._capturedObject}};U(Kc,`DragMovementThreshold`,2),U(Kc,`LongPressDelay`,500),U(Kc,`DoubleClickDelay`,500),U(Kc,`TripleClickDelay`,300),U(Kc,`ExclusiveDoubleClickMode`,!1);let qc=function(e){return e[e.NONE=0]=`NONE`,e[e.X=1]=`X`,e[e.Y=2]=`Y`,e[e.ALL=3]=`ALL`,e}({});const Jc={t:0,b:15,l:0,r:60};var Yc=class e{constructor(e,t=qc.ALL,n=Jc){this._scene=e,this._scrollTimerType=t,this._thresholdAutoMove=n,U(this,`_requestNewFrameNumber`,-1),U(this,`_viewport`,void 0),U(this,`_offsetX`,0),U(this,`_offsetY`,0),U(this,`_moveX`,0),U(this,`_moveY`,0),U(this,`_scrollX`,0),U(this,`_scrollY`,0),U(this,`_scrollFunction`,void 0)}static create(t,n=qc.ALL,r){return new e(t,n,r)}get offsetX(){return this._offsetX}get offsetY(){return this._offsetY}set scrollTimerType(e){this._scrollTimerType=e}get scrollTimerType(){return this._scrollTimerType}setActiveViewport(e){this._viewport=e}getActiveViewport(){return this._viewport}startScroll(e,t,n){this._offsetX=e,this._offsetY=t,this._moveX=e,this._moveY=t,n==null?this._viewport=this._scene.findViewportByPosToScene(K.FromArray([e,t])):this._viewport=n,this._runRenderLoop()}_autoScroll(e){let t=(e==null?void 0:e.top)||0,n=t+((e==null?void 0:e.height)||0),r=(e==null?void 0:e.left)||0,i=r+((e==null?void 0:e.width)||0),{t:a=0,b:o=0,r:s=0,l:c=0}=this._thresholdAutoMove,l=0,u=0,d=!1;if(this._scrollTimerType&qc.X&&(this._moveX<r+c&&(l=this._moveX-r-c,d=!0),this._moveX>i-s&&(l=this._moveX-i+s,d=!0)),this._scrollTimerType&qc.Y&&(this._moveY<t+a&&(u=this._moveY-t-a,d=!0),this._moveY>n-o&&(u=this._moveY-n+o,d=!0)),!d)return;e==null||e.scrollByViewportDeltaVal({viewportScrollX:l,viewportScrollY:u});let f=e==null?void 0:e.transScroll2ViewportScrollValue(l,u);this._scrollX=(f==null?void 0:f.x)||0,this._scrollY=(f==null?void 0:f.y)||0}scrolling(e,t,n){this._moveX=e,this._moveY=t,this._scrollFunction=n}stopScroll(){R(this._requestNewFrameNumber)}dispose(){this.stopScroll(),delete this._scrollFunction}getScene(){return this._scene}_runRenderLoop(){this._autoScroll(this._viewport),this._scrollFunction&&this._scrollFunction(this._scrollX,this._scrollY),this._requestNewFrameNumber=L(this._runRenderLoop.bind(this))}},Q=function(e){return e.RESIZE_LT=`__SpreadsheetTransformerResizeLT__`,e.RESIZE_CT=`__SpreadsheetTransformerResizeCT__`,e.RESIZE_RT=`__SpreadsheetTransformerResizeRT__`,e.RESIZE_LM=`__SpreadsheetTransformerResizeLM__`,e.RESIZE_RM=`__SpreadsheetTransformerResizeRM__`,e.RESIZE_LB=`__SpreadsheetTransformerResizeLB__`,e.RESIZE_CB=`__SpreadsheetTransformerResizeCB__`,e.RESIZE_RB=`__SpreadsheetTransformerResizeRB__`,e.OUTLINE=`__SpreadsheetTransformerOutline__`,e.ROTATE_LINE=`__SpreadsheetTransformerRotateLine__`,e.ROTATE=`__SpreadsheetTransformerRotate__`,e.GROUP=`__SpreadsheetTransformer__`,e}(Q||{});const Xc=[Q.RESIZE_LT,Q.RESIZE_CT,Q.RESIZE_RT,Q.RESIZE_LM,Q.RESIZE_RM,Q.RESIZE_LB,Q.RESIZE_CB,Q.RESIZE_RB];var $=function(e){return e[e.MOVE_START=0]=`MOVE_START`,e[e.MOVING=1]=`MOVING`,e[e.MOVE_END=2]=`MOVE_END`,e}($||{});const Zc=new Set([nn.CHART]);var Qc=class extends l.Disposable{constructor(e,t){super(),this._scene=e,U(this,`isCropper`,!1),U(this,`hoverEnabled`,!1),U(this,`hoverEnterFunc`,void 0),U(this,`hoverLeaveFunc`,void 0),U(this,`resizeEnabled`,!0),U(this,`rotateEnabled`,!0),U(this,`rotationSnaps`,[]),U(this,`rotationSnapTolerance`,5),U(this,`rotateAnchorOffset`,50),U(this,`rotateSize`,10),U(this,`rotateCornerRadius`,10),U(this,`borderEnabled`,!0),U(this,`borderStroke`,`rgb(97, 97, 97)`),U(this,`borderStrokeWidth`,1),U(this,`borderDash`,[]),U(this,`borderSpacing`,0),U(this,`anchorFill`,`rgb(255, 255, 255)`),U(this,`anchorStroke`,`rgb(185, 185, 185)`),U(this,`anchorStrokeWidth`,1),U(this,`anchorSize`,10),U(this,`anchorCornerRadius`,10),U(this,`keepRatio`,!0),U(this,`centeredScaling`,!1),U(this,`zeroLeft`,0),U(this,`zeroTop`,0),U(this,`enabledAnchors`,[1,1,1,1,1,1,1,1]),U(this,`flipEnabled`,!1),U(this,`ignoreStroke`,!1),U(this,`boundBoxFunc`,void 0),U(this,`useSingleNodeRotation`,!1),U(this,`shouldOverdrawWholeArea`,!1),U(this,`_changeStart$`,new d.Subject),U(this,`changeStart$`,this._changeStart$.asObservable()),U(this,`_changing$`,new d.Subject),U(this,`changing$`,this._changing$.asObservable()),U(this,`_changeEnd$`,new d.Subject),U(this,`changeEnd$`,this._changeEnd$.asObservable()),U(this,`_clearControl$`,new d.Subject),U(this,`clearControl$`,this._clearControl$.asObservable()),U(this,`_createControl$`,new d.Subject),U(this,`createControl$`,this._createControl$.asObservable()),U(this,`_startOffsetX`,-1),U(this,`_startOffsetY`,-1),U(this,`_startStateMap`,new Map),U(this,`_viewportScrollX`,-1),U(this,`_viewportScrollY`,-1),U(this,`_topScenePointerMoveSub`,void 0),U(this,`_topScenePointerUpSub`,void 0),U(this,`_cancelFocusSubscription`,void 0),U(this,`_transformerControlMap`,new Map),U(this,`_selectedObjectMap`,new Map),U(this,`_subscriptionObjectMap`,new Map),U(this,`_copperControl`,void 0),U(this,`_copperSelectedObject`,void 0),U(this,`_moveBufferSkip`,!1),U(this,`_debounceClearFunc`,void 0),this._initialProps(t)}updateZeroPoint(e,t){this.zeroLeft=e,this.zeroTop=t}changeNotification(){return this._changing$.next({objects:this._selectedObjectMap,type:$.MOVE_START}),this}getSelectedObjectMap(){return this._selectedObjectMap}resetProps(e){this._initialProps(e)}getScene(){return this._scene}clearControls(e=!1){this._clearControls(e)}updateControl(){this._updateControl()}debounceRefreshControls(){this._debounceClearFunc&&this._debounceClearFunc(),this._debounceClearFunc=(0,l.requestImmediateMacroTask)(()=>{this.refreshControls(),this._debounceClearFunc=null})}clearSelectedObjects(){var e;this._selectedObjectMap.clear(),(e=this._cancelFocusSubscription)==null||e.unsubscribe(),this._cancelFocusSubscription=null,this._clearControls(!0)}refreshControls(){return this._clearControlMap(),this._selectedObjectMap.forEach(e=>{this._createControl(e)}),this}createControlForCopper(e){this._createControl(e,!1)}clearCopperControl(){var e;(e=this._copperControl)==null||e.dispose(),this._copperControl=null}setSelectedControl(e){e=this._findGroupObject(e),this._selectedObjectMap.set(e.oKey,e),this._createControl(e)}_getConfig(e){let t=e.transformerConfig,{isCropper:n,hoverEnabled:r,hoverEnterFunc:i,hoverLeaveFunc:a,resizeEnabled:o,rotateEnabled:s,rotationSnaps:c,rotationSnapTolerance:l,rotateAnchorOffset:u,rotateSize:d,rotateCornerRadius:f,borderEnabled:p,borderStroke:m,borderStrokeWidth:h,borderDash:g,borderSpacing:_,anchorFill:v,anchorStroke:y,anchorStrokeWidth:b,anchorSize:x,anchorCornerRadius:S,keepRatio:C,centeredScaling:w,enabledAnchors:T,flipEnabled:E,ignoreStroke:D,boundBoxFunc:O,useSingleNodeRotation:k,shouldOverdrawWholeArea:A}=this;if(t!=null){var j,M,N,P,F,I,L,R,z,ee,B,V,te,ne,re,ie,ae,oe,se,ce,le,ue,de,fe,H,pe,me,he,ge;n=(j=t.isCropper)==null?n:j,r=(M=t.hoverEnabled)==null?r:M,i=(N=t.hoverEnterFunc)==null?i:N,a=(P=t.hoverLeaveFunc)==null?a:P,o=(F=t.resizeEnabled)==null?o:F,s=(I=t.rotateEnabled)==null?s:I,c=(L=t.rotationSnaps)==null?c:L,l=(R=t.rotationSnapTolerance)==null?l:R,u=(z=t.rotateAnchorOffset)==null?u:z,d=(ee=t.rotateSize)==null?d:ee,f=(B=t.rotateCornerRadius)==null?f:B,p=(V=t.borderEnabled)==null?p:V,m=(te=t.borderStroke)==null?m:te,h=(ne=t.borderStrokeWidth)==null?h:ne,g=(re=t.borderDash)==null?g:re,_=(ie=t.borderSpacing)==null?_:ie,v=(ae=t.anchorFill)==null?v:ae,y=(oe=t.anchorStroke)==null?y:oe,b=(se=t.anchorStrokeWidth)==null?b:se,x=(ce=t.anchorSize)==null?x:ce,S=(le=t.anchorCornerRadius)==null?S:le,C=(ue=t.keepRatio)==null?C:ue,w=(de=t.centeredScaling)==null?w:de,T=(fe=t.enabledAnchors)==null?T:fe,E=(H=t.flipEnabled)==null?E:H,D=(pe=t.ignoreStroke)==null?D:pe,O=(me=t.boundBoxFunc)==null?O:me,k=(he=t.useSingleNodeRotation)==null?k:he,A=(ge=t.shouldOverdrawWholeArea)==null?A:ge}return{isCropper:n,hoverEnabled:r,hoverEnterFunc:i,hoverLeaveFunc:a,resizeEnabled:o,rotateEnabled:s,rotationSnaps:c,rotationSnapTolerance:l,rotateAnchorOffset:u,rotateSize:d,rotateCornerRadius:f,borderEnabled:p,borderStroke:m,borderStrokeWidth:h,borderDash:g,borderSpacing:_,anchorFill:v,anchorStroke:y,anchorStrokeWidth:b,anchorSize:x,anchorCornerRadius:S,keepRatio:C,centeredScaling:w,enabledAnchors:T,flipEnabled:E,ignoreStroke:D,boundBoxFunc:O,useSingleNodeRotation:k,shouldOverdrawWholeArea:A}}attachTo(e){this.hoverEnabled&&(this.hoverEnterFunc&&e.onPointerEnter$.subscribeEvent(this.hoverEnterFunc),this.hoverLeaveFunc&&e.onPointerLeave$.subscribeEvent(this.hoverLeaveFunc)),this.detachFrom(e);let t=e.onPointerDown$.subscribeEvent((t,n)=>{let{offsetX:r,offsetY:i}=t;this._startOffsetX=r,this._startOffsetY=i;let{isCropper:a}=this._getConfig(e),o=this._getTopScene();if(!o)return;this._addCancelObserver(o),o.disableObjectsEvent();let s=Yc.create(o);s.startScroll(r,i);let{scrollX:c,scrollY:l}=Qt(s);this._viewportScrollX=c,this._viewportScrollY=l,a?(this._copperSelectedObject=e,this._changeStart$.next({target:e,objects:new Map([[e.oKey,e]]),type:$.MOVE_START})):(this._updateActiveObjectList(e,t),this._changeStart$.next({target:e,objects:this._selectedObjectMap,type:$.MOVE_START})),this._moveBufferSkip=!1;let u=o.onPointerMove$.subscribeEvent(e=>{let{offsetX:t,offsetY:n}=e;this._moving(t,n,s,a),!a&&this._clearControlMap(),s.scrolling(t,n,()=>{this._moving(t,n,s,a)})}),d=o.onPointerUp$.subscribeEvent(t=>{u==null||u.unsubscribe(),d==null||d.unsubscribe(),o.enableObjectsEvent(),!a&&this.refreshControls(),s.dispose();let{offsetX:n,offsetY:r}=t;a?this._changeEnd$.next({objects:new Map([[e.oKey,e]]),type:$.MOVE_END,offsetX:n,offsetY:r,event:t}):this._changeEnd$.next({objects:this._selectedObjectMap,type:$.MOVE_END,offsetX:n,offsetY:r,event:t})});n.stopPropagation()});return this.disposeWithMe((0,l.toDisposable)(t)),this._subscriptionObjectMap.set(e.oKey,t),e}detachFrom(e){let t=this._subscriptionObjectMap.get(e.oKey);return t&&(t.unsubscribe(),this._subscriptionObjectMap.delete(e.oKey)),e}dispose(){var e,t,n;super.dispose(),(e=this._topScenePointerMoveSub)==null||e.unsubscribe(),(t=this._topScenePointerUpSub)==null||t.unsubscribe(),(n=this._cancelFocusSubscription)==null||n.unsubscribe(),this._cancelFocusSubscription=null,this._topScenePointerMoveSub=null,this._topScenePointerUpSub=null,this._cancelFocusSubscription=null,this._transformerControlMap.forEach(e=>e.dispose()),this._selectedObjectMap.forEach(e=>e.dispose()),this._changeStart$.complete(),this._changing$.complete(),this._changeEnd$.complete()}_initialProps(e){if(!e)return;let t=Object.keys(e);t.length!==0&&t.forEach(t=>{if(e[t]===void 0)return!0;this[t]=e[t]})}_checkMoveBoundary(e,t,n,r,i,a,o){let{left:s,top:c,width:l,height:u}=e;return t+s+r<this.zeroLeft&&(t=-r),n+c+i<this.zeroTop&&(n=-i),t+s+l+r>a+this.zeroLeft&&(t=this.zeroLeft+a-l-s-r),n+c+u+i>o+this.zeroTop&&(n=this.zeroTop+o-u-c-i),{moveLeft:t,moveTop:n}}_moving(e,t,n,r=!1){let{scrollX:i,scrollY:a}=Qt(n),o=e-this._viewportScrollX+i,s=t-this._viewportScrollY+a,{ancestorScaleX:c,ancestorScaleY:l,ancestorLeft:u,ancestorTop:d}=this._scene,f=this._smoothAccuracy((o-this._startOffsetX)/c,r),p=this._smoothAccuracy((s-this._startOffsetY)/l,r);if(this._moveBufferBlocker(e,t))return;let m=this._getTopScene();if(!m)return;let{width:h,height:g}=m;if(!r){let n=Array.from(this._selectedObjectMap.values());for(let e=0;e<n.length;e++){let t=n[e],r=this._checkMoveBoundary(t,f,p,u,d,h,g);f=r.moveLeft,p=r.moveTop}this._selectedObjectMap.forEach(e=>{e.translate(f+e.left,p+e.top)}),this._changing$.next({objects:this._selectedObjectMap,moveX:f,moveY:p,type:$.MOVING,offsetX:e,offsetY:t})}else if(this._copperSelectedObject){let n=this._copperSelectedObject,r=this._checkMoveBoundary(n,f,p,u,d,h,g);f=r.moveLeft,p=r.moveTop,n.translate(f+n.left,p+n.top),this._changing$.next({objects:new Map([[n.oKey,n]]),moveX:f,moveY:p,type:$.MOVING,offsetX:e,offsetY:t})}this._startOffsetX=o,this._startOffsetY=s}_moveBufferBlocker(e,t){return!this._moveBufferSkip&&Math.abs(e-this._startOffsetX)<l.MOVE_BUFFER_VALUE&&Math.abs(t-this._startOffsetY)<l.MOVE_BUFFER_VALUE?!0:(this._moveBufferSkip=!0,!1)}_anchorMoving(e,t,n,r,i,a=!1,o){let{scrollX:s,scrollY:c}=Qt(r),l=t-this._viewportScrollX+s,u=n-this._viewportScrollY+c;if(this._moveBufferBlocker(t,n))return;let d=o instanceof Ac;a?(this._moveFunc(o,e,l,u,i,a,d),this._changing$.next({objects:new Map([[o.oKey,o]]),type:$.MOVING,offsetX:t,offsetY:n})):(this._selectedObjectMap.forEach(t=>{this._moveFunc(t,e,l,u,i,a,d)}),this._changing$.next({objects:this._selectedObjectMap,type:$.MOVING,offsetX:t,offsetY:n})),i&&e!==Q.RESIZE_CT&&e!==Q.RESIZE_CB&&e!==Q.RESIZE_LM&&e!==Q.RESIZE_RM&&!d||(this._startOffsetX=l,this._startOffsetY=u)}_moveFunc(e,t,n,r,i,a=!1,o=!1){let{left:s,top:c,width:l,height:u,angle:d}=e,f=this._startStateMap.get(e.oKey)||{},p={},{moveLeft:m,moveTop:h}=this._getMovePoint(n,r,e);if(i&&t!==Q.RESIZE_CT&&t!==Q.RESIZE_CB&&t!==Q.RESIZE_LM&&t!==Q.RESIZE_RM&&!o)switch(t){case Q.RESIZE_LT:p=this._resizeLeftTop(e,m,h,f);break;case Q.RESIZE_RT:p=this._resizeRightTop(e,m,h,f);break;case Q.RESIZE_LB:p=this._resizeLeftBottom(e,m,h,f);break;case Q.RESIZE_RB:p=this._resizeRightBottom(e,m,h,f);break}else p=this._updateCloseKeepRatioState(t,s,c,l,u,m,h);e.transformByState(this._applyRotationForResult(p,{left:s,top:c,width:l,height:u},d,a))}_getMovePoint(e,t,n){let{ancestorScaleX:r,ancestorScaleY:i}=this._scene,{left:a,top:o,width:s,height:c,angle:l}=n,u=new K(a+s/2,o+c/2),d=new K(e,t);d.rotateByPoint(V(-l),u);let f=new K(this._startOffsetX,this._startOffsetY);return f.rotateByPoint(V(-l),u),{moveLeft:(d.x-f.x)/r,moveTop:(d.y-f.y)/i}}_applyRotationForResult(e,t,n,r=!1){if(n===0)return e;let{left:i=0,top:a=0,width:o=0,height:s=0}=e,{left:c=0,top:l=0,width:u=0,height:d=0}=t,f=u/2,p=d/2,m=o/2+i-c,h=s/2+a-l,g=It(new K(f,p),n,new K(i,a),new K(m,h));return{width:this._smoothAccuracy(o,r),height:this._smoothAccuracy(s,r),left:this._smoothAccuracy(g.x,r),top:this._smoothAccuracy(g.y,r)}}_updateCloseKeepRatioState(e,t,n,r,i,a,o){let s={left:t,top:n,width:r,height:i};switch(e){case Q.RESIZE_LT:s.width=r-a<20?20:r-a,s.height=i-o<20?20:i-o,s.left=t+r-s.width,s.top=n+i-s.height;break;case Q.RESIZE_CT:s.height=i-o<20?20:i-o,s.top=n+i-s.height;break;case Q.RESIZE_RT:s.width=r+a<20?20:r+a,s.height=i-o<20?20:i-o,s.top=n+i-s.height;break;case Q.RESIZE_LM:s.width=r-a<20?20:r-a,s.left=t+r-s.width;break;case Q.RESIZE_RM:s.width=a+r<20?20:a+r;break;case Q.RESIZE_LB:s.width=r-a<20?20:r-a,s.height=i+o<20?20:i+o,s.left=s.width<=20?t:t+a;break;case Q.RESIZE_CB:s.height=o+i<20?20:o+i;break;case Q.RESIZE_RB:s.width=a+r<20?20:a+r,s.height=o+i<20?20:o+i;break}return s}_getLimitedSize(e,t){let n=20,r=20;return e>t?n*=Math.abs(e/t):r*=Math.abs(t/e),{limitWidth:n,limitHeight:r}}_resizeLeftTop(e,t,n,r){let{left:i=0,top:a=0,width:o=0,height:s=0}=e.getState(),{width:c=o,height:l=s,left:u=i,top:d=a}=r,f=c/l,{moveLeft:p,moveTop:m}=this._fixMoveLtRb(t,n,c,l,f),h=c-p,g=l-m,{limitWidth:_,limitHeight:v}=this._getLimitedSize(c,l);return h<_&&(h=_),g<v&&(g=v),{left:i+o-h,top:a+s-g,width:h,height:g}}_resizeRightBottom(e,t,n,r){let{left:i=0,top:a=0,width:o=0,height:s=0}=e.getState(),{width:c=o,height:l=s,left:u=i,top:d=a}=r,f=c/l,{moveLeft:p,moveTop:m}=this._fixMoveLtRb(t,n,c,l,f),h=c+p,g=l+m,{limitWidth:_,limitHeight:v}=this._getLimitedSize(c,l);return h<_&&(h=_),g<v&&(g=v),{left:i,top:a,width:h,height:g}}_resizeLeftBottom(e,t,n,r){let{left:i=0,top:a=0,width:o=0,height:s=0}=e.getState(),{width:c=o,height:l=s,left:u=i,top:d=a}=r,f=c/l,{moveLeft:p,moveTop:m}=this._fixMoveLbRt(t,n,c,l,f),h=c-p,g=l+m,{limitWidth:_,limitHeight:v}=this._getLimitedSize(c,l);return h<_&&(h=_),g<v&&(g=v),{left:i+o-h,top:a,width:h,height:g}}_resizeRightTop(e,t,n,r){let{left:i=0,top:a=0,width:o=0,height:s=0}=e.getState(),{width:c=o,height:l=s,left:u=i,top:d=a}=r,f=c/l,{moveLeft:p,moveTop:m}=this._fixMoveLbRt(t,n,c,l,f),h=c+p,g=l-m,{limitWidth:_,limitHeight:v}=this._getLimitedSize(c,l);return h<_&&(h=_),g<v&&(g=v),{left:i,top:a+s-g,width:h,height:g}}_fixMoveLtRb(e,t,n,r,i){let a=e,o=t;return(n+a)/(r+o)>i?o=a/i:a=o*i,{moveLeft:a,moveTop:o}}_fixMoveLbRt(e,t,n,r,i){let a=e,o=t;return Math.abs((n-a)/(r+o))>i?o=-a/i:a=-o*i,{moveLeft:a,moveTop:o}}_attachEventToAnchor(e,t=Q.RESIZE_LT,n){this.disposeWithMe((0,l.toDisposable)(e.onPointerDown$.subscribeEvent((e,r)=>{let{offsetX:i,offsetY:a}=e;this._startOffsetX=i,this._startOffsetY=a;let o=this._getTopScene(),{keepRatio:s,isCropper:c}=this._getConfig(n);if(o==null)return;o.disableObjectsEvent();let l=Yc.create(o);l.startScroll(i,a);let{scrollX:u,scrollY:d}=Qt(l);this._viewportScrollX=u,this._viewportScrollY=d;let{ancestorLeft:f,ancestorTop:p}=this._scene,{width:m,height:h}=o,g=this._getRotateAnchorCursor(t);if(!c)this._clearControlMap(),this._changeStart$.next({objects:this._selectedObjectMap,type:$.MOVE_START}),this._selectedObjectMap.forEach(e=>{let{width:t,height:n,left:r,top:i}=e.getState();this._startStateMap.set(e.oKey,{width:t,height:n,left:r,top:i})});else{this._changeStart$.next({objects:new Map([[n.oKey,n]]),type:$.MOVE_START});let{width:e,height:t,left:r,top:i}=n.getState();this._startStateMap.set(n.oKey,{width:e,height:t,left:r,top:i})}this._moveBufferSkip=!1,this._topScenePointerMoveSub=o.onPointerMove$.subscribeEvent(e=>{let{offsetX:r,offsetY:i}=e;this._anchorMoving(t,r,i,l,s,c,n),l.scrolling(r,i,()=>{this._anchorMoving(t,r,i,l,s,c,n)}),o.setCursor(g)}),this._topScenePointerUpSub=o.onPointerUp$.subscribeEvent(e=>{var t,r;(t=this._topScenePointerMoveSub)==null||t.unsubscribe(),(r=this._topScenePointerUpSub)==null||r.unsubscribe(),o.enableObjectsEvent(),o.resetCursor(),l.dispose(),this._startStateMap.clear();let{offsetX:i,offsetY:a}=e;c?(this._recoverySizeBoundary([n],f,p,m,h),this._changeEnd$.next({objects:new Map([[n.oKey,n]]),type:$.MOVE_END,offsetX:i,offsetY:a,event:e})):(this._recoverySizeBoundary(Array.from(this._selectedObjectMap.values()),f,p,m,h),this._changeEnd$.next({objects:this._selectedObjectMap,type:$.MOVE_END,offsetX:i,offsetY:a,event:e})),this.refreshControls()}),r.stopPropagation()})))}_recoverySizeBoundary(e,t,n,r,i){for(let a=0;a<e.length;a++){let o=e[a],{left:s,top:c,width:l,height:u}=o,d={};s+t<this.zeroLeft?(d.left=this.zeroLeft-t,d.width=l+s):s+l+t>r+this.zeroLeft&&(d.width=this.zeroLeft+r-s-t),c+n<this.zeroTop?(d.top=this.zeroTop-n,d.height=u+c):c+u+n>i+this.zeroTop&&(d.height=this.zeroTop+i-c-n),o.transformByState(d)}}_attachEventToRotate(e,t){this.disposeWithMe((0,l.toDisposable)(e.onPointerDown$.subscribeEvent((e,n)=>{let{offsetX:r,offsetY:i}=e;this._startOffsetX=r,this._startOffsetY=i;let a=this._getTopScene();if(a==null)return;a.disableObjectsEvent();let o=a.getScrollXYInfoByViewport(K.create(r,i));this._viewportScrollX=o.x,this._viewportScrollY=o.y;let s=this._getRotateAnchorCursor(Q.ROTATE_LINE),{ancestorLeft:c,ancestorTop:l,width:u,height:d,angle:f}=t,p=u/2+c,m=d/2+l;this._clearControlMap(),this._changeStart$.next({objects:this._selectedObjectMap,type:$.MOVE_START}),this._moveBufferSkip=!1;let h=a.onPointerMove$.subscribeEvent(e=>{let{offsetX:t,offsetY:n}=e;this._rotateMoving(t,n,p,m,f),a.setCursor(s)}),g=a.onPointerUp$.subscribeEvent(e=>{h==null||h.unsubscribe(),g==null||g.unsubscribe(),a.enableObjectsEvent(),a.resetCursor(),this.refreshControls();let{offsetX:t,offsetY:n}=e;this._changeEnd$.next({objects:this._selectedObjectMap,type:$.MOVE_END,offsetX:t,offsetY:n,event:e})});n.stopPropagation()})))}_rotateMoving(e,t,n,r,i){let{ancestorScaleX:a,ancestorScaleY:o}=this._scene;if(this._moveBufferBlocker(e,t))return;let s=i+B(Math.atan2((t-r)/o+this._viewportScrollY,(e-n)/a+this._viewportScrollX)-Math.atan2((this._startOffsetY-r)/o+this._viewportScrollY,(this._startOffsetX-n)/a+this._viewportScrollX));s<0&&(s=360+s),s%=360,s=this._smoothAccuracy(s),this._selectedObjectMap.forEach(e=>{e.transformByState({angle:s})}),this._changing$.next({objects:this._selectedObjectMap,angle:s,type:$.MOVING,offsetX:e,offsetY:t})}_getOutlinePosition(e,t,n,r){return{left:n-r,top:-n-this.borderStrokeWidth,width:e+n*2,height:t+n*2}}_getRotateAnchorCursor(e){let t=C.NORTH_WEST_RESIZE;switch(e){case Q.ROTATE:t=C.MOVE;break;case Q.ROTATE_LINE:t=C.MOVE;break;case Q.RESIZE_LT:break;case Q.RESIZE_CT:t=C.NORTH_RESIZE;break;case Q.RESIZE_RT:t=C.NORTH_EAST_RESIZE;break;case Q.RESIZE_LM:t=C.WEST_RESIZE;break;case Q.RESIZE_RM:t=C.EAST_RESIZE;break;case Q.RESIZE_LB:t=C.SOUTH_WEST_RESIZE;break;case Q.RESIZE_CB:t=C.SOUTH_RESIZE;break;case Q.RESIZE_RB:t=C.SOUTH_EAST_RESIZE;break}return t}_getCopperAnchorPosition(e,t,n,r){let{borderStrokeWidth:i,borderSpacing:a,anchorSize:o}=this._getConfig(r),s=0,c=0,l=o,u=o/4;switch(e){case Q.RESIZE_LT:s+=-a-i,c+=-a-i;break;case Q.RESIZE_CT:s+=n/2-l/2,c+=-a-i;break;case Q.RESIZE_RT:s+=n+a-i-l,c+=-a-i;break;case Q.RESIZE_LM:s+=a-i,c+=t/2-l/2;break;case Q.RESIZE_RM:s+=n+a-i-u,c+=t/2-l/2;break;case Q.RESIZE_LB:s+=-this.borderSpacing-i,c+=t+a-i-l;break;case Q.RESIZE_CB:s+=n/2-l/2,c+=t+a-i-u;break;case Q.RESIZE_RB:s+=n+a-i-l,c+=t+a-i-l;break}return{left:s,top:c}}_getRotateAnchorPosition(e,t,n,r){let{rotateAnchorOffset:i,rotateSize:a,borderStrokeWidth:o,borderSpacing:s,anchorSize:c}=this._getConfig(r),l=-c/2,u=-c/2;switch(e){case Q.ROTATE:l=n/2-a/2,u=-i-s-o*2-a;break;case Q.ROTATE_LINE:l=n/2,u=-i-s-o;break;case Q.RESIZE_LT:l+=-s-o,u+=-s-o;break;case Q.RESIZE_CT:l+=n/2,u+=-s-o;break;case Q.RESIZE_RT:l+=n+s-o,u+=-s-o;break;case Q.RESIZE_LM:l+=s-o,u+=t/2;break;case Q.RESIZE_RM:l+=n+s-o,u+=t/2;break;case Q.RESIZE_LB:l+=-this.borderSpacing-o,u+=t+s-o;break;case Q.RESIZE_CB:l+=n/2,u+=t+s-o;break;case Q.RESIZE_RB:l+=n+s-o,u+=t+s-o;break}return{left:l,top:u}}_createResizeAnchor(e,t,n){let{height:r=0,width:i=0,scaleX:a=1,scaleY:o=1}=t.getState(),{anchorFill:s,anchorStroke:c,anchorStrokeWidth:l,anchorCornerRadius:u,anchorSize:d}=this._getConfig(t),{left:f,top:p}=this._getRotateAnchorPosition(e,r,i,t),m=this._getRotateAnchorCursor(e),h=new ec(`${e}_${n}`,{zIndex:n-1,fill:s,stroke:c,strokeWidth:l,width:d,height:d,radius:u,left:f,top:p});return this._attachHover(h,m,C.DEFAULT),h}_createCopperResizeAnchor(e,t,n){let{height:r=0,width:i=0,scaleX:a=1,scaleY:o=1}=t.getState(),{anchorFill:s,anchorStroke:c,anchorStrokeWidth:l,anchorSize:u}=this._getConfig(t),{left:d,top:f}=this._getCopperAnchorPosition(e,r,i,t),p=this._getRotateAnchorCursor(e),m,h=`${e}_${n}`,g={zIndex:n-1,fill:s,stroke:c,strokeWidth:l,width:u,height:u,left:d,top:f},_=u,v=u/4;return p===C.EAST_RESIZE||p===C.WEST_RESIZE?(g.width=v,g.height=_,m=new ec(h,g)):p===C.NORTH_RESIZE||p===C.SOUTH_RESIZE?(g.width=_,g.height=v,m=new ec(h,g)):p===C.NORTH_EAST_RESIZE?(g.pointsGroup=this._getNorthEastPoints(_,v),m=new sc(h,g)):p===C.NORTH_WEST_RESIZE?(g.pointsGroup=this._getNorthWestPoints(_,v),m=new sc(h,g)):p===C.SOUTH_EAST_RESIZE?(g.pointsGroup=this._getSouthEastPoints(_,v),m=new sc(h,g)):p===C.SOUTH_WEST_RESIZE&&(g.pointsGroup=this._getSouthWestPoints(_,v),m=new sc(h,g)),this._attachHover(m,p,C.DEFAULT),m}_getNorthEastPoints(e,t){let n=e-t;return[[{x:0,y:0},{x:e,y:0},{x:e,y:e},{x:n,y:e},{x:n,y:t},{x:0,y:t}]]}_getNorthWestPoints(e,t){return[[{x:0,y:0},{x:e,y:0},{x:e,y:t},{x:t,y:t},{x:t,y:e},{x:0,y:e}]]}_getSouthEastPoints(e,t){let n=e-t;return[[{x:n,y:0},{x:e,y:0},{x:e,y:e},{x:0,y:e},{x:0,y:n},{x:n,y:n},{x:n,y:0}]]}_getSouthWestPoints(e,t){let n=e-t;return[[{x:0,y:0},{x:t,y:0},{x:t,y:n},{x:e,y:n},{x:e,y:e},{x:0,y:e},{x:0,y:0}]]}_checkTransformerType(e){if(e.indexOf(Q.OUTLINE)>-1)return Q.OUTLINE;if(e.indexOf(Q.ROTATE)>-1)return Q.ROTATE;if(e.indexOf(Q.ROTATE_LINE)>-1)return Q.ROTATE_LINE;if(e.indexOf(Q.RESIZE_LT)>-1)return Q.RESIZE_LT;if(e.indexOf(Q.RESIZE_CT)>-1)return Q.RESIZE_CT;if(e.indexOf(Q.RESIZE_RT)>-1)return Q.RESIZE_RT;if(e.indexOf(Q.RESIZE_LM)>-1)return Q.RESIZE_LM;if(e.indexOf(Q.RESIZE_RM)>-1)return Q.RESIZE_RM;if(e.indexOf(Q.RESIZE_LB)>-1)return Q.RESIZE_LB;if(e.indexOf(Q.RESIZE_CB)>-1)return Q.RESIZE_CB;if(e.indexOf(Q.RESIZE_RB)>-1)return Q.RESIZE_RB}_updateControlIterator(e){this._transformerControlMap.forEach((t,n)=>{let r=this._selectedObjectMap.get(n);if(!r)return!0;e(t,r)})}_updateControl(){this._updateControlIterator((e,t)=>{let{left:n,top:r,height:i,width:a,angle:o}=t.getState();e.transformByState({left:n,top:r,height:i,width:a,angle:o}),e.show(),e.makeDirty(!0)})}_hideControl(){this._transformerControlMap.forEach(e=>{e.hide(),e.makeDirty(!0)})}_attachHover(e,t,n){this.disposeWithMe((0,l.toDisposable)(e.onPointerEnter$.subscribeEvent(()=>{e.cursor=t}))),this.disposeWithMe((0,l.toDisposable)(e.onPointerLeave$.subscribeEvent(()=>{e.cursor=n})))}_clearControls(e=!1){this._clearControlMap(),this._clearControl$.next(e)}clearControlByIds(e){for(let t of e)this._selectedObjectMap.delete(t);this.refreshControls()}_clearControlMap(){this._transformerControlMap.forEach(e=>{e.dispose()}),this._transformerControlMap.clear()}_createControl(e,t=!0){let{left:n=0,top:r=0,height:i=0,width:a=0}=e.getState(),o=e.angle,{isCropper:s,resizeEnabled:c,rotateEnabled:l,rotateAnchorOffset:u,rotateSize:d,rotateCornerRadius:f,borderEnabled:p,borderStroke:m,borderStrokeWidth:h,borderSpacing:g,enabledAnchors:_}=this._getConfig(e);if(t&&s)return;let v=e.oKey,y=this._selectedObjectMap.size+e.maxZIndex+5e3,b=e.getLayerIndex()||2,x=[];if(p&&!s){let e=new ec(`${Q.OUTLINE}_${y}`,{zIndex:y-1,evented:!1,strokeWidth:h,stroke:m,...this._getOutlinePosition(a,i,g,h)});x.push(e)}if(c&&!s){let{left:t,top:n}=this._getRotateAnchorPosition(Q.ROTATE_LINE,i,a,e);if(l){let r=new ec(`${Q.ROTATE_LINE}_${y}`,{zIndex:y-1,evented:!1,left:t,top:n,height:u,width:1,strokeWidth:h,stroke:m}),{left:o,top:s}=this._getRotateAnchorPosition(Q.ROTATE,i,a,e),c=this._getRotateAnchorCursor(Q.ROTATE),l=new ec(`${Q.ROTATE}_${y}`,{zIndex:y-1,left:o,top:s,height:d,width:d,radius:f,strokeWidth:h*2,stroke:m});this._attachEventToRotate(l,e),this._attachHover(l,c,C.DEFAULT),x.push(r,l)}}if(c)for(let t=0,n=_.length;t<n;t++){if(_[t]!==1)continue;let n=Xc[t],r;r=s?this._createCopperResizeAnchor(n,e,y):this._createResizeAnchor(n,e,y),this._attachEventToAnchor(r,n,e),x.push(r)}let S=new Ac(`${Q.GROUP}_${v}`,...x);return S.zIndex=y,S.evented=!1,S.openSelfSizeMode(),S.transformByState({left:e.left||n,top:e.top||r,angle:e.angle||o,width:e.width||a,height:e.height||i}),this.getScene().addObject(S,b),s?this._copperControl=S:(this._transformerControlMap.has(v)&&this._transformerControlMap.get(v).dispose(),this._transformerControlMap.set(v,S),this._createControl$.next(S)),S}_getTopScene(){var e;return(e=this.getScene().getEngine())==null?void 0:e.activeScene}activeAnObject(e){this._updateActiveObjectList(e,{}),this._changeStart$.next({target:e,objects:this._selectedObjectMap,type:$.MOVE_START})}_updateActiveObjectList(e,t){let{isCropper:n}=this._getConfig(e);e=this._findGroupObject(e),!this._selectedObjectMap.has(e.oKey)&&((!t.ctrlKey||Zc.has(e.objectType))&&(this._selectedObjectMap.clear(),this._clearControlMap()),n||this._selectedObjectMap.set(e.oKey,e),this._createControl(e))}_findGroupObject(e){return e.isInGroup&&e.ancestorGroup||e}_addCancelObserver(e){var t;(t=this._cancelFocusSubscription)==null||t.unsubscribe(),this._cancelFocusSubscription=e.onPointerDown$.subscribeEvent(()=>{this.clearSelectedObjects()})}_smoothAccuracy(e,t=!1,n=1){return t?fe(e,3):fe(e,n)}};const $c=`viewMain`;var el=class extends l.Disposable{constructor(e,t,n){var r;if(super(),this._parent=t,U(this,`_sceneKey`,``),U(this,`_width`,100),U(this,`_height`,100),U(this,`_scaleX`,1),U(this,`_scaleY`,1),U(this,`_transform`,new Y),U(this,`_evented`,!0),U(this,`_layers`,[]),U(this,`_viewports`,[]),U(this,`_cursor`,C.DEFAULT),U(this,`_defaultCursor`,C.DEFAULT),U(this,`_addObject$`,new d.BehaviorSubject(this)),U(this,`addObject$`,this._addObject$.asObservable()),U(this,`onTransformChange$`,new l.EventSubject),U(this,`onFileLoaded$`,new l.EventSubject),U(this,`onPointerDown$`,new l.EventSubject),U(this,`onPointerMove$`,new l.EventSubject),U(this,`onPointerUp$`,new l.EventSubject),U(this,`onPointerEnter$`,new l.EventSubject),U(this,`onPointerOut$`,new l.EventSubject),U(this,`onPointerCancel$`,new l.EventSubject),U(this,`onPointerLeave$`,new l.EventSubject),U(this,`onDragEnter$`,new l.EventSubject),U(this,`onDragOver$`,new l.EventSubject),U(this,`onDragLeave$`,new l.EventSubject),U(this,`onDrop$`,new l.EventSubject),U(this,`onClick$`,new l.EventSubject),U(this,`onSingleClick$`,new l.EventSubject),U(this,`onDblclick$`,new l.EventSubject),U(this,`onTripleClick$`,new l.EventSubject),U(this,`onMouseWheel$`,new l.EventSubject),U(this,`onKeyDown$`,new l.EventSubject),U(this,`onKeyUp$`,new l.EventSubject),U(this,`_beforeRender$`,new d.BehaviorSubject(null)),U(this,`beforeRender$`,this._beforeRender$.asObservable()),U(this,`_afterRender$`,new d.BehaviorSubject(null)),U(this,`afterRender$`,this._afterRender$.asObservable()),U(this,`_transformer`,void 0),U(this,`_inputManager`,void 0),U(this,`_capturedObject`,null),this._sceneKey=e,n&&this.transformByState(n),this._parent.classType===O.ENGINE){let t=this._parent;t.addScene(this),t.hasActiveScene()||t.setActiveScene(e),this._inputManager=new Kc(this)}else this._parent.classType===O.SCENE_VIEWER&&this._parent.addSubScene(this);this.disposeWithMe((0,l.toDisposable)((r=this._parent)==null?void 0:r.onTransformChange$.subscribeEvent(e=>{this._transformHandler()})))}get classType(){return O.SCENE}get transform(){return this._transform}get width(){return this._width}get height(){return this._height}get scaleX(){return this._scaleX}get scaleY(){return this._scaleY}get sceneKey(){return this._sceneKey}get objectsEvented(){return this._evented}set transform(e){this._transform=e}set width(e){this._width=e}set height(e){this._height=e}set scaleX(e){this._scaleX=e}set scaleY(e){this._scaleY=e}get ancestorScaleX(){let e=this.getParent(),t=1;return e.classType===O.SCENE_VIEWER&&(t=e.ancestorScaleX),this.scaleX*t}get ancestorScaleY(){let e=this.getParent(),t=1;return e.classType===O.SCENE_VIEWER&&(t=e.ancestorScaleY),this.scaleY*t}getAncestorScale(){return{scaleX:this.ancestorScaleX||1,scaleY:this.ancestorScaleY||1}}get ancestorLeft(){let e=this.getParent(),t=0;return e.classType===O.SCENE_VIEWER&&(t=e.ancestorLeft),t}get ancestorTop(){let e=this.getParent(),t=0;return e.classType===O.SCENE_VIEWER&&(t=e.ancestorTop),t}set cursor(e){this.setCursor(e)}attachControl(e){var t;if(this._parent.classType===O.ENGINE)return(t=this._inputManager)==null||t.attachControl(e),this}detachControl(){var e;return(e=this._inputManager)==null||e.detachControl(),this}makeDirty(e=!0){if(this._layers.forEach(t=>{t.makeDirty(e)}),this._parent.classType===O.SCENE_VIEWER){var t;(t=this._parent)==null||t.makeDirty(e)}return this}makeDirtyNoParent(e=!0){return this._layers.forEach(t=>{t.makeDirty(e)}),this}enableLayerCache(...e){e.forEach(e=>{this.getLayer(e).enableCache()})}disableLayerCache(...e){e.forEach(e=>{this.getLayer(e).disableCache()})}isDirty(){for(let e=0;e<this._layers.length;e++)if(this._layers[e].isDirty()===!0)return!0;return!1}getCursor(){return this._cursor}resetCursor(){this.setCursor(this._defaultCursor)}setCursor(e){this._cursor=e;let t=this.getEngine();t&&t.setCanvasCursor(e)}setDefaultCursor(e){this._defaultCursor=e,this.resetCursor()}resize(e,t){let n=this.width;e!==void 0&&(this.width=e);let r=this.height;return t!==void 0&&(this.height=t),this._transformHandler(),this.onTransformChange$.emitEvent({type:J.resize,value:{width:this.width,height:this.height},preValue:{width:n,height:r}}),this}setScaleValueOnly(e,t){e!==void 0&&(this.scaleX=e),t!==void 0&&(this.scaleY=t)}scale(e,t){let n=this.scaleX,r=this.scaleY;return this.setScaleValueOnly(e||1,t||1),this._transformHandler(),this.onTransformChange$.emitEvent({type:J.scale,value:{scaleX:this.scaleX,scaleY:this.scaleY},preValue:{scaleX:n,scaleY:r}}),this}scaleBy(e,t){let n=this.scaleX;e!==void 0&&(this.scaleX+=e);let r=this.scaleY;return t!==void 0&&(this.scaleY+=t),this.scaleX=fe(this.scaleX,1),this.scaleY=fe(this.scaleY,1),this._transformHandler(),this.onTransformChange$.emitEvent({type:J.scale,value:{scaleX:this.scaleX,scaleY:this.scaleY},preValue:{scaleX:n,scaleY:r}}),this}transformByState(e){let t=Object.keys(e),n={};t.length!==0&&(t.forEach(t=>{e[t]!==void 0&&(n[t]=this[t],this[t]=e[t])}),this._transformHandler(),this.onTransformChange$.emitEvent({type:J.all,value:e,preValue:n}))}getParent(){return this._parent}getEngine(){if(this._parent.classType===O.ENGINE)return this._parent;let e=this._parent;for(;e;){if(e.classType===O.ENGINE)return e;e=e==null?void 0:e.getParent()}return null}getLayers(){return this._layers}getLayer(e=1){for(let t of this._layers)if(t.zIndex===e)return t;let t=new xc(this,[],e);return this.addLayer(t),t}findLayerByZIndex(e=1){for(let t of this.getLayers())if(t.zIndex===e)return t}getLayerMaxZIndex(){let e=Number.MIN_VALUE;for(let t=0;t<this._layers.length;t++){let n=this._layers[t];n.zIndex>=e&&(e=n.zIndex)}return e}addLayer(...e){this._layers.push(...e)}addObjects(e,t=1){var n;return(n=this.getLayer(t))==null||n.addObjects(e),this._addObject$.next(this),this}addObject(e,t=1){var n;return(n=this.getLayer(t))==null||n.addObject(e),this._addObject$.next(this),this}setObjectBehavior(e){e.parent||(e.parent=this),e.onIsAddedToParent$.emitEvent(this)}removeObject(e){if(e==null)return;let t=this.getLayers();for(let n of t)n.removeObject(e);return this}removeObjects(e){if(e==null)return;let t=this.getLayers();for(let n of t)n.removeObjects(e);return this}getObjectsByLayer(e){let t=[];this._layers.sort(l.sortRules);for(let n of this._layers)n.zIndex===e&&t.push(...n.getObjects());return t}getAllObjects(){let e=[];this._layers.sort(l.sortRules);for(let t of this._layers)e.push(...t.getObjects());return e}getAllObjectsByOrder(){let e=[];this._layers.sort(l.sortRules);for(let t of this._layers)e.push(...t.getObjectsByOrder());return e}getAllObjectsByDescOrder(e=!1){let t=[],n=e?l.sortRulesByDesc:l.sortRules;this._layers.sort(n);for(let e of this._layers)t.push(...e.getObjectsByOrder().sort(n));return t}getAllObjectsByOrderForPick(e=!1){let t=[],n=e?l.sortRulesByDesc:l.sortRules;this._layers.sort(n);for(let e of this._layers)t.push(...e.getObjectsByOrderForPick().sort(n));return t}getObject(e){for(let t of this._layers){let n=t.getObjectsByOrder();for(let t of n)if(t.oKey===e)return t}}getObjectIncludeInGroup(e){for(let t of this._layers){let n=t.getObjects();for(let t of n)if(t.oKey===e)return t}}fuzzyMathObjects(e,t=!1){let n=[];for(let r of this._layers){let i=r.getObjectsByOrder();for(let r of i)(t?r.oKey.startsWith(e):r.oKey.indexOf(e)>-1)&&n.push(r)}return n}addViewport(...e){return this._viewports.push(...e),this}removeViewport(e){for(let t=0,n=this._viewports.length;t<n;t++){let n=this._viewports[t];if(n.viewportKey===e)return this._viewports.splice(t,1),n}}getViewports(){return this._viewports}getMainViewport(){return this.getViewport($c)}getViewport(e){for(let t of this._viewports)if(t.viewportKey===e)return t}render(e){var t,n;if(!this.isDirty())return;!e&&((t=this.getEngine())==null||t.clearCanvas());let r=this._layers.sort(l.sortRules),i=(n=this.getEngine())==null?void 0:n.getCanvas();this._beforeRender$.next(i);for(let t=0,n=r.length;t<n;t++)r[t].render(e,t===n-1);this._afterRender$.next(i)}async requestRender(e){return new Promise((t,n)=>{this.render(e),L(t)})}attachTransformerTo(e){var t;this._transformer||this.initTransformer(),(t=this._transformer)==null||t.attachTo(e)}detachTransformerFrom(e){var t;(t=this._transformer)==null||t.detachFrom(e)}initTransformer(e){if(this._transformer){this._transformer.resetProps(e);return}this._transformer=new Qc(this,e)}getTransformerByCreate(){return this._transformer||this.initTransformer(),this._transformer}getTransformer(){return this._transformer}updateTransformerZero(e,t){var n;(n=this._transformer)==null||n.updateZeroPoint(e,t)}findViewportByPosToScene(e){return this._viewports.find(t=>t.isHit(e))}getActiveViewportByCoord(e){return e=this.getCoordRelativeToViewport(e),this.findViewportByPosToScene(e)}getVpScrollXYInfoByPosToVp(e,t){return this.getScrollXYInfoByViewport(e,t)}getScrollXYInfoByViewport(e,t){return t||(t=this.findViewportByPosToScene(e)||this.getDefaultViewport()),this.getViewportScrollXY(t)}getDefaultViewport(){return this.getViewport(`viewMain`)}getViewportScrollXY(e){let t=0,n=0;if(e){let r=e.viewportScrollX||0,i=e.viewportScrollY||0;t+=r,n+=i}return{x:t,y:n}}getRelativeToViewportCoord(e){return this.getCoordRelativeToViewport(e)}getCoordRelativeToViewport(e){let t=this.getParent(),n=[];for(;t;)(t.classType===O.SCENE||t.classType===O.SCENE_VIEWER)&&n.push(t),t=(t==null?void 0:t.getParent)&&(t==null?void 0:t.getParent());n.reverse();for(let t of n)if(t.classType===O.SCENE){let n=t.getActiveViewportByCoord(e);if(n){let t=n.viewportScrollX||0,r=n.viewportScrollY||0;e=e.addByPoint(t,r)}}else t.classType===O.SCENE_VIEWER&&(e=t.transform.clone().invert().applyPoint(e));return e}clearLayer(){this._layers=[]}clearViewports(){this._viewports=[]}getPrecisionScale(){var e;let t=((e=this.getEngine())==null?void 0:e.getPixelRatio())||1,{scaleX:n,scaleY:r}=this.getAncestorScale();return{scaleX:n*t,scaleY:r*t}}dispose(){var e,t,n;let r=[...this.getLayers()];r.forEach(e=>{e.dispose()}),r=[];let i=[...this.getViewports()];i.forEach(e=>{e.dispose()}),i=[],this.clearLayer(),this.clearViewports(),this.detachControl(),(e=this.onTransformChange$)==null||e.complete(),(t=this._inputManager)==null||t.dispose(),this._inputManager=null,(n=this._transformer)==null||n.dispose(),this._transformer=null,this.onFileLoaded$.complete(),this.onClick$.complete(),this.onPointerDown$.complete(),this.onPointerMove$.complete(),this.onPointerUp$.complete(),this.onPointerEnter$.complete(),this.onPointerLeave$.complete(),this.onPointerOut$.complete(),this.onPointerCancel$.complete(),this.onDragEnter$.complete(),this.onDragOver$.complete(),this.onDragLeave$.complete(),this.onDrop$.complete(),this.onSingleClick$.complete(),this.onDblclick$.complete(),this.onTripleClick$.complete(),this.onMouseWheel$.complete(),this.onKeyDown$.complete(),this.onKeyUp$.complete(),this._addObject$.complete(),super.dispose()}pick(e){let t=this.getActiveViewportByCoord(e);if(t||(t=this._viewports[0]),!this.objectsEvented||!t)return null;let n=t.pickScrollBar(e);if(n)return n;let r=t.transformVector2SceneCoord(e),i=null,a=this.getAllObjectsByOrderForPick().reverse(),o=a.length;for(let e=0;e<o;e++){var s;let t=a[e];if(!t.visible||!t.evented||t.isInGroup&&((s=t.parent)==null?void 0:s.classType)===O.GROUP&&t.isDrawingObject)continue;let n=r;if(t.isHit(n)){i=t.classType===O.SCENE_VIEWER?t.pick(n)||t.getActiveSubScene():t;break}else if(t.classType===O.SCENE_VIEWER&&t.allowSelectedClipElement()){let e=t.pick(n);if(e){i=e;break}}}return!i&&this._parent.classType===O.ENGINE?this:i}triggerPointerUp(e){var t;if(!((t=this.onPointerUp$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===O.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerPointerUp(e),!1}return!0}triggerMouseWheel(e){var t;if(!((t=this.onMouseWheel$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===O.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerMouseWheel(e),!1}return!0}triggerSingleClick(e){var t;if(!((t=this.onSingleClick$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===O.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerSingleClick(e),!1}return!0}triggerClick(e){var t;if(!((t=this.onClick$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===O.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerClick(e),!1}return!0}triggerDblclick(e){var t;if(!((t=this.onDblclick$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===O.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerDblclick(e),!1}return!0}triggerTripleClick(e){var t;if(!((t=this.onTripleClick$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===O.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerTripleClick(e),!1}return!0}triggerPointerMove(e){var t;if(!((t=this.onPointerMove$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===O.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerPointerMove(e),!1}return!0}triggerPointerDown(e){var t;if(!((t=this.onPointerDown$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===O.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerPointerDown(e),!1}return!0}triggerPointerOut(e){if(this._parent.classType===O.SCENE_VIEWER){var t;return(t=this._parent)==null||t.triggerPointerOut(e),!1}return!0}triggerPointerLeave(e){var t;if(!((t=this.onPointerLeave$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===O.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerPointerLeave(e),!1}return!0}triggerPointerOver(e){if(this._parent.classType===O.SCENE_VIEWER){var t;return(t=this._parent)==null||t.triggerPointerOver(e),!1}return!0}triggerPointerCancel(e){if(this._parent.classType===O.SCENE_VIEWER){var t;return(t=this._parent)==null||t.triggerPointerCancel(e),!1}return!0}triggerPointerEnter(e){var t;if(!((t=this.onPointerEnter$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===O.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerPointerEnter(e),!1}return!0}triggerDragLeave(e){var t;if(!((t=this.onDragLeave$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===O.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerDragLeave(e),!1}return!0}triggerDragOver(e){var t;if(!((t=this.onDragOver$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===O.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerDragOver(e),!1}return!0}triggerDragEnter(e){var t;if(!((t=this.onDragEnter$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===O.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerDragEnter(e),!1}return!0}triggerDrop(e){var t;if(!((t=this.onDrop$.emitEvent(e))!=null&&t.stopPropagation)&&this._parent.classType===O.SCENE_VIEWER){var n;return(n=this._parent)==null||n.triggerDrop(e),!1}return!0}_transformHandler(){this.transform=Y.create().composeMatrix({scaleX:this.scaleX,scaleY:this.scaleY}),this.getViewports().forEach(e=>{e.resetCanvasSizeAndUpdateScroll()}),this.makeDirty(!0)}disableObjectsEvent(){this._evented=!1}enableObjectsEvent(){this._evented=!0}get capturedObject(){return this._capturedObject}setCaptureObject(e){this._capturedObject=e}releaseCapturedObject(){this._capturedObject=null}};let tl=class extends l.Disposable{get unitId(){return this._renderContext.unitId}get type(){return this._renderContext.type}set isMainScene(e){this._renderContext.isMainScene=e}get isMainScene(){return this._renderContext.isMainScene}set engine(e){this._renderContext.engine=e}get engine(){return this._renderContext.engine}set mainComponent(e){this._renderContext.mainComponent=e}get mainComponent(){return this._renderContext.mainComponent}set scene(e){this._renderContext.scene=e}get scene(){return this._renderContext.scene}get components(){return this._renderContext.components}constructor(e,t){super(),U(this,`isRenderUnit`,!0),U(this,`_activated$`,new d.BehaviorSubject(!0)),U(this,`activated$`,this._activated$.pipe((0,d.distinctUntilChanged)())),U(this,`_injector`,void 0),U(this,`_renderContext`,void 0),this._injector=t.createChild(),this._renderContext={unit:e.unit,unitId:e.unit.getUnitId(),type:e.unit.type,components:new Map,mainComponent:null,isMainScene:e.isMainScene,engine:e.engine,scene:e.scene,activated$:this.activated$,activate:()=>this._activated$.next(!0),deactivate:()=>this._activated$.next(!1)}}dispose(){this._injector.dispose(),super.dispose(),this._activated$.next(!1),this._activated$.complete(),this._renderContext.unit=null,this._renderContext.components.clear()}with(e){return this._injector.get(e)}addRenderDependencies(e){this._initDependencies(e)}_initDependencies(e){let t=this._injector;e.forEach(e=>{let[n,r]=Array.isArray(e)?e:[e,null];if(!r)t.add([n,{useFactory:()=>t.createInstance(n,this._renderContext)}]);else if((0,l.isClassDependencyItem)(r))t.add([n,{useFactory:()=>t.createInstance(r.useClass,this._renderContext)}]);else throw Error(`[RenderUnit]: render dependency could only be an class!`)}),e.forEach(e=>{let[n]=Array.isArray(e)?e:[e,null];t.get(n)})}getRenderContext(){return this._renderContext}activate(){this._renderContext.activate()}deactivate(){this._renderContext.deactivate()}};tl=Os([Ds(1,(0,l.Inject)(l.Injector))],tl);const nl={width:1500,height:1e3};let rl=class extends l.Disposable{get defaultEngine(){return this._defaultEngine||(this._defaultEngine=new Vc),this._defaultEngine}constructor(e,t,n){super(),this._injector=e,this._univerInstanceService=t,this._themeService=n,U(this,`_defaultEngine`,void 0),U(this,`_renderMap`,new Map),U(this,`_createRender$`,new d.Subject),U(this,`createRender$`,this._createRender$.asObservable()),U(this,`_renderCreated$`,new d.Subject),U(this,`created$`,this._renderCreated$.asObservable()),U(this,`_renderDisposed$`,new d.Subject),U(this,`disposed$`,this._renderDisposed$.asObservable()),U(this,`_renderDependencies`,new Map),this._initDarkModeListener()}dispose(){super.dispose(),this._renderMap.forEach(e=>this._disposeItem(e)),this._renderDependencies.clear(),this._renderMap.clear(),this._renderCreated$.complete(),this._renderDisposed$.complete()}registerRenderModules(e,t){this._renderDependencies.has(e)||this._renderDependencies.set(e,[]);let n=this._renderDependencies.get(e);n.push(...t);for(let[n,r]of this._renderMap)r.type===e&&this._tryAddRenderDependencies(r,t);return(0,l.toDisposable)(()=>{t.forEach(e=>(0,l.remove)(n,e))})}registerRenderModule(e,t){this._renderDependencies.has(e)||this._renderDependencies.set(e,[]);let n=this._renderDependencies.get(e);n.push(t);for(let[n,r]of this._renderMap)r.type===e&&this._tryAddRenderDependencies(r,[t]);return(0,l.toDisposable)(()=>(0,l.remove)(n,t))}_getRenderDepsByType(e){var t;return Array.from((t=this._renderDependencies.get(e))==null?[]:t)}_initDarkModeListener(){this.disposeWithMe(this._themeService.darkMode$.subscribe(()=>{this.getRenderAll().forEach(e=>{e.components.forEach(e=>{e.makeForceDirty(!0),e.makeDirty(!0)})})}))}create(e){this._createRender$.next(e)}createRender(e){let t=this._createRender(e,this._injector.createInstance(Vc,e,void 0));return this._renderCreated$.next(t),t}getAllRenderersOfType(e){let t=[];for(let[n,r]of this._renderMap)r.type===e&&t.push(r);return t}_tryAddRenderDependencies(e,t){e instanceof tl&&e.addRenderDependencies(t)}_createRender(e,t,n=!0){let r=this.getRenderById(e),i=!0;r!=null&&r.engine===t&&(i=!1),this._disposeItem(r,i);let{width:a,height:o}=nl,s=new el(`_UNIVER_SCENE_`+e,t,{width:a,height:o}),c=this._univerInstanceService.getUnit(e),u;if(c){let r=this._univerInstanceService.getUnitType(e),i=this._getRenderDepsByType(r);u=this._injector.createInstance(tl,{unit:c,engine:t,scene:s,isMainScene:n}),this._addRenderUnit(e,u),this._tryAddRenderDependencies(u,i)}else u={isThumbNail:!0,type:l.UniverInstanceType.UNIVER_SLIDE,unitId:e,engine:t,scene:s,mainComponent:null,components:new Map,isMainScene:n,with(e){return null}},this._addRenderUnit(e,u);return u}addRender(e,t){this._addRenderUnit(e,t)}_addRenderUnit(e,t){this._renderMap.set(e,t)}removeRender(e){let t=this._renderMap.get(e);t!=null&&this._disposeItem(t),this._renderMap.delete(e)}has(e){return this._renderMap.has(e)}getRenderById(e){return this._renderMap.get(e)}getRenderUnitById(e){return this._renderMap.get(e)}getRenderAll(){return this._renderMap}_disposeItem(e,t=!0){if(e==null)return;let{engine:n,scene:r,components:i}=e;i==null||i.forEach(e=>e.dispose()),r.dispose(),al(e)&&e.dispose(),t&&n.dispose(),this._renderDisposed$.next(e.unitId)}};rl=Os([Ds(0,(0,l.Inject)(l.Injector)),Ds(1,l.IUniverInstanceService),Ds(2,(0,l.Inject)(l.ThemeService))],rl);const il=(0,l.createIdentifier)(`engine-render.render-manager.service`);function al(e){return!!e&&typeof e.dispose==`function`}function ol(e,t,n){let r=t.getCurrentUnitOfType(e);return r==null?null:n.getRenderUnitById(r.getUnitId())}function sl(e,t,n,r){let i=ol(e,n,r);return i?i.with(t):null}var cl=class{constructor(){U(this,`_renderConfig`,{ok:`111`}),U(this,`_updateSignal$`,new d.Subject),U(this,`updateSignal$`,this._updateSignal$.pipe((0,d.debounceTime)(4)))}setRenderConfig(e,t){if(t==null){delete this._renderConfig[e];return}this._renderConfig[e]=t}getRenderConfig(){return this._renderConfig}};const ll=(0,l.createIdentifier)(`univer.render-engine`);let ul=class extends l.Plugin{constructor(e=Gc,t,n){super(),this._config=e,this._injector=t,this._configService=n;let{...r}=(0,l.merge)({},Gc,this._config);this._configService.setConfig(Wc,r)}onStarting(){(0,l.registerDependencies)(this._injector,[[cl],[Ic,{useClass:Rc}],[ll,{useClass:Vc}],[il,{useClass:rl}]])}};U(ul,`pluginName`,`UNIVER_RENDER_ENGINE_PLUGIN`),U(ul,`packageName`,Hc),U(ul,`version`,Uc),ul=Os([Ds(1,(0,l.Inject)(l.Injector)),Ds(2,l.IConfigService)],ul);function dl(e,t){if(t.startRow>=e.endRow||t.endRow<=e.startRow||t.startColumn>=e.endColumn||t.endColumn<=e.startColumn)return[e];let n=[];t.startRow>e.startRow&&n.push({startRow:e.startRow,startColumn:e.startColumn,endRow:t.startRow,endColumn:e.endColumn}),t.endRow<e.endRow&&n.push({startRow:t.endRow,startColumn:e.startColumn,endRow:e.endRow,endColumn:e.endColumn});let r=Math.max(e.startRow,t.startRow),i=Math.min(e.endRow,t.endRow);return t.startColumn>e.startColumn&&n.push({startRow:r,startColumn:e.startColumn,endRow:i,endColumn:t.startColumn}),t.endColumn<e.endColumn&&n.push({startRow:r,startColumn:t.endColumn,endRow:i,endColumn:e.endColumn}),n}var fl=class{constructor(e,t,n){var r;U(this,`_viewportKey`,``),U(this,`_scrollX`,0),U(this,`_scrollY`,0),U(this,`_preScrollX`,0),U(this,`_preScrollY`,0),U(this,`_viewportScrollX`,0),U(this,`_viewportScrollY`,0),U(this,`_preViewportScrollX`,0),U(this,`_preViewportScrollY`,0),U(this,`_sceneWCurrVpAfterScale`,0),U(this,`_sceneHCurrVpAfterScale`,0),U(this,`_sceneWidthAfterScale`,void 0),U(this,`_sceneHeightAfterScale`,void 0),U(this,`onMouseWheel$`,new l.EventSubject),U(this,`onScrollAfter$`,new l.EventSubject),U(this,`onScrollEnd$`,new l.EventSubject),U(this,`onScrollByBar$`,new l.EventSubject),U(this,`onResized$`,new d.Subject),U(this,`_topOrigin`,0),U(this,`_leftOrigin`,0),U(this,`_bottomOrigin`,0),U(this,`_rightOrigin`,0),U(this,`_widthOrigin`,void 0),U(this,`_heightOrigin`,void 0),U(this,`_top`,0),U(this,`_left`,0),U(this,`_bottom`,0),U(this,`_right`,0),U(this,`_width`,void 0),U(this,`_height`,void 0),U(this,`_scene`,void 0),U(this,`_scrollBar`,void 0),U(this,`_isWheelPreventDefaultX`,!1),U(this,`_isWheelPreventDefaultY`,!1),U(this,`_scrollStopNum`,0),U(this,`_clipViewport`,!0),U(this,`_active`,!0),U(this,`_paddingStartX`,0),U(this,`_paddingEndX`,0),U(this,`_paddingStartY`,0),U(this,`_paddingEndY`,0),U(this,`_marginLeft`,0),U(this,`_marginTop`,0),U(this,`_cacheBound`,void 0),U(this,`_preCacheBound`,void 0),U(this,`_preCacheVisibleBound`,void 0),U(this,`_viewBound`,{top:0,left:0,bottom:0,right:0}),U(this,`_preViewBound`,void 0),U(this,`_isDirty`,!0),U(this,`_cacheCanvas`,null),U(this,`_allowCache`,!1),U(this,`bufferEdgeX`,0),U(this,`bufferEdgeY`,0),U(this,`scrollAnimationFrameId`,null),U(this,`_isForceDirty`,!0),this._viewportKey=e,this._scene=t,this._scene.addViewport(this),this._active=l.Tools.isDefine(n==null?void 0:n.active)?n==null?void 0:n.active:!0,this.setViewportSize(n),this.initCacheCanvas(n,t),this._isWheelPreventDefaultX=(n==null?void 0:n.isWheelPreventDefaultX)||!1,this._isWheelPreventDefaultY=(n==null?void 0:n.isWheelPreventDefaultY)||!1,this.resetCanvasSizeAndUpdateScroll(),this.getBounding(),(r=this.scene.getEngine())==null||r.onTransformChange$.subscribeEvent(()=>{this.markForceDirty(!0)}),this.markForceDirty(!0)}initCacheCanvas(e,t){if(this._allowCache=(e==null?void 0:e.allowCache)||!1,this._allowCache){var n;this._cacheCanvas=new un({colorService:(n=t.getEngine())==null?void 0:n.canvasColorService}),this.bufferEdgeX=(e==null?void 0:e.bufferEdgeX)||0,this.bufferEdgeY=(e==null?void 0:e.bufferEdgeY)||0}}get scene(){return this._scene}get width(){return this._width}get height(){return this._height}get viewportKey(){return this._viewportKey}get topOrigin(){return this._topOrigin}get leftOrigin(){return this._leftOrigin}get bottomOrigin(){return this._bottomOrigin}get rightOrigin(){return this._rightOrigin}get top(){return this._top}get left(){return this._left}get bottom(){return this._bottom}get right(){return this._right}get isWheelPreventDefaultX(){return this._isWheelPreventDefaultX}get isWheelPreventDefaultY(){return this._isWheelPreventDefaultY}set width(e){this._width=e}set height(e){let t=this.scene.getParent().height;l.Tools.isDefine(e)?this._height=l.Tools.clamp(e,0,t):this._height=e}get isActive(){return this._active===!1||(this.height||0)<=0||(this.width||0)<=0?!1:this._active}set viewportScrollX(e){this._viewportScrollX=e}get viewportScrollX(){return this._viewportScrollX}set viewportScrollY(e){this._viewportScrollY=e}get viewportScrollY(){return this._viewportScrollY}set scrollX(e){this._scrollX=e}set scrollY(e){this._scrollY=e}get scrollX(){return this._scrollX}get scrollY(){return this._scrollY}set top(e){var t;this._topOrigin=e,this._top=I(e,(t=this._scene)==null||(t=t.getParent())==null?void 0:t.height)}set left(e){var t;this._leftOrigin=e,this._left=I(e,(t=this.scene.getParent())==null?void 0:t.width)}set bottom(e){var t;this._bottomOrigin=e,this._bottom=I(e,(t=this.scene.getParent())==null?void 0:t.height)}set right(e){var t;this._rightOrigin=e,this._right=I(e,(t=this.scene.getParent())==null?void 0:t.width)}get viewBound(){return this._viewBound}get cacheBound(){return this._cacheBound}set cacheBound(e){this._cacheBound=e}get preCacheBound(){return this._preCacheBound}set preCacheBound(e){this._preCacheBound=e,this._preCacheVisibleBound=Object.assign({},e)}get _deltaScrollX(){return this.scrollX-this._preScrollX}get _deltaScrollY(){return this.scrollY-this._preScrollY}get _deltaViewportScrollX(){return this.viewportScrollX-this._preViewportScrollX}get _deltaViewportScrollY(){return this.viewportScrollY-this._preViewportScrollY}get canvas(){return this._cacheCanvas}enable(){this._active=!0}disable(){this._active=!1}resetCanvasSizeAndUpdateScroll(){this._resizeCacheCanvas(),this._updateScrollByViewportScrollValue(),this.onResized$.next({width:this._width,height:this._height,left:this._left,top:this._top,paddingStartX:this._paddingStartX,paddingEndX:this._paddingEndX,paddingStartY:this._paddingStartY,paddingEndY:this._paddingEndY})}setScrollBar(e){this._scrollBar=e,this._updateScrollByViewportScrollValue()}removeScrollBar(){this._scrollBar=null}resizeWhenFreezeChange(e){Object.keys(e).length!==0&&(this.setViewportSize(e),this.resetCanvasSizeAndUpdateScroll())}setPadding(e){let{startX:t=0,startY:n=0,endX:r=0,endY:i=0}=e;this._paddingStartX=t,this._paddingEndX=r,this._paddingStartY=n,this._paddingEndY=i,this.resetCanvasSizeAndUpdateScroll()}resetPadding(){this.setPadding({startX:0,endX:0,startY:0,endY:0})}setMargin(e,t){this._marginLeft=e,this._marginTop=t}scrollToBarPos(e){return this._scrollToBarPosCore(e)}scrollByBarDeltaValue(e,t=!0){let n=this.scrollX+(e.x||0),r=this.scrollY+(e.y||0);return this._scrollToBarPosCore({x:n,y:r},t)}scrollToViewportPos(e,t=!0){if(!this._scrollBar||this.isActive===!1)return;let{viewportScrollX:n,viewportScrollY:r}=e;return this._scrollToViewportPosCore({viewportScrollX:n,viewportScrollY:r},t)}scrollByViewportDeltaVal(e,t=!0){if(!this._scrollBar||this.isActive===!1)return;let n=this.viewportScrollX+(e.viewportScrollX||0),r=this.viewportScrollY+(e.viewportScrollY||0);return this._scrollToViewportPosCore({viewportScrollX:n,viewportScrollY:r},t)}transViewportScroll2ScrollValue(e,t){let n=e-this._paddingStartX,r=t-this._paddingStartY;if(this._scrollBar){n*=this._scrollBar.ratioScrollX,r*=this._scrollBar.ratioScrollY;let{scaleX:e,scaleY:t}=this.scene;n*=e,r*=t}else this.scrollX!==void 0&&(n=this.scrollX),this.scrollY!==void 0&&(r=this.scrollY);return{x:n,y:r}}transScroll2ViewportScrollValue(e,t){let n=e,r=t;if(this._scrollBar){let{scaleX:e,scaleY:t}=this.scene;this._scrollBar.ratioScrollX===0?n=this.viewportScrollX===void 0?0:this.viewportScrollX:(n/=this._scrollBar.ratioScrollX,n/=e),this._scrollBar.ratioScrollY===0?r=this.viewportScrollY===void 0?0:this.viewportScrollY:(r/=this._scrollBar.ratioScrollY,r/=t)}else n=this.viewportScrollX===void 0?0:this.viewportScrollX,r=this.viewportScrollY===void 0?0:this.viewportScrollY;let{scaleX:i,scaleY:a}=this._scene.getPrecisionScale();return{x:H(n+this._paddingStartX,i),y:H(r+this._paddingStartY,a)}}getViewportScrollByScrollXY(){let e=this.scrollX,t=this.scrollY;return this.transScroll2ViewportScrollValue(e,t)}getScrollBar(){return this._scrollBar}updateScrollVal(e){this._preScrollX=this.scrollX,this._preScrollY=this.scrollY;let{scrollX:t,scrollY:n,viewportScrollX:r,viewportScrollY:i}=e;return t!==void 0&&(this.scrollX=t),n!==void 0&&(this.scrollY=n),r!==void 0&&(this._preViewportScrollX=this.viewportScrollX,this.viewportScrollX=r),i!==void 0&&(this._preViewportScrollY=this.viewportScrollY,this.viewportScrollY=i),this}getScrollBarTransForm(){let e=Y.create();return e.multiply(Y.create([1,0,0,1,this._left,this._top])),e}shouldIntoRender(){return!(this.isActive===!1||this.width==null||this.height==null||this.width<=1||this.height<=1)}render(e,t=[],n=!1){var r;if(!this.shouldIntoRender())return;let i=e||((r=this._scene.getEngine())==null?void 0:r.getCanvas().getContext()),a=this._scene.transform.clone();a.multiply(Y.create([1,0,0,1,-this.viewportScrollX||0,-this.viewportScrollY||0]));let o=a.getMatrix();i.save(),this._clipViewport&&(i.beginPath(),i.rect(this.left,this.top,this.width||0,this.height||0),i.clip()),i.transform(o[0],o[1],o[2],o[3],o[4],o[5]);let s=this.calcViewportInfo();for(let e=0,n=t.length;e<n;e++)t[e].render(i,s);if(this.markDirty(!1),this.markForceDirty(!1),this._preViewBound=this._viewBound,s.shouldCacheUpdate&&(this.preCacheBound=this._cacheBound),i.restore(),this._scrollBar&&n){i.save();let e=this.getScrollBarTransForm().getMatrix();i.transform(e[0],e[1],e[2],e[3],e[4],e[5]),this._drawScrollbar(i),i.restore()}this._afterRender()}_makeDefaultViewport(){return{viewBound:{left:-1,top:-1,right:-1,bottom:-1},diffBounds:[],diffX:-1,diffY:-1,viewPortPosition:{top:0,left:0,bottom:0,right:0},viewportKey:this.viewportKey,isDirty:0,isForceDirty:this.isForceDirty,allowCache:!1,cacheBound:{left:-1,top:-1,right:-1,bottom:-1},diffCacheBounds:[],cacheViewPortPosition:{top:0,left:0,bottom:0,right:0},shouldCacheUpdate:0,sceneTrans:Y.create([1,0,0,1,0,0]),leftOrigin:0,topOrigin:0,bufferEdgeX:this.bufferEdgeX,bufferEdgeY:this.bufferEdgeY}}calcViewportInfo(){if(this.isActive===!1)return this._makeDefaultViewport();let e=this._scene.transform.clone(),t=this._width,n=this._height,r=this._calcViewPortSize();t=r.width,n=r.height;let i=this.left,a=(t||0)+this.left,o=this.top,s=(n||0)+this.top,c=this.transformVector2SceneCoord(K.FromArray([i,o])),l=this.transformVector2SceneCoord(K.FromArray([a,s])),u={left:c.x,right:l.x,top:c.y,bottom:l.y};this._viewBound=u;let d=this._preViewBound,f=this._diffViewBound(u,d),p=((d==null?void 0:d.left)||0)-u.left,m=((d==null?void 0:d.top)||0)-u.top,h={top:o,left:i,bottom:s,right:a},g=this.expandBounds(u);this.cacheBound=g,this.preCacheBound||(this.preCacheBound=this.expandBounds(u));let _=[];this._preCacheVisibleBound&&(p<0?this._preCacheVisibleBound.left-=p:p>0&&(this._preCacheVisibleBound.right-=p),m<0?this._preCacheVisibleBound.top-=m:m>0&&(this._preCacheVisibleBound.bottom-=m));let v=this.expandBounds(h),y=this._calcCacheUpdate(u,this._preCacheVisibleBound,p,m);return y&&(_=this._calcDiffCacheBound(this._preCacheBound,g)),{viewBound:u,diffBounds:f,diffX:p,diffY:m,viewPortPosition:h,viewportKey:this.viewportKey,isDirty:this.isDirty?2:0,isForceDirty:this.isForceDirty,allowCache:this._allowCache,cacheBound:g,diffCacheBounds:_,cacheViewPortPosition:v,shouldCacheUpdate:y,sceneTrans:e,cacheCanvas:this._cacheCanvas,leftOrigin:this._leftOrigin,topOrigin:this._topOrigin,bufferEdgeX:this.bufferEdgeX,bufferEdgeY:this.bufferEdgeY,updatePrevCacheBounds:e=>{this.updatePrevCacheBounds(e)}}}getBounding(){return this.calcViewportInfo()}transformVector2SceneCoord(e){let t=this.scene.transform.clone().invert(),n=this.getViewportScrollByScrollXY();return t.applyPoint(e).add(K.FromArray([n.x,n.y]))}getAbsoluteVector(e){let t=this.scene.transform.clone(),n=this.getViewportScrollByScrollXY();return t.applyPoint(e.subtract(K.FromArray([n.x,n.y])))}onMouseWheel(e,t){if(!this._scrollBar||this.isActive===!1)return;let n=0,r=0,i=this._scene.width;n=(this.width||1)/i*e.deltaX;let a=this._scene.height,o=this.height||1;e.shiftKey?n=o/a*e.deltaY*3:r=o/a*e.deltaY;let s=this.scrollByBarDeltaValue({x:n,y:r});s&&!s.isLimitedX&&!s.isLimitedY&&(e.preventDefault(),this._scene.getParent().classType===O.SCENE_VIEWER&&t.stopPropagation()),this._isWheelPreventDefaultX&&this._isWheelPreventDefaultY&&e.preventDefault(),this._scene.makeDirty(!0)}isHit(e){if(this.isActive===!1)return!1;let{width:t,height:n}=this._calcViewPortSize();return e.x>=this.left&&e.x<=this.left+(t||0)&&e.y>=this.top&&e.y<=this.top+(n||0)}pickScrollBar(e){if(!this._scrollBar)return;let t=this.getScrollBarTransForm().invert().applyPoint(e);return this._scrollBar.pick(t)}openClip(){this._clipViewport=!0}closeClip(){this._clipViewport=!1}dispose(){var e,t;this.onMouseWheel$.complete(),this.onScrollAfter$.complete(),this.onScrollEnd$.complete(),(e=this._scrollBar)==null||e.dispose(),(t=this._cacheCanvas)==null||t.dispose(),this._scene.removeViewport(this._viewportKey)}limitedScroll(e,t){var n,r,i,a;if(!this._scrollBar)return{scrollX:0,scrollY:0,isLimitedX:!1,isLimitedY:!1};e=(n=e)==null?this.scrollX:n,t=(r=t)==null?this.scrollY:r;let{height:o,width:s}=this._calcViewPortSize();this._sceneWCurrVpAfterScale<=s&&(e=0),this._sceneHCurrVpAfterScale<=o&&(t=0);let c=(i=this._scrollBar)==null?void 0:i.limitX,u=(a=this._scrollBar)==null?void 0:a.limitY,d=!1,f=!1;return(e<0||e>c)&&(d=!0),(t<0||t>u)&&(f=!0),e=l.Tools.clamp(e,0,c),t=l.Tools.clamp(t,0,u),{scrollX:e,scrollY:t,isLimitedX:d,isLimitedY:f}}_limitViewportScroll(e,t){var n,r;let{width:i,height:a}=this._calcViewPortSize(),o=this._paddingEndY-this._paddingStartY,s=this._paddingEndX-this._paddingStartX,c=this.scene.scaleY,u=this.scene.scaleX,d=(n=(r=this.getScrollBar())==null?void 0:r.totalSize)==null?0:n,f=this._sceneWidthAfterScale-this._marginLeft*u-s*u-i+d,p=this._sceneHeightAfterScale-this._marginTop*c-o*c-a+d;return{viewportScrollX:l.Tools.clamp(e,this._paddingStartX,f/u),viewportScrollY:l.Tools.clamp(t,this._paddingStartY,p/c),isLimitedX:e>f,isLimitedY:t>p}}markDirty(e){e===void 0&&(e=!0),this._isDirty=e}get isDirty(){return this._isDirty}markForceDirty(e){e===void 0&&(e=!0),this._isForceDirty=e}resetPrevCacheBounds(){this._preCacheBound=null}get isForceDirty(){return this._isForceDirty}_resizeCacheCanvas(){var e;let{width:t,height:n}=this._calcViewPortSize();this.width=t,this.height=n;let r=this.scene.scaleX,i=this.scene.scaleY,a=t===0?0:t+this.bufferEdgeX*2*r,o=n===0?0:n+this.bufferEdgeY*2*i;(e=this._cacheCanvas)==null||e.setSize(a,o),this.cacheBound=this._viewBound,this.preCacheBound=null,this.markForceDirty(!0)}_updateScrollByViewportScrollValue(){if(!this.width||this.width<0||!this.height||this.height<0)return;let{width:e,height:t}=this._calcViewPortSize(),n=(this._scene.width-this._marginLeft-this._paddingEndX)*this._scene.scaleX,r=(this._scene.height-this._marginTop-this._paddingEndY)*this._scene.scaleY;if(this._sceneWCurrVpAfterScale=n,this._sceneHCurrVpAfterScale=r,this._sceneWidthAfterScale=this._scene.width*this._scene.scaleX,this._sceneHeightAfterScale=this._scene.height*this._scene.scaleY,this._scrollBar){this._scrollBar.resize(e,t,n,r);let i=this.viewportScrollX,a=this.viewportScrollY;this.scrollToViewportPos({viewportScrollX:i,viewportScrollY:a})}this.markForceDirty(!0)}_calcViewPortSize(){let{width:e,height:t}=this._scene.getParent(),{scaleX:n=1,scaleY:r=1}=this._scene,i,a,o=this._leftOrigin*n,s=this._topOrigin*r;return this._left=o,this._top=s,i=l.Tools.isDefine(this._widthOrigin)?(this._widthOrigin||0)*n:e-(this._left+this._right),a=l.Tools.isDefine(this._heightOrigin)?(this._heightOrigin||0)*r:t-(this._top+this._bottom),{width:i,height:a,parentHeight:t}}_afterRender(){}_emitScrollEnd$(e){clearTimeout(this._scrollStopNum),this._scrollStopNum=setTimeout(()=>{var t,n;this.onScrollEnd$.emitEvent({rawScrollX:e.rawScrollX,rawScrollY:e.rawScrollY,viewport:this,scrollX:this.scrollX,scrollY:this.scrollY,viewportScrollX:this.viewportScrollX,viewportScrollY:this.viewportScrollY,limitX:(t=this._scrollBar)==null?void 0:t.limitX,limitY:(n=this._scrollBar)==null?void 0:n.limitY,isTrigger:!1})},2)}_scrollToBarPosCore(e,t=!0){var n,r,i,a,o;if(this._scrollBar==null)return;let s=e.x,c=e.y,l=this.limitedScroll(s,c),u=this.transScroll2ViewportScrollValue(l.scrollX,l.scrollY);this.scrollX=s=l.scrollX,this.scrollY=c=l.scrollY,this.viewportScrollX=u.x,this.viewportScrollY=u.y;let d={viewport:this,scrollX:s,scrollY:c,viewportScrollX:u.x,viewportScrollY:u.y,rawScrollX:e.x,rawScrollY:e.y,limitX:(n=this._scrollBar)==null?void 0:n.limitX,limitY:(r=this._scrollBar)==null?void 0:r.limitY,isTrigger:t};return(i=this._scrollBar)==null||i.makeDirty(!0),this.onScrollAfter$.emitEvent(d),this._emitScrollEnd$(d),this.onScrollByBar$.emitEvent({viewport:this,scrollX:this.scrollX,scrollY:this.scrollY,viewportScrollX:this.viewportScrollX,viewportScrollY:this.viewportScrollY,limitX:(a=this._scrollBar)==null?void 0:a.limitX,limitY:(o=this._scrollBar)==null?void 0:o.limitY,isTrigger:t}),l}_scrollToViewportPosCore(e,t=!0){var n,r,i,a,o;if(this._scrollBar==null)return;let s=(n=e.viewportScrollX)==null?this.viewportScrollX:n,c=(r=e.viewportScrollY)==null?this.viewportScrollY:r,l=this.transViewportScroll2ScrollValue(s,c),u=this._limitViewportScroll(s,c);s=u.viewportScrollX,c=u.viewportScrollY;let d=this.transViewportScroll2ScrollValue(s,c),f=d.x,p=d.y;this._preScrollX=this.scrollX,this._preScrollY=this.scrollY,this._preViewportScrollX=this.viewportScrollX,this._preViewportScrollY=this.viewportScrollY,this.scrollX=f,this.scrollY=p,this.viewportScrollX=s,this.viewportScrollY=c;let m={isTrigger:t,viewport:this,scrollX:this.scrollX,scrollY:this.scrollY,viewportScrollX:s,viewportScrollY:c,rawScrollX:l.x,rawScrollY:l.y,limitX:(i=this._scrollBar)==null?void 0:i.limitX,limitY:(a=this._scrollBar)==null?void 0:a.limitY};return(o=this._scrollBar)==null||o.makeDirty(!0),this.onScrollAfter$.emitEvent(m),this._emitScrollEnd$(m),u}expandBounds(e){return{left:e.left-this.bufferEdgeX-0,right:e.right+this.bufferEdgeX+0,top:e.top-this.bufferEdgeY-0,bottom:e.bottom+this.bufferEdgeY+0}}updatePrevCacheBounds(e){e&&(this.preCacheBound=this.cacheBound=this.expandBounds(e))}_calcCacheUpdate(e,t,n,r){if(!this._cacheCanvas)return 0;if(!t)return 1;let i=e.right>t.right||e.top<t.top||e.left<t.left||e.bottom>t.bottom?1:0,a=this.bufferEdgeX/50,o=this.bufferEdgeY/50;return(t.right-e.right<a||e.left-t.left<a||e.top-t.top<o||t.bottom-e.bottom<o?5:0)|i}_diffViewBound(e,t){return t==null?[e]:dl({startRow:e.top,endRow:e.bottom,startColumn:e.left,endColumn:e.right},{startRow:t.top,endRow:t.bottom,startColumn:t.left,endColumn:t.right}).map(e=>{let{startRow:t,endRow:n,startColumn:r,endColumn:i}=e;return{left:r,top:t,right:i,bottom:n}})}_calcDiffCacheBound(e,t){if(!e)return[t];let n=[];t.left<e.left&&n.push({top:t.top,bottom:t.bottom,left:t.left,right:e.left}),t.right>e.right&&n.push({top:t.top,bottom:t.bottom,left:e.right,right:t.right}),t.top<e.top&&n.push({top:t.top,bottom:e.top,left:Math.max(e.left,t.left),right:Math.min(e.right,t.right)}),t.bottom>e.bottom&&n.push({top:e.bottom,bottom:t.bottom,left:Math.max(e.left,t.left),right:Math.min(e.right,t.right)});let r=this.bufferEdgeX,i=this.bufferEdgeY;for(let e of n)e.left-=r,e.right+=r,e.top-=i,e.bottom+=i;return n}_drawScrollbar(e){if(!this._scrollBar)return;let t=this._scene.getParent();(t.classType===O.SCENE_VIEWER||t.classType===O.ENGINE)&&this._scrollBar.render(e)}setViewportSize(e){l.Tools.isDefine(e==null?void 0:e.top)&&(this.top=e.top),l.Tools.isDefine(e==null?void 0:e.left)&&(this.left=e.left),l.Tools.isDefine(e==null?void 0:e.bottom)&&(this.bottom=e.bottom),l.Tools.isDefine(e==null?void 0:e.right)&&(this.right=e.right),l.Tools.isDefine(e==null?void 0:e.width)&&(this.width=e==null?void 0:e.width,this._widthOrigin=e==null?void 0:e.width),l.Tools.isDefine(e==null?void 0:e.height)&&(this.height=e==null?void 0:e.height,this._heightOrigin=e==null?void 0:e.height)}};exports.BASE_OBJECT_ARRAY=tn,exports.BG_Z_INDEX=21,exports.BORDER_TYPE=E,exports.BORDER_Z_INDEX=50,exports.Background=An,exports.BaseObject=rn,exports.Border=jn,exports.BreakType=dt,exports.CHECK_OBJECT_ARRAY=Js,exports.CIRCLE_OBJECT_ARRAY=Xs,exports.COLOR_BLACK_RGB=T,exports.CURSOR_TYPE=C,exports.Canvas=un,Object.defineProperty(exports,`CanvasColorService`,{enumerable:!0,get:function(){return Rc}}),exports.CanvasRenderMode=ln,exports.CheckboxShape=Ys,exports.Circle=Zs,exports.ColumnHeaderLayout=Nn,exports.ComponentExtension=mn,exports.Control=Qs,exports.Custom=Fn,exports.CustomObject=kc,exports.DEFAULT_DOCUMENT_FONTSIZE=14,exports.DEFAULT_FONTFACE_PLANE=y,exports.DEFAULT_FRAME_LIST_SIZE=3600,exports.DEFAULT_FRAME_SAMPLE_SIZE=60,exports.DEFAULT_MEASURE_TEXT=`0`,exports.DEFAULT_OFFSET_SPACING=1,exports.DEFAULT_PADDING_DATA=As,exports.DEFAULT_SKELETON_FOOTER=S,exports.DEFAULT_SKELETON_HEADER=x,exports.DOCUMENT_CONTEXT_CLIP_TYPE=w,exports.DRAWING_OBJECT_LAYER_INDEX=4,exports.DRAWING_OBJECT_LOWER_LAYER_INDEX=3,exports.DRAWING_OBJECT_UPPER_LAYER_INDEX=5,exports.DashedRect=tc,exports.DataStreamTreeNode=wr,exports.DeviceInputEventType=Ht,exports.DeviceType=Wt,exports.DocBackground=Oc,exports.DocSimpleSkeleton=_r,exports.DocumentEditArea=Tr,exports.DocumentSkeleton=Cs,exports.DocumentSkeletonPageType=G,exports.DocumentViewModel=Or,exports.Documents=mc,exports.DocumentsSpanAndLineExtensionRegistry=vn,exports.Drawing=nc,exports.DrawingGroupObject=jc,exports.DumbCanvasColorService=Lc,exports.EXPAND_SIZE_FOR_RENDER_OVERFLOW=20,Object.defineProperty(exports,`Engine`,{enumerable:!0,get:function(){return Vc}}),exports.EventConstants=Ut,exports.FIX_ONE_PIXEL_BLUR_OFFSET=j,exports.FONT_EXTENSION_Z_INDEX=45,exports.Font=Ls,exports.FontCache=W,exports.GlyphType=pt,exports.Group=Ac,exports.HitCanvas=fn,exports.ICanvasColorService=Ic,exports.INITIAL_MATRIX=en,exports.INITIAL_Path2=Gt,exports.IRenderManagerService=il,exports.IRenderingEngine=ll,exports.IWatermarkTypeEnum=gc,exports.Image=rc,exports.IsSafari=ne,exports.LINK_VIEW_PORT_TYPE=v,exports.Layer=xc,exports.LineType=ft,exports.Liquid=Cr,exports.MAIN_VIEW_PORT_KEY=$c,exports.MAXIMUM_COL_WIDTH=A,exports.MAXIMUM_ROW_HEIGHT=k,exports.MEASURE_EXTENT=En,exports.MEASURE_EXTENT_FOR_PARAGRAPH=1e3,exports.MIDDLE_CELL_POS_MAGIC_NUMBER=1,exports.MIN_COL_WIDTH=2,exports.Marker=zs,exports.NORMAL_TEXT_SELECTION_PLUGIN_STYLE=Zt,exports.ORIENTATION_TYPE=D,exports.ObjectType=nn,exports.PATH_OBJECT_ARRAY=ic,exports.PRINTING_BG_Z_INDEX=21,exports.PageLayoutType=mt,exports.Path=ac,exports.Path2=Kt,exports.PerformanceMonitor=Yt,exports.PointerInput=q,exports.RECT_OBJECT_ARRAY=$s,exports.REGULAR_POLYGON_OBJECT_ARRAY=oc,exports.RENDER_CLASS_TYPE=O,exports.RENDER_RAW_FORMULA_KEY=js,exports.RICHTEXT_OBJECT_ARRAY=cc,exports.Rect=ec,exports.RegularPolygon=sc,exports.RenderComponent=pn,Object.defineProperty(exports,`RenderManagerService`,{enumerable:!0,get:function(){return rl}}),Object.defineProperty(exports,`RenderUnit`,{enumerable:!0,get:function(){return tl}}),exports.RichText=lc,exports.RollingAverage=Xt,exports.RowHeaderLayout=Vs,exports.SHAPE_OBJECT_ARRAY=yr,exports.SHAPE_TYPE=_,exports.SHEET_EXTENSION_PREFIX=On,exports.SHEET_EXTENSION_TYPE=Dn,exports.SHEET_VIEWPORT_KEY=Cn,exports.SLIDE_NAVIGATION_KEY=Tc,exports.Scene=el,exports.SceneCanvas=dn,exports.SceneViewer=wc,exports.ScrollBar=uc,exports.ScrollTimer=Yc,exports.ScrollTimerType=qc,exports.Shape=br,exports.SheetColumnHeaderExtensionRegistry=_n,exports.SheetComponent=yn,exports.SheetExtension=kn,exports.SheetRowHeaderExtensionRegistry=gn,exports.ShowGridlinesState=Sn,exports.SkeletonType=ut,exports.Slide=Dc,exports.Spreadsheet=hc,exports.SpreadsheetColumnHeader=xn,exports.SpreadsheetExtensionRegistry=hn,exports.SpreadsheetHeader=bn,exports.SpreadsheetRowHeader=Hs,Object.defineProperty(exports,`SpreadsheetSkeleton`,{enumerable:!0,get:function(){return Ms}}),exports.TEXT_OBJECT_ARRAY=xr,exports.TRANSFORM_CHANGE_OBSERVABLE_TYPE=J,exports.Text=Sr,exports.Transform=Y,exports.UNIVER_WATERMARK_LAYER_INDEX=10,exports.UNIVER_WATERMARK_STORAGE_KEY=`UNIVER_WATERMARK_STORAGE_KEY`,exports.UniverPrintingContext=cn,Object.defineProperty(exports,`UniverRenderEnginePlugin`,{enumerable:!0,get:function(){return ul}}),exports.UniverRenderingContext=sn,exports.UniverRenderingContext2D=on,exports.VERTICAL_ROTATE_ANGLE=90,exports.Vector2=K,exports.Viewport=fl,exports.WatermarkLayer=Sc,exports.calculateRectRotate=Mt,exports.cancelRequestFrame=R,exports.checkStyle=Xe,exports.clampRange=it,exports.clearLineByBorderType=Dt,exports.convertTextRotation=$t,exports.convertTransformToOffsetX=Ns,exports.convertTransformToOffsetY=Ps,exports.createCanvasElement=z,exports.createImageElement=ee,exports.degToRad=V,exports.drawDiagonalLineByBorderType=Et,exports.drawLineByBorderType=Ct,exports.expandRangeIfIntersects=rt,exports.fixLineWidthByScale=H,exports.generateRandomKey=re,exports.getCellByIndexWithMergeInfo=Ge,exports.getCellPositionByIndex=Ue,exports.getCharSpaceApply=da,exports.getColor=F,exports.getCurrentScrollXY=Qt,exports.getCurrentTypeOfRenderer=ol,exports.getDPI=Le,exports.getDevicePixelRatio=St,exports.getDocsSkeletonPageSize=Fs,exports.getDrawingGroupState=Rt,exports.getFirstGrapheme=Ee,exports.getFontStyleString=pe,exports.getGroupState=Lt,exports.getLastColumn=ia,exports.getLastLine=aa,exports.getLineOffset=kt,exports.getLineWidth=jt,exports.getLineWith=At,exports.getNumberUnitValue=ua,exports.getOffsetRectForDom=an,exports.getPageFromPath=za,exports.getParagraphByGlyph=yt,exports.getPointerPrefix=te,exports.getRenderTransformBaseOnParentBound=Bt,exports.getRotateOffsetAndFarthestHypotenuse=Pt,exports.getRotateOrientation=Nt,exports.getRotatedBoundInGroup=Vt,exports.getScale=He,exports.getSizeForDom=Qe,exports.getSystemHighlightColor=at,exports.getTableIdAndSliceIndex=Ei,exports.getTranslateInSpreadContextWithPixelRatio=Ft,exports.getValueType=ie,exports.glyphIterator=_a,exports.hasAllLatin=be,exports.hasArabic=ke,exports.hasBasicLatin=xe,exports.hasCJK=_e,exports.hasCJKPunctuation=ye,exports.hasCJKText=he,exports.hasLatinExtendedA=Ce,exports.hasLatinExtendedB=we,exports.hasLatinOneSupplement=Se,exports.hasListGlyph=ht,exports.hasSpace=je,exports.hasTibetan=Ae,exports.hasUnMergedCellInRow=Ke,exports.inViewRanges=nt,exports.injectStyle=Ye,exports.isArray=ce,exports.isCjkCenterAlignedPunctuation=Pe,exports.isCjkLeftAlignedPunctuation=Me,exports.isCjkRightAlignedPunctuation=Ne,exports.isDate=oe,exports.isEmojiGrapheme=De,exports.isFirstGlyph=vt,exports.isFunction=ae,exports.isIndentByGlyph=gt,exports.isLastGlyph=_t,exports.isNumber=ue,exports.isObject=de,exports.isPlaceholderOrSpace=bt,exports.isRectIntersect=Je,exports.isRegExp=se,exports.isSameLine=xt,exports.isString=le,exports.lineIterator=va,exports.mergeInfoOffset=qe,exports.parseDataStreamToTree=Dr,exports.pixelToPt=tt,exports.precisionTo=fe,exports.ptToMM=Be,exports.ptToPixel=et,exports.ptToPx=Re,exports.pxToInch=Ve,exports.pxToNum=Ze,exports.pxToPt=ze,exports.radToDeg=B,exports.renderImageWatermark=bc,exports.renderTextWatermark=yc,exports.renderUserInfoWatermark=vc,exports.renderWatermark=_c,exports.requestNewFrame=L,exports.setLineType=Ot,exports.sheetContentViewportKeys=wn,exports.sheetHeaderViewportKeys=Tn,exports.startWithEmoji=Oe,exports.toPx=I,exports.transformObjectOutOfGroup=zt,exports.withCurrentTypeOfRenderer=sl;