@carbon/ai-chat 0.1.0-alpha-pdf-text-2 → 0.1.0-alpha-pdf-text-4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,43 +1 @@
1
- import{Button as e,TextInput as t,OverflowMenu as A,OverflowMenuItem as i,Loading as s}from"@carbon/react";import{S as a,C as n,a as r,b as o,u as g,c as h,d as c,e as l,f as I,D as d,M as C,F as u,g as B}from"./App.js";import Q,{useState as E,useRef as f,useEffect as p}from"react";import{I as m,B as y,z as w,a1 as b}from"./moduleFederationPluginUtils.js";import{b6 as D,t as k}from"./aiChatEntry2.js";import{FormattedMessage as S}from"react-intl";import{p as F,e as R}from"./domUtils.js";import"./_commonjsHelpers.js";import"react-redux";import"./humanAgentUtils.js";import"./messageUtils.js";import"@lit/react";import"lit";import"lit/decorators.js";import"lit/directives/unsafe-html.js";import"lit/directives/class-map.js";import"lit/directive.js";import"lit/async-directive.js";import"lit/directives/if-defined.js";import"lit-html/directives/repeat.js";import"react-dom";import"react-is";var x,v,N,M,G,L,U,H,J;const T=Q.forwardRef((function(e,t){let{children:A,size:i=16,...s}=e;return 16===i||"16"===i||"16px"===i?Q.createElement(m,{width:i,height:i,ref:t,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",fill:"currentColor",...s},x||(x=Q.createElement("path",{d:"M9 6L7 6 7 4 6 4 6 6 4 6 4 7 6 7 6 9 7 9 7 7 9 7z"})),v||(v=Q.createElement("path",{d:"M10.7,10C11.5,9,12,7.8,12,6.5C12,3.5,9.5,1,6.5,1S1,3.5,1,6.5S3.5,12,6.5,12c1.3,0,2.5-0.5,3.5-1.3l3.8,3.8l0.7-0.7 L10.7,10z M6.5,11C4,11,2,9,2,6.5S4,2,6.5,2S11,4,11,6.5S9,11,6.5,11L6.5,11z"})),A):Q.createElement(m,{width:i,height:i,ref:t,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor",...s},N||(N=Q.createElement("path",{d:"M18 12L14 12 14 8 12 8 12 12 8 12 8 14 12 14 12 18 14 18 14 14 18 14 18 12z"})),M||(M=Q.createElement("path",{d:"M21.4479,20A10.856,10.856,0,0,0,24,13,11,11,0,1,0,13,24a10.856,10.856,0,0,0,7-2.5521L27.5859,29,29,27.5859ZM13,22a9,9,0,1,1,9-9A9.01,9.01,0,0,1,13,22Z"})),A)})),P=Q.forwardRef((function(e,t){let{children:A,size:i=16,...s}=e;return 16===i||"16"===i||"16px"===i?Q.createElement(m,{width:i,height:i,ref:t,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",fill:"currentColor",...s},G||(G=Q.createElement("path",{d:"M4 6H9V7H4z"})),L||(L=Q.createElement("path",{d:"M10.7,10C11.5,9,12,7.8,12,6.5C12,3.5,9.5,1,6.5,1S1,3.5,1,6.5S3.5,12,6.5,12c1.3,0,2.5-0.5,3.5-1.3l3.8,3.8l0.7-0.7 L10.7,10z M6.5,11C4,11,2,9,2,6.5S4,2,6.5,2S11,4,11,6.5S9,11,6.5,11L6.5,11z"})),A):Q.createElement(m,{width:i,height:i,ref:t,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor",...s},U||(U=Q.createElement("path",{d:"M8 12H18V14H8z"})),H||(H=Q.createElement("path",{d:"M21.4479,20A10.856,10.856,0,0,0,24,13,11,11,0,1,0,13,24a10.856,10.856,0,0,0,7-2.5521L27.5859,29,29,27.5859ZM13,22a9,9,0,1,1,9-9A9.01,9.01,0,0,1,13,22Z"})),A)})),Y=Q.forwardRef((function(e,t){let{children:A,size:i=16,...s}=e;return Q.createElement(m,{width:i,height:i,ref:t,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor",...s},J||(J=Q.createElement("path",{d:"M22.4478,21A10.855,10.855,0,0,0,25,14,10.99,10.99,0,0,0,6,6.4658V2H4v8h8V8H7.332a8.9768,8.9768,0,1,1-2.1,8H3.1912A11.0118,11.0118,0,0,0,14,25a10.855,10.855,0,0,0,7-2.5522L28.5859,30,30,28.5859Z"})),A)}));
2
- /**
3
- * @licstart The following is the entire license notice for the
4
- * JavaScript code in this page
5
- *
6
- * Copyright 2023 Mozilla Foundation
7
- *
8
- * Licensed under the Apache License, Version 2.0 (the "License");
9
- * you may not use this file except in compliance with the License.
10
- * You may obtain a copy of the License at
11
- *
12
- * http://www.apache.org/licenses/LICENSE-2.0
13
- *
14
- * Unless required by applicable law or agreed to in writing, software
15
- * distributed under the License is distributed on an "AS IS" BASIS,
16
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
- * See the License for the specific language governing permissions and
18
- * limitations under the License.
19
- *
20
- * @licend The above is the entire license notice for the
21
- * JavaScript code in this page
22
- */var K={d:(e,t)=>{for(var A in t)K.o(t,A)&&!K.o(e,A)&&Object.defineProperty(e,A,{enumerable:!0,get:t[A]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},_=globalThis.pdfjsLib={};K.d(_,{AbortException:()=>tt,AnnotationEditorLayer:()=>ta,AnnotationEditorParamsType:()=>se,AnnotationEditorType:()=>ie,AnnotationEditorUIManager:()=>iA,AnnotationLayer:()=>Ks,AnnotationMode:()=>Ae,CMapCompressionType:()=>Ue,ColorPicker:()=>Xs,DOMSVGFactory:()=>xt,DrawLayer:()=>Aa,FeatureTest:()=>at,GlobalWorkerOptions:()=>jA,ImageKind:()=>le,InvalidPDFException:()=>Xe,MissingPDFException:()=>ze,OPS:()=>He,Outliner:()=>Os,PDFDataRangeTransport:()=>Zi,PDFDateString:()=>Kt,PDFWorker:()=>ts,PasswordResponses:()=>Je,PermissionFlag:()=>ae,PixelsPerInch:()=>kt,RenderingCancelledException:()=>Mt,TextLayer:()=>Hi,UnexpectedResponseException:()=>$e,Util:()=>rt,VerbosityLevel:()=>Le,XfaLayer:()=>ls,build:()=>os,createValidAbsoluteUrl:()=>Oe,fetchData:()=>St,getDocument:()=>Wi,getFilenameFromUrl:()=>Ut,getPdfFilenameFromUrl:()=>Ht,getXfaPageViewport:()=>_t,isDataScheme:()=>Gt,isPdfFile:()=>Lt,noContextMenu:()=>Pt,normalizeUnicode:()=>ht,renderTextLayer:()=>Ji,setLayerDimensions:()=>jt,shadow:()=>We,updateTextLayer:()=>Ti,version:()=>rs});const q=!("object"!=typeof process||process+""!="[object process]"||process.versions.nw||process.versions.electron&&process.type&&"browser"!==process.type),O=[1,0,0,1,0,0],W=[.001,0,0,.001,0,0],j=1.35,V=1,Z=2,X=4,z=16,$=32,ee=64,te=256,Ae={DISABLE:0,ENABLE:1,ENABLE_FORMS:2,ENABLE_STORAGE:3},ie={DISABLE:-1,NONE:0,FREETEXT:3,HIGHLIGHT:9,STAMP:13,INK:15},se={RESIZE:1,CREATE:2,FREETEXT_SIZE:11,FREETEXT_COLOR:12,FREETEXT_OPACITY:13,INK_COLOR:21,INK_THICKNESS:22,INK_OPACITY:23,HIGHLIGHT_COLOR:31,HIGHLIGHT_DEFAULT_COLOR:32,HIGHLIGHT_THICKNESS:33,HIGHLIGHT_FREE:34,HIGHLIGHT_SHOW_ALL:35},ae={PRINT:4,MODIFY_CONTENTS:8,COPY:16,MODIFY_ANNOTATIONS:32,FILL_INTERACTIVE_FORMS:256,COPY_FOR_ACCESSIBILITY:512,ASSEMBLE:1024,PRINT_HIGH_QUALITY:2048},ne=0,re=1,oe=2,ge=3,he=3,ce=4,le={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3},Ie=1,de=2,Ce=3,ue=4,Be=5,Qe=6,Ee=7,fe=8,pe=9,me=10,ye=11,we=12,be=13,De=14,ke=15,Se=16,Fe=17,Re=20,xe=1,ve=2,Ne=3,Me=4,Ge=5,Le={ERRORS:0,WARNINGS:1,INFOS:5},Ue={NONE:0,BINARY:1},He={dependency:1,setLineWidth:2,setLineCap:3,setLineJoin:4,setMiterLimit:5,setDash:6,setRenderingIntent:7,setFlatness:8,setGState:9,save:10,restore:11,transform:12,moveTo:13,lineTo:14,curveTo:15,curveTo2:16,curveTo3:17,closePath:18,rectangle:19,stroke:20,closeStroke:21,fill:22,eoFill:23,fillStroke:24,eoFillStroke:25,closeFillStroke:26,closeEOFillStroke:27,endPath:28,clip:29,eoClip:30,beginText:31,endText:32,setCharSpacing:33,setWordSpacing:34,setHScale:35,setLeading:36,setFont:37,setTextRenderingMode:38,setTextRise:39,moveText:40,setLeadingMoveText:41,setTextMatrix:42,nextLine:43,showText:44,showSpacedText:45,nextLineShowText:46,nextLineSetSpacingShowText:47,setCharWidth:48,setCharWidthAndBounds:49,setStrokeColorSpace:50,setFillColorSpace:51,setStrokeColor:52,setStrokeColorN:53,setFillColor:54,setFillColorN:55,setStrokeGray:56,setFillGray:57,setStrokeRGBColor:58,setFillRGBColor:59,setStrokeCMYKColor:60,setFillCMYKColor:61,shadingFill:62,beginInlineImage:63,beginImageData:64,endInlineImage:65,paintXObject:66,markPoint:67,markPointProps:68,beginMarkedContent:69,beginMarkedContentProps:70,endMarkedContent:71,beginCompat:72,endCompat:73,paintFormXObjectBegin:74,paintFormXObjectEnd:75,beginGroup:76,endGroup:77,beginAnnotation:80,endAnnotation:81,paintImageMaskXObject:83,paintImageMaskXObjectGroup:84,paintImageXObject:85,paintInlineImageXObject:86,paintInlineImageXObjectGroup:87,paintImageXObjectRepeat:88,paintImageMaskXObjectRepeat:89,paintSolidColorImageMask:90,constructPath:91},Je={NEED_PASSWORD:1,INCORRECT_PASSWORD:2};let Te=Le.WARNINGS;function Pe(){return Te}function Ye(e){Te>=Le.INFOS&&console.log(`Info: ${e}`)}function Ke(e){Te>=Le.WARNINGS&&console.log(`Warning: ${e}`)}function _e(e){throw new Error(e)}function qe(e,t){e||_e(t)}function Oe(e,t=null,A=null){if(!e)return null;try{if(A&&"string"==typeof e){if(A.addDefaultProtocol&&e.startsWith("www.")){const t=e.match(/\./g);t?.length>=2&&(e=`http://${e}`)}if(A.tryConvertEncoding)try{e=decodeURIComponent(escape(e))}catch{}}const i=t?new URL(e,t):new URL(e);if(function(e){switch(e?.protocol){case"http:":case"https:":case"ftp:":case"mailto:":case"tel:":return!0;default:return!1}}(i))return i}catch{}return null}function We(e,t,A,i=!1){return Object.defineProperty(e,t,{value:A,enumerable:!i,configurable:!0,writable:!1}),A}const je=function(){function e(t,A){this.constructor===e&&_e("Cannot initialize BaseException."),this.message=t,this.name=A}return e.prototype=new Error,e.constructor=e,e}();let Ve=class extends je{constructor(e,t){super(e,"PasswordException"),this.code=t}},Ze=class extends je{constructor(e,t){super(e,"UnknownErrorException"),this.details=t}},Xe=class extends je{constructor(e){super(e,"InvalidPDFException")}},ze=class extends je{constructor(e){super(e,"MissingPDFException")}},$e=class extends je{constructor(e,t){super(e,"UnexpectedResponseException"),this.status=t}},et=class extends je{constructor(e){super(e,"FormatError")}},tt=class extends je{constructor(e){super(e,"AbortException")}};function At(e){"object"==typeof e&&void 0!==e?.length||_e("Invalid argument for bytesToString");const t=e.length,A=8192;if(t<A)return String.fromCharCode.apply(null,e);const i=[];for(let s=0;s<t;s+=A){const a=Math.min(s+A,t),n=e.subarray(s,a);i.push(String.fromCharCode.apply(null,n))}return i.join("")}function it(e){"string"!=typeof e&&_e("Invalid argument for stringToBytes");const t=e.length,A=new Uint8Array(t);for(let i=0;i<t;++i)A[i]=255&e.charCodeAt(i);return A}function st(e){const t=Object.create(null);for(const[A,i]of e)t[A]=i;return t}class at{static get isLittleEndian(){return We(this,"isLittleEndian",function(){const e=new Uint8Array(4);return e[0]=1,1===new Uint32Array(e.buffer,0,1)[0]}())}static get isEvalSupported(){return We(this,"isEvalSupported",function(){try{return new Function(""),!0}catch{return!1}}())}static get isOffscreenCanvasSupported(){return We(this,"isOffscreenCanvasSupported","undefined"!=typeof OffscreenCanvas)}static get platform(){return"undefined"!=typeof navigator&&"string"==typeof navigator?.platform?We(this,"platform",{isMac:navigator.platform.includes("Mac")}):We(this,"platform",{isMac:!1})}static get isCSSRoundSupported(){return We(this,"isCSSRoundSupported",globalThis.CSS?.supports?.("width: round(1.5px, 1px)"))}}const nt=Array.from(Array(256).keys(),(e=>e.toString(16).padStart(2,"0")));let rt=class{static makeHexColor(e,t,A){return`#${nt[e]}${nt[t]}${nt[A]}`}static scaleMinMax(e,t){let A;e[0]?(e[0]<0&&(A=t[0],t[0]=t[2],t[2]=A),t[0]*=e[0],t[2]*=e[0],e[3]<0&&(A=t[1],t[1]=t[3],t[3]=A),t[1]*=e[3],t[3]*=e[3]):(A=t[0],t[0]=t[1],t[1]=A,A=t[2],t[2]=t[3],t[3]=A,e[1]<0&&(A=t[1],t[1]=t[3],t[3]=A),t[1]*=e[1],t[3]*=e[1],e[2]<0&&(A=t[0],t[0]=t[2],t[2]=A),t[0]*=e[2],t[2]*=e[2]),t[0]+=e[4],t[1]+=e[5],t[2]+=e[4],t[3]+=e[5]}static transform(e,t){return[e[0]*t[0]+e[2]*t[1],e[1]*t[0]+e[3]*t[1],e[0]*t[2]+e[2]*t[3],e[1]*t[2]+e[3]*t[3],e[0]*t[4]+e[2]*t[5]+e[4],e[1]*t[4]+e[3]*t[5]+e[5]]}static applyTransform(e,t){return[e[0]*t[0]+e[1]*t[2]+t[4],e[0]*t[1]+e[1]*t[3]+t[5]]}static applyInverseTransform(e,t){const A=t[0]*t[3]-t[1]*t[2];return[(e[0]*t[3]-e[1]*t[2]+t[2]*t[5]-t[4]*t[3])/A,(-e[0]*t[1]+e[1]*t[0]+t[4]*t[1]-t[5]*t[0])/A]}static getAxialAlignedBoundingBox(e,t){const A=this.applyTransform(e,t),i=this.applyTransform(e.slice(2,4),t),s=this.applyTransform([e[0],e[3]],t),a=this.applyTransform([e[2],e[1]],t);return[Math.min(A[0],i[0],s[0],a[0]),Math.min(A[1],i[1],s[1],a[1]),Math.max(A[0],i[0],s[0],a[0]),Math.max(A[1],i[1],s[1],a[1])]}static inverseTransform(e){const t=e[0]*e[3]-e[1]*e[2];return[e[3]/t,-e[1]/t,-e[2]/t,e[0]/t,(e[2]*e[5]-e[4]*e[3])/t,(e[4]*e[1]-e[5]*e[0])/t]}static singularValueDecompose2dScale(e){const t=[e[0],e[2],e[1],e[3]],A=e[0]*t[0]+e[1]*t[2],i=e[0]*t[1]+e[1]*t[3],s=e[2]*t[0]+e[3]*t[2],a=e[2]*t[1]+e[3]*t[3],n=(A+a)/2,r=Math.sqrt((A+a)**2-4*(A*a-s*i))/2,o=n+r||1,g=n-r||1;return[Math.sqrt(o),Math.sqrt(g)]}static normalizeRect(e){const t=e.slice(0);return e[0]>e[2]&&(t[0]=e[2],t[2]=e[0]),e[1]>e[3]&&(t[1]=e[3],t[3]=e[1]),t}static intersect(e,t){const A=Math.max(Math.min(e[0],e[2]),Math.min(t[0],t[2])),i=Math.min(Math.max(e[0],e[2]),Math.max(t[0],t[2]));if(A>i)return null;const s=Math.max(Math.min(e[1],e[3]),Math.min(t[1],t[3])),a=Math.min(Math.max(e[1],e[3]),Math.max(t[1],t[3]));return s>a?null:[A,s,i,a]}static#e(e,t,A,i,s,a,n,r,o,g){if(o<=0||o>=1)return;const h=1-o,c=o*o,l=c*o,I=h*(h*(h*e+3*o*t)+3*c*A)+l*i,d=h*(h*(h*s+3*o*a)+3*c*n)+l*r;g[0]=Math.min(g[0],I),g[1]=Math.min(g[1],d),g[2]=Math.max(g[2],I),g[3]=Math.max(g[3],d)}static#t(e,t,A,i,s,a,n,r,o,g,h,c){if(Math.abs(o)<1e-12)return void(Math.abs(g)>=1e-12&&this.#e(e,t,A,i,s,a,n,r,-h/g,c));const l=g**2-4*h*o;if(l<0)return;const I=Math.sqrt(l),d=2*o;this.#e(e,t,A,i,s,a,n,r,(-g+I)/d,c),this.#e(e,t,A,i,s,a,n,r,(-g-I)/d,c)}static bezierBoundingBox(e,t,A,i,s,a,n,r,o){return o?(o[0]=Math.min(o[0],e,n),o[1]=Math.min(o[1],t,r),o[2]=Math.max(o[2],e,n),o[3]=Math.max(o[3],t,r)):o=[Math.min(e,n),Math.min(t,r),Math.max(e,n),Math.max(t,r)],this.#t(e,A,s,n,t,i,a,r,3*(3*(A-s)-e+n),6*(e-2*A+s),3*(A-e),o),this.#t(e,A,s,n,t,i,a,r,3*(3*(i-a)-t+r),6*(t-2*i+a),3*(i-t),o),o}};let ot=null,gt=null;function ht(e){return ot||(ot=/([\u00a0\u00b5\u037e\u0eb3\u2000-\u200a\u202f\u2126\ufb00-\ufb04\ufb06\ufb20-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufba1\ufba4-\ufba9\ufbae-\ufbb1\ufbd3-\ufbdc\ufbde-\ufbe7\ufbea-\ufbf8\ufbfc-\ufbfd\ufc00-\ufc5d\ufc64-\ufcf1\ufcf5-\ufd3d\ufd88\ufdf4\ufdfa-\ufdfb\ufe71\ufe77\ufe79\ufe7b\ufe7d]+)|(\ufb05+)/gu,gt=new Map([["ſt","ſt"]])),e.replaceAll(ot,((e,t,A)=>t?t.normalize("NFKC"):gt.get(A)))}const ct="pdfjs_internal_id_",lt=0,It=1,dt=2,Ct=3,ut=4,Bt=5,Qt=6,Et=7,ft=8;class pt{constructor(){this.constructor===pt&&_e("Cannot initialize BaseFilterFactory.")}addFilter(e){return"none"}addHCMFilter(e,t){return"none"}addAlphaFilter(e){return"none"}addLuminosityFilter(e){return"none"}addHighlightHCMFilter(e,t,A,i,s){return"none"}destroy(e=!1){}}class mt{constructor(){this.constructor===mt&&_e("Cannot initialize BaseCanvasFactory.")}create(e,t){if(e<=0||t<=0)throw new Error("Invalid canvas size");const A=this._createCanvas(e,t);return{canvas:A,context:A.getContext("2d")}}reset(e,t,A){if(!e.canvas)throw new Error("Canvas is not specified");if(t<=0||A<=0)throw new Error("Invalid canvas size");e.canvas.width=t,e.canvas.height=A}destroy(e){if(!e.canvas)throw new Error("Canvas is not specified");e.canvas.width=0,e.canvas.height=0,e.canvas=null,e.context=null}_createCanvas(e,t){_e("Abstract method `_createCanvas` called.")}}class yt{constructor({baseUrl:e=null,isCompressed:t=!0}){this.constructor===yt&&_e("Cannot initialize BaseCMapReaderFactory."),this.baseUrl=e,this.isCompressed=t}async fetch({name:e}){if(!this.baseUrl)throw new Error('The CMap "baseUrl" parameter must be specified, ensure that the "cMapUrl" and "cMapPacked" API parameters are provided.');if(!e)throw new Error("CMap name must be specified.");const t=this.baseUrl+e+(this.isCompressed?".bcmap":""),A=this.isCompressed?Ue.BINARY:Ue.NONE;return this._fetchData(t,A).catch((e=>{throw new Error(`Unable to load ${this.isCompressed?"binary ":""}CMap at: ${t}`)}))}_fetchData(e,t){_e("Abstract method `_fetchData` called.")}}class wt{constructor({baseUrl:e=null}){this.constructor===wt&&_e("Cannot initialize BaseStandardFontDataFactory."),this.baseUrl=e}async fetch({filename:e}){if(!this.baseUrl)throw new Error('The standard font "baseUrl" parameter must be specified, ensure that the "standardFontDataUrl" API parameter is provided.');if(!e)throw new Error("Font filename must be specified.");const t=`${this.baseUrl}${e}`;return this._fetchData(t).catch((e=>{throw new Error(`Unable to load font data at: ${t}`)}))}_fetchData(e){_e("Abstract method `_fetchData` called.")}}class bt{constructor(){this.constructor===bt&&_e("Cannot initialize BaseSVGFactory.")}create(e,t,A=!1){if(e<=0||t<=0)throw new Error("Invalid SVG dimensions");const i=this._createSVG("svg:svg");return i.setAttribute("version","1.1"),A||(i.setAttribute("width",`${e}px`),i.setAttribute("height",`${t}px`)),i.setAttribute("preserveAspectRatio","none"),i.setAttribute("viewBox",`0 0 ${e} ${t}`),i}createElement(e){if("string"!=typeof e)throw new Error("Invalid SVG element type");return this._createSVG(e)}_createSVG(e){_e("Abstract method `_createSVG` called.")}}const Dt="http://www.w3.org/2000/svg";let kt=class{static CSS=96;static PDF=72;static PDF_TO_CSS_UNITS=this.CSS/this.PDF};async function St(e,t="text"){if(Tt(e,document.baseURI)){const A=await fetch(e);if(!A.ok)throw new Error(A.statusText);switch(t){case"arraybuffer":return A.arrayBuffer();case"blob":return A.blob();case"json":return A.json()}return A.text()}return new Promise(((A,i)=>{const s=new XMLHttpRequest;s.open("GET",e,!0),s.responseType=t,s.onreadystatechange=()=>{if(s.readyState===XMLHttpRequest.DONE)if(200!==s.status&&0!==s.status)i(new Error(s.statusText));else{switch(t){case"arraybuffer":case"blob":case"json":return void A(s.response)}A(s.responseText)}},s.send(null)}))}class Ft extends yt{_fetchData(e,t){return St(e,this.isCompressed?"arraybuffer":"text").then((e=>({cMapData:e instanceof ArrayBuffer?new Uint8Array(e):it(e),compressionType:t})))}}class Rt extends wt{_fetchData(e){return St(e,"arraybuffer").then((e=>new Uint8Array(e)))}}let xt=class extends bt{_createSVG(e){return document.createElementNS(Dt,e)}};class vt{constructor({viewBox:e,scale:t,rotation:A,offsetX:i=0,offsetY:s=0,dontFlip:a=!1}){this.viewBox=e,this.scale=t,this.rotation=A,this.offsetX=i,this.offsetY=s;const n=(e[2]+e[0])/2,r=(e[3]+e[1])/2;let o,g,h,c,l,I,d,C;switch((A%=360)<0&&(A+=360),A){case 180:o=-1,g=0,h=0,c=1;break;case 90:o=0,g=1,h=1,c=0;break;case 270:o=0,g=-1,h=-1,c=0;break;case 0:o=1,g=0,h=0,c=-1;break;default:throw new Error("PageViewport: Invalid rotation, must be a multiple of 90 degrees.")}a&&(h=-h,c=-c),0===o?(l=Math.abs(r-e[1])*t+i,I=Math.abs(n-e[0])*t+s,d=(e[3]-e[1])*t,C=(e[2]-e[0])*t):(l=Math.abs(n-e[0])*t+i,I=Math.abs(r-e[1])*t+s,d=(e[2]-e[0])*t,C=(e[3]-e[1])*t),this.transform=[o*t,g*t,h*t,c*t,l-o*t*n-h*t*r,I-g*t*n-c*t*r],this.width=d,this.height=C}get rawDims(){const{viewBox:e}=this;return We(this,"rawDims",{pageWidth:e[2]-e[0],pageHeight:e[3]-e[1],pageX:e[0],pageY:e[1]})}clone({scale:e=this.scale,rotation:t=this.rotation,offsetX:A=this.offsetX,offsetY:i=this.offsetY,dontFlip:s=!1}={}){return new vt({viewBox:this.viewBox.slice(),scale:e,rotation:t,offsetX:A,offsetY:i,dontFlip:s})}convertToViewportPoint(e,t){return rt.applyTransform([e,t],this.transform)}convertToViewportRectangle(e){const t=rt.applyTransform([e[0],e[1]],this.transform),A=rt.applyTransform([e[2],e[3]],this.transform);return[t[0],t[1],A[0],A[1]]}convertToPdfPoint(e,t){return rt.applyInverseTransform([e,t],this.transform)}}let Nt,Mt=class extends je{constructor(e,t=0){super(e,"RenderingCancelledException"),this.extraDelay=t}};function Gt(e){const t=e.length;let A=0;for(;A<t&&""===e[A].trim();)A++;return"data:"===e.substring(A,A+5).toLowerCase()}function Lt(e){return"string"==typeof e&&/\.pdf$/i.test(e)}function Ut(e){return[e]=e.split(/[#?]/,1),e.substring(e.lastIndexOf("/")+1)}function Ht(e,t="document.pdf"){if("string"!=typeof e)return t;if(Gt(e))return Ke('getPdfFilenameFromUrl: ignore "data:"-URL for performance reasons.'),t;const A=/[^/?#=]+\.pdf\b(?!.*\.pdf\b)/i,i=/^(?:(?:[^:]+:)?\/\/[^/]+)?([^?#]*)(\?[^#]*)?(#.*)?$/.exec(e);let s=A.exec(i[1])||A.exec(i[2])||A.exec(i[3]);if(s&&(s=s[0],s.includes("%")))try{s=A.exec(decodeURIComponent(s))[0]}catch{}return s||t}class Jt{started=Object.create(null);times=[];time(e){e in this.started&&Ke(`Timer is already running for ${e}`),this.started[e]=Date.now()}timeEnd(e){e in this.started||Ke(`Timer has not been started for ${e}`),this.times.push({name:e,start:this.started[e],end:Date.now()}),delete this.started[e]}toString(){const e=[];let t=0;for(const{name:e}of this.times)t=Math.max(e.length,t);for(const{name:A,start:i,end:s}of this.times)e.push(`${A.padEnd(t)} ${s-i}ms\n`);return e.join("")}}function Tt(e,t){try{const{protocol:A}=t?new URL(e,t):new URL(e);return"http:"===A||"https:"===A}catch{return!1}}function Pt(e){e.preventDefault()}function Yt(e){console.log("Deprecated API usage: "+e)}let Kt=class{static toDateObject(e){if(!e||"string"!=typeof e)return null;Nt||=new RegExp("^D:(\\d{4})(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?([Z|+|-])?(\\d{2})?'?(\\d{2})?'?");const t=Nt.exec(e);if(!t)return null;const A=parseInt(t[1],10);let i=parseInt(t[2],10);i=i>=1&&i<=12?i-1:0;let s=parseInt(t[3],10);s=s>=1&&s<=31?s:1;let a=parseInt(t[4],10);a=a>=0&&a<=23?a:0;let n=parseInt(t[5],10);n=n>=0&&n<=59?n:0;let r=parseInt(t[6],10);r=r>=0&&r<=59?r:0;const o=t[7]||"Z";let g=parseInt(t[8],10);g=g>=0&&g<=23?g:0;let h=parseInt(t[9],10)||0;return h=h>=0&&h<=59?h:0,"-"===o?(a+=g,n+=h):"+"===o&&(a-=g,n-=h),new Date(Date.UTC(A,i,s,a,n,r))}};function _t(e,{scale:t=1,rotation:A=0}){const{width:i,height:s}=e.attributes.style,a=[0,0,parseInt(i),parseInt(s)];return new vt({viewBox:a,scale:t,rotation:A})}function qt(e){if(e.startsWith("#")){const t=parseInt(e.slice(1),16);return[(16711680&t)>>16,(65280&t)>>8,255&t]}return e.startsWith("rgb(")?e.slice(4,-1).split(",").map((e=>parseInt(e))):e.startsWith("rgba(")?e.slice(5,-1).split(",").map((e=>parseInt(e))).slice(0,3):(Ke(`Not a valid color format: "${e}"`),[0,0,0])}function Ot(e){const{a:t,b:A,c:i,d:s,e:a,f:n}=e.getTransform();return[t,A,i,s,a,n]}function Wt(e){const{a:t,b:A,c:i,d:s,e:a,f:n}=e.getTransform().invertSelf();return[t,A,i,s,a,n]}function jt(e,t,A=!1,i=!0){if(t instanceof vt){const{pageWidth:i,pageHeight:s}=t.rawDims,{style:a}=e,n=at.isCSSRoundSupported,r=`var(--scale-factor) * ${i}px`,o=`var(--scale-factor) * ${s}px`,g=n?`round(${r}, 1px)`:`calc(${r})`,h=n?`round(${o}, 1px)`:`calc(${o})`;A&&t.rotation%180!=0?(a.width=h,a.height=g):(a.width=g,a.height=h)}i&&e.setAttribute("data-main-rotation",t.rotation)}class Vt{#A=null;#i=null;#s;#a=null;constructor(e){this.#s=e}render(){const e=this.#A=document.createElement("div");e.className="editToolbar",e.setAttribute("role","toolbar"),e.addEventListener("contextmenu",Pt),e.addEventListener("pointerdown",Vt.#n);const t=this.#a=document.createElement("div");t.className="buttons",e.append(t);const A=this.#s.toolbarPosition;if(A){const{style:t}=e,i="ltr"===this.#s._uiManager.direction?1-A[0]:A[0];t.insetInlineEnd=100*i+"%",t.top=`calc(${100*A[1]}% + var(--editor-toolbar-vert-offset))`}return this.#r(),e}static#n(e){e.stopPropagation()}#o(e){this.#s._focusEventsAllowed=!1,e.preventDefault(),e.stopPropagation()}#g(e){this.#s._focusEventsAllowed=!0,e.preventDefault(),e.stopPropagation()}#h(e){e.addEventListener("focusin",this.#o.bind(this),{capture:!0}),e.addEventListener("focusout",this.#g.bind(this),{capture:!0}),e.addEventListener("contextmenu",Pt)}hide(){this.#A.classList.add("hidden"),this.#i?.hideDropdown()}show(){this.#A.classList.remove("hidden")}#r(){const e=document.createElement("button");e.className="delete",e.tabIndex=0,e.setAttribute("data-l10n-id",`pdfjs-editor-remove-${this.#s.editorType}-button`),this.#h(e),e.addEventListener("click",(e=>{this.#s._uiManager.delete()})),this.#a.append(e)}get#c(){const e=document.createElement("div");return e.className="divider",e}addAltTextButton(e){this.#h(e),this.#a.prepend(e,this.#c)}addColorPicker(e){this.#i=e;const t=e.renderButton();this.#h(t),this.#a.prepend(t,this.#c)}remove(){this.#A.remove(),this.#i?.destroy(),this.#i=null}}class Zt{#a=null;#A=null;#l;constructor(e){this.#l=e}#I(){const e=this.#A=document.createElement("div");e.className="editToolbar",e.setAttribute("role","toolbar"),e.addEventListener("contextmenu",Pt);const t=this.#a=document.createElement("div");return t.className="buttons",e.append(t),this.#d(),e}#C(e,t){let A=0,i=0;for(const s of e){const e=s.y+s.height;if(e<A)continue;const a=s.x+(t?s.width:0);e>A?(i=a,A=e):t?a>i&&(i=a):a<i&&(i=a)}return[t?1-i:i,A]}show(e,t,A){const[i,s]=this.#C(t,A),{style:a}=this.#A||=this.#I();e.append(this.#A),a.insetInlineEnd=100*i+"%",a.top=`calc(${100*s}% + var(--editor-toolbar-vert-offset))`}hide(){this.#A.remove()}#d(){const e=document.createElement("button");e.className="highlightButton",e.tabIndex=0,e.setAttribute("data-l10n-id","pdfjs-highlight-floating-button1");const t=document.createElement("span");e.append(t),t.className="visuallyHidden",t.setAttribute("data-l10n-id","pdfjs-highlight-floating-button-label"),e.addEventListener("contextmenu",Pt),e.addEventListener("click",(()=>{this.#l.highlightSelection("floating_button")})),this.#a.append(e)}}function Xt(e,t,A){for(const i of A)t.addEventListener(i,e[i].bind(e))}class zt{#u=0;get id(){return"pdfjs_internal_editor_"+this.#u++}}class $t{#B=function(){if("undefined"!=typeof crypto&&"function"==typeof crypto?.randomUUID)return crypto.randomUUID();const e=new Uint8Array(32);if("undefined"!=typeof crypto&&"function"==typeof crypto?.getRandomValues)crypto.getRandomValues(e);else for(let t=0;t<32;t++)e[t]=Math.floor(255*Math.random());return At(e)}();#u=0;#Q=null;static get _isSVGFittingCanvas(){const e=new OffscreenCanvas(1,3).getContext("2d"),t=new Image;t.src='data:image/svg+xml;charset=UTF-8,<svg viewBox="0 0 1 1" width="1" height="1" xmlns="http://www.w3.org/2000/svg"><rect width="1" height="1" style="fill:red;"/></svg>';return We(this,"_isSVGFittingCanvas",t.decode().then((()=>(e.drawImage(t,0,0,1,1,0,0,1,3),0===new Uint32Array(e.getImageData(0,0,1,1).data.buffer)[0]))))}async#E(e,t){this.#Q||=new Map;let A=this.#Q.get(e);if(null===A)return null;if(A?.bitmap)return A.refCounter+=1,A;try{let e;if(A||={bitmap:null,id:`image_${this.#B}_${this.#u++}`,refCounter:0,isSvg:!1},"string"==typeof t?(A.url=t,e=await St(t,"blob")):e=A.file=t,"image/svg+xml"===e.type){const t=$t._isSVGFittingCanvas,i=new FileReader,s=new Image,a=new Promise(((e,a)=>{s.onload=()=>{A.bitmap=s,A.isSvg=!0,e()},i.onload=async()=>{const e=A.svgUrl=i.result;s.src=await t?`${e}#svgView(preserveAspectRatio(none))`:e},s.onerror=i.onerror=a}));i.readAsDataURL(e),await a}else A.bitmap=await createImageBitmap(e);A.refCounter=1}catch(e){console.error(e),A=null}return this.#Q.set(e,A),A&&this.#Q.set(A.id,A),A}async getFromFile(e){const{lastModified:t,name:A,size:i,type:s}=e;return this.#E(`${t}_${A}_${i}_${s}`,e)}async getFromUrl(e){return this.#E(e,e)}async getFromId(e){this.#Q||=new Map;const t=this.#Q.get(e);return t?t.bitmap?(t.refCounter+=1,t):t.file?this.getFromFile(t.file):this.getFromUrl(t.url):null}getSvgUrl(e){const t=this.#Q.get(e);return t?.isSvg?t.svgUrl:null}deleteId(e){this.#Q||=new Map;const t=this.#Q.get(e);t&&(t.refCounter-=1,0===t.refCounter&&(t.bitmap=null))}isValidId(e){return e.startsWith(`image_${this.#B}_`)}}class eA{#f=[];#p=!1;#m;#y=-1;constructor(e=128){this.#m=e}add({cmd:e,undo:t,post:A,mustExec:i,type:s=NaN,overwriteIfSameType:a=!1,keepUndo:n=!1}){if(i&&e(),this.#p)return;const r={cmd:e,undo:t,post:A,type:s};if(-1===this.#y)return this.#f.length>0&&(this.#f.length=0),this.#y=0,void this.#f.push(r);if(a&&this.#f[this.#y].type===s)return n&&(r.undo=this.#f[this.#y].undo),void(this.#f[this.#y]=r);const o=this.#y+1;o===this.#m?this.#f.splice(0,1):(this.#y=o,o<this.#f.length&&this.#f.splice(o)),this.#f.push(r)}undo(){if(-1===this.#y)return;this.#p=!0;const{undo:e,post:t}=this.#f[this.#y];e(),t?.(),this.#p=!1,this.#y-=1}redo(){if(this.#y<this.#f.length-1){this.#y+=1,this.#p=!0;const{cmd:e,post:t}=this.#f[this.#y];e(),t?.(),this.#p=!1}}hasSomethingToUndo(){return-1!==this.#y}hasSomethingToRedo(){return this.#y<this.#f.length-1}destroy(){this.#f=null}}class tA{constructor(e){this.buffer=[],this.callbacks=new Map,this.allKeys=new Set;const{isMac:t}=at.platform;for(const[A,i,s={}]of e)for(const e of A){const A=e.startsWith("mac+");t&&A?(this.callbacks.set(e.slice(4),{callback:i,options:s}),this.allKeys.add(e.split("+").at(-1))):t||A||(this.callbacks.set(e,{callback:i,options:s}),this.allKeys.add(e.split("+").at(-1)))}}#w(e){e.altKey&&this.buffer.push("alt"),e.ctrlKey&&this.buffer.push("ctrl"),e.metaKey&&this.buffer.push("meta"),e.shiftKey&&this.buffer.push("shift"),this.buffer.push(e.key);const t=this.buffer.join("+");return this.buffer.length=0,t}exec(e,t){if(!this.allKeys.has(t.key))return;const A=this.callbacks.get(this.#w(t));if(!A)return;const{callback:i,options:{bubbles:s=!1,args:a=[],checker:n=null}}=A;n&&!n(e,t)||(i.bind(e,...a,t)(),s||(t.stopPropagation(),t.preventDefault()))}}class AA{static _colorsMapping=new Map([["CanvasText",[0,0,0]],["Canvas",[255,255,255]]]);get _colors(){const e=new Map([["CanvasText",null],["Canvas",null]]);return function(e){const t=document.createElement("span");t.style.visibility="hidden",document.body.append(t);for(const A of e.keys()){t.style.color=A;const i=window.getComputedStyle(t).color;e.set(A,qt(i))}t.remove()}(e),We(this,"_colors",e)}convert(e){const t=qt(e);if(!window.matchMedia("(forced-colors: active)").matches)return t;for(const[e,A]of this._colors)if(A.every(((e,A)=>e===t[A])))return AA._colorsMapping.get(e);return t}getHexCode(e){const t=this._colors.get(e);return t?rt.makeHexColor(...t):e}}let iA=class e{#b=null;#D=new Map;#k=new Map;#S=null;#F=null;#R=null;#x=new eA;#v=0;#N=new Set;#M=null;#G=null;#L=new Set;#U=!1;#H=null;#J=null;#T=null;#P=!1;#Y=null;#K=new zt;#_=!1;#q=!1;#O=null;#W=null;#j=null;#V=ie.NONE;#Z=new Set;#X=null;#z=null;#$=null;#ee=this.blur.bind(this);#te=this.focus.bind(this);#Ae=this.copy.bind(this);#ie=this.cut.bind(this);#se=this.paste.bind(this);#ae=this.keydown.bind(this);#ne=this.keyup.bind(this);#re=this.onEditingAction.bind(this);#oe=this.onPageChanging.bind(this);#ge=this.onScaleChanging.bind(this);#he=this.#ce.bind(this);#le=this.onRotationChanging.bind(this);#Ie={isEditing:!1,isEmpty:!0,hasSomethingToUndo:!1,hasSomethingToRedo:!1,hasSelectedEditor:!1,hasSelectedText:!1};#de=[0,0];#Ce=null;#ue=null;#Be=null;static TRANSLATE_SMALL=1;static TRANSLATE_BIG=10;static get _keyboardManager(){const t=e.prototype,A=e=>e.#ue.contains(document.activeElement)&&"BUTTON"!==document.activeElement.tagName&&e.hasSomethingToControl(),i=(e,{target:t})=>{if(t instanceof HTMLInputElement){const{type:e}=t;return"text"!==e&&"number"!==e}return!0},s=this.TRANSLATE_SMALL,a=this.TRANSLATE_BIG;return We(this,"_keyboardManager",new tA([[["ctrl+a","mac+meta+a"],t.selectAll,{checker:i}],[["ctrl+z","mac+meta+z"],t.undo,{checker:i}],[["ctrl+y","ctrl+shift+z","mac+meta+shift+z","ctrl+shift+Z","mac+meta+shift+Z"],t.redo,{checker:i}],[["Backspace","alt+Backspace","ctrl+Backspace","shift+Backspace","mac+Backspace","mac+alt+Backspace","mac+ctrl+Backspace","Delete","ctrl+Delete","shift+Delete","mac+Delete"],t.delete,{checker:i}],[["Enter","mac+Enter"],t.addNewEditorFromKeyboard,{checker:(e,{target:t})=>!(t instanceof HTMLButtonElement)&&e.#ue.contains(t)&&!e.isEnterHandled}],[[" ","mac+ "],t.addNewEditorFromKeyboard,{checker:(e,{target:t})=>!(t instanceof HTMLButtonElement)&&e.#ue.contains(document.activeElement)}],[["Escape","mac+Escape"],t.unselectAll],[["ArrowLeft","mac+ArrowLeft"],t.translateSelectedEditors,{args:[-s,0],checker:A}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],t.translateSelectedEditors,{args:[-a,0],checker:A}],[["ArrowRight","mac+ArrowRight"],t.translateSelectedEditors,{args:[s,0],checker:A}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],t.translateSelectedEditors,{args:[a,0],checker:A}],[["ArrowUp","mac+ArrowUp"],t.translateSelectedEditors,{args:[0,-s],checker:A}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],t.translateSelectedEditors,{args:[0,-a],checker:A}],[["ArrowDown","mac+ArrowDown"],t.translateSelectedEditors,{args:[0,s],checker:A}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],t.translateSelectedEditors,{args:[0,a],checker:A}]]))}constructor(e,t,A,i,s,a,n,r,o){this.#ue=e,this.#Be=t,this.#S=A,this._eventBus=i,this._eventBus._on("editingaction",this.#re),this._eventBus._on("pagechanging",this.#oe),this._eventBus._on("scalechanging",this.#ge),this._eventBus._on("rotationchanging",this.#le),this.#Qe(),this.#Ee(),this.#F=s.annotationStorage,this.#H=s.filterFactory,this.#z=a,this.#T=n||null,this.#U=r,this.#j=o||null,this.viewParameters={realScale:kt.PDF_TO_CSS_UNITS,rotation:0},this.isShiftKeyDown=!1}destroy(){this.#fe(),this.#pe(),this._eventBus._off("editingaction",this.#re),this._eventBus._off("pagechanging",this.#oe),this._eventBus._off("scalechanging",this.#ge),this._eventBus._off("rotationchanging",this.#le);for(const e of this.#k.values())e.destroy();this.#k.clear(),this.#D.clear(),this.#L.clear(),this.#b=null,this.#Z.clear(),this.#x.destroy(),this.#S?.destroy(),this.#Y?.hide(),this.#Y=null,this.#J&&(clearTimeout(this.#J),this.#J=null),this.#Ce&&(clearTimeout(this.#Ce),this.#Ce=null),this.#me()}async mlGuess(e){return this.#j?.guess(e)||null}get hasMLManager(){return!!this.#j}get hcmFilter(){return We(this,"hcmFilter",this.#z?this.#H.addHCMFilter(this.#z.foreground,this.#z.background):"none")}get direction(){return We(this,"direction",getComputedStyle(this.#ue).direction)}get highlightColors(){return We(this,"highlightColors",this.#T?new Map(this.#T.split(",").map((e=>e.split("=").map((e=>e.trim()))))):null)}get highlightColorNames(){return We(this,"highlightColorNames",this.highlightColors?new Map(Array.from(this.highlightColors,(e=>e.reverse()))):null)}setMainHighlightColorPicker(e){this.#W=e}editAltText(e){this.#S?.editAltText(this,e)}onPageChanging({pageNumber:e}){this.#v=e-1}focusMainContainer(){this.#ue.focus()}findParent(e,t){for(const A of this.#k.values()){const{x:i,y:s,width:a,height:n}=A.div.getBoundingClientRect();if(e>=i&&e<=i+a&&t>=s&&t<=s+n)return A}return null}disableUserSelect(e=!1){this.#Be.classList.toggle("noUserSelect",e)}addShouldRescale(e){this.#L.add(e)}removeShouldRescale(e){this.#L.delete(e)}onScaleChanging({scale:e}){this.commitOrRemove(),this.viewParameters.realScale=e*kt.PDF_TO_CSS_UNITS;for(const e of this.#L)e.onScaleChanging()}onRotationChanging({pagesRotation:e}){this.commitOrRemove(),this.viewParameters.rotation=e}#ye({anchorNode:e}){return e.nodeType===Node.TEXT_NODE?e.parentElement:e}highlightSelection(e=""){const t=document.getSelection();if(!t||t.isCollapsed)return;const{anchorNode:A,anchorOffset:i,focusNode:s,focusOffset:a}=t,n=t.toString(),r=this.#ye(t).closest(".textLayer"),o=this.getSelectionBoxes(r);if(o){t.empty(),this.#V===ie.NONE&&(this._eventBus.dispatch("showannotationeditorui",{source:this,mode:ie.HIGHLIGHT}),this.showAllEditors("highlight",!0,!0));for(const t of this.#k.values())if(t.hasTextLayer(r)){t.createAndAddNewEditor({x:0,y:0},!1,{methodOfCreation:e,boxes:o,anchorNode:A,anchorOffset:i,focusNode:s,focusOffset:a,text:n});break}}}#we(){const e=document.getSelection();if(!e||e.isCollapsed)return;const t=this.#ye(e).closest(".textLayer"),A=this.getSelectionBoxes(t);A&&(this.#Y||=new Zt(this),this.#Y.show(t,A,"ltr"===this.direction))}addToAnnotationStorage(e){e.isEmpty()||!this.#F||this.#F.has(e.id)||this.#F.setValue(e.id,e)}#ce(){const e=document.getSelection();if(!e||e.isCollapsed)return void(this.#X&&(this.#Y?.hide(),this.#X=null,this.#be({hasSelectedText:!1})));const{anchorNode:t}=e;if(t===this.#X)return;if(this.#ye(e).closest(".textLayer")){if(this.#Y?.hide(),this.#X=t,this.#be({hasSelectedText:!0}),(this.#V===ie.HIGHLIGHT||this.#V===ie.NONE)&&(this.#V===ie.HIGHLIGHT&&this.showAllEditors("highlight",!0,!0),this.#P=this.isShiftKeyDown,!this.isShiftKeyDown)){const e=t=>{"pointerup"===t.type&&0!==t.button||(window.removeEventListener("pointerup",e),window.removeEventListener("blur",e),"pointerup"===t.type&&this.#De("main_toolbar"))};window.addEventListener("pointerup",e),window.addEventListener("blur",e)}}else this.#X&&(this.#Y?.hide(),this.#X=null,this.#be({hasSelectedText:!1}))}#De(e=""){this.#V===ie.HIGHLIGHT?this.highlightSelection(e):this.#U&&this.#we()}#Qe(){document.addEventListener("selectionchange",this.#he)}#me(){document.removeEventListener("selectionchange",this.#he)}#ke(){window.addEventListener("focus",this.#te),window.addEventListener("blur",this.#ee)}#pe(){window.removeEventListener("focus",this.#te),window.removeEventListener("blur",this.#ee)}blur(){if(this.isShiftKeyDown=!1,this.#P&&(this.#P=!1,this.#De("main_toolbar")),!this.hasSelection)return;const{activeElement:e}=document;for(const t of this.#Z)if(t.div.contains(e)){this.#O=[t,e],t._focusEventsAllowed=!1;break}}focus(){if(!this.#O)return;const[e,t]=this.#O;this.#O=null,t.addEventListener("focusin",(()=>{e._focusEventsAllowed=!0}),{once:!0}),t.focus()}#Ee(){window.addEventListener("keydown",this.#ae),window.addEventListener("keyup",this.#ne)}#fe(){window.removeEventListener("keydown",this.#ae),window.removeEventListener("keyup",this.#ne)}#Se(){document.addEventListener("copy",this.#Ae),document.addEventListener("cut",this.#ie),document.addEventListener("paste",this.#se)}#Fe(){document.removeEventListener("copy",this.#Ae),document.removeEventListener("cut",this.#ie),document.removeEventListener("paste",this.#se)}addEditListeners(){this.#Ee(),this.#Se()}removeEditListeners(){this.#fe(),this.#Fe()}copy(e){if(e.preventDefault(),this.#b?.commitOrRemove(),!this.hasSelection)return;const t=[];for(const e of this.#Z){const A=e.serialize(!0);A&&t.push(A)}0!==t.length&&e.clipboardData.setData("application/pdfjs",JSON.stringify(t))}cut(e){this.copy(e),this.delete()}paste(e){e.preventDefault();const{clipboardData:t}=e;for(const e of t.items)for(const t of this.#G)if(t.isHandlingMimeForPasting(e.type))return void t.paste(e,this.currentLayer);let A=t.getData("application/pdfjs");if(!A)return;try{A=JSON.parse(A)}catch(e){return void Ke(`paste: "${e.message}".`)}if(!Array.isArray(A))return;this.unselectAll();const i=this.currentLayer;try{const e=[];for(const t of A){const A=i.deserialize(t);if(!A)return;e.push(A)}const t=()=>{for(const t of e)this.#Re(t);this.#xe(e)},s=()=>{for(const t of e)t.remove()};this.addCommands({cmd:t,undo:s,mustExec:!0})}catch(e){Ke(`paste: "${e.message}".`)}}keydown(t){this.isShiftKeyDown||"Shift"!==t.key||(this.isShiftKeyDown=!0),this.#V===ie.NONE||this.isEditorHandlingKeyboard||e._keyboardManager.exec(this,t)}keyup(e){this.isShiftKeyDown&&"Shift"===e.key&&(this.isShiftKeyDown=!1,this.#P&&(this.#P=!1,this.#De("main_toolbar")))}onEditingAction({name:e}){switch(e){case"undo":case"redo":case"delete":case"selectAll":this[e]();break;case"highlightSelection":this.highlightSelection("context_menu")}}#be(e){Object.entries(e).some((([e,t])=>this.#Ie[e]!==t))&&(this._eventBus.dispatch("annotationeditorstateschanged",{source:this,details:Object.assign(this.#Ie,e)}),this.#V===ie.HIGHLIGHT&&!1===e.hasSelectedEditor&&this.#ve([[se.HIGHLIGHT_FREE,!0]]))}#ve(e){this._eventBus.dispatch("annotationeditorparamschanged",{source:this,details:e})}setEditingState(e){e?(this.#ke(),this.#Se(),this.#be({isEditing:this.#V!==ie.NONE,isEmpty:this.#Ne(),hasSomethingToUndo:this.#x.hasSomethingToUndo(),hasSomethingToRedo:this.#x.hasSomethingToRedo(),hasSelectedEditor:!1})):(this.#pe(),this.#Fe(),this.#be({isEditing:!1}),this.disableUserSelect(!1))}registerEditorTypes(e){if(!this.#G){this.#G=e;for(const e of this.#G)this.#ve(e.defaultPropertiesToUpdate)}}getId(){return this.#K.id}get currentLayer(){return this.#k.get(this.#v)}getLayer(e){return this.#k.get(e)}get currentPageIndex(){return this.#v}addLayer(e){this.#k.set(e.pageIndex,e),this.#_?e.enable():e.disable()}removeLayer(e){this.#k.delete(e.pageIndex)}updateMode(e,t=null,A=!1){if(this.#V!==e){if(this.#V=e,e===ie.NONE)return this.setEditingState(!1),void this.#Me();this.setEditingState(!0),this.#Ge(),this.unselectAll();for(const t of this.#k.values())t.updateMode(e);if(t||!A){if(t)for(const e of this.#D.values())if(e.annotationElementId===t){this.setSelected(e),e.enterInEditMode();break}}else this.addNewEditorFromKeyboard()}}addNewEditorFromKeyboard(){this.currentLayer.canCreateNewEmptyEditor()&&this.currentLayer.addNewEditor()}updateToolbar(e){e!==this.#V&&this._eventBus.dispatch("switchannotationeditormode",{source:this,mode:e})}updateParams(e,t){if(this.#G){switch(e){case se.CREATE:return void this.currentLayer.addNewEditor();case se.HIGHLIGHT_DEFAULT_COLOR:this.#W?.updateColor(t);break;case se.HIGHLIGHT_SHOW_ALL:this._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",data:{type:"highlight",action:"toggle_visibility"}}}),(this.#$||=new Map).set(e,t),this.showAllEditors("highlight",t)}for(const A of this.#Z)A.updateParams(e,t);for(const A of this.#G)A.updateDefaultParams(e,t)}}showAllEditors(e,t,A=!1){for(const A of this.#D.values())A.editorType===e&&A.show(t);(this.#$?.get(se.HIGHLIGHT_SHOW_ALL)??!0)!==t&&this.#ve([[se.HIGHLIGHT_SHOW_ALL,t]])}enableWaiting(e=!1){if(this.#q!==e){this.#q=e;for(const t of this.#k.values())e?t.disableClick():t.enableClick(),t.div.classList.toggle("waiting",e)}}#Ge(){if(!this.#_){this.#_=!0;for(const e of this.#k.values())e.enable();for(const e of this.#D.values())e.enable()}}#Me(){if(this.unselectAll(),this.#_){this.#_=!1;for(const e of this.#k.values())e.disable();for(const e of this.#D.values())e.disable()}}getEditors(e){const t=[];for(const A of this.#D.values())A.pageIndex===e&&t.push(A);return t}getEditor(e){return this.#D.get(e)}addEditor(e){this.#D.set(e.id,e)}removeEditor(e){e.div.contains(document.activeElement)&&(this.#J&&clearTimeout(this.#J),this.#J=setTimeout((()=>{this.focusMainContainer(),this.#J=null}),0)),this.#D.delete(e.id),this.unselect(e),e.annotationElementId&&this.#N.has(e.annotationElementId)||this.#F?.remove(e.id)}addDeletedAnnotationElement(e){this.#N.add(e.annotationElementId),this.addChangedExistingAnnotation(e),e.deleted=!0}isDeletedAnnotationElement(e){return this.#N.has(e)}removeDeletedAnnotationElement(e){this.#N.delete(e.annotationElementId),this.removeChangedExistingAnnotation(e),e.deleted=!1}#Re(e){const t=this.#k.get(e.pageIndex);t?t.addOrRebuild(e):(this.addEditor(e),this.addToAnnotationStorage(e))}setActiveEditor(e){this.#b!==e&&(this.#b=e,e&&this.#ve(e.propertiesToUpdate))}get#Le(){let e=null;for(e of this.#Z);return e}updateUI(e){this.#Le===e&&this.#ve(e.propertiesToUpdate)}toggleSelected(e){if(this.#Z.has(e))return this.#Z.delete(e),e.unselect(),void this.#be({hasSelectedEditor:this.hasSelection});this.#Z.add(e),e.select(),this.#ve(e.propertiesToUpdate),this.#be({hasSelectedEditor:!0})}setSelected(e){for(const t of this.#Z)t!==e&&t.unselect();this.#Z.clear(),this.#Z.add(e),e.select(),this.#ve(e.propertiesToUpdate),this.#be({hasSelectedEditor:!0})}isSelected(e){return this.#Z.has(e)}get firstSelectedEditor(){return this.#Z.values().next().value}unselect(e){e.unselect(),this.#Z.delete(e),this.#be({hasSelectedEditor:this.hasSelection})}get hasSelection(){return 0!==this.#Z.size}get isEnterHandled(){return 1===this.#Z.size&&this.firstSelectedEditor.isEnterHandled}undo(){this.#x.undo(),this.#be({hasSomethingToUndo:this.#x.hasSomethingToUndo(),hasSomethingToRedo:!0,isEmpty:this.#Ne()})}redo(){this.#x.redo(),this.#be({hasSomethingToUndo:!0,hasSomethingToRedo:this.#x.hasSomethingToRedo(),isEmpty:this.#Ne()})}addCommands(e){this.#x.add(e),this.#be({hasSomethingToUndo:!0,hasSomethingToRedo:!1,isEmpty:this.#Ne()})}#Ne(){if(0===this.#D.size)return!0;if(1===this.#D.size)for(const e of this.#D.values())return e.isEmpty();return!1}delete(){if(this.commitOrRemove(),!this.hasSelection)return;const e=[...this.#Z];this.addCommands({cmd:()=>{for(const t of e)t.remove()},undo:()=>{for(const t of e)this.#Re(t)},mustExec:!0})}commitOrRemove(){this.#b?.commitOrRemove()}hasSomethingToControl(){return this.#b||this.hasSelection}#xe(e){for(const e of this.#Z)e.unselect();this.#Z.clear();for(const t of e)t.isEmpty()||(this.#Z.add(t),t.select());this.#be({hasSelectedEditor:this.hasSelection})}selectAll(){for(const e of this.#Z)e.commit();this.#xe(this.#D.values())}unselectAll(){if((!this.#b||(this.#b.commitOrRemove(),this.#V===ie.NONE))&&this.hasSelection){for(const e of this.#Z)e.unselect();this.#Z.clear(),this.#be({hasSelectedEditor:!1})}}translateSelectedEditors(e,t,A=!1){if(A||this.commitOrRemove(),!this.hasSelection)return;this.#de[0]+=e,this.#de[1]+=t;const[i,s]=this.#de,a=[...this.#Z];this.#Ce&&clearTimeout(this.#Ce),this.#Ce=setTimeout((()=>{this.#Ce=null,this.#de[0]=this.#de[1]=0,this.addCommands({cmd:()=>{for(const e of a)this.#D.has(e.id)&&e.translateInPage(i,s)},undo:()=>{for(const e of a)this.#D.has(e.id)&&e.translateInPage(-i,-s)},mustExec:!1})}),1e3);for(const A of a)A.translateInPage(e,t)}setUpDragSession(){if(this.hasSelection){this.disableUserSelect(!0),this.#M=new Map;for(const e of this.#Z)this.#M.set(e,{savedX:e.x,savedY:e.y,savedPageIndex:e.pageIndex,newX:0,newY:0,newPageIndex:-1})}}endDragSession(){if(!this.#M)return!1;this.disableUserSelect(!1);const e=this.#M;this.#M=null;let t=!1;for(const[{x:A,y:i,pageIndex:s},a]of e)a.newX=A,a.newY=i,a.newPageIndex=s,t||=A!==a.savedX||i!==a.savedY||s!==a.savedPageIndex;if(!t)return!1;const A=(e,t,A,i)=>{if(this.#D.has(e.id)){const s=this.#k.get(i);s?e._setParentAndPosition(s,t,A):(e.pageIndex=i,e.x=t,e.y=A)}};return this.addCommands({cmd:()=>{for(const[t,{newX:i,newY:s,newPageIndex:a}]of e)A(t,i,s,a)},undo:()=>{for(const[t,{savedX:i,savedY:s,savedPageIndex:a}]of e)A(t,i,s,a)},mustExec:!0}),!0}dragSelectedEditors(e,t){if(this.#M)for(const A of this.#M.keys())A.drag(e,t)}rebuild(e){if(null===e.parent){const t=this.getLayer(e.pageIndex);t?(t.changeParent(e),t.addOrRebuild(e)):(this.addEditor(e),this.addToAnnotationStorage(e),e.rebuild())}else e.parent.addOrRebuild(e)}get isEditorHandlingKeyboard(){return this.getActive()?.shouldGetKeyboardEvents()||1===this.#Z.size&&this.firstSelectedEditor.shouldGetKeyboardEvents()}isActive(e){return this.#b===e}getActive(){return this.#b}getMode(){return this.#V}get imageManager(){return We(this,"imageManager",new $t)}getSelectionBoxes(e){if(!e)return null;const t=document.getSelection();for(let A=0,i=t.rangeCount;A<i;A++)if(!e.contains(t.getRangeAt(A).commonAncestorContainer))return null;const{x:A,y:i,width:s,height:a}=e.getBoundingClientRect();let n;switch(e.getAttribute("data-main-rotation")){case"90":n=(e,t,n,r)=>({x:(t-i)/a,y:1-(e+n-A)/s,width:r/a,height:n/s});break;case"180":n=(e,t,n,r)=>({x:1-(e+n-A)/s,y:1-(t+r-i)/a,width:n/s,height:r/a});break;case"270":n=(e,t,n,r)=>({x:1-(t+r-i)/a,y:(e-A)/s,width:r/a,height:n/s});break;default:n=(e,t,n,r)=>({x:(e-A)/s,y:(t-i)/a,width:n/s,height:r/a})}const r=[];for(let e=0,A=t.rangeCount;e<A;e++){const A=t.getRangeAt(e);if(!A.collapsed)for(const{x:e,y:t,width:i,height:s}of A.getClientRects())0!==i&&0!==s&&r.push(n(e,t,i,s))}return 0===r.length?null:r}addChangedExistingAnnotation({annotationElementId:e,id:t}){(this.#R||=new Map).set(e,t)}removeChangedExistingAnnotation({annotationElementId:e}){this.#R?.delete(e)}renderAnnotationElement(e){const t=this.#R?.get(e.data.id);if(!t)return;const A=this.#F.getRawValue(t);A&&(this.#V!==ie.NONE||A.hasBeenModified)&&A.renderAnnotationElement(e)}};class sA{#Ue="";#He=!1;#Je=null;#Te=null;#Pe=null;#Ye=!1;#s=null;static _l10nPromise=null;constructor(e){this.#s=e}static initialize(e){sA._l10nPromise||=e}async render(){const e=this.#Je=document.createElement("button");e.className="altText";const t=await sA._l10nPromise.get("pdfjs-editor-alt-text-button-label");e.textContent=t,e.setAttribute("aria-label",t),e.tabIndex="0",e.addEventListener("contextmenu",Pt),e.addEventListener("pointerdown",(e=>e.stopPropagation()));const A=e=>{e.preventDefault(),this.#s._uiManager.editAltText(this.#s)};return e.addEventListener("click",A,{capture:!0}),e.addEventListener("keydown",(t=>{t.target===e&&"Enter"===t.key&&(this.#Ye=!0,A(t))})),await this.#Ke(),e}finish(){this.#Je&&(this.#Je.focus({focusVisible:this.#Ye}),this.#Ye=!1)}isEmpty(){return!this.#Ue&&!this.#He}get data(){return{altText:this.#Ue,decorative:this.#He}}set data({altText:e,decorative:t}){this.#Ue===e&&this.#He===t||(this.#Ue=e,this.#He=t,this.#Ke())}toggle(e=!1){this.#Je&&(!e&&this.#Pe&&(clearTimeout(this.#Pe),this.#Pe=null),this.#Je.disabled=!e)}destroy(){this.#Je?.remove(),this.#Je=null,this.#Te=null}async#Ke(){const e=this.#Je;if(!e)return;if(!this.#Ue&&!this.#He)return e.classList.remove("done"),void this.#Te?.remove();e.classList.add("done"),sA._l10nPromise.get("pdfjs-editor-alt-text-edit-button-label").then((t=>{e.setAttribute("aria-label",t)}));let t=this.#Te;if(!t){this.#Te=t=document.createElement("span"),t.className="tooltip",t.setAttribute("role","tooltip");const A=t.id=`alt-text-tooltip-${this.#s.id}`;e.setAttribute("aria-describedby",A);const i=100;e.addEventListener("mouseenter",(()=>{this.#Pe=setTimeout((()=>{this.#Pe=null,this.#Te.classList.add("show"),this.#s._reportTelemetry({action:"alt_text_tooltip"})}),i)})),e.addEventListener("mouseleave",(()=>{this.#Pe&&(clearTimeout(this.#Pe),this.#Pe=null),this.#Te?.classList.remove("show")}))}t.innerText=this.#He?await sA._l10nPromise.get("pdfjs-editor-alt-text-decorative-tooltip"):this.#Ue,t.parentNode||e.append(t);const A=this.#s.getImageForAltText();A?.setAttribute("aria-describedby",t.id)}}class aA{#_e=null;#Ue=null;#qe=!1;#Oe=!1;#We=null;#je=null;#Ve=this.focusin.bind(this);#Ze=this.focusout.bind(this);#Xe=null;#ze="";#$e=!1;#et=null;#tt=!1;#At=!1;#it=!1;#st=null;#at=0;#nt=0;#rt=null;_initialOptions=Object.create(null);_isVisible=!0;_uiManager=null;_focusEventsAllowed=!0;_l10nPromise=null;#ot=!1;#gt=aA._zIndex++;static _borderLineWidth=-1;static _colorManager=new AA;static _zIndex=1;static _telemetryTimeout=1e3;static get _resizerKeyboardManager(){const e=aA.prototype._resizeWithKeyboard,t=iA.TRANSLATE_SMALL,A=iA.TRANSLATE_BIG;return We(this,"_resizerKeyboardManager",new tA([[["ArrowLeft","mac+ArrowLeft"],e,{args:[-t,0]}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],e,{args:[-A,0]}],[["ArrowRight","mac+ArrowRight"],e,{args:[t,0]}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],e,{args:[A,0]}],[["ArrowUp","mac+ArrowUp"],e,{args:[0,-t]}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],e,{args:[0,-A]}],[["ArrowDown","mac+ArrowDown"],e,{args:[0,t]}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],e,{args:[0,A]}],[["Escape","mac+Escape"],aA.prototype._stopResizingWithKeyboard]]))}constructor(e){this.constructor===aA&&_e("Cannot initialize AnnotationEditor."),this.parent=e.parent,this.id=e.id,this.width=this.height=null,this.pageIndex=e.parent.pageIndex,this.name=e.name,this.div=null,this._uiManager=e.uiManager,this.annotationElementId=null,this._willKeepAspectRatio=!1,this._initialOptions.isCentered=e.isCentered,this._structTreeParentId=null;const{rotation:t,rawDims:{pageWidth:A,pageHeight:i,pageX:s,pageY:a}}=this.parent.viewport;this.rotation=t,this.pageRotation=(360+t-this._uiManager.viewParameters.rotation)%360,this.pageDimensions=[A,i],this.pageTranslation=[s,a];const[n,r]=this.parentDimensions;this.x=e.x/n,this.y=e.y/r,this.isAttachedToDOM=!1,this.deleted=!1}get editorType(){return Object.getPrototypeOf(this).constructor._type}static get _defaultLineColor(){return We(this,"_defaultLineColor",this._colorManager.getHexCode("CanvasText"))}static deleteAnnotationElement(e){const t=new nA({id:e.parent.getNextId(),parent:e.parent,uiManager:e._uiManager});t.annotationElementId=e.annotationElementId,t.deleted=!0,t._uiManager.addToAnnotationStorage(t)}static initialize(e,t,A){if(aA._l10nPromise||=new Map(["pdfjs-editor-alt-text-button-label","pdfjs-editor-alt-text-edit-button-label","pdfjs-editor-alt-text-decorative-tooltip","pdfjs-editor-resizer-label-topLeft","pdfjs-editor-resizer-label-topMiddle","pdfjs-editor-resizer-label-topRight","pdfjs-editor-resizer-label-middleRight","pdfjs-editor-resizer-label-bottomRight","pdfjs-editor-resizer-label-bottomMiddle","pdfjs-editor-resizer-label-bottomLeft","pdfjs-editor-resizer-label-middleLeft"].map((t=>[t,e.get(t.replaceAll(/([A-Z])/g,(e=>`-${e.toLowerCase()}`)))]))),A?.strings)for(const t of A.strings)aA._l10nPromise.set(t,e.get(t));if(-1!==aA._borderLineWidth)return;const i=getComputedStyle(document.documentElement);aA._borderLineWidth=parseFloat(i.getPropertyValue("--outline-width"))||0}static updateDefaultParams(e,t){}static get defaultPropertiesToUpdate(){return[]}static isHandlingMimeForPasting(e){return!1}static paste(e,t){_e("Not implemented")}get propertiesToUpdate(){return[]}get _isDraggable(){return this.#ot}set _isDraggable(e){this.#ot=e,this.div?.classList.toggle("draggable",e)}get isEnterHandled(){return!0}center(){const[e,t]=this.pageDimensions;switch(this.parentRotation){case 90:this.x-=this.height*t/(2*e),this.y+=this.width*e/(2*t);break;case 180:this.x+=this.width/2,this.y+=this.height/2;break;case 270:this.x+=this.height*t/(2*e),this.y-=this.width*e/(2*t);break;default:this.x-=this.width/2,this.y-=this.height/2}this.fixAndSetPosition()}addCommands(e){this._uiManager.addCommands(e)}get currentLayer(){return this._uiManager.currentLayer}setInBackground(){this.div.style.zIndex=0}setInForeground(){this.div.style.zIndex=this.#gt}setParent(e){null!==e?(this.pageIndex=e.pageIndex,this.pageDimensions=e.pageDimensions):this.#ht(),this.parent=e}focusin(e){this._focusEventsAllowed&&(this.#$e?this.#$e=!1:this.parent.setSelected(this))}focusout(e){if(!this._focusEventsAllowed)return;if(!this.isAttachedToDOM)return;const t=e.relatedTarget;t?.closest(`#${this.id}`)||(e.preventDefault(),this.parent?.isMultipleSelection||this.commitOrRemove())}commitOrRemove(){this.isEmpty()?this.remove():this.commit()}commit(){this.addToAnnotationStorage()}addToAnnotationStorage(){this._uiManager.addToAnnotationStorage(this)}setAt(e,t,A,i){const[s,a]=this.parentDimensions;[A,i]=this.screenToPageTranslation(A,i),this.x=(e+A)/s,this.y=(t+i)/a,this.fixAndSetPosition()}#ct([e,t],A,i){[A,i]=this.screenToPageTranslation(A,i),this.x+=A/e,this.y+=i/t,this.fixAndSetPosition()}translate(e,t){this.#ct(this.parentDimensions,e,t)}translateInPage(e,t){this.#et||=[this.x,this.y],this.#ct(this.pageDimensions,e,t),this.div.scrollIntoView({block:"nearest"})}drag(e,t){this.#et||=[this.x,this.y];const[A,i]=this.parentDimensions;if(this.x+=e/A,this.y+=t/i,this.parent&&(this.x<0||this.x>1||this.y<0||this.y>1)){const{x:e,y:t}=this.div.getBoundingClientRect();this.parent.findNewParent(this,e,t)&&(this.x-=Math.floor(this.x),this.y-=Math.floor(this.y))}let{x:s,y:a}=this;const[n,r]=this.getBaseTranslation();s+=n,a+=r,this.div.style.left=`${(100*s).toFixed(2)}%`,this.div.style.top=`${(100*a).toFixed(2)}%`,this.div.scrollIntoView({block:"nearest"})}get _hasBeenMoved(){return!!this.#et&&(this.#et[0]!==this.x||this.#et[1]!==this.y)}getBaseTranslation(){const[e,t]=this.parentDimensions,{_borderLineWidth:A}=aA,i=A/e,s=A/t;switch(this.rotation){case 90:return[-i,s];case 180:return[i,s];case 270:return[i,-s];default:return[-i,-s]}}get _mustFixPosition(){return!0}fixAndSetPosition(e=this.rotation){const[t,A]=this.pageDimensions;let{x:i,y:s,width:a,height:n}=this;if(a*=t,n*=A,i*=t,s*=A,this._mustFixPosition)switch(e){case 0:i=Math.max(0,Math.min(t-a,i)),s=Math.max(0,Math.min(A-n,s));break;case 90:i=Math.max(0,Math.min(t-n,i)),s=Math.min(A,Math.max(a,s));break;case 180:i=Math.min(t,Math.max(a,i)),s=Math.min(A,Math.max(n,s));break;case 270:i=Math.min(t,Math.max(n,i)),s=Math.max(0,Math.min(A-a,s))}this.x=i/=t,this.y=s/=A;const[r,o]=this.getBaseTranslation();i+=r,s+=o;const{style:g}=this.div;g.left=`${(100*i).toFixed(2)}%`,g.top=`${(100*s).toFixed(2)}%`,this.moveInDOM()}static#lt(e,t,A){switch(A){case 90:return[t,-e];case 180:return[-e,-t];case 270:return[-t,e];default:return[e,t]}}screenToPageTranslation(e,t){return aA.#lt(e,t,this.parentRotation)}pageTranslationToScreen(e,t){return aA.#lt(e,t,360-this.parentRotation)}#It(e){switch(e){case 90:{const[e,t]=this.pageDimensions;return[0,-e/t,t/e,0]}case 180:return[-1,0,0,-1];case 270:{const[e,t]=this.pageDimensions;return[0,e/t,-t/e,0]}default:return[1,0,0,1]}}get parentScale(){return this._uiManager.viewParameters.realScale}get parentRotation(){return(this._uiManager.viewParameters.rotation+this.pageRotation)%360}get parentDimensions(){const{parentScale:e,pageDimensions:[t,A]}=this,i=t*e,s=A*e;return at.isCSSRoundSupported?[Math.round(i),Math.round(s)]:[i,s]}setDims(e,t){const[A,i]=this.parentDimensions;this.div.style.width=`${(100*e/A).toFixed(2)}%`,this.#Oe||(this.div.style.height=`${(100*t/i).toFixed(2)}%`)}fixDims(){const{style:e}=this.div,{height:t,width:A}=e,i=A.endsWith("%"),s=!this.#Oe&&t.endsWith("%");if(i&&s)return;const[a,n]=this.parentDimensions;i||(e.width=`${(100*parseFloat(A)/a).toFixed(2)}%`),this.#Oe||s||(e.height=`${(100*parseFloat(t)/n).toFixed(2)}%`)}getInitialTranslation(){return[0,0]}#dt(){if(this.#We)return;this.#We=document.createElement("div"),this.#We.classList.add("resizers");const e=this._willKeepAspectRatio?["topLeft","topRight","bottomRight","bottomLeft"]:["topLeft","topMiddle","topRight","middleRight","bottomRight","bottomMiddle","bottomLeft","middleLeft"];for(const t of e){const e=document.createElement("div");this.#We.append(e),e.classList.add("resizer",t),e.setAttribute("data-resizer-name",t),e.addEventListener("pointerdown",this.#Ct.bind(this,t)),e.addEventListener("contextmenu",Pt),e.tabIndex=-1}this.div.prepend(this.#We)}#Ct(e,t){t.preventDefault();const{isMac:A}=at.platform;if(0!==t.button||t.ctrlKey&&A)return;this.#Ue?.toggle(!1);const i=this.#ut.bind(this,e),s=this._isDraggable;this._isDraggable=!1;const a={passive:!0,capture:!0};this.parent.togglePointerEvents(!1),window.addEventListener("pointermove",i,a),window.addEventListener("contextmenu",Pt);const n=this.x,r=this.y,o=this.width,g=this.height,h=this.parent.div.style.cursor,c=this.div.style.cursor;this.div.style.cursor=this.parent.div.style.cursor=window.getComputedStyle(t.target).cursor;const l=()=>{this.parent.togglePointerEvents(!0),this.#Ue?.toggle(!0),this._isDraggable=s,window.removeEventListener("pointerup",l),window.removeEventListener("blur",l),window.removeEventListener("pointermove",i,a),window.removeEventListener("contextmenu",Pt),this.parent.div.style.cursor=h,this.div.style.cursor=c,this.#Bt(n,r,o,g)};window.addEventListener("pointerup",l),window.addEventListener("blur",l)}#Bt(e,t,A,i){const s=this.x,a=this.y,n=this.width,r=this.height;s===e&&a===t&&n===A&&r===i||this.addCommands({cmd:()=>{this.width=n,this.height=r,this.x=s,this.y=a;const[e,t]=this.parentDimensions;this.setDims(e*n,t*r),this.fixAndSetPosition()},undo:()=>{this.width=A,this.height=i,this.x=e,this.y=t;const[s,a]=this.parentDimensions;this.setDims(s*A,a*i),this.fixAndSetPosition()},mustExec:!0})}#ut(e,t){const[A,i]=this.parentDimensions,s=this.x,a=this.y,n=this.width,r=this.height,o=aA.MIN_SIZE/A,g=aA.MIN_SIZE/i,h=e=>Math.round(1e4*e)/1e4,c=this.#It(this.rotation),l=(e,t)=>[c[0]*e+c[2]*t,c[1]*e+c[3]*t],I=this.#It(360-this.rotation);let d,C,u=!1,B=!1;switch(e){case"topLeft":u=!0,d=(e,t)=>[0,0],C=(e,t)=>[e,t];break;case"topMiddle":d=(e,t)=>[e/2,0],C=(e,t)=>[e/2,t];break;case"topRight":u=!0,d=(e,t)=>[e,0],C=(e,t)=>[0,t];break;case"middleRight":B=!0,d=(e,t)=>[e,t/2],C=(e,t)=>[0,t/2];break;case"bottomRight":u=!0,d=(e,t)=>[e,t],C=(e,t)=>[0,0];break;case"bottomMiddle":d=(e,t)=>[e/2,t],C=(e,t)=>[e/2,0];break;case"bottomLeft":u=!0,d=(e,t)=>[0,t],C=(e,t)=>[e,0];break;case"middleLeft":B=!0,d=(e,t)=>[0,t/2],C=(e,t)=>[e,t/2]}const Q=d(n,r),E=C(n,r);let f=l(...E);const p=h(s+f[0]),m=h(a+f[1]);let y=1,w=1,[b,D]=this.screenToPageTranslation(t.movementX,t.movementY);var k,S;if([b,D]=(k=b/A,S=D/i,[I[0]*k+I[2]*S,I[1]*k+I[3]*S]),u){const e=Math.hypot(n,r);y=w=Math.max(Math.min(Math.hypot(E[0]-Q[0]-b,E[1]-Q[1]-D)/e,1/n,1/r),o/n,g/r)}else B?y=Math.max(o,Math.min(1,Math.abs(E[0]-Q[0]-b)))/n:w=Math.max(g,Math.min(1,Math.abs(E[1]-Q[1]-D)))/r;const F=h(n*y),R=h(r*w);f=l(...C(F,R));const x=p-f[0],v=m-f[1];this.width=F,this.height=R,this.x=x,this.y=v,this.setDims(A*F,i*R),this.fixAndSetPosition()}altTextFinish(){this.#Ue?.finish()}async addEditToolbar(){return this.#Xe||this.#At||(this.#Xe=new Vt(this),this.div.append(this.#Xe.render()),this.#Ue&&this.#Xe.addAltTextButton(await this.#Ue.render())),this.#Xe}removeEditToolbar(){this.#Xe&&(this.#Xe.remove(),this.#Xe=null,this.#Ue?.destroy())}getClientDimensions(){return this.div.getBoundingClientRect()}async addAltTextButton(){this.#Ue||(sA.initialize(aA._l10nPromise),this.#Ue=new sA(this),await this.addEditToolbar())}get altTextData(){return this.#Ue?.data}set altTextData(e){this.#Ue&&(this.#Ue.data=e)}hasAltText(){return!this.#Ue?.isEmpty()}render(){this.div=document.createElement("div"),this.div.setAttribute("data-editor-rotation",(360-this.rotation)%360),this.div.className=this.name,this.div.setAttribute("id",this.id),this.div.tabIndex=this.#qe?-1:0,this._isVisible||this.div.classList.add("hidden"),this.setInForeground(),this.div.addEventListener("focusin",this.#Ve),this.div.addEventListener("focusout",this.#Ze);const[e,t]=this.parentDimensions;this.parentRotation%180!=0&&(this.div.style.maxWidth=`${(100*t/e).toFixed(2)}%`,this.div.style.maxHeight=`${(100*e/t).toFixed(2)}%`);const[A,i]=this.getInitialTranslation();return this.translate(A,i),Xt(this,this.div,["pointerdown"]),this.div}pointerdown(e){const{isMac:t}=at.platform;0!==e.button||e.ctrlKey&&t?e.preventDefault():(this.#$e=!0,this._isDraggable?this.#Qt(e):this.#Et(e))}#Et(e){const{isMac:t}=at.platform;e.ctrlKey&&!t||e.shiftKey||e.metaKey&&t?this.parent.toggleSelected(this):this.parent.setSelected(this)}#Qt(e){const t=this._uiManager.isSelected(this);let A,i;this._uiManager.setUpDragSession(),t&&(this.div.classList.add("moving"),A={passive:!0,capture:!0},this.#at=e.clientX,this.#nt=e.clientY,i=e=>{const{clientX:t,clientY:A}=e,[i,s]=this.screenToPageTranslation(t-this.#at,A-this.#nt);this.#at=t,this.#nt=A,this._uiManager.dragSelectedEditors(i,s)},window.addEventListener("pointermove",i,A));const s=()=>{window.removeEventListener("pointerup",s),window.removeEventListener("blur",s),t&&(this.div.classList.remove("moving"),window.removeEventListener("pointermove",i,A)),this.#$e=!1,this._uiManager.endDragSession()||this.#Et(e)};window.addEventListener("pointerup",s),window.addEventListener("blur",s)}moveInDOM(){this.#st&&clearTimeout(this.#st),this.#st=setTimeout((()=>{this.#st=null,this.parent?.moveEditorInDOM(this)}),0)}_setParentAndPosition(e,t,A){e.changeParent(this),this.x=t,this.y=A,this.fixAndSetPosition()}getRect(e,t,A=this.rotation){const i=this.parentScale,[s,a]=this.pageDimensions,[n,r]=this.pageTranslation,o=e/i,g=t/i,h=this.x*s,c=this.y*a,l=this.width*s,I=this.height*a;switch(A){case 0:return[h+o+n,a-c-g-I+r,h+o+l+n,a-c-g+r];case 90:return[h+g+n,a-c+o+r,h+g+I+n,a-c+o+l+r];case 180:return[h-o-l+n,a-c+g+r,h-o+n,a-c+g+I+r];case 270:return[h-g-I+n,a-c-o-l+r,h-g+n,a-c-o+r];default:throw new Error("Invalid rotation")}}getRectInCurrentCoords(e,t){const[A,i,s,a]=e,n=s-A,r=a-i;switch(this.rotation){case 0:return[A,t-a,n,r];case 90:return[A,t-i,r,n];case 180:return[s,t-i,n,r];case 270:return[s,t-a,r,n];default:throw new Error("Invalid rotation")}}onceAdded(){}isEmpty(){return!1}enableEditMode(){this.#At=!0}disableEditMode(){this.#At=!1}isInEditMode(){return this.#At}shouldGetKeyboardEvents(){return this.#it}needsToBeRebuilt(){return this.div&&!this.isAttachedToDOM}rebuild(){this.div?.addEventListener("focusin",this.#Ve),this.div?.addEventListener("focusout",this.#Ze)}rotate(e){}serialize(e=!1,t=null){_e("An editor must be serializable")}static deserialize(e,t,A){const i=new this.prototype.constructor({parent:t,id:t.getNextId(),uiManager:A});i.rotation=e.rotation;const[s,a]=i.pageDimensions,[n,r,o,g]=i.getRectInCurrentCoords(e.rect,a);return i.x=n/s,i.y=r/a,i.width=o/s,i.height=g/a,i}get hasBeenModified(){return!!this.annotationElementId&&(this.deleted||null!==this.serialize())}remove(){if(this.div.removeEventListener("focusin",this.#Ve),this.div.removeEventListener("focusout",this.#Ze),this.isEmpty()||this.commit(),this.parent?this.parent.remove(this):this._uiManager.removeEditor(this),this.#st&&(clearTimeout(this.#st),this.#st=null),this.#ht(),this.removeEditToolbar(),this.#rt){for(const e of this.#rt.values())clearTimeout(e);this.#rt=null}this.parent=null}get isResizable(){return!1}makeResizable(){this.isResizable&&(this.#dt(),this.#We.classList.remove("hidden"),Xt(this,this.div,["keydown"]))}get toolbarPosition(){return null}keydown(e){if(!this.isResizable||e.target!==this.div||"Enter"!==e.key)return;this._uiManager.setSelected(this),this.#je={savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height};const t=this.#We.children;if(!this.#_e){this.#_e=Array.from(t);const e=this.#ft.bind(this),A=this.#pt.bind(this);for(const t of this.#_e){const i=t.getAttribute("data-resizer-name");t.setAttribute("role","spinbutton"),t.addEventListener("keydown",e),t.addEventListener("blur",A),t.addEventListener("focus",this.#mt.bind(this,i)),aA._l10nPromise.get(`pdfjs-editor-resizer-label-${i}`).then((e=>t.setAttribute("aria-label",e)))}}const A=this.#_e[0];let i=0;for(const e of t){if(e===A)break;i++}const s=(360-this.rotation+this.parentRotation)%360/90*(this.#_e.length/4);if(s!==i){if(s<i)for(let e=0;e<i-s;e++)this.#We.append(this.#We.firstChild);else if(s>i)for(let e=0;e<s-i;e++)this.#We.firstChild.before(this.#We.lastChild);let e=0;for(const A of t){const t=this.#_e[e++].getAttribute("data-resizer-name");aA._l10nPromise.get(`pdfjs-editor-resizer-label-${t}`).then((e=>A.setAttribute("aria-label",e)))}}this.#yt(0),this.#it=!0,this.#We.firstChild.focus({focusVisible:!0}),e.preventDefault(),e.stopImmediatePropagation()}#ft(e){aA._resizerKeyboardManager.exec(this,e)}#pt(e){this.#it&&e.relatedTarget?.parentNode!==this.#We&&this.#ht()}#mt(e){this.#ze=this.#it?e:""}#yt(e){if(this.#_e)for(const t of this.#_e)t.tabIndex=e}_resizeWithKeyboard(e,t){this.#it&&this.#ut(this.#ze,{movementX:e,movementY:t})}#ht(){if(this.#it=!1,this.#yt(-1),this.#je){const{savedX:e,savedY:t,savedWidth:A,savedHeight:i}=this.#je;this.#Bt(e,t,A,i),this.#je=null}}_stopResizingWithKeyboard(){this.#ht(),this.div.focus()}select(){this.makeResizable(),this.div?.classList.add("selectedEditor"),this.#Xe?this.#Xe?.show():this.addEditToolbar().then((()=>{this.div?.classList.contains("selectedEditor")&&this.#Xe?.show()}))}unselect(){this.#We?.classList.add("hidden"),this.div?.classList.remove("selectedEditor"),this.div?.contains(document.activeElement)&&this._uiManager.currentLayer.div.focus({preventScroll:!0}),this.#Xe?.hide()}updateParams(e,t){}disableEditing(){}enableEditing(){}enterInEditMode(){}getImageForAltText(){return null}get contentDiv(){return this.div}get isEditing(){return this.#tt}set isEditing(e){this.#tt=e,this.parent&&(e?(this.parent.setSelected(this),this.parent.setActiveEditor(this)):this.parent.setActiveEditor(null))}setAspectRatio(e,t){this.#Oe=!0;const A=e/t,{style:i}=this.div;i.aspectRatio=A,i.height="auto"}static get MIN_SIZE(){return 16}static canCreateNewEmptyEditor(){return!0}get telemetryInitialData(){return{action:"added"}}get telemetryFinalData(){return null}_reportTelemetry(e,t=!1){if(t){this.#rt||=new Map;const{action:t}=e;let A=this.#rt.get(t);return A&&clearTimeout(A),A=setTimeout((()=>{this._reportTelemetry(e),this.#rt.delete(t),0===this.#rt.size&&(this.#rt=null)}),aA._telemetryTimeout),void this.#rt.set(t,A)}e.type||=this.editorType,this._uiManager._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",data:e}})}show(e=this._isVisible){this.div.classList.toggle("hidden",!e),this._isVisible=e}enable(){this.div&&(this.div.tabIndex=0),this.#qe=!1}disable(){this.div&&(this.div.tabIndex=-1),this.#qe=!0}renderAnnotationElement(e){let t=e.container.querySelector(".annotationContent");if(t){if("CANVAS"===t.nodeName){const e=t;t=document.createElement("div"),t.classList.add("annotationContent",this.editorType),e.before(t)}}else t=document.createElement("div"),t.classList.add("annotationContent",this.editorType),e.container.prepend(t);return t}resetAnnotationElement(e){const{firstChild:t}=e.container;"DIV"===t.nodeName&&t.classList.contains("annotationContent")&&t.remove()}}class nA extends aA{constructor(e){super(e),this.annotationElementId=e.annotationElementId,this.deleted=!0}serialize(){return{id:this.annotationElementId,deleted:!0,pageIndex:this.pageIndex}}}const rA=3285377520,oA=4294901760,gA=65535;let hA=class{constructor(e){this.h1=e?4294967295&e:rA,this.h2=e?4294967295&e:rA}update(e){let t,A;if("string"==typeof e){t=new Uint8Array(2*e.length),A=0;for(let i=0,s=e.length;i<s;i++){const s=e.charCodeAt(i);s<=255?t[A++]=s:(t[A++]=s>>>8,t[A++]=255&s)}}else{if(!ArrayBuffer.isView(e))throw new Error("Invalid data format, must be a string or TypedArray.");t=e.slice(),A=t.byteLength}const i=A>>2,s=A-4*i,a=new Uint32Array(t.buffer,0,i);let n=0,r=0,o=this.h1,g=this.h2;const h=3432918353,c=461845907,l=11601,I=13715;for(let e=0;e<i;e++)1&e?(n=a[e],n=n*h&oA|n*l&gA,n=n<<15|n>>>17,n=n*c&oA|n*I&gA,o^=n,o=o<<13|o>>>19,o=5*o+3864292196):(r=a[e],r=r*h&oA|r*l&gA,r=r<<15|r>>>17,r=r*c&oA|r*I&gA,g^=r,g=g<<13|g>>>19,g=5*g+3864292196);switch(n=0,s){case 3:n^=t[4*i+2]<<16;case 2:n^=t[4*i+1]<<8;case 1:n^=t[4*i],n=n*h&oA|n*l&gA,n=n<<15|n>>>17,n=n*c&oA|n*I&gA,1&i?o^=n:g^=n}this.h1=o,this.h2=g}hexdigest(){let e=this.h1,t=this.h2;return e^=t>>>1,e=3981806797*e&oA|36045*e&gA,t=4283543511*t&oA|(2950163797*(t<<16|e>>>16)&oA)>>>16,e^=t>>>1,e=444984403*e&oA|60499*e&gA,t=3301882366*t&oA|(3120437893*(t<<16|e>>>16)&oA)>>>16,e^=t>>>1,(e>>>0).toString(16).padStart(8,"0")+(t>>>0).toString(16).padStart(8,"0")}};const cA=Object.freeze({map:null,hash:"",transfer:void 0});class lA{#wt=!1;#bt=new Map;constructor(){this.onSetModified=null,this.onResetModified=null,this.onAnnotationEditor=null}getValue(e,t){const A=this.#bt.get(e);return void 0===A?t:Object.assign(t,A)}getRawValue(e){return this.#bt.get(e)}remove(e){if(this.#bt.delete(e),0===this.#bt.size&&this.resetModified(),"function"==typeof this.onAnnotationEditor){for(const e of this.#bt.values())if(e instanceof aA)return;this.onAnnotationEditor(null)}}setValue(e,t){const A=this.#bt.get(e);let i=!1;if(void 0!==A)for(const[e,s]of Object.entries(t))A[e]!==s&&(i=!0,A[e]=s);else i=!0,this.#bt.set(e,t);i&&this.#Dt(),t instanceof aA&&"function"==typeof this.onAnnotationEditor&&this.onAnnotationEditor(t.constructor._type)}has(e){return this.#bt.has(e)}getAll(){return this.#bt.size>0?st(this.#bt):null}setAll(e){for(const[t,A]of Object.entries(e))this.setValue(t,A)}get size(){return this.#bt.size}#Dt(){this.#wt||(this.#wt=!0,"function"==typeof this.onSetModified&&this.onSetModified())}resetModified(){this.#wt&&(this.#wt=!1,"function"==typeof this.onResetModified&&this.onResetModified())}get print(){return new IA(this)}get serializable(){if(0===this.#bt.size)return cA;const e=new Map,t=new hA,A=[],i=Object.create(null);let s=!1;for(const[A,a]of this.#bt){const n=a instanceof aA?a.serialize(!1,i):a;n&&(e.set(A,n),t.update(`${A}:${JSON.stringify(n)}`),s||=!!n.bitmap)}if(s)for(const t of e.values())t.bitmap&&A.push(t.bitmap);return e.size>0?{map:e,hash:t.hexdigest(),transfer:A}:cA}get editorStats(){let e=null;const t=new Map;for(const A of this.#bt.values()){if(!(A instanceof aA))continue;const i=A.telemetryFinalData;if(!i)continue;const{type:s}=i;t.has(s)||t.set(s,Object.getPrototypeOf(A).constructor),e||=Object.create(null);const a=e[s]||=new Map;for(const[e,t]of Object.entries(i)){if("type"===e)continue;let A=a.get(e);A||(A=new Map,a.set(e,A));const i=A.get(t)??0;A.set(t,i+1)}}for(const[A,i]of t)e[A]=i.computeTelemetryFinalData(e[A]);return e}}class IA extends lA{#kt;constructor(e){super();const{map:t,hash:A,transfer:i}=e.serializable,s=structuredClone(t,i?{transfer:i}:null);this.#kt={map:s,hash:A,transfer:i}}get print(){_e("Should not call PrintAnnotationStorage.print")}get serializable(){return this.#kt}}class dA{#St=new Set;constructor({ownerDocument:e=globalThis.document,styleElement:t=null}){this._document=e,this.nativeFontFaces=new Set,this.styleElement=null,this.loadingRequests=[],this.loadTestFontId=0}addNativeFontFace(e){this.nativeFontFaces.add(e),this._document.fonts.add(e)}removeNativeFontFace(e){this.nativeFontFaces.delete(e),this._document.fonts.delete(e)}insertRule(e){this.styleElement||(this.styleElement=this._document.createElement("style"),this._document.documentElement.getElementsByTagName("head")[0].append(this.styleElement));const t=this.styleElement.sheet;t.insertRule(e,t.cssRules.length)}clear(){for(const e of this.nativeFontFaces)this._document.fonts.delete(e);this.nativeFontFaces.clear(),this.#St.clear(),this.styleElement&&(this.styleElement.remove(),this.styleElement=null)}async loadSystemFont({systemFontInfo:e,_inspectFont:t}){if(e&&!this.#St.has(e.loadedName))if(qe(!this.disableFontFace,"loadSystemFont shouldn't be called when `disableFontFace` is set."),this.isFontLoadingAPISupported){const{loadedName:A,src:i,style:s}=e,a=new FontFace(A,i,s);this.addNativeFontFace(a);try{await a.load(),this.#St.add(A),t?.(e)}catch{Ke(`Cannot load system font: ${e.baseFontName}, installing it could help to improve PDF rendering.`),this.removeNativeFontFace(a)}}else _e("Not implemented: loadSystemFont without the Font Loading API.")}async bind(e){if(e.attached||e.missingFile&&!e.systemFontInfo)return;if(e.attached=!0,e.systemFontInfo)return void await this.loadSystemFont(e);if(this.isFontLoadingAPISupported){const t=e.createNativeFontFace();if(t){this.addNativeFontFace(t);try{await t.loaded}catch(A){throw Ke(`Failed to load font '${t.family}': '${A}'.`),e.disableFontFace=!0,A}}return}const t=e.createFontFaceRule();if(t){if(this.insertRule(t),this.isSyncFontLoadingSupported)return;await new Promise((t=>{const A=this._queueLoadingCallback(t);this._prepareFontLoadEvent(e,A)}))}}get isFontLoadingAPISupported(){return We(this,"isFontLoadingAPISupported",!!this._document?.fonts)}get isSyncFontLoadingSupported(){let e=!1;return(q||"undefined"!=typeof navigator&&"string"==typeof navigator?.userAgent&&/Mozilla\/5.0.*?rv:\d+.*? Gecko/.test(navigator.userAgent))&&(e=!0),We(this,"isSyncFontLoadingSupported",e)}_queueLoadingCallback(e){const{loadingRequests:t}=this,A={done:!1,complete:function(){for(qe(!A.done,"completeRequest() cannot be called twice."),A.done=!0;t.length>0&&t[0].done;){const e=t.shift();setTimeout(e.callback,0)}},callback:e};return t.push(A),A}get _loadTestFont(){return We(this,"_loadTestFont",atob("T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQAFQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAAALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgAAAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACMAooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4DIP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAAAAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUAAQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgABAAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABYAAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAAAC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAAAAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQACAQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTjFQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA=="))}_prepareFontLoadEvent(e,t){function A(e,t){return e.charCodeAt(t)<<24|e.charCodeAt(t+1)<<16|e.charCodeAt(t+2)<<8|255&e.charCodeAt(t+3)}function i(e,t,A,i){return e.substring(0,t)+i+e.substring(t+A)}let s,a;const n=this._document.createElement("canvas");n.width=1,n.height=1;const r=n.getContext("2d");let o=0;const g=`lt${Date.now()}${this.loadTestFontId++}`;let h=this._loadTestFont;h=i(h,976,g.length,g);const c=1482184792;let l=A(h,16);for(s=0,a=g.length-3;s<a;s+=4)l=l-c+A(g,s)|0;var I;s<g.length&&(l=l-c+A(g+"XXX",s)|0),h=i(h,16,4,(I=l,String.fromCharCode(I>>24&255,I>>16&255,I>>8&255,255&I)));const d=`@font-face {font-family:"${g}";src:${`url(data:font/opentype;base64,${btoa(h)});`}}`;this.insertRule(d);const C=this._document.createElement("div");C.style.visibility="hidden",C.style.width=C.style.height="10px",C.style.position="absolute",C.style.top=C.style.left="0px";for(const t of[e.loadedName,g]){const e=this._document.createElement("span");e.textContent="Hi",e.style.fontFamily=t,C.append(e)}this._document.body.append(C),function e(t,A){if(++o>30)return Ke("Load test font never loaded."),void A();r.font="30px "+t,r.fillText(".",0,20),r.getImageData(0,0,1,1).data[3]>0?A():setTimeout(e.bind(null,t,A))}(g,(()=>{C.remove(),t.complete()}))}}class CA{constructor(e,{disableFontFace:t=!1,inspectFont:A=null}){this.compiledGlyphs=Object.create(null);for(const t in e)this[t]=e[t];this.disableFontFace=!0===t,this._inspectFont=A}createNativeFontFace(){if(!this.data||this.disableFontFace)return null;let e;if(this.cssFontInfo){const t={weight:this.cssFontInfo.fontWeight};this.cssFontInfo.italicAngle&&(t.style=`oblique ${this.cssFontInfo.italicAngle}deg`),e=new FontFace(this.cssFontInfo.fontFamily,this.data,t)}else e=new FontFace(this.loadedName,this.data,{});return this._inspectFont?.(this),e}createFontFaceRule(){if(!this.data||this.disableFontFace)return null;const e=At(this.data),t=`url(data:${this.mimetype};base64,${btoa(e)});`;let A;if(this.cssFontInfo){let e=`font-weight: ${this.cssFontInfo.fontWeight};`;this.cssFontInfo.italicAngle&&(e+=`font-style: oblique ${this.cssFontInfo.italicAngle}deg;`),A=`@font-face {font-family:"${this.cssFontInfo.fontFamily}";${e}src:${t}}`}else A=`@font-face {font-family:"${this.loadedName}";src:${t}}`;return this._inspectFont?.(this,t),A}getPathGenerator(e,t){if(void 0!==this.compiledGlyphs[t])return this.compiledGlyphs[t];let A;try{A=e.get(this.loadedName+"_path_"+t)}catch(e){Ke(`getPathGenerator - ignoring character: "${e}".`)}if(!Array.isArray(A)||0===A.length)return this.compiledGlyphs[t]=function(e,t){};const i=[];for(let e=0,t=A.length;e<t;)switch(A[e++]){case lt:{const[t,s,a,n,r,o]=A.slice(e,e+6);i.push((e=>e.bezierCurveTo(t,s,a,n,r,o))),e+=6}break;case It:{const[t,s]=A.slice(e,e+2);i.push((e=>e.moveTo(t,s))),e+=2}break;case dt:{const[t,s]=A.slice(e,e+2);i.push((e=>e.lineTo(t,s))),e+=2}break;case Ct:{const[t,s,a,n]=A.slice(e,e+4);i.push((e=>e.quadraticCurveTo(t,s,a,n))),e+=4}break;case ut:i.push((e=>e.restore()));break;case Bt:i.push((e=>e.save()));break;case Qt:qe(2===i.length,"Scale command is only valid at the third position.");break;case Et:{const[t,s,a,n,r,o]=A.slice(e,e+6);i.push((e=>e.transform(t,s,a,n,r,o))),e+=6}break;case ft:{const[t,s]=A.slice(e,e+2);i.push((e=>e.translate(t,s))),e+=2}}return this.compiledGlyphs[t]=function(e,t){i[0](e),i[1](e),e.scale(t,-t);for(let t=2,A=i.length;t<A;t++)i[t](e)}}}if(q){var uA=Promise.withResolvers(),BA=null;(async()=>{const e=await import("./_node-resolve_empty.js"),t=await import("./_node-resolve_empty.js"),A=await import("./_node-resolve_empty.js"),i=await import("./_node-resolve_empty.js");return new Map(Object.entries({fs:e,http:t,https:A,url:i,canvas:undefined,path2d:undefined}))})().then((e=>{BA=e,uA.resolve()}),(e=>{Ke(`loadPackages: ${e}`),BA=new Map,uA.resolve()}))}class QA{static get promise(){return uA.promise}static get(e){return BA?.get(e)}}const EA=function(e){return QA.get("fs").promises.readFile(e).then((e=>new Uint8Array(e)))};const fA="Fill",pA="Stroke",mA="Shading";function yA(e,t){if(!t)return;const A=t[2]-t[0],i=t[3]-t[1],s=new Path2D;s.rect(t[0],t[1],A,i),e.clip(s)}class wA{constructor(){this.constructor===wA&&_e("Cannot initialize BaseShadingPattern.")}getPattern(){_e("Abstract method `getPattern` called.")}}class bA extends wA{constructor(e){super(),this._type=e[1],this._bbox=e[2],this._colorStops=e[3],this._p0=e[4],this._p1=e[5],this._r0=e[6],this._r1=e[7],this.matrix=null}_createGradient(e){let t;"axial"===this._type?t=e.createLinearGradient(this._p0[0],this._p0[1],this._p1[0],this._p1[1]):"radial"===this._type&&(t=e.createRadialGradient(this._p0[0],this._p0[1],this._r0,this._p1[0],this._p1[1],this._r1));for(const e of this._colorStops)t.addColorStop(e[0],e[1]);return t}getPattern(e,t,A,i){let s;if(i===pA||i===fA){const a=t.current.getClippedPathBoundingBox(i,Ot(e))||[0,0,0,0],n=Math.ceil(a[2]-a[0])||1,r=Math.ceil(a[3]-a[1])||1,o=t.cachedCanvases.getCanvas("pattern",n,r,!0),g=o.context;g.clearRect(0,0,g.canvas.width,g.canvas.height),g.beginPath(),g.rect(0,0,g.canvas.width,g.canvas.height),g.translate(-a[0],-a[1]),A=rt.transform(A,[1,0,0,1,a[0],a[1]]),g.transform(...t.baseTransform),this.matrix&&g.transform(...this.matrix),yA(g,this._bbox),g.fillStyle=this._createGradient(g),g.fill(),s=e.createPattern(o.canvas,"no-repeat");const h=new DOMMatrix(A);s.setTransform(h)}else yA(e,this._bbox),s=this._createGradient(e);return s}}function DA(e,t,A,i,s,a,n,r){const o=t.coords,g=t.colors,h=e.data,c=4*e.width;let l;o[A+1]>o[i+1]&&(l=A,A=i,i=l,l=a,a=n,n=l),o[i+1]>o[s+1]&&(l=i,i=s,s=l,l=n,n=r,r=l),o[A+1]>o[i+1]&&(l=A,A=i,i=l,l=a,a=n,n=l);const I=(o[A]+t.offsetX)*t.scaleX,d=(o[A+1]+t.offsetY)*t.scaleY,C=(o[i]+t.offsetX)*t.scaleX,u=(o[i+1]+t.offsetY)*t.scaleY,B=(o[s]+t.offsetX)*t.scaleX,Q=(o[s+1]+t.offsetY)*t.scaleY;if(d>=Q)return;const E=g[a],f=g[a+1],p=g[a+2],m=g[n],y=g[n+1],w=g[n+2],b=g[r],D=g[r+1],k=g[r+2],S=Math.round(d),F=Math.round(Q);let R,x,v,N,M,G,L,U;for(let e=S;e<=F;e++){if(e<u){const t=e<d?0:(d-e)/(d-u);R=I-(I-C)*t,x=E-(E-m)*t,v=f-(f-y)*t,N=p-(p-w)*t}else{let t;t=e>Q?1:u===Q?0:(u-e)/(u-Q),R=C-(C-B)*t,x=m-(m-b)*t,v=y-(y-D)*t,N=w-(w-k)*t}let t;t=e<d?0:e>Q?1:(d-e)/(d-Q),M=I-(I-B)*t,G=E-(E-b)*t,L=f-(f-D)*t,U=p-(p-k)*t;const A=Math.round(Math.min(R,M)),i=Math.round(Math.max(R,M));let s=c*e+4*A;for(let e=A;e<=i;e++)t=(R-e)/(R-M),t<0?t=0:t>1&&(t=1),h[s++]=x-(x-G)*t|0,h[s++]=v-(v-L)*t|0,h[s++]=N-(N-U)*t|0,h[s++]=255}}function kA(e,t,A){const i=t.coords,s=t.colors;let a,n;switch(t.type){case"lattice":const r=t.verticesPerRow,o=Math.floor(i.length/r)-1,g=r-1;for(a=0;a<o;a++){let t=a*r;for(let a=0;a<g;a++,t++)DA(e,A,i[t],i[t+1],i[t+r],s[t],s[t+1],s[t+r]),DA(e,A,i[t+r+1],i[t+1],i[t+r],s[t+r+1],s[t+1],s[t+r])}break;case"triangles":for(a=0,n=i.length;a<n;a+=3)DA(e,A,i[a],i[a+1],i[a+2],s[a],s[a+1],s[a+2]);break;default:throw new Error("illegal figure")}}class SA extends wA{constructor(e){super(),this._coords=e[2],this._colors=e[3],this._figures=e[4],this._bounds=e[5],this._bbox=e[7],this._background=e[8],this.matrix=null}_createMeshCanvas(e,t,A){const i=Math.floor(this._bounds[0]),s=Math.floor(this._bounds[1]),a=Math.ceil(this._bounds[2])-i,n=Math.ceil(this._bounds[3])-s,r=Math.min(Math.ceil(Math.abs(a*e[0]*1.1)),3e3),o=Math.min(Math.ceil(Math.abs(n*e[1]*1.1)),3e3),g=a/r,h=n/o,c={coords:this._coords,colors:this._colors,offsetX:-i,offsetY:-s,scaleX:1/g,scaleY:1/h},l=r+4,I=o+4,d=A.getCanvas("mesh",l,I,!1),C=d.context,u=C.createImageData(r,o);if(t){const e=u.data;for(let A=0,i=e.length;A<i;A+=4)e[A]=t[0],e[A+1]=t[1],e[A+2]=t[2],e[A+3]=255}for(const e of this._figures)kA(u,e,c);C.putImageData(u,2,2);return{canvas:d.canvas,offsetX:i-2*g,offsetY:s-2*h,scaleX:g,scaleY:h}}getPattern(e,t,A,i){let s;if(yA(e,this._bbox),i===mA)s=rt.singularValueDecompose2dScale(Ot(e));else if(s=rt.singularValueDecompose2dScale(t.baseTransform),this.matrix){const e=rt.singularValueDecompose2dScale(this.matrix);s=[s[0]*e[0],s[1]*e[1]]}const a=this._createMeshCanvas(s,i===mA?null:this._background,t.cachedCanvases);return i!==mA&&(e.setTransform(...t.baseTransform),this.matrix&&e.transform(...this.matrix)),e.translate(a.offsetX,a.offsetY),e.scale(a.scaleX,a.scaleY),e.createPattern(a.canvas,"no-repeat")}}class FA extends wA{getPattern(){return"hotpink"}}const RA=1,xA=2;class vA{static MAX_PATTERN_SIZE=3e3;constructor(e,t,A,i,s){this.operatorList=e[2],this.matrix=e[3],this.bbox=e[4],this.xstep=e[5],this.ystep=e[6],this.paintType=e[7],this.tilingType=e[8],this.color=t,this.ctx=A,this.canvasGraphicsFactory=i,this.baseTransform=s}createPatternCanvas(e){const t=this.operatorList,A=this.bbox,i=this.xstep,s=this.ystep,a=this.paintType,n=this.tilingType,r=this.color,o=this.canvasGraphicsFactory;Ye("TilingType: "+n);const g=A[0],h=A[1],c=A[2],l=A[3],I=rt.singularValueDecompose2dScale(this.matrix),d=rt.singularValueDecompose2dScale(this.baseTransform),C=[I[0]*d[0],I[1]*d[1]],u=this.getSizeAndScale(i,this.ctx.canvas.width,C[0]),B=this.getSizeAndScale(s,this.ctx.canvas.height,C[1]),Q=e.cachedCanvases.getCanvas("pattern",u.size,B.size,!0),E=Q.context,f=o.createCanvasGraphics(E);f.groupLevel=e.groupLevel,this.setFillAndStrokeStyleToContext(f,a,r);let p=g,m=h,y=c,w=l;return g<0&&(p=0,y+=Math.abs(g)),h<0&&(m=0,w+=Math.abs(h)),E.translate(-u.scale*p,-B.scale*m),f.transform(u.scale,0,0,B.scale,0,0),E.save(),this.clipBbox(f,p,m,y,w),f.baseTransform=Ot(f.ctx),f.executeOperatorList(t),f.endDrawing(),{canvas:Q.canvas,scaleX:u.scale,scaleY:B.scale,offsetX:p,offsetY:m}}getSizeAndScale(e,t,A){e=Math.abs(e);const i=Math.max(vA.MAX_PATTERN_SIZE,t);let s=Math.ceil(e*A);return s>=i?s=i:A=s/e,{scale:A,size:s}}clipBbox(e,t,A,i,s){const a=i-t,n=s-A;e.ctx.rect(t,A,a,n),e.current.updateRectMinMax(Ot(e.ctx),[t,A,i,s]),e.clip(),e.endPath()}setFillAndStrokeStyleToContext(e,t,A){const i=e.ctx,s=e.current;switch(t){case RA:const e=this.ctx;i.fillStyle=e.fillStyle,i.strokeStyle=e.strokeStyle,s.fillColor=e.fillStyle,s.strokeColor=e.strokeStyle;break;case xA:const a=rt.makeHexColor(A[0],A[1],A[2]);i.fillStyle=a,i.strokeStyle=a,s.fillColor=a,s.strokeColor=a;break;default:throw new et(`Unsupported paint type: ${t}`)}}getPattern(e,t,A,i){let s=A;i!==mA&&(s=rt.transform(s,t.baseTransform),this.matrix&&(s=rt.transform(s,this.matrix)));const a=this.createPatternCanvas(t);let n=new DOMMatrix(s);n=n.translate(a.offsetX,a.offsetY),n=n.scale(1/a.scaleX,1/a.scaleY);const r=e.createPattern(a.canvas,"repeat");return r.setTransform(n),r}}function NA({src:e,srcPos:t=0,dest:A,width:i,height:s,nonBlackColor:a=4294967295,inverseDecode:n=!1}){const r=at.isLittleEndian?4278190080:255,[o,g]=n?[a,r]:[r,a],h=i>>3,c=7&i,l=e.length;A=new Uint32Array(A.buffer);let I=0;for(let i=0;i<s;i++){for(const i=t+h;t<i;t++){const i=t<l?e[t]:255;A[I++]=128&i?g:o,A[I++]=64&i?g:o,A[I++]=32&i?g:o,A[I++]=16&i?g:o,A[I++]=8&i?g:o,A[I++]=4&i?g:o,A[I++]=2&i?g:o,A[I++]=1&i?g:o}if(0===c)continue;const i=t<l?e[t++]:255;for(let e=0;e<c;e++)A[I++]=i&1<<7-e?g:o}return{srcPos:t,destPos:I}}const MA=16;class GA{constructor(e){this.canvasFactory=e,this.cache=Object.create(null)}getCanvas(e,t,A){let i;return void 0!==this.cache[e]?(i=this.cache[e],this.canvasFactory.reset(i,t,A)):(i=this.canvasFactory.create(t,A),this.cache[e]=i),i}delete(e){delete this.cache[e]}clear(){for(const e in this.cache){const t=this.cache[e];this.canvasFactory.destroy(t),delete this.cache[e]}}}function LA(e,t,A,i,s,a,n,r,o,g){const[h,c,l,I,d,C]=Ot(e);if(0===c&&0===l){const u=n*h+d,B=Math.round(u),Q=r*I+C,E=Math.round(Q),f=(n+o)*h+d,p=Math.abs(Math.round(f)-B)||1,m=(r+g)*I+C,y=Math.abs(Math.round(m)-E)||1;return e.setTransform(Math.sign(h),0,0,Math.sign(I),B,E),e.drawImage(t,A,i,s,a,0,0,p,y),e.setTransform(h,c,l,I,d,C),[p,y]}if(0===h&&0===I){const u=r*l+d,B=Math.round(u),Q=n*c+C,E=Math.round(Q),f=(r+g)*l+d,p=Math.abs(Math.round(f)-B)||1,m=(n+o)*c+C,y=Math.abs(Math.round(m)-E)||1;return e.setTransform(0,Math.sign(c),Math.sign(l),0,B,E),e.drawImage(t,A,i,s,a,0,0,y,p),e.setTransform(h,c,l,I,d,C),[y,p]}e.drawImage(t,A,i,s,a,n,r,o,g);return[Math.hypot(h,c)*o,Math.hypot(l,I)*g]}class UA{constructor(e,t){this.alphaIsShape=!1,this.fontSize=0,this.fontSizeScale=1,this.textMatrix=O,this.textMatrixScale=1,this.fontMatrix=W,this.leading=0,this.x=0,this.y=0,this.lineX=0,this.lineY=0,this.charSpacing=0,this.wordSpacing=0,this.textHScale=1,this.textRenderingMode=ne,this.textRise=0,this.fillColor="#000000",this.strokeColor="#000000",this.patternFill=!1,this.fillAlpha=1,this.strokeAlpha=1,this.lineWidth=1,this.activeSMask=null,this.transferMaps="none",this.startNewPathAndClipBox([0,0,e,t])}clone(){const e=Object.create(this);return e.clipBox=this.clipBox.slice(),e}setCurrentPoint(e,t){this.x=e,this.y=t}updatePathMinMax(e,t,A){[t,A]=rt.applyTransform([t,A],e),this.minX=Math.min(this.minX,t),this.minY=Math.min(this.minY,A),this.maxX=Math.max(this.maxX,t),this.maxY=Math.max(this.maxY,A)}updateRectMinMax(e,t){const A=rt.applyTransform(t,e),i=rt.applyTransform(t.slice(2),e),s=rt.applyTransform([t[0],t[3]],e),a=rt.applyTransform([t[2],t[1]],e);this.minX=Math.min(this.minX,A[0],i[0],s[0],a[0]),this.minY=Math.min(this.minY,A[1],i[1],s[1],a[1]),this.maxX=Math.max(this.maxX,A[0],i[0],s[0],a[0]),this.maxY=Math.max(this.maxY,A[1],i[1],s[1],a[1])}updateScalingPathMinMax(e,t){rt.scaleMinMax(e,t),this.minX=Math.min(this.minX,t[0]),this.minY=Math.min(this.minY,t[1]),this.maxX=Math.max(this.maxX,t[2]),this.maxY=Math.max(this.maxY,t[3])}updateCurvePathMinMax(e,t,A,i,s,a,n,r,o,g){const h=rt.bezierBoundingBox(t,A,i,s,a,n,r,o,g);g||this.updateRectMinMax(e,h)}getPathBoundingBox(e=fA,t=null){const A=[this.minX,this.minY,this.maxX,this.maxY];if(e===pA){t||_e("Stroke bounding box must include transform.");const e=rt.singularValueDecompose2dScale(t),i=e[0]*this.lineWidth/2,s=e[1]*this.lineWidth/2;A[0]-=i,A[1]-=s,A[2]+=i,A[3]+=s}return A}updateClipFromPath(){const e=rt.intersect(this.clipBox,this.getPathBoundingBox());this.startNewPathAndClipBox(e||[0,0,0,0])}isEmptyClip(){return this.minX===1/0}startNewPathAndClipBox(e){this.clipBox=e,this.minX=1/0,this.minY=1/0,this.maxX=0,this.maxY=0}getClippedPathBoundingBox(e=fA,t=null){return rt.intersect(this.clipBox,this.getPathBoundingBox(e,t))}}function HA(e,t){if("undefined"!=typeof ImageData&&t instanceof ImageData)return void e.putImageData(t,0,0);const A=t.height,i=t.width,s=A%MA,a=(A-s)/MA,n=0===s?a:a+1,r=e.createImageData(i,MA);let o,g=0;const h=t.data,c=r.data;let l,I,d,C;if(t.kind===le.GRAYSCALE_1BPP){const t=h.byteLength,A=new Uint32Array(c.buffer,0,c.byteLength>>2),C=A.length,u=i+7>>3,B=4294967295,Q=at.isLittleEndian?4278190080:255;for(l=0;l<n;l++){for(d=l<a?MA:s,o=0,I=0;I<d;I++){const e=t-g;let s=0;const a=e>u?i:8*e-7,n=-8&a;let r=0,c=0;for(;s<n;s+=8)c=h[g++],A[o++]=128&c?B:Q,A[o++]=64&c?B:Q,A[o++]=32&c?B:Q,A[o++]=16&c?B:Q,A[o++]=8&c?B:Q,A[o++]=4&c?B:Q,A[o++]=2&c?B:Q,A[o++]=1&c?B:Q;for(;s<a;s++)0===r&&(c=h[g++],r=128),A[o++]=c&r?B:Q,r>>=1}for(;o<C;)A[o++]=0;e.putImageData(r,0,l*MA)}}else if(t.kind===le.RGBA_32BPP){for(I=0,C=i*MA*4,l=0;l<a;l++)c.set(h.subarray(g,g+C)),g+=C,e.putImageData(r,0,I),I+=MA;l<n&&(C=i*s*4,c.set(h.subarray(g,g+C)),e.putImageData(r,0,I))}else{if(t.kind!==le.RGB_24BPP)throw new Error(`bad image kind: ${t.kind}`);for(d=MA,C=i*d,l=0;l<n;l++){for(l>=a&&(d=s,C=i*d),o=0,I=C;I--;)c[o++]=h[g++],c[o++]=h[g++],c[o++]=h[g++],c[o++]=255;e.putImageData(r,0,l*MA)}}}function JA(e,t){if(t.bitmap)return void e.drawImage(t.bitmap,0,0);const A=t.height,i=t.width,s=A%MA,a=(A-s)/MA,n=0===s?a:a+1,r=e.createImageData(i,MA);let o=0;const g=t.data,h=r.data;for(let t=0;t<n;t++){const A=t<a?MA:s;({srcPos:o}=NA({src:g,srcPos:o,dest:h,width:i,height:A,nonBlackColor:0})),e.putImageData(r,0,t*MA)}}function TA(e,t){const A=["strokeStyle","fillStyle","fillRule","globalAlpha","lineWidth","lineCap","lineJoin","miterLimit","globalCompositeOperation","font","filter"];for(const i of A)void 0!==e[i]&&(t[i]=e[i]);void 0!==e.setLineDash&&(t.setLineDash(e.getLineDash()),t.lineDashOffset=e.lineDashOffset)}function PA(e){if(e.strokeStyle=e.fillStyle="#000000",e.fillRule="nonzero",e.globalAlpha=1,e.lineWidth=1,e.lineCap="butt",e.lineJoin="miter",e.miterLimit=10,e.globalCompositeOperation="source-over",e.font="10px sans-serif",void 0!==e.setLineDash&&(e.setLineDash([]),e.lineDashOffset=0),!q){const{filter:t}=e;"none"!==t&&""!==t&&(e.filter="none")}}function YA(e,t){if(t)return!0;const A=rt.singularValueDecompose2dScale(e);A[0]=Math.fround(A[0]),A[1]=Math.fround(A[1]);const i=Math.fround((globalThis.devicePixelRatio||1)*kt.PDF_TO_CSS_UNITS);return A[0]<=i&&A[1]<=i}const KA=["butt","round","square"],_A=["miter","round","bevel"],qA={},OA={};class WA{constructor(e,t,A,i,s,{optionalContentConfig:a,markedContentStack:n=null},r,o){this.ctx=e,this.current=new UA(this.ctx.canvas.width,this.ctx.canvas.height),this.stateStack=[],this.pendingClip=null,this.pendingEOFill=!1,this.res=null,this.xobjs=null,this.commonObjs=t,this.objs=A,this.canvasFactory=i,this.filterFactory=s,this.groupStack=[],this.processingType3=null,this.baseTransform=null,this.baseTransformStack=[],this.groupLevel=0,this.smaskStack=[],this.smaskCounter=0,this.tempSMask=null,this.suspendedCtx=null,this.contentVisible=!0,this.markedContentStack=n||[],this.optionalContentConfig=a,this.cachedCanvases=new GA(this.canvasFactory),this.cachedPatterns=new Map,this.annotationCanvasMap=r,this.viewportScale=1,this.outputScaleX=1,this.outputScaleY=1,this.pageColors=o,this._cachedScaleForStroking=[-1,0],this._cachedGetSinglePixelWidth=null,this._cachedBitmapsMap=new Map}getObject(e,t=null){return"string"==typeof e?e.startsWith("g_")?this.commonObjs.get(e):this.objs.get(e):t}beginDrawing({transform:e,viewport:t,transparency:A=!1,background:i=null}){const s=this.ctx.canvas.width,a=this.ctx.canvas.height,n=this.ctx.fillStyle;if(this.ctx.fillStyle=i||"#ffffff",this.ctx.fillRect(0,0,s,a),this.ctx.fillStyle=n,A){const e=this.cachedCanvases.getCanvas("transparent",s,a);this.compositeCtx=this.ctx,this.transparentCanvas=e.canvas,this.ctx=e.context,this.ctx.save(),this.ctx.transform(...Ot(this.compositeCtx))}this.ctx.save(),PA(this.ctx),e&&(this.ctx.transform(...e),this.outputScaleX=e[0],this.outputScaleY=e[0]),this.ctx.transform(...t.transform),this.viewportScale=t.scale,this.baseTransform=Ot(this.ctx)}executeOperatorList(e,t,A,i){const s=e.argsArray,a=e.fnArray;let n=t||0;const r=s.length;if(r===n)return n;const o=r-n>10&&"function"==typeof A,g=o?Date.now()+15:0;let h=0;const c=this.commonObjs,l=this.objs;let I;for(;;){if(void 0!==i&&n===i.nextBreakPoint)return i.breakIt(n,A),n;if(I=a[n],I!==He.dependency)this[I].apply(this,s[n]);else for(const e of s[n]){const t=e.startsWith("g_")?c:l;if(!t.has(e))return t.get(e,A),n}if(n++,n===r)return n;if(o&&++h>10){if(Date.now()>g)return A(),n;h=0}}}#Ft(){for(;this.stateStack.length||this.inSMaskMode;)this.restore();this.ctx.restore(),this.transparentCanvas&&(this.ctx=this.compositeCtx,this.ctx.save(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.drawImage(this.transparentCanvas,0,0),this.ctx.restore(),this.transparentCanvas=null)}endDrawing(){this.#Ft(),this.cachedCanvases.clear(),this.cachedPatterns.clear();for(const e of this._cachedBitmapsMap.values()){for(const t of e.values())"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement&&(t.width=t.height=0);e.clear()}this._cachedBitmapsMap.clear(),this.#Rt()}#Rt(){if(this.pageColors){const e=this.filterFactory.addHCMFilter(this.pageColors.foreground,this.pageColors.background);if("none"!==e){const t=this.ctx.filter;this.ctx.filter=e,this.ctx.drawImage(this.ctx.canvas,0,0),this.ctx.filter=t}}}_scaleImage(e,t){const A=e.width,i=e.height;let s,a,n=Math.max(Math.hypot(t[0],t[1]),1),r=Math.max(Math.hypot(t[2],t[3]),1),o=A,g=i,h="prescale1";for(;n>2&&o>1||r>2&&g>1;){let t=o,A=g;n>2&&o>1&&(t=o>=16384?Math.floor(o/2)-1||1:Math.ceil(o/2),n/=o/t),r>2&&g>1&&(A=g>=16384?Math.floor(g/2)-1||1:Math.ceil(g)/2,r/=g/A),s=this.cachedCanvases.getCanvas(h,t,A),a=s.context,a.clearRect(0,0,t,A),a.drawImage(e,0,0,o,g,0,0,t,A),e=s.canvas,o=t,g=A,h="prescale1"===h?"prescale2":"prescale1"}return{img:e,paintWidth:o,paintHeight:g}}_createMaskCanvas(e){const t=this.ctx,{width:A,height:i}=e,s=this.current.fillColor,a=this.current.patternFill,n=Ot(t);let r,o,g,h;if((e.bitmap||e.data)&&e.count>1){const t=e.bitmap||e.data.buffer;o=JSON.stringify(a?n:[n.slice(0,4),s]),r=this._cachedBitmapsMap.get(t),r||(r=new Map,this._cachedBitmapsMap.set(t,r));const A=r.get(o);if(A&&!a){return{canvas:A,offsetX:Math.round(Math.min(n[0],n[2])+n[4]),offsetY:Math.round(Math.min(n[1],n[3])+n[5])}}g=A}g||(h=this.cachedCanvases.getCanvas("maskCanvas",A,i),JA(h.context,e));let c=rt.transform(n,[1/A,0,0,-1/i,0,0]);c=rt.transform(c,[1,0,0,1,0,-i]);const[l,I,d,C]=rt.getAxialAlignedBoundingBox([0,0,A,i],c),u=Math.round(d-l)||1,B=Math.round(C-I)||1,Q=this.cachedCanvases.getCanvas("fillCanvas",u,B),E=Q.context,f=l,p=I;E.translate(-f,-p),E.transform(...c),g||(g=this._scaleImage(h.canvas,Wt(E)),g=g.img,r&&a&&r.set(o,g)),E.imageSmoothingEnabled=YA(Ot(E),e.interpolate),LA(E,g,0,0,g.width,g.height,0,0,A,i),E.globalCompositeOperation="source-in";const m=rt.transform(Wt(E),[1,0,0,1,-f,-p]);return E.fillStyle=a?s.getPattern(t,this,m,fA):s,E.fillRect(0,0,A,i),r&&!a&&(this.cachedCanvases.delete("fillCanvas"),r.set(o,Q.canvas)),{canvas:Q.canvas,offsetX:Math.round(f),offsetY:Math.round(p)}}setLineWidth(e){e!==this.current.lineWidth&&(this._cachedScaleForStroking[0]=-1),this.current.lineWidth=e,this.ctx.lineWidth=e}setLineCap(e){this.ctx.lineCap=KA[e]}setLineJoin(e){this.ctx.lineJoin=_A[e]}setMiterLimit(e){this.ctx.miterLimit=e}setDash(e,t){const A=this.ctx;void 0!==A.setLineDash&&(A.setLineDash(e),A.lineDashOffset=t)}setRenderingIntent(e){}setFlatness(e){}setGState(e){for(const[t,A]of e)switch(t){case"LW":this.setLineWidth(A);break;case"LC":this.setLineCap(A);break;case"LJ":this.setLineJoin(A);break;case"ML":this.setMiterLimit(A);break;case"D":this.setDash(A[0],A[1]);break;case"RI":this.setRenderingIntent(A);break;case"FL":this.setFlatness(A);break;case"Font":this.setFont(A[0],A[1]);break;case"CA":this.current.strokeAlpha=A;break;case"ca":this.current.fillAlpha=A,this.ctx.globalAlpha=A;break;case"BM":this.ctx.globalCompositeOperation=A;break;case"SMask":this.current.activeSMask=A?this.tempSMask:null,this.tempSMask=null,this.checkSMaskState();break;case"TR":this.ctx.filter=this.current.transferMaps=this.filterFactory.addFilter(A)}}get inSMaskMode(){return!!this.suspendedCtx}checkSMaskState(){const e=this.inSMaskMode;this.current.activeSMask&&!e?this.beginSMaskMode():!this.current.activeSMask&&e&&this.endSMaskMode()}beginSMaskMode(){if(this.inSMaskMode)throw new Error("beginSMaskMode called while already in smask mode");const e=this.ctx.canvas.width,t=this.ctx.canvas.height,A="smaskGroupAt"+this.groupLevel,i=this.cachedCanvases.getCanvas(A,e,t);this.suspendedCtx=this.ctx,this.ctx=i.context;const s=this.ctx;s.setTransform(...Ot(this.suspendedCtx)),TA(this.suspendedCtx,s),function(e,t){if(e._removeMirroring)throw new Error("Context is already forwarding operations.");e.__originalSave=e.save,e.__originalRestore=e.restore,e.__originalRotate=e.rotate,e.__originalScale=e.scale,e.__originalTranslate=e.translate,e.__originalTransform=e.transform,e.__originalSetTransform=e.setTransform,e.__originalResetTransform=e.resetTransform,e.__originalClip=e.clip,e.__originalMoveTo=e.moveTo,e.__originalLineTo=e.lineTo,e.__originalBezierCurveTo=e.bezierCurveTo,e.__originalRect=e.rect,e.__originalClosePath=e.closePath,e.__originalBeginPath=e.beginPath,e._removeMirroring=()=>{e.save=e.__originalSave,e.restore=e.__originalRestore,e.rotate=e.__originalRotate,e.scale=e.__originalScale,e.translate=e.__originalTranslate,e.transform=e.__originalTransform,e.setTransform=e.__originalSetTransform,e.resetTransform=e.__originalResetTransform,e.clip=e.__originalClip,e.moveTo=e.__originalMoveTo,e.lineTo=e.__originalLineTo,e.bezierCurveTo=e.__originalBezierCurveTo,e.rect=e.__originalRect,e.closePath=e.__originalClosePath,e.beginPath=e.__originalBeginPath,delete e._removeMirroring},e.save=function(){t.save(),this.__originalSave()},e.restore=function(){t.restore(),this.__originalRestore()},e.translate=function(e,A){t.translate(e,A),this.__originalTranslate(e,A)},e.scale=function(e,A){t.scale(e,A),this.__originalScale(e,A)},e.transform=function(e,A,i,s,a,n){t.transform(e,A,i,s,a,n),this.__originalTransform(e,A,i,s,a,n)},e.setTransform=function(e,A,i,s,a,n){t.setTransform(e,A,i,s,a,n),this.__originalSetTransform(e,A,i,s,a,n)},e.resetTransform=function(){t.resetTransform(),this.__originalResetTransform()},e.rotate=function(e){t.rotate(e),this.__originalRotate(e)},e.clip=function(e){t.clip(e),this.__originalClip(e)},e.moveTo=function(e,A){t.moveTo(e,A),this.__originalMoveTo(e,A)},e.lineTo=function(e,A){t.lineTo(e,A),this.__originalLineTo(e,A)},e.bezierCurveTo=function(e,A,i,s,a,n){t.bezierCurveTo(e,A,i,s,a,n),this.__originalBezierCurveTo(e,A,i,s,a,n)},e.rect=function(e,A,i,s){t.rect(e,A,i,s),this.__originalRect(e,A,i,s)},e.closePath=function(){t.closePath(),this.__originalClosePath()},e.beginPath=function(){t.beginPath(),this.__originalBeginPath()}}(s,this.suspendedCtx),this.setGState([["BM","source-over"],["ca",1],["CA",1]])}endSMaskMode(){if(!this.inSMaskMode)throw new Error("endSMaskMode called while not in smask mode");this.ctx._removeMirroring(),TA(this.ctx,this.suspendedCtx),this.ctx=this.suspendedCtx,this.suspendedCtx=null}compose(e){if(!this.current.activeSMask)return;e?(e[0]=Math.floor(e[0]),e[1]=Math.floor(e[1]),e[2]=Math.ceil(e[2]),e[3]=Math.ceil(e[3])):e=[0,0,this.ctx.canvas.width,this.ctx.canvas.height];const t=this.current.activeSMask,A=this.suspendedCtx;this.composeSMask(A,t,this.ctx,e),this.ctx.save(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.clearRect(0,0,this.ctx.canvas.width,this.ctx.canvas.height),this.ctx.restore()}composeSMask(e,t,A,i){const s=i[0],a=i[1],n=i[2]-s,r=i[3]-a;0!==n&&0!==r&&(this.genericComposeSMask(t.context,A,n,r,t.subtype,t.backdrop,t.transferMap,s,a,t.offsetX,t.offsetY),e.save(),e.globalAlpha=1,e.globalCompositeOperation="source-over",e.setTransform(1,0,0,1,0,0),e.drawImage(A.canvas,0,0),e.restore())}genericComposeSMask(e,t,A,i,s,a,n,r,o,g,h){let c=e.canvas,l=r-g,I=o-h;if(a)if(l<0||I<0||l+A>c.width||I+i>c.height){const e=this.cachedCanvases.getCanvas("maskExtension",A,i),t=e.context;t.drawImage(c,-l,-I),a.some((e=>0!==e))&&(t.globalCompositeOperation="destination-atop",t.fillStyle=rt.makeHexColor(...a),t.fillRect(0,0,A,i),t.globalCompositeOperation="source-over"),c=e.canvas,l=I=0}else if(a.some((e=>0!==e))){e.save(),e.globalAlpha=1,e.setTransform(1,0,0,1,0,0);const t=new Path2D;t.rect(l,I,A,i),e.clip(t),e.globalCompositeOperation="destination-atop",e.fillStyle=rt.makeHexColor(...a),e.fillRect(l,I,A,i),e.restore()}t.save(),t.globalAlpha=1,t.setTransform(1,0,0,1,0,0),"Alpha"===s&&n?t.filter=this.filterFactory.addAlphaFilter(n):"Luminosity"===s&&(t.filter=this.filterFactory.addLuminosityFilter(n));const d=new Path2D;d.rect(r,o,A,i),t.clip(d),t.globalCompositeOperation="destination-in",t.drawImage(c,l,I,A,i,r,o,A,i),t.restore()}save(){this.inSMaskMode?(TA(this.ctx,this.suspendedCtx),this.suspendedCtx.save()):this.ctx.save();const e=this.current;this.stateStack.push(e),this.current=e.clone()}restore(){0===this.stateStack.length&&this.inSMaskMode&&this.endSMaskMode(),0!==this.stateStack.length&&(this.current=this.stateStack.pop(),this.inSMaskMode?(this.suspendedCtx.restore(),TA(this.suspendedCtx,this.ctx)):this.ctx.restore(),this.checkSMaskState(),this.pendingClip=null,this._cachedScaleForStroking[0]=-1,this._cachedGetSinglePixelWidth=null)}transform(e,t,A,i,s,a){this.ctx.transform(e,t,A,i,s,a),this._cachedScaleForStroking[0]=-1,this._cachedGetSinglePixelWidth=null}constructPath(e,t,A){const i=this.ctx,s=this.current;let a,n,r=s.x,o=s.y;const g=Ot(i),h=0===g[0]&&0===g[3]||0===g[1]&&0===g[2],c=h?A.slice(0):null;for(let A=0,l=0,I=e.length;A<I;A++)switch(0|e[A]){case He.rectangle:r=t[l++],o=t[l++];const e=t[l++],A=t[l++],I=r+e,d=o+A;i.moveTo(r,o),0===e||0===A?i.lineTo(I,d):(i.lineTo(I,o),i.lineTo(I,d),i.lineTo(r,d)),h||s.updateRectMinMax(g,[r,o,I,d]),i.closePath();break;case He.moveTo:r=t[l++],o=t[l++],i.moveTo(r,o),h||s.updatePathMinMax(g,r,o);break;case He.lineTo:r=t[l++],o=t[l++],i.lineTo(r,o),h||s.updatePathMinMax(g,r,o);break;case He.curveTo:a=r,n=o,r=t[l+4],o=t[l+5],i.bezierCurveTo(t[l],t[l+1],t[l+2],t[l+3],r,o),s.updateCurvePathMinMax(g,a,n,t[l],t[l+1],t[l+2],t[l+3],r,o,c),l+=6;break;case He.curveTo2:a=r,n=o,i.bezierCurveTo(r,o,t[l],t[l+1],t[l+2],t[l+3]),s.updateCurvePathMinMax(g,a,n,r,o,t[l],t[l+1],t[l+2],t[l+3],c),r=t[l+2],o=t[l+3],l+=4;break;case He.curveTo3:a=r,n=o,r=t[l+2],o=t[l+3],i.bezierCurveTo(t[l],t[l+1],r,o,r,o),s.updateCurvePathMinMax(g,a,n,t[l],t[l+1],r,o,r,o,c),l+=4;break;case He.closePath:i.closePath()}h&&s.updateScalingPathMinMax(g,c),s.setCurrentPoint(r,o)}closePath(){this.ctx.closePath()}stroke(e=!0){const t=this.ctx,A=this.current.strokeColor;t.globalAlpha=this.current.strokeAlpha,this.contentVisible&&("object"==typeof A&&A?.getPattern?(t.save(),t.strokeStyle=A.getPattern(t,this,Wt(t),pA),this.rescaleAndStroke(!1),t.restore()):this.rescaleAndStroke(!0)),e&&this.consumePath(this.current.getClippedPathBoundingBox()),t.globalAlpha=this.current.fillAlpha}closeStroke(){this.closePath(),this.stroke()}fill(e=!0){const t=this.ctx,A=this.current.fillColor;let i=!1;this.current.patternFill&&(t.save(),t.fillStyle=A.getPattern(t,this,Wt(t),fA),i=!0);const s=this.current.getClippedPathBoundingBox();this.contentVisible&&null!==s&&(this.pendingEOFill?(t.fill("evenodd"),this.pendingEOFill=!1):t.fill()),i&&t.restore(),e&&this.consumePath(s)}eoFill(){this.pendingEOFill=!0,this.fill()}fillStroke(){this.fill(!1),this.stroke(!1),this.consumePath()}eoFillStroke(){this.pendingEOFill=!0,this.fillStroke()}closeFillStroke(){this.closePath(),this.fillStroke()}closeEOFillStroke(){this.pendingEOFill=!0,this.closePath(),this.fillStroke()}endPath(){this.consumePath()}clip(){this.pendingClip=qA}eoClip(){this.pendingClip=OA}beginText(){this.current.textMatrix=O,this.current.textMatrixScale=1,this.current.x=this.current.lineX=0,this.current.y=this.current.lineY=0}endText(){const e=this.pendingTextPaths,t=this.ctx;if(void 0!==e){t.save(),t.beginPath();for(const A of e)t.setTransform(...A.transform),t.translate(A.x,A.y),A.addToPath(t,A.fontSize);t.restore(),t.clip(),t.beginPath(),delete this.pendingTextPaths}else t.beginPath()}setCharSpacing(e){this.current.charSpacing=e}setWordSpacing(e){this.current.wordSpacing=e}setHScale(e){this.current.textHScale=e/100}setLeading(e){this.current.leading=-e}setFont(e,t){const A=this.commonObjs.get(e),i=this.current;if(!A)throw new Error(`Can't find font for ${e}`);if(i.fontMatrix=A.fontMatrix||W,0!==i.fontMatrix[0]&&0!==i.fontMatrix[3]||Ke("Invalid font matrix for font "+e),t<0?(t=-t,i.fontDirection=-1):i.fontDirection=1,this.current.font=A,this.current.fontSize=t,A.isType3Font)return;const s=A.loadedName||"sans-serif",a=A.systemFontInfo?.css||`"${s}", ${A.fallbackName}`;let n="normal";A.black?n="900":A.bold&&(n="bold");const r=A.italic?"italic":"normal";let o=t;t<16?o=16:t>100&&(o=100),this.current.fontSizeScale=t/o,this.ctx.font=`${r} ${n} ${o}px ${a}`}setTextRenderingMode(e){this.current.textRenderingMode=e}setTextRise(e){this.current.textRise=e}moveText(e,t){this.current.x=this.current.lineX+=e,this.current.y=this.current.lineY+=t}setLeadingMoveText(e,t){this.setLeading(-t),this.moveText(e,t)}setTextMatrix(e,t,A,i,s,a){this.current.textMatrix=[e,t,A,i,s,a],this.current.textMatrixScale=Math.hypot(e,t),this.current.x=this.current.lineX=0,this.current.y=this.current.lineY=0}nextLine(){this.moveText(0,this.current.leading)}paintChar(e,t,A,i){const s=this.ctx,a=this.current,n=a.font,r=a.textRenderingMode,o=a.fontSize/a.fontSizeScale,g=r&he,h=!!(r&ce),c=a.patternFill&&!n.missingFile;let l;if((n.disableFontFace||h||c)&&(l=n.getPathGenerator(this.commonObjs,e)),n.disableFontFace||c?(s.save(),s.translate(t,A),s.beginPath(),l(s,o),i&&s.setTransform(...i),g!==ne&&g!==oe||s.fill(),g!==re&&g!==oe||s.stroke(),s.restore()):(g!==ne&&g!==oe||s.fillText(e,t,A),g!==re&&g!==oe||s.strokeText(e,t,A)),h){(this.pendingTextPaths||=[]).push({transform:Ot(s),x:t,y:A,fontSize:o,addToPath:l})}}get isFontSubpixelAAEnabled(){const{context:e}=this.cachedCanvases.getCanvas("isFontSubpixelAAEnabled",10,10);e.scale(1.5,1),e.fillText("I",0,10);const t=e.getImageData(0,0,10,10).data;let A=!1;for(let e=3;e<t.length;e+=4)if(t[e]>0&&t[e]<255){A=!0;break}return We(this,"isFontSubpixelAAEnabled",A)}showText(e){const t=this.current,A=t.font;if(A.isType3Font)return this.showType3Text(e);const i=t.fontSize;if(0===i)return;const s=this.ctx,a=t.fontSizeScale,n=t.charSpacing,r=t.wordSpacing,o=t.fontDirection,g=t.textHScale*o,h=e.length,c=A.vertical,l=c?1:-1,I=A.defaultVMetrics,d=i*t.fontMatrix[0],C=t.textRenderingMode===ne&&!A.disableFontFace&&!t.patternFill;let u;if(s.save(),s.transform(...t.textMatrix),s.translate(t.x,t.y+t.textRise),o>0?s.scale(g,-1):s.scale(g,1),t.patternFill){s.save();const e=t.fillColor.getPattern(s,this,Wt(s),fA);u=Ot(s),s.restore(),s.fillStyle=e}let B=t.lineWidth;const Q=t.textMatrixScale;if(0===Q||0===B){const e=t.textRenderingMode&he;e!==re&&e!==oe||(B=this.getSinglePixelWidth())}else B/=Q;if(1!==a&&(s.scale(a,a),B/=a),s.lineWidth=B,A.isInvalidPDFjsFont){const A=[];let i=0;for(const t of e)A.push(t.unicode),i+=t.width;return s.fillText(A.join(""),0,0),t.x+=i*d*g,s.restore(),void this.compose()}let E,f=0;for(E=0;E<h;++E){const t=e[E];if("number"==typeof t){f+=l*t*i/1e3;continue}let g=!1;const h=(t.isSpace?r:0)+n,B=t.fontChar,Q=t.accent;let p,m,y=t.width;if(c){const e=t.vmetric||I,A=-(t.vmetric?e[1]:.5*y)*d,i=e[2]*d;y=e?-e[0]:y,p=A/a,m=(f+i)/a}else p=f/a,m=0;if(A.remeasure&&y>0){const e=1e3*s.measureText(B).width/i*a;if(y<e&&this.isFontSubpixelAAEnabled){const t=y/e;g=!0,s.save(),s.scale(t,1),p/=t}else y!==e&&(p+=(y-e)/2e3*i/a)}if(this.contentVisible&&(t.isInFont||A.missingFile))if(C&&!Q)s.fillText(B,p,m);else if(this.paintChar(B,p,m,u),Q){const e=p+i*Q.offset.x/a,t=m-i*Q.offset.y/a;this.paintChar(Q.fontChar,e,t,u)}f+=c?y*d-h*o:y*d+h*o,g&&s.restore()}c?t.y-=f:t.x+=f*g,s.restore(),this.compose()}showType3Text(e){const t=this.ctx,A=this.current,i=A.font,s=A.fontSize,a=A.fontDirection,n=i.vertical?1:-1,r=A.charSpacing,o=A.wordSpacing,g=A.textHScale*a,h=A.fontMatrix||W,c=e.length;let l,I,d,C;if(!(A.textRenderingMode===ge)&&0!==s){for(this._cachedScaleForStroking[0]=-1,this._cachedGetSinglePixelWidth=null,t.save(),t.transform(...A.textMatrix),t.translate(A.x,A.y),t.scale(g,a),l=0;l<c;++l){if(I=e[l],"number"==typeof I){C=n*I*s/1e3,this.ctx.translate(C,0),A.x+=C*g;continue}const a=(I.isSpace?o:0)+r,c=i.charProcOperatorList[I.operatorListId];if(!c){Ke(`Type3 character "${I.operatorListId}" is not available.`);continue}this.contentVisible&&(this.processingType3=I,this.save(),t.scale(s,s),t.transform(...h),this.executeOperatorList(c),this.restore());d=rt.applyTransform([I.width,0],h)[0]*s+a,t.translate(d,0),A.x+=d*g}t.restore(),this.processingType3=null}}setCharWidth(e,t){}setCharWidthAndBounds(e,t,A,i,s,a){this.ctx.rect(A,i,s-A,a-i),this.ctx.clip(),this.endPath()}getColorN_Pattern(e){let t;if("TilingPattern"===e[0]){const A=e[1],i=this.baseTransform||Ot(this.ctx),s={createCanvasGraphics:e=>new WA(e,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:this.optionalContentConfig,markedContentStack:this.markedContentStack})};t=new vA(e,A,this.ctx,s,i)}else t=this._getPattern(e[1],e[2]);return t}setStrokeColorN(){this.current.strokeColor=this.getColorN_Pattern(arguments)}setFillColorN(){this.current.fillColor=this.getColorN_Pattern(arguments),this.current.patternFill=!0}setStrokeRGBColor(e,t,A){const i=rt.makeHexColor(e,t,A);this.ctx.strokeStyle=i,this.current.strokeColor=i}setFillRGBColor(e,t,A){const i=rt.makeHexColor(e,t,A);this.ctx.fillStyle=i,this.current.fillColor=i,this.current.patternFill=!1}_getPattern(e,t=null){let A;return this.cachedPatterns.has(e)?A=this.cachedPatterns.get(e):(A=function(e){switch(e[0]){case"RadialAxial":return new bA(e);case"Mesh":return new SA(e);case"Dummy":return new FA}throw new Error(`Unknown IR type: ${e[0]}`)}(this.getObject(e)),this.cachedPatterns.set(e,A)),t&&(A.matrix=t),A}shadingFill(e){if(!this.contentVisible)return;const t=this.ctx;this.save();const A=this._getPattern(e);t.fillStyle=A.getPattern(t,this,Wt(t),mA);const i=Wt(t);if(i){const{width:e,height:A}=t.canvas,[s,a,n,r]=rt.getAxialAlignedBoundingBox([0,0,e,A],i);this.ctx.fillRect(s,a,n-s,r-a)}else this.ctx.fillRect(-1e10,-1e10,2e10,2e10);this.compose(this.current.getClippedPathBoundingBox()),this.restore()}beginInlineImage(){_e("Should not call beginInlineImage")}beginImageData(){_e("Should not call beginImageData")}paintFormXObjectBegin(e,t){if(this.contentVisible&&(this.save(),this.baseTransformStack.push(this.baseTransform),e&&this.transform(...e),this.baseTransform=Ot(this.ctx),t)){const e=t[2]-t[0],A=t[3]-t[1];this.ctx.rect(t[0],t[1],e,A),this.current.updateRectMinMax(Ot(this.ctx),t),this.clip(),this.endPath()}}paintFormXObjectEnd(){this.contentVisible&&(this.restore(),this.baseTransform=this.baseTransformStack.pop())}beginGroup(e){if(!this.contentVisible)return;this.save(),this.inSMaskMode&&(this.endSMaskMode(),this.current.activeSMask=null);const t=this.ctx;e.isolated||Ye("TODO: Support non-isolated groups."),e.knockout&&Ke("Knockout groups not supported.");const A=Ot(t);if(e.matrix&&t.transform(...e.matrix),!e.bbox)throw new Error("Bounding box is required.");let i=rt.getAxialAlignedBoundingBox(e.bbox,Ot(t));const s=[0,0,t.canvas.width,t.canvas.height];i=rt.intersect(i,s)||[0,0,0,0];const a=Math.floor(i[0]),n=Math.floor(i[1]),r=Math.max(Math.ceil(i[2])-a,1),o=Math.max(Math.ceil(i[3])-n,1);this.current.startNewPathAndClipBox([0,0,r,o]);let g="groupAt"+this.groupLevel;e.smask&&(g+="_smask_"+this.smaskCounter++%2);const h=this.cachedCanvases.getCanvas(g,r,o),c=h.context;c.translate(-a,-n),c.transform(...A),e.smask?this.smaskStack.push({canvas:h.canvas,context:c,offsetX:a,offsetY:n,subtype:e.smask.subtype,backdrop:e.smask.backdrop,transferMap:e.smask.transferMap||null,startTransformInverse:null}):(t.setTransform(1,0,0,1,0,0),t.translate(a,n),t.save()),TA(t,c),this.ctx=c,this.setGState([["BM","source-over"],["ca",1],["CA",1]]),this.groupStack.push(t),this.groupLevel++}endGroup(e){if(!this.contentVisible)return;this.groupLevel--;const t=this.ctx,A=this.groupStack.pop();if(this.ctx=A,this.ctx.imageSmoothingEnabled=!1,e.smask)this.tempSMask=this.smaskStack.pop(),this.restore();else{this.ctx.restore();const e=Ot(this.ctx);this.restore(),this.ctx.save(),this.ctx.setTransform(...e);const A=rt.getAxialAlignedBoundingBox([0,0,t.canvas.width,t.canvas.height],e);this.ctx.drawImage(t.canvas,0,0),this.ctx.restore(),this.compose(A)}}beginAnnotation(e,t,A,i,s){if(this.#Ft(),PA(this.ctx),this.ctx.save(),this.save(),this.baseTransform&&this.ctx.setTransform(...this.baseTransform),t){const i=t[2]-t[0],a=t[3]-t[1];if(s&&this.annotationCanvasMap){(A=A.slice())[4]-=t[0],A[5]-=t[1],(t=t.slice())[0]=t[1]=0,t[2]=i,t[3]=a;const[s,n]=rt.singularValueDecompose2dScale(Ot(this.ctx)),{viewportScale:r}=this,o=Math.ceil(i*this.outputScaleX*r),g=Math.ceil(a*this.outputScaleY*r);this.annotationCanvas=this.canvasFactory.create(o,g);const{canvas:h,context:c}=this.annotationCanvas;this.annotationCanvasMap.set(e,h),this.annotationCanvas.savedCtx=this.ctx,this.ctx=c,this.ctx.save(),this.ctx.setTransform(s,0,0,-n,0,a*n),PA(this.ctx)}else PA(this.ctx),this.ctx.rect(t[0],t[1],i,a),this.ctx.clip(),this.endPath()}this.current=new UA(this.ctx.canvas.width,this.ctx.canvas.height),this.transform(...A),this.transform(...i)}endAnnotation(){this.annotationCanvas&&(this.ctx.restore(),this.#Rt(),this.ctx=this.annotationCanvas.savedCtx,delete this.annotationCanvas.savedCtx,delete this.annotationCanvas)}paintImageMaskXObject(e){if(!this.contentVisible)return;const t=e.count;(e=this.getObject(e.data,e)).count=t;const A=this.ctx,i=this.processingType3;if(i&&(void 0===i.compiled&&(i.compiled=function(e){const{width:t,height:A}=e;if(t>1e3||A>1e3)return null;const i=new Uint8Array([0,2,4,0,1,0,5,4,8,10,0,8,0,2,1,0]),s=t+1;let a,n,r,o=new Uint8Array(s*(A+1));const g=t+7&-8;let h=new Uint8Array(g*A),c=0;for(const t of e.data){let e=128;for(;e>0;)h[c++]=t&e?0:255,e>>=1}let l=0;for(c=0,0!==h[c]&&(o[0]=1,++l),n=1;n<t;n++)h[c]!==h[c+1]&&(o[n]=h[c]?2:1,++l),c++;for(0!==h[c]&&(o[n]=2,++l),a=1;a<A;a++){c=a*g,r=a*s,h[c-g]!==h[c]&&(o[r]=h[c]?1:8,++l);let e=(h[c]?4:0)+(h[c-g]?8:0);for(n=1;n<t;n++)e=(e>>2)+(h[c+1]?4:0)+(h[c-g+1]?8:0),i[e]&&(o[r+n]=i[e],++l),c++;if(h[c-g]!==h[c]&&(o[r+n]=h[c]?2:4,++l),l>1e3)return null}for(c=g*(A-1),r=a*s,0!==h[c]&&(o[r]=8,++l),n=1;n<t;n++)h[c]!==h[c+1]&&(o[r+n]=h[c]?4:8,++l),c++;if(0!==h[c]&&(o[r+n]=4,++l),l>1e3)return null;const I=new Int32Array([0,s,-1,0,-s,0,0,0,1]),d=new Path2D;for(a=0;l&&a<=A;a++){let e=a*s;const A=e+t;for(;e<A&&!o[e];)e++;if(e===A)continue;d.moveTo(e%s,a);const i=e;let n=o[e];do{const t=I[n];do{e+=t}while(!o[e]);const A=o[e];5!==A&&10!==A?(n=A,o[e]=0):(n=A&51*n>>4,o[e]&=n>>2|n<<2),d.lineTo(e%s,e/s|0),o[e]||--l}while(i!==e);--a}return h=null,o=null,function(e){e.save(),e.scale(1/t,-1/A),e.translate(0,-A),e.fill(d),e.beginPath(),e.restore()}}(e)),i.compiled))return void i.compiled(A);const s=this._createMaskCanvas(e),a=s.canvas;A.save(),A.setTransform(1,0,0,1,0,0),A.drawImage(a,s.offsetX,s.offsetY),A.restore(),this.compose()}paintImageMaskXObjectRepeat(e,t,A=0,i=0,s,a){if(!this.contentVisible)return;e=this.getObject(e.data,e);const n=this.ctx;n.save();const r=Ot(n);n.transform(t,A,i,s,0,0);const o=this._createMaskCanvas(e);n.setTransform(1,0,0,1,o.offsetX-r[4],o.offsetY-r[5]);for(let e=0,g=a.length;e<g;e+=2){const g=rt.transform(r,[t,A,i,s,a[e],a[e+1]]),[h,c]=rt.applyTransform([0,0],g);n.drawImage(o.canvas,h,c)}n.restore(),this.compose()}paintImageMaskXObjectGroup(e){if(!this.contentVisible)return;const t=this.ctx,A=this.current.fillColor,i=this.current.patternFill;for(const s of e){const{data:e,width:a,height:n,transform:r}=s,o=this.cachedCanvases.getCanvas("maskCanvas",a,n),g=o.context;g.save();JA(g,this.getObject(e,s)),g.globalCompositeOperation="source-in",g.fillStyle=i?A.getPattern(g,this,Wt(t),fA):A,g.fillRect(0,0,a,n),g.restore(),t.save(),t.transform(...r),t.scale(1,-1),LA(t,o.canvas,0,0,a,n,0,-1,1,1),t.restore()}this.compose()}paintImageXObject(e){if(!this.contentVisible)return;const t=this.getObject(e);t?this.paintInlineImageXObject(t):Ke("Dependent image isn't ready yet")}paintImageXObjectRepeat(e,t,A,i){if(!this.contentVisible)return;const s=this.getObject(e);if(!s)return void Ke("Dependent image isn't ready yet");const a=s.width,n=s.height,r=[];for(let e=0,s=i.length;e<s;e+=2)r.push({transform:[t,0,0,A,i[e],i[e+1]],x:0,y:0,w:a,h:n});this.paintInlineImageXObjectGroup(s,r)}applyTransferMapsToCanvas(e){return"none"!==this.current.transferMaps&&(e.filter=this.current.transferMaps,e.drawImage(e.canvas,0,0),e.filter="none"),e.canvas}applyTransferMapsToBitmap(e){if("none"===this.current.transferMaps)return e.bitmap;const{bitmap:t,width:A,height:i}=e,s=this.cachedCanvases.getCanvas("inlineImage",A,i),a=s.context;return a.filter=this.current.transferMaps,a.drawImage(t,0,0),a.filter="none",s.canvas}paintInlineImageXObject(e){if(!this.contentVisible)return;const t=e.width,A=e.height,i=this.ctx;if(this.save(),!q){const{filter:e}=i;"none"!==e&&""!==e&&(i.filter="none")}let s;if(i.scale(1/t,-1/A),e.bitmap)s=this.applyTransferMapsToBitmap(e);else if("function"==typeof HTMLElement&&e instanceof HTMLElement||!e.data)s=e;else{const i=this.cachedCanvases.getCanvas("inlineImage",t,A).context;HA(i,e),s=this.applyTransferMapsToCanvas(i)}const a=this._scaleImage(s,Wt(i));i.imageSmoothingEnabled=YA(Ot(i),e.interpolate),LA(i,a.img,0,0,a.paintWidth,a.paintHeight,0,-A,t,A),this.compose(),this.restore()}paintInlineImageXObjectGroup(e,t){if(!this.contentVisible)return;const A=this.ctx;let i;if(e.bitmap)i=e.bitmap;else{const t=e.width,A=e.height,s=this.cachedCanvases.getCanvas("inlineImage",t,A).context;HA(s,e),i=this.applyTransferMapsToCanvas(s)}for(const e of t)A.save(),A.transform(...e.transform),A.scale(1,-1),LA(A,i,e.x,e.y,e.w,e.h,0,-1,1,1),A.restore();this.compose()}paintSolidColorImageMask(){this.contentVisible&&(this.ctx.fillRect(0,0,1,1),this.compose())}markPoint(e){}markPointProps(e,t){}beginMarkedContent(e){this.markedContentStack.push({visible:!0})}beginMarkedContentProps(e,t){"OC"===e?this.markedContentStack.push({visible:this.optionalContentConfig.isVisible(t)}):this.markedContentStack.push({visible:!0}),this.contentVisible=this.isContentVisible()}endMarkedContent(){this.markedContentStack.pop(),this.contentVisible=this.isContentVisible()}beginCompat(){}endCompat(){}consumePath(e){const t=this.current.isEmptyClip();this.pendingClip&&this.current.updateClipFromPath(),this.pendingClip||this.compose(e);const A=this.ctx;this.pendingClip&&(t||(this.pendingClip===OA?A.clip("evenodd"):A.clip()),this.pendingClip=null),this.current.startNewPathAndClipBox(this.current.clipBox),A.beginPath()}getSinglePixelWidth(){if(!this._cachedGetSinglePixelWidth){const e=Ot(this.ctx);if(0===e[1]&&0===e[2])this._cachedGetSinglePixelWidth=1/Math.min(Math.abs(e[0]),Math.abs(e[3]));else{const t=Math.abs(e[0]*e[3]-e[2]*e[1]),A=Math.hypot(e[0],e[2]),i=Math.hypot(e[1],e[3]);this._cachedGetSinglePixelWidth=Math.max(A,i)/t}}return this._cachedGetSinglePixelWidth}getScaleForStroking(){if(-1===this._cachedScaleForStroking[0]){const{lineWidth:e}=this.current,{a:t,b:A,c:i,d:s}=this.ctx.getTransform();let a,n;if(0===A&&0===i){const A=Math.abs(t),i=Math.abs(s);if(A===i)if(0===e)a=n=1/A;else{const t=A*e;a=n=t<1?1/t:1}else if(0===e)a=1/A,n=1/i;else{const t=A*e,s=i*e;a=t<1?1/t:1,n=s<1?1/s:1}}else{const r=Math.abs(t*s-A*i),o=Math.hypot(t,A),g=Math.hypot(i,s);if(0===e)a=g/r,n=o/r;else{const t=e*r;a=g>t?g/t:1,n=o>t?o/t:1}}this._cachedScaleForStroking[0]=a,this._cachedScaleForStroking[1]=n}return this._cachedScaleForStroking}rescaleAndStroke(e){const{ctx:t}=this,{lineWidth:A}=this.current,[i,s]=this.getScaleForStroking();if(t.lineWidth=A||1,1===i&&1===s)return void t.stroke();const a=t.getLineDash();if(e&&t.save(),t.scale(i,s),a.length>0){const e=Math.max(i,s);t.setLineDash(a.map((t=>t/e))),t.lineDashOffset/=e}t.stroke(),e&&t.restore()}isContentVisible(){for(let e=this.markedContentStack.length-1;e>=0;e--)if(!this.markedContentStack[e].visible)return!1;return!0}}for(const e in He)void 0!==WA.prototype[e]&&(WA.prototype[He[e]]=WA.prototype[e]);let jA=class{static#xt=null;static#vt="";static get workerPort(){return this.#xt}static set workerPort(e){if(!("undefined"!=typeof Worker&&e instanceof Worker)&&null!==e)throw new Error("Invalid `workerPort` type.");this.#xt=e}static get workerSrc(){return this.#vt}static set workerSrc(e){if("string"!=typeof e)throw new Error("Invalid `workerSrc` type.");this.#vt=e}};const VA=1,ZA=2,XA=1,zA=2,$A=3,ei=4,ti=5,Ai=6,ii=7,si=8;function ai(e){switch(e instanceof Error||"object"==typeof e&&null!==e||_e('wrapReason: Expected "reason" to be a (possibly cloned) Error.'),e.name){case"AbortException":return new tt(e.message);case"MissingPDFException":return new ze(e.message);case"PasswordException":return new Ve(e.message,e.code);case"UnexpectedResponseException":return new $e(e.message,e.status);case"UnknownErrorException":return new Ze(e.message,e.details);default:return new Ze(e.message,e.toString())}}let ni=class{constructor(e,t,A){this.sourceName=e,this.targetName=t,this.comObj=A,this.callbackId=1,this.streamId=1,this.streamSinks=Object.create(null),this.streamControllers=Object.create(null),this.callbackCapabilities=Object.create(null),this.actionHandler=Object.create(null),this._onComObjOnMessage=e=>{const t=e.data;if(t.targetName!==this.sourceName)return;if(t.stream)return void this.#Nt(t);if(t.callback){const e=t.callbackId,A=this.callbackCapabilities[e];if(!A)throw new Error(`Cannot resolve callback ${e}`);if(delete this.callbackCapabilities[e],t.callback===VA)A.resolve(t.data);else{if(t.callback!==ZA)throw new Error("Unexpected callback case");A.reject(ai(t.reason))}return}const i=this.actionHandler[t.action];if(!i)throw new Error(`Unknown action from worker: ${t.action}`);if(t.callbackId){const e=this.sourceName,s=t.sourceName;new Promise((function(e){e(i(t.data))})).then((function(i){A.postMessage({sourceName:e,targetName:s,callback:VA,callbackId:t.callbackId,data:i})}),(function(i){A.postMessage({sourceName:e,targetName:s,callback:ZA,callbackId:t.callbackId,reason:ai(i)})}))}else t.streamId?this.#Mt(t):i(t.data)},A.addEventListener("message",this._onComObjOnMessage)}on(e,t){const A=this.actionHandler;if(A[e])throw new Error(`There is already an actionName called "${e}"`);A[e]=t}send(e,t,A){this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:e,data:t},A)}sendWithPromise(e,t,A){const i=this.callbackId++,s=Promise.withResolvers();this.callbackCapabilities[i]=s;try{this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:e,callbackId:i,data:t},A)}catch(e){s.reject(e)}return s.promise}sendWithStream(e,t,A,i){const s=this.streamId++,a=this.sourceName,n=this.targetName,r=this.comObj;return new ReadableStream({start:A=>{const o=Promise.withResolvers();return this.streamControllers[s]={controller:A,startCall:o,pullCall:null,cancelCall:null,isClosed:!1},r.postMessage({sourceName:a,targetName:n,action:e,streamId:s,data:t,desiredSize:A.desiredSize},i),o.promise},pull:e=>{const t=Promise.withResolvers();return this.streamControllers[s].pullCall=t,r.postMessage({sourceName:a,targetName:n,stream:Ai,streamId:s,desiredSize:e.desiredSize}),t.promise},cancel:e=>{qe(e instanceof Error,"cancel must have a valid reason");const t=Promise.withResolvers();return this.streamControllers[s].cancelCall=t,this.streamControllers[s].isClosed=!0,r.postMessage({sourceName:a,targetName:n,stream:XA,streamId:s,reason:ai(e)}),t.promise}},A)}#Mt(e){const t=e.streamId,A=this.sourceName,i=e.sourceName,s=this.comObj,a=this,n=this.actionHandler[e.action],r={enqueue(e,a=1,n){if(this.isCancelled)return;const r=this.desiredSize;this.desiredSize-=a,r>0&&this.desiredSize<=0&&(this.sinkCapability=Promise.withResolvers(),this.ready=this.sinkCapability.promise),s.postMessage({sourceName:A,targetName:i,stream:ei,streamId:t,chunk:e},n)},close(){this.isCancelled||(this.isCancelled=!0,s.postMessage({sourceName:A,targetName:i,stream:$A,streamId:t}),delete a.streamSinks[t])},error(e){qe(e instanceof Error,"error must have a valid reason"),this.isCancelled||(this.isCancelled=!0,s.postMessage({sourceName:A,targetName:i,stream:ti,streamId:t,reason:ai(e)}))},sinkCapability:Promise.withResolvers(),onPull:null,onCancel:null,isCancelled:!1,desiredSize:e.desiredSize,ready:null};r.sinkCapability.resolve(),r.ready=r.sinkCapability.promise,this.streamSinks[t]=r,new Promise((function(t){t(n(e.data,r))})).then((function(){s.postMessage({sourceName:A,targetName:i,stream:si,streamId:t,success:!0})}),(function(e){s.postMessage({sourceName:A,targetName:i,stream:si,streamId:t,reason:ai(e)})}))}#Nt(e){const t=e.streamId,A=this.sourceName,i=e.sourceName,s=this.comObj,a=this.streamControllers[t],n=this.streamSinks[t];switch(e.stream){case si:e.success?a.startCall.resolve():a.startCall.reject(ai(e.reason));break;case ii:e.success?a.pullCall.resolve():a.pullCall.reject(ai(e.reason));break;case Ai:if(!n){s.postMessage({sourceName:A,targetName:i,stream:ii,streamId:t,success:!0});break}n.desiredSize<=0&&e.desiredSize>0&&n.sinkCapability.resolve(),n.desiredSize=e.desiredSize,new Promise((function(e){e(n.onPull?.())})).then((function(){s.postMessage({sourceName:A,targetName:i,stream:ii,streamId:t,success:!0})}),(function(e){s.postMessage({sourceName:A,targetName:i,stream:ii,streamId:t,reason:ai(e)})}));break;case ei:if(qe(a,"enqueue should have stream controller"),a.isClosed)break;a.controller.enqueue(e.chunk);break;case $A:if(qe(a,"close should have stream controller"),a.isClosed)break;a.isClosed=!0,a.controller.close(),this.#Gt(a,t);break;case ti:qe(a,"error should have stream controller"),a.controller.error(ai(e.reason)),this.#Gt(a,t);break;case zA:e.success?a.cancelCall.resolve():a.cancelCall.reject(ai(e.reason)),this.#Gt(a,t);break;case XA:if(!n)break;new Promise((function(t){t(n.onCancel?.(ai(e.reason)))})).then((function(){s.postMessage({sourceName:A,targetName:i,stream:zA,streamId:t,success:!0})}),(function(e){s.postMessage({sourceName:A,targetName:i,stream:zA,streamId:t,reason:ai(e)})})),n.sinkCapability.reject(ai(e.reason)),n.isCancelled=!0,delete this.streamSinks[t];break;default:throw new Error("Unexpected stream case")}}async#Gt(e,t){await Promise.allSettled([e.startCall?.promise,e.pullCall?.promise,e.cancelCall?.promise]),delete this.streamControllers[t]}destroy(){this.comObj.removeEventListener("message",this._onComObjOnMessage)}};class ri{#Lt;#Ut;constructor({parsedData:e,rawData:t}){this.#Lt=e,this.#Ut=t}getRaw(){return this.#Ut}get(e){return this.#Lt.get(e)??null}getAll(){return st(this.#Lt)}has(e){return this.#Lt.has(e)}}const oi=Symbol("INTERNAL");class gi{#Ht=!1;#Jt=!1;#Tt=!1;#Pt=!0;constructor(e,{name:t,intent:A,usage:i}){this.#Ht=!!(e&Z),this.#Jt=!!(e&X),this.name=t,this.intent=A,this.usage=i}get visible(){if(this.#Tt)return this.#Pt;if(!this.#Pt)return!1;const{print:e,view:t}=this.usage;return this.#Ht?"OFF"!==t?.viewState:!this.#Jt||"OFF"!==e?.printState}_setVisible(e,t,A=!1){e!==oi&&_e("Internal method `_setVisible` called."),this.#Tt=A,this.#Pt=t}}class hi{#Yt=null;#Kt=new Map;#_t=null;#qt=null;constructor(e,t=Z){if(this.renderingIntent=t,this.name=null,this.creator=null,null!==e){this.name=e.name,this.creator=e.creator,this.#qt=e.order;for(const A of e.groups)this.#Kt.set(A.id,new gi(t,A));if("OFF"===e.baseState)for(const e of this.#Kt.values())e._setVisible(oi,!1);for(const t of e.on)this.#Kt.get(t)._setVisible(oi,!0);for(const t of e.off)this.#Kt.get(t)._setVisible(oi,!1);this.#_t=this.getHash()}}#Ot(e){const t=e.length;if(t<2)return!0;const A=e[0];for(let i=1;i<t;i++){const t=e[i];let s;if(Array.isArray(t))s=this.#Ot(t);else{if(!this.#Kt.has(t))return Ke(`Optional content group not found: ${t}`),!0;s=this.#Kt.get(t).visible}switch(A){case"And":if(!s)return!1;break;case"Or":if(s)return!0;break;case"Not":return!s;default:return!0}}return"And"===A}isVisible(e){if(0===this.#Kt.size)return!0;if(!e)return Ye("Optional content group not defined."),!0;if("OCG"===e.type)return this.#Kt.has(e.id)?this.#Kt.get(e.id).visible:(Ke(`Optional content group not found: ${e.id}`),!0);if("OCMD"===e.type){if(e.expression)return this.#Ot(e.expression);if(!e.policy||"AnyOn"===e.policy){for(const t of e.ids){if(!this.#Kt.has(t))return Ke(`Optional content group not found: ${t}`),!0;if(this.#Kt.get(t).visible)return!0}return!1}if("AllOn"===e.policy){for(const t of e.ids){if(!this.#Kt.has(t))return Ke(`Optional content group not found: ${t}`),!0;if(!this.#Kt.get(t).visible)return!1}return!0}if("AnyOff"===e.policy){for(const t of e.ids){if(!this.#Kt.has(t))return Ke(`Optional content group not found: ${t}`),!0;if(!this.#Kt.get(t).visible)return!0}return!1}if("AllOff"===e.policy){for(const t of e.ids){if(!this.#Kt.has(t))return Ke(`Optional content group not found: ${t}`),!0;if(this.#Kt.get(t).visible)return!1}return!0}return Ke(`Unknown optional content policy ${e.policy}.`),!0}return Ke(`Unknown group type ${e.type}.`),!0}setVisibility(e,t=!0){const A=this.#Kt.get(e);A?(A._setVisible(oi,!!t,!0),this.#Yt=null):Ke(`Optional content group not found: ${e}`)}setOCGState({state:e,preserveRB:t}){let A;for(const t of e){switch(t){case"ON":case"OFF":case"Toggle":A=t;continue}const e=this.#Kt.get(t);if(e)switch(A){case"ON":e._setVisible(oi,!0);break;case"OFF":e._setVisible(oi,!1);break;case"Toggle":e._setVisible(oi,!e.visible)}}this.#Yt=null}get hasInitialVisibility(){return null===this.#_t||this.getHash()===this.#_t}getOrder(){return this.#Kt.size?this.#qt?this.#qt.slice():[...this.#Kt.keys()]:null}getGroups(){return this.#Kt.size>0?st(this.#Kt):null}getGroup(e){return this.#Kt.get(e)||null}getHash(){if(null!==this.#Yt)return this.#Yt;const e=new hA;for(const[t,A]of this.#Kt)e.update(`${t}:${A.visible}`);return this.#Yt=e.hexdigest()}}class ci{constructor(e,{disableRange:t=!1,disableStream:A=!1}){qe(e,'PDFDataTransportStream - missing required "pdfDataRangeTransport" argument.');const{length:i,initialData:s,progressiveDone:a,contentDispositionFilename:n}=e;if(this._queuedChunks=[],this._progressiveDone=a,this._contentDispositionFilename=n,s?.length>0){const e=s instanceof Uint8Array&&s.byteLength===s.buffer.byteLength?s.buffer:new Uint8Array(s).buffer;this._queuedChunks.push(e)}this._pdfDataRangeTransport=e,this._isStreamingSupported=!A,this._isRangeSupported=!t,this._contentLength=i,this._fullRequestReader=null,this._rangeReaders=[],e.addRangeListener(((e,t)=>{this._onReceiveData({begin:e,chunk:t})})),e.addProgressListener(((e,t)=>{this._onProgress({loaded:e,total:t})})),e.addProgressiveReadListener((e=>{this._onReceiveData({chunk:e})})),e.addProgressiveDoneListener((()=>{this._onProgressiveDone()})),e.transportReady()}_onReceiveData({begin:e,chunk:t}){const A=t instanceof Uint8Array&&t.byteLength===t.buffer.byteLength?t.buffer:new Uint8Array(t).buffer;if(void 0===e)this._fullRequestReader?this._fullRequestReader._enqueue(A):this._queuedChunks.push(A);else{qe(this._rangeReaders.some((function(t){return t._begin===e&&(t._enqueue(A),!0)})),"_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found.")}}get _progressiveDataLength(){return this._fullRequestReader?._loaded??0}_onProgress(e){void 0===e.total?this._rangeReaders[0]?.onProgress?.({loaded:e.loaded}):this._fullRequestReader?.onProgress?.({loaded:e.loaded,total:e.total})}_onProgressiveDone(){this._fullRequestReader?.progressiveDone(),this._progressiveDone=!0}_removeRangeReader(e){const t=this._rangeReaders.indexOf(e);t>=0&&this._rangeReaders.splice(t,1)}getFullReader(){qe(!this._fullRequestReader,"PDFDataTransportStream.getFullReader can only be called once.");const e=this._queuedChunks;return this._queuedChunks=null,new li(this,e,this._progressiveDone,this._contentDispositionFilename)}getRangeReader(e,t){if(t<=this._progressiveDataLength)return null;const A=new Ii(this,e,t);return this._pdfDataRangeTransport.requestDataRange(e,t),this._rangeReaders.push(A),A}cancelAllRequests(e){this._fullRequestReader?.cancel(e);for(const t of this._rangeReaders.slice(0))t.cancel(e);this._pdfDataRangeTransport.abort()}}class li{constructor(e,t,A=!1,i=null){this._stream=e,this._done=A||!1,this._filename=Lt(i)?i:null,this._queuedChunks=t||[],this._loaded=0;for(const e of this._queuedChunks)this._loaded+=e.byteLength;this._requests=[],this._headersReady=Promise.resolve(),e._fullRequestReader=this,this.onProgress=null}_enqueue(e){if(!this._done){if(this._requests.length>0){this._requests.shift().resolve({value:e,done:!1})}else this._queuedChunks.push(e);this._loaded+=e.byteLength}}get headersReady(){return this._headersReady}get filename(){return this._filename}get isRangeSupported(){return this._stream._isRangeSupported}get isStreamingSupported(){return this._stream._isStreamingSupported}get contentLength(){return this._stream._contentLength}async read(){if(this._queuedChunks.length>0){return{value:this._queuedChunks.shift(),done:!1}}if(this._done)return{value:void 0,done:!0};const e=Promise.withResolvers();return this._requests.push(e),e.promise}cancel(e){this._done=!0;for(const e of this._requests)e.resolve({value:void 0,done:!0});this._requests.length=0}progressiveDone(){this._done||(this._done=!0)}}class Ii{constructor(e,t,A){this._stream=e,this._begin=t,this._end=A,this._queuedChunk=null,this._requests=[],this._done=!1,this.onProgress=null}_enqueue(e){if(!this._done){if(0===this._requests.length)this._queuedChunk=e;else{this._requests.shift().resolve({value:e,done:!1});for(const e of this._requests)e.resolve({value:void 0,done:!0});this._requests.length=0}this._done=!0,this._stream._removeRangeReader(this)}}get isStreamingSupported(){return!1}async read(){if(this._queuedChunk){const e=this._queuedChunk;return this._queuedChunk=null,{value:e,done:!1}}if(this._done)return{value:void 0,done:!0};const e=Promise.withResolvers();return this._requests.push(e),e.promise}cancel(e){this._done=!0;for(const e of this._requests)e.resolve({value:void 0,done:!0});this._requests.length=0,this._stream._removeRangeReader(this)}}function di({getResponseHeader:e,isHttp:t,rangeChunkSize:A,disableRange:i}){const s={allowRangeRequests:!1,suggestedLength:void 0},a=parseInt(e("Content-Length"),10);if(!Number.isInteger(a))return s;if(s.suggestedLength=a,a<=2*A)return s;if(i||!t)return s;if("bytes"!==e("Accept-Ranges"))return s;return"identity"!==(e("Content-Encoding")||"identity")||(s.allowRangeRequests=!0),s}function Ci(e){const t=e("Content-Disposition");if(t){let e=function(e){let t=!0,A=i("filename\\*","i").exec(e);if(A){A=A[1];let e=n(A);return e=unescape(e),e=r(e),e=o(e),a(e)}if(A=function(e){const t=[];let A;const s=i("filename\\*((?!0\\d)\\d+)(\\*?)","ig");for(;null!==(A=s.exec(e));){let[,e,i,s]=A;if(e=parseInt(e,10),e in t){if(0===e)break}else t[e]=[i,s]}const a=[];for(let e=0;e<t.length&&e in t;++e){let[A,i]=t[e];i=n(i),A&&(i=unescape(i),0===e&&(i=r(i))),a.push(i)}return a.join("")}(e),A)return a(o(A));if(A=i("filename","i").exec(e),A){A=A[1];let e=n(A);return e=o(e),a(e)}function i(e,t){return new RegExp("(?:^|;)\\s*"+e+'\\s*=\\s*([^";\\s][^;\\s]*|"(?:[^"\\\\]|\\\\"?)+"?)',t)}function s(e,A){if(e){if(!/^[\x00-\xFF]+$/.test(A))return A;try{const i=new TextDecoder(e,{fatal:!0}),s=it(A);A=i.decode(s),t=!1}catch{}}return A}function a(e){return t&&/[\x80-\xff]/.test(e)&&(e=s("utf-8",e),t&&(e=s("iso-8859-1",e))),e}function n(e){if(e.startsWith('"')){const t=e.slice(1).split('\\"');for(let e=0;e<t.length;++e){const A=t[e].indexOf('"');-1!==A&&(t[e]=t[e].slice(0,A),t.length=e+1),t[e]=t[e].replaceAll(/\\(.)/g,"$1")}e=t.join('"')}return e}function r(e){const t=e.indexOf("'");return-1===t?e:s(e.slice(0,t),e.slice(t+1).replace(/^[^']*'/,""))}function o(e){return!e.startsWith("=?")||/[\x00-\x19\x80-\xff]/.test(e)?e:e.replaceAll(/=\?([\w-]*)\?([QqBb])\?((?:[^?]|\?(?!=))*)\?=/g,(function(e,t,A,i){if("q"===A||"Q"===A)return s(t,i=(i=i.replaceAll("_"," ")).replaceAll(/=([0-9a-fA-F]{2})/g,(function(e,t){return String.fromCharCode(parseInt(t,16))})));try{i=atob(i)}catch{}return s(t,i)}))}return""}(t);if(e.includes("%"))try{e=decodeURIComponent(e)}catch{}if(Lt(e))return e}return null}function ui(e,t){return 404===e||0===e&&t.startsWith("file:")?new ze('Missing PDF "'+t+'".'):new $e(`Unexpected server response (${e}) while retrieving PDF "${t}".`,e)}function Bi(e){return 200===e||206===e}function Qi(e,t,A){return{method:"GET",headers:e,signal:A.signal,mode:"cors",credentials:t?"include":"same-origin",redirect:"follow"}}function Ei(e){const t=new Headers;for(const A in e){const i=e[A];void 0!==i&&t.append(A,i)}return t}function fi(e){return e instanceof Uint8Array?e.buffer:e instanceof ArrayBuffer?e:(Ke(`getArrayBuffer - unexpected data format: ${e}`),new Uint8Array(e).buffer)}class pi{constructor(e){this.source=e,this.isHttp=/^https?:/i.test(e.url),this.httpHeaders=this.isHttp&&e.httpHeaders||{},this._fullRequestReader=null,this._rangeRequestReaders=[]}get _progressiveDataLength(){return this._fullRequestReader?._loaded??0}getFullReader(){return qe(!this._fullRequestReader,"PDFFetchStream.getFullReader can only be called once."),this._fullRequestReader=new mi(this),this._fullRequestReader}getRangeReader(e,t){if(t<=this._progressiveDataLength)return null;const A=new yi(this,e,t);return this._rangeRequestReaders.push(A),A}cancelAllRequests(e){this._fullRequestReader?.cancel(e);for(const t of this._rangeRequestReaders.slice(0))t.cancel(e)}}class mi{constructor(e){this._stream=e,this._reader=null,this._loaded=0,this._filename=null;const t=e.source;this._withCredentials=t.withCredentials||!1,this._contentLength=t.length,this._headersCapability=Promise.withResolvers(),this._disableRange=t.disableRange||!1,this._rangeChunkSize=t.rangeChunkSize,this._rangeChunkSize||this._disableRange||(this._disableRange=!0),this._abortController=new AbortController,this._isStreamingSupported=!t.disableStream,this._isRangeSupported=!t.disableRange,this._headers=Ei(this._stream.httpHeaders);const A=t.url;fetch(A,Qi(this._headers,this._withCredentials,this._abortController)).then((e=>{if(!Bi(e.status))throw ui(e.status,A);this._reader=e.body.getReader(),this._headersCapability.resolve();const t=t=>e.headers.get(t),{allowRangeRequests:i,suggestedLength:s}=di({getResponseHeader:t,isHttp:this._stream.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});this._isRangeSupported=i,this._contentLength=s||this._contentLength,this._filename=Ci(t),!this._isStreamingSupported&&this._isRangeSupported&&this.cancel(new tt("Streaming is disabled."))})).catch(this._headersCapability.reject),this.onProgress=null}get headersReady(){return this._headersCapability.promise}get filename(){return this._filename}get contentLength(){return this._contentLength}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}async read(){await this._headersCapability.promise;const{value:e,done:t}=await this._reader.read();return t?{value:e,done:t}:(this._loaded+=e.byteLength,this.onProgress?.({loaded:this._loaded,total:this._contentLength}),{value:fi(e),done:!1})}cancel(e){this._reader?.cancel(e),this._abortController.abort()}}class yi{constructor(e,t,A){this._stream=e,this._reader=null,this._loaded=0;const i=e.source;this._withCredentials=i.withCredentials||!1,this._readCapability=Promise.withResolvers(),this._isStreamingSupported=!i.disableStream,this._abortController=new AbortController,this._headers=Ei(this._stream.httpHeaders),this._headers.append("Range",`bytes=${t}-${A-1}`);const s=i.url;fetch(s,Qi(this._headers,this._withCredentials,this._abortController)).then((e=>{if(!Bi(e.status))throw ui(e.status,s);this._readCapability.resolve(),this._reader=e.body.getReader()})).catch(this._readCapability.reject),this.onProgress=null}get isStreamingSupported(){return this._isStreamingSupported}async read(){await this._readCapability.promise;const{value:e,done:t}=await this._reader.read();return t?{value:e,done:t}:(this._loaded+=e.byteLength,this.onProgress?.({loaded:this._loaded}),{value:fi(e),done:!1})}cancel(e){this._reader?.cancel(e),this._abortController.abort()}}class wi{constructor(e,t={}){this.url=e,this.isHttp=/^https?:/i.test(e),this.httpHeaders=this.isHttp&&t.httpHeaders||Object.create(null),this.withCredentials=t.withCredentials||!1,this.currXhrId=0,this.pendingRequests=Object.create(null)}requestRange(e,t,A){const i={begin:e,end:t};for(const e in A)i[e]=A[e];return this.request(i)}requestFull(e){return this.request(e)}request(e){const t=new XMLHttpRequest,A=this.currXhrId++,i=this.pendingRequests[A]={xhr:t};t.open("GET",this.url),t.withCredentials=this.withCredentials;for(const e in this.httpHeaders){const A=this.httpHeaders[e];void 0!==A&&t.setRequestHeader(e,A)}return this.isHttp&&"begin"in e&&"end"in e?(t.setRequestHeader("Range",`bytes=${e.begin}-${e.end-1}`),i.expectedStatus=206):i.expectedStatus=200,t.responseType="arraybuffer",e.onError&&(t.onerror=function(A){e.onError(t.status)}),t.onreadystatechange=this.onStateChange.bind(this,A),t.onprogress=this.onProgress.bind(this,A),i.onHeadersReceived=e.onHeadersReceived,i.onDone=e.onDone,i.onError=e.onError,i.onProgress=e.onProgress,t.send(null),A}onProgress(e,t){const A=this.pendingRequests[e];A&&A.onProgress?.(t)}onStateChange(e,t){const A=this.pendingRequests[e];if(!A)return;const i=A.xhr;if(i.readyState>=2&&A.onHeadersReceived&&(A.onHeadersReceived(),delete A.onHeadersReceived),4!==i.readyState)return;if(!(e in this.pendingRequests))return;if(delete this.pendingRequests[e],0===i.status&&this.isHttp)return void A.onError?.(i.status);const s=i.status||200;if(!(200===s&&206===A.expectedStatus)&&s!==A.expectedStatus)return void A.onError?.(i.status);const a=function(e){const t=e.response;return"string"!=typeof t?t:it(t).buffer}(i);if(206===s){const e=i.getResponseHeader("Content-Range"),t=/bytes (\d+)-(\d+)\/(\d+)/.exec(e);A.onDone({begin:parseInt(t[1],10),chunk:a})}else a?A.onDone({begin:0,chunk:a}):A.onError?.(i.status)}getRequestXhr(e){return this.pendingRequests[e].xhr}isPendingRequest(e){return e in this.pendingRequests}abortRequest(e){const t=this.pendingRequests[e].xhr;delete this.pendingRequests[e],t.abort()}}class bi{constructor(e){this._source=e,this._manager=new wi(e.url,{httpHeaders:e.httpHeaders,withCredentials:e.withCredentials}),this._rangeChunkSize=e.rangeChunkSize,this._fullRequestReader=null,this._rangeRequestReaders=[]}_onRangeRequestReaderClosed(e){const t=this._rangeRequestReaders.indexOf(e);t>=0&&this._rangeRequestReaders.splice(t,1)}getFullReader(){return qe(!this._fullRequestReader,"PDFNetworkStream.getFullReader can only be called once."),this._fullRequestReader=new Di(this._manager,this._source),this._fullRequestReader}getRangeReader(e,t){const A=new ki(this._manager,e,t);return A.onClosed=this._onRangeRequestReaderClosed.bind(this),this._rangeRequestReaders.push(A),A}cancelAllRequests(e){this._fullRequestReader?.cancel(e);for(const t of this._rangeRequestReaders.slice(0))t.cancel(e)}}class Di{constructor(e,t){this._manager=e;const A={onHeadersReceived:this._onHeadersReceived.bind(this),onDone:this._onDone.bind(this),onError:this._onError.bind(this),onProgress:this._onProgress.bind(this)};this._url=t.url,this._fullRequestId=e.requestFull(A),this._headersReceivedCapability=Promise.withResolvers(),this._disableRange=t.disableRange||!1,this._contentLength=t.length,this._rangeChunkSize=t.rangeChunkSize,this._rangeChunkSize||this._disableRange||(this._disableRange=!0),this._isStreamingSupported=!1,this._isRangeSupported=!1,this._cachedChunks=[],this._requests=[],this._done=!1,this._storedError=void 0,this._filename=null,this.onProgress=null}_onHeadersReceived(){const e=this._fullRequestId,t=this._manager.getRequestXhr(e),A=e=>t.getResponseHeader(e),{allowRangeRequests:i,suggestedLength:s}=di({getResponseHeader:A,isHttp:this._manager.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});i&&(this._isRangeSupported=!0),this._contentLength=s||this._contentLength,this._filename=Ci(A),this._isRangeSupported&&this._manager.abortRequest(e),this._headersReceivedCapability.resolve()}_onDone(e){if(e)if(this._requests.length>0){this._requests.shift().resolve({value:e.chunk,done:!1})}else this._cachedChunks.push(e.chunk);if(this._done=!0,!(this._cachedChunks.length>0)){for(const e of this._requests)e.resolve({value:void 0,done:!0});this._requests.length=0}}_onError(e){this._storedError=ui(e,this._url),this._headersReceivedCapability.reject(this._storedError);for(const e of this._requests)e.reject(this._storedError);this._requests.length=0,this._cachedChunks.length=0}_onProgress(e){this.onProgress?.({loaded:e.loaded,total:e.lengthComputable?e.total:this._contentLength})}get filename(){return this._filename}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}get contentLength(){return this._contentLength}get headersReady(){return this._headersReceivedCapability.promise}async read(){if(this._storedError)throw this._storedError;if(this._cachedChunks.length>0){return{value:this._cachedChunks.shift(),done:!1}}if(this._done)return{value:void 0,done:!0};const e=Promise.withResolvers();return this._requests.push(e),e.promise}cancel(e){this._done=!0,this._headersReceivedCapability.reject(e);for(const e of this._requests)e.resolve({value:void 0,done:!0});this._requests.length=0,this._manager.isPendingRequest(this._fullRequestId)&&this._manager.abortRequest(this._fullRequestId),this._fullRequestReader=null}}class ki{constructor(e,t,A){this._manager=e;const i={onDone:this._onDone.bind(this),onError:this._onError.bind(this),onProgress:this._onProgress.bind(this)};this._url=e.url,this._requestId=e.requestRange(t,A,i),this._requests=[],this._queuedChunk=null,this._done=!1,this._storedError=void 0,this.onProgress=null,this.onClosed=null}_close(){this.onClosed?.(this)}_onDone(e){const t=e.chunk;if(this._requests.length>0){this._requests.shift().resolve({value:t,done:!1})}else this._queuedChunk=t;this._done=!0;for(const e of this._requests)e.resolve({value:void 0,done:!0});this._requests.length=0,this._close()}_onError(e){this._storedError=ui(e,this._url);for(const e of this._requests)e.reject(this._storedError);this._requests.length=0,this._queuedChunk=null}_onProgress(e){this.isStreamingSupported||this.onProgress?.({loaded:e.loaded})}get isStreamingSupported(){return!1}async read(){if(this._storedError)throw this._storedError;if(null!==this._queuedChunk){const e=this._queuedChunk;return this._queuedChunk=null,{value:e,done:!1}}if(this._done)return{value:void 0,done:!0};const e=Promise.withResolvers();return this._requests.push(e),e.promise}cancel(e){this._done=!0;for(const e of this._requests)e.resolve({value:void 0,done:!0});this._requests.length=0,this._manager.isPendingRequest(this._requestId)&&this._manager.abortRequest(this._requestId),this._close()}}const Si=/^file:\/\/\/[a-zA-Z]:\//;class Fi{constructor(e){this.source=e,this.url=function(e){const t=QA.get("url"),A=t.parse(e);return"file:"===A.protocol||A.host?A:/^[a-z]:[/\\]/i.test(e)?t.parse(`file:///${e}`):(A.host||(A.protocol="file:"),A)}(e.url),this.isHttp="http:"===this.url.protocol||"https:"===this.url.protocol,this.isFsUrl="file:"===this.url.protocol,this.httpHeaders=this.isHttp&&e.httpHeaders||{},this._fullRequestReader=null,this._rangeRequestReaders=[]}get _progressiveDataLength(){return this._fullRequestReader?._loaded??0}getFullReader(){return qe(!this._fullRequestReader,"PDFNodeStream.getFullReader can only be called once."),this._fullRequestReader=this.isFsUrl?new Gi(this):new Ni(this),this._fullRequestReader}getRangeReader(e,t){if(t<=this._progressiveDataLength)return null;const A=this.isFsUrl?new Li(this,e,t):new Mi(this,e,t);return this._rangeRequestReaders.push(A),A}cancelAllRequests(e){this._fullRequestReader?.cancel(e);for(const t of this._rangeRequestReaders.slice(0))t.cancel(e)}}class Ri{constructor(e){this._url=e.url,this._done=!1,this._storedError=null,this.onProgress=null;const t=e.source;this._contentLength=t.length,this._loaded=0,this._filename=null,this._disableRange=t.disableRange||!1,this._rangeChunkSize=t.rangeChunkSize,this._rangeChunkSize||this._disableRange||(this._disableRange=!0),this._isStreamingSupported=!t.disableStream,this._isRangeSupported=!t.disableRange,this._readableStream=null,this._readCapability=Promise.withResolvers(),this._headersCapability=Promise.withResolvers()}get headersReady(){return this._headersCapability.promise}get filename(){return this._filename}get contentLength(){return this._contentLength}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}async read(){if(await this._readCapability.promise,this._done)return{value:void 0,done:!0};if(this._storedError)throw this._storedError;const e=this._readableStream.read();if(null===e)return this._readCapability=Promise.withResolvers(),this.read();this._loaded+=e.length,this.onProgress?.({loaded:this._loaded,total:this._contentLength});return{value:new Uint8Array(e).buffer,done:!1}}cancel(e){this._readableStream?this._readableStream.destroy(e):this._error(e)}_error(e){this._storedError=e,this._readCapability.resolve()}_setReadableStream(e){this._readableStream=e,e.on("readable",(()=>{this._readCapability.resolve()})),e.on("end",(()=>{e.destroy(),this._done=!0,this._readCapability.resolve()})),e.on("error",(e=>{this._error(e)})),!this._isStreamingSupported&&this._isRangeSupported&&this._error(new tt("streaming is disabled")),this._storedError&&this._readableStream.destroy(this._storedError)}}class xi{constructor(e){this._url=e.url,this._done=!1,this._storedError=null,this.onProgress=null,this._loaded=0,this._readableStream=null,this._readCapability=Promise.withResolvers();const t=e.source;this._isStreamingSupported=!t.disableStream}get isStreamingSupported(){return this._isStreamingSupported}async read(){if(await this._readCapability.promise,this._done)return{value:void 0,done:!0};if(this._storedError)throw this._storedError;const e=this._readableStream.read();if(null===e)return this._readCapability=Promise.withResolvers(),this.read();this._loaded+=e.length,this.onProgress?.({loaded:this._loaded});return{value:new Uint8Array(e).buffer,done:!1}}cancel(e){this._readableStream?this._readableStream.destroy(e):this._error(e)}_error(e){this._storedError=e,this._readCapability.resolve()}_setReadableStream(e){this._readableStream=e,e.on("readable",(()=>{this._readCapability.resolve()})),e.on("end",(()=>{e.destroy(),this._done=!0,this._readCapability.resolve()})),e.on("error",(e=>{this._error(e)})),this._storedError&&this._readableStream.destroy(this._storedError)}}function vi(e,t){return{protocol:e.protocol,auth:e.auth,host:e.hostname,port:e.port,path:e.path,method:"GET",headers:t}}class Ni extends Ri{constructor(e){super(e);const t=t=>{if(404===t.statusCode){const e=new ze(`Missing PDF "${this._url}".`);return this._storedError=e,void this._headersCapability.reject(e)}this._headersCapability.resolve(),this._setReadableStream(t);const A=e=>this._readableStream.headers[e.toLowerCase()],{allowRangeRequests:i,suggestedLength:s}=di({getResponseHeader:A,isHttp:e.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});this._isRangeSupported=i,this._contentLength=s||this._contentLength,this._filename=Ci(A)};if(this._request=null,"http:"===this._url.protocol){const A=QA.get("http");this._request=A.request(vi(this._url,e.httpHeaders),t)}else{const A=QA.get("https");this._request=A.request(vi(this._url,e.httpHeaders),t)}this._request.on("error",(e=>{this._storedError=e,this._headersCapability.reject(e)})),this._request.end()}}class Mi extends xi{constructor(e,t,A){super(e),this._httpHeaders={};for(const t in e.httpHeaders){const A=e.httpHeaders[t];void 0!==A&&(this._httpHeaders[t]=A)}this._httpHeaders.Range=`bytes=${t}-${A-1}`;const i=e=>{if(404!==e.statusCode)this._setReadableStream(e);else{const e=new ze(`Missing PDF "${this._url}".`);this._storedError=e}};if(this._request=null,"http:"===this._url.protocol){const e=QA.get("http");this._request=e.request(vi(this._url,this._httpHeaders),i)}else{const e=QA.get("https");this._request=e.request(vi(this._url,this._httpHeaders),i)}this._request.on("error",(e=>{this._storedError=e})),this._request.end()}}class Gi extends Ri{constructor(e){super(e);let t=decodeURIComponent(this._url.path);Si.test(this._url.href)&&(t=t.replace(/^\//,""));const A=QA.get("fs");A.promises.lstat(t).then((e=>{this._contentLength=e.size,this._setReadableStream(A.createReadStream(t)),this._headersCapability.resolve()}),(e=>{"ENOENT"===e.code&&(e=new ze(`Missing PDF "${t}".`)),this._storedError=e,this._headersCapability.reject(e)}))}}class Li extends xi{constructor(e,t,A){super(e);let i=decodeURIComponent(this._url.path);Si.test(this._url.href)&&(i=i.replace(/^\//,""));const s=QA.get("fs");this._setReadableStream(s.createReadStream(i,{start:t,end:A-1}))}}const Ui=30;let Hi=class e{#Wt=Promise.withResolvers();#ue=null;#jt=!1;#Vt=!!globalThis.FontInspector?.enabled;#Zt=null;#Xt=null;#zt=0;#$t=0;#eA=null;#tA=null;#AA=0;#iA=0;#sA=Object.create(null);#aA=[];#nA=null;#rA=[];#oA=new WeakMap;#gA=null;static#hA=new Map;static#cA=new Map;static#lA=new Set;constructor({textContentSource:t,container:A,viewport:i}){if(t instanceof ReadableStream)this.#nA=t;else{if("object"!=typeof t)throw new Error('No "textContentSource" parameter specified.');this.#nA=new ReadableStream({start(e){e.enqueue(t),e.close()}})}this.#ue=this.#tA=A,this.#iA=i.scale*(globalThis.devicePixelRatio||1),this.#AA=i.rotation,this.#Xt={prevFontSize:null,prevFontFamily:null,div:null,properties:null,ctx:null};const{pageWidth:s,pageHeight:a,pageX:n,pageY:r}=i.rawDims;this.#gA=[1,0,0,-1,-n,r+a],this.#$t=s,this.#zt=a,jt(A,i),this.#Wt.promise.catch((()=>{})).then((()=>{e.#lA.delete(this),this.#Xt=null,this.#sA=null}))}render(){const t=()=>{this.#eA.read().then((({value:e,done:A})=>{A?this.#Wt.resolve():(this.#Zt??=e.lang,Object.assign(this.#sA,e.styles),this.#IA(e.items),t())}),this.#Wt.reject)};return this.#eA=this.#nA.getReader(),e.#lA.add(this),t(),this.#Wt.promise}update({viewport:t,onBefore:A=null}){const i=t.scale*(globalThis.devicePixelRatio||1),s=t.rotation;if(s!==this.#AA&&(A?.(),this.#AA=s,jt(this.#tA,{rotation:s})),i!==this.#iA){A?.(),this.#iA=i;const t={prevFontSize:null,prevFontFamily:null,div:null,properties:null,ctx:e.#dA(this.#Zt)};for(const e of this.#rA)t.properties=this.#oA.get(e),t.div=e,this.#CA(t)}}cancel(){const e=new tt("TextLayer task cancelled.");this.#eA?.cancel(e).catch((()=>{})),this.#eA=null,this.#Wt.reject(e)}get textDivs(){return this.#rA}get textContentItemsStr(){return this.#aA}#IA(t){if(this.#jt)return;this.#Xt.ctx||=e.#dA(this.#Zt);const A=this.#rA,i=this.#aA;for(const e of t){if(A.length>1e5)return Ke("Ignoring additional textDivs for performance reasons."),void(this.#jt=!0);if(void 0!==e.str)i.push(e.str),this.#uA(e);else if("beginMarkedContentProps"===e.type||"beginMarkedContent"===e.type){const t=this.#ue;this.#ue=document.createElement("span"),this.#ue.classList.add("markedContent"),null!==e.id&&this.#ue.setAttribute("id",`${e.id}`),t.append(this.#ue)}else"endMarkedContent"===e.type&&(this.#ue=this.#ue.parentNode)}}#uA(t){const A=document.createElement("span"),i={angle:0,canvasWidth:0,hasText:""!==t.str,hasEOL:t.hasEOL,fontSize:0};this.#rA.push(A);const s=rt.transform(this.#gA,t.transform);let a=Math.atan2(s[1],s[0]);const n=this.#sA[t.fontName];n.vertical&&(a+=Math.PI/2);const r=this.#Vt&&n.fontSubstitution||n.fontFamily,o=Math.hypot(s[2],s[3]),g=o*e.#BA(r,this.#Zt);let h,c;0===a?(h=s[4],c=s[5]-g):(h=s[4]+g*Math.sin(a),c=s[5]-g*Math.cos(a));const l="calc(var(--scale-factor)*",I=A.style;this.#ue===this.#tA?(I.left=`${(100*h/this.#$t).toFixed(2)}%`,I.top=`${(100*c/this.#zt).toFixed(2)}%`):(I.left=`${l}${h.toFixed(2)}px)`,I.top=`${l}${c.toFixed(2)}px)`),I.fontSize=`${l}${o.toFixed(2)}px)`,I.fontFamily=r,i.fontSize=o,A.setAttribute("role","presentation"),A.textContent=t.str,A.dir=t.dir,this.#Vt&&(A.dataset.fontName=n.fontSubstitutionLoadedName||t.fontName),0!==a&&(i.angle=a*(180/Math.PI));let d=!1;if(t.str.length>1)d=!0;else if(" "!==t.str&&t.transform[0]!==t.transform[3]){const e=Math.abs(t.transform[0]),A=Math.abs(t.transform[3]);e!==A&&Math.max(e,A)/Math.min(e,A)>1.5&&(d=!0)}if(d&&(i.canvasWidth=n.vertical?t.height:t.width),this.#oA.set(A,i),this.#Xt.div=A,this.#Xt.properties=i,this.#CA(this.#Xt),i.hasText&&this.#ue.append(A),i.hasEOL){const e=document.createElement("br");e.setAttribute("role","presentation"),this.#ue.append(e)}}#CA(e){const{div:t,properties:A,ctx:i,prevFontSize:s,prevFontFamily:a}=e,{style:n}=t;let r="";if(0!==A.canvasWidth&&A.hasText){const{fontFamily:o}=n,{canvasWidth:g,fontSize:h}=A;s===h&&a===o||(i.font=`${h*this.#iA}px ${o}`,e.prevFontSize=h,e.prevFontFamily=o);const{width:c}=i.measureText(t.textContent);c>0&&(r=`scaleX(${g*this.#iA/c})`)}0!==A.angle&&(r=`rotate(${A.angle}deg) ${r}`),r.length>0&&(n.transform=r)}static cleanup(){if(!(this.#lA.size>0)){this.#hA.clear();for(const{canvas:e}of this.#cA.values())e.remove();this.#cA.clear()}}static#dA(e=null){let t=this.#cA.get(e||="");if(!t){const A=document.createElement("canvas");A.className="hiddenCanvasElement",A.lang=e,document.body.append(A),t=A.getContext("2d",{alpha:!1}),this.#cA.set(e,t)}return t}static#BA(e,t){const A=this.#hA.get(e);if(A)return A;const i=this.#dA(t),s=i.font;i.canvas.width=i.canvas.height=Ui,i.font=`30px ${e}`;const a=i.measureText("");let n=a.fontBoundingBoxAscent,r=Math.abs(a.fontBoundingBoxDescent);if(n){const t=n/(n+r);return this.#hA.set(e,t),i.canvas.width=i.canvas.height=0,i.font=s,t}i.strokeStyle="red",i.clearRect(0,0,Ui,Ui),i.strokeText("g",0,0);let o=i.getImageData(0,0,Ui,Ui).data;r=0;for(let e=o.length-1-3;e>=0;e-=4)if(o[e]>0){r=Math.ceil(e/4/Ui);break}i.clearRect(0,0,Ui,Ui),i.strokeText("A",0,Ui),o=i.getImageData(0,0,Ui,Ui).data,n=0;for(let e=0,t=o.length;e<t;e+=4)if(o[e]>0){n=Ui-Math.floor(e/4/Ui);break}i.canvas.width=i.canvas.height=0,i.font=s;const g=n?n/(n+r):.8;return this.#hA.set(e,g),g}};function Ji(){Yt("`renderTextLayer`, please use `TextLayer` instead.");const{textContentSource:e,container:t,viewport:A,...i}=arguments[0],s=Object.keys(i);s.length>0&&Ke("Ignoring `renderTextLayer` parameters: "+s.join(", "));const a=new Hi({textContentSource:e,container:t,viewport:A}),{textDivs:n,textContentItemsStr:r}=a;return{promise:a.render(),textDivs:n,textContentItemsStr:r}}function Ti(){Yt("`updateTextLayer`, please use `TextLayer` instead.")}class Pi{static textContent(e){const t=[],A={items:t,styles:Object.create(null)};return function e(A){if(!A)return;let i=null;const s=A.name;if("#text"===s)i=A.value;else{if(!Pi.shouldBuildText(s))return;A?.attributes?.textContent?i=A.attributes.textContent:A.value&&(i=A.value)}if(null!==i&&t.push({str:i}),A.children)for(const t of A.children)e(t)}(e),A}static shouldBuildText(e){return!("textarea"===e||"input"===e||"option"===e||"select"===e)}}const Yi=65536,Ki=q?class extends mt{_createCanvas(e,t){return QA.get("canvas").createCanvas(e,t)}}:class extends mt{constructor({ownerDocument:e=globalThis.document}={}){super(),this._document=e}_createCanvas(e,t){const A=this._document.createElement("canvas");return A.width=e,A.height=t,A}},_i=q?class extends yt{_fetchData(e,t){return EA(e).then((e=>({cMapData:e,compressionType:t})))}}:Ft,qi=q?class extends pt{}:class extends pt{#QA;#EA;#fA;#pA;#mA;#u=0;constructor({docId:e,ownerDocument:t=globalThis.document}={}){super(),this.#fA=e,this.#pA=t}get#Q(){return this.#QA||=new Map}get#yA(){return this.#mA||=new Map}get#wA(){if(!this.#EA){const e=this.#pA.createElement("div"),{style:t}=e;t.visibility="hidden",t.contain="strict",t.width=t.height=0,t.position="absolute",t.top=t.left=0,t.zIndex=-1;const A=this.#pA.createElementNS(Dt,"svg");A.setAttribute("width",0),A.setAttribute("height",0),this.#EA=this.#pA.createElementNS(Dt,"defs"),e.append(A),A.append(this.#EA),this.#pA.body.append(e)}return this.#EA}#bA(e){if(1===e.length){const t=e[0],A=new Array(256);for(let e=0;e<256;e++)A[e]=t[e]/255;const i=A.join(",");return[i,i,i]}const[t,A,i]=e,s=new Array(256),a=new Array(256),n=new Array(256);for(let e=0;e<256;e++)s[e]=t[e]/255,a[e]=A[e]/255,n[e]=i[e]/255;return[s.join(","),a.join(","),n.join(",")]}addFilter(e){if(!e)return"none";let t=this.#Q.get(e);if(t)return t;const[A,i,s]=this.#bA(e),a=1===e.length?A:`${A}${i}${s}`;if(t=this.#Q.get(a),t)return this.#Q.set(e,t),t;const n=`g_${this.#fA}_transfer_map_${this.#u++}`,r=`url(#${n})`;this.#Q.set(e,r),this.#Q.set(a,r);const o=this.#DA(n);return this.#kA(A,i,s,o),r}addHCMFilter(e,t){const A=`${e}-${t}`,i="base";let s=this.#yA.get(i);if(s?.key===A)return s.url;if(s?(s.filter?.remove(),s.key=A,s.url="none",s.filter=null):(s={key:A,url:"none",filter:null},this.#yA.set(i,s)),!e||!t)return s.url;const a=this.#SA(e);e=rt.makeHexColor(...a);const n=this.#SA(t);if(t=rt.makeHexColor(...n),this.#wA.style.color="","#000000"===e&&"#ffffff"===t||e===t)return s.url;const r=new Array(256);for(let e=0;e<=255;e++){const t=e/255;r[e]=t<=.03928?t/12.92:((t+.055)/1.055)**2.4}const o=r.join(","),g=`g_${this.#fA}_hcm_filter`,h=s.filter=this.#DA(g);this.#kA(o,o,o,h),this.#FA(h);const c=(e,t)=>{const A=a[e]/255,i=n[e]/255,s=new Array(t+1);for(let e=0;e<=t;e++)s[e]=A+e/t*(i-A);return s.join(",")};return this.#kA(c(0,5),c(1,5),c(2,5),h),s.url=`url(#${g})`,s.url}addAlphaFilter(e){let t=this.#Q.get(e);if(t)return t;const[A]=this.#bA([e]),i=`alpha_${A}`;if(t=this.#Q.get(i),t)return this.#Q.set(e,t),t;const s=`g_${this.#fA}_alpha_map_${this.#u++}`,a=`url(#${s})`;this.#Q.set(e,a),this.#Q.set(i,a);const n=this.#DA(s);return this.#RA(A,n),a}addLuminosityFilter(e){let t,A,i=this.#Q.get(e||"luminosity");if(i)return i;if(e?([t]=this.#bA([e]),A=`luminosity_${t}`):A="luminosity",i=this.#Q.get(A),i)return this.#Q.set(e,i),i;const s=`g_${this.#fA}_luminosity_map_${this.#u++}`,a=`url(#${s})`;this.#Q.set(e,a),this.#Q.set(A,a);const n=this.#DA(s);return this.#xA(n),e&&this.#RA(t,n),a}addHighlightHCMFilter(e,t,A,i,s){const a=`${t}-${A}-${i}-${s}`;let n=this.#yA.get(e);if(n?.key===a)return n.url;if(n?(n.filter?.remove(),n.key=a,n.url="none",n.filter=null):(n={key:a,url:"none",filter:null},this.#yA.set(e,n)),!t||!A)return n.url;const[r,o]=[t,A].map(this.#SA.bind(this));let g=Math.round(.2126*r[0]+.7152*r[1]+.0722*r[2]),h=Math.round(.2126*o[0]+.7152*o[1]+.0722*o[2]),[c,l]=[i,s].map(this.#SA.bind(this));h<g&&([g,h,c,l]=[h,g,l,c]),this.#wA.style.color="";const I=(e,t,A)=>{const i=new Array(256),s=(h-g)/A,a=e/255,n=(t-e)/(255*A);let r=0;for(let e=0;e<=A;e++){const t=Math.round(g+e*s),A=a+e*n;for(let e=r;e<=t;e++)i[e]=A;r=t+1}for(let e=r;e<256;e++)i[e]=i[r-1];return i.join(",")},d=`g_${this.#fA}_hcm_${e}_filter`,C=n.filter=this.#DA(d);return this.#FA(C),this.#kA(I(c[0],l[0],5),I(c[1],l[1],5),I(c[2],l[2],5),C),n.url=`url(#${d})`,n.url}destroy(e=!1){e&&0!==this.#yA.size||(this.#EA&&(this.#EA.parentNode.parentNode.remove(),this.#EA=null),this.#QA&&(this.#QA.clear(),this.#QA=null),this.#u=0)}#xA(e){const t=this.#pA.createElementNS(Dt,"feColorMatrix");t.setAttribute("type","matrix"),t.setAttribute("values","0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0.59 0.11 0 0"),e.append(t)}#FA(e){const t=this.#pA.createElementNS(Dt,"feColorMatrix");t.setAttribute("type","matrix"),t.setAttribute("values","0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0"),e.append(t)}#DA(e){const t=this.#pA.createElementNS(Dt,"filter");return t.setAttribute("color-interpolation-filters","sRGB"),t.setAttribute("id",e),this.#wA.append(t),t}#vA(e,t,A){const i=this.#pA.createElementNS(Dt,t);i.setAttribute("type","discrete"),i.setAttribute("tableValues",A),e.append(i)}#kA(e,t,A,i){const s=this.#pA.createElementNS(Dt,"feComponentTransfer");i.append(s),this.#vA(s,"feFuncR",e),this.#vA(s,"feFuncG",t),this.#vA(s,"feFuncB",A)}#RA(e,t){const A=this.#pA.createElementNS(Dt,"feComponentTransfer");t.append(A),this.#vA(A,"feFuncA",e)}#SA(e){return this.#wA.style.color=e,qt(getComputedStyle(this.#wA).getPropertyValue("color"))}},Oi=q?class extends wt{_fetchData(e){return EA(e)}}:Rt;function Wi(e){if("string"==typeof e||e instanceof URL?e={url:e}:(e instanceof ArrayBuffer||ArrayBuffer.isView(e))&&(e={data:e}),"object"!=typeof e)throw new Error("Invalid parameter in getDocument, need parameter object.");if(!e.url&&!e.data&&!e.range)throw new Error("Invalid parameter object: need either .data, .range or .url");const t=new Vi,{docId:A}=t,i=e.url?function(e){if(e instanceof URL)return e.href;try{return new URL(e,window.location).href}catch{if(q&&"string"==typeof e)return e}throw new Error("Invalid PDF url data: either string or URL-object is expected in the url property.")}(e.url):null,s=e.data?function(e){if(q&&"undefined"!=typeof Buffer&&e instanceof Buffer)throw new Error("Please provide binary data as `Uint8Array`, rather than `Buffer`.");if(e instanceof Uint8Array&&e.byteLength===e.buffer.byteLength)return e;if("string"==typeof e)return it(e);if(e instanceof ArrayBuffer||ArrayBuffer.isView(e)||"object"==typeof e&&!isNaN(e?.length))return new Uint8Array(e);throw new Error("Invalid PDF binary data: either TypedArray, string, or array-like object is expected in the data property.")}(e.data):null,a=e.httpHeaders||null,n=!0===e.withCredentials,r=e.password??null,o=e.range instanceof Zi?e.range:null,g=Number.isInteger(e.rangeChunkSize)&&e.rangeChunkSize>0?e.rangeChunkSize:Yi;let h=e.worker instanceof ts?e.worker:null;const c=e.verbosity,l="string"!=typeof e.docBaseUrl||Gt(e.docBaseUrl)?null:e.docBaseUrl,I="string"==typeof e.cMapUrl?e.cMapUrl:null,d=!1!==e.cMapPacked,C=e.CMapReaderFactory||_i,u="string"==typeof e.standardFontDataUrl?e.standardFontDataUrl:null,B=e.StandardFontDataFactory||Oi,Q=!0!==e.stopAtErrors,E=Number.isInteger(e.maxImageSize)&&e.maxImageSize>-1?e.maxImageSize:-1,f=!1!==e.isEvalSupported,p="boolean"==typeof e.isOffscreenCanvasSupported?e.isOffscreenCanvasSupported:!q,m=Number.isInteger(e.canvasMaxAreaInBytes)?e.canvasMaxAreaInBytes:-1,y="boolean"==typeof e.disableFontFace?e.disableFontFace:q,w=!0===e.fontExtraProperties,b=!0===e.enableXfa,D=e.ownerDocument||globalThis.document,k=!0===e.disableRange,S=!0===e.disableStream,F=!0===e.disableAutoFetch,R=!0===e.pdfBug,x=o?o.length:e.length??NaN,v="boolean"==typeof e.useSystemFonts?e.useSystemFonts:!q&&!y,N="boolean"==typeof e.useWorkerFetch?e.useWorkerFetch:C===Ft&&B===Rt&&I&&u&&Tt(I,document.baseURI)&&Tt(u,document.baseURI),M=e.canvasFactory||new Ki({ownerDocument:D}),G=e.filterFactory||new qi({docId:A,ownerDocument:D});var L;L=c,Number.isInteger(L)&&(Te=L);const U={canvasFactory:M,filterFactory:G};if(N||(U.cMapReaderFactory=new C({baseUrl:I,isCompressed:d}),U.standardFontDataFactory=new B({baseUrl:u})),!h){const e={verbosity:c,port:jA.workerPort};h=e.port?ts.fromPort(e):new ts(e),t._worker=h}const H={docId:A,apiVersion:"4.3.136",data:s,password:r,disableAutoFetch:F,rangeChunkSize:g,length:x,docBaseUrl:l,enableXfa:b,evaluatorOptions:{maxImageSize:E,disableFontFace:y,ignoreErrors:Q,isEvalSupported:f,isOffscreenCanvasSupported:p,canvasMaxAreaInBytes:m,fontExtraProperties:w,useSystemFonts:v,cMapUrl:N?I:null,standardFontDataUrl:N?u:null}},J={disableFontFace:y,fontExtraProperties:w,ownerDocument:D,pdfBug:R,styleElement:null,loadingParams:{disableAutoFetch:F,enableXfa:b}};return h.promise.then((function(){if(t.destroyed)throw new Error("Loading aborted");if(h.destroyed)throw new Error("Worker was destroyed");const e=h.messageHandler.sendWithPromise("GetDocRequest",H,s?[s.buffer]:null);let r;if(o)r=new ci(o,{disableRange:k,disableStream:S});else if(!s){r=(e=>{if(q){return function(){return"undefined"!=typeof fetch&&"undefined"!=typeof Response&&"body"in Response.prototype}()&&Tt(e.url)?new pi(e):new Fi(e)}return Tt(e.url)?new pi(e):new bi(e)})({url:i,length:x,httpHeaders:a,withCredentials:n,rangeChunkSize:g,disableRange:k,disableStream:S})}return e.then((e=>{if(t.destroyed)throw new Error("Loading aborted");if(h.destroyed)throw new Error("Worker was destroyed");const i=new ni(A,e,h.port),s=new As(i,t,r,J,U);t._transport=s,i.send("Ready",null)}))})).catch(t._capability.reject),t}function ji(e){return"object"==typeof e&&Number.isInteger(e?.num)&&e.num>=0&&Number.isInteger(e?.gen)&&e.gen>=0}class Vi{static#fA=0;constructor(){this._capability=Promise.withResolvers(),this._transport=null,this._worker=null,this.docId="d"+Vi.#fA++,this.destroyed=!1,this.onPassword=null,this.onProgress=null}get promise(){return this._capability.promise}async destroy(){this.destroyed=!0;try{this._worker?.port&&(this._worker._pendingDestroy=!0),await(this._transport?.destroy())}catch(e){throw this._worker?.port&&delete this._worker._pendingDestroy,e}this._transport=null,this._worker&&(this._worker.destroy(),this._worker=null)}}let Zi=class{constructor(e,t,A=!1,i=null){this.length=e,this.initialData=t,this.progressiveDone=A,this.contentDispositionFilename=i,this._rangeListeners=[],this._progressListeners=[],this._progressiveReadListeners=[],this._progressiveDoneListeners=[],this._readyCapability=Promise.withResolvers()}addRangeListener(e){this._rangeListeners.push(e)}addProgressListener(e){this._progressListeners.push(e)}addProgressiveReadListener(e){this._progressiveReadListeners.push(e)}addProgressiveDoneListener(e){this._progressiveDoneListeners.push(e)}onDataRange(e,t){for(const A of this._rangeListeners)A(e,t)}onDataProgress(e,t){this._readyCapability.promise.then((()=>{for(const A of this._progressListeners)A(e,t)}))}onDataProgressiveRead(e){this._readyCapability.promise.then((()=>{for(const t of this._progressiveReadListeners)t(e)}))}onDataProgressiveDone(){this._readyCapability.promise.then((()=>{for(const e of this._progressiveDoneListeners)e()}))}transportReady(){this._readyCapability.resolve()}requestDataRange(e,t){_e("Abstract method PDFDataRangeTransport.requestDataRange")}abort(){}};class Xi{constructor(e,t){this._pdfInfo=e,this._transport=t}get annotationStorage(){return this._transport.annotationStorage}get filterFactory(){return this._transport.filterFactory}get numPages(){return this._pdfInfo.numPages}get fingerprints(){return this._pdfInfo.fingerprints}get isPureXfa(){return We(this,"isPureXfa",!!this._transport._htmlForXfa)}get allXfaHtml(){return this._transport._htmlForXfa}getPage(e){return this._transport.getPage(e)}getPageIndex(e){return this._transport.getPageIndex(e)}getDestinations(){return this._transport.getDestinations()}getDestination(e){return this._transport.getDestination(e)}getPageLabels(){return this._transport.getPageLabels()}getPageLayout(){return this._transport.getPageLayout()}getPageMode(){return this._transport.getPageMode()}getViewerPreferences(){return this._transport.getViewerPreferences()}getOpenAction(){return this._transport.getOpenAction()}getAttachments(){return this._transport.getAttachments()}getJSActions(){return this._transport.getDocJSActions()}getOutline(){return this._transport.getOutline()}getOptionalContentConfig({intent:e="display"}={}){const{renderingIntent:t}=this._transport.getRenderingIntent(e);return this._transport.getOptionalContentConfig(t)}getPermissions(){return this._transport.getPermissions()}getMetadata(){return this._transport.getMetadata()}getMarkInfo(){return this._transport.getMarkInfo()}getData(){return this._transport.getData()}saveDocument(){return this._transport.saveDocument()}getDownloadInfo(){return this._transport.downloadInfoCapability.promise}cleanup(e=!1){return this._transport.startCleanup(e||this.isPureXfa)}destroy(){return this.loadingTask.destroy()}cachedPageNumber(e){return this._transport.cachedPageNumber(e)}get loadingParams(){return this._transport.loadingParams}get loadingTask(){return this._transport.loadingTask}getFieldObjects(){return this._transport.getFieldObjects()}hasJSActions(){return this._transport.hasJSActions()}getCalculationOrderIds(){return this._transport.getCalculationOrderIds()}}class zi{#NA=null;#MA=!1;constructor(e,t,A,i=!1){this._pageIndex=e,this._pageInfo=t,this._transport=A,this._stats=i?new Jt:null,this._pdfBug=i,this.commonObjs=A.commonObjs,this.objs=new ss,this._maybeCleanupAfterRender=!1,this._intentStates=new Map,this.destroyed=!1}get pageNumber(){return this._pageIndex+1}get rotate(){return this._pageInfo.rotate}get ref(){return this._pageInfo.ref}get userUnit(){return this._pageInfo.userUnit}get view(){return this._pageInfo.view}getViewport({scale:e,rotation:t=this.rotate,offsetX:A=0,offsetY:i=0,dontFlip:s=!1}={}){return new vt({viewBox:this.view,scale:e,rotation:t,offsetX:A,offsetY:i,dontFlip:s})}getAnnotations({intent:e="display"}={}){const{renderingIntent:t}=this._transport.getRenderingIntent(e);return this._transport.getAnnotations(this._pageIndex,t)}getJSActions(){return this._transport.getPageJSActions(this._pageIndex)}get filterFactory(){return this._transport.filterFactory}get isPureXfa(){return We(this,"isPureXfa",!!this._transport._htmlForXfa)}async getXfa(){return this._transport._htmlForXfa?.children[this._pageIndex]||null}render({canvasContext:e,viewport:t,intent:A="display",annotationMode:i=Ae.ENABLE,transform:s=null,background:a=null,optionalContentConfigPromise:n=null,annotationCanvasMap:r=null,pageColors:o=null,printAnnotationStorage:g=null}){this._stats?.time("Overall");const h=this._transport.getRenderingIntent(A,i,g),{renderingIntent:c,cacheKey:l}=h;this.#MA=!1,this.#GA(),n||=this._transport.getOptionalContentConfig(c);let I=this._intentStates.get(l);I||(I=Object.create(null),this._intentStates.set(l,I)),I.streamReaderCancelTimeout&&(clearTimeout(I.streamReaderCancelTimeout),I.streamReaderCancelTimeout=null);const d=!!(c&X);I.displayReadyCapability||(I.displayReadyCapability=Promise.withResolvers(),I.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null},this._stats?.time("Page Request"),this._pumpOperatorList(h));const C=e=>{I.renderTasks.delete(u),(this._maybeCleanupAfterRender||d)&&(this.#MA=!0),this.#LA(!d),e?(u.capability.reject(e),this._abortOperatorList({intentState:I,reason:e instanceof Error?e:new Error(e)})):u.capability.resolve(),this._stats&&(this._stats.timeEnd("Rendering"),this._stats.timeEnd("Overall"),globalThis.Stats?.enabled&&globalThis.Stats.add(this.pageNumber,this._stats))},u=new ns({callback:C,params:{canvasContext:e,viewport:t,transform:s,background:a},objs:this.objs,commonObjs:this.commonObjs,annotationCanvasMap:r,operatorList:I.operatorList,pageIndex:this._pageIndex,canvasFactory:this._transport.canvasFactory,filterFactory:this._transport.filterFactory,useRequestAnimationFrame:!d,pdfBug:this._pdfBug,pageColors:o});(I.renderTasks||=new Set).add(u);const B=u.task;return Promise.all([I.displayReadyCapability.promise,n]).then((([e,t])=>{if(this.destroyed)C();else{if(this._stats?.time("Rendering"),!(t.renderingIntent&c))throw new Error("Must use the same `intent`-argument when calling the `PDFPageProxy.render` and `PDFDocumentProxy.getOptionalContentConfig` methods.");u.initializeGraphics({transparency:e,optionalContentConfig:t}),u.operatorListChanged()}})).catch(C),B}getOperatorList({intent:e="display",annotationMode:t=Ae.ENABLE,printAnnotationStorage:A=null}={}){const i=this._transport.getRenderingIntent(e,t,A,!0);let s,a=this._intentStates.get(i.cacheKey);return a||(a=Object.create(null),this._intentStates.set(i.cacheKey,a)),a.opListReadCapability||(s=Object.create(null),s.operatorListChanged=function(){a.operatorList.lastChunk&&(a.opListReadCapability.resolve(a.operatorList),a.renderTasks.delete(s))},a.opListReadCapability=Promise.withResolvers(),(a.renderTasks||=new Set).add(s),a.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null},this._stats?.time("Page Request"),this._pumpOperatorList(i)),a.opListReadCapability.promise}streamTextContent({includeMarkedContent:e=!1,disableNormalization:t=!1}={}){return this._transport.messageHandler.sendWithStream("GetTextContent",{pageIndex:this._pageIndex,includeMarkedContent:!0===e,disableNormalization:!0===t},{highWaterMark:100,size:e=>e.items.length})}getTextContent(e={}){if(this._transport._htmlForXfa)return this.getXfa().then((e=>Pi.textContent(e)));const t=this.streamTextContent(e);return new Promise((function(e,A){const i=t.getReader(),s={items:[],styles:Object.create(null),lang:null};!function t(){i.read().then((function({value:A,done:i}){i?e(s):(s.lang??=A.lang,Object.assign(s.styles,A.styles),s.items.push(...A.items),t())}),A)}()}))}getStructTree(){return this._transport.getStructTree(this._pageIndex)}_destroy(){this.destroyed=!0;const e=[];for(const t of this._intentStates.values())if(this._abortOperatorList({intentState:t,reason:new Error("Page was destroyed."),force:!0}),!t.opListReadCapability)for(const A of t.renderTasks)e.push(A.completed),A.cancel();return this.objs.clear(),this.#MA=!1,this.#GA(),Promise.all(e)}cleanup(e=!1){this.#MA=!0;const t=this.#LA(!1);return e&&t&&(this._stats&&=new Jt),t}#LA(e=!1){if(this.#GA(),!this.#MA||this.destroyed)return!1;if(e)return this.#NA=setTimeout((()=>{this.#NA=null,this.#LA(!1)}),5e3),!1;for(const{renderTasks:e,operatorList:t}of this._intentStates.values())if(e.size>0||!t.lastChunk)return!1;return this._intentStates.clear(),this.objs.clear(),this.#MA=!1,!0}#GA(){this.#NA&&(clearTimeout(this.#NA),this.#NA=null)}_startRenderPage(e,t){const A=this._intentStates.get(t);A&&(this._stats?.timeEnd("Page Request"),A.displayReadyCapability?.resolve(e))}_renderPageChunk(e,t){for(let A=0,i=e.length;A<i;A++)t.operatorList.fnArray.push(e.fnArray[A]),t.operatorList.argsArray.push(e.argsArray[A]);t.operatorList.lastChunk=e.lastChunk,t.operatorList.separateAnnots=e.separateAnnots;for(const e of t.renderTasks)e.operatorListChanged();e.lastChunk&&this.#LA(!0)}_pumpOperatorList({renderingIntent:e,cacheKey:t,annotationStorageSerializable:A}){const{map:i,transfer:s}=A,a=this._transport.messageHandler.sendWithStream("GetOperatorList",{pageIndex:this._pageIndex,intent:e,cacheKey:t,annotationStorage:i},s).getReader(),n=this._intentStates.get(t);n.streamReader=a;const r=()=>{a.read().then((({value:e,done:t})=>{t?n.streamReader=null:this._transport.destroyed||(this._renderPageChunk(e,n),r())}),(e=>{if(n.streamReader=null,!this._transport.destroyed){if(n.operatorList){n.operatorList.lastChunk=!0;for(const e of n.renderTasks)e.operatorListChanged();this.#LA(!0)}if(n.displayReadyCapability)n.displayReadyCapability.reject(e);else{if(!n.opListReadCapability)throw e;n.opListReadCapability.reject(e)}}}))};r()}_abortOperatorList({intentState:e,reason:t,force:A=!1}){if(e.streamReader){if(e.streamReaderCancelTimeout&&(clearTimeout(e.streamReaderCancelTimeout),e.streamReaderCancelTimeout=null),!A){if(e.renderTasks.size>0)return;if(t instanceof Mt){let A=100;return t.extraDelay>0&&t.extraDelay<1e3&&(A+=t.extraDelay),void(e.streamReaderCancelTimeout=setTimeout((()=>{e.streamReaderCancelTimeout=null,this._abortOperatorList({intentState:e,reason:t,force:!0})}),A))}}if(e.streamReader.cancel(new tt(t.message)).catch((()=>{})),e.streamReader=null,!this._transport.destroyed){for(const[t,A]of this._intentStates)if(A===e){this._intentStates.delete(t);break}this.cleanup()}}}get stats(){return this._stats}}class $i{#UA=new Set;#HA=Promise.resolve();postMessage(e,t){const A={data:structuredClone(e,t?{transfer:t}:null)};this.#HA.then((()=>{for(const e of this.#UA)e.call(this,A)}))}addEventListener(e,t){this.#UA.add(t)}removeEventListener(e,t){this.#UA.delete(t)}terminate(){this.#UA.clear()}}const es={isWorkerDisabled:!1,fakeWorkerId:0};q&&(es.isWorkerDisabled=!0,jA.workerSrc||="./pdf.worker.mjs"),es.isSameOrigin=function(e,t){let A;try{if(A=new URL(e),!A.origin||"null"===A.origin)return!1}catch{return!1}const i=new URL(t,A);return A.origin===i.origin},es.createCDNWrapper=function(e){const t=`await import("${e}");`;return URL.createObjectURL(new Blob([t],{type:"text/javascript"}))};let ts=class e{static#JA;constructor({name:t=null,port:A=null,verbosity:i=Pe()}={}){if(this.name=t,this.destroyed=!1,this.verbosity=i,this._readyCapability=Promise.withResolvers(),this._port=null,this._webWorker=null,this._messageHandler=null,A){if(e.#JA?.has(A))throw new Error("Cannot use more than one PDFWorker per port.");return(e.#JA||=new WeakMap).set(A,this),void this._initializeFromPort(A)}this._initialize()}get promise(){return q?Promise.all([QA.promise,this._readyCapability.promise]):this._readyCapability.promise}get port(){return this._port}get messageHandler(){return this._messageHandler}_initializeFromPort(e){this._port=e,this._messageHandler=new ni("main","worker",e),this._messageHandler.on("ready",(function(){})),this._readyCapability.resolve(),this._messageHandler.send("configure",{verbosity:this.verbosity})}_initialize(){if(!es.isWorkerDisabled&&!e.#TA){let{workerSrc:t}=e;try{es.isSameOrigin(window.location.href,t)||(t=es.createCDNWrapper(new URL(t,window.location).href));const e=new Worker(t,{type:"module"}),A=new ni("main","worker",e),i=()=>{e.removeEventListener("error",s),A.destroy(),e.terminate(),this.destroyed?this._readyCapability.reject(new Error("Worker was destroyed")):this._setupFakeWorker()},s=()=>{this._webWorker||i()};e.addEventListener("error",s),A.on("test",(t=>{e.removeEventListener("error",s),this.destroyed?i():t?(this._messageHandler=A,this._port=e,this._webWorker=e,this._readyCapability.resolve(),A.send("configure",{verbosity:this.verbosity})):(this._setupFakeWorker(),A.destroy(),e.terminate())})),A.on("ready",(t=>{if(e.removeEventListener("error",s),this.destroyed)i();else try{a()}catch{this._setupFakeWorker()}}));const a=()=>{const e=new Uint8Array;A.send("test",e,[e.buffer])};return void a()}catch{Ye("The worker has been disabled.")}}this._setupFakeWorker()}_setupFakeWorker(){es.isWorkerDisabled||(Ke("Setting up fake worker."),es.isWorkerDisabled=!0),e._setupFakeWorkerGlobal.then((e=>{if(this.destroyed)return void this._readyCapability.reject(new Error("Worker was destroyed"));const t=new $i;this._port=t;const A="fake"+es.fakeWorkerId++,i=new ni(A+"_worker",A,t);e.setup(i,t);const s=new ni(A,A+"_worker",t);this._messageHandler=s,this._readyCapability.resolve(),s.send("configure",{verbosity:this.verbosity})})).catch((e=>{this._readyCapability.reject(new Error(`Setting up fake worker failed: "${e.message}".`))}))}destroy(){this.destroyed=!0,this._webWorker&&(this._webWorker.terminate(),this._webWorker=null),e.#JA?.delete(this._port),this._port=null,this._messageHandler&&(this._messageHandler.destroy(),this._messageHandler=null)}static fromPort(t){if(!t?.port)throw new Error("PDFWorker.fromPort - invalid method signature.");const A=this.#JA?.get(t.port);if(A){if(A._pendingDestroy)throw new Error("PDFWorker.fromPort - the worker is being destroyed.\nPlease remember to await `PDFDocumentLoadingTask.destroy()`-calls.");return A}return new e(t)}static get workerSrc(){if(jA.workerSrc)return jA.workerSrc;throw new Error('No "GlobalWorkerOptions.workerSrc" specified.')}static get#TA(){try{return globalThis.pdfjsWorker?.WorkerMessageHandler||null}catch{return null}}static get _setupFakeWorkerGlobal(){return We(this,"_setupFakeWorkerGlobal",(async()=>{if(this.#TA)return this.#TA;return(await import(this.workerSrc)).WorkerMessageHandler})())}};class As{#PA=new Map;#YA=new Map;#KA=new Map;#_A=new Map;#qA=null;constructor(e,t,A,i,s){this.messageHandler=e,this.loadingTask=t,this.commonObjs=new ss,this.fontLoader=new dA({ownerDocument:i.ownerDocument,styleElement:i.styleElement}),this.loadingParams=i.loadingParams,this._params=i,this.canvasFactory=s.canvasFactory,this.filterFactory=s.filterFactory,this.cMapReaderFactory=s.cMapReaderFactory,this.standardFontDataFactory=s.standardFontDataFactory,this.destroyed=!1,this.destroyCapability=null,this._networkStream=A,this._fullReader=null,this._lastProgress=null,this.downloadInfoCapability=Promise.withResolvers(),this.setupMessageHandler()}#OA(e,t=null){const A=this.#PA.get(e);if(A)return A;const i=this.messageHandler.sendWithPromise(e,t);return this.#PA.set(e,i),i}get annotationStorage(){return We(this,"annotationStorage",new lA)}getRenderingIntent(e,t=Ae.ENABLE,A=null,i=!1){let s=Z,a=cA;switch(e){case"any":s=V;break;case"display":break;case"print":s=X;break;default:Ke(`getRenderingIntent - invalid intent: ${e}`)}switch(t){case Ae.DISABLE:s+=ee;break;case Ae.ENABLE:break;case Ae.ENABLE_FORMS:s+=z;break;case Ae.ENABLE_STORAGE:s+=$;a=(s&X&&A instanceof IA?A:this.annotationStorage).serializable;break;default:Ke(`getRenderingIntent - invalid annotationMode: ${t}`)}return i&&(s+=te),{renderingIntent:s,cacheKey:`${s}_${a.hash}`,annotationStorageSerializable:a}}destroy(){if(this.destroyCapability)return this.destroyCapability.promise;this.destroyed=!0,this.destroyCapability=Promise.withResolvers(),this.#qA?.reject(new Error("Worker was destroyed during onPassword callback"));const e=[];for(const t of this.#YA.values())e.push(t._destroy());this.#YA.clear(),this.#KA.clear(),this.#_A.clear(),this.hasOwnProperty("annotationStorage")&&this.annotationStorage.resetModified();const t=this.messageHandler.sendWithPromise("Terminate",null);return e.push(t),Promise.all(e).then((()=>{this.commonObjs.clear(),this.fontLoader.clear(),this.#PA.clear(),this.filterFactory.destroy(),Hi.cleanup(),this._networkStream?.cancelAllRequests(new tt("Worker was terminated.")),this.messageHandler&&(this.messageHandler.destroy(),this.messageHandler=null),this.destroyCapability.resolve()}),this.destroyCapability.reject),this.destroyCapability.promise}setupMessageHandler(){const{messageHandler:e,loadingTask:t}=this;e.on("GetReader",((e,t)=>{qe(this._networkStream,"GetReader - no `IPDFStream` instance available."),this._fullReader=this._networkStream.getFullReader(),this._fullReader.onProgress=e=>{this._lastProgress={loaded:e.loaded,total:e.total}},t.onPull=()=>{this._fullReader.read().then((function({value:e,done:A}){A?t.close():(qe(e instanceof ArrayBuffer,"GetReader - expected an ArrayBuffer."),t.enqueue(new Uint8Array(e),1,[e]))})).catch((e=>{t.error(e)}))},t.onCancel=e=>{this._fullReader.cancel(e),t.ready.catch((e=>{if(!this.destroyed)throw e}))}})),e.on("ReaderHeadersReady",(e=>{const A=Promise.withResolvers(),i=this._fullReader;return i.headersReady.then((()=>{i.isStreamingSupported&&i.isRangeSupported||(this._lastProgress&&t.onProgress?.(this._lastProgress),i.onProgress=e=>{t.onProgress?.({loaded:e.loaded,total:e.total})}),A.resolve({isStreamingSupported:i.isStreamingSupported,isRangeSupported:i.isRangeSupported,contentLength:i.contentLength})}),A.reject),A.promise})),e.on("GetRangeReader",((e,t)=>{qe(this._networkStream,"GetRangeReader - no `IPDFStream` instance available.");const A=this._networkStream.getRangeReader(e.begin,e.end);A?(t.onPull=()=>{A.read().then((function({value:e,done:A}){A?t.close():(qe(e instanceof ArrayBuffer,"GetRangeReader - expected an ArrayBuffer."),t.enqueue(new Uint8Array(e),1,[e]))})).catch((e=>{t.error(e)}))},t.onCancel=e=>{A.cancel(e),t.ready.catch((e=>{if(!this.destroyed)throw e}))}):t.close()})),e.on("GetDoc",(({pdfInfo:e})=>{this._numPages=e.numPages,this._htmlForXfa=e.htmlForXfa,delete e.htmlForXfa,t._capability.resolve(new Xi(e,this))})),e.on("DocException",(function(e){let A;switch(e.name){case"PasswordException":A=new Ve(e.message,e.code);break;case"InvalidPDFException":A=new Xe(e.message);break;case"MissingPDFException":A=new ze(e.message);break;case"UnexpectedResponseException":A=new $e(e.message,e.status);break;case"UnknownErrorException":A=new Ze(e.message,e.details);break;default:_e("DocException - expected a valid Error.")}t._capability.reject(A)})),e.on("PasswordRequest",(e=>{if(this.#qA=Promise.withResolvers(),t.onPassword){const A=e=>{e instanceof Error?this.#qA.reject(e):this.#qA.resolve({password:e})};try{t.onPassword(A,e.code)}catch(e){this.#qA.reject(e)}}else this.#qA.reject(new Ve(e.message,e.code));return this.#qA.promise})),e.on("DataLoaded",(e=>{t.onProgress?.({loaded:e.length,total:e.length}),this.downloadInfoCapability.resolve(e)})),e.on("StartRenderPage",(e=>{if(this.destroyed)return;this.#YA.get(e.pageIndex)._startRenderPage(e.transparency,e.cacheKey)})),e.on("commonobj",(([t,A,i])=>{if(this.destroyed)return null;if(this.commonObjs.has(t))return null;switch(A){case"Font":const{disableFontFace:s,fontExtraProperties:a,pdfBug:n}=this._params;if("error"in i){const e=i.error;Ke(`Error during font loading: ${e}`),this.commonObjs.resolve(t,e);break}const r=n&&globalThis.FontInspector?.enabled?(e,t)=>globalThis.FontInspector.fontAdded(e,t):null,o=new CA(i,{disableFontFace:s,inspectFont:r});this.fontLoader.bind(o).catch((()=>e.sendWithPromise("FontFallback",{id:t}))).finally((()=>{!a&&o.data&&(o.data=null),this.commonObjs.resolve(t,o)}));break;case"CopyLocalImage":const{imageRef:g}=i;qe(g,"The imageRef must be defined.");for(const e of this.#YA.values())for(const[,A]of e.objs)if(A?.ref===g)return A.dataLen?(this.commonObjs.resolve(t,structuredClone(A)),A.dataLen):null;break;case"FontPath":case"Image":case"Pattern":this.commonObjs.resolve(t,i);break;default:throw new Error(`Got unknown common object type ${A}`)}return null})),e.on("obj",(([e,t,A,i])=>{if(this.destroyed)return;const s=this.#YA.get(t);if(!s.objs.has(e))if(0!==s._intentStates.size)switch(A){case"Image":s.objs.resolve(e,i),i?.dataLen>1e7&&(s._maybeCleanupAfterRender=!0);break;case"Pattern":s.objs.resolve(e,i);break;default:throw new Error(`Got unknown object type ${A}`)}else i?.bitmap?.close()})),e.on("DocProgress",(e=>{this.destroyed||t.onProgress?.({loaded:e.loaded,total:e.total})})),e.on("FetchBuiltInCMap",(e=>this.destroyed?Promise.reject(new Error("Worker was destroyed.")):this.cMapReaderFactory?this.cMapReaderFactory.fetch(e):Promise.reject(new Error("CMapReaderFactory not initialized, see the `useWorkerFetch` parameter.")))),e.on("FetchStandardFontData",(e=>this.destroyed?Promise.reject(new Error("Worker was destroyed.")):this.standardFontDataFactory?this.standardFontDataFactory.fetch(e):Promise.reject(new Error("StandardFontDataFactory not initialized, see the `useWorkerFetch` parameter."))))}getData(){return this.messageHandler.sendWithPromise("GetData",null)}saveDocument(){this.annotationStorage.size<=0&&Ke("saveDocument called while `annotationStorage` is empty, please use the getData-method instead.");const{map:e,transfer:t}=this.annotationStorage.serializable;return this.messageHandler.sendWithPromise("SaveDocument",{isPureXfa:!!this._htmlForXfa,numPages:this._numPages,annotationStorage:e,filename:this._fullReader?.filename??null},t).finally((()=>{this.annotationStorage.resetModified()}))}getPage(e){if(!Number.isInteger(e)||e<=0||e>this._numPages)return Promise.reject(new Error("Invalid page request."));const t=e-1,A=this.#KA.get(t);if(A)return A;const i=this.messageHandler.sendWithPromise("GetPage",{pageIndex:t}).then((A=>{if(this.destroyed)throw new Error("Transport destroyed");A.refStr&&this.#_A.set(A.refStr,e);const i=new zi(t,A,this,this._params.pdfBug);return this.#YA.set(t,i),i}));return this.#KA.set(t,i),i}getPageIndex(e){return ji(e)?this.messageHandler.sendWithPromise("GetPageIndex",{num:e.num,gen:e.gen}):Promise.reject(new Error("Invalid pageIndex request."))}getAnnotations(e,t){return this.messageHandler.sendWithPromise("GetAnnotations",{pageIndex:e,intent:t})}getFieldObjects(){return this.#OA("GetFieldObjects")}hasJSActions(){return this.#OA("HasJSActions")}getCalculationOrderIds(){return this.messageHandler.sendWithPromise("GetCalculationOrderIds",null)}getDestinations(){return this.messageHandler.sendWithPromise("GetDestinations",null)}getDestination(e){return"string"!=typeof e?Promise.reject(new Error("Invalid destination request.")):this.messageHandler.sendWithPromise("GetDestination",{id:e})}getPageLabels(){return this.messageHandler.sendWithPromise("GetPageLabels",null)}getPageLayout(){return this.messageHandler.sendWithPromise("GetPageLayout",null)}getPageMode(){return this.messageHandler.sendWithPromise("GetPageMode",null)}getViewerPreferences(){return this.messageHandler.sendWithPromise("GetViewerPreferences",null)}getOpenAction(){return this.messageHandler.sendWithPromise("GetOpenAction",null)}getAttachments(){return this.messageHandler.sendWithPromise("GetAttachments",null)}getDocJSActions(){return this.#OA("GetDocJSActions")}getPageJSActions(e){return this.messageHandler.sendWithPromise("GetPageJSActions",{pageIndex:e})}getStructTree(e){return this.messageHandler.sendWithPromise("GetStructTree",{pageIndex:e})}getOutline(){return this.messageHandler.sendWithPromise("GetOutline",null)}getOptionalContentConfig(e){return this.#OA("GetOptionalContentConfig").then((t=>new hi(t,e)))}getPermissions(){return this.messageHandler.sendWithPromise("GetPermissions",null)}getMetadata(){const e="GetMetadata",t=this.#PA.get(e);if(t)return t;const A=this.messageHandler.sendWithPromise(e,null).then((e=>({info:e[0],metadata:e[1]?new ri(e[1]):null,contentDispositionFilename:this._fullReader?.filename??null,contentLength:this._fullReader?.contentLength??null})));return this.#PA.set(e,A),A}getMarkInfo(){return this.messageHandler.sendWithPromise("GetMarkInfo",null)}async startCleanup(e=!1){if(!this.destroyed){await this.messageHandler.sendWithPromise("Cleanup",null);for(const e of this.#YA.values()){if(!e.cleanup())throw new Error(`startCleanup: Page ${e.pageNumber} is currently rendering.`)}this.commonObjs.clear(),e||this.fontLoader.clear(),this.#PA.clear(),this.filterFactory.destroy(!0),Hi.cleanup()}}cachedPageNumber(e){if(!ji(e))return null;const t=0===e.gen?`${e.num}R`:`${e.num}R${e.gen}`;return this.#_A.get(t)??null}}const is=Symbol("INITIAL_DATA");class ss{#WA=Object.create(null);#jA(e){return this.#WA[e]||={...Promise.withResolvers(),data:is}}get(e,t=null){if(t){const A=this.#jA(e);return A.promise.then((()=>t(A.data))),null}const A=this.#WA[e];if(!A||A.data===is)throw new Error(`Requesting object that isn't resolved yet ${e}.`);return A.data}has(e){const t=this.#WA[e];return!!t&&t.data!==is}resolve(e,t=null){const A=this.#jA(e);A.data=t,A.resolve()}clear(){for(const e in this.#WA){const{data:t}=this.#WA[e];t?.bitmap?.close()}this.#WA=Object.create(null)}*[Symbol.iterator](){for(const e in this.#WA){const{data:t}=this.#WA[e];t!==is&&(yield[e,t])}}}class as{#VA=null;constructor(e){this.#VA=e,this.onContinue=null}get promise(){return this.#VA.capability.promise}cancel(e=0){this.#VA.cancel(null,e)}get separateAnnots(){const{separateAnnots:e}=this.#VA.operatorList;if(!e)return!1;const{annotationCanvasMap:t}=this.#VA;return e.form||e.canvas&&t?.size>0}}class ns{static#ZA=new WeakSet;constructor({callback:e,params:t,objs:A,commonObjs:i,annotationCanvasMap:s,operatorList:a,pageIndex:n,canvasFactory:r,filterFactory:o,useRequestAnimationFrame:g=!1,pdfBug:h=!1,pageColors:c=null}){this.callback=e,this.params=t,this.objs=A,this.commonObjs=i,this.annotationCanvasMap=s,this.operatorListIdx=null,this.operatorList=a,this._pageIndex=n,this.canvasFactory=r,this.filterFactory=o,this._pdfBug=h,this.pageColors=c,this.running=!1,this.graphicsReadyCallback=null,this.graphicsReady=!1,this._useRequestAnimationFrame=!0===g&&"undefined"!=typeof window,this.cancelled=!1,this.capability=Promise.withResolvers(),this.task=new as(this),this._cancelBound=this.cancel.bind(this),this._continueBound=this._continue.bind(this),this._scheduleNextBound=this._scheduleNext.bind(this),this._nextBound=this._next.bind(this),this._canvas=t.canvasContext.canvas}get completed(){return this.capability.promise.catch((function(){}))}initializeGraphics({transparency:e=!1,optionalContentConfig:t}){if(this.cancelled)return;if(this._canvas){if(ns.#ZA.has(this._canvas))throw new Error("Cannot use the same canvas during multiple render() operations. Use different canvas or ensure previous operations were cancelled or completed.");ns.#ZA.add(this._canvas)}this._pdfBug&&globalThis.StepperManager?.enabled&&(this.stepper=globalThis.StepperManager.create(this._pageIndex),this.stepper.init(this.operatorList),this.stepper.nextBreakPoint=this.stepper.getNextBreakPoint());const{canvasContext:A,viewport:i,transform:s,background:a}=this.params;this.gfx=new WA(A,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:t},this.annotationCanvasMap,this.pageColors),this.gfx.beginDrawing({transform:s,viewport:i,transparency:e,background:a}),this.operatorListIdx=0,this.graphicsReady=!0,this.graphicsReadyCallback?.()}cancel(e=null,t=0){this.running=!1,this.cancelled=!0,this.gfx?.endDrawing(),ns.#ZA.delete(this._canvas),this.callback(e||new Mt(`Rendering cancelled, page ${this._pageIndex+1}`,t))}operatorListChanged(){this.graphicsReady?(this.stepper?.updateOperatorList(this.operatorList),this.running||this._continue()):this.graphicsReadyCallback||=this._continueBound}_continue(){this.running=!0,this.cancelled||(this.task.onContinue?this.task.onContinue(this._scheduleNextBound):this._scheduleNext())}_scheduleNext(){this._useRequestAnimationFrame?window.requestAnimationFrame((()=>{this._nextBound().catch(this._cancelBound)})):Promise.resolve().then(this._nextBound).catch(this._cancelBound)}async _next(){this.cancelled||(this.operatorListIdx=this.gfx.executeOperatorList(this.operatorList,this.operatorListIdx,this._continueBound,this.stepper),this.operatorListIdx===this.operatorList.argsArray.length&&(this.running=!1,this.operatorList.lastChunk&&(this.gfx.endDrawing(),ns.#ZA.delete(this._canvas),this.callback())))}}const rs="4.3.136",os="0cec64437";function gs(e){return Math.floor(255*Math.max(0,Math.min(1,e))).toString(16).padStart(2,"0")}function hs(e){return Math.max(0,Math.min(255,255*e))}class cs{static CMYK_G([e,t,A,i]){return["G",1-Math.min(1,.3*e+.59*A+.11*t+i)]}static G_CMYK([e]){return["CMYK",0,0,0,1-e]}static G_RGB([e]){return["RGB",e,e,e]}static G_rgb([e]){return[e=hs(e),e,e]}static G_HTML([e]){const t=gs(e);return`#${t}${t}${t}`}static RGB_G([e,t,A]){return["G",.3*e+.59*t+.11*A]}static RGB_rgb(e){return e.map(hs)}static RGB_HTML(e){return`#${e.map(gs).join("")}`}static T_HTML(){return"#00000000"}static T_rgb(){return[null]}static CMYK_RGB([e,t,A,i]){return["RGB",1-Math.min(1,e+i),1-Math.min(1,A+i),1-Math.min(1,t+i)]}static CMYK_rgb([e,t,A,i]){return[hs(1-Math.min(1,e+i)),hs(1-Math.min(1,A+i)),hs(1-Math.min(1,t+i))]}static CMYK_HTML(e){const t=this.CMYK_RGB(e).slice(1);return this.RGB_HTML(t)}static RGB_CMYK([e,t,A]){const i=1-e,s=1-t,a=1-A;return["CMYK",i,s,a,Math.min(i,s,a)]}}let ls=class{static setupStorage(e,t,A,i,s){const a=i.getValue(t,{value:null});switch(A.name){case"textarea":if(null!==a.value&&(e.textContent=a.value),"print"===s)break;e.addEventListener("input",(e=>{i.setValue(t,{value:e.target.value})}));break;case"input":if("radio"===A.attributes.type||"checkbox"===A.attributes.type){if(a.value===A.attributes.xfaOn?e.setAttribute("checked",!0):a.value===A.attributes.xfaOff&&e.removeAttribute("checked"),"print"===s)break;e.addEventListener("change",(e=>{i.setValue(t,{value:e.target.checked?e.target.getAttribute("xfaOn"):e.target.getAttribute("xfaOff")})}))}else{if(null!==a.value&&e.setAttribute("value",a.value),"print"===s)break;e.addEventListener("input",(e=>{i.setValue(t,{value:e.target.value})}))}break;case"select":if(null!==a.value){e.setAttribute("value",a.value);for(const e of A.children)e.attributes.value===a.value?e.attributes.selected=!0:e.attributes.hasOwnProperty("selected")&&delete e.attributes.selected}e.addEventListener("input",(e=>{const A=e.target.options,s=-1===A.selectedIndex?"":A[A.selectedIndex].value;i.setValue(t,{value:s})}))}}static setAttributes({html:e,element:t,storage:A=null,intent:i,linkService:s}){const{attributes:a}=t,n=e instanceof HTMLAnchorElement;"radio"===a.type&&(a.name=`${a.name}-${i}`);for(const[t,A]of Object.entries(a))if(null!=A)switch(t){case"class":A.length&&e.setAttribute(t,A.join(" "));break;case"dataId":break;case"id":e.setAttribute("data-element-id",A);break;case"style":Object.assign(e.style,A);break;case"textContent":e.textContent=A;break;default:(!n||"href"!==t&&"newWindow"!==t)&&e.setAttribute(t,A)}n&&s.addLinkAttributes(e,a.href,a.newWindow),A&&a.dataId&&this.setupStorage(e,a.dataId,t,A)}static render(e){const t=e.annotationStorage,A=e.linkService,i=e.xfaHtml,s=e.intent||"display",a=document.createElement(i.name);i.attributes&&this.setAttributes({html:a,element:i,intent:s,linkService:A});const n="richText"!==s,r=e.div;if(r.append(a),e.viewport){const t=`matrix(${e.viewport.transform.join(",")})`;r.style.transform=t}n&&r.setAttribute("class","xfaLayer xfaFont");const o=[];if(0===i.children.length){if(i.value){const e=document.createTextNode(i.value);a.append(e),n&&Pi.shouldBuildText(i.name)&&o.push(e)}return{textDivs:o}}const g=[[i,-1,a]];for(;g.length>0;){const[e,i,a]=g.at(-1);if(i+1===e.children.length){g.pop();continue}const r=e.children[++g.at(-1)[1]];if(null===r)continue;const{name:h}=r;if("#text"===h){const e=document.createTextNode(r.value);o.push(e),a.append(e);continue}const c=r?.attributes?.xmlns?document.createElementNS(r.attributes.xmlns,h):document.createElement(h);if(a.append(c),r.attributes&&this.setAttributes({html:c,element:r,storage:t,intent:s,linkService:A}),r.children?.length>0)g.push([r,-1,c]);else if(r.value){const e=document.createTextNode(r.value);n&&Pi.shouldBuildText(h)&&o.push(e),c.append(e)}}for(const e of r.querySelectorAll(".xfaNonInteractive input, .xfaNonInteractive textarea"))e.setAttribute("readOnly",!0);return{textDivs:o}}static update(e){const t=`matrix(${e.viewport.transform.join(",")})`;e.div.style.transform=t,e.div.hidden=!1}};const Is=1e3,ds=new WeakSet;function Cs(e){return{width:e[2]-e[0],height:e[3]-e[1]}}class us{static create(e){switch(e.data.annotationType){case de:return new Qs(e);case Ie:return new Es(e);case Re:switch(e.data.fieldType){case"Tx":return new ps(e);case"Btn":return e.data.radioButton?new ws(e):e.data.checkBox?new ys(e):new bs(e);case"Ch":return new Ds(e);case"Sig":return new ms(e)}return new fs(e);case Se:return new ks(e);case Ce:return new Fs(e);case ue:return new Rs(e);case Be:return new xs(e);case Qe:return new vs(e);case fe:return new Ns(e);case De:return new Gs(e);case ke:return new Ls(e);case Ee:return new Ms(e);case pe:return new Us(e);case me:return new Hs(e);case ye:return new Js(e);case we:return new Ts(e);case be:return new Ps(e);case Fe:return new Ys(e);default:return new Bs(e)}}}class Bs{#XA=null;#zA=!1;#$A=null;constructor(e,{isRenderable:t=!1,ignoreBorder:A=!1,createQuadrilaterals:i=!1}={}){this.isRenderable=t,this.data=e.data,this.layer=e.layer,this.linkService=e.linkService,this.downloadManager=e.downloadManager,this.imageResourcesPath=e.imageResourcesPath,this.renderForms=e.renderForms,this.svgFactory=e.svgFactory,this.annotationStorage=e.annotationStorage,this.enableScripting=e.enableScripting,this.hasJSActions=e.hasJSActions,this._fieldObjects=e.fieldObjects,this.parent=e.parent,t&&(this.container=this._createContainer(A)),i&&this._createQuadrilaterals()}static _hasPopupData({titleObj:e,contentsObj:t,richText:A}){return!!(e?.str||t?.str||A?.str)}get hasPopupData(){return Bs._hasPopupData(this.data)}updateEdited(e){if(!this.container)return;this.#XA||={rect:this.data.rect.slice(0)};const{rect:t}=e;t&&this.#ei(t),this.#$A?.popup.updateEdited(e)}resetEdited(){this.#XA&&(this.#ei(this.#XA.rect),this.#$A?.popup.resetEdited(),this.#XA=null)}#ei(e){const{container:{style:t},data:{rect:A,rotation:i},parent:{viewport:{rawDims:{pageWidth:s,pageHeight:a,pageX:n,pageY:r}}}}=this;A?.splice(0,4,...e);const{width:o,height:g}=Cs(e);t.left=100*(e[0]-n)/s+"%",t.top=100*(a-e[3]+r)/a+"%",0===i?(t.width=100*o/s+"%",t.height=100*g/a+"%"):this.setRotation(i)}_createContainer(e){const{data:t,parent:{page:A,viewport:i}}=this,s=document.createElement("section");s.setAttribute("data-annotation-id",t.id),this instanceof fs||(s.tabIndex=Is);const{style:a}=s;if(a.zIndex=this.parent.zIndex++,t.popupRef&&s.setAttribute("aria-haspopup","dialog"),t.alternativeText&&(s.title=t.alternativeText),t.noRotate&&s.classList.add("norotate"),!t.rect||this instanceof ks){const{rotation:e}=t;return t.hasOwnCanvas||0===e||this.setRotation(e,s),s}const{width:n,height:r}=Cs(t.rect);if(!e&&t.borderStyle.width>0){a.borderWidth=`${t.borderStyle.width}px`;const e=t.borderStyle.horizontalCornerRadius,A=t.borderStyle.verticalCornerRadius;if(e>0||A>0){const t=`calc(${e}px * var(--scale-factor)) / calc(${A}px * var(--scale-factor))`;a.borderRadius=t}else if(this instanceof ws){const e=`calc(${n}px * var(--scale-factor)) / calc(${r}px * var(--scale-factor))`;a.borderRadius=e}switch(t.borderStyle.style){case xe:a.borderStyle="solid";break;case ve:a.borderStyle="dashed";break;case Ne:Ke("Unimplemented border style: beveled");break;case Me:Ke("Unimplemented border style: inset");break;case Ge:a.borderBottomStyle="solid"}const i=t.borderColor||null;i?(this.#zA=!0,a.borderColor=rt.makeHexColor(0|i[0],0|i[1],0|i[2])):a.borderWidth=0}const o=rt.normalizeRect([t.rect[0],A.view[3]-t.rect[1]+A.view[1],t.rect[2],A.view[3]-t.rect[3]+A.view[1]]),{pageWidth:g,pageHeight:h,pageX:c,pageY:l}=i.rawDims;a.left=100*(o[0]-c)/g+"%",a.top=100*(o[1]-l)/h+"%";const{rotation:I}=t;return t.hasOwnCanvas||0===I?(a.width=100*n/g+"%",a.height=100*r/h+"%"):this.setRotation(I,s),s}setRotation(e,t=this.container){if(!this.data.rect)return;const{pageWidth:A,pageHeight:i}=this.parent.viewport.rawDims,{width:s,height:a}=Cs(this.data.rect);let n,r;e%180==0?(n=100*s/A,r=100*a/i):(n=100*a/A,r=100*s/i),t.style.width=`${n}%`,t.style.height=`${r}%`,t.setAttribute("data-main-rotation",(360-e)%360)}get _commonActions(){const e=(e,t,A)=>{const i=A.detail[e],s=i[0],a=i.slice(1);A.target.style[t]=cs[`${s}_HTML`](a),this.annotationStorage.setValue(this.data.id,{[t]:cs[`${s}_rgb`](a)})};return We(this,"_commonActions",{display:e=>{const{display:t}=e.detail,A=t%2==1;this.container.style.visibility=A?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{noView:A,noPrint:1===t||2===t})},print:e=>{this.annotationStorage.setValue(this.data.id,{noPrint:!e.detail.print})},hidden:e=>{const{hidden:t}=e.detail;this.container.style.visibility=t?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{noPrint:t,noView:t})},focus:e=>{setTimeout((()=>e.target.focus({preventScroll:!1})),0)},userName:e=>{e.target.title=e.detail.userName},readonly:e=>{e.target.disabled=e.detail.readonly},required:e=>{this._setRequired(e.target,e.detail.required)},bgColor:t=>{e("bgColor","backgroundColor",t)},fillColor:t=>{e("fillColor","backgroundColor",t)},fgColor:t=>{e("fgColor","color",t)},textColor:t=>{e("textColor","color",t)},borderColor:t=>{e("borderColor","borderColor",t)},strokeColor:t=>{e("strokeColor","borderColor",t)},rotation:e=>{const t=e.detail.rotation;this.setRotation(t),this.annotationStorage.setValue(this.data.id,{rotation:t})}})}_dispatchEventFromSandbox(e,t){const A=this._commonActions;for(const i of Object.keys(t.detail)){const s=e[i]||A[i];s?.(t)}}_setDefaultPropertiesFromJS(e){if(!this.enableScripting)return;const t=this.annotationStorage.getRawValue(this.data.id);if(!t)return;const A=this._commonActions;for(const[i,s]of Object.entries(t)){const a=A[i];if(a){a({detail:{[i]:s},target:e}),delete t[i]}}}_createQuadrilaterals(){if(!this.container)return;const{quadPoints:e}=this.data;if(!e)return;const[t,A,i,s]=this.data.rect;if(1===e.length){const[,{x:a,y:n},{x:r,y:o}]=e[0];if(i===a&&s===n&&t===r&&A===o)return}const{style:a}=this.container;let n;if(this.#zA){const{borderColor:e,borderWidth:t}=a;a.borderWidth=0,n=["url('data:image/svg+xml;utf8,",'<svg xmlns="http://www.w3.org/2000/svg"',' preserveAspectRatio="none" viewBox="0 0 1 1">',`<g fill="transparent" stroke="${e}" stroke-width="${t}">`],this.container.classList.add("hasBorder")}const r=i-t,o=s-A,{svgFactory:g}=this,h=g.createElement("svg");h.classList.add("quadrilateralsContainer"),h.setAttribute("width",0),h.setAttribute("height",0);const c=g.createElement("defs");h.append(c);const l=g.createElement("clipPath"),I=`clippath_${this.data.id}`;l.setAttribute("id",I),l.setAttribute("clipPathUnits","objectBoundingBox"),c.append(l);for(const[,{x:A,y:i},{x:a,y:h}]of e){const e=g.createElement("rect"),c=(a-t)/r,I=(s-i)/o,d=(A-a)/r,C=(i-h)/o;e.setAttribute("x",c),e.setAttribute("y",I),e.setAttribute("width",d),e.setAttribute("height",C),l.append(e),n?.push(`<rect vector-effect="non-scaling-stroke" x="${c}" y="${I}" width="${d}" height="${C}"/>`)}this.#zA&&(n.push("</g></svg>')"),a.backgroundImage=n.join("")),this.container.append(h),this.container.style.clipPath=`url(#${I})`}_createPopup(){const{container:e,data:t}=this;e.setAttribute("aria-haspopup","dialog");const A=this.#$A=new ks({data:{color:t.color,titleObj:t.titleObj,modificationDate:t.modificationDate,contentsObj:t.contentsObj,richText:t.richText,parentRect:t.rect,borderStyle:0,id:`popup_${t.id}`,rotation:t.rotation},parent:this.parent,elements:[this]});this.parent.div.append(A.render())}render(){_e("Abstract method `AnnotationElement.render` called")}_getElementsByName(e,t=null){const A=[];if(this._fieldObjects){const i=this._fieldObjects[e];if(i)for(const{page:e,id:s,exportValues:a}of i){if(-1===e)continue;if(s===t)continue;const i="string"==typeof a?a:null,n=document.querySelector(`[data-element-id="${s}"]`);!n||ds.has(n)?A.push({id:s,exportValue:i,domElement:n}):Ke(`_getElementsByName - element not allowed: ${s}`)}return A}for(const i of document.getElementsByName(e)){const{exportValue:e}=i,s=i.getAttribute("data-element-id");s!==t&&(ds.has(i)&&A.push({id:s,exportValue:e,domElement:i}))}return A}show(){this.container&&(this.container.hidden=!1),this.popup?.maybeShow()}hide(){this.container&&(this.container.hidden=!0),this.popup?.forceHide()}getElementsToTriggerPopup(){return this.container}addHighlightArea(){const e=this.getElementsToTriggerPopup();if(Array.isArray(e))for(const t of e)t.classList.add("highlightArea");else e.classList.add("highlightArea")}get _isEditable(){return!1}_editOnDoubleClick(){if(!this._isEditable)return;const{annotationEditorType:e,data:{id:t}}=this;this.container.addEventListener("dblclick",(()=>{this.linkService.eventBus?.dispatch("switchannotationeditormode",{source:this,mode:e,editId:t})}))}}class Qs extends Bs{constructor(e,t=null){super(e,{isRenderable:!0,ignoreBorder:!!t?.ignoreBorder,createQuadrilaterals:!0}),this.isTooltipOnly=e.data.isTooltipOnly}render(){const{data:e,linkService:t}=this,A=document.createElement("a");A.setAttribute("data-element-id",e.id);let i=!1;return e.url?(t.addLinkAttributes(A,e.url,e.newWindow),i=!0):e.action?(this._bindNamedAction(A,e.action),i=!0):e.attachment?(this.#ti(A,e.attachment,e.attachmentDest),i=!0):e.setOCGState?(this.#Ai(A,e.setOCGState),i=!0):e.dest?(this._bindLink(A,e.dest),i=!0):(e.actions&&(e.actions.Action||e.actions["Mouse Up"]||e.actions["Mouse Down"])&&this.enableScripting&&this.hasJSActions&&(this._bindJSAction(A,e),i=!0),e.resetForm?(this._bindResetFormAction(A,e.resetForm),i=!0):this.isTooltipOnly&&!i&&(this._bindLink(A,""),i=!0)),this.container.classList.add("linkAnnotation"),i&&this.container.append(A),this.container}#ii(){this.container.setAttribute("data-internal-link","")}_bindLink(e,t){e.href=this.linkService.getDestinationHash(t),e.onclick=()=>(t&&this.linkService.goToDestination(t),!1),(t||""===t)&&this.#ii()}_bindNamedAction(e,t){e.href=this.linkService.getAnchorUrl(""),e.onclick=()=>(this.linkService.executeNamedAction(t),!1),this.#ii()}#ti(e,t,A=null){e.href=this.linkService.getAnchorUrl(""),t.description&&(e.title=t.description),e.onclick=()=>(this.downloadManager?.openOrDownloadData(t.content,t.filename,A),!1),this.#ii()}#Ai(e,t){e.href=this.linkService.getAnchorUrl(""),e.onclick=()=>(this.linkService.executeSetOCGState(t),!1),this.#ii()}_bindJSAction(e,t){e.href=this.linkService.getAnchorUrl("");const A=new Map([["Action","onclick"],["Mouse Up","onmouseup"],["Mouse Down","onmousedown"]]);for(const i of Object.keys(t.actions)){const s=A.get(i);s&&(e[s]=()=>(this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:t.id,name:i}}),!1))}e.onclick||(e.onclick=()=>!1),this.#ii()}_bindResetFormAction(e,t){const A=e.onclick;if(A||(e.href=this.linkService.getAnchorUrl("")),this.#ii(),!this._fieldObjects)return Ke('_bindResetFormAction - "resetForm" action not supported, ensure that the `fieldObjects` parameter is provided.'),void(A||(e.onclick=()=>!1));e.onclick=()=>{A?.();const{fields:e,refs:i,include:s}=t,a=[];if(0!==e.length||0!==i.length){const t=new Set(i);for(const A of e){const e=this._fieldObjects[A]||[];for(const{id:A}of e)t.add(A)}for(const e of Object.values(this._fieldObjects))for(const A of e)t.has(A.id)===s&&a.push(A)}else for(const e of Object.values(this._fieldObjects))a.push(...e);const n=this.annotationStorage,r=[];for(const e of a){const{id:t}=e;switch(r.push(t),e.type){case"text":{const A=e.defaultValue||"";n.setValue(t,{value:A});break}case"checkbox":case"radiobutton":{const A=e.defaultValue===e.exportValues;n.setValue(t,{value:A});break}case"combobox":case"listbox":{const A=e.defaultValue||"";n.setValue(t,{value:A});break}default:continue}const A=document.querySelector(`[data-element-id="${t}"]`);A&&(ds.has(A)?A.dispatchEvent(new Event("resetform")):Ke(`_bindResetFormAction - element not allowed: ${t}`))}return this.enableScripting&&this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:"app",ids:r,name:"ResetForm"}}),!1}}}class Es extends Bs{constructor(e){super(e,{isRenderable:!0})}render(){this.container.classList.add("textAnnotation");const e=document.createElement("img");return e.src=this.imageResourcesPath+"annotation-"+this.data.name.toLowerCase()+".svg",e.setAttribute("data-l10n-id","pdfjs-text-annotation-type"),e.setAttribute("data-l10n-args",JSON.stringify({type:this.data.name})),!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container.append(e),this.container}}class fs extends Bs{render(){return this.container}showElementAndHideCanvas(e){this.data.hasOwnCanvas&&("CANVAS"===e.previousSibling?.nodeName&&(e.previousSibling.hidden=!0),e.hidden=!1)}_getKeyModifier(e){return at.platform.isMac?e.metaKey:e.ctrlKey}_setEventListener(e,t,A,i,s){A.includes("mouse")?e.addEventListener(A,(e=>{this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:i,value:s(e),shift:e.shiftKey,modifier:this._getKeyModifier(e)}})})):e.addEventListener(A,(e=>{if("blur"===A){if(!t.focused||!e.relatedTarget)return;t.focused=!1}else if("focus"===A){if(t.focused)return;t.focused=!0}s&&this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:i,value:s(e)}})}))}_setEventListeners(e,t,A,i){for(const[s,a]of A)("Action"===a||this.data.actions?.[a])&&("Focus"!==a&&"Blur"!==a||(t||={focused:!1}),this._setEventListener(e,t,s,a,i),"Focus"!==a||this.data.actions?.Blur?"Blur"!==a||this.data.actions?.Focus||this._setEventListener(e,t,"focus","Focus",null):this._setEventListener(e,t,"blur","Blur",null))}_setBackgroundColor(e){const t=this.data.backgroundColor||null;e.style.backgroundColor=null===t?"transparent":rt.makeHexColor(t[0],t[1],t[2])}_setTextStyle(e){const t=["left","center","right"],{fontColor:A}=this.data.defaultAppearanceData,i=this.data.defaultAppearanceData.fontSize||9,s=e.style;let a;const n=e=>Math.round(10*e)/10;if(this.data.multiLine){const e=Math.abs(this.data.rect[3]-this.data.rect[1]-2),t=e/(Math.round(e/(j*i))||1);a=Math.min(i,n(t/j))}else{const e=Math.abs(this.data.rect[3]-this.data.rect[1]-2);a=Math.min(i,n(e/j))}s.fontSize=`calc(${a}px * var(--scale-factor))`,s.color=rt.makeHexColor(A[0],A[1],A[2]),null!==this.data.textAlignment&&(s.textAlign=t[this.data.textAlignment])}_setRequired(e,t){t?e.setAttribute("required",!0):e.removeAttribute("required"),e.setAttribute("aria-required",t)}}class ps extends fs{constructor(e){super(e,{isRenderable:e.renderForms||e.data.hasOwnCanvas||!e.data.hasAppearance&&!!e.data.fieldValue})}setPropertyOnSiblings(e,t,A,i){const s=this.annotationStorage;for(const a of this._getElementsByName(e.name,e.id))a.domElement&&(a.domElement[t]=A),s.setValue(a.id,{[i]:A})}render(){const e=this.annotationStorage,t=this.data.id;this.container.classList.add("textWidgetAnnotation");let A=null;if(this.renderForms){const i=e.getValue(t,{value:this.data.fieldValue});let s=i.value||"";const a=e.getValue(t,{charLimit:this.data.maxLen}).charLimit;a&&s.length>a&&(s=s.slice(0,a));let n=i.formattedValue||this.data.textContent?.join("\n")||null;n&&this.data.comb&&(n=n.replaceAll(/\s+/g,""));const r={userValue:s,formattedValue:n,lastCommittedValue:null,commitKey:1,focused:!1};this.data.multiLine?(A=document.createElement("textarea"),A.textContent=n??s,this.data.doNotScroll&&(A.style.overflowY="hidden")):(A=document.createElement("input"),A.type="text",A.setAttribute("value",n??s),this.data.doNotScroll&&(A.style.overflowX="hidden")),this.data.hasOwnCanvas&&(A.hidden=!0),ds.add(A),A.setAttribute("data-element-id",t),A.disabled=this.data.readOnly,A.name=this.data.fieldName,A.tabIndex=Is,this._setRequired(A,this.data.required),a&&(A.maxLength=a),A.addEventListener("input",(i=>{e.setValue(t,{value:i.target.value}),this.setPropertyOnSiblings(A,"value",i.target.value,"value"),r.formattedValue=null})),A.addEventListener("resetform",(e=>{const t=this.data.defaultFieldValue??"";A.value=r.userValue=t,r.formattedValue=null}));let o=e=>{const{formattedValue:t}=r;null!=t&&(e.target.value=t),e.target.scrollLeft=0};if(this.enableScripting&&this.hasJSActions){A.addEventListener("focus",(e=>{if(r.focused)return;const{target:t}=e;r.userValue&&(t.value=r.userValue),r.lastCommittedValue=t.value,r.commitKey=1,this.data.actions?.Focus||(r.focused=!0)})),A.addEventListener("updatefromsandbox",(A=>{this.showElementAndHideCanvas(A.target);const i={value(A){r.userValue=A.detail.value??"",e.setValue(t,{value:r.userValue.toString()}),A.target.value=r.userValue},formattedValue(A){const{formattedValue:i}=A.detail;r.formattedValue=i,null!=i&&A.target!==document.activeElement&&(A.target.value=i),e.setValue(t,{formattedValue:i})},selRange(e){e.target.setSelectionRange(...e.detail.selRange)},charLimit:A=>{const{charLimit:i}=A.detail,{target:s}=A;if(0===i)return void s.removeAttribute("maxLength");s.setAttribute("maxLength",i);let a=r.userValue;!a||a.length<=i||(a=a.slice(0,i),s.value=r.userValue=a,e.setValue(t,{value:a}),this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:t,name:"Keystroke",value:a,willCommit:!0,commitKey:1,selStart:s.selectionStart,selEnd:s.selectionEnd}}))}};this._dispatchEventFromSandbox(i,A)})),A.addEventListener("keydown",(e=>{r.commitKey=1;let A=-1;if("Escape"===e.key?A=0:"Enter"!==e.key||this.data.multiLine?"Tab"===e.key&&(r.commitKey=3):A=2,-1===A)return;const{value:i}=e.target;r.lastCommittedValue!==i&&(r.lastCommittedValue=i,r.userValue=i,this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:t,name:"Keystroke",value:i,willCommit:!0,commitKey:A,selStart:e.target.selectionStart,selEnd:e.target.selectionEnd}}))}));const i=o;o=null,A.addEventListener("blur",(e=>{if(!r.focused||!e.relatedTarget)return;this.data.actions?.Blur||(r.focused=!1);const{value:A}=e.target;r.userValue=A,r.lastCommittedValue!==A&&this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:t,name:"Keystroke",value:A,willCommit:!0,commitKey:r.commitKey,selStart:e.target.selectionStart,selEnd:e.target.selectionEnd}}),i(e)})),this.data.actions?.Keystroke&&A.addEventListener("beforeinput",(e=>{r.lastCommittedValue=null;const{data:A,target:i}=e,{value:s,selectionStart:a,selectionEnd:n}=i;let o=a,g=n;switch(e.inputType){case"deleteWordBackward":{const e=s.substring(0,a).match(/\w*[^\w]*$/);e&&(o-=e[0].length);break}case"deleteWordForward":{const e=s.substring(a).match(/^[^\w]*\w*/);e&&(g+=e[0].length);break}case"deleteContentBackward":a===n&&(o-=1);break;case"deleteContentForward":a===n&&(g+=1)}e.preventDefault(),this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:t,name:"Keystroke",value:s,change:A||"",willCommit:!1,selStart:o,selEnd:g}})})),this._setEventListeners(A,r,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],(e=>e.target.value))}if(o&&A.addEventListener("blur",o),this.data.comb){const e=(this.data.rect[2]-this.data.rect[0])/a;A.classList.add("comb"),A.style.letterSpacing=`calc(${e}px * var(--scale-factor) - 1ch)`}}else A=document.createElement("div"),A.textContent=this.data.fieldValue,A.style.verticalAlign="middle",A.style.display="table-cell",this.data.hasOwnCanvas&&(A.hidden=!0);return this._setTextStyle(A),this._setBackgroundColor(A),this._setDefaultPropertiesFromJS(A),this.container.append(A),this.container}}class ms extends fs{constructor(e){super(e,{isRenderable:!!e.data.hasOwnCanvas})}}class ys extends fs{constructor(e){super(e,{isRenderable:e.renderForms})}render(){const e=this.annotationStorage,t=this.data,A=t.id;let i=e.getValue(A,{value:t.exportValue===t.fieldValue}).value;"string"==typeof i&&(i="Off"!==i,e.setValue(A,{value:i})),this.container.classList.add("buttonWidgetAnnotation","checkBox");const s=document.createElement("input");return ds.add(s),s.setAttribute("data-element-id",A),s.disabled=t.readOnly,this._setRequired(s,this.data.required),s.type="checkbox",s.name=t.fieldName,i&&s.setAttribute("checked",!0),s.setAttribute("exportValue",t.exportValue),s.tabIndex=Is,s.addEventListener("change",(i=>{const{name:s,checked:a}=i.target;for(const i of this._getElementsByName(s,A)){const A=a&&i.exportValue===t.exportValue;i.domElement&&(i.domElement.checked=A),e.setValue(i.id,{value:A})}e.setValue(A,{value:a})})),s.addEventListener("resetform",(e=>{const A=t.defaultFieldValue||"Off";e.target.checked=A===t.exportValue})),this.enableScripting&&this.hasJSActions&&(s.addEventListener("updatefromsandbox",(t=>{const i={value(t){t.target.checked="Off"!==t.detail.value,e.setValue(A,{value:t.target.checked})}};this._dispatchEventFromSandbox(i,t)})),this._setEventListeners(s,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],(e=>e.target.checked))),this._setBackgroundColor(s),this._setDefaultPropertiesFromJS(s),this.container.append(s),this.container}}class ws extends fs{constructor(e){super(e,{isRenderable:e.renderForms})}render(){this.container.classList.add("buttonWidgetAnnotation","radioButton");const e=this.annotationStorage,t=this.data,A=t.id;let i=e.getValue(A,{value:t.fieldValue===t.buttonValue}).value;if("string"==typeof i&&(i=i!==t.buttonValue,e.setValue(A,{value:i})),i)for(const i of this._getElementsByName(t.fieldName,A))e.setValue(i.id,{value:!1});const s=document.createElement("input");if(ds.add(s),s.setAttribute("data-element-id",A),s.disabled=t.readOnly,this._setRequired(s,this.data.required),s.type="radio",s.name=t.fieldName,i&&s.setAttribute("checked",!0),s.tabIndex=Is,s.addEventListener("change",(t=>{const{name:i,checked:s}=t.target;for(const t of this._getElementsByName(i,A))e.setValue(t.id,{value:!1});e.setValue(A,{value:s})})),s.addEventListener("resetform",(e=>{const A=t.defaultFieldValue;e.target.checked=null!=A&&A===t.buttonValue})),this.enableScripting&&this.hasJSActions){const i=t.buttonValue;s.addEventListener("updatefromsandbox",(t=>{const s={value:t=>{const s=i===t.detail.value;for(const i of this._getElementsByName(t.target.name)){const t=s&&i.id===A;i.domElement&&(i.domElement.checked=t),e.setValue(i.id,{value:t})}}};this._dispatchEventFromSandbox(s,t)})),this._setEventListeners(s,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],(e=>e.target.checked))}return this._setBackgroundColor(s),this._setDefaultPropertiesFromJS(s),this.container.append(s),this.container}}class bs extends Qs{constructor(e){super(e,{ignoreBorder:e.data.hasAppearance})}render(){const e=super.render();e.classList.add("buttonWidgetAnnotation","pushButton");const t=e.lastChild;return this.enableScripting&&this.hasJSActions&&t&&(this._setDefaultPropertiesFromJS(t),t.addEventListener("updatefromsandbox",(e=>{this._dispatchEventFromSandbox({},e)}))),e}}class Ds extends fs{constructor(e){super(e,{isRenderable:e.renderForms})}render(){this.container.classList.add("choiceWidgetAnnotation");const e=this.annotationStorage,t=this.data.id,A=e.getValue(t,{value:this.data.fieldValue}),i=document.createElement("select");ds.add(i),i.setAttribute("data-element-id",t),i.disabled=this.data.readOnly,this._setRequired(i,this.data.required),i.name=this.data.fieldName,i.tabIndex=Is;let s=this.data.combo&&this.data.options.length>0;this.data.combo||(i.size=this.data.options.length,this.data.multiSelect&&(i.multiple=!0)),i.addEventListener("resetform",(e=>{const t=this.data.defaultFieldValue;for(const e of i.options)e.selected=e.value===t}));for(const e of this.data.options){const t=document.createElement("option");t.textContent=e.displayValue,t.value=e.exportValue,A.value.includes(e.exportValue)&&(t.setAttribute("selected",!0),s=!1),i.append(t)}let a=null;if(s){const e=document.createElement("option");e.value=" ",e.setAttribute("hidden",!0),e.setAttribute("selected",!0),i.prepend(e),a=()=>{e.remove(),i.removeEventListener("input",a),a=null},i.addEventListener("input",a)}const n=e=>{const t=e?"value":"textContent",{options:A,multiple:s}=i;return s?Array.prototype.filter.call(A,(e=>e.selected)).map((e=>e[t])):-1===A.selectedIndex?null:A[A.selectedIndex][t]};let r=n(!1);const o=e=>{const t=e.target.options;return Array.prototype.map.call(t,(e=>({displayValue:e.textContent,exportValue:e.value})))};return this.enableScripting&&this.hasJSActions?(i.addEventListener("updatefromsandbox",(A=>{const s={value(A){a?.();const s=A.detail.value,o=new Set(Array.isArray(s)?s:[s]);for(const e of i.options)e.selected=o.has(e.value);e.setValue(t,{value:n(!0)}),r=n(!1)},multipleSelection(e){i.multiple=!0},remove(A){const s=i.options,a=A.detail.remove;if(s[a].selected=!1,i.remove(a),s.length>0){-1===Array.prototype.findIndex.call(s,(e=>e.selected))&&(s[0].selected=!0)}e.setValue(t,{value:n(!0),items:o(A)}),r=n(!1)},clear(A){for(;0!==i.length;)i.remove(0);e.setValue(t,{value:null,items:[]}),r=n(!1)},insert(A){const{index:s,displayValue:a,exportValue:g}=A.detail.insert,h=i.children[s],c=document.createElement("option");c.textContent=a,c.value=g,h?h.before(c):i.append(c),e.setValue(t,{value:n(!0),items:o(A)}),r=n(!1)},items(A){const{items:s}=A.detail;for(;0!==i.length;)i.remove(0);for(const e of s){const{displayValue:t,exportValue:A}=e,s=document.createElement("option");s.textContent=t,s.value=A,i.append(s)}i.options.length>0&&(i.options[0].selected=!0),e.setValue(t,{value:n(!0),items:o(A)}),r=n(!1)},indices(A){const i=new Set(A.detail.indices);for(const e of A.target.options)e.selected=i.has(e.index);e.setValue(t,{value:n(!0)}),r=n(!1)},editable(e){e.target.disabled=!e.detail.editable}};this._dispatchEventFromSandbox(s,A)})),i.addEventListener("input",(A=>{const i=n(!0),s=n(!1);e.setValue(t,{value:i}),A.preventDefault(),this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:t,name:"Keystroke",value:r,change:s,changeEx:i,willCommit:!1,commitKey:1,keyDown:!1}})})),this._setEventListeners(i,null,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"],["input","Action"],["input","Validate"]],(e=>e.target.value))):i.addEventListener("input",(function(A){e.setValue(t,{value:n(!0)})})),this.data.combo&&this._setTextStyle(i),this._setBackgroundColor(i),this._setDefaultPropertiesFromJS(i),this.container.append(i),this.container}}class ks extends Bs{constructor(e){const{data:t,elements:A}=e;super(e,{isRenderable:Bs._hasPopupData(t)}),this.elements=A,this.popup=null}render(){this.container.classList.add("popupAnnotation");const e=this.popup=new Ss({container:this.container,color:this.data.color,titleObj:this.data.titleObj,modificationDate:this.data.modificationDate,contentsObj:this.data.contentsObj,richText:this.data.richText,rect:this.data.rect,parentRect:this.data.parentRect||null,parent:this.parent,elements:this.elements,open:this.data.open}),t=[];for(const A of this.elements)A.popup=e,t.push(A.data.id),A.addHighlightArea();return this.container.setAttribute("aria-controls",t.map((e=>`${ct}${e}`)).join(",")),this.container}}class Ss{#si=this.#ai.bind(this);#ni=this.#ri.bind(this);#oi=this.#gi.bind(this);#hi=this.#ci.bind(this);#li=null;#ue=null;#Ii=null;#di=null;#Ci=null;#ui=null;#Bi=null;#Qi=!1;#Ei=null;#y=null;#fi=null;#pi=null;#mi=null;#XA=null;#yi=!1;constructor({container:e,color:t,elements:A,titleObj:i,modificationDate:s,contentsObj:a,richText:n,parent:r,rect:o,parentRect:g,open:h}){this.#ue=e,this.#mi=i,this.#Ii=a,this.#pi=n,this.#ui=r,this.#li=t,this.#fi=o,this.#Bi=g,this.#Ci=A,this.#di=Kt.toDateObject(s),this.trigger=A.flatMap((e=>e.getElementsToTriggerPopup()));for(const e of this.trigger)e.addEventListener("click",this.#hi),e.addEventListener("mouseenter",this.#oi),e.addEventListener("mouseleave",this.#ni),e.classList.add("popupTriggerArea");for(const e of A)e.container?.addEventListener("keydown",this.#si);this.#ue.hidden=!0,h&&this.#ci()}render(){if(this.#Ei)return;const e=this.#Ei=document.createElement("div");if(e.className="popup",this.#li){const t=e.style.outlineColor=rt.makeHexColor(...this.#li);if(CSS.supports("background-color","color-mix(in srgb, red 30%, white)"))e.style.backgroundColor=`color-mix(in srgb, ${t} 30%, white)`;else{const t=.7;e.style.backgroundColor=rt.makeHexColor(...this.#li.map((e=>Math.floor(t*(255-e)+e))))}}const t=document.createElement("span");t.className="header";const A=document.createElement("h1");if(t.append(A),({dir:A.dir,str:A.textContent}=this.#mi),e.append(t),this.#di){const e=document.createElement("span");e.classList.add("popupDate"),e.setAttribute("data-l10n-id","pdfjs-annotation-date-string"),e.setAttribute("data-l10n-args",JSON.stringify({date:this.#di.toLocaleDateString(),time:this.#di.toLocaleTimeString()})),t.append(e)}const i=this.#wi;if(i)ls.render({xfaHtml:i,intent:"richText",div:e}),e.lastChild.classList.add("richText","popupContent");else{const t=this._formatContents(this.#Ii);e.append(t)}this.#ue.append(e)}get#wi(){const e=this.#pi,t=this.#Ii;return!e?.str||t?.str&&t.str!==e.str?null:this.#pi.html||null}get#bi(){return this.#wi?.attributes?.style?.fontSize||0}get#Di(){return this.#wi?.attributes?.style?.color||null}#ki(e){const t=[],A={str:e,html:{name:"div",attributes:{dir:"auto"},children:[{name:"p",children:t}]}},i={style:{color:this.#Di,fontSize:this.#bi?`calc(${this.#bi}px * var(--scale-factor))`:""}};for(const A of e.split("\n"))t.push({name:"span",value:A,attributes:i});return A}_formatContents({str:e,dir:t}){const A=document.createElement("p");A.classList.add("popupContent"),A.dir=t;const i=e.split(/(?:\r\n?|\n)/);for(let e=0,t=i.length;e<t;++e){const s=i[e];A.append(document.createTextNode(s)),e<t-1&&A.append(document.createElement("br"))}return A}#ai(e){e.altKey||e.shiftKey||e.ctrlKey||e.metaKey||("Enter"===e.key||"Escape"===e.key&&this.#Qi)&&this.#ci()}updateEdited({rect:e,popupContent:t}){this.#XA||={contentsObj:this.#Ii,richText:this.#pi},e&&(this.#y=null),t&&(this.#pi=this.#ki(t),this.#Ii=null),this.#Ei?.remove(),this.#Ei=null}resetEdited(){this.#XA&&(({contentsObj:this.#Ii,richText:this.#pi}=this.#XA),this.#XA=null,this.#Ei?.remove(),this.#Ei=null,this.#y=null)}#Si(){if(null!==this.#y)return;const{page:{view:e},viewport:{rawDims:{pageWidth:t,pageHeight:A,pageX:i,pageY:s}}}=this.#ui;let a=!!this.#Bi,n=a?this.#Bi:this.#fi;for(const e of this.#Ci)if(!n||null!==rt.intersect(e.data.rect,n)){n=e.data.rect,a=!0;break}const r=rt.normalizeRect([n[0],e[3]-n[1]+e[1],n[2],e[3]-n[3]+e[1]]),o=a?n[2]-n[0]+5:0,g=r[0]+o,h=r[1];this.#y=[100*(g-i)/t,100*(h-s)/A];const{style:c}=this.#ue;c.left=`${this.#y[0]}%`,c.top=`${this.#y[1]}%`}#ci(){this.#Qi=!this.#Qi,this.#Qi?(this.#gi(),this.#ue.addEventListener("click",this.#hi),this.#ue.addEventListener("keydown",this.#si)):(this.#ri(),this.#ue.removeEventListener("click",this.#hi),this.#ue.removeEventListener("keydown",this.#si))}#gi(){this.#Ei||this.render(),this.isVisible?this.#Qi&&this.#ue.classList.add("focused"):(this.#Si(),this.#ue.hidden=!1,this.#ue.style.zIndex=parseInt(this.#ue.style.zIndex)+1e3)}#ri(){this.#ue.classList.remove("focused"),!this.#Qi&&this.isVisible&&(this.#ue.hidden=!0,this.#ue.style.zIndex=parseInt(this.#ue.style.zIndex)-1e3)}forceHide(){this.#yi=this.isVisible,this.#yi&&(this.#ue.hidden=!0)}maybeShow(){this.#yi&&(this.#Ei||this.#gi(),this.#yi=!1,this.#ue.hidden=!1)}get isVisible(){return!1===this.#ue.hidden}}class Fs extends Bs{constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0}),this.textContent=e.data.textContent,this.textPosition=e.data.textPosition,this.annotationEditorType=ie.FREETEXT}render(){if(this.container.classList.add("freeTextAnnotation"),this.textContent){const e=document.createElement("div");e.classList.add("annotationTextContent"),e.setAttribute("role","comment");for(const t of this.textContent){const A=document.createElement("span");A.textContent=t,e.append(A)}this.container.append(e)}return!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this._editOnDoubleClick(),this.container}get _isEditable(){return this.data.hasOwnCanvas}}class Rs extends Bs{#Fi=null;constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0})}render(){this.container.classList.add("lineAnnotation");const e=this.data,{width:t,height:A}=Cs(e.rect),i=this.svgFactory.create(t,A,!0),s=this.#Fi=this.svgFactory.createElement("svg:line");return s.setAttribute("x1",e.rect[2]-e.lineCoordinates[0]),s.setAttribute("y1",e.rect[3]-e.lineCoordinates[1]),s.setAttribute("x2",e.rect[2]-e.lineCoordinates[2]),s.setAttribute("y2",e.rect[3]-e.lineCoordinates[3]),s.setAttribute("stroke-width",e.borderStyle.width||1),s.setAttribute("stroke","transparent"),s.setAttribute("fill","transparent"),i.append(s),this.container.append(i),!e.popupRef&&this.hasPopupData&&this._createPopup(),this.container}getElementsToTriggerPopup(){return this.#Fi}addHighlightArea(){this.container.classList.add("highlightArea")}}class xs extends Bs{#Ri=null;constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0})}render(){this.container.classList.add("squareAnnotation");const e=this.data,{width:t,height:A}=Cs(e.rect),i=this.svgFactory.create(t,A,!0),s=e.borderStyle.width,a=this.#Ri=this.svgFactory.createElement("svg:rect");return a.setAttribute("x",s/2),a.setAttribute("y",s/2),a.setAttribute("width",t-s),a.setAttribute("height",A-s),a.setAttribute("stroke-width",s||1),a.setAttribute("stroke","transparent"),a.setAttribute("fill","transparent"),i.append(a),this.container.append(i),!e.popupRef&&this.hasPopupData&&this._createPopup(),this.container}getElementsToTriggerPopup(){return this.#Ri}addHighlightArea(){this.container.classList.add("highlightArea")}}class vs extends Bs{#xi=null;constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0})}render(){this.container.classList.add("circleAnnotation");const e=this.data,{width:t,height:A}=Cs(e.rect),i=this.svgFactory.create(t,A,!0),s=e.borderStyle.width,a=this.#xi=this.svgFactory.createElement("svg:ellipse");return a.setAttribute("cx",t/2),a.setAttribute("cy",A/2),a.setAttribute("rx",t/2-s/2),a.setAttribute("ry",A/2-s/2),a.setAttribute("stroke-width",s||1),a.setAttribute("stroke","transparent"),a.setAttribute("fill","transparent"),i.append(a),this.container.append(i),!e.popupRef&&this.hasPopupData&&this._createPopup(),this.container}getElementsToTriggerPopup(){return this.#xi}addHighlightArea(){this.container.classList.add("highlightArea")}}class Ns extends Bs{#vi=null;constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0}),this.containerClassName="polylineAnnotation",this.svgElementName="svg:polyline"}render(){this.container.classList.add(this.containerClassName);const e=this.data,{width:t,height:A}=Cs(e.rect),i=this.svgFactory.create(t,A,!0);let s=[];for(const t of e.vertices){const A=t.x-e.rect[0],i=e.rect[3]-t.y;s.push(A+","+i)}s=s.join(" ");const a=this.#vi=this.svgFactory.createElement(this.svgElementName);return a.setAttribute("points",s),a.setAttribute("stroke-width",e.borderStyle.width||1),a.setAttribute("stroke","transparent"),a.setAttribute("fill","transparent"),i.append(a),this.container.append(i),!e.popupRef&&this.hasPopupData&&this._createPopup(),this.container}getElementsToTriggerPopup(){return this.#vi}addHighlightArea(){this.container.classList.add("highlightArea")}}class Ms extends Ns{constructor(e){super(e),this.containerClassName="polygonAnnotation",this.svgElementName="svg:polygon"}}class Gs extends Bs{constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0})}render(){return this.container.classList.add("caretAnnotation"),!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container}}class Ls extends Bs{#Ni=[];constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0}),this.containerClassName="inkAnnotation",this.svgElementName="svg:polyline",this.annotationEditorType=ie.INK}render(){this.container.classList.add(this.containerClassName);const e=this.data,{width:t,height:A}=Cs(e.rect),i=this.svgFactory.create(t,A,!0);for(const t of e.inkLists){let A=[];for(const i of t){const t=i.x-e.rect[0],s=e.rect[3]-i.y;A.push(`${t},${s}`)}A=A.join(" ");const s=this.svgFactory.createElement(this.svgElementName);this.#Ni.push(s),s.setAttribute("points",A),s.setAttribute("stroke-width",e.borderStyle.width||1),s.setAttribute("stroke","transparent"),s.setAttribute("fill","transparent"),!e.popupRef&&this.hasPopupData&&this._createPopup(),i.append(s)}return this.container.append(i),this.container}getElementsToTriggerPopup(){return this.#Ni}addHighlightArea(){this.container.classList.add("highlightArea")}}class Us extends Bs{constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){return!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container.classList.add("highlightAnnotation"),this.container}}class Hs extends Bs{constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){return!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container.classList.add("underlineAnnotation"),this.container}}class Js extends Bs{constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){return!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container.classList.add("squigglyAnnotation"),this.container}}class Ts extends Bs{constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){return!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container.classList.add("strikeoutAnnotation"),this.container}}class Ps extends Bs{constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0})}render(){return this.container.classList.add("stampAnnotation"),!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container}}class Ys extends Bs{#Mi=null;constructor(e){super(e,{isRenderable:!0});const{file:t}=this.data;this.filename=t.filename,this.content=t.content,this.linkService.eventBus?.dispatch("fileattachmentannotation",{source:this,...t})}render(){this.container.classList.add("fileAttachmentAnnotation");const{container:e,data:t}=this;let A;t.hasAppearance||0===t.fillAlpha?A=document.createElement("div"):(A=document.createElement("img"),A.src=`${this.imageResourcesPath}annotation-${/paperclip/i.test(t.name)?"paperclip":"pushpin"}.svg`,t.fillAlpha&&t.fillAlpha<1&&(A.style=`filter: opacity(${Math.round(100*t.fillAlpha)}%);`)),A.addEventListener("dblclick",this.#Gi.bind(this)),this.#Mi=A;const{isMac:i}=at.platform;return e.addEventListener("keydown",(e=>{"Enter"===e.key&&(i?e.metaKey:e.ctrlKey)&&this.#Gi()})),!t.popupRef&&this.hasPopupData?this._createPopup():A.classList.add("popupTriggerArea"),e.append(A),e}getElementsToTriggerPopup(){return this.#Mi}addHighlightArea(){this.container.classList.add("highlightArea")}#Gi(){this.downloadManager?.openOrDownloadData(this.content,this.filename)}}let Ks=class{#Li=null;#Ui=null;#Hi=new Map;constructor({div:e,accessibilityManager:t,annotationCanvasMap:A,annotationEditorUIManager:i,page:s,viewport:a}){this.div=e,this.#Li=t,this.#Ui=A,this.page=s,this.viewport=a,this.zIndex=0,this._annotationEditorUIManager=i}#Ji(e,t){const A=e.firstChild||e;A.id=`${ct}${t}`,this.div.append(e),this.#Li?.moveElementInDOM(this.div,e,A,!1)}async render(e){const{annotations:t}=e,A=this.div;jt(A,this.viewport);const i=new Map,s={data:null,layer:A,linkService:e.linkService,downloadManager:e.downloadManager,imageResourcesPath:e.imageResourcesPath||"",renderForms:!1!==e.renderForms,svgFactory:new xt,annotationStorage:e.annotationStorage||new lA,enableScripting:!0===e.enableScripting,hasJSActions:e.hasJSActions,fieldObjects:e.fieldObjects,parent:this,elements:null};for(const e of t){if(e.noHTML)continue;const t=e.annotationType===Se;if(t){const t=i.get(e.id);if(!t)continue;s.elements=t}else{const{width:t,height:A}=Cs(e.rect);if(t<=0||A<=0)continue}s.data=e;const A=us.create(s);if(!A.isRenderable)continue;if(!t&&e.popupRef){const t=i.get(e.popupRef);t?t.push(A):i.set(e.popupRef,[A])}const a=A.render();e.hidden&&(a.style.visibility="hidden"),this.#Ji(a,e.id),A.annotationEditorType>0&&(this.#Hi.set(A.data.id,A),this._annotationEditorUIManager?.renderAnnotationElement(A))}this.#Ti()}update({viewport:e}){const t=this.div;this.viewport=e,jt(t,{rotation:e.rotation}),this.#Ti(),t.hidden=!1}#Ti(){if(!this.#Ui)return;const e=this.div;for(const[t,A]of this.#Ui){const i=e.querySelector(`[data-annotation-id="${t}"]`);if(!i)continue;A.className="annotationContent";const{firstChild:s}=i;s?"CANVAS"===s.nodeName?s.replaceWith(A):s.classList.contains("annotationContent")?s.after(A):s.before(A):i.append(A)}this.#Ui.clear()}getEditableAnnotations(){return Array.from(this.#Hi.values())}getEditableAnnotation(e){return this.#Hi.get(e)}};const _s=/\r\n?|\n/g;class qs extends aA{#Pi=this.editorDivBlur.bind(this);#Yi=this.editorDivFocus.bind(this);#Ki=this.editorDivInput.bind(this);#_i=this.editorDivKeydown.bind(this);#qi=this.editorDivPaste.bind(this);#li;#Oi="";#Wi=`${this.id}-editor`;#bi;#ji=null;static _freeTextDefaultContent="";static _internalPadding=0;static _defaultColor=null;static _defaultFontSize=10;static get _keyboardManager(){const e=qs.prototype,t=e=>e.isEmpty(),A=iA.TRANSLATE_SMALL,i=iA.TRANSLATE_BIG;return We(this,"_keyboardManager",new tA([[["ctrl+s","mac+meta+s","ctrl+p","mac+meta+p"],e.commitOrRemove,{bubbles:!0}],[["ctrl+Enter","mac+meta+Enter","Escape","mac+Escape"],e.commitOrRemove],[["ArrowLeft","mac+ArrowLeft"],e._translateEmpty,{args:[-A,0],checker:t}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],e._translateEmpty,{args:[-i,0],checker:t}],[["ArrowRight","mac+ArrowRight"],e._translateEmpty,{args:[A,0],checker:t}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],e._translateEmpty,{args:[i,0],checker:t}],[["ArrowUp","mac+ArrowUp"],e._translateEmpty,{args:[0,-A],checker:t}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],e._translateEmpty,{args:[0,-i],checker:t}],[["ArrowDown","mac+ArrowDown"],e._translateEmpty,{args:[0,A],checker:t}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],e._translateEmpty,{args:[0,i],checker:t}]]))}static _type="freetext";static _editorType=ie.FREETEXT;constructor(e){super({...e,name:"freeTextEditor"}),this.#li=e.color||qs._defaultColor||aA._defaultLineColor,this.#bi=e.fontSize||qs._defaultFontSize}static initialize(e,t){aA.initialize(e,t,{strings:["pdfjs-free-text-default-content"]});const A=getComputedStyle(document.documentElement);this._internalPadding=parseFloat(A.getPropertyValue("--freetext-padding"))}static updateDefaultParams(e,t){switch(e){case se.FREETEXT_SIZE:qs._defaultFontSize=t;break;case se.FREETEXT_COLOR:qs._defaultColor=t}}updateParams(e,t){switch(e){case se.FREETEXT_SIZE:this.#Vi(t);break;case se.FREETEXT_COLOR:this.#Zi(t)}}static get defaultPropertiesToUpdate(){return[[se.FREETEXT_SIZE,qs._defaultFontSize],[se.FREETEXT_COLOR,qs._defaultColor||aA._defaultLineColor]]}get propertiesToUpdate(){return[[se.FREETEXT_SIZE,this.#bi],[se.FREETEXT_COLOR,this.#li]]}#Vi(e){const t=e=>{this.editorDiv.style.fontSize=`calc(${e}px * var(--scale-factor))`,this.translate(0,-(e-this.#bi)*this.parentScale),this.#bi=e,this.#Xi()},A=this.#bi;this.addCommands({cmd:t.bind(this,e),undo:t.bind(this,A),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:se.FREETEXT_SIZE,overwriteIfSameType:!0,keepUndo:!0})}#Zi(e){const t=e=>{this.#li=this.editorDiv.style.color=e},A=this.#li;this.addCommands({cmd:t.bind(this,e),undo:t.bind(this,A),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:se.FREETEXT_COLOR,overwriteIfSameType:!0,keepUndo:!0})}_translateEmpty(e,t){this._uiManager.translateSelectedEditors(e,t,!0)}getInitialTranslation(){const e=this.parentScale;return[-qs._internalPadding*e,-(qs._internalPadding+this.#bi)*e]}rebuild(){this.parent&&(super.rebuild(),null!==this.div&&(this.isAttachedToDOM||this.parent.add(this)))}enableEditMode(){this.isInEditMode()||(this.parent.setEditingState(!1),this.parent.updateToolbar(ie.FREETEXT),super.enableEditMode(),this.overlayDiv.classList.remove("enabled"),this.editorDiv.contentEditable=!0,this._isDraggable=!1,this.div.removeAttribute("aria-activedescendant"),this.editorDiv.addEventListener("keydown",this.#_i),this.editorDiv.addEventListener("focus",this.#Yi),this.editorDiv.addEventListener("blur",this.#Pi),this.editorDiv.addEventListener("input",this.#Ki),this.editorDiv.addEventListener("paste",this.#qi))}disableEditMode(){this.isInEditMode()&&(this.parent.setEditingState(!0),super.disableEditMode(),this.overlayDiv.classList.add("enabled"),this.editorDiv.contentEditable=!1,this.div.setAttribute("aria-activedescendant",this.#Wi),this._isDraggable=!0,this.editorDiv.removeEventListener("keydown",this.#_i),this.editorDiv.removeEventListener("focus",this.#Yi),this.editorDiv.removeEventListener("blur",this.#Pi),this.editorDiv.removeEventListener("input",this.#Ki),this.editorDiv.removeEventListener("paste",this.#qi),this.div.focus({preventScroll:!0}),this.isEditing=!1,this.parent.div.classList.add("freetextEditing"))}focusin(e){this._focusEventsAllowed&&(super.focusin(e),e.target!==this.editorDiv&&this.editorDiv.focus())}onceAdded(){this.width||(this.enableEditMode(),this.editorDiv.focus(),this._initialOptions?.isCentered&&this.center(),this._initialOptions=null)}isEmpty(){return!this.editorDiv||""===this.editorDiv.innerText.trim()}remove(){this.isEditing=!1,this.parent&&(this.parent.setEditingState(!0),this.parent.div.classList.add("freetextEditing")),super.remove()}#zi(){const e=[];this.editorDiv.normalize();for(const t of this.editorDiv.childNodes)e.push(qs.#$i(t));return e.join("\n")}#Xi(){const[e,t]=this.parentDimensions;let A;if(this.isAttachedToDOM)A=this.div.getBoundingClientRect();else{const{currentLayer:e,div:t}=this,i=t.style.display,s=t.classList.contains("hidden");t.classList.remove("hidden"),t.style.display="hidden",e.div.append(this.div),A=t.getBoundingClientRect(),t.remove(),t.style.display=i,t.classList.toggle("hidden",s)}this.rotation%180==this.parentRotation%180?(this.width=A.width/e,this.height=A.height/t):(this.width=A.height/e,this.height=A.width/t),this.fixAndSetPosition()}commit(){if(!this.isInEditMode())return;super.commit(),this.disableEditMode();const e=this.#Oi,t=this.#Oi=this.#zi().trimEnd();if(e===t)return;const A=e=>{this.#Oi=e,e?(this.#es(),this._uiManager.rebuild(this),this.#Xi()):this.remove()};this.addCommands({cmd:()=>{A(t)},undo:()=>{A(e)},mustExec:!1}),this.#Xi()}shouldGetKeyboardEvents(){return this.isInEditMode()}enterInEditMode(){this.enableEditMode(),this.editorDiv.focus()}dblclick(e){this.enterInEditMode()}keydown(e){e.target===this.div&&"Enter"===e.key&&(this.enterInEditMode(),e.preventDefault())}editorDivKeydown(e){qs._keyboardManager.exec(this,e)}editorDivFocus(e){this.isEditing=!0}editorDivBlur(e){this.isEditing=!1}editorDivInput(e){this.parent.div.classList.toggle("freetextEditing",this.isEmpty())}disableEditing(){this.editorDiv.setAttribute("role","comment"),this.editorDiv.removeAttribute("aria-multiline")}enableEditing(){this.editorDiv.setAttribute("role","textbox"),this.editorDiv.setAttribute("aria-multiline",!0)}render(){if(this.div)return this.div;let e,t;this.width&&(e=this.x,t=this.y),super.render(),this.editorDiv=document.createElement("div"),this.editorDiv.className="internal",this.editorDiv.setAttribute("id",this.#Wi),this.editorDiv.setAttribute("data-l10n-id","pdfjs-free-text"),this.enableEditing(),aA._l10nPromise.get("pdfjs-free-text-default-content").then((e=>this.editorDiv?.setAttribute("default-content",e))),this.editorDiv.contentEditable=!0;const{style:A}=this.editorDiv;if(A.fontSize=`calc(${this.#bi}px * var(--scale-factor))`,A.color=this.#li,this.div.append(this.editorDiv),this.overlayDiv=document.createElement("div"),this.overlayDiv.classList.add("overlay","enabled"),this.div.append(this.overlayDiv),Xt(this,this.div,["dblclick","keydown"]),this.width){const[A,i]=this.parentDimensions;if(this.annotationElementId){const{position:s}=this.#ji;let[a,n]=this.getInitialTranslation();[a,n]=this.pageTranslationToScreen(a,n);const[r,o]=this.pageDimensions,[g,h]=this.pageTranslation;let c,l;switch(this.rotation){case 0:c=e+(s[0]-g)/r,l=t+this.height-(s[1]-h)/o;break;case 90:c=e+(s[0]-g)/r,l=t-(s[1]-h)/o,[a,n]=[n,-a];break;case 180:c=e-this.width+(s[0]-g)/r,l=t-(s[1]-h)/o,[a,n]=[-a,-n];break;case 270:c=e+(s[0]-g-this.height*o)/r,l=t+(s[1]-h-this.width*r)/o,[a,n]=[-n,a]}this.setAt(c*A,l*i,a,n)}else this.setAt(e*A,t*i,this.width*A,this.height*i);this.#es(),this._isDraggable=!0,this.editorDiv.contentEditable=!1}else this._isDraggable=!1,this.editorDiv.contentEditable=!0;return this.div}static#$i(e){return(e.nodeType===Node.TEXT_NODE?e.nodeValue:e.innerText).replaceAll(_s,"")}editorDivPaste(e){const t=e.clipboardData||window.clipboardData,{types:A}=t;if(1===A.length&&"text/plain"===A[0])return;e.preventDefault();const i=qs.#ts(t.getData("text")||"").replaceAll(_s,"\n");if(!i)return;const s=window.getSelection();if(!s.rangeCount)return;this.editorDiv.normalize(),s.deleteFromDocument();const a=s.getRangeAt(0);if(!i.includes("\n"))return a.insertNode(document.createTextNode(i)),this.editorDiv.normalize(),void s.collapseToStart();const{startContainer:n,startOffset:r}=a,o=[],g=[];if(n.nodeType===Node.TEXT_NODE){const e=n.parentElement;if(g.push(n.nodeValue.slice(r).replaceAll(_s,"")),e!==this.editorDiv){let t=o;for(const A of this.editorDiv.childNodes)A!==e?t.push(qs.#$i(A)):t=g}o.push(n.nodeValue.slice(0,r).replaceAll(_s,""))}else if(n===this.editorDiv){let e=o,t=0;for(const A of this.editorDiv.childNodes)t++===r&&(e=g),e.push(qs.#$i(A))}this.#Oi=`${o.join("\n")}${i}${g.join("\n")}`,this.#es();const h=new Range;let c=o.reduce(((e,t)=>e+t.length),0);for(const{firstChild:e}of this.editorDiv.childNodes)if(e.nodeType===Node.TEXT_NODE){const t=e.nodeValue.length;if(c<=t){h.setStart(e,c),h.setEnd(e,c);break}c-=t}s.removeAllRanges(),s.addRange(h)}#es(){if(this.editorDiv.replaceChildren(),this.#Oi)for(const e of this.#Oi.split("\n")){const t=document.createElement("div");t.append(e?document.createTextNode(e):document.createElement("br")),this.editorDiv.append(t)}}#As(){return this.#Oi.replaceAll(" "," ")}static#ts(e){return e.replaceAll(" "," ")}get contentDiv(){return this.editorDiv}static deserialize(e,t,A){let i=null;if(e instanceof Fs){const{data:{defaultAppearanceData:{fontSize:t,fontColor:A},rect:s,rotation:a,id:n},textContent:r,textPosition:o,parent:{page:{pageNumber:g}}}=e;if(!r||0===r.length)return null;i=e={annotationType:ie.FREETEXT,color:Array.from(A),fontSize:t,value:r.join("\n"),position:o,pageIndex:g-1,rect:s.slice(0),rotation:a,id:n,deleted:!1}}const s=super.deserialize(e,t,A);return s.#bi=e.fontSize,s.#li=rt.makeHexColor(...e.color),s.#Oi=qs.#ts(e.value),s.annotationElementId=e.id||null,s.#ji=i,s}serialize(e=!1){if(this.isEmpty())return null;if(this.deleted)return{pageIndex:this.pageIndex,id:this.annotationElementId,deleted:!0};const t=qs._internalPadding*this.parentScale,A=this.getRect(t,t),i=aA._colorManager.convert(this.isAttachedToDOM?getComputedStyle(this.editorDiv).color:this.#li),s={annotationType:ie.FREETEXT,color:i,fontSize:this.#bi,value:this.#As(),pageIndex:this.pageIndex,rect:A,rotation:this.rotation,structTreeParentId:this._structTreeParentId};return e?s:this.annotationElementId&&!this.#is(s)?null:(s.id=this.annotationElementId,s)}#is(e){const{value:t,fontSize:A,color:i,pageIndex:s}=this.#ji;return this._hasBeenMoved||e.value!==t||e.fontSize!==A||e.color.some(((e,t)=>e!==i[t]))||e.pageIndex!==s}renderAnnotationElement(e){const t=super.renderAnnotationElement(e);if(this.deleted)return t;const{style:A}=t;A.fontSize=`calc(${this.#bi}px * var(--scale-factor))`,A.color=this.#li,t.replaceChildren();for(const e of this.#Oi.split("\n")){const A=document.createElement("div");A.append(e?document.createTextNode(e):document.createElement("br")),t.append(A)}const i=qs._internalPadding*this.parentScale;return e.updateEdited({rect:this.getRect(i,i),popupContent:this.#Oi}),t}resetAnnotationElement(e){super.resetAnnotationElement(e),e.resetEdited()}}let Os=class{#ss;#as=[];#ns=[];constructor(e,t=0,A=0,i=!0){let s=1/0,a=-1/0,n=1/0,r=-1/0;const o=10**-4;for(const{x:A,y:i,width:g,height:h}of e){const e=Math.floor((A-t)/o)*o,c=Math.ceil((A+g+t)/o)*o,l=Math.floor((i-t)/o)*o,I=Math.ceil((i+h+t)/o)*o,d=[e,l,I,!0],C=[c,l,I,!1];this.#as.push(d,C),s=Math.min(s,e),a=Math.max(a,c),n=Math.min(n,l),r=Math.max(r,I)}const g=a-s+2*A,h=r-n+2*A,c=s-A,l=n-A,I=this.#as.at(i?-1:-2),d=[I[0],I[2]];for(const e of this.#as){const[t,A,i]=e;e[0]=(t-c)/g,e[1]=(A-l)/h,e[2]=(i-l)/h}this.#ss={x:c,y:l,width:g,height:h,lastPoint:d}}getOutlines(){this.#as.sort(((e,t)=>e[0]-t[0]||e[1]-t[1]||e[2]-t[2]));const e=[];for(const t of this.#as)t[3]?(e.push(...this.#rs(t)),this.#os(t)):(this.#gs(t),e.push(...this.#rs(t)));return this.#hs(e)}#hs(e){const t=[],A=new Set;for(const A of e){const[e,i,s]=A;t.push([e,i,A],[e,s,A])}t.sort(((e,t)=>e[1]-t[1]||e[0]-t[0]));for(let e=0,i=t.length;e<i;e+=2){const i=t[e][2],s=t[e+1][2];i.push(s),s.push(i),A.add(i),A.add(s)}const i=[];let s;for(;A.size>0;){const e=A.values().next().value;let[t,a,n,r,o]=e;A.delete(e);let g=t,h=a;for(s=[t,n],i.push(s);;){let e;if(A.has(r))e=r;else{if(!A.has(o))break;e=o}A.delete(e),[t,a,n,r,o]=e,g!==t&&(s.push(g,h,t,h===a?a:n),g=t),h=h===a?n:a}s.push(g,h)}return new js(i,this.#ss)}#cs(e){const t=this.#ns;let A=0,i=t.length-1;for(;A<=i;){const s=A+i>>1,a=t[s][0];if(a===e)return s;a<e?A=s+1:i=s-1}return i+1}#os([,e,t]){const A=this.#cs(e);this.#ns.splice(A,0,[e,t])}#gs([,e,t]){const A=this.#cs(e);for(let i=A;i<this.#ns.length;i++){const[A,s]=this.#ns[i];if(A!==e)break;if(A===e&&s===t)return void this.#ns.splice(i,1)}for(let i=A-1;i>=0;i--){const[A,s]=this.#ns[i];if(A!==e)break;if(A===e&&s===t)return void this.#ns.splice(i,1)}}#rs(e){const[t,A,i]=e,s=[[t,A,i]],a=this.#cs(i);for(let e=0;e<a;e++){const[A,i]=this.#ns[e];for(let e=0,a=s.length;e<a;e++){const[,n,r]=s[e];if(!(i<=n||r<=A))if(n>=A)if(r>i)s[e][1]=i;else{if(1===a)return[];s.splice(e,1),e--,a--}else s[e][2]=A,r>i&&s.push([t,i,r])}}return s}};class Ws{toSVGPath(){throw new Error("Abstract method `toSVGPath` must be implemented.")}get box(){throw new Error("Abstract getter `box` must be implemented.")}serialize(e,t){throw new Error("Abstract method `serialize` must be implemented.")}get free(){return this instanceof Zs}}class js extends Ws{#ss;#ls;constructor(e,t){super(),this.#ls=e,this.#ss=t}toSVGPath(){const e=[];for(const t of this.#ls){let[A,i]=t;e.push(`M${A} ${i}`);for(let s=2;s<t.length;s+=2){const a=t[s],n=t[s+1];a===A?(e.push(`V${n}`),i=n):n===i&&(e.push(`H${a}`),A=a)}e.push("Z")}return e.join(" ")}serialize([e,t,A,i],s){const a=[],n=A-e,r=i-t;for(const t of this.#ls){const A=new Array(t.length);for(let s=0;s<t.length;s+=2)A[s]=e+t[s]*n,A[s+1]=i-t[s+1]*r;a.push(A)}return a}get box(){return this.#ss}}class Vs{#ss;#Is=[];#ds;#Cs;#us=[];#Bs=new Float64Array(18);#Qs;#Es;#fs;#ps;#ms;#ys;#ws=[];static#bs=8;static#Ds=2;static#ks=Vs.#bs+Vs.#Ds;constructor({x:e,y:t},A,i,s,a,n=0){this.#ss=A,this.#ys=s*i,this.#Cs=a,this.#Bs.set([NaN,NaN,NaN,NaN,e,t],6),this.#ds=n,this.#ps=Vs.#bs*i,this.#fs=Vs.#ks*i,this.#ms=i,this.#ws.push(e,t)}get free(){return!0}isEmpty(){return isNaN(this.#Bs[8])}#Ss(){const e=this.#Bs.subarray(4,6),t=this.#Bs.subarray(16,18),[A,i,s,a]=this.#ss;return[(this.#Qs+(e[0]-t[0])/2-A)/s,(this.#Es+(e[1]-t[1])/2-i)/a,(this.#Qs+(t[0]-e[0])/2-A)/s,(this.#Es+(t[1]-e[1])/2-i)/a]}add({x:e,y:t}){this.#Qs=e,this.#Es=t;const[A,i,s,a]=this.#ss;let[n,r,o,g]=this.#Bs.subarray(8,12);const h=e-o,c=t-g,l=Math.hypot(h,c);if(l<this.#fs)return!1;const I=l-this.#ps,d=I/l,C=d*h,u=d*c;let B=n,Q=r;n=o,r=g,o+=C,g+=u,this.#ws?.push(e,t);const E=C/I,f=-u/I*this.#ys,p=E*this.#ys;if(this.#Bs.set(this.#Bs.subarray(2,8),0),this.#Bs.set([o+f,g+p],4),this.#Bs.set(this.#Bs.subarray(14,18),12),this.#Bs.set([o-f,g-p],16),isNaN(this.#Bs[6]))return 0===this.#us.length&&(this.#Bs.set([n+f,r+p],2),this.#us.push(NaN,NaN,NaN,NaN,(n+f-A)/s,(r+p-i)/a),this.#Bs.set([n-f,r-p],14),this.#Is.push(NaN,NaN,NaN,NaN,(n-f-A)/s,(r-p-i)/a)),this.#Bs.set([B,Q,n,r,o,g],6),!this.isEmpty();this.#Bs.set([B,Q,n,r,o,g],6);return Math.abs(Math.atan2(Q-r,B-n)-Math.atan2(u,C))<Math.PI/2?([n,r,o,g]=this.#Bs.subarray(2,6),this.#us.push(NaN,NaN,NaN,NaN,((n+o)/2-A)/s,((r+g)/2-i)/a),[n,r,B,Q]=this.#Bs.subarray(14,18),this.#Is.push(NaN,NaN,NaN,NaN,((B+n)/2-A)/s,((Q+r)/2-i)/a),!0):([B,Q,n,r,o,g]=this.#Bs.subarray(0,6),this.#us.push(((B+5*n)/6-A)/s,((Q+5*r)/6-i)/a,((5*n+o)/6-A)/s,((5*r+g)/6-i)/a,((n+o)/2-A)/s,((r+g)/2-i)/a),[o,g,n,r,B,Q]=this.#Bs.subarray(12,18),this.#Is.push(((B+5*n)/6-A)/s,((Q+5*r)/6-i)/a,((5*n+o)/6-A)/s,((5*r+g)/6-i)/a,((n+o)/2-A)/s,((r+g)/2-i)/a),!0)}toSVGPath(){if(this.isEmpty())return"";const e=this.#us,t=this.#Is,A=this.#Bs.subarray(4,6),i=this.#Bs.subarray(16,18),[s,a,n,r]=this.#ss,[o,g,h,c]=this.#Ss();if(isNaN(this.#Bs[6])&&!this.isEmpty())return`M${(this.#Bs[2]-s)/n} ${(this.#Bs[3]-a)/r} L${(this.#Bs[4]-s)/n} ${(this.#Bs[5]-a)/r} L${o} ${g} L${h} ${c} L${(this.#Bs[16]-s)/n} ${(this.#Bs[17]-a)/r} L${(this.#Bs[14]-s)/n} ${(this.#Bs[15]-a)/r} Z`;const l=[];l.push(`M${e[4]} ${e[5]}`);for(let t=6;t<e.length;t+=6)isNaN(e[t])?l.push(`L${e[t+4]} ${e[t+5]}`):l.push(`C${e[t]} ${e[t+1]} ${e[t+2]} ${e[t+3]} ${e[t+4]} ${e[t+5]}`);l.push(`L${(A[0]-s)/n} ${(A[1]-a)/r} L${o} ${g} L${h} ${c} L${(i[0]-s)/n} ${(i[1]-a)/r}`);for(let e=t.length-6;e>=6;e-=6)isNaN(t[e])?l.push(`L${t[e+4]} ${t[e+5]}`):l.push(`C${t[e]} ${t[e+1]} ${t[e+2]} ${t[e+3]} ${t[e+4]} ${t[e+5]}`);return l.push(`L${t[4]} ${t[5]} Z`),l.join(" ")}getOutlines(){const e=this.#us,t=this.#Is,A=this.#Bs,i=A.subarray(4,6),s=A.subarray(16,18),[a,n,r,o]=this.#ss,g=new Float64Array((this.#ws?.length??0)+2);for(let e=0,t=g.length-2;e<t;e+=2)g[e]=(this.#ws[e]-a)/r,g[e+1]=(this.#ws[e+1]-n)/o;g[g.length-2]=(this.#Qs-a)/r,g[g.length-1]=(this.#Es-n)/o;const[h,c,l,I]=this.#Ss();if(isNaN(A[6])&&!this.isEmpty()){const e=new Float64Array(36);return e.set([NaN,NaN,NaN,NaN,(A[2]-a)/r,(A[3]-n)/o,NaN,NaN,NaN,NaN,(A[4]-a)/r,(A[5]-n)/o,NaN,NaN,NaN,NaN,h,c,NaN,NaN,NaN,NaN,l,I,NaN,NaN,NaN,NaN,(A[16]-a)/r,(A[17]-n)/o,NaN,NaN,NaN,NaN,(A[14]-a)/r,(A[15]-n)/o],0),new Zs(e,g,this.#ss,this.#ms,this.#ds,this.#Cs)}const d=new Float64Array(this.#us.length+24+this.#Is.length);let C=e.length;for(let t=0;t<C;t+=2)isNaN(e[t])?d[t]=d[t+1]=NaN:(d[t]=e[t],d[t+1]=e[t+1]);d.set([NaN,NaN,NaN,NaN,(i[0]-a)/r,(i[1]-n)/o,NaN,NaN,NaN,NaN,h,c,NaN,NaN,NaN,NaN,l,I,NaN,NaN,NaN,NaN,(s[0]-a)/r,(s[1]-n)/o],C),C+=24;for(let e=t.length-6;e>=6;e-=6)for(let A=0;A<6;A+=2)isNaN(t[e+A])?(d[C]=d[C+1]=NaN,C+=2):(d[C]=t[e+A],d[C+1]=t[e+A+1],C+=2);return d.set([NaN,NaN,NaN,NaN,t[4],t[5]],C),new Zs(d,g,this.#ss,this.#ms,this.#ds,this.#Cs)}}class Zs extends Ws{#ss;#Fs=null;#ds;#Cs;#ws;#ms;#Rs;constructor(e,t,A,i,s,a){super(),this.#Rs=e,this.#ws=t,this.#ss=A,this.#ms=i,this.#ds=s,this.#Cs=a,this.#xs(a);const{x:n,y:r,width:o,height:g}=this.#Fs;for(let t=0,A=e.length;t<A;t+=2)e[t]=(e[t]-n)/o,e[t+1]=(e[t+1]-r)/g;for(let e=0,A=t.length;e<A;e+=2)t[e]=(t[e]-n)/o,t[e+1]=(t[e+1]-r)/g}toSVGPath(){const e=[`M${this.#Rs[4]} ${this.#Rs[5]}`];for(let t=6,A=this.#Rs.length;t<A;t+=6)isNaN(this.#Rs[t])?e.push(`L${this.#Rs[t+4]} ${this.#Rs[t+5]}`):e.push(`C${this.#Rs[t]} ${this.#Rs[t+1]} ${this.#Rs[t+2]} ${this.#Rs[t+3]} ${this.#Rs[t+4]} ${this.#Rs[t+5]}`);return e.push("Z"),e.join(" ")}serialize([e,t,A,i],s){const a=A-e,n=i-t;let r,o;switch(s){case 0:r=this.#vs(this.#Rs,e,i,a,-n),o=this.#vs(this.#ws,e,i,a,-n);break;case 90:r=this.#Ns(this.#Rs,e,t,a,n),o=this.#Ns(this.#ws,e,t,a,n);break;case 180:r=this.#vs(this.#Rs,A,t,-a,n),o=this.#vs(this.#ws,A,t,-a,n);break;case 270:r=this.#Ns(this.#Rs,A,i,-a,-n),o=this.#Ns(this.#ws,A,i,-a,-n)}return{outline:Array.from(r),points:[Array.from(o)]}}#vs(e,t,A,i,s){const a=new Float64Array(e.length);for(let n=0,r=e.length;n<r;n+=2)a[n]=t+e[n]*i,a[n+1]=A+e[n+1]*s;return a}#Ns(e,t,A,i,s){const a=new Float64Array(e.length);for(let n=0,r=e.length;n<r;n+=2)a[n]=t+e[n+1]*i,a[n+1]=A+e[n]*s;return a}#xs(e){const t=this.#Rs;let A=t[4],i=t[5],s=A,a=i,n=A,r=i,o=A,g=i;const h=e?Math.max:Math.min;for(let e=6,c=t.length;e<c;e+=6){if(isNaN(t[e]))s=Math.min(s,t[e+4]),a=Math.min(a,t[e+5]),n=Math.max(n,t[e+4]),r=Math.max(r,t[e+5]),g<t[e+5]?(o=t[e+4],g=t[e+5]):g===t[e+5]&&(o=h(o,t[e+4]));else{const c=rt.bezierBoundingBox(A,i,...t.slice(e,e+6));s=Math.min(s,c[0]),a=Math.min(a,c[1]),n=Math.max(n,c[2]),r=Math.max(r,c[3]),g<c[3]?(o=c[2],g=c[3]):g===c[3]&&(o=h(o,c[2]))}A=t[e+4],i=t[e+5]}const c=s-this.#ds,l=a-this.#ds,I=n-s+2*this.#ds,d=r-a+2*this.#ds;this.#Fs={x:c,y:l,width:I,height:d,lastPoint:[o,g]}}get box(){return this.#Fs}getNewOutline(e,t){const{x:A,y:i,width:s,height:a}=this.#Fs,[n,r,o,g]=this.#ss,h=s*o,c=a*g,l=A*o+n,I=i*g+r,d=new Vs({x:this.#ws[0]*h+l,y:this.#ws[1]*c+I},this.#ss,this.#ms,e,this.#Cs,t??this.#ds);for(let e=2;e<this.#ws.length;e+=2)d.add({x:this.#ws[e]*h+l,y:this.#ws[e+1]*c+I});return d.getOutlines()}}let Xs=class e{#si=this.#ai.bind(this);#Ms=this.#n.bind(this);#Gs=null;#Ls=null;#Us;#Hs=null;#Js=!1;#Ts=!1;#s=null;#Ps;#l=null;#Ys;static get _keyboardManager(){return We(this,"_keyboardManager",new tA([[["Escape","mac+Escape"],e.prototype._hideDropdownFromKeyboard],[[" ","mac+ "],e.prototype._colorSelectFromKeyboard],[["ArrowDown","ArrowRight","mac+ArrowDown","mac+ArrowRight"],e.prototype._moveToNext],[["ArrowUp","ArrowLeft","mac+ArrowUp","mac+ArrowLeft"],e.prototype._moveToPrevious],[["Home","mac+Home"],e.prototype._moveToBeginning],[["End","mac+End"],e.prototype._moveToEnd]]))}constructor({editor:e=null,uiManager:t=null}){e?(this.#Ts=!1,this.#Ys=se.HIGHLIGHT_COLOR,this.#s=e):(this.#Ts=!0,this.#Ys=se.HIGHLIGHT_DEFAULT_COLOR),this.#l=e?._uiManager||t,this.#Ps=this.#l._eventBus,this.#Us=e?.color||this.#l?.highlightColors.values().next().value||"#FFFF98"}renderButton(){const e=this.#Gs=document.createElement("button");e.className="colorPicker",e.tabIndex="0",e.setAttribute("data-l10n-id","pdfjs-editor-colorpicker-button"),e.setAttribute("aria-haspopup",!0),e.addEventListener("click",this.#Ks.bind(this)),e.addEventListener("keydown",this.#si);const t=this.#Ls=document.createElement("span");return t.className="swatch",t.setAttribute("aria-hidden",!0),t.style.backgroundColor=this.#Us,e.append(t),e}renderMainDropdown(){const e=this.#Hs=this.#_s();return e.setAttribute("aria-orientation","horizontal"),e.setAttribute("aria-labelledby","highlightColorPickerLabel"),e}#_s(){const e=document.createElement("div");e.addEventListener("contextmenu",Pt),e.className="dropdown",e.role="listbox",e.setAttribute("aria-multiselectable",!1),e.setAttribute("aria-orientation","vertical"),e.setAttribute("data-l10n-id","pdfjs-editor-colorpicker-dropdown");for(const[t,A]of this.#l.highlightColors){const i=document.createElement("button");i.tabIndex="0",i.role="option",i.setAttribute("data-color",A),i.title=t,i.setAttribute("data-l10n-id",`pdfjs-editor-colorpicker-${t}`);const s=document.createElement("span");i.append(s),s.className="swatch",s.style.backgroundColor=A,i.setAttribute("aria-selected",A===this.#Us),i.addEventListener("click",this.#qs.bind(this,A)),e.append(i)}return e.addEventListener("keydown",this.#si),e}#qs(e,t){t.stopPropagation(),this.#Ps.dispatch("switchannotationeditorparams",{source:this,type:this.#Ys,value:e})}_colorSelectFromKeyboard(e){if(e.target===this.#Gs)return void this.#Ks(e);const t=e.target.getAttribute("data-color");t&&this.#qs(t,e)}_moveToNext(e){this.#Os?e.target!==this.#Gs?e.target.nextSibling?.focus():this.#Hs.firstChild?.focus():this.#Ks(e)}_moveToPrevious(e){e.target!==this.#Hs?.firstChild&&e.target!==this.#Gs?(this.#Os||this.#Ks(e),e.target.previousSibling?.focus()):this.#Os&&this._hideDropdownFromKeyboard()}_moveToBeginning(e){this.#Os?this.#Hs.firstChild?.focus():this.#Ks(e)}_moveToEnd(e){this.#Os?this.#Hs.lastChild?.focus():this.#Ks(e)}#ai(t){e._keyboardManager.exec(this,t)}#Ks(e){if(this.#Os)return void this.hideDropdown();if(this.#Js=0===e.detail,window.addEventListener("pointerdown",this.#Ms),this.#Hs)return void this.#Hs.classList.remove("hidden");const t=this.#Hs=this.#_s();this.#Gs.append(t)}#n(e){this.#Hs?.contains(e.target)||this.hideDropdown()}hideDropdown(){this.#Hs?.classList.add("hidden"),window.removeEventListener("pointerdown",this.#Ms)}get#Os(){return this.#Hs&&!this.#Hs.classList.contains("hidden")}_hideDropdownFromKeyboard(){this.#Ts||(this.#Os?(this.hideDropdown(),this.#Gs.focus({preventScroll:!0,focusVisible:this.#Js})):this.#s?.unselect())}updateColor(e){if(this.#Ls&&(this.#Ls.style.backgroundColor=e),!this.#Hs)return;const t=this.#l.highlightColors.values();for(const A of this.#Hs.children)A.setAttribute("aria-selected",t.next().value===e)}destroy(){this.#Gs?.remove(),this.#Gs=null,this.#Ls=null,this.#Hs?.remove(),this.#Hs=null}};class zs extends aA{#Ws=null;#js=0;#Vs;#Zs=null;#i=null;#Xs=null;#zs=null;#$s=0;#ea=null;#ta=null;#u=null;#Aa=!1;#ae=this.#ia.bind(this);#sa=null;#aa;#na=null;#ra="";#ys;#oa="";static _defaultColor=null;static _defaultOpacity=1;static _defaultThickness=12;static _l10nPromise;static _type="highlight";static _editorType=ie.HIGHLIGHT;static _freeHighlightId=-1;static _freeHighlight=null;static _freeHighlightClipId="";static get _keyboardManager(){const e=zs.prototype;return We(this,"_keyboardManager",new tA([[["ArrowLeft","mac+ArrowLeft"],e._moveCaret,{args:[0]}],[["ArrowRight","mac+ArrowRight"],e._moveCaret,{args:[1]}],[["ArrowUp","mac+ArrowUp"],e._moveCaret,{args:[2]}],[["ArrowDown","mac+ArrowDown"],e._moveCaret,{args:[3]}]]))}constructor(e){super({...e,name:"highlightEditor"}),this.color=e.color||zs._defaultColor,this.#ys=e.thickness||zs._defaultThickness,this.#aa=e.opacity||zs._defaultOpacity,this.#Vs=e.boxes||null,this.#oa=e.methodOfCreation||"",this.#ra=e.text||"",this._isDraggable=!1,e.highlightId>-1?(this.#Aa=!0,this.#ga(e),this.#ha()):(this.#Ws=e.anchorNode,this.#js=e.anchorOffset,this.#zs=e.focusNode,this.#$s=e.focusOffset,this.#ca(),this.#ha(),this.rotate(this.rotation))}get telemetryInitialData(){return{action:"added",type:this.#Aa?"free_highlight":"highlight",color:this._uiManager.highlightColorNames.get(this.color),thickness:this.#ys,methodOfCreation:this.#oa}}get telemetryFinalData(){return{type:"highlight",color:this._uiManager.highlightColorNames.get(this.color)}}static computeTelemetryFinalData(e){return{numberOfColors:e.get("color").size}}#ca(){const e=new Os(this.#Vs,.001);this.#ta=e.getOutlines(),({x:this.x,y:this.y,width:this.width,height:this.height}=this.#ta.box);const t=new Os(this.#Vs,.0025,.001,"ltr"===this._uiManager.direction);this.#Xs=t.getOutlines();const{lastPoint:A}=this.#Xs.box;this.#sa=[(A[0]-this.x)/this.width,(A[1]-this.y)/this.height]}#ga({highlightOutlines:e,highlightId:t,clipPathId:A}){this.#ta=e;if(this.#Xs=e.getNewOutline(this.#ys/2+1.5,.0025),t>=0)this.#u=t,this.#Zs=A,this.parent.drawLayer.finalizeLine(t,e),this.#na=this.parent.drawLayer.highlightOutline(this.#Xs);else if(this.parent){const t=this.parent.viewport.rotation;this.parent.drawLayer.updateLine(this.#u,e),this.parent.drawLayer.updateBox(this.#u,zs.#la(this.#ta.box,(t-this.rotation+360)%360)),this.parent.drawLayer.updateLine(this.#na,this.#Xs),this.parent.drawLayer.updateBox(this.#na,zs.#la(this.#Xs.box,t))}const{x:i,y:s,width:a,height:n}=e.box;switch(this.rotation){case 0:this.x=i,this.y=s,this.width=a,this.height=n;break;case 90:{const[e,t]=this.parentDimensions;this.x=s,this.y=1-i,this.width=a*t/e,this.height=n*e/t;break}case 180:this.x=1-i,this.y=1-s,this.width=a,this.height=n;break;case 270:{const[e,t]=this.parentDimensions;this.x=1-s,this.y=i,this.width=a*t/e,this.height=n*e/t;break}}const{lastPoint:r}=this.#Xs.box;this.#sa=[(r[0]-i)/a,(r[1]-s)/n]}static initialize(e,t){aA.initialize(e,t),zs._defaultColor||=t.highlightColors?.values().next().value||"#fff066"}static updateDefaultParams(e,t){switch(e){case se.HIGHLIGHT_DEFAULT_COLOR:zs._defaultColor=t;break;case se.HIGHLIGHT_THICKNESS:zs._defaultThickness=t}}translateInPage(e,t){}get toolbarPosition(){return this.#sa}updateParams(e,t){switch(e){case se.HIGHLIGHT_COLOR:this.#Zi(t);break;case se.HIGHLIGHT_THICKNESS:this.#Ia(t)}}static get defaultPropertiesToUpdate(){return[[se.HIGHLIGHT_DEFAULT_COLOR,zs._defaultColor],[se.HIGHLIGHT_THICKNESS,zs._defaultThickness]]}get propertiesToUpdate(){return[[se.HIGHLIGHT_COLOR,this.color||zs._defaultColor],[se.HIGHLIGHT_THICKNESS,this.#ys||zs._defaultThickness],[se.HIGHLIGHT_FREE,this.#Aa]]}#Zi(e){const t=e=>{this.color=e,this.parent?.drawLayer.changeColor(this.#u,e),this.#i?.updateColor(e)},A=this.color;this.addCommands({cmd:t.bind(this,e),undo:t.bind(this,A),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:se.HIGHLIGHT_COLOR,overwriteIfSameType:!0,keepUndo:!0}),this._reportTelemetry({action:"color_changed",color:this._uiManager.highlightColorNames.get(e)},!0)}#Ia(e){const t=this.#ys,A=e=>{this.#ys=e,this.#da(e)};this.addCommands({cmd:A.bind(this,e),undo:A.bind(this,t),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:se.INK_THICKNESS,overwriteIfSameType:!0,keepUndo:!0}),this._reportTelemetry({action:"thickness_changed",thickness:e},!0)}async addEditToolbar(){const e=await super.addEditToolbar();return e?(this._uiManager.highlightColors&&(this.#i=new Xs({editor:this}),e.addColorPicker(this.#i)),e):null}disableEditing(){super.disableEditing(),this.div.classList.toggle("disabled",!0)}enableEditing(){super.enableEditing(),this.div.classList.toggle("disabled",!1)}fixAndSetPosition(){return super.fixAndSetPosition(this.#Ca())}getBaseTranslation(){return[0,0]}getRect(e,t){return super.getRect(e,t,this.#Ca())}onceAdded(){this.parent.addUndoableEditor(this),this.div.focus()}remove(){this.#ua(),this._reportTelemetry({action:"deleted"}),super.remove()}rebuild(){this.parent&&(super.rebuild(),null!==this.div&&(this.#ha(),this.isAttachedToDOM||this.parent.add(this)))}setParent(e){let t=!1;this.parent&&!e?this.#ua():e&&(this.#ha(e),t=!this.parent&&this.div?.classList.contains("selectedEditor")),super.setParent(e),this.show(this._isVisible),t&&this.select()}#da(e){if(!this.#Aa)return;this.#ga({highlightOutlines:this.#ta.getNewOutline(e/2)}),this.fixAndSetPosition();const[t,A]=this.parentDimensions;this.setDims(this.width*t,this.height*A)}#ua(){null!==this.#u&&this.parent&&(this.parent.drawLayer.remove(this.#u),this.#u=null,this.parent.drawLayer.remove(this.#na),this.#na=null)}#ha(e=this.parent){null===this.#u&&(({id:this.#u,clipPathId:this.#Zs}=e.drawLayer.highlight(this.#ta,this.color,this.#aa)),this.#na=e.drawLayer.highlightOutline(this.#Xs),this.#ea&&(this.#ea.style.clipPath=this.#Zs))}static#la({x:e,y:t,width:A,height:i},s){switch(s){case 90:return{x:1-t-i,y:e,width:i,height:A};case 180:return{x:1-e-A,y:1-t-i,width:A,height:i};case 270:return{x:t,y:1-e-A,width:i,height:A}}return{x:e,y:t,width:A,height:i}}rotate(e){const{drawLayer:t}=this.parent;let A;this.#Aa?(e=(e-this.rotation+360)%360,A=zs.#la(this.#ta.box,e)):A=zs.#la(this,e),t.rotate(this.#u,e),t.rotate(this.#na,e),t.updateBox(this.#u,A),t.updateBox(this.#na,zs.#la(this.#Xs.box,e))}render(){if(this.div)return this.div;const e=super.render();this.#ra&&(e.setAttribute("aria-label",this.#ra),e.setAttribute("role","mark")),this.#Aa?e.classList.add("free"):this.div.addEventListener("keydown",this.#ae);const t=this.#ea=document.createElement("div");e.append(t),t.setAttribute("aria-hidden","true"),t.className="internal",t.style.clipPath=this.#Zs;const[A,i]=this.parentDimensions;return this.setDims(this.width*A,this.height*i),Xt(this,this.#ea,["pointerover","pointerleave"]),this.enableEditing(),e}pointerover(){this.parent.drawLayer.addClass(this.#na,"hovered")}pointerleave(){this.parent.drawLayer.removeClass(this.#na,"hovered")}#ia(e){zs._keyboardManager.exec(this,e)}_moveCaret(e){switch(this.parent.unselect(this),e){case 0:case 2:this.#Ba(!0);break;case 1:case 3:this.#Ba(!1)}}#Ba(e){if(!this.#Ws)return;const t=window.getSelection();e?t.setPosition(this.#Ws,this.#js):t.setPosition(this.#zs,this.#$s)}select(){super.select(),this.#na&&(this.parent?.drawLayer.removeClass(this.#na,"hovered"),this.parent?.drawLayer.addClass(this.#na,"selected"))}unselect(){super.unselect(),this.#na&&(this.parent?.drawLayer.removeClass(this.#na,"selected"),this.#Aa||this.#Ba(!1))}get _mustFixPosition(){return!this.#Aa}show(e=this._isVisible){super.show(e),this.parent&&(this.parent.drawLayer.show(this.#u,e),this.parent.drawLayer.show(this.#na,e))}#Ca(){return this.#Aa?this.rotation:0}#Qa(){if(this.#Aa)return null;const[e,t]=this.pageDimensions,A=this.#Vs,i=new Array(8*A.length);let s=0;for(const{x:a,y:n,width:r,height:o}of A){const A=a*e,g=(1-n-o)*t;i[s]=i[s+4]=A,i[s+1]=i[s+3]=g,i[s+2]=i[s+6]=A+r*e,i[s+5]=i[s+7]=g+o*t,s+=8}return i}#Ea(e){return this.#ta.serialize(e,this.#Ca())}static startHighlighting(e,t,{target:A,x:i,y:s}){const{x:a,y:n,width:r,height:o}=A.getBoundingClientRect(),g=t=>{this.#fa(e,t)},h={capture:!0,passive:!1},c=e=>{e.preventDefault(),e.stopPropagation()},l=t=>{A.removeEventListener("pointermove",g),window.removeEventListener("blur",l),window.removeEventListener("pointerup",l),window.removeEventListener("pointerdown",c,h),window.removeEventListener("contextmenu",Pt),this.#pa(e,t)};window.addEventListener("blur",l),window.addEventListener("pointerup",l),window.addEventListener("pointerdown",c,h),window.addEventListener("contextmenu",Pt),A.addEventListener("pointermove",g),this._freeHighlight=new Vs({x:i,y:s},[a,n,r,o],e.scale,this._defaultThickness/2,t,.001),({id:this._freeHighlightId,clipPathId:this._freeHighlightClipId}=e.drawLayer.highlight(this._freeHighlight,this._defaultColor,this._defaultOpacity,!0))}static#fa(e,t){this._freeHighlight.add(t)&&e.drawLayer.updatePath(this._freeHighlightId,this._freeHighlight)}static#pa(e,t){this._freeHighlight.isEmpty()?e.drawLayer.removeFreeHighlight(this._freeHighlightId):e.createAndAddNewEditor(t,!1,{highlightId:this._freeHighlightId,highlightOutlines:this._freeHighlight.getOutlines(),clipPathId:this._freeHighlightClipId,methodOfCreation:"main_toolbar"}),this._freeHighlightId=-1,this._freeHighlight=null,this._freeHighlightClipId=""}static deserialize(e,t,A){const i=super.deserialize(e,t,A),{rect:[s,a,n,r],color:o,quadPoints:g}=e;i.color=rt.makeHexColor(...o),i.#aa=e.opacity;const[h,c]=i.pageDimensions;i.width=(n-s)/h,i.height=(r-a)/c;const l=i.#Vs=[];for(let e=0;e<g.length;e+=8)l.push({x:(g[4]-n)/h,y:(r-(1-g[e+5]))/c,width:(g[e+2]-g[e])/h,height:(g[e+5]-g[e+1])/c});return i.#ca(),i}serialize(e=!1){if(this.isEmpty()||e)return null;const t=this.getRect(0,0),A=aA._colorManager.convert(this.color);return{annotationType:ie.HIGHLIGHT,color:A,opacity:this.#aa,thickness:this.#ys,quadPoints:this.#Qa(),outlines:this.#Ea(t),pageIndex:this.pageIndex,rect:t,rotation:this.#Ca(),structTreeParentId:this._structTreeParentId}}static canCreateNewEmptyEditor(){return!1}}class $s extends aA{#ma=0;#ya=0;#wa=this.canvasPointermove.bind(this);#ba=this.canvasPointerleave.bind(this);#Da=this.canvasPointerup.bind(this);#ka=this.canvasPointerdown.bind(this);#Sa=null;#Fa=new Path2D;#Ra=!1;#xa=!1;#va=!1;#Na=null;#Ma=0;#Ga=0;#La=null;static _defaultColor=null;static _defaultOpacity=1;static _defaultThickness=1;static _type="ink";static _editorType=ie.INK;constructor(e){super({...e,name:"inkEditor"}),this.color=e.color||null,this.thickness=e.thickness||null,this.opacity=e.opacity||null,this.paths=[],this.bezierPath2D=[],this.allRawPaths=[],this.currentPath=[],this.scaleFactor=1,this.translationX=this.translationY=0,this.x=0,this.y=0,this._willKeepAspectRatio=!0}static initialize(e,t){aA.initialize(e,t)}static updateDefaultParams(e,t){switch(e){case se.INK_THICKNESS:$s._defaultThickness=t;break;case se.INK_COLOR:$s._defaultColor=t;break;case se.INK_OPACITY:$s._defaultOpacity=t/100}}updateParams(e,t){switch(e){case se.INK_THICKNESS:this.#Ia(t);break;case se.INK_COLOR:this.#Zi(t);break;case se.INK_OPACITY:this.#Ua(t)}}static get defaultPropertiesToUpdate(){return[[se.INK_THICKNESS,$s._defaultThickness],[se.INK_COLOR,$s._defaultColor||aA._defaultLineColor],[se.INK_OPACITY,Math.round(100*$s._defaultOpacity)]]}get propertiesToUpdate(){return[[se.INK_THICKNESS,this.thickness||$s._defaultThickness],[se.INK_COLOR,this.color||$s._defaultColor||aA._defaultLineColor],[se.INK_OPACITY,Math.round(100*(this.opacity??$s._defaultOpacity))]]}#Ia(e){const t=e=>{this.thickness=e,this.#Ha()},A=this.thickness;this.addCommands({cmd:t.bind(this,e),undo:t.bind(this,A),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:se.INK_THICKNESS,overwriteIfSameType:!0,keepUndo:!0})}#Zi(e){const t=e=>{this.color=e,this.#Ja()},A=this.color;this.addCommands({cmd:t.bind(this,e),undo:t.bind(this,A),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:se.INK_COLOR,overwriteIfSameType:!0,keepUndo:!0})}#Ua(e){const t=e=>{this.opacity=e,this.#Ja()};e/=100;const A=this.opacity;this.addCommands({cmd:t.bind(this,e),undo:t.bind(this,A),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:se.INK_OPACITY,overwriteIfSameType:!0,keepUndo:!0})}rebuild(){this.parent&&(super.rebuild(),null!==this.div&&(this.canvas||(this.#Ta(),this.#Pa()),this.isAttachedToDOM||(this.parent.add(this),this.#Ya()),this.#Ha()))}remove(){null!==this.canvas&&(this.isEmpty()||this.commit(),this.canvas.width=this.canvas.height=0,this.canvas.remove(),this.canvas=null,this.#Sa&&(clearTimeout(this.#Sa),this.#Sa=null),this.#Na.disconnect(),this.#Na=null,super.remove())}setParent(e){!this.parent&&e?this._uiManager.removeShouldRescale(this):this.parent&&null===e&&this._uiManager.addShouldRescale(this),super.setParent(e)}onScaleChanging(){const[e,t]=this.parentDimensions,A=this.width*e,i=this.height*t;this.setDimensions(A,i)}enableEditMode(){this.#Ra||null===this.canvas||(super.enableEditMode(),this._isDraggable=!1,this.canvas.addEventListener("pointerdown",this.#ka))}disableEditMode(){this.isInEditMode()&&null!==this.canvas&&(super.disableEditMode(),this._isDraggable=!this.isEmpty(),this.div.classList.remove("editing"),this.canvas.removeEventListener("pointerdown",this.#ka))}onceAdded(){this._isDraggable=!this.isEmpty()}isEmpty(){return 0===this.paths.length||1===this.paths.length&&0===this.paths[0].length}#Ka(){const{parentRotation:e,parentDimensions:[t,A]}=this;switch(e){case 90:return[0,A,A,t];case 180:return[t,A,t,A];case 270:return[t,0,A,t];default:return[0,0,t,A]}}#_a(){const{ctx:e,color:t,opacity:A,thickness:i,parentScale:s,scaleFactor:a}=this;e.lineWidth=i*s/a,e.lineCap="round",e.lineJoin="round",e.miterLimit=10,e.strokeStyle=`${t}${function(e){return Math.round(Math.min(255,Math.max(1,255*e))).toString(16).padStart(2,"0")}(A)}`}#qa(e,t){this.canvas.addEventListener("contextmenu",Pt),this.canvas.addEventListener("pointerleave",this.#ba),this.canvas.addEventListener("pointermove",this.#wa),this.canvas.addEventListener("pointerup",this.#Da),this.canvas.removeEventListener("pointerdown",this.#ka),this.isEditing=!0,this.#va||(this.#va=!0,this.#Ya(),this.thickness||=$s._defaultThickness,this.color||=$s._defaultColor||aA._defaultLineColor,this.opacity??=$s._defaultOpacity),this.currentPath.push([e,t]),this.#xa=!1,this.#_a(),this.#La=()=>{this.#Oa(),this.#La&&window.requestAnimationFrame(this.#La)},window.requestAnimationFrame(this.#La)}#Wa(e,t){const[A,i]=this.currentPath.at(-1);if(this.currentPath.length>1&&e===A&&t===i)return;const s=this.currentPath;let a=this.#Fa;if(s.push([e,t]),this.#xa=!0,s.length<=2)return a.moveTo(...s[0]),void a.lineTo(e,t);3===s.length&&(this.#Fa=a=new Path2D,a.moveTo(...s[0])),this.#ja(a,...s.at(-3),...s.at(-2),e,t)}#Va(){if(0===this.currentPath.length)return;const e=this.currentPath.at(-1);this.#Fa.lineTo(...e)}#Za(e,t){let A;if(this.#La=null,e=Math.min(Math.max(e,0),this.canvas.width),t=Math.min(Math.max(t,0),this.canvas.height),this.#Wa(e,t),this.#Va(),1!==this.currentPath.length)A=this.#Xa();else{const i=[e,t];A=[[i,i.slice(),i.slice(),i]]}const i=this.#Fa,s=this.currentPath;this.currentPath=[],this.#Fa=new Path2D;this.addCommands({cmd:()=>{this.allRawPaths.push(s),this.paths.push(A),this.bezierPath2D.push(i),this._uiManager.rebuild(this)},undo:()=>{this.allRawPaths.pop(),this.paths.pop(),this.bezierPath2D.pop(),0===this.paths.length?this.remove():(this.canvas||(this.#Ta(),this.#Pa()),this.#Ha())},mustExec:!0})}#Oa(){if(!this.#xa)return;this.#xa=!1;Math.ceil(this.thickness*this.parentScale);const e=this.currentPath.slice(-3),t=e.map((e=>e[0])),A=e.map((e=>e[1]));Math.min(...t),Math.max(...t),Math.min(...A),Math.max(...A);const{ctx:i}=this;i.save(),i.clearRect(0,0,this.canvas.width,this.canvas.height);for(const e of this.bezierPath2D)i.stroke(e);i.stroke(this.#Fa),i.restore()}#ja(e,t,A,i,s,a,n){const r=(t+i)/2,o=(A+s)/2,g=(i+a)/2,h=(s+n)/2;e.bezierCurveTo(r+2*(i-r)/3,o+2*(s-o)/3,g+2*(i-g)/3,h+2*(s-h)/3,g,h)}#Xa(){const e=this.currentPath;if(e.length<=2)return[[e[0],e[0],e.at(-1),e.at(-1)]];const t=[];let A,[i,s]=e[0];for(A=1;A<e.length-2;A++){const[a,n]=e[A],[r,o]=e[A+1],g=(a+r)/2,h=(n+o)/2,c=[i+2*(a-i)/3,s+2*(n-s)/3],l=[g+2*(a-g)/3,h+2*(n-h)/3];t.push([[i,s],c,l,[g,h]]),[i,s]=[g,h]}const[a,n]=e[A],[r,o]=e[A+1],g=[i+2*(a-i)/3,s+2*(n-s)/3],h=[r+2*(a-r)/3,o+2*(n-o)/3];return t.push([[i,s],g,h,[r,o]]),t}#Ja(){if(this.isEmpty())return void this.#za();this.#_a();const{canvas:e,ctx:t}=this;t.setTransform(1,0,0,1,0,0),t.clearRect(0,0,e.width,e.height),this.#za();for(const e of this.bezierPath2D)t.stroke(e)}commit(){this.#Ra||(super.commit(),this.isEditing=!1,this.disableEditMode(),this.setInForeground(),this.#Ra=!0,this.div.classList.add("disabled"),this.#Ha(!0),this.select(),this.parent.addInkEditorIfNeeded(!0),this.moveInDOM(),this.div.focus({preventScroll:!0}))}focusin(e){this._focusEventsAllowed&&(super.focusin(e),this.enableEditMode())}canvasPointerdown(e){0===e.button&&this.isInEditMode()&&!this.#Ra&&(this.setInForeground(),e.preventDefault(),this.div.contains(document.activeElement)||this.div.focus({preventScroll:!0}),this.#qa(e.offsetX,e.offsetY))}canvasPointermove(e){e.preventDefault(),this.#Wa(e.offsetX,e.offsetY)}canvasPointerup(e){e.preventDefault(),this.#$a(e)}canvasPointerleave(e){this.#$a(e)}#$a(e){this.canvas.removeEventListener("pointerleave",this.#ba),this.canvas.removeEventListener("pointermove",this.#wa),this.canvas.removeEventListener("pointerup",this.#Da),this.canvas.addEventListener("pointerdown",this.#ka),this.#Sa&&clearTimeout(this.#Sa),this.#Sa=setTimeout((()=>{this.#Sa=null,this.canvas.removeEventListener("contextmenu",Pt)}),10),this.#Za(e.offsetX,e.offsetY),this.addToAnnotationStorage(),this.setInBackground()}#Ta(){this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=0,this.canvas.className="inkEditorCanvas",this.canvas.setAttribute("data-l10n-id","pdfjs-ink-canvas"),this.div.append(this.canvas),this.ctx=this.canvas.getContext("2d")}#Pa(){this.#Na=new ResizeObserver((e=>{const t=e[0].contentRect;t.width&&t.height&&this.setDimensions(t.width,t.height)})),this.#Na.observe(this.div)}get isResizable(){return!this.isEmpty()&&this.#Ra}render(){if(this.div)return this.div;let e,t;this.width&&(e=this.x,t=this.y),super.render(),this.div.setAttribute("data-l10n-id","pdfjs-ink");const[A,i,s,a]=this.#Ka();if(this.setAt(A,i,0,0),this.setDims(s,a),this.#Ta(),this.width){const[A,i]=this.parentDimensions;this.setAspectRatio(this.width*A,this.height*i),this.setAt(e*A,t*i,this.width*A,this.height*i),this.#va=!0,this.#Ya(),this.setDims(this.width*A,this.height*i),this.#Ja(),this.div.classList.add("disabled")}else this.div.classList.add("editing"),this.enableEditMode();return this.#Pa(),this.div}#Ya(){if(!this.#va)return;const[e,t]=this.parentDimensions;this.canvas.width=Math.ceil(this.width*e),this.canvas.height=Math.ceil(this.height*t),this.#za()}setDimensions(e,t){const A=Math.round(e),i=Math.round(t);if(this.#Ma===A&&this.#Ga===i)return;this.#Ma=A,this.#Ga=i,this.canvas.style.visibility="hidden";const[s,a]=this.parentDimensions;this.width=e/s,this.height=t/a,this.fixAndSetPosition(),this.#Ra&&this.#en(e,t),this.#Ya(),this.#Ja(),this.canvas.style.visibility="visible",this.fixDims()}#en(e,t){const A=this.#tn(),i=(e-A)/this.#ya,s=(t-A)/this.#ma;this.scaleFactor=Math.min(i,s)}#za(){const e=this.#tn()/2;this.ctx.setTransform(this.scaleFactor,0,0,this.scaleFactor,this.translationX*this.scaleFactor+e,this.translationY*this.scaleFactor+e)}static#An(e){const t=new Path2D;for(let A=0,i=e.length;A<i;A++){const[i,s,a,n]=e[A];0===A&&t.moveTo(...i),t.bezierCurveTo(s[0],s[1],a[0],a[1],n[0],n[1])}return t}static#in(e,t,A){const[i,s,a,n]=t;switch(A){case 0:for(let t=0,A=e.length;t<A;t+=2)e[t]+=i,e[t+1]=n-e[t+1];break;case 90:for(let t=0,A=e.length;t<A;t+=2){const A=e[t];e[t]=e[t+1]+i,e[t+1]=A+s}break;case 180:for(let t=0,A=e.length;t<A;t+=2)e[t]=a-e[t],e[t+1]+=s;break;case 270:for(let t=0,A=e.length;t<A;t+=2){const A=e[t];e[t]=a-e[t+1],e[t+1]=n-A}break;default:throw new Error("Invalid rotation")}return e}static#sn(e,t,A){const[i,s,a,n]=t;switch(A){case 0:for(let t=0,A=e.length;t<A;t+=2)e[t]-=i,e[t+1]=n-e[t+1];break;case 90:for(let t=0,A=e.length;t<A;t+=2){const A=e[t];e[t]=e[t+1]-s,e[t+1]=A-i}break;case 180:for(let t=0,A=e.length;t<A;t+=2)e[t]=a-e[t],e[t+1]-=s;break;case 270:for(let t=0,A=e.length;t<A;t+=2){const A=e[t];e[t]=n-e[t+1],e[t+1]=a-A}break;default:throw new Error("Invalid rotation")}return e}#an(e,t,A,i){const s=[],a=this.thickness/2,n=e*t+a,r=e*A+a;for(const t of this.paths){const A=[],a=[];for(let i=0,s=t.length;i<s;i++){const[o,g,h,c]=t[i];if(o[0]===c[0]&&o[1]===c[1]&&1===s){const t=e*o[0]+n,i=e*o[1]+r;A.push(t,i),a.push(t,i);break}const l=e*o[0]+n,I=e*o[1]+r,d=e*g[0]+n,C=e*g[1]+r,u=e*h[0]+n,B=e*h[1]+r,Q=e*c[0]+n,E=e*c[1]+r;0===i&&(A.push(l,I),a.push(l,I)),A.push(d,C,u,B,Q,E),a.push(d,C),i===s-1&&a.push(Q,E)}s.push({bezier:$s.#in(A,i,this.rotation),points:$s.#in(a,i,this.rotation)})}return s}#nn(){let e=1/0,t=-1/0,A=1/0,i=-1/0;for(const s of this.paths)for(const[a,n,r,o]of s){const s=rt.bezierBoundingBox(...a,...n,...r,...o);e=Math.min(e,s[0]),A=Math.min(A,s[1]),t=Math.max(t,s[2]),i=Math.max(i,s[3])}return[e,A,t,i]}#tn(){return this.#Ra?Math.ceil(this.thickness*this.parentScale):0}#Ha(e=!1){if(this.isEmpty())return;if(!this.#Ra)return void this.#Ja();const t=this.#nn(),A=this.#tn();this.#ya=Math.max(aA.MIN_SIZE,t[2]-t[0]),this.#ma=Math.max(aA.MIN_SIZE,t[3]-t[1]);const i=Math.ceil(A+this.#ya*this.scaleFactor),s=Math.ceil(A+this.#ma*this.scaleFactor),[a,n]=this.parentDimensions;this.width=i/a,this.height=s/n,this.setAspectRatio(i,s);const r=this.translationX,o=this.translationY;this.translationX=-t[0],this.translationY=-t[1],this.#Ya(),this.#Ja(),this.#Ma=i,this.#Ga=s,this.setDims(i,s);const g=e?A/this.scaleFactor/2:0;this.translate(r-this.translationX-g,o-this.translationY-g)}static deserialize(e,t,A){if(e instanceof Ls)return null;const i=super.deserialize(e,t,A);i.thickness=e.thickness,i.color=rt.makeHexColor(...e.color),i.opacity=e.opacity;const[s,a]=i.pageDimensions,n=i.width*s,r=i.height*a,o=i.parentScale,g=e.thickness/2;i.#Ra=!0,i.#Ma=Math.round(n),i.#Ga=Math.round(r);const{paths:h,rect:c,rotation:l}=e;for(let{bezier:e}of h){e=$s.#sn(e,c,l);const t=[];i.paths.push(t);let A=o*(e[0]-g),s=o*(e[1]-g);for(let i=2,a=e.length;i<a;i+=6){const a=o*(e[i]-g),n=o*(e[i+1]-g),r=o*(e[i+2]-g),h=o*(e[i+3]-g),c=o*(e[i+4]-g),l=o*(e[i+5]-g);t.push([[A,s],[a,n],[r,h],[c,l]]),A=c,s=l}const a=this.#An(t);i.bezierPath2D.push(a)}const I=i.#nn();return i.#ya=Math.max(aA.MIN_SIZE,I[2]-I[0]),i.#ma=Math.max(aA.MIN_SIZE,I[3]-I[1]),i.#en(n,r),i}serialize(){if(this.isEmpty())return null;const e=this.getRect(0,0),t=aA._colorManager.convert(this.ctx.strokeStyle);return{annotationType:ie.INK,color:t,thickness:this.thickness,opacity:this.opacity,paths:this.#an(this.scaleFactor/this.parentScale,this.translationX,this.translationY,e),pageIndex:this.pageIndex,rect:e,rotation:this.rotation,structTreeParentId:this._structTreeParentId}}}class ea extends aA{#rn=null;#on=null;#gn=null;#hn=null;#cn=null;#ln="";#In=null;#Na=null;#dn=null;#Cn=!1;#un=!1;static _type="stamp";static _editorType=ie.STAMP;constructor(e){super({...e,name:"stampEditor"}),this.#hn=e.bitmapUrl,this.#cn=e.bitmapFile}static initialize(e,t){aA.initialize(e,t)}static get supportedTypes(){return We(this,"supportedTypes",["apng","avif","bmp","gif","jpeg","png","svg+xml","webp","x-icon"].map((e=>`image/${e}`)))}static get supportedTypesStr(){return We(this,"supportedTypesStr",this.supportedTypes.join(","))}static isHandlingMimeForPasting(e){return this.supportedTypes.includes(e)}static paste(e,t){t.pasteEditor(ie.STAMP,{bitmapFile:e.getAsFile()})}#Bn(e,t=!1){e?(this.#rn=e.bitmap,t||(this.#on=e.id,this.#Cn=e.isSvg),e.file&&(this.#ln=e.file.name),this.#Ta()):this.remove()}#Qn(){this.#gn=null,this._uiManager.enableWaiting(!1),this.#In&&this.div.focus()}#En(){if(this.#on)return this._uiManager.enableWaiting(!0),void this._uiManager.imageManager.getFromId(this.#on).then((e=>this.#Bn(e,!0))).finally((()=>this.#Qn()));if(this.#hn){const e=this.#hn;return this.#hn=null,this._uiManager.enableWaiting(!0),void(this.#gn=this._uiManager.imageManager.getFromUrl(e).then((e=>this.#Bn(e))).finally((()=>this.#Qn())))}if(this.#cn){const e=this.#cn;return this.#cn=null,this._uiManager.enableWaiting(!0),void(this.#gn=this._uiManager.imageManager.getFromFile(e).then((e=>this.#Bn(e))).finally((()=>this.#Qn())))}const e=document.createElement("input");e.type="file",e.accept=ea.supportedTypesStr,this.#gn=new Promise((t=>{e.addEventListener("change",(async()=>{if(e.files&&0!==e.files.length){this._uiManager.enableWaiting(!0);const t=await this._uiManager.imageManager.getFromFile(e.files[0]);this.#Bn(t)}else this.remove();t()})),e.addEventListener("cancel",(()=>{this.remove(),t()}))})).finally((()=>this.#Qn())),e.click()}remove(){this.#on&&(this.#rn=null,this._uiManager.imageManager.deleteId(this.#on),this.#In?.remove(),this.#In=null,this.#Na?.disconnect(),this.#Na=null,this.#dn&&(clearTimeout(this.#dn),this.#dn=null)),super.remove()}rebuild(){this.parent?(super.rebuild(),null!==this.div&&(this.#on&&null===this.#In&&this.#En(),this.isAttachedToDOM||this.parent.add(this))):this.#on&&this.#En()}onceAdded(){this._isDraggable=!0,this.div.focus()}isEmpty(){return!(this.#gn||this.#rn||this.#hn||this.#cn||this.#on)}get isResizable(){return!0}render(){if(this.div)return this.div;let e,t;if(this.width&&(e=this.x,t=this.y),super.render(),this.div.hidden=!0,this.addAltTextButton(),this.#rn?this.#Ta():this.#En(),this.width){const[A,i]=this.parentDimensions;this.setAt(e*A,t*i,this.width*A,this.height*i)}return this.div}#Ta(){const{div:e}=this;let{width:t,height:A}=this.#rn;const[i,s]=this.pageDimensions,a=.75;if(this.width)t=this.width*i,A=this.height*s;else if(t>a*i||A>a*s){const e=Math.min(a*i/t,a*s/A);t*=e,A*=e}const[n,r]=this.parentDimensions;this.setDims(t*n/i,A*r/s),this._uiManager.enableWaiting(!1);const o=this.#In=document.createElement("canvas");e.append(o),e.hidden=!1,this.#fn(t,A),this.#Pa(),this.#un||(this.parent.addUndoableEditor(this),this.#un=!0),this._reportTelemetry({action:"inserted_image"}),this.#ln&&o.setAttribute("aria-label",this.#ln)}#pn(e,t){const[A,i]=this.parentDimensions;this.width=e/A,this.height=t/i,this.setDims(e,t),this._initialOptions?.isCentered?this.center():this.fixAndSetPosition(),this._initialOptions=null,null!==this.#dn&&clearTimeout(this.#dn);this.#dn=setTimeout((()=>{this.#dn=null,this.#fn(e,t)}),200)}#mn(e,t){const{width:A,height:i}=this.#rn;let s=A,a=i,n=this.#rn;for(;s>2*e||a>2*t;){const A=s,i=a;s>2*e&&(s=s>=16384?Math.floor(s/2)-1:Math.ceil(s/2)),a>2*t&&(a=a>=16384?Math.floor(a/2)-1:Math.ceil(a/2));const r=new OffscreenCanvas(s,a);r.getContext("2d").drawImage(n,0,0,A,i,0,0,s,a),n=r.transferToImageBitmap()}return n}#fn(e,t){e=Math.ceil(e),t=Math.ceil(t);const A=this.#In;if(!A||A.width===e&&A.height===t)return;A.width=e,A.height=t;const i=this.#Cn?this.#rn:this.#mn(e,t);if(this._uiManager.hasMLManager&&!this.hasAltText()){const A=new OffscreenCanvas(e,t).getContext("2d");A.drawImage(i,0,0,i.width,i.height,0,0,e,t),this._uiManager.mlGuess({service:"image-to-text",request:{data:A.getImageData(0,0,e,t).data,width:e,height:t,channels:4}}).then((e=>{const t=e?.output||"";this.parent&&t&&!this.hasAltText()&&(this.altTextData={altText:t,decorative:!1})}))}const s=A.getContext("2d");s.filter=this._uiManager.hcmFilter,s.drawImage(i,0,0,i.width,i.height,0,0,e,t)}getImageForAltText(){return this.#In}#yn(e){if(e){if(this.#Cn){const e=this._uiManager.imageManager.getSvgUrl(this.#on);if(e)return e}const e=document.createElement("canvas");({width:e.width,height:e.height}=this.#rn);return e.getContext("2d").drawImage(this.#rn,0,0),e.toDataURL()}if(this.#Cn){const[e,t]=this.pageDimensions,A=Math.round(this.width*e*kt.PDF_TO_CSS_UNITS),i=Math.round(this.height*t*kt.PDF_TO_CSS_UNITS),s=new OffscreenCanvas(A,i);return s.getContext("2d").drawImage(this.#rn,0,0,this.#rn.width,this.#rn.height,0,0,A,i),s.transferToImageBitmap()}return structuredClone(this.#rn)}#Pa(){this.#Na=new ResizeObserver((e=>{const t=e[0].contentRect;t.width&&t.height&&this.#pn(t.width,t.height)})),this.#Na.observe(this.div)}static deserialize(e,t,A){if(e instanceof Ps)return null;const i=super.deserialize(e,t,A),{rect:s,bitmapUrl:a,bitmapId:n,isSvg:r,accessibilityData:o}=e;n&&A.imageManager.isValidId(n)?i.#on=n:i.#hn=a,i.#Cn=r;const[g,h]=i.pageDimensions;return i.width=(s[2]-s[0])/g,i.height=(s[3]-s[1])/h,o&&(i.altTextData=o),i}serialize(e=!1,t=null){if(this.isEmpty())return null;const A={annotationType:ie.STAMP,bitmapId:this.#on,pageIndex:this.pageIndex,rect:this.getRect(0,0),rotation:this.rotation,isSvg:this.#Cn,structTreeParentId:this._structTreeParentId};if(e)return A.bitmapUrl=this.#yn(!0),A.accessibilityData=this.altTextData,A;const{decorative:i,altText:s}=this.altTextData;if(!i&&s&&(A.accessibilityData={type:"Figure",alt:s}),null===t)return A;t.stamps||=new Map;const a=this.#Cn?(A.rect[2]-A.rect[0])*(A.rect[3]-A.rect[1]):null;if(t.stamps.has(this.#on)){if(this.#Cn){const e=t.stamps.get(this.#on);a>e.area&&(e.area=a,e.serialized.bitmap.close(),e.serialized.bitmap=this.#yn(!1))}}else t.stamps.set(this.#on,{area:a,serialized:A}),A.bitmap=this.#yn(!1);return A}}let ta=class e{#Li;#wn=!1;#bn=null;#Dn=null;#kn=null;#Sn=null;#Fn=null;#Rn=new Map;#xn=!1;#vn=!1;#Nn=!1;#Mn=null;#l;static _initialized=!1;static#G=new Map([qs,$s,ea,zs].map((e=>[e._editorType,e])));constructor({uiManager:t,pageIndex:A,div:i,accessibilityManager:s,annotationLayer:a,drawLayer:n,textLayer:r,viewport:o,l10n:g}){const h=[...e.#G.values()];if(!e._initialized){e._initialized=!0;for(const e of h)e.initialize(g,t)}t.registerEditorTypes(h),this.#l=t,this.pageIndex=A,this.div=i,this.#Li=s,this.#bn=a,this.viewport=o,this.#Mn=r,this.drawLayer=n,this.#l.addLayer(this)}get isEmpty(){return 0===this.#Rn.size}get isInvisible(){return this.isEmpty&&this.#l.getMode()===ie.NONE}updateToolbar(e){this.#l.updateToolbar(e)}updateMode(t=this.#l.getMode()){switch(this.#Gn(),t){case ie.NONE:return this.disableTextSelection(),this.togglePointerEvents(!1),this.toggleAnnotationLayerPointerEvents(!0),void this.disableClick();case ie.INK:this.addInkEditorIfNeeded(!1),this.disableTextSelection(),this.togglePointerEvents(!0),this.disableClick();break;case ie.HIGHLIGHT:this.enableTextSelection(),this.togglePointerEvents(!1),this.disableClick();break;default:this.disableTextSelection(),this.togglePointerEvents(!0),this.enableClick()}this.toggleAnnotationLayerPointerEvents(!1);const{classList:A}=this.div;for(const i of e.#G.values())A.toggle(`${i._type}Editing`,t===i._editorType);this.div.hidden=!1}hasTextLayer(e){return e===this.#Mn?.div}addInkEditorIfNeeded(e){if(this.#l.getMode()!==ie.INK)return;if(!e)for(const e of this.#Rn.values())if(e.isEmpty())return void e.setInBackground();this.createAndAddNewEditor({offsetX:0,offsetY:0},!1).setInBackground()}setEditingState(e){this.#l.setEditingState(e)}addCommands(e){this.#l.addCommands(e)}togglePointerEvents(e=!1){this.div.classList.toggle("disabled",!e)}toggleAnnotationLayerPointerEvents(e=!1){this.#bn?.div.classList.toggle("disabled",!e)}enable(){this.div.tabIndex=0,this.togglePointerEvents(!0);const e=new Set;for(const t of this.#Rn.values())t.enableEditing(),t.show(!0),t.annotationElementId&&(this.#l.removeChangedExistingAnnotation(t),e.add(t.annotationElementId));if(!this.#bn)return;const t=this.#bn.getEditableAnnotations();for(const A of t){if(A.hide(),this.#l.isDeletedAnnotationElement(A.data.id))continue;if(e.has(A.data.id))continue;const t=this.deserialize(A);t&&(this.addOrRebuild(t),t.enableEditing())}}disable(){this.#Nn=!0,this.div.tabIndex=-1,this.togglePointerEvents(!1);const t=new Map,A=new Map;for(const e of this.#Rn.values())e.disableEditing(),e.annotationElementId&&(null===e.serialize()?(A.set(e.annotationElementId,e),this.getEditableAnnotation(e.annotationElementId)?.show(),e.remove()):t.set(e.annotationElementId,e));if(this.#bn){const e=this.#bn.getEditableAnnotations();for(const i of e){const{id:e}=i.data;if(this.#l.isDeletedAnnotationElement(e))continue;let s=A.get(e);s?(s.resetAnnotationElement(i),s.show(!1),i.show()):(s=t.get(e),s&&(this.#l.addChangedExistingAnnotation(s),s.renderAnnotationElement(i),s.show(!1)),i.show())}}this.#Gn(),this.isEmpty&&(this.div.hidden=!0);const{classList:i}=this.div;for(const t of e.#G.values())i.remove(`${t._type}Editing`);this.disableTextSelection(),this.toggleAnnotationLayerPointerEvents(!0),this.#Nn=!1}getEditableAnnotation(e){return this.#bn?.getEditableAnnotation(e)||null}setActiveEditor(e){this.#l.getActive()!==e&&this.#l.setActiveEditor(e)}enableTextSelection(){this.div.tabIndex=-1,this.#Mn?.div&&!this.#Sn&&(this.#Sn=this.#Ln.bind(this),this.#Mn.div.addEventListener("pointerdown",this.#Sn),this.#Mn.div.classList.add("highlighting"))}disableTextSelection(){this.div.tabIndex=0,this.#Mn?.div&&this.#Sn&&(this.#Mn.div.removeEventListener("pointerdown",this.#Sn),this.#Sn=null,this.#Mn.div.classList.remove("highlighting"))}#Ln(e){if(this.#l.unselectAll(),e.target===this.#Mn.div){const{isMac:t}=at.platform;if(0!==e.button||e.ctrlKey&&t)return;this.#l.showAllEditors("highlight",!0,!0),this.#Mn.div.classList.add("free"),zs.startHighlighting(this,"ltr"===this.#l.direction,e),this.#Mn.div.addEventListener("pointerup",(()=>{this.#Mn.div.classList.remove("free")}),{once:!0}),e.preventDefault()}}enableClick(){this.#kn||(this.#kn=this.pointerdown.bind(this),this.#Dn=this.pointerup.bind(this),this.div.addEventListener("pointerdown",this.#kn),this.div.addEventListener("pointerup",this.#Dn))}disableClick(){this.#kn&&(this.div.removeEventListener("pointerdown",this.#kn),this.div.removeEventListener("pointerup",this.#Dn),this.#kn=null,this.#Dn=null)}attach(e){this.#Rn.set(e.id,e);const{annotationElementId:t}=e;t&&this.#l.isDeletedAnnotationElement(t)&&this.#l.removeDeletedAnnotationElement(e)}detach(e){this.#Rn.delete(e.id),this.#Li?.removePointerInTextLayer(e.contentDiv),!this.#Nn&&e.annotationElementId&&this.#l.addDeletedAnnotationElement(e)}remove(e){this.detach(e),this.#l.removeEditor(e),e.div.remove(),e.isAttachedToDOM=!1,this.#vn||this.addInkEditorIfNeeded(!1)}changeParent(e){e.parent!==this&&(e.parent&&e.annotationElementId&&(this.#l.addDeletedAnnotationElement(e.annotationElementId),aA.deleteAnnotationElement(e),e.annotationElementId=null),this.attach(e),e.parent?.detach(e),e.setParent(this),e.div&&e.isAttachedToDOM&&(e.div.remove(),this.div.append(e.div)))}add(e){if(e.parent!==this||!e.isAttachedToDOM){if(this.changeParent(e),this.#l.addEditor(e),this.attach(e),!e.isAttachedToDOM){const t=e.render();this.div.append(t),e.isAttachedToDOM=!0}e.fixAndSetPosition(),e.onceAdded(),this.#l.addToAnnotationStorage(e),e._reportTelemetry(e.telemetryInitialData)}}moveEditorInDOM(e){if(!e.isAttachedToDOM)return;const{activeElement:t}=document;e.div.contains(t)&&!this.#Fn&&(e._focusEventsAllowed=!1,this.#Fn=setTimeout((()=>{this.#Fn=null,e.div.contains(document.activeElement)?e._focusEventsAllowed=!0:(e.div.addEventListener("focusin",(()=>{e._focusEventsAllowed=!0}),{once:!0}),t.focus())}),0)),e._structTreeParentId=this.#Li?.moveElementInDOM(this.div,e.div,e.contentDiv,!0)}addOrRebuild(e){e.needsToBeRebuilt()?(e.parent||=this,e.rebuild(),e.show()):this.add(e)}addUndoableEditor(e){this.addCommands({cmd:()=>e._uiManager.rebuild(e),undo:()=>{e.remove()},mustExec:!1})}getNextId(){return this.#l.getId()}get#Un(){return e.#G.get(this.#l.getMode())}#Hn(e){const t=this.#Un;return t?new t.prototype.constructor(e):null}canCreateNewEmptyEditor(){return this.#Un?.canCreateNewEmptyEditor()}pasteEditor(e,t){this.#l.updateToolbar(e),this.#l.updateMode(e);const{offsetX:A,offsetY:i}=this.#Jn(),s=this.getNextId(),a=this.#Hn({parent:this,id:s,x:A,y:i,uiManager:this.#l,isCentered:!0,...t});a&&this.add(a)}deserialize(t){return e.#G.get(t.annotationType??t.annotationEditorType)?.deserialize(t,this,this.#l)||null}createAndAddNewEditor(e,t,A={}){const i=this.getNextId(),s=this.#Hn({parent:this,id:i,x:e.offsetX,y:e.offsetY,uiManager:this.#l,isCentered:t,...A});return s&&this.add(s),s}#Jn(){const{x:e,y:t,width:A,height:i}=this.div.getBoundingClientRect(),s=Math.max(0,e),a=Math.max(0,t),n=(s+Math.min(window.innerWidth,e+A))/2-e,r=(a+Math.min(window.innerHeight,t+i))/2-t,[o,g]=this.viewport.rotation%180==0?[n,r]:[r,n];return{offsetX:o,offsetY:g}}addNewEditor(){this.createAndAddNewEditor(this.#Jn(),!0)}setSelected(e){this.#l.setSelected(e)}toggleSelected(e){this.#l.toggleSelected(e)}isSelected(e){return this.#l.isSelected(e)}unselect(e){this.#l.unselect(e)}pointerup(e){const{isMac:t}=at.platform;0!==e.button||e.ctrlKey&&t||e.target===this.div&&this.#xn&&(this.#xn=!1,this.#wn?this.#l.getMode()!==ie.STAMP?this.createAndAddNewEditor(e,!1):this.#l.unselectAll():this.#wn=!0)}pointerdown(e){if(this.#l.getMode()===ie.HIGHLIGHT&&this.enableTextSelection(),this.#xn)return void(this.#xn=!1);const{isMac:t}=at.platform;if(0!==e.button||e.ctrlKey&&t)return;if(e.target!==this.div)return;this.#xn=!0;const A=this.#l.getActive();this.#wn=!A||A.isEmpty()}findNewParent(e,t,A){const i=this.#l.findParent(t,A);return null!==i&&i!==this&&(i.changeParent(e),!0)}destroy(){this.#l.getActive()?.parent===this&&(this.#l.commitOrRemove(),this.#l.setActiveEditor(null)),this.#Fn&&(clearTimeout(this.#Fn),this.#Fn=null);for(const e of this.#Rn.values())this.#Li?.removePointerInTextLayer(e.contentDiv),e.setParent(null),e.isAttachedToDOM=!1,e.div.remove();this.div=null,this.#Rn.clear(),this.#l.removeLayer(this)}#Gn(){this.#vn=!0;for(const e of this.#Rn.values())e.isEmpty()&&e.remove();this.#vn=!1}render({viewport:e}){this.viewport=e,jt(this.div,e);for(const e of this.#l.getEditors(this.pageIndex))this.add(e),e.rebuild();this.updateMode()}update({viewport:e}){this.#l.commitOrRemove(),this.#Gn();const t=this.viewport.rotation,A=e.rotation;if(this.viewport=e,jt(this.div,{rotation:A}),t!==A)for(const e of this.#Rn.values())e.rotate(A);this.addInkEditorIfNeeded(!1)}get pageDimensions(){const{pageWidth:e,pageHeight:t}=this.viewport.rawDims;return[e,t]}get scale(){return this.#l.viewParameters.realScale}},Aa=class e{#ui=null;#u=0;#Tn=new Map;#Pn=new Map;constructor({pageIndex:e}){this.pageIndex=e}setParent(e){if(this.#ui){if(this.#ui!==e){if(this.#Tn.size>0)for(const t of this.#Tn.values())t.remove(),e.append(t);this.#ui=e}}else this.#ui=e}static get _svgFactory(){return We(this,"_svgFactory",new xt)}static#Yn(e,{x:t=0,y:A=0,width:i=1,height:s=1}={}){const{style:a}=e;a.top=100*A+"%",a.left=100*t+"%",a.width=100*i+"%",a.height=100*s+"%"}#Kn(t){const A=e._svgFactory.create(1,1,!0);return this.#ui.append(A),A.setAttribute("aria-hidden",!0),e.#Yn(A,t),A}#_n(t,A){const i=e._svgFactory.createElement("clipPath");t.append(i);const s=`clip_${A}`;i.setAttribute("id",s),i.setAttribute("clipPathUnits","objectBoundingBox");const a=e._svgFactory.createElement("use");return i.append(a),a.setAttribute("href",`#${A}`),a.classList.add("clip"),s}highlight(t,A,i,s=!1){const a=this.#u++,n=this.#Kn(t.box);n.classList.add("highlight"),t.free&&n.classList.add("free");const r=e._svgFactory.createElement("defs");n.append(r);const o=e._svgFactory.createElement("path");r.append(o);const g=`path_p${this.pageIndex}_${a}`;o.setAttribute("id",g),o.setAttribute("d",t.toSVGPath()),s&&this.#Pn.set(a,o);const h=this.#_n(r,g),c=e._svgFactory.createElement("use");return n.append(c),n.setAttribute("fill",A),n.setAttribute("fill-opacity",i),c.setAttribute("href",`#${g}`),this.#Tn.set(a,n),{id:a,clipPathId:`url(#${h})`}}highlightOutline(t){const A=this.#u++,i=this.#Kn(t.box);i.classList.add("highlightOutline");const s=e._svgFactory.createElement("defs");i.append(s);const a=e._svgFactory.createElement("path");s.append(a);const n=`path_p${this.pageIndex}_${A}`;let r;if(a.setAttribute("id",n),a.setAttribute("d",t.toSVGPath()),a.setAttribute("vector-effect","non-scaling-stroke"),t.free){i.classList.add("free");const t=e._svgFactory.createElement("mask");s.append(t),r=`mask_p${this.pageIndex}_${A}`,t.setAttribute("id",r),t.setAttribute("maskUnits","objectBoundingBox");const a=e._svgFactory.createElement("rect");t.append(a),a.setAttribute("width","1"),a.setAttribute("height","1"),a.setAttribute("fill","white");const o=e._svgFactory.createElement("use");t.append(o),o.setAttribute("href",`#${n}`),o.setAttribute("stroke","none"),o.setAttribute("fill","black"),o.setAttribute("fill-rule","nonzero"),o.classList.add("mask")}const o=e._svgFactory.createElement("use");i.append(o),o.setAttribute("href",`#${n}`),r&&o.setAttribute("mask",`url(#${r})`);const g=o.cloneNode();return i.append(g),o.classList.add("mainOutline"),g.classList.add("secondaryOutline"),this.#Tn.set(A,i),A}finalizeLine(e,t){const A=this.#Pn.get(e);this.#Pn.delete(e),this.updateBox(e,t.box),A.setAttribute("d",t.toSVGPath())}updateLine(e,t){this.#Tn.get(e).firstChild.firstChild.setAttribute("d",t.toSVGPath())}removeFreeHighlight(e){this.remove(e),this.#Pn.delete(e)}updatePath(e,t){this.#Pn.get(e).setAttribute("d",t.toSVGPath())}updateBox(t,A){e.#Yn(this.#Tn.get(t),A)}show(e,t){this.#Tn.get(e).classList.toggle("hidden",!t)}rotate(e,t){this.#Tn.get(e).setAttribute("data-main-rotation",t)}changeColor(e,t){this.#Tn.get(e).setAttribute("fill",t)}changeOpacity(e,t){this.#Tn.get(e).setAttribute("fill-opacity",t)}addClass(e,t){this.#Tn.get(e).classList.add(t)}removeClass(e,t){this.#Tn.get(e).classList.remove(t)}remove(e){null!==this.#ui&&(this.#Tn.get(e).remove(),this.#Tn.delete(e))}destroy(){this.#ui=null;for(const e of this.#Tn.values())e.remove();this.#Tn.clear()}};var ia=_.GlobalWorkerOptions,sa=_.getDocument,aa={d:(e,t)=>{for(var A in t)aa.o(t,A)&&!aa.o(e,A)&&Object.defineProperty(e,A,{enumerable:!0,get:t[A]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},na=globalThis.pdfjsWorker={};aa.d(na,{WorkerMessageHandler:()=>$S});const ra=!("object"!=typeof process||process+""!="[object process]"||process.versions.nw||process.versions.electron&&process.type&&"browser"!==process.type),oa=[1,0,0,1,0,0],ga=[.001,0,0,.001,0,0],ha=1.35,ca=.35,la=.25925925925925924,Ia=1,da=2,Ca=4,ua=8,Ba=16,Qa=64,Ea=256,fa="pdfjs_internal_editor_",pa=3,ma=9,ya=13,wa=15,ba={PRINT:4,MODIFY_CONTENTS:8,COPY:16,MODIFY_ANNOTATIONS:32,FILL_INTERACTIVE_FORMS:256,COPY_FOR_ACCESSIBILITY:512,ASSEMBLE:1024,PRINT_HIGH_QUALITY:2048},Da=0,ka=4,Sa=1,Fa=2,Ra=3,xa=1,va=2,Na=3,Ma=4,Ga=5,La=6,Ua=7,Ha=8,Ja=9,Ta=10,Pa=11,Ya=12,Ka=13,_a=14,qa=15,Oa=16,Wa=17,ja=20,Va="Group",Za="R",Xa=1,za=2,$a=4,en=16,tn=32,An=128,sn=512,an=1,nn=2,rn=4096,on=8192,gn=32768,hn=65536,cn=131072,ln=1048576,In=2097152,dn=8388608,Cn=16777216,un=1,Bn=2,Qn=3,En=4,fn=5,pn={E:"Mouse Enter",X:"Mouse Exit",D:"Mouse Down",U:"Mouse Up",Fo:"Focus",Bl:"Blur",PO:"PageOpen",PC:"PageClose",PV:"PageVisible",PI:"PageInvisible",K:"Keystroke",F:"Format",V:"Validate",C:"Calculate"},mn={WC:"WillClose",WS:"WillSave",DS:"DidSave",WP:"WillPrint",DP:"DidPrint"},yn={O:"PageOpen",C:"PageClose"},wn={ERRORS:0,WARNINGS:1,INFOS:5},bn={NONE:0,BINARY:1},Dn=1,kn=2,Sn=3,Fn=4,Rn=5,xn=6,vn=7,Nn=8,Mn=9,Gn=10,Ln=11,Un=12,Hn=13,Jn=14,Tn=15,Pn=16,Yn=17,Kn=18,_n=19,qn=20,On=21,Wn=22,jn=23,Vn=24,Zn=25,Xn=26,zn=27,$n=28,er=29,tr=30,Ar=31,ir=32,sr=33,ar=34,nr=35,rr=36,or=37,gr=38,hr=39,cr=40,lr=41,Ir=42,dr=43,Cr=44,ur=45,Br=46,Qr=47,Er=48,fr=49,pr=50,mr=51,yr=52,wr=53,br=54,Dr=55,kr=56,Sr=57,Fr=58,Rr=59,xr=60,vr=61,Nr=62,Mr=63,Gr=64,Lr=65,Ur=66,Hr=67,Jr=68,Tr=69,Pr=70,Yr=71,Kr=72,_r=73,qr=74,Or=75,Wr=76,jr=77,Vr=80,Zr=81,Xr=83,zr=84,$r=85,eo=86,to=87,Ao=88,io=89,so=90,ao=91,no=1,ro=2;let oo=wn.WARNINGS;function go(){return oo}function ho(e){oo>=wn.INFOS&&console.log(`Info: ${e}`)}function co(e){oo>=wn.WARNINGS&&console.log(`Warning: ${e}`)}function lo(e){throw new Error(e)}function Io(e,t){e||lo(t)}function Co(e,t=null,A=null){if(!e)return null;try{if(A&&"string"==typeof e){if(A.addDefaultProtocol&&e.startsWith("www.")){const t=e.match(/\./g);t?.length>=2&&(e=`http://${e}`)}if(A.tryConvertEncoding)try{e=Mo(e)}catch{}}const i=t?new URL(e,t):new URL(e);if(function(e){switch(e?.protocol){case"http:":case"https:":case"ftp:":case"mailto:":case"tel:":return!0;default:return!1}}(i))return i}catch{}return null}function uo(e,t,A,i=!1){return Object.defineProperty(e,t,{value:A,enumerable:!i,configurable:!0,writable:!1}),A}const Bo=function(){function e(t,A){this.constructor===e&&lo("Cannot initialize BaseException."),this.message=t,this.name=A}return e.prototype=new Error,e.constructor=e,e}();class Qo extends Bo{constructor(e,t){super(e,"PasswordException"),this.code=t}}class Eo extends Bo{constructor(e,t){super(e,"UnknownErrorException"),this.details=t}}let fo=class extends Bo{constructor(e){super(e,"InvalidPDFException")}},po=class extends Bo{constructor(e){super(e,"MissingPDFException")}},mo=class extends Bo{constructor(e,t){super(e,"UnexpectedResponseException"),this.status=t}};class yo extends Bo{constructor(e){super(e,"FormatError")}}let wo=class extends Bo{constructor(e){super(e,"AbortException")}};function bo(e){"object"==typeof e&&void 0!==e?.length||lo("Invalid argument for bytesToString");const t=e.length,A=8192;if(t<A)return String.fromCharCode.apply(null,e);const i=[];for(let s=0;s<t;s+=A){const a=Math.min(s+A,t),n=e.subarray(s,a);i.push(String.fromCharCode.apply(null,n))}return i.join("")}function Do(e){"string"!=typeof e&&lo("Invalid argument for stringToBytes");const t=e.length,A=new Uint8Array(t);for(let i=0;i<t;++i)A[i]=255&e.charCodeAt(i);return A}function ko(e){return String.fromCharCode(e>>24&255,e>>16&255,e>>8&255,255&e)}function So(e){return Object.keys(e).length}let Fo=class{static get isLittleEndian(){return uo(this,"isLittleEndian",function(){const e=new Uint8Array(4);return e[0]=1,1===new Uint32Array(e.buffer,0,1)[0]}())}static get isEvalSupported(){return uo(this,"isEvalSupported",function(){try{return new Function(""),!0}catch{return!1}}())}static get isOffscreenCanvasSupported(){return uo(this,"isOffscreenCanvasSupported","undefined"!=typeof OffscreenCanvas)}static get platform(){return"undefined"!=typeof navigator&&"string"==typeof navigator?.platform?uo(this,"platform",{isMac:navigator.platform.includes("Mac")}):uo(this,"platform",{isMac:!1})}static get isCSSRoundSupported(){return uo(this,"isCSSRoundSupported",globalThis.CSS?.supports?.("width: round(1.5px, 1px)"))}};const Ro=Array.from(Array(256).keys(),(e=>e.toString(16).padStart(2,"0")));let xo=class{static makeHexColor(e,t,A){return`#${Ro[e]}${Ro[t]}${Ro[A]}`}static scaleMinMax(e,t){let A;e[0]?(e[0]<0&&(A=t[0],t[0]=t[2],t[2]=A),t[0]*=e[0],t[2]*=e[0],e[3]<0&&(A=t[1],t[1]=t[3],t[3]=A),t[1]*=e[3],t[3]*=e[3]):(A=t[0],t[0]=t[1],t[1]=A,A=t[2],t[2]=t[3],t[3]=A,e[1]<0&&(A=t[1],t[1]=t[3],t[3]=A),t[1]*=e[1],t[3]*=e[1],e[2]<0&&(A=t[0],t[0]=t[2],t[2]=A),t[0]*=e[2],t[2]*=e[2]),t[0]+=e[4],t[1]+=e[5],t[2]+=e[4],t[3]+=e[5]}static transform(e,t){return[e[0]*t[0]+e[2]*t[1],e[1]*t[0]+e[3]*t[1],e[0]*t[2]+e[2]*t[3],e[1]*t[2]+e[3]*t[3],e[0]*t[4]+e[2]*t[5]+e[4],e[1]*t[4]+e[3]*t[5]+e[5]]}static applyTransform(e,t){return[e[0]*t[0]+e[1]*t[2]+t[4],e[0]*t[1]+e[1]*t[3]+t[5]]}static applyInverseTransform(e,t){const A=t[0]*t[3]-t[1]*t[2];return[(e[0]*t[3]-e[1]*t[2]+t[2]*t[5]-t[4]*t[3])/A,(-e[0]*t[1]+e[1]*t[0]+t[4]*t[1]-t[5]*t[0])/A]}static getAxialAlignedBoundingBox(e,t){const A=this.applyTransform(e,t),i=this.applyTransform(e.slice(2,4),t),s=this.applyTransform([e[0],e[3]],t),a=this.applyTransform([e[2],e[1]],t);return[Math.min(A[0],i[0],s[0],a[0]),Math.min(A[1],i[1],s[1],a[1]),Math.max(A[0],i[0],s[0],a[0]),Math.max(A[1],i[1],s[1],a[1])]}static inverseTransform(e){const t=e[0]*e[3]-e[1]*e[2];return[e[3]/t,-e[1]/t,-e[2]/t,e[0]/t,(e[2]*e[5]-e[4]*e[3])/t,(e[4]*e[1]-e[5]*e[0])/t]}static singularValueDecompose2dScale(e){const t=[e[0],e[2],e[1],e[3]],A=e[0]*t[0]+e[1]*t[2],i=e[0]*t[1]+e[1]*t[3],s=e[2]*t[0]+e[3]*t[2],a=e[2]*t[1]+e[3]*t[3],n=(A+a)/2,r=Math.sqrt((A+a)**2-4*(A*a-s*i))/2,o=n+r||1,g=n-r||1;return[Math.sqrt(o),Math.sqrt(g)]}static normalizeRect(e){const t=e.slice(0);return e[0]>e[2]&&(t[0]=e[2],t[2]=e[0]),e[1]>e[3]&&(t[1]=e[3],t[3]=e[1]),t}static intersect(e,t){const A=Math.max(Math.min(e[0],e[2]),Math.min(t[0],t[2])),i=Math.min(Math.max(e[0],e[2]),Math.max(t[0],t[2]));if(A>i)return null;const s=Math.max(Math.min(e[1],e[3]),Math.min(t[1],t[3])),a=Math.min(Math.max(e[1],e[3]),Math.max(t[1],t[3]));return s>a?null:[A,s,i,a]}static#e(e,t,A,i,s,a,n,r,o,g){if(o<=0||o>=1)return;const h=1-o,c=o*o,l=c*o,I=h*(h*(h*e+3*o*t)+3*c*A)+l*i,d=h*(h*(h*s+3*o*a)+3*c*n)+l*r;g[0]=Math.min(g[0],I),g[1]=Math.min(g[1],d),g[2]=Math.max(g[2],I),g[3]=Math.max(g[3],d)}static#t(e,t,A,i,s,a,n,r,o,g,h,c){if(Math.abs(o)<1e-12)return void(Math.abs(g)>=1e-12&&this.#e(e,t,A,i,s,a,n,r,-h/g,c));const l=g**2-4*h*o;if(l<0)return;const I=Math.sqrt(l),d=2*o;this.#e(e,t,A,i,s,a,n,r,(-g+I)/d,c),this.#e(e,t,A,i,s,a,n,r,(-g-I)/d,c)}static bezierBoundingBox(e,t,A,i,s,a,n,r,o){return o?(o[0]=Math.min(o[0],e,n),o[1]=Math.min(o[1],t,r),o[2]=Math.max(o[2],e,n),o[3]=Math.max(o[3],t,r)):o=[Math.min(e,n),Math.min(t,r),Math.max(e,n),Math.max(t,r)],this.#t(e,A,s,n,t,i,a,r,3*(3*(A-s)-e+n),6*(e-2*A+s),3*(A-e),o),this.#t(e,A,s,n,t,i,a,r,3*(3*(i-a)-t+r),6*(t-2*i+a),3*(i-t),o),o}};const vo=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,728,711,710,729,733,731,730,732,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8226,8224,8225,8230,8212,8211,402,8260,8249,8250,8722,8240,8222,8220,8221,8216,8217,8218,8482,64257,64258,321,338,352,376,381,305,322,339,353,382,0,8364];function No(e){if(e[0]>="ï"){let t;if("þ"===e[0]&&"ÿ"===e[1]?(t="utf-16be",e.length%2==1&&(e=e.slice(0,-1))):"ÿ"===e[0]&&"þ"===e[1]?(t="utf-16le",e.length%2==1&&(e=e.slice(0,-1))):"ï"===e[0]&&"»"===e[1]&&"¿"===e[2]&&(t="utf-8"),t)try{const A=new TextDecoder(t,{fatal:!0}),i=Do(e),s=A.decode(i);return s.includes("")?s.replaceAll(/\x1b[^\x1b]*(?:\x1b|$)/g,""):s}catch(e){co(`stringToPDFString: "${e}".`)}}const t=[];for(let A=0,i=e.length;A<i;A++){const s=e.charCodeAt(A);if(27===s){for(;++A<i&&27!==e.charCodeAt(A););continue}const a=vo[s];t.push(a?String.fromCharCode(a):e.charAt(A))}return t.join("")}function Mo(e){return decodeURIComponent(escape(e))}function Go(e){return unescape(encodeURIComponent(e))}function Lo(e,t){if(e.length!==t.length)return!1;for(let A=0,i=e.length;A<i;A++)if(e[A]!==t[A])return!1;return!0}function Uo(e=new Date){return[e.getUTCFullYear().toString(),(e.getUTCMonth()+1).toString().padStart(2,"0"),e.getUTCDate().toString().padStart(2,"0"),e.getUTCHours().toString().padStart(2,"0"),e.getUTCMinutes().toString().padStart(2,"0"),e.getUTCSeconds().toString().padStart(2,"0")].join("")}let Ho=null,Jo=null;const To=0,Po=1,Yo=2,Ko=3,_o=4,qo=5,Oo=6,Wo=7,jo=8,Vo=Symbol("CIRCULAR_REF"),Zo=Symbol("EOF");let Xo=Object.create(null),zo=Object.create(null),$o=Object.create(null);class eg{constructor(e){this.name=e}static get(e){return zo[e]||=new eg(e)}}class tg{constructor(e){this.cmd=e}static get(e){return Xo[e]||=new tg(e)}}const Ag=function(){return Ag};class ig{constructor(e=null){this._map=Object.create(null),this.xref=e,this.objId=null,this.suppressEncryption=!1,this.__nonSerializable__=Ag}assignXref(e){this.xref=e}get size(){return Object.keys(this._map).length}get(e,t,A){let i=this._map[e];return void 0===i&&void 0!==t&&(i=this._map[t],void 0===i&&void 0!==A&&(i=this._map[A])),i instanceof sg&&this.xref?this.xref.fetch(i,this.suppressEncryption):i}async getAsync(e,t,A){let i=this._map[e];return void 0===i&&void 0!==t&&(i=this._map[t],void 0===i&&void 0!==A&&(i=this._map[A])),i instanceof sg&&this.xref?this.xref.fetchAsync(i,this.suppressEncryption):i}getArray(e,t,A){let i=this._map[e];if(void 0===i&&void 0!==t&&(i=this._map[t],void 0===i&&void 0!==A&&(i=this._map[A])),i instanceof sg&&this.xref&&(i=this.xref.fetch(i,this.suppressEncryption)),Array.isArray(i)){i=i.slice();for(let e=0,t=i.length;e<t;e++)i[e]instanceof sg&&this.xref&&(i[e]=this.xref.fetch(i[e],this.suppressEncryption))}return i}getRaw(e){return this._map[e]}getKeys(){return Object.keys(this._map)}getRawValues(){return Object.values(this._map)}set(e,t){this._map[e]=t}has(e){return void 0!==this._map[e]}forEach(e){for(const t in this._map)e(t,this.get(t))}static get empty(){const e=new ig(null);return e.set=(e,t)=>{lo("Should not call `set` on the empty dictionary.")},uo(this,"empty",e)}static merge({xref:e,dictArray:t,mergeSubDicts:A=!1}){const i=new ig(e),s=new Map;for(const e of t)if(e instanceof ig)for(const[t,i]of Object.entries(e._map)){let e=s.get(t);if(void 0===e)e=[],s.set(t,e);else if(!(A&&i instanceof ig))continue;e.push(i)}for(const[t,A]of s){if(1===A.length||!(A[0]instanceof ig)){i._map[t]=A[0];continue}const s=new ig(e);for(const e of A)for(const[t,A]of Object.entries(e._map))void 0===s._map[t]&&(s._map[t]=A);s.size>0&&(i._map[t]=s)}return s.clear(),i.size>0?i:ig.empty}clone(){const e=new ig(this.xref);for(const t of this.getKeys())e.set(t,this.getRaw(t));return e}}class sg{constructor(e,t){this.num=e,this.gen=t}toString(){return 0===this.gen?`${this.num}R`:`${this.num}R${this.gen}`}static fromString(e){const t=$o[e];if(t)return t;const A=/^(\d+)R(\d*)$/.exec(e);return A&&"0"!==A[1]?$o[e]=new sg(parseInt(A[1]),A[2]?parseInt(A[2]):0):null}static get(e,t){const A=0===t?`${e}R`:`${e}R${t}`;return $o[A]||=new sg(e,t)}}class ag{constructor(e=null){this._set=new Set(e?._set)}has(e){return this._set.has(e.toString())}put(e){this._set.add(e.toString())}remove(e){this._set.delete(e.toString())}[Symbol.iterator](){return this._set.values()}clear(){this._set.clear()}}class ng{constructor(){this._map=new Map}get size(){return this._map.size}get(e){return this._map.get(e.toString())}has(e){return this._map.has(e.toString())}put(e,t){this._map.set(e.toString(),t)}putAlias(e,t){this._map.set(e.toString(),this.get(t))}[Symbol.iterator](){return this._map.values()}clear(){this._map.clear()}*items(){for(const[e,t]of this._map)yield[sg.fromString(e),t]}}function rg(e,t){return e instanceof eg&&(void 0===t||e.name===t)}function og(e,t){return e instanceof tg&&(void 0===t||e.cmd===t)}function gg(e,t){return e instanceof ig&&(void 0===t||rg(e.get("Type"),t))}function hg(e,t){return e.num===t.num&&e.gen===t.gen}class cg{constructor(){this.constructor===cg&&lo("Cannot initialize BaseStream.")}get length(){lo("Abstract getter `length` accessed")}get isEmpty(){lo("Abstract getter `isEmpty` accessed")}get isDataLoaded(){return uo(this,"isDataLoaded",!0)}getByte(){lo("Abstract method `getByte` called")}getBytes(e){lo("Abstract method `getBytes` called")}peekByte(){const e=this.getByte();return-1!==e&&this.pos--,e}peekBytes(e){const t=this.getBytes(e);return this.pos-=t.length,t}getUint16(){const e=this.getByte(),t=this.getByte();return-1===e||-1===t?-1:(e<<8)+t}getInt32(){return(this.getByte()<<24)+(this.getByte()<<16)+(this.getByte()<<8)+this.getByte()}getByteRange(e,t){lo("Abstract method `getByteRange` called")}getString(e){return bo(this.getBytes(e))}skip(e){this.pos+=e||1}reset(){lo("Abstract method `reset` called")}moveStart(){lo("Abstract method `moveStart` called")}makeSubStream(e,t,A=null){lo("Abstract method `makeSubStream` called")}getBaseStreams(){return null}}const lg=/^[1-9]\.\d$/;function Ig(e){let t;return function(){return e&&(t=Object.create(null),e(t),e=null),t}}class dg extends Bo{constructor(e,t){super(`Missing data [${e}, ${t})`,"MissingDataException"),this.begin=e,this.end=t}}class Cg extends Bo{constructor(e){super(e,"ParserEOFException")}}class ug extends Bo{constructor(e){super(e,"XRefEntryException")}}class Bg extends Bo{constructor(e){super(e,"XRefParseException")}}function Qg(e){const t=e.length;if(0===t)return new Uint8Array(0);if(1===t)return new Uint8Array(e[0]);let A=0;for(let i=0;i<t;i++)A+=e[i].byteLength;const i=new Uint8Array(A);let s=0;for(let A=0;A<t;A++){const t=new Uint8Array(e[A]);i.set(t,s),s+=t.byteLength}return i}function Eg({dict:e,key:t,getArray:A=!1,stopWhenFound:i=!0}){let s;const a=new ag;for(;e instanceof ig&&(!e.objId||!a.has(e.objId));){e.objId&&a.put(e.objId);const n=A?e.getArray(t):e.get(t);if(void 0!==n){if(i)return n;(s||=[]).push(n)}e=e.get("Parent")}return s}const fg=["","C","CC","CCC","CD","D","DC","DCC","DCCC","CM","","X","XX","XXX","XL","L","LX","LXX","LXXX","XC","","I","II","III","IV","V","VI","VII","VIII","IX"];function pg(e,t=!1){Io(Number.isInteger(e)&&e>0,"The number should be a positive integer.");const A=[];let i;for(;e>=1e3;)e-=1e3,A.push("M");i=e/100|0,e%=100,A.push(fg[i]),i=e/10|0,e%=10,A.push(fg[10+i]),A.push(fg[20+e]);const s=A.join("");return t?s.toLowerCase():s}function mg(e){return e<=0?0:Math.ceil(Math.log2(e))}function yg(e,t){return e[t]<<24>>24}function wg(e,t){return e[t]<<8|e[t+1]}function bg(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}function Dg(e){return 32===e||9===e||13===e||10===e}function kg(e,t){return Array.isArray(e)&&(null===t||e.length===t)&&e.every((e=>"number"==typeof e))}function Sg(e,t){return kg(e,6)?e:t}function Fg(e,t){return kg(e,4)?e:t}function Rg(e,t){return kg(e,4)?xo.normalizeRect(e):t}function xg(e){const t=/(.+)\[(\d+)\]$/;return e.split(".").map((e=>{const A=e.match(t);return A?{name:A[1],pos:parseInt(A[2],10)}:{name:e,pos:0}}))}function vg(e){const t=[];let A=0;for(let i=0,s=e.length;i<s;i++){const s=e.charCodeAt(i);(s<33||s>126||35===s||40===s||41===s||60===s||62===s||91===s||93===s||123===s||125===s||47===s||37===s)&&(A<i&&t.push(e.substring(A,i)),t.push(`#${s.toString(16)}`),A=i+1)}return 0===t.length?e:(A<e.length&&t.push(e.substring(A,e.length)),t.join(""))}function Ng(e){return e.replaceAll(/([()\\\n\r])/g,(e=>"\n"===e?"\\n":"\r"===e?"\\r":`\\${e}`))}function Mg(e,t,A,i){if(!e)return;let s=null;if(e instanceof sg){if(i.has(e))return;s=e,i.put(s),e=t.fetch(e)}if(Array.isArray(e))for(const s of e)Mg(s,t,A,i);else if(e instanceof ig){if(rg(e.get("S"),"JavaScript")){const t=e.get("JS");let i;t instanceof cg?i=t.getString():"string"==typeof t&&(i=t),i&&=No(i).replaceAll("\0",""),i&&A.push(i)}Mg(e.getRaw("Next"),t,A,i)}s&&i.remove(s)}function Gg(e,t,A){const i=Object.create(null),s=Eg({dict:t,key:"AA",stopWhenFound:!1});if(s)for(let t=s.length-1;t>=0;t--){const a=s[t];if(a instanceof ig)for(const t of a.getKeys()){const s=A[t];if(!s)continue;const n=[];Mg(a.getRaw(t),e,n,new ag),n.length>0&&(i[s]=n)}}if(t.has("A")){const A=[];Mg(t.get("A"),e,A,new ag),A.length>0&&(i.Action=A)}return So(i)>0?i:null}const Lg={60:"&lt;",62:"&gt;",38:"&amp;",34:"&quot;",39:"&apos;"};function*Ug(e){for(let t=0,A=e.length;t<A;t++){const A=e.codePointAt(t);A>55295&&(A<57344||A>65533)&&t++,yield A}}function Hg(e){const t=[];let A=0;for(let i=0,s=e.length;i<s;i++){const s=e.codePointAt(i);if(32<=s&&s<=126){const a=Lg[s];a&&(A<i&&t.push(e.substring(A,i)),t.push(a),A=i+1)}else A<i&&t.push(e.substring(A,i)),t.push(`&#x${s.toString(16).toUpperCase()};`),s>55295&&(s<57344||s>65533)&&i++,A=i+1}return 0===t.length?e:(A<e.length&&t.push(e.substring(A,e.length)),t.join(""))}function Jg(e,t=!1){const A=/^("|').*("|')$/.exec(e);if(A&&A[1]===A[2]){if(new RegExp(`[^\\\\]${A[1]}`).test(e.slice(1,-1)))return t&&co(`FontFamily contains unescaped ${A[1]}: ${e}.`),!1}else for(const A of e.split(/[ \t]+/))if(/^(\d|(-(\d|-)))/.test(A)||!/^[\w-\\]+$/.test(A))return t&&co(`FontFamily contains invalid <custom-ident>: ${e}.`),!1;return!0}function Tg(e){const t=new Set(["100","200","300","400","500","600","700","800","900","1000","normal","bold","bolder","lighter"]),{fontFamily:A,fontWeight:i,italicAngle:s}=e;if(!Jg(A,!0))return!1;const a=i?i.toString():"";e.fontWeight=t.has(a)?a:"400";const n=parseFloat(s);return e.italicAngle=isNaN(n)||n<-90||n>90?"14":s.toString(),!0}function Pg(e){const t=new RegExp("^\\s*("+["app.launchURL","window.open","xfa.host.gotoURL"].join("|").replaceAll(".","\\.")+")\\((?:'|\")([^'\"]*)(?:'|\")(?:,\\s*(\\w+)\\)|\\))","i").exec(e);if(t?.[2]){const e=t[2];let A=!1;return"true"===t[3]&&"app.launchURL"===t[1]&&(A=!0),{url:e,newWindow:A}}return null}function Yg(e){if(Number.isInteger(e))return e.toString();const t=Math.round(100*e);return t%100==0?(t/100).toString():t%10==0?e.toFixed(1):e.toFixed(2)}function Kg(e){if(!e)return null;const t=new Map;for(const[A,i]of e){if(!A.startsWith(fa))continue;let e=t.get(i.pageIndex);e||(e=[],t.set(i.pageIndex,e)),e.push(i)}return t.size>0?t:null}function _g(e){return/^[\x00-\x7F]*$/.test(e)}function qg(e){const t=[];for(let A=0,i=e.length;A<i;A++){const i=e.charCodeAt(A);t.push((i>>8&255).toString(16).padStart(2,"0"),(255&i).toString(16).padStart(2,"0"))}return t.join("")}function Og(e,t=!1){const A=[];t&&A.push("þÿ");for(let t=0,i=e.length;t<i;t++){const i=e.charCodeAt(t);A.push(String.fromCharCode(i>>8&255),String.fromCharCode(255&i))}return A.join("")}function Wg(e,t,A){switch(e){case 90:return[0,1,-1,0,t,0];case 180:return[-1,0,0,-1,t,A];case 270:return[0,-1,1,0,0,A];default:throw new Error("Invalid rotation")}}function jg(e){return Math.ceil(Math.ceil(Math.log2(1+e))/8)}class Vg extends cg{constructor(e,t,A,i){super(),this.bytes=e instanceof Uint8Array?e:new Uint8Array(e),this.start=t||0,this.pos=this.start,this.end=t+A||this.bytes.length,this.dict=i}get length(){return this.end-this.start}get isEmpty(){return 0===this.length}getByte(){return this.pos>=this.end?-1:this.bytes[this.pos++]}getBytes(e){const t=this.bytes,A=this.pos,i=this.end;if(!e)return t.subarray(A,i);let s=A+e;return s>i&&(s=i),this.pos=s,t.subarray(A,s)}getByteRange(e,t){return e<0&&(e=0),t>this.end&&(t=this.end),this.bytes.subarray(e,t)}reset(){this.pos=this.start}moveStart(){this.start=this.pos}makeSubStream(e,t,A=null){return new Vg(this.bytes.buffer,e,t,A)}}class Zg extends Vg{constructor(e){super(Do(e))}}class Xg extends Vg{constructor(){super(new Uint8Array(0))}}class zg extends Vg{constructor(e,t,A){super(new Uint8Array(e),0,e,null),this.chunkSize=t,this._loadedChunks=new Set,this.numChunks=Math.ceil(e/t),this.manager=A,this.progressiveDataLength=0,this.lastSuccessfulEnsureByteChunk=-1}getMissingChunks(){const e=[];for(let t=0,A=this.numChunks;t<A;++t)this._loadedChunks.has(t)||e.push(t);return e}get numChunksLoaded(){return this._loadedChunks.size}get isDataLoaded(){return this.numChunksLoaded===this.numChunks}onReceiveData(e,t){const A=this.chunkSize;if(e%A!=0)throw new Error(`Bad begin offset: ${e}`);const i=e+t.byteLength;if(i%A!=0&&i!==this.bytes.length)throw new Error(`Bad end offset: ${i}`);this.bytes.set(new Uint8Array(t),e);const s=Math.floor(e/A),a=Math.floor((i-1)/A)+1;for(let e=s;e<a;++e)this._loadedChunks.add(e)}onReceiveProgressiveData(e){let t=this.progressiveDataLength;const A=Math.floor(t/this.chunkSize);this.bytes.set(new Uint8Array(e),t),t+=e.byteLength,this.progressiveDataLength=t;const i=t>=this.end?this.numChunks:Math.floor(t/this.chunkSize);for(let e=A;e<i;++e)this._loadedChunks.add(e)}ensureByte(e){if(e<this.progressiveDataLength)return;const t=Math.floor(e/this.chunkSize);if(!(t>this.numChunks)&&t!==this.lastSuccessfulEnsureByteChunk){if(!this._loadedChunks.has(t))throw new dg(e,e+1);this.lastSuccessfulEnsureByteChunk=t}}ensureRange(e,t){if(e>=t)return;if(t<=this.progressiveDataLength)return;const A=Math.floor(e/this.chunkSize);if(A>this.numChunks)return;const i=Math.min(Math.floor((t-1)/this.chunkSize)+1,this.numChunks);for(let s=A;s<i;++s)if(!this._loadedChunks.has(s))throw new dg(e,t)}nextEmptyChunk(e){const t=this.numChunks;for(let A=0;A<t;++A){const i=(e+A)%t;if(!this._loadedChunks.has(i))return i}return null}hasChunk(e){return this._loadedChunks.has(e)}getByte(){const e=this.pos;return e>=this.end?-1:(e>=this.progressiveDataLength&&this.ensureByte(e),this.bytes[this.pos++])}getBytes(e){const t=this.bytes,A=this.pos,i=this.end;if(!e)return i>this.progressiveDataLength&&this.ensureRange(A,i),t.subarray(A,i);let s=A+e;return s>i&&(s=i),s>this.progressiveDataLength&&this.ensureRange(A,s),this.pos=s,t.subarray(A,s)}getByteRange(e,t){return e<0&&(e=0),t>this.end&&(t=this.end),t>this.progressiveDataLength&&this.ensureRange(e,t),this.bytes.subarray(e,t)}makeSubStream(e,t,A=null){function i(){}t?e+t>this.progressiveDataLength&&this.ensureRange(e,e+t):e>=this.progressiveDataLength&&this.ensureByte(e),i.prototype=Object.create(this),i.prototype.getMissingChunks=function(){const e=this.chunkSize,t=Math.floor(this.start/e),A=Math.floor((this.end-1)/e)+1,i=[];for(let e=t;e<A;++e)this._loadedChunks.has(e)||i.push(e);return i},Object.defineProperty(i.prototype,"isDataLoaded",{get(){return this.numChunksLoaded===this.numChunks||0===this.getMissingChunks().length},configurable:!0});const s=new i;return s.pos=s.start=e,s.end=e+t||this.end,s.dict=A,s}getBaseStreams(){return[this]}}class $g{constructor(e,t){this.length=t.length,this.chunkSize=t.rangeChunkSize,this.stream=new zg(this.length,this.chunkSize,this),this.pdfNetworkStream=e,this.disableAutoFetch=t.disableAutoFetch,this.msgHandler=t.msgHandler,this.currRequestId=0,this._chunksNeededByRequest=new Map,this._requestsByChunk=new Map,this._promisesByRequest=new Map,this.progressiveDataLength=0,this.aborted=!1,this._loadedStreamCapability=Promise.withResolvers()}sendRequest(e,t){const A=this.pdfNetworkStream.getRangeReader(e,t);A.isStreamingSupported||(A.onProgress=this.onProgress.bind(this));let i=[],s=0;return new Promise(((e,t)=>{const a=({value:n,done:r})=>{try{if(r){const t=Qg(i);return i=null,void e(t)}s+=n.byteLength,A.isStreamingSupported&&this.onProgress({loaded:s}),i.push(n),A.read().then(a,t)}catch(e){t(e)}};A.read().then(a,t)})).then((t=>{this.aborted||this.onReceiveData({chunk:t,begin:e})}))}requestAllChunks(e=!1){if(!e){const e=this.stream.getMissingChunks();this._requestChunks(e)}return this._loadedStreamCapability.promise}_requestChunks(e){const t=this.currRequestId++,A=new Set;this._chunksNeededByRequest.set(t,A);for(const t of e)this.stream.hasChunk(t)||A.add(t);if(0===A.size)return Promise.resolve();const i=Promise.withResolvers();this._promisesByRequest.set(t,i);const s=[];for(const e of A){let A=this._requestsByChunk.get(e);A||(A=[],this._requestsByChunk.set(e,A),s.push(e)),A.push(t)}if(s.length>0){const e=this.groupChunks(s);for(const t of e){const e=t.beginChunk*this.chunkSize,A=Math.min(t.endChunk*this.chunkSize,this.length);this.sendRequest(e,A).catch(i.reject)}}return i.promise.catch((e=>{if(!this.aborted)throw e}))}getStream(){return this.stream}requestRange(e,t){t=Math.min(t,this.length);const A=this.getBeginChunk(e),i=this.getEndChunk(t),s=[];for(let e=A;e<i;++e)s.push(e);return this._requestChunks(s)}requestRanges(e=[]){const t=[];for(const A of e){const e=this.getBeginChunk(A.begin),i=this.getEndChunk(A.end);for(let A=e;A<i;++A)t.includes(A)||t.push(A)}return t.sort((function(e,t){return e-t})),this._requestChunks(t)}groupChunks(e){const t=[];let A=-1,i=-1;for(let s=0,a=e.length;s<a;++s){const a=e[s];A<0&&(A=a),i>=0&&i+1!==a&&(t.push({beginChunk:A,endChunk:i+1}),A=a),s+1===e.length&&t.push({beginChunk:A,endChunk:a+1}),i=a}return t}onProgress(e){this.msgHandler.send("DocProgress",{loaded:this.stream.numChunksLoaded*this.chunkSize+e.loaded,total:this.length})}onReceiveData(e){const t=e.chunk,A=void 0===e.begin,i=A?this.progressiveDataLength:e.begin,s=i+t.byteLength,a=Math.floor(i/this.chunkSize),n=s<this.length?Math.floor(s/this.chunkSize):Math.ceil(s/this.chunkSize);A?(this.stream.onReceiveProgressiveData(t),this.progressiveDataLength=s):this.stream.onReceiveData(i,t),this.stream.isDataLoaded&&this._loadedStreamCapability.resolve(this.stream);const r=[];for(let e=a;e<n;++e){const t=this._requestsByChunk.get(e);if(t){this._requestsByChunk.delete(e);for(const A of t){const t=this._chunksNeededByRequest.get(A);t.has(e)&&t.delete(e),t.size>0||r.push(A)}}}if(!this.disableAutoFetch&&0===this._requestsByChunk.size){let e;if(1===this.stream.numChunksLoaded){const t=this.stream.numChunks-1;this.stream.hasChunk(t)||(e=t)}else e=this.stream.nextEmptyChunk(n);Number.isInteger(e)&&this._requestChunks([e])}for(const e of r){const t=this._promisesByRequest.get(e);this._promisesByRequest.delete(e),t.resolve()}this.msgHandler.send("DocProgress",{loaded:this.stream.numChunksLoaded*this.chunkSize,total:this.length})}onError(e){this._loadedStreamCapability.reject(e)}getBeginChunk(e){return Math.floor(e/this.chunkSize)}getEndChunk(e){return Math.floor((e-1)/this.chunkSize)+1}abort(e){this.aborted=!0,this.pdfNetworkStream?.cancelAllRequests(e);for(const t of this._promisesByRequest.values())t.reject(e)}}class eh{constructor(e,t){this.constructor===eh&&lo("Cannot initialize ColorSpace."),this.name=e,this.numComps=t}getRgb(e,t){const A=new Uint8ClampedArray(3);return this.getRgbItem(e,t,A,0),A}getRgbItem(e,t,A,i){lo("Should not call ColorSpace.getRgbItem")}getRgbBuffer(e,t,A,i,s,a,n){lo("Should not call ColorSpace.getRgbBuffer")}getOutputLength(e,t){lo("Should not call ColorSpace.getOutputLength")}isPassthrough(e){return!1}isDefaultDecode(e,t){return eh.isDefaultDecode(e,this.numComps)}fillRgb(e,t,A,i,s,a,n,r,o){const g=t*A;let h=null;const c=1<<n,l=A!==s||t!==i;if(this.isPassthrough(n))h=r;else if(1===this.numComps&&g>c&&"DeviceGray"!==this.name&&"DeviceRGB"!==this.name){const t=n<=8?new Uint8Array(c):new Uint16Array(c);for(let e=0;e<c;e++)t[e]=e;const A=new Uint8ClampedArray(3*c);if(this.getRgbBuffer(t,0,c,A,0,n,0),l){h=new Uint8Array(3*g);let e=0;for(let t=0;t<g;++t){const i=3*r[t];h[e++]=A[i],h[e++]=A[i+1],h[e++]=A[i+2]}}else{let t=0;for(let i=0;i<g;++i){const s=3*r[i];e[t++]=A[s],e[t++]=A[s+1],e[t++]=A[s+2],t+=o}}}else l?(h=new Uint8ClampedArray(3*g),this.getRgbBuffer(r,0,g,h,0,n,0)):this.getRgbBuffer(r,0,i*a,e,0,n,o);if(h)if(l)!function(e,t,A,i,s,a,n){n=1!==n?0:n;const r=A/s,o=i/a;let g,h=0;const c=new Uint16Array(s),l=3*A;for(let e=0;e<s;e++)c[e]=3*Math.floor(e*r);for(let A=0;A<a;A++){const i=Math.floor(A*o)*l;for(let A=0;A<s;A++)g=i+c[A],t[h++]=e[g++],t[h++]=e[g++],t[h++]=e[g++],h+=n}}(h,e,t,A,i,s,o);else{let t=0,A=0;for(let s=0,n=i*a;s<n;s++)e[t++]=h[A++],e[t++]=h[A++],e[t++]=h[A++],t+=o}}get usesZeroToOneRange(){return uo(this,"usesZeroToOneRange",!0)}static _cache(e,t,A,i){if(!A)throw new Error('ColorSpace._cache - expected "localColorSpaceCache" argument.');if(!i)throw new Error('ColorSpace._cache - expected "parsedColorSpace" argument.');let s,a;e instanceof sg&&(a=e,e=t.fetch(e)),e instanceof eg&&(s=e.name),(s||a)&&A.set(s,a,i)}static getCached(e,t,A){if(!A)throw new Error('ColorSpace.getCached - expected "localColorSpaceCache" argument.');if(e instanceof sg){const i=A.getByRef(e);if(i)return i;try{e=t.fetch(e)}catch(e){if(e instanceof dg)throw e}}if(e instanceof eg){const t=A.getByName(e.name);if(t)return t}return null}static async parseAsync({cs:e,xref:t,resources:A=null,pdfFunctionFactory:i,localColorSpaceCache:s}){const a=this._parse(e,t,A,i);return this._cache(e,t,s,a),a}static parse({cs:e,xref:t,resources:A=null,pdfFunctionFactory:i,localColorSpaceCache:s}){const a=this.getCached(e,t,s);if(a)return a;const n=this._parse(e,t,A,i);return this._cache(e,t,s,n),n}static _parse(e,t,A=null,i){if((e=t.fetchIfRef(e))instanceof eg)switch(e.name){case"G":case"DeviceGray":return this.singletons.gray;case"RGB":case"DeviceRGB":return this.singletons.rgb;case"CMYK":case"DeviceCMYK":return this.singletons.cmyk;case"Pattern":return new Ah(null);default:if(A instanceof ig){const s=A.get("ColorSpace");if(s instanceof ig){const a=s.get(e.name);if(a){if(a instanceof eg)return this._parse(a,t,A,i);e=a;break}}}throw new yo(`Unrecognized ColorSpace: ${e.name}`)}if(Array.isArray(e)){const s=t.fetchIfRef(e[0]).name;let a,n,r,o,g,h;switch(s){case"G":case"DeviceGray":return this.singletons.gray;case"RGB":case"DeviceRGB":return this.singletons.rgb;case"CMYK":case"DeviceCMYK":return this.singletons.cmyk;case"CalGray":return a=t.fetchIfRef(e[1]),o=a.getArray("WhitePoint"),g=a.getArray("BlackPoint"),h=a.get("Gamma"),new rh(o,g,h);case"CalRGB":a=t.fetchIfRef(e[1]),o=a.getArray("WhitePoint"),g=a.getArray("BlackPoint"),h=a.getArray("Gamma");const c=a.getArray("Matrix");return new oh(o,g,h,c);case"ICCBased":const l=t.fetchIfRef(e[1]).dict;n=l.get("N");const I=l.get("Alternate");if(I){const e=this._parse(I,t,A,i);if(e.numComps===n)return e;co("ICCBased color space: Ignoring incorrect /Alternate entry.")}if(1===n)return this.singletons.gray;if(3===n)return this.singletons.rgb;if(4===n)return this.singletons.cmyk;break;case"Pattern":return r=e[1]||null,r&&(r=this._parse(r,t,A,i)),new Ah(r);case"I":case"Indexed":r=this._parse(e[1],t,A,i);const d=t.fetchIfRef(e[2])+1,C=t.fetchIfRef(e[3]);return new ih(r,d,C);case"Separation":case"DeviceN":const u=t.fetchIfRef(e[1]);n=Array.isArray(u)?u.length:1,r=this._parse(e[2],t,A,i);const B=i.create(e[3]);return new th(n,r,B);case"Lab":a=t.fetchIfRef(e[1]),o=a.getArray("WhitePoint"),g=a.getArray("BlackPoint");const Q=a.getArray("Range");return new gh(o,g,Q);default:throw new yo(`Unimplemented ColorSpace object: ${s}`)}}throw new yo(`Unrecognized ColorSpace object: ${e}`)}static isDefaultDecode(e,t){if(!Array.isArray(e))return!0;if(2*t!==e.length)return co("The decode map is not the correct length"),!0;for(let t=0,A=e.length;t<A;t+=2)if(0!==e[t]||1!==e[t+1])return!1;return!0}static get singletons(){return uo(this,"singletons",{get gray(){return uo(this,"gray",new sh)},get rgb(){return uo(this,"rgb",new ah)},get cmyk(){return uo(this,"cmyk",new nh)}})}}class th extends eh{constructor(e,t,A){super("Alternate",e),this.base=t,this.tintFn=A,this.tmpBuf=new Float32Array(t.numComps)}getRgbItem(e,t,A,i){const s=this.tmpBuf;this.tintFn(e,t,s,0),this.base.getRgbItem(s,0,A,i)}getRgbBuffer(e,t,A,i,s,a,n){const r=this.tintFn,o=this.base,g=1/((1<<a)-1),h=o.numComps,c=o.usesZeroToOneRange,l=(o.isPassthrough(8)||!c)&&0===n;let I=l?s:0;const d=l?i:new Uint8ClampedArray(h*A),C=this.numComps,u=new Float32Array(C),B=new Float32Array(h);let Q,E;for(Q=0;Q<A;Q++){for(E=0;E<C;E++)u[E]=e[t++]*g;if(r(u,0,B,0),c)for(E=0;E<h;E++)d[I++]=255*B[E];else o.getRgbItem(B,0,d,I),I+=h}l||o.getRgbBuffer(d,0,A,i,s,8,n)}getOutputLength(e,t){return this.base.getOutputLength(e*this.base.numComps/this.numComps,t)}}class Ah extends eh{constructor(e){super("Pattern",null),this.base=e}isDefaultDecode(e,t){lo("Should not call PatternCS.isDefaultDecode")}}class ih extends eh{constructor(e,t,A){super("Indexed",1),this.base=e,this.highVal=t;const i=e.numComps*t;if(this.lookup=new Uint8Array(i),A instanceof cg){const e=A.getBytes(i);this.lookup.set(e)}else{if("string"!=typeof A)throw new yo(`IndexedCS - unrecognized lookup table: ${A}`);for(let e=0;e<i;++e)this.lookup[e]=255&A.charCodeAt(e)}}getRgbItem(e,t,A,i){const s=this.base.numComps,a=e[t]*s;this.base.getRgbBuffer(this.lookup,a,1,A,i,8,0)}getRgbBuffer(e,t,A,i,s,a,n){const r=this.base,o=r.numComps,g=r.getOutputLength(o,n),h=this.lookup;for(let a=0;a<A;++a){const A=e[t++]*o;r.getRgbBuffer(h,A,1,i,s,8,n),s+=g}}getOutputLength(e,t){return this.base.getOutputLength(e*this.base.numComps,t)}isDefaultDecode(e,t){return!Array.isArray(e)||(2!==e.length?(co("Decode map length is not correct"),!0):!Number.isInteger(t)||t<1?(co("Bits per component is not correct"),!0):0===e[0]&&e[1]===(1<<t)-1)}}class sh extends eh{constructor(){super("DeviceGray",1)}getRgbItem(e,t,A,i){const s=255*e[t];A[i]=A[i+1]=A[i+2]=s}getRgbBuffer(e,t,A,i,s,a,n){const r=255/((1<<a)-1);let o=t,g=s;for(let t=0;t<A;++t){const t=r*e[o++];i[g++]=t,i[g++]=t,i[g++]=t,g+=n}}getOutputLength(e,t){return e*(3+t)}}class ah extends eh{constructor(){super("DeviceRGB",3)}getRgbItem(e,t,A,i){A[i]=255*e[t],A[i+1]=255*e[t+1],A[i+2]=255*e[t+2]}getRgbBuffer(e,t,A,i,s,a,n){if(8===a&&0===n)return void i.set(e.subarray(t,t+3*A),s);const r=255/((1<<a)-1);let o=t,g=s;for(let t=0;t<A;++t)i[g++]=r*e[o++],i[g++]=r*e[o++],i[g++]=r*e[o++],g+=n}getOutputLength(e,t){return e*(3+t)/3|0}isPassthrough(e){return 8===e}}class nh extends eh{constructor(){super("DeviceCMYK",4)}#qn(e,t,A,i,s){const a=e[t]*A,n=e[t+1]*A,r=e[t+2]*A,o=e[t+3]*A;i[s]=255+a*(-4.387332384609988*a+54.48615194189176*n+18.82290502165302*r+212.25662451639585*o-285.2331026137004)+n*(1.7149763477362134*n-5.6096736904047315*r+-17.873870861415444*o-5.497006427196366)+r*(-2.5217340131683033*r-21.248923337353073*o+17.5119270841813)+o*(-21.86122147463605*o-189.48180835922747),i[s+1]=255+a*(8.841041422036149*a+60.118027045597366*n+6.871425592049007*r+31.159100130055922*o-79.2970844816548)+n*(-15.310361306967817*n+17.575251261109482*r+131.35250912493976*o-190.9453302588951)+r*(4.444339102852739*r+9.8632861493405*o-24.86741582555878)+o*(-20.737325471181034*o-187.80453709719578),i[s+2]=255+a*(.8842522430003296*a+8.078677503112928*n+30.89978309703729*r-.23883238689178934*o-14.183576799673286)+n*(10.49593273432072*n+63.02378494754052*r+50.606957656360734*o-112.23884253719248)+r*(.03296041114873217*r+115.60384449646641*o-193.58209356861505)+o*(-22.33816807309886*o-180.12613974708367)}getRgbItem(e,t,A,i){this.#qn(e,t,1,A,i)}getRgbBuffer(e,t,A,i,s,a,n){const r=1/((1<<a)-1);for(let a=0;a<A;a++)this.#qn(e,t,r,i,s),t+=4,s+=3+n}getOutputLength(e,t){return e/4*(3+t)|0}}class rh extends eh{constructor(e,t,A){if(super("CalGray",1),!e)throw new yo("WhitePoint missing - required for color space CalGray");if([this.XW,this.YW,this.ZW]=e,[this.XB,this.YB,this.ZB]=t||[0,0,0],this.G=A||1,this.XW<0||this.ZW<0||1!==this.YW)throw new yo(`Invalid WhitePoint components for ${this.name}, no fallback available`);(this.XB<0||this.YB<0||this.ZB<0)&&(ho(`Invalid BlackPoint for ${this.name}, falling back to default.`),this.XB=this.YB=this.ZB=0),0===this.XB&&0===this.YB&&0===this.ZB||co(`${this.name}, BlackPoint: XB: ${this.XB}, YB: ${this.YB}, ZB: ${this.ZB}, only default values are supported.`),this.G<1&&(ho(`Invalid Gamma: ${this.G} for ${this.name}, falling back to default.`),this.G=1)}#qn(e,t,A,i,s){const a=(e[t]*s)**this.G,n=this.YW*a,r=Math.max(295.8*n**.3333333333333333-40.8,0);A[i]=r,A[i+1]=r,A[i+2]=r}getRgbItem(e,t,A,i){this.#qn(e,t,A,i,1)}getRgbBuffer(e,t,A,i,s,a,n){const r=1/((1<<a)-1);for(let a=0;a<A;++a)this.#qn(e,t,i,s,r),t+=1,s+=3+n}getOutputLength(e,t){return e*(3+t)}}class oh extends eh{static#On=new Float32Array([.8951,.2664,-.1614,-.7502,1.7135,.0367,.0389,-.0685,1.0296]);static#Wn=new Float32Array([.9869929,-.1470543,.1599627,.4323053,.5183603,.0492912,-.0085287,.0400428,.9684867]);static#jn=new Float32Array([3.2404542,-1.5371385,-.4985314,-.969266,1.8760108,.041556,.0556434,-.2040259,1.0572252]);static#Vn=new Float32Array([1,1,1]);static#Zn=new Float32Array(3);static#Xn=new Float32Array(3);static#zn=new Float32Array(3);static#$n=(24/116)**3/8;constructor(e,t,A,i){if(super("CalRGB",3),!e)throw new yo("WhitePoint missing - required for color space CalRGB");const[s,a,n]=this.whitePoint=e,[r,o,g]=this.blackPoint=t||new Float32Array(3);if([this.GR,this.GG,this.GB]=A||new Float32Array([1,1,1]),[this.MXA,this.MYA,this.MZA,this.MXB,this.MYB,this.MZB,this.MXC,this.MYC,this.MZC]=i||new Float32Array([1,0,0,0,1,0,0,0,1]),s<0||n<0||1!==a)throw new yo(`Invalid WhitePoint components for ${this.name}, no fallback available`);(r<0||o<0||g<0)&&(ho(`Invalid BlackPoint for ${this.name} [${r}, ${o}, ${g}], falling back to default.`),this.blackPoint=new Float32Array(3)),(this.GR<0||this.GG<0||this.GB<0)&&(ho(`Invalid Gamma [${this.GR}, ${this.GG}, ${this.GB}] for ${this.name}, falling back to default.`),this.GR=this.GG=this.GB=1)}#er(e,t,A){A[0]=e[0]*t[0]+e[1]*t[1]+e[2]*t[2],A[1]=e[3]*t[0]+e[4]*t[1]+e[5]*t[2],A[2]=e[6]*t[0]+e[7]*t[1]+e[8]*t[2]}#tr(e,t,A){A[0]=1*t[0]/e[0],A[1]=1*t[1]/e[1],A[2]=1*t[2]/e[2]}#Ar(e,t,A){A[0]=.95047*t[0]/e[0],A[1]=1*t[1]/e[1],A[2]=1.08883*t[2]/e[2]}#ir(e){return e<=.0031308?this.#sr(0,1,12.92*e):e>=.99554525?1:this.#sr(0,1,1.055*e**(1/2.4)-.055)}#sr(e,t,A){return Math.max(e,Math.min(t,A))}#ar(e){return e<0?-this.#ar(-e):e>8?((e+16)/116)**3:e*oh.#$n}#nr(e,t,A){if(0===e[0]&&0===e[1]&&0===e[2])return A[0]=t[0],A[1]=t[1],void(A[2]=t[2]);const i=this.#ar(0),s=(1-i)/(1-this.#ar(e[0])),a=1-s,n=(1-i)/(1-this.#ar(e[1])),r=1-n,o=(1-i)/(1-this.#ar(e[2])),g=1-o;A[0]=t[0]*s+a,A[1]=t[1]*n+r,A[2]=t[2]*o+g}#rr(e,t,A){if(1===e[0]&&1===e[2])return A[0]=t[0],A[1]=t[1],void(A[2]=t[2]);const i=A;this.#er(oh.#On,t,i);const s=oh.#Zn;this.#tr(e,i,s),this.#er(oh.#Wn,s,A)}#or(e,t,A){const i=A;this.#er(oh.#On,t,i);const s=oh.#Zn;this.#Ar(e,i,s),this.#er(oh.#Wn,s,A)}#qn(e,t,A,i,s){const a=this.#sr(0,1,e[t]*s),n=this.#sr(0,1,e[t+1]*s),r=this.#sr(0,1,e[t+2]*s),o=1===a?1:a**this.GR,g=1===n?1:n**this.GG,h=1===r?1:r**this.GB,c=this.MXA*o+this.MXB*g+this.MXC*h,l=this.MYA*o+this.MYB*g+this.MYC*h,I=this.MZA*o+this.MZB*g+this.MZC*h,d=oh.#Xn;d[0]=c,d[1]=l,d[2]=I;const C=oh.#zn;this.#rr(this.whitePoint,d,C);const u=oh.#Xn;this.#nr(this.blackPoint,C,u);const B=oh.#zn;this.#or(oh.#Vn,u,B);const Q=oh.#Xn;this.#er(oh.#jn,B,Q),A[i]=255*this.#ir(Q[0]),A[i+1]=255*this.#ir(Q[1]),A[i+2]=255*this.#ir(Q[2])}getRgbItem(e,t,A,i){this.#qn(e,t,A,i,1)}getRgbBuffer(e,t,A,i,s,a,n){const r=1/((1<<a)-1);for(let a=0;a<A;++a)this.#qn(e,t,i,s,r),t+=3,s+=3+n}getOutputLength(e,t){return e*(3+t)/3|0}}class gh extends eh{constructor(e,t,A){if(super("Lab",3),!e)throw new yo("WhitePoint missing - required for color space Lab");if([this.XW,this.YW,this.ZW]=e,[this.amin,this.amax,this.bmin,this.bmax]=A||[-100,100,-100,100],[this.XB,this.YB,this.ZB]=t||[0,0,0],this.XW<0||this.ZW<0||1!==this.YW)throw new yo("Invalid WhitePoint components, no fallback available");(this.XB<0||this.YB<0||this.ZB<0)&&(ho("Invalid BlackPoint, falling back to default"),this.XB=this.YB=this.ZB=0),(this.amin>this.amax||this.bmin>this.bmax)&&(ho("Invalid Range, falling back to defaults"),this.amin=-100,this.amax=100,this.bmin=-100,this.bmax=100)}#gr(e){return e>=6/29?e**3:108/841*(e-4/29)}#hr(e,t,A,i){return A+e*(i-A)/t}#qn(e,t,A,i,s){let a=e[t],n=e[t+1],r=e[t+2];!1!==A&&(a=this.#hr(a,A,0,100),n=this.#hr(n,A,this.amin,this.amax),r=this.#hr(r,A,this.bmin,this.bmax)),n>this.amax?n=this.amax:n<this.amin&&(n=this.amin),r>this.bmax?r=this.bmax:r<this.bmin&&(r=this.bmin);const o=(a+16)/116,g=o+n/500,h=o-r/200,c=this.XW*this.#gr(g),l=this.YW*this.#gr(o),I=this.ZW*this.#gr(h);let d,C,u;this.ZW<1?(d=3.1339*c+-1.617*l+-.4906*I,C=-.9785*c+1.916*l+.0333*I,u=.072*c+-.229*l+1.4057*I):(d=3.2406*c+-1.5372*l+-.4986*I,C=-.9689*c+1.8758*l+.0415*I,u=.0557*c+-.204*l+1.057*I),i[s]=255*Math.sqrt(d),i[s+1]=255*Math.sqrt(C),i[s+2]=255*Math.sqrt(u)}getRgbItem(e,t,A,i){this.#qn(e,t,!1,A,i)}getRgbBuffer(e,t,A,i,s,a,n){const r=(1<<a)-1;for(let a=0;a<A;a++)this.#qn(e,t,r,i,s),t+=3,s+=3+n}getOutputLength(e,t){return e*(3+t)/3|0}isDefaultDecode(e,t){return!0}get usesZeroToOneRange(){return uo(this,"usesZeroToOneRange",!1)}}function hh(e,t){let A=0;for(let i=0;i<=t;i++)A=A<<8|e[i];return A>>>0}function ch(e,t){return 1===t?String.fromCharCode(e[0],e[1]):3===t?String.fromCharCode(e[0],e[1],e[2],e[3]):String.fromCharCode(...e.subarray(0,t+1))}function lh(e,t,A){let i=0;for(let s=A;s>=0;s--)i+=e[s]+t[s],e[s]=255&i,i>>=8}function Ih(e,t){let A=1;for(let i=t;i>=0&&A>0;i--)A+=e[i],e[i]=255&A,A>>=8}const dh=16;class Ch{constructor(e){this.buffer=e,this.pos=0,this.end=e.length,this.tmpBuf=new Uint8Array(19)}readByte(){return this.pos>=this.end?-1:this.buffer[this.pos++]}readNumber(){let e,t=0;do{const A=this.readByte();if(A<0)throw new yo("unexpected EOF in bcmap");e=!(128&A),t=t<<7|127&A}while(!e);return t}readSigned(){const e=this.readNumber();return 1&e?~(e>>>1):e>>>1}readHex(e,t){e.set(this.buffer.subarray(this.pos,this.pos+t+1)),this.pos+=t+1}readHexNumber(e,t){let A;const i=this.tmpBuf;let s=0;do{const e=this.readByte();if(e<0)throw new yo("unexpected EOF in bcmap");A=!(128&e),i[s++]=127&e}while(!A);let a=t,n=0,r=0;for(;a>=0;){for(;r<8&&i.length>0;)n|=i[--s]<<r,r+=7;e[a]=255&n,a--,n>>=8,r-=8}}readHexSigned(e,t){this.readHexNumber(e,t);const A=1&e[t]?255:0;let i=0;for(let s=0;s<=t;s++)i=(1&i)<<8|e[s],e[s]=i>>1^A}readString(){const e=this.readNumber(),t=new Array(e);for(let A=0;A<e;A++)t[A]=this.readNumber();return String.fromCharCode(...t)}}class uh{async process(e,t,A){const i=new Ch(e),s=i.readByte();t.vertical=!!(1&s);let a=null;const n=new Uint8Array(dh),r=new Uint8Array(dh),o=new Uint8Array(dh),g=new Uint8Array(dh),h=new Uint8Array(dh);let c,l;for(;(l=i.readByte())>=0;){const e=l>>5;if(7===e){switch(31&l){case 0:i.readString();break;case 1:a=i.readString()}continue}const A=!!(16&l),s=15&l;if(s+1>dh)throw new Error("BinaryCMapReader.process: Invalid dataSize.");const I=1,d=i.readNumber();switch(e){case 0:i.readHex(n,s),i.readHexNumber(r,s),lh(r,n,s),t.addCodespaceRange(s+1,hh(n,s),hh(r,s));for(let e=1;e<d;e++)Ih(r,s),i.readHexNumber(n,s),lh(n,r,s),i.readHexNumber(r,s),lh(r,n,s),t.addCodespaceRange(s+1,hh(n,s),hh(r,s));break;case 1:i.readHex(n,s),i.readHexNumber(r,s),lh(r,n,s),i.readNumber();for(let e=1;e<d;e++)Ih(r,s),i.readHexNumber(n,s),lh(n,r,s),i.readHexNumber(r,s),lh(r,n,s),i.readNumber();break;case 2:i.readHex(o,s),c=i.readNumber(),t.mapOne(hh(o,s),c);for(let e=1;e<d;e++)Ih(o,s),A||(i.readHexNumber(h,s),lh(o,h,s)),c=i.readSigned()+(c+1),t.mapOne(hh(o,s),c);break;case 3:i.readHex(n,s),i.readHexNumber(r,s),lh(r,n,s),c=i.readNumber(),t.mapCidRange(hh(n,s),hh(r,s),c);for(let e=1;e<d;e++)Ih(r,s),A?n.set(r):(i.readHexNumber(n,s),lh(n,r,s)),i.readHexNumber(r,s),lh(r,n,s),c=i.readNumber(),t.mapCidRange(hh(n,s),hh(r,s),c);break;case 4:i.readHex(o,I),i.readHex(g,s),t.mapOne(hh(o,I),ch(g,s));for(let e=1;e<d;e++)Ih(o,I),A||(i.readHexNumber(h,I),lh(o,h,I)),Ih(g,s),i.readHexSigned(h,s),lh(g,h,s),t.mapOne(hh(o,I),ch(g,s));break;case 5:i.readHex(n,I),i.readHexNumber(r,I),lh(r,n,I),i.readHex(g,s),t.mapBfRange(hh(n,I),hh(r,I),ch(g,s));for(let e=1;e<d;e++)Ih(r,I),A?n.set(r):(i.readHexNumber(n,I),lh(n,r,I)),i.readHexNumber(r,I),lh(r,n,I),i.readHex(g,s),t.mapBfRange(hh(n,I),hh(r,I),ch(g,s));break;default:throw new Error(`BinaryCMapReader.process - unknown type: ${e}`)}}return a?A(a):t}}const Bh=new Uint8Array(0);class Qh extends cg{constructor(e){if(super(),this._rawMinBufferLength=e||0,this.pos=0,this.bufferLength=0,this.eof=!1,this.buffer=Bh,this.minBufferLength=512,e)for(;this.minBufferLength<e;)this.minBufferLength*=2}get isEmpty(){for(;!this.eof&&0===this.bufferLength;)this.readBlock();return 0===this.bufferLength}ensureBuffer(e){const t=this.buffer;if(e<=t.byteLength)return t;let A=this.minBufferLength;for(;A<e;)A*=2;const i=new Uint8Array(A);return i.set(t),this.buffer=i}getByte(){const e=this.pos;for(;this.bufferLength<=e;){if(this.eof)return-1;this.readBlock()}return this.buffer[this.pos++]}getBytes(e,t=!1){const A=this.pos;let i;if(e){for(this.ensureBuffer(A+e),i=A+e;!this.eof&&this.bufferLength<i;)this.readBlock(t);const s=this.bufferLength;i>s&&(i=s)}else{for(;!this.eof;)this.readBlock(t);i=this.bufferLength}return this.pos=i,this.buffer.subarray(A,i)}reset(){this.pos=0}makeSubStream(e,t,A=null){if(void 0===t)for(;!this.eof;)this.readBlock();else{const A=e+t;for(;this.bufferLength<=A&&!this.eof;)this.readBlock()}return new Vg(this.buffer,e,t,A)}getBaseStreams(){return this.str?this.str.getBaseStreams():null}}class Eh extends Qh{constructor(e,t=null){let A=0;for(const t of e)A+=t instanceof Qh?t._rawMinBufferLength:t.length;super(A),this.streams=e,this._onError=t}readBlock(){const e=this.streams;if(0===e.length)return void(this.eof=!0);const t=e.shift();let A;try{A=t.getBytes()}catch(e){if(this._onError)return void this._onError(e,t.dict?.objId);throw e}const i=this.bufferLength,s=i+A.length;this.ensureBuffer(s).set(A,i),this.bufferLength=s}getBaseStreams(){const e=[];for(const t of this.streams){const A=t.getBaseStreams();A&&e.push(...A)}return e.length>0?e:null}}class fh extends Qh{constructor(e,t){t&&(t*=.8),super(t),this.str=e,this.dict=e.dict,this.input=new Uint8Array(5)}readBlock(){const e=this.str;let t=e.getByte();for(;Dg(t);)t=e.getByte();if(-1===t||126===t)return void(this.eof=!0);const A=this.bufferLength;let i,s;if(122===t){for(i=this.ensureBuffer(A+4),s=0;s<4;++s)i[A+s]=0;this.bufferLength+=4}else{const a=this.input;for(a[0]=t,s=1;s<5;++s){for(t=e.getByte();Dg(t);)t=e.getByte();if(a[s]=t,-1===t||126===t)break}if(i=this.ensureBuffer(A+s-1),this.bufferLength+=s-1,s<5){for(;s<5;++s)a[s]=117;this.eof=!0}let n=0;for(s=0;s<5;++s)n=85*n+(a[s]-33);for(s=3;s>=0;--s)i[A+s]=255&n,n>>=8}}}class ph extends Qh{constructor(e,t){t&&(t*=.5),super(t),this.str=e,this.dict=e.dict,this.firstDigit=-1}readBlock(){const e=this.str.getBytes(8e3);if(!e.length)return void(this.eof=!0);const t=e.length+1>>1,A=this.ensureBuffer(this.bufferLength+t);let i=this.bufferLength,s=this.firstDigit;for(const t of e){let e;if(t>=48&&t<=57)e=15&t;else{if(!(t>=65&&t<=70||t>=97&&t<=102)){if(62===t){this.eof=!0;break}continue}e=9+(15&t)}s<0?s=e:(A[i++]=s<<4|e,s=-1)}s>=0&&this.eof&&(A[i++]=s<<4,s=-1),this.firstDigit=s,this.bufferLength=i}}const mh=-1,yh=[[-1,-1],[-1,-1],[7,8],[7,7],[6,6],[6,6],[6,5],[6,5],[4,0],[4,0],[4,0],[4,0],[4,0],[4,0],[4,0],[4,0],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2]],wh=[[-1,-1],[12,-2],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[11,1792],[11,1792],[12,1984],[12,2048],[12,2112],[12,2176],[12,2240],[12,2304],[11,1856],[11,1856],[11,1920],[11,1920],[12,2368],[12,2432],[12,2496],[12,2560]],bh=[[-1,-1],[-1,-1],[-1,-1],[-1,-1],[8,29],[8,29],[8,30],[8,30],[8,45],[8,45],[8,46],[8,46],[7,22],[7,22],[7,22],[7,22],[7,23],[7,23],[7,23],[7,23],[8,47],[8,47],[8,48],[8,48],[6,13],[6,13],[6,13],[6,13],[6,13],[6,13],[6,13],[6,13],[7,20],[7,20],[7,20],[7,20],[8,33],[8,33],[8,34],[8,34],[8,35],[8,35],[8,36],[8,36],[8,37],[8,37],[8,38],[8,38],[7,19],[7,19],[7,19],[7,19],[8,31],[8,31],[8,32],[8,32],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,12],[6,12],[6,12],[6,12],[6,12],[6,12],[6,12],[6,12],[8,53],[8,53],[8,54],[8,54],[7,26],[7,26],[7,26],[7,26],[8,39],[8,39],[8,40],[8,40],[8,41],[8,41],[8,42],[8,42],[8,43],[8,43],[8,44],[8,44],[7,21],[7,21],[7,21],[7,21],[7,28],[7,28],[7,28],[7,28],[8,61],[8,61],[8,62],[8,62],[8,63],[8,63],[8,0],[8,0],[8,320],[8,320],[8,384],[8,384],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[7,27],[7,27],[7,27],[7,27],[8,59],[8,59],[8,60],[8,60],[9,1472],[9,1536],[9,1600],[9,1728],[7,18],[7,18],[7,18],[7,18],[7,24],[7,24],[7,24],[7,24],[8,49],[8,49],[8,50],[8,50],[8,51],[8,51],[8,52],[8,52],[7,25],[7,25],[7,25],[7,25],[8,55],[8,55],[8,56],[8,56],[8,57],[8,57],[8,58],[8,58],[6,192],[6,192],[6,192],[6,192],[6,192],[6,192],[6,192],[6,192],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[8,448],[8,448],[8,512],[8,512],[9,704],[9,768],[8,640],[8,640],[8,576],[8,576],[9,832],[9,896],[9,960],[9,1024],[9,1088],[9,1152],[9,1216],[9,1280],[9,1344],[9,1408],[7,256],[7,256],[7,256],[7,256],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[6,16],[6,16],[6,16],[6,16],[6,16],[6,16],[6,16],[6,16],[6,17],[6,17],[6,17],[6,17],[6,17],[6,17],[6,17],[6,17],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[6,14],[6,14],[6,14],[6,14],[6,14],[6,14],[6,14],[6,14],[6,15],[6,15],[6,15],[6,15],[6,15],[6,15],[6,15],[6,15],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7]],Dh=[[-1,-1],[-1,-1],[12,-2],[12,-2],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[11,1792],[11,1792],[11,1792],[11,1792],[12,1984],[12,1984],[12,2048],[12,2048],[12,2112],[12,2112],[12,2176],[12,2176],[12,2240],[12,2240],[12,2304],[12,2304],[11,1856],[11,1856],[11,1856],[11,1856],[11,1920],[11,1920],[11,1920],[11,1920],[12,2368],[12,2368],[12,2432],[12,2432],[12,2496],[12,2496],[12,2560],[12,2560],[10,18],[10,18],[10,18],[10,18],[10,18],[10,18],[10,18],[10,18],[12,52],[12,52],[13,640],[13,704],[13,768],[13,832],[12,55],[12,55],[12,56],[12,56],[13,1280],[13,1344],[13,1408],[13,1472],[12,59],[12,59],[12,60],[12,60],[13,1536],[13,1600],[11,24],[11,24],[11,24],[11,24],[11,25],[11,25],[11,25],[11,25],[13,1664],[13,1728],[12,320],[12,320],[12,384],[12,384],[12,448],[12,448],[13,512],[13,576],[12,53],[12,53],[12,54],[12,54],[13,896],[13,960],[13,1024],[13,1088],[13,1152],[13,1216],[10,64],[10,64],[10,64],[10,64],[10,64],[10,64],[10,64],[10,64]],kh=[[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[11,23],[11,23],[12,50],[12,51],[12,44],[12,45],[12,46],[12,47],[12,57],[12,58],[12,61],[12,256],[10,16],[10,16],[10,16],[10,16],[10,17],[10,17],[10,17],[10,17],[12,48],[12,49],[12,62],[12,63],[12,30],[12,31],[12,32],[12,33],[12,40],[12,41],[11,22],[11,22],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[9,15],[9,15],[9,15],[9,15],[9,15],[9,15],[9,15],[9,15],[12,128],[12,192],[12,26],[12,27],[12,28],[12,29],[11,19],[11,19],[11,20],[11,20],[12,34],[12,35],[12,36],[12,37],[12,38],[12,39],[11,21],[11,21],[12,42],[12,43],[10,0],[10,0],[10,0],[10,0],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12]],Sh=[[-1,-1],[-1,-1],[-1,-1],[-1,-1],[6,9],[6,8],[5,7],[5,7],[4,6],[4,6],[4,6],[4,6],[4,5],[4,5],[4,5],[4,5],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2]];class Fh{constructor(e,t={}){if(!e||"function"!=typeof e.next)throw new Error('CCITTFaxDecoder - invalid "source" parameter.');let A;for(this.source=e,this.eof=!1,this.encoding=t.K||0,this.eoline=t.EndOfLine||!1,this.byteAlign=t.EncodedByteAlign||!1,this.columns=t.Columns||1728,this.rows=t.Rows||0,this.eoblock=t.EndOfBlock??!0,this.black=t.BlackIs1||!1,this.codingLine=new Uint32Array(this.columns+1),this.refLine=new Uint32Array(this.columns+2),this.codingLine[0]=this.columns,this.codingPos=0,this.row=0,this.nextLine2D=this.encoding<0,this.inputBits=0,this.inputBuf=0,this.outputBits=0,this.rowsDone=!1;0===(A=this._lookBits(12));)this._eatBits(1);1===A&&this._eatBits(12),this.encoding>0&&(this.nextLine2D=!this._lookBits(1),this._eatBits(1))}readNextChar(){if(this.eof)return-1;const e=this.refLine,t=this.codingLine,A=this.columns;let i,s,a,n,r;if(0===this.outputBits){if(this.rowsDone&&(this.eof=!0),this.eof)return-1;let a,r,o;if(this.err=!1,this.nextLine2D){for(n=0;t[n]<A;++n)e[n]=t[n];for(e[n++]=A,e[n]=A,t[0]=0,this.codingPos=0,i=0,s=0;t[this.codingPos]<A;)switch(a=this._getTwoDimCode(),a){case 0:this._addPixels(e[i+1],s),e[i+1]<A&&(i+=2);break;case 1:if(a=r=0,s){do{a+=o=this._getBlackCode()}while(o>=64);do{r+=o=this._getWhiteCode()}while(o>=64)}else{do{a+=o=this._getWhiteCode()}while(o>=64);do{r+=o=this._getBlackCode()}while(o>=64)}for(this._addPixels(t[this.codingPos]+a,s),t[this.codingPos]<A&&this._addPixels(t[this.codingPos]+r,1^s);e[i]<=t[this.codingPos]&&e[i]<A;)i+=2;break;case 7:if(this._addPixels(e[i]+3,s),s^=1,t[this.codingPos]<A)for(++i;e[i]<=t[this.codingPos]&&e[i]<A;)i+=2;break;case 5:if(this._addPixels(e[i]+2,s),s^=1,t[this.codingPos]<A)for(++i;e[i]<=t[this.codingPos]&&e[i]<A;)i+=2;break;case 3:if(this._addPixels(e[i]+1,s),s^=1,t[this.codingPos]<A)for(++i;e[i]<=t[this.codingPos]&&e[i]<A;)i+=2;break;case 2:if(this._addPixels(e[i],s),s^=1,t[this.codingPos]<A)for(++i;e[i]<=t[this.codingPos]&&e[i]<A;)i+=2;break;case 8:if(this._addPixelsNeg(e[i]-3,s),s^=1,t[this.codingPos]<A)for(i>0?--i:++i;e[i]<=t[this.codingPos]&&e[i]<A;)i+=2;break;case 6:if(this._addPixelsNeg(e[i]-2,s),s^=1,t[this.codingPos]<A)for(i>0?--i:++i;e[i]<=t[this.codingPos]&&e[i]<A;)i+=2;break;case 4:if(this._addPixelsNeg(e[i]-1,s),s^=1,t[this.codingPos]<A)for(i>0?--i:++i;e[i]<=t[this.codingPos]&&e[i]<A;)i+=2;break;case mh:this._addPixels(A,0),this.eof=!0;break;default:ho("bad 2d code"),this._addPixels(A,0),this.err=!0}}else for(t[0]=0,this.codingPos=0,s=0;t[this.codingPos]<A;){if(a=0,s)do{a+=o=this._getBlackCode()}while(o>=64);else do{a+=o=this._getWhiteCode()}while(o>=64);this._addPixels(t[this.codingPos]+a,s),s^=1}let g=!1;if(this.byteAlign&&(this.inputBits&=-8),this.eoblock||this.row!==this.rows-1){if(a=this._lookBits(12),this.eoline)for(;a!==mh&&1!==a;)this._eatBits(1),a=this._lookBits(12);else for(;0===a;)this._eatBits(1),a=this._lookBits(12);1===a?(this._eatBits(12),g=!0):a===mh&&(this.eof=!0)}else this.rowsDone=!0;if(!this.eof&&this.encoding>0&&!this.rowsDone&&(this.nextLine2D=!this._lookBits(1),this._eatBits(1)),this.eoblock&&g&&this.byteAlign){if(a=this._lookBits(12),1===a){if(this._eatBits(12),this.encoding>0&&(this._lookBits(1),this._eatBits(1)),this.encoding>=0)for(n=0;n<4;++n)a=this._lookBits(12),1!==a&&ho("bad rtc code: "+a),this._eatBits(12),this.encoding>0&&(this._lookBits(1),this._eatBits(1));this.eof=!0}}else if(this.err&&this.eoline){for(;;){if(a=this._lookBits(13),a===mh)return this.eof=!0,-1;if(a>>1==1)break;this._eatBits(1)}this._eatBits(12),this.encoding>0&&(this._eatBits(1),this.nextLine2D=!(1&a))}this.outputBits=t[0]>0?t[this.codingPos=0]:t[this.codingPos=1],this.row++}if(this.outputBits>=8)r=1&this.codingPos?0:255,this.outputBits-=8,0===this.outputBits&&t[this.codingPos]<A&&(this.codingPos++,this.outputBits=t[this.codingPos]-t[this.codingPos-1]);else{a=8,r=0;do{if("number"!=typeof this.outputBits)throw new yo('Invalid /CCITTFaxDecode data, "outputBits" must be a number.');this.outputBits>a?(r<<=a,1&this.codingPos||(r|=255>>8-a),this.outputBits-=a,a=0):(r<<=this.outputBits,1&this.codingPos||(r|=255>>8-this.outputBits),a-=this.outputBits,this.outputBits=0,t[this.codingPos]<A?(this.codingPos++,this.outputBits=t[this.codingPos]-t[this.codingPos-1]):a>0&&(r<<=a,a=0))}while(a)}return this.black&&(r^=255),r}_addPixels(e,t){const A=this.codingLine;let i=this.codingPos;e>A[i]&&(e>this.columns&&(ho("row is wrong length"),this.err=!0,e=this.columns),1&i^t&&++i,A[i]=e),this.codingPos=i}_addPixelsNeg(e,t){const A=this.codingLine;let i=this.codingPos;if(e>A[i])e>this.columns&&(ho("row is wrong length"),this.err=!0,e=this.columns),1&i^t&&++i,A[i]=e;else if(e<A[i]){for(e<0&&(ho("invalid code"),this.err=!0,e=0);i>0&&e<A[i-1];)--i;A[i]=e}this.codingPos=i}_findTableCode(e,t,A,i){const s=i||0;for(let i=e;i<=t;++i){let e=this._lookBits(i);if(e===mh)return[!0,1,!1];if(i<t&&(e<<=t-i),!s||e>=s){const t=A[e-s];if(t[0]===i)return this._eatBits(i),[!0,t[1],!0]}}return[!1,0,!1]}_getTwoDimCode(){let e,t=0;if(this.eoblock){if(t=this._lookBits(7),e=yh[t],e?.[0]>0)return this._eatBits(e[0]),e[1]}else{const e=this._findTableCode(1,7,yh);if(e[0]&&e[2])return e[1]}return ho("Bad two dim code"),mh}_getWhiteCode(){let e,t=0;if(this.eoblock){if(t=this._lookBits(12),t===mh)return 1;if(e=t>>5==0?wh[t]:bh[t>>3],e[0]>0)return this._eatBits(e[0]),e[1]}else{let e=this._findTableCode(1,9,bh);if(e[0])return e[1];if(e=this._findTableCode(11,12,wh),e[0])return e[1]}return ho("bad white code"),this._eatBits(1),1}_getBlackCode(){let e,t;if(this.eoblock){if(e=this._lookBits(13),e===mh)return 1;if(t=e>>7==0?Dh[e]:e>>9==0&&e>>7!=0?kh[(e>>1)-64]:Sh[e>>7],t[0]>0)return this._eatBits(t[0]),t[1]}else{let e=this._findTableCode(2,6,Sh);if(e[0])return e[1];if(e=this._findTableCode(7,12,kh,64),e[0])return e[1];if(e=this._findTableCode(10,13,Dh),e[0])return e[1]}return ho("bad black code"),this._eatBits(1),1}_lookBits(e){let t;for(;this.inputBits<e;){if(-1===(t=this.source.next()))return 0===this.inputBits?mh:this.inputBuf<<e-this.inputBits&65535>>16-e;this.inputBuf=this.inputBuf<<8|t,this.inputBits+=8}return this.inputBuf>>this.inputBits-e&65535>>16-e}_eatBits(e){(this.inputBits-=e)<0&&(this.inputBits=0)}}class Rh extends Qh{constructor(e,t,A){super(t),this.str=e,this.dict=e.dict,A instanceof ig||(A=ig.empty);const i={next:()=>e.getByte()};this.ccittFaxDecoder=new Fh(i,{K:A.get("K"),EndOfLine:A.get("EndOfLine"),EncodedByteAlign:A.get("EncodedByteAlign"),Columns:A.get("Columns"),Rows:A.get("Rows"),EndOfBlock:A.get("EndOfBlock"),BlackIs1:A.get("BlackIs1")})}readBlock(){for(;!this.eof;){const e=this.ccittFaxDecoder.readNextChar();if(-1===e)return void(this.eof=!0);this.ensureBuffer(this.bufferLength+1),this.buffer[this.bufferLength++]=e}}}const xh=new Int32Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),vh=new Int32Array([3,4,5,6,7,8,9,10,65547,65549,65551,65553,131091,131095,131099,131103,196643,196651,196659,196667,262211,262227,262243,262259,327811,327843,327875,327907,258,258,258]),Nh=new Int32Array([1,2,3,4,65541,65543,131081,131085,196625,196633,262177,262193,327745,327777,393345,393409,459009,459137,524801,525057,590849,591361,657409,658433,724993,727041,794625,798721,868353,876545]),Mh=[new Int32Array([459008,524368,524304,524568,459024,524400,524336,590016,459016,524384,524320,589984,524288,524416,524352,590048,459012,524376,524312,589968,459028,524408,524344,590032,459020,524392,524328,59e4,524296,524424,524360,590064,459010,524372,524308,524572,459026,524404,524340,590024,459018,524388,524324,589992,524292,524420,524356,590056,459014,524380,524316,589976,459030,524412,524348,590040,459022,524396,524332,590008,524300,524428,524364,590072,459009,524370,524306,524570,459025,524402,524338,590020,459017,524386,524322,589988,524290,524418,524354,590052,459013,524378,524314,589972,459029,524410,524346,590036,459021,524394,524330,590004,524298,524426,524362,590068,459011,524374,524310,524574,459027,524406,524342,590028,459019,524390,524326,589996,524294,524422,524358,590060,459015,524382,524318,589980,459031,524414,524350,590044,459023,524398,524334,590012,524302,524430,524366,590076,459008,524369,524305,524569,459024,524401,524337,590018,459016,524385,524321,589986,524289,524417,524353,590050,459012,524377,524313,589970,459028,524409,524345,590034,459020,524393,524329,590002,524297,524425,524361,590066,459010,524373,524309,524573,459026,524405,524341,590026,459018,524389,524325,589994,524293,524421,524357,590058,459014,524381,524317,589978,459030,524413,524349,590042,459022,524397,524333,590010,524301,524429,524365,590074,459009,524371,524307,524571,459025,524403,524339,590022,459017,524387,524323,589990,524291,524419,524355,590054,459013,524379,524315,589974,459029,524411,524347,590038,459021,524395,524331,590006,524299,524427,524363,590070,459011,524375,524311,524575,459027,524407,524343,590030,459019,524391,524327,589998,524295,524423,524359,590062,459015,524383,524319,589982,459031,524415,524351,590046,459023,524399,524335,590014,524303,524431,524367,590078,459008,524368,524304,524568,459024,524400,524336,590017,459016,524384,524320,589985,524288,524416,524352,590049,459012,524376,524312,589969,459028,524408,524344,590033,459020,524392,524328,590001,524296,524424,524360,590065,459010,524372,524308,524572,459026,524404,524340,590025,459018,524388,524324,589993,524292,524420,524356,590057,459014,524380,524316,589977,459030,524412,524348,590041,459022,524396,524332,590009,524300,524428,524364,590073,459009,524370,524306,524570,459025,524402,524338,590021,459017,524386,524322,589989,524290,524418,524354,590053,459013,524378,524314,589973,459029,524410,524346,590037,459021,524394,524330,590005,524298,524426,524362,590069,459011,524374,524310,524574,459027,524406,524342,590029,459019,524390,524326,589997,524294,524422,524358,590061,459015,524382,524318,589981,459031,524414,524350,590045,459023,524398,524334,590013,524302,524430,524366,590077,459008,524369,524305,524569,459024,524401,524337,590019,459016,524385,524321,589987,524289,524417,524353,590051,459012,524377,524313,589971,459028,524409,524345,590035,459020,524393,524329,590003,524297,524425,524361,590067,459010,524373,524309,524573,459026,524405,524341,590027,459018,524389,524325,589995,524293,524421,524357,590059,459014,524381,524317,589979,459030,524413,524349,590043,459022,524397,524333,590011,524301,524429,524365,590075,459009,524371,524307,524571,459025,524403,524339,590023,459017,524387,524323,589991,524291,524419,524355,590055,459013,524379,524315,589975,459029,524411,524347,590039,459021,524395,524331,590007,524299,524427,524363,590071,459011,524375,524311,524575,459027,524407,524343,590031,459019,524391,524327,589999,524295,524423,524359,590063,459015,524383,524319,589983,459031,524415,524351,590047,459023,524399,524335,590015,524303,524431,524367,590079]),9],Gh=[new Int32Array([327680,327696,327688,327704,327684,327700,327692,327708,327682,327698,327690,327706,327686,327702,327694,0,327681,327697,327689,327705,327685,327701,327693,327709,327683,327699,327691,327707,327687,327703,327695,0]),5];class Lh extends Qh{constructor(e,t){super(t),this.str=e,this.dict=e.dict;const A=e.getByte(),i=e.getByte();if(-1===A||-1===i)throw new yo(`Invalid header in flate stream: ${A}, ${i}`);if(8!=(15&A))throw new yo(`Unknown compression method in flate stream: ${A}, ${i}`);if(((A<<8)+i)%31!=0)throw new yo(`Bad FCHECK in flate stream: ${A}, ${i}`);if(32&i)throw new yo(`FDICT bit set in flate stream: ${A}, ${i}`);this.codeSize=0,this.codeBuf=0}getBits(e){const t=this.str;let A,i=this.codeSize,s=this.codeBuf;for(;i<e;){if(-1===(A=t.getByte()))throw new yo("Bad encoding in flate stream");s|=A<<i,i+=8}return A=s&(1<<e)-1,this.codeBuf=s>>e,this.codeSize=i-=e,A}getCode(e){const t=this.str,A=e[0],i=e[1];let s,a=this.codeSize,n=this.codeBuf;for(;a<i&&-1!==(s=t.getByte());)n|=s<<a,a+=8;const r=A[n&(1<<i)-1],o=r>>16,g=65535&r;if(o<1||a<o)throw new yo("Bad encoding in flate stream");return this.codeBuf=n>>o,this.codeSize=a-o,g}generateHuffmanTable(e){const t=e.length;let A,i=0;for(A=0;A<t;++A)e[A]>i&&(i=e[A]);const s=1<<i,a=new Int32Array(s);for(let n=1,r=0,o=2;n<=i;++n,r<<=1,o<<=1)for(let i=0;i<t;++i)if(e[i]===n){let e=0,t=r;for(A=0;A<n;++A)e=e<<1|1&t,t>>=1;for(A=e;A<s;A+=o)a[A]=n<<16|i;++r}return[a,i]}#cr(e){ho(e),this.eof=!0}readBlock(){let e,t;const A=this.str;let i,s,a=this.getBits(3);if(1&a&&(this.eof=!0),a>>=1,0===a){let t;if(-1===(t=A.getByte()))return void this.#cr("Bad block header in flate stream");let i=t;if(-1===(t=A.getByte()))return void this.#cr("Bad block header in flate stream");if(i|=t<<8,-1===(t=A.getByte()))return void this.#cr("Bad block header in flate stream");let s=t;if(-1===(t=A.getByte()))return void this.#cr("Bad block header in flate stream");if(s|=t<<8,s!==(65535&~i)&&(0!==i||0!==s))throw new yo("Bad uncompressed block length in flate stream");this.codeBuf=0,this.codeSize=0;const a=this.bufferLength,n=a+i;if(e=this.ensureBuffer(n),this.bufferLength=n,0===i)-1===A.peekByte()&&(this.eof=!0);else{const t=A.getBytes(i);e.set(t,a),t.length<i&&(this.eof=!0)}return}if(1===a)i=Mh,s=Gh;else{if(2!==a)throw new yo("Unknown block type in flate stream");{const e=this.getBits(5)+257,A=this.getBits(5)+1,a=this.getBits(4)+4,n=new Uint8Array(xh.length);let r;for(r=0;r<a;++r)n[xh[r]]=this.getBits(3);const o=this.generateHuffmanTable(n);t=0,r=0;const g=e+A,h=new Uint8Array(g);let c,l,I;for(;r<g;){const e=this.getCode(o);if(16===e)c=2,l=3,I=t;else if(17===e)c=3,l=3,I=t=0;else{if(18!==e){h[r++]=t=e;continue}c=7,l=11,I=t=0}let A=this.getBits(c)+l;for(;A-- >0;)h[r++]=I}i=this.generateHuffmanTable(h.subarray(0,e)),s=this.generateHuffmanTable(h.subarray(e,g))}}e=this.buffer;let n=e?e.length:0,r=this.bufferLength;for(;;){let A=this.getCode(i);if(A<256){r+1>=n&&(e=this.ensureBuffer(r+1),n=e.length),e[r++]=A;continue}if(256===A)return void(this.bufferLength=r);A-=257,A=vh[A];let a=A>>16;a>0&&(a=this.getBits(a)),t=(65535&A)+a,A=this.getCode(s),A=Nh[A],a=A>>16,a>0&&(a=this.getBits(a));const o=(65535&A)+a;r+t>=n&&(e=this.ensureBuffer(r+t),n=e.length);for(let A=0;A<t;++A,++r)e[r]=e[r-o]}}}const Uh=[{qe:22017,nmps:1,nlps:1,switchFlag:1},{qe:13313,nmps:2,nlps:6,switchFlag:0},{qe:6145,nmps:3,nlps:9,switchFlag:0},{qe:2753,nmps:4,nlps:12,switchFlag:0},{qe:1313,nmps:5,nlps:29,switchFlag:0},{qe:545,nmps:38,nlps:33,switchFlag:0},{qe:22017,nmps:7,nlps:6,switchFlag:1},{qe:21505,nmps:8,nlps:14,switchFlag:0},{qe:18433,nmps:9,nlps:14,switchFlag:0},{qe:14337,nmps:10,nlps:14,switchFlag:0},{qe:12289,nmps:11,nlps:17,switchFlag:0},{qe:9217,nmps:12,nlps:18,switchFlag:0},{qe:7169,nmps:13,nlps:20,switchFlag:0},{qe:5633,nmps:29,nlps:21,switchFlag:0},{qe:22017,nmps:15,nlps:14,switchFlag:1},{qe:21505,nmps:16,nlps:14,switchFlag:0},{qe:20737,nmps:17,nlps:15,switchFlag:0},{qe:18433,nmps:18,nlps:16,switchFlag:0},{qe:14337,nmps:19,nlps:17,switchFlag:0},{qe:13313,nmps:20,nlps:18,switchFlag:0},{qe:12289,nmps:21,nlps:19,switchFlag:0},{qe:10241,nmps:22,nlps:19,switchFlag:0},{qe:9217,nmps:23,nlps:20,switchFlag:0},{qe:8705,nmps:24,nlps:21,switchFlag:0},{qe:7169,nmps:25,nlps:22,switchFlag:0},{qe:6145,nmps:26,nlps:23,switchFlag:0},{qe:5633,nmps:27,nlps:24,switchFlag:0},{qe:5121,nmps:28,nlps:25,switchFlag:0},{qe:4609,nmps:29,nlps:26,switchFlag:0},{qe:4353,nmps:30,nlps:27,switchFlag:0},{qe:2753,nmps:31,nlps:28,switchFlag:0},{qe:2497,nmps:32,nlps:29,switchFlag:0},{qe:2209,nmps:33,nlps:30,switchFlag:0},{qe:1313,nmps:34,nlps:31,switchFlag:0},{qe:1089,nmps:35,nlps:32,switchFlag:0},{qe:673,nmps:36,nlps:33,switchFlag:0},{qe:545,nmps:37,nlps:34,switchFlag:0},{qe:321,nmps:38,nlps:35,switchFlag:0},{qe:273,nmps:39,nlps:36,switchFlag:0},{qe:133,nmps:40,nlps:37,switchFlag:0},{qe:73,nmps:41,nlps:38,switchFlag:0},{qe:37,nmps:42,nlps:39,switchFlag:0},{qe:21,nmps:43,nlps:40,switchFlag:0},{qe:9,nmps:44,nlps:41,switchFlag:0},{qe:5,nmps:45,nlps:42,switchFlag:0},{qe:1,nmps:45,nlps:43,switchFlag:0},{qe:22017,nmps:46,nlps:46,switchFlag:0}];class Hh{constructor(e,t,A){this.data=e,this.bp=t,this.dataEnd=A,this.chigh=e[t],this.clow=0,this.byteIn(),this.chigh=this.chigh<<7&65535|this.clow>>9&127,this.clow=this.clow<<7&65535,this.ct-=7,this.a=32768}byteIn(){const e=this.data;let t=this.bp;255===e[t]?e[t+1]>143?(this.clow+=65280,this.ct=8):(t++,this.clow+=e[t]<<9,this.ct=7,this.bp=t):(t++,this.clow+=t<this.dataEnd?e[t]<<8:65280,this.ct=8,this.bp=t),this.clow>65535&&(this.chigh+=this.clow>>16,this.clow&=65535)}readBit(e,t){let A=e[t]>>1,i=1&e[t];const s=Uh[A],a=s.qe;let n,r=this.a-a;if(this.chigh<a)r<a?(r=a,n=i,A=s.nmps):(r=a,n=1^i,1===s.switchFlag&&(i=n),A=s.nlps);else{if(this.chigh-=a,0!=(32768&r))return this.a=r,i;r<a?(n=1^i,1===s.switchFlag&&(i=n),A=s.nlps):(n=i,A=s.nmps)}do{0===this.ct&&this.byteIn(),r<<=1,this.chigh=this.chigh<<1&65535|this.clow>>15&1,this.clow=this.clow<<1&65535,this.ct--}while(0==(32768&r));return this.a=r,e[t]=A<<1|i,n}}class Jh extends Bo{constructor(e){super(e,"Jbig2Error")}}class Th{getContexts(e){return e in this?this[e]:this[e]=new Int8Array(65536)}}class Ph{constructor(e,t,A){this.data=e,this.start=t,this.end=A}get decoder(){return uo(this,"decoder",new Hh(this.data,this.start,this.end))}get contextCache(){return uo(this,"contextCache",new Th)}}const Yh=2**31-1,Kh=-(2**31);function _h(e,t,A){const i=e.getContexts(t);let s=1;function a(e){let t=0;for(let a=0;a<e;a++){const e=A.readBit(i,s);s=s<256?s<<1|e:511&(s<<1|e)|256,t=t<<1|e}return t>>>0}const n=a(1),r=a(1)?a(1)?a(1)?a(1)?a(1)?a(32)+4436:a(12)+340:a(8)+84:a(6)+20:a(4)+4:a(2);let o;return 0===n?o=r:r>0&&(o=-r),o>=Kh&&o<=Yh?o:null}function qh(e,t,A){const i=e.getContexts("IAID");let s=1;for(let e=0;e<A;e++){s=s<<1|t.readBit(i,s)}return A<31?s&(1<<A)-1:2147483647&s}const Oh=["SymbolDictionary",null,null,null,"IntermediateTextRegion",null,"ImmediateTextRegion","ImmediateLosslessTextRegion",null,null,null,null,null,null,null,null,"PatternDictionary",null,null,null,"IntermediateHalftoneRegion",null,"ImmediateHalftoneRegion","ImmediateLosslessHalftoneRegion",null,null,null,null,null,null,null,null,null,null,null,null,"IntermediateGenericRegion",null,"ImmediateGenericRegion","ImmediateLosslessGenericRegion","IntermediateGenericRefinementRegion",null,"ImmediateGenericRefinementRegion","ImmediateLosslessGenericRefinementRegion",null,null,null,null,"PageInformation","EndOfPage","EndOfStripe","EndOfFile","Profiles","Tables",null,null,null,null,null,null,null,null,"Extension"],Wh=[[{x:-1,y:-2},{x:0,y:-2},{x:1,y:-2},{x:-2,y:-1},{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:2,y:-1},{x:-4,y:0},{x:-3,y:0},{x:-2,y:0},{x:-1,y:0}],[{x:-1,y:-2},{x:0,y:-2},{x:1,y:-2},{x:2,y:-2},{x:-2,y:-1},{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:2,y:-1},{x:-3,y:0},{x:-2,y:0},{x:-1,y:0}],[{x:-1,y:-2},{x:0,y:-2},{x:1,y:-2},{x:-2,y:-1},{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:-2,y:0},{x:-1,y:0}],[{x:-3,y:-1},{x:-2,y:-1},{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:-4,y:0},{x:-3,y:0},{x:-2,y:0},{x:-1,y:0}]],jh=[{coding:[{x:0,y:-1},{x:1,y:-1},{x:-1,y:0}],reference:[{x:0,y:-1},{x:1,y:-1},{x:-1,y:0},{x:0,y:0},{x:1,y:0},{x:-1,y:1},{x:0,y:1},{x:1,y:1}]},{coding:[{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:-1,y:0}],reference:[{x:0,y:-1},{x:-1,y:0},{x:0,y:0},{x:1,y:0},{x:0,y:1},{x:1,y:1}]}],Vh=[39717,1941,229,405];function Zh(e,t,A,i,s,a,n,r){if(e){return dc(new cc(r.data,r.start,r.end),t,A,!1)}if(0===i&&!a&&!s&&4===n.length&&3===n[0].x&&-1===n[0].y&&-3===n[1].x&&-1===n[1].y&&2===n[2].x&&-2===n[2].y&&-2===n[3].x&&-2===n[3].y)return function(e,t,A){const i=A.decoder,s=A.contextCache.getContexts("GB"),a=[];let n,r,o,g,h,c,l;for(r=0;r<t;r++)for(h=a[r]=new Uint8Array(e),c=r<1?h:a[r-1],l=r<2?h:a[r-2],n=l[0]<<13|l[1]<<12|l[2]<<11|c[0]<<7|c[1]<<6|c[2]<<5|c[3]<<4,o=0;o<e;o++)h[o]=g=i.readBit(s,n),n=(31735&n)<<1|(o+3<e?l[o+3]<<11:0)|(o+4<e?c[o+4]<<4:0)|g;return a}(t,A,r);const o=Wh[i].concat(n);o.sort((function(e,t){return e.y-t.y||e.x-t.x}));const g=o.length,h=new Int8Array(g),c=new Int8Array(g),l=[];let I,d,C=0,u=0,B=0,Q=0;for(d=0;d<g;d++)h[d]=o[d].x,c[d]=o[d].y,u=Math.min(u,o[d].x),B=Math.max(B,o[d].x),Q=Math.min(Q,o[d].y),d<g-1&&o[d].y===o[d+1].y&&o[d].x===o[d+1].x-1?C|=1<<g-1-d:l.push(d);const E=l.length,f=new Int8Array(E),p=new Int8Array(E),m=new Uint16Array(E);for(I=0;I<E;I++)d=l[I],f[I]=o[d].x,p[I]=o[d].y,m[I]=1<<g-1-d;const y=-u,w=-Q,b=t-B,D=Vh[i];let k=new Uint8Array(t);const S=[],F=r.decoder,R=r.contextCache.getContexts("GB");let x,v,N,M,G,L=0,U=0;for(let e=0;e<A;e++){if(s){if(L^=F.readBit(R,D),L){S.push(k);continue}}for(k=new Uint8Array(k),S.push(k),x=0;x<t;x++){if(x>=y&&x<b&&e>=w)for(U=U<<1&C,d=0;d<E;d++)v=e+p[d],N=x+f[d],M=S[v][N],M&&(M=m[d],U|=M);else for(U=0,G=g-1,d=0;d<g;d++,G--)N=x+h[d],N>=0&&N<t&&(v=e+c[d],v>=0&&(M=S[v][N],M&&(U|=M<<G)));const A=F.readBit(R,U);k[x]=A}}return S}function Xh(e,t,A,i,s,a,n,r,o){let g=jh[A].coding;0===A&&(g=g.concat([r[0]]));const h=g.length,c=new Int32Array(h),l=new Int32Array(h);let I;for(I=0;I<h;I++)c[I]=g[I].x,l[I]=g[I].y;let d=jh[A].reference;0===A&&(d=d.concat([r[1]]));const C=d.length,u=new Int32Array(C),B=new Int32Array(C);for(I=0;I<C;I++)u[I]=d[I].x,B[I]=d[I].y;const Q=i[0].length,E=i.length,f=[],p=o.decoder,m=o.contextCache.getContexts("GR");for(let A=0;A<t;A++){const t=new Uint8Array(e);f.push(t);for(let n=0;n<e;n++){let r,o,g=0;for(I=0;I<h;I++)r=A+l[I],o=n+c[I],r<0||o<0||o>=e?g<<=1:g=g<<1|f[r][o];for(I=0;I<C;I++)r=A+B[I]-a,o=n+u[I]-s,r<0||r>=E||o<0||o>=Q?g<<=1:g=g<<1|i[r][o];const d=p.readBit(m,g);t[n]=d}}return f}function zh(e,t,A,i,s,a,n,r,o,g,h,c,l,I,d,C,u,B,Q){if(e&&t)throw new Jh("refinement with Huffman is not supported");const E=[];let f,p;for(f=0;f<i;f++){if(p=new Uint8Array(A),s)for(let e=0;e<A;e++)p[e]=s;E.push(p)}const m=u.decoder,y=u.contextCache;let w=e?-I.tableDeltaT.decode(Q):-_h(y,"IADT",m),b=0;for(f=0;f<a;){w+=e?I.tableDeltaT.decode(Q):_h(y,"IADT",m);b+=e?I.tableFirstS.decode(Q):_h(y,"IAFS",m);let i=b;for(;;){let s=0;n>1&&(s=e?Q.readBits(B):_h(y,"IAIT",m));const a=n*w+s,b=e?I.symbolIDTable.decode(Q):qh(y,m,o),D=t&&(e?Q.readBit():_h(y,"IARI",m));let k=r[b],S=k[0].length,F=k.length;if(D){const e=_h(y,"IARDW",m),t=_h(y,"IARDH",m);S+=e,F+=t,k=Xh(S,F,d,k,(e>>1)+_h(y,"IARDX",m),(t>>1)+_h(y,"IARDY",m),0,C,u)}let R=0;g?1&c?R=F-1:i+=F-1:c>1?i+=S-1:R=S-1;const x=a-(1&c?0:F-1),v=i-(2&c?S-1:0);let N,M,G;if(g)for(N=0;N<F;N++){if(p=E[v+N],!p)continue;G=k[N];const e=Math.min(A-x,S);switch(l){case 0:for(M=0;M<e;M++)p[x+M]|=G[M];break;case 2:for(M=0;M<e;M++)p[x+M]^=G[M];break;default:throw new Jh(`operator ${l} is not supported`)}}else for(M=0;M<F;M++)if(p=E[x+M],p)switch(G=k[M],l){case 0:for(N=0;N<S;N++)p[v+N]|=G[N];break;case 2:for(N=0;N<S;N++)p[v+N]^=G[N];break;default:throw new Jh(`operator ${l} is not supported`)}f++;const L=e?I.tableDeltaS.decode(Q):_h(y,"IADS",m);if(null===L)break;i+=R+L+h}}return E}function $h(e,t){const A={};A.number=bg(e,t);const i=e[t+4],s=63&i;if(!Oh[s])throw new Jh("invalid segment type: "+s);A.type=s,A.typeName=Oh[s],A.deferredNonRetain=!!(128&i);const a=!!(64&i),n=e[t+5];let r=n>>5&7;const o=[31&n];let g=t+6;if(7===n){r=536870911&bg(e,g-1),g+=3;let t=r+7>>3;for(o[0]=e[g++];--t>0;)o.push(e[g++])}else if(5===n||6===n)throw new Jh("invalid referred-to flags");A.retainBits=o;let h=4;A.number<=256?h=1:A.number<=65536&&(h=2);const c=[];let l,I;for(l=0;l<r;l++){let t;t=1===h?e[g]:2===h?wg(e,g):bg(e,g),c.push(t),g+=h}if(A.referredTo=c,a?(A.pageAssociation=bg(e,g),g+=4):A.pageAssociation=e[g++],A.length=bg(e,g),g+=4,4294967295===A.length){if(38!==s)throw new Jh("invalid unknown segment length");{const t=tc(e,g),i=!!(1&e[g+Ac]),s=6,a=new Uint8Array(s);for(i||(a[0]=255,a[1]=172),a[2]=t.height>>>24&255,a[3]=t.height>>16&255,a[4]=t.height>>8&255,a[5]=255&t.height,l=g,I=e.length;l<I;l++){let t=0;for(;t<s&&a[t]===e[l+t];)t++;if(t===s){A.length=l+s;break}}if(4294967295===A.length)throw new Jh("segment end was not found")}}return A.headerEnd=g,A}function ec(e,t,A,i){const s=[];let a=A;for(;a<i;){const A=$h(t,a);a=A.headerEnd;const i={header:A,data:t};if(e.randomAccess||(i.start=a,a+=A.length,i.end=a),s.push(i),51===A.type)break}if(e.randomAccess)for(let e=0,t=s.length;e<t;e++)s[e].start=a,a+=s[e].header.length,s[e].end=a;return s}function tc(e,t){return{width:bg(e,t),height:bg(e,t+4),x:bg(e,t+8),y:bg(e,t+12),combinationOperator:7&e[t+16]}}const Ac=17;function ic(e,t){const A=e.header,i=e.data,s=e.end;let a,n,r,o,g=e.start;switch(A.type){case 0:const e={},t=wg(i,g);if(e.huffman=!!(1&t),e.refinement=!!(2&t),e.huffmanDHSelector=t>>2&3,e.huffmanDWSelector=t>>4&3,e.bitmapSizeSelector=t>>6&1,e.aggregationInstancesSelector=t>>7&1,e.bitmapCodingContextUsed=!!(256&t),e.bitmapCodingContextRetained=!!(512&t),e.template=t>>10&3,e.refinementTemplate=t>>12&1,g+=2,!e.huffman){for(o=0===e.template?4:1,n=[],r=0;r<o;r++)n.push({x:yg(i,g),y:yg(i,g+1)}),g+=2;e.at=n}if(e.refinement&&!e.refinementTemplate){for(n=[],r=0;r<2;r++)n.push({x:yg(i,g),y:yg(i,g+1)}),g+=2;e.refinementAt=n}e.numberOfExportedSymbols=bg(i,g),g+=4,e.numberOfNewSymbols=bg(i,g),g+=4,a=[e,A.number,A.referredTo,i,g,s];break;case 6:case 7:const h={};h.info=tc(i,g),g+=Ac;const c=wg(i,g);if(g+=2,h.huffman=!!(1&c),h.refinement=!!(2&c),h.logStripSize=c>>2&3,h.stripSize=1<<h.logStripSize,h.referenceCorner=c>>4&3,h.transposed=!!(64&c),h.combinationOperator=c>>7&3,h.defaultPixelValue=c>>9&1,h.dsOffset=c<<17>>27,h.refinementTemplate=c>>15&1,h.huffman){const e=wg(i,g);g+=2,h.huffmanFS=3&e,h.huffmanDS=e>>2&3,h.huffmanDT=e>>4&3,h.huffmanRefinementDW=e>>6&3,h.huffmanRefinementDH=e>>8&3,h.huffmanRefinementDX=e>>10&3,h.huffmanRefinementDY=e>>12&3,h.huffmanRefinementSizeSelector=!!(16384&e)}if(h.refinement&&!h.refinementTemplate){for(n=[],r=0;r<2;r++)n.push({x:yg(i,g),y:yg(i,g+1)}),g+=2;h.refinementAt=n}h.numberOfSymbolInstances=bg(i,g),g+=4,a=[h,A.referredTo,i,g,s];break;case 16:const l={},I=i[g++];l.mmr=!!(1&I),l.template=I>>1&3,l.patternWidth=i[g++],l.patternHeight=i[g++],l.maxPatternIndex=bg(i,g),g+=4,a=[l,A.number,i,g,s];break;case 22:case 23:const d={};d.info=tc(i,g),g+=Ac;const C=i[g++];d.mmr=!!(1&C),d.template=C>>1&3,d.enableSkip=!!(8&C),d.combinationOperator=C>>4&7,d.defaultPixelValue=C>>7&1,d.gridWidth=bg(i,g),g+=4,d.gridHeight=bg(i,g),g+=4,d.gridOffsetX=4294967295&bg(i,g),g+=4,d.gridOffsetY=4294967295&bg(i,g),g+=4,d.gridVectorX=wg(i,g),g+=2,d.gridVectorY=wg(i,g),g+=2,a=[d,A.referredTo,i,g,s];break;case 38:case 39:const u={};u.info=tc(i,g),g+=Ac;const B=i[g++];if(u.mmr=!!(1&B),u.template=B>>1&3,u.prediction=!!(8&B),!u.mmr){for(o=0===u.template?4:1,n=[],r=0;r<o;r++)n.push({x:yg(i,g),y:yg(i,g+1)}),g+=2;u.at=n}a=[u,i,g,s];break;case 48:const Q={width:bg(i,g),height:bg(i,g+4),resolutionX:bg(i,g+8),resolutionY:bg(i,g+12)};4294967295===Q.height&&delete Q.height;const E=i[g+16];wg(i,g+17),Q.lossless=!!(1&E),Q.refinement=!!(2&E),Q.defaultPixelValue=E>>2&1,Q.combinationOperator=E>>3&3,Q.requiresBuffer=!!(32&E),Q.combinationOperatorOverride=!!(64&E),a=[Q];break;case 49:case 50:case 51:case 62:break;case 53:a=[A.number,i,g,s];break;default:throw new Jh(`segment type ${A.typeName}(${A.type}) is not implemented`)}const h="on"+A.typeName;h in t&&t[h].apply(t,a)}function sc(e,t){for(let A=0,i=e.length;A<i;A++)ic(e[A],t)}class ac{onPageInformation(e){this.currentPageInfo=e;const t=e.width+7>>3,A=new Uint8ClampedArray(t*e.height);e.defaultPixelValue&&A.fill(255),this.buffer=A}drawBitmap(e,t){const A=this.currentPageInfo,i=e.width,s=e.height,a=A.width+7>>3,n=A.combinationOperatorOverride?e.combinationOperator:A.combinationOperator,r=this.buffer,o=128>>(7&e.x);let g,h,c,l,I=e.y*a+(e.x>>3);switch(n){case 0:for(g=0;g<s;g++){for(c=o,l=I,h=0;h<i;h++)t[g][h]&&(r[l]|=c),c>>=1,c||(c=128,l++);I+=a}break;case 2:for(g=0;g<s;g++){for(c=o,l=I,h=0;h<i;h++)t[g][h]&&(r[l]^=c),c>>=1,c||(c=128,l++);I+=a}break;default:throw new Jh(`operator ${n} is not supported`)}}onImmediateGenericRegion(e,t,A,i){const s=e.info,a=new Ph(t,A,i),n=Zh(e.mmr,s.width,s.height,e.template,e.prediction,null,e.at,a);this.drawBitmap(s,n)}onImmediateLosslessGenericRegion(){this.onImmediateGenericRegion(...arguments)}onSymbolDictionary(e,t,A,i,s,a){let n,r;e.huffman&&(n=function(e,t,A){let i,s,a,n,r=0;switch(e.huffmanDHSelector){case 0:case 1:i=hc(e.huffmanDHSelector+4);break;case 3:i=lc(r,t,A),r++;break;default:throw new Jh("invalid Huffman DH selector")}switch(e.huffmanDWSelector){case 0:case 1:s=hc(e.huffmanDWSelector+2);break;case 3:s=lc(r,t,A),r++;break;default:throw new Jh("invalid Huffman DW selector")}e.bitmapSizeSelector?(a=lc(r,t,A),r++):a=hc(1);n=e.aggregationInstancesSelector?lc(r,t,A):hc(1);return{tableDeltaHeight:i,tableDeltaWidth:s,tableBitmapSize:a,tableAggregateInstances:n}}(e,A,this.customTables),r=new cc(i,s,a));let o=this.symbols;o||(this.symbols=o={});const g=[];for(const e of A){const t=o[e];t&&g.push(...t)}const h=new Ph(i,s,a);o[t]=function(e,t,A,i,s,a,n,r,o,g,h,c){if(e&&t)throw new Jh("symbol refinement with Huffman is not supported");const l=[];let I=0,d=mg(A.length+i);const C=h.decoder,u=h.contextCache;let B,Q;for(e&&(B=hc(1),Q=[],d=Math.max(d,1));l.length<i;){I+=e?a.tableDeltaHeight.decode(c):_h(u,"IADH",C);let i=0,s=0;const B=e?Q.length:0;for(;;){const B=e?a.tableDeltaWidth.decode(c):_h(u,"IADW",C);if(null===B)break;let E;if(i+=B,s+=i,t){const s=_h(u,"IAAI",C);if(s>1)E=zh(e,t,i,I,0,s,1,A.concat(l),d,0,0,1,0,a,o,g,h,0,c);else{const e=qh(u,C,d),t=_h(u,"IARDX",C),s=_h(u,"IARDY",C);E=Xh(i,I,o,e<A.length?A[e]:l[e-A.length],t,s,0,g,h)}l.push(E)}else e?Q.push(i):(E=Zh(!1,i,I,n,!1,null,r,h),l.push(E))}if(e&&!t){const e=a.tableBitmapSize.decode(c);let t;if(c.byteAlign(),0===e)t=Ic(c,s,I);else{const A=c.end,i=c.position+e;c.end=i,t=dc(c,s,I,!1),c.end=A,c.position=i}const A=Q.length;if(B===A-1)l.push(t);else{let e,i,s,a,n,r=0;for(e=B;e<A;e++){for(a=Q[e],s=r+a,n=[],i=0;i<I;i++)n.push(t[i].subarray(r,s));l.push(n),r=s}}}}const E=[],f=[];let p,m,y=!1;const w=A.length+i;for(;f.length<w;){let t=e?B.decode(c):_h(u,"IAEX",C);for(;t--;)f.push(y);y=!y}for(p=0,m=A.length;p<m;p++)f[p]&&E.push(A[p]);for(let e=0;e<i;p++,e++)f[p]&&E.push(l[e]);return E}(e.huffman,e.refinement,g,e.numberOfNewSymbols,e.numberOfExportedSymbols,n,e.template,e.at,e.refinementTemplate,e.refinementAt,h,r)}onImmediateTextRegion(e,t,A,i,s){const a=e.info;let n,r;const o=this.symbols,g=[];for(const e of t){const t=o[e];t&&g.push(...t)}const h=mg(g.length);e.huffman&&(r=new cc(A,i,s),n=function(e,t,A,i,s){const a=[];for(let e=0;e<=34;e++){const t=s.readBits(4);a.push(new nc([e,t,0,0]))}const n=new oc(a,!1);a.length=0;for(let e=0;e<i;){const t=n.decode(s);if(t>=32){let A,i,n;switch(t){case 32:if(0===e)throw new Jh("no previous value in symbol ID table");i=s.readBits(2)+3,A=a[e-1].prefixLength;break;case 33:i=s.readBits(3)+3,A=0;break;case 34:i=s.readBits(7)+11,A=0;break;default:throw new Jh("invalid code length in symbol ID table")}for(n=0;n<i;n++)a.push(new nc([e,A,0,0])),e++}else a.push(new nc([e,t,0,0])),e++}s.byteAlign();const r=new oc(a,!1);let o,g,h,c=0;switch(e.huffmanFS){case 0:case 1:o=hc(e.huffmanFS+6);break;case 3:o=lc(c,t,A),c++;break;default:throw new Jh("invalid Huffman FS selector")}switch(e.huffmanDS){case 0:case 1:case 2:g=hc(e.huffmanDS+8);break;case 3:g=lc(c,t,A),c++;break;default:throw new Jh("invalid Huffman DS selector")}switch(e.huffmanDT){case 0:case 1:case 2:h=hc(e.huffmanDT+11);break;case 3:h=lc(c,t,A),c++;break;default:throw new Jh("invalid Huffman DT selector")}if(e.refinement)throw new Jh("refinement with Huffman is not supported");return{symbolIDTable:r,tableFirstS:o,tableDeltaS:g,tableDeltaT:h}}(e,t,this.customTables,g.length,r));const c=new Ph(A,i,s),l=zh(e.huffman,e.refinement,a.width,a.height,e.defaultPixelValue,e.numberOfSymbolInstances,e.stripSize,g,h,e.transposed,e.dsOffset,e.referenceCorner,e.combinationOperator,n,e.refinementTemplate,e.refinementAt,c,e.logStripSize,r);this.drawBitmap(a,l)}onImmediateLosslessTextRegion(){this.onImmediateTextRegion(...arguments)}onPatternDictionary(e,t,A,i,s){let a=this.patterns;a||(this.patterns=a={});const n=new Ph(A,i,s);a[t]=function(e,t,A,i,s,a){const n=[];e||(n.push({x:-t,y:0}),0===s&&n.push({x:-3,y:-1},{x:2,y:-2},{x:-2,y:-2}));const r=Zh(e,(i+1)*t,A,s,!1,null,n,a),o=[];for(let e=0;e<=i;e++){const i=[],s=t*e,a=s+t;for(let e=0;e<A;e++)i.push(r[e].subarray(s,a));o.push(i)}return o}(e.mmr,e.patternWidth,e.patternHeight,e.maxPatternIndex,e.template,n)}onImmediateHalftoneRegion(e,t,A,i,s){const a=this.patterns[t[0]],n=e.info,r=new Ph(A,i,s),o=function(e,t,A,i,s,a,n,r,o,g,h,c,l,I,d){if(n)throw new Jh("skip is not supported");if(0!==r)throw new Jh(`operator "${r}" is not supported in halftone region`);const C=[];let u,B,Q;for(u=0;u<s;u++){if(Q=new Uint8Array(i),a)for(B=0;B<i;B++)Q[B]=a;C.push(Q)}const E=t.length,f=t[0],p=f[0].length,m=f.length,y=mg(E),w=[];e||(w.push({x:A<=1?3:2,y:-1}),0===A&&w.push({x:-3,y:-1},{x:2,y:-2},{x:-2,y:-2}));const b=[];let D,k,S,F,R,x,v,N,M,G,L;for(e&&(D=new cc(d.data,d.start,d.end)),u=y-1;u>=0;u--)k=e?dc(D,o,g,!0):Zh(!1,o,g,A,!1,null,w,d),b[u]=k;for(S=0;S<g;S++)for(F=0;F<o;F++){for(R=0,x=0,B=y-1;B>=0;B--)R^=b[B][S][F],x|=R<<B;if(v=t[x],N=h+S*I+F*l>>8,M=c+S*l-F*I>>8,N>=0&&N+p<=i&&M>=0&&M+m<=s)for(u=0;u<m;u++)for(L=C[M+u],G=v[u],B=0;B<p;B++)L[N+B]|=G[B];else{let e,t;for(u=0;u<m;u++)if(t=M+u,!(t<0||t>=s))for(L=C[t],G=v[u],B=0;B<p;B++)e=N+B,e>=0&&e<i&&(L[e]|=G[B])}}return C}(e.mmr,a,e.template,n.width,n.height,e.defaultPixelValue,e.enableSkip,e.combinationOperator,e.gridWidth,e.gridHeight,e.gridOffsetX,e.gridOffsetY,e.gridVectorX,e.gridVectorY,r);this.drawBitmap(n,o)}onImmediateLosslessHalftoneRegion(){this.onImmediateHalftoneRegion(...arguments)}onTables(e,t,A,i){let s=this.customTables;s||(this.customTables=s={}),s[e]=function(e,t,A){const i=e[t],s=4294967295&bg(e,t+1),a=4294967295&bg(e,t+5),n=new cc(e,t+9,A),r=1+(i>>1&7),o=1+(i>>4&7),g=[];let h,c,l=s;do{h=n.readBits(r),c=n.readBits(o),g.push(new nc([l,h,c,0])),l+=1<<c}while(l<a);h=n.readBits(r),g.push(new nc([s-1,h,32,0,"lower"])),h=n.readBits(r),g.push(new nc([a,h,32,0])),1&i&&(h=n.readBits(r),g.push(new nc([h,0])));return new oc(g,!1)}(t,A,i)}}class nc{constructor(e){2===e.length?(this.isOOB=!0,this.rangeLow=0,this.prefixLength=e[0],this.rangeLength=0,this.prefixCode=e[1],this.isLowerRange=!1):(this.isOOB=!1,this.rangeLow=e[0],this.prefixLength=e[1],this.rangeLength=e[2],this.prefixCode=e[3],this.isLowerRange="lower"===e[4])}}class rc{constructor(e){this.children=[],e?(this.isLeaf=!0,this.rangeLength=e.rangeLength,this.rangeLow=e.rangeLow,this.isLowerRange=e.isLowerRange,this.isOOB=e.isOOB):this.isLeaf=!1}buildTree(e,t){const A=e.prefixCode>>t&1;if(t<=0)this.children[A]=new rc(e);else{let i=this.children[A];i||(this.children[A]=i=new rc(null)),i.buildTree(e,t-1)}}decodeNode(e){if(this.isLeaf){if(this.isOOB)return null;const t=e.readBits(this.rangeLength);return this.rangeLow+(this.isLowerRange?-t:t)}const t=this.children[e.readBit()];if(!t)throw new Jh("invalid Huffman data");return t.decodeNode(e)}}class oc{constructor(e,t){t||this.assignPrefixCodes(e),this.rootNode=new rc(null);for(let t=0,A=e.length;t<A;t++){const A=e[t];A.prefixLength>0&&this.rootNode.buildTree(A,A.prefixLength-1)}}decode(e){return this.rootNode.decodeNode(e)}assignPrefixCodes(e){const t=e.length;let A=0;for(let i=0;i<t;i++)A=Math.max(A,e[i].prefixLength);const i=new Uint32Array(A+1);for(let A=0;A<t;A++)i[e[A].prefixLength]++;let s,a,n,r=1,o=0;for(i[0]=0;r<=A;){for(o=o+i[r-1]<<1,s=o,a=0;a<t;)n=e[a],n.prefixLength===r&&(n.prefixCode=s,s++),a++;r++}}}const gc={};function hc(e){let t,A=gc[e];if(A)return A;switch(e){case 1:t=[[0,1,4,0],[16,2,8,2],[272,3,16,6],[65808,3,32,7]];break;case 2:t=[[0,1,0,0],[1,2,0,2],[2,3,0,6],[3,4,3,14],[11,5,6,30],[75,6,32,62],[6,63]];break;case 3:t=[[-256,8,8,254],[0,1,0,0],[1,2,0,2],[2,3,0,6],[3,4,3,14],[11,5,6,30],[-257,8,32,255,"lower"],[75,7,32,126],[6,62]];break;case 4:t=[[1,1,0,0],[2,2,0,2],[3,3,0,6],[4,4,3,14],[12,5,6,30],[76,5,32,31]];break;case 5:t=[[-255,7,8,126],[1,1,0,0],[2,2,0,2],[3,3,0,6],[4,4,3,14],[12,5,6,30],[-256,7,32,127,"lower"],[76,6,32,62]];break;case 6:t=[[-2048,5,10,28],[-1024,4,9,8],[-512,4,8,9],[-256,4,7,10],[-128,5,6,29],[-64,5,5,30],[-32,4,5,11],[0,2,7,0],[128,3,7,2],[256,3,8,3],[512,4,9,12],[1024,4,10,13],[-2049,6,32,62,"lower"],[2048,6,32,63]];break;case 7:t=[[-1024,4,9,8],[-512,3,8,0],[-256,4,7,9],[-128,5,6,26],[-64,5,5,27],[-32,4,5,10],[0,4,5,11],[32,5,5,28],[64,5,6,29],[128,4,7,12],[256,3,8,1],[512,3,9,2],[1024,3,10,3],[-1025,5,32,30,"lower"],[2048,5,32,31]];break;case 8:t=[[-15,8,3,252],[-7,9,1,508],[-5,8,1,253],[-3,9,0,509],[-2,7,0,124],[-1,4,0,10],[0,2,1,0],[2,5,0,26],[3,6,0,58],[4,3,4,4],[20,6,1,59],[22,4,4,11],[38,4,5,12],[70,5,6,27],[134,5,7,28],[262,6,7,60],[390,7,8,125],[646,6,10,61],[-16,9,32,510,"lower"],[1670,9,32,511],[2,1]];break;case 9:t=[[-31,8,4,252],[-15,9,2,508],[-11,8,2,253],[-7,9,1,509],[-5,7,1,124],[-3,4,1,10],[-1,3,1,2],[1,3,1,3],[3,5,1,26],[5,6,1,58],[7,3,5,4],[39,6,2,59],[43,4,5,11],[75,4,6,12],[139,5,7,27],[267,5,8,28],[523,6,8,60],[779,7,9,125],[1291,6,11,61],[-32,9,32,510,"lower"],[3339,9,32,511],[2,0]];break;case 10:t=[[-21,7,4,122],[-5,8,0,252],[-4,7,0,123],[-3,5,0,24],[-2,2,2,0],[2,5,0,25],[3,6,0,54],[4,7,0,124],[5,8,0,253],[6,2,6,1],[70,5,5,26],[102,6,5,55],[134,6,6,56],[198,6,7,57],[326,6,8,58],[582,6,9,59],[1094,6,10,60],[2118,7,11,125],[-22,8,32,254,"lower"],[4166,8,32,255],[2,2]];break;case 11:t=[[1,1,0,0],[2,2,1,2],[4,4,0,12],[5,4,1,13],[7,5,1,28],[9,5,2,29],[13,6,2,60],[17,7,2,122],[21,7,3,123],[29,7,4,124],[45,7,5,125],[77,7,6,126],[141,7,32,127]];break;case 12:t=[[1,1,0,0],[2,2,0,2],[3,3,1,6],[5,5,0,28],[6,5,1,29],[8,6,1,60],[10,7,0,122],[11,7,1,123],[13,7,2,124],[17,7,3,125],[25,7,4,126],[41,8,5,254],[73,8,32,255]];break;case 13:t=[[1,1,0,0],[2,3,0,4],[3,4,0,12],[4,5,0,28],[5,4,1,13],[7,3,3,5],[15,6,1,58],[17,6,2,59],[21,6,3,60],[29,6,4,61],[45,6,5,62],[77,7,6,126],[141,7,32,127]];break;case 14:t=[[-2,3,0,4],[-1,3,0,5],[0,1,0,0],[1,3,0,6],[2,3,0,7]];break;case 15:t=[[-24,7,4,124],[-8,6,2,60],[-4,5,1,28],[-2,4,0,12],[-1,3,0,4],[0,1,0,0],[1,3,0,5],[2,4,0,13],[3,5,1,29],[5,6,2,61],[9,7,4,125],[-25,7,32,126,"lower"],[25,7,32,127]];break;default:throw new Jh(`standard table B.${e} does not exist`)}for(let e=0,A=t.length;e<A;e++)t[e]=new nc(t[e]);return A=new oc(t,!0),gc[e]=A,A}class cc{constructor(e,t,A){this.data=e,this.start=t,this.end=A,this.position=t,this.shift=-1,this.currentByte=0}readBit(){if(this.shift<0){if(this.position>=this.end)throw new Jh("end of data while reading bit");this.currentByte=this.data[this.position++],this.shift=7}const e=this.currentByte>>this.shift&1;return this.shift--,e}readBits(e){let t,A=0;for(t=e-1;t>=0;t--)A|=this.readBit()<<t;return A}byteAlign(){this.shift=-1}next(){return this.position>=this.end?-1:this.data[this.position++]}}function lc(e,t,A){let i=0;for(let s=0,a=t.length;s<a;s++){const a=A[t[s]];if(a){if(e===i)return a;i++}}throw new Jh("can't find custom Huffman table")}function Ic(e,t,A){const i=[];for(let s=0;s<A;s++){const A=new Uint8Array(t);i.push(A);for(let i=0;i<t;i++)A[i]=e.readBit();e.byteAlign()}return i}function dc(e,t,A,i){const s=new Fh(e,{K:-1,Columns:t,Rows:A,BlackIs1:!0,EndOfBlock:i}),a=[];let n,r=!1;for(let e=0;e<A;e++){const e=new Uint8Array(t);a.push(e);let A=-1;for(let i=0;i<t;i++)A<0&&(n=s.readNextChar(),-1===n&&(n=0,r=!0),A=7),e[i]=n>>A&1,A--}if(i&&!r){const e=5;for(let t=0;t<e&&-1!==s.readNextChar();t++);}return a}class Cc{parseChunks(e){return function(e){const t=new ac;for(let A=0,i=e.length;A<i;A++){const i=e[A];sc(ec({},i.data,i.start,i.end),t)}return t.buffer}(e)}parse(e){throw new Error("Not implemented: Jbig2Image.parse")}}class uc extends Qh{constructor(e,t,A){super(t),this.stream=e,this.dict=e.dict,this.maybeLength=t,this.params=A}get bytes(){return uo(this,"bytes",this.stream.getBytes(this.maybeLength))}ensureBuffer(e){}readBlock(){if(this.eof)return;const e=new Cc,t=[];if(this.params instanceof ig){const e=this.params.get("JBIG2Globals");if(e instanceof cg){const A=e.getBytes();t.push({data:A,start:0,end:A.length})}}t.push({data:this.bytes,start:0,end:this.bytes.length});const A=e.parseChunks(t),i=A.length;for(let e=0;e<i;e++)A[e]^=255;this.buffer=A,this.bufferLength=i,this.eof=!0}}function Bc(e){switch(e.kind){case Sa:return Qc(e);case Fa:return function({src:e,srcPos:t=0,dest:A,destPos:i=0,width:s,height:a}){let n=0;const r=e.length>>2,o=new Uint32Array(e.buffer,t,r);if(Fo.isLittleEndian){for(;n<r-2;n+=3,i+=4){const e=o[n],t=o[n+1],s=o[n+2];A[i]=4278190080|e,A[i+1]=e>>>24|t<<8|4278190080,A[i+2]=t>>>16|s<<16|4278190080,A[i+3]=s>>>8|4278190080}for(let t=4*n,s=e.length;t<s;t+=3)A[i++]=e[t]|e[t+1]<<8|e[t+2]<<16|4278190080}else{for(;n<r-2;n+=3,i+=4){const e=o[n],t=o[n+1],s=o[n+2];A[i]=255|e,A[i+1]=e<<24|t>>>8|255,A[i+2]=t<<16|s>>>16|255,A[i+3]=s<<8|255}for(let t=4*n,s=e.length;t<s;t+=3)A[i++]=e[t]<<24|e[t+1]<<16|e[t+2]<<8|255}return{srcPos:t,destPos:i}}(e)}return null}function Qc({src:e,srcPos:t=0,dest:A,width:i,height:s,nonBlackColor:a=4294967295,inverseDecode:n=!1}){const r=Fo.isLittleEndian?4278190080:255,[o,g]=n?[a,r]:[r,a],h=i>>3,c=7&i,l=e.length;A=new Uint32Array(A.buffer);let I=0;for(let i=0;i<s;i++){for(const i=t+h;t<i;t++){const i=t<l?e[t]:255;A[I++]=128&i?g:o,A[I++]=64&i?g:o,A[I++]=32&i?g:o,A[I++]=16&i?g:o,A[I++]=8&i?g:o,A[I++]=4&i?g:o,A[I++]=2&i?g:o,A[I++]=1&i?g:o}if(0===c)continue;const i=t<l?e[t++]:255;for(let e=0;e<c;e++)A[I++]=i&1<<7-e?g:o}return{srcPos:t,destPos:I}}class Ec extends Bo{constructor(e){super(e,"JpegError")}}class fc extends Bo{constructor(e,t){super(e,"DNLMarkerError"),this.scanLines=t}}class pc extends Bo{constructor(e){super(e,"EOIMarkerError")}}const mc=new Uint8Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),yc=4017,wc=799,bc=3406,Dc=2276,kc=1567,Sc=3784,Fc=5793,Rc=2896;function xc(e,t){let A,i,s=0,a=16;for(;a>0&&!e[a-1];)a--;const n=[{children:[],index:0}];let r,o=n[0];for(A=0;A<a;A++){for(i=0;i<e[A];i++){for(o=n.pop(),o.children[o.index]=t[s];o.index>0;)o=n.pop();for(o.index++,n.push(o);n.length<=A;)n.push(r={children:[],index:0}),o.children[o.index]=r.children,o=r;s++}A+1<a&&(n.push(r={children:[],index:0}),o.children[o.index]=r.children,o=r)}return n[0].children}function vc(e,t,A){return 64*((e.blocksPerLine+1)*t+A)}function Nc(e,t,A,i,s,a,n,r,o,g=!1){const h=A.mcusPerLine,c=A.progressive,l=t;let I=0,d=0;function C(){if(d>0)return d--,I>>d&1;if(I=e[t++],255===I){const i=e[t++];if(i){if(220===i&&g){const i=wg(e,t+=2);if(t+=2,i>0&&i!==A.scanLines)throw new fc("Found DNL marker (0xFFDC) while parsing scan data",i)}else if(217===i){if(g){const e=m*(8===A.precision?8:0);if(e>0&&Math.round(A.scanLines/e)>=5)throw new fc("Found EOI marker (0xFFD9) while parsing scan data, possibly caused by incorrect `scanLines` parameter",e)}throw new pc("Found EOI marker (0xFFD9) while parsing scan data")}throw new Ec(`unexpected marker ${(I<<8|i).toString(16)}`)}}return d=7,I>>>7}function u(e){let t=e;for(;;){switch(t=t[C()],typeof t){case"number":return t;case"object":continue}throw new Ec("invalid huffman sequence")}}function B(e){let t=0;for(;e>0;)t=t<<1|C(),e--;return t}function Q(e){if(1===e)return 1===C()?1:-1;const t=B(e);return t>=1<<e-1?t:t+(-1<<e)+1}let E=0;let f,p=0;let m=0;function y(e,t,A,i,s){const a=A%h;m=(A/h|0)*e.v+i;const n=a*e.h+s;t(e,vc(e,m,n))}function w(e,t,A){m=A/e.blocksPerLine|0;const i=A%e.blocksPerLine;t(e,vc(e,m,i))}const b=i.length;let D,k,S,F,R,x;x=c?0===a?0===r?function(e,t){const A=u(e.huffmanTableDC),i=0===A?0:Q(A)<<o;e.blockData[t]=e.pred+=i}:function(e,t){e.blockData[t]|=C()<<o}:0===r?function(e,t){if(E>0)return void E--;let A=a;const i=n;for(;A<=i;){const i=u(e.huffmanTableAC),s=15&i,a=i>>4;if(0===s){if(a<15){E=B(a)+(1<<a)-1;break}A+=16;continue}A+=a;const n=mc[A];e.blockData[t+n]=Q(s)*(1<<o),A++}}:function(e,t){let A=a;const i=n;let s,r,g=0;for(;A<=i;){const i=t+mc[A],a=e.blockData[i]<0?-1:1;switch(p){case 0:if(r=u(e.huffmanTableAC),s=15&r,g=r>>4,0===s)g<15?(E=B(g)+(1<<g),p=4):(g=16,p=1);else{if(1!==s)throw new Ec("invalid ACn encoding");f=Q(s),p=g?2:3}continue;case 1:case 2:e.blockData[i]?e.blockData[i]+=a*(C()<<o):(g--,0===g&&(p=2===p?3:0));break;case 3:e.blockData[i]?e.blockData[i]+=a*(C()<<o):(e.blockData[i]=f<<o,p=0);break;case 4:e.blockData[i]&&(e.blockData[i]+=a*(C()<<o))}A++}4===p&&(E--,0===E&&(p=0))}:function(e,t){const A=u(e.huffmanTableDC),i=0===A?0:Q(A);e.blockData[t]=e.pred+=i;let s=1;for(;s<64;){const A=u(e.huffmanTableAC),i=15&A,a=A>>4;if(0===i){if(a<15)break;s+=16;continue}s+=a;const n=mc[s];e.blockData[t+n]=Q(i),s++}};let v,N=0;const M=1===b?i[0].blocksPerLine*i[0].blocksPerColumn:h*A.mcusPerColumn;let G,L;for(;N<=M;){const A=s?Math.min(M-N,s):M;if(A>0){for(k=0;k<b;k++)i[k].pred=0;if(E=0,1===b)for(D=i[0],R=0;R<A;R++)w(D,x,N),N++;else for(R=0;R<A;R++){for(k=0;k<b;k++)for(D=i[k],G=D.h,L=D.v,S=0;S<L;S++)for(F=0;F<G;F++)y(D,x,N,S,F);N++}}if(d=0,v=Lc(e,t),!v)break;if(v.invalid){co(`decodeScan - ${A>0?"unexpected":"excessive"} MCU data, current marker is: ${v.invalid}`),t=v.offset}if(!(v.marker>=65488&&v.marker<=65495))break;t+=2}return t-l}function Mc(e,t,A){const i=e.quantizationTable,s=e.blockData;let a,n,r,o,g,h,c,l,I,d,C,u,B,Q,E,f,p;if(!i)throw new Ec("missing required Quantization Table.");for(let e=0;e<64;e+=8)I=s[t+e],d=s[t+e+1],C=s[t+e+2],u=s[t+e+3],B=s[t+e+4],Q=s[t+e+5],E=s[t+e+6],f=s[t+e+7],I*=i[e],0!=(d|C|u|B|Q|E|f)?(d*=i[e+1],C*=i[e+2],u*=i[e+3],B*=i[e+4],Q*=i[e+5],E*=i[e+6],f*=i[e+7],a=Fc*I+128>>8,n=Fc*B+128>>8,r=C,o=E,g=Rc*(d-f)+128>>8,l=Rc*(d+f)+128>>8,h=u<<4,c=Q<<4,a=a+n+1>>1,n=a-n,p=r*Sc+o*kc+128>>8,r=r*kc-o*Sc+128>>8,o=p,g=g+c+1>>1,c=g-c,l=l+h+1>>1,h=l-h,a=a+o+1>>1,o=a-o,n=n+r+1>>1,r=n-r,p=g*Dc+l*bc+2048>>12,g=g*bc-l*Dc+2048>>12,l=p,p=h*wc+c*yc+2048>>12,h=h*yc-c*wc+2048>>12,c=p,A[e]=a+l,A[e+7]=a-l,A[e+1]=n+c,A[e+6]=n-c,A[e+2]=r+h,A[e+5]=r-h,A[e+3]=o+g,A[e+4]=o-g):(p=Fc*I+512>>10,A[e]=p,A[e+1]=p,A[e+2]=p,A[e+3]=p,A[e+4]=p,A[e+5]=p,A[e+6]=p,A[e+7]=p);for(let e=0;e<8;++e)I=A[e],d=A[e+8],C=A[e+16],u=A[e+24],B=A[e+32],Q=A[e+40],E=A[e+48],f=A[e+56],0!=(d|C|u|B|Q|E|f)?(a=Fc*I+2048>>12,n=Fc*B+2048>>12,r=C,o=E,g=Rc*(d-f)+2048>>12,l=Rc*(d+f)+2048>>12,h=u,c=Q,a=4112+(a+n+1>>1),n=a-n,p=r*Sc+o*kc+2048>>12,r=r*kc-o*Sc+2048>>12,o=p,g=g+c+1>>1,c=g-c,l=l+h+1>>1,h=l-h,a=a+o+1>>1,o=a-o,n=n+r+1>>1,r=n-r,p=g*Dc+l*bc+2048>>12,g=g*bc-l*Dc+2048>>12,l=p,p=h*wc+c*yc+2048>>12,h=h*yc-c*wc+2048>>12,c=p,I=a+l,f=a-l,d=n+c,E=n-c,C=r+h,Q=r-h,u=o+g,B=o-g,I<16?I=0:I>=4080?I=255:I>>=4,d<16?d=0:d>=4080?d=255:d>>=4,C<16?C=0:C>=4080?C=255:C>>=4,u<16?u=0:u>=4080?u=255:u>>=4,B<16?B=0:B>=4080?B=255:B>>=4,Q<16?Q=0:Q>=4080?Q=255:Q>>=4,E<16?E=0:E>=4080?E=255:E>>=4,f<16?f=0:f>=4080?f=255:f>>=4,s[t+e]=I,s[t+e+8]=d,s[t+e+16]=C,s[t+e+24]=u,s[t+e+32]=B,s[t+e+40]=Q,s[t+e+48]=E,s[t+e+56]=f):(p=Fc*I+8192>>14,p=p<-2040?0:p>=2024?255:p+2056>>4,s[t+e]=p,s[t+e+8]=p,s[t+e+16]=p,s[t+e+24]=p,s[t+e+32]=p,s[t+e+40]=p,s[t+e+48]=p,s[t+e+56]=p)}function Gc(e,t){const A=t.blocksPerLine,i=t.blocksPerColumn,s=new Int16Array(64);for(let e=0;e<i;e++)for(let i=0;i<A;i++){Mc(t,vc(t,e,i),s)}return t.blockData}function Lc(e,t,A=t){const i=e.length-1;let s=A<t?A:t;if(t>=i)return null;const a=wg(e,t);if(a>=65472&&a<=65534)return{invalid:null,marker:a,offset:t};let n=wg(e,s);for(;!(n>=65472&&n<=65534);){if(++s>=i)return null;n=wg(e,s)}return{invalid:a.toString(16),marker:n,offset:s}}class Uc{constructor({decodeTransform:e=null,colorTransform:t=-1}={}){this._decodeTransform=e,this._colorTransform=t}parse(e,{dnlScanLines:t=null}={}){function A(){const t=wg(e,n);n+=2;let A=n+t-2;const i=Lc(e,A,n);i?.invalid&&(co("readDataBlock - incorrect length, current marker is: "+i.invalid),A=i.offset);const s=e.subarray(n,A);return n+=s.length,s}function i(e){const t=Math.ceil(e.samplesPerLine/8/e.maxH),A=Math.ceil(e.scanLines/8/e.maxV);for(const i of e.components){const s=Math.ceil(Math.ceil(e.samplesPerLine/8)*i.h/e.maxH),a=Math.ceil(Math.ceil(e.scanLines/8)*i.v/e.maxV),n=t*i.h,r=64*(A*i.v)*(n+1);i.blockData=new Int16Array(r),i.blocksPerLine=s,i.blocksPerColumn=a}e.mcusPerLine=t,e.mcusPerColumn=A}let s,a,n=0,r=null,o=null,g=0;const h=[],c=[],l=[];let I=wg(e,n);if(n+=2,65496!==I)throw new Ec("SOI not found");I=wg(e,n),n+=2;e:for(;65497!==I;){let d,C,u;switch(I){case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:const B=A();65504===I&&74===B[0]&&70===B[1]&&73===B[2]&&70===B[3]&&0===B[4]&&(r={version:{major:B[5],minor:B[6]},densityUnits:B[7],xDensity:B[8]<<8|B[9],yDensity:B[10]<<8|B[11],thumbWidth:B[12],thumbHeight:B[13],thumbData:B.subarray(14,14+3*B[12]*B[13])}),65518===I&&65===B[0]&&100===B[1]&&111===B[2]&&98===B[3]&&101===B[4]&&(o={version:B[5]<<8|B[6],flags0:B[7]<<8|B[8],flags1:B[9]<<8|B[10],transformCode:B[11]});break;case 65499:const Q=wg(e,n);n+=2;const E=Q+n-2;let f;for(;n<E;){const t=e[n++],A=new Uint16Array(64);if(t>>4==0)for(C=0;C<64;C++)f=mc[C],A[f]=e[n++];else{if(t>>4!=1)throw new Ec("DQT - invalid table spec");for(C=0;C<64;C++)f=mc[C],A[f]=wg(e,n),n+=2}h[15&t]=A}break;case 65472:case 65473:case 65474:if(s)throw new Ec("Only single frame JPEGs supported");n+=2,s={},s.extended=65473===I,s.progressive=65474===I,s.precision=e[n++];const p=wg(e,n);n+=2,s.scanLines=t||p,s.samplesPerLine=wg(e,n),n+=2,s.components=[],s.componentIds={};const m=e[n++];let y=0,w=0;for(d=0;d<m;d++){const t=e[n],A=e[n+1]>>4,i=15&e[n+1];y<A&&(y=A),w<i&&(w=i);const a=e[n+2];u=s.components.push({h:A,v:i,quantizationId:a,quantizationTable:null}),s.componentIds[t]=u-1,n+=3}s.maxH=y,s.maxV=w,i(s);break;case 65476:const b=wg(e,n);for(n+=2,d=2;d<b;){const t=e[n++],A=new Uint8Array(16);let i=0;for(C=0;C<16;C++,n++)i+=A[C]=e[n];const s=new Uint8Array(i);for(C=0;C<i;C++,n++)s[C]=e[n];d+=17+i,(t>>4==0?l:c)[15&t]=xc(A,s)}break;case 65501:n+=2,a=wg(e,n),n+=2;break;case 65498:const D=1==++g&&!t;n+=2;const k=e[n++],S=[];for(d=0;d<k;d++){const t=e[n++],A=s.componentIds[t],i=s.components[A];i.index=t;const a=e[n++];i.huffmanTableDC=l[a>>4],i.huffmanTableAC=c[15&a],S.push(i)}const F=e[n++],R=e[n++],x=e[n++];try{const t=Nc(e,n,s,S,a,F,R,x>>4,15&x,D);n+=t}catch(t){if(t instanceof fc)return co(`${t.message} -- attempting to re-parse the JPEG image.`),this.parse(e,{dnlScanLines:t.scanLines});if(t instanceof pc){co(`${t.message} -- ignoring the rest of the image data.`);break e}throw t}break;case 65500:n+=4;break;case 65535:255!==e[n]&&n--;break;default:const v=Lc(e,n-2,n-3);if(v?.invalid){co("JpegImage.parse - unexpected data, current marker is: "+v.invalid),n=v.offset;break}if(!v||n>=e.length-1){co("JpegImage.parse - reached the end of the image data without finding an EOI marker (0xFFD9).");break e}throw new Ec("JpegImage.parse - unknown marker: "+I.toString(16))}I=wg(e,n),n+=2}if(!s)throw new Ec("JpegImage.parse - no frame data found.");this.width=s.samplesPerLine,this.height=s.scanLines,this.jfif=r,this.adobe=o,this.components=[];for(const e of s.components){const t=h[e.quantizationId];t&&(e.quantizationTable=t),this.components.push({index:e.index,output:Gc(0,e),scaleX:e.h/s.maxH,scaleY:e.v/s.maxV,blocksPerLine:e.blocksPerLine,blocksPerColumn:e.blocksPerColumn})}this.numComponents=this.components.length}_getLinearizedBlockData(e,t,A=!1){const i=this.width/e,s=this.height/t;let a,n,r,o,g,h,c,l,I,d,C,u=0;const B=this.components.length,Q=e*t*B,E=new Uint8ClampedArray(Q),f=new Uint32Array(e),p=4294967288;let m;for(c=0;c<B;c++){if(a=this.components[c],n=a.scaleX*i,r=a.scaleY*s,u=c,C=a.output,o=a.blocksPerLine+1<<3,n!==m){for(g=0;g<e;g++)l=0|g*n,f[g]=(l&p)<<3|7&l;m=n}for(h=0;h<t;h++)for(l=0|h*r,d=o*(l&p)|(7&l)<<3,g=0;g<e;g++)E[u]=C[d+f[g]],u+=B}let y=this._decodeTransform;if(A||4!==B||y||(y=new Int32Array([-256,255,-256,255,-256,255,-256,255])),y)for(c=0;c<Q;)for(l=0,I=0;l<B;l++,c++,I+=2)E[c]=(E[c]*y[I]>>8)+y[I+1];return E}get _isColorConversionNeeded(){return this.adobe?!!this.adobe.transformCode:3===this.numComponents?0!==this._colorTransform&&(82!==this.components[0].index||71!==this.components[1].index||66!==this.components[2].index):1===this._colorTransform}_convertYccToRgb(e){let t,A,i;for(let s=0,a=e.length;s<a;s+=3)t=e[s],A=e[s+1],i=e[s+2],e[s]=t-179.456+1.402*i,e[s+1]=t+135.459-.344*A-.714*i,e[s+2]=t-226.816+1.772*A;return e}_convertYccToRgba(e,t){for(let A=0,i=0,s=e.length;A<s;A+=3,i+=4){const s=e[A],a=e[A+1],n=e[A+2];t[i]=s-179.456+1.402*n,t[i+1]=s+135.459-.344*a-.714*n,t[i+2]=s-226.816+1.772*a,t[i+3]=255}return t}_convertYcckToRgb(e){let t,A,i,s,a=0;for(let n=0,r=e.length;n<r;n+=4)t=e[n],A=e[n+1],i=e[n+2],s=e[n+3],e[a++]=A*(-660635669420364e-19*A+.000437130475926232*i-54080610064599e-18*t+.00048449797120281*s-.154362151871126)-122.67195406894+i*(-.000957964378445773*i+.000817076911346625*t-.00477271405408747*s+1.53380253221734)+t*(.000961250184130688*t-.00266257332283933*s+.48357088451265)+s*(-.000336197177618394*s+.484791561490776),e[a++]=107.268039397724+A*(219927104525741e-19*A-.000640992018297945*i+.000659397001245577*t+.000426105652938837*s-.176491792462875)+i*(-.000778269941513683*i+.00130872261408275*t+.000770482631801132*s-.151051492775562)+t*(.00126935368114843*t-.00265090189010898*s+.25802910206845)+s*(-.000318913117588328*s-.213742400323665),e[a++]=A*(-.000570115196973677*A-263409051004589e-19*i+.0020741088115012*t-.00288260236853442*s+.814272968359295)-20.810012546947+i*(-153496057440975e-19*i-.000132689043961446*t+.000560833691242812*s-.195152027534049)+t*(.00174418132927582*t-.00255243321439347*s+.116935020465145)+s*(-.000343531996510555*s+.24165260232407);return e.subarray(0,a)}_convertYcckToRgba(e){for(let t=0,A=e.length;t<A;t+=4){const A=e[t],i=e[t+1],s=e[t+2],a=e[t+3];e[t]=i*(-660635669420364e-19*i+.000437130475926232*s-54080610064599e-18*A+.00048449797120281*a-.154362151871126)-122.67195406894+s*(-.000957964378445773*s+.000817076911346625*A-.00477271405408747*a+1.53380253221734)+A*(.000961250184130688*A-.00266257332283933*a+.48357088451265)+a*(-.000336197177618394*a+.484791561490776),e[t+1]=107.268039397724+i*(219927104525741e-19*i-.000640992018297945*s+.000659397001245577*A+.000426105652938837*a-.176491792462875)+s*(-.000778269941513683*s+.00130872261408275*A+.000770482631801132*a-.151051492775562)+A*(.00126935368114843*A-.00265090189010898*a+.25802910206845)+a*(-.000318913117588328*a-.213742400323665),e[t+2]=i*(-.000570115196973677*i-263409051004589e-19*s+.0020741088115012*A-.00288260236853442*a+.814272968359295)-20.810012546947+s*(-153496057440975e-19*s-.000132689043961446*A+.000560833691242812*a-.195152027534049)+A*(.00174418132927582*A-.00255243321439347*a+.116935020465145)+a*(-.000343531996510555*a+.24165260232407),e[t+3]=255}return e}_convertYcckToCmyk(e){let t,A,i;for(let s=0,a=e.length;s<a;s+=4)t=e[s],A=e[s+1],i=e[s+2],e[s]=434.456-t-1.402*i,e[s+1]=119.541-t+.344*A+.714*i,e[s+2]=481.816-t-1.772*A;return e}_convertCmykToRgb(e){let t,A,i,s,a=0;for(let n=0,r=e.length;n<r;n+=4)t=e[n],A=e[n+1],i=e[n+2],s=e[n+3],e[a++]=255+t*(-6747147073602441e-20*t+.0008379262121013727*A+.0002894718188643294*i+.003264231057537806*s-1.1185611867203937)+A*(26374107616089405e-21*A-8626949158638572e-20*i-.0002748769067499491*s-.02155688794978967)+i*(-3878099212869363e-20*i-.0003267808279485286*s+.0686742238595345)-s*(.0003361971776183937*s+.7430659151342254),e[a++]=255+t*(.00013596372813588848*t+.000924537132573585*A+.00010567359618683593*i+.0004791864687436512*s-.3109689587515875)+A*(-.00023545346108370344*A+.0002702845253534714*i+.0020200308977307156*s-.7488052167015494)+i*(6834815998235662e-20*i+.00015168452363460973*s-.09751927774728933)-s*(.0003189131175883281*s+.7364883807733168),e[a++]=255+t*(13598650411385307e-21*t+.00012423956175490851*A+.0004751985097583589*i-36729317476630422e-22*s-.05562186980264034)+A*(.00016141380598724676*A+.0009692239130725186*i+.0007782692450036253*s-.44015232367526463)+i*(5.068882914068769e-7*i+.0017778369011375071*s-.7591454649749609)-s*(.0003435319965105553*s+.7063770186160144);return e.subarray(0,a)}_convertCmykToRgba(e){for(let t=0,A=e.length;t<A;t+=4){const A=e[t],i=e[t+1],s=e[t+2],a=e[t+3];e[t]=255+A*(-6747147073602441e-20*A+.0008379262121013727*i+.0002894718188643294*s+.003264231057537806*a-1.1185611867203937)+i*(26374107616089405e-21*i-8626949158638572e-20*s-.0002748769067499491*a-.02155688794978967)+s*(-3878099212869363e-20*s-.0003267808279485286*a+.0686742238595345)-a*(.0003361971776183937*a+.7430659151342254),e[t+1]=255+A*(.00013596372813588848*A+.000924537132573585*i+.00010567359618683593*s+.0004791864687436512*a-.3109689587515875)+i*(-.00023545346108370344*i+.0002702845253534714*s+.0020200308977307156*a-.7488052167015494)+s*(6834815998235662e-20*s+.00015168452363460973*a-.09751927774728933)-a*(.0003189131175883281*a+.7364883807733168),e[t+2]=255+A*(13598650411385307e-21*A+.00012423956175490851*i+.0004751985097583589*s-36729317476630422e-22*a-.05562186980264034)+i*(.00016141380598724676*i+.0009692239130725186*s+.0007782692450036253*a-.44015232367526463)+s*(5.068882914068769e-7*s+.0017778369011375071*a-.7591454649749609)-a*(.0003435319965105553*a+.7063770186160144),e[t+3]=255}return e}getData({width:e,height:t,forceRGBA:A=!1,forceRGB:i=!1,isSourcePDF:s=!1}){if(this.numComponents>4)throw new Ec("Unsupported color mode");const a=this._getLinearizedBlockData(e,t,s);if(1===this.numComponents&&(A||i)){const e=a.length*(A?4:3),t=new Uint8ClampedArray(e);let i=0;if(A)!function(e,t){if(Fo.isLittleEndian)for(let A=0,i=e.length;A<i;A++)t[A]=65793*e[A]|4278190080;else for(let A=0,i=e.length;A<i;A++)t[A]=16843008*e[A]|255}(a,new Uint32Array(t.buffer));else for(const e of a)t[i++]=e,t[i++]=e,t[i++]=e;return t}if(3===this.numComponents&&this._isColorConversionNeeded){if(A){const e=new Uint8ClampedArray(a.length/3*4);return this._convertYccToRgba(a,e)}return this._convertYccToRgb(a)}if(4===this.numComponents){if(this._isColorConversionNeeded)return A?this._convertYcckToRgba(a):i?this._convertYcckToRgb(a):this._convertYcckToCmyk(a);if(A)return this._convertCmykToRgba(a);if(i)return this._convertCmykToRgb(a)}return a}}class Hc extends Qh{constructor(e,t,A){let i;for(;-1!==(i=e.getByte());)if(255===i){e.skip(-1);break}super(t),this.stream=e,this.dict=e.dict,this.maybeLength=t,this.params=A}get bytes(){return uo(this,"bytes",this.stream.getBytes(this.maybeLength))}ensureBuffer(e){}readBlock(){if(this.eof)return;const e={decodeTransform:void 0,colorTransform:void 0},t=this.dict.getArray("D","Decode");if((this.forceRGBA||this.forceRGB)&&Array.isArray(t)){const A=this.dict.get("BPC","BitsPerComponent")||8,i=t.length,s=new Int32Array(i);let a=!1;const n=(1<<A)-1;for(let e=0;e<i;e+=2)s[e]=256*(t[e+1]-t[e])|0,s[e+1]=t[e]*n|0,256===s[e]&&0===s[e+1]||(a=!0);a&&(e.decodeTransform=s)}if(this.params instanceof ig){const t=this.params.get("ColorTransform");Number.isInteger(t)&&(e.colorTransform=t)}const A=new Uc(e);A.parse(this.bytes);const i=A.getData({width:this.drawWidth,height:this.drawHeight,forceRGBA:this.forceRGBA,forceRGB:this.forceRGB,isSourcePDF:!0});this.buffer=i,this.bufferLength=i.length,this.eof=!0}}var Jc,Tc=(Jc="undefined"!=typeof document?document.currentScript?.src:void 0,function(e={}){var t,A,i=Object.assign({},e);new Promise(((e,i)=>{t=e,A=i})),i.decode=function(e,t){const A=e.length,s=i._malloc(A);i.HEAPU8.set(e,s);const a=i._jp2_decode(s,A,t?1:0);if(i._free(s),a){const{errorMessages:e}=i;return e?(delete i.errorMessages,e):"Unknown error"}const{imageData:n}=i;return i.imageData=null,n};var s=Object.assign({},i),a="./this.program",n="";"undefined"!=typeof document&&document.currentScript&&(n=document.currentScript.src),Jc&&(n=Jc),n=n.startsWith("blob:")?"":n.substr(0,n.replace(/[?#].*/,"").lastIndexOf("/")+1);var r,o,g,h,c,l=i.print||console.log.bind(console),I=i.printErr||console.error.bind(console);function d(e){if(y(e))return function(e){for(var t=atob(e),A=new Uint8Array(t.length),i=0;i<t.length;++i)A[i]=t.charCodeAt(i);return A}(e.slice(m.length))}function C(){var e=o.buffer;i.HEAP8=g=new Int8Array(e),i.HEAP16=new Int16Array(e),i.HEAPU8=h=new Uint8Array(e),i.HEAPU16=new Uint16Array(e),i.HEAP32=new Int32Array(e),i.HEAPU32=c=new Uint32Array(e),i.HEAPF32=new Float32Array(e),i.HEAPF64=new Float64Array(e)}Object.assign(i,s),s=null,i.arguments&&i.arguments,i.thisProgram&&(a=i.thisProgram),i.quit&&i.quit,i.wasmBinary&&(r=i.wasmBinary);var u,B=[],Q=[],E=[],f=0,p=null,m="data:application/octet-stream;base64,",y=e=>e.startsWith(m);function w(e,t){var A,i=function(e){if(e==u&&r)return new Uint8Array(r);var t=d(e);if(t)return t;throw'sync fetching of the wasm failed: you can preload it to Module["wasmBinary"] manually, or emcc.py will do that for you when generating HTML (but not JS)'}(e);return A=new WebAssembly.Module(i),[new WebAssembly.Instance(A,t),A]}var b=e=>{for(;e.length>0;)e.shift()(i)};i.noExitRuntime;var D,k=e=>{var t=(e-o.buffer.byteLength+65535)/65536;try{return o.grow(t),C(),1}catch(e){}},S={},F=()=>{if(!F.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:a||"./this.program"};for(var t in S)void 0===S[t]?delete e[t]:e[t]=S[t];var A=[];for(var t in e)A.push(`${t}=${e[t]}`);F.strings=A}return F.strings},R=[null,[],[]],x="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,v=(e,t,A)=>{for(var i=t+A,s=t;e[s]&&!(s>=i);)++s;if(s-t>16&&e.buffer&&x)return x.decode(e.subarray(t,s));for(var a="";t<s;){var n=e[t++];if(128&n){var r=63&e[t++];if(192!=(224&n)){var o=63&e[t++];if((n=224==(240&n)?(15&n)<<12|r<<6|o:(7&n)<<18|r<<12|o<<6|63&e[t++])<65536)a+=String.fromCharCode(n);else{var g=n-65536;a+=String.fromCharCode(55296|g>>10,56320|1023&g)}}else a+=String.fromCharCode((31&n)<<6|r)}else a+=String.fromCharCode(n)}return a},N=(e,t)=>e?v(h,e,t):"",M={f:(e,t,A)=>h.copyWithin(e,t,t+A),b:e=>{var t=h.length,A=2147483648;if((e>>>=0)>A)return!1;for(var i,s,a=1;a<=4;a*=2){var n=t*(1+.2/a);n=Math.min(n,e+100663296);var r=Math.min(A,(i=Math.max(e,n))+((s=65536)-i%s)%s);if(k(r))return!0}return!1},c:(e,t)=>{var A=0;return F().forEach(((i,s)=>{var a=t+A;c[e+4*s>>2]=a,((e,t)=>{for(var A=0;A<e.length;++A)g[t++]=e.charCodeAt(A);g[t]=0})(i,a),A+=i.length+1})),0},d:(e,t)=>{var A=F();c[e>>2]=A.length;var i=0;return A.forEach((e=>i+=e.length+1)),c[t>>2]=i,0},e:(e,t,A,i)=>{for(var s,a,n,r=0,o=0;o<A;o++){var g=c[t>>2],d=c[t+4>>2];t+=8;for(var C=0;C<d;C++)s=e,a=h[g+C],n=void 0,n=R[s],0===a||10===a?((1===s?l:I)(v(n,0)),n.length=0):n.push(a);r+=d}return c[i>>2]=r,0},g:function(e){const t=N(e);(i.warn||console.warn)(`OpenJPEG: ${t}`)},h:function(e,t){i.imageData=new Uint8ClampedArray(i.HEAPU8.subarray(e,e+t))},a:function(e){const t=N(e);i.errorMessages?i.errorMessages+="\n"+t:i.errorMessages=t}},G=function(){var e={a:M};function t(e,t){var A;return G=e.exports,o=G.i,C(),A=G.j,Q.unshift(A),function(e){if(f--,i.monitorRunDependencies?.(f),0==f&&p){var t=p;p=null,t()}}(),G}if(f++,i.monitorRunDependencies?.(f),i.instantiateWasm)try{return i.instantiateWasm(e,t)}catch(e){I(`Module.instantiateWasm callback failed with error: ${e}`),A(e)}return u||(u="data:application/octet-stream;base64,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dEGwnQFqKAIAIQICfiAAKQMIIg5CAFMEQEEMIAFBAWogAUELThshBCADQQFrIQNBfyACdEF/c0EBdCEBQgEMAQsgAUEBa0EAIAFBAUobIQQgDkE/IAJrrYinQX8gAnRBf3NxQQF0QQFyIQEgAyACQQFqIgJrIQMgAq0LIQ8gACADNgIQIAAgBDYCHCAAIA4gD4Y3AwggACAAKQMoQv//////QIMgAa1CI4aENwMoQQYhBSADQQZIDQAgACgCHCIBQQJ0QbCdAWooAgAhAgJ+IAApAwgiDkIAUwRAQQwgAUEBaiABQQtOGyEEIANBAWshA0F/IAJ0QX9zQQF0IQFCAQwBCyABQQFrQQAgAUEBShshBCAOQT8gAmutiKdBfyACdEF/c3FBAXRBAXIhASADIAJBAWoiAmshAyACrQshDyAAIAM2AhAgACAENgIcIAAgDiAPhjcDCCAAIAApAyhC////////QIMgAa1CKoaENwMoQQchBSADQQZIDQAgACgCHCIBQQJ0QbCdAWooAgAhAgJ+IAApAwgiDkIAUwRAQQwgAUEBaiABQQtOGyEEIANBAWshA0F/IAJ0QX9zQQF0IQFCAQwBCyABQQFrQQAgAUEBShshBCAOQT8gAmutiKdBfyACdEF/c3FBAXRBAXIhASADIAJBAWoiAmshAyACrQshDyAAIAM2AhAgACAENgIcIAAgDiAPhjcDCCAAIAApAyhC/////////0CDIAGtQjGGhDcDKEEIIQULIAAgBUEBazYCICAAIAApAygiDkIHiDcDKCAOp0H/AHELIgEBfyAABEAgACgCDCIBBEAgARAJIABBADYCDAsgABAJCwuFAQIFfwF+AkAgAEKAgICAEFQEQCAAIQcMAQsDQCABQQFrIgEgAEIKgCIHQvYBfiAAfKdBMHI6AAAgAEL/////nwFWIQUgByEAIAUNAAsLIAenIgIEQANAIAFBAWsiASACQQpuIgNB9gFsIAJqQTByOgAAIAJBCUshBiADIQIgBg0ACwsgAQv54gEEen8Gewh+AX0jAEEQayJOJAACQCAALQAIQYABcUUNACAAKALMASABRw0AIAAoApwBIAFBjCxsaiJPKALcKyIVRQRAIE8QKQwBCyAAKALIARogACgC0AEhGSAAKAJMIgdFBEAgACgCSCEHCyAHKAIAIQYgBygCBCELIAco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AAACAAAA/a4BQQL9rAH9sQH9CwIAIAEiBkEBaiIBIA9HDQALIA8hBwsgByAbTg0AA0AgB0EDdCEBIAcgLEghBgJAIAdBAEwEQCA2KAIAIQogB0EATgRAIBQgAUECdCIBaiIyIDIoAgAgCiABIDZqIEUgBhsoAgBqQQJqQQJ1azYCACABICRqIgogCigCACAgKAIAIAEgIGogPCAGGygCAGpBAmpBAnVrNgIAIAEgKmoiCiAKKAIAIB8oAgAgASAfaiA6IAYbKAIAakECakECdWs2AgAgQygCACABIENqICYgBhsoAgBqQQJqIQYgASApaiEBDAILIBQgAUECdCIBaiIGIAYoAgAgCkEBdEECakECdWs2AgAgASAkaiIGIAYoAgAgFCgCFEEBdEECakECdWs2AgAgASAqaiIGIAYoAgAgFCgCGEEBdEECakECdWs2AgAgASApaiEBIBQoAhxBAXRBAmohBgwBCyAUIAcgLCAGG0EDdEEEa0ECdCIKaigCACEyIAZFBEAgFCABQQJ0IgFqIgYgBigCACAyIEUoAgBqQQJqQQJ1azYCACABICRqIgYgBigCACAKICRqKAIAIDwoAgBqQQJqQQJ1azYCACABICpqIgYgBigCACAKICpqKAIAIDooAgBqQQJqQQJ1azYCACABIClqIQEgCiApaigCACAmKAIAakECaiEGDAELIBQgAUECdCIBaiIGIAYoAgAgMiAGKAIQakECakECdWs2AgAgASAkaiIGIAYoAgAgCiAkaigCACAGKAIQakECakECdWs2AgAgASAqaiIGIAYoAgAgCiAqaigCACAGKAIQakECakECdWs2AgAgCiApaigCACABIClqIgEoAhBqQQJqIQYLIAEgASgCACAGQQJ1azYCACAHQQFqIgcgG0cNAAsLIA4gHE4NACAMIA4iASIHSgRAA0AgFCABQQV0aiIHIAf9AAIgIAf9AAIA/a4BQQH9rAEgB/0AAhD9rgH9CwIQIAFBAWoiASAMRw0ACyAMIQcLIAcgHE4NAANAIEMgB0EDdCIBQQJ0aiIyAn8gB0EASARAIBQoAgAhBiAHQX9HBEAgNiABQQJ0IgFqIgogCigCACAGajYCACABICBqIgYgBigCACAkKAIAajYCACABIB9qIgEgASgCACAqKAIAajYCACApKAIADAILIDYgAUECdCIB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LQAAQYD+A3I2AgwLIABBADYCEEEBCwtJAQF/AkBBAUEsEAwiAQRAIAFBADYCEAJAIABBAEwEQCABQQFBCBAMIgA2AiQgAEUNAQwDCyABQQA2AgwLIAEQCQtBACEBCyABC34CAX8BfiAAvSIDQjSIp0H/D3EiAkH/D0cEfCACRQRAIAEgAEQAAAAAAAAAAGEEf0EABSAARAAAAAAAAPBDoiABEF8hACABKAIAQUBqCzYCACAADwsgASACQf4HazYCACADQv////////+HgH+DQoCAgICAgIDwP4S/BSAACwuRAgAgAEUEQEEADwsCfwJAIAFB/wBNDQACQEGUzwEoAgAoAgBFBEAgAUGAf3FBgL8DRg0CDAELIAFB/w9NBEAgACABQT9xQYABcjoAASAAIAFBBnZBwAFyOgAAQQIMAwsgAUGAQHFBgMADRyABQYCwA09xRQRAIAAgAUE/cUGAAXI6AAIgACABQQx2QeABcjoAACAAIAFBBnZBP3FBgAFyOgABQQMMAwsgAUGAgARrQf//P00EQCAAIAFBP3FBgAFyOgADIAAgAUESdkHwAXI6AAAgACABQQZ2QT9xQYABcjoAAiAAIAFBDHZBP3FBgAFyOgABQQQMAwsLQZTGAUEZNgIAQX8MAQsgACABOgAAQQELC7wCAAJAAkACQAJAAkACQAJAAkACQAJAAkAgAUEJaw4SAAgJCggJAQIDBAoJCgoICQUGBwsgAiACKAIAIgFBBGo2AgAgACABKAIANgIADwsgAiACKAIAIgFBBGo2AgAgACABMgEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMwEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMAAANwMADwsgAiACKAIAIgFBBGo2AgAgACABMQAANwMADwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKwMAOQMADwsgACACIAMRAwALDwsgAiACKAIAIgFBBGo2AgAgACABNAIANwMADwsgAiACKAIAIgFBBGo2AgAgACABNQIANwMADwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMAC3MBBn8gACgCACIDLAAAQTBrIgFBCUsEQEEADwsDQEF/IQQgAkHMmbPmAE0EQEF/IAEgAkEKbCIFaiABIAVB/////wdzSxshBAsgACADQQFqIgU2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VP0gAiACKgJ0/SAD/QsCACABIAMgF2pBAnRqIAL9CQIYIAIqAjj9IAEgAioCWP0gAiACKgJ4/SAD/QsCACABIAMgFmpBAnRqIAL9CQIcIAIqAjz9IAEgAioCXP0gAiACKgJ8/SAD/QsCACADQQRqIgMgBEcNAAsgBCALRg0BCwNAIAEgBCAbakECdGogBiAEQQV0aiIDKgIQOAIAIAEgBCAYakECdGogAyoCFDgCACABIAQgF2pBAnRqIAMqAhg4AgAgASAEIBZqQQJ0aiADKgIcOAIAIARBAWoiBCALRw0ACwsgHUEBaiEdIAEgJEECdGohASAcQQhqIhwgACgCLE0NAAsLIAAoAgAQCSAAEAkLcwECfyAAKAIcIgFBCGoiAyAAKAIgIgJNBEADQCAAIAAoAhggAUECdGogACgCFEEIECsgAyIBQQhqIgMgACgCICICTQ0ACwsgASACSQRAIAAgACgCGCABQQJ0aiAAKAIUIAIgAWsQKwsgACgCABAJIAAQCQtEACAAKAIcIgEgACgCIEkEQANAIAAgACgCGCAAKAIUIAFsQQJ0ahBWIAFBAWoiASAAKAIgSQ0ACwsgACgCABAJIAAQCQuoAQEFfyAAKAJUIgMoAgAhBSADKAIEIgQgACgCFCAAKAIcIgdrIgYgBCAGSRsiBgRAIAUgByAGEAsaIAMgAygCACAGaiIFNgIAIAMgAygCBCAGayIENgIECyAEIAIgAiAESxsiBARAIAUgASAEEAsaIAMgAygCACAEaiIFNgIAIAMgAygCBCAEazYCBAsgBUEAOgAAIAAgACgCLCIBNgIcIAAgATYCFCACC54FAgZ+BH8gASABKAIAQQdqQXhxIgFBEGo2AgAgACELIAEpAwAhAyABKQMIIQcjAEEgayIIJAAgB0L///////8/gyEEAn4gB0IwiEL//wGDIgWnIgpBgfgAa0H9D00EQCAEQgSGIANCPIiEIQIgCkGA+ABrrSEFAkAgA0L//////////w+DIgNCgYCAgICAgIAIWgRAIAJCAXwhAgwBCyADQoCAgICAgICACFINACACQgGDIAJ8IQILQgAgAiACQv////////8HViIAGyECIACtIAV8DAELAkAgAyAEhFANACAFQv//AVINACAEQgSGIANCPIiEQoCAgICAgIAEhCECQv8PDAELQv8PIApB/ocBSw0AGkIAQYD4AEGB+AAgBVAiARsiACAKayIJQfAASg0AGiADIQIgBCAEQoCAgICAgMAAhCABGyIGIQQCQEGAASAJayIBQcAAcQRAIAMgAUFAaq2GIQRCACECDAELIAFFDQAgBCABrSIFhiACQcAAIAFrrYiEIQQgAiAFhiECCyAIIAI3AxAgCCAENwMYAkAgCUHAAHEEQCAGIAlBQGqtiCEDQgAhBgwBCyAJRQ0AIAZBwAAgCWuthiADIAmtIgKIhCEDIAYgAoghBgsgCCADNwMAIAggBjcDCCAIKQMIQgSGIAgpAwAiAkI8iIQhAwJAIAAgCkcgCCkDECAIKQMYhEIAUnGtIAJC//////////8Pg4QiAkKBgICAgICAgAhaBEAgA0IBfCEDDAELIAJCgICAgICAgIAIUg0AIANCAYMgA3whAwsgA0KAgICAgICACIUgAyADQv////////8HViIAGyECIACtCyEDIAhBIGokACALIAdCgICAgICAgICAf4MgA0I0hoQgAoS/OQMAC4MYAxN/AXwDfiMAQbAEayIMJAAgDEEANgIsAkAgAb0iGkIAUwRAQQEhEUG6CCETIAGaIgG9IRoMAQsgBEGAEHEEQEEBIRFBvQghEwwBC0HACEG7CCAEQQFxIhEbIRMgEUUhFQsCQCAaQoCAgICAgID4/wCDQoCAgICAgID4/wBRBEAgAEEgIAIgEUEDaiIDIARB//97cRAUIAAgEyAREBEgAEG3CUH2CiAFQSBxIgUbQaAKQfoKIAUbIAEgAWIbQQMQESAAQSAgAiADIARBgMAAcxAUIAMgAiACIANIGyEKDAELIAxBEGohEgJAAn8CQCABIAxBLGoQXyIBIAGgIgFEAAAAAAAAAABiBEAgDCAMKAIsIgZBAWs2AiwgBUEgciIOQeEARw0BDAMLIAVBIHIiDkHhAEYNAiAMKAIsIQlBBiADIANBAEgbDAELIAwgBkEdayIJNgIsIAFEAAAAAAAAsEGiIQFBBiADIANBAEgbCyELIAxBMGpBoAJBACAJQQBOG2oiDSEHA0AgBwJ/IAFEAAAAAAAA8EFjIAFEAAAAAAAAAABmcQRAIAGrDAELQQALIgM2AgAgB0EEaiEHIAEgA7ihRAAAAABlzc1BoiIBRAAAAAAAAAAAYg0ACwJAIAlBAEwEQCAJIQMgByEGIA0hCAwBCyANIQggCSEDA0BBHSADIANBHU8bIQMCQCAHQQRrIgYgCEkNACADrSEbQgAhGgNAIAYgGkL/////D4MgBjUCACAbhnwiHEKAlOvcA4AiGkKA7JSjDH4gHHw+AgAgBkEEayIGIAhPDQALIBqnIgZFDQAgCEEEayIIIAY2AgALA0AgCCAHIgZJBEAgBkEEayIHKAIARQ0BCwsgDCAMKAIsIANrIgM2AiwgBiEHIANBAEoNAAsLIANBAEgEQCALQRlqQQluQQFqIQ8gDkHmAEYhEANAQQlBACADayIDIANBCU8bIQoCQCAGIAhNBEAgCCgCAEVBAnQhBwwBC0GAlOvcAyAKdiEUQX8gCnRBf3MhFkEAIQMgCCEHA0AgByADIAcoAgAiFyAKdmo2AgAgFiAXcSAUbCEDIAdBBGoiByAGSQ0ACyAIKAIARUECdCEHIANFDQAgBiADNgIAIAZBBGohBgsgDCAMKAIsIApqIgM2AiwgDSAHIAhqIgggEBsiByAPQQJ0aiAGIAYgB2tBAnUgD0obIQYgA0EASA0ACwtBACEDAkAgBiAITQ0AIA0gCGtBAnVBCWwhA0EKIQcgCCgCACIKQQpJDQADQCADQQFqIQMgCiAHQQpsIgdPDQALCyALIANBACAOQeYARxtrIA5B5wBGIAtBAEdxayIHIAYgDWtBAnVBCWxBCWtIBEAgDEEwakGEYEGkYiAJQQBIG2ogB0GAyABqIgpBCW0iD0ECdGohCUEKIQcgD0F3bCAKaiIKQQdMBEADQCAHQQpsIQcgCkEBaiIKQQhHDQALCwJAIAkoAgAiECAQIAduIg8gB2wiCkYgCUEEaiIUIAZGcQ0AIBAgCmshEAJAIA9BAXFFBEBEAAAAAAAAQEMhASAHQYCU69wDRw0BIAggCU8NASAJQQRrLQAAQQFxRQ0BC0QBAAAAAABAQyEBC0QAAAAAAADgP0QAAAAAAADwP0QAAAAAAAD4PyAGIBRGG0QAAAAAAAD4PyAQIAdBAXYiFEYbIBAgFEkbIRkCQCAVDQAgEy0AAEEtRw0AIBmaIRkgAZohAQsgCSAKNgIAIAEgGaAgAWENACAJIAcgCmoiAzYCACADQYCU69wDTwRAA0AgCUEANgIAIAggCUEEayIJSwRAIAhBBGsiCEEANgIACyAJIAkoAgBBAWoiAzYCACADQf+T69wDSw0ACwsgDSAIa0ECdUEJbCEDQQohByAIKAIAIgpBCkkNAANAIANBAWohAyAKIAdBCmwiB08NAAsLIAlBBGoiByAGIAYgB0sbIQYLA0AgBiIHIAhNIgpFBEAgBkEEayIGKAIARQ0BCwsCQCAOQecARwRAIARBCHEhCQwBCyADQX9zQX8gC0EBIAsbIgYgA0ogA0F7SnEiCRsgBmohC0F/QX4gCRsgBWohBSAEQQhxIgkNAEF3IQYCQCAKDQAgB0EEaygCACIORQ0AQQohCkEAIQYgDkEKcA0AA0AgBiIJQQFqIQYgDiAKQQpsIgpwRQ0ACyAJQX9zIQYLIAcgDWtBAnVBCWwhCiAFQV9xQcYARgRAQQAhCSALIAYgCmpBCWsiBkEAIAZBAEobIgYgBiALShshCwwBC0EAIQkgCyADIApqIAZqQQlrIgZBACAGQQBKGyIGIAYgC0obIQsLQX8hCiALQf3///8HQf7///8HIAkgC3IiEBtKDQEgCyAQQQBHakEBaiEOAkAgBUFfcSIVQcYARgRAIAMgDkH/////B3NKDQMgA0EAIANBAEobIQYMAQsgEiADIANBH3UiBnMgBmutIBIQIyIGa0EBTARAA0AgBkEBayIGQTA6AAAgEiAGa0ECSA0ACwsgBkECayIPIAU6AAAgBkEBa0EtQSsgA0EASBs6AAAgEiAPayIGIA5B/////wdzSg0CCyAGIA5qIgMgEUH/////B3NKDQEgAEEgIAIgAyARaiIDIAQQFCAAIBMgERARIABBMCACIAMgBEGAgARzEBQCQAJAAkAgFUHGAEYEQCAMQRBqQQlyIQUgDSAIIAggDUsbIgkhCANAIAg1AgAgBRAjIQYCQCAIIAlHBEAgBiAMQRBqTQ0BA0AgBkEBayIGQTA6AAAgBiAMQRBqSw0ACwwBCyAFIAZHDQAgBkEBayIGQTA6AAALIAAgBiAFIAZrEBEgCEEEaiIIIA1NDQALIBAEQCAAQYIMQQEQEQsgByAITQ0BIAtBAEwNAQNAIAg1AgAgBRAjIgYgDEEQaksEQANAIAZBAWsiBkEwOgAAIAYgDEEQaksNAAsLIAAgBkEJIAsgC0EJThsQESALQQlrIQYgCEEEaiIIIAdPDQMgC0EJSiEYIAYhCyAYDQALDAILAkAgC0EASA0AIAcgCEEEaiAHIAhLGyENIAxBEGpBCXIhBSAIIQcDQCAFIAc1AgAgBRAjIgZGBEAgBkEBayIGQTA6AAALAkAgByAIRwRAIAYgDEEQak0NAQNAIAZBAWsiBkEwOgAAIAYgDEEQaksNAAsMAQsgACAGQQEQESAGQQFqIQYgCSALckUNACAAQYIMQQEQEQsgACAGIAUgBmsiBiALIAYgC0gbEBEgCyAGayELIAdBBGoiByANTw0BIAtBAE4NAAsLIABBMCALQRJqQRJBABAUIAAgDyASIA9rEBEMAgsgCyEGCyAAQTAgBkEJakEJQQAQFAsgAEEgIAIgAyAEQYDAAHMQFCADIAIgAiADSBshCgwBCyATIAVBGnRBH3VBCXFqIQgCQCADQQtLDQBBDCADayEGRAAAAAAAADBAIRkDQCAZRAAAAAAAADBAoiEZIAZBAWsiBg0ACyAILQAAQS1GBEAgGSABmiAZoaCaIQEMAQsgASAZoCAZoSEBCyASIAwoAiwiByAHQR91IgZzIAZrrSASECMiBkYEQCAGQQFrIgZBMDoAAAsgEUECciELIAVBIHEhDSAGQQJrIgkgBUEPajoAACAGQQFrQS1BKyAHQQBIGzoAACAEQQhxIQYgDEEQaiEHA0AgByIFAn8gAZlEAAAAAAAA4EFjBEAgAaoMAQtBgICAgHgLIgdB4MQBai0AACANcjoAACABIAe3oUQAAAAAAAAwQKIhAQJAIAVBAWoiByAMQRBqa0EBRw0AAkAgBg0AIANBAEoNACABRAAAAAAAAAAAYQ0BCyAFQS46AAEgBUECaiEHCyABRAAAAAAAAAAAYg0AC0F/IQpB/f///wcgCyASIAlrIgZqIg1rIANIDQAgAEEgIAIgDSADQQJqIAcgDEEQaiIHayIFIAVBAmsgA0gbIAUgAxsiCmoiAyAEEBQgACAIIAsQESAAQTAgAiADIARBgIAEcxAUIAAgByAFEBEgAEEwIAogBWtBAEEAEBQgACAJIAYQESAAQSAgAiADIARBgMAAcxAUIAMgAiACIANIGyEKCyAMQbAEaiQAIAoLBABCAAsEAEEAC58DAQl/QeYKIQACQANAIAAtAAAiAUUNASABQT1GDQEgAEEBaiIAQQNxDQALAkACQEGAgoQIIAAoAgAiAmsgAnJBgIGChHhxQYCBgoR4Rw0AA0BBgIKECCACQb369OkDcyIBayABckGAgYKEeHFBgIGChHhHDQEgACgCBCECIABBBGoiASEAIAJBgIKECCACa3JBgIGChHhxQYCBgoR4Rg0ACwwBCyAAIQELA0AgASIALQAAIgJFDQEgAEEBaiEBIAJBPUcNAAsLIAAiAUHmCkYEQEEADwsCQCABQeYKayIAQeYKai0AAA0AQbDOASgCACIERQ0AIAQoAgAiBUUNAANAAkACfyAFIQJB5gohBkEAIAAiAUUNABpB5gotAAAiAwR/AkADQCADIAItAAAiB0cNASAHRQ0BIAFBAWsiAUUNASACQQFqIQIgBi0AASEDIAZBAWohBiADDQALQQAhAwsgAwVBAAsgAi0AAGsLRQRAIAAgBWoiAS0AAEE9Rg0BCyAEKAIEIQUgBEEEaiEEIAUNAQwCCwsgAUEBaiEICyAIC84CAQh/IwBBIGsiAyQAIAMgACgCHCIENgIQIAAoAhQhBSADIAI2AhwgAyABNgIYIAMgBSAEayIBNgIUIAEgAmohBUECIQYgA0EQaiEBAn8DQAJAAkACQCAAKAI8IAEgBiADQQxqEAQiBAR/QZTGASAENgIAQX8FQQALRQRAIAUgAygCDCIHRg0BIAdBAE4NAgwDCyAFQX9HDQILIAAgACgCLCIBNgIcIAAgATYCFCAAIAEgACgCMGo2AhAgAgwDCyABIAcgASgCBCIISyIJQQN0aiIEIAcgCEEAIAkbayIIIAQoAgBqNgIAIAFBDEEEIAkbaiIBIAEoAgAgCGs2AgAgBSAHayEFIAYgCWshBiAEIQEMAQsLIABBADYCHCAAQgA3AxAgACAAKAIAQSByNgIAQQAgBkECRg0AGiACIAEoAgRrCyEKIANBIGokACAKCwYAIAAQAAsGACAAEAYLzx0DDX8EewN+IwBB0MAAayIJJAAgCUEANgIQQQIhBAJAAkAgACgCACIDQY2UnNQARg0AIANB/5/9jwVHBEACQCADQYCAgOAARw0AIAAoAgRB6qCBgQJHDQAgACgCCEGNlJzUAEYNAgtBzQgQAEEBIQAMAgtBACEECwJ/QQBBAUHgABAMIgNFDQAaIANBATYCTAJAAkACQAJAIAQOAwADAQMLIANBwwA2AlggA0HEADYCVCADQcUANgJQIANBxgA2AhAgA0HHADYCBCADQcgANgIcIANByQA2AhggA0HKADYCFCADQcsANgIAIANBzAA2AlwgA0HNADYCLCADQc4ANgIoIANBzwA2AiQgA0HQADYCICADQdEANgIMIANB0gA2AgggAxBGIgQ2AjAgBA0BDAILIANB0wA2AlggA0HUADYCVCADQdUANgJQIANB1gA2AhAgA0HXADYCBCADQdgANgJcIANB2QA2AiwgA0HaADYCKCADQdsANgIkIANB3AA2AiAgA0HdADYCHCADQd4ANgIYIANB3wA2AhQgA0HgADYCDCADQeEANgIIIANB4gA2AgAgAwJ/QQFBiAEQDCIEBEAgBBBGIgU2AgACQCAFRQ0AIAT9DAAAAAAAAAAAAAAAAAAAAAD9CwJsIARBADoAfCAEEC4iBTYCBCAFRQ0AIAQQLiIFNgIIIAVFDQAgBAwCCyAEEGkLQQALIgQ2AjAgBEUNAQsgA0EBNgJIIANBATYCQCADQQA2AjwgA0IANwI0IANBATYCRCADDAELIAMQCUEACyIEBEAgBEEANgI8IARB4wA2AkgLIAQEQCAEQQA2AjggBEHkADYCRAsgBARAIARBADYCNCAEQeUANgJACyAJQRRqIgUiAwRAIANBAEG4wAAQDiIDQQA2ArhAIANCfzcCiEALIAkgATYCDCAJIAA2AgggCSAANgIEQQEhAEEAIQMCQCAJQQRqIgpFDQBBAUHIABAMIgEEfwJ/IAFBgIDAADYCQCABQYCAwAAQDSIINgIgIAhFBEAgARAJQQAMAQsgASAINgIkIAFBAjYCHCABQQM2AhggAUEENgIUIAFBBTYCECABQQY2AiwgAUEINgIoIAEgASgCREECcjYCRCABCwVBAAsiAUUNACABBEAgAUEANgIEIAEgCjYCAAsgCjUCCCEUIAEEQCABIBQ3AwgLAkAgAUUNACABLQBEQQJxRQ0AIAFBPzYCEAsgAQRAIAFBwQA2AhgLIAEEQCABQcIANgIcCyABIQMLAn8CQCAERQ0AIAVFDQAgBCgCTEUEQCAEQTRqQQFBj8kAQQAQCEEADAILIAQoAjAgBSAEKAIYEQMAQQEhBwsgBwtFBEBBgQkQACADECcgBBAoDAELAn8gCUEQaiEFQQAhAQJAIANFDQAgBEUNACAEKAJMRQRAIARBNGpBAUHgyQBBABAIQQAMAgsgAyAEKAIwIAUgBEE0aiAEKAIAEQEAIQELIAELRQRAQZ0JEAAgAxAnIAQQKCAJKAIQEBgMAQsgCSgCECEAIAIEQEEIIAAoAhAiAUECdBAbIQUCQCABRQ0AQQAhACABQQNLBEAgAUF8cSEA/QwAAAAAAQAAAAIAAAADAAAAIRADQCAFIAZBAnRqIBD9CwIAIBD9DAQAAAAEAAAABAAAAAQAAAD9rgEhECAGQQRqIgYgAEcNAAsgACABRg0BCwNAIAUgAEECdGogADYCACAAQQFqIgAgAUcNAAsLAn9BACAERQ0AGiAEKAJMRQRAIARBNGpBAUG1yABBABAIQQAMAQsgBCgCMCABIAUgBEE0aiAEKAIsEQEAC0UEQEHcCBAAIAMQJyAEECggCSgCEBAYIAUQCUEBIQAMAgsgBRAJIAkoAhAhAAtBACEBAkAgBEUNACADRQ0AIAQoAkxFDQAgBCgCMCADIAAgBEE0aiAEKAIEEQEAIQELAkAgAQRAQQAhAAJAIARFDQAgA0UNACAEKAJMRQ0AIAQoAjAgAyAEQTRqIAQoAhARAAAhAAsgAA0BC0GkChAAIAQQKCADECcgCSgCEBAYQQEhAAwBCyADECcgBBAoQQggCSgCECIKKAIMIAooAghsIgUgCigCECIHbCINEBshAwJAIAINACAHRQ0AIAooAhghDgNAIA4gC0E0bGoiBigCGCIAQQhHBEACQCAAQQdNBEAgBigCDCAGKAIIbCEBIAYoAiwhAiAGKAIgBEAgAUUNAkEBIABBAWt0rSEUQQAhACABQQRPBEAgAUF8cSEAIBT9EiEQQQAhBANAIAIgBEECdGoiCCAI/QACACIS/ccBQQf9ywEiEf0dACAQ/R0AIhV//RIgEf0dASAQ/R0BIhZ//R4BIBIgEP0NCAkKCwwNDg8AAQIDAAECA/3HAUEH/csBIhL9HQAgFX/9EiAS/R0BIBZ//R4B/Q0AAQIDCAkKCxAREhMYGRob/QsCACAEQQRqIgQgAEcNAAsgACABRg0DCwNAIAIgAEECdGoiBCAENAIAQgeGIBR/PgIAIABBAWoiACABRw0ACwwCCyABRQ0BQX8gAHRBf3OtIRRBACEAIAFBBE8EQCABQXxxIQAgFP0SIRBBACEEA0AgAiAEQQJ0aiIIIAj9AAIAIhL9yQH9DP8AAAAAAAAA/wAAAAAAAAD91QEiEf0dACAQ/R0AIhWA/RIgEf0dASAQ/R0BIhaA/R4BIBIgEP0NCAkKCwwNDg8AAQIDAAECA/3JAf0M/wAAAAAAAAD/AAAAAAAAAP3VASIS/R0AIBWA/RIgEv0dASAWgP0eAf0NAAECAwgJCgsQERITGBkaG/0LAgAgBEEEaiIEIABHDQALIAAgAUYNAgsDQCACIABBAnRqIgQgBDUCAEL/AX4gFIA+AgAgAEEBaiIAIAFHDQALDAELIABBCGshBCAGKAIMIAYoAghsIQIgBigCLCEIIAYoAiAEQCACRQ0BQQAhACACQQRPBEAgAkF8cSEAQQAhAQNAIAggAUECdGoiDCAM/QACACAE/awB/QsCACABQQRqIgEgAEcNAAsgACACRg0CCwNAIAggAEECdGoiASABKAIAIAR1NgIAIABBAWoiACACRw0ACwwBCyACRQ0AQQAhACACQQRPBEAgAkF8cSEAQQAhAQNAIAggAUECdGoiDCAM/QACACAE/a0B/QsCACABQQRqIgEgAEcNAAsgACACRg0BCwNAIAggAEECdGoiASABKAIAIAR2NgIAIABBAWoiACACRw0ACwsgBkEINgIYCyALQQFqIgsgB0cNAAsLAkACQAJAAkAgB0EBaw4EAAMBAgMLIAVFDQIgCigCGCgCLCECQQAhBEEAIQECQCAFQQxJDQAgAiADIAVqSSACIAVBAnRqIANLcQ0AIAVBfHEhAUEAIQADQCAAIANqIAIgAEECdGr9AAIAIBD9DQAECAwAAAAAAAAAAAAAAAD9WgAAACAAQQRqIgAgAUcNAAsgASAFRg0DCyABIQAgBUEDcSIGBEADQCAAIANqIAIgAEECdGooAgA6AAAgAEEBaiEAIARBAWoiBCAGRw0ACwsgASAFa0F8Sw0CA0AgACADaiACIABBAnRqKAIAOgAAIAMgAEEBaiIBaiACIAFBAnRqKAIAOgAAIAMgAEECaiIBaiACIAFBAnRqKAIAOgAAIAMgAEEDaiIBaiACIAFBAnRqKAIAOgAAIABBBGoiACAFRw0ACwwCCyAFRQ0BIAooAhgiACgClAEhASAAKAJgIQIgACgCLCEEQQAhACAFQQFHBEAgBUEBcSEPIAVBfnEhBwNAIAMgAEEDbGoiBSAEIABBAnQiBmooAgA6AAAgBSACIAZqKAIAOgABIAUgASAGaigCADoAAiADIABBAXIiBkEDbGoiBSAEIAZBAnQiBmooAgA6AAAgBSACIAZqKAIAOgABIAUgASAGaigCADoAAiAAQQJqIgAgB0cNAAsgD0UNAgsgAyAAQQNsaiIFIAQgAEECdCIAaigCADoAACAFIAAgAmooAgA6AAEgBSAAIAFqKAIAOgACDAELIAVFDQAgCigCGCIEKALIASEAIAQoApQBIQEgBCgCYCECIAQoAiwhCEEAIQQCQCAFQdQASQ0AIAMgBUEBayIHQQJ0IgZqIANJDQAgA0EBaiILIAZqIAtJDQAgA0ECaiILIAZqIAtJDQAgBiADQQNqIgtqIAtJDQAgB0H/////A0sNACADIAggBUECdCIGakkgCCADIAZqIgdJcQ0AIAIgB0kgAyACIAZqSXENACABIAdJIAMgASAGaklxDQAgACAHSSADIAAgBmpJcQ0AIAVB/P///wdxIQT9DAAAAAABAAAAAgAAAAMAAAAhEkEAIQYDQCADIBJBAv2rASIQ/RsAaiAIIAZBAnQiB2r9AAIAIhH9GwA6AAAgAyAQ/RsBaiAR/RsBOgAAIAMgEP0bAmogEf0bAjoAACADIBD9GwNqIBH9GwM6AAAgAyAQ/QwBAAAAAQAAAAEAAAABAAAA/VAiEf0bAGogAiAHav0AAgAiE/0bADoAACADIBH9GwFqIBP9GwE6AAAgAyAR/RsCaiAT/RsCOgAAIAMgEf0bA2ogE/0bAzoAACADIBD9DAIAAAACAAAAAgAAAAIAAAD9UCIR/RsAaiABIAdq/QACACIT/RsAOgAAIAMgEf0bAWogE/0bAToAACADIBH9GwJqIBP9GwI6AAAgAyAR/RsDaiAT/RsDOgAAIAMgEP0MAwAAAAMAAAADAAAAAwAAAP1QIhD9GwBqIAAgB2r9AAIAIhH9GwA6AAAgAyAQ/RsBaiAR/RsBOgAAIAMgEP0bAmogEf0bAjoAACADIBD9GwNqIBH9GwM6AAAgEv0MBAAAAAQAAAAEAAAABAAAAP2uASESIAZBBGoiBiAERw0ACyAEIAVGDQELA0AgAyAEQQJ0IgZqIgcgBiAIaigCADoAACAHIAIgBmooAgA6AAEgByABIAZqKAIAOgACIAcgACAGaigCADoAAyAEQQFqIgQgBUcNAAsLIAoQGCADIA0QByADEAlBACEACyAJQdDAAGokACAACwgAQQggABAbC6sCAgJ+An9CfyEDIAAtAERBCHFFBEAgACAAKAIgIgY2AiQCQAJAAkAgACAAKAIwIgUEfwNAIAYgBSAAKAIAIAAoAhQRAAAiBUF/Rg0CIAAgACgCJCAFaiIGNgIkIAAgACgCMCAFayIFNgIwIAUNAAsgACgCIAUgBgs2AiQgAUIAVQ0BQgAhAwwCCyAAIAAoAkRBCHI2AkQgAkEEQZH1AEEAEAggAEEANgIwIAAgACgCREEIcjYCREJ/DwtCACEDA0AgASAAKAIAIAAoAhgRCwAiBEJ/UQRAIAJBBEGC9QBBABAIIAAgACgCREEIcjYCRCAAIAApAzggA3w3AzhCfyADIANQGw8LIAMgBHwhAyABIAR9IgFCAFUNAAsLIAAgACkDOCADfDcDOAsgAwsjAQF/IAEgASgCACABKAIIIgEgAKciAiABIAJJG2o2AgRBAQs8AgJ/AX4gASgCACABKAIIaiIDIAEoAgQiAkYEQEJ/DwsgASACIACnajYCBCADIAJrrCIEIAAgACAEVRsLmAMCAn4CfyAAKAIwIgUgAaciBk8EQCAAIAUgBms2AjAgACAAKAIkIAZqNgIkIAAgACkDOCABfDcDOCABDwsgAC0AREEEcQRAIABBADYCMCAAIAAoAiQgBWo2AiQgACAFrSIBIAApAzh8NwM4IAFCfyAFGw8LAkAgBUUEQAwBCyAAQQA2AjAgACAAKAIgNgIkIAEgBa0iA30hAQsgAUIAVQRAA0AgACkDCCAAKQM4IAEgA3x8VARAIAJBBEGr9QBBABAIIABBADYCMCAAIAAoAiA2AiQgACAAKQM4IAN8IgM3AzggACkDCCIBIAN9IQQgASAAKAIAIAAoAhwRCQAhBSAAKAJEIQIgACAFBH8gACABNwM4IAJBe3EFIAILQQRyNgJEQn8gBCABIANRGw8LIAEgACgCACAAKAIYEQsAIgRCf1EEQCACQQRBq/UAQQAQCCAAIAAoAkRBBHI2AkQgACAAKQM4IAN8NwM4Qn8gAyADUBsPCyADIAR8IQMgASAEfSIBQgBVDQALCyAAIAApAzggA3w3AzggAwubAQEFf0EBIAIoAggiByAHQQFNGyEEIAIoAgQiAyACKAIAayEGA0AgBCIFQQF0IQQgBSAGayABSQ0ACyAFIAdHBEAgBRANIgNFBEBBfw8LIAIoAgAiBARAIAMgBCAGEAsaIAIoAgAQCQsgAiAFNgIIIAIgAzYCACACIAMgBmoiAzYCBAsgAyAAIAEQCxogAiACKAIEIAFqNgIEIAELRgECfyACKAIAIAIoAghqIgQgAigCBCIDRgRAQX8PCyAAIAMgBCADayIAIAEgACABSRsiABALGiACIAIoAgQgAGo2AgQgAAuqAgEEfyMAQRBrIgQkAAJAIAAoAnQNACACQQFNBEAgA0EBQfzBAEEAEAgMAQsgASAEQQxqQQIQCiAEKAIMIgZB//8DcSIHRQRAIANBAUGdwgBBABAIDAELIAIgB0EGbEECakkEQCADQQFB/MEAQQAQCAwBCyAGQQZsEA0iA0UNACAAQQgQDSICNgJ0IAJFBEAgAxAJDAELIAIgAzYCACACIAQvAQwiAjsBBCACRQRAQQEhBQwBC0EAIQIDQCABQQJqIARBDGoiBUECEAogAyACQQZsaiIGIAQoAgw7AQAgAUEEaiAFQQIQCiAGIAQoAgw7AQIgAUEGaiIBIAVBAhAKIAYgBCgCDDsBBEEBIQUgAkEBaiICIAAoAnQvAQRJDQALCyAEQRBqJAAgBQvwAQEFfyMAQRBrIgQkAAJ/IAAoAngiBUUEQCADQQFBzsEAQQAQCEEADAELIAUoAgwEQCADQQFBttUAQQAQCEEADAELIAIgBS0AEiIFQQJ0IgZJBEAgA0EBQa3BAEEAEAhBAAwBC0EAIAYQDSICRQ0AGiAFBEBBACEDA0AgASAEQQxqIgdBAhAKIAIgA0ECdGoiBiAEKAIMOwEAIAFBAmogB0EBEAogBiAEKAIMOgACIAFBA2ogB0EBEAogBiAEKAIMOgADIAFBBGohASADQQFqIgMgBUcNAAsLIAAoAnggAjYCDEEBCyEIIARBEGokACAIC/ADAQl/IwBBEGsiBSQAAkAgAkEDSQ0AIAAoAngNACABIAVBDGpBAhAKIAUvAQwiCUGBCGtB/3dNBEAgBSAJNgIAIANBAUG0GiAFEAgMAQsgAUECaiAFQQxqQQEQCiAFLwEMIghFBEAgA0EBQdQXQQAQCAwBCyAIQQNqIAJLDQAgCCAJbEECdBANIgdFDQAgCBANIgpFBEAgBxAJDAELIAgQDSILRQRAIAcQCSAKEAkMAQtBFBANIgZFBEAgBxAJIAoQCSALEAkMAQsgAUEDaiEDIAYgCjYCCCAGIAs2AgQgBiAJOwEQIAYgBzYCACAFKAIMIQwgBkEANgIMIAYgDDoAEiAAIAY2AngDQCADIAVBDGpBARAKIAQgCmogBS0ADEH/AHFBAWo6AAAgBCALaiAFKAIMQYABcUEHdjoAACADQQFqIQMgBEEBaiIEIAhHDQALIAlFBEBBASEEDAELQQAhBgNAQQAhBEEAIQADQCACQQQgBCAKai0AAEEHakEDdiIEIARBBE8bIgQgAyABa2pIBEBBACEEDAMLIAMgBUEMaiAEEAogByAFKAIMNgIAIAdBBGohByADIARqIQMgAEEBaiIAQf//A3EiBCAISQ0AC0EBIQQgBkEBaiIGQf//A3EgCUkNAAsLIAVBEGokACAEC5gBAQJ/IwBBEGsiBSQAIAAoAhgiBEH/AUcEQCAFIAQ2AgAgA0ECQeQTIAUQCAsCQAJAIAIgACgCFEYEQCACDQFBASEEDAILQQAhBCADQQFBy+wAQQAQCAwBC0EAIQIDQEEBIQQgASAAKAJIIAJBDGxqQQhqQQEQCiABQQFqIQEgAkEBaiICIAAoAhRJDQALCyAFQRBqJAAgBAuOBgEGfyMAQdAAayIEJAACQCACQQJNBEAgA0EBQavsAEEAEAgMAQsgAC0AfARAIANBBEHJ0gBBABAIQQEhBgwBC0EBIQYgASAAQShqQQEQCiABQQFqIABBNGpBARAKIAFBAmogAEEsakEBEAogAUEDaiEFAkACQAJAAkACQCAAKAIoIgdBAWsOAgABAgsgAkEGTQRAIAQgAjYCECADQQFB0PEAIARBEGoQCEEAIQYMBQsCQCACQQdGDQAgACgCMEEORg0AIAQgAjYCMCADQQJB0PEAIARBMGoQCAsgBSAAQTBqQQQQCiAAKAIwQQ5HDQNBJBANIgVFBEBBACEGIANBAUGzPEEAEAgMBQsgBUEONgIAIARBADYCQCAEQQA2AjggBEEANgJIIARBADYCPCAEQQA2AkQgBEEANgJMQbDqkAIhBiAEQbDqkAI2AjQgBUGAjJWiBDYCBAJ/IAJBB0cEQCACQSNGBEAgAUEHaiAEQcwAakEEEAogAUELaiAEQcgAakEEEAogAUEPaiAEQcQAakEEEAogAUETaiAEQUBrQQQQCiABQRdqIARBPGpBBBAKIAFBG2ogBEE4akEEEAogAUEfaiAEQTRqQQQQCiAFQQA2AgQgBCgCNCEGIAQoAjghAiAEKAJAIQMgBCgCPCEHIAQoAkQhCCAEKAJMIQkgBCgCSAwCCyAEIAI2AiAgA0ECQfTxACAEQSBqEAgLQQAhAkEAIQNBACEHQQALIQEgBSAHNgIYIAUgCDYCECAFIAk2AgggBSAGNgIgIAUgAjYCHCAFIAM2AhQgBSABNgIMIABBADYCcCAAIAU2AmwMAwsgACACQQNrIgE2AnAgAEEBIAEQDCIDNgJsIANFDQEgAkEDTA0CQQAhAgNAIAUgBEHMAGpBARAKIAAoAmwgAmogBCgCTDoAACAFQQFqIQUgAkEBaiICIAFHDQALDAILIAdBA0kNAiAEIAc2AgAgA0EEQev3ACAEEAgMAgtBACEGIABBADYCcAwBC0EBIQYgAEEBOgB8CyAEQdAAaiQAIAYLtAMBA38jAEEgayIEJAACQCAAKAJIBEAgA0ECQY01QQAQCEEBIQIMAQsgAkEORwRAQQAhAiADQQFBiuwAQQAQCAwBCyABIABBEGpBBBAKIAFBBGogAEEMakEEEAogAUEIaiAAQRRqQQIQCiAAKAIMIQUCQCAEAn8gACgCECIGRQRAIAAoAhQMAQsgACgCFCICIAVFDQAaIAINAUEACzYCCCAEIAY2AgQgBCAFNgIAIANBAUHu6gAgBBAIQQAhAgwBCyACQYGAAWtB//9+TQRAQQAhAiADQQFBmOoAQQAQCAwBCyAAIAJBDBAMIgI2AkggAkUEQEEAIQIgA0EBQb3qAEEAEAgMAQtBASECIAFBCmogAEEYakEBEAogAUELaiAAQRxqQQEQCiAAKAIcIgVBB0cEQCAEIAU2AhAgA0EEQa36ACAEQRBqEAgLIAFBDGogAEEgakEBEAogAUENaiAAQSRqQQEQCiAAKAIAIgEgAS0AvAFB+wFxIAAoAhhB/wFGQQJ0cjoAvAEgACgCACIBIAAoAgw2AtgBIAEgACgCEDYC3AEgAEEBOgCFAQsgBEEgaiQAIAILugQBBn8jAEEQayIGJAACfyAALQBkQQJxRQRAIANBAUHs0wBBABAIQQAMAQsgAEEANgJoAkACQAJAIAIEQANAIAJBB00EQCADQQFBuRlBABAIDAULIAEgBkEMaiIFQQQQCiAGKAIMIQQgAUEEaiAFQQQQCkEIIQcgBigCDCEFAkACQAJAAkAgBA4CAQADCyACQRBJBEBB4RkhBAwHCyABQQhqIAZBCGpBBBAKIAYoAggEQEHLPiEEDAcLIAFBDGogBkEMakEEEAogBigCDCIEDQFBshghBAwGCyADQQFBshhBABAIDAYLQRAhBwsgBCAHSQRAIANBAUGGxABBABAIDAULIAIgBEkEQCADQQFBvsMAQQAQCEEADAYLAkACQCAAIAEgB2ogBCAHayADAn8CQAJAAkAgBUHx2L2bBkwEQCAFQePGwZMGRg0BIAVB5sqRmwZGDQMgBUHwwrWbBkcNBUHwwAEMBAsgBUHy2I2DB0YNAUHQwAEgBUHyyKHLBkYNAxogBUHy2L2bBkcNBEHYwAEMAwtB4MABDAILQejAAQwBC0H4wAELKAIEEQEADQFBAAwHCyAAIAAoAmhB/////wdyNgJoC0EBIAggBUHyyKHLBkYbIQggASAEaiEBIAIgBGsiAg0ACyAIDQELIANBAUHawgBBABAIQQAMAwsgAEEBOgCEASAAIAAoAmRBBHI2AmRBAQwCCyADQQEgBEEAEAgLIANBAUGeDkEAEAhBAAshCSAGQRBqJAAgCQviAQEBfyAAKAJkQQFHBEAgA0EBQZnUAEEAEAhBAA8LAkAgAkEHTQRADAELIAEgAEE4akEEEAogAUEEaiAAQTxqQQQQCiACQQNxBEAMAQsgACACQQhrIgJBAnYiBDYCQAJAIAJFDQAgACAEQQQQDCICNgJEIAJFBEAgA0EBQakQQQAQCEEADwsgACgCQEUNACABQQhqIQNBACECA0AgAyAAKAJEIAJBAnRqQQQQCiADQQRqIQMgAkEBaiICIAAoAkBJDQALCyAAIAAoAmRBAnI2AmRBAQ8LIANBAUGqLUEAEAhBAAvEAQECfyAAIAAoAiAiBDYCJAJAIAAoAjAiAwRAA0AgBCADIAAoAgAgACgCFBEAACIDQX9GDQIgACAAKAIkIANqIgQ2AiQgACAAKAIwIANrIgM2AjAgAw0ACyAAKAIgIQQLIABBADYCMCAAIAQ2AiQgASAAKAIAIAAoAhwRCQBFBEAgACAAKAJEQQhyNgJEQQAPCyAAIAE3AzhBAQ8LIAAgACgCREEIcjYCRCACQQRBkfUAQQAQCCAAIAAoAkRBCHI2AkRBAAuCAQECfyMAQRBrIgQkAAJ/IAAoAmQEQCADQQFBttMAQQAQCEEADAELIAJBBEcEQCADQQFBzi1BABAIQQAMAQsgASAEQQxqQQQQCiAEKAIMQYqOqugARwRAIANBAUH2JUEAEAhBAAwBCyAAIAAoAmRBAXI2AmRBAQshBSAEQRBqJAAgBQsNACAAKAIAIAEgAhA+CwkAIAAoAgAQQwsJACAAKAIAEEILDQAgACgCACABIAIQRQtBAQF/IAIEfyADQQJBtssAQQAQCCAAKAIAIAEgAiADIAQQP0UEQCADQQFBqS9BABAIQQAPCyAAIAIgAxBqBUEACwsVACAAKAIAIAEgAiADIAQgBSAGEEcLDwAgACgCACABIAIgAxBICxMAIAAoAgAgASACIAMgBCAFECQLHQAgACgCACABIAIgAyAEIAUgBiAHIAggCSAKECAL6gQBB38CQCABKAIIQTUgAxAeRQ0AIAEoAgQiBygCACEFIAcoAgghBAJAIAUEQEEBIQYgBUEBRwRAIAVBfnEhCgNAAn9BACAGRQ0AGkEAIAEgACADIAQoAgARAABFDQAaIAEgACADIAQoAgQRAABBAEcLIQYgBEEIaiEEIAlBAmoiCSAKRw0ACwsCQCAFQQFxBEAgBkUNASABIAAgAyAEKAIAEQAAQQBHIQYLIAdBADYCACAGRQ0DDAILIAdBADYCAEEADwsgB0EANgIACyABKAIIIgcoAgAhBSAHKAIIIQQCQAJAAn8CQCAFBEBBASEGIAVBAXEhCCAFQQFHDQFBAAwCCyAHQQA2AgAMAgsgBUF+cSEFQQAhCQNAAn9BACAGRQ0AGkEAIAEgACADIAQoAgARAABFDQAaIAEgACADIAQoAgQRAABBAEcLIQYgBEEIaiEEIAlBAmoiCSAFRw0ACyAGRQshBSAIBEAgBQ0CIAEgACADIAQoAgARAABBAEchBgsgB0EANgIAQQAhCCAGRQ0CCyABLQCEAUUEQCADQQFBzdYAQQAQCEEADwsgAS0AhQFFBEAgA0EBQbDWAEEAEAhBAA8LIAAgASgCACACIAMQSSEIIAJFDQEgAigCACIARQ0BQQEhBAJAAkACQAJAAkACQCABKAIwQQxrDg0DBAQEBQABBAQEBAQCBAtBAiEEDAQLQQMhBAwDC0EEIQQMAgtBBSEEDAELQX8hBAsgACAENgIUIAEoAmwiA0UNASAAIAM2AhwgAigCACABKAJwNgIgIAFBADYCbCAIDwsgB0EANgIAQQAhCAsgCAvkCQIKfwF+IwBB8ABrIgMkAEGACCEIAn8CQEEBQYAIEAwiBgRAIANB3ABqIQsgA0HsAGohCQNAAkACQAJAIAEgA0HoAGoiBEEIIAIQEkEIRw0AIAQgA0HYAGpBBBAKIAkgC0EEEApBCCEFAkACQAJAAkACQCADKAJYDgIAAQQLIAEpAwgiDVAEfkIABSANIAEpAzh9CyINQvj///8PUw0BIAJBAUHLPkEAEAgMBAsgASADQegAaiIEQQggAhASQQhHDQMgBCADQeQAakEEEAogAygCZEUNASACQQFByz5BABAIDAMLIAMgDadBCGo2AlgMAQsgCSADQdgAakEEEApBECEFCyADKAJcIgRB4+TA0wZGBEAgACgCZCIBQQRxBEAgACABQQhyNgJkDAILIAJBAUGtK0EAEAggBhAJQQAMBwsgAygCWCIHRQRAIAJBAUGyGEEAEAggBhAJQQAMBwsgBSAHSwRAIAMgBDYCBCADIAc2AgAgAkEBQYroACADEAgMBgsCQAJ/An8CQAJ/AkACQAJAAkACQCAEQfHYvZsGTARAIARB48bBkwZGDQIgBEHmypGbBkYNBCAEQfDCtZsGRw0BQfDAAQwGCyAEQZ/AwNIGTARAIARB8ti9mwZGDQVB0MABIARB8sihywZGDQYaIARB8PLRswZHDQFBuMABDAgLIARB8tiNgwdGDQIgBEGgwMDSBkYNBkHAwAEgBEHo5MDTBkYNBxoLIAAoAmQiBEEBcQ0IIAJBAUH8DkEAEAggBhAJQQAMDwtB4MABDAMLQejAAQwCC0H4wAEMAQtB2MABCyEKIAMgBEH/AXE2AkwgAyAEQRh2NgJAIAMgBEEIdkH/AXE2AkggAyAEQRB2Qf8BcTYCRCACQQJByQ4gA0FAaxAIIAcgBWsiBSAALQBkQQRxDQIaIAMgAygCXCIEQRh2NgIwIAMgBEH/AXE2AjwgAyAEQRB2Qf8BcTYCNCADIARBCHZB/wFxNgI4IAJBAkHaMyADQTBqEAggACAAKAJkQf////8HcjYCZCABIAWtIg0gAiABKAIoEQgAIA1RDQcgAkEBQZIcQQAQCCAGEAlBAAwKC0GwwAELIQogByAFawshBSABKQMIIg1QBH5CAAUgDSABKQM4fQsgBa1TBEAgAygCWCEEIAMoAlwhACADIAEpAwgiDVAEfkIABSANIAEpAzh9Cz4CKCADIAU2AiQgAyAAQf8BcTYCICADIABBGHY2AhQgAyAENgIQIAMgAEEIdkH/AXE2AhwgAyAAQRB2Qf8BcTYCGCACQQFB3fUAIANBEGoQCAwHCyAFIAhNBEAgBiEEDAQLIAUhCCAGIAUQECIEDQMgBhAJIAJBAUH/D0EAEAhBAAwHCyAEQQJxRQRAIAJBAUHCD0EAEAggBhAJQQAMBwsgACAEQf////8HcjYCZCABIAcgBWutIg0gAiABKAIoEQgAIA1RDQMgAC0AZEEIcUUNASACQQJBkhxBABAICyAGEAlBAQwFCyACQQFBkhxBABAIIAYQCUEADAQLIAEgBCAFIAIQEiAFRwRAIAJBAUHEHEEAEAggBBAJQQAMBAsgACAEIgYgBSACIAooAgQRAQANAAsgBBAJQQAMAgsgAkEBQaIlQQAQCEEADAELIAYQCUEACyEMIANB8ABqJAAgDAvmAQEGfyAAKAIIQTUgAhAeBEACQCAAKAIIIgYoAgAhAyAGKAIIIQUCQAJAAn8CQCADBEBBASEEIANBAXEhByADQQFHDQFBAAwCCyAGQQA2AgAMAgsgA0F+cSEDA0ACf0EAIARFDQAaQQAgACABIAIgBSgCABEAAEUNABogACABIAIgBSgCBBEAAEEARwshBCAFQQhqIQUgCEECaiIIIANHDQALIARFCyEDIAcEQCADDQIgACABIAIgBSgCABEAAEEARyEECyAGQQA2AgAgBEUNAgsgACgCABpBAQ8LIAZBADYCAAsLQQALCgAgACgCABpBAAsUACAAKAIAIgAEQCAAIAE2ArgBCwshACAAKAIAIAEQTCAAQQA6AHwgACABKAK4QEEBcTYCgAELMgAgAkUEQEEADwsgACgCACABIAIgAxBBRQRAIANBAUGpL0EAEAhBAA8LIAAgAiADEGoLaQICfwF8IwBBEGsiAyQAIAIEQANAIAAgA0EIahA9IAECfyADKwMIIgWZRAAAAAAAAOBBYwRAIAWqDAELQYCAgIB4CzYCACABQQRqIQEgAEEIaiEAIARBAWoiBCACRw0ACwsgA0EQaiQAC4QBAgJ/AX0jAEEQayIDJAAgAgRAA0AgAyAALQAAOgAPIAMgAC0AAToADiADIAAtAAI6AA0gAyAALQADOgAMIAECfyADKgIMIgWLQwAAAE9dBEAgBagMAQtBgICAgHgLNgIAIAFBBGohASAAQQRqIQAgBEEBaiIEIAJHDQALCyADQRBqJAALSwECfyMAQRBrIgMkACACBEADQCAAIANBDGpBBBAKIAEgAygCDDYCACABQQRqIQEgAEEEaiEAIARBAWoiBCACRw0ACwsgA0EQaiQAC0sBAn8jAEEQayIDJAAgAgRAA0AgACADQQxqQQIQCiABIAMoAgw2AgAgAUEEaiEBIABBAmohACAEQQFqIgQgAkcNAAsLIANBEGokAAtKAQJ/IwBBEGsiAyQAIAIEQANAIAAgA0EIahA9IAEgAysDCLY4AgAgAUEEaiEBIABBCGohACAEQQFqIgQgAkcNAAsLIANBEGokAAtoAQJ/IwBBEGsiAyQAIAIEQANAIAMgAC0AADoADyADIAAtAAE6AA4gAyAALQACOgANIAMgAC0AAzoADCABIAMqAgw4AgAgAUEEaiEBIABBBGohACAEQQFqIgQgAkcNAAsLIANBEGokAAtMAQJ/IwBBEGsiAyQAIAIEQANAIAAgA0EMakEEEAogASADKAIMszgCACABQQRqIQEgAEEEaiEAIARBAWoiBCACRw0ACwsgA0EQaiQAC0wBAn8jAEEQayIDJAAgAgRAA0AgACADQQxqQQIQCiABIAMoAgyzOAIAIAFBBGohASAAQQJqIQAgBEEBaiIEIAJHDQALCyADQRBqJAALqggCDX8BeyMAQRBrIggkAAJ/IAAoAghBEEYEQCAAKAKcASAAKALMAUGMLGxqDAELIAAoAgwLIQkCQCACRQRAIANBAUHwH0EAEAgMAQsgACgCSCEGQQEhBCABIAhBCGpBARAKIAgoAggiBUECTwRAIANBAkHHxwBBABAIDAELIAIgBUEBakcEQEEAIQQgA0ECQfAfQQAQCAwBCwJAIAYoAhAiA0UNACAJKALQKyEEIANBCE8EQCADQXhxIQZBACECA0AgBEEANgK8QyAEQQA2AoQ7IARBADYCzDIgBEEANgKUKiAEQQA2AtwhIARBADYCpBkgBEEANgLsECAEQQA2ArQIIARBwMMAaiEEIAJBCGoiAiAGRw0ACwsgA0EHcSIDRQ0AQQAhAgNAIARBADYCtAggBEG4CGohBCACQQFqIgIgA0cNAAsLIAkoAugrIgIEfyACEAkgCUEANgLoKyAIKAIIBSAFC0UEQEEBIQQMAQsDQCABQQFqIgEgCEEMakEBEAoCQCAJKAKALEUNACAJKAL8KyIDKAIAIAgoAgxHDQAgAygCBCIFIAAoAkgiBigCEEcNACADKAIIIgIEQEEAIQQgAigCECAFIAVsIgUgAigCAEECdEHgvQFqKAIAbEcNAyAJIAVBAnQQDSIHNgLoKyAHRQ0DIAIoAgwgByAFIAIoAgBBAnRBkMABaigCABEFAAsgAygCDCICRQ0AQQAhBCACKAIQIAYoAhAiAyACKAIAQQJ0QeC9AWooAgBsRw0CIANBAnQQDSIFRQ0CIAIoAgwgBSADIAIoAgBBAnRBoMABaigCABEFAAJAIAYoAhAiB0UNACAJKALQKyEEQQAhCwJAAkAgB0EESQ0AIARBtAhqIgwgBSAHQQJ0akkEQCAFIAQgB0G4CGxqSQ0BCyAEQdwhaiENIARBpBlqIQ4gBEHsEGohDyAFIAdBfHEiBkECdGohAiAEIAZBuAhsaiEEQQAhAwNAIAwgA0G4CGwiCmogBSADQQJ0av0AAgAiEf1aAgAAIAogD2ogEf1aAgABIAogDmogEf1aAgACIAogDWogEf1aAgADIANBBGoiAyAGRw0ACyAGIAdGDQIMAQsgBSECQQAhBgsgByAGIgNrQQdxIgoEQANAIAQgAigCADYCtAggA0EBaiEDIARBuAhqIQQgAkEEaiECIAtBAWoiCyAKRw0ACwsgBiAHa0F4Sw0AA0AgBCACKAIANgK0CCAEIAIoAgQ2AuwQIAQgAigCCDYCpBkgBCACKAIMNgLcISAEIAIoAhA2ApQqIAQgAigCFDYCzDIgBCACKAIYNgKEOyAEIAIoAhw2ArxDIARBwMMAaiEEIAJBIGohAiADQQhqIgMgB0cNAAsLIAUQCQtBASEEIBBBAWoiECAIKAIISQ0ACwsgCEEQaiQAIAQLBABCfwu/CQELfyMAQRBrIgUkAAJ/IAAoAghBEEYEQCAAKAKcASAAKALMAUGMLGxqDAELIAAoAgwLIQcCfyACQQFNBEAgA0EBQdgjQQAQCEEADAELIAEgBUEMakECEAogBSgCDARAIANBAkHwLEEAEAhBAQwBCyACQQZNBEAgA0EBQdgjQQAQCEEADAELIAFBAmogBUEIakEBEAogBygC/CsiCSEAAkACQAJAIAcoAoAsIgZFDQAgBSgCCCEIA0AgACgCACAIRg0BIABBFGohACAEQQFqIgQgBkcNAAsMAQsgBCAGRw0BCyAHKAKELCAGRgR/IAcgBkEKaiIANgKELCAJIABBFGwQECIARQRAIAcoAvwrEAkgB0EANgKELCAHQgA3AvwrIANBAUHyI0EAEAhBAAwDCyAHIAA2AvwrIAAgBygCgCwiBEEUbGpBACAHKAKELCAEa0EUbBAOGiAHKAL8KyEJIAcoAoAsBSAGC0EUbCAJaiEAQQEhCwsgACAFKAIINgIAIAFBA2ogBUEMakECEAogBSgCDARAIANBAkHwLEEAEAhBAQwBCyABQQVqIAVBBGpBAhAKIAUoAgQiBEECTwRAIANBAkGoF0EAEAhBAQwBCyACQQdrIQYgBARAIAFBB2ohAkEAIQkDQCAGQQJNBEAgA0EBQdgjQQAQCEEADAMLIAIgBUEMakEBEAogBSgCDEEBRwRAIANBAkGyKkEAEAhBAQwDCyACQQFqIAVBAhAKIAAgBSgCACIEQf//AXEiATYCBCAGQQNrIgggBEEPdkEBaiIGIAFsQQJqIgpJBEAgA0EBQdgjQQAQCEEADAMLIAJBA2ohAkEAIQQgAQRAA0AgAiAFQQxqIAYQCiAEIAUoAgxHBEAgA0ECQdovQQAQCEEBDAULIAIgBmohAiAEQQFqIgQgACgCBEkNAAsLIAIgBUECEAogBSAFKAIAIgRB//8BcSIBNgIAIAAoAgQgAUcEQCADQQJB2BhBABAIQQEMAwsgCCAKayIKIARBD3ZBAWoiBiABbEEDaiIMSQRAIANBAUHYI0EAEAhBAAwDCyACQQJqIQJBACEEIAEEQANAIAIgBUEMaiAGEAogBCAFKAIMRwRAIANBAkHaL0EAEAhBAQwFCyACIAZqIQIgBEEBaiIEIAAoAgRJDQALCyACIAVBDGpBAxAKIAUoAgwhBiAAQgA3AgggACAGQYCABHFFIAAtABBB/gFxcjoAECAFIAZB/wFxIgg2AggCQCAIRQ0AIAcoAvQrIg0EQCAHKALwKyEEQQAhAQNAIAggBCgCCEYEQCAAIAQ2AggMAwsgBEEUaiEEIAFBAWoiASANRw0ACwsgA0EBQdgjQQAQCEEADAMLIAUgBkEIdkH/AXEiBjYCCAJAIAZFDQAgBygC9CsiCARAIAcoAvArIQRBACEBA0AgBiAEKAIIRgRAIAAgBDYCDAwDCyAEQRRqIQQgAUEBaiIBIAhHDQALCyADQQFB2CNBABAIQQAMAwsgCiAMayEGIAJBA2ohAiAJQQFqIgkgBSgCBEkNAAsLIAYEQCADQQFB2CNBABAIQQAMAQtBASALRQ0AGiAHIAcoAoAsQQFqNgKALEEBCyEOIAVBEGokACAOC/UBAQV/IwBBEGsiBCQAAkAgAiAAKAJIKAIQIgZBAmpHBEAgA0EBQfAiQQAQCAwBCyABIARBDGpBAhAKIAYgBCgCDEcEQCADQQFB8CJBABAIDAELIAZFBEBBASEFDAELIAFBAmohAiAAKAJIKAIYIQBBACEBA0AgAiAEQQhqQQEQCiAAIAQoAggiBUH/AHEiB0EBaiIINgIYIAAgBUEHdkEBcTYCICAHQR9PBEAgBCAINgIEIAQgATYCACADQQFBx/MAIAQQCEEAIQUMAgsgAEE0aiEAQQEhBSACQQFqIQIgAUEBaiIBIAZHDQALCyAEQRBqJAAgBQuYBQEKfyMAQRBrIgckAAJ/IAAoAghBEEYEQCAAKAKcASAAKALMAUGMLGxqDAELIAAoAgwLIQUCfyACQQFNBEAgA0EBQfEeQQAQCEEADAELIAEgB0EMakECEAoCQCAHKAIMBEAgA0ECQYYbQQAQCAwBCyACQQZNBEAgA0EBQfEeQQAQCEEADAILIAFBAmogB0EMakECEAogBSgC8CshBCAHLQAMIQoCQAJAAkAgBSgC9CsiBkUEQCAEIQAMAQsgBCEAA0AgACgCCCAKRg0BIABBFGohACAIQQFqIgggBkcNAAsMAQsgBiAIRw0BCyAFKAL4KyAGRgRAIAUgBkEKaiIANgL4KyAEIABBFGwQECEAIAUoAvArIQQgAEUEQCAEEAkgBUEANgL4KyAFQgA3AvArIANBAUGLH0EAEAhBAAwECwJAIAAgBEYNACAFKAKALCILRQ0AIAUoAvwrIQxBACEIA0AgDCAIQRRsaiIGKAIIIgkEQCAGIAAgCSAEa2o2AggLIAYoAgwiCQRAIAYgACAJIARrajYCDAsgCEEBaiIIIAtHDQALCyAFIAA2AvArIAAgBSgC9CsiBEEUbGpBACAFKAL4KyAEa0EUbBAOGiAFKAL0KyEGIAUoAvArIQQLIAUgBkEBajYC9CsgBCAGQRRsaiEACyAAKAIMIgQEQCAEEAkgAEIANwIMCyAAIAo2AgggACAHKAIMIgRBCnZBA3E2AgAgACAEQQh2QQNxNgIEIAFBBGogB0EMakECEAogBygCDARAIANBAkG9FkEAEAgMAQsgACACQQZrIgIQDSIENgIMIARFBEAgA0EBQfEeQQAQCEEADAILIAQgAUEGaiACEAsaIAAgAjYCEAtBAQshDSAHQRBqJAAgDQsnAEEBIQEgAiAAKAJIKAIQQQJ0RwR/IANBAUHXIUEAEAhBAAVBAQsLqwMBBX8jAEEQayIGJAACfyACQQFNBEAgA0EBQf0dQQAQCEEADAELIAAtALwBQQFxBEAgA0EBQZneAEEAEAhBAAwBCyAAKAKcASAAKALMAUGMLGxqIgAgAC0AiCxBAnI6AIgsIAEgBkEMakEBEAoCQCAAKAKsKCIERQRAIAAgBigCDEEBaiIFQQgQDCIENgKsKCAERQRAIANBAUGXHkEAEAhBAAwDCyAAIAU2AqgoDAELIAYoAgwiBSAAKAKoKEkNACAEIAVBAWoiBEEDdBAQIgVFBEAgA0EBQZceQQAQCEEADAILIAAgBTYCrCggBSAAKAKoKCIHQQN0akEAIAQgB2tBA3QQDhogACAENgKoKCAAKAKsKCEECyAEIAYoAgwiBUEDdGooAgAEQCAGIAU2AgAgA0EBQb01IAYQCEEADAELIAJBAWsiAhANIQQgACgCrCgiACAGKAIMIgVBA3RqIAQ2AgAgBEUEQCADQQFBlx5BABAIQQAMAQsgACAFQQN0aiACNgIEIAAgBigCDEEDdGooAgAgAUEBaiACEAsaQQELIQggBkEQaiQAIAgL9QIBBX8jAEEQayIGJAACfyACQQFNBEAgA0EBQaQgQQAQCEEADAELIAAgAC0AvAFBAXI6ALwBIAEgBkEMakEBEAoCQCAAKAJ0IgRFBEAgACAGKAIMQQFqIgVBCBAMIgQ2AnQgBEUEQCADQQFBviBBABAIQQAMAwsgACAFNgJwDAELIAYoAgwiBSAAKAJwSQ0AIAQgBUEBaiIEQQN0EBAiBUUEQCADQQFBviBBABAIQQAMAgsgACAFNgJ0IAUgACgCcCIHQQN0akEAIAQgB2tBA3QQDhogACAENgJwIAAoAnQhBAsgBCAGKAIMIgVBA3RqKAIABEAgBiAFNgIAIANBAUHTNSAGEAhBAAwBCyACQQFrIgIQDSEEIAAoAnQiACAGKAIMIgVBA3RqIAQ2AgAgBEUEQCADQQFBviBBABAIQQAMAQsgACAFQQN0aiACNgIEIAAgBigCDEEDdGooAgAgAUEBaiACEAsaQQELIQggBkEQaiQAIAgLoAEBBH8jAEEQayIEJAACfyACRQRAIANBAUHXHkEAEAhBAAwBCyABIARBDGpBARAKQQEgAkEBayIFRQ0AGkEAIQBBACECA0AgAUEBaiIBIARBCGpBARAKIAQoAggiBkEYdEEfdSAGQf8AcSACckEHdHEhAiAAQQFqIgAgBUcNAAtBASACRQ0AGiADQQFB1x5BABAIQQALIQcgBEEQaiQAIAcLGwBBASEAIAIEf0EBBSADQQFB/iBBABAIQQALC4ABAQF/IwBBEGsiACQAQQEhBAJAIAJBAU0EQEEAIQQgA0EBQeQgQQAQCAwBCyABIABBDGpBARAKIAFBAWogAEEIakEBEAogAkECayAAKAIIIgFBBXZBAnEgAUEEdkEDcWpBAmpwRQ0AQQAhBCADQQFB5CBBABAICyAAQRBqJAAgBAsEAEEACwv5uwEcAEGACAuhdWNhbm5vdCBhbGxvY2F0ZSBvcGpfdGNkX3NlZ19kYXRhX2NodW5rX3QqIGFycmF5AC0rICAgMFgweAAtMFgrMFggMFgtMHgrMHggMHgAVW5rbm93biBmb3JtYXQARmFpbGVkIHRvIHNldCB0aGUgZGVjb2RlZCBjb21wb25lbnRzAEZhaWxlZCB0byBzZXR1cCB0aGUgZGVjb2RlcgBGYWlsZWQgdG8gcmVhZCB0aGUgaGVhZGVyAG5hbgAqbF90aWxlX2xlbiA+IFVJTlRfTUFYIC0gT1BKX0NPTU1PTl9DQkxLX0RBVEFfRVhUUkEgLSBwX2oyay0+bV9zcGVjaWZpY19wYXJhbS5tX2RlY29kZXIubV9zb3RfbGVuZ3RoAGluZgBGYWlsZWQgdG8gZGVjb2RlIHRoZSBpbWFnZQBJbnZhbGlkIGFjY2VzcyB0byBwaS0+aW5jbHVkZQBBTExfQ1BVUwBPUEpfTlVNX1RIUkVBRFMATkFOAElORgBwX2oyay0+bV9zcGVjaWZpY19wYXJhbS5tX2RlY29kZXIubV9zb3RfbGVuZ3RoID4gVUlOVF9NQVggLSBPUEpfQ09NTU9OX0NCTEtfREFUQV9FWFRSQQAJCQkgcHJlY2NpbnRzaXplICh3LGgpPQAJCQkgc3RlcHNpemVzIChtLGUpPQAuAChudWxsKQAoJWQsJWQpIAAlc30KAAkJIH0KAFtERVZdIER1bXAgYW4gaW1hZ2VfY29tcF9oZWFkZXIgc3RydWN0IHsKAFtERVZdIER1bXAgYW4gaW1hZ2VfaGVhZGVyIHN0cnVjdCB7CgBJbWFnZSBpbmZvIHsKAAkgZGVmYXVsdCB0aWxlIHsKACVzCSBjb21wb25lbnQgJWQgewoACQkgY29tcCAlZCB7CgAJIFRpbGUgaW5kZXg6IHsKAAkgTWFya2VyIGxpc3Q6IHsKAENvZGVzdHJlYW0gaW5kZXggZnJvbSBtYWluIGhlYWRlcjogewoAQ29kZXN0cmVhbSBpbmZvIGZyb20gbWFpbiBoZWFkZXI6IHsKAFN0cmVhbSBlcnJvciB3aGlsZSByZWFkaW5nIEpQMiBIZWFkZXIgYm94CgBGb3VuZCBhIG1pc3BsYWNlZCAnJWMlYyVjJWMnIGJveCBvdXRzaWRlIGpwMmggYm94CgBNYWxmb3JtZWQgSlAyIGZpbGUgZm9ybWF0OiBmaXJzdCBib3ggbXVzdCBiZSBKUEVHIDIwMDAgc2lnbmF0dXJlIGJveAoATWFsZm9ybWVkIEpQMiBmaWxlIGZvcm1hdDogc2Vjb25kIGJveCBtdXN0IGJlIGZpbGUgdHlwZSBib3gKAE5vdCBlbm91Z2ggbWVtb3J5IHRvIGhhbmRsZSBqcGVnMjAwMCBib3gKAE5vdCBlbm91Z2ggbWVtb3J5IHdpdGggRlRZUCBCb3gKAEEgbWFya2VyIElEIHdhcyBleHBlY3RlZCAoMHhmZi0tKSBpbnN0ZWFkIG9mICUuOHgKAAkJIG1jdD0leAoACQkJIGNibGtzdHk9JSN4CgAJCQkgY3N0eT0lI3gKAAkJIHByZz0lI3gKAEludGVnZXIgb3ZlcmZsb3cKAAkgdGR4PSV1LCB0ZHk9JXUKAAkgdHc9JXUsIHRoPSV1CgAJIHR4MD0ldSwgdHkwPSV1CgBJbnZhbGlkIGNvbXBvbmVudCBpbmRleDogJXUKAFN0cmVhbSB0b28gc2hvcnQKAE1hcmtlciBoYW5kbGVyIGZ1bmN0aW9uIGZhaWxlZCB0byByZWFkIHRoZSBtYXJrZXIgc2VnbWVudAoATm90IGVub3VnaCBtZW1vcnkgZm9yIGN1cnJlbnQgcHJlY2luY3QgY29kZWJsb2NrIGVsZW1lbnQKAEVycm9yIHJlYWRpbmcgU1BDb2QgU1BDb2MgZWxlbWVudAoARXJyb3IgcmVhZGluZyBTUWNkIG9yIFNRY2MgZWxlbWVudAoAQSBCUENDIGhlYWRlciBib3ggaXMgYXZhaWxhYmxlIGFsdGhvdWdoIEJQQyBnaXZlbiBieSB0aGUgSUhEUiBib3ggKCVkKSBpbmRpY2F0ZSBjb21wb25lbnRzIGJpdCBkZXB0aCBpcyBjb25zdGFudAoARXJyb3Igd2l0aCBTSVogbWFya2VyOiBpbGxlZ2FsIHRpbGUgb2Zmc2V0CgBJbnZhbGlkIHByZWNpbmN0CgBOb3QgZW5vdWdoIG1lbW9yeSB0byBoYW5kbGUgYmFuZCBwcmVjaW50cwoARmFpbGVkIHRvIGRlY29kZSBhbGwgdXNlZCBjb21wb25lbnRzCgBTaXplIG9mIGNvZGUgYmxvY2sgZGF0YSBleGNlZWRzIHN5c3RlbSBsaW1pdHMKAFNpemUgb2YgdGlsZSBkYXRhIGV4Y2VlZHMgc3lzdGVtIGxpbWl0cwoAQ2Fubm90IHRha2UgaW4gY2hhcmdlIG11bHRpcGxlIE1DVCBtYXJrZXJzCgBDb3JydXB0ZWQgUFBNIG1hcmtlcnMKAE5vdCBlbm91Z2ggbWVtb3J5IGZvciB0aWxlIHJlc29sdXRpb25zCgBDYW5ub3QgdGFrZSBpbiBjaGFyZ2UgbXVsdGlwbGUgY29sbGVjdGlvbnMKAEludmFsaWQgUENMUiBib3guIFJlcG9ydHMgMCBwYWxldHRlIGNvbHVtbnMKAFdlIGRvIG5vdCBzdXBwb3J0IFJPSSBpbiBkZWNvZGluZyBIVCBjb2RlYmxvY2tzCgBDYW5ub3QgaGFuZGxlIGJveCBvZiB1bmRlZmluZWQgc2l6ZXMKAENhbm5vdCB0YWtlIGluIGNoYXJnZSBjb2xsZWN0aW9ucyB3aXRob3V0IHNhbWUgbnVtYmVyIG9mIGluZGl4ZXMKAEludmFsaWQgdGlsZWMtPndpbl94eHggdmFsdWVzCgBDYW5ub3QgaGFuZGxlIGJveCBvZiBsZXNzIHRoYW4gOCBieXRlcwoAQ2Fubm90IGhhbmRsZSBYTCBib3ggb2YgbGVzcyB0aGFuIDE2IGJ5dGVzCgBDb21wb25lbnQgaW5kZXggJXUgdXNlZCBzZXZlcmFsIHRpbWVzCgBJbnZhbGlkIFBDTFIgYm94LiBSZXBvcnRzICVkIGVudHJpZXMKAE5vdCBlbm91Z2ggbWVtb3J5IHRvIGNyZWF0ZSBUYWctdHJlZSBub2RlcwoAQ2Fubm90IHRha2UgaW4gY2hhcmdlIG1jdCBkYXRhIHdpdGhpbiBtdWx0aXBsZSBNQ1QgcmVjb3JkcwoAQ2Fubm90IGRlY29kZSB0aWxlLCBtZW1vcnkgZXJyb3IKAG9wal9qMmtfYXBwbHlfbmJfdGlsZV9wYXJ0c19jb3JyZWN0aW9uIGVycm9yCgBQcm9ibGVtIHdpdGggc2tpcHBpbmcgSlBFRzIwMDAgYm94LCBzdHJlYW0gZXJyb3IKAFByb2JsZW0gd2l0aCByZWFkaW5nIEpQRUcyMDAwIGJveCwgc3RyZWFtIGVycm9yCgBVbmtub3duIG1hcmtlcgoATm90IGVub3VnaCBtZW1vcnkgdG8gYWRkIHRsIG1hcmtlcgoATm90IGVub3VnaCBtZW1vcnkgdG8gYWRkIG1oIG1hcmtlcgoATm90IGVub3VnaCBtZW1vcnkgdG8gdGFrZSBpbiBjaGFyZ2UgU0laIG1hcmtlcgoARXJyb3IgcmVhZGluZyBQUFQgbWFya2VyCgBOb3QgZW5vdWdoIG1lbW9yeSB0byByZWFkIFBQVCBtYXJrZXIKAEVycm9yIHJlYWRpbmcgU09UIG1hcmtlcgoARXJyb3IgcmVhZGluZyBQTFQgbWFya2VyCgBFcnJvciByZWFkaW5nIE1DVCBtYXJrZXIKAE5vdCBlbm91Z2ggbWVtb3J5IHRvIHJlYWQgTUNUIG1hcmtlcgoATm90IGVub3VnaCBzcGFjZSBmb3IgZXhwZWN0ZWQgU09QIG1hcmtlcgoARXhwZWN0ZWQgU09QIG1hcmtlcgoARXJyb3IgcmVhZGluZyBNQ08gbWFya2VyCgBFcnJvciByZWFkaW5nIFJHTiBtYXJrZXIKAEVycm9yIHJlYWRpbmcgUFBNIG1hcmtlcgoATm90IGVub3VnaCBtZW1vcnkgdG8gcmVhZCBQUE0gbWFya2VyCgBFcnJvciByZWFkaW5nIFRMTSBtYXJrZXIKAEVycm9yIHJlYWRpbmcgUExNIG1hcmtlcgoATm90IGVub3VnaCBzcGFjZSBmb3IgZXhwZWN0ZWQgRVBIIG1hcmtlcgoARXhwZWN0ZWQgRVBIIG1hcmtlcgoARXJyb3IgcmVhZGluZyBDUkcgbWFya2VyCgBVbmtub3duIHByb2dyZXNzaW9uIG9yZGVyIGluIENPRCBtYXJrZXIKAFVua25vd24gU2NvZCB2YWx1ZSBpbiBDT0QgbWFya2VyCgBFcnJvciByZWFkaW5nIENPRCBtYXJrZXIKAEVycm9yIHJlYWRpbmcgUUNEIG1hcmtlcgoAQ3Jyb3IgcmVhZGluZyBDQkQgbWFya2VyCgBFcnJvciByZWFkaW5nIFBPQyBtYXJrZXIKAEVycm9yIHJlYWRpbmcgQ09DIG1hcmtlcgoARXJyb3IgcmVhZGluZyBRQ0MgbWFya2VyCgBFcnJvciByZWFkaW5nIE1DQyBtYXJrZXIKAE5vdCBlbm91Z2ggbWVtb3J5IHRvIHJlYWQgTUNDIG1hcmtlcgoAcmVxdWlyZWQgU0laIG1hcmtlciBub3QgZm91bmQgaW4gbWFpbiBoZWFkZXIKAHJlcXVpcmVkIENPRCBtYXJrZXIgbm90IGZvdW5kIGluIG1haW4gaGVhZGVyCgByZXF1aXJlZCBRQ0QgbWFya2VyIG5vdCBmb3VuZCBpbiBtYWluIGhlYWRlcgoATm90IGVub3VnaCBtZW1vcnkgdG8gaGFuZGxlIGpwZWcyMDAwIGZpbGUgaGVhZGVyCgBOb3QgZW5vdWdoIG1lbW9yeSB0byByZWFkIGhlYWRlcgoARXJyb3Igd2l0aCBKUCBTaWduYXR1cmUgOiBiYWQgbWFnaWMgbnVtYmVyCgBJbiBTT1QgbWFya2VyLCBUUFNvdCAoJWQpIGlzIG5vdCB2YWxpZCByZWdhcmRzIHRvIHRoZSBjdXJyZW50IG51bWJlciBvZiB0aWxlLXBhcnQgKCVkKSwgZ2l2aW5nIHVwCgBJbiBTT1QgbWFya2VyLCBUUFNvdCAoJWQpIGlzIG5vdCB2YWxpZCByZWdhcmRzIHRvIHRoZSBwcmV2aW91cyBudW1iZXIgb2YgdGlsZS1wYXJ0ICglZCksIGdpdmluZyB1cAoASW4gU09UIG1hcmtlciwgVFBTb3QgKCVkKSBpcyBub3QgdmFsaWQgcmVnYXJkcyB0byB0aGUgY3VycmVudCBudW1iZXIgb2YgdGlsZS1wYXJ0IChoZWFkZXIpICglZCksIGdpdmluZyB1cAoAdGlsZXMgcmVxdWlyZSBhdCBsZWFzdCBvbmUgcmVzb2x1dGlvbgoATWFya2VyIGlzIG5vdCBjb21wbGlhbnQgd2l0aCBpdHMgcG9zaXRpb24KAFByb2JsZW0gd2l0aCBzZWVrIGZ1bmN0aW9uCgBFcnJvciByZWFkaW5nIFNQQ29kIFNQQ29jIGVsZW1lbnQsIEludmFsaWQgY2Jsa3cvY2Jsa2ggY29tYmluYXRpb24KAEludmFsaWQgbXVsdGlwbGUgY29tcG9uZW50IHRyYW5zZm9ybWF0aW9uCgBDYW5ub3QgdGFrZSBpbiBjaGFyZ2UgY29sbGVjdGlvbnMgb3RoZXIgdGhhbiBhcnJheSBkZWNvcnJlbGF0aW9uCgBUb28gbGFyZ2UgdmFsdWUgZm9yIE5wcG0KAE5vdCBlbm91Z2ggYnl0ZXMgdG8gcmVhZCBOcHBtCgBiYWQgcGxhY2VkIGpwZWcgY29kZXN0cmVhbQoACSBNYWluIGhlYWRlciBzdGFydCBwb3NpdGlvbj0lbGxpCgkgTWFpbiBoZWFkZXIgZW5kIHBvc2l0aW9uPSVsbGkKAE1hcmtlciBzaXplIGluY29uc2lzdGVudCB3aXRoIHN0cmVhbSBsZW5ndGgKAFRpbGUgcGFydCBsZW5ndGggc2l6ZSBpbmNvbnNpc3RlbnQgd2l0aCBzdHJlYW0gbGVuZ3RoCgBDYW5ub3QgdGFrZSBpbiBjaGFyZ2UgbXVsdGlwbGUgZGF0YSBzcGFubmluZwoAV3JvbmcgZmxhZwoARXJyb3Igd2l0aCBGVFlQIHNpZ25hdHVyZSBCb3ggc2l6ZQoARXJyb3Igd2l0aCBKUCBzaWduYXR1cmUgQm94IHNpemUKAEludmFsaWQgcHJlY2luY3Qgc2l6ZQoASW5jb25zaXN0ZW50IG1hcmtlciBzaXplCgBJbnZhbGlkIG1hcmtlciBzaXplCgBFcnJvciB3aXRoIFNJWiBtYXJrZXIgc2l6ZQoATm90IGVub3VnaCBtZW1vcnkgdG8gYWRkIGEgbmV3IHZhbGlkYXRpb24gcHJvY2VkdXJlCgBOb3QgZW5vdWdoIG1lbW9yeSB0byBkZWNvZGUgdGlsZQoARmFpbGVkIHRvIGRlY29kZSB0aGUgY29kZXN0cmVhbSBpbiB0aGUgSlAyIGZpbGUKAENhbm5vdCB0YWtlIGluIGNoYXJnZSBjb2xsZWN0aW9ucyB3aXRoIGluZGl4IHNodWZmbGUKAENhbm5vdCBhbGxvY2F0ZSBUaWVyIDEgaGFuZGxlCgBObyBkZWNvZGVkIGFyZWEgcGFyYW1ldGVycywgc2V0IHRoZSBkZWNvZGVkIGFyZWEgdG8gdGhlIHdob2xlIGltYWdlCgBOb3QgZW5vdWdoIG1lbW9yeSB0byBjcmVhdGUgVGFnLXRyZWUKAE5vdCBlbm91Z2ggbWVtb3J5IHRvIHJlaW5pdGlhbGl6ZSB0aGUgdGFnIHRyZWUKAEVycm9yIHJlYWRpbmcgU1BDb2QgU1BDb2MgZWxlbWVudCwgSW52YWxpZCB0cmFuc2Zvcm1hdGlvbiBmb3VuZAoARXJyb3IgcmVhZGluZyBTUENvZCBTUENvYyBlbGVtZW50LiBVbnN1cHBvcnRlZCBNaXhlZCBIVCBjb2RlLWJsb2NrIHN0eWxlIGZvdW5kCgBUaWxlIFkgY29vcmRpbmF0ZXMgYXJlIG5vdCBzdXBwb3J0ZWQKAFRpbGUgWCBjb29yZGluYXRlcyBhcmUgbm90IHN1cHBvcnRlZAoASW1hZ2UgY29vcmRpbmF0ZXMgYWJvdmUgSU5UX01BWCBhcmUgbm90IHN1cHBvcnRlZAoASlBFRzIwMDAgSGVhZGVyIGJveCBub3QgcmVhZCB5ZXQsICclYyVjJWMlYycgYm94IHdpbGwgYmUgaWdub3JlZAoAb3BqX2oya19tZXJnZV9wcHQoKSBoYXMgYWxyZWFkeSBiZWVuIGNhbGxlZAoATm90IGVub3VnaCBtZW1vcnkgdG8gcmVhZCBTT1QgbWFya2VyLiBUaWxlIGluZGV4IGFsbG9jYXRpb24gZmFpbGVkCgBJZ25vcmluZyBpaGRyIGJveC4gRmlyc3QgaWhkciBib3ggYWxyZWFkeSByZWFkCgBacHB0ICV1IGFscmVhZHkgcmVhZAoAWnBwbSAldSBhbHJlYWR5IHJlYWQKAFBURVJNIGNoZWNrIGZhaWx1cmU6ICVkIHN5bnRoZXRpemVkIDB4RkYgbWFya2VycyByZWFkCgAJCQkgY2Jsa3c9Ml4lZAoACQkJIGNibGtoPTJeJWQKAAkJCSBxbnRzdHk9JWQKACVzIGR4PSVkLCBkeT0lZAoACQkJIHJvaXNoaWZ0PSVkCgAJCQkgbnVtZ2JpdHM9JWQKAAkJIG51bWxheWVycz0lZAoAJXMgbnVtY29tcHM9JWQKAG9wal9qcDJfYXBwbHlfY2RlZjogYWNuPSVkLCBudW1jb21wcz0lZAoAb3BqX2pwMl9hcHBseV9jZGVmOiBjbj0lZCwgbnVtY29tcHM9JWQKAAkJCSBudW1yZXNvbHV0aW9ucz0lZAoACQkgdHlwZT0lI3gsIHBvcz0lbGxpLCBsZW49JWQKACVzIHNnbmQ9JWQKAAkJCSBxbWZiaWQ9JWQKACVzIHByZWM9JWQKAAkJIG5iIG9mIHRpbGUtcGFydCBpbiB0aWxlIFslZF09JWQKACVzIHgxPSVkLCB5MT0lZAoAJXMgeDA9JWQsIHkwPSVkCgBGYWlsZWQgdG8gZGVjb2RlIHRpbGUgJWQvJWQKAFNldHRpbmcgZGVjb2RpbmcgYXJlYSB0byAlZCwlZCwlZCwlZAoARmFpbGVkIHRvIGRlY29kZSBjb21wb25lbnQgJWQKAEludmFsaWQgdmFsdWUgZm9yIG51bXJlc29sdXRpb25zIDogJWQsIG1heCB2YWx1ZSBpcyBzZXQgaW4gb3BlbmpwZWcuaCBhdCAlZAoASW52YWxpZCBjb21wb25lbnQgbnVtYmVyOiAlZCwgcmVnYXJkaW5nIHRoZSBudW1iZXIgb2YgY29tcG9uZW50cyAlZAoAVG9vIG1hbnkgUE9DcyAlZAoASW52YWxpZCB0aWxlIG51bWJlciAlZAoASW52YWxpZCB0aWxlIHBhcnQgaW5kZXggZm9yIHRpbGUgbnVtYmVyICVkLiBHb3QgJWQsIGV4cGVjdGVkICVkCgBFcnJvciB3aXRoIFNJWiBtYXJrZXI6IG51bWJlciBvZiBjb21wb25lbnQgaXMgaWxsZWdhbCAtPiAlZAoATm90IGVub3VnaCBtZW1vcnkgZm9yIGNpZWxhYgoAQ2Fubm90IGFsbG9jYXRlIGNibGstPmRlY29kZWRfZGF0YQoARmFpbGVkIHRvIG1lcmdlIFBQVCBkYXRhCgBGYWlsZWQgdG8gbWVyZ2UgUFBNIGRhdGEKAEludmFsaWQgbnVtYmVyIG9mIGxheWVycyBpbiBDT0QgbWFya2VyIDogJWQgbm90IGluIHJhbmdlIFsxLTY1NTM1XQoAU3RyZWFtIHRvbyBzaG9ydCwgZXhwZWN0ZWQgU09UCgBVbmFibGUgdG8gc2V0IHQxIGhhbmRsZSBhcyBUTFMKAFN0cmVhbSBkb2VzIG5vdCBlbmQgd2l0aCBFT0MKAENhbm5vdCBoYW5kbGUgYm94IHNpemVzIGhpZ2hlciB0aGFuIDJeMzIKAG9wal9waV9uZXh0X2xyY3AoKTogaW52YWxpZCBjb21wbm8wL2NvbXBubzEKAG9wal9waV9uZXh0X3JsY3AoKTogaW52YWxpZCBjb21wbm8wL2NvbXBubzEKAG9wal9waV9uZXh0X2NwcmwoKTogaW52YWxpZCBjb21wbm8wL2NvbXBubzEKAG9wal9waV9uZXh0X3BjcmwoKTogaW52YWxpZCBjb21wbm8wL2NvbXBubzEKAG9wal9waV9uZXh0X3JwY2woKTogaW52YWxpZCBjb21wbm8wL2NvbXBubzEKAG9wal90MV9kZWNvZGVfY2JsaygpOiB1bnN1cHBvcnRlZCBicG5vX3BsdXNfb25lID0gJWQgPj0gMzEKAEZhaWxlZCB0byBkZWNvZGUgdGlsZSAxLzEKAEluc3VmZmljaWVudCBkYXRhIGZvciBDTUFQIGJveC4KAE5lZWQgdG8gcmVhZCBhIFBDTFIgYm94IGJlZm9yZSB0aGUgQ01BUCBib3guCgBJbnN1ZmZpY2llbnQgZGF0YSBmb3IgQ0RFRiBib3guCgBOdW1iZXIgb2YgY2hhbm5lbCBkZXNjcmlwdGlvbiBpcyBlcXVhbCB0byB6ZXJvIGluIENERUYgYm94LgoAU3RyZWFtIGVycm9yIHdoaWxlIHJlYWRpbmcgSlAyIEhlYWRlciBib3g6IG5vICdpaGRyJyBib3guCgBOb24gY29uZm9ybWFudCBjb2Rlc3RyZWFtIFRQc290PT1UTnNvdC4KAFN0cmVhbSBlcnJvciB3aGlsZSByZWFkaW5nIEpQMiBIZWFkZXIgYm94OiBib3ggbGVuZ3RoIGlzIGluY29uc2lzdGVudC4KAEJveCBsZW5ndGggaXMgaW5jb25zaXN0ZW50LgoAUmVzb2x1dGlvbiBmYWN0b3IgaXMgZ3JlYXRlciB0aGFuIHRoZSBtYXhpbXVtIHJlc29sdXRpb24gaW4gdGhlIGNvbXBvbmVudC4KAENvbXBvbmVudCBtYXBwaW5nIHNlZW1zIHdyb25nLiBUcnlpbmcgdG8gY29ycmVjdC4KAEluY29tcGxldGUgY2hhbm5lbCBkZWZpbml0aW9ucy4KAE1hbGZvcm1lZCBIVCBjb2RlYmxvY2suIEludmFsaWQgY29kZWJsb2NrIGxlbmd0aCB2YWx1ZXMuCgBXZSBkbyBub3Qgc3VwcG9ydCBtb3JlIHRoYW4gMyBjb2RpbmcgcGFzc2VzIGluIGFuIEhUIGNvZGVibG9jazsgVGhpcyBjb2RlYmxvY2tzIGhhcyAlZCBwYXNzZXMuCgBNYWxmb3JtZWQgSFQgY29kZWJsb2NrLiBEZWNvZGluZyB0aGlzIGNvZGVibG9jayBpcyBzdG9wcGVkLiBUaGVyZSBhcmUgJWQgemVybyBiaXRwbGFuZXMgaW4gJWQgYml0cGxhbmVzLgoAQ2Fubm90IHRha2UgaW4gY2hhcmdlIG11bHRpcGxlIHRyYW5zZm9ybWF0aW9uIHN0YWdlcy4KAFVua25vd24gbWFya2VyIGhhcyBiZWVuIGRldGVjdGVkIGFuZCBnZW5lcmF0ZWQgZXJyb3IuCgBDb2RlYyBwcm92aWRlZCB0byB0aGUgb3BqX3NldF9kZWNvZGVkX2NvbXBvbmVudHMgZnVuY3Rpb24gaXMgbm90IGEgZGVjb21wcmVzc29yIGhhbmRsZXIuCgBDb2RlYyBwcm92aWRlZCB0byB0aGUgb3BqX3NldHVwX2RlY29kZXIgZnVuY3Rpb24gaXMgbm90IGEgZGVjb21wcmVzc29yIGhhbmRsZXIuCgBDb2RlYyBwcm92aWRlZCB0byB0aGUgb3BqX3JlYWRfaGVhZGVyIGZ1bmN0aW9uIGlzIG5vdCBhIGRlY29tcHJlc3NvciBoYW5kbGVyLgoAVGlsZXMgZG9uJ3QgYWxsIGhhdmUgdGhlIHNhbWUgZGltZW5zaW9uLiBTa2lwIHRoZSBNQ1Qgc3RlcC4KAE51bWJlciBvZiBjb21wb25lbnRzICglZCkgaXMgaW5jb25zaXN0ZW50IHdpdGggYSBNQ1QuIFNraXAgdGhlIE1DVCBzdGVwLgoASlAyIGJveCB3aGljaCBhcmUgYWZ0ZXIgdGhlIGNvZGVzdHJlYW0gd2lsbCBub3QgYmUgcmVhZCBieSB0aGlzIGZ1bmN0aW9uLgoATWFsZm9ybWVkIEhUIGNvZGVibG9jay4gV2hlbiB0aGUgbnVtYmVyIG9mIHplcm8gcGxhbmVzIGJpdHBsYW5lcyBpcyBlcXVhbCB0byB0aGUgbnVtYmVyIG9mIGJpdHBsYW5lcywgb25seSB0aGUgY2xlYW51cCBwYXNzIG1ha2VzIHNlbnNlLCBidXQgd2UgaGF2ZSAlZCBwYXNzZXMgaW4gdGhpcyBjb2RlYmxvY2suIFRoZXJlZm9yZSwgb25seSB0aGUgY2xlYW51cCBwYXNzIHdpbGwgYmUgZGVjb2RlZC4gVGhpcyBtZXNzYWdlIHdpbGwgbm90IGJlIGRpc3BsYXllZCBhZ2Fpbi4KAEltYWdlIGhhcyBsZXNzIGNvbXBvbmVudHMgdGhhbiBjb2Rlc3RyZWFtLgoATmVlZCB0byBkZWNvZGUgdGhlIG1haW4gaGVhZGVyIGJlZm9yZSBiZWdpbiB0byBkZWNvZGUgdGhlIHJlbWFpbmluZyBjb2Rlc3RyZWFtLgoAUHNvdCB2YWx1ZSBvZiB0aGUgY3VycmVudCB0aWxlLXBhcnQgaXMgZXF1YWwgdG8gemVybywgd2UgYXNzdW1pbmcgaXQgaXMgdGhlIGxhc3QgdGlsZS1wYXJ0IG9mIHRoZSBjb2Rlc3RyZWFtLgoAQSBtYWxmb3JtZWQgY29kZWJsb2NrIHRoYXQgaGFzIG1vcmUgdGhhbiBvbmUgY29kaW5nIHBhc3MsIGJ1dCB6ZXJvIGxlbmd0aCBmb3IgMm5kIGFuZCBwb3RlbnRpYWxseSB0aGUgM3JkIHBhc3MgaW4gYW4gSFQgY29kZWJsb2NrLgoACQkJIHRpbGUtcGFydFslZF06IHN0YXJfcG9zPSVsbGksIGVuZF9oZWFkZXI9JWxsaSwgZW5kX3Bvcz0lbGxpLgoAVGlsZSAldSBoYXMgVFBzb3QgPT0gMCBhbmQgVE5zb3QgPT0gMCwgYnV0IG5vIG90aGVyIHRpbGUtcGFydHMgd2VyZSBmb3VuZC4gRU9DIGlzIGFsc28gbWlzc2luZy4KAENvbXBvbmVudCAlZCBkb2Vzbid0IGhhdmUgYSBtYXBwaW5nLgoAQSBjb25mb3JtaW5nIEpQMiByZWFkZXIgc2hhbGwgaWdub3JlIGFsbCBDb2xvdXIgU3BlY2lmaWNhdGlvbiBib3hlcyBhZnRlciB0aGUgZmlyc3QsIHNvIHdlIGlnbm9yZSB0aGlzIG9uZS4KAFRoZSBzaWduYXR1cmUgYm94IG11c3QgYmUgdGhlIGZpcnN0IGJveCBpbiB0aGUgZmlsZS4KAFRoZSAgYm94IG11c3QgYmUgdGhlIGZpcnN0IGJveCBpbiB0aGUgZmlsZS4KAFRoZSBmdHlwIGJveCBtdXN0IGJlIHRoZSBzZWNvbmQgYm94IGluIHRoZSBmaWxlLgoARmFpbGVkIHRvIGRlY29kZS4KAE1hbGZvcm1lZCBIVCBjb2RlYmxvY2suIEluY29ycmVjdCBNRUwgc2VnbWVudCBzZXF1ZW5jZS4KAENvbXBvbmVudCAlZCBpcyBtYXBwZWQgdHdpY2UuCgBPbmx5IG9uZSBDTUFQIGJveCBpcyBhbGxvd2VkLgoAYXBwbHlfY29sb3JfdHJhbnNmb3JtcyA9IE9QSl9UUlVFIGlzIG5vdCBzdXBwb3J0ZWQuCgBXZSBuZWVkIGFuIGltYWdlIHByZXZpb3VzbHkgY3JlYXRlZC4KAElIRFIgYm94X21pc3NpbmcuIFJlcXVpcmVkLgoASlAySCBib3ggbWlzc2luZy4gUmVxdWlyZWQuCgBOb3Qgc3VyZSBob3cgdGhhdCBoYXBwZW5lZC4KAE1haW4gaGVhZGVyIGhhcyBiZWVuIGNvcnJlY3RseSBkZWNvZGVkLgoAVGlsZSAlZC8lZCBoYXMgYmVlbiBkZWNvZGVkLgoASGVhZGVyIG9mIHRpbGUgJWQgLyAlZCBoYXMgYmVlbiByZWFkLgoARW1wdHkgU09UIG1hcmtlciBkZXRlY3RlZDogUHNvdD0lZC4KAERpcmVjdCB1c2UgYXQgIyVkIGhvd2V2ZXIgcGNvbD0lZC4KAEltcGxlbWVudGF0aW9uIGxpbWl0YXRpb246IGZvciBwYWxldHRlIG1hcHBpbmcsIHBjb2xbJWRdIHNob3VsZCBiZSBlcXVhbCB0byAlZCwgYnV0IGlzIGVxdWFsIHRvICVkLgoASW52YWxpZCBjb21wb25lbnQvcGFsZXR0ZSBpbmRleCBmb3IgZGlyZWN0IG1hcHBpbmcgJWQuCgBJbnZhbGlkIHZhbHVlIGZvciBjbWFwWyVkXS5tdHlwID0gJWQuCgBQc290IHZhbHVlIGlzIG5vdCBjb3JyZWN0IHJlZ2FyZHMgdG8gdGhlIEpQRUcyMDAwIG5vcm06ICVkLgoATWFsZm9ybWVkIEhUIGNvZGVibG9jay4gVkxDIGNvZGUgcHJvZHVjZXMgc2lnbmlmaWNhbnQgc2FtcGxlcyBvdXRzaWRlIHRoZSBjb2RlYmxvY2sgYXJlYS4KAFVuZXhwZWN0ZWQgT09NLgoAMzIgYml0cyBhcmUgbm90IGVub3VnaCB0byBkZWNvZGUgdGhpcyBjb2RlYmxvY2ssIHNpbmNlIHRoZSBudW1iZXIgb2YgYml0cGxhbmUsICVkLCBpcyBsYXJnZXIgdGhhbiAzMC4KAEJvdHRvbSBwb3NpdGlvbiBvZiB0aGUgZGVjb2RlZCBhcmVhIChyZWdpb25feTE9JWQpIHNob3VsZCBiZSA+IDAuCgBSaWdodCBwb3NpdGlvbiBvZiB0aGUgZGVjb2RlZCBhcmVhIChyZWdpb25feDE9JWQpIHNob3VsZCBiZSA+IDAuCgBVcCBwb3NpdGlvbiBvZiB0aGUgZGVjb2RlZCBhcmVhIChyZWdpb25feTA9JWQpIHNob3VsZCBiZSA+PSAwLgoATGVmdCBwb3NpdGlvbiBvZiB0aGUgZGVjb2RlZCBhcmVhIChyZWdpb25feDA9JWQpIHNob3VsZCBiZSA+PSAwLgoARXJyb3IgcmVhZGluZyBQUFQgbWFya2VyOiBwYWNrZXQgaGVhZGVyIGhhdmUgYmVlbiBwcmV2aW91c2x5IGZvdW5kIGluIHRoZSBtYWluIGhlYWRlciAoUFBNIG1hcmtlcikuCgBTdGFydCB0byByZWFkIGoyayBtYWluIGhlYWRlciAoJWxsZCkuCgBCb3R0b20gcG9zaXRpb24gb2YgdGhlIGRlY29kZWQgYXJlYSAocmVnaW9uX3kxPSVkKSBpcyBvdXRzaWRlIHRoZSBpbWFnZSBhcmVhIChZc2l6PSVkKS4KAFVwIHBvc2l0aW9uIG9mIHRoZSBkZWNvZGVkIGFyZWEgKHJlZ2lvbl95MD0lZCkgaXMgb3V0c2lkZSB0aGUgaW1hZ2UgYXJlYSAoWXNpej0lZCkuCgBSaWdodCBwb3NpdGlvbiBvZiB0aGUgZGVjb2RlZCBhcmVhIChyZWdpb25feDE9JWQpIGlzIG91dHNpZGUgdGhlIGltYWdlIGFyZWEgKFhzaXo9JWQpLgoATGVmdCBwb3NpdGlvbiBvZiB0aGUgZGVjb2RlZCBhcmVhIChyZWdpb25feDA9JWQpIGlzIG91dHNpZGUgdGhlIGltYWdlIGFyZWEgKFhzaXo9JWQpLgoAQm90dG9tIHBvc2l0aW9uIG9mIHRoZSBkZWNvZGVkIGFyZWEgKHJlZ2lvbl95MT0lZCkgaXMgb3V0c2lkZSB0aGUgaW1hZ2UgYXJlYSAoWU9zaXo9JWQpLgoAVXAgcG9zaXRpb24gb2YgdGhlIGRlY29kZWQgYXJlYSAocmVnaW9uX3kwPSVkKSBpcyBvdXRzaWRlIHRoZSBpbWFnZSBhcmVhIChZT3Npej0lZCkuCgBSaWdodCBwb3NpdGlvbiBvZiB0aGUgZGVjb2RlZCBhcmVhIChyZWdpb25feDE9JWQpIGlzIG91dHNpZGUgdGhlIGltYWdlIGFyZWEgKFhPc2l6PSVkKS4KAExlZnQgcG9zaXRpb24gb2YgdGhlIGRlY29kZWQgYXJlYSAocmVnaW9uX3gwPSVkKSBpcyBvdXRzaWRlIHRoZSBpbWFnZSBhcmVhIChYT3Npej0lZCkuCgBTaXplIHggb2YgdGhlIGRlY29kZWQgY29tcG9uZW50IGltYWdlIGlzIGluY29ycmVjdCAoY29tcFslZF0udz0lZCkuCgBTaXplIHkgb2YgdGhlIGRlY29kZWQgY29tcG9uZW50IGltYWdlIGlzIGluY29ycmVjdCAoY29tcFslZF0uaD0lZCkuCgBUaWxlIHJlYWQsIGRlY29kZWQgYW5kIHVwZGF0ZWQgaXMgbm90IHRoZSBkZXNpcmVkIG9uZSAoJWQgdnMgJWQpLgoASW52YWxpZCBjb21wb25lbnQgaW5kZXggJWQgKD49ICVkKS4KAG9wal9yZWFkX2hlYWRlcigpIHNob3VsZCBiZSBjYWxsZWQgYmVmb3JlIG9wal9zZXRfZGVjb2RlZF9jb21wb25lbnRzKCkuCgBNZW1vcnkgYWxsb2NhdGlvbiBmYWlsdXJlIGluIG9wal9qcDJfYXBwbHlfcGNscigpLgoAaW1hZ2UtPmNvbXBzWyVkXS5kYXRhID09IE5VTEwgaW4gb3BqX2pwMl9hcHBseV9wY2xyKCkuCgBpbnZhbGlkIGJveCBzaXplICVkICgleCkKAEZhaWwgdG8gcmVhZCB0aGUgY3VycmVudCBtYXJrZXIgc2VnbWVudCAoJSN4KQoARXJyb3Igd2l0aCBTSVogbWFya2VyOiBJSERSIHcoJXUpIGgoJXUpIHZzLiBTSVogdygldSkgaCgldSkKAEVycm9yIHJlYWRpbmcgQ09DIG1hcmtlciAoYmFkIG51bWJlciBvZiBjb21wb25lbnRzKQoASW52YWxpZCBudW1iZXIgb2YgdGlsZXMgOiAldSB4ICV1IChtYXhpbXVtIGZpeGVkIGJ5IGpwZWcyMDAwIG5vcm0gaXMgNjU1MzUgdGlsZXMpCgBJbnZhbGlkIG51bWJlciBvZiBjb21wb25lbnRzIChpaGRyKQoATm90IGVub3VnaCBtZW1vcnkgdG8gaGFuZGxlIGltYWdlIGhlYWRlciAoaWhkcikKAFdyb25nIHZhbHVlcyBmb3I6IHcoJWQpIGgoJWQpIG51bWNvbXBzKCVkKSAoaWhkcikKAEludmFsaWQgdmFsdWVzIGZvciBjb21wID0gJWQgOiBkeD0ldSBkeT0ldSAoc2hvdWxkIGJlIGJldHdlZW4gMSBhbmQgMjU1IGFjY29yZGluZyB0byB0aGUgSlBFRzIwMDAgbm9ybSkKAEJhZCBpbWFnZSBoZWFkZXIgYm94IChiYWQgc2l6ZSkKAEJhZCBDT0xSIGhlYWRlciBib3ggKGJhZCBzaXplKQoAQmFkIEJQQ0MgaGVhZGVyIGJveCAoYmFkIHNpemUpCgBFcnJvciB3aXRoIFNJWiBtYXJrZXI6IG5lZ2F0aXZlIG9yIHplcm8gaW1hZ2Ugc2l6ZSAoJWxsZCB4ICVsbGQpCgBza2lwOiBzZWdtZW50IHRvbyBsb25nICglZCkgd2l0aCBtYXggKCVkKSBmb3IgY29kZWJsb2NrICVkIChwPSVkLCBiPSVkLCByPSVkLCBjPSVkKQoAcmVhZDogc2VnbWVudCB0b28gbG9uZyAoJWQpIHdpdGggbWF4ICglZCkgZm9yIGNvZGVibG9jayAlZCAocD0lZCwgYj0lZCwgcj0lZCwgYz0lZCkKAERlc3BpdGUgSlAyIEJQQyE9MjU1LCBwcmVjaXNpb24gYW5kL29yIHNnbmQgdmFsdWVzIGZvciBjb21wWyVkXSBpcyBkaWZmZXJlbnQgdGhhbiBjb21wWzBdOgogICAgICAgIFswXSBwcmVjKCVkKSBzZ25kKCVkKSBbJWRdIHByZWMoJWQpIHNnbmQoJWQpCgBiYWQgY29tcG9uZW50IG51bWJlciBpbiBSR04gKCVkIHdoZW4gdGhlcmUgYXJlIG9ubHkgJWQpCgBFcnJvciB3aXRoIFNJWiBtYXJrZXI6IG51bWJlciBvZiBjb21wb25lbnQgaXMgbm90IGNvbXBhdGlibGUgd2l0aCB0aGUgcmVtYWluaW5nIG51bWJlciBvZiBwYXJhbWV0ZXJzICggJWQgdnMgJWQpCgBFcnJvciB3aXRoIFNJWiBtYXJrZXI6IGludmFsaWQgdGlsZSBzaXplICh0ZHg6ICVkLCB0ZHk6ICVkKQoAQmFkIENPTFIgaGVhZGVyIGJveCAoYmFkIHNpemU6ICVkKQoAQmFkIENPTFIgaGVhZGVyIGJveCAoQ0lFTGFiLCBiYWQgc2l6ZTogJWQpCgBQVEVSTSBjaGVjayBmYWlsdXJlOiAlZCByZW1haW5pbmcgYnl0ZXMgaW4gY29kZSBibG9jayAoJWQgdXNlZCAvICVkKQoATWFsZm9ybWVkIEhUIGNvZGVibG9jay4gT25lIG9mIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uIGlzIG5vdCBtZXQ6IDIgPD0gU2N1cCA8PSBtaW4oTGN1cCwgNDA3OSkKAEludmFsaWQgdmFsdWVzIGZvciBjb21wID0gJWQgOiBwcmVjPSV1IChzaG91bGQgYmUgYmV0d2VlbiAxIGFuZCAzOCBhY2NvcmRpbmcgdG8gdGhlIEpQRUcyMDAwIG5vcm0uIE9wZW5KcGVnIG9ubHkgc3VwcG9ydHMgdXAgdG8gMzEpCgBJbnZhbGlkIGJpdCBudW1iZXIgJWQgaW4gb3BqX3QyX3JlYWRfcGFja2V0X2hlYWRlcigpCgBTdHJlYW0gZXJyb3IhCgBFcnJvciBvbiB3cml0aW5nIHN0cmVhbSEKAFN0cmVhbSByZWFjaGVkIGl0cyBlbmQgIQoARXhwZWN0ZWQgYSBTT0MgbWFya2VyIAoASW52YWxpZCBib3ggc2l6ZSAlZCBmb3IgYm94ICclYyVjJWMlYycuIE5lZWQgJWQgYnl0ZXMsICVkIGJ5dGVzIHJlbWFpbmluZyAKAE1hbGZvcm1lZCBIVCBjb2RlYmxvY2suIERlY29kaW5nIHRoaXMgY29kZWJsb2NrIGlzIHN0b3BwZWQuIFVfcSBpcyBsYXJnZXIgdGhhbiB6ZXJvIGJpdHBsYW5lcyArIDEgCgBNYWxmb3JtZWQgSFQgY29kZWJsb2NrLiBEZWNvZGluZyB0aGlzIGNvZGVibG9jayBpcyBzdG9wcGVkLiBVX3EgaXNsYXJnZXIgdGhhbiBiaXRwbGFuZXMgKyAxIAoAQ09MUiBCT1ggbWV0aCB2YWx1ZSBpcyBub3QgYSByZWd1bGFyIHZhbHVlICglZCksIHNvIHdlIHdpbGwgaWdub3JlIHRoZSBlbnRpcmUgQ29sb3VyIFNwZWNpZmljYXRpb24gYm94LiAKAFdoaWxlIHJlYWRpbmcgQ0NQX1FOVFNUWSBlbGVtZW50IGluc2lkZSBRQ0Qgb3IgUUNDIG1hcmtlciBzZWdtZW50LCBudW1iZXIgb2Ygc3ViYmFuZHMgKCVkKSBpcyBncmVhdGVyIHRvIE9QSl9KMktfTUFYQkFORFMgKCVkKS4gU28gd2UgbGltaXQgdGhlIG51bWJlciBvZiBlbGVtZW50cyBzdG9yZWQgdG8gT1BKX0oyS19NQVhCQU5EUyAoJWQpIGFuZCBza2lwIHRoZSByZXN0LiAKAEpQMiBJSERSIGJveDogY29tcHJlc3Npb24gdHlwZSBpbmRpY2F0ZSB0aGF0IHRoZSBmaWxlIGlzIG5vdCBhIGNvbmZvcm1pbmcgSlAyIGZpbGUgKCVkKSAKAFRpbGUgaW5kZXggcHJvdmlkZWQgYnkgdGhlIHVzZXIgaXMgaW5jb3JyZWN0ICVkIChtYXggPSAlZCkgCgBFcnJvciBkZWNvZGluZyBjb21wb25lbnQgJWQuClRoZSBudW1iZXIgb2YgcmVzb2x1dGlvbnMgdG8gcmVtb3ZlICglZCkgaXMgZ3JlYXRlciBvciBlcXVhbCB0aGFuIHRoZSBudW1iZXIgb2YgcmVzb2x1dGlvbnMgb2YgdGhpcyBjb21wb25lbnQgKCVkKQpNb2RpZnkgdGhlIGNwX3JlZHVjZSBwYXJhbWV0ZXIuCgoASW1hZ2UgZGF0YSBoYXMgYmVlbiB1cGRhdGVkIHdpdGggdGlsZSAlZC4KCgBBsP0AC4AgIwClAEMAZgCDAO6oFADf2CMAvhBDAP/1gwB+IFUAX1EjADUAQwBORIMAzsQUAM/MIwD+4kMA/5mDAJYAxQA/MSMApQBDAF5EgwDOyBQA3xEjAP70QwD//IMAngBVAHcAIwA1AEMA//GDAK6IFAC3ACMA/vhDAO/kgwCOiMUAHxEjAKUAQwBmAIMA7qgUAN9UIwC+EEMA7yKDAH4gVQB/IiMANQBDAE5EgwDOxBQAvxEjAP7iQwD3AIMAlgDFAD8iIwClAEMAXkSDAM7IFADXACMA/vRDAP+6gwCeAFUAbwAjADUAQwD/5oMArogUAK+iIwD++EMA5wCDAI6IxQAvIgIAxQCEAH4gAgDOxCQA9wACAP6iRABWAAIAngAUANcAAgC+EIQAZgACAK6IJADfEQIA7qhEADYAAgCOiBQAHxECAMUAhABuAAIAzogkAP+IAgD+uEQATkQCAJYAFAC3AAIA/uSEAF5EAgCmACQA5wACAN5URAAuIgIAPgAUAHcAAgDFAIQAfiACAM7EJAD/8QIA/qJEAFYAAgCeABQAvxECAL4QhABmAAIArogkAO8iAgDuqEQANgACAI6IFAB/IgIAxQCEAG4AAgDOiCQA7+QCAP64RABORAIAlgAUAK+iAgD+5IQAXkQCAKYAJADf2AIA3lREAC4iAgA+ABQAX1ECAFUAhABmAAIA3ogkAP8yAgD+EUQATkQCAK4AFAC3AAIAfjGEAF5RAgDGACQA1wACAO4gRAAeEQIAngAUAHcAAgBVAIQAXlQCAM5EJADnAAIA/vFEADYAAgCmABQAX1UCAP50hAA+EQIAviAkAH90AgDexEQA//gCAJYAFAAvIgIAVQCEAGYAAgDeiCQA9wACAP4RRABORAIArgAUAI+IAgB+MYQAXlECAMYAJADPyAIA7iBEAB4RAgCeABQAbwACAFUAhABeVAIAzkQkAN/RAgD+8UQANgACAKYAFAB/IgIA/nSEAD4RAgC+ICQAvyICAN7ERADvIgIAlgAUAD8yAwDe1P30//wUAD4RVQCPiAMAvjKFAOcAJQBeUf6qf3IDAM5E/fjvRBQAfmRFAK+iAwCmAF1V35n98TYA/vVvYgMA3tH99P/mFAB+cVUAv7EDAK6IhQDf1SUATkT+8n9mAwDGAP347+IUAF5URQCfEQMAlgBdVc/I/fEeEe7IZwADAN7U/fT/8xQAPhFVAL8RAwC+MoUA39glAF5R/qovIgMAzkT9+PcAFAB+ZEUAn5gDAKYAXVXXAP3xNgD+9W9EAwDe0f30/7kUAH5xVQC3AAMAroiFAN/cJQBORP7ydwADAMYA/fjv5BQAXlRFAH9zAwCWAF1Vv7j98R4R7sg/MgIApQCEAH5AAgDeECQA3xECAP5yRABWAAIArqgUAL+yAgCWAIQAZgACAMYAJADnAAIA7shEAC4iAgCOiBQAdwACAKUAhABuAAIAzogkAPcAAgD+kUQANgACAK6iFACvqgIA/riEAF4AAgC+ACQAz8QCAO5ERAD/9AIAPiIUAB8RAgClAIQAfkACAN4QJAD/mQIA/nJEAFYAAgCuqBQAtwACAJYAhABmAAIAxgAkANcAAgDuyEQALiICAI6IFABPRAIApQCEAG4AAgDOiCQA7+ICAP6RRAA2AAIArqIUAH9EAgD+uIQAXgACAL4AJACfAAIA7kREAP92AgA+IhQAPzEDAMYAhQD/2f3yfmT+8b+ZAwCuoiUA72b99FYA7uJ/cwMAvphFAPcA/fhmAP52n4gDAI6IFQDf1aUALiLemE9EAwC+soUA//z98m4ilgC3AAMArqolAN/R/fQ2AN7Ub2QDAK6oRQDv6v34XkTu6H9xAwA+MhUAz8SlAP/6zog/MQMAxgCFAP93/fJ+ZP7xv7MDAK6iJQDnAP30VgDu4ncAAwC+mEUA7+T9+GYA/nZ/ZgMAjogVANcApQAuIt6YPzMDAL6yhQD/df3ybiKWAJ+RAwCuqiUA35n99DYA3tRfUQMArqhFAO/s/fheRO7of3IDAD4yFQC/saUA//POiB8RAwDeVP3yHhEUAH5k/vjPzAMAvpFFAO8iJQAuIv7zj4gDAMYAhQD3ABQAXhH+/K+oAwCmADUA38j98T4x/mZvZAMAzsj98v/1FABmAP70v7oDAK4iRQDnACUAPjL+6n9zAwC+soUA31UUAFYAfnGfEQMAlgA1AM/E/fE+M+7oT0QDAN5U/fIeERQAfmT++L+ZAwC+kUUA7+IlAC4i/vN/ZgMAxgCFAO/kFABeEf78n5gDAKYANQDXAP3xPjH+Zm8iAwDOyP3y/7kUAGYA/vS3AAMAriJFAN/RJQA+Mv7qdwADAL6yhQDv7BQAVgB+cX9yAwCWADUAv7j98T4z7uhfVPzx3tH9+tcA/PgWAP3/f3T89H5x/fO/s/zy7+ru6E9E/PGuIgUAv7j8+PcA/vx3APz0XhH99X91/PLf2O7iPzP88b6y/frPiPz4//v9/39z/PRuAP3ztwD88u9m/vk/MfzxngAFAL+6/Pj//f72ZwD89CYA/fWPiPzy39ze1C8i/PHe0f36z8T8+BYA/f9/cvz0fnH987+Z/PLv7O7oRwD88a4iBQCnAPz4//f+/FcA/PReEf31lwD88t/V7uI3APzxvrL9+scA/Pj//v3/f2b89G4A/fOvqPzy5wD++T8y/PGeAAUAv7H8+O/k/vZfVPz0JgD99YcA/PLfmd7UHxETAGUAQwDeAIMAjYgjAE5EEwClAEMAroiDADUAIwDXABMAxQBDAJ4AgwBVACMALiITAJUAQwB+AIMA/hAjAHcAEwBlAEMAzoiDAI2IIwAeERMApQBDAF4AgwA1ACMA5wATAMUAQwC+AIMAVQAjAP8REwCVAEMAPgCDAO5AIwCvohMAZQBDAN4AgwCNiCMATkQTAKUAQwCuiIMANQAjAO9EEwDFAEMAngCDAFUAIwAuIhMAlQBDAH4AgwD+ECMAtwATAGUAQwDOiIMAjYgjAB4REwClAEMAXgCDADUAIwDPxBMAxQBDAL4AgwBVACMA9wATAJUAQwA+AIMA7kAjAG8AAQCEAAEAVgABABQAAQDXAAEAJAABAJYAAQBFAAEAdwABAIQAAQDGAAEAFAABAI+IAQAkAAEA9wABADUAAQAvIgEAhAABAP5AAQAUAAEAtwABACQAAQC/AAEARQABAGcAAQCEAAEApgABABQAAQBPRAEAJAABAOcAAQA1AAEAPxEBAIQAAQBWAAEAFAABAM8AAQAkAAEAlgABAEUAAQBvAAEAhAABAMYAAQAUAAEAnwABACQAAQDvAAEANQABAD8yAQCEAAEA/kABABQAAQCvAAEAJAABAP9EAQBFAAEAXwABAIQAAQCmAAEAFAABAH8AAQAkAAEA3wABADUAAQAfEQEAJAABAFYAAQCFAAEAvwABABQAAQD3AAEAxgABAHcAAQAkAAEA//gBAEUAAQB/AAEAFAABAN8AAQCmAAEAPzEBACQAAQAuIgEAhQABALcAAQAUAAEA70QBAK6iAQBnAAEAJAABAP9RAQBFAAEAlwABABQAAQDPAAEANgABAD8iAQAkAAEAVgABAIUAAQC/sgEAFAABAO9AAQDGAAEAbwABACQAAQD/cgEARQABAJ8AAQAUAAEA1wABAKYAAQBPRAEAJAABAC4iAQCFAAEAr6gBABQAAQDnAAEArqIBAF8AAQAkAAEA/0QBAEUAAQCPiAEAFAABAK+qAQA2AAEAHxECAP74JABWAAIAtgCFAP9mAgDOABQAHhECAJYANQCvqAIA9gAkAD4xAgCmAEUAv7MCAL6yFAD/9QIAZgB+UV9UAgD+8iQALiICAK4ihQDvRAIAxgAUAP/0AgB2ADUAf0QCAN5AJAA+MgIAngBFANcAAgC+iBQA//oCAF4R/vFPRAIA/vgkAFYAAgC2AIUA78gCAM4AFAAeEQIAlgA1AI+IAgD2ACQAPjECAKYARQDfRAIAvrIUAP+oAgBmAH5RbwACAP7yJAAuIgIAriKFAOcAAgDGABQA7+ICAHYANQB/cgIA3kAkAD4yAgCeAEUAv7ECAL6IFAD/cwIAXhH+8T8zAQCEAAEA7iABAMUAAQDPxAEARAABAP8yAQAVAAEAj4gBAIQAAQBmAAEAJQABAK8AAQBEAAEA7yIBAKYAAQBfAAEAhAABAE5EAQDFAAEAz8wBAEQAAQD3AAEAFQABAG8AAQCEAAEAVgABACUAAQCfAAEARAABAN8AAQD+MAEALyIBAIQAAQDuIAEAxQABAM/IAQBEAAEA/xEBABUAAQB3AAEAhAABAGYAAQAlAAEAfwABAEQAAQDnAAEApgABADcAAQCEAAEATkQBAMUAAQC3AAEARAABAL8AAQAVAAEAPwABAIQAAQBWAAEAJQABAJcAAQBEAAEA1wABAP4wAQAfEQIA7qhEAI6IAgDWAMUA//MCAP78JQA+AAIAtgBVAN/YAgD++EQAZgACAH4ghQD/mQIA5gD1ADYAAgCmABUAnwACAP7yRAB2AAIAzkTFAP92AgD+8SUATkQCAK4AVQDPyAIA/vREAF5EAgC+EIUA7+QCAN5U9QAeEQIAlgAVAC8iAgDuqEQAjogCANYAxQD/+gIA/vwlAD4AAgC2AFUAvxECAP74RABmAAIAfiCFAO8iAgDmAPUANgACAKYAFQB/IgIA/vJEAHYAAgDORMUA/9UCAP7xJQBORAIArgBVAG8AAgD+9EQAXkQCAL4QhQDfEQIA3lT1AB4RAgCWABUAX1EDAPYAFAAeEUQAjoilAN/UAwCuolUA/3YkAD4itgCvqgMA5gAUAP/1RABmAIUAz8wDAJ4AxQDvRCQANgD++H8xAwDu6BQA//FEAHYApQDPxAMAfiJVAN/RJABORP70X1EDANYAFADv4kQAXkSFAL8iAwCWAMUA38gkAC4i/vJvIgMA9gAUAB4RRACOiKUAv7EDAK6iVQD/MyQAPiK2AK+oAwDmABQA/7lEAGYAhQC/qAMAngDFAO/kJAA2AP74b2QDAO7oFAD//EQAdgClAM/IAwB+IlUA7+okAE5E/vR/dAMA1gAUAP/6RABeRIUAv7IDAJYAxQDfRCQALiL+8j8x8wD++v3xNgAEAL4ydQDfEfMA3lT98u/k1QB+cf78f3PzAP7z/fgeEQQAlgBVAL+x8wDOALUA39j99GYA/rlfVPMA/nb98SYABACmAHUAnwDzAK4A/fL/99UARgD+9X908wDmAP34FgAEAIYAVQCPiPMAxgC1AO/i/fReEe6oPxHzAP76/fE2AAQAvjJ1AN/R8wDeVP3y//vVAH5x/vx/RPMA/vP9+B4RBACWAFUAf3LzAM4AtQDvIv30ZgD+uU9E8wD+dv3xJgAEAKYAdQC/EfMArgD98v//1QBGAP71PzLzAOYA/fgWAAQAhgBVAG8A8wDGALUAv7j99F4R7qgvIgBBvJ0BC6QeAQAAAAEAAAABAAAAAgAAAAIAAAACAAAAAwAAAAMAAAAEAAAABQAAALchQiFnIUIhERERETMzMzN3d3d3AAAAAAAAAAABVgAAAAAAACBPAAAwTwAAAVYAAAEAAAAwTwAAIE8AAAE0AAAAAAAAQE8AAMBPAAABNAAAAQAAAFBPAADQTwAAARgAAAAAAABgTwAAIFAAAAEYAAABAAAAcE8AADBQAADBCgAAAAAAAIBPAACAUAAAwQoAAAEAAACQTwAAkFAAACEFAAAAAAAAoE8AAKBSAAAhBQAAAQAAALBPAACwUgAAIQIAAAAAAADAUwAAIFMAACECAAABAAAA0FMAADBTAAABVgAAAAAAAOBPAADQTwAAAVYAAAEAAADwTwAAwE8AAAFUAAAAAAAAAFAAAMBQAAABVAAAAQAAABBQAADQUAAAAUgAAAAAAAAgUAAAwFAAAAFIAAABAAAAMFAAANBQAAABOAAAAAAAAEBQAADAUAAAATgAAAEAAABQUAAA0FAAAAEwAAAAAAAAYFAAACBRAAABMAAAAQAAAHBQAAAwUQAAASQAAAAAAACAUAAAQFEAAAEkAAABAAAAkFAAAFBRAAABHAAAAAAAAKBQAACAUQAAARwAAAEAAACwUAAAkFEAAAEWAAAAAAAAoFIAAKBRAAABFgAAAQAAALBSAACwUQAAAVYAAAAAAADgUAAA0FAAAAFWAAABAAAA8FAAAMBQAAABVAAAAAAAAABRAADAUAAAAVQAAAEAAAAQUQAA0FAAAAFRAAAAAAAAIFEAAOBQAAABUQAAAQAAADBRAADwUAAAAUgAAAAAAABAUQAAAFEAAAFIAAABAAAAUFEAABBRAAABOAAAAAAAAGBRAAAgUQAAATgAAAEAAABwUQAAMFEAAAE0AAAAAAAAgFEAAEBRAAABNAAAAQAAAJBRAABQUQAAATAAAAAAAACgUQAAYFEAAAEwAAABAAAAsFEAAHBRAAABKAAAAAAAAMBRAABgUQAAASgAAAEAAADQUQAAcFEAAAEkAAAAAAAA4FEAAIBRAAABJAAAAQAAAPBRAACQUQAAASIAAAAAAAAAUgAAoFEAAAEiAAABAAAAEFIAALBRAAABHAAAAAAAACBSAADAUQAAARwAAAEAAAAwUgAA0FEAAAEYAAAAAAAAQFIAAOBRAAABGAAAAQAAAFBSAADwUQAAARYAAAAAAABgUgAAAFIAAAEWAAABAAAAcFIAABBSAAABFAAAAAAAAIBSAAAgUgAAARQAAAEAAACQUgAAMFIAAAESAAAAAAAAoFIAAEBSAAABEgAAAQAAALBSAABQUgAAAREAAAAAAADAUgAAYFIAAAERAAABAAAA0FIAAHBSAADBCgAAAAAAAOBSAACAUgAAwQoAAAEAAADwUgAAkFIAAMEJAAAAAAAAAFMAAKBSAADBCQAAAQAAABBTAACwUgAAoQgAAAAAAAAgUwAAwFIAAKEIAAABAAAAMFMAANBSAAAhBQAAAAAAAEBTAADgUgAAIQUAAAEAAABQUwAA8FIAAEEEAAAAAAAAYFMAAABTAABBBAAAAQAAAHBTAAAQUwAAoQIAAAAAAACAUwAAIFMAAKECAAABAAAAkFMAADBTAAAhAgAAAAAAAKBTAABAUwAAIQIAAAEAAACwUwAAUFMAAEEBAAAAAAAAwFMAAGBTAABBAQAAAQAAANBTAABwUwAAEQEAAAAAAADgUwAAgFMAABEBAAABAAAA8FMAAJBTAACFAAAAAAAAAABUAACgUwAAhQAAAAEAAAAQVAAAsFMAAEkAAAAAAAAAIFQAAMBTAABJAAAAAQAAADBUAADQUwAAJQAAAAAAAABAVAAA4FMAACUAAAABAAAAUFQAAPBTAAAVAAAAAAAAAGBUAAAAVAAAFQAAAAEAAABwVAAAEFQAAAkAAAAAAAAAgFQAACBUAAAJAAAAAQAAAJBUAAAwVAAABQAAAAAAAACgVAAAQFQAAAUAAAABAAAAsFQAAFBUAAABAAAAAAAAAKBUAABgVAAAAQAAAAEAAACwVAAAcFQAAAFWAAAAAAAAwFQAAMBUAAABVgAAAQAAANBUAADQVAAAAAEDAwECAwMFBgcHBgYHBwABAwMBAgMDBQYHBwYGBwcFBgcHBgYHBwgICAgICAgIBQYHBwYGBwcICAgICAgICAECAwMCAgMDBgYHBwYGBwcBAgMDAgIDAwYGBwcGBgcHBgYHBwYGBwcICAgICAgICAYGBwcGBgcHCAgICAgICAgDAwQEAwMEBAcHBwcHBwcHAwMEBAMDBAQHBwcHBwcHBwcHBwcHBwcHCAgICAgICAgHBwcHBwcHBwgICAgICAgIAwMEBAMDBAQHBwcHBwcHBwMDBAQDAwQEBwcHBwcHBwcHBwcHBwcHBwgICAgICAgIBwcHBwcHBwcICAgICAgICAECAwMCAgMDBgYHBwYGBwcBAgMDAgIDAwYGBwcGBgcHBgYHBwYGBwcICAgICAgICAYGBwcGBgcHCAgICAgICAgCAgMDAgIDAwYGBwcGBgcHAgIDAwICAwMGBgcHBgYHBwYGBwcGBgcHCAgICAgICAgGBgcHBgYHBwgICAgICAgIAwMEBAMDBAQHBwcHBwcHBwMDBAQDAwQEBwcHBwcHBwcHBwcHBwcHBwgICAgICAgIBwcHBwcHBwcICAgICAgICAMDBAQDAwQEBwcHBwcHBwcDAwQEAwMEBAcHBwcHBwcHBwcHBwcHBwcICAgICAgICAcHBwcHBwcHCAgICAgICAgAAQUGAQIGBgMDBwcDAwcHAAEFBgECBgYDAwcHAwMHBwMDBwcDAwcHBAQHBwQEBwcDAwcHAwMHBwQEBwcEBAcHAQIGBgICBgYDAwcHAwMHBwECBgYCAgYGAwMHBwMDBwcDAwcHAwMHBwQEBwcEBAcHAwMHBwMDBwcEBAcHBAQHBwUGCAgGBggIBwcICAcHCAgFBggIBgYICAcHCAgHBwgIBwcICAcHCAgHBwgIBwcICAcHCAgHBwgIBwcICAcHCAgGBggIBgYICAcHCAgHBwgIBgYICAYGCAgHBwgIBwcICAcHCAgHBwgIBwcICAcHCAgHBwgIBwcICAcHCAgHBwgIAQIGBgICBgYDAwcHAwMHBwECBgYCAgYGAwMHBwMDBwcDAwcHAwMHBwQEBwcEBAcHAwMHBwMDBwcEBAcHBAQHBwICBgYCAgYGAwMHBwMDBwcCAgYGAgIGBgMDBwcDAwcHAwMHBwMDBwcEBAcHBAQHBwMDBwcDAwcHBAQHBwQEBwcGBggIBgYICAcHCAgHBwgIBgYICAYGCAgHBwgIBwcICAcHCAgHBwgIBwcICAcHCAgHBwgIBwcICAcHCAgHBwgIBgYICAYGCAgHBwgIBwcICAYGCAgGBggIBwcICAcHCAgHBwgIBwcICAcHCAgHBwgIBwcICAcHCAgHBwgIBwcICAABAwMBAgMDBQYHBwYGBwcAAQMDAQIDAwUGBwcGBgcHBQYHBwYGBwcICAgICAgICAUGBwcGBgcHCAgICAgICAgBAgMDAgIDAwYGBwcGBgcHAQIDAwICAwMGBgcHBgYHBwYGBwcGBgcHCAgICAgICAgGBgcHBgYHBwgICAgICAgIAwMEBAMDBAQHBwcHBwcHBwMDBAQDAwQEBwcHBwcHBwcHBwcHBwcHBwgICAgICAgIBwcHBwcHBwcICAgICAgICAMDBAQDAwQEBwcHBwcHBwcDAwQEAwMEBAcHBwcHBwcHBwcHBwcHBwcICAgICAgICAcHBwcHBwcHCAgICAgICAgBAgMDAgIDAwYGBwcGBgcHAQIDAwICAwMGBgcHBgYHBwYGBwcGBgcHCAgICAgICAgGBgcHBgYHBwgICAgICAgIAgIDAwICAwMGBgcHBgYHBwICAwMCAgMDBgYHBwYGBwcGBgcHBgYHBwgICAgICAgIBgYHBwYGBwcICAgICAgICAMDBAQDAwQEBwcHBwcHBwcDAwQEAwMEBAcHBwcHBwcHBwcHBwcHBwcICAgICAgICAcHBwcHBwcHCAgICAgICAgDAwQEAwMEBAcHBwcHBwcHAwMEBAMDBAQHBwcHBwcHBwcHBwcHBwcHCAgICAgICAgHBwcHBwcHBwgICAgICAgIAAMBBAMGBAcBBAIFBAcFBwADAQQDBgQHAQQCBQQHBQcBBAIFBAcFBwIFAgUFBwUHAQQCBQQHBQcCBQIFBQcFBwMGBAcGCAcIBAcFBwcIBwgDBgQHBggHCAQHBQcHCAcIBAcFBwcIBwgFBwUHBwgHCAQHBQcHCAcIBQcFBwcIBwgBBAIFBAcFBwIFAgUFBwUHAQQCBQQHBQcCBQIFBQcFBwIFAgUFBwUHAgUCBQUHBQcCBQIFBQcFBwIFAgUFBwUHBAcFBwcIBwgFBwUHBwgHCAQHBQcHCAcIBQcFBwcIBwgFBwUHBwgHCAUHBQcHCAcIBQcFBwcIBwgFBwUHBwgHCAMGBAcGCAcIBAcFBwcIBwgDBgQHBggHCAQHBQcHCAcIBAcFBwcIBwgFBwUHBwgHCAQHBQcHCAcIBQcFBwcIBwgGCAcICAgICAcIBwgICAgIBggHCAgICAgHCAcICAgICAcIBwgICAgIBwgHCAgICAgHCAcICAgICAcIBwgICAgIBAcFBwcIBwgFBwUHBwgHCAQHBQcHCAcIBQcFBwcIBwgFBwUHBwgHCAUHBQcHCAcIBQcFBwcIBwgFBwUHBwgHCAcIBwgICAgIBwgHCAgICAgHCAcICAgICAcIBwgICAgIBwgHCAgICAgHCAcICAgICAcIBwgICAgIBwgHCAgICAgJCQoKCQkKCgwMDQsMDA0LCQkKCgkJCgoMDAsNDAwLDQwMDQ0MDAsLDAkNCgkMCgsMDAsLDAwNDQwJCwoJDAoNCQkKCgkJCgoMDA0LDAwNCwkJCgoJCQoKDAwLDQwMCw0MDA0NDAwLCwwJDQoJDAoLDAwLCwwMDQ0MCQsKCQwKDQoKCgoKCgoKDQsNCw0LDQsKCgkJCgoJCQ0LDAwNCwwMDQ0NDQsLCwsNCg0KCgsKCw0NDAwLCwwMDQoMCQoLCQwKCgkJCgoJCQsNDAwLDQwMCgoKCgoKCgoLDQsNCw0LDQsLDAwNDQwMCwoMCQoNCQwLCwsLDQ0NDQsKCwoKDQoNAEHpuwELNwEAAQABAAEAAAEBAAABAQABAAEAAQABAAAAAAEBAQEAAAAAAAEAAQAAAAABAQEBAAAAAQABAQEAQam8AQs3AQABAAEAAQAAAQEAAAEBAAEAAQABAAEAAAAAAQEBAQAAAAAAAQABAAAAAAEBAQEAAAABAAEBAQBB6bwBCwcBAAEAAQABAEH5vAELlQIBAAEAAQABAAAAAAEBAQEAAAAAAAEAAQAAAAABAQEBAAAAAAABAAEBAQAAAQEAAAABAAEAAQABAQEBAQEBAQEAAQABAAEAAQAAAAABAQEBAAEAAAEBAAEAAAAAAQEBAQABAAEBAQEBAgAAAAQAAAAEAAAACAAAAJD/AAAMAAAAGAAAAFL/AAAUAAAAGQAAAFP/AAAUAAAAGgAAAF7/AAAUAAAAGwAAAFz/AAAUAAAAHAAAAF3/AAAUAAAAHQAAAF//AAAUAAAAHgAAAFH/AAACAAAAHwAAAFX/AAAEAAAAIAAAAFf/AAAEAAAAIQAAAFj/AAAQAAAAIgAAAGD/AAAEAAAAIwAAAGH/AAAQAAAAJAAAAJH/AEGYvwELZWP/AAAEAAAAJQAAAGT/AAAUAAAAJgAAAHT/AAAUAAAAJwAAAHj/AAAEAAAAKAAAAFD/AAAEAAAAKQAAAFn/AAAEAAAAKgAAAHX/AAAUAAAAKwAAAHf/AAAUAAAALAAAAAAAAAAUAEGQwAELNS0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAAICBQajYAAABweXRmNwAAAGgycGo4AEHQwAELMnJkaGk5AAAAcmxvYzoAAABjY3BiOwAAAHJsY3A8AAAAcGFtYz0AAABmZWRjPgAAAHhiAEGQwQELQRkACwAZGRkAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAGQAKChkZGQMKBwABAAkLGAAACQYLAAALAAYZAAAAGRkZAEHhwQELIQ4AAAAAAAAAABkACw0ZGRkADQAAAgAJDgAAAAkADgAADgBBm8IBCwEMAEGnwgELFRMAAAAAEwAAAAAJDAAAAAAADAAADABB1cIBCwEQAEHhwgELFQ8AAAAEDwAAAAAJEAAAAAAAEAAAEABBj8MBCwESAEGbwwELHhEAAAAAEQAAAAAJEgAAAAAAEgAAEgAAGgAAABoaGgBB0sMBCw4aAAAAGhoaAAAAAAAACQBBg8QBCwEUAEGPxAELFRcAAAAAFwAAAAAJFAAAAAAAFAAAFABBvcQBCwEWAEHJxAELJxUAAAAAFQAAAAAJFgAAAAAAFgAAFgAAMDEyMzQ1Njc4OUFCQ0RFRgBB8cQBCwhsAQAAAAAABQBBhMUBCwFpAEGcxQELDmoAAABrAAAA+GcAAAAEAEG0xQELAQEAQcTFAQsF/////wo="),t(w(u,e)[0])}();function L(){function e(){D||(D=!0,i.calledRun=!0,b(Q),t(i),i.onRuntimeInitialized&&i.onRuntimeInitialized(),function(){if(i.postRun)for("function"==typeof i.postRun&&(i.postRun=[i.postRun]);i.postRun.length;)e=i.postRun.shift(),E.unshift(e);var e;b(E)}())}f>0||(function(){if(i.preRun)for("function"==typeof i.preRun&&(i.preRun=[i.preRun]);i.preRun.length;)e=i.preRun.shift(),B.unshift(e);var e;b(B)}(),f>0||(i.setStatus?(i.setStatus("Running..."),setTimeout((function(){setTimeout((function(){i.setStatus("")}),1),e()}),1)):e()))}if(G.j,i._malloc=G.k,i._free=G.l,i._jp2_decode=G.n,G._emscripten_stack_restore,G._emscripten_stack_alloc,G.emscripten_stack_get_current,p=function e(){D||L(),D||(p=e)},i.preInit)for("function"==typeof i.preInit&&(i.preInit=[i.preInit]);i.preInit.length>0;)i.preInit.pop()();return L(),i});const Pc=Tc;class Yc extends Bo{constructor(e){super(e,"JpxError")}}class Kc{static#lr=null;static decode(e,t=!1){this.#lr||=Pc({warn:co});const A=this.#lr.decode(e,t);if("string"==typeof A)throw new Yc(A);return A}static cleanup(){this.#lr=null}static parseImageProperties(e){let t=e.getByte();for(;t>=0;){const A=t;t=e.getByte();if(65361===(A<<8|t)){e.skip(4);const t=e.getInt32()>>>0,A=e.getInt32()>>>0,i=e.getInt32()>>>0,s=e.getInt32()>>>0;e.skip(16);return{width:t-i,height:A-s,bitsPerComponent:8,componentsCount:e.getUint16()}}}throw new Yc("No size marker found in JPX stream")}}class _c extends Qh{constructor(e,t,A){super(t),this.stream=e,this.dict=e.dict,this.maybeLength=t,this.params=A}get bytes(){return uo(this,"bytes",this.stream.getBytes(this.maybeLength))}ensureBuffer(e){}readBlock(e){this.eof||(this.buffer=Kc.decode(this.bytes,e),this.bufferLength=this.buffer.length,this.eof=!0)}}class qc extends Qh{constructor(e,t,A){super(t),this.str=e,this.dict=e.dict,this.cachedData=0,this.bitsCached=0;const i=4096,s={earlyChange:A,codeLength:9,nextCode:258,dictionaryValues:new Uint8Array(i),dictionaryLengths:new Uint16Array(i),dictionaryPrevCodes:new Uint16Array(i),currentSequence:new Uint8Array(i),currentSequenceLength:0};for(let e=0;e<256;++e)s.dictionaryValues[e]=e,s.dictionaryLengths[e]=1;this.lzwState=s}readBits(e){let t=this.bitsCached,A=this.cachedData;for(;t<e;){const e=this.str.getByte();if(-1===e)return this.eof=!0,null;A=A<<8|e,t+=8}return this.bitsCached=t-=e,this.cachedData=A,this.lastCode=null,A>>>t&(1<<e)-1}readBlock(){let e,t,A,i=1024;const s=this.lzwState;if(!s)return;const a=s.earlyChange;let n=s.nextCode;const r=s.dictionaryValues,o=s.dictionaryLengths,g=s.dictionaryPrevCodes;let h=s.codeLength,c=s.prevCode;const l=s.currentSequence;let I=s.currentSequenceLength,d=0,C=this.bufferLength,u=this.ensureBuffer(this.bufferLength+i);for(e=0;e<512;e++){const e=this.readBits(h),s=I>0;if(e<256)l[0]=e,I=1;else{if(!(e>=258)){if(256===e){h=9,n=258,I=0;continue}this.eof=!0,delete this.lzwState;break}if(e<n)for(I=o[e],t=I-1,A=e;t>=0;t--)l[t]=r[A],A=g[A];else l[I++]=l[0]}if(s&&(g[n]=c,o[n]=o[c]+1,r[n]=l[0],n++,h=n+a&n+a-1?h:0|Math.min(Math.log(n+a)/.6931471805599453+1,12)),c=e,d+=I,i<d){do{i+=512}while(i<d);u=this.ensureBuffer(this.bufferLength+i)}for(t=0;t<I;t++)u[C++]=l[t]}s.nextCode=n,s.codeLength=h,s.prevCode=c,s.currentSequenceLength=I,this.bufferLength=C}}class Oc extends Qh{constructor(e,t,A){if(super(t),!(A instanceof ig))return e;const i=this.predictor=A.get("Predictor")||1;if(i<=1)return e;if(2!==i&&(i<10||i>15))throw new yo(`Unsupported predictor: ${i}`);this.readBlock=2===i?this.readBlockTiff:this.readBlockPng,this.str=e,this.dict=e.dict;const s=this.colors=A.get("Colors")||1,a=this.bits=A.get("BPC","BitsPerComponent")||8,n=this.columns=A.get("Columns")||1;return this.pixBytes=s*a+7>>3,this.rowBytes=n*s*a+7>>3,this}readBlockTiff(){const e=this.rowBytes,t=this.bufferLength,A=this.ensureBuffer(t+e),i=this.bits,s=this.colors,a=this.str.getBytes(e);if(this.eof=!a.length,this.eof)return;let n,r=0,o=0,g=0,h=0,c=t;if(1===i&&1===s)for(n=0;n<e;++n){let e=a[n]^r;e^=e>>1,e^=e>>2,e^=e>>4,r=(1&e)<<7,A[c++]=e}else if(8===i){for(n=0;n<s;++n)A[c++]=a[n];for(;n<e;++n)A[c]=A[c-s]+a[n],c++}else if(16===i){const t=2*s;for(n=0;n<t;++n)A[c++]=a[n];for(;n<e;n+=2){const e=((255&a[n])<<8)+(255&a[n+1])+((255&A[c-t])<<8)+(255&A[c-t+1]);A[c++]=e>>8&255,A[c++]=255&e}}else{const e=new Uint8Array(s+1),c=(1<<i)-1;let l=0,I=t;const d=this.columns;for(n=0;n<d;++n)for(let t=0;t<s;++t)g<i&&(r=r<<8|255&a[l++],g+=8),e[t]=e[t]+(r>>g-i)&c,g-=i,o=o<<i|e[t],h+=i,h>=8&&(A[I++]=o>>h-8&255,h-=8);h>0&&(A[I++]=(o<<8-h)+(r&(1<<8-h)-1))}this.bufferLength+=e}readBlockPng(){const e=this.rowBytes,t=this.pixBytes,A=this.str.getByte(),i=this.str.getBytes(e);if(this.eof=!i.length,this.eof)return;const s=this.bufferLength,a=this.ensureBuffer(s+e);let n=a.subarray(s-e,s);0===n.length&&(n=new Uint8Array(e));let r,o,g,h=s;switch(A){case 0:for(r=0;r<e;++r)a[h++]=i[r];break;case 1:for(r=0;r<t;++r)a[h++]=i[r];for(;r<e;++r)a[h]=a[h-t]+i[r]&255,h++;break;case 2:for(r=0;r<e;++r)a[h++]=n[r]+i[r]&255;break;case 3:for(r=0;r<t;++r)a[h++]=(n[r]>>1)+i[r];for(;r<e;++r)a[h]=(n[r]+a[h-t]>>1)+i[r]&255,h++;break;case 4:for(r=0;r<t;++r)o=n[r],g=i[r],a[h++]=o+g;for(;r<e;++r){o=n[r];const e=n[r-t],A=a[h-t],s=A+o-e;let c=s-A;c<0&&(c=-c);let l=s-o;l<0&&(l=-l);let I=s-e;I<0&&(I=-I),g=i[r],a[h++]=c<=l&&c<=I?A+g:l<=I?o+g:e+g}break;default:throw new yo(`Unsupported predictor: ${A}`)}this.bufferLength+=e}}class Wc extends Qh{constructor(e,t){super(t),this.str=e,this.dict=e.dict}readBlock(){const e=this.str.getBytes(2);if(!e||e.length<2||128===e[0])return void(this.eof=!0);let t,A=this.bufferLength,i=e[0];if(i<128){if(t=this.ensureBuffer(A+i+1),t[A++]=e[1],i>0){const e=this.str.getBytes(i);t.set(e,A),A+=i}}else{i=257-i;const s=e[1];t=this.ensureBuffer(A+i+1);for(let e=0;e<i;e++)t[A++]=s}this.bufferLength=A}}class jc{constructor({lexer:e,xref:t,allowStreams:A=!1,recoveryMode:i=!1}){this.lexer=e,this.xref=t,this.allowStreams=A,this.recoveryMode=i,this.imageCache=Object.create(null),this._imageId=0,this.refill()}refill(){this.buf1=this.lexer.getObj(),this.buf2=this.lexer.getObj()}shift(){this.buf2 instanceof tg&&"ID"===this.buf2.cmd?(this.buf1=this.buf2,this.buf2=null):(this.buf1=this.buf2,this.buf2=this.lexer.getObj())}tryShift(){try{return this.shift(),!0}catch(e){if(e instanceof dg)throw e;return!1}}getObj(e=null){const t=this.buf1;if(this.shift(),t instanceof tg)switch(t.cmd){case"BI":return this.makeInlineImage(e);case"[":const A=[];for(;!og(this.buf1,"]")&&this.buf1!==Zo;)A.push(this.getObj(e));if(this.buf1===Zo){if(this.recoveryMode)return A;throw new Cg("End of file inside array.")}return this.shift(),A;case"<<":const i=new ig(this.xref);for(;!og(this.buf1,">>")&&this.buf1!==Zo;){if(!(this.buf1 instanceof eg)){ho("Malformed dictionary: key must be a name object"),this.shift();continue}const t=this.buf1.name;if(this.shift(),this.buf1===Zo)break;i.set(t,this.getObj(e))}if(this.buf1===Zo){if(this.recoveryMode)return i;throw new Cg("End of file inside dictionary.")}return og(this.buf2,"stream")?this.allowStreams?this.makeStream(i,e):i:(this.shift(),i);default:return t}if(Number.isInteger(t)){if(Number.isInteger(this.buf1)&&og(this.buf2,"R")){const e=sg.get(t,this.buf1);return this.shift(),this.shift(),e}return t}return"string"==typeof t&&e?e.decryptString(t):t}findDefaultInlineStreamEnd(e){const{knownCommands:t}=this.lexer,A=e.pos;let i,s,a=0;for(;-1!==(i=e.getByte());)if(0===a)a=69===i?1:0;else if(1===a)a=73===i?2:0;else if(32===i||10===i||13===i){s=e.pos;const A=e.peekBytes(15),n=A.length;if(0===n)break;for(let e=0;e<n;e++)if(i=A[e],(0!==i||0===A[e+1])&&10!==i&&13!==i&&(i<32||i>127)){a=0;break}if(2!==a)continue;if(!t){co("findDefaultInlineStreamEnd - `lexer.knownCommands` is undefined.");continue}const r=new Xc(new Vg(A.slice()),t);r._hexStringWarn=()=>{};let o=0;for(;;){const e=r.getObj();if(e===Zo){a=0;break}if(e instanceof tg){const A=t[e.cmd];if(!A){a=0;break}if(A.variableArgs?o<=A.numArgs:o===A.numArgs)break;o=0}else o++}if(2===a)break}else a=0;-1===i&&(co("findDefaultInlineStreamEnd: Reached the end of the stream without finding a valid EI marker"),s&&(co('... trying to recover by using the last "EI" occurrence.'),e.skip(-(e.pos-s))));let n=4;return e.skip(-n),i=e.peekByte(),e.skip(n),Dg(i)||n--,e.pos-n-A}findDCTDecodeInlineStreamEnd(e){const t=e.pos;let A,i,s=!1;for(;-1!==(A=e.getByte());)if(255===A){switch(e.getByte()){case 0:break;case 255:e.skip(-1);break;case 217:s=!0;break;case 192:case 193:case 194:case 195:case 197:case 198:case 199:case 201:case 202:case 203:case 205:case 206:case 207:case 196:case 204:case 218:case 219:case 220:case 221:case 222:case 223:case 224:case 225:case 226:case 227:case 228:case 229:case 230:case 231:case 232:case 233:case 234:case 235:case 236:case 237:case 238:case 239:case 254:i=e.getUint16(),i>2?e.skip(i-2):e.skip(-2)}if(s)break}const a=e.pos-t;return-1===A?(co("Inline DCTDecode image stream: EOI marker not found, searching for /EI/ instead."),e.skip(-a),this.findDefaultInlineStreamEnd(e)):(this.inlineStreamSkipEI(e),a)}findASCII85DecodeInlineStreamEnd(e){const t=e.pos;let A;for(;-1!==(A=e.getByte());)if(126===A){const t=e.pos;for(A=e.peekByte();Dg(A);)e.skip(),A=e.peekByte();if(62===A){e.skip();break}if(e.pos>t){const t=e.peekBytes(2);if(69===t[0]&&73===t[1])break}}const i=e.pos-t;return-1===A?(co("Inline ASCII85Decode image stream: EOD marker not found, searching for /EI/ instead."),e.skip(-i),this.findDefaultInlineStreamEnd(e)):(this.inlineStreamSkipEI(e),i)}findASCIIHexDecodeInlineStreamEnd(e){const t=e.pos;let A;for(;-1!==(A=e.getByte())&&62!==A;);const i=e.pos-t;return-1===A?(co("Inline ASCIIHexDecode image stream: EOD marker not found, searching for /EI/ instead."),e.skip(-i),this.findDefaultInlineStreamEnd(e)):(this.inlineStreamSkipEI(e),i)}inlineStreamSkipEI(e){let t,A=0;for(;-1!==(t=e.getByte());)if(0===A)A=69===t?1:0;else if(1===A)A=73===t?2:0;else if(2===A)break}makeInlineImage(e){const t=this.lexer,A=t.stream,i=Object.create(null);let s;for(;!og(this.buf1,"ID")&&this.buf1!==Zo;){if(!(this.buf1 instanceof eg))throw new yo("Dictionary key must be a name object");const t=this.buf1.name;if(this.shift(),this.buf1===Zo)break;i[t]=this.getObj(e)}-1!==t.beginInlineImagePos&&(s=A.pos-t.beginInlineImagePos);const a=this.xref.fetchIfRef(i.F||i.Filter);let n;if(a instanceof eg)n=a.name;else if(Array.isArray(a)){const e=this.xref.fetchIfRef(a[0]);e instanceof eg&&(n=e.name)}const r=A.pos;let o,g;switch(n){case"DCT":case"DCTDecode":o=this.findDCTDecodeInlineStreamEnd(A);break;case"A85":case"ASCII85Decode":o=this.findASCII85DecodeInlineStreamEnd(A);break;case"AHx":case"ASCIIHexDecode":o=this.findASCIIHexDecodeInlineStreamEnd(A);break;default:o=this.findDefaultInlineStreamEnd(A)}if(o<1e3&&s>0){const e=A.pos;A.pos=t.beginInlineImagePos,g=function(e){const t=[],A=e.length;let i=0;for(;i<A-1;)t.push(e[i++]<<8|e[i++]);return i<A&&t.push(e[i]),A+"_"+String.fromCharCode.apply(null,t)}(A.getBytes(s+o)),A.pos=e;const i=this.imageCache[g];if(void 0!==i)return this.buf2=tg.get("EI"),this.shift(),i.reset(),i}const h=new ig(this.xref);for(const e in i)h.set(e,i[e]);let c=A.makeSubStream(r,o,h);return e&&(c=e.createStream(c,o)),c=this.filter(c,h,o),c.dict=h,void 0!==g&&(c.cacheKey="inline_img_"+ ++this._imageId,this.imageCache[g]=c),this.buf2=tg.get("EI"),this.shift(),c}#Ir(e){const{stream:t}=this.lexer;t.pos=e;const A=new Uint8Array([101,110,100]),i=A.length,s=[new Uint8Array([115,116,114,101,97,109]),new Uint8Array([115,116,101,97,109]),new Uint8Array([115,116,114,101,97])],a=9-i;for(;t.pos<t.end;){const n=t.peekBytes(2048),r=n.length-9;if(r<=0)break;let o=0;for(;o<r;){let r=0;for(;r<i&&n[o+r]===A[r];)r++;if(r>=i){let i=!1;for(const e of s){const t=e.length;let s=0;for(;s<t&&n[o+r+s]===e[s];)s++;if(s>=a){i=!0;break}if(s>=t){Dg(n[o+r+s])&&(ho(`Found "${bo([...A,...e])}" when searching for endstream command.`),i=!0);break}}if(i)return t.pos+=o,t.pos-e}o++}t.pos+=r}return-1}makeStream(e,t){const A=this.lexer;let i=A.stream;A.skipToNextLine();const s=i.pos-1;let a=e.get("Length");if(Number.isInteger(a)||(ho(`Bad length "${a&&a.toString()}" in stream.`),a=0),i.pos=s+a,A.nextChar(),this.tryShift()&&og(this.buf2,"endstream"))this.shift();else{if(a=this.#Ir(s),a<0)throw new yo("Missing endstream command.");A.nextChar(),this.shift(),this.shift()}return this.shift(),i=i.makeSubStream(s,a,e),t&&(i=t.createStream(i,a)),i=this.filter(i,e,a),i.dict=e,i}filter(e,t,A){let i=t.get("F","Filter"),s=t.get("DP","DecodeParms");if(i instanceof eg)return Array.isArray(s)&&co("/DecodeParms should not be an Array, when /Filter is a Name."),this.makeFilter(e,i.name,A,s);let a=A;if(Array.isArray(i)){const t=i,A=s;for(let n=0,r=t.length;n<r;++n){if(i=this.xref.fetchIfRef(t[n]),!(i instanceof eg))throw new yo(`Bad filter name "${i}"`);s=null,Array.isArray(A)&&n in A&&(s=this.xref.fetchIfRef(A[n])),e=this.makeFilter(e,i.name,a,s),a=null}}return e}makeFilter(e,t,A,i){if(0===A)return co(`Empty "${t}" stream.`),new Xg;try{switch(t){case"Fl":case"FlateDecode":return i?new Oc(new Lh(e,A),A,i):new Lh(e,A);case"LZW":case"LZWDecode":let t=1;return i?(i.has("EarlyChange")&&(t=i.get("EarlyChange")),new Oc(new qc(e,A,t),A,i)):new qc(e,A,t);case"DCT":case"DCTDecode":return new Hc(e,A,i);case"JPX":case"JPXDecode":return new _c(e,A,i);case"A85":case"ASCII85Decode":return new fh(e,A);case"AHx":case"ASCIIHexDecode":return new ph(e,A);case"CCF":case"CCITTFaxDecode":return new Rh(e,A,i);case"RL":case"RunLengthDecode":return new Wc(e,A);case"JBIG2Decode":return new uc(e,A,i)}return co(`Filter "${t}" is not supported.`),e}catch(e){if(e instanceof dg)throw e;return co(`Invalid stream: "${e}"`),new Xg}}}const Vc=[1,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,2,0,0,2,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];function Zc(e){return e>=48&&e<=57?15&e:e>=65&&e<=70||e>=97&&e<=102?9+(15&e):-1}class Xc{constructor(e,t=null){this.stream=e,this.nextChar(),this.strBuf=[],this.knownCommands=t,this._hexStringNumWarn=0,this.beginInlineImagePos=-1}nextChar(){return this.currentChar=this.stream.getByte()}peekChar(){return this.stream.peekByte()}getNumber(){let e=this.currentChar,t=!1,A=0,i=1;if(45===e?(i=-1,e=this.nextChar(),45===e&&(e=this.nextChar())):43===e&&(e=this.nextChar()),10===e||13===e)do{e=this.nextChar()}while(10===e||13===e);if(46===e&&(A=10,e=this.nextChar()),e<48||e>57){const t=`Invalid number: ${String.fromCharCode(e)} (charCode ${e})`;if(Dg(e)||-1===e)return ho(`Lexer.getNumber - "${t}".`),0;throw new yo(t)}let s=e-48,a=0,n=1;for(;(e=this.nextChar())>=0;)if(e>=48&&e<=57){const i=e-48;t?a=10*a+i:(0!==A&&(A*=10),s=10*s+i)}else if(46===e){if(0!==A)break;A=1}else if(45===e)co("Badly formatted number: minus sign in the middle");else{if(69!==e&&101!==e)break;if(e=this.peekChar(),43===e||45===e)n=45===e?-1:1,this.nextChar();else if(e<48||e>57)break;t=!0}return 0!==A&&(s/=A),t&&(s*=10**(n*a)),i*s}getString(){let e=1,t=!1;const A=this.strBuf;A.length=0;let i=this.nextChar();for(;;){let s=!1;switch(0|i){case-1:co("Unterminated string"),t=!0;break;case 40:++e,A.push("(");break;case 41:0==--e?(this.nextChar(),t=!0):A.push(")");break;case 92:switch(i=this.nextChar(),i){case-1:co("Unterminated string"),t=!0;break;case 110:A.push("\n");break;case 114:A.push("\r");break;case 116:A.push("\t");break;case 98:A.push("\b");break;case 102:A.push("\f");break;case 92:case 40:case 41:A.push(String.fromCharCode(i));break;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:let e=15&i;i=this.nextChar(),s=!0,i>=48&&i<=55&&(e=(e<<3)+(15&i),i=this.nextChar(),i>=48&&i<=55&&(s=!1,e=(e<<3)+(15&i))),A.push(String.fromCharCode(e));break;case 13:10===this.peekChar()&&this.nextChar();break;case 10:break;default:A.push(String.fromCharCode(i))}break;default:A.push(String.fromCharCode(i))}if(t)break;s||(i=this.nextChar())}return A.join("")}getName(){let e,t;const A=this.strBuf;for(A.length=0;(e=this.nextChar())>=0&&!Vc[e];)if(35===e){if(e=this.nextChar(),Vc[e]){co("Lexer_getName: NUMBER SIGN (#) should be followed by a hexadecimal number."),A.push("#");break}const i=Zc(e);if(-1!==i){t=e,e=this.nextChar();const s=Zc(e);if(-1===s){if(co(`Lexer_getName: Illegal digit (${String.fromCharCode(e)}) in hexadecimal number.`),A.push("#",String.fromCharCode(t)),Vc[e])break;A.push(String.fromCharCode(e));continue}A.push(String.fromCharCode(i<<4|s))}else A.push("#",String.fromCharCode(e))}else A.push(String.fromCharCode(e));return A.length>127&&co(`Name token is longer than allowed by the spec: ${A.length}`),eg.get(A.join(""))}_hexStringWarn(e){5!=this._hexStringNumWarn++?this._hexStringNumWarn>5||co(`getHexString - ignoring invalid character: ${e}`):co("getHexString - ignoring additional invalid characters.")}getHexString(){const e=this.strBuf;e.length=0;let t,A,i=this.currentChar,s=!0;for(this._hexStringNumWarn=0;;){if(i<0){co("Unterminated hex string");break}if(62===i){this.nextChar();break}if(1!==Vc[i]){if(s){if(t=Zc(i),-1===t){this._hexStringWarn(i),i=this.nextChar();continue}}else{if(A=Zc(i),-1===A){this._hexStringWarn(i),i=this.nextChar();continue}e.push(String.fromCharCode(t<<4|A))}s=!s,i=this.nextChar()}else i=this.nextChar()}return e.join("")}getObj(){let e=!1,t=this.currentChar;for(;;){if(t<0)return Zo;if(e)10!==t&&13!==t||(e=!1);else if(37===t)e=!0;else if(1!==Vc[t])break;t=this.nextChar()}switch(0|t){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 43:case 45:case 46:return this.getNumber();case 40:return this.getString();case 47:return this.getName();case 91:return this.nextChar(),tg.get("[");case 93:return this.nextChar(),tg.get("]");case 60:return t=this.nextChar(),60===t?(this.nextChar(),tg.get("<<")):this.getHexString();case 62:return t=this.nextChar(),62===t?(this.nextChar(),tg.get(">>")):tg.get(">");case 123:return this.nextChar(),tg.get("{");case 125:return this.nextChar(),tg.get("}");case 41:throw this.nextChar(),new yo(`Illegal character: ${t}`)}let A=String.fromCharCode(t);if(t<32||t>127){const e=this.peekChar();if(e>=32&&e<=127)return this.nextChar(),tg.get(A)}const i=this.knownCommands;let s=void 0!==i?.[A];for(;(t=this.nextChar())>=0&&!Vc[t];){const e=A+String.fromCharCode(t);if(s&&void 0===i[e])break;if(128===A.length)throw new yo(`Command token too long: ${A.length}`);A=e,s=void 0!==i?.[A]}return"true"===A||"false"!==A&&("null"===A?null:("BI"===A&&(this.beginInlineImagePos=this.stream.pos),tg.get(A)))}skipToNextLine(){let e=this.currentChar;for(;e>=0;){if(13===e){e=this.nextChar(),10===e&&this.nextChar();break}if(10===e){this.nextChar();break}e=this.nextChar()}}}class zc{static create(e){function t(e,t,A=!1){const i=e.get(t);if(Number.isInteger(i)&&(A?i>=0:i>0))return i;throw new Error(`The "${t}" parameter in the linearization dictionary is invalid.`)}const A=new jc({lexer:new Xc(e),xref:null}),i=A.getObj(),s=A.getObj(),a=A.getObj(),n=A.getObj();let r,o;if(!(Number.isInteger(i)&&Number.isInteger(s)&&og(a,"obj")&&n instanceof ig&&"number"==typeof(r=n.get("Linearized"))&&r>0))return null;if((o=t(n,"L"))!==e.length)throw new Error('The "L" parameter in the linearization dictionary does not equal the stream length.');return{length:o,hints:function(e){const t=e.get("H");let A;if(Array.isArray(t)&&(2===(A=t.length)||4===A)){for(let e=0;e<A;e++){const A=t[e];if(!(Number.isInteger(A)&&A>0))throw new Error(`Hint (${e}) in the linearization dictionary is invalid.`)}return t}throw new Error("Hint array in the linearization dictionary is invalid.")}(n),objectNumberFirst:t(n,"O"),endFirst:t(n,"E"),numPages:t(n,"N"),mainXRefEntriesOffset:t(n,"T"),pageFirst:n.has("P")?t(n,"P",!0):0}}}const $c=["Adobe-GB1-UCS2","Adobe-CNS1-UCS2","Adobe-Japan1-UCS2","Adobe-Korea1-UCS2","78-EUC-H","78-EUC-V","78-H","78-RKSJ-H","78-RKSJ-V","78-V","78ms-RKSJ-H","78ms-RKSJ-V","83pv-RKSJ-H","90ms-RKSJ-H","90ms-RKSJ-V","90msp-RKSJ-H","90msp-RKSJ-V","90pv-RKSJ-H","90pv-RKSJ-V","Add-H","Add-RKSJ-H","Add-RKSJ-V","Add-V","Adobe-CNS1-0","Adobe-CNS1-1","Adobe-CNS1-2","Adobe-CNS1-3","Adobe-CNS1-4","Adobe-CNS1-5","Adobe-CNS1-6","Adobe-GB1-0","Adobe-GB1-1","Adobe-GB1-2","Adobe-GB1-3","Adobe-GB1-4","Adobe-GB1-5","Adobe-Japan1-0","Adobe-Japan1-1","Adobe-Japan1-2","Adobe-Japan1-3","Adobe-Japan1-4","Adobe-Japan1-5","Adobe-Japan1-6","Adobe-Korea1-0","Adobe-Korea1-1","Adobe-Korea1-2","B5-H","B5-V","B5pc-H","B5pc-V","CNS-EUC-H","CNS-EUC-V","CNS1-H","CNS1-V","CNS2-H","CNS2-V","ETHK-B5-H","ETHK-B5-V","ETen-B5-H","ETen-B5-V","ETenms-B5-H","ETenms-B5-V","EUC-H","EUC-V","Ext-H","Ext-RKSJ-H","Ext-RKSJ-V","Ext-V","GB-EUC-H","GB-EUC-V","GB-H","GB-V","GBK-EUC-H","GBK-EUC-V","GBK2K-H","GBK2K-V","GBKp-EUC-H","GBKp-EUC-V","GBT-EUC-H","GBT-EUC-V","GBT-H","GBT-V","GBTpc-EUC-H","GBTpc-EUC-V","GBpc-EUC-H","GBpc-EUC-V","H","HKdla-B5-H","HKdla-B5-V","HKdlb-B5-H","HKdlb-B5-V","HKgccs-B5-H","HKgccs-B5-V","HKm314-B5-H","HKm314-B5-V","HKm471-B5-H","HKm471-B5-V","HKscs-B5-H","HKscs-B5-V","Hankaku","Hiragana","KSC-EUC-H","KSC-EUC-V","KSC-H","KSC-Johab-H","KSC-Johab-V","KSC-V","KSCms-UHC-H","KSCms-UHC-HW-H","KSCms-UHC-HW-V","KSCms-UHC-V","KSCpc-EUC-H","KSCpc-EUC-V","Katakana","NWP-H","NWP-V","RKSJ-H","RKSJ-V","Roman","UniCNS-UCS2-H","UniCNS-UCS2-V","UniCNS-UTF16-H","UniCNS-UTF16-V","UniCNS-UTF32-H","UniCNS-UTF32-V","UniCNS-UTF8-H","UniCNS-UTF8-V","UniGB-UCS2-H","UniGB-UCS2-V","UniGB-UTF16-H","UniGB-UTF16-V","UniGB-UTF32-H","UniGB-UTF32-V","UniGB-UTF8-H","UniGB-UTF8-V","UniJIS-UCS2-H","UniJIS-UCS2-HW-H","UniJIS-UCS2-HW-V","UniJIS-UCS2-V","UniJIS-UTF16-H","UniJIS-UTF16-V","UniJIS-UTF32-H","UniJIS-UTF32-V","UniJIS-UTF8-H","UniJIS-UTF8-V","UniJIS2004-UTF16-H","UniJIS2004-UTF16-V","UniJIS2004-UTF32-H","UniJIS2004-UTF32-V","UniJIS2004-UTF8-H","UniJIS2004-UTF8-V","UniJISPro-UCS2-HW-V","UniJISPro-UCS2-V","UniJISPro-UTF8-V","UniJISX0213-UTF32-H","UniJISX0213-UTF32-V","UniJISX02132004-UTF32-H","UniJISX02132004-UTF32-V","UniKS-UCS2-H","UniKS-UCS2-V","UniKS-UTF16-H","UniKS-UTF16-V","UniKS-UTF32-H","UniKS-UTF32-V","UniKS-UTF8-H","UniKS-UTF8-V","V","WP-Symbol"],el=2**24-1;class tl{constructor(e=!1){this.codespaceRanges=[[],[],[],[]],this.numCodespaceRanges=0,this._map=[],this.name="",this.vertical=!1,this.useCMap=null,this.builtInCMap=e}addCodespaceRange(e,t,A){this.codespaceRanges[e-1].push(t,A),this.numCodespaceRanges++}mapCidRange(e,t,A){if(t-e>el)throw new Error("mapCidRange - ignoring data above MAX_MAP_RANGE.");for(;e<=t;)this._map[e++]=A++}mapBfRange(e,t,A){if(t-e>el)throw new Error("mapBfRange - ignoring data above MAX_MAP_RANGE.");const i=A.length-1;for(;e<=t;){this._map[e++]=A;const t=A.charCodeAt(i)+1;t>255?A=A.substring(0,i-1)+String.fromCharCode(A.charCodeAt(i-1)+1)+"\0":A=A.substring(0,i)+String.fromCharCode(t)}}mapBfRangeToArray(e,t,A){if(t-e>el)throw new Error("mapBfRangeToArray - ignoring data above MAX_MAP_RANGE.");const i=A.length;let s=0;for(;e<=t&&s<i;)this._map[e]=A[s++],++e}mapOne(e,t){this._map[e]=t}lookup(e){return this._map[e]}contains(e){return void 0!==this._map[e]}forEach(e){const t=this._map,A=t.length;if(A<=65536)for(let i=0;i<A;i++)void 0!==t[i]&&e(i,t[i]);else for(const A in t)e(A,t[A])}charCodeOf(e){const t=this._map;if(t.length<=65536)return t.indexOf(e);for(const A in t)if(t[A]===e)return 0|A;return-1}getMap(){return this._map}readCharCode(e,t,A){let i=0;const s=this.codespaceRanges;for(let a=0,n=s.length;a<n;a++){i=(i<<8|e.charCodeAt(t+a))>>>0;const n=s[a];for(let e=0,t=n.length;e<t;){const t=n[e++],s=n[e++];if(i>=t&&i<=s)return A.charcode=i,void(A.length=a+1)}}A.charcode=0,A.length=1}getCharCodeLength(e){const t=this.codespaceRanges;for(let A=0,i=t.length;A<i;A++){const i=t[A];for(let t=0,s=i.length;t<s;){const s=i[t++],a=i[t++];if(e>=s&&e<=a)return A+1}}return 1}get length(){return this._map.length}get isIdentityCMap(){if("Identity-H"!==this.name&&"Identity-V"!==this.name)return!1;if(65536!==this._map.length)return!1;for(let e=0;e<65536;e++)if(this._map[e]!==e)return!1;return!0}}class Al extends tl{constructor(e,t){super(),this.vertical=e,this.addCodespaceRange(t,0,65535)}mapCidRange(e,t,A){lo("should not call mapCidRange")}mapBfRange(e,t,A){lo("should not call mapBfRange")}mapBfRangeToArray(e,t,A){lo("should not call mapBfRangeToArray")}mapOne(e,t){lo("should not call mapCidOne")}lookup(e){return Number.isInteger(e)&&e<=65535?e:void 0}contains(e){return Number.isInteger(e)&&e<=65535}forEach(e){for(let t=0;t<=65535;t++)e(t,t)}charCodeOf(e){return Number.isInteger(e)&&e<=65535?e:-1}getMap(){const e=new Array(65536);for(let t=0;t<=65535;t++)e[t]=t;return e}get length(){return 65536}get isIdentityCMap(){lo("should not access .isIdentityCMap")}}function il(e){let t=0;for(let A=0;A<e.length;A++)t=t<<8|e.charCodeAt(A);return t>>>0}function sl(e){if("string"!=typeof e)throw new yo("Malformed CMap: expected string.")}function al(e){if(!Number.isInteger(e))throw new yo("Malformed CMap: expected int.")}function nl(e,t){for(;;){let A=t.getObj();if(A===Zo)break;if(og(A,"endbfchar"))return;sl(A);const i=il(A);A=t.getObj(),sl(A);const s=A;e.mapOne(i,s)}}function rl(e,t){for(;;){let A=t.getObj();if(A===Zo)break;if(og(A,"endbfrange"))return;sl(A);const i=il(A);A=t.getObj(),sl(A);const s=il(A);if(A=t.getObj(),Number.isInteger(A)||"string"==typeof A){const t=Number.isInteger(A)?String.fromCharCode(A):A;e.mapBfRange(i,s,t)}else{if(!og(A,"["))break;{A=t.getObj();const a=[];for(;!og(A,"]")&&A!==Zo;)a.push(A),A=t.getObj();e.mapBfRangeToArray(i,s,a)}}}throw new yo("Invalid bf range.")}function ol(e,t){for(;;){let A=t.getObj();if(A===Zo)break;if(og(A,"endcidchar"))return;sl(A);const i=il(A);A=t.getObj(),al(A);const s=A;e.mapOne(i,s)}}function gl(e,t){for(;;){let A=t.getObj();if(A===Zo)break;if(og(A,"endcidrange"))return;sl(A);const i=il(A);A=t.getObj(),sl(A);const s=il(A);A=t.getObj(),al(A);const a=A;e.mapCidRange(i,s,a)}}function hl(e,t){for(;;){let A=t.getObj();if(A===Zo)break;if(og(A,"endcodespacerange"))return;if("string"!=typeof A)break;const i=il(A);if(A=t.getObj(),"string"!=typeof A)break;const s=il(A);e.addCodespaceRange(A.length,i,s)}throw new yo("Invalid codespace range.")}function cl(e,t){const A=t.getObj();Number.isInteger(A)&&(e.vertical=!!A)}function ll(e,t){const A=t.getObj();A instanceof eg&&(e.name=A.name)}async function Il(e,t,A,i){let s,a;e:for(;;)try{const A=t.getObj();if(A===Zo)break;if(A instanceof eg)"WMode"===A.name?cl(e,t):"CMapName"===A.name&&ll(e,t),s=A;else if(A instanceof tg)switch(A.cmd){case"endcmap":break e;case"usecmap":s instanceof eg&&(a=s.name);break;case"begincodespacerange":hl(e,t);break;case"beginbfchar":nl(e,t);break;case"begincidchar":ol(e,t);break;case"beginbfrange":rl(e,t);break;case"begincidrange":gl(e,t)}}catch(e){if(e instanceof dg)throw e;co("Invalid cMap data: "+e);continue}return!i&&a&&(i=a),i?dl(e,A,i):e}async function dl(e,t,A){if(e.useCMap=await Cl(A,t),0===e.numCodespaceRanges){const t=e.useCMap.codespaceRanges;for(let A=0;A<t.length;A++)e.codespaceRanges[A]=t[A].slice();e.numCodespaceRanges=e.useCMap.numCodespaceRanges}return e.useCMap.forEach((function(t,A){e.contains(t)||e.mapOne(t,e.useCMap.lookup(t))})),e}async function Cl(e,t){if("Identity-H"===e)return new Al(!1,2);if("Identity-V"===e)return new Al(!0,2);if(!$c.includes(e))throw new Error("Unknown CMap name: "+e);if(!t)throw new Error("Built-in CMap parameters are not provided.");const{cMapData:A,compressionType:i}=await t(e),s=new tl(!0);if(i===bn.BINARY)return(new uh).process(A,s,(e=>dl(s,t,e)));if(i===bn.NONE){const e=new Xc(new Vg(A));return Il(s,e,t,null)}throw new Error(`Invalid CMap "compressionType" value: ${i}`)}class ul{static async create({encoding:e,fetchBuiltInCMap:t,useCMap:A}){if(e instanceof eg)return Cl(e.name,t);if(e instanceof cg){const i=await Il(new tl,new Xc(e),t,A);return i.isIdentityCMap?Cl(i.name,t):i}throw new Error("Encoding required.")}}const Bl=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron"],Ql=[".notdef","space","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"],El=[".notdef","space","dollaroldstyle","dollarsuperior","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","hyphensuperior","colonmonetary","onefitted","rupiah","centoldstyle","figuredash","hypheninferior","onequarter","onehalf","threequarters","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior"],fl=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","","asuperior","bsuperior","centsuperior","dsuperior","esuperior","","","","isuperior","","","lsuperior","msuperior","nsuperior","osuperior","","","rsuperior","ssuperior","tsuperior","","ff","fi","fl","ffi","ffl","parenleftinferior","","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdownsmall","centoldstyle","Lslashsmall","","","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","","Dotaccentsmall","","","Macronsmall","","","figuredash","hypheninferior","","","Ogoneksmall","Ringsmall","Cedillasmall","","","","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"],pl=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","centoldstyle","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","","threequartersemdash","","questionsmall","","","","","Ethsmall","","","onequarter","onehalf","threequarters","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","","","","","ff","fi","fl","ffi","ffl","parenleftinferior","","parenrightinferior","Circumflexsmall","hypheninferior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","","","asuperior","centsuperior","","","","","Aacutesmall","Agravesmall","Acircumflexsmall","Adieresissmall","Atildesmall","Aringsmall","Ccedillasmall","Eacutesmall","Egravesmall","Ecircumflexsmall","Edieresissmall","Iacutesmall","Igravesmall","Icircumflexsmall","Idieresissmall","Ntildesmall","Oacutesmall","Ogravesmall","Ocircumflexsmall","Odieresissmall","Otildesmall","Uacutesmall","Ugravesmall","Ucircumflexsmall","Udieresissmall","","eightsuperior","fourinferior","threeinferior","sixinferior","eightinferior","seveninferior","Scaronsmall","","centinferior","twoinferior","","Dieresissmall","","Caronsmall","osuperior","fiveinferior","","commainferior","periodinferior","Yacutesmall","","dollarinferior","","","Thornsmall","","nineinferior","zeroinferior","Zcaronsmall","AEsmall","Oslashsmall","questiondownsmall","oneinferior","Lslashsmall","","","","","","","Cedillasmall","","","","","","OEsmall","figuredash","hyphensuperior","","","","","exclamdownsmall","","Ydieresissmall","","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","ninesuperior","zerosuperior","","esuperior","rsuperior","tsuperior","","","isuperior","ssuperior","dsuperior","","","","","","lsuperior","Ogoneksmall","Brevesmall","Macronsmall","bsuperior","nsuperior","msuperior","commasuperior","periodsuperior","Dotaccentsmall","Ringsmall","","","",""],ml=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","space","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron"],yl=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","","endash","dagger","daggerdbl","periodcentered","","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","","questiondown","","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","","ring","cedilla","","hungarumlaut","ogonek","caron","emdash","","","","","","","","","","","","","","","","","AE","","ordfeminine","","","","","Lslash","Oslash","OE","ordmasculine","","","","","","ae","","","","dotlessi","","","lslash","oslash","oe","germandbls","","","",""],wl=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","bullet","Euro","bullet","quotesinglbase","florin","quotedblbase","ellipsis","dagger","daggerdbl","circumflex","perthousand","Scaron","guilsinglleft","OE","bullet","Zcaron","bullet","bullet","quoteleft","quoteright","quotedblleft","quotedblright","bullet","endash","emdash","tilde","trademark","scaron","guilsinglright","oe","bullet","zcaron","Ydieresis","space","exclamdown","cent","sterling","currency","yen","brokenbar","section","dieresis","copyright","ordfeminine","guillemotleft","logicalnot","hyphen","registered","macron","degree","plusminus","twosuperior","threesuperior","acute","mu","paragraph","periodcentered","cedilla","onesuperior","ordmasculine","guillemotright","onequarter","onehalf","threequarters","questiondown","Agrave","Aacute","Acircumflex","Atilde","Adieresis","Aring","AE","Ccedilla","Egrave","Eacute","Ecircumflex","Edieresis","Igrave","Iacute","Icircumflex","Idieresis","Eth","Ntilde","Ograve","Oacute","Ocircumflex","Otilde","Odieresis","multiply","Oslash","Ugrave","Uacute","Ucircumflex","Udieresis","Yacute","Thorn","germandbls","agrave","aacute","acircumflex","atilde","adieresis","aring","ae","ccedilla","egrave","eacute","ecircumflex","edieresis","igrave","iacute","icircumflex","idieresis","eth","ntilde","ograve","oacute","ocircumflex","otilde","odieresis","divide","oslash","ugrave","uacute","ucircumflex","udieresis","yacute","thorn","ydieresis"],bl=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","universal","numbersign","existential","percent","ampersand","suchthat","parenleft","parenright","asteriskmath","plus","comma","minus","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","congruent","Alpha","Beta","Chi","Delta","Epsilon","Phi","Gamma","Eta","Iota","theta1","Kappa","Lambda","Mu","Nu","Omicron","Pi","Theta","Rho","Sigma","Tau","Upsilon","sigma1","Omega","Xi","Psi","Zeta","bracketleft","therefore","bracketright","perpendicular","underscore","radicalex","alpha","beta","chi","delta","epsilon","phi","gamma","eta","iota","phi1","kappa","lambda","mu","nu","omicron","pi","theta","rho","sigma","tau","upsilon","omega1","omega","xi","psi","zeta","braceleft","bar","braceright","similar","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Euro","Upsilon1","minute","lessequal","fraction","infinity","florin","club","diamond","heart","spade","arrowboth","arrowleft","arrowup","arrowright","arrowdown","degree","plusminus","second","greaterequal","multiply","proportional","partialdiff","bullet","divide","notequal","equivalence","approxequal","ellipsis","arrowvertex","arrowhorizex","carriagereturn","aleph","Ifraktur","Rfraktur","weierstrass","circlemultiply","circleplus","emptyset","intersection","union","propersuperset","reflexsuperset","notsubset","propersubset","reflexsubset","element","notelement","angle","gradient","registerserif","copyrightserif","trademarkserif","product","radical","dotmath","logicalnot","logicaland","logicalor","arrowdblboth","arrowdblleft","arrowdblup","arrowdblright","arrowdbldown","lozenge","angleleft","registersans","copyrightsans","trademarksans","summation","parenlefttp","parenleftex","parenleftbt","bracketlefttp","bracketleftex","bracketleftbt","bracelefttp","braceleftmid","braceleftbt","braceex","","angleright","integral","integraltp","integralex","integralbt","parenrighttp","parenrightex","parenrightbt","bracketrighttp","bracketrightex","bracketrightbt","bracerighttp","bracerightmid","bracerightbt",""],Dl=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","a1","a2","a202","a3","a4","a5","a119","a118","a117","a11","a12","a13","a14","a15","a16","a105","a17","a18","a19","a20","a21","a22","a23","a24","a25","a26","a27","a28","a6","a7","a8","a9","a10","a29","a30","a31","a32","a33","a34","a35","a36","a37","a38","a39","a40","a41","a42","a43","a44","a45","a46","a47","a48","a49","a50","a51","a52","a53","a54","a55","a56","a57","a58","a59","a60","a61","a62","a63","a64","a65","a66","a67","a68","a69","a70","a71","a72","a73","a74","a203","a75","a204","a76","a77","a78","a79","a81","a82","a83","a84","a97","a98","a99","a100","","a89","a90","a93","a94","a91","a92","a205","a85","a206","a86","a87","a88","a95","a96","","","","","","","","","","","","","","","","","","","","a101","a102","a103","a104","a106","a107","a108","a112","a111","a110","a109","a120","a121","a122","a123","a124","a125","a126","a127","a128","a129","a130","a131","a132","a133","a134","a135","a136","a137","a138","a139","a140","a141","a142","a143","a144","a145","a146","a147","a148","a149","a150","a151","a152","a153","a154","a155","a156","a157","a158","a159","a160","a161","a163","a164","a196","a165","a192","a166","a167","a168","a169","a170","a171","a172","a173","a162","a174","a175","a176","a177","a178","a179","a193","a180","a199","a181","a200","a182","","a201","a183","a184","a197","a185","a194","a198","a186","a195","a187","a188","a189","a190","a191",""];function kl(e){switch(e){case"WinAnsiEncoding":return wl;case"StandardEncoding":return yl;case"MacRomanEncoding":return ml;case"SymbolSetEncoding":return bl;case"ZapfDingbatsEncoding":return Dl;case"ExpertEncoding":return fl;case"MacExpertEncoding":return pl;default:return null}}const Sl=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall","001.000","001.001","001.002","001.003","Black","Bold","Book","Light","Medium","Regular","Roman","Semibold"],Fl=391,Rl=[null,{id:"hstem",min:2,stackClearing:!0,stem:!0},null,{id:"vstem",min:2,stackClearing:!0,stem:!0},{id:"vmoveto",min:1,stackClearing:!0},{id:"rlineto",min:2,resetStack:!0},{id:"hlineto",min:1,resetStack:!0},{id:"vlineto",min:1,resetStack:!0},{id:"rrcurveto",min:6,resetStack:!0},null,{id:"callsubr",min:1,undefStack:!0},{id:"return",min:0,undefStack:!0},null,null,{id:"endchar",min:0,stackClearing:!0},null,null,null,{id:"hstemhm",min:2,stackClearing:!0,stem:!0},{id:"hintmask",min:0,stackClearing:!0},{id:"cntrmask",min:0,stackClearing:!0},{id:"rmoveto",min:2,stackClearing:!0},{id:"hmoveto",min:1,stackClearing:!0},{id:"vstemhm",min:2,stackClearing:!0,stem:!0},{id:"rcurveline",min:8,resetStack:!0},{id:"rlinecurve",min:8,resetStack:!0},{id:"vvcurveto",min:4,resetStack:!0},{id:"hhcurveto",min:4,resetStack:!0},null,{id:"callgsubr",min:1,undefStack:!0},{id:"vhcurveto",min:4,resetStack:!0},{id:"hvcurveto",min:4,resetStack:!0}],xl=[null,null,null,{id:"and",min:2,stackDelta:-1},{id:"or",min:2,stackDelta:-1},{id:"not",min:1,stackDelta:0},null,null,null,{id:"abs",min:1,stackDelta:0},{id:"add",min:2,stackDelta:-1,stackFn(e,t){e[t-2]=e[t-2]+e[t-1]}},{id:"sub",min:2,stackDelta:-1,stackFn(e,t){e[t-2]=e[t-2]-e[t-1]}},{id:"div",min:2,stackDelta:-1,stackFn(e,t){e[t-2]=e[t-2]/e[t-1]}},null,{id:"neg",min:1,stackDelta:0,stackFn(e,t){e[t-1]=-e[t-1]}},{id:"eq",min:2,stackDelta:-1},null,null,{id:"drop",min:1,stackDelta:-1},null,{id:"put",min:2,stackDelta:-2},{id:"get",min:1,stackDelta:0},{id:"ifelse",min:4,stackDelta:-3},{id:"random",min:0,stackDelta:1},{id:"mul",min:2,stackDelta:-1,stackFn(e,t){e[t-2]=e[t-2]*e[t-1]}},null,{id:"sqrt",min:1,stackDelta:0},{id:"dup",min:1,stackDelta:1},{id:"exch",min:2,stackDelta:0},{id:"index",min:2,stackDelta:0},{id:"roll",min:3,stackDelta:-2},null,null,null,{id:"hflex",min:7,resetStack:!0},{id:"flex",min:13,resetStack:!0},{id:"hflex1",min:9,resetStack:!0},{id:"flex1",min:11,resetStack:!0}];class vl{constructor(e,t,A){this.bytes=e.getBytes(),this.properties=t,this.seacAnalysisEnabled=!!A}parse(){const e=this.properties,t=new Nl;this.cff=t;const A=this.parseHeader(),i=this.parseIndex(A.endPos),s=this.parseIndex(i.endPos),a=this.parseIndex(s.endPos),n=this.parseIndex(a.endPos),r=this.parseDict(s.obj.get(0)),o=this.createDict(Jl,r,t.strings);t.header=A.obj,t.names=this.parseNameIndex(i.obj),t.strings=this.parseStringIndex(a.obj),t.topDict=o,t.globalSubrIndex=n.obj,this.parsePrivateDict(t.topDict),t.isCIDFont=o.hasName("ROS");const g=o.getByName("CharStrings"),h=this.parseIndex(g).obj,c=o.getByName("FontMatrix");c&&(e.fontMatrix=c);const l=o.getByName("FontBBox");let I,d;if(l&&(e.ascent=Math.max(l[3],l[1]),e.descent=Math.min(l[1],l[3]),e.ascentScaled=!0),t.isCIDFont){const e=this.parseIndex(o.getByName("FDArray")).obj;for(let A=0,i=e.count;A<i;++A){const i=e.get(A),s=this.createDict(Jl,this.parseDict(i),t.strings);this.parsePrivateDict(s),t.fdArray.push(s)}d=null,I=this.parseCharsets(o.getByName("charset"),h.count,t.strings,!0),t.fdSelect=this.parseFDSelect(o.getByName("FDSelect"),h.count)}else I=this.parseCharsets(o.getByName("charset"),h.count,t.strings,!1),d=this.parseEncoding(o.getByName("Encoding"),e,t.strings,I.charset);t.charset=I,t.encoding=d;const C=this.parseCharStrings({charStrings:h,localSubrIndex:o.privateDict.subrsIndex,globalSubrIndex:n.obj,fdSelect:t.fdSelect,fdArray:t.fdArray,privateDict:o.privateDict});return t.charStrings=C.charStrings,t.seacs=C.seacs,t.widths=C.widths,t}parseHeader(){let e=this.bytes;const t=e.length;let A=0;for(;A<t&&1!==e[A];)++A;if(A>=t)throw new yo("Invalid CFF header");0!==A&&(ho("cff data is shifted"),e=e.subarray(A),this.bytes=e);const i=e[0],s=e[1],a=e[2],n=e[3];return{obj:new Ml(i,s,a,n),endPos:a}}parseDict(e){let t=0;function A(){let A=e[t++];return 30===A?function(){let A="";const i=15,s=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"],a=e.length;for(;t<a;){const a=e[t++],n=a>>4,r=15&a;if(n===i)break;if(A+=s[n],r===i)break;A+=s[r]}return parseFloat(A)}():28===A?(A=e[t++],A=(A<<24|e[t++]<<16)>>16,A):29===A?(A=e[t++],A=A<<8|e[t++],A=A<<8|e[t++],A=A<<8|e[t++],A):A>=32&&A<=246?A-139:A>=247&&A<=250?256*(A-247)+e[t++]+108:A>=251&&A<=254?-256*(A-251)-e[t++]-108:(co('CFFParser_parseDict: "'+A+'" is a reserved command.'),NaN)}let i=[];const s=[];t=0;const a=e.length;for(;t<a;){let a=e[t];a<=21?(12===a&&(a=a<<8|e[++t]),s.push([a,i]),i=[],++t):i.push(A())}return s}parseIndex(e){const t=new Ll,A=this.bytes,i=A[e++]<<8|A[e++],s=[];let a,n,r=e;if(0!==i){const t=A[e++],o=e+(i+1)*t-1;for(a=0,n=i+1;a<n;++a){let i=0;for(let s=0;s<t;++s)i<<=8,i+=A[e++];s.push(o+i)}r=s[i]}for(a=0,n=s.length-1;a<n;++a){const e=s[a],i=s[a+1];t.add(A.subarray(e,i))}return{obj:t,endPos:r}}parseNameIndex(e){const t=[];for(let A=0,i=e.count;A<i;++A){const i=e.get(A);t.push(bo(i))}return t}parseStringIndex(e){const t=new Gl;for(let A=0,i=e.count;A<i;++A){const i=e.get(A);t.add(bo(i))}return t}createDict(e,t,A){const i=new e(A);for(const[e,A]of t)i.setByKey(e,A);return i}parseCharString(e,t,A,i){if(!t||e.callDepth>10)return!1;let s=e.stackSize;const a=e.stack;let n=t.length;for(let r=0;r<n;){const o=t[r++];let g=null;if(12===o){const e=t[r++];0===e?(t[r-2]=139,t[r-1]=22,s=0):g=xl[e]}else if(28===o)a[s]=(t[r]<<24|t[r+1]<<16)>>16,r+=2,s++;else if(14===o){if(s>=4&&(s-=4,this.seacAnalysisEnabled))return e.seac=a.slice(s,s+4),!1;g=Rl[o]}else if(o>=32&&o<=246)a[s]=o-139,s++;else if(o>=247&&o<=254)a[s]=o<251?(o-247<<8)+t[r]+108:-(o-251<<8)-t[r]-108,r++,s++;else if(255===o)a[s]=(t[r]<<24|t[r+1]<<16|t[r+2]<<8|t[r+3])/65536,r+=4,s++;else if(19===o||20===o){if(e.hints+=s>>1,0===e.hints){t.copyWithin(r-1,r,-1),r-=1,n-=1;continue}r+=e.hints+7>>3,s%=2,g=Rl[o]}else{if(10===o||29===o){const t=10===o?A:i;if(!t)return g=Rl[o],co("Missing subrsIndex for "+g.id),!1;let n=32768;t.count<1240?n=107:t.count<33900&&(n=1131);const r=a[--s]+n;if(r<0||r>=t.count||isNaN(r))return g=Rl[o],co("Out of bounds subrIndex for "+g.id),!1;e.stackSize=s,e.callDepth++;if(!this.parseCharString(e,t.get(r),A,i))return!1;e.callDepth--,s=e.stackSize;continue}if(11===o)return e.stackSize=s,!0;if(0===o&&r===t.length)t[r-1]=14,g=Rl[14];else{if(9===o){t.copyWithin(r-1,r,-1),r-=1,n-=1;continue}g=Rl[o]}}if(g){if(g.stem&&(e.hints+=s>>1,3===o||23===o?e.hasVStems=!0:!e.hasVStems||1!==o&&18!==o||(co("CFF stem hints are in wrong order"),t[r-1]=1===o?3:23)),"min"in g&&!e.undefStack&&s<g.min)return co("Not enough parameters for "+g.id+"; actual: "+s+", expected: "+g.min),0===s&&(t[r-1]=14,!0);e.firstStackClearing&&g.stackClearing&&(e.firstStackClearing=!1,s-=g.min,s>=2&&g.stem?s%=2:s>1&&co("Found too many parameters for stack-clearing command"),s>0&&(e.width=a[s-1])),"stackDelta"in g?("stackFn"in g&&g.stackFn(a,s),s+=g.stackDelta):g.stackClearing?s=0:g.resetStack?(s=0,e.undefStack=!1):g.undefStack&&(s=0,e.undefStack=!0,e.firstStackClearing=!1)}}return n<t.length&&t.fill(14,n),e.stackSize=s,!0}parseCharStrings({charStrings:e,localSubrIndex:t,globalSubrIndex:A,fdSelect:i,fdArray:s,privateDict:a}){const n=[],r=[],o=e.count;for(let g=0;g<o;g++){const o=e.get(g),h={callDepth:0,stackSize:0,stack:[],undefStack:!0,hints:0,firstStackClearing:!0,seac:null,width:null,hasVStems:!1};let c=!0,l=null,I=a;if(i&&s.length){const e=i.getFDIndex(g);-1===e&&(co("Glyph index is not in fd select."),c=!1),e>=s.length&&(co("Invalid fd index for glyph index."),c=!1),c&&(I=s[e].privateDict,l=I.subrsIndex)}else t&&(l=t);if(c&&(c=this.parseCharString(h,o,l,A)),null!==h.width){const e=I.getByName("nominalWidthX");r[g]=e+h.width}else{const e=I.getByName("defaultWidthX");r[g]=e}null!==h.seac&&(n[g]=h.seac),c||e.set(g,new Uint8Array([14]))}return{charStrings:e,seacs:n,widths:r}}emptyPrivateDictionary(e){const t=this.createDict(Pl,[],e.strings);e.setByKey(18,[0,0]),e.privateDict=t}parsePrivateDict(e){if(!e.hasName("Private"))return void this.emptyPrivateDictionary(e);const t=e.getByName("Private");if(!Array.isArray(t)||2!==t.length)return void e.removeByName("Private");const A=t[0],i=t[1];if(0===A||i>=this.bytes.length)return void this.emptyPrivateDictionary(e);const s=i+A,a=this.bytes.subarray(i,s),n=this.parseDict(a),r=this.createDict(Pl,n,e.strings);if(e.privateDict=r,0===r.getByName("ExpansionFactor")&&r.setByName("ExpansionFactor",.06),!r.getByName("Subrs"))return;const o=r.getByName("Subrs"),g=i+o;if(0===o||g>=this.bytes.length)return void this.emptyPrivateDictionary(e);const h=this.parseIndex(g);r.subrsIndex=h.obj}parseCharsets(e,t,A,i){if(0===e)return new Kl(!0,Yl.ISO_ADOBE,Bl);if(1===e)return new Kl(!0,Yl.EXPERT,Ql);if(2===e)return new Kl(!0,Yl.EXPERT_SUBSET,El);const s=this.bytes,a=e,n=s[e++],r=[i?0:".notdef"];let o,g,h;switch(t-=1,n){case 0:for(h=0;h<t;h++)o=s[e++]<<8|s[e++],r.push(i?o:A.get(o));break;case 1:for(;r.length<=t;)for(o=s[e++]<<8|s[e++],g=s[e++],h=0;h<=g;h++)r.push(i?o++:A.get(o++));break;case 2:for(;r.length<=t;)for(o=s[e++]<<8|s[e++],g=s[e++]<<8|s[e++],h=0;h<=g;h++)r.push(i?o++:A.get(o++));break;default:throw new yo("Unknown charset format")}const c=e,l=s.subarray(a,c);return new Kl(!1,n,r,l)}parseEncoding(e,t,A,i){const s=Object.create(null),a=this.bytes;let n,r,o,g=!1,h=null;if(0===e||1===e){g=!0,n=e;const t=e?fl:yl;for(r=0,o=i.length;r<o;r++){const e=t.indexOf(i[r]);-1!==e&&(s[e]=r)}}else{const t=e;switch(n=a[e++],127&n){case 0:const t=a[e++];for(r=1;r<=t;r++)s[a[e++]]=r;break;case 1:const A=a[e++];let i=1;for(r=0;r<A;r++){const t=a[e++],A=a[e++];for(let e=t;e<=t+A;e++)s[e]=i++}break;default:throw new yo(`Unknown encoding format: ${n} in CFF`)}const o=e;128&n&&(a[t]&=127,function(){const t=a[e++];for(r=0;r<t;r++){const t=a[e++],n=(a[e++]<<8)+(255&a[e++]);s[t]=i.indexOf(A.get(n))}}()),h=a.subarray(t,o)}return n&=127,new _l(g,n,s,h)}parseFDSelect(e,t){const A=this.bytes,i=A[e++],s=[];let a;switch(i){case 0:for(a=0;a<t;++a){const t=A[e++];s.push(t)}break;case 3:const n=A[e++]<<8|A[e++];for(a=0;a<n;++a){let t=A[e++]<<8|A[e++];0===a&&0!==t&&(co("parseFDSelect: The first range must have a first GID of 0 -- trying to recover."),t=0);const i=A[e++],n=A[e]<<8|A[e+1];for(let e=t;e<n;++e)s.push(i)}e+=2;break;default:throw new yo(`parseFDSelect: Unknown format "${i}".`)}if(s.length!==t)throw new yo("parseFDSelect: Invalid font data.");return new ql(i,s)}}class Nl{constructor(){this.header=null,this.names=[],this.topDict=null,this.strings=new Gl,this.globalSubrIndex=null,this.encoding=null,this.charset=null,this.charStrings=null,this.fdArray=[],this.fdSelect=null,this.isCIDFont=!1}duplicateFirstGlyph(){if(this.charStrings.count>=65535)return void co("Not enough space in charstrings to duplicate first glyph.");const e=this.charStrings.get(0);this.charStrings.add(e),this.isCIDFont&&this.fdSelect.fdSelect.push(this.fdSelect.fdSelect[0])}hasGlyphId(e){if(e<0||e>=this.charStrings.count)return!1;return this.charStrings.get(e).length>0}}class Ml{constructor(e,t,A,i){this.major=e,this.minor=t,this.hdrSize=A,this.offSize=i}}class Gl{constructor(){this.strings=[]}get(e){return e>=0&&e<=390?Sl[e]:e-Fl<=this.strings.length?this.strings[e-Fl]:Sl[0]}getSID(e){let t=Sl.indexOf(e);return-1!==t?t:(t=this.strings.indexOf(e),-1!==t?t+Fl:-1)}add(e){this.strings.push(e)}get count(){return this.strings.length}}class Ll{constructor(){this.objects=[],this.length=0}add(e){this.length+=e.length,this.objects.push(e)}set(e,t){this.length+=t.length-this.objects[e].length,this.objects[e]=t}get(e){return this.objects[e]}get count(){return this.objects.length}}class Ul{constructor(e,t){this.keyToNameMap=e.keyToNameMap,this.nameToKeyMap=e.nameToKeyMap,this.defaults=e.defaults,this.types=e.types,this.opcodes=e.opcodes,this.order=e.order,this.strings=t,this.values=Object.create(null)}setByKey(e,t){if(!(e in this.keyToNameMap))return!1;if(0===t.length)return!0;for(const A of t)if(isNaN(A))return co(`Invalid CFFDict value: "${t}" for key "${e}".`),!0;const A=this.types[e];return"num"!==A&&"sid"!==A&&"offset"!==A||(t=t[0]),this.values[e]=t,!0}setByName(e,t){if(!(e in this.nameToKeyMap))throw new yo(`Invalid dictionary name "${e}"`);this.values[this.nameToKeyMap[e]]=t}hasName(e){return this.nameToKeyMap[e]in this.values}getByName(e){if(!(e in this.nameToKeyMap))throw new yo(`Invalid dictionary name ${e}"`);const t=this.nameToKeyMap[e];return t in this.values?this.values[t]:this.defaults[t]}removeByName(e){delete this.values[this.nameToKeyMap[e]]}static createTables(e){const t={keyToNameMap:{},nameToKeyMap:{},defaults:{},types:{},opcodes:{},order:[]};for(const A of e){const e=Array.isArray(A[0])?(A[0][0]<<8)+A[0][1]:A[0];t.keyToNameMap[e]=A[1],t.nameToKeyMap[A[1]]=e,t.types[e]=A[2],t.defaults[e]=A[3],t.opcodes[e]=Array.isArray(A[0])?A[0]:[A[0]],t.order.push(e)}return t}}const Hl=[[[12,30],"ROS",["sid","sid","num"],null],[[12,20],"SyntheticBase","num",null],[0,"version","sid",null],[1,"Notice","sid",null],[[12,0],"Copyright","sid",null],[2,"FullName","sid",null],[3,"FamilyName","sid",null],[4,"Weight","sid",null],[[12,1],"isFixedPitch","num",0],[[12,2],"ItalicAngle","num",0],[[12,3],"UnderlinePosition","num",-100],[[12,4],"UnderlineThickness","num",50],[[12,5],"PaintType","num",0],[[12,6],"CharstringType","num",2],[[12,7],"FontMatrix",["num","num","num","num","num","num"],[.001,0,0,.001,0,0]],[13,"UniqueID","num",null],[5,"FontBBox",["num","num","num","num"],[0,0,0,0]],[[12,8],"StrokeWidth","num",0],[14,"XUID","array",null],[15,"charset","offset",0],[16,"Encoding","offset",0],[17,"CharStrings","offset",0],[18,"Private",["offset","offset"],null],[[12,21],"PostScript","sid",null],[[12,22],"BaseFontName","sid",null],[[12,23],"BaseFontBlend","delta",null],[[12,31],"CIDFontVersion","num",0],[[12,32],"CIDFontRevision","num",0],[[12,33],"CIDFontType","num",0],[[12,34],"CIDCount","num",8720],[[12,35],"UIDBase","num",null],[[12,37],"FDSelect","offset",null],[[12,36],"FDArray","offset",null],[[12,38],"FontName","sid",null]];class Jl extends Ul{static get tables(){return uo(this,"tables",this.createTables(Hl))}constructor(e){super(Jl.tables,e),this.privateDict=null}}const Tl=[[6,"BlueValues","delta",null],[7,"OtherBlues","delta",null],[8,"FamilyBlues","delta",null],[9,"FamilyOtherBlues","delta",null],[[12,9],"BlueScale","num",.039625],[[12,10],"BlueShift","num",7],[[12,11],"BlueFuzz","num",1],[10,"StdHW","num",null],[11,"StdVW","num",null],[[12,12],"StemSnapH","delta",null],[[12,13],"StemSnapV","delta",null],[[12,14],"ForceBold","num",0],[[12,17],"LanguageGroup","num",0],[[12,18],"ExpansionFactor","num",.06],[[12,19],"initialRandomSeed","num",0],[20,"defaultWidthX","num",0],[21,"nominalWidthX","num",0],[19,"Subrs","offset",null]];class Pl extends Ul{static get tables(){return uo(this,"tables",this.createTables(Tl))}constructor(e){super(Pl.tables,e),this.subrsIndex=null}}const Yl={ISO_ADOBE:0,EXPERT:1,EXPERT_SUBSET:2};class Kl{constructor(e,t,A,i){this.predefined=e,this.format=t,this.charset=A,this.raw=i}}class _l{constructor(e,t,A,i){this.predefined=e,this.format=t,this.encoding=A,this.raw=i}}class ql{constructor(e,t){this.format=e,this.fdSelect=t}getFDIndex(e){return e<0||e>=this.fdSelect.length?-1:this.fdSelect[e]}}class Ol{constructor(){this.offsets=Object.create(null)}isTracking(e){return e in this.offsets}track(e,t){if(e in this.offsets)throw new yo(`Already tracking location of ${e}`);this.offsets[e]=t}offset(e){for(const t in this.offsets)this.offsets[t]+=e}setEntryLocation(e,t,A){if(!(e in this.offsets))throw new yo(`Not tracking location of ${e}`);const i=A.data,s=this.offsets[e];for(let e=0,A=t.length;e<A;++e){const A=5*e+s,a=A+1,n=A+2,r=A+3,o=A+4;if(29!==i[A]||0!==i[a]||0!==i[n]||0!==i[r]||0!==i[o])throw new yo("writing to an offset that is not empty");const g=t[e];i[A]=29,i[a]=g>>24&255,i[n]=g>>16&255,i[r]=g>>8&255,i[o]=255&g}}}class Wl{constructor(e){this.cff=e}compile(){const e=this.cff,t={data:[],length:0,add(e){try{this.data.push(...e)}catch{this.data=this.data.concat(e)}this.length=this.data.length}},A=this.compileHeader(e.header);t.add(A);const i=this.compileNameIndex(e.names);if(t.add(i),e.isCIDFont&&e.topDict.hasName("FontMatrix")){const t=e.topDict.getByName("FontMatrix");e.topDict.removeByName("FontMatrix");for(const A of e.fdArray){let e=t.slice(0);A.hasName("FontMatrix")&&(e=xo.transform(e,A.getByName("FontMatrix"))),A.setByName("FontMatrix",e)}}const s=e.topDict.getByName("XUID");s?.length>16&&e.topDict.removeByName("XUID"),e.topDict.setByName("charset",0);let a=this.compileTopDicts([e.topDict],t.length,e.isCIDFont);t.add(a.output);const n=a.trackers[0],r=this.compileStringIndex(e.strings.strings);t.add(r);const o=this.compileIndex(e.globalSubrIndex);if(t.add(o),e.encoding&&e.topDict.hasName("Encoding"))if(e.encoding.predefined)n.setEntryLocation("Encoding",[e.encoding.format],t);else{const A=this.compileEncoding(e.encoding);n.setEntryLocation("Encoding",[t.length],t),t.add(A)}const g=this.compileCharset(e.charset,e.charStrings.count,e.strings,e.isCIDFont);n.setEntryLocation("charset",[t.length],t),t.add(g);const h=this.compileCharStrings(e.charStrings);if(n.setEntryLocation("CharStrings",[t.length],t),t.add(h),e.isCIDFont){n.setEntryLocation("FDSelect",[t.length],t);const A=this.compileFDSelect(e.fdSelect);t.add(A),a=this.compileTopDicts(e.fdArray,t.length,!0),n.setEntryLocation("FDArray",[t.length],t),t.add(a.output);const i=a.trackers;this.compilePrivateDicts(e.fdArray,i,t)}return this.compilePrivateDicts([e.topDict],[n],t),t.add([0]),t.data}encodeNumber(e){return Number.isInteger(e)?this.encodeInteger(e):this.encodeFloat(e)}static get EncodeFloatRegExp(){return uo(this,"EncodeFloatRegExp",/\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/)}encodeFloat(e){let t=e.toString();const A=Wl.EncodeFloatRegExp.exec(t);if(A){const i=parseFloat("1e"+((A[2]?+A[2]:0)+A[1].length));t=(Math.round(e*i)/i).toString()}let i,s,a="";for(i=0,s=t.length;i<s;++i){const e=t[i];a+="e"===e?"-"===t[++i]?"c":"b":"."===e?"a":"-"===e?"e":e}a+=1&a.length?"f":"ff";const n=[30];for(i=0,s=a.length;i<s;i+=2)n.push(parseInt(a.substring(i,i+2),16));return n}encodeInteger(e){let t;return t=e>=-107&&e<=107?[e+139]:e>=108&&e<=1131?[247+((e-=108)>>8),255&e]:e>=-1131&&e<=-108?[251+((e=-e-108)>>8),255&e]:e>=-32768&&e<=32767?[28,e>>8&255,255&e]:[29,e>>24&255,e>>16&255,e>>8&255,255&e],t}compileHeader(e){return[e.major,e.minor,4,e.offSize]}compileNameIndex(e){const t=new Ll;for(const A of e){const e=Math.min(A.length,127);let i=new Array(e);for(let t=0;t<e;t++){let e=A[t];(e<"!"||e>"~"||"["===e||"]"===e||"("===e||")"===e||"{"===e||"}"===e||"<"===e||">"===e||"/"===e||"%"===e)&&(e="_"),i[t]=e}i=i.join(""),""===i&&(i="Bad_Font_Name"),t.add(Do(i))}return this.compileIndex(t)}compileTopDicts(e,t,A){const i=[];let s=new Ll;for(const a of e){A&&(a.removeByName("CIDFontVersion"),a.removeByName("CIDFontRevision"),a.removeByName("CIDFontType"),a.removeByName("CIDCount"),a.removeByName("UIDBase"));const e=new Ol,n=this.compileDict(a,e);i.push(e),s.add(n),e.offset(t)}return s=this.compileIndex(s,i),{trackers:i,output:s}}compilePrivateDicts(e,t,A){for(let i=0,s=e.length;i<s;++i){const s=e[i],a=s.privateDict;if(!a||!s.hasName("Private"))throw new yo("There must be a private dictionary.");const n=new Ol,r=this.compileDict(a,n);let o=A.length;if(n.offset(o),r.length||(o=0),t[i].setEntryLocation("Private",[r.length,o],A),A.add(r),a.subrsIndex&&a.hasName("Subrs")){const e=this.compileIndex(a.subrsIndex);n.setEntryLocation("Subrs",[r.length],A),A.add(e)}}}compileDict(e,t){const A=[];for(const i of e.order){if(!(i in e.values))continue;let s=e.values[i],a=e.types[i];if(Array.isArray(a)||(a=[a]),Array.isArray(s)||(s=[s]),0!==s.length){for(let n=0,r=a.length;n<r;++n){const r=a[n],o=s[n];switch(r){case"num":case"sid":A.push(...this.encodeNumber(o));break;case"offset":const a=e.keyToNameMap[i];t.isTracking(a)||t.track(a,A.length),A.push(29,0,0,0,0);break;case"array":case"delta":A.push(...this.encodeNumber(o));for(let e=1,t=s.length;e<t;++e)A.push(...this.encodeNumber(s[e]));break;default:throw new yo(`Unknown data type of ${r}`)}}A.push(...e.opcodes[i])}}return A}compileStringIndex(e){const t=new Ll;for(const A of e)t.add(Do(A));return this.compileIndex(t)}compileCharStrings(e){const t=new Ll;for(let A=0;A<e.count;A++){const i=e.get(A);0!==i.length?t.add(i):t.add(new Uint8Array([139,14]))}return this.compileIndex(t)}compileCharset(e,t,A,i){let s;const a=t-1;if(i)s=new Uint8Array([2,0,0,a>>8&255,255&a]);else{s=new Uint8Array(1+2*a),s[0]=0;let t=0;const i=e.charset.length;let n=!1;for(let a=1;a<s.length;a+=2){let r=0;if(t<i){const i=e.charset[t++];r=A.getSID(i),-1===r&&(r=0,n||(n=!0,co(`Couldn't find ${i} in CFF strings`)))}s[a]=r>>8&255,s[a+1]=255&r}}return this.compileTypedArray(s)}compileEncoding(e){return this.compileTypedArray(e.raw)}compileFDSelect(e){const t=e.format;let A,i;switch(t){case 0:for(A=new Uint8Array(1+e.fdSelect.length),A[0]=t,i=0;i<e.fdSelect.length;i++)A[i+1]=e.fdSelect[i];break;case 3:const s=0;let a=e.fdSelect[0];const n=[t,0,0,s>>8&255,255&s,a];for(i=1;i<e.fdSelect.length;i++){const t=e.fdSelect[i];t!==a&&(n.push(i>>8&255,255&i,t),a=t)}const r=(n.length-3)/3;n[1]=r>>8&255,n[2]=255&r,n.push(i>>8&255,255&i),A=new Uint8Array(n)}return this.compileTypedArray(A)}compileTypedArray(e){return Array.from(e)}compileIndex(e,t=[]){const A=e.objects,i=A.length;if(0===i)return[0,0];const s=[i>>8&255,255&i];let a,n,r=1;for(a=0;a<i;++a)r+=A[a].length;n=r<256?1:r<65536?2:r<16777216?3:4,s.push(n);let o=1;for(a=0;a<i+1;a++)1===n?s.push(255&o):2===n?s.push(o>>8&255,255&o):3===n?s.push(o>>16&255,o>>8&255,255&o):s.push(o>>>24&255,o>>16&255,o>>8&255,255&o),A[a]&&(o+=A[a].length);for(a=0;a<i;a++)t[a]&&t[a].offset(s.length),s.push(...A[a]);return s}}const jl=Ig((function(e){e.A=65,e.AE=198,e.AEacute=508,e.AEmacron=482,e.AEsmall=63462,e.Aacute=193,e.Aacutesmall=63457,e.Abreve=258,e.Abreveacute=7854,e.Abrevecyrillic=1232,e.Abrevedotbelow=7862,e.Abrevegrave=7856,e.Abrevehookabove=7858,e.Abrevetilde=7860,e.Acaron=461,e.Acircle=9398,e.Acircumflex=194,e.Acircumflexacute=7844,e.Acircumflexdotbelow=7852,e.Acircumflexgrave=7846,e.Acircumflexhookabove=7848,e.Acircumflexsmall=63458,e.Acircumflextilde=7850,e.Acute=63177,e.Acutesmall=63412,e.Acyrillic=1040,e.Adblgrave=512,e.Adieresis=196,e.Adieresiscyrillic=1234,e.Adieresismacron=478,e.Adieresissmall=63460,e.Adotbelow=7840,e.Adotmacron=480,e.Agrave=192,e.Agravesmall=63456,e.Ahookabove=7842,e.Aiecyrillic=1236,e.Ainvertedbreve=514,e.Alpha=913,e.Alphatonos=902,e.Amacron=256,e.Amonospace=65313,e.Aogonek=260,e.Aring=197,e.Aringacute=506,e.Aringbelow=7680,e.Aringsmall=63461,e.Asmall=63329,e.Atilde=195,e.Atildesmall=63459,e.Aybarmenian=1329,e.B=66,e.Bcircle=9399,e.Bdotaccent=7682,e.Bdotbelow=7684,e.Becyrillic=1041,e.Benarmenian=1330,e.Beta=914,e.Bhook=385,e.Blinebelow=7686,e.Bmonospace=65314,e.Brevesmall=63220,e.Bsmall=63330,e.Btopbar=386,e.C=67,e.Caarmenian=1342,e.Cacute=262,e.Caron=63178,e.Caronsmall=63221,e.Ccaron=268,e.Ccedilla=199,e.Ccedillaacute=7688,e.Ccedillasmall=63463,e.Ccircle=9400,e.Ccircumflex=264,e.Cdot=266,e.Cdotaccent=266,e.Cedillasmall=63416,e.Chaarmenian=1353,e.Cheabkhasiancyrillic=1212,e.Checyrillic=1063,e.Chedescenderabkhasiancyrillic=1214,e.Chedescendercyrillic=1206,e.Chedieresiscyrillic=1268,e.Cheharmenian=1347,e.Chekhakassiancyrillic=1227,e.Cheverticalstrokecyrillic=1208,e.Chi=935,e.Chook=391,e.Circumflexsmall=63222,e.Cmonospace=65315,e.Coarmenian=1361,e.Csmall=63331,e.D=68,e.DZ=497,e.DZcaron=452,e.Daarmenian=1332,e.Dafrican=393,e.Dcaron=270,e.Dcedilla=7696,e.Dcircle=9401,e.Dcircumflexbelow=7698,e.Dcroat=272,e.Ddotaccent=7690,e.Ddotbelow=7692,e.Decyrillic=1044,e.Deicoptic=1006,e.Delta=8710,e.Deltagreek=916,e.Dhook=394,e.Dieresis=63179,e.DieresisAcute=63180,e.DieresisGrave=63181,e.Dieresissmall=63400,e.Digammagreek=988,e.Djecyrillic=1026,e.Dlinebelow=7694,e.Dmonospace=65316,e.Dotaccentsmall=63223,e.Dslash=272,e.Dsmall=63332,e.Dtopbar=395,e.Dz=498,e.Dzcaron=453,e.Dzeabkhasiancyrillic=1248,e.Dzecyrillic=1029,e.Dzhecyrillic=1039,e.E=69,e.Eacute=201,e.Eacutesmall=63465,e.Ebreve=276,e.Ecaron=282,e.Ecedillabreve=7708,e.Echarmenian=1333,e.Ecircle=9402,e.Ecircumflex=202,e.Ecircumflexacute=7870,e.Ecircumflexbelow=7704,e.Ecircumflexdotbelow=7878,e.Ecircumflexgrave=7872,e.Ecircumflexhookabove=7874,e.Ecircumflexsmall=63466,e.Ecircumflextilde=7876,e.Ecyrillic=1028,e.Edblgrave=516,e.Edieresis=203,e.Edieresissmall=63467,e.Edot=278,e.Edotaccent=278,e.Edotbelow=7864,e.Efcyrillic=1060,e.Egrave=200,e.Egravesmall=63464,e.Eharmenian=1335,e.Ehookabove=7866,e.Eightroman=8551,e.Einvertedbreve=518,e.Eiotifiedcyrillic=1124,e.Elcyrillic=1051,e.Elevenroman=8554,e.Emacron=274,e.Emacronacute=7702,e.Emacrongrave=7700,e.Emcyrillic=1052,e.Emonospace=65317,e.Encyrillic=1053,e.Endescendercyrillic=1186,e.Eng=330,e.Enghecyrillic=1188,e.Enhookcyrillic=1223,e.Eogonek=280,e.Eopen=400,e.Epsilon=917,e.Epsilontonos=904,e.Ercyrillic=1056,e.Ereversed=398,e.Ereversedcyrillic=1069,e.Escyrillic=1057,e.Esdescendercyrillic=1194,e.Esh=425,e.Esmall=63333,e.Eta=919,e.Etarmenian=1336,e.Etatonos=905,e.Eth=208,e.Ethsmall=63472,e.Etilde=7868,e.Etildebelow=7706,e.Euro=8364,e.Ezh=439,e.Ezhcaron=494,e.Ezhreversed=440,e.F=70,e.Fcircle=9403,e.Fdotaccent=7710,e.Feharmenian=1366,e.Feicoptic=996,e.Fhook=401,e.Fitacyrillic=1138,e.Fiveroman=8548,e.Fmonospace=65318,e.Fourroman=8547,e.Fsmall=63334,e.G=71,e.GBsquare=13191,e.Gacute=500,e.Gamma=915,e.Gammaafrican=404,e.Gangiacoptic=1002,e.Gbreve=286,e.Gcaron=486,e.Gcedilla=290,e.Gcircle=9404,e.Gcircumflex=284,e.Gcommaaccent=290,e.Gdot=288,e.Gdotaccent=288,e.Gecyrillic=1043,e.Ghadarmenian=1346,e.Ghemiddlehookcyrillic=1172,e.Ghestrokecyrillic=1170,e.Gheupturncyrillic=1168,e.Ghook=403,e.Gimarmenian=1331,e.Gjecyrillic=1027,e.Gmacron=7712,e.Gmonospace=65319,e.Grave=63182,e.Gravesmall=63328,e.Gsmall=63335,e.Gsmallhook=667,e.Gstroke=484,e.H=72,e.H18533=9679,e.H18543=9642,e.H18551=9643,e.H22073=9633,e.HPsquare=13259,e.Haabkhasiancyrillic=1192,e.Hadescendercyrillic=1202,e.Hardsigncyrillic=1066,e.Hbar=294,e.Hbrevebelow=7722,e.Hcedilla=7720,e.Hcircle=9405,e.Hcircumflex=292,e.Hdieresis=7718,e.Hdotaccent=7714,e.Hdotbelow=7716,e.Hmonospace=65320,e.Hoarmenian=1344,e.Horicoptic=1e3,e.Hsmall=63336,e.Hungarumlaut=63183,e.Hungarumlautsmall=63224,e.Hzsquare=13200,e.I=73,e.IAcyrillic=1071,e.IJ=306,e.IUcyrillic=1070,e.Iacute=205,e.Iacutesmall=63469,e.Ibreve=300,e.Icaron=463,e.Icircle=9406,e.Icircumflex=206,e.Icircumflexsmall=63470,e.Icyrillic=1030,e.Idblgrave=520,e.Idieresis=207,e.Idieresisacute=7726,e.Idieresiscyrillic=1252,e.Idieresissmall=63471,e.Idot=304,e.Idotaccent=304,e.Idotbelow=7882,e.Iebrevecyrillic=1238,e.Iecyrillic=1045,e.Ifraktur=8465,e.Igrave=204,e.Igravesmall=63468,e.Ihookabove=7880,e.Iicyrillic=1048,e.Iinvertedbreve=522,e.Iishortcyrillic=1049,e.Imacron=298,e.Imacroncyrillic=1250,e.Imonospace=65321,e.Iniarmenian=1339,e.Iocyrillic=1025,e.Iogonek=302,e.Iota=921,e.Iotaafrican=406,e.Iotadieresis=938,e.Iotatonos=906,e.Ismall=63337,e.Istroke=407,e.Itilde=296,e.Itildebelow=7724,e.Izhitsacyrillic=1140,e.Izhitsadblgravecyrillic=1142,e.J=74,e.Jaarmenian=1345,e.Jcircle=9407,e.Jcircumflex=308,e.Jecyrillic=1032,e.Jheharmenian=1355,e.Jmonospace=65322,e.Jsmall=63338,e.K=75,e.KBsquare=13189,e.KKsquare=13261,e.Kabashkircyrillic=1184,e.Kacute=7728,e.Kacyrillic=1050,e.Kadescendercyrillic=1178,e.Kahookcyrillic=1219,e.Kappa=922,e.Kastrokecyrillic=1182,e.Kaverticalstrokecyrillic=1180,e.Kcaron=488,e.Kcedilla=310,e.Kcircle=9408,e.Kcommaaccent=310,e.Kdotbelow=7730,e.Keharmenian=1364,e.Kenarmenian=1343,e.Khacyrillic=1061,e.Kheicoptic=998,e.Khook=408,e.Kjecyrillic=1036,e.Klinebelow=7732,e.Kmonospace=65323,e.Koppacyrillic=1152,e.Koppagreek=990,e.Ksicyrillic=1134,e.Ksmall=63339,e.L=76,e.LJ=455,e.LL=63167,e.Lacute=313,e.Lambda=923,e.Lcaron=317,e.Lcedilla=315,e.Lcircle=9409,e.Lcircumflexbelow=7740,e.Lcommaaccent=315,e.Ldot=319,e.Ldotaccent=319,e.Ldotbelow=7734,e.Ldotbelowmacron=7736,e.Liwnarmenian=1340,e.Lj=456,e.Ljecyrillic=1033,e.Llinebelow=7738,e.Lmonospace=65324,e.Lslash=321,e.Lslashsmall=63225,e.Lsmall=63340,e.M=77,e.MBsquare=13190,e.Macron=63184,e.Macronsmall=63407,e.Macute=7742,e.Mcircle=9410,e.Mdotaccent=7744,e.Mdotbelow=7746,e.Menarmenian=1348,e.Mmonospace=65325,e.Msmall=63341,e.Mturned=412,e.Mu=924,e.N=78,e.NJ=458,e.Nacute=323,e.Ncaron=327,e.Ncedilla=325,e.Ncircle=9411,e.Ncircumflexbelow=7754,e.Ncommaaccent=325,e.Ndotaccent=7748,e.Ndotbelow=7750,e.Nhookleft=413,e.Nineroman=8552,e.Nj=459,e.Njecyrillic=1034,e.Nlinebelow=7752,e.Nmonospace=65326,e.Nowarmenian=1350,e.Nsmall=63342,e.Ntilde=209,e.Ntildesmall=63473,e.Nu=925,e.O=79,e.OE=338,e.OEsmall=63226,e.Oacute=211,e.Oacutesmall=63475,e.Obarredcyrillic=1256,e.Obarreddieresiscyrillic=1258,e.Obreve=334,e.Ocaron=465,e.Ocenteredtilde=415,e.Ocircle=9412,e.Ocircumflex=212,e.Ocircumflexacute=7888,e.Ocircumflexdotbelow=7896,e.Ocircumflexgrave=7890,e.Ocircumflexhookabove=7892,e.Ocircumflexsmall=63476,e.Ocircumflextilde=7894,e.Ocyrillic=1054,e.Odblacute=336,e.Odblgrave=524,e.Odieresis=214,e.Odieresiscyrillic=1254,e.Odieresissmall=63478,e.Odotbelow=7884,e.Ogoneksmall=63227,e.Ograve=210,e.Ogravesmall=63474,e.Oharmenian=1365,e.Ohm=8486,e.Ohookabove=7886,e.Ohorn=416,e.Ohornacute=7898,e.Ohorndotbelow=7906,e.Ohorngrave=7900,e.Ohornhookabove=7902,e.Ohorntilde=7904,e.Ohungarumlaut=336,e.Oi=418,e.Oinvertedbreve=526,e.Omacron=332,e.Omacronacute=7762,e.Omacrongrave=7760,e.Omega=8486,e.Omegacyrillic=1120,e.Omegagreek=937,e.Omegaroundcyrillic=1146,e.Omegatitlocyrillic=1148,e.Omegatonos=911,e.Omicron=927,e.Omicrontonos=908,e.Omonospace=65327,e.Oneroman=8544,e.Oogonek=490,e.Oogonekmacron=492,e.Oopen=390,e.Oslash=216,e.Oslashacute=510,e.Oslashsmall=63480,e.Osmall=63343,e.Ostrokeacute=510,e.Otcyrillic=1150,e.Otilde=213,e.Otildeacute=7756,e.Otildedieresis=7758,e.Otildesmall=63477,e.P=80,e.Pacute=7764,e.Pcircle=9413,e.Pdotaccent=7766,e.Pecyrillic=1055,e.Peharmenian=1354,e.Pemiddlehookcyrillic=1190,e.Phi=934,e.Phook=420,e.Pi=928,e.Piwrarmenian=1363,e.Pmonospace=65328,e.Psi=936,e.Psicyrillic=1136,e.Psmall=63344,e.Q=81,e.Qcircle=9414,e.Qmonospace=65329,e.Qsmall=63345,e.R=82,e.Raarmenian=1356,e.Racute=340,e.Rcaron=344,e.Rcedilla=342,e.Rcircle=9415,e.Rcommaaccent=342,e.Rdblgrave=528,e.Rdotaccent=7768,e.Rdotbelow=7770,e.Rdotbelowmacron=7772,e.Reharmenian=1360,e.Rfraktur=8476,e.Rho=929,e.Ringsmall=63228,e.Rinvertedbreve=530,e.Rlinebelow=7774,e.Rmonospace=65330,e.Rsmall=63346,e.Rsmallinverted=641,e.Rsmallinvertedsuperior=694,e.S=83,e.SF010000=9484,e.SF020000=9492,e.SF030000=9488,e.SF040000=9496,e.SF050000=9532,e.SF060000=9516,e.SF070000=9524,e.SF080000=9500,e.SF090000=9508,e.SF100000=9472,e.SF110000=9474,e.SF190000=9569,e.SF200000=9570,e.SF210000=9558,e.SF220000=9557,e.SF230000=9571,e.SF240000=9553,e.SF250000=9559,e.SF260000=9565,e.SF270000=9564,e.SF280000=9563,e.SF360000=9566,e.SF370000=9567,e.SF380000=9562,e.SF390000=9556,e.SF400000=9577,e.SF410000=9574,e.SF420000=9568,e.SF430000=9552,e.SF440000=9580,e.SF450000=9575,e.SF460000=9576,e.SF470000=9572,e.SF480000=9573,e.SF490000=9561,e.SF500000=9560,e.SF510000=9554,e.SF520000=9555,e.SF530000=9579,e.SF540000=9578,e.Sacute=346,e.Sacutedotaccent=7780,e.Sampigreek=992,e.Scaron=352,e.Scarondotaccent=7782,e.Scaronsmall=63229,e.Scedilla=350,e.Schwa=399,e.Schwacyrillic=1240,e.Schwadieresiscyrillic=1242,e.Scircle=9416,e.Scircumflex=348,e.Scommaaccent=536,e.Sdotaccent=7776,e.Sdotbelow=7778,e.Sdotbelowdotaccent=7784,e.Seharmenian=1357,e.Sevenroman=8550,e.Shaarmenian=1351,e.Shacyrillic=1064,e.Shchacyrillic=1065,e.Sheicoptic=994,e.Shhacyrillic=1210,e.Shimacoptic=1004,e.Sigma=931,e.Sixroman=8549,e.Smonospace=65331,e.Softsigncyrillic=1068,e.Ssmall=63347,e.Stigmagreek=986,e.T=84,e.Tau=932,e.Tbar=358,e.Tcaron=356,e.Tcedilla=354,e.Tcircle=9417,e.Tcircumflexbelow=7792,e.Tcommaaccent=354,e.Tdotaccent=7786,e.Tdotbelow=7788,e.Tecyrillic=1058,e.Tedescendercyrillic=1196,e.Tenroman=8553,e.Tetsecyrillic=1204,e.Theta=920,e.Thook=428,e.Thorn=222,e.Thornsmall=63486,e.Threeroman=8546,e.Tildesmall=63230,e.Tiwnarmenian=1359,e.Tlinebelow=7790,e.Tmonospace=65332,e.Toarmenian=1337,e.Tonefive=444,e.Tonesix=388,e.Tonetwo=423,e.Tretroflexhook=430,e.Tsecyrillic=1062,e.Tshecyrillic=1035,e.Tsmall=63348,e.Twelveroman=8555,e.Tworoman=8545,e.U=85,e.Uacute=218,e.Uacutesmall=63482,e.Ubreve=364,e.Ucaron=467,e.Ucircle=9418,e.Ucircumflex=219,e.Ucircumflexbelow=7798,e.Ucircumflexsmall=63483,e.Ucyrillic=1059,e.Udblacute=368,e.Udblgrave=532,e.Udieresis=220,e.Udieresisacute=471,e.Udieresisbelow=7794,e.Udieresiscaron=473,e.Udieresiscyrillic=1264,e.Udieresisgrave=475,e.Udieresismacron=469,e.Udieresissmall=63484,e.Udotbelow=7908,e.Ugrave=217,e.Ugravesmall=63481,e.Uhookabove=7910,e.Uhorn=431,e.Uhornacute=7912,e.Uhorndotbelow=7920,e.Uhorngrave=7914,e.Uhornhookabove=7916,e.Uhorntilde=7918,e.Uhungarumlaut=368,e.Uhungarumlautcyrillic=1266,e.Uinvertedbreve=534,e.Ukcyrillic=1144,e.Umacron=362,e.Umacroncyrillic=1262,e.Umacrondieresis=7802,e.Umonospace=65333,e.Uogonek=370,e.Upsilon=933,e.Upsilon1=978,e.Upsilonacutehooksymbolgreek=979,e.Upsilonafrican=433,e.Upsilondieresis=939,e.Upsilondieresishooksymbolgreek=980,e.Upsilonhooksymbol=978,e.Upsilontonos=910,e.Uring=366,e.Ushortcyrillic=1038,e.Usmall=63349,e.Ustraightcyrillic=1198,e.Ustraightstrokecyrillic=1200,e.Utilde=360,e.Utildeacute=7800,e.Utildebelow=7796,e.V=86,e.Vcircle=9419,e.Vdotbelow=7806,e.Vecyrillic=1042,e.Vewarmenian=1358,e.Vhook=434,e.Vmonospace=65334,e.Voarmenian=1352,e.Vsmall=63350,e.Vtilde=7804,e.W=87,e.Wacute=7810,e.Wcircle=9420,e.Wcircumflex=372,e.Wdieresis=7812,e.Wdotaccent=7814,e.Wdotbelow=7816,e.Wgrave=7808,e.Wmonospace=65335,e.Wsmall=63351,e.X=88,e.Xcircle=9421,e.Xdieresis=7820,e.Xdotaccent=7818,e.Xeharmenian=1341,e.Xi=926,e.Xmonospace=65336,e.Xsmall=63352,e.Y=89,e.Yacute=221,e.Yacutesmall=63485,e.Yatcyrillic=1122,e.Ycircle=9422,e.Ycircumflex=374,e.Ydieresis=376,e.Ydieresissmall=63487,e.Ydotaccent=7822,e.Ydotbelow=7924,e.Yericyrillic=1067,e.Yerudieresiscyrillic=1272,e.Ygrave=7922,e.Yhook=435,e.Yhookabove=7926,e.Yiarmenian=1349,e.Yicyrillic=1031,e.Yiwnarmenian=1362,e.Ymonospace=65337,e.Ysmall=63353,e.Ytilde=7928,e.Yusbigcyrillic=1130,e.Yusbigiotifiedcyrillic=1132,e.Yuslittlecyrillic=1126,e.Yuslittleiotifiedcyrillic=1128,e.Z=90,e.Zaarmenian=1334,e.Zacute=377,e.Zcaron=381,e.Zcaronsmall=63231,e.Zcircle=9423,e.Zcircumflex=7824,e.Zdot=379,e.Zdotaccent=379,e.Zdotbelow=7826,e.Zecyrillic=1047,e.Zedescendercyrillic=1176,e.Zedieresiscyrillic=1246,e.Zeta=918,e.Zhearmenian=1338,e.Zhebrevecyrillic=1217,e.Zhecyrillic=1046,e.Zhedescendercyrillic=1174,e.Zhedieresiscyrillic=1244,e.Zlinebelow=7828,e.Zmonospace=65338,e.Zsmall=63354,e.Zstroke=437,e.a=97,e.aabengali=2438,e.aacute=225,e.aadeva=2310,e.aagujarati=2694,e.aagurmukhi=2566,e.aamatragurmukhi=2622,e.aarusquare=13059,e.aavowelsignbengali=2494,e.aavowelsigndeva=2366,e.aavowelsigngujarati=2750,e.abbreviationmarkarmenian=1375,e.abbreviationsigndeva=2416,e.abengali=2437,e.abopomofo=12570,e.abreve=259,e.abreveacute=7855,e.abrevecyrillic=1233,e.abrevedotbelow=7863,e.abrevegrave=7857,e.abrevehookabove=7859,e.abrevetilde=7861,e.acaron=462,e.acircle=9424,e.acircumflex=226,e.acircumflexacute=7845,e.acircumflexdotbelow=7853,e.acircumflexgrave=7847,e.acircumflexhookabove=7849,e.acircumflextilde=7851,e.acute=180,e.acutebelowcmb=791,e.acutecmb=769,e.acutecomb=769,e.acutedeva=2388,e.acutelowmod=719,e.acutetonecmb=833,e.acyrillic=1072,e.adblgrave=513,e.addakgurmukhi=2673,e.adeva=2309,e.adieresis=228,e.adieresiscyrillic=1235,e.adieresismacron=479,e.adotbelow=7841,e.adotmacron=481,e.ae=230,e.aeacute=509,e.aekorean=12624,e.aemacron=483,e.afii00208=8213,e.afii08941=8356,e.afii10017=1040,e.afii10018=1041,e.afii10019=1042,e.afii10020=1043,e.afii10021=1044,e.afii10022=1045,e.afii10023=1025,e.afii10024=1046,e.afii10025=1047,e.afii10026=1048,e.afii10027=1049,e.afii10028=1050,e.afii10029=1051,e.afii10030=1052;e.afii10031=1053,e.afii10032=1054,e.afii10033=1055,e.afii10034=1056,e.afii10035=1057,e.afii10036=1058,e.afii10037=1059,e.afii10038=1060,e.afii10039=1061,e.afii10040=1062,e.afii10041=1063,e.afii10042=1064,e.afii10043=1065,e.afii10044=1066,e.afii10045=1067,e.afii10046=1068,e.afii10047=1069,e.afii10048=1070,e.afii10049=1071,e.afii10050=1168,e.afii10051=1026,e.afii10052=1027,e.afii10053=1028,e.afii10054=1029,e.afii10055=1030,e.afii10056=1031,e.afii10057=1032,e.afii10058=1033,e.afii10059=1034,e.afii10060=1035,e.afii10061=1036,e.afii10062=1038,e.afii10063=63172,e.afii10064=63173,e.afii10065=1072,e.afii10066=1073,e.afii10067=1074,e.afii10068=1075,e.afii10069=1076,e.afii10070=1077,e.afii10071=1105,e.afii10072=1078,e.afii10073=1079,e.afii10074=1080,e.afii10075=1081,e.afii10076=1082,e.afii10077=1083,e.afii10078=1084,e.afii10079=1085,e.afii10080=1086,e.afii10081=1087,e.afii10082=1088,e.afii10083=1089,e.afii10084=1090,e.afii10085=1091,e.afii10086=1092,e.afii10087=1093,e.afii10088=1094,e.afii10089=1095,e.afii10090=1096,e.afii10091=1097,e.afii10092=1098,e.afii10093=1099,e.afii10094=1100,e.afii10095=1101,e.afii10096=1102,e.afii10097=1103,e.afii10098=1169,e.afii10099=1106,e.afii10100=1107,e.afii10101=1108,e.afii10102=1109,e.afii10103=1110,e.afii10104=1111,e.afii10105=1112,e.afii10106=1113,e.afii10107=1114,e.afii10108=1115,e.afii10109=1116,e.afii10110=1118,e.afii10145=1039,e.afii10146=1122,e.afii10147=1138,e.afii10148=1140,e.afii10192=63174,e.afii10193=1119,e.afii10194=1123,e.afii10195=1139,e.afii10196=1141,e.afii10831=63175,e.afii10832=63176,e.afii10846=1241,e.afii299=8206,e.afii300=8207,e.afii301=8205,e.afii57381=1642,e.afii57388=1548,e.afii57392=1632,e.afii57393=1633,e.afii57394=1634,e.afii57395=1635,e.afii57396=1636,e.afii57397=1637,e.afii57398=1638,e.afii57399=1639,e.afii57400=1640,e.afii57401=1641,e.afii57403=1563,e.afii57407=1567,e.afii57409=1569,e.afii57410=1570,e.afii57411=1571,e.afii57412=1572,e.afii57413=1573,e.afii57414=1574,e.afii57415=1575,e.afii57416=1576,e.afii57417=1577,e.afii57418=1578,e.afii57419=1579,e.afii57420=1580,e.afii57421=1581,e.afii57422=1582,e.afii57423=1583,e.afii57424=1584,e.afii57425=1585,e.afii57426=1586,e.afii57427=1587,e.afii57428=1588,e.afii57429=1589,e.afii57430=1590,e.afii57431=1591,e.afii57432=1592,e.afii57433=1593,e.afii57434=1594,e.afii57440=1600,e.afii57441=1601,e.afii57442=1602,e.afii57443=1603,e.afii57444=1604,e.afii57445=1605,e.afii57446=1606,e.afii57448=1608,e.afii57449=1609,e.afii57450=1610,e.afii57451=1611,e.afii57452=1612,e.afii57453=1613,e.afii57454=1614,e.afii57455=1615,e.afii57456=1616,e.afii57457=1617,e.afii57458=1618,e.afii57470=1607,e.afii57505=1700,e.afii57506=1662,e.afii57507=1670,e.afii57508=1688,e.afii57509=1711,e.afii57511=1657,e.afii57512=1672,e.afii57513=1681,e.afii57514=1722,e.afii57519=1746,e.afii57534=1749,e.afii57636=8362,e.afii57645=1470,e.afii57658=1475,e.afii57664=1488,e.afii57665=1489,e.afii57666=1490,e.afii57667=1491,e.afii57668=1492,e.afii57669=1493,e.afii57670=1494,e.afii57671=1495,e.afii57672=1496,e.afii57673=1497,e.afii57674=1498,e.afii57675=1499,e.afii57676=1500,e.afii57677=1501,e.afii57678=1502,e.afii57679=1503,e.afii57680=1504,e.afii57681=1505,e.afii57682=1506,e.afii57683=1507,e.afii57684=1508,e.afii57685=1509,e.afii57686=1510,e.afii57687=1511,e.afii57688=1512,e.afii57689=1513,e.afii57690=1514,e.afii57694=64298,e.afii57695=64299,e.afii57700=64331,e.afii57705=64287,e.afii57716=1520,e.afii57717=1521,e.afii57718=1522,e.afii57723=64309,e.afii57793=1460,e.afii57794=1461,e.afii57795=1462,e.afii57796=1467,e.afii57797=1464,e.afii57798=1463,e.afii57799=1456,e.afii57800=1458,e.afii57801=1457,e.afii57802=1459,e.afii57803=1474,e.afii57804=1473,e.afii57806=1465,e.afii57807=1468,e.afii57839=1469,e.afii57841=1471,e.afii57842=1472,e.afii57929=700,e.afii61248=8453,e.afii61289=8467,e.afii61352=8470,e.afii61573=8236,e.afii61574=8237,e.afii61575=8238,e.afii61664=8204,e.afii63167=1645,e.afii64937=701,e.agrave=224,e.agujarati=2693,e.agurmukhi=2565,e.ahiragana=12354,e.ahookabove=7843,e.aibengali=2448,e.aibopomofo=12574,e.aideva=2320,e.aiecyrillic=1237,e.aigujarati=2704,e.aigurmukhi=2576,e.aimatragurmukhi=2632,e.ainarabic=1593,e.ainfinalarabic=65226,e.aininitialarabic=65227,e.ainmedialarabic=65228,e.ainvertedbreve=515,e.aivowelsignbengali=2504,e.aivowelsigndeva=2376,e.aivowelsigngujarati=2760,e.akatakana=12450,e.akatakanahalfwidth=65393,e.akorean=12623,e.alef=1488,e.alefarabic=1575,e.alefdageshhebrew=64304,e.aleffinalarabic=65166,e.alefhamzaabovearabic=1571,e.alefhamzaabovefinalarabic=65156,e.alefhamzabelowarabic=1573,e.alefhamzabelowfinalarabic=65160,e.alefhebrew=1488,e.aleflamedhebrew=64335,e.alefmaddaabovearabic=1570,e.alefmaddaabovefinalarabic=65154,e.alefmaksuraarabic=1609,e.alefmaksurafinalarabic=65264,e.alefmaksurainitialarabic=65267,e.alefmaksuramedialarabic=65268,e.alefpatahhebrew=64302,e.alefqamatshebrew=64303,e.aleph=8501,e.allequal=8780,e.alpha=945,e.alphatonos=940,e.amacron=257,e.amonospace=65345,e.ampersand=38,e.ampersandmonospace=65286,e.ampersandsmall=63270,e.amsquare=13250,e.anbopomofo=12578,e.angbopomofo=12580,e.angbracketleft=12296,e.angbracketright=12297,e.angkhankhuthai=3674,e.angle=8736,e.anglebracketleft=12296,e.anglebracketleftvertical=65087,e.anglebracketright=12297,e.anglebracketrightvertical=65088,e.angleleft=9001,e.angleright=9002,e.angstrom=8491,e.anoteleia=903,e.anudattadeva=2386,e.anusvarabengali=2434,e.anusvaradeva=2306,e.anusvaragujarati=2690,e.aogonek=261,e.apaatosquare=13056,e.aparen=9372,e.apostrophearmenian=1370,e.apostrophemod=700,e.apple=63743,e.approaches=8784,e.approxequal=8776,e.approxequalorimage=8786,e.approximatelyequal=8773,e.araeaekorean=12686,e.araeakorean=12685,e.arc=8978,e.arighthalfring=7834,e.aring=229,e.aringacute=507,e.aringbelow=7681,e.arrowboth=8596,e.arrowdashdown=8675,e.arrowdashleft=8672,e.arrowdashright=8674,e.arrowdashup=8673,e.arrowdblboth=8660,e.arrowdbldown=8659,e.arrowdblleft=8656,e.arrowdblright=8658,e.arrowdblup=8657,e.arrowdown=8595,e.arrowdownleft=8601,e.arrowdownright=8600,e.arrowdownwhite=8681,e.arrowheaddownmod=709,e.arrowheadleftmod=706,e.arrowheadrightmod=707,e.arrowheadupmod=708,e.arrowhorizex=63719,e.arrowleft=8592,e.arrowleftdbl=8656,e.arrowleftdblstroke=8653,e.arrowleftoverright=8646,e.arrowleftwhite=8678,e.arrowright=8594,e.arrowrightdblstroke=8655,e.arrowrightheavy=10142,e.arrowrightoverleft=8644,e.arrowrightwhite=8680,e.arrowtableft=8676,e.arrowtabright=8677,e.arrowup=8593,e.arrowupdn=8597,e.arrowupdnbse=8616,e.arrowupdownbase=8616,e.arrowupleft=8598,e.arrowupleftofdown=8645,e.arrowupright=8599,e.arrowupwhite=8679,e.arrowvertex=63718,e.asciicircum=94,e.asciicircummonospace=65342,e.asciitilde=126,e.asciitildemonospace=65374,e.ascript=593,e.ascriptturned=594,e.asmallhiragana=12353,e.asmallkatakana=12449,e.asmallkatakanahalfwidth=65383,e.asterisk=42,e.asteriskaltonearabic=1645,e.asteriskarabic=1645,e.asteriskmath=8727,e.asteriskmonospace=65290,e.asterisksmall=65121,e.asterism=8258,e.asuperior=63209,e.asymptoticallyequal=8771,e.at=64,e.atilde=227,e.atmonospace=65312,e.atsmall=65131,e.aturned=592,e.aubengali=2452,e.aubopomofo=12576,e.audeva=2324,e.augujarati=2708,e.augurmukhi=2580,e.aulengthmarkbengali=2519,e.aumatragurmukhi=2636,e.auvowelsignbengali=2508,e.auvowelsigndeva=2380,e.auvowelsigngujarati=2764,e.avagrahadeva=2365,e.aybarmenian=1377,e.ayin=1506,e.ayinaltonehebrew=64288,e.ayinhebrew=1506,e.b=98,e.babengali=2476,e.backslash=92,e.backslashmonospace=65340,e.badeva=2348,e.bagujarati=2732,e.bagurmukhi=2604,e.bahiragana=12400,e.bahtthai=3647,e.bakatakana=12496,e.bar=124,e.barmonospace=65372,e.bbopomofo=12549,e.bcircle=9425,e.bdotaccent=7683,e.bdotbelow=7685,e.beamedsixteenthnotes=9836,e.because=8757,e.becyrillic=1073,e.beharabic=1576,e.behfinalarabic=65168,e.behinitialarabic=65169,e.behiragana=12409,e.behmedialarabic=65170,e.behmeeminitialarabic=64671,e.behmeemisolatedarabic=64520,e.behnoonfinalarabic=64621,e.bekatakana=12505,e.benarmenian=1378,e.bet=1489,e.beta=946,e.betasymbolgreek=976,e.betdagesh=64305,e.betdageshhebrew=64305,e.bethebrew=1489,e.betrafehebrew=64332,e.bhabengali=2477,e.bhadeva=2349,e.bhagujarati=2733,e.bhagurmukhi=2605,e.bhook=595,e.bihiragana=12403,e.bikatakana=12499,e.bilabialclick=664,e.bindigurmukhi=2562,e.birusquare=13105,e.blackcircle=9679,e.blackdiamond=9670,e.blackdownpointingtriangle=9660,e.blackleftpointingpointer=9668,e.blackleftpointingtriangle=9664,e.blacklenticularbracketleft=12304,e.blacklenticularbracketleftvertical=65083,e.blacklenticularbracketright=12305,e.blacklenticularbracketrightvertical=65084,e.blacklowerlefttriangle=9699,e.blacklowerrighttriangle=9698,e.blackrectangle=9644,e.blackrightpointingpointer=9658,e.blackrightpointingtriangle=9654,e.blacksmallsquare=9642,e.blacksmilingface=9787,e.blacksquare=9632,e.blackstar=9733,e.blackupperlefttriangle=9700,e.blackupperrighttriangle=9701,e.blackuppointingsmalltriangle=9652,e.blackuppointingtriangle=9650,e.blank=9251,e.blinebelow=7687,e.block=9608,e.bmonospace=65346,e.bobaimaithai=3610,e.bohiragana=12412,e.bokatakana=12508,e.bparen=9373,e.bqsquare=13251,e.braceex=63732,e.braceleft=123,e.braceleftbt=63731,e.braceleftmid=63730,e.braceleftmonospace=65371,e.braceleftsmall=65115,e.bracelefttp=63729,e.braceleftvertical=65079,e.braceright=125,e.bracerightbt=63742,e.bracerightmid=63741,e.bracerightmonospace=65373,e.bracerightsmall=65116,e.bracerighttp=63740,e.bracerightvertical=65080,e.bracketleft=91,e.bracketleftbt=63728,e.bracketleftex=63727,e.bracketleftmonospace=65339,e.bracketlefttp=63726,e.bracketright=93,e.bracketrightbt=63739,e.bracketrightex=63738,e.bracketrightmonospace=65341,e.bracketrighttp=63737,e.breve=728,e.brevebelowcmb=814,e.brevecmb=774,e.breveinvertedbelowcmb=815,e.breveinvertedcmb=785,e.breveinverteddoublecmb=865,e.bridgebelowcmb=810,e.bridgeinvertedbelowcmb=826,e.brokenbar=166,e.bstroke=384,e.bsuperior=63210,e.btopbar=387,e.buhiragana=12406,e.bukatakana=12502,e.bullet=8226,e.bulletinverse=9688,e.bulletoperator=8729,e.bullseye=9678,e.c=99,e.caarmenian=1390,e.cabengali=2458,e.cacute=263,e.cadeva=2330,e.cagujarati=2714,e.cagurmukhi=2586,e.calsquare=13192,e.candrabindubengali=2433,e.candrabinducmb=784,e.candrabindudeva=2305,e.candrabindugujarati=2689,e.capslock=8682,e.careof=8453,e.caron=711,e.caronbelowcmb=812,e.caroncmb=780,e.carriagereturn=8629,e.cbopomofo=12568,e.ccaron=269,e.ccedilla=231,e.ccedillaacute=7689,e.ccircle=9426,e.ccircumflex=265,e.ccurl=597,e.cdot=267,e.cdotaccent=267,e.cdsquare=13253,e.cedilla=184,e.cedillacmb=807,e.cent=162,e.centigrade=8451,e.centinferior=63199,e.centmonospace=65504,e.centoldstyle=63394,e.centsuperior=63200,e.chaarmenian=1401,e.chabengali=2459,e.chadeva=2331,e.chagujarati=2715,e.chagurmukhi=2587,e.chbopomofo=12564,e.cheabkhasiancyrillic=1213,e.checkmark=10003,e.checyrillic=1095,e.chedescenderabkhasiancyrillic=1215,e.chedescendercyrillic=1207,e.chedieresiscyrillic=1269,e.cheharmenian=1395,e.chekhakassiancyrillic=1228,e.cheverticalstrokecyrillic=1209,e.chi=967,e.chieuchacirclekorean=12919,e.chieuchaparenkorean=12823,e.chieuchcirclekorean=12905,e.chieuchkorean=12618,e.chieuchparenkorean=12809,e.chochangthai=3594,e.chochanthai=3592,e.chochingthai=3593,e.chochoethai=3596,e.chook=392,e.cieucacirclekorean=12918,e.cieucaparenkorean=12822,e.cieuccirclekorean=12904,e.cieuckorean=12616,e.cieucparenkorean=12808,e.cieucuparenkorean=12828,e.circle=9675,e.circlecopyrt=169,e.circlemultiply=8855,e.circleot=8857,e.circleplus=8853,e.circlepostalmark=12342,e.circlewithlefthalfblack=9680,e.circlewithrighthalfblack=9681,e.circumflex=710,e.circumflexbelowcmb=813,e.circumflexcmb=770,e.clear=8999,e.clickalveolar=450,e.clickdental=448,e.clicklateral=449,e.clickretroflex=451,e.club=9827,e.clubsuitblack=9827,e.clubsuitwhite=9831,e.cmcubedsquare=13220,e.cmonospace=65347,e.cmsquaredsquare=13216,e.coarmenian=1409,e.colon=58,e.colonmonetary=8353,e.colonmonospace=65306,e.colonsign=8353,e.colonsmall=65109,e.colontriangularhalfmod=721,e.colontriangularmod=720,e.comma=44,e.commaabovecmb=787,e.commaaboverightcmb=789,e.commaaccent=63171,e.commaarabic=1548,e.commaarmenian=1373,e.commainferior=63201,e.commamonospace=65292,e.commareversedabovecmb=788,e.commareversedmod=701,e.commasmall=65104,e.commasuperior=63202,e.commaturnedabovecmb=786,e.commaturnedmod=699,e.compass=9788,e.congruent=8773,e.contourintegral=8750,e.control=8963,e.controlACK=6,e.controlBEL=7,e.controlBS=8,e.controlCAN=24,e.controlCR=13,e.controlDC1=17,e.controlDC2=18,e.controlDC3=19,e.controlDC4=20,e.controlDEL=127,e.controlDLE=16,e.controlEM=25,e.controlENQ=5,e.controlEOT=4,e.controlESC=27,e.controlETB=23,e.controlETX=3,e.controlFF=12,e.controlFS=28,e.controlGS=29,e.controlHT=9,e.controlLF=10,e.controlNAK=21,e.controlNULL=0,e.controlRS=30,e.controlSI=15,e.controlSO=14,e.controlSOT=2,e.controlSTX=1,e.controlSUB=26,e.controlSYN=22,e.controlUS=31,e.controlVT=11,e.copyright=169,e.copyrightsans=63721,e.copyrightserif=63193,e.cornerbracketleft=12300,e.cornerbracketlefthalfwidth=65378,e.cornerbracketleftvertical=65089,e.cornerbracketright=12301,e.cornerbracketrighthalfwidth=65379,e.cornerbracketrightvertical=65090,e.corporationsquare=13183,e.cosquare=13255,e.coverkgsquare=13254,e.cparen=9374,e.cruzeiro=8354,e.cstretched=663,e.curlyand=8911,e.curlyor=8910,e.currency=164,e.cyrBreve=63185,e.cyrFlex=63186,e.cyrbreve=63188,e.cyrflex=63189,e.d=100,e.daarmenian=1380,e.dabengali=2470,e.dadarabic=1590,e.dadeva=2342,e.dadfinalarabic=65214,e.dadinitialarabic=65215,e.dadmedialarabic=65216,e.dagesh=1468,e.dageshhebrew=1468,e.dagger=8224,e.daggerdbl=8225,e.dagujarati=2726,e.dagurmukhi=2598,e.dahiragana=12384,e.dakatakana=12480,e.dalarabic=1583,e.dalet=1491,e.daletdagesh=64307,e.daletdageshhebrew=64307,e.dalethebrew=1491,e.dalfinalarabic=65194,e.dammaarabic=1615,e.dammalowarabic=1615,e.dammatanaltonearabic=1612,e.dammatanarabic=1612,e.danda=2404,e.dargahebrew=1447,e.dargalefthebrew=1447,e.dasiapneumatacyrilliccmb=1157,e.dblGrave=63187,e.dblanglebracketleft=12298,e.dblanglebracketleftvertical=65085,e.dblanglebracketright=12299,e.dblanglebracketrightvertical=65086,e.dblarchinvertedbelowcmb=811,e.dblarrowleft=8660,e.dblarrowright=8658,e.dbldanda=2405,e.dblgrave=63190,e.dblgravecmb=783,e.dblintegral=8748,e.dbllowline=8215,e.dbllowlinecmb=819,e.dbloverlinecmb=831,e.dblprimemod=698,e.dblverticalbar=8214,e.dblverticallineabovecmb=782,e.dbopomofo=12553,e.dbsquare=13256,e.dcaron=271,e.dcedilla=7697,e.dcircle=9427,e.dcircumflexbelow=7699,e.dcroat=273,e.ddabengali=2465,e.ddadeva=2337,e.ddagujarati=2721,e.ddagurmukhi=2593,e.ddalarabic=1672,e.ddalfinalarabic=64393,e.dddhadeva=2396,e.ddhabengali=2466,e.ddhadeva=2338,e.ddhagujarati=2722,e.ddhagurmukhi=2594,e.ddotaccent=7691,e.ddotbelow=7693,e.decimalseparatorarabic=1643,e.decimalseparatorpersian=1643,e.decyrillic=1076,e.degree=176,e.dehihebrew=1453,e.dehiragana=12391,e.deicoptic=1007,e.dekatakana=12487,e.deleteleft=9003,e.deleteright=8998,e.delta=948,e.deltaturned=397,e.denominatorminusonenumeratorbengali=2552,e.dezh=676,e.dhabengali=2471,e.dhadeva=2343,e.dhagujarati=2727,e.dhagurmukhi=2599,e.dhook=599,e.dialytikatonos=901,e.dialytikatonoscmb=836,e.diamond=9830,e.diamondsuitwhite=9826,e.dieresis=168,e.dieresisacute=63191,e.dieresisbelowcmb=804,e.dieresiscmb=776,e.dieresisgrave=63192,e.dieresistonos=901,e.dihiragana=12386,e.dikatakana=12482,e.dittomark=12291,e.divide=247,e.divides=8739,e.divisionslash=8725,e.djecyrillic=1106,e.dkshade=9619,e.dlinebelow=7695,e.dlsquare=13207,e.dmacron=273,e.dmonospace=65348,e.dnblock=9604,e.dochadathai=3598,e.dodekthai=3604,e.dohiragana=12393,e.dokatakana=12489,e.dollar=36;e.dollarinferior=63203,e.dollarmonospace=65284,e.dollaroldstyle=63268,e.dollarsmall=65129,e.dollarsuperior=63204,e.dong=8363,e.dorusquare=13094,e.dotaccent=729,e.dotaccentcmb=775,e.dotbelowcmb=803,e.dotbelowcomb=803,e.dotkatakana=12539,e.dotlessi=305,e.dotlessj=63166,e.dotlessjstrokehook=644,e.dotmath=8901,e.dottedcircle=9676,e.doubleyodpatah=64287,e.doubleyodpatahhebrew=64287,e.downtackbelowcmb=798,e.downtackmod=725,e.dparen=9375,e.dsuperior=63211,e.dtail=598,e.dtopbar=396,e.duhiragana=12389,e.dukatakana=12485,e.dz=499,e.dzaltone=675,e.dzcaron=454,e.dzcurl=677,e.dzeabkhasiancyrillic=1249,e.dzecyrillic=1109,e.dzhecyrillic=1119,e.e=101,e.eacute=233,e.earth=9793,e.ebengali=2447,e.ebopomofo=12572,e.ebreve=277,e.ecandradeva=2317,e.ecandragujarati=2701,e.ecandravowelsigndeva=2373,e.ecandravowelsigngujarati=2757,e.ecaron=283,e.ecedillabreve=7709,e.echarmenian=1381,e.echyiwnarmenian=1415,e.ecircle=9428,e.ecircumflex=234,e.ecircumflexacute=7871,e.ecircumflexbelow=7705,e.ecircumflexdotbelow=7879,e.ecircumflexgrave=7873,e.ecircumflexhookabove=7875,e.ecircumflextilde=7877,e.ecyrillic=1108,e.edblgrave=517,e.edeva=2319,e.edieresis=235,e.edot=279,e.edotaccent=279,e.edotbelow=7865,e.eegurmukhi=2575,e.eematragurmukhi=2631,e.efcyrillic=1092,e.egrave=232,e.egujarati=2703,e.eharmenian=1383,e.ehbopomofo=12573,e.ehiragana=12360,e.ehookabove=7867,e.eibopomofo=12575,e.eight=56,e.eightarabic=1640,e.eightbengali=2542,e.eightcircle=9319,e.eightcircleinversesansserif=10129,e.eightdeva=2414,e.eighteencircle=9329,e.eighteenparen=9349,e.eighteenperiod=9369,e.eightgujarati=2798,e.eightgurmukhi=2670,e.eighthackarabic=1640,e.eighthangzhou=12328,e.eighthnotebeamed=9835,e.eightideographicparen=12839,e.eightinferior=8328,e.eightmonospace=65304,e.eightoldstyle=63288,e.eightparen=9339,e.eightperiod=9359,e.eightpersian=1784,e.eightroman=8567,e.eightsuperior=8312,e.eightthai=3672,e.einvertedbreve=519,e.eiotifiedcyrillic=1125,e.ekatakana=12456,e.ekatakanahalfwidth=65396,e.ekonkargurmukhi=2676,e.ekorean=12628,e.elcyrillic=1083,e.element=8712,e.elevencircle=9322,e.elevenparen=9342,e.elevenperiod=9362,e.elevenroman=8570,e.ellipsis=8230,e.ellipsisvertical=8942,e.emacron=275,e.emacronacute=7703,e.emacrongrave=7701,e.emcyrillic=1084,e.emdash=8212,e.emdashvertical=65073,e.emonospace=65349,e.emphasismarkarmenian=1371,e.emptyset=8709,e.enbopomofo=12579,e.encyrillic=1085,e.endash=8211,e.endashvertical=65074,e.endescendercyrillic=1187,e.eng=331,e.engbopomofo=12581,e.enghecyrillic=1189,e.enhookcyrillic=1224,e.enspace=8194,e.eogonek=281,e.eokorean=12627,e.eopen=603,e.eopenclosed=666,e.eopenreversed=604,e.eopenreversedclosed=606,e.eopenreversedhook=605,e.eparen=9376,e.epsilon=949,e.epsilontonos=941,e.equal=61,e.equalmonospace=65309,e.equalsmall=65126,e.equalsuperior=8316,e.equivalence=8801,e.erbopomofo=12582,e.ercyrillic=1088,e.ereversed=600,e.ereversedcyrillic=1101,e.escyrillic=1089,e.esdescendercyrillic=1195,e.esh=643,e.eshcurl=646,e.eshortdeva=2318,e.eshortvowelsigndeva=2374,e.eshreversedloop=426,e.eshsquatreversed=645,e.esmallhiragana=12359,e.esmallkatakana=12455,e.esmallkatakanahalfwidth=65386,e.estimated=8494,e.esuperior=63212,e.eta=951,e.etarmenian=1384,e.etatonos=942,e.eth=240,e.etilde=7869,e.etildebelow=7707,e.etnahtafoukhhebrew=1425,e.etnahtafoukhlefthebrew=1425,e.etnahtahebrew=1425,e.etnahtalefthebrew=1425,e.eturned=477,e.eukorean=12641,e.euro=8364,e.evowelsignbengali=2503,e.evowelsigndeva=2375,e.evowelsigngujarati=2759,e.exclam=33,e.exclamarmenian=1372,e.exclamdbl=8252,e.exclamdown=161,e.exclamdownsmall=63393,e.exclammonospace=65281,e.exclamsmall=63265,e.existential=8707,e.ezh=658,e.ezhcaron=495,e.ezhcurl=659,e.ezhreversed=441,e.ezhtail=442,e.f=102,e.fadeva=2398,e.fagurmukhi=2654,e.fahrenheit=8457,e.fathaarabic=1614,e.fathalowarabic=1614,e.fathatanarabic=1611,e.fbopomofo=12552,e.fcircle=9429,e.fdotaccent=7711,e.feharabic=1601,e.feharmenian=1414,e.fehfinalarabic=65234,e.fehinitialarabic=65235,e.fehmedialarabic=65236,e.feicoptic=997,e.female=9792,e.ff=64256,e.f_f=64256,e.ffi=64259,e.f_f_i=64259,e.ffl=64260,e.f_f_l=64260,e.fi=64257,e.f_i=64257,e.fifteencircle=9326,e.fifteenparen=9346,e.fifteenperiod=9366,e.figuredash=8210,e.filledbox=9632,e.filledrect=9644,e.finalkaf=1498,e.finalkafdagesh=64314,e.finalkafdageshhebrew=64314,e.finalkafhebrew=1498,e.finalmem=1501,e.finalmemhebrew=1501,e.finalnun=1503,e.finalnunhebrew=1503,e.finalpe=1507,e.finalpehebrew=1507,e.finaltsadi=1509,e.finaltsadihebrew=1509,e.firsttonechinese=713,e.fisheye=9673,e.fitacyrillic=1139,e.five=53,e.fivearabic=1637,e.fivebengali=2539,e.fivecircle=9316,e.fivecircleinversesansserif=10126,e.fivedeva=2411,e.fiveeighths=8541,e.fivegujarati=2795,e.fivegurmukhi=2667,e.fivehackarabic=1637,e.fivehangzhou=12325,e.fiveideographicparen=12836,e.fiveinferior=8325,e.fivemonospace=65301,e.fiveoldstyle=63285,e.fiveparen=9336,e.fiveperiod=9356,e.fivepersian=1781,e.fiveroman=8564,e.fivesuperior=8309,e.fivethai=3669,e.fl=64258,e.f_l=64258,e.florin=402,e.fmonospace=65350,e.fmsquare=13209,e.fofanthai=3615,e.fofathai=3613,e.fongmanthai=3663,e.forall=8704,e.four=52,e.fourarabic=1636,e.fourbengali=2538,e.fourcircle=9315,e.fourcircleinversesansserif=10125,e.fourdeva=2410,e.fourgujarati=2794,e.fourgurmukhi=2666,e.fourhackarabic=1636,e.fourhangzhou=12324,e.fourideographicparen=12835,e.fourinferior=8324,e.fourmonospace=65300,e.fournumeratorbengali=2551,e.fouroldstyle=63284,e.fourparen=9335,e.fourperiod=9355,e.fourpersian=1780,e.fourroman=8563,e.foursuperior=8308,e.fourteencircle=9325,e.fourteenparen=9345,e.fourteenperiod=9365,e.fourthai=3668,e.fourthtonechinese=715,e.fparen=9377,e.fraction=8260,e.franc=8355,e.g=103,e.gabengali=2455,e.gacute=501,e.gadeva=2327,e.gafarabic=1711,e.gaffinalarabic=64403,e.gafinitialarabic=64404,e.gafmedialarabic=64405,e.gagujarati=2711,e.gagurmukhi=2583,e.gahiragana=12364,e.gakatakana=12460,e.gamma=947,e.gammalatinsmall=611,e.gammasuperior=736,e.gangiacoptic=1003,e.gbopomofo=12557,e.gbreve=287,e.gcaron=487,e.gcedilla=291,e.gcircle=9430,e.gcircumflex=285,e.gcommaaccent=291,e.gdot=289,e.gdotaccent=289,e.gecyrillic=1075,e.gehiragana=12370,e.gekatakana=12466,e.geometricallyequal=8785,e.gereshaccenthebrew=1436,e.gereshhebrew=1523,e.gereshmuqdamhebrew=1437,e.germandbls=223,e.gershayimaccenthebrew=1438,e.gershayimhebrew=1524,e.getamark=12307,e.ghabengali=2456,e.ghadarmenian=1394,e.ghadeva=2328,e.ghagujarati=2712,e.ghagurmukhi=2584,e.ghainarabic=1594,e.ghainfinalarabic=65230,e.ghaininitialarabic=65231,e.ghainmedialarabic=65232,e.ghemiddlehookcyrillic=1173,e.ghestrokecyrillic=1171,e.gheupturncyrillic=1169,e.ghhadeva=2394,e.ghhagurmukhi=2650,e.ghook=608,e.ghzsquare=13203,e.gihiragana=12366,e.gikatakana=12462,e.gimarmenian=1379,e.gimel=1490,e.gimeldagesh=64306,e.gimeldageshhebrew=64306,e.gimelhebrew=1490,e.gjecyrillic=1107,e.glottalinvertedstroke=446,e.glottalstop=660,e.glottalstopinverted=662,e.glottalstopmod=704,e.glottalstopreversed=661,e.glottalstopreversedmod=705,e.glottalstopreversedsuperior=740,e.glottalstopstroke=673,e.glottalstopstrokereversed=674,e.gmacron=7713,e.gmonospace=65351,e.gohiragana=12372,e.gokatakana=12468,e.gparen=9378,e.gpasquare=13228,e.gradient=8711,e.grave=96,e.gravebelowcmb=790,e.gravecmb=768,e.gravecomb=768,e.gravedeva=2387,e.gravelowmod=718,e.gravemonospace=65344,e.gravetonecmb=832,e.greater=62,e.greaterequal=8805,e.greaterequalorless=8923,e.greatermonospace=65310,e.greaterorequivalent=8819,e.greaterorless=8823,e.greateroverequal=8807,e.greatersmall=65125,e.gscript=609,e.gstroke=485,e.guhiragana=12368,e.guillemotleft=171,e.guillemotright=187,e.guilsinglleft=8249,e.guilsinglright=8250,e.gukatakana=12464,e.guramusquare=13080,e.gysquare=13257,e.h=104,e.haabkhasiancyrillic=1193,e.haaltonearabic=1729,e.habengali=2489,e.hadescendercyrillic=1203,e.hadeva=2361,e.hagujarati=2745,e.hagurmukhi=2617,e.haharabic=1581,e.hahfinalarabic=65186,e.hahinitialarabic=65187,e.hahiragana=12399,e.hahmedialarabic=65188,e.haitusquare=13098,e.hakatakana=12495,e.hakatakanahalfwidth=65418,e.halantgurmukhi=2637,e.hamzaarabic=1569,e.hamzalowarabic=1569,e.hangulfiller=12644,e.hardsigncyrillic=1098,e.harpoonleftbarbup=8636,e.harpoonrightbarbup=8640,e.hasquare=13258,e.hatafpatah=1458,e.hatafpatah16=1458,e.hatafpatah23=1458,e.hatafpatah2f=1458,e.hatafpatahhebrew=1458,e.hatafpatahnarrowhebrew=1458,e.hatafpatahquarterhebrew=1458,e.hatafpatahwidehebrew=1458,e.hatafqamats=1459,e.hatafqamats1b=1459,e.hatafqamats28=1459,e.hatafqamats34=1459,e.hatafqamatshebrew=1459,e.hatafqamatsnarrowhebrew=1459,e.hatafqamatsquarterhebrew=1459,e.hatafqamatswidehebrew=1459,e.hatafsegol=1457,e.hatafsegol17=1457,e.hatafsegol24=1457,e.hatafsegol30=1457,e.hatafsegolhebrew=1457,e.hatafsegolnarrowhebrew=1457,e.hatafsegolquarterhebrew=1457,e.hatafsegolwidehebrew=1457,e.hbar=295,e.hbopomofo=12559,e.hbrevebelow=7723,e.hcedilla=7721,e.hcircle=9431,e.hcircumflex=293,e.hdieresis=7719,e.hdotaccent=7715,e.hdotbelow=7717,e.he=1492,e.heart=9829,e.heartsuitblack=9829,e.heartsuitwhite=9825,e.hedagesh=64308,e.hedageshhebrew=64308,e.hehaltonearabic=1729,e.heharabic=1607,e.hehebrew=1492,e.hehfinalaltonearabic=64423,e.hehfinalalttwoarabic=65258,e.hehfinalarabic=65258,e.hehhamzaabovefinalarabic=64421,e.hehhamzaaboveisolatedarabic=64420,e.hehinitialaltonearabic=64424,e.hehinitialarabic=65259,e.hehiragana=12408,e.hehmedialaltonearabic=64425,e.hehmedialarabic=65260,e.heiseierasquare=13179,e.hekatakana=12504,e.hekatakanahalfwidth=65421,e.hekutaarusquare=13110,e.henghook=615,e.herutusquare=13113,e.het=1495,e.hethebrew=1495,e.hhook=614,e.hhooksuperior=689,e.hieuhacirclekorean=12923,e.hieuhaparenkorean=12827,e.hieuhcirclekorean=12909,e.hieuhkorean=12622,e.hieuhparenkorean=12813,e.hihiragana=12402,e.hikatakana=12498,e.hikatakanahalfwidth=65419,e.hiriq=1460,e.hiriq14=1460,e.hiriq21=1460,e.hiriq2d=1460,e.hiriqhebrew=1460,e.hiriqnarrowhebrew=1460,e.hiriqquarterhebrew=1460,e.hiriqwidehebrew=1460,e.hlinebelow=7830,e.hmonospace=65352,e.hoarmenian=1392,e.hohipthai=3627,e.hohiragana=12411,e.hokatakana=12507,e.hokatakanahalfwidth=65422,e.holam=1465,e.holam19=1465,e.holam26=1465,e.holam32=1465,e.holamhebrew=1465,e.holamnarrowhebrew=1465,e.holamquarterhebrew=1465,e.holamwidehebrew=1465,e.honokhukthai=3630,e.hookabovecomb=777,e.hookcmb=777,e.hookpalatalizedbelowcmb=801,e.hookretroflexbelowcmb=802,e.hoonsquare=13122,e.horicoptic=1001,e.horizontalbar=8213,e.horncmb=795,e.hotsprings=9832,e.house=8962,e.hparen=9379,e.hsuperior=688,e.hturned=613,e.huhiragana=12405,e.huiitosquare=13107,e.hukatakana=12501,e.hukatakanahalfwidth=65420,e.hungarumlaut=733,e.hungarumlautcmb=779,e.hv=405,e.hyphen=45,e.hypheninferior=63205,e.hyphenmonospace=65293,e.hyphensmall=65123,e.hyphensuperior=63206,e.hyphentwo=8208,e.i=105,e.iacute=237,e.iacyrillic=1103,e.ibengali=2439,e.ibopomofo=12583,e.ibreve=301,e.icaron=464,e.icircle=9432,e.icircumflex=238,e.icyrillic=1110,e.idblgrave=521,e.ideographearthcircle=12943,e.ideographfirecircle=12939,e.ideographicallianceparen=12863,e.ideographiccallparen=12858,e.ideographiccentrecircle=12965,e.ideographicclose=12294,e.ideographiccomma=12289,e.ideographiccommaleft=65380,e.ideographiccongratulationparen=12855,e.ideographiccorrectcircle=12963,e.ideographicearthparen=12847,e.ideographicenterpriseparen=12861,e.ideographicexcellentcircle=12957,e.ideographicfestivalparen=12864,e.ideographicfinancialcircle=12950,e.ideographicfinancialparen=12854,e.ideographicfireparen=12843,e.ideographichaveparen=12850,e.ideographichighcircle=12964,e.ideographiciterationmark=12293,e.ideographiclaborcircle=12952,e.ideographiclaborparen=12856,e.ideographicleftcircle=12967,e.ideographiclowcircle=12966,e.ideographicmedicinecircle=12969,e.ideographicmetalparen=12846,e.ideographicmoonparen=12842,e.ideographicnameparen=12852,e.ideographicperiod=12290,e.ideographicprintcircle=12958,e.ideographicreachparen=12867,e.ideographicrepresentparen=12857,e.ideographicresourceparen=12862,e.ideographicrightcircle=12968,e.ideographicsecretcircle=12953,e.ideographicselfparen=12866,e.ideographicsocietyparen=12851,e.ideographicspace=12288,e.ideographicspecialparen=12853,e.ideographicstockparen=12849,e.ideographicstudyparen=12859,e.ideographicsunparen=12848,e.ideographicsuperviseparen=12860,e.ideographicwaterparen=12844,e.ideographicwoodparen=12845,e.ideographiczero=12295,e.ideographmetalcircle=12942,e.ideographmooncircle=12938,e.ideographnamecircle=12948,e.ideographsuncircle=12944,e.ideographwatercircle=12940,e.ideographwoodcircle=12941,e.ideva=2311,e.idieresis=239,e.idieresisacute=7727,e.idieresiscyrillic=1253,e.idotbelow=7883,e.iebrevecyrillic=1239,e.iecyrillic=1077,e.ieungacirclekorean=12917,e.ieungaparenkorean=12821,e.ieungcirclekorean=12903,e.ieungkorean=12615,e.ieungparenkorean=12807,e.igrave=236,e.igujarati=2695,e.igurmukhi=2567,e.ihiragana=12356,e.ihookabove=7881,e.iibengali=2440,e.iicyrillic=1080,e.iideva=2312,e.iigujarati=2696,e.iigurmukhi=2568,e.iimatragurmukhi=2624,e.iinvertedbreve=523,e.iishortcyrillic=1081,e.iivowelsignbengali=2496,e.iivowelsigndeva=2368,e.iivowelsigngujarati=2752,e.ij=307,e.ikatakana=12452,e.ikatakanahalfwidth=65394,e.ikorean=12643,e.ilde=732,e.iluyhebrew=1452,e.imacron=299,e.imacroncyrillic=1251,e.imageorapproximatelyequal=8787,e.imatragurmukhi=2623,e.imonospace=65353,e.increment=8710,e.infinity=8734,e.iniarmenian=1387,e.integral=8747,e.integralbottom=8993,e.integralbt=8993,e.integralex=63733,e.integraltop=8992,e.integraltp=8992,e.intersection=8745,e.intisquare=13061,e.invbullet=9688,e.invcircle=9689,e.invsmileface=9787,e.iocyrillic=1105,e.iogonek=303,e.iota=953,e.iotadieresis=970,e.iotadieresistonos=912,e.iotalatin=617,e.iotatonos=943,e.iparen=9380,e.irigurmukhi=2674,e.ismallhiragana=12355,e.ismallkatakana=12451,e.ismallkatakanahalfwidth=65384,e.issharbengali=2554,e.istroke=616,e.isuperior=63213,e.iterationhiragana=12445,e.iterationkatakana=12541,e.itilde=297,e.itildebelow=7725,e.iubopomofo=12585,e.iucyrillic=1102,e.ivowelsignbengali=2495,e.ivowelsigndeva=2367,e.ivowelsigngujarati=2751,e.izhitsacyrillic=1141,e.izhitsadblgravecyrillic=1143,e.j=106,e.jaarmenian=1393,e.jabengali=2460,e.jadeva=2332,e.jagujarati=2716,e.jagurmukhi=2588,e.jbopomofo=12560,e.jcaron=496,e.jcircle=9433,e.jcircumflex=309,e.jcrossedtail=669,e.jdotlessstroke=607,e.jecyrillic=1112,e.jeemarabic=1580,e.jeemfinalarabic=65182,e.jeeminitialarabic=65183,e.jeemmedialarabic=65184,e.jeharabic=1688,e.jehfinalarabic=64395,e.jhabengali=2461,e.jhadeva=2333,e.jhagujarati=2717,e.jhagurmukhi=2589,e.jheharmenian=1403,e.jis=12292,e.jmonospace=65354,e.jparen=9381,e.jsuperior=690,e.k=107,e.kabashkircyrillic=1185,e.kabengali=2453,e.kacute=7729,e.kacyrillic=1082,e.kadescendercyrillic=1179,e.kadeva=2325,e.kaf=1499,e.kafarabic=1603,e.kafdagesh=64315,e.kafdageshhebrew=64315,e.kaffinalarabic=65242,e.kafhebrew=1499,e.kafinitialarabic=65243,e.kafmedialarabic=65244,e.kafrafehebrew=64333,e.kagujarati=2709,e.kagurmukhi=2581,e.kahiragana=12363,e.kahookcyrillic=1220,e.kakatakana=12459,e.kakatakanahalfwidth=65398,e.kappa=954,e.kappasymbolgreek=1008,e.kapyeounmieumkorean=12657,e.kapyeounphieuphkorean=12676,e.kapyeounpieupkorean=12664,e.kapyeounssangpieupkorean=12665,e.karoriisquare=13069,e.kashidaautoarabic=1600,e.kashidaautonosidebearingarabic=1600,e.kasmallkatakana=12533,e.kasquare=13188,e.kasraarabic=1616,e.kasratanarabic=1613,e.kastrokecyrillic=1183,e.katahiraprolongmarkhalfwidth=65392,e.kaverticalstrokecyrillic=1181,e.kbopomofo=12558,e.kcalsquare=13193,e.kcaron=489,e.kcedilla=311,e.kcircle=9434,e.kcommaaccent=311,e.kdotbelow=7731,e.keharmenian=1412,e.kehiragana=12369,e.kekatakana=12465,e.kekatakanahalfwidth=65401,e.kenarmenian=1391,e.kesmallkatakana=12534,e.kgreenlandic=312,e.khabengali=2454,e.khacyrillic=1093,e.khadeva=2326,e.khagujarati=2710,e.khagurmukhi=2582,e.khaharabic=1582,e.khahfinalarabic=65190,e.khahinitialarabic=65191,e.khahmedialarabic=65192,e.kheicoptic=999,e.khhadeva=2393,e.khhagurmukhi=2649,e.khieukhacirclekorean=12920,e.khieukhaparenkorean=12824,e.khieukhcirclekorean=12906,e.khieukhkorean=12619,e.khieukhparenkorean=12810,e.khokhaithai=3586,e.khokhonthai=3589,e.khokhuatthai=3587,e.khokhwaithai=3588,e.khomutthai=3675,e.khook=409,e.khorakhangthai=3590,e.khzsquare=13201,e.kihiragana=12365,e.kikatakana=12461,e.kikatakanahalfwidth=65399,e.kiroguramusquare=13077,e.kiromeetorusquare=13078,e.kirosquare=13076,e.kiyeokacirclekorean=12910,e.kiyeokaparenkorean=12814,e.kiyeokcirclekorean=12896,e.kiyeokkorean=12593,e.kiyeokparenkorean=12800,e.kiyeoksioskorean=12595;e.kjecyrillic=1116,e.klinebelow=7733,e.klsquare=13208,e.kmcubedsquare=13222,e.kmonospace=65355,e.kmsquaredsquare=13218,e.kohiragana=12371,e.kohmsquare=13248,e.kokaithai=3585,e.kokatakana=12467,e.kokatakanahalfwidth=65402,e.kooposquare=13086,e.koppacyrillic=1153,e.koreanstandardsymbol=12927,e.koroniscmb=835,e.kparen=9382,e.kpasquare=13226,e.ksicyrillic=1135,e.ktsquare=13263,e.kturned=670,e.kuhiragana=12367,e.kukatakana=12463,e.kukatakanahalfwidth=65400,e.kvsquare=13240,e.kwsquare=13246,e.l=108,e.labengali=2482,e.lacute=314,e.ladeva=2354,e.lagujarati=2738,e.lagurmukhi=2610,e.lakkhangyaothai=3653,e.lamaleffinalarabic=65276,e.lamalefhamzaabovefinalarabic=65272,e.lamalefhamzaaboveisolatedarabic=65271,e.lamalefhamzabelowfinalarabic=65274,e.lamalefhamzabelowisolatedarabic=65273,e.lamalefisolatedarabic=65275,e.lamalefmaddaabovefinalarabic=65270,e.lamalefmaddaaboveisolatedarabic=65269,e.lamarabic=1604,e.lambda=955,e.lambdastroke=411,e.lamed=1500,e.lameddagesh=64316,e.lameddageshhebrew=64316,e.lamedhebrew=1500,e.lamfinalarabic=65246,e.lamhahinitialarabic=64714,e.laminitialarabic=65247,e.lamjeeminitialarabic=64713,e.lamkhahinitialarabic=64715,e.lamlamhehisolatedarabic=65010,e.lammedialarabic=65248,e.lammeemhahinitialarabic=64904,e.lammeeminitialarabic=64716,e.largecircle=9711,e.lbar=410,e.lbelt=620,e.lbopomofo=12556,e.lcaron=318,e.lcedilla=316,e.lcircle=9435,e.lcircumflexbelow=7741,e.lcommaaccent=316,e.ldot=320,e.ldotaccent=320,e.ldotbelow=7735,e.ldotbelowmacron=7737,e.leftangleabovecmb=794,e.lefttackbelowcmb=792,e.less=60,e.lessequal=8804,e.lessequalorgreater=8922,e.lessmonospace=65308,e.lessorequivalent=8818,e.lessorgreater=8822,e.lessoverequal=8806,e.lesssmall=65124,e.lezh=622,e.lfblock=9612,e.lhookretroflex=621,e.lira=8356,e.liwnarmenian=1388,e.lj=457,e.ljecyrillic=1113,e.ll=63168,e.lladeva=2355,e.llagujarati=2739,e.llinebelow=7739,e.llladeva=2356,e.llvocalicbengali=2529,e.llvocalicdeva=2401,e.llvocalicvowelsignbengali=2531,e.llvocalicvowelsigndeva=2403,e.lmiddletilde=619,e.lmonospace=65356,e.lmsquare=13264,e.lochulathai=3628,e.logicaland=8743,e.logicalnot=172,e.logicalnotreversed=8976,e.logicalor=8744,e.lolingthai=3621,e.longs=383,e.lowlinecenterline=65102,e.lowlinecmb=818,e.lowlinedashed=65101,e.lozenge=9674,e.lparen=9383,e.lslash=322,e.lsquare=8467,e.lsuperior=63214,e.ltshade=9617,e.luthai=3622,e.lvocalicbengali=2444,e.lvocalicdeva=2316,e.lvocalicvowelsignbengali=2530,e.lvocalicvowelsigndeva=2402,e.lxsquare=13267,e.m=109,e.mabengali=2478,e.macron=175,e.macronbelowcmb=817,e.macroncmb=772,e.macronlowmod=717,e.macronmonospace=65507,e.macute=7743,e.madeva=2350,e.magujarati=2734,e.magurmukhi=2606,e.mahapakhhebrew=1444,e.mahapakhlefthebrew=1444,e.mahiragana=12414,e.maichattawalowleftthai=63637,e.maichattawalowrightthai=63636,e.maichattawathai=3659,e.maichattawaupperleftthai=63635,e.maieklowleftthai=63628,e.maieklowrightthai=63627,e.maiekthai=3656,e.maiekupperleftthai=63626,e.maihanakatleftthai=63620,e.maihanakatthai=3633,e.maitaikhuleftthai=63625,e.maitaikhuthai=3655,e.maitholowleftthai=63631,e.maitholowrightthai=63630,e.maithothai=3657,e.maithoupperleftthai=63629,e.maitrilowleftthai=63634,e.maitrilowrightthai=63633,e.maitrithai=3658,e.maitriupperleftthai=63632,e.maiyamokthai=3654,e.makatakana=12510,e.makatakanahalfwidth=65423,e.male=9794,e.mansyonsquare=13127,e.maqafhebrew=1470,e.mars=9794,e.masoracirclehebrew=1455,e.masquare=13187,e.mbopomofo=12551,e.mbsquare=13268,e.mcircle=9436,e.mcubedsquare=13221,e.mdotaccent=7745,e.mdotbelow=7747,e.meemarabic=1605,e.meemfinalarabic=65250,e.meeminitialarabic=65251,e.meemmedialarabic=65252,e.meemmeeminitialarabic=64721,e.meemmeemisolatedarabic=64584,e.meetorusquare=13133,e.mehiragana=12417,e.meizierasquare=13182,e.mekatakana=12513,e.mekatakanahalfwidth=65426,e.mem=1502,e.memdagesh=64318,e.memdageshhebrew=64318,e.memhebrew=1502,e.menarmenian=1396,e.merkhahebrew=1445,e.merkhakefulahebrew=1446,e.merkhakefulalefthebrew=1446,e.merkhalefthebrew=1445,e.mhook=625,e.mhzsquare=13202,e.middledotkatakanahalfwidth=65381,e.middot=183,e.mieumacirclekorean=12914,e.mieumaparenkorean=12818,e.mieumcirclekorean=12900,e.mieumkorean=12609,e.mieumpansioskorean=12656,e.mieumparenkorean=12804,e.mieumpieupkorean=12654,e.mieumsioskorean=12655,e.mihiragana=12415,e.mikatakana=12511,e.mikatakanahalfwidth=65424,e.minus=8722,e.minusbelowcmb=800,e.minuscircle=8854,e.minusmod=727,e.minusplus=8723,e.minute=8242,e.miribaarusquare=13130,e.mirisquare=13129,e.mlonglegturned=624,e.mlsquare=13206,e.mmcubedsquare=13219,e.mmonospace=65357,e.mmsquaredsquare=13215,e.mohiragana=12418,e.mohmsquare=13249,e.mokatakana=12514,e.mokatakanahalfwidth=65427,e.molsquare=13270,e.momathai=3617,e.moverssquare=13223,e.moverssquaredsquare=13224,e.mparen=9384,e.mpasquare=13227,e.mssquare=13235,e.msuperior=63215,e.mturned=623,e.mu=181,e.mu1=181,e.muasquare=13186,e.muchgreater=8811,e.muchless=8810,e.mufsquare=13196,e.mugreek=956,e.mugsquare=13197,e.muhiragana=12416,e.mukatakana=12512,e.mukatakanahalfwidth=65425,e.mulsquare=13205,e.multiply=215,e.mumsquare=13211,e.munahhebrew=1443,e.munahlefthebrew=1443,e.musicalnote=9834,e.musicalnotedbl=9835,e.musicflatsign=9837,e.musicsharpsign=9839,e.mussquare=13234,e.muvsquare=13238,e.muwsquare=13244,e.mvmegasquare=13241,e.mvsquare=13239,e.mwmegasquare=13247,e.mwsquare=13245,e.n=110,e.nabengali=2472,e.nabla=8711,e.nacute=324,e.nadeva=2344,e.nagujarati=2728,e.nagurmukhi=2600,e.nahiragana=12394,e.nakatakana=12490,e.nakatakanahalfwidth=65413,e.napostrophe=329,e.nasquare=13185,e.nbopomofo=12555,e.nbspace=160,e.ncaron=328,e.ncedilla=326,e.ncircle=9437,e.ncircumflexbelow=7755,e.ncommaaccent=326,e.ndotaccent=7749,e.ndotbelow=7751,e.nehiragana=12397,e.nekatakana=12493,e.nekatakanahalfwidth=65416,e.newsheqelsign=8362,e.nfsquare=13195,e.ngabengali=2457,e.ngadeva=2329,e.ngagujarati=2713,e.ngagurmukhi=2585,e.ngonguthai=3591,e.nhiragana=12435,e.nhookleft=626,e.nhookretroflex=627,e.nieunacirclekorean=12911,e.nieunaparenkorean=12815,e.nieuncieuckorean=12597,e.nieuncirclekorean=12897,e.nieunhieuhkorean=12598,e.nieunkorean=12596,e.nieunpansioskorean=12648,e.nieunparenkorean=12801,e.nieunsioskorean=12647,e.nieuntikeutkorean=12646,e.nihiragana=12395,e.nikatakana=12491,e.nikatakanahalfwidth=65414,e.nikhahitleftthai=63641,e.nikhahitthai=3661,e.nine=57,e.ninearabic=1641,e.ninebengali=2543,e.ninecircle=9320,e.ninecircleinversesansserif=10130,e.ninedeva=2415,e.ninegujarati=2799,e.ninegurmukhi=2671,e.ninehackarabic=1641,e.ninehangzhou=12329,e.nineideographicparen=12840,e.nineinferior=8329,e.ninemonospace=65305,e.nineoldstyle=63289,e.nineparen=9340,e.nineperiod=9360,e.ninepersian=1785,e.nineroman=8568,e.ninesuperior=8313,e.nineteencircle=9330,e.nineteenparen=9350,e.nineteenperiod=9370,e.ninethai=3673,e.nj=460,e.njecyrillic=1114,e.nkatakana=12531,e.nkatakanahalfwidth=65437,e.nlegrightlong=414,e.nlinebelow=7753,e.nmonospace=65358,e.nmsquare=13210,e.nnabengali=2467,e.nnadeva=2339,e.nnagujarati=2723,e.nnagurmukhi=2595,e.nnnadeva=2345,e.nohiragana=12398,e.nokatakana=12494,e.nokatakanahalfwidth=65417,e.nonbreakingspace=160,e.nonenthai=3603,e.nonuthai=3609,e.noonarabic=1606,e.noonfinalarabic=65254,e.noonghunnaarabic=1722,e.noonghunnafinalarabic=64415,e.nooninitialarabic=65255,e.noonjeeminitialarabic=64722,e.noonjeemisolatedarabic=64587,e.noonmedialarabic=65256,e.noonmeeminitialarabic=64725,e.noonmeemisolatedarabic=64590,e.noonnoonfinalarabic=64653,e.notcontains=8716,e.notelement=8713,e.notelementof=8713,e.notequal=8800,e.notgreater=8815,e.notgreaternorequal=8817,e.notgreaternorless=8825,e.notidentical=8802,e.notless=8814,e.notlessnorequal=8816,e.notparallel=8742,e.notprecedes=8832,e.notsubset=8836,e.notsucceeds=8833,e.notsuperset=8837,e.nowarmenian=1398,e.nparen=9385,e.nssquare=13233,e.nsuperior=8319,e.ntilde=241,e.nu=957,e.nuhiragana=12396,e.nukatakana=12492,e.nukatakanahalfwidth=65415,e.nuktabengali=2492,e.nuktadeva=2364,e.nuktagujarati=2748,e.nuktagurmukhi=2620,e.numbersign=35,e.numbersignmonospace=65283,e.numbersignsmall=65119,e.numeralsigngreek=884,e.numeralsignlowergreek=885,e.numero=8470,e.nun=1504,e.nundagesh=64320,e.nundageshhebrew=64320,e.nunhebrew=1504,e.nvsquare=13237,e.nwsquare=13243,e.nyabengali=2462,e.nyadeva=2334,e.nyagujarati=2718,e.nyagurmukhi=2590,e.o=111,e.oacute=243,e.oangthai=3629,e.obarred=629,e.obarredcyrillic=1257,e.obarreddieresiscyrillic=1259,e.obengali=2451,e.obopomofo=12571,e.obreve=335,e.ocandradeva=2321,e.ocandragujarati=2705,e.ocandravowelsigndeva=2377,e.ocandravowelsigngujarati=2761,e.ocaron=466,e.ocircle=9438,e.ocircumflex=244,e.ocircumflexacute=7889,e.ocircumflexdotbelow=7897,e.ocircumflexgrave=7891,e.ocircumflexhookabove=7893,e.ocircumflextilde=7895,e.ocyrillic=1086,e.odblacute=337,e.odblgrave=525,e.odeva=2323,e.odieresis=246,e.odieresiscyrillic=1255,e.odotbelow=7885,e.oe=339,e.oekorean=12634,e.ogonek=731,e.ogonekcmb=808,e.ograve=242,e.ogujarati=2707,e.oharmenian=1413,e.ohiragana=12362,e.ohookabove=7887,e.ohorn=417,e.ohornacute=7899,e.ohorndotbelow=7907,e.ohorngrave=7901,e.ohornhookabove=7903,e.ohorntilde=7905,e.ohungarumlaut=337,e.oi=419,e.oinvertedbreve=527,e.okatakana=12458,e.okatakanahalfwidth=65397,e.okorean=12631,e.olehebrew=1451,e.omacron=333,e.omacronacute=7763,e.omacrongrave=7761,e.omdeva=2384,e.omega=969,e.omega1=982,e.omegacyrillic=1121,e.omegalatinclosed=631,e.omegaroundcyrillic=1147,e.omegatitlocyrillic=1149,e.omegatonos=974,e.omgujarati=2768,e.omicron=959,e.omicrontonos=972,e.omonospace=65359,e.one=49,e.onearabic=1633,e.onebengali=2535,e.onecircle=9312,e.onecircleinversesansserif=10122,e.onedeva=2407,e.onedotenleader=8228,e.oneeighth=8539,e.onefitted=63196,e.onegujarati=2791,e.onegurmukhi=2663,e.onehackarabic=1633,e.onehalf=189,e.onehangzhou=12321,e.oneideographicparen=12832,e.oneinferior=8321,e.onemonospace=65297,e.onenumeratorbengali=2548,e.oneoldstyle=63281,e.oneparen=9332,e.oneperiod=9352,e.onepersian=1777,e.onequarter=188,e.oneroman=8560,e.onesuperior=185,e.onethai=3665,e.onethird=8531,e.oogonek=491,e.oogonekmacron=493,e.oogurmukhi=2579,e.oomatragurmukhi=2635,e.oopen=596,e.oparen=9386,e.openbullet=9702,e.option=8997,e.ordfeminine=170,e.ordmasculine=186,e.orthogonal=8735,e.oshortdeva=2322,e.oshortvowelsigndeva=2378,e.oslash=248,e.oslashacute=511,e.osmallhiragana=12361,e.osmallkatakana=12457,e.osmallkatakanahalfwidth=65387,e.ostrokeacute=511,e.osuperior=63216,e.otcyrillic=1151,e.otilde=245,e.otildeacute=7757,e.otildedieresis=7759,e.oubopomofo=12577,e.overline=8254,e.overlinecenterline=65098,e.overlinecmb=773,e.overlinedashed=65097,e.overlinedblwavy=65100,e.overlinewavy=65099,e.overscore=175,e.ovowelsignbengali=2507,e.ovowelsigndeva=2379,e.ovowelsigngujarati=2763,e.p=112,e.paampssquare=13184,e.paasentosquare=13099,e.pabengali=2474,e.pacute=7765,e.padeva=2346,e.pagedown=8671,e.pageup=8670,e.pagujarati=2730,e.pagurmukhi=2602,e.pahiragana=12401,e.paiyannoithai=3631,e.pakatakana=12497,e.palatalizationcyrilliccmb=1156,e.palochkacyrillic=1216,e.pansioskorean=12671,e.paragraph=182,e.parallel=8741,e.parenleft=40,e.parenleftaltonearabic=64830,e.parenleftbt=63725,e.parenleftex=63724,e.parenleftinferior=8333,e.parenleftmonospace=65288,e.parenleftsmall=65113,e.parenleftsuperior=8317,e.parenlefttp=63723,e.parenleftvertical=65077,e.parenright=41,e.parenrightaltonearabic=64831,e.parenrightbt=63736,e.parenrightex=63735,e.parenrightinferior=8334,e.parenrightmonospace=65289,e.parenrightsmall=65114,e.parenrightsuperior=8318,e.parenrighttp=63734,e.parenrightvertical=65078,e.partialdiff=8706,e.paseqhebrew=1472,e.pashtahebrew=1433,e.pasquare=13225,e.patah=1463,e.patah11=1463,e.patah1d=1463,e.patah2a=1463,e.patahhebrew=1463,e.patahnarrowhebrew=1463,e.patahquarterhebrew=1463,e.patahwidehebrew=1463,e.pazerhebrew=1441,e.pbopomofo=12550,e.pcircle=9439,e.pdotaccent=7767,e.pe=1508,e.pecyrillic=1087,e.pedagesh=64324,e.pedageshhebrew=64324,e.peezisquare=13115,e.pefinaldageshhebrew=64323,e.peharabic=1662,e.peharmenian=1402,e.pehebrew=1508,e.pehfinalarabic=64343,e.pehinitialarabic=64344,e.pehiragana=12410,e.pehmedialarabic=64345,e.pekatakana=12506,e.pemiddlehookcyrillic=1191,e.perafehebrew=64334,e.percent=37,e.percentarabic=1642,e.percentmonospace=65285,e.percentsmall=65130,e.period=46,e.periodarmenian=1417,e.periodcentered=183,e.periodhalfwidth=65377,e.periodinferior=63207,e.periodmonospace=65294,e.periodsmall=65106,e.periodsuperior=63208,e.perispomenigreekcmb=834,e.perpendicular=8869,e.perthousand=8240,e.peseta=8359,e.pfsquare=13194,e.phabengali=2475,e.phadeva=2347,e.phagujarati=2731,e.phagurmukhi=2603,e.phi=966,e.phi1=981,e.phieuphacirclekorean=12922,e.phieuphaparenkorean=12826,e.phieuphcirclekorean=12908,e.phieuphkorean=12621,e.phieuphparenkorean=12812,e.philatin=632,e.phinthuthai=3642,e.phisymbolgreek=981,e.phook=421,e.phophanthai=3614,e.phophungthai=3612,e.phosamphaothai=3616,e.pi=960,e.pieupacirclekorean=12915,e.pieupaparenkorean=12819,e.pieupcieuckorean=12662,e.pieupcirclekorean=12901,e.pieupkiyeokkorean=12658,e.pieupkorean=12610,e.pieupparenkorean=12805,e.pieupsioskiyeokkorean=12660,e.pieupsioskorean=12612,e.pieupsiostikeutkorean=12661,e.pieupthieuthkorean=12663,e.pieuptikeutkorean=12659,e.pihiragana=12404,e.pikatakana=12500,e.pisymbolgreek=982,e.piwrarmenian=1411,e.planckover2pi=8463,e.planckover2pi1=8463,e.plus=43,e.plusbelowcmb=799,e.pluscircle=8853,e.plusminus=177,e.plusmod=726,e.plusmonospace=65291,e.plussmall=65122,e.plussuperior=8314,e.pmonospace=65360,e.pmsquare=13272,e.pohiragana=12413,e.pointingindexdownwhite=9759,e.pointingindexleftwhite=9756,e.pointingindexrightwhite=9758,e.pointingindexupwhite=9757,e.pokatakana=12509,e.poplathai=3611,e.postalmark=12306,e.postalmarkface=12320,e.pparen=9387,e.precedes=8826,e.prescription=8478,e.primemod=697,e.primereversed=8245,e.product=8719,e.projective=8965,e.prolongedkana=12540,e.propellor=8984,e.propersubset=8834,e.propersuperset=8835,e.proportion=8759,e.proportional=8733,e.psi=968,e.psicyrillic=1137,e.psilipneumatacyrilliccmb=1158,e.pssquare=13232,e.puhiragana=12407,e.pukatakana=12503,e.pvsquare=13236,e.pwsquare=13242,e.q=113,e.qadeva=2392,e.qadmahebrew=1448,e.qafarabic=1602,e.qaffinalarabic=65238,e.qafinitialarabic=65239,e.qafmedialarabic=65240,e.qamats=1464,e.qamats10=1464,e.qamats1a=1464,e.qamats1c=1464,e.qamats27=1464,e.qamats29=1464,e.qamats33=1464,e.qamatsde=1464,e.qamatshebrew=1464,e.qamatsnarrowhebrew=1464,e.qamatsqatanhebrew=1464,e.qamatsqatannarrowhebrew=1464,e.qamatsqatanquarterhebrew=1464,e.qamatsqatanwidehebrew=1464,e.qamatsquarterhebrew=1464,e.qamatswidehebrew=1464,e.qarneyparahebrew=1439,e.qbopomofo=12561,e.qcircle=9440,e.qhook=672,e.qmonospace=65361,e.qof=1511,e.qofdagesh=64327,e.qofdageshhebrew=64327,e.qofhebrew=1511,e.qparen=9388,e.quarternote=9833,e.qubuts=1467,e.qubuts18=1467,e.qubuts25=1467,e.qubuts31=1467,e.qubutshebrew=1467,e.qubutsnarrowhebrew=1467,e.qubutsquarterhebrew=1467,e.qubutswidehebrew=1467,e.question=63,e.questionarabic=1567,e.questionarmenian=1374,e.questiondown=191,e.questiondownsmall=63423,e.questiongreek=894,e.questionmonospace=65311,e.questionsmall=63295,e.quotedbl=34,e.quotedblbase=8222,e.quotedblleft=8220,e.quotedblmonospace=65282,e.quotedblprime=12318,e.quotedblprimereversed=12317,e.quotedblright=8221,e.quoteleft=8216,e.quoteleftreversed=8219,e.quotereversed=8219,e.quoteright=8217,e.quoterightn=329,e.quotesinglbase=8218,e.quotesingle=39,e.quotesinglemonospace=65287,e.r=114,e.raarmenian=1404,e.rabengali=2480,e.racute=341,e.radeva=2352,e.radical=8730,e.radicalex=63717,e.radoverssquare=13230,e.radoverssquaredsquare=13231,e.radsquare=13229,e.rafe=1471,e.rafehebrew=1471,e.ragujarati=2736,e.ragurmukhi=2608,e.rahiragana=12425,e.rakatakana=12521,e.rakatakanahalfwidth=65431,e.ralowerdiagonalbengali=2545,e.ramiddlediagonalbengali=2544,e.ramshorn=612,e.ratio=8758,e.rbopomofo=12566,e.rcaron=345,e.rcedilla=343,e.rcircle=9441,e.rcommaaccent=343,e.rdblgrave=529,e.rdotaccent=7769,e.rdotbelow=7771,e.rdotbelowmacron=7773,e.referencemark=8251,e.reflexsubset=8838,e.reflexsuperset=8839,e.registered=174,e.registersans=63720,e.registerserif=63194,e.reharabic=1585,e.reharmenian=1408,e.rehfinalarabic=65198,e.rehiragana=12428,e.rekatakana=12524;e.rekatakanahalfwidth=65434,e.resh=1512,e.reshdageshhebrew=64328,e.reshhebrew=1512,e.reversedtilde=8765,e.reviahebrew=1431,e.reviamugrashhebrew=1431,e.revlogicalnot=8976,e.rfishhook=638,e.rfishhookreversed=639,e.rhabengali=2525,e.rhadeva=2397,e.rho=961,e.rhook=637,e.rhookturned=635,e.rhookturnedsuperior=693,e.rhosymbolgreek=1009,e.rhotichookmod=734,e.rieulacirclekorean=12913,e.rieulaparenkorean=12817,e.rieulcirclekorean=12899,e.rieulhieuhkorean=12608,e.rieulkiyeokkorean=12602,e.rieulkiyeoksioskorean=12649,e.rieulkorean=12601,e.rieulmieumkorean=12603,e.rieulpansioskorean=12652,e.rieulparenkorean=12803,e.rieulphieuphkorean=12607,e.rieulpieupkorean=12604,e.rieulpieupsioskorean=12651,e.rieulsioskorean=12605,e.rieulthieuthkorean=12606,e.rieultikeutkorean=12650,e.rieulyeorinhieuhkorean=12653,e.rightangle=8735,e.righttackbelowcmb=793,e.righttriangle=8895,e.rihiragana=12426,e.rikatakana=12522,e.rikatakanahalfwidth=65432,e.ring=730,e.ringbelowcmb=805,e.ringcmb=778,e.ringhalfleft=703,e.ringhalfleftarmenian=1369,e.ringhalfleftbelowcmb=796,e.ringhalfleftcentered=723,e.ringhalfright=702,e.ringhalfrightbelowcmb=825,e.ringhalfrightcentered=722,e.rinvertedbreve=531,e.rittorusquare=13137,e.rlinebelow=7775,e.rlongleg=636,e.rlonglegturned=634,e.rmonospace=65362,e.rohiragana=12429,e.rokatakana=12525,e.rokatakanahalfwidth=65435,e.roruathai=3619,e.rparen=9389,e.rrabengali=2524,e.rradeva=2353,e.rragurmukhi=2652,e.rreharabic=1681,e.rrehfinalarabic=64397,e.rrvocalicbengali=2528,e.rrvocalicdeva=2400,e.rrvocalicgujarati=2784,e.rrvocalicvowelsignbengali=2500,e.rrvocalicvowelsigndeva=2372,e.rrvocalicvowelsigngujarati=2756,e.rsuperior=63217,e.rtblock=9616,e.rturned=633,e.rturnedsuperior=692,e.ruhiragana=12427,e.rukatakana=12523,e.rukatakanahalfwidth=65433,e.rupeemarkbengali=2546,e.rupeesignbengali=2547,e.rupiah=63197,e.ruthai=3620,e.rvocalicbengali=2443,e.rvocalicdeva=2315,e.rvocalicgujarati=2699,e.rvocalicvowelsignbengali=2499,e.rvocalicvowelsigndeva=2371,e.rvocalicvowelsigngujarati=2755,e.s=115,e.sabengali=2488,e.sacute=347,e.sacutedotaccent=7781,e.sadarabic=1589,e.sadeva=2360,e.sadfinalarabic=65210,e.sadinitialarabic=65211,e.sadmedialarabic=65212,e.sagujarati=2744,e.sagurmukhi=2616,e.sahiragana=12373,e.sakatakana=12469,e.sakatakanahalfwidth=65403,e.sallallahoualayhewasallamarabic=65018,e.samekh=1505,e.samekhdagesh=64321,e.samekhdageshhebrew=64321,e.samekhhebrew=1505,e.saraaathai=3634,e.saraaethai=3649,e.saraaimaimalaithai=3652,e.saraaimaimuanthai=3651,e.saraamthai=3635,e.saraathai=3632,e.saraethai=3648,e.saraiileftthai=63622,e.saraiithai=3637,e.saraileftthai=63621,e.saraithai=3636,e.saraothai=3650,e.saraueeleftthai=63624,e.saraueethai=3639,e.saraueleftthai=63623,e.sarauethai=3638,e.sarauthai=3640,e.sarauuthai=3641,e.sbopomofo=12569,e.scaron=353,e.scarondotaccent=7783,e.scedilla=351,e.schwa=601,e.schwacyrillic=1241,e.schwadieresiscyrillic=1243,e.schwahook=602,e.scircle=9442,e.scircumflex=349,e.scommaaccent=537,e.sdotaccent=7777,e.sdotbelow=7779,e.sdotbelowdotaccent=7785,e.seagullbelowcmb=828,e.second=8243,e.secondtonechinese=714,e.section=167,e.seenarabic=1587,e.seenfinalarabic=65202,e.seeninitialarabic=65203,e.seenmedialarabic=65204,e.segol=1462,e.segol13=1462,e.segol1f=1462,e.segol2c=1462,e.segolhebrew=1462,e.segolnarrowhebrew=1462,e.segolquarterhebrew=1462,e.segoltahebrew=1426,e.segolwidehebrew=1462,e.seharmenian=1405,e.sehiragana=12379,e.sekatakana=12475,e.sekatakanahalfwidth=65406,e.semicolon=59,e.semicolonarabic=1563,e.semicolonmonospace=65307,e.semicolonsmall=65108,e.semivoicedmarkkana=12444,e.semivoicedmarkkanahalfwidth=65439,e.sentisquare=13090,e.sentosquare=13091,e.seven=55,e.sevenarabic=1639,e.sevenbengali=2541,e.sevencircle=9318,e.sevencircleinversesansserif=10128,e.sevendeva=2413,e.seveneighths=8542,e.sevengujarati=2797,e.sevengurmukhi=2669,e.sevenhackarabic=1639,e.sevenhangzhou=12327,e.sevenideographicparen=12838,e.seveninferior=8327,e.sevenmonospace=65303,e.sevenoldstyle=63287,e.sevenparen=9338,e.sevenperiod=9358,e.sevenpersian=1783,e.sevenroman=8566,e.sevensuperior=8311,e.seventeencircle=9328,e.seventeenparen=9348,e.seventeenperiod=9368,e.seventhai=3671,e.sfthyphen=173,e.shaarmenian=1399,e.shabengali=2486,e.shacyrillic=1096,e.shaddaarabic=1617,e.shaddadammaarabic=64609,e.shaddadammatanarabic=64606,e.shaddafathaarabic=64608,e.shaddakasraarabic=64610,e.shaddakasratanarabic=64607,e.shade=9618,e.shadedark=9619,e.shadelight=9617,e.shademedium=9618,e.shadeva=2358,e.shagujarati=2742,e.shagurmukhi=2614,e.shalshelethebrew=1427,e.shbopomofo=12565,e.shchacyrillic=1097,e.sheenarabic=1588,e.sheenfinalarabic=65206,e.sheeninitialarabic=65207,e.sheenmedialarabic=65208,e.sheicoptic=995,e.sheqel=8362,e.sheqelhebrew=8362,e.sheva=1456,e.sheva115=1456,e.sheva15=1456,e.sheva22=1456,e.sheva2e=1456,e.shevahebrew=1456,e.shevanarrowhebrew=1456,e.shevaquarterhebrew=1456,e.shevawidehebrew=1456,e.shhacyrillic=1211,e.shimacoptic=1005,e.shin=1513,e.shindagesh=64329,e.shindageshhebrew=64329,e.shindageshshindot=64300,e.shindageshshindothebrew=64300,e.shindageshsindot=64301,e.shindageshsindothebrew=64301,e.shindothebrew=1473,e.shinhebrew=1513,e.shinshindot=64298,e.shinshindothebrew=64298,e.shinsindot=64299,e.shinsindothebrew=64299,e.shook=642,e.sigma=963,e.sigma1=962,e.sigmafinal=962,e.sigmalunatesymbolgreek=1010,e.sihiragana=12375,e.sikatakana=12471,e.sikatakanahalfwidth=65404,e.siluqhebrew=1469,e.siluqlefthebrew=1469,e.similar=8764,e.sindothebrew=1474,e.siosacirclekorean=12916,e.siosaparenkorean=12820,e.sioscieuckorean=12670,e.sioscirclekorean=12902,e.sioskiyeokkorean=12666,e.sioskorean=12613,e.siosnieunkorean=12667,e.siosparenkorean=12806,e.siospieupkorean=12669,e.siostikeutkorean=12668,e.six=54,e.sixarabic=1638,e.sixbengali=2540,e.sixcircle=9317,e.sixcircleinversesansserif=10127,e.sixdeva=2412,e.sixgujarati=2796,e.sixgurmukhi=2668,e.sixhackarabic=1638,e.sixhangzhou=12326,e.sixideographicparen=12837,e.sixinferior=8326,e.sixmonospace=65302,e.sixoldstyle=63286,e.sixparen=9337,e.sixperiod=9357,e.sixpersian=1782,e.sixroman=8565,e.sixsuperior=8310,e.sixteencircle=9327,e.sixteencurrencydenominatorbengali=2553,e.sixteenparen=9347,e.sixteenperiod=9367,e.sixthai=3670,e.slash=47,e.slashmonospace=65295,e.slong=383,e.slongdotaccent=7835,e.smileface=9786,e.smonospace=65363,e.sofpasuqhebrew=1475,e.softhyphen=173,e.softsigncyrillic=1100,e.sohiragana=12381,e.sokatakana=12477,e.sokatakanahalfwidth=65407,e.soliduslongoverlaycmb=824,e.solidusshortoverlaycmb=823,e.sorusithai=3625,e.sosalathai=3624,e.sosothai=3595,e.sosuathai=3626,e.space=32,e.spacehackarabic=32,e.spade=9824,e.spadesuitblack=9824,e.spadesuitwhite=9828,e.sparen=9390,e.squarebelowcmb=827,e.squarecc=13252,e.squarecm=13213,e.squarediagonalcrosshatchfill=9641,e.squarehorizontalfill=9636,e.squarekg=13199,e.squarekm=13214,e.squarekmcapital=13262,e.squareln=13265,e.squarelog=13266,e.squaremg=13198,e.squaremil=13269,e.squaremm=13212,e.squaremsquared=13217,e.squareorthogonalcrosshatchfill=9638,e.squareupperlefttolowerrightfill=9639,e.squareupperrighttolowerleftfill=9640,e.squareverticalfill=9637,e.squarewhitewithsmallblack=9635,e.srsquare=13275,e.ssabengali=2487,e.ssadeva=2359,e.ssagujarati=2743,e.ssangcieuckorean=12617,e.ssanghieuhkorean=12677,e.ssangieungkorean=12672,e.ssangkiyeokkorean=12594,e.ssangnieunkorean=12645,e.ssangpieupkorean=12611,e.ssangsioskorean=12614,e.ssangtikeutkorean=12600,e.ssuperior=63218,e.sterling=163,e.sterlingmonospace=65505,e.strokelongoverlaycmb=822,e.strokeshortoverlaycmb=821,e.subset=8834,e.subsetnotequal=8842,e.subsetorequal=8838,e.succeeds=8827,e.suchthat=8715,e.suhiragana=12377,e.sukatakana=12473,e.sukatakanahalfwidth=65405,e.sukunarabic=1618,e.summation=8721,e.sun=9788,e.superset=8835,e.supersetnotequal=8843,e.supersetorequal=8839,e.svsquare=13276,e.syouwaerasquare=13180,e.t=116,e.tabengali=2468,e.tackdown=8868,e.tackleft=8867,e.tadeva=2340,e.tagujarati=2724,e.tagurmukhi=2596,e.taharabic=1591,e.tahfinalarabic=65218,e.tahinitialarabic=65219,e.tahiragana=12383,e.tahmedialarabic=65220,e.taisyouerasquare=13181,e.takatakana=12479,e.takatakanahalfwidth=65408,e.tatweelarabic=1600,e.tau=964,e.tav=1514,e.tavdages=64330,e.tavdagesh=64330,e.tavdageshhebrew=64330,e.tavhebrew=1514,e.tbar=359,e.tbopomofo=12554,e.tcaron=357,e.tccurl=680,e.tcedilla=355,e.tcheharabic=1670,e.tchehfinalarabic=64379,e.tchehinitialarabic=64380,e.tchehmedialarabic=64381,e.tcircle=9443,e.tcircumflexbelow=7793,e.tcommaaccent=355,e.tdieresis=7831,e.tdotaccent=7787,e.tdotbelow=7789,e.tecyrillic=1090,e.tedescendercyrillic=1197,e.teharabic=1578,e.tehfinalarabic=65174,e.tehhahinitialarabic=64674,e.tehhahisolatedarabic=64524,e.tehinitialarabic=65175,e.tehiragana=12390,e.tehjeeminitialarabic=64673,e.tehjeemisolatedarabic=64523,e.tehmarbutaarabic=1577,e.tehmarbutafinalarabic=65172,e.tehmedialarabic=65176,e.tehmeeminitialarabic=64676,e.tehmeemisolatedarabic=64526,e.tehnoonfinalarabic=64627,e.tekatakana=12486,e.tekatakanahalfwidth=65411,e.telephone=8481,e.telephoneblack=9742,e.telishagedolahebrew=1440,e.telishaqetanahebrew=1449,e.tencircle=9321,e.tenideographicparen=12841,e.tenparen=9341,e.tenperiod=9361,e.tenroman=8569,e.tesh=679,e.tet=1496,e.tetdagesh=64312,e.tetdageshhebrew=64312,e.tethebrew=1496,e.tetsecyrillic=1205,e.tevirhebrew=1435,e.tevirlefthebrew=1435,e.thabengali=2469,e.thadeva=2341,e.thagujarati=2725,e.thagurmukhi=2597,e.thalarabic=1584,e.thalfinalarabic=65196,e.thanthakhatlowleftthai=63640,e.thanthakhatlowrightthai=63639,e.thanthakhatthai=3660,e.thanthakhatupperleftthai=63638,e.theharabic=1579,e.thehfinalarabic=65178,e.thehinitialarabic=65179,e.thehmedialarabic=65180,e.thereexists=8707,e.therefore=8756,e.theta=952,e.theta1=977,e.thetasymbolgreek=977,e.thieuthacirclekorean=12921,e.thieuthaparenkorean=12825,e.thieuthcirclekorean=12907,e.thieuthkorean=12620,e.thieuthparenkorean=12811,e.thirteencircle=9324,e.thirteenparen=9344,e.thirteenperiod=9364,e.thonangmonthothai=3601,e.thook=429,e.thophuthaothai=3602,e.thorn=254,e.thothahanthai=3607,e.thothanthai=3600,e.thothongthai=3608,e.thothungthai=3606,e.thousandcyrillic=1154,e.thousandsseparatorarabic=1644,e.thousandsseparatorpersian=1644,e.three=51,e.threearabic=1635,e.threebengali=2537,e.threecircle=9314,e.threecircleinversesansserif=10124,e.threedeva=2409,e.threeeighths=8540,e.threegujarati=2793,e.threegurmukhi=2665,e.threehackarabic=1635,e.threehangzhou=12323,e.threeideographicparen=12834,e.threeinferior=8323,e.threemonospace=65299,e.threenumeratorbengali=2550,e.threeoldstyle=63283,e.threeparen=9334,e.threeperiod=9354,e.threepersian=1779,e.threequarters=190,e.threequartersemdash=63198,e.threeroman=8562,e.threesuperior=179,e.threethai=3667,e.thzsquare=13204,e.tihiragana=12385,e.tikatakana=12481,e.tikatakanahalfwidth=65409,e.tikeutacirclekorean=12912,e.tikeutaparenkorean=12816,e.tikeutcirclekorean=12898,e.tikeutkorean=12599,e.tikeutparenkorean=12802,e.tilde=732,e.tildebelowcmb=816,e.tildecmb=771,e.tildecomb=771,e.tildedoublecmb=864,e.tildeoperator=8764,e.tildeoverlaycmb=820,e.tildeverticalcmb=830,e.timescircle=8855,e.tipehahebrew=1430,e.tipehalefthebrew=1430,e.tippigurmukhi=2672,e.titlocyrilliccmb=1155,e.tiwnarmenian=1407,e.tlinebelow=7791,e.tmonospace=65364,e.toarmenian=1385,e.tohiragana=12392,e.tokatakana=12488,e.tokatakanahalfwidth=65412,e.tonebarextrahighmod=741,e.tonebarextralowmod=745,e.tonebarhighmod=742,e.tonebarlowmod=744,e.tonebarmidmod=743,e.tonefive=445,e.tonesix=389,e.tonetwo=424,e.tonos=900,e.tonsquare=13095,e.topatakthai=3599,e.tortoiseshellbracketleft=12308,e.tortoiseshellbracketleftsmall=65117,e.tortoiseshellbracketleftvertical=65081,e.tortoiseshellbracketright=12309,e.tortoiseshellbracketrightsmall=65118,e.tortoiseshellbracketrightvertical=65082,e.totaothai=3605,e.tpalatalhook=427,e.tparen=9391,e.trademark=8482,e.trademarksans=63722,e.trademarkserif=63195,e.tretroflexhook=648,e.triagdn=9660,e.triaglf=9668,e.triagrt=9658,e.triagup=9650,e.ts=678,e.tsadi=1510,e.tsadidagesh=64326,e.tsadidageshhebrew=64326,e.tsadihebrew=1510,e.tsecyrillic=1094,e.tsere=1461,e.tsere12=1461,e.tsere1e=1461,e.tsere2b=1461,e.tserehebrew=1461,e.tserenarrowhebrew=1461,e.tserequarterhebrew=1461,e.tserewidehebrew=1461,e.tshecyrillic=1115,e.tsuperior=63219,e.ttabengali=2463,e.ttadeva=2335,e.ttagujarati=2719,e.ttagurmukhi=2591,e.tteharabic=1657,e.ttehfinalarabic=64359,e.ttehinitialarabic=64360,e.ttehmedialarabic=64361,e.tthabengali=2464,e.tthadeva=2336,e.tthagujarati=2720,e.tthagurmukhi=2592,e.tturned=647,e.tuhiragana=12388,e.tukatakana=12484,e.tukatakanahalfwidth=65410,e.tusmallhiragana=12387,e.tusmallkatakana=12483,e.tusmallkatakanahalfwidth=65391,e.twelvecircle=9323,e.twelveparen=9343,e.twelveperiod=9363,e.twelveroman=8571,e.twentycircle=9331,e.twentyhangzhou=21316,e.twentyparen=9351,e.twentyperiod=9371,e.two=50,e.twoarabic=1634,e.twobengali=2536,e.twocircle=9313,e.twocircleinversesansserif=10123,e.twodeva=2408,e.twodotenleader=8229,e.twodotleader=8229,e.twodotleadervertical=65072,e.twogujarati=2792,e.twogurmukhi=2664,e.twohackarabic=1634,e.twohangzhou=12322,e.twoideographicparen=12833,e.twoinferior=8322,e.twomonospace=65298,e.twonumeratorbengali=2549,e.twooldstyle=63282,e.twoparen=9333,e.twoperiod=9353,e.twopersian=1778,e.tworoman=8561,e.twostroke=443,e.twosuperior=178,e.twothai=3666,e.twothirds=8532,e.u=117,e.uacute=250,e.ubar=649,e.ubengali=2441,e.ubopomofo=12584,e.ubreve=365,e.ucaron=468,e.ucircle=9444,e.ucircumflex=251,e.ucircumflexbelow=7799,e.ucyrillic=1091,e.udattadeva=2385,e.udblacute=369,e.udblgrave=533,e.udeva=2313,e.udieresis=252,e.udieresisacute=472,e.udieresisbelow=7795,e.udieresiscaron=474,e.udieresiscyrillic=1265,e.udieresisgrave=476,e.udieresismacron=470,e.udotbelow=7909,e.ugrave=249,e.ugujarati=2697,e.ugurmukhi=2569,e.uhiragana=12358,e.uhookabove=7911,e.uhorn=432,e.uhornacute=7913,e.uhorndotbelow=7921,e.uhorngrave=7915,e.uhornhookabove=7917,e.uhorntilde=7919,e.uhungarumlaut=369,e.uhungarumlautcyrillic=1267,e.uinvertedbreve=535,e.ukatakana=12454,e.ukatakanahalfwidth=65395,e.ukcyrillic=1145,e.ukorean=12636,e.umacron=363,e.umacroncyrillic=1263,e.umacrondieresis=7803,e.umatragurmukhi=2625,e.umonospace=65365,e.underscore=95,e.underscoredbl=8215,e.underscoremonospace=65343,e.underscorevertical=65075,e.underscorewavy=65103,e.union=8746,e.universal=8704,e.uogonek=371,e.uparen=9392,e.upblock=9600,e.upperdothebrew=1476,e.upsilon=965,e.upsilondieresis=971,e.upsilondieresistonos=944,e.upsilonlatin=650,e.upsilontonos=973,e.uptackbelowcmb=797,e.uptackmod=724,e.uragurmukhi=2675,e.uring=367,e.ushortcyrillic=1118,e.usmallhiragana=12357,e.usmallkatakana=12453,e.usmallkatakanahalfwidth=65385,e.ustraightcyrillic=1199,e.ustraightstrokecyrillic=1201,e.utilde=361,e.utildeacute=7801,e.utildebelow=7797,e.uubengali=2442,e.uudeva=2314,e.uugujarati=2698,e.uugurmukhi=2570,e.uumatragurmukhi=2626,e.uuvowelsignbengali=2498,e.uuvowelsigndeva=2370,e.uuvowelsigngujarati=2754,e.uvowelsignbengali=2497,e.uvowelsigndeva=2369,e.uvowelsigngujarati=2753,e.v=118,e.vadeva=2357,e.vagujarati=2741,e.vagurmukhi=2613,e.vakatakana=12535,e.vav=1493,e.vavdagesh=64309,e.vavdagesh65=64309,e.vavdageshhebrew=64309,e.vavhebrew=1493,e.vavholam=64331,e.vavholamhebrew=64331,e.vavvavhebrew=1520,e.vavyodhebrew=1521,e.vcircle=9445,e.vdotbelow=7807,e.vecyrillic=1074,e.veharabic=1700,e.vehfinalarabic=64363,e.vehinitialarabic=64364,e.vehmedialarabic=64365,e.vekatakana=12537,e.venus=9792,e.verticalbar=124,e.verticallineabovecmb=781,e.verticallinebelowcmb=809,e.verticallinelowmod=716,e.verticallinemod=712,e.vewarmenian=1406,e.vhook=651,e.vikatakana=12536,e.viramabengali=2509,e.viramadeva=2381,e.viramagujarati=2765,e.visargabengali=2435,e.visargadeva=2307,e.visargagujarati=2691,e.vmonospace=65366,e.voarmenian=1400,e.voicediterationhiragana=12446,e.voicediterationkatakana=12542,e.voicedmarkkana=12443,e.voicedmarkkanahalfwidth=65438,e.vokatakana=12538,e.vparen=9393,e.vtilde=7805,e.vturned=652,e.vuhiragana=12436,e.vukatakana=12532,e.w=119,e.wacute=7811,e.waekorean=12633,e.wahiragana=12431,e.wakatakana=12527,e.wakatakanahalfwidth=65436,e.wakorean=12632,e.wasmallhiragana=12430,e.wasmallkatakana=12526,e.wattosquare=13143,e.wavedash=12316,e.wavyunderscorevertical=65076,e.wawarabic=1608,e.wawfinalarabic=65262,e.wawhamzaabovearabic=1572,e.wawhamzaabovefinalarabic=65158,e.wbsquare=13277,e.wcircle=9446,e.wcircumflex=373,e.wdieresis=7813,e.wdotaccent=7815,e.wdotbelow=7817,e.wehiragana=12433,e.weierstrass=8472,e.wekatakana=12529,e.wekorean=12638,e.weokorean=12637,e.wgrave=7809,e.whitebullet=9702,e.whitecircle=9675,e.whitecircleinverse=9689,e.whitecornerbracketleft=12302,e.whitecornerbracketleftvertical=65091,e.whitecornerbracketright=12303,e.whitecornerbracketrightvertical=65092,e.whitediamond=9671,e.whitediamondcontainingblacksmalldiamond=9672,e.whitedownpointingsmalltriangle=9663;e.whitedownpointingtriangle=9661,e.whiteleftpointingsmalltriangle=9667,e.whiteleftpointingtriangle=9665,e.whitelenticularbracketleft=12310,e.whitelenticularbracketright=12311,e.whiterightpointingsmalltriangle=9657,e.whiterightpointingtriangle=9655,e.whitesmallsquare=9643,e.whitesmilingface=9786,e.whitesquare=9633,e.whitestar=9734,e.whitetelephone=9743,e.whitetortoiseshellbracketleft=12312,e.whitetortoiseshellbracketright=12313,e.whiteuppointingsmalltriangle=9653,e.whiteuppointingtriangle=9651,e.wihiragana=12432,e.wikatakana=12528,e.wikorean=12639,e.wmonospace=65367,e.wohiragana=12434,e.wokatakana=12530,e.wokatakanahalfwidth=65382,e.won=8361,e.wonmonospace=65510,e.wowaenthai=3623,e.wparen=9394,e.wring=7832,e.wsuperior=695,e.wturned=653,e.wynn=447,e.x=120,e.xabovecmb=829,e.xbopomofo=12562,e.xcircle=9447,e.xdieresis=7821,e.xdotaccent=7819,e.xeharmenian=1389,e.xi=958,e.xmonospace=65368,e.xparen=9395,e.xsuperior=739,e.y=121,e.yaadosquare=13134,e.yabengali=2479,e.yacute=253,e.yadeva=2351,e.yaekorean=12626,e.yagujarati=2735,e.yagurmukhi=2607,e.yahiragana=12420,e.yakatakana=12516,e.yakatakanahalfwidth=65428,e.yakorean=12625,e.yamakkanthai=3662,e.yasmallhiragana=12419,e.yasmallkatakana=12515,e.yasmallkatakanahalfwidth=65388,e.yatcyrillic=1123,e.ycircle=9448,e.ycircumflex=375,e.ydieresis=255,e.ydotaccent=7823,e.ydotbelow=7925,e.yeharabic=1610,e.yehbarreearabic=1746,e.yehbarreefinalarabic=64431,e.yehfinalarabic=65266,e.yehhamzaabovearabic=1574,e.yehhamzaabovefinalarabic=65162,e.yehhamzaaboveinitialarabic=65163,e.yehhamzaabovemedialarabic=65164,e.yehinitialarabic=65267,e.yehmedialarabic=65268,e.yehmeeminitialarabic=64733,e.yehmeemisolatedarabic=64600,e.yehnoonfinalarabic=64660,e.yehthreedotsbelowarabic=1745,e.yekorean=12630,e.yen=165,e.yenmonospace=65509,e.yeokorean=12629,e.yeorinhieuhkorean=12678,e.yerahbenyomohebrew=1450,e.yerahbenyomolefthebrew=1450,e.yericyrillic=1099,e.yerudieresiscyrillic=1273,e.yesieungkorean=12673,e.yesieungpansioskorean=12675,e.yesieungsioskorean=12674,e.yetivhebrew=1434,e.ygrave=7923,e.yhook=436,e.yhookabove=7927,e.yiarmenian=1397,e.yicyrillic=1111,e.yikorean=12642,e.yinyang=9775,e.yiwnarmenian=1410,e.ymonospace=65369,e.yod=1497,e.yoddagesh=64313,e.yoddageshhebrew=64313,e.yodhebrew=1497,e.yodyodhebrew=1522,e.yodyodpatahhebrew=64287,e.yohiragana=12424,e.yoikorean=12681,e.yokatakana=12520,e.yokatakanahalfwidth=65430,e.yokorean=12635,e.yosmallhiragana=12423,e.yosmallkatakana=12519,e.yosmallkatakanahalfwidth=65390,e.yotgreek=1011,e.yoyaekorean=12680,e.yoyakorean=12679,e.yoyakthai=3618,e.yoyingthai=3597,e.yparen=9396,e.ypogegrammeni=890,e.ypogegrammenigreekcmb=837,e.yr=422,e.yring=7833,e.ysuperior=696,e.ytilde=7929,e.yturned=654,e.yuhiragana=12422,e.yuikorean=12684,e.yukatakana=12518,e.yukatakanahalfwidth=65429,e.yukorean=12640,e.yusbigcyrillic=1131,e.yusbigiotifiedcyrillic=1133,e.yuslittlecyrillic=1127,e.yuslittleiotifiedcyrillic=1129,e.yusmallhiragana=12421,e.yusmallkatakana=12517,e.yusmallkatakanahalfwidth=65389,e.yuyekorean=12683,e.yuyeokorean=12682,e.yyabengali=2527,e.yyadeva=2399,e.z=122,e.zaarmenian=1382,e.zacute=378,e.zadeva=2395,e.zagurmukhi=2651,e.zaharabic=1592,e.zahfinalarabic=65222,e.zahinitialarabic=65223,e.zahiragana=12374,e.zahmedialarabic=65224,e.zainarabic=1586,e.zainfinalarabic=65200,e.zakatakana=12470,e.zaqefgadolhebrew=1429,e.zaqefqatanhebrew=1428,e.zarqahebrew=1432,e.zayin=1494,e.zayindagesh=64310,e.zayindageshhebrew=64310,e.zayinhebrew=1494,e.zbopomofo=12567,e.zcaron=382,e.zcircle=9449,e.zcircumflex=7825,e.zcurl=657,e.zdot=380,e.zdotaccent=380,e.zdotbelow=7827,e.zecyrillic=1079,e.zedescendercyrillic=1177,e.zedieresiscyrillic=1247,e.zehiragana=12380,e.zekatakana=12476,e.zero=48,e.zeroarabic=1632,e.zerobengali=2534,e.zerodeva=2406,e.zerogujarati=2790,e.zerogurmukhi=2662,e.zerohackarabic=1632,e.zeroinferior=8320,e.zeromonospace=65296,e.zerooldstyle=63280,e.zeropersian=1776,e.zerosuperior=8304,e.zerothai=3664,e.zerowidthjoiner=65279,e.zerowidthnonjoiner=8204,e.zerowidthspace=8203,e.zeta=950,e.zhbopomofo=12563,e.zhearmenian=1386,e.zhebrevecyrillic=1218,e.zhecyrillic=1078,e.zhedescendercyrillic=1175,e.zhedieresiscyrillic=1245,e.zihiragana=12376,e.zikatakana=12472,e.zinorhebrew=1454,e.zlinebelow=7829,e.zmonospace=65370,e.zohiragana=12382,e.zokatakana=12478,e.zparen=9397,e.zretroflexhook=656,e.zstroke=438,e.zuhiragana=12378,e.zukatakana=12474,e[".notdef"]=0,e.angbracketleftbig=9001,e.angbracketleftBig=9001,e.angbracketleftbigg=9001,e.angbracketleftBigg=9001,e.angbracketrightBig=9002,e.angbracketrightbig=9002,e.angbracketrightBigg=9002,e.angbracketrightbigg=9002,e.arrowhookleft=8618,e.arrowhookright=8617,e.arrowlefttophalf=8636,e.arrowleftbothalf=8637,e.arrownortheast=8599,e.arrownorthwest=8598,e.arrowrighttophalf=8640,e.arrowrightbothalf=8641,e.arrowsoutheast=8600,e.arrowsouthwest=8601,e.backslashbig=8726,e.backslashBig=8726,e.backslashBigg=8726,e.backslashbigg=8726,e.bardbl=8214,e.bracehtipdownleft=65079,e.bracehtipdownright=65079,e.bracehtipupleft=65080,e.bracehtipupright=65080,e.braceleftBig=123,e.braceleftbig=123,e.braceleftbigg=123,e.braceleftBigg=123,e.bracerightBig=125,e.bracerightbig=125,e.bracerightbigg=125,e.bracerightBigg=125,e.bracketleftbig=91,e.bracketleftBig=91,e.bracketleftbigg=91,e.bracketleftBigg=91,e.bracketrightBig=93,e.bracketrightbig=93,e.bracketrightbigg=93,e.bracketrightBigg=93,e.ceilingleftbig=8968,e.ceilingleftBig=8968,e.ceilingleftBigg=8968,e.ceilingleftbigg=8968,e.ceilingrightbig=8969,e.ceilingrightBig=8969,e.ceilingrightbigg=8969,e.ceilingrightBigg=8969,e.circledotdisplay=8857,e.circledottext=8857,e.circlemultiplydisplay=8855,e.circlemultiplytext=8855,e.circleplusdisplay=8853,e.circleplustext=8853,e.contintegraldisplay=8750,e.contintegraltext=8750,e.coproductdisplay=8720,e.coproducttext=8720,e.floorleftBig=8970,e.floorleftbig=8970,e.floorleftbigg=8970,e.floorleftBigg=8970,e.floorrightbig=8971,e.floorrightBig=8971,e.floorrightBigg=8971,e.floorrightbigg=8971,e.hatwide=770,e.hatwider=770,e.hatwidest=770,e.intercal=7488,e.integraldisplay=8747,e.integraltext=8747,e.intersectiondisplay=8898,e.intersectiontext=8898,e.logicalanddisplay=8743,e.logicalandtext=8743,e.logicalordisplay=8744,e.logicalortext=8744,e.parenleftBig=40,e.parenleftbig=40,e.parenleftBigg=40,e.parenleftbigg=40,e.parenrightBig=41,e.parenrightbig=41,e.parenrightBigg=41,e.parenrightbigg=41,e.prime=8242,e.productdisplay=8719,e.producttext=8719,e.radicalbig=8730,e.radicalBig=8730,e.radicalBigg=8730,e.radicalbigg=8730,e.radicalbt=8730,e.radicaltp=8730,e.radicalvertex=8730,e.slashbig=47,e.slashBig=47,e.slashBigg=47,e.slashbigg=47,e.summationdisplay=8721,e.summationtext=8721,e.tildewide=732,e.tildewider=732,e.tildewidest=732,e.uniondisplay=8899,e.unionmultidisplay=8846,e.unionmultitext=8846,e.unionsqdisplay=8852,e.unionsqtext=8852,e.uniontext=8899,e.vextenddouble=8741,e.vextendsingle=8739})),Vl=Ig((function(e){e.space=32,e.a1=9985,e.a2=9986,e.a202=9987,e.a3=9988,e.a4=9742,e.a5=9990,e.a119=9991,e.a118=9992,e.a117=9993,e.a11=9755,e.a12=9758,e.a13=9996,e.a14=9997,e.a15=9998,e.a16=9999,e.a105=1e4,e.a17=10001,e.a18=10002,e.a19=10003,e.a20=10004,e.a21=10005,e.a22=10006,e.a23=10007,e.a24=10008,e.a25=10009,e.a26=10010,e.a27=10011,e.a28=10012,e.a6=10013,e.a7=10014,e.a8=10015,e.a9=10016,e.a10=10017,e.a29=10018,e.a30=10019,e.a31=10020,e.a32=10021,e.a33=10022,e.a34=10023,e.a35=9733,e.a36=10025,e.a37=10026,e.a38=10027,e.a39=10028,e.a40=10029,e.a41=10030,e.a42=10031,e.a43=10032,e.a44=10033,e.a45=10034,e.a46=10035,e.a47=10036,e.a48=10037,e.a49=10038,e.a50=10039,e.a51=10040,e.a52=10041,e.a53=10042,e.a54=10043,e.a55=10044,e.a56=10045,e.a57=10046,e.a58=10047,e.a59=10048,e.a60=10049,e.a61=10050,e.a62=10051,e.a63=10052,e.a64=10053,e.a65=10054,e.a66=10055,e.a67=10056,e.a68=10057,e.a69=10058,e.a70=10059,e.a71=9679,e.a72=10061,e.a73=9632,e.a74=10063,e.a203=10064,e.a75=10065,e.a204=10066,e.a76=9650,e.a77=9660,e.a78=9670,e.a79=10070,e.a81=9687,e.a82=10072,e.a83=10073,e.a84=10074,e.a97=10075,e.a98=10076,e.a99=10077,e.a100=10078,e.a101=10081,e.a102=10082,e.a103=10083,e.a104=10084,e.a106=10085,e.a107=10086,e.a108=10087,e.a112=9827,e.a111=9830,e.a110=9829,e.a109=9824,e.a120=9312,e.a121=9313,e.a122=9314,e.a123=9315,e.a124=9316,e.a125=9317,e.a126=9318,e.a127=9319,e.a128=9320,e.a129=9321,e.a130=10102,e.a131=10103,e.a132=10104,e.a133=10105,e.a134=10106,e.a135=10107,e.a136=10108,e.a137=10109,e.a138=10110,e.a139=10111,e.a140=10112,e.a141=10113,e.a142=10114,e.a143=10115,e.a144=10116,e.a145=10117,e.a146=10118,e.a147=10119,e.a148=10120,e.a149=10121,e.a150=10122,e.a151=10123,e.a152=10124,e.a153=10125,e.a154=10126,e.a155=10127,e.a156=10128,e.a157=10129,e.a158=10130,e.a159=10131,e.a160=10132,e.a161=8594,e.a163=8596,e.a164=8597,e.a196=10136,e.a165=10137,e.a192=10138,e.a166=10139,e.a167=10140,e.a168=10141,e.a169=10142,e.a170=10143,e.a171=10144,e.a172=10145,e.a173=10146,e.a162=10147,e.a174=10148,e.a175=10149,e.a176=10150,e.a177=10151,e.a178=10152,e.a179=10153,e.a193=10154,e.a180=10155,e.a199=10156,e.a181=10157,e.a200=10158,e.a182=10159,e.a201=10161,e.a183=10162,e.a184=10163,e.a197=10164,e.a185=10165,e.a194=10166,e.a198=10167,e.a186=10168,e.a195=10169,e.a187=10170,e.a188=10171,e.a189=10172,e.a190=10173,e.a191=10174,e.a89=10088,e.a90=10089,e.a93=10090,e.a94=10091,e.a91=10092,e.a92=10093,e.a205=10094,e.a85=10095,e.a206=10096,e.a86=10097,e.a87=10098,e.a88=10099,e.a95=10100,e.a96=10101,e[".notdef"]=0})),Zl=Ig((function(e){e[63721]=169,e[63193]=169,e[63720]=174,e[63194]=174,e[63722]=8482,e[63195]=8482,e[63729]=9127,e[63730]=9128,e[63731]=9129,e[63740]=9131,e[63741]=9132,e[63742]=9133,e[63726]=9121,e[63727]=9122,e[63728]=9123,e[63737]=9124,e[63738]=9125,e[63739]=9126,e[63723]=9115,e[63724]=9116,e[63725]=9117,e[63734]=9118,e[63735]=9119,e[63736]=9120}));function Xl(e,t){let A=t[e];if(void 0!==A)return A;if(!e)return-1;if("u"===e[0]){const t=e.length;let i;if(7===t&&"n"===e[1]&&"i"===e[2])i=e.substring(3);else{if(!(t>=5&&t<=7))return-1;i=e.substring(1)}if(i===i.toUpperCase()&&(A=parseInt(i,16),A>=0))return A}return-1}const zl=[[0,127],[128,255],[256,383],[384,591],[592,687,7424,7551,7552,7615],[688,767,42752,42783],[768,879,7616,7679],[880,1023],[11392,11519],[1024,1279,1280,1327,11744,11775,42560,42655],[1328,1423],[1424,1535],[42240,42559],[1536,1791,1872,1919],[1984,2047],[2304,2431],[2432,2559],[2560,2687],[2688,2815],[2816,2943],[2944,3071],[3072,3199],[3200,3327],[3328,3455],[3584,3711],[3712,3839],[4256,4351,11520,11567],[6912,7039],[4352,4607],[7680,7935,11360,11391,42784,43007],[7936,8191],[8192,8303,11776,11903],[8304,8351],[8352,8399],[8400,8447],[8448,8527],[8528,8591],[8592,8703,10224,10239,10496,10623,11008,11263],[8704,8959,10752,11007,10176,10223,10624,10751],[8960,9215],[9216,9279],[9280,9311],[9312,9471],[9472,9599],[9600,9631],[9632,9727],[9728,9983],[9984,10175],[12288,12351],[12352,12447],[12448,12543,12784,12799],[12544,12591,12704,12735],[12592,12687],[43072,43135],[12800,13055],[13056,13311],[44032,55215],[55296,57343],[67840,67871],[19968,40959,11904,12031,12032,12255,12272,12287,13312,19903,131072,173791,12688,12703],[57344,63743],[12736,12783,63744,64255,194560,195103],[64256,64335],[64336,65023],[65056,65071],[65040,65055],[65104,65135],[65136,65279],[65280,65519],[65520,65535],[3840,4095],[1792,1871],[1920,1983],[3456,3583],[4096,4255],[4608,4991,4992,5023,11648,11743],[5024,5119],[5120,5759],[5760,5791],[5792,5887],[6016,6143],[6144,6319],[10240,10495],[40960,42127],[5888,5919,5920,5951,5952,5983,5984,6015],[66304,66351],[66352,66383],[66560,66639],[118784,119039,119040,119295,119296,119375],[119808,120831],[1044480,1048573],[65024,65039,917760,917999],[917504,917631],[6400,6479],[6480,6527],[6528,6623],[6656,6687],[11264,11359],[11568,11647],[19904,19967],[43008,43055],[65536,65663,65664,65791,65792,65855],[65856,65935],[66432,66463],[66464,66527],[66640,66687],[66688,66735],[67584,67647],[68096,68191],[119552,119647],[73728,74751,74752,74879],[119648,119679],[7040,7103],[7168,7247],[7248,7295],[43136,43231],[43264,43311],[43312,43359],[43520,43615],[65936,65999],[66e3,66047],[66208,66271,66176,66207,67872,67903],[127024,127135,126976,127023]];function $l(e,t=-1){if(-1!==t){const A=zl[t];for(let i=0,s=A.length;i<s;i+=2)if(e>=A[i]&&e<=A[i+1])return t}for(let t=0,A=zl.length;t<A;t++){const A=zl[t];for(let i=0,s=A.length;i<s;i+=2)if(e>=A[i]&&e<=A[i+1])return t}return-1}const eI=new RegExp("^(\\s)|(\\p{Mn})|(\\p{Cf})$","u"),tI=new Map;const AI=!0,iI=1,sI=2,aI=4,nI=32,rI=[".notdef",".null","nonmarkingreturn","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","nonbreakingspace","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron","Lslash","lslash","Scaron","scaron","Zcaron","zcaron","brokenbar","Eth","eth","Yacute","yacute","Thorn","thorn","minus","multiply","onesuperior","twosuperior","threesuperior","onehalf","onequarter","threequarters","franc","Gbreve","gbreve","Idotaccent","Scedilla","scedilla","Cacute","cacute","Ccaron","ccaron","dcroat"];function oI(e,t){if(void 0!==t[e])return e;const A=Xl(e,t);if(-1!==A)for(const e in t)if(t[e]===A)return e;return ho("Unable to recover a standard glyph name for: "+e),e}function gI(e,t,A){const i=Object.create(null);let s,a,n;const r=!!(e.flags&aI);if(e.isInternalFont)for(n=t,a=0;a<n.length;a++)s=A.indexOf(n[a]),i[a]=s>=0?s:0;else if(e.baseEncodingName)for(n=kl(e.baseEncodingName),a=0;a<n.length;a++)s=A.indexOf(n[a]),i[a]=s>=0?s:0;else if(r)for(a in t)i[a]=t[a];else for(n=yl,a=0;a<n.length;a++)s=A.indexOf(n[a]),i[a]=s>=0?s:0;const o=e.differences;let g;if(o)for(a in o){const e=o[a];if(s=A.indexOf(e),-1===s){g||(g=jl());const t=oI(e,g);t!==e&&(s=A.indexOf(t))}i[a]=s>=0?s:0}return i}function hI(e){return e.replaceAll(/[,_]/g,"-").replaceAll(/\s/g,"")}const cI=Ig((function(e){e["Times-Roman"]="Times-Roman",e.Helvetica="Helvetica",e.Courier="Courier",e.Symbol="Symbol",e["Times-Bold"]="Times-Bold",e["Helvetica-Bold"]="Helvetica-Bold",e["Courier-Bold"]="Courier-Bold",e.ZapfDingbats="ZapfDingbats",e["Times-Italic"]="Times-Italic",e["Helvetica-Oblique"]="Helvetica-Oblique",e["Courier-Oblique"]="Courier-Oblique",e["Times-BoldItalic"]="Times-BoldItalic",e["Helvetica-BoldOblique"]="Helvetica-BoldOblique",e["Courier-BoldOblique"]="Courier-BoldOblique",e.ArialNarrow="Helvetica",e["ArialNarrow-Bold"]="Helvetica-Bold",e["ArialNarrow-BoldItalic"]="Helvetica-BoldOblique",e["ArialNarrow-Italic"]="Helvetica-Oblique",e.ArialBlack="Helvetica",e["ArialBlack-Bold"]="Helvetica-Bold",e["ArialBlack-BoldItalic"]="Helvetica-BoldOblique",e["ArialBlack-Italic"]="Helvetica-Oblique",e["Arial-Black"]="Helvetica",e["Arial-Black-Bold"]="Helvetica-Bold",e["Arial-Black-BoldItalic"]="Helvetica-BoldOblique",e["Arial-Black-Italic"]="Helvetica-Oblique",e.Arial="Helvetica",e["Arial-Bold"]="Helvetica-Bold",e["Arial-BoldItalic"]="Helvetica-BoldOblique",e["Arial-Italic"]="Helvetica-Oblique",e.ArialMT="Helvetica",e["Arial-BoldItalicMT"]="Helvetica-BoldOblique",e["Arial-BoldMT"]="Helvetica-Bold",e["Arial-ItalicMT"]="Helvetica-Oblique",e["Arial-BoldItalicMT-BoldItalic"]="Helvetica-BoldOblique",e["Arial-BoldMT-Bold"]="Helvetica-Bold",e["Arial-ItalicMT-Italic"]="Helvetica-Oblique",e.ArialUnicodeMS="Helvetica",e["ArialUnicodeMS-Bold"]="Helvetica-Bold",e["ArialUnicodeMS-BoldItalic"]="Helvetica-BoldOblique",e["ArialUnicodeMS-Italic"]="Helvetica-Oblique",e["Courier-BoldItalic"]="Courier-BoldOblique",e["Courier-Italic"]="Courier-Oblique",e.CourierNew="Courier",e["CourierNew-Bold"]="Courier-Bold",e["CourierNew-BoldItalic"]="Courier-BoldOblique",e["CourierNew-Italic"]="Courier-Oblique",e["CourierNewPS-BoldItalicMT"]="Courier-BoldOblique",e["CourierNewPS-BoldMT"]="Courier-Bold",e["CourierNewPS-ItalicMT"]="Courier-Oblique",e.CourierNewPSMT="Courier",e["Helvetica-BoldItalic"]="Helvetica-BoldOblique",e["Helvetica-Italic"]="Helvetica-Oblique",e["Symbol-Bold"]="Symbol",e["Symbol-BoldItalic"]="Symbol",e["Symbol-Italic"]="Symbol",e.TimesNewRoman="Times-Roman",e["TimesNewRoman-Bold"]="Times-Bold",e["TimesNewRoman-BoldItalic"]="Times-BoldItalic",e["TimesNewRoman-Italic"]="Times-Italic",e.TimesNewRomanPS="Times-Roman",e["TimesNewRomanPS-Bold"]="Times-Bold",e["TimesNewRomanPS-BoldItalic"]="Times-BoldItalic",e["TimesNewRomanPS-BoldItalicMT"]="Times-BoldItalic",e["TimesNewRomanPS-BoldMT"]="Times-Bold",e["TimesNewRomanPS-Italic"]="Times-Italic",e["TimesNewRomanPS-ItalicMT"]="Times-Italic",e.TimesNewRomanPSMT="Times-Roman",e["TimesNewRomanPSMT-Bold"]="Times-Bold",e["TimesNewRomanPSMT-BoldItalic"]="Times-BoldItalic",e["TimesNewRomanPSMT-Italic"]="Times-Italic"})),lI=Ig((function(e){e.Courier="FoxitFixed.pfb",e["Courier-Bold"]="FoxitFixedBold.pfb",e["Courier-BoldOblique"]="FoxitFixedBoldItalic.pfb",e["Courier-Oblique"]="FoxitFixedItalic.pfb",e.Helvetica="LiberationSans-Regular.ttf",e["Helvetica-Bold"]="LiberationSans-Bold.ttf",e["Helvetica-BoldOblique"]="LiberationSans-BoldItalic.ttf",e["Helvetica-Oblique"]="LiberationSans-Italic.ttf",e["Times-Roman"]="FoxitSerif.pfb",e["Times-Bold"]="FoxitSerifBold.pfb",e["Times-BoldItalic"]="FoxitSerifBoldItalic.pfb",e["Times-Italic"]="FoxitSerifItalic.pfb",e.Symbol="FoxitSymbol.pfb",e.ZapfDingbats="FoxitDingbats.pfb",e["LiberationSans-Regular"]="LiberationSans-Regular.ttf",e["LiberationSans-Bold"]="LiberationSans-Bold.ttf",e["LiberationSans-Italic"]="LiberationSans-Italic.ttf",e["LiberationSans-BoldItalic"]="LiberationSans-BoldItalic.ttf"})),II=Ig((function(e){e.Calibri="Helvetica",e["Calibri-Bold"]="Helvetica-Bold",e["Calibri-BoldItalic"]="Helvetica-BoldOblique",e["Calibri-Italic"]="Helvetica-Oblique",e.CenturyGothic="Helvetica",e["CenturyGothic-Bold"]="Helvetica-Bold",e["CenturyGothic-BoldItalic"]="Helvetica-BoldOblique",e["CenturyGothic-Italic"]="Helvetica-Oblique",e.ComicSansMS="Comic Sans MS",e["ComicSansMS-Bold"]="Comic Sans MS-Bold",e["ComicSansMS-BoldItalic"]="Comic Sans MS-BoldItalic",e["ComicSansMS-Italic"]="Comic Sans MS-Italic",e.Impact="Helvetica",e["ItcSymbol-Bold"]="Helvetica-Bold",e["ItcSymbol-BoldItalic"]="Helvetica-BoldOblique",e["ItcSymbol-Book"]="Helvetica",e["ItcSymbol-BookItalic"]="Helvetica-Oblique",e["ItcSymbol-Medium"]="Helvetica",e["ItcSymbol-MediumItalic"]="Helvetica-Oblique",e.LucidaConsole="Courier",e["LucidaConsole-Bold"]="Courier-Bold",e["LucidaConsole-BoldItalic"]="Courier-BoldOblique",e["LucidaConsole-Italic"]="Courier-Oblique",e["LucidaSans-Demi"]="Helvetica-Bold",e["MS-Gothic"]="MS Gothic",e["MS-Gothic-Bold"]="MS Gothic-Bold",e["MS-Gothic-BoldItalic"]="MS Gothic-BoldItalic",e["MS-Gothic-Italic"]="MS Gothic-Italic",e["MS-Mincho"]="MS Mincho",e["MS-Mincho-Bold"]="MS Mincho-Bold",e["MS-Mincho-BoldItalic"]="MS Mincho-BoldItalic",e["MS-Mincho-Italic"]="MS Mincho-Italic",e["MS-PGothic"]="MS PGothic",e["MS-PGothic-Bold"]="MS PGothic-Bold",e["MS-PGothic-BoldItalic"]="MS PGothic-BoldItalic",e["MS-PGothic-Italic"]="MS PGothic-Italic",e["MS-PMincho"]="MS PMincho",e["MS-PMincho-Bold"]="MS PMincho-Bold",e["MS-PMincho-BoldItalic"]="MS PMincho-BoldItalic",e["MS-PMincho-Italic"]="MS PMincho-Italic",e.NuptialScript="Times-Italic",e.SegoeUISymbol="Helvetica"})),dI=Ig((function(e){e["Adobe Jenson"]=!0,e["Adobe Text"]=!0,e.Albertus=!0,e.Aldus=!0,e.Alexandria=!0,e.Algerian=!0,e["American Typewriter"]=!0,e.Antiqua=!0,e.Apex=!0,e.Arno=!0,e.Aster=!0,e.Aurora=!0,e.Baskerville=!0,e.Bell=!0,e.Bembo=!0,e["Bembo Schoolbook"]=!0,e.Benguiat=!0,e["Berkeley Old Style"]=!0,e["Bernhard Modern"]=!0,e["Berthold City"]=!0,e.Bodoni=!0,e["Bauer Bodoni"]=!0,e["Book Antiqua"]=!0,e.Bookman=!0,e["Bordeaux Roman"]=!0,e["Californian FB"]=!0,e.Calisto=!0,e.Calvert=!0,e.Capitals=!0,e.Cambria=!0,e.Cartier=!0,e.Caslon=!0,e.Catull=!0,e.Centaur=!0,e["Century Old Style"]=!0,e["Century Schoolbook"]=!0,e.Chaparral=!0,e["Charis SIL"]=!0,e.Cheltenham=!0,e["Cholla Slab"]=!0,e.Clarendon=!0,e.Clearface=!0,e.Cochin=!0,e.Colonna=!0,e["Computer Modern"]=!0,e["Concrete Roman"]=!0,e.Constantia=!0,e["Cooper Black"]=!0,e.Corona=!0,e.Ecotype=!0,e.Egyptienne=!0,e.Elephant=!0,e.Excelsior=!0,e.Fairfield=!0,e["FF Scala"]=!0,e.Folkard=!0,e.Footlight=!0,e.FreeSerif=!0,e["Friz Quadrata"]=!0,e.Garamond=!0,e.Gentium=!0,e.Georgia=!0,e.Gloucester=!0,e["Goudy Old Style"]=!0,e["Goudy Schoolbook"]=!0,e["Goudy Pro Font"]=!0,e.Granjon=!0,e["Guardian Egyptian"]=!0,e.Heather=!0,e.Hercules=!0,e["High Tower Text"]=!0,e.Hiroshige=!0,e["Hoefler Text"]=!0,e["Humana Serif"]=!0,e.Imprint=!0,e["Ionic No. 5"]=!0,e.Janson=!0,e.Joanna=!0,e.Korinna=!0,e.Lexicon=!0,e.LiberationSerif=!0,e["Liberation Serif"]=!0,e["Linux Libertine"]=!0,e.Literaturnaya=!0,e.Lucida=!0,e["Lucida Bright"]=!0,e.Melior=!0,e.Memphis=!0,e.Miller=!0,e.Minion=!0,e.Modern=!0,e["Mona Lisa"]=!0,e["Mrs Eaves"]=!0,e["MS Serif"]=!0,e["Museo Slab"]=!0,e["New York"]=!0,e["Nimbus Roman"]=!0,e["NPS Rawlinson Roadway"]=!0,e.NuptialScript=!0,e.Palatino=!0,e.Perpetua=!0,e.Plantin=!0,e["Plantin Schoolbook"]=!0,e.Playbill=!0,e["Poor Richard"]=!0,e["Rawlinson Roadway"]=!0,e.Renault=!0,e.Requiem=!0,e.Rockwell=!0,e.Roman=!0,e["Rotis Serif"]=!0,e.Sabon=!0,e.Scala=!0,e.Seagull=!0,e.Sistina=!0,e.Souvenir=!0,e.STIX=!0,e["Stone Informal"]=!0,e["Stone Serif"]=!0,e.Sylfaen=!0,e.Times=!0,e.Trajan=!0,e["Trinité"]=!0,e["Trump Mediaeval"]=!0,e.Utopia=!0,e["Vale Type"]=!0,e["Bitstream Vera"]=!0,e["Vera Serif"]=!0,e.Versailles=!0,e.Wanted=!0,e.Weiss=!0,e["Wide Latin"]=!0,e.Windsor=!0,e.XITS=!0})),CI=Ig((function(e){e.Dingbats=!0,e.Symbol=!0,e.ZapfDingbats=!0,e.Wingdings=!0,e["Wingdings-Bold"]=!0,e["Wingdings-Regular"]=!0})),uI=Ig((function(e){e[2]=10,e[3]=32,e[4]=33,e[5]=34,e[6]=35,e[7]=36,e[8]=37,e[9]=38,e[10]=39,e[11]=40,e[12]=41,e[13]=42,e[14]=43,e[15]=44,e[16]=45,e[17]=46,e[18]=47,e[19]=48,e[20]=49,e[21]=50,e[22]=51,e[23]=52,e[24]=53,e[25]=54,e[26]=55,e[27]=56,e[28]=57,e[29]=58,e[30]=894,e[31]=60,e[32]=61,e[33]=62,e[34]=63,e[35]=64,e[36]=65,e[37]=66,e[38]=67,e[39]=68,e[40]=69,e[41]=70,e[42]=71,e[43]=72,e[44]=73,e[45]=74,e[46]=75,e[47]=76,e[48]=77,e[49]=78,e[50]=79,e[51]=80,e[52]=81,e[53]=82,e[54]=83,e[55]=84,e[56]=85,e[57]=86,e[58]=87,e[59]=88,e[60]=89,e[61]=90,e[62]=91,e[63]=92,e[64]=93,e[65]=94,e[66]=95,e[67]=96,e[68]=97,e[69]=98,e[70]=99,e[71]=100,e[72]=101,e[73]=102,e[74]=103,e[75]=104,e[76]=105,e[77]=106,e[78]=107,e[79]=108,e[80]=109,e[81]=110,e[82]=111,e[83]=112,e[84]=113,e[85]=114,e[86]=115,e[87]=116,e[88]=117,e[89]=118,e[90]=119,e[91]=120,e[92]=121,e[93]=122,e[94]=123,e[95]=124,e[96]=125,e[97]=126,e[98]=196,e[99]=197,e[100]=199,e[101]=201,e[102]=209,e[103]=214,e[104]=220,e[105]=225,e[106]=224,e[107]=226,e[108]=228,e[109]=227,e[110]=229,e[111]=231,e[112]=233,e[113]=232,e[114]=234,e[115]=235,e[116]=237,e[117]=236,e[118]=238,e[119]=239,e[120]=241,e[121]=243,e[122]=242,e[123]=244,e[124]=246,e[125]=245,e[126]=250,e[127]=249,e[128]=251,e[129]=252,e[130]=8224,e[131]=176,e[132]=162,e[133]=163,e[134]=167,e[135]=8226,e[136]=182,e[137]=223,e[138]=174,e[139]=169,e[140]=8482,e[141]=180,e[142]=168,e[143]=8800,e[144]=198,e[145]=216,e[146]=8734,e[147]=177,e[148]=8804,e[149]=8805,e[150]=165,e[151]=181,e[152]=8706,e[153]=8721,e[154]=8719,e[156]=8747,e[157]=170,e[158]=186,e[159]=8486,e[160]=230,e[161]=248,e[162]=191,e[163]=161,e[164]=172,e[165]=8730,e[166]=402,e[167]=8776,e[168]=8710,e[169]=171,e[170]=187,e[171]=8230,e[179]=8220,e[180]=8221,e[181]=8216,e[182]=8217,e[200]=193,e[203]=205,e[207]=211,e[210]=218,e[223]=711,e[224]=321,e[225]=322,e[226]=352,e[227]=353,e[228]=381,e[229]=382,e[233]=221,e[234]=253,e[252]=263,e[253]=268,e[254]=269,e[258]=258,e[260]=260,e[261]=261,e[265]=280,e[266]=281,e[267]=282,e[268]=283,e[269]=313,e[275]=323,e[276]=324,e[278]=328,e[283]=344,e[284]=345,e[285]=346,e[286]=347,e[292]=367,e[295]=377,e[296]=378,e[298]=380,e[305]=963,e[306]=964,e[307]=966,e[308]=8215,e[309]=8252,e[310]=8319,e[311]=8359,e[312]=8592,e[313]=8593,e[337]=9552,e[493]=1039,e[494]=1040,e[672]=1488,e[673]=1489,e[674]=1490,e[675]=1491,e[676]=1492,e[677]=1493,e[678]=1494,e[679]=1495,e[680]=1496,e[681]=1497,e[682]=1498,e[683]=1499,e[684]=1500,e[685]=1501,e[686]=1502,e[687]=1503,e[688]=1504,e[689]=1505,e[690]=1506,e[691]=1507,e[692]=1508,e[693]=1509,e[694]=1510,e[695]=1511,e[696]=1512,e[697]=1513,e[698]=1514,e[705]=1524,e[706]=8362,e[710]=64288,e[711]=64298,e[759]=1617,e[761]=1776,e[763]=1778,e[775]=1652,e[777]=1764,e[778]=1780,e[779]=1781,e[780]=1782,e[782]=771,e[783]=64726,e[786]=8363,e[788]=8532,e[790]=768,e[791]=769,e[792]=768,e[795]=803,e[797]=64336,e[798]=64337,e[799]=64342,e[800]=64343,e[801]=64344,e[802]=64345,e[803]=64362,e[804]=64363,e[805]=64364,e[2424]=7821,e[2425]=7822,e[2426]=7823,e[2427]=7824,e[2428]=7825,e[2429]=7826,e[2430]=7827,e[2433]=7682,e[2678]=8045,e[2679]=8046,e[2830]=1552,e[2838]=686,e[2840]=751,e[2842]=753,e[2843]=754,e[2844]=755,e[2846]=757,e[2856]=767,e[2857]=848,e[2858]=849,e[2862]=853,e[2863]=854,e[2864]=855,e[2865]=861,e[2866]=862,e[2906]=7460,e[2908]=7462,e[2909]=7463,e[2910]=7464,e[2912]=7466,e[2913]=7467,e[2914]=7468,e[2916]=7470,e[2917]=7471,e[2918]=7472,e[2920]=7474,e[2921]=7475,e[2922]=7476,e[2924]=7478,e[2925]=7479,e[2926]=7480,e[2928]=7482,e[2929]=7483,e[2930]=7484,e[2932]=7486,e[2933]=7487,e[2934]=7488,e[2936]=7490,e[2937]=7491,e[2938]=7492,e[2940]=7494,e[2941]=7495,e[2942]=7496,e[2944]=7498,e[2946]=7500,e[2948]=7502,e[2950]=7504,e[2951]=7505,e[2952]=7506,e[2954]=7508,e[2955]=7509,e[2956]=7510,e[2958]=7512,e[2959]=7513,e[2960]=7514,e[2962]=7516,e[2963]=7517,e[2964]=7518,e[2966]=7520,e[2967]=7521,e[2968]=7522,e[2970]=7524,e[2971]=7525,e[2972]=7526,e[2974]=7528,e[2975]=7529,e[2976]=7530,e[2978]=1537,e[2979]=1538,e[2980]=1539,e[2982]=1549,e[2983]=1551,e[2984]=1552,e[2986]=1554,e[2987]=1555,e[2988]=1556,e[2990]=1623,e[2991]=1624,e[2995]=1775,e[2999]=1791,e[3002]=64290,e[3003]=64291,e[3004]=64292,e[3006]=64294,e[3007]=64295,e[3008]=64296,e[3011]=1900,e[3014]=8223,e[3015]=8244,e[3017]=7532,e[3018]=7533,e[3019]=7534,e[3075]=7590,e[3076]=7591,e[3079]=7594,e[3080]=7595,e[3083]=7598,e[3084]=7599,e[3087]=7602,e[3088]=7603,e[3091]=7606,e[3092]=7607,e[3095]=7610,e[3096]=7611,e[3099]=7614,e[3100]=7615,e[3103]=7618,e[3104]=7619,e[3107]=8337,e[3108]=8338,e[3116]=1884,e[3119]=1885,e[3120]=1885,e[3123]=1886,e[3124]=1886,e[3127]=1887,e[3128]=1887,e[3131]=1888,e[3132]=1888,e[3135]=1889,e[3136]=1889,e[3139]=1890,e[3140]=1890,e[3143]=1891,e[3144]=1891,e[3147]=1892,e[3148]=1892,e[3153]=580,e[3154]=581,e[3157]=584,e[3158]=585,e[3161]=588,e[3162]=589,e[3165]=891,e[3166]=892,e[3169]=1274,e[3170]=1275,e[3173]=1278,e[3174]=1279,e[3181]=7622,e[3182]=7623,e[3282]=11799,e[3316]=578,e[3379]=42785,e[3393]=1159,e[3416]=8377})),BI=Ig((function(e){e[227]=322,e[264]=261,e[291]=346})),QI=Ig((function(e){e[1]=32,e[4]=65,e[5]=192,e[6]=193,e[9]=196,e[17]=66,e[18]=67,e[21]=268,e[24]=68,e[28]=69,e[29]=200,e[30]=201,e[32]=282,e[38]=70,e[39]=71,e[44]=72,e[47]=73,e[48]=204,e[49]=205,e[58]=74,e[60]=75,e[62]=76,e[68]=77,e[69]=78,e[75]=79,e[76]=210,e[80]=214,e[87]=80,e[89]=81,e[90]=82,e[92]=344,e[94]=83,e[97]=352,e[100]=84,e[104]=85,e[109]=220,e[115]=86,e[116]=87,e[121]=88,e[122]=89,e[124]=221,e[127]=90,e[129]=381,e[258]=97,e[259]=224,e[260]=225,e[263]=228,e[268]=261,e[271]=98,e[272]=99,e[273]=263,e[275]=269,e[282]=100,e[286]=101,e[287]=232,e[288]=233,e[290]=283,e[295]=281,e[296]=102,e[336]=103,e[346]=104,e[349]=105,e[350]=236,e[351]=237,e[361]=106,e[364]=107,e[367]=108,e[371]=322,e[373]=109,e[374]=110,e[381]=111,e[382]=242,e[383]=243,e[386]=246,e[393]=112,e[395]=113,e[396]=114,e[398]=345,e[400]=115,e[401]=347,e[403]=353,e[410]=116,e[437]=117,e[442]=252,e[448]=118,e[449]=119,e[454]=120,e[455]=121,e[457]=253,e[460]=122,e[462]=382,e[463]=380,e[853]=44,e[855]=58,e[856]=46,e[876]=47,e[878]=45,e[882]=45,e[894]=40,e[895]=41,e[896]=91,e[897]=93,e[923]=64,e[1004]=48,e[1005]=49,e[1006]=50,e[1007]=51,e[1008]=52,e[1009]=53,e[1010]=54,e[1011]=55,e[1012]=56,e[1013]=57,e[1081]=37,e[1085]=43,e[1086]=45}));function EI(e){const t=hI(e);return cI()[t]}function fI(e){const t=hI(e);return!!(cI()[t]||II()[t]||dI()[t]||CI()[t])}class pI{constructor(e=[]){this._map=e}get length(){return this._map.length}forEach(e){for(const t in this._map)e(t,this._map[t].charCodeAt(0))}has(e){return void 0!==this._map[e]}get(e){return this._map[e]}charCodeOf(e){const t=this._map;if(t.length<=65536)return t.indexOf(e);for(const A in t)if(t[A]===e)return 0|A;return-1}amend(e){for(const t in e)this._map[t]=e[t]}}class mI{constructor(e,t){this.firstChar=e,this.lastChar=t}get length(){return this.lastChar+1-this.firstChar}forEach(e){for(let t=this.firstChar,A=this.lastChar;t<=A;t++)e(t,t)}has(e){return this.firstChar<=e&&e<=this.lastChar}get(e){if(this.firstChar<=e&&e<=this.lastChar)return String.fromCharCode(e)}charCodeOf(e){return Number.isInteger(e)&&e>=this.firstChar&&e<=this.lastChar?e:-1}amend(e){lo("Should not call amend()")}}class yI{constructor(e,t){this.properties=t;const A=new vl(e,t,AI);this.cff=A.parse(),this.cff.duplicateFirstGlyph();const i=new Wl(this.cff);this.seacs=this.cff.seacs;try{this.data=i.compile()}catch{co("Failed to compile font "+t.loadedName),this.data=e}this._createBuiltInEncoding()}get numGlyphs(){return this.cff.charStrings.count}getCharset(){return this.cff.charset.charset}getGlyphMapping(){const e=this.cff,t=this.properties,{cidToGidMap:A,cMap:i}=t,s=e.charset.charset;let a,n;if(t.composite){let t,r;if(A?.length>0){t=Object.create(null);for(let e=0,i=A.length;e<i;e++){const i=A[e];void 0!==i&&(t[i]=e)}}if(a=Object.create(null),e.isCIDFont)for(n=0;n<s.length;n++){const e=s[n];r=i.charCodeOf(e),void 0!==t?.[r]&&(r=t[r]),a[r]=n}else for(n=0;n<e.charStrings.count;n++)r=i.charCodeOf(n),a[r]=n;return a}let r=e.encoding?e.encoding.encoding:null;return t.isInternalFont&&(r=t.defaultEncoding),a=gI(t,r,s),a}hasGlyphId(e){return this.cff.hasGlyphId(e)}_createBuiltInEncoding(){const{charset:e,encoding:t}=this.cff;if(!e||!t)return;const A=e.charset,i=t.encoding,s=[];for(const e in i){const t=i[e];if(t>=0){const i=A[t];i&&(s[e]=i)}}s.length>0&&(this.properties.builtInEncoding=s)}}function wI(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}function bI(e,t){return e[t]<<8|e[t+1]}function DI(e,t){return(e[t]<<24|e[t+1]<<16)>>16}function kI(e,t){return e[t]<<24>>24}function SI(e,t){return DI(e,t)/16384}function FI(e){const t=e.length;let A=32768;return t<1240?A=107:t<33900&&(A=1131),A}function RI(e,t,A){const i=1===bI(e,t+2)?wI(e,t+8):wI(e,t+16),s=bI(e,t+i);let a,n,r;if(4===s){bI(e,t+i+2);const A=bI(e,t+i+6)>>1;for(n=t+i+14,a=[],r=0;r<A;r++,n+=2)a[r]={end:bI(e,n)};for(n+=2,r=0;r<A;r++,n+=2)a[r].start=bI(e,n);for(r=0;r<A;r++,n+=2)a[r].idDelta=bI(e,n);for(r=0;r<A;r++,n+=2){let t=bI(e,n);if(0!==t){a[r].ids=[];for(let A=0,i=a[r].end-a[r].start+1;A<i;A++)a[r].ids[A]=bI(e,n+t),t+=2}}return a}if(12===s){const A=wI(e,t+i+12);for(n=t+i+16,a=[],r=0;r<A;r++)t=wI(e,n),a.push({start:t,end:wI(e,n+4),idDelta:wI(e,n+8)-t}),n+=12;return a}throw new yo(`unsupported cmap: ${s}`)}function xI(e,t,A,i){const s=new vl(new Vg(e,t,A-t),{},i).parse();return{glyphs:s.charStrings.objects,subrs:s.topDict.privateDict?.subrsIndex?.objects,gsubrs:s.globalSubrIndex?.objects,isCFFCIDFont:s.isCIDFont,fdSelect:s.fdSelect,fdArray:s.fdArray}}function vI(e,t){const A=t.codePointAt(0);let i=0,s=0,a=e.length-1;for(;s<a;){const t=s+a+1>>1;A<e[t].start?a=t-1:s=t}return e[s].start<=A&&A<=e[s].end&&(i=e[s].idDelta+(e[s].ids?e[s].ids[A-e[s].start]:A)&65535),{charCode:A,glyphId:i}}function NI(e,t,A){function i(e,A){t.add(Po,[e,A])}function s(e,A){t.add(Yo,[e,A])}function a(e,A,i,s){t.add(Ko,[e,A,i,s])}let n=0;const r=DI(e,n);let o,g=0,h=0;if(n+=10,r<0)do{o=bI(e,n);const i=bI(e,n+2);let s,a;n+=4,1&o?(2&o?(s=DI(e,n),a=DI(e,n+2)):(s=bI(e,n),a=bI(e,n+2)),n+=4):2&o?(s=kI(e,n++),a=kI(e,n++)):(s=e[n++],a=e[n++]),2&o?(g=s,h=a):(g=0,h=0);let r=1,c=1,l=0,I=0;8&o?(r=c=SI(e,n),n+=2):64&o?(r=SI(e,n),c=SI(e,n+2),n+=4):128&o&&(r=SI(e,n),l=SI(e,n+2),I=SI(e,n+4),c=SI(e,n+6),n+=8);const d=A.glyphs[i];d&&(t.add(qo),t.add(Wo,[r,l,I,c,g,h]),NI(d,t,A),t.add(_o))}while(32&o);else{const t=[];let A,c;for(A=0;A<r;A++)t.push(bI(e,n)),n+=2;n+=2+bI(e,n);const l=t.at(-1)+1,I=[];for(;I.length<l;){o=e[n++];let t=1;for(8&o&&(t+=e[n++]);t-- >0;)I.push({flags:o})}for(A=0;A<l;A++){switch(18&I[A].flags){case 0:g+=DI(e,n),n+=2;break;case 2:g-=e[n++];break;case 18:g+=e[n++]}I[A].x=g}for(A=0;A<l;A++){switch(36&I[A].flags){case 0:h+=DI(e,n),n+=2;break;case 4:h-=e[n++];break;case 36:h+=e[n++]}I[A].y=h}let d=0;for(n=0;n<r;n++){const e=t[n],r=I.slice(d,e+1);if(1&r[0].flags)r.push(r[0]);else if(1&r.at(-1).flags)r.unshift(r.at(-1));else{const e={flags:1,x:(r[0].x+r.at(-1).x)/2,y:(r[0].y+r.at(-1).y)/2};r.unshift(e),r.push(e)}for(i(r[0].x,r[0].y),A=1,c=r.length;A<c;A++)1&r[A].flags?s(r[A].x,r[A].y):1&r[A+1].flags?(a(r[A].x,r[A].y,r[A+1].x,r[A+1].y),A++):a(r[A].x,r[A].y,(r[A].x+r[A+1].x)/2,(r[A].y+r[A+1].y)/2);d=e+1}}}function MI(e,t,A,i){function s(e,A){t.add(Po,[e,A])}function a(e,A){t.add(Yo,[e,A])}function n(e,A,i,s,a,n){t.add(To,[e,A,i,s,a,n])}const r=[];let o=0,g=0,h=0;!function e(c){let l=0;for(;l<c.length;){let I,d,C,u,B,Q,E,f,p,m=!1,y=c[l++];switch(y){case 1:case 3:case 18:case 23:h+=r.length>>1,m=!0;break;case 4:g+=r.pop(),s(o,g),m=!0;break;case 5:for(;r.length>0;)o+=r.shift(),g+=r.shift(),a(o,g);break;case 6:for(;r.length>0&&(o+=r.shift(),a(o,g),0!==r.length);)g+=r.shift(),a(o,g);break;case 7:for(;r.length>0&&(g+=r.shift(),a(o,g),0!==r.length);)o+=r.shift(),a(o,g);break;case 8:for(;r.length>0;)I=o+r.shift(),C=g+r.shift(),d=I+r.shift(),u=C+r.shift(),o=d+r.shift(),g=u+r.shift(),n(I,C,d,u,o,g);break;case 10:if(f=r.pop(),p=null,A.isCFFCIDFont){const e=A.fdSelect.getFDIndex(i);if(e>=0&&e<A.fdArray.length){const t=A.fdArray[e];let i;t.privateDict?.subrsIndex&&(i=t.privateDict.subrsIndex.objects),i&&(f+=FI(i),p=i[f])}else co("Invalid fd index for glyph index.")}else p=A.subrs[f+A.subrsBias];p&&e(p);break;case 11:return;case 12:switch(y=c[l++],y){case 34:I=o+r.shift(),d=I+r.shift(),B=g+r.shift(),o=d+r.shift(),n(I,g,d,B,o,B),I=o+r.shift(),d=I+r.shift(),o=d+r.shift(),n(I,B,d,g,o,g);break;case 35:I=o+r.shift(),C=g+r.shift(),d=I+r.shift(),u=C+r.shift(),o=d+r.shift(),g=u+r.shift(),n(I,C,d,u,o,g),I=o+r.shift(),C=g+r.shift(),d=I+r.shift(),u=C+r.shift(),o=d+r.shift(),g=u+r.shift(),n(I,C,d,u,o,g),r.pop();break;case 36:I=o+r.shift(),B=g+r.shift(),d=I+r.shift(),Q=B+r.shift(),o=d+r.shift(),n(I,B,d,Q,o,Q),I=o+r.shift(),d=I+r.shift(),E=Q+r.shift(),o=d+r.shift(),n(I,Q,d,E,o,g);break;case 37:const e=o,t=g;I=o+r.shift(),C=g+r.shift(),d=I+r.shift(),u=C+r.shift(),o=d+r.shift(),g=u+r.shift(),n(I,C,d,u,o,g),I=o+r.shift(),C=g+r.shift(),d=I+r.shift(),u=C+r.shift(),o=d,g=u,Math.abs(o-e)>Math.abs(g-t)?o+=r.shift():g+=r.shift(),n(I,C,d,u,o,g);break;default:throw new yo(`unknown operator: 12 ${y}`)}break;case 14:if(r.length>=4){const e=r.pop(),i=r.pop();g=r.pop(),o=r.pop(),t.add(qo),t.add(jo,[o,g]);let s=vI(A.cmap,String.fromCharCode(A.glyphNameMap[yl[e]]));MI(A.glyphs[s.glyphId],t,A,s.glyphId),t.add(_o),s=vI(A.cmap,String.fromCharCode(A.glyphNameMap[yl[i]])),MI(A.glyphs[s.glyphId],t,A,s.glyphId)}return;case 19:case 20:h+=r.length>>1,l+=h+7>>3,m=!0;break;case 21:g+=r.pop(),o+=r.pop(),s(o,g),m=!0;break;case 22:o+=r.pop(),s(o,g),m=!0;break;case 24:for(;r.length>2;)I=o+r.shift(),C=g+r.shift(),d=I+r.shift(),u=C+r.shift(),o=d+r.shift(),g=u+r.shift(),n(I,C,d,u,o,g);o+=r.shift(),g+=r.shift(),a(o,g);break;case 25:for(;r.length>6;)o+=r.shift(),g+=r.shift(),a(o,g);I=o+r.shift(),C=g+r.shift(),d=I+r.shift(),u=C+r.shift(),o=d+r.shift(),g=u+r.shift(),n(I,C,d,u,o,g);break;case 26:for(r.length%2&&(o+=r.shift());r.length>0;)I=o,C=g+r.shift(),d=I+r.shift(),u=C+r.shift(),o=d,g=u+r.shift(),n(I,C,d,u,o,g);break;case 27:for(r.length%2&&(g+=r.shift());r.length>0;)I=o+r.shift(),C=g,d=I+r.shift(),u=C+r.shift(),o=d+r.shift(),g=u,n(I,C,d,u,o,g);break;case 28:r.push((c[l]<<24|c[l+1]<<16)>>16),l+=2;break;case 29:f=r.pop()+A.gsubrsBias,p=A.gsubrs[f],p&&e(p);break;case 30:for(;r.length>0&&(I=o,C=g+r.shift(),d=I+r.shift(),u=C+r.shift(),o=d+r.shift(),g=u+(1===r.length?r.shift():0),n(I,C,d,u,o,g),0!==r.length);)I=o+r.shift(),C=g,d=I+r.shift(),u=C+r.shift(),g=u+r.shift(),o=d+(1===r.length?r.shift():0),n(I,C,d,u,o,g);break;case 31:for(;r.length>0&&(I=o+r.shift(),C=g,d=I+r.shift(),u=C+r.shift(),g=u+r.shift(),o=d+(1===r.length?r.shift():0),n(I,C,d,u,o,g),0!==r.length);)I=o,C=g+r.shift(),d=I+r.shift(),u=C+r.shift(),o=d+r.shift(),g=u+(1===r.length?r.shift():0),n(I,C,d,u,o,g);break;default:if(y<32)throw new yo(`unknown operator: ${y}`);y<247?r.push(y-139):y<251?r.push(256*(y-247)+c[l++]+108):y<255?r.push(256*-(y-251)-c[l++]-108):(r.push((c[l]<<24|c[l+1]<<16|c[l+2]<<8|c[l+3])/65536),l+=4)}m&&(r.length=0)}}(e)}const GI=[];class LI{cmds=[];add(e,t){if(t)if(kg(t,null))this.cmds.push(e,...t);else{co(`Commands.add - "${e}" has at least one non-number arg: "${t}".`);const A=t.map((e=>"number"==typeof e?e:0));this.cmds.push(e,...A)}else this.cmds.push(e)}}class UI{constructor(e){this.constructor===UI&&lo("Cannot initialize CompiledFont."),this.fontMatrix=e,this.compiledGlyphs=Object.create(null),this.compiledCharCodeToGlyphId=Object.create(null)}getPathJs(e){const{charCode:t,glyphId:A}=vI(this.cmap,e);let i,s=this.compiledGlyphs[A];if(!s){try{s=this.compileGlyph(this.glyphs[A],A)}catch(e){s=GI,i=e}this.compiledGlyphs[A]=s}if(this.compiledCharCodeToGlyphId[t]??=A,i)throw i;return s}compileGlyph(e,t){if(!e||0===e.length||14===e[0])return GI;let A=this.fontMatrix;if(this.isCFFCIDFont){const e=this.fdSelect.getFDIndex(t);if(e>=0&&e<this.fdArray.length){A=this.fdArray[e].getByName("FontMatrix")||ga}else co("Invalid fd index for glyph index.")}const i=new LI;return i.add(qo),i.add(Wo,A.slice()),i.add(Oo),this.compileGlyphImpl(e,i,t),i.add(_o),i.cmds}compileGlyphImpl(){lo("Children classes should implement this.")}hasBuiltPath(e){const{charCode:t,glyphId:A}=vI(this.cmap,e);return void 0!==this.compiledGlyphs[A]&&void 0!==this.compiledCharCodeToGlyphId[t]}}class HI extends UI{constructor(e,t,A){super(A||[488e-6,0,0,488e-6,0,0]),this.glyphs=e,this.cmap=t}compileGlyphImpl(e,t){NI(e,t,this)}}class JI extends UI{constructor(e,t,A,i){super(A||[.001,0,0,.001,0,0]),this.glyphs=e.glyphs,this.gsubrs=e.gsubrs||[],this.subrs=e.subrs||[],this.cmap=t,this.glyphNameMap=i||jl(),this.gsubrsBias=FI(this.gsubrs),this.subrsBias=FI(this.subrs),this.isCFFCIDFont=e.isCFFCIDFont,this.fdSelect=e.fdSelect,this.fdArray=e.fdArray}compileGlyphImpl(e,t,A){MI(e,t,this,A)}}class TI{static create(e,t){const A=new Uint8Array(e.data);let i,s,a,n,r,o;const g=bI(A,4);for(let e=0,h=12;e<g;e++,h+=16){const e=bo(A.subarray(h,h+4)),g=wI(A,h+8),c=wI(A,h+12);switch(e){case"cmap":i=RI(A,g);break;case"glyf":s=A.subarray(g,g+c);break;case"loca":a=A.subarray(g,g+c);break;case"head":o=bI(A,g+18),r=bI(A,g+50);break;case"CFF ":n=xI(A,g,g+c,t)}}if(s){const t=o?[1/o,0,0,1/o,0,0]:e.fontMatrix;return new HI(function(e,t,A){let i,s;A?(i=4,s=wI):(i=2,s=(e,t)=>2*bI(e,t));const a=[];let n=s(t,0);for(let A=i;A<t.length;A+=i){const i=s(t,A);a.push(e.subarray(n,i)),n=i}return a}(s,a,r),i,t)}return new JI(n,i,e.fontMatrix,e.glyphNameMap)}}const PI=Ig((function(e){e.Courier=600,e["Courier-Bold"]=600,e["Courier-BoldOblique"]=600,e["Courier-Oblique"]=600,e.Helvetica=Ig((function(e){e.space=278,e.exclam=278,e.quotedbl=355,e.numbersign=556,e.dollar=556,e.percent=889,e.ampersand=667,e.quoteright=222,e.parenleft=333,e.parenright=333,e.asterisk=389,e.plus=584,e.comma=278,e.hyphen=333,e.period=278,e.slash=278,e.zero=556,e.one=556,e.two=556,e.three=556,e.four=556,e.five=556,e.six=556,e.seven=556,e.eight=556,e.nine=556,e.colon=278,e.semicolon=278,e.less=584,e.equal=584,e.greater=584,e.question=556,e.at=1015,e.A=667,e.B=667,e.C=722,e.D=722,e.E=667,e.F=611,e.G=778,e.H=722,e.I=278,e.J=500,e.K=667,e.L=556,e.M=833,e.N=722,e.O=778,e.P=667,e.Q=778,e.R=722,e.S=667,e.T=611,e.U=722,e.V=667,e.W=944,e.X=667,e.Y=667,e.Z=611,e.bracketleft=278,e.backslash=278,e.bracketright=278,e.asciicircum=469,e.underscore=556,e.quoteleft=222,e.a=556,e.b=556,e.c=500,e.d=556,e.e=556,e.f=278,e.g=556,e.h=556,e.i=222,e.j=222,e.k=500,e.l=222,e.m=833,e.n=556,e.o=556,e.p=556,e.q=556,e.r=333,e.s=500,e.t=278,e.u=556,e.v=500,e.w=722,e.x=500,e.y=500,e.z=500,e.braceleft=334,e.bar=260,e.braceright=334,e.asciitilde=584,e.exclamdown=333,e.cent=556,e.sterling=556,e.fraction=167,e.yen=556,e.florin=556,e.section=556,e.currency=556,e.quotesingle=191,e.quotedblleft=333,e.guillemotleft=556,e.guilsinglleft=333,e.guilsinglright=333,e.fi=500,e.fl=500,e.endash=556,e.dagger=556,e.daggerdbl=556,e.periodcentered=278,e.paragraph=537,e.bullet=350,e.quotesinglbase=222,e.quotedblbase=333,e.quotedblright=333,e.guillemotright=556,e.ellipsis=1e3,e.perthousand=1e3,e.questiondown=611,e.grave=333,e.acute=333,e.circumflex=333,e.tilde=333,e.macron=333,e.breve=333,e.dotaccent=333,e.dieresis=333,e.ring=333,e.cedilla=333,e.hungarumlaut=333,e.ogonek=333,e.caron=333,e.emdash=1e3,e.AE=1e3,e.ordfeminine=370,e.Lslash=556,e.Oslash=778,e.OE=1e3,e.ordmasculine=365,e.ae=889,e.dotlessi=278,e.lslash=222,e.oslash=611,e.oe=944,e.germandbls=611,e.Idieresis=278,e.eacute=556,e.abreve=556,e.uhungarumlaut=556,e.ecaron=556,e.Ydieresis=667,e.divide=584,e.Yacute=667,e.Acircumflex=667,e.aacute=556,e.Ucircumflex=722,e.yacute=500,e.scommaaccent=500,e.ecircumflex=556,e.Uring=722,e.Udieresis=722,e.aogonek=556,e.Uacute=722,e.uogonek=556,e.Edieresis=667,e.Dcroat=722,e.commaaccent=250,e.copyright=737,e.Emacron=667,e.ccaron=500,e.aring=556,e.Ncommaaccent=722,e.lacute=222,e.agrave=556,e.Tcommaaccent=611,e.Cacute=722,e.atilde=556,e.Edotaccent=667,e.scaron=500,e.scedilla=500,e.iacute=278,e.lozenge=471,e.Rcaron=722,e.Gcommaaccent=778,e.ucircumflex=556,e.acircumflex=556,e.Amacron=667,e.rcaron=333,e.ccedilla=500,e.Zdotaccent=611,e.Thorn=667,e.Omacron=778,e.Racute=722,e.Sacute=667,e.dcaron=643,e.Umacron=722,e.uring=556,e.threesuperior=333,e.Ograve=778,e.Agrave=667,e.Abreve=667,e.multiply=584,e.uacute=556,e.Tcaron=611,e.partialdiff=476,e.ydieresis=500,e.Nacute=722,e.icircumflex=278,e.Ecircumflex=667,e.adieresis=556,e.edieresis=556,e.cacute=500,e.nacute=556,e.umacron=556,e.Ncaron=722,e.Iacute=278,e.plusminus=584,e.brokenbar=260,e.registered=737,e.Gbreve=778,e.Idotaccent=278,e.summation=600,e.Egrave=667,e.racute=333,e.omacron=556,e.Zacute=611,e.Zcaron=611,e.greaterequal=549,e.Eth=722,e.Ccedilla=722,e.lcommaaccent=222,e.tcaron=317,e.eogonek=556,e.Uogonek=722,e.Aacute=667,e.Adieresis=667,e.egrave=556,e.zacute=500,e.iogonek=222,e.Oacute=778,e.oacute=556,e.amacron=556,e.sacute=500,e.idieresis=278,e.Ocircumflex=778,e.Ugrave=722,e.Delta=612,e.thorn=556,e.twosuperior=333,e.Odieresis=778,e.mu=556,e.igrave=278,e.ohungarumlaut=556,e.Eogonek=667,e.dcroat=556,e.threequarters=834,e.Scedilla=667,e.lcaron=299,e.Kcommaaccent=667,e.Lacute=556,e.trademark=1e3,e.edotaccent=556,e.Igrave=278,e.Imacron=278,e.Lcaron=556,e.onehalf=834,e.lessequal=549,e.ocircumflex=556,e.ntilde=556,e.Uhungarumlaut=722,e.Eacute=667,e.emacron=556,e.gbreve=556,e.onequarter=834,e.Scaron=667,e.Scommaaccent=667,e.Ohungarumlaut=778,e.degree=400,e.ograve=556,e.Ccaron=722,e.ugrave=556,e.radical=453,e.Dcaron=722,e.rcommaaccent=333,e.Ntilde=722,e.otilde=556,e.Rcommaaccent=722,e.Lcommaaccent=556,e.Atilde=667,e.Aogonek=667,e.Aring=667,e.Otilde=778,e.zdotaccent=500,e.Ecaron=667,e.Iogonek=278,e.kcommaaccent=500,e.minus=584,e.Icircumflex=278,e.ncaron=556,e.tcommaaccent=278,e.logicalnot=584,e.odieresis=556,e.udieresis=556,e.notequal=549,e.gcommaaccent=556,e.eth=556,e.zcaron=500,e.ncommaaccent=556,e.onesuperior=333,e.imacron=278,e.Euro=556})),e["Helvetica-Bold"]=Ig((function(e){e.space=278,e.exclam=333,e.quotedbl=474,e.numbersign=556,e.dollar=556,e.percent=889,e.ampersand=722,e.quoteright=278,e.parenleft=333,e.parenright=333,e.asterisk=389,e.plus=584,e.comma=278,e.hyphen=333,e.period=278,e.slash=278,e.zero=556,e.one=556,e.two=556,e.three=556,e.four=556,e.five=556,e.six=556,e.seven=556,e.eight=556,e.nine=556,e.colon=333,e.semicolon=333,e.less=584,e.equal=584,e.greater=584,e.question=611,e.at=975,e.A=722,e.B=722,e.C=722,e.D=722,e.E=667,e.F=611,e.G=778,e.H=722,e.I=278,e.J=556,e.K=722,e.L=611,e.M=833,e.N=722,e.O=778,e.P=667,e.Q=778,e.R=722,e.S=667,e.T=611,e.U=722,e.V=667,e.W=944,e.X=667,e.Y=667,e.Z=611,e.bracketleft=333,e.backslash=278,e.bracketright=333,e.asciicircum=584,e.underscore=556,e.quoteleft=278,e.a=556,e.b=611,e.c=556,e.d=611,e.e=556,e.f=333,e.g=611,e.h=611,e.i=278,e.j=278,e.k=556,e.l=278,e.m=889,e.n=611,e.o=611,e.p=611,e.q=611,e.r=389,e.s=556,e.t=333,e.u=611,e.v=556,e.w=778,e.x=556,e.y=556,e.z=500,e.braceleft=389,e.bar=280,e.braceright=389,e.asciitilde=584,e.exclamdown=333,e.cent=556,e.sterling=556,e.fraction=167,e.yen=556,e.florin=556,e.section=556,e.currency=556,e.quotesingle=238,e.quotedblleft=500,e.guillemotleft=556,e.guilsinglleft=333,e.guilsinglright=333,e.fi=611,e.fl=611,e.endash=556,e.dagger=556,e.daggerdbl=556,e.periodcentered=278,e.paragraph=556,e.bullet=350,e.quotesinglbase=278,e.quotedblbase=500,e.quotedblright=500,e.guillemotright=556,e.ellipsis=1e3,e.perthousand=1e3,e.questiondown=611,e.grave=333,e.acute=333,e.circumflex=333,e.tilde=333,e.macron=333,e.breve=333,e.dotaccent=333,e.dieresis=333,e.ring=333,e.cedilla=333,e.hungarumlaut=333,e.ogonek=333,e.caron=333,e.emdash=1e3,e.AE=1e3,e.ordfeminine=370,e.Lslash=611,e.Oslash=778,e.OE=1e3,e.ordmasculine=365,e.ae=889,e.dotlessi=278,e.lslash=278,e.oslash=611,e.oe=944,e.germandbls=611,e.Idieresis=278,e.eacute=556,e.abreve=556,e.uhungarumlaut=611,e.ecaron=556,e.Ydieresis=667,e.divide=584,e.Yacute=667,e.Acircumflex=722,e.aacute=556,e.Ucircumflex=722,e.yacute=556,e.scommaaccent=556,e.ecircumflex=556,e.Uring=722,e.Udieresis=722,e.aogonek=556,e.Uacute=722,e.uogonek=611,e.Edieresis=667,e.Dcroat=722,e.commaaccent=250,e.copyright=737,e.Emacron=667,e.ccaron=556,e.aring=556,e.Ncommaaccent=722,e.lacute=278,e.agrave=556,e.Tcommaaccent=611,e.Cacute=722,e.atilde=556,e.Edotaccent=667,e.scaron=556,e.scedilla=556,e.iacute=278,e.lozenge=494,e.Rcaron=722,e.Gcommaaccent=778,e.ucircumflex=611,e.acircumflex=556,e.Amacron=722,e.rcaron=389,e.ccedilla=556,e.Zdotaccent=611,e.Thorn=667,e.Omacron=778,e.Racute=722,e.Sacute=667,e.dcaron=743,e.Umacron=722,e.uring=611,e.threesuperior=333,e.Ograve=778,e.Agrave=722,e.Abreve=722,e.multiply=584,e.uacute=611,e.Tcaron=611,e.partialdiff=494,e.ydieresis=556,e.Nacute=722,e.icircumflex=278,e.Ecircumflex=667,e.adieresis=556,e.edieresis=556,e.cacute=556,e.nacute=611,e.umacron=611,e.Ncaron=722,e.Iacute=278,e.plusminus=584,e.brokenbar=280,e.registered=737,e.Gbreve=778,e.Idotaccent=278,e.summation=600,e.Egrave=667,e.racute=389,e.omacron=611,e.Zacute=611,e.Zcaron=611,e.greaterequal=549,e.Eth=722,e.Ccedilla=722,e.lcommaaccent=278,e.tcaron=389,e.eogonek=556,e.Uogonek=722,e.Aacute=722,e.Adieresis=722,e.egrave=556,e.zacute=500,e.iogonek=278,e.Oacute=778,e.oacute=611,e.amacron=556,e.sacute=556,e.idieresis=278,e.Ocircumflex=778,e.Ugrave=722,e.Delta=612,e.thorn=611,e.twosuperior=333,e.Odieresis=778,e.mu=611,e.igrave=278,e.ohungarumlaut=611,e.Eogonek=667,e.dcroat=611,e.threequarters=834,e.Scedilla=667,e.lcaron=400,e.Kcommaaccent=722,e.Lacute=611,e.trademark=1e3,e.edotaccent=556,e.Igrave=278,e.Imacron=278,e.Lcaron=611,e.onehalf=834,e.lessequal=549,e.ocircumflex=611,e.ntilde=611,e.Uhungarumlaut=722,e.Eacute=667,e.emacron=556,e.gbreve=611,e.onequarter=834,e.Scaron=667,e.Scommaaccent=667,e.Ohungarumlaut=778,e.degree=400,e.ograve=611,e.Ccaron=722,e.ugrave=611,e.radical=549,e.Dcaron=722,e.rcommaaccent=389,e.Ntilde=722,e.otilde=611,e.Rcommaaccent=722,e.Lcommaaccent=611,e.Atilde=722,e.Aogonek=722,e.Aring=722,e.Otilde=778,e.zdotaccent=500,e.Ecaron=667,e.Iogonek=278,e.kcommaaccent=556,e.minus=584,e.Icircumflex=278,e.ncaron=611,e.tcommaaccent=333,e.logicalnot=584,e.odieresis=611,e.udieresis=611,e.notequal=549,e.gcommaaccent=611,e.eth=611,e.zcaron=500,e.ncommaaccent=611,e.onesuperior=333,e.imacron=278,e.Euro=556})),e["Helvetica-BoldOblique"]=Ig((function(e){e.space=278,e.exclam=333,e.quotedbl=474,e.numbersign=556,e.dollar=556,e.percent=889,e.ampersand=722,e.quoteright=278,e.parenleft=333,e.parenright=333,e.asterisk=389,e.plus=584,e.comma=278,e.hyphen=333,e.period=278,e.slash=278,e.zero=556,e.one=556,e.two=556,e.three=556,e.four=556,e.five=556,e.six=556,e.seven=556,e.eight=556,e.nine=556,e.colon=333,e.semicolon=333,e.less=584,e.equal=584,e.greater=584,e.question=611,e.at=975,e.A=722,e.B=722,e.C=722,e.D=722,e.E=667,e.F=611,e.G=778,e.H=722,e.I=278,e.J=556,e.K=722,e.L=611,e.M=833,e.N=722,e.O=778,e.P=667,e.Q=778,e.R=722,e.S=667,e.T=611,e.U=722,e.V=667,e.W=944,e.X=667,e.Y=667,e.Z=611,e.bracketleft=333,e.backslash=278,e.bracketright=333,e.asciicircum=584,e.underscore=556,e.quoteleft=278,e.a=556,e.b=611,e.c=556,e.d=611,e.e=556,e.f=333,e.g=611,e.h=611,e.i=278,e.j=278,e.k=556,e.l=278,e.m=889,e.n=611,e.o=611,e.p=611,e.q=611,e.r=389,e.s=556,e.t=333,e.u=611,e.v=556,e.w=778,e.x=556,e.y=556,e.z=500,e.braceleft=389,e.bar=280,e.braceright=389,e.asciitilde=584,e.exclamdown=333,e.cent=556,e.sterling=556,e.fraction=167,e.yen=556,e.florin=556,e.section=556,e.currency=556,e.quotesingle=238,e.quotedblleft=500,e.guillemotleft=556,e.guilsinglleft=333,e.guilsinglright=333,e.fi=611,e.fl=611,e.endash=556,e.dagger=556,e.daggerdbl=556,e.periodcentered=278,e.paragraph=556,e.bullet=350,e.quotesinglbase=278,e.quotedblbase=500,e.quotedblright=500,e.guillemotright=556,e.ellipsis=1e3,e.perthousand=1e3,e.questiondown=611,e.grave=333,e.acute=333,e.circumflex=333,e.tilde=333,e.macron=333,e.breve=333,e.dotaccent=333,e.dieresis=333,e.ring=333,e.cedilla=333,e.hungarumlaut=333,e.ogonek=333,e.caron=333,e.emdash=1e3,e.AE=1e3,e.ordfeminine=370,e.Lslash=611,e.Oslash=778,e.OE=1e3,e.ordmasculine=365,e.ae=889,e.dotlessi=278,e.lslash=278,e.oslash=611,e.oe=944,e.germandbls=611,e.Idieresis=278,e.eacute=556,e.abreve=556,e.uhungarumlaut=611,e.ecaron=556,e.Ydieresis=667,e.divide=584,e.Yacute=667,e.Acircumflex=722,e.aacute=556,e.Ucircumflex=722,e.yacute=556,e.scommaaccent=556,e.ecircumflex=556,e.Uring=722,e.Udieresis=722,e.aogonek=556,e.Uacute=722,e.uogonek=611,e.Edieresis=667,e.Dcroat=722,e.commaaccent=250,e.copyright=737,e.Emacron=667,e.ccaron=556,e.aring=556,e.Ncommaaccent=722,e.lacute=278,e.agrave=556,e.Tcommaaccent=611,e.Cacute=722,e.atilde=556,e.Edotaccent=667,e.scaron=556,e.scedilla=556,e.iacute=278,e.lozenge=494,e.Rcaron=722,e.Gcommaaccent=778,e.ucircumflex=611,e.acircumflex=556,e.Amacron=722,e.rcaron=389,e.ccedilla=556,e.Zdotaccent=611,e.Thorn=667,e.Omacron=778,e.Racute=722,e.Sacute=667,e.dcaron=743,e.Umacron=722,e.uring=611,e.threesuperior=333,e.Ograve=778,e.Agrave=722,e.Abreve=722,e.multiply=584,e.uacute=611,e.Tcaron=611,e.partialdiff=494,e.ydieresis=556,e.Nacute=722,e.icircumflex=278,e.Ecircumflex=667,e.adieresis=556,e.edieresis=556,e.cacute=556,e.nacute=611,e.umacron=611,e.Ncaron=722,e.Iacute=278,e.plusminus=584,e.brokenbar=280,e.registered=737,e.Gbreve=778,e.Idotaccent=278,e.summation=600,e.Egrave=667,e.racute=389,e.omacron=611,e.Zacute=611,e.Zcaron=611,e.greaterequal=549,e.Eth=722,e.Ccedilla=722,e.lcommaaccent=278,e.tcaron=389,e.eogonek=556,e.Uogonek=722,e.Aacute=722,e.Adieresis=722,e.egrave=556,e.zacute=500,e.iogonek=278,e.Oacute=778,e.oacute=611,e.amacron=556,e.sacute=556,e.idieresis=278,e.Ocircumflex=778,e.Ugrave=722,e.Delta=612,e.thorn=611,e.twosuperior=333,e.Odieresis=778,e.mu=611,e.igrave=278,e.ohungarumlaut=611,e.Eogonek=667,e.dcroat=611,e.threequarters=834,e.Scedilla=667,e.lcaron=400,e.Kcommaaccent=722,e.Lacute=611,e.trademark=1e3,e.edotaccent=556,e.Igrave=278,e.Imacron=278,e.Lcaron=611,e.onehalf=834,e.lessequal=549,e.ocircumflex=611,e.ntilde=611,e.Uhungarumlaut=722,e.Eacute=667,e.emacron=556,e.gbreve=611,e.onequarter=834,e.Scaron=667,e.Scommaaccent=667,e.Ohungarumlaut=778,e.degree=400,e.ograve=611,e.Ccaron=722,e.ugrave=611,e.radical=549,e.Dcaron=722,e.rcommaaccent=389,e.Ntilde=722,e.otilde=611,e.Rcommaaccent=722,e.Lcommaaccent=611,e.Atilde=722,e.Aogonek=722,e.Aring=722,e.Otilde=778,e.zdotaccent=500,e.Ecaron=667,e.Iogonek=278,e.kcommaaccent=556,e.minus=584,e.Icircumflex=278,e.ncaron=611,e.tcommaaccent=333,e.logicalnot=584,e.odieresis=611,e.udieresis=611,e.notequal=549,e.gcommaaccent=611,e.eth=611,e.zcaron=500,e.ncommaaccent=611,e.onesuperior=333,e.imacron=278,e.Euro=556})),e["Helvetica-Oblique"]=Ig((function(e){e.space=278,e.exclam=278,e.quotedbl=355,e.numbersign=556,e.dollar=556,e.percent=889,e.ampersand=667,e.quoteright=222,e.parenleft=333,e.parenright=333,e.asterisk=389,e.plus=584,e.comma=278,e.hyphen=333,e.period=278,e.slash=278,e.zero=556,e.one=556,e.two=556,e.three=556,e.four=556,e.five=556,e.six=556,e.seven=556,e.eight=556,e.nine=556,e.colon=278,e.semicolon=278,e.less=584,e.equal=584,e.greater=584,e.question=556,e.at=1015,e.A=667,e.B=667,e.C=722,e.D=722,e.E=667,e.F=611,e.G=778,e.H=722,e.I=278,e.J=500,e.K=667,e.L=556,e.M=833,e.N=722,e.O=778,e.P=667,e.Q=778,e.R=722,e.S=667,e.T=611,e.U=722,e.V=667,e.W=944,e.X=667,e.Y=667,e.Z=611,e.bracketleft=278,e.backslash=278,e.bracketright=278,e.asciicircum=469,e.underscore=556,e.quoteleft=222,e.a=556,e.b=556,e.c=500,e.d=556,e.e=556,e.f=278,e.g=556,e.h=556,e.i=222,e.j=222,e.k=500,e.l=222,e.m=833,e.n=556,e.o=556,e.p=556,e.q=556,e.r=333,e.s=500,e.t=278,e.u=556,e.v=500,e.w=722,e.x=500,e.y=500,e.z=500,e.braceleft=334,e.bar=260,e.braceright=334,e.asciitilde=584,e.exclamdown=333,e.cent=556,e.sterling=556,e.fraction=167,e.yen=556,e.florin=556,e.section=556,e.currency=556,e.quotesingle=191,e.quotedblleft=333,e.guillemotleft=556,e.guilsinglleft=333,e.guilsinglright=333,e.fi=500,e.fl=500,e.endash=556,e.dagger=556,e.daggerdbl=556,e.periodcentered=278,e.paragraph=537,e.bullet=350,e.quotesinglbase=222,e.quotedblbase=333,e.quotedblright=333,e.guillemotright=556,e.ellipsis=1e3,e.perthousand=1e3,e.questiondown=611,e.grave=333,e.acute=333,e.circumflex=333,e.tilde=333,e.macron=333,e.breve=333,e.dotaccent=333,e.dieresis=333,e.ring=333,e.cedilla=333,e.hungarumlaut=333,e.ogonek=333,e.caron=333,e.emdash=1e3,e.AE=1e3,e.ordfeminine=370,e.Lslash=556,e.Oslash=778,e.OE=1e3,e.ordmasculine=365,e.ae=889,e.dotlessi=278,e.lslash=222,e.oslash=611,e.oe=944,e.germandbls=611,e.Idieresis=278,e.eacute=556,e.abreve=556,e.uhungarumlaut=556,e.ecaron=556,e.Ydieresis=667,e.divide=584,e.Yacute=667,e.Acircumflex=667,e.aacute=556,e.Ucircumflex=722,e.yacute=500,e.scommaaccent=500,e.ecircumflex=556,e.Uring=722,e.Udieresis=722,e.aogonek=556,e.Uacute=722,e.uogonek=556,e.Edieresis=667,e.Dcroat=722,e.commaaccent=250,e.copyright=737,e.Emacron=667,e.ccaron=500,e.aring=556,e.Ncommaaccent=722,e.lacute=222,e.agrave=556,e.Tcommaaccent=611,e.Cacute=722,e.atilde=556,e.Edotaccent=667,e.scaron=500,e.scedilla=500,e.iacute=278,e.lozenge=471,e.Rcaron=722,e.Gcommaaccent=778,e.ucircumflex=556,e.acircumflex=556,e.Amacron=667,e.rcaron=333,e.ccedilla=500,e.Zdotaccent=611,e.Thorn=667,e.Omacron=778,e.Racute=722,e.Sacute=667,e.dcaron=643,e.Umacron=722,e.uring=556,e.threesuperior=333,e.Ograve=778,e.Agrave=667,e.Abreve=667,e.multiply=584,e.uacute=556,e.Tcaron=611,e.partialdiff=476,e.ydieresis=500,e.Nacute=722,e.icircumflex=278,e.Ecircumflex=667,e.adieresis=556,e.edieresis=556,e.cacute=500,e.nacute=556,e.umacron=556,e.Ncaron=722,e.Iacute=278,e.plusminus=584,e.brokenbar=260,e.registered=737,e.Gbreve=778,e.Idotaccent=278,e.summation=600,e.Egrave=667,e.racute=333,e.omacron=556,e.Zacute=611,e.Zcaron=611,e.greaterequal=549,e.Eth=722,e.Ccedilla=722,e.lcommaaccent=222,e.tcaron=317,e.eogonek=556,e.Uogonek=722,e.Aacute=667,e.Adieresis=667,e.egrave=556,e.zacute=500,e.iogonek=222,e.Oacute=778,e.oacute=556,e.amacron=556,e.sacute=500,e.idieresis=278,e.Ocircumflex=778,e.Ugrave=722,e.Delta=612,e.thorn=556,e.twosuperior=333,e.Odieresis=778,e.mu=556,e.igrave=278,e.ohungarumlaut=556,e.Eogonek=667,e.dcroat=556,e.threequarters=834,e.Scedilla=667,e.lcaron=299,e.Kcommaaccent=667,e.Lacute=556,e.trademark=1e3,e.edotaccent=556,e.Igrave=278,e.Imacron=278,e.Lcaron=556,e.onehalf=834,e.lessequal=549,e.ocircumflex=556,e.ntilde=556,e.Uhungarumlaut=722,e.Eacute=667,e.emacron=556,e.gbreve=556,e.onequarter=834,e.Scaron=667,e.Scommaaccent=667,e.Ohungarumlaut=778,e.degree=400,e.ograve=556,e.Ccaron=722,e.ugrave=556,e.radical=453,e.Dcaron=722,e.rcommaaccent=333,e.Ntilde=722,e.otilde=556,e.Rcommaaccent=722,e.Lcommaaccent=556,e.Atilde=667,e.Aogonek=667,e.Aring=667,e.Otilde=778,e.zdotaccent=500,e.Ecaron=667,e.Iogonek=278,e.kcommaaccent=500,e.minus=584,e.Icircumflex=278,e.ncaron=556,e.tcommaaccent=278,e.logicalnot=584,e.odieresis=556,e.udieresis=556,e.notequal=549,e.gcommaaccent=556,e.eth=556,e.zcaron=500,e.ncommaaccent=556,e.onesuperior=333,e.imacron=278,e.Euro=556})),e.Symbol=Ig((function(e){e.space=250,e.exclam=333,e.universal=713,e.numbersign=500,e.existential=549,e.percent=833,e.ampersand=778,e.suchthat=439,e.parenleft=333,e.parenright=333,e.asteriskmath=500,e.plus=549,e.comma=250,e.minus=549,e.period=250,e.slash=278,e.zero=500,e.one=500,e.two=500,e.three=500,e.four=500,e.five=500,e.six=500,e.seven=500,e.eight=500,e.nine=500,e.colon=278,e.semicolon=278,e.less=549,e.equal=549,e.greater=549,e.question=444,e.congruent=549,e.Alpha=722,e.Beta=667,e.Chi=722,e.Delta=612,e.Epsilon=611,e.Phi=763,e.Gamma=603,e.Eta=722,e.Iota=333,e.theta1=631,e.Kappa=722,e.Lambda=686,e.Mu=889,e.Nu=722,e.Omicron=722,e.Pi=768,e.Theta=741,e.Rho=556,e.Sigma=592,e.Tau=611,e.Upsilon=690,e.sigma1=439,e.Omega=768,e.Xi=645,e.Psi=795,e.Zeta=611,e.bracketleft=333,e.therefore=863,e.bracketright=333,e.perpendicular=658,e.underscore=500,e.radicalex=500,e.alpha=631,e.beta=549,e.chi=549,e.delta=494,e.epsilon=439,e.phi=521,e.gamma=411,e.eta=603,e.iota=329,e.phi1=603,e.kappa=549,e.lambda=549,e.mu=576,e.nu=521,e.omicron=549,e.pi=549,e.theta=521,e.rho=549,e.sigma=603,e.tau=439,e.upsilon=576,e.omega1=713,e.omega=686,e.xi=493,e.psi=686,e.zeta=494,e.braceleft=480,e.bar=200,e.braceright=480,e.similar=549,e.Euro=750,e.Upsilon1=620,e.minute=247,e.lessequal=549,e.fraction=167,e.infinity=713,e.florin=500,e.club=753,e.diamond=753,e.heart=753,e.spade=753,e.arrowboth=1042,e.arrowleft=987,e.arrowup=603,e.arrowright=987,e.arrowdown=603,e.degree=400,e.plusminus=549,e.second=411,e.greaterequal=549,e.multiply=549,e.proportional=713,e.partialdiff=494,e.bullet=460,e.divide=549,e.notequal=549,e.equivalence=549,e.approxequal=549,e.ellipsis=1e3,e.arrowvertex=603,e.arrowhorizex=1e3,e.carriagereturn=658,e.aleph=823,e.Ifraktur=686,e.Rfraktur=795,e.weierstrass=987,e.circlemultiply=768,e.circleplus=768,e.emptyset=823,e.intersection=768,e.union=768,e.propersuperset=713,e.reflexsuperset=713,e.notsubset=713,e.propersubset=713,e.reflexsubset=713,e.element=713,e.notelement=713,e.angle=768,e.gradient=713,e.registerserif=790,e.copyrightserif=790,e.trademarkserif=890,e.product=823,e.radical=549,e.dotmath=250,e.logicalnot=713,e.logicaland=603,e.logicalor=603,e.arrowdblboth=1042,e.arrowdblleft=987,e.arrowdblup=603,e.arrowdblright=987,e.arrowdbldown=603,e.lozenge=494,e.angleleft=329,e.registersans=790,e.copyrightsans=790,e.trademarksans=786,e.summation=713,e.parenlefttp=384,e.parenleftex=384,e.parenleftbt=384,e.bracketlefttp=384,e.bracketleftex=384,e.bracketleftbt=384,e.bracelefttp=494,e.braceleftmid=494,e.braceleftbt=494,e.braceex=494,e.angleright=329,e.integral=274,e.integraltp=686,e.integralex=686,e.integralbt=686,e.parenrighttp=384,e.parenrightex=384,e.parenrightbt=384,e.bracketrighttp=384,e.bracketrightex=384,e.bracketrightbt=384,e.bracerighttp=494,e.bracerightmid=494,e.bracerightbt=494,e.apple=790})),e["Times-Roman"]=Ig((function(e){e.space=250,e.exclam=333,e.quotedbl=408,e.numbersign=500,e.dollar=500,e.percent=833,e.ampersand=778,e.quoteright=333,e.parenleft=333,e.parenright=333,e.asterisk=500,e.plus=564,e.comma=250,e.hyphen=333,e.period=250,e.slash=278,e.zero=500,e.one=500,e.two=500,e.three=500,e.four=500,e.five=500,e.six=500,e.seven=500,e.eight=500,e.nine=500,e.colon=278,e.semicolon=278,e.less=564,e.equal=564,e.greater=564,e.question=444,e.at=921,e.A=722,e.B=667,e.C=667,e.D=722,e.E=611,e.F=556,e.G=722,e.H=722,e.I=333,e.J=389,e.K=722,e.L=611,e.M=889,e.N=722,e.O=722,e.P=556,e.Q=722,e.R=667,e.S=556,e.T=611,e.U=722,e.V=722,e.W=944,e.X=722,e.Y=722,e.Z=611,e.bracketleft=333,e.backslash=278,e.bracketright=333,e.asciicircum=469,e.underscore=500,e.quoteleft=333,e.a=444,e.b=500,e.c=444,e.d=500,e.e=444,e.f=333,e.g=500,e.h=500,e.i=278,e.j=278,e.k=500,e.l=278,e.m=778,e.n=500,e.o=500,e.p=500,e.q=500,e.r=333,e.s=389,e.t=278,e.u=500,e.v=500,e.w=722,e.x=500,e.y=500,e.z=444,e.braceleft=480,e.bar=200,e.braceright=480,e.asciitilde=541,e.exclamdown=333,e.cent=500,e.sterling=500,e.fraction=167,e.yen=500,e.florin=500,e.section=500,e.currency=500,e.quotesingle=180,e.quotedblleft=444,e.guillemotleft=500,e.guilsinglleft=333,e.guilsinglright=333,e.fi=556,e.fl=556,e.endash=500,e.dagger=500,e.daggerdbl=500,e.periodcentered=250,e.paragraph=453,e.bullet=350,e.quotesinglbase=333,e.quotedblbase=444,e.quotedblright=444,e.guillemotright=500,e.ellipsis=1e3,e.perthousand=1e3,e.questiondown=444,e.grave=333,e.acute=333,e.circumflex=333,e.tilde=333,e.macron=333,e.breve=333,e.dotaccent=333,e.dieresis=333,e.ring=333,e.cedilla=333,e.hungarumlaut=333,e.ogonek=333,e.caron=333,e.emdash=1e3,e.AE=889,e.ordfeminine=276,e.Lslash=611,e.Oslash=722,e.OE=889,e.ordmasculine=310,e.ae=667,e.dotlessi=278,e.lslash=278,e.oslash=500,e.oe=722,e.germandbls=500,e.Idieresis=333,e.eacute=444,e.abreve=444,e.uhungarumlaut=500,e.ecaron=444,e.Ydieresis=722,e.divide=564,e.Yacute=722,e.Acircumflex=722,e.aacute=444,e.Ucircumflex=722,e.yacute=500,e.scommaaccent=389,e.ecircumflex=444,e.Uring=722,e.Udieresis=722,e.aogonek=444,e.Uacute=722,e.uogonek=500,e.Edieresis=611,e.Dcroat=722,e.commaaccent=250,e.copyright=760,e.Emacron=611,e.ccaron=444,e.aring=444,e.Ncommaaccent=722,e.lacute=278,e.agrave=444,e.Tcommaaccent=611,e.Cacute=667,e.atilde=444,e.Edotaccent=611,e.scaron=389,e.scedilla=389,e.iacute=278,e.lozenge=471,e.Rcaron=667,e.Gcommaaccent=722,e.ucircumflex=500,e.acircumflex=444,e.Amacron=722,e.rcaron=333,e.ccedilla=444,e.Zdotaccent=611,e.Thorn=556,e.Omacron=722,e.Racute=667,e.Sacute=556,e.dcaron=588,e.Umacron=722,e.uring=500,e.threesuperior=300,e.Ograve=722,e.Agrave=722,e.Abreve=722,e.multiply=564,e.uacute=500,e.Tcaron=611,e.partialdiff=476,e.ydieresis=500,e.Nacute=722,e.icircumflex=278,e.Ecircumflex=611,e.adieresis=444,e.edieresis=444,e.cacute=444,e.nacute=500,e.umacron=500,e.Ncaron=722,e.Iacute=333,e.plusminus=564,e.brokenbar=200,e.registered=760,e.Gbreve=722,e.Idotaccent=333,e.summation=600,e.Egrave=611,e.racute=333,e.omacron=500,e.Zacute=611,e.Zcaron=611,e.greaterequal=549,e.Eth=722,e.Ccedilla=667,e.lcommaaccent=278,e.tcaron=326,e.eogonek=444,e.Uogonek=722,e.Aacute=722,e.Adieresis=722,e.egrave=444,e.zacute=444,e.iogonek=278,e.Oacute=722,e.oacute=500,e.amacron=444,e.sacute=389,e.idieresis=278,e.Ocircumflex=722,e.Ugrave=722,e.Delta=612,e.thorn=500,e.twosuperior=300,e.Odieresis=722,e.mu=500,e.igrave=278,e.ohungarumlaut=500,e.Eogonek=611,e.dcroat=500,e.threequarters=750,e.Scedilla=556,e.lcaron=344,e.Kcommaaccent=722,e.Lacute=611,e.trademark=980,e.edotaccent=444,e.Igrave=333,e.Imacron=333,e.Lcaron=611,e.onehalf=750,e.lessequal=549,e.ocircumflex=500,e.ntilde=500,e.Uhungarumlaut=722,e.Eacute=611,e.emacron=444,e.gbreve=500,e.onequarter=750,e.Scaron=556,e.Scommaaccent=556,e.Ohungarumlaut=722,e.degree=400,e.ograve=500,e.Ccaron=667,e.ugrave=500,e.radical=453,e.Dcaron=722,e.rcommaaccent=333,e.Ntilde=722,e.otilde=500,e.Rcommaaccent=667,e.Lcommaaccent=611,e.Atilde=722,e.Aogonek=722,e.Aring=722,e.Otilde=722,e.zdotaccent=444,e.Ecaron=611,e.Iogonek=333,e.kcommaaccent=500,e.minus=564,e.Icircumflex=333,e.ncaron=500,e.tcommaaccent=278,e.logicalnot=564,e.odieresis=500,e.udieresis=500,e.notequal=549,e.gcommaaccent=500,e.eth=500,e.zcaron=444,e.ncommaaccent=500,e.onesuperior=300,e.imacron=278,e.Euro=500})),e["Times-Bold"]=Ig((function(e){e.space=250,e.exclam=333,e.quotedbl=555,e.numbersign=500,e.dollar=500,e.percent=1e3,e.ampersand=833,e.quoteright=333,e.parenleft=333,e.parenright=333,e.asterisk=500,e.plus=570,e.comma=250,e.hyphen=333,e.period=250,e.slash=278,e.zero=500,e.one=500,e.two=500,e.three=500,e.four=500,e.five=500,e.six=500,e.seven=500,e.eight=500,e.nine=500,e.colon=333,e.semicolon=333,e.less=570,e.equal=570,e.greater=570,e.question=500,e.at=930,e.A=722,e.B=667,e.C=722,e.D=722,e.E=667,e.F=611,e.G=778,e.H=778,e.I=389,e.J=500,e.K=778,e.L=667,e.M=944,e.N=722,e.O=778,e.P=611,e.Q=778,e.R=722,e.S=556,e.T=667,e.U=722,e.V=722,e.W=1e3,e.X=722,e.Y=722,e.Z=667,e.bracketleft=333,e.backslash=278,e.bracketright=333,e.asciicircum=581,e.underscore=500,e.quoteleft=333,e.a=500,e.b=556,e.c=444,e.d=556,e.e=444,e.f=333,e.g=500,e.h=556,e.i=278,e.j=333,e.k=556,e.l=278,e.m=833,e.n=556,e.o=500,e.p=556,e.q=556,e.r=444,e.s=389,e.t=333,e.u=556,e.v=500,e.w=722,e.x=500,e.y=500,e.z=444,e.braceleft=394,e.bar=220,e.braceright=394,e.asciitilde=520,e.exclamdown=333,e.cent=500,e.sterling=500,e.fraction=167,e.yen=500,e.florin=500,e.section=500,e.currency=500,e.quotesingle=278,e.quotedblleft=500,e.guillemotleft=500,e.guilsinglleft=333,e.guilsinglright=333,e.fi=556,e.fl=556,e.endash=500,e.dagger=500,e.daggerdbl=500,e.periodcentered=250,e.paragraph=540,e.bullet=350,e.quotesinglbase=333,e.quotedblbase=500,e.quotedblright=500,e.guillemotright=500,e.ellipsis=1e3,e.perthousand=1e3,e.questiondown=500,e.grave=333,e.acute=333,e.circumflex=333,e.tilde=333,e.macron=333,e.breve=333,e.dotaccent=333,e.dieresis=333,e.ring=333,e.cedilla=333,e.hungarumlaut=333,e.ogonek=333,e.caron=333,e.emdash=1e3,e.AE=1e3,e.ordfeminine=300,e.Lslash=667,e.Oslash=778,e.OE=1e3,e.ordmasculine=330,e.ae=722,e.dotlessi=278,e.lslash=278,e.oslash=500,e.oe=722,e.germandbls=556,e.Idieresis=389,e.eacute=444,e.abreve=500,e.uhungarumlaut=556,e.ecaron=444,e.Ydieresis=722,e.divide=570,e.Yacute=722,e.Acircumflex=722,e.aacute=500,e.Ucircumflex=722,e.yacute=500,e.scommaaccent=389,e.ecircumflex=444,e.Uring=722,e.Udieresis=722,e.aogonek=500,e.Uacute=722,e.uogonek=556,e.Edieresis=667,e.Dcroat=722,e.commaaccent=250,e.copyright=747,e.Emacron=667,e.ccaron=444,e.aring=500,e.Ncommaaccent=722,e.lacute=278,e.agrave=500,e.Tcommaaccent=667,e.Cacute=722,e.atilde=500,e.Edotaccent=667,e.scaron=389,e.scedilla=389,e.iacute=278,e.lozenge=494,e.Rcaron=722,e.Gcommaaccent=778,e.ucircumflex=556,e.acircumflex=500,e.Amacron=722,e.rcaron=444,e.ccedilla=444,e.Zdotaccent=667,e.Thorn=611,e.Omacron=778,e.Racute=722,e.Sacute=556,e.dcaron=672,e.Umacron=722,e.uring=556,e.threesuperior=300,e.Ograve=778,e.Agrave=722,e.Abreve=722,e.multiply=570,e.uacute=556,e.Tcaron=667,e.partialdiff=494,e.ydieresis=500,e.Nacute=722,e.icircumflex=278,e.Ecircumflex=667,e.adieresis=500,e.edieresis=444,e.cacute=444,e.nacute=556,e.umacron=556,e.Ncaron=722,e.Iacute=389,e.plusminus=570,e.brokenbar=220,e.registered=747,e.Gbreve=778,e.Idotaccent=389,e.summation=600,e.Egrave=667,e.racute=444,e.omacron=500,e.Zacute=667,e.Zcaron=667,e.greaterequal=549,e.Eth=722,e.Ccedilla=722,e.lcommaaccent=278,e.tcaron=416,e.eogonek=444,e.Uogonek=722,e.Aacute=722,e.Adieresis=722,e.egrave=444,e.zacute=444,e.iogonek=278,e.Oacute=778,e.oacute=500,e.amacron=500,e.sacute=389,e.idieresis=278,e.Ocircumflex=778,e.Ugrave=722,e.Delta=612,e.thorn=556,e.twosuperior=300,e.Odieresis=778,e.mu=556,e.igrave=278,e.ohungarumlaut=500,e.Eogonek=667,e.dcroat=556,e.threequarters=750,e.Scedilla=556,e.lcaron=394,e.Kcommaaccent=778,e.Lacute=667,e.trademark=1e3,e.edotaccent=444,e.Igrave=389,e.Imacron=389,e.Lcaron=667,e.onehalf=750,e.lessequal=549,e.ocircumflex=500,e.ntilde=556,e.Uhungarumlaut=722,e.Eacute=667,e.emacron=444,e.gbreve=500,e.onequarter=750,e.Scaron=556,e.Scommaaccent=556,e.Ohungarumlaut=778,e.degree=400,e.ograve=500,e.Ccaron=722,e.ugrave=556,e.radical=549,e.Dcaron=722,e.rcommaaccent=444,e.Ntilde=722,e.otilde=500,e.Rcommaaccent=722,e.Lcommaaccent=667,e.Atilde=722,e.Aogonek=722,e.Aring=722,e.Otilde=778,e.zdotaccent=444,e.Ecaron=667,e.Iogonek=389,e.kcommaaccent=556,e.minus=570,e.Icircumflex=389,e.ncaron=556,e.tcommaaccent=333,e.logicalnot=570,e.odieresis=500,e.udieresis=556,e.notequal=549,e.gcommaaccent=500,e.eth=500,e.zcaron=444,e.ncommaaccent=556,e.onesuperior=300,e.imacron=278,e.Euro=500})),e["Times-BoldItalic"]=Ig((function(e){e.space=250,e.exclam=389,e.quotedbl=555,e.numbersign=500,e.dollar=500,e.percent=833,e.ampersand=778,e.quoteright=333,e.parenleft=333,e.parenright=333,e.asterisk=500,e.plus=570,e.comma=250,e.hyphen=333,e.period=250,e.slash=278,e.zero=500,e.one=500,e.two=500,e.three=500,e.four=500,e.five=500,e.six=500,e.seven=500,e.eight=500,e.nine=500,e.colon=333,e.semicolon=333,e.less=570,e.equal=570,e.greater=570,e.question=500,e.at=832,e.A=667,e.B=667,e.C=667,e.D=722,e.E=667,e.F=667,e.G=722,e.H=778,e.I=389,e.J=500,e.K=667,e.L=611,e.M=889,e.N=722,e.O=722,e.P=611,e.Q=722,e.R=667,e.S=556,e.T=611,e.U=722,e.V=667,e.W=889,e.X=667,e.Y=611,e.Z=611,e.bracketleft=333,e.backslash=278,e.bracketright=333,e.asciicircum=570,e.underscore=500,e.quoteleft=333,e.a=500,e.b=500,e.c=444,e.d=500,e.e=444,e.f=333,e.g=500,e.h=556,e.i=278,e.j=278,e.k=500,e.l=278,e.m=778,e.n=556,e.o=500,e.p=500,e.q=500,e.r=389,e.s=389,e.t=278,e.u=556,e.v=444,e.w=667,e.x=500,e.y=444,e.z=389,e.braceleft=348,e.bar=220,e.braceright=348,e.asciitilde=570,e.exclamdown=389,e.cent=500,e.sterling=500,e.fraction=167,e.yen=500,e.florin=500,e.section=500,e.currency=500,e.quotesingle=278,e.quotedblleft=500,e.guillemotleft=500,e.guilsinglleft=333,e.guilsinglright=333,e.fi=556,e.fl=556,e.endash=500,e.dagger=500,e.daggerdbl=500,e.periodcentered=250,e.paragraph=500,e.bullet=350,e.quotesinglbase=333,e.quotedblbase=500,e.quotedblright=500,e.guillemotright=500,e.ellipsis=1e3,e.perthousand=1e3,e.questiondown=500,e.grave=333,e.acute=333,e.circumflex=333,e.tilde=333,e.macron=333,e.breve=333,e.dotaccent=333,e.dieresis=333,e.ring=333,e.cedilla=333,e.hungarumlaut=333,e.ogonek=333,e.caron=333,e.emdash=1e3,e.AE=944,e.ordfeminine=266,e.Lslash=611,e.Oslash=722,e.OE=944,e.ordmasculine=300,e.ae=722,e.dotlessi=278,e.lslash=278,e.oslash=500,e.oe=722,e.germandbls=500,e.Idieresis=389,e.eacute=444,e.abreve=500,e.uhungarumlaut=556,e.ecaron=444,e.Ydieresis=611,e.divide=570,e.Yacute=611,e.Acircumflex=667,e.aacute=500,e.Ucircumflex=722,e.yacute=444,e.scommaaccent=389,e.ecircumflex=444,e.Uring=722,e.Udieresis=722,e.aogonek=500,e.Uacute=722,e.uogonek=556,e.Edieresis=667,e.Dcroat=722,e.commaaccent=250,e.copyright=747,e.Emacron=667,e.ccaron=444,e.aring=500,e.Ncommaaccent=722,e.lacute=278,e.agrave=500,e.Tcommaaccent=611,e.Cacute=667,e.atilde=500,e.Edotaccent=667,e.scaron=389,e.scedilla=389,e.iacute=278,e.lozenge=494,e.Rcaron=667,e.Gcommaaccent=722,e.ucircumflex=556,e.acircumflex=500,e.Amacron=667,e.rcaron=389,e.ccedilla=444,e.Zdotaccent=611,e.Thorn=611,e.Omacron=722,e.Racute=667,e.Sacute=556,e.dcaron=608,e.Umacron=722,e.uring=556,e.threesuperior=300,e.Ograve=722,e.Agrave=667,e.Abreve=667,e.multiply=570,e.uacute=556,e.Tcaron=611,e.partialdiff=494,e.ydieresis=444,e.Nacute=722,e.icircumflex=278,e.Ecircumflex=667,e.adieresis=500,e.edieresis=444,e.cacute=444,e.nacute=556,e.umacron=556,e.Ncaron=722,e.Iacute=389,e.plusminus=570,e.brokenbar=220,e.registered=747,e.Gbreve=722,e.Idotaccent=389,e.summation=600,e.Egrave=667,e.racute=389,e.omacron=500,e.Zacute=611,e.Zcaron=611,e.greaterequal=549,e.Eth=722,e.Ccedilla=667,e.lcommaaccent=278,e.tcaron=366,e.eogonek=444,e.Uogonek=722,e.Aacute=667,e.Adieresis=667,e.egrave=444,e.zacute=389,e.iogonek=278,e.Oacute=722,e.oacute=500,e.amacron=500,e.sacute=389,e.idieresis=278,e.Ocircumflex=722,e.Ugrave=722,e.Delta=612,e.thorn=500,e.twosuperior=300,e.Odieresis=722,e.mu=576,e.igrave=278,e.ohungarumlaut=500,e.Eogonek=667,e.dcroat=500,e.threequarters=750,e.Scedilla=556,e.lcaron=382,e.Kcommaaccent=667,e.Lacute=611,e.trademark=1e3,e.edotaccent=444,e.Igrave=389,e.Imacron=389,e.Lcaron=611,e.onehalf=750,e.lessequal=549,e.ocircumflex=500,e.ntilde=556,e.Uhungarumlaut=722,e.Eacute=667,e.emacron=444,e.gbreve=500,e.onequarter=750,e.Scaron=556,e.Scommaaccent=556,e.Ohungarumlaut=722,e.degree=400,e.ograve=500,e.Ccaron=667,e.ugrave=556,e.radical=549,e.Dcaron=722,e.rcommaaccent=389,e.Ntilde=722,e.otilde=500,e.Rcommaaccent=667,e.Lcommaaccent=611,e.Atilde=667,e.Aogonek=667,e.Aring=667,e.Otilde=722,e.zdotaccent=389,e.Ecaron=667,e.Iogonek=389,e.kcommaaccent=500,e.minus=606,e.Icircumflex=389,e.ncaron=556,e.tcommaaccent=278,e.logicalnot=606,e.odieresis=500,e.udieresis=556,e.notequal=549,e.gcommaaccent=500,e.eth=500,e.zcaron=389,e.ncommaaccent=556,e.onesuperior=300,e.imacron=278,e.Euro=500})),e["Times-Italic"]=Ig((function(e){e.space=250,e.exclam=333,e.quotedbl=420,e.numbersign=500,e.dollar=500,e.percent=833,e.ampersand=778,e.quoteright=333,e.parenleft=333,e.parenright=333,e.asterisk=500,e.plus=675,e.comma=250,e.hyphen=333,e.period=250,e.slash=278,e.zero=500,e.one=500,e.two=500,e.three=500,e.four=500,e.five=500,e.six=500,e.seven=500,e.eight=500,e.nine=500,e.colon=333,e.semicolon=333,e.less=675,e.equal=675,e.greater=675,e.question=500,e.at=920,e.A=611,e.B=611,e.C=667,e.D=722,e.E=611,e.F=611,e.G=722,e.H=722,e.I=333,e.J=444,e.K=667,e.L=556,e.M=833,e.N=667,e.O=722,e.P=611,e.Q=722,e.R=611,e.S=500,e.T=556,e.U=722,e.V=611,e.W=833,e.X=611,e.Y=556,e.Z=556,e.bracketleft=389,e.backslash=278,e.bracketright=389,e.asciicircum=422,e.underscore=500,e.quoteleft=333,e.a=500,e.b=500,e.c=444,e.d=500,e.e=444,e.f=278,e.g=500,e.h=500,e.i=278,e.j=278,e.k=444,e.l=278,e.m=722,e.n=500,e.o=500,e.p=500,e.q=500,e.r=389,e.s=389,e.t=278,e.u=500,e.v=444,e.w=667,e.x=444,e.y=444,e.z=389,e.braceleft=400,e.bar=275,e.braceright=400,e.asciitilde=541,e.exclamdown=389,e.cent=500,e.sterling=500,e.fraction=167,e.yen=500,e.florin=500,e.section=500,e.currency=500,e.quotesingle=214,e.quotedblleft=556,e.guillemotleft=500,e.guilsinglleft=333,e.guilsinglright=333,e.fi=500,e.fl=500,e.endash=500,e.dagger=500,e.daggerdbl=500,e.periodcentered=250,e.paragraph=523,e.bullet=350,e.quotesinglbase=333,e.quotedblbase=556,e.quotedblright=556,e.guillemotright=500,e.ellipsis=889,e.perthousand=1e3,e.questiondown=500,e.grave=333,e.acute=333,e.circumflex=333,e.tilde=333,e.macron=333,e.breve=333,e.dotaccent=333,e.dieresis=333,e.ring=333,e.cedilla=333,e.hungarumlaut=333,e.ogonek=333,e.caron=333,e.emdash=889,e.AE=889,e.ordfeminine=276,e.Lslash=556,e.Oslash=722,e.OE=944,e.ordmasculine=310,e.ae=667,e.dotlessi=278,e.lslash=278,e.oslash=500,e.oe=667,e.germandbls=500,e.Idieresis=333,e.eacute=444,e.abreve=500,e.uhungarumlaut=500,e.ecaron=444,e.Ydieresis=556,e.divide=675,e.Yacute=556,e.Acircumflex=611,e.aacute=500,e.Ucircumflex=722,e.yacute=444,e.scommaaccent=389,e.ecircumflex=444,e.Uring=722,e.Udieresis=722,e.aogonek=500,e.Uacute=722,e.uogonek=500,e.Edieresis=611,e.Dcroat=722,e.commaaccent=250,e.copyright=760,e.Emacron=611,e.ccaron=444,e.aring=500,e.Ncommaaccent=667,e.lacute=278,e.agrave=500,e.Tcommaaccent=556,e.Cacute=667,e.atilde=500,e.Edotaccent=611,e.scaron=389,e.scedilla=389,e.iacute=278,e.lozenge=471,e.Rcaron=611,e.Gcommaaccent=722,e.ucircumflex=500,e.acircumflex=500,e.Amacron=611,e.rcaron=389,e.ccedilla=444,e.Zdotaccent=556,e.Thorn=611,e.Omacron=722,e.Racute=611,e.Sacute=500,e.dcaron=544,e.Umacron=722,e.uring=500,e.threesuperior=300,e.Ograve=722,e.Agrave=611,e.Abreve=611,e.multiply=675,e.uacute=500,e.Tcaron=556,e.partialdiff=476,e.ydieresis=444,e.Nacute=667,e.icircumflex=278,e.Ecircumflex=611,e.adieresis=500,e.edieresis=444,e.cacute=444,e.nacute=500,e.umacron=500,e.Ncaron=667,e.Iacute=333,e.plusminus=675,e.brokenbar=275,e.registered=760,e.Gbreve=722,e.Idotaccent=333,e.summation=600,e.Egrave=611,e.racute=389,e.omacron=500,e.Zacute=556,e.Zcaron=556,e.greaterequal=549,e.Eth=722,e.Ccedilla=667,e.lcommaaccent=278,e.tcaron=300,e.eogonek=444,e.Uogonek=722,e.Aacute=611,e.Adieresis=611,e.egrave=444,e.zacute=389,e.iogonek=278,e.Oacute=722,e.oacute=500,e.amacron=500,e.sacute=389,e.idieresis=278,e.Ocircumflex=722,e.Ugrave=722,e.Delta=612,e.thorn=500,e.twosuperior=300,e.Odieresis=722,e.mu=500,e.igrave=278,e.ohungarumlaut=500,e.Eogonek=611,e.dcroat=500,e.threequarters=750,e.Scedilla=500,e.lcaron=300,e.Kcommaaccent=667,e.Lacute=556,e.trademark=980,e.edotaccent=444,e.Igrave=333,e.Imacron=333,e.Lcaron=611,e.onehalf=750,e.lessequal=549,e.ocircumflex=500,e.ntilde=500,e.Uhungarumlaut=722,e.Eacute=611,e.emacron=444,e.gbreve=500,e.onequarter=750,e.Scaron=500,e.Scommaaccent=500,e.Ohungarumlaut=722,e.degree=400,e.ograve=500,e.Ccaron=667,e.ugrave=500,e.radical=453,e.Dcaron=722,e.rcommaaccent=389,e.Ntilde=667,e.otilde=500,e.Rcommaaccent=611,e.Lcommaaccent=556,e.Atilde=611,e.Aogonek=611,e.Aring=611,e.Otilde=722,e.zdotaccent=389,e.Ecaron=611,e.Iogonek=333,e.kcommaaccent=444,e.minus=675,e.Icircumflex=333,e.ncaron=500,e.tcommaaccent=278,e.logicalnot=675,e.odieresis=500,e.udieresis=500,e.notequal=549,e.gcommaaccent=500,e.eth=500,e.zcaron=389,e.ncommaaccent=500,e.onesuperior=300,e.imacron=278,e.Euro=500})),e.ZapfDingbats=Ig((function(e){e.space=278,e.a1=974,e.a2=961,e.a202=974,e.a3=980,e.a4=719,e.a5=789,e.a119=790,e.a118=791,e.a117=690,e.a11=960,e.a12=939,e.a13=549,e.a14=855,e.a15=911,e.a16=933,e.a105=911,e.a17=945,e.a18=974,e.a19=755,e.a20=846,e.a21=762,e.a22=761,e.a23=571,e.a24=677,e.a25=763,e.a26=760,e.a27=759,e.a28=754,e.a6=494,e.a7=552,e.a8=537,e.a9=577,e.a10=692,e.a29=786,e.a30=788,e.a31=788,e.a32=790,e.a33=793,e.a34=794,e.a35=816,e.a36=823,e.a37=789,e.a38=841,e.a39=823,e.a40=833,e.a41=816,e.a42=831,e.a43=923,e.a44=744,e.a45=723,e.a46=749,e.a47=790,e.a48=792,e.a49=695,e.a50=776,e.a51=768,e.a52=792,e.a53=759,e.a54=707,e.a55=708,e.a56=682,e.a57=701,e.a58=826,e.a59=815,e.a60=789,e.a61=789,e.a62=707,e.a63=687,e.a64=696,e.a65=689,e.a66=786,e.a67=787,e.a68=713,e.a69=791,e.a70=785,e.a71=791,e.a72=873,e.a73=761,e.a74=762,e.a203=762,e.a75=759,e.a204=759,e.a76=892,e.a77=892,e.a78=788,e.a79=784,e.a81=438,e.a82=138,e.a83=277,e.a84=415,e.a97=392,e.a98=392,e.a99=668,e.a100=668,e.a89=390,e.a90=390,e.a93=317,e.a94=317,e.a91=276,e.a92=276,e.a205=509,e.a85=509,e.a206=410,e.a86=410,e.a87=234,e.a88=234,e.a95=334,e.a96=334,e.a101=732,e.a102=544,e.a103=544,e.a104=910,e.a106=667,e.a107=760,e.a108=760,e.a112=776,e.a111=595,e.a110=694,e.a109=626,e.a120=788,e.a121=788,e.a122=788,e.a123=788,e.a124=788,e.a125=788,e.a126=788,e.a127=788,e.a128=788,e.a129=788,e.a130=788,e.a131=788,e.a132=788,e.a133=788,e.a134=788,e.a135=788,e.a136=788,e.a137=788,e.a138=788,e.a139=788,e.a140=788,e.a141=788,e.a142=788,e.a143=788,e.a144=788,e.a145=788,e.a146=788,e.a147=788,e.a148=788,e.a149=788,e.a150=788,e.a151=788,e.a152=788,e.a153=788,e.a154=788,e.a155=788,e.a156=788,e.a157=788,e.a158=788,e.a159=788,e.a160=894,e.a161=838,e.a163=1016,e.a164=458,e.a196=748,e.a165=924,e.a192=748,e.a166=918,e.a167=927,e.a168=928,e.a169=928,e.a170=834,e.a171=873,e.a172=828,e.a173=924,e.a162=924,e.a174=917,e.a175=930,e.a176=931,e.a177=463,e.a178=883,e.a179=836,e.a193=836,e.a180=867,e.a199=867,e.a181=696,e.a200=696,e.a182=874,e.a201=874,e.a183=760,e.a184=946,e.a197=771,e.a185=865,e.a194=771,e.a198=888,e.a186=967,e.a195=888,e.a187=831,e.a188=873,e.a189=927,e.a190=970,e.a191=918}))})),YI=Ig((function(e){e.Courier={ascent:629,descent:-157,capHeight:562,xHeight:-426},e["Courier-Bold"]={ascent:629,descent:-157,capHeight:562,xHeight:439},e["Courier-Oblique"]={ascent:629,descent:-157,capHeight:562,xHeight:426},e["Courier-BoldOblique"]={ascent:629,descent:-157,capHeight:562,xHeight:426},e.Helvetica={ascent:718,descent:-207,capHeight:718,xHeight:523},e["Helvetica-Bold"]={ascent:718,descent:-207,capHeight:718,xHeight:532},e["Helvetica-Oblique"]={ascent:718,descent:-207,capHeight:718,xHeight:523},e["Helvetica-BoldOblique"]={ascent:718,descent:-207,capHeight:718,xHeight:532},e["Times-Roman"]={ascent:683,descent:-217,capHeight:662,xHeight:450},e["Times-Bold"]={ascent:683,descent:-217,capHeight:676,xHeight:461},e["Times-Italic"]={ascent:683,descent:-217,capHeight:653,xHeight:441},e["Times-BoldItalic"]={ascent:683,descent:-217,capHeight:669,xHeight:462},e.Symbol={ascent:Math.NaN,descent:Math.NaN,capHeight:Math.NaN,xHeight:Math.NaN},e.ZapfDingbats={ascent:Math.NaN,descent:Math.NaN,capHeight:Math.NaN,xHeight:Math.NaN}}));class KI{constructor({glyfTable:e,isGlyphLocationsLong:t,locaTable:A,numGlyphs:i}){this.glyphs=[];const s=new DataView(A.buffer,A.byteOffset,A.byteLength),a=new DataView(e.buffer,e.byteOffset,e.byteLength),n=t?4:2;let r=t?s.getUint32(0):2*s.getUint16(0),o=0;for(let e=0;e<i;e++){o+=n;const e=t?s.getUint32(o):2*s.getUint16(o);if(e===r){this.glyphs.push(new _I({}));continue}const A=_I.parse(r,a);this.glyphs.push(A),r=e}}getSize(){return this.glyphs.reduce(((e,t)=>e+(t.getSize()+3&-4)),0)}write(){const e=this.getSize(),t=new DataView(new ArrayBuffer(e)),A=e>131070,i=A?4:2,s=new DataView(new ArrayBuffer((this.glyphs.length+1)*i));A?s.setUint32(0,0):s.setUint16(0,0);let a=0,n=0;for(const e of this.glyphs)a+=e.write(a,t),a=a+3&-4,n+=i,A?s.setUint32(n,a):s.setUint16(n,a>>1);return{isLocationLong:A,loca:new Uint8Array(s.buffer),glyf:new Uint8Array(t.buffer)}}scale(e){for(let t=0,A=this.glyphs.length;t<A;t++)this.glyphs[t].scale(e[t])}}class _I{constructor({header:e=null,simple:t=null,composites:A=null}){this.header=e,this.simple=t,this.composites=A}static parse(e,t){const[A,i]=qI.parse(e,t);if(e+=A,i.numberOfContours<0){const A=[];for(;;){const[i,s]=jI.parse(e,t);if(e+=i,A.push(s),!(32&s.flags))break}return new _I({header:i,composites:A})}const s=WI.parse(e,t,i.numberOfContours);return new _I({header:i,simple:s})}getSize(){if(!this.header)return 0;const e=this.simple?this.simple.getSize():this.composites.reduce(((e,t)=>e+t.getSize()),0);return this.header.getSize()+e}write(e,t){if(!this.header)return 0;const A=e;if(e+=this.header.write(e,t),this.simple)e+=this.simple.write(e,t);else for(const A of this.composites)e+=A.write(e,t);return e-A}scale(e){if(!this.header)return;const t=(this.header.xMin+this.header.xMax)/2;if(this.header.scale(t,e),this.simple)this.simple.scale(t,e);else for(const A of this.composites)A.scale(t,e)}}class qI{constructor({numberOfContours:e,xMin:t,yMin:A,xMax:i,yMax:s}){this.numberOfContours=e,this.xMin=t,this.yMin=A,this.xMax=i,this.yMax=s}static parse(e,t){return[10,new qI({numberOfContours:t.getInt16(e),xMin:t.getInt16(e+2),yMin:t.getInt16(e+4),xMax:t.getInt16(e+6),yMax:t.getInt16(e+8)})]}getSize(){return 10}write(e,t){return t.setInt16(e,this.numberOfContours),t.setInt16(e+2,this.xMin),t.setInt16(e+4,this.yMin),t.setInt16(e+6,this.xMax),t.setInt16(e+8,this.yMax),10}scale(e,t){this.xMin=Math.round(e+(this.xMin-e)*t),this.xMax=Math.round(e+(this.xMax-e)*t)}}class OI{constructor({flags:e,xCoordinates:t,yCoordinates:A}){this.xCoordinates=t,this.yCoordinates=A,this.flags=e}}class WI{constructor({contours:e,instructions:t}){this.contours=e,this.instructions=t}static parse(e,t,A){const i=[];for(let s=0;s<A;s++){const A=t.getUint16(e);e+=2,i.push(A)}const s=i[A-1]+1,a=t.getUint16(e);e+=2;const n=new Uint8Array(t).slice(e,e+a);e+=a;const r=[];for(let A=0;A<s;e++,A++){let i=t.getUint8(e);if(r.push(i),8&i){const s=t.getUint8(++e);i^=8;for(let e=0;e<s;e++)r.push(i);A+=s}}const o=[];let g=[],h=[],c=[];const l=[];let I=0,d=0;for(let A=0;A<s;A++){const s=r[A];if(2&s){const A=t.getUint8(e++);d+=16&s?A:-A,g.push(d)}else 16&s||(d+=t.getInt16(e),e+=2),g.push(d);i[I]===A&&(I++,o.push(g),g=[])}d=0,I=0;for(let A=0;A<s;A++){const s=r[A];if(4&s){const A=t.getUint8(e++);d+=32&s?A:-A,h.push(d)}else 32&s||(d+=t.getInt16(e),e+=2),h.push(d);c.push(1&s|64&s),i[I]===A&&(g=o[I],I++,l.push(new OI({flags:c,xCoordinates:g,yCoordinates:h})),h=[],c=[])}return new WI({contours:l,instructions:n})}getSize(){let e=2*this.contours.length+2+this.instructions.length,t=0,A=0;for(const i of this.contours){e+=i.flags.length;for(let s=0,a=i.xCoordinates.length;s<a;s++){const a=i.xCoordinates[s],n=i.yCoordinates[s];let r=Math.abs(a-t);r>255?e+=2:r>0&&(e+=1),t=a,r=Math.abs(n-A),r>255?e+=2:r>0&&(e+=1),A=n}}return e}write(e,t){const A=e,i=[],s=[],a=[];let n=0,r=0;for(const A of this.contours){for(let e=0,t=A.xCoordinates.length;e<t;e++){let t=A.flags[e];const o=A.xCoordinates[e];let g=o-n;if(0===g)t|=16,i.push(0);else{const e=Math.abs(g);e<=255?(t|=g>=0?18:2,i.push(e)):i.push(g)}n=o;const h=A.yCoordinates[e];if(g=h-r,0===g)t|=32,s.push(0);else{const e=Math.abs(g);e<=255?(t|=g>=0?36:4,s.push(e)):s.push(g)}r=h,a.push(t)}t.setUint16(e,i.length-1),e+=2}t.setUint16(e,this.instructions.length),e+=2,this.instructions.length&&(new Uint8Array(t.buffer,0,t.buffer.byteLength).set(this.instructions,e),e+=this.instructions.length);for(const A of a)t.setUint8(e++,A);for(let A=0,s=i.length;A<s;A++){const s=i[A],n=a[A];2&n?t.setUint8(e++,s):16&n||(t.setInt16(e,s),e+=2)}for(let A=0,i=s.length;A<i;A++){const i=s[A],n=a[A];4&n?t.setUint8(e++,i):32&n||(t.setInt16(e,i),e+=2)}return e-A}scale(e,t){for(const A of this.contours)if(0!==A.xCoordinates.length)for(let i=0,s=A.xCoordinates.length;i<s;i++)A.xCoordinates[i]=Math.round(e+(A.xCoordinates[i]-e)*t)}}class jI{constructor({flags:e,glyphIndex:t,argument1:A,argument2:i,transf:s,instructions:a}){this.flags=e,this.glyphIndex=t,this.argument1=A,this.argument2=i,this.transf=s,this.instructions=a}static parse(e,t){const A=e,i=[];let s=t.getUint16(e);const a=t.getUint16(e+2);let n,r;e+=4,1&s?(2&s?(n=t.getInt16(e),r=t.getInt16(e+2)):(n=t.getUint16(e),r=t.getUint16(e+2)),e+=4,s^=1):(2&s?(n=t.getInt8(e),r=t.getInt8(e+1)):(n=t.getUint8(e),r=t.getUint8(e+1)),e+=2),8&s?(i.push(t.getUint16(e)),e+=2):64&s?(i.push(t.getUint16(e),t.getUint16(e+2)),e+=4):128&s&&(i.push(t.getUint16(e),t.getUint16(e+2),t.getUint16(e+4),t.getUint16(e+6)),e+=8);let o=null;if(256&s){const A=t.getUint16(e);e+=2,o=new Uint8Array(t).slice(e,e+A),e+=A}return[e-A,new jI({flags:s,glyphIndex:a,argument1:n,argument2:r,transf:i,instructions:o})]}getSize(){let e=4+2*this.transf.length;return 256&this.flags&&(e+=2+this.instructions.length),e+=2,2&this.flags?this.argument1>=-128&&this.argument1<=127&&this.argument2>=-128&&this.argument2<=127||(e+=2):this.argument1>=0&&this.argument1<=255&&this.argument2>=0&&this.argument2<=255||(e+=2),e}write(e,t){const A=e;return 2&this.flags?this.argument1>=-128&&this.argument1<=127&&this.argument2>=-128&&this.argument2<=127||(this.flags|=1):this.argument1>=0&&this.argument1<=255&&this.argument2>=0&&this.argument2<=255||(this.flags|=1),t.setUint16(e,this.flags),t.setUint16(e+2,this.glyphIndex),e+=4,1&this.flags?(2&this.flags?(t.setInt16(e,this.argument1),t.setInt16(e+2,this.argument2)):(t.setUint16(e,this.argument1),t.setUint16(e+2,this.argument2)),e+=4):(t.setUint8(e,this.argument1),t.setUint8(e+1,this.argument2),e+=2),256&this.flags&&(t.setUint16(e,this.instructions.length),e+=2,this.instructions.length&&(new Uint8Array(t.buffer,0,t.buffer.byteLength).set(this.instructions,e),e+=this.instructions.length)),e-A}scale(e,t){}}function VI(e,t,A){e[t]=A>>8&255,e[t+1]=255&A}function ZI(e,t,A){e[t]=A>>24&255,e[t+1]=A>>16&255,e[t+2]=A>>8&255,e[t+3]=255&A}function XI(e,t,A){if(A instanceof Uint8Array)e.set(A,t);else if("string"==typeof A)for(let i=0,s=A.length;i<s;i++)e[t++]=255&A.charCodeAt(i);else for(const i of A)e[t++]=255&i}class zI{constructor(e){this.sfnt=e,this.tables=Object.create(null)}static getSearchParams(e,t){let A=1,i=0;for(;(A^e)>A;)A<<=1,i++;const s=A*t;return{range:s,entry:i,rangeShift:t*e-s}}toArray(){let e=this.sfnt;const t=this.tables,A=Object.keys(t);A.sort();const i=A.length;let s,a,n,r,o,g=12+16*i;const h=[g];for(s=0;s<i;s++){r=t[A[s]];g+=(r.length+3&-4)>>>0,h.push(g)}const c=new Uint8Array(g);for(s=0;s<i;s++)r=t[A[s]],XI(c,h[s],r);"true"===e&&(e=ko(65536)),c[0]=255&e.charCodeAt(0),c[1]=255&e.charCodeAt(1),c[2]=255&e.charCodeAt(2),c[3]=255&e.charCodeAt(3),VI(c,4,i);const l=zI.getSearchParams(i,16);for(VI(c,6,l.range),VI(c,8,l.entry),VI(c,10,l.rangeShift),g=12,s=0;s<i;s++){o=A[s],c[g]=255&o.charCodeAt(0),c[g+1]=255&o.charCodeAt(1),c[g+2]=255&o.charCodeAt(2),c[g+3]=255&o.charCodeAt(3);let e=0;for(a=h[s],n=h[s+1];a<n;a+=4){e=e+bg(c,a)>>>0}ZI(c,g+4,e),ZI(c,g+8,h[s]),ZI(c,g+12,t[o].length),g+=16}return c}addTable(e,t){if(e in this.tables)throw new Error("Table "+e+" already exists");this.tables[e]=t}}const $I=[4],ed=[5],td=[6],Ad=[7],id=[8],sd=[12,35],ad=[14],nd=[21],rd=[22],od=[30],gd=[31];class hd{constructor(){this.width=0,this.lsb=0,this.flexing=!1,this.output=[],this.stack=[]}convert(e,t,A){const i=e.length;let s,a,n,r=!1;for(let o=0;o<i;o++){let i=e[o];if(i<32){switch(12===i&&(i=(i<<8)+e[++o]),i){case 1:case 3:case 9:case 3072:case 3073:case 3074:case 3105:this.stack=[];break;case 4:if(this.flexing){if(this.stack.length<1){r=!0;break}const e=this.stack.pop();this.stack.push(0,e);break}r=this.executeCommand(1,$I);break;case 5:r=this.executeCommand(2,ed);break;case 6:r=this.executeCommand(1,td);break;case 7:r=this.executeCommand(1,Ad);break;case 8:r=this.executeCommand(6,id);break;case 10:if(this.stack.length<1){r=!0;break}if(n=this.stack.pop(),!t[n]){r=!0;break}r=this.convert(t[n],t,A);break;case 11:return r;case 13:if(this.stack.length<2){r=!0;break}s=this.stack.pop(),a=this.stack.pop(),this.lsb=a,this.width=s,this.stack.push(s,a),r=this.executeCommand(2,rd);break;case 14:this.output.push(ad[0]);break;case 21:if(this.flexing)break;r=this.executeCommand(2,nd);break;case 22:if(this.flexing){this.stack.push(0);break}r=this.executeCommand(1,rd);break;case 30:r=this.executeCommand(4,od);break;case 31:r=this.executeCommand(4,gd);break;case 3078:if(A){const e=this.stack.at(-5);this.seac=this.stack.splice(-4,4),this.seac[0]+=this.lsb-e,r=this.executeCommand(0,ad)}else r=this.executeCommand(4,ad);break;case 3079:if(this.stack.length<4){r=!0;break}this.stack.pop(),s=this.stack.pop();const e=this.stack.pop();a=this.stack.pop(),this.lsb=a,this.width=s,this.stack.push(s,a,e),r=this.executeCommand(3,nd);break;case 3084:if(this.stack.length<2){r=!0;break}const o=this.stack.pop(),g=this.stack.pop();this.stack.push(g/o);break;case 3088:if(this.stack.length<2){r=!0;break}n=this.stack.pop();const h=this.stack.pop();if(0===n&&3===h){const e=this.stack.splice(-17,17);this.stack.push(e[2]+e[0],e[3]+e[1],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14]),r=this.executeCommand(13,sd,!0),this.flexing=!1,this.stack.push(e[15],e[16])}else 1===n&&0===h&&(this.flexing=!0);break;case 3089:break;default:co('Unknown type 1 charstring command of "'+i+'"')}if(r)break}else i<=246?i-=139:i=i<=250?256*(i-247)+e[++o]+108:i<=254?-256*(i-251)-e[++o]-108:(255&e[++o])<<24|(255&e[++o])<<16|(255&e[++o])<<8|(255&e[++o])<<0,this.stack.push(i)}return r}executeCommand(e,t,A){const i=this.stack.length;if(e>i)return!0;const s=i-e;for(let e=s;e<i;e++){let t=this.stack[e];Number.isInteger(t)?this.output.push(28,t>>8&255,255&t):(t=65536*t|0,this.output.push(255,t>>24&255,t>>16&255,t>>8&255,255&t))}return this.output.push(...t),A?this.stack.splice(s,e):this.stack.length=0,!1}}function cd(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function ld(e,t,A){if(A>=e.length)return new Uint8Array(0);let i,s,a=0|t;for(i=0;i<A;i++)a=52845*(e[i]+a)+22719&65535;const n=e.length-A,r=new Uint8Array(n);for(i=A,s=0;s<n;i++,s++){const t=e[i];r[s]=t^a>>8,a=52845*(t+a)+22719&65535}return r}function Id(e){return 47===e||91===e||93===e||123===e||125===e||40===e||41===e}class dd{constructor(e,t,A){if(t){const t=e.getBytes(),A=!((cd(t[0])||Dg(t[0]))&&cd(t[1])&&cd(t[2])&&cd(t[3])&&cd(t[4])&&cd(t[5])&&cd(t[6])&&cd(t[7]));e=new Vg(A?ld(t,55665,4):function(e,t,A){let i=0|t;const s=e.length,a=new Uint8Array(s>>>1);let n,r;for(n=0,r=0;n<s;n++){const t=e[n];if(!cd(t))continue;let A;for(n++;n<s&&!cd(A=e[n]);)n++;if(n<s){const e=parseInt(String.fromCharCode(t,A),16);a[r++]=e^i>>8,i=52845*(e+i)+22719&65535}}return a.slice(A,r)}(t,55665,4))}this.seacAnalysisEnabled=!!A,this.stream=e,this.nextChar()}readNumberArray(){this.getToken();const e=[];for(;;){const t=this.getToken();if(null===t||"]"===t||"}"===t)break;e.push(parseFloat(t||0))}return e}readNumber(){const e=this.getToken();return parseFloat(e||0)}readInt(){const e=this.getToken();return 0|parseInt(e||0,10)}readBoolean(){return"true"===this.getToken()?1:0}nextChar(){return this.currentChar=this.stream.getByte()}prevChar(){return this.stream.skip(-2),this.currentChar=this.stream.getByte()}getToken(){let e=!1,t=this.currentChar;for(;;){if(-1===t)return null;if(e)10!==t&&13!==t||(e=!1);else if(37===t)e=!0;else if(!Dg(t))break;t=this.nextChar()}if(Id(t))return this.nextChar(),String.fromCharCode(t);let A="";do{A+=String.fromCharCode(t),t=this.nextChar()}while(t>=0&&!Dg(t)&&!Id(t));return A}readCharStrings(e,t){return-1===t?e:ld(e,4330,t)}extractFontProgram(e){const t=this.stream,A=[],i=[],s=Object.create(null);s.lenIV=4;const a={subrs:[],charstrings:[],properties:{privateData:s}};let n,r,o,g;for(;null!==(n=this.getToken());)if("/"===n)switch(n=this.getToken(),n){case"CharStrings":for(this.getToken(),this.getToken(),this.getToken(),this.getToken();n=this.getToken(),null!==n&&"end"!==n;){if("/"!==n)continue;const e=this.getToken();r=this.readInt(),this.getToken(),o=r>0?t.getBytes(r):new Uint8Array(0),g=a.properties.privateData.lenIV;const A=this.readCharStrings(o,g);this.nextChar(),n=this.getToken(),"noaccess"===n?this.getToken():"/"===n&&this.prevChar(),i.push({glyph:e,encoded:A})}break;case"Subrs":for(this.readInt(),this.getToken();"dup"===this.getToken();){const e=this.readInt();r=this.readInt(),this.getToken(),o=r>0?t.getBytes(r):new Uint8Array(0),g=a.properties.privateData.lenIV;const i=this.readCharStrings(o,g);this.nextChar(),n=this.getToken(),"noaccess"===n&&this.getToken(),A[e]=i}break;case"BlueValues":case"OtherBlues":case"FamilyBlues":case"FamilyOtherBlues":const e=this.readNumberArray();e.length>0&&e.length,0;break;case"StemSnapH":case"StemSnapV":a.properties.privateData[n]=this.readNumberArray();break;case"StdHW":case"StdVW":a.properties.privateData[n]=this.readNumberArray()[0];break;case"BlueShift":case"lenIV":case"BlueFuzz":case"BlueScale":case"LanguageGroup":a.properties.privateData[n]=this.readNumber();break;case"ExpansionFactor":a.properties.privateData[n]=this.readNumber()||.06;break;case"ForceBold":a.properties.privateData[n]=this.readBoolean()}for(const{encoded:t,glyph:s}of i){const i=new hd,n=i.convert(t,A,this.seacAnalysisEnabled);let r=i.output;n&&(r=[14]);const o={glyphName:s,charstring:r,width:i.width,lsb:i.lsb,seac:i.seac};if(".notdef"===s?a.charstrings.unshift(o):a.charstrings.push(o),e.builtInEncoding){const t=e.builtInEncoding.indexOf(s);t>-1&&void 0===e.widths[t]&&t>=e.firstChar&&t<=e.lastChar&&(e.widths[t]=i.width)}}return a}extractFontHeader(e){let t;for(;null!==(t=this.getToken());)if("/"===t)switch(t=this.getToken(),t){case"FontMatrix":const A=this.readNumberArray();e.fontMatrix=A;break;case"Encoding":const i=this.getToken();let s;if(/^\d+$/.test(i)){s=[];const e=0|parseInt(i,10);this.getToken();for(let A=0;A<e;A++){for(t=this.getToken();"dup"!==t&&"def"!==t;)if(t=this.getToken(),null===t)return;if("def"===t)break;const e=this.readInt();this.getToken();const A=this.getToken();s[e]=A,this.getToken()}}else s=kl(i);e.builtInEncoding=s;break;case"FontBBox":const a=this.readNumberArray();e.ascent=Math.max(a[3],a[1]),e.descent=Math.min(a[1],a[3]),e.ascentScaled=!0}}}function Cd(e,t,A){const i=e.length,s=t.length,a=i-s;let n=A,r=!1;for(;n<a;){let A=0;for(;A<s&&e[n+A]===t[A];)A++;if(A>=s){for(n+=A;n<i&&Dg(e[n]);)n++;r=!0;break}n++}return{found:r,length:n}}class ud{constructor(e,t,A){let i=A.length1;A.length2;let s=t.peekBytes(6);const a=128===s[0]&&1===s[1];a&&(t.skip(6),i=s[5]<<24|s[4]<<16|s[3]<<8|s[2]);const n=function(e,t){const A=[101,101,120,101,99],i=e.pos;let s,a,n,r;try{s=e.getBytes(t),a=s.length}catch{}if(a===t&&(n=Cd(s,A,t-2*A.length),n.found&&n.length===t))return{stream:new Vg(s),length:t};for(co('Invalid "Length1" property in Type1 font -- trying to recover.'),e.pos=i;n=Cd(e.peekBytes(2048),A,0),0!==n.length;)if(e.pos+=n.length,n.found){r=e.pos-i;break}return e.pos=i,r?{stream:new Vg(e.getBytes(r)),length:r}:(co('Unable to recover "Length1" property in Type1 font -- using as is.'),{stream:new Vg(e.getBytes(t)),length:t})}(t,i);new dd(n.stream,!1,AI).extractFontHeader(A),a&&(s=t.getBytes(6),s[5],s[4],s[3],s[2]);const r=function(e,t){const A=e.getBytes();if(0===A.length)throw new yo("getEexecBlock - no font program found.");return{stream:new Vg(A),length:A.length}}(t),o=new dd(r.stream,!0,AI).extractFontProgram(A);for(const e in o.properties)A[e]=o.properties[e];const g=o.charstrings,h=this.getType2Charstrings(g),c=this.getType2Subrs(o.subrs);this.charstrings=g,this.data=this.wrap(e,h,this.charstrings,c,A),this.seacs=this.getSeacs(o.charstrings)}get numGlyphs(){return this.charstrings.length+1}getCharset(){const e=[".notdef"];for(const{glyphName:t}of this.charstrings)e.push(t);return e}getGlyphMapping(e){const t=this.charstrings;if(e.composite){const A=Object.create(null);for(let i=0,s=t.length;i<s;i++){A[e.cMap.charCodeOf(i)]=i+1}return A}const A=[".notdef"];let i,s;for(s=0;s<t.length;s++)A.push(t[s].glyphName);const a=e.builtInEncoding;if(a){i=Object.create(null);for(const e in a)s=A.indexOf(a[e]),s>=0&&(i[e]=s)}return gI(e,i,A)}hasGlyphId(e){if(e<0||e>=this.numGlyphs)return!1;if(0===e)return!0;return this.charstrings[e-1].charstring.length>0}getSeacs(e){const t=[];for(let A=0,i=e.length;A<i;A++){const i=e[A];i.seac&&(t[A+1]=i.seac)}return t}getType2Charstrings(e){const t=[];for(const A of e)t.push(A.charstring);return t}getType2Subrs(e){let t=0;const A=e.length;t=A<1133?107:A<33769?1131:32768;const i=[];let s;for(s=0;s<t;s++)i.push([11]);for(s=0;s<A;s++)i.push(e[s]);return i}wrap(e,t,A,i,s){const a=new Nl;a.header=new Ml(1,0,4,4),a.names=[e];const n=new Jl;n.setByName("version",391),n.setByName("Notice",392),n.setByName("FullName",393),n.setByName("FamilyName",394),n.setByName("Weight",395),n.setByName("Encoding",null),n.setByName("FontMatrix",s.fontMatrix),n.setByName("FontBBox",s.bbox),n.setByName("charset",null),n.setByName("CharStrings",null),n.setByName("Private",null),a.topDict=n;const r=new Gl;r.add("Version 0.11"),r.add("See original notice"),r.add(e),r.add(e),r.add("Medium"),a.strings=r,a.globalSubrIndex=new Ll;const o=t.length,g=[".notdef"];let h,c;for(h=0;h<o;h++){const e=A[h].glyphName;-1===Sl.indexOf(e)&&r.add(e),g.push(e)}a.charset=new Kl(!1,0,g);const l=new Ll;for(l.add([139,14]),h=0;h<o;h++)l.add(t[h]);a.charStrings=l;const I=new Pl;I.setByName("Subrs",null);const d=["BlueValues","OtherBlues","FamilyBlues","FamilyOtherBlues","StemSnapH","StemSnapV","BlueShift","BlueFuzz","BlueScale","LanguageGroup","ExpansionFactor","ForceBold","StdHW","StdVW"];for(h=0,c=d.length;h<c;h++){const e=d[h];if(!(e in s.privateData))continue;const t=s.privateData[e];if(Array.isArray(t))for(let e=t.length-1;e>0;e--)t[e]-=t[e-1];I.setByName(e,t)}a.topDict.privateDict=I;const C=new Ll;for(h=0,c=i.length;h<c;h++)C.add(i[h]);I.subrsIndex=C;return new Wl(a).compile()}}const Bd=[[57344,63743],[1048576,1114109]],Qd=1e3,Ed=["ascent","bbox","black","bold","charProcOperatorList","composite","cssFontInfo","data","defaultVMetrics","defaultWidth","descent","fallbackName","fontMatrix","isInvalidPDFjsFont","isType3Font","italic","loadedName","mimetype","missingFile","name","remeasure","subtype","systemFontInfo","type","vertical"],fd=["cMap","defaultEncoding","differences","isMonospace","isSerifFont","isSymbolicFont","seacMap","toFontChar","toUnicode","vmetrics","widths"];function pd(e){if(!e.fontMatrix)return;if(e.fontMatrix[0]===ga[0])return;const t=.001/e.fontMatrix[0],A=e.widths;for(const e in A)A[e]*=t;e.defaultWidth*=t}function md(e){if(!e.fallbackToUnicode)return;if(e.toUnicode instanceof mI)return;const t=[];for(const A in e.fallbackToUnicode)e.toUnicode.has(A)||(t[A]=e.fallbackToUnicode[A]);t.length>0&&e.toUnicode.amend(t)}class yd{constructor(e,t,A,i,s,a,n,r,o){this.originalCharCode=e,this.fontChar=t,this.unicode=A,this.accent=i,this.width=s,this.vmetric=a,this.operatorListId=n,this.isSpace=r,this.isInFont=o}get category(){return uo(this,"category",function(e){const t=tI.get(e);if(t)return t;const A=e.match(eI),i={isWhitespace:!!A?.[1],isZeroWidthDiacritic:!!A?.[2],isInvisibleFormatMark:!!A?.[3]};return tI.set(e,i),i}(this.unicode),!0)}}function wd(e,t){return(e<<8)+t}function bd(e,t,A){e[t+1]=A,e[t]=A>>>8}function Dd(e,t){const A=(e<<8)+t;return 32768&A?A-65536:A}function kd(e){return String.fromCharCode(e>>8&255,255&e)}function Sd(e){return e>32767?e=32767:e<-32768&&(e=-32768),String.fromCharCode(e>>8&255,255&e)}function Fd(e){return"ttcf"===bo(e.peekBytes(4))}function Rd(e,{type:t,subtype:A,composite:i}){let s,a;return function(e){const t=e.peekBytes(4);return 65536===bg(t,0)||"true"===bo(t)}(e)||Fd(e)?s=i?"CIDFontType2":"TrueType":!function(e){return"OTTO"===bo(e.peekBytes(4))}(e)?!function(e){const t=e.peekBytes(2);return 37===t[0]&&33===t[1]||128===t[0]&&1===t[1]}(e)?!function(e){const t=e.peekBytes(4);return t[0]>=1&&t[3]>=1&&t[3]<=4}(e)?(co("getFontFileType: Unable to detect correct font file Type/Subtype."),s=t,a=A):i?(s="CIDFontType0",a="CIDFontType0C"):(s="MMType1"===t?"MMType1":"Type1",a="Type1C"):s=i?"CIDFontType0":"MMType1"===t?"MMType1":"Type1":s=i?"CIDFontType2":"OpenType",[s,a]}function xd(e,t){for(const A in t)e[+A]=t[A]}function vd(e,t,A){const i=[];let s;for(let A=0,a=e.length;A<a;A++)s=Xl(e[A],t),-1!==s&&(i[A]=s);for(const e in A)s=Xl(A[e],t),-1!==s&&(i[+e]=s);return i}function Nd(e){return 1===e.platform&&0===e.encoding&&0===e.language}function Md(e){return 3===e.platform&&1===e.encoding&&1033===e.language}function Gd(e,t,A=!1){switch(t.length){case 1:return t.charCodeAt(0);case 2:return t.charCodeAt(0)<<8|t.charCodeAt(1)}const i=`Unsupported CID string (charCode ${e}): "${t}".`;if(A)throw new yo(i);return co(i),t}function Ld(e,t,A,i){const s=Object.create(null),a=new Map,n=[],r=new Set;let o=0;let g=Bd[o][0],h=Bd[o][1];for(const l in e){let I=e[l];if(!t(I))continue;if(g>h){if(o++,o>=Bd.length){co("Ran out of space in font private use area.");break}g=Bd[o][0],h=Bd[o][1]}const d=g++;0===I&&(I=A);let C=i.get(l);"string"==typeof C&&(C=C.codePointAt(0)),!C||(c=C,Bd[0][0]<=c&&c<=Bd[0][1]||Bd[1][0]<=c&&c<=Bd[1][1])||r.has(I)||(a.set(C,I),r.add(I)),s[d]=I,n[l]=d}var c;return{toFontChar:n,charCodeToGlyphId:s,toUnicodeExtraMap:a,nextAvailableFontCharCode:g}}function Ud(e,t,A){const i=function(e,t,A){const i=[];for(const t in e)e[t]>=A||i.push({fontCharCode:0|t,glyphId:e[t]});if(t)for(const[e,s]of t)s>=A||i.push({fontCharCode:e,glyphId:s});0===i.length&&i.push({fontCharCode:0,glyphId:0}),i.sort((function(e,t){return e.fontCharCode-t.fontCharCode}));const s=[],a=i.length;for(let e=0;e<a;){const t=i[e].fontCharCode,A=[i[e].glyphId];++e;let n=t;for(;e<a&&n+1===i[e].fontCharCode&&(A.push(i[e].glyphId),++n,++e,65535!==n););s.push([t,n,A])}return s}(e,t,A),s=i.at(-1)[1]>65535?2:1;let a,n,r,o,g="\0\0"+kd(s)+"\0\0"+ko(4+8*s);for(a=i.length-1;a>=0&&!(i[a][0]<=65535);--a);const h=a+1;i[a][0]<65535&&65535===i[a][1]&&(i[a][1]=65534);const c=i[a][1]<65535?1:0,l=h+c,I=zI.getSearchParams(l,2);let d,C,u,B,Q="",E="",f="",p="",m="",y=0;for(a=0,n=h;a<n;a++){d=i[a],C=d[0],u=d[1],Q+=kd(C),E+=kd(u),B=d[2];let e=!0;for(r=1,o=B.length;r<o;++r)if(B[r]!==B[r-1]+1){e=!1;break}if(e){f+=kd(B[0]-C&65535),p+=kd(0)}else{const e=2*(l-a)+2*y;for(y+=u-C+1,f+=kd(0),p+=kd(e),r=0,o=B.length;r<o;++r)m+=kd(B[r])}}c>0&&(E+="ÿÿ",Q+="ÿÿ",f+="\0",p+="\0\0");const w="\0\0"+kd(2*l)+kd(I.range)+kd(I.entry)+kd(I.rangeShift)+E+"\0\0"+Q+f+p+m;let b="",D="";if(s>1){for(g+="\0\0\n"+ko(4+8*s+4+w.length),b="",a=0,n=i.length;a<n;a++){d=i[a],C=d[0],B=d[2];let e=B[0];for(r=1,o=B.length;r<o;++r)B[r]!==B[r-1]+1&&(u=d[0]+r-1,b+=ko(C)+ko(u)+ko(e),C=u+1,e=B[r]);b+=ko(C)+ko(d[1])+ko(e)}D="\0\f\0\0"+ko(b.length+16)+"\0\0\0\0"+ko(b.length/12)}return g+"\0"+kd(w.length+4)+w+D+b}function Hd(e,t,A){A||={unitsPerEm:0,yMax:0,yMin:0,ascent:0,descent:0};let i=0,s=0,a=0,n=0,r=null,o=0,g=-1;if(t){for(let e in t)if(e|=0,(r>e||!r)&&(r=e),o<e&&(o=e),g=$l(e,g),g<32)i|=1<<g;else if(g<64)s|=1<<g-32;else if(g<96)a|=1<<g-64;else{if(!(g<123))throw new yo("Unicode ranges Bits > 123 are reserved for internal usage");n|=1<<g-96}o>65535&&(o=65535)}else r=0,o=255;const h=e.bbox||[0,0,0,0],c=A.unitsPerEm||1/(e.fontMatrix||ga)[0],l=e.ascentScaled?1:c/Qd,I=A.ascent||Math.round(l*(e.ascent||h[3]));let d=A.descent||Math.round(l*(e.descent||h[1]));d>0&&e.descent>0&&h[1]<0&&(d=-d);const C=A.yMax||I,u=-A.yMin||-d;return"\0$ô\0\0\0Š»\0\0\0ŒŠ»\0\0ß\x001\0\0\0\0"+String.fromCharCode(e.fixedPitch?9:0)+"\0\0\0\0\0\0"+ko(i)+ko(s)+ko(a)+ko(n)+"*21*"+kd(e.italicAngle?1:0)+kd(r||e.firstChar)+kd(o||e.lastChar)+kd(I)+kd(d)+"\0d"+kd(C)+kd(u)+"\0\0\0\0\0\0\0\0"+kd(e.xHeight)+kd(e.capHeight)+kd(0)+kd(r||e.firstChar)+"\0"}function Jd(e){return"\0\0\0"+ko(Math.floor(65536*e.italicAngle))+"\0\0\0\0"+ko(e.fixedPitch?1:0)+"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}function Td(e){return e.replaceAll(/[^\x21-\x7E]|[[\](){}<>/%]/g,"").slice(0,63)}function Pd(e,t){t||(t=[[],[]]);const A=[t[0][0]||"Original licence",t[0][1]||e,t[0][2]||"Unknown",t[0][3]||"uniqueID",t[0][4]||e,t[0][5]||"Version 0.11",t[0][6]||Td(e),t[0][7]||"Unknown",t[0][8]||"Unknown",t[0][9]||"Unknown"],i=[];let s,a,n,r,o;for(s=0,a=A.length;s<a;s++){o=t[1][s]||A[s];const e=[];for(n=0,r=o.length;n<r;n++)e.push(kd(o.charCodeAt(n)));i.push(e.join(""))}const g=[A,i],h=["\0","\0"],c=["\0\0","\0"],l=["\0\0","\t"],I=A.length*h.length;let d="\0\0"+kd(I)+kd(12*I+6),C=0;for(s=0,a=h.length;s<a;s++){const e=g[s];for(n=0,r=e.length;n<r;n++){o=e[n];d+=h[s]+c[s]+l[s]+kd(n)+kd(o.length)+kd(C),C+=o.length}}return d+=A.join("")+i.join(""),d}class Yd{constructor(e,t,A){this.name=e,this.psName=null,this.mimetype=null,this.disableFontFace=!1,this.loadedName=A.loadedName,this.isType3Font=A.isType3Font,this.missingFile=!1,this.cssFontInfo=A.cssFontInfo,this._charsCache=Object.create(null),this._glyphCache=Object.create(null);let i=!!(A.flags&sI);if(!i&&!A.isSimulatedFlags){const t=e.replaceAll(/[,_]/g,"-").split("-",1)[0],A=dI();for(const e of t.split("+"))if(A[e]){i=!0;break}}this.isSerifFont=i,this.isSymbolicFont=!!(A.flags&aI),this.isMonospace=!!(A.flags&iI);let{type:s,subtype:a}=A;this.type=s,this.subtype=a,this.systemFontInfo=A.systemFontInfo;const n=e.match(/^InvalidPDFjsFont_(.*)_\d+$/);if(this.isInvalidPDFjsFont=!!n,this.isInvalidPDFjsFont?this.fallbackName=n[1]:this.isMonospace?this.fallbackName="monospace":this.isSerifFont?this.fallbackName="serif":this.fallbackName="sans-serif",this.systemFontInfo?.guessFallback&&(this.systemFontInfo.guessFallback=!1,this.systemFontInfo.css+=`,${this.fallbackName}`),this.differences=A.differences,this.widths=A.widths,this.defaultWidth=A.defaultWidth,this.composite=A.composite,this.cMap=A.cMap,this.capHeight=A.capHeight/Qd,this.ascent=A.ascent/Qd,this.descent=A.descent/Qd,this.lineHeight=this.ascent-this.descent,this.fontMatrix=A.fontMatrix,this.bbox=A.bbox,this.defaultEncoding=A.defaultEncoding,this.toUnicode=A.toUnicode,this.toFontChar=[],"Type3"===A.type){for(let e=0;e<256;e++)this.toFontChar[e]=this.differences[e]||A.defaultEncoding[e];return}if(this.cidEncoding=A.cidEncoding||"",this.vertical=!!A.vertical,this.vertical&&(this.vmetrics=A.vmetrics,this.defaultVMetrics=A.defaultVMetrics),!t||t.isEmpty)return t&&co('Font file is empty in "'+e+'" ('+this.loadedName+")"),void this.fallbackToSystemFont(A);let r;[s,a]=Rd(t,A),s===this.type&&a===this.subtype||ho(`Inconsistent font file Type/SubType, expected: ${this.type}/${this.subtype} but found: ${s}/${a}.`);try{switch(s){case"MMType1":ho("MMType1 font ("+e+"), falling back to Type1.");case"Type1":case"CIDFontType0":this.mimetype="font/opentype";const i="Type1C"===a||"CIDFontType0C"===a?new yI(t,A):new ud(e,t,A);pd(A),r=this.convert(e,i,A);break;case"OpenType":case"TrueType":case"CIDFontType2":this.mimetype="font/opentype",r=this.checkAndRepair(e,t,A),this.isOpenType&&(pd(A),s="OpenType");break;default:throw new yo(`Font ${s} is not supported`)}}catch(e){return co(e),void this.fallbackToSystemFont(A)}md(A),this.data=r,this.type=s,this.subtype=a,this.fontMatrix=A.fontMatrix,this.widths=A.widths,this.defaultWidth=A.defaultWidth,this.toUnicode=A.toUnicode,this.seacMap=A.seacMap}get renderer(){return uo(this,"renderer",TI.create(this,AI))}exportData(e=!1){const t=e?[...Ed,...fd]:Ed,A=Object.create(null);let i,s;for(i of t)s=this[i],void 0!==s&&(A[i]=s);return A}fallbackToSystemFont(e){this.missingFile=!0;const{name:t,type:A}=this;let i=hI(t);const s=cI(),a=II(),n=!!s[i],r=!(!a[i]||!s[a[i]]);i=s[i]||a[i]||i;const o=YI()[i];o&&(isNaN(this.ascent)&&(this.ascent=o.ascent/Qd),isNaN(this.descent)&&(this.descent=o.descent/Qd),isNaN(this.capHeight)&&(this.capHeight=o.capHeight/Qd)),this.bold=/bold/gi.test(i),this.italic=/oblique|italic/gi.test(i),this.black=/Black/g.test(t);const g=/Narrow/g.test(t);if(this.remeasure=(!n||g)&&Object.keys(this.widths).length>0,(n||r)&&"CIDFontType2"===A&&this.cidEncoding.startsWith("Identity-")){const A=e.cidToGidMap,i=[];if(xd(i,uI()),/Arial-?Black/i.test(t)?xd(i,BI()):/Calibri/i.test(t)&&xd(i,QI()),A){for(const e in i){const t=i[e];void 0!==A[t]&&(i[+e]=A[t])}A.length!==this.toUnicode.length&&e.hasIncludedToUnicodeMap&&this.toUnicode instanceof mI&&this.toUnicode.forEach((function(e,t){const s=i[e];void 0===A[s]&&(i[+e]=t)}))}this.toUnicode instanceof mI||this.toUnicode.forEach((function(e,t){i[+e]=t})),this.toFontChar=i,this.toUnicode=new pI(i)}else if(/Symbol/i.test(i))this.toFontChar=vd(bl,jl(),this.differences);else if(/Dingbats/i.test(i))this.toFontChar=vd(Dl,Vl(),this.differences);else if(n){const e=vd(this.defaultEncoding,jl(),this.differences);"CIDFontType2"!==A||this.cidEncoding.startsWith("Identity-")||this.toUnicode instanceof mI||this.toUnicode.forEach((function(t,A){e[+t]=A})),this.toFontChar=e}else{const e=jl(),A=[];this.toUnicode.forEach(((t,i)=>{if(!this.composite){const A=Xl(this.differences[t]||this.defaultEncoding[t],e);-1!==A&&(i=A)}A[+t]=i})),this.composite&&this.toUnicode instanceof mI&&/Tahoma|Verdana/i.test(t)&&xd(A,uI()),this.toFontChar=A}md(e),this.loadedName=i.split("-",1)[0]}checkAndRepair(e,t,A){const i=["OS/2","cmap","head","hhea","hmtx","maxp","name","post","loca","glyf","fpgm","prep","cvt ","CFF "];function s(e,t){const A=Object.create(null);A["OS/2"]=null,A.cmap=null,A.head=null,A.hhea=null,A.hmtx=null,A.maxp=null,A.name=null,A.post=null;for(let s=0;s<t;s++){const t=a(e);i.includes(t.tag)&&(0!==t.length&&(A[t.tag]=t))}return A}function a(e){const t=e.getString(4),A=e.getInt32()>>>0,i=e.getInt32()>>>0,s=e.getInt32()>>>0,a=e.pos;e.pos=e.start||0,e.skip(i);const n=e.getBytes(s);return e.pos=a,"head"===t&&(n[8]=n[9]=n[10]=n[11]=0,n[17]|=32),{tag:t,checksum:A,length:s,offset:i,data:n}}function n(e){return{version:e.getString(4),numTables:e.getUint16(),searchRange:e.getUint16(),entrySelector:e.getUint16(),rangeShift:e.getUint16()}}function r(e,t,A,i,s,a){const n={length:0,sizeOfInstructions:0};if(t<0||t>=e.length||A>e.length||A-t<=12)return n;const r=e.subarray(t,A),o=Dd(r[2],r[3]),g=Dd(r[4],r[5]),h=Dd(r[6],r[7]),c=Dd(r[8],r[9]);o>h&&(bd(r,2,h),bd(r,6,o)),g>c&&(bd(r,4,c),bd(r,8,g));const l=Dd(r[0],r[1]);if(l<0)return l<-1||(i.set(r,s),n.length=r.length),n;let I,d=10,C=0;for(I=0;I<l;I++){C=(r[d]<<8|r[d+1])+1,d+=2}const u=d,B=r[d]<<8|r[d+1];n.sizeOfInstructions=B,d+=2+B;const Q=d;let E=0;for(I=0;I<C;I++){const e=r[d++];192&e&&(r[d-1]=63&e);let t=2;2&e?t=1:16&e&&(t=0);let A=2;4&e?A=1:32&e&&(A=0);const i=t+A;if(E+=i,8&e){const e=r[d++];0===e&&(r[d-1]^=8),I+=e,E+=e*i}}if(0===E)return n;let f=d+E;return f>r.length?n:!a&&B>0?(i.set(r.subarray(0,u),s),i.set([0,0],s+u),i.set(r.subarray(Q,f),s+u+2),f-=B,r.length-f>3&&(f=f+3&-4),n.length=f,n):r.length-f>3?(f=f+3&-4,i.set(r.subarray(0,f),s),n.length=f,n):(i.set(r,s),n.length=r.length,n)}function o(e){const A=(t.start||0)+e.offset;t.pos=A;const i=[[],[]],s=[],a=e.length,n=A+a;if(0!==t.getUint16()||a<6)return[i,s];const r=t.getUint16(),o=t.getUint16();let g,h;for(g=0;g<r&&t.pos+12<=n;g++){const e={platform:t.getUint16(),encoding:t.getUint16(),language:t.getUint16(),name:t.getUint16(),length:t.getUint16(),offset:t.getUint16()};(Nd(e)||Md(e))&&s.push(e)}for(g=0,h=s.length;g<h;g++){const e=s[g];if(e.length<=0)continue;const a=A+o+e.offset;if(a+e.length>n)continue;t.pos=a;const r=e.name;if(e.encoding){let A="";for(let i=0,s=e.length;i<s;i+=2)A+=String.fromCharCode(t.getUint16());i[1][r]=A}else i[0][r]=t.getString(e.length)}return[i,s]}const g=[0,0,0,0,0,0,0,0,-2,-2,-2,-2,0,0,-2,-5,-1,-1,-1,-1,-1,-1,-1,-1,0,0,-1,0,-1,-1,-1,-1,1,-1,-999,0,1,0,-1,-2,0,-1,-2,-1,-1,0,-1,-1,0,0,-999,-999,-1,-1,-1,-1,-2,-999,-2,-2,-999,0,-2,-2,0,0,-2,0,-2,0,0,0,-2,-1,-1,1,1,0,0,-1,-1,-1,-1,-1,-1,-1,0,0,-1,0,-1,-1,0,-999,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,-2,-999,-999,-999,-999,-999,-1,-1,-2,-2,0,0,0,0,-1,-1,-999,-2,-2,0,0,-1,-2,-2,0,0,0,-1,-1,-1,-2];function h(e,t){let A,i,s,a,n,r=e.data,o=0,h=0,c=0;const l=[],I=[],d=[];let C=t.tooComplexToFollowFunctions,u=!1,B=0,Q=0;for(let e=r.length;o<e;){const e=r[o++];if(64===e)if(i=r[o++],u||Q)o+=i;else for(A=0;A<i;A++)l.push(r[o++]);else if(65===e)if(i=r[o++],u||Q)o+=2*i;else for(A=0;A<i;A++)s=r[o++],l.push(s<<8|r[o++]);else if(176==(248&e))if(i=e-176+1,u||Q)o+=i;else for(A=0;A<i;A++)l.push(r[o++]);else if(184==(248&e))if(i=e-184+1,u||Q)o+=2*i;else for(A=0;A<i;A++)s=r[o++],l.push(s<<8|r[o++]);else if(43!==e||C)if(44!==e||C){if(45===e)if(u)u=!1,h=o;else{if(n=I.pop(),!n)return co("TT: ENDF bad stack"),void(t.hintsValid=!1);a=d.pop(),r=n.data,o=n.i,t.functionsStackDeltas[a]=l.length-n.stackTop}else if(137===e)(u||Q)&&(co("TT: nested IDEFs not allowed"),C=!0),u=!0,c=o;else if(88===e)++B;else if(27===e)Q=B;else if(89===e)Q===B&&(Q=0),--B;else if(28===e&&!u&&!Q){const e=l.at(-1);e>0&&(o+=e-1)}}else(u||Q)&&(co("TT: nested FDEFs not allowed"),C=!0),u=!0,c=o,a=l.pop(),t.functionsDefined[a]={data:r,i:o};else if(!u&&!Q)if(a=l.at(-1),isNaN(a))ho("TT: CALL empty stack (or invalid entry).");else if(t.functionsUsed[a]=!0,a in t.functionsStackDeltas){const e=l.length+t.functionsStackDeltas[a];if(e<0)return co("TT: CALL invalid functions stack delta."),void(t.hintsValid=!1);l.length=e}else if(a in t.functionsDefined&&!d.includes(a)){if(I.push({data:r,i:o,stackTop:l.length-1}),d.push(a),n=t.functionsDefined[a],!n)return co("TT: CALL non-existent function"),void(t.hintsValid=!1);r=n.data,o=n.i}if(!u&&!Q){let t=0;for(e<=142?t=g[e]:e>=192&&e<=223?t=-1:e>=224&&(t=-2),e>=113&&e<=117&&(i=l.pop(),isNaN(i)||(t=2*-i));t<0&&l.length>0;)l.pop(),t++;for(;t>0;)l.push(NaN),t--}}t.tooComplexToFollowFunctions=C;const E=[r];o>r.length&&E.push(new Uint8Array(o-r.length)),c>h&&(co("TT: complementing a missing function tail"),E.push(new Uint8Array([34,45]))),function(e,t){if(t.length>1){let A,i,s=0;for(A=0,i=t.length;A<i;A++)s+=t[A].length;s=s+3&-4;const a=new Uint8Array(s);let n=0;for(A=0,i=t.length;A<i;A++)a.set(t[A],n),n+=t[A].length;e.data=a,e.length=s}}(e,E)}let c,l,I,d;if(Fd(t=new Vg(new Uint8Array(t.getBytes())))){const e=function(e,t){const{numFonts:A,offsetTable:i}=function(e){const t=e.getString(4);Io("ttcf"===t,"Must be a TrueType Collection font.");const A=e.getUint16(),i=e.getUint16(),s=e.getInt32()>>>0,a=[];for(let t=0;t<s;t++)a.push(e.getInt32()>>>0);const n={ttcTag:t,majorVersion:A,minorVersion:i,numFonts:s,offsetTable:a};switch(A){case 1:return n;case 2:return n.dsigTag=e.getInt32()>>>0,n.dsigLength=e.getInt32()>>>0,n.dsigOffset=e.getInt32()>>>0,n}throw new yo(`Invalid TrueType Collection majorVersion: ${A}.`)}(e),a=t.split("+");let r;for(let g=0;g<A;g++){e.pos=(e.start||0)+i[g];const A=n(e),h=s(e,A.numTables);if(!h.name)throw new yo('TrueType Collection font must contain a "name" table.');const[c]=o(h.name);for(let e=0,i=c.length;e<i;e++)for(let i=0,s=c[e].length;i<s;i++){const s=c[e][i]?.replaceAll(/\s/g,"");if(s){if(s===t)return{header:A,tables:h};if(!(a.length<2))for(const e of a)s===e&&(r={name:e,header:A,tables:h})}}}if(r)return co(`TrueType Collection does not contain "${t}" font, falling back to "${r.name}" font instead.`),{header:r.header,tables:r.tables};throw new yo(`TrueType Collection does not contain "${t}" font.`)}(t,this.name);c=e.header,l=e.tables}else c=n(t),l=s(t,c.numTables);const C=!l["CFF "];if(C){if(!l.loca)throw new yo('Required "loca" table is not found');l.glyf||(co('Required "glyf" table is not found -- trying to recover.'),l.glyf={tag:"glyf",data:new Uint8Array(0)}),this.isOpenType=!1}else{const t=A.composite&&(A.cidToGidMap?.length>0||!(A.cMap instanceof Al));if("OTTO"===c.version&&!t||!l.head||!l.hhea||!l.maxp||!l.post)return d=new Vg(l["CFF "].data),I=new yI(d,A),pd(A),this.convert(e,I,A);delete l.glyf,delete l.loca,delete l.fpgm,delete l.prep,delete l["cvt "],this.isOpenType=!0}if(!l.maxp)throw new yo('Required "maxp" table is not found');t.pos=(t.start||0)+l.maxp.offset;let u=t.getInt32();const B=t.getUint16();if(65536!==u&&20480!==u){if(6===l.maxp.length)u=20480;else{if(!(l.maxp.length>=32))throw new yo('"maxp" table has a wrong version number');u=65536}Q=l.maxp.data,f=u,Q[(E=0)+3]=255&f,Q[E+2]=f>>>8,Q[E+1]=f>>>16,Q[E]=f>>>24}var Q,E,f;if(A.scaleFactors?.length===B&&C){const{scaleFactors:e}=A,t=wd(l.head.data[50],l.head.data[51]),i=new KI({glyfTable:l.glyf.data,isGlyphLocationsLong:t,locaTable:l.loca.data,numGlyphs:B});i.scale(e);const{glyf:s,loca:a,isLocationLong:n}=i.write();l.glyf.data=s,l.loca.data=a,n!==!!t&&(l.head.data[50]=0,l.head.data[51]=n?1:0);const r=l.hmtx.data;for(let t=0;t<B;t++){const A=4*t,i=Math.round(e[t]*wd(r[A],r[A+1]));r[A]=i>>8&255,r[A+1]=255&i;bd(r,A+2,Math.round(e[t]*Dd(r[A+2],r[A+3])))}}let p=B+1,m=!0;p>65535&&(m=!1,p=B,co("Not enough space in glyfs to duplicate first glyph."));let y=0,w=0;if(u>=65536&&l.maxp.length>=32){t.pos+=8;t.getUint16()>2&&(l.maxp.data[14]=0,l.maxp.data[15]=2),t.pos+=4,y=t.getUint16(),t.pos+=4,w=t.getUint16()}l.maxp.data[4]=p>>8,l.maxp.data[5]=255&p;const b=function(e,t,A,i){const s={functionsDefined:[],functionsUsed:[],functionsStackDeltas:[],tooComplexToFollowFunctions:!1,hintsValid:!0};if(e&&h(e,s),t&&h(t,s),e&&function(e,t){if(!e.tooComplexToFollowFunctions){if(e.functionsDefined.length>t)return co("TT: more functions defined than expected"),void(e.hintsValid=!1);for(let A=0,i=e.functionsUsed.length;A<i;A++){if(A>t)return co("TT: invalid function id: "+A),void(e.hintsValid=!1);if(e.functionsUsed[A]&&!e.functionsDefined[A])return co("TT: undefined function: "+A),void(e.hintsValid=!1)}}}(s,i),A&&1&A.length){const e=new Uint8Array(A.length+1);e.set(A.data),A.data=e}return s.hintsValid}(l.fpgm,l.prep,l["cvt "],y);if(b||(delete l.fpgm,delete l.prep,delete l["cvt "]),function(e,t,A,i,s,a){if(!t)return void(A&&(A.data=null));e.pos=(e.start||0)+t.offset,e.pos+=4,e.pos+=2,e.pos+=2,e.pos+=2,e.pos+=2,e.pos+=2,e.pos+=2,e.pos+=2,e.pos+=2,e.pos+=2;const n=e.getUint16();e.pos+=8,e.pos+=2;let r=e.getUint16();if(0!==n){2&wd(i.data[44],i.data[45])||(t.data[22]=0,t.data[23]=0)}r>s&&(ho(`The numOfMetrics (${r}) should not be greater than the numGlyphs (${s}).`),r=s,t.data[34]=(65280&r)>>8,t.data[35]=255&r);const o=s-r-(A.length-4*r>>1);if(o>0){const e=new Uint8Array(A.length+2*o);e.set(A.data),a&&(e[A.length]=A.data[2],e[A.length+1]=A.data[3]),A.data=e}}(t,l.hhea,l.hmtx,l.head,p,m),!l.head)throw new yo('Required "head" table is not found');!function(e,t,A){const i=e.data,s=(a=i[0],n=i[1],r=i[2],o=i[3],(a<<24)+(n<<16)+(r<<8)+o);var a,n,r,o;s>>16!=1&&(ho("Attempting to fix invalid version in head table: "+s),i[0]=0,i[1]=1,i[2]=0,i[3]=0);const g=wd(i[50],i[51]);if(g<0||g>1){ho("Attempting to fix invalid indexToLocFormat in head table: "+g);const e=t+1;if(A===e<<1)i[50]=0,i[51]=0;else{if(A!==e<<2)throw new yo("Could not fix indexToLocFormat: "+g);i[50]=0,i[51]=1}}}(l.head,B,C?l.loca.length:0);let D=Object.create(null);if(C){const e=wd(l.head.data[50],l.head.data[51]),t=function(e,t,A,i,s,a,n){let o,g,h;i?(o=4,g=function(e,t){return e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]},h=function(e,t,A){e[t]=A>>>24&255,e[t+1]=A>>16&255,e[t+2]=A>>8&255,e[t+3]=255&A}):(o=2,g=function(e,t){return e[t]<<9|e[t+1]<<1},h=function(e,t,A){e[t]=A>>9&255,e[t+1]=A>>1&255});const c=a?A+1:A,l=o*(1+c),I=new Uint8Array(l);I.set(e.data.subarray(0,l)),e.data=I;const d=t.data,C=d.length,u=new Uint8Array(C);let B,Q;const E=[];for(B=0,Q=0;B<A+1;B++,Q+=o){let e=g(I,Q);e>C&&(e=C),E.push({index:B,offset:e,endOffset:0})}for(E.sort(((e,t)=>e.offset-t.offset)),B=0;B<A;B++)E[B].endOffset=E[B+1].offset;for(E.sort(((e,t)=>e.index-t.index)),B=0;B<A;B++){const{offset:e,endOffset:t}=E[B];if(0!==e||0!==t)break;const A=E[B+1].offset;if(0!==A){E[B].endOffset=A;break}}const f=E.at(-2);0!==f.offset&&0===f.endOffset&&(f.endOffset=C);const p=Object.create(null);let m=0;for(h(I,0,m),B=0,Q=o;B<A;B++,Q+=o){const e=r(d,E[B].offset,E[B].endOffset,u,m,s),t=e.length;0===t&&(p[B]=!0),e.sizeOfInstructions>n&&(n=e.sizeOfInstructions),m+=t,h(I,Q,m)}if(0===m){const e=new Uint8Array([0,1,0,0,0,0,0,0,0,0,0,0,0,0,49,0]);for(B=0,Q=o;B<c;B++,Q+=o)h(I,Q,e.length);t.data=e}else if(a){const A=g(I,o);u.length>A+m?t.data=u.subarray(0,A+m):(t.data=new Uint8Array(A+m),t.data.set(u.subarray(0,m))),t.data.set(u.subarray(0,A),m),h(e.data,I.length-o,m+A)}else t.data=u.subarray(0,m);return{missingGlyphs:p,maxSizeOfInstructions:n}}(l.loca,l.glyf,B,e,b,m,w);D=t.missingGlyphs,u>=65536&&l.maxp.length>=32&&(l.maxp.data[26]=t.maxSizeOfInstructions>>8,l.maxp.data[27]=255&t.maxSizeOfInstructions)}if(!l.hhea)throw new yo('Required "hhea" table is not found');0===l.hhea.data[10]&&0===l.hhea.data[11]&&(l.hhea.data[10]=255,l.hhea.data[11]=255);const k={unitsPerEm:wd(l.head.data[18],l.head.data[19]),yMax:Dd(l.head.data[42],l.head.data[43]),yMin:Dd(l.head.data[38],l.head.data[39]),ascent:Dd(l.hhea.data[4],l.hhea.data[5]),descent:Dd(l.hhea.data[6],l.hhea.data[7]),lineGap:Dd(l.hhea.data[8],l.hhea.data[9])};this.ascent=k.ascent/k.unitsPerEm,this.descent=k.descent/k.unitsPerEm,this.lineGap=k.lineGap/k.unitsPerEm,this.cssFontInfo?.lineHeight?(this.lineHeight=this.cssFontInfo.metrics.lineHeight,this.lineGap=this.cssFontInfo.metrics.lineGap):this.lineHeight=this.ascent-this.descent+this.lineGap,l.post&&function(e,A,i){const s=(t.start||0)+e.offset;t.pos=s;const a=s+e.length,n=t.getInt32();let r;t.skip(28);let o,g=!0;switch(n){case 65536:r=rI;break;case 131072:const e=t.getUint16();if(e!==i){g=!1;break}const s=[];for(o=0;o<e;++o){const e=t.getUint16();if(e>=32768){g=!1;break}s.push(e)}if(!g)break;const h=[],c=[];for(;t.pos<a;){const e=t.getByte();for(c.length=e,o=0;o<e;++o)c[o]=String.fromCharCode(t.getByte());h.push(c.join(""))}for(r=[],o=0;o<e;++o){const e=s[o];e<258?r.push(rI[e]):r.push(h[e-258])}break;case 196608:break;default:co("Unknown/unsupported post table version "+n),g=!1,A.defaultEncoding&&(r=A.defaultEncoding)}A.glyphNames=r}(l.post,A,B),l.post={tag:"post",data:Jd(A)};const S=Object.create(null);function F(e){return!D[e]}if(A.composite){const e=A.cidToGidMap||[],t=0===e.length;A.cMap.forEach((function(A,i){if("string"==typeof i&&(i=Gd(A,i,!0)),i>65535)throw new yo("Max size of CID is 65,535");let s=-1;t?s=i:void 0!==e[i]&&(s=e[i]),s>=0&&s<B&&F(s)&&(S[A]=s)}))}else{const e=function(e,t,A,i){if(!e)return co("No cmap table available."),{platformId:-1,encodingId:-1,mappings:[],hasShortCmap:!1};let s,a=(t.start||0)+e.offset;t.pos=a,t.skip(2);const n=t.getUint16();let r,o=!1;for(let e=0;e<n;e++){const s=t.getUint16(),a=t.getUint16(),g=t.getInt32()>>>0;let h=!1;if(r?.platformId!==s||r?.encodingId!==a){if(0!==s||0!==a&&1!==a&&3!==a)if(1===s&&0===a)h=!0;else if(3!==s||1!==a||!i&&r){if(A&&3===s&&0===a){h=!0;let A=!0;if(e<n-1){const e=t.peekBytes(2);wd(e[0],e[1])<s&&(A=!1)}A&&(o=!0)}}else h=!0,A||(o=!0);else h=!0;if(h&&(r={platformId:s,encodingId:a,offset:g}),o)break}}if(r&&(t.pos=a+r.offset),!r||-1===t.peekByte())return co("Could not find a preferred cmap table."),{platformId:-1,encodingId:-1,mappings:[],hasShortCmap:!1};const g=t.getUint16();let h=!1;const c=[];let l,I;if(0===g){for(t.skip(4),l=0;l<256;l++){const e=t.getByte();e&&c.push({charCode:l,glyphId:e})}h=!0}else if(2===g){t.skip(4);const e=[];let A=0;for(let i=0;i<256;i++){const i=t.getUint16()>>3;e.push(i),A=Math.max(i,A)}const i=[];for(let e=0;e<=A;e++)i.push({firstCode:t.getUint16(),entryCount:t.getUint16(),idDelta:Dd(t.getByte(),t.getByte()),idRangePos:t.pos+t.getUint16()});for(let A=0;A<256;A++)if(0===e[A])t.pos=i[0].idRangePos+2*A,I=t.getUint16(),c.push({charCode:A,glyphId:I});else{const s=i[e[A]];for(l=0;l<s.entryCount;l++){const e=(A<<8)+l+s.firstCode;t.pos=s.idRangePos+2*l,I=t.getUint16(),0!==I&&(I=(I+s.idDelta)%65536),c.push({charCode:e,glyphId:I})}}}else if(4===g){t.skip(4);const e=t.getUint16()>>1;t.skip(6);const A=[];let i;for(i=0;i<e;i++)A.push({end:t.getUint16()});for(t.skip(2),i=0;i<e;i++)A[i].start=t.getUint16();for(i=0;i<e;i++)A[i].delta=t.getUint16();let n,r=0;for(i=0;i<e;i++){s=A[i];const a=t.getUint16();a?(n=(a>>1)-(e-i),s.offsetIndex=n,r=Math.max(r,n+s.end-s.start+1)):s.offsetIndex=-1}const o=[];for(l=0;l<r;l++)o.push(t.getUint16());for(i=0;i<e;i++){s=A[i],a=s.start;const e=s.end,t=s.delta;for(n=s.offsetIndex,l=a;l<=e;l++)65535!==l&&(I=n<0?l:o[n+l-a],I=I+t&65535,c.push({charCode:l,glyphId:I}))}}else if(6===g){t.skip(4);const e=t.getUint16(),A=t.getUint16();for(l=0;l<A;l++){I=t.getUint16();const A=e+l;c.push({charCode:A,glyphId:I})}}else{if(12!==g)return co("cmap table has unsupported format: "+g),{platformId:-1,encodingId:-1,mappings:[],hasShortCmap:!1};{t.skip(10);const e=t.getInt32()>>>0;for(l=0;l<e;l++){const e=t.getInt32()>>>0,A=t.getInt32()>>>0;let i=t.getInt32()>>>0;for(let t=e;t<=A;t++)c.push({charCode:t,glyphId:i++})}}}c.sort((function(e,t){return e.charCode-t.charCode}));for(let e=1;e<c.length;e++)c[e-1].charCode===c[e].charCode&&(c.splice(e,1),e--);return{platformId:r.platformId,encodingId:r.encodingId,mappings:c,hasShortCmap:h}}(l.cmap,t,this.isSymbolicFont,A.hasEncoding),i=e.platformId,s=e.encodingId,a=e.mappings;let n=[],r=!1;if(!A.hasEncoding||"MacRomanEncoding"!==A.baseEncodingName&&"WinAnsiEncoding"!==A.baseEncodingName||(n=kl(A.baseEncodingName)),A.hasEncoding&&!this.isSymbolicFont&&(3===i&&1===s||1===i&&0===s)){const e=jl();for(let t=0;t<256;t++){let r;if(r=void 0!==this.differences[t]?this.differences[t]:n.length&&""!==n[t]?n[t]:yl[t],!r)continue;const o=oI(r,e);let g;if(3===i&&1===s?g=e[o]:1===i&&0===s&&(g=ml.indexOf(o)),void 0===g){if(!A.glyphNames&&A.hasIncludedToUnicodeMap&&!(this.toUnicode instanceof mI)){const e=this.toUnicode.get(t);e&&(g=e.codePointAt(0))}if(void 0===g)continue}for(const e of a)if(e.charCode===g){S[t]=e.glyphId;break}}}else if(0===i){for(const e of a)S[e.charCode]=e.glyphId;r=!0}else if(3===i&&0===s)for(const e of a){let t=e.charCode;t>=61440&&t<=61695&&(t&=255),S[t]=e.glyphId}else for(const e of a)S[e.charCode]=e.glyphId;if(A.glyphNames&&(n.length||this.differences.length))for(let e=0;e<256;++e){if(!r&&void 0!==S[e])continue;const t=this.differences[e]||n[e];if(!t)continue;const i=A.glyphNames.indexOf(t);i>0&&F(i)&&(S[e]=i)}}0===S.length&&(S[0]=0);let R=p-1;if(m||(R=0),!A.cssFontInfo){const e=Ld(S,F,R,this.toUnicode);this.toFontChar=e.toFontChar,l.cmap={tag:"cmap",data:Ud(e.charCodeToGlyphId,e.toUnicodeExtraMap,p)},l["OS/2"]&&function(e,t){t.pos=(t.start||0)+e.offset;const A=t.getUint16();t.skip(60);const i=t.getUint16();return!(A<4&&768&i)&&(!(t.getUint16()>t.getUint16())&&(t.skip(6),0!==t.getUint16()&&(e.data[8]=e.data[9]=0,!0)))}(l["OS/2"],t)||(l["OS/2"]={tag:"OS/2",data:Hd(A,e.charCodeToGlyphId,k)})}if(!C)try{d=new Vg(l["CFF "].data);I=new vl(d,A,AI).parse(),I.duplicateFirstGlyph();const e=new Wl(I);l["CFF "].data=e.compile()}catch{co("Failed to compile font "+A.loadedName)}if(l.name){const[t,i]=o(l.name);l.name.data=Pd(e,t),this.psName=t[0][6]||null,A.composite||function(e,t,A){if(e.isInternalFont)return;if(e.hasIncludedToUnicodeMap)return;if(e.hasEncoding)return;if(e.toUnicode instanceof mI)return;if(!t)return;if(0===A.length)return;if(e.defaultEncoding===wl)return;for(const e of A)if(!Md(e))return;const i=wl,s=[],a=jl();for(const e in i){const t=i[e];if(""===t)continue;const A=a[t];void 0!==A&&(s[e]=String.fromCharCode(A))}s.length>0&&e.toUnicode.amend(s)}(A,this.isSymbolicFont,i)}else l.name={tag:"name",data:Pd(this.name)};const x=new zI(c.version);for(const e in l)x.addTable(e,l[e].data);return x.toArray()}convert(e,t,A){A.fixedPitch=!1,A.builtInEncoding&&function(e,t){if(e.isInternalFont)return;if(e.hasIncludedToUnicodeMap)return;if(t===e.defaultEncoding)return;if(e.toUnicode instanceof mI)return;const A=[],i=jl();for(const s in t){if(e.hasEncoding&&(e.baseEncodingName||void 0!==e.differences[s]))continue;const a=Xl(t[s],i);-1!==a&&(A[s]=String.fromCharCode(a))}A.length>0&&e.toUnicode.amend(A)}(A,A.builtInEncoding);let i=1;t instanceof yI&&(i=t.numGlyphs-1);const s=t.getGlyphMapping(A);let a=null,n=s,r=null;A.cssFontInfo||(a=Ld(s,t.hasGlyphId.bind(t),i,this.toUnicode),this.toFontChar=a.toFontChar,n=a.charCodeToGlyphId,r=a.toUnicodeExtraMap);const o=t.numGlyphs;function g(e,t){let A=null;for(const i in e)t===e[i]&&(A||=[]).push(0|i);return A}function h(e,t){for(const A in e)if(t===e[A])return 0|A;return a.charCodeToGlyphId[a.nextAvailableFontCharCode]=t,a.nextAvailableFontCharCode++}const c=t.seacs;if(a&&c?.length){const e=A.fontMatrix||ga,i=t.getCharset(),n=Object.create(null);for(let t in c){t|=0;const A=c[t],r=yl[A[2]],o=yl[A[3]],l=i.indexOf(r),I=i.indexOf(o);if(l<0||I<0)continue;const d={x:A[0]*e[0]+A[1]*e[2]+e[4],y:A[0]*e[1]+A[1]*e[3]+e[5]},C=g(s,t);if(C)for(const e of C){const t=a.charCodeToGlyphId,A=h(t,l),i=h(t,I);n[e]={baseFontCharCode:A,accentFontCharCode:i,accentOffset:d}}}A.seacMap=n}const l=1/(A.fontMatrix||ga)[0],I=new zI("OTTO");return I.addTable("CFF ",t.data),I.addTable("OS/2",Hd(A,n)),I.addTable("cmap",Ud(n,r,o)),I.addTable("head","\0\0\0\0\0\0\0\0\0\0_<õ\0\0"+Sd(l)+"\0\0\0\0ž\v~'\0\0\0\0ž\v~'\0\0"+Sd(A.descent)+"ÿ"+Sd(A.ascent)+kd(A.italicAngle?2:0)+"\0\0\0\0\0\0\0"),I.addTable("hhea","\0\0\0"+Sd(A.ascent)+Sd(A.descent)+"\0\0ÿÿ\0\0\0\0\0\0"+Sd(A.capHeight)+Sd(Math.tan(A.italicAngle)*A.xHeight)+"\0\0\0\0\0\0\0\0\0\0\0\0"+kd(o)),I.addTable("hmtx",function(){const e=t.charstrings,A=t.cff?t.cff.widths:null;let i="\0\0\0\0";for(let t=1,s=o;t<s;t++){let s=0;if(e){const A=e[t-1];s="width"in A?A.width:0}else A&&(s=Math.ceil(A[t]||0));i+=kd(s)+kd(0)}return i}()),I.addTable("maxp","\0\0P\0"+kd(o)),I.addTable("name",Pd(e)),I.addTable("post",Jd(A)),I.toArray()}_charToGlyph(e,t=!1){let A,i,s,a=this._glyphCache[e];if(a?.isSpace===t)return a;let n=e;this.cMap?.contains(e)&&(n=this.cMap.lookup(e),"string"==typeof n&&(n=Gd(e,n))),i=this.widths[n],"number"!=typeof i&&(i=this.defaultWidth);const r=this.vmetrics?.[n];let o=this.toUnicode.get(e)||e;"number"==typeof o&&(o=String.fromCharCode(o));let g=void 0!==this.toFontChar[e];if(A=this.toFontChar[e]||e,this.missingFile){const t=this.differences[e]||this.defaultEncoding[e];".notdef"!==t&&""!==t||"Type1"!==this.type||(A=32),A=(h=A)>=65520&&h<=65535?0:h>=62976&&h<=63743?Zl()[h]||h:173===h?45:h}var h;this.isType3Font&&(s=A);let c=null;if(this.seacMap?.[e]){g=!0;const t=this.seacMap[e];A=t.baseFontCharCode,c={fontChar:String.fromCodePoint(t.accentFontCharCode),offset:t.accentOffset}}let l="";return"number"==typeof A&&(A<=1114111?l=String.fromCodePoint(A):co(`charToGlyph - invalid fontCharCode: ${A}`)),a=new yd(e,l,o,c,i,r,s,t,g),this._glyphCache[e]=a}charsToGlyphs(e){let t=this._charsCache[e];if(t)return t;if(t=[],this.cMap){const A=Object.create(null),i=e.length;let s=0;for(;s<i;){this.cMap.readCharCode(e,s,A);const{charcode:i,length:a}=A;s+=a;const n=this._charToGlyph(i,1===a&&32===e.charCodeAt(s-1));t.push(n)}}else for(let A=0,i=e.length;A<i;++A){const i=e.charCodeAt(A),s=this._charToGlyph(i,32===i);t.push(s)}return this._charsCache[e]=t}getCharPositions(e){const t=[];if(this.cMap){const A=Object.create(null);let i=0;for(;i<e.length;){this.cMap.readCharCode(e,i,A);const s=A.length;t.push([i,i+s]),i+=s}}else for(let A=0,i=e.length;A<i;++A)t.push([A,A+1]);return t}get glyphCacheValues(){return Object.values(this._glyphCache)}encodeString(e){const t=[],A=[],i=()=>t.length%2==1,s=this.toUnicode instanceof mI?e=>this.toUnicode.charCodeOf(e):e=>this.toUnicode.charCodeOf(String.fromCodePoint(e));for(let a=0,n=e.length;a<n;a++){const n=e.codePointAt(a);if(n>55295&&(n<57344||n>65533)&&a++,this.toUnicode){const e=s(n);if(-1!==e){i()&&(t.push(A.join("")),A.length=0);for(let t=(this.cMap?this.cMap.getCharCodeLength(e):1)-1;t>=0;t--)A.push(String.fromCharCode(e>>8*t&255));continue}}i()||(t.push(A.join("")),A.length=0),A.push(String.fromCodePoint(n))}return t.push(A.join("")),t}}class Kd{constructor(e){this.error=e,this.loadedName="g_font_error",this.missingFile=!0}charsToGlyphs(){return[]}encodeString(e){return[e]}exportData(e=!1){return{error:this.error}}}const _d=2,qd=3,Od=4,Wd=5,jd=6,Vd=7;class Zd{constructor(){lo("Cannot initialize Pattern.")}static parseShading(e,t,A,i,s){const a=e instanceof cg?e.dict:e,n=a.get("ShadingType");try{switch(n){case _d:case qd:return new zd(a,t,A,i,s);case Od:case Wd:case jd:case Vd:return new AC(e,t,A,i,s);default:throw new yo("Unsupported ShadingType: "+n)}}catch(e){if(e instanceof dg)throw e;return co(e),new iC}}}class Xd{static SMALL_NUMBER=1e-6;constructor(){this.constructor===Xd&&lo("Cannot initialize BaseShading.")}getIR(){lo("Abstract method `getIR` called.")}}class zd extends Xd{constructor(e,t,A,i,s){super(),this.shadingType=e.get("ShadingType");let a=0;if(this.shadingType===_d?a=4:this.shadingType===qd&&(a=6),this.coordsArr=e.getArray("Coords"),!kg(this.coordsArr,a))throw new yo("RadialAxialShading: Invalid /Coords array.");const n=eh.parse({cs:e.getRaw("CS")||e.getRaw("ColorSpace"),xref:t,resources:A,pdfFunctionFactory:i,localColorSpaceCache:s});this.bbox=Rg(e.getArray("BBox"),null);let r=0,o=1;const g=e.getArray("Domain");kg(g,2)&&([r,o]=g);let h=!1,c=!1;const l=e.getArray("Extend");var I,d;if(I=l,d=2,Array.isArray(I)&&I.length===d&&I.every((e=>"boolean"==typeof e))&&([h,c]=l),!(this.shadingType!==qd||h&&c)){const[e,t,A,i,s,a]=this.coordsArr,n=Math.hypot(e-i,t-s);A<=a+n&&a<=A+n&&co("Unsupported radial gradient.")}this.extendStart=h,this.extendEnd=c;const C=e.getRaw("Function"),u=i.createFromArray(C),B=(o-r)/840,Q=this.colorStops=[];if(r>=o||B<=0)return void ho("Bad shading domain.");const E=new Float32Array(n.numComps),f=new Float32Array(1);let p,m=0;f[0]=r,u(f,0,E,0);let y=n.getRgb(E,0);const w=xo.makeHexColor(y[0],y[1],y[2]);Q.push([0,w]);let b=1;f[0]=r+B,u(f,0,E,0);let D=n.getRgb(E,0),k=D[0]-y[0]+1,S=D[1]-y[1]+1,F=D[2]-y[2]+1,R=D[0]-y[0]-1,x=D[1]-y[1]-1,v=D[2]-y[2]-1;for(let e=2;e<840;e++){f[0]=r+e*B,u(f,0,E,0),p=n.getRgb(E,0);const t=e-m;k=Math.min(k,(p[0]-y[0]+1)/t),S=Math.min(S,(p[1]-y[1]+1)/t),F=Math.min(F,(p[2]-y[2]+1)/t),R=Math.max(R,(p[0]-y[0]-1)/t),x=Math.max(x,(p[1]-y[1]-1)/t),v=Math.max(v,(p[2]-y[2]-1)/t);if(!(R<=k&&x<=S&&v<=F)){const e=xo.makeHexColor(D[0],D[1],D[2]);Q.push([b/840,e]),k=p[0]-D[0]+1,S=p[1]-D[1]+1,F=p[2]-D[2]+1,R=p[0]-D[0]-1,x=p[1]-D[1]-1,v=p[2]-D[2]-1,m=b,y=D}b=e,D=p}const N=xo.makeHexColor(D[0],D[1],D[2]);Q.push([1,N]);let M="transparent";e.has("Background")&&(p=n.getRgb(e.get("Background"),0),M=xo.makeHexColor(p[0],p[1],p[2])),h||(Q.unshift([0,M]),Q[1][0]+=Xd.SMALL_NUMBER),c||(Q.at(-1)[0]-=Xd.SMALL_NUMBER,Q.push([1,M])),this.colorStops=Q}getIR(){const{coordsArr:e,shadingType:t}=this;let A,i,s,a,n;return t===_d?(i=[e[0],e[1]],s=[e[2],e[3]],a=null,n=null,A="axial"):t===qd?(i=[e[0],e[1]],s=[e[3],e[4]],a=e[2],n=e[5],A="radial"):lo(`getPattern type unknown: ${t}`),["RadialAxial",A,this.bbox,this.colorStops,i,s,a,n]}}class $d{constructor(e,t){this.stream=e,this.context=t,this.buffer=0,this.bufferLength=0;const A=t.numComps;this.tmpCompsBuf=new Float32Array(A);const i=t.colorSpace.numComps;this.tmpCsCompsBuf=t.colorFn?new Float32Array(i):this.tmpCompsBuf}get hasData(){if(this.stream.end)return this.stream.pos<this.stream.end;if(this.bufferLength>0)return!0;const e=this.stream.getByte();return!(e<0)&&(this.buffer=e,this.bufferLength=8,!0)}readBits(e){let t=this.buffer,A=this.bufferLength;if(32===e){if(0===A)return(this.stream.getByte()<<24|this.stream.getByte()<<16|this.stream.getByte()<<8|this.stream.getByte())>>>0;t=t<<24|this.stream.getByte()<<16|this.stream.getByte()<<8|this.stream.getByte();const e=this.stream.getByte();return this.buffer=e&(1<<A)-1,(t<<8-A|(255&e)>>A)>>>0}if(8===e&&0===A)return this.stream.getByte();for(;A<e;)t=t<<8|this.stream.getByte(),A+=8;return A-=e,this.bufferLength=A,this.buffer=t&(1<<A)-1,t>>A}align(){this.buffer=0,this.bufferLength=0}readFlag(){return this.readBits(this.context.bitsPerFlag)}readCoordinate(){const e=this.context.bitsPerCoordinate,t=this.readBits(e),A=this.readBits(e),i=this.context.decode,s=e<32?1/((1<<e)-1):2.3283064365386963e-10;return[t*s*(i[1]-i[0])+i[0],A*s*(i[3]-i[2])+i[2]]}readComponents(){const e=this.context.numComps,t=this.context.bitsPerComponent,A=t<32?1/((1<<t)-1):2.3283064365386963e-10,i=this.context.decode,s=this.tmpCompsBuf;for(let a=0,n=4;a<e;a++,n+=2){const e=this.readBits(t);s[a]=e*A*(i[n+1]-i[n])+i[n]}const a=this.tmpCsCompsBuf;return this.context.colorFn&&this.context.colorFn(s,0,a,0),this.context.colorSpace.getRgb(a,0)}}let eC=Object.create(null);function tC(e){return eC[e]||=function(e){const t=[];for(let A=0;A<=e;A++){const i=A/e,s=1-i;t.push(new Float32Array([s**3,3*i*s**2,3*i**2*s,i**3]))}return t}(e)}class AC extends Xd{static MIN_SPLIT_PATCH_CHUNKS_AMOUNT=3;static MAX_SPLIT_PATCH_CHUNKS_AMOUNT=20;static TRIANGLE_DENSITY=20;constructor(e,t,A,i,s){if(super(),!(e instanceof cg))throw new yo("Mesh data is not a stream");const a=e.dict;this.shadingType=a.get("ShadingType"),this.bbox=Rg(a.getArray("BBox"),null);const n=eh.parse({cs:a.getRaw("CS")||a.getRaw("ColorSpace"),xref:t,resources:A,pdfFunctionFactory:i,localColorSpaceCache:s});this.background=a.has("Background")?n.getRgb(a.get("Background"),0):null;const r=a.getRaw("Function"),o=r?i.createFromArray(r):null;this.coords=[],this.colors=[],this.figures=[];const g={bitsPerCoordinate:a.get("BitsPerCoordinate"),bitsPerComponent:a.get("BitsPerComponent"),bitsPerFlag:a.get("BitsPerFlag"),decode:a.getArray("Decode"),colorFn:o,colorSpace:n,numComps:o?1:n.numComps},h=new $d(e,g);let c=!1;switch(this.shadingType){case Od:this._decodeType4Shading(h);break;case Wd:const e=0|a.get("VerticesPerRow");if(e<2)throw new yo("Invalid VerticesPerRow");this._decodeType5Shading(h,e);break;case jd:this._decodeType6Shading(h),c=!0;break;case Vd:this._decodeType7Shading(h),c=!0;break;default:lo("Unsupported mesh type.")}if(c){this._updateBounds();for(let e=0,t=this.figures.length;e<t;e++)this._buildFigureFromPatch(e)}this._updateBounds(),this._packData()}_decodeType4Shading(e){const t=this.coords,A=this.colors,i=[];let s=0;for(;e.hasData;){const a=e.readFlag(),n=e.readCoordinate(),r=e.readComponents();if(0===s){if(!(0<=a&&a<=2))throw new yo("Unknown type4 flag");switch(a){case 0:s=3;break;case 1:i.push(i.at(-2),i.at(-1)),s=1;break;case 2:i.push(i.at(-3),i.at(-1)),s=1}}i.push(t.length),t.push(n),A.push(r),s--,e.align()}this.figures.push({type:"triangles",coords:new Int32Array(i),colors:new Int32Array(i)})}_decodeType5Shading(e,t){const A=this.coords,i=this.colors,s=[];for(;e.hasData;){const t=e.readCoordinate(),a=e.readComponents();s.push(A.length),A.push(t),i.push(a)}this.figures.push({type:"lattice",coords:new Int32Array(s),colors:new Int32Array(s),verticesPerRow:t})}_decodeType6Shading(e){const t=this.coords,A=this.colors,i=new Int32Array(16),s=new Int32Array(4);for(;e.hasData;){const a=e.readFlag();if(!(0<=a&&a<=3))throw new yo("Unknown type6 flag");const n=t.length;for(let A=0,i=0!==a?8:12;A<i;A++)t.push(e.readCoordinate());const r=A.length;for(let t=0,i=0!==a?2:4;t<i;t++)A.push(e.readComponents());let o,g,h,c;switch(a){case 0:i[12]=n+3,i[13]=n+4,i[14]=n+5,i[15]=n+6,i[8]=n+2,i[11]=n+7,i[4]=n+1,i[7]=n+8,i[0]=n,i[1]=n+11,i[2]=n+10,i[3]=n+9,s[2]=r+1,s[3]=r+2,s[0]=r,s[1]=r+3;break;case 1:o=i[12],g=i[13],h=i[14],c=i[15],i[12]=c,i[13]=n+0,i[14]=n+1,i[15]=n+2,i[8]=h,i[11]=n+3,i[4]=g,i[7]=n+4,i[0]=o,i[1]=n+7,i[2]=n+6,i[3]=n+5,o=s[2],g=s[3],s[2]=g,s[3]=r,s[0]=o,s[1]=r+1;break;case 2:o=i[15],g=i[11],i[12]=i[3],i[13]=n+0,i[14]=n+1,i[15]=n+2,i[8]=i[7],i[11]=n+3,i[4]=g,i[7]=n+4,i[0]=o,i[1]=n+7,i[2]=n+6,i[3]=n+5,o=s[3],s[2]=s[1],s[3]=r,s[0]=o,s[1]=r+1;break;case 3:i[12]=i[0],i[13]=n+0,i[14]=n+1,i[15]=n+2,i[8]=i[1],i[11]=n+3,i[4]=i[2],i[7]=n+4,i[0]=i[3],i[1]=n+7,i[2]=n+6,i[3]=n+5,s[2]=s[0],s[3]=r,s[0]=s[1],s[1]=r+1}i[5]=t.length,t.push([(-4*t[i[0]][0]-t[i[15]][0]+6*(t[i[4]][0]+t[i[1]][0])-2*(t[i[12]][0]+t[i[3]][0])+3*(t[i[13]][0]+t[i[7]][0]))/9,(-4*t[i[0]][1]-t[i[15]][1]+6*(t[i[4]][1]+t[i[1]][1])-2*(t[i[12]][1]+t[i[3]][1])+3*(t[i[13]][1]+t[i[7]][1]))/9]),i[6]=t.length,t.push([(-4*t[i[3]][0]-t[i[12]][0]+6*(t[i[2]][0]+t[i[7]][0])-2*(t[i[0]][0]+t[i[15]][0])+3*(t[i[4]][0]+t[i[14]][0]))/9,(-4*t[i[3]][1]-t[i[12]][1]+6*(t[i[2]][1]+t[i[7]][1])-2*(t[i[0]][1]+t[i[15]][1])+3*(t[i[4]][1]+t[i[14]][1]))/9]),i[9]=t.length,t.push([(-4*t[i[12]][0]-t[i[3]][0]+6*(t[i[8]][0]+t[i[13]][0])-2*(t[i[0]][0]+t[i[15]][0])+3*(t[i[11]][0]+t[i[1]][0]))/9,(-4*t[i[12]][1]-t[i[3]][1]+6*(t[i[8]][1]+t[i[13]][1])-2*(t[i[0]][1]+t[i[15]][1])+3*(t[i[11]][1]+t[i[1]][1]))/9]),i[10]=t.length,t.push([(-4*t[i[15]][0]-t[i[0]][0]+6*(t[i[11]][0]+t[i[14]][0])-2*(t[i[12]][0]+t[i[3]][0])+3*(t[i[2]][0]+t[i[8]][0]))/9,(-4*t[i[15]][1]-t[i[0]][1]+6*(t[i[11]][1]+t[i[14]][1])-2*(t[i[12]][1]+t[i[3]][1])+3*(t[i[2]][1]+t[i[8]][1]))/9]),this.figures.push({type:"patch",coords:new Int32Array(i),colors:new Int32Array(s)})}}_decodeType7Shading(e){const t=this.coords,A=this.colors,i=new Int32Array(16),s=new Int32Array(4);for(;e.hasData;){const a=e.readFlag();if(!(0<=a&&a<=3))throw new yo("Unknown type7 flag");const n=t.length;for(let A=0,i=0!==a?12:16;A<i;A++)t.push(e.readCoordinate());const r=A.length;for(let t=0,i=0!==a?2:4;t<i;t++)A.push(e.readComponents());let o,g,h,c;switch(a){case 0:i[12]=n+3,i[13]=n+4,i[14]=n+5,i[15]=n+6,i[8]=n+2,i[9]=n+13,i[10]=n+14,i[11]=n+7,i[4]=n+1,i[5]=n+12,i[6]=n+15,i[7]=n+8,i[0]=n,i[1]=n+11,i[2]=n+10,i[3]=n+9,s[2]=r+1,s[3]=r+2,s[0]=r,s[1]=r+3;break;case 1:o=i[12],g=i[13],h=i[14],c=i[15],i[12]=c,i[13]=n+0,i[14]=n+1,i[15]=n+2,i[8]=h,i[9]=n+9,i[10]=n+10,i[11]=n+3,i[4]=g,i[5]=n+8,i[6]=n+11,i[7]=n+4,i[0]=o,i[1]=n+7,i[2]=n+6,i[3]=n+5,o=s[2],g=s[3],s[2]=g,s[3]=r,s[0]=o,s[1]=r+1;break;case 2:o=i[15],g=i[11],i[12]=i[3],i[13]=n+0,i[14]=n+1,i[15]=n+2,i[8]=i[7],i[9]=n+9,i[10]=n+10,i[11]=n+3,i[4]=g,i[5]=n+8,i[6]=n+11,i[7]=n+4,i[0]=o,i[1]=n+7,i[2]=n+6,i[3]=n+5,o=s[3],s[2]=s[1],s[3]=r,s[0]=o,s[1]=r+1;break;case 3:i[12]=i[0],i[13]=n+0,i[14]=n+1,i[15]=n+2,i[8]=i[1],i[9]=n+9,i[10]=n+10,i[11]=n+3,i[4]=i[2],i[5]=n+8,i[6]=n+11,i[7]=n+4,i[0]=i[3],i[1]=n+7,i[2]=n+6,i[3]=n+5,s[2]=s[0],s[3]=r,s[0]=s[1],s[1]=r+1}this.figures.push({type:"patch",coords:new Int32Array(i),colors:new Int32Array(s)})}}_buildFigureFromPatch(e){const t=this.figures[e];Io("patch"===t.type,"Unexpected patch mesh figure");const A=this.coords,i=this.colors,s=t.coords,a=t.colors,n=Math.min(A[s[0]][0],A[s[3]][0],A[s[12]][0],A[s[15]][0]),r=Math.min(A[s[0]][1],A[s[3]][1],A[s[12]][1],A[s[15]][1]),o=Math.max(A[s[0]][0],A[s[3]][0],A[s[12]][0],A[s[15]][0]),g=Math.max(A[s[0]][1],A[s[3]][1],A[s[12]][1],A[s[15]][1]);let h=Math.ceil((o-n)*AC.TRIANGLE_DENSITY/(this.bounds[2]-this.bounds[0]));h=Math.max(AC.MIN_SPLIT_PATCH_CHUNKS_AMOUNT,Math.min(AC.MAX_SPLIT_PATCH_CHUNKS_AMOUNT,h));let c=Math.ceil((g-r)*AC.TRIANGLE_DENSITY/(this.bounds[3]-this.bounds[1]));c=Math.max(AC.MIN_SPLIT_PATCH_CHUNKS_AMOUNT,Math.min(AC.MAX_SPLIT_PATCH_CHUNKS_AMOUNT,c));const l=h+1,I=new Int32Array((c+1)*l),d=new Int32Array((c+1)*l);let C=0;const u=new Uint8Array(3),B=new Uint8Array(3),Q=i[a[0]],E=i[a[1]],f=i[a[2]],p=i[a[3]],m=tC(c),y=tC(h);for(let e=0;e<=c;e++){u[0]=(Q[0]*(c-e)+f[0]*e)/c|0,u[1]=(Q[1]*(c-e)+f[1]*e)/c|0,u[2]=(Q[2]*(c-e)+f[2]*e)/c|0,B[0]=(E[0]*(c-e)+p[0]*e)/c|0,B[1]=(E[1]*(c-e)+p[1]*e)/c|0,B[2]=(E[2]*(c-e)+p[2]*e)/c|0;for(let t=0;t<=h;t++,C++){if(!(0!==e&&e!==c||0!==t&&t!==h))continue;let a=0,n=0,r=0;for(let i=0;i<=3;i++)for(let o=0;o<=3;o++,r++){const g=m[e][i]*y[t][o];a+=A[s[r]][0]*g,n+=A[s[r]][1]*g}I[C]=A.length,A.push([a,n]),d[C]=i.length;const o=new Uint8Array(3);o[0]=(u[0]*(h-t)+B[0]*t)/h|0,o[1]=(u[1]*(h-t)+B[1]*t)/h|0,o[2]=(u[2]*(h-t)+B[2]*t)/h|0,i.push(o)}}I[0]=s[0],d[0]=a[0],I[h]=s[3],d[h]=a[1],I[l*c]=s[12],d[l*c]=a[2],I[l*c+h]=s[15],d[l*c+h]=a[3],this.figures[e]={type:"lattice",coords:I,colors:d,verticesPerRow:l}}_updateBounds(){let e=this.coords[0][0],t=this.coords[0][1],A=e,i=t;for(let s=1,a=this.coords.length;s<a;s++){const a=this.coords[s][0],n=this.coords[s][1];e=e>a?a:e,t=t>n?n:t,A=A<a?a:A,i=i<n?n:i}this.bounds=[e,t,A,i]}_packData(){let e,t,A,i;const s=this.coords,a=new Float32Array(2*s.length);for(e=0,A=0,t=s.length;e<t;e++){const t=s[e];a[A++]=t[0],a[A++]=t[1]}this.coords=a;const n=this.colors,r=new Uint8Array(3*n.length);for(e=0,A=0,t=n.length;e<t;e++){const t=n[e];r[A++]=t[0],r[A++]=t[1],r[A++]=t[2]}this.colors=r;const o=this.figures;for(e=0,t=o.length;e<t;e++){const t=o[e],s=t.coords,a=t.colors;for(A=0,i=s.length;A<i;A++)s[A]*=2,a[A]*=3}}getIR(){const{bounds:e}=this;if(e[2]-e[0]==0||e[3]-e[1]==0)throw new yo(`Invalid MeshShading bounds: [${e}].`);return["Mesh",this.shadingType,this.coords,this.colors,this.figures,e,this.bbox,this.background]}}class iC extends Xd{getIR(){return["Dummy"]}}function sC(e,t,A){const i=Sg(t.getArray("Matrix"),oa),s=Rg(t.getArray("BBox"),null);if(!s||s[2]-s[0]==0||s[3]-s[1]==0)throw new yo("Invalid getTilingPatternIR /BBox array.");const a=t.get("XStep");if("number"!=typeof a)throw new yo("Invalid getTilingPatternIR /XStep value.");const n=t.get("YStep");if("number"!=typeof n)throw new yo("Invalid getTilingPatternIR /YStep value.");const r=t.get("PaintType");if(!Number.isInteger(r))throw new yo("Invalid getTilingPatternIR /PaintType value.");const o=t.get("TilingType");if(!Number.isInteger(o))throw new yo("Invalid getTilingPatternIR /TilingType value.");return["TilingPattern",A,e,i,s,a,n,r,o]}const aC=[1.3877,1,1,1,.97801,.92482,.89552,.91133,.81988,.97566,.98152,.93548,.93548,1.2798,.85284,.92794,1,.96134,1.54657,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.82845,.82845,.85284,.85284,.85284,.75859,.92138,.83908,.7762,.73293,.87289,.73133,.7514,.81921,.87356,.95958,.59526,.75727,.69225,1.04924,.9121,.86943,.79795,.88198,.77958,.70864,.81055,.90399,.88653,.96017,.82577,.77892,.78257,.97507,1.54657,.97507,.85284,.89552,.90176,.88762,.8785,.75241,.8785,.90518,.95015,.77618,.8785,.88401,.91916,.86304,.88401,.91488,.8785,.8801,.8785,.8785,.91343,.7173,1.04106,.8785,.85075,.95794,.82616,.85162,.79492,.88331,1.69808,.88331,.85284,.97801,.89552,.91133,.89552,.91133,1.7801,.89552,1.24487,1.13254,1.12401,.96839,.85284,.68787,.70645,.85592,.90747,1.01466,1.0088,.90323,1,1.07463,1,.91056,.75806,1.19118,.96839,.78864,.82845,.84133,.75859,.83908,.83908,.83908,.83908,.83908,.83908,.77539,.73293,.73133,.73133,.73133,.73133,.95958,.95958,.95958,.95958,.88506,.9121,.86943,.86943,.86943,.86943,.86943,.85284,.87508,.90399,.90399,.90399,.90399,.77892,.79795,.90807,.88762,.88762,.88762,.88762,.88762,.88762,.8715,.75241,.90518,.90518,.90518,.90518,.88401,.88401,.88401,.88401,.8785,.8785,.8801,.8801,.8801,.8801,.8801,.90747,.89049,.8785,.8785,.8785,.8785,.85162,.8785,.85162,.83908,.88762,.83908,.88762,.83908,.88762,.73293,.75241,.73293,.75241,.73293,.75241,.73293,.75241,.87289,.83016,.88506,.93125,.73133,.90518,.73133,.90518,.73133,.90518,.73133,.90518,.73133,.90518,.81921,.77618,.81921,.77618,.81921,.77618,1,1,.87356,.8785,.91075,.89608,.95958,.88401,.95958,.88401,.95958,.88401,.95958,.88401,.95958,.88401,.76229,.90167,.59526,.91916,1,1,.86304,.69225,.88401,1,1,.70424,.79468,.91926,.88175,.70823,.94903,.9121,.8785,1,1,.9121,.8785,.87802,.88656,.8785,.86943,.8801,.86943,.8801,.86943,.8801,.87402,.89291,.77958,.91343,1,1,.77958,.91343,.70864,.7173,.70864,.7173,.70864,.7173,.70864,.7173,1,1,.81055,.75841,.81055,1.06452,.90399,.8785,.90399,.8785,.90399,.8785,.90399,.8785,.90399,.8785,.90399,.8785,.96017,.95794,.77892,.85162,.77892,.78257,.79492,.78257,.79492,.78257,.79492,.9297,.56892,.83908,.88762,.77539,.8715,.87508,.89049,1,1,.81055,1.04106,1.20528,1.20528,1,1.15543,.70674,.98387,.94721,1.33431,1.45894,.95161,1.06303,.83908,.80352,.57184,.6965,.56289,.82001,.56029,.81235,1.02988,.83908,.7762,.68156,.80367,.73133,.78257,.87356,.86943,.95958,.75727,.89019,1.04924,.9121,.7648,.86943,.87356,.79795,.78275,.81055,.77892,.9762,.82577,.99819,.84896,.95958,.77892,.96108,1.01407,.89049,1.02988,.94211,.96108,.8936,.84021,.87842,.96399,.79109,.89049,1.00813,1.02988,.86077,.87445,.92099,.84723,.86513,.8801,.75638,.85714,.78216,.79586,.87965,.94211,.97747,.78287,.97926,.84971,1.02988,.94211,.8801,.94211,.84971,.73133,1,1,1,1,1,1,1,1,1,1,1,1,.90264,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.90518,1,1,1,1,1,1,1,1,1,1,1,1,.90548,1,1,1,1,1,1,.96017,.95794,.96017,.95794,.96017,.95794,.77892,.85162,1,1,.89552,.90527,1,.90363,.92794,.92794,.92794,.92794,.87012,.87012,.87012,.89552,.89552,1.42259,.71143,1.06152,1,1,1.03372,1.03372,.97171,1.4956,2.2807,.93835,.83406,.91133,.84107,.91133,1,1,1,.72021,1,1.23108,.83489,.88525,.88525,.81499,.90527,1.81055,.90527,1.81055,1.31006,1.53711,.94434,1.08696,1,.95018,.77192,.85284,.90747,1.17534,.69825,.9716,1.37077,.90747,.90747,.85356,.90747,.90747,1.44947,.85284,.8941,.8941,.70572,.8,.70572,.70572,.70572,.70572,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.99862,.99862,1,1,1,1,1,1.08004,.91027,1,1,1,.99862,1,1,1,1,1,1,1,1,1,1,1,1,.90727,.90727,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],nC={lineHeight:1.2207,lineGap:.2207},rC=[1.3877,1,1,1,.97801,.92482,.89552,.91133,.81988,.97566,.98152,.93548,.93548,1.2798,.85284,.92794,1,.96134,1.56239,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.82845,.82845,.85284,.85284,.85284,.75859,.92138,.83908,.7762,.71805,.87289,.73133,.7514,.81921,.87356,.95958,.59526,.75727,.69225,1.04924,.90872,.85938,.79795,.87068,.77958,.69766,.81055,.90399,.88653,.96068,.82577,.77892,.78257,.97507,1.529,.97507,.85284,.89552,.90176,.94908,.86411,.74012,.86411,.88323,.95015,.86411,.86331,.88401,.91916,.86304,.88401,.9039,.86331,.86331,.86411,.86411,.90464,.70852,1.04106,.86331,.84372,.95794,.82616,.84548,.79492,.88331,1.69808,.88331,.85284,.97801,.89552,.91133,.89552,.91133,1.7801,.89552,1.24487,1.13254,1.19129,.96839,.85284,.68787,.70645,.85592,.90747,1.01466,1.0088,.90323,1,1.07463,1,.91056,.75806,1.19118,.96839,.78864,.82845,.84133,.75859,.83908,.83908,.83908,.83908,.83908,.83908,.77539,.71805,.73133,.73133,.73133,.73133,.95958,.95958,.95958,.95958,.88506,.90872,.85938,.85938,.85938,.85938,.85938,.85284,.87068,.90399,.90399,.90399,.90399,.77892,.79795,.90807,.94908,.94908,.94908,.94908,.94908,.94908,.85887,.74012,.88323,.88323,.88323,.88323,.88401,.88401,.88401,.88401,.8785,.86331,.86331,.86331,.86331,.86331,.86331,.90747,.89049,.86331,.86331,.86331,.86331,.84548,.86411,.84548,.83908,.94908,.83908,.94908,.83908,.94908,.71805,.74012,.71805,.74012,.71805,.74012,.71805,.74012,.87289,.79538,.88506,.92726,.73133,.88323,.73133,.88323,.73133,.88323,.73133,.88323,.73133,.88323,.81921,.86411,.81921,.86411,.81921,.86411,1,1,.87356,.86331,.91075,.8777,.95958,.88401,.95958,.88401,.95958,.88401,.95958,.88401,.95958,.88401,.76467,.90167,.59526,.91916,1,1,.86304,.69225,.88401,1,1,.70424,.77312,.91926,.88175,.70823,.94903,.90872,.86331,1,1,.90872,.86331,.86906,.88116,.86331,.85938,.86331,.85938,.86331,.85938,.86331,.87402,.86549,.77958,.90464,1,1,.77958,.90464,.69766,.70852,.69766,.70852,.69766,.70852,.69766,.70852,1,1,.81055,.75841,.81055,1.06452,.90399,.86331,.90399,.86331,.90399,.86331,.90399,.86331,.90399,.86331,.90399,.86331,.96068,.95794,.77892,.84548,.77892,.78257,.79492,.78257,.79492,.78257,.79492,.9297,.56892,.83908,.94908,.77539,.85887,.87068,.89049,1,1,.81055,1.04106,1.20528,1.20528,1,1.15543,.70088,.98387,.94721,1.33431,1.45894,.95161,1.48387,.83908,.80352,.57118,.6965,.56347,.79179,.55853,.80346,1.02988,.83908,.7762,.67174,.86036,.73133,.78257,.87356,.86441,.95958,.75727,.89019,1.04924,.90872,.74889,.85938,.87891,.79795,.7957,.81055,.77892,.97447,.82577,.97466,.87179,.95958,.77892,.94252,.95612,.8753,1.02988,.92733,.94252,.87411,.84021,.8728,.95612,.74081,.8753,1.02189,1.02988,.84814,.87445,.91822,.84723,.85668,.86331,.81344,.87581,.76422,.82046,.96057,.92733,.99375,.78022,.95452,.86015,1.02988,.92733,.86331,.92733,.86015,.73133,1,1,1,1,1,1,1,1,1,1,1,1,.90631,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.88323,1,1,1,1,1,1,1,1,1,1,1,1,.85174,1,1,1,1,1,1,.96068,.95794,.96068,.95794,.96068,.95794,.77892,.84548,1,1,.89552,.90527,1,.90363,.92794,.92794,.92794,.89807,.87012,.87012,.87012,.89552,.89552,1.42259,.71094,1.06152,1,1,1.03372,1.03372,.97171,1.4956,2.2807,.92972,.83406,.91133,.83326,.91133,1,1,1,.72021,1,1.23108,.83489,.88525,.88525,.81499,.90616,1.81055,.90527,1.81055,1.3107,1.53711,.94434,1.08696,1,.95018,.77192,.85284,.90747,1.17534,.69825,.9716,1.37077,.90747,.90747,.85356,.90747,.90747,1.44947,.85284,.8941,.8941,.70572,.8,.70572,.70572,.70572,.70572,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.99862,.99862,1,1,1,1,1,1.08004,.91027,1,1,1,.99862,1,1,1,1,1,1,1,1,1,1,1,1,.90727,.90727,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],oC={lineHeight:1.2207,lineGap:.2207},gC=[1.3877,1,1,1,1.17223,1.1293,.89552,.91133,.80395,1.02269,1.15601,.91056,.91056,1.2798,.85284,.89807,1,.90861,1.39543,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.96309,.96309,.85284,.85284,.85284,.83319,.88071,.8675,.81552,.72346,.85193,.73206,.7522,.81105,.86275,.90685,.6377,.77892,.75593,1.02638,.89249,.84118,.77452,.85374,.75186,.67789,.79776,.88844,.85066,.94309,.77818,.7306,.76659,1.10369,1.38313,1.10369,1.06139,.89552,.8739,.9245,.9245,.83203,.9245,.85865,1.09842,.9245,.9245,1.03297,1.07692,.90918,1.03297,.94959,.9245,.92274,.9245,.9245,1.02933,.77832,1.20562,.9245,.8916,.98986,.86621,.89453,.79004,.94152,1.77256,.94152,.85284,.97801,.89552,.91133,.89552,.91133,1.91729,.89552,1.17889,1.13254,1.16359,.92098,.85284,.68787,.71353,.84737,.90747,1.0088,1.0044,.87683,1,1.09091,1,.92229,.739,1.15642,.92098,.76288,.80504,.80972,.75859,.8675,.8675,.8675,.8675,.8675,.8675,.76318,.72346,.73206,.73206,.73206,.73206,.90685,.90685,.90685,.90685,.86477,.89249,.84118,.84118,.84118,.84118,.84118,.85284,.84557,.88844,.88844,.88844,.88844,.7306,.77452,.86331,.9245,.9245,.9245,.9245,.9245,.9245,.84843,.83203,.85865,.85865,.85865,.85865,.82601,.82601,.82601,.82601,.94469,.9245,.92274,.92274,.92274,.92274,.92274,.90747,.86651,.9245,.9245,.9245,.9245,.89453,.9245,.89453,.8675,.9245,.8675,.9245,.8675,.9245,.72346,.83203,.72346,.83203,.72346,.83203,.72346,.83203,.85193,.8875,.86477,.99034,.73206,.85865,.73206,.85865,.73206,.85865,.73206,.85865,.73206,.85865,.81105,.9245,.81105,.9245,.81105,.9245,1,1,.86275,.9245,.90872,.93591,.90685,.82601,.90685,.82601,.90685,.82601,.90685,1.03297,.90685,.82601,.77896,1.05611,.6377,1.07692,1,1,.90918,.75593,1.03297,1,1,.76032,.9375,.98156,.93407,.77261,1.11429,.89249,.9245,1,1,.89249,.9245,.92534,.86698,.9245,.84118,.92274,.84118,.92274,.84118,.92274,.8667,.86291,.75186,1.02933,1,1,.75186,1.02933,.67789,.77832,.67789,.77832,.67789,.77832,.67789,.77832,1,1,.79776,.97655,.79776,1.23023,.88844,.9245,.88844,.9245,.88844,.9245,.88844,.9245,.88844,.9245,.88844,.9245,.94309,.98986,.7306,.89453,.7306,.76659,.79004,.76659,.79004,.76659,.79004,1.09231,.54873,.8675,.9245,.76318,.84843,.84557,.86651,1,1,.79776,1.20562,1.18622,1.18622,1,1.1437,.67009,.96334,.93695,1.35191,1.40909,.95161,1.48387,.8675,.90861,.6192,.7363,.64824,.82411,.56321,.85696,1.23516,.8675,.81552,.7286,.84134,.73206,.76659,.86275,.84369,.90685,.77892,.85871,1.02638,.89249,.75828,.84118,.85984,.77452,.76466,.79776,.7306,.90782,.77818,.903,.87291,.90685,.7306,.99058,1.03667,.94635,1.23516,.9849,.99058,.92393,.8916,.942,1.03667,.75026,.94635,1.0297,1.23516,.90918,.94048,.98217,.89746,.84153,.92274,.82507,.88832,.84438,.88178,1.03525,.9849,1.00225,.78086,.97248,.89404,1.23516,.9849,.92274,.9849,.89404,.73206,1,1,1,1,1,1,1,1,1,1,1,1,.89693,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.85865,1,1,1,1,1,1,1,1,1,1,1,1,.90933,1,1,1,1,1,1,.94309,.98986,.94309,.98986,.94309,.98986,.7306,.89453,1,1,.89552,.90527,1,.90186,1.12308,1.12308,1.12308,1.12308,1.2566,1.2566,1.2566,.89552,.89552,1.42259,.68994,1.03809,1,1,1.0176,1.0176,1.11523,1.4956,2.01462,.97858,.82616,.91133,.83437,.91133,1,1,1,.70508,1,1.23108,.79801,.84426,.84426,.774,.90572,1.81055,.90749,1.81055,1.28809,1.55469,.94434,1.07806,1,.97094,.7589,.85284,.90747,1.19658,.69825,.97622,1.33512,.90747,.90747,.85284,.90747,.90747,1.44947,.85284,.8941,.8941,.70572,.8,.70572,.70572,.70572,.70572,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.99862,.99862,1,1,1,1,1,1.0336,.91027,1,1,1,.99862,1,1,1,1,1,1,1,1,1,1,1,1,1.05859,1.05859,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],hC={lineHeight:1.2207,lineGap:.2207},cC=[1.3877,1,1,1,1.17223,1.1293,.89552,.91133,.80395,1.02269,1.15601,.91056,.91056,1.2798,.85284,.89807,1,.90861,1.39016,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.96309,.96309,.85284,.85284,.85284,.83319,.88071,.8675,.81552,.73834,.85193,.73206,.7522,.81105,.86275,.90685,.6377,.77892,.75593,1.02638,.89385,.85122,.77452,.86503,.75186,.68887,.79776,.88844,.85066,.94258,.77818,.7306,.76659,1.10369,1.39016,1.10369,1.06139,.89552,.8739,.86128,.94469,.8457,.94469,.89464,1.09842,.84636,.94469,1.03297,1.07692,.90918,1.03297,.95897,.94469,.9482,.94469,.94469,1.04692,.78223,1.20562,.94469,.90332,.98986,.86621,.90527,.79004,.94152,1.77256,.94152,.85284,.97801,.89552,.91133,.89552,.91133,1.91729,.89552,1.17889,1.13254,1.08707,.92098,.85284,.68787,.71353,.84737,.90747,1.0088,1.0044,.87683,1,1.09091,1,.92229,.739,1.15642,.92098,.76288,.80504,.80972,.75859,.8675,.8675,.8675,.8675,.8675,.8675,.76318,.73834,.73206,.73206,.73206,.73206,.90685,.90685,.90685,.90685,.86477,.89385,.85122,.85122,.85122,.85122,.85122,.85284,.85311,.88844,.88844,.88844,.88844,.7306,.77452,.86331,.86128,.86128,.86128,.86128,.86128,.86128,.8693,.8457,.89464,.89464,.89464,.89464,.82601,.82601,.82601,.82601,.94469,.94469,.9482,.9482,.9482,.9482,.9482,.90747,.86651,.94469,.94469,.94469,.94469,.90527,.94469,.90527,.8675,.86128,.8675,.86128,.8675,.86128,.73834,.8457,.73834,.8457,.73834,.8457,.73834,.8457,.85193,.92454,.86477,.9921,.73206,.89464,.73206,.89464,.73206,.89464,.73206,.89464,.73206,.89464,.81105,.84636,.81105,.84636,.81105,.84636,1,1,.86275,.94469,.90872,.95786,.90685,.82601,.90685,.82601,.90685,.82601,.90685,1.03297,.90685,.82601,.77741,1.05611,.6377,1.07692,1,1,.90918,.75593,1.03297,1,1,.76032,.90452,.98156,1.11842,.77261,1.11429,.89385,.94469,1,1,.89385,.94469,.95877,.86901,.94469,.85122,.9482,.85122,.9482,.85122,.9482,.8667,.90016,.75186,1.04692,1,1,.75186,1.04692,.68887,.78223,.68887,.78223,.68887,.78223,.68887,.78223,1,1,.79776,.92188,.79776,1.23023,.88844,.94469,.88844,.94469,.88844,.94469,.88844,.94469,.88844,.94469,.88844,.94469,.94258,.98986,.7306,.90527,.7306,.76659,.79004,.76659,.79004,.76659,.79004,1.09231,.54873,.8675,.86128,.76318,.8693,.85311,.86651,1,1,.79776,1.20562,1.18622,1.18622,1,1.1437,.67742,.96334,.93695,1.35191,1.40909,.95161,1.48387,.86686,.90861,.62267,.74359,.65649,.85498,.56963,.88254,1.23516,.8675,.81552,.75443,.84503,.73206,.76659,.86275,.85122,.90685,.77892,.85746,1.02638,.89385,.75657,.85122,.86275,.77452,.74171,.79776,.7306,.95165,.77818,.89772,.88831,.90685,.7306,.98142,1.02191,.96576,1.23516,.99018,.98142,.9236,.89258,.94035,1.02191,.78848,.96576,.9561,1.23516,.90918,.92578,.95424,.89746,.83969,.9482,.80113,.89442,.85208,.86155,.98022,.99018,1.00452,.81209,.99247,.89181,1.23516,.99018,.9482,.99018,.89181,.73206,1,1,1,1,1,1,1,1,1,1,1,1,.88844,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.89464,1,1,1,1,1,1,1,1,1,1,1,1,.96766,1,1,1,1,1,1,.94258,.98986,.94258,.98986,.94258,.98986,.7306,.90527,1,1,.89552,.90527,1,.90186,1.12308,1.12308,1.12308,1.12308,1.2566,1.2566,1.2566,.89552,.89552,1.42259,.69043,1.03809,1,1,1.0176,1.0176,1.11523,1.4956,2.01462,.99331,.82616,.91133,.84286,.91133,1,1,1,.70508,1,1.23108,.79801,.84426,.84426,.774,.90527,1.81055,.90527,1.81055,1.28809,1.55469,.94434,1.07806,1,.97094,.7589,.85284,.90747,1.19658,.69825,.97622,1.33512,.90747,.90747,.85356,.90747,.90747,1.44947,.85284,.8941,.8941,.70572,.8,.70572,.70572,.70572,.70572,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.99862,.99862,1,1,1,1,1,1.0336,.91027,1,1,1,.99862,1,1,1,1,1,1,1,1,1,1,1,1,1.05859,1.05859,1,1,1,1.07185,.99413,.96334,1.08065,1,1,1,1,1,1,1,1,1,1,1],lC={lineHeight:1.2207,lineGap:.2207},IC=[.76116,1,1,1.0006,.99998,.99974,.99973,.99973,.99982,.99977,1.00087,.99998,.99998,.99959,1.00003,1.0006,.99998,1.0006,1.0006,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99998,1,1.00003,1.00003,1.00003,1.00026,.9999,.99977,.99977,.99977,.99977,1.00001,1.00026,1.00022,.99977,1.0006,.99973,.99977,1.00026,.99999,.99977,1.00022,1.00001,1.00022,.99977,1.00001,1.00026,.99977,1.00001,1.00016,1.00001,1.00001,1.00026,.99998,1.0006,.99998,1.00003,.99973,.99998,.99973,1.00026,.99973,1.00026,.99973,.99998,1.00026,1.00026,1.0006,1.0006,.99973,1.0006,.99982,1.00026,1.00026,1.00026,1.00026,.99959,.99973,.99998,1.00026,.99973,1.00022,.99973,.99973,1,.99959,1.00077,.99959,1.00003,.99998,.99973,.99973,.99973,.99973,1.00077,.99973,.99998,1.00025,.99968,.99973,1.00003,1.00025,.60299,1.00024,1.06409,1,1,.99998,1,.99973,1.0006,.99998,1,.99936,.99973,1.00002,1.00002,1.00002,1.00026,.99977,.99977,.99977,.99977,.99977,.99977,1,.99977,1.00001,1.00001,1.00001,1.00001,1.0006,1.0006,1.0006,1.0006,.99977,.99977,1.00022,1.00022,1.00022,1.00022,1.00022,1.00003,1.00022,.99977,.99977,.99977,.99977,1.00001,1.00001,1.00026,.99973,.99973,.99973,.99973,.99973,.99973,.99982,.99973,.99973,.99973,.99973,.99973,1.0006,1.0006,1.0006,1.0006,1.00026,1.00026,1.00026,1.00026,1.00026,1.00026,1.00026,1.06409,1.00026,1.00026,1.00026,1.00026,1.00026,.99973,1.00026,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,1.03374,.99977,1.00026,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00022,1.00026,1.00022,1.00026,1.00022,1.00026,1.00022,1.00026,.99977,1.00026,.99977,1.00026,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.00042,.99973,.99973,1.0006,.99977,.99973,.99973,1.00026,1.0006,1.00026,1.0006,1.00026,1.03828,1.00026,.99999,1.00026,1.0006,.99977,1.00026,.99977,1.00026,.99977,1.00026,.9993,.9998,1.00026,1.00022,1.00026,1.00022,1.00026,1.00022,1.00026,1,1.00016,.99977,.99959,.99977,.99959,.99977,.99959,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00026,.99998,1.00026,.8121,1.00026,.99998,.99977,1.00026,.99977,1.00026,.99977,1.00026,.99977,1.00026,.99977,1.00026,.99977,1.00026,1.00016,1.00022,1.00001,.99973,1.00001,1.00026,1,1.00026,1,1.00026,1,1.0006,.99973,.99977,.99973,1,.99982,1.00022,1.00026,1.00001,.99973,1.00026,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,1.00034,.99977,1,.99997,1.00026,1.00078,1.00036,.99973,1.00013,1.0006,.99977,.99977,.99988,.85148,1.00001,1.00026,.99977,1.00022,1.0006,.99977,1.00001,.99999,.99977,1.00069,1.00022,.99977,1.00001,.99984,1.00026,1.00001,1.00024,1.00001,.9999,1,1.0006,1.00001,1.00041,.99962,1.00026,1.0006,.99995,1.00041,.99942,.99973,.99927,1.00082,.99902,1.00026,1.00087,1.0006,1.00069,.99973,.99867,.99973,.9993,1.00026,1.00049,1.00056,1,.99988,.99935,.99995,.99954,1.00055,.99945,1.00032,1.0006,.99995,1.00026,.99995,1.00032,1.00001,1.00008,.99971,1.00019,.9994,1.00001,1.0006,1.00044,.99973,1.00023,1.00047,1,.99942,.99561,.99989,1.00035,.99977,1.00035,.99977,1.00019,.99944,1.00001,1.00021,.99926,1.00035,1.00035,.99942,1.00048,.99999,.99977,1.00022,1.00035,1.00001,.99977,1.00026,.99989,1.00057,1.00001,.99936,1.00052,1.00012,.99996,1.00043,1,1.00035,.9994,.99976,1.00035,.99973,1.00052,1.00041,1.00119,1.00037,.99973,1.00002,.99986,1.00041,1.00041,.99902,.9996,1.00034,.99999,1.00026,.99999,1.00026,.99973,1.00052,.99973,1,.99973,1.00041,1.00075,.9994,1.0003,.99999,1,1.00041,.99955,1,.99915,.99973,.99973,1.00026,1.00119,.99955,.99973,1.0006,.99911,1.0006,1.00026,.99972,1.00026,.99902,1.00041,.99973,.99999,1,1,1.00038,1.0005,1.00016,1.00022,1.00016,1.00022,1.00016,1.00022,1.00001,.99973,1,1,.99973,1,1,.99955,1.0006,1.0006,1.0006,1.0006,1,1,1,.99973,.99973,.99972,1,1,1.00106,.99999,.99998,.99998,.99999,.99998,1.66475,1,.99973,.99973,1.00023,.99973,.99971,1.00047,1.00023,1,.99991,.99984,1.00002,1.00002,1.00002,1.00002,1,1,1,1,1,1,1,.99972,1,1.20985,1.39713,1.00003,1.00031,1.00015,1,.99561,1.00027,1.00031,1.00031,.99915,1.00031,1.00031,.99999,1.00003,.99999,.99999,1.41144,1.6,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.40579,1.40579,1.36625,.99999,1,.99861,.99861,1,1.00026,1.00026,1.00026,1.00026,.99972,.99999,.99999,.99999,.99999,1.40483,1,.99977,1.00054,1,1,.99953,.99962,1.00042,.9995,1,1,1,1,1,1,1,1,.99998,.99998,.99998,.99998,1,1,1,1,1,1,1,1,1,1,1],dC={lineHeight:1.2,lineGap:.2},CC=[.76116,1,1,1.0006,.99998,.99974,.99973,.99973,.99982,.99977,1.00087,.99998,.99998,.99959,1.00003,1.0006,.99998,1.0006,1.0006,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99998,1,1.00003,1.00003,1.00003,1.00026,.9999,.99977,.99977,.99977,.99977,1.00001,1.00026,1.00022,.99977,1.0006,.99973,.99977,1.00026,.99999,.99977,1.00022,1.00001,1.00022,.99977,1.00001,1.00026,.99977,1.00001,1.00016,1.00001,1.00001,1.00026,.99998,1.0006,.99998,1.00003,.99973,.99998,.99973,1.00026,.99973,1.00026,.99973,.99998,1.00026,1.00026,1.0006,1.0006,.99973,1.0006,.99982,1.00026,1.00026,1.00026,1.00026,.99959,.99973,.99998,1.00026,.99973,1.00022,.99973,.99973,1,.99959,1.00077,.99959,1.00003,.99998,.99973,.99973,.99973,.99973,1.00077,.99973,.99998,1.00025,.99968,.99973,1.00003,1.00025,.60299,1.00024,1.06409,1,1,.99998,1,.99973,1.0006,.99998,1,.99936,.99973,1.00002,1.00002,1.00002,1.00026,.99977,.99977,.99977,.99977,.99977,.99977,1,.99977,1.00001,1.00001,1.00001,1.00001,1.0006,1.0006,1.0006,1.0006,.99977,.99977,1.00022,1.00022,1.00022,1.00022,1.00022,1.00003,1.00022,.99977,.99977,.99977,.99977,1.00001,1.00001,1.00026,.99973,.99973,.99973,.99973,.99973,.99973,.99982,.99973,.99973,.99973,.99973,.99973,1.0006,1.0006,1.0006,1.0006,1.00026,1.00026,1.00026,1.00026,1.00026,1.00026,1.00026,1.06409,1.00026,1.00026,1.00026,1.00026,1.00026,.99973,1.00026,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,1.0044,.99977,1.00026,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00022,1.00026,1.00022,1.00026,1.00022,1.00026,1.00022,1.00026,.99977,1.00026,.99977,1.00026,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,.99971,.99973,.99973,1.0006,.99977,.99973,.99973,1.00026,1.0006,1.00026,1.0006,1.00026,1.01011,1.00026,.99999,1.00026,1.0006,.99977,1.00026,.99977,1.00026,.99977,1.00026,.9993,.9998,1.00026,1.00022,1.00026,1.00022,1.00026,1.00022,1.00026,1,1.00016,.99977,.99959,.99977,.99959,.99977,.99959,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00026,.99998,1.00026,.8121,1.00026,.99998,.99977,1.00026,.99977,1.00026,.99977,1.00026,.99977,1.00026,.99977,1.00026,.99977,1.00026,1.00016,1.00022,1.00001,.99973,1.00001,1.00026,1,1.00026,1,1.00026,1,1.0006,.99973,.99977,.99973,1,.99982,1.00022,1.00026,1.00001,.99973,1.00026,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99977,1,1,1.00026,.99969,.99972,.99981,.9998,1.0006,.99977,.99977,1.00022,.91155,1.00001,1.00026,.99977,1.00022,1.0006,.99977,1.00001,.99999,.99977,.99966,1.00022,1.00032,1.00001,.99944,1.00026,1.00001,.99968,1.00001,1.00047,1,1.0006,1.00001,.99981,1.00101,1.00026,1.0006,.99948,.99981,1.00064,.99973,.99942,1.00101,1.00061,1.00026,1.00069,1.0006,1.00014,.99973,1.01322,.99973,1.00065,1.00026,1.00012,.99923,1,1.00064,1.00076,.99948,1.00055,1.00063,1.00007,.99943,1.0006,.99948,1.00026,.99948,.99943,1.00001,1.00001,1.00029,1.00038,1.00035,1.00001,1.0006,1.0006,.99973,.99978,1.00001,1.00057,.99989,.99967,.99964,.99967,.99977,.99999,.99977,1.00038,.99977,1.00001,.99973,1.00066,.99967,.99967,1.00041,.99998,.99999,.99977,1.00022,.99967,1.00001,.99977,1.00026,.99964,1.00031,1.00001,.99999,.99999,1,1.00023,1,1,.99999,1.00035,1.00001,.99999,.99973,.99977,.99999,1.00058,.99973,.99973,.99955,.9995,1.00026,1.00026,1.00032,.99989,1.00034,.99999,1.00026,1.00026,1.00026,.99973,.45998,.99973,1.00026,.99973,1.00001,.99999,.99982,.99994,.99996,1,1.00042,1.00044,1.00029,1.00023,.99973,.99973,1.00026,.99949,1.00002,.99973,1.0006,1.0006,1.0006,.99975,1.00026,1.00026,1.00032,.98685,.99973,1.00026,1,1,.99966,1.00044,1.00016,1.00022,1.00016,1.00022,1.00016,1.00022,1.00001,.99973,1,1,.99973,1,1,.99955,1.0006,1.0006,1.0006,1.0006,1,1,1,.99973,.99973,.99972,1,1,1.00106,.99999,.99998,.99998,.99999,.99998,1.66475,1,.99973,.99973,1,.99973,.99971,.99978,1,1,.99991,.99984,1.00002,1.00002,1.00002,1.00002,1.00098,1,1,1,1.00049,1,1,.99972,1,1.20985,1.39713,1.00003,1.00031,1.00015,1,.99561,1.00027,1.00031,1.00031,.99915,1.00031,1.00031,.99999,1.00003,.99999,.99999,1.41144,1.6,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.40579,1.40579,1.36625,.99999,1,.99861,.99861,1,1.00026,1.00026,1.00026,1.00026,.99972,.99999,.99999,.99999,.99999,1.40483,1,.99977,1.00054,1,1,.99953,.99962,1.00042,.9995,1,1,1,1,1,1,1,1,.99998,.99998,.99998,.99998,1,1,1,1,1,1,1,1,1,1,1],uC={lineHeight:1.35,lineGap:.2},BC=[.76116,1,1,1.0006,1.0006,1.00006,.99973,.99973,.99982,1.00001,1.00043,.99998,.99998,.99959,1.00003,1.0006,.99998,1.0006,1.0006,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,1.0006,1,1.00003,1.00003,1.00003,.99973,.99987,1.00001,1.00001,.99977,.99977,1.00001,1.00026,1.00022,.99977,1.0006,1,1.00001,.99973,.99999,.99977,1.00022,1.00001,1.00022,.99977,1.00001,1.00026,.99977,1.00001,1.00016,1.00001,1.00001,1.00026,1.0006,1.0006,1.0006,.99949,.99973,.99998,.99973,.99973,1,.99973,.99973,1.0006,.99973,.99973,.99924,.99924,1,.99924,.99999,.99973,.99973,.99973,.99973,.99998,1,1.0006,.99973,1,.99977,1,1,1,1.00005,1.0009,1.00005,1.00003,.99998,.99973,.99973,.99973,.99973,1.0009,.99973,.99998,1.00025,.99968,.99973,1.00003,1.00025,.60299,1.00024,1.06409,1,1,.99998,1,.9998,1.0006,.99998,1,.99936,.99973,1.00002,1.00002,1.00002,1.00026,1.00001,1.00001,1.00001,1.00001,1.00001,1.00001,1,.99977,1.00001,1.00001,1.00001,1.00001,1.0006,1.0006,1.0006,1.0006,.99977,.99977,1.00022,1.00022,1.00022,1.00022,1.00022,1.00003,1.00022,.99977,.99977,.99977,.99977,1.00001,1.00001,1.00026,.99973,.99973,.99973,.99973,.99973,.99973,.99982,1,.99973,.99973,.99973,.99973,1.0006,1.0006,1.0006,1.0006,.99973,.99973,.99973,.99973,.99973,.99973,.99973,1.06409,1.00026,.99973,.99973,.99973,.99973,1,.99973,1,1.00001,.99973,1.00001,.99973,1.00001,.99973,.99977,1,.99977,1,.99977,1,.99977,1,.99977,1.0288,.99977,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00022,.99973,1.00022,.99973,1.00022,.99973,1.00022,.99973,.99977,.99973,.99977,.99973,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,.99924,1.0006,1.0006,.99946,1.00034,1,.99924,1.00001,1,1,.99973,.99924,.99973,.99924,.99973,1.06311,.99973,1.00024,.99973,.99924,.99977,.99973,.99977,.99973,.99977,.99973,1.00041,.9998,.99973,1.00022,.99973,1.00022,.99973,1.00022,.99973,1,1.00016,.99977,.99998,.99977,.99998,.99977,.99998,1.00001,1,1.00001,1,1.00001,1,1.00001,1,1.00026,1.0006,1.00026,.89547,1.00026,1.0006,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,1.00016,.99977,1.00001,1,1.00001,1.00026,1,1.00026,1,1.00026,1,.99924,.99973,1.00001,.99973,1,.99982,1.00022,1.00026,1.00001,1,1.00026,1.0006,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,1.00001,1,1.00054,.99977,1.00084,1.00007,.99973,1.00013,.99924,1.00001,1.00001,.99945,.91221,1.00001,1.00026,.99977,1.00022,1.0006,1.00001,1.00001,.99999,.99977,.99933,1.00022,1.00054,1.00001,1.00065,1.00026,1.00001,1.0001,1.00001,1.00052,1,1.0006,1.00001,.99945,.99897,.99968,.99924,1.00036,.99945,.99949,1,1.0006,.99897,.99918,.99968,.99911,.99924,1,.99962,1.01487,1,1.0005,.99973,1.00012,1.00043,1,.99995,.99994,1.00036,.99947,1.00019,1.00063,1.00025,.99924,1.00036,.99973,1.00036,1.00025,1.00001,1.00001,1.00027,1.0001,1.00068,1.00001,1.0006,1.0006,1,1.00008,.99957,.99972,.9994,.99954,.99975,1.00051,1.00001,1.00019,1.00001,1.0001,.99986,1.00001,1.00001,1.00038,.99954,.99954,.9994,1.00066,.99999,.99977,1.00022,1.00054,1.00001,.99977,1.00026,.99975,1.0001,1.00001,.99993,.9995,.99955,1.00016,.99978,.99974,1.00019,1.00022,.99955,1.00053,.99973,1.00089,1.00005,.99967,1.00048,.99973,1.00002,1.00034,.99973,.99973,.99964,1.00006,1.00066,.99947,.99973,.98894,.99973,1,.44898,1,.99946,1,1.00039,1.00082,.99991,.99991,.99985,1.00022,1.00023,1.00061,1.00006,.99966,.99973,.99973,.99973,1.00019,1.0008,1,.99924,.99924,.99924,.99983,1.00044,.99973,.99964,.98332,1,.99973,1,1,.99962,.99895,1.00016,.99977,1.00016,.99977,1.00016,.99977,1.00001,1,1,1,.99973,1,1,.99955,.99924,.99924,.99924,.99924,.99998,.99998,.99998,.99973,.99973,.99972,1,1,1.00267,.99999,.99998,.99998,1,.99998,1.66475,1,.99973,.99973,1.00023,.99973,1.00423,.99925,.99999,1,.99991,.99984,1.00002,1.00002,1.00002,1.00002,1.00049,1,1.00245,1,1,1,1,.96329,1,1.20985,1.39713,1.00003,.8254,1.00015,1,1.00035,1.00027,1.00031,1.00031,1.00003,1.00031,1.00031,.99999,1.00003,.99999,.99999,1.41144,1.6,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.40579,1.40579,1.36625,.99999,1,.99861,.99861,1,1.00026,1.00026,1.00026,1.00026,.95317,.99999,.99999,.99999,.99999,1.40483,1,.99977,1.00054,1,1,.99953,.99962,1.00042,.9995,1,1,1,1,1,1,1,1,.99998,.99998,.99998,.99998,1,1,1,1,1,1,1,1,1,1,1],QC={lineHeight:1.35,lineGap:.2},EC=[.76116,1,1,1.0006,1.0006,1.00006,.99973,.99973,.99982,1.00001,1.00043,.99998,.99998,.99959,1.00003,1.0006,.99998,1.0006,1.0006,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,1.0006,1,1.00003,1.00003,1.00003,.99973,.99987,1.00001,1.00001,.99977,.99977,1.00001,1.00026,1.00022,.99977,1.0006,1,1.00001,.99973,.99999,.99977,1.00022,1.00001,1.00022,.99977,1.00001,1.00026,.99977,1.00001,1.00016,1.00001,1.00001,1.00026,1.0006,1.0006,1.0006,.99949,.99973,.99998,.99973,.99973,1,.99973,.99973,1.0006,.99973,.99973,.99924,.99924,1,.99924,.99999,.99973,.99973,.99973,.99973,.99998,1,1.0006,.99973,1,.99977,1,1,1,1.00005,1.0009,1.00005,1.00003,.99998,.99973,.99973,.99973,.99973,1.0009,.99973,.99998,1.00025,.99968,.99973,1.00003,1.00025,.60299,1.00024,1.06409,1,1,.99998,1,.9998,1.0006,.99998,1,.99936,.99973,1.00002,1.00002,1.00002,1.00026,1.00001,1.00001,1.00001,1.00001,1.00001,1.00001,1,.99977,1.00001,1.00001,1.00001,1.00001,1.0006,1.0006,1.0006,1.0006,.99977,.99977,1.00022,1.00022,1.00022,1.00022,1.00022,1.00003,1.00022,.99977,.99977,.99977,.99977,1.00001,1.00001,1.00026,.99973,.99973,.99973,.99973,.99973,.99973,.99982,1,.99973,.99973,.99973,.99973,1.0006,1.0006,1.0006,1.0006,.99973,.99973,.99973,.99973,.99973,.99973,.99973,1.06409,1.00026,.99973,.99973,.99973,.99973,1,.99973,1,1.00001,.99973,1.00001,.99973,1.00001,.99973,.99977,1,.99977,1,.99977,1,.99977,1,.99977,1.04596,.99977,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00022,.99973,1.00022,.99973,1.00022,.99973,1.00022,.99973,.99977,.99973,.99977,.99973,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,.99924,1.0006,1.0006,1.00019,1.00034,1,.99924,1.00001,1,1,.99973,.99924,.99973,.99924,.99973,1.02572,.99973,1.00005,.99973,.99924,.99977,.99973,.99977,.99973,.99977,.99973,.99999,.9998,.99973,1.00022,.99973,1.00022,.99973,1.00022,.99973,1,1.00016,.99977,.99998,.99977,.99998,.99977,.99998,1.00001,1,1.00001,1,1.00001,1,1.00001,1,1.00026,1.0006,1.00026,.84533,1.00026,1.0006,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,1.00016,.99977,1.00001,1,1.00001,1.00026,1,1.00026,1,1.00026,1,.99924,.99973,1.00001,.99973,1,.99982,1.00022,1.00026,1.00001,1,1.00026,1.0006,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99928,1,.99977,1.00013,1.00055,.99947,.99945,.99941,.99924,1.00001,1.00001,1.0004,.91621,1.00001,1.00026,.99977,1.00022,1.0006,1.00001,1.00005,.99999,.99977,1.00015,1.00022,.99977,1.00001,.99973,1.00026,1.00001,1.00019,1.00001,.99946,1,1.0006,1.00001,.99978,1.00045,.99973,.99924,1.00023,.99978,.99966,1,1.00065,1.00045,1.00019,.99973,.99973,.99924,1,1,.96499,1,1.00055,.99973,1.00008,1.00027,1,.9997,.99995,1.00023,.99933,1.00019,1.00015,1.00031,.99924,1.00023,.99973,1.00023,1.00031,1.00001,.99928,1.00029,1.00092,1.00035,1.00001,1.0006,1.0006,1,.99988,.99975,1,1.00082,.99561,.9996,1.00035,1.00001,.99962,1.00001,1.00092,.99964,1.00001,.99963,.99999,1.00035,1.00035,1.00082,.99962,.99999,.99977,1.00022,1.00035,1.00001,.99977,1.00026,.9996,.99967,1.00001,1.00034,1.00074,1.00054,1.00053,1.00063,.99971,.99962,1.00035,.99975,.99977,.99973,1.00043,.99953,1.0007,.99915,.99973,1.00008,.99892,1.00073,1.00073,1.00114,.99915,1.00073,.99955,.99973,1.00092,.99973,1,.99998,1,1.0003,1,1.00043,1.00001,.99969,1.0003,1,1.00035,1.00001,.9995,1,1.00092,.99973,.99973,.99973,1.0007,.9995,1,.99924,1.0006,.99924,.99972,1.00062,.99973,1.00114,1.00073,1,.99955,1,1,1.00047,.99968,1.00016,.99977,1.00016,.99977,1.00016,.99977,1.00001,1,1,1,.99973,1,1,.99955,.99924,.99924,.99924,.99924,.99998,.99998,.99998,.99973,.99973,.99972,1,1,1.00267,.99999,.99998,.99998,1,.99998,1.66475,1,.99973,.99973,1.00023,.99973,.99971,.99925,1.00023,1,.99991,.99984,1.00002,1.00002,1.00002,1.00002,1,1,1,1,1,1,1,.96329,1,1.20985,1.39713,1.00003,.8254,1.00015,1,1.00035,1.00027,1.00031,1.00031,.99915,1.00031,1.00031,.99999,1.00003,.99999,.99999,1.41144,1.6,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.40579,1.40579,1.36625,.99999,1,.99861,.99861,1,1.00026,1.00026,1.00026,1.00026,.95317,.99999,.99999,.99999,.99999,1.40483,1,.99977,1.00054,1,1,.99953,.99962,1.00042,.9995,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],fC={lineHeight:1.2,lineGap:.2},pC=[365,0,333,278,333,474,556,556,889,722,238,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,333,333,584,584,584,611,975,722,722,722,722,667,611,778,722,278,556,722,611,833,722,778,667,778,722,667,611,722,667,944,667,667,611,333,278,333,584,556,333,556,611,556,611,556,333,611,611,278,278,556,278,889,611,611,611,611,389,556,333,611,556,778,556,556,500,389,280,389,584,333,556,556,556,556,280,556,333,737,370,556,584,737,552,400,549,333,333,333,576,556,278,333,333,365,556,834,834,834,611,722,722,722,722,722,722,1e3,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,556,556,556,556,556,278,278,278,278,611,611,611,611,611,611,611,549,611,611,611,611,611,556,611,556,722,556,722,556,722,556,722,556,722,556,722,556,722,556,722,719,722,611,667,556,667,556,667,556,667,556,667,556,778,611,778,611,778,611,778,611,722,611,722,611,278,278,278,278,278,278,278,278,278,278,785,556,556,278,722,556,556,611,278,611,278,611,385,611,479,611,278,722,611,722,611,722,611,708,723,611,778,611,778,611,778,611,1e3,944,722,389,722,389,722,389,667,556,667,556,667,556,667,556,611,333,611,479,611,333,722,611,722,611,722,611,722,611,722,611,722,611,944,778,667,556,667,611,500,611,500,611,500,278,556,722,556,1e3,889,778,611,667,556,611,333,333,333,333,333,333,333,333,333,333,333,465,722,333,853,906,474,825,927,838,278,722,722,601,719,667,611,722,778,278,722,667,833,722,644,778,722,667,600,611,667,821,667,809,802,278,667,615,451,611,278,582,615,610,556,606,475,460,611,541,278,558,556,612,556,445,611,766,619,520,684,446,582,715,576,753,845,278,582,611,582,845,667,669,885,567,711,667,278,276,556,1094,1062,875,610,722,622,719,722,719,722,567,712,667,904,626,719,719,610,702,833,722,778,719,667,722,611,622,854,667,730,703,1005,1019,870,979,719,711,1031,719,556,618,615,417,635,556,709,497,615,615,500,635,740,604,611,604,611,556,490,556,875,556,615,581,833,844,729,854,615,552,854,583,556,556,611,417,552,556,278,281,278,969,906,611,500,615,556,604,778,611,487,447,944,778,944,778,944,778,667,556,333,333,556,1e3,1e3,552,278,278,278,278,500,500,500,556,556,350,1e3,1e3,240,479,333,333,604,333,167,396,556,556,1094,556,885,489,1115,1e3,768,600,834,834,834,834,1e3,500,1e3,500,1e3,500,500,494,612,823,713,584,549,713,979,722,274,549,549,583,549,549,604,584,604,604,708,625,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,729,604,604,354,354,1e3,990,990,990,990,494,604,604,604,604,354,1021,1052,917,750,750,531,656,594,510,500,750,750,611,611,333,333,333,333,333,333,333,333,222,222,333,333,333,333,333,333,333,333],mC=[-1,-1,-1,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,161,162,163,164,165,166,167,168,169,170,171,172,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,402,506,507,508,509,510,511,536,537,538,539,710,711,713,728,729,730,731,732,733,900,901,902,903,904,905,906,908,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1138,1139,1168,1169,7808,7809,7810,7811,7812,7813,7922,7923,8208,8209,8211,8212,8213,8215,8216,8217,8218,8219,8220,8221,8222,8224,8225,8226,8230,8240,8242,8243,8249,8250,8252,8254,8260,8319,8355,8356,8359,8364,8453,8467,8470,8482,8486,8494,8539,8540,8541,8542,8592,8593,8594,8595,8596,8597,8616,8706,8710,8719,8721,8722,8730,8734,8735,8745,8747,8776,8800,8801,8804,8805,8962,8976,8992,8993,9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9552,9553,9554,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,9600,9604,9608,9612,9616,9617,9618,9619,9632,9633,9642,9643,9644,9650,9658,9660,9668,9674,9675,9679,9688,9689,9702,9786,9787,9788,9792,9794,9824,9827,9829,9830,9834,9835,9836,61441,61442,61445,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],yC=[365,0,333,278,333,474,556,556,889,722,238,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,333,333,584,584,584,611,975,722,722,722,722,667,611,778,722,278,556,722,611,833,722,778,667,778,722,667,611,722,667,944,667,667,611,333,278,333,584,556,333,556,611,556,611,556,333,611,611,278,278,556,278,889,611,611,611,611,389,556,333,611,556,778,556,556,500,389,280,389,584,333,556,556,556,556,280,556,333,737,370,556,584,737,552,400,549,333,333,333,576,556,278,333,333,365,556,834,834,834,611,722,722,722,722,722,722,1e3,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,556,556,556,556,556,278,278,278,278,611,611,611,611,611,611,611,549,611,611,611,611,611,556,611,556,722,556,722,556,722,556,722,556,722,556,722,556,722,556,722,740,722,611,667,556,667,556,667,556,667,556,667,556,778,611,778,611,778,611,778,611,722,611,722,611,278,278,278,278,278,278,278,278,278,278,782,556,556,278,722,556,556,611,278,611,278,611,396,611,479,611,278,722,611,722,611,722,611,708,723,611,778,611,778,611,778,611,1e3,944,722,389,722,389,722,389,667,556,667,556,667,556,667,556,611,333,611,479,611,333,722,611,722,611,722,611,722,611,722,611,722,611,944,778,667,556,667,611,500,611,500,611,500,278,556,722,556,1e3,889,778,611,667,556,611,333,333,333,333,333,333,333,333,333,333,333,333,722,333,854,906,473,844,930,847,278,722,722,610,671,667,611,722,778,278,722,667,833,722,657,778,718,667,590,611,667,822,667,829,781,278,667,620,479,611,278,591,620,621,556,610,479,492,611,558,278,566,556,603,556,450,611,712,605,532,664,409,591,704,578,773,834,278,591,611,591,834,667,667,886,614,719,667,278,278,556,1094,1042,854,622,719,677,719,722,708,722,614,722,667,927,643,719,719,615,687,833,722,778,719,667,722,611,677,781,667,729,708,979,989,854,1e3,708,719,1042,729,556,619,604,534,618,556,736,510,611,611,507,622,740,604,611,611,611,556,889,556,885,556,646,583,889,935,707,854,594,552,865,589,556,556,611,469,563,556,278,278,278,969,906,611,507,619,556,611,778,611,575,467,944,778,944,778,944,778,667,556,333,333,556,1e3,1e3,552,278,278,278,278,500,500,500,556,556,350,1e3,1e3,240,479,333,333,604,333,167,396,556,556,1104,556,885,516,1146,1e3,768,600,834,834,834,834,999,500,1e3,500,1e3,500,500,494,612,823,713,584,549,713,979,722,274,549,549,583,549,549,604,584,604,604,708,625,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,729,604,604,354,354,1e3,990,990,990,990,494,604,604,604,604,354,1021,1052,917,750,750,531,656,594,510,500,750,750,611,611,333,333,333,333,333,333,333,333,222,222,333,333,333,333,333,333,333,333],wC=[-1,-1,-1,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,161,162,163,164,165,166,167,168,169,170,171,172,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,402,506,507,508,509,510,511,536,537,538,539,710,711,713,728,729,730,731,732,733,900,901,902,903,904,905,906,908,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1138,1139,1168,1169,7808,7809,7810,7811,7812,7813,7922,7923,8208,8209,8211,8212,8213,8215,8216,8217,8218,8219,8220,8221,8222,8224,8225,8226,8230,8240,8242,8243,8249,8250,8252,8254,8260,8319,8355,8356,8359,8364,8453,8467,8470,8482,8486,8494,8539,8540,8541,8542,8592,8593,8594,8595,8596,8597,8616,8706,8710,8719,8721,8722,8730,8734,8735,8745,8747,8776,8800,8801,8804,8805,8962,8976,8992,8993,9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9552,9553,9554,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,9600,9604,9608,9612,9616,9617,9618,9619,9632,9633,9642,9643,9644,9650,9658,9660,9668,9674,9675,9679,9688,9689,9702,9786,9787,9788,9792,9794,9824,9827,9829,9830,9834,9835,9836,61441,61442,61445,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],bC=[365,0,333,278,278,355,556,556,889,667,191,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,278,278,584,584,584,556,1015,667,667,722,722,667,611,778,722,278,500,667,556,833,722,778,667,778,722,667,611,722,667,944,667,667,611,278,278,278,469,556,333,556,556,500,556,556,278,556,556,222,222,500,222,833,556,556,556,556,333,500,278,556,500,722,500,500,500,334,260,334,584,333,556,556,556,556,260,556,333,737,370,556,584,737,552,400,549,333,333,333,576,537,278,333,333,365,556,834,834,834,611,667,667,667,667,667,667,1e3,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,500,556,556,556,556,278,278,278,278,556,556,556,556,556,556,556,549,611,556,556,556,556,500,556,500,667,556,667,556,667,556,722,500,722,500,722,500,722,500,722,625,722,556,667,556,667,556,667,556,667,556,667,556,778,556,778,556,778,556,778,556,722,556,722,556,278,278,278,278,278,278,278,222,278,278,733,444,500,222,667,500,500,556,222,556,222,556,281,556,400,556,222,722,556,722,556,722,556,615,723,556,778,556,778,556,778,556,1e3,944,722,333,722,333,722,333,667,500,667,500,667,500,667,500,611,278,611,354,611,278,722,556,722,556,722,556,722,556,722,556,722,556,944,722,667,500,667,611,500,611,500,611,500,222,556,667,556,1e3,889,778,611,667,500,611,278,333,333,333,333,333,333,333,333,333,333,333,667,278,789,846,389,794,865,775,222,667,667,570,671,667,611,722,778,278,667,667,833,722,648,778,725,667,600,611,667,837,667,831,761,278,667,570,439,555,222,550,570,571,500,556,439,463,555,542,222,500,492,548,500,447,556,670,573,486,603,374,550,652,546,728,779,222,550,556,550,779,667,667,843,544,708,667,278,278,500,1066,982,844,589,715,639,724,667,651,667,544,704,667,917,614,715,715,589,686,833,722,778,725,667,722,611,639,795,667,727,673,920,923,805,886,651,694,1022,682,556,562,522,493,553,556,688,465,556,556,472,564,686,550,556,556,556,500,833,500,835,500,572,518,830,851,621,736,526,492,752,534,556,556,556,378,496,500,222,222,222,910,828,556,472,565,500,556,778,556,492,339,944,722,944,722,944,722,667,500,333,333,556,1e3,1e3,552,222,222,222,222,333,333,333,556,556,350,1e3,1e3,188,354,333,333,500,333,167,365,556,556,1094,556,885,323,1083,1e3,768,600,834,834,834,834,1e3,500,998,500,1e3,500,500,494,612,823,713,584,549,713,979,719,274,549,549,584,549,549,604,584,604,604,708,625,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,729,604,604,354,354,1e3,990,990,990,990,494,604,604,604,604,354,1021,1052,917,750,750,531,656,594,510,500,750,750,500,500,333,333,333,333,333,333,333,333,222,222,294,294,324,324,316,328,398,285],DC=[-1,-1,-1,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,161,162,163,164,165,166,167,168,169,170,171,172,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,402,506,507,508,509,510,511,536,537,538,539,710,711,713,728,729,730,731,732,733,900,901,902,903,904,905,906,908,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1138,1139,1168,1169,7808,7809,7810,7811,7812,7813,7922,7923,8208,8209,8211,8212,8213,8215,8216,8217,8218,8219,8220,8221,8222,8224,8225,8226,8230,8240,8242,8243,8249,8250,8252,8254,8260,8319,8355,8356,8359,8364,8453,8467,8470,8482,8486,8494,8539,8540,8541,8542,8592,8593,8594,8595,8596,8597,8616,8706,8710,8719,8721,8722,8730,8734,8735,8745,8747,8776,8800,8801,8804,8805,8962,8976,8992,8993,9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9552,9553,9554,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,9600,9604,9608,9612,9616,9617,9618,9619,9632,9633,9642,9643,9644,9650,9658,9660,9668,9674,9675,9679,9688,9689,9702,9786,9787,9788,9792,9794,9824,9827,9829,9830,9834,9835,9836,61441,61442,61445,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],kC=[365,0,333,278,278,355,556,556,889,667,191,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,278,278,584,584,584,556,1015,667,667,722,722,667,611,778,722,278,500,667,556,833,722,778,667,778,722,667,611,722,667,944,667,667,611,278,278,278,469,556,333,556,556,500,556,556,278,556,556,222,222,500,222,833,556,556,556,556,333,500,278,556,500,722,500,500,500,334,260,334,584,333,556,556,556,556,260,556,333,737,370,556,584,737,552,400,549,333,333,333,576,537,278,333,333,365,556,834,834,834,611,667,667,667,667,667,667,1e3,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,500,556,556,556,556,278,278,278,278,556,556,556,556,556,556,556,549,611,556,556,556,556,500,556,500,667,556,667,556,667,556,722,500,722,500,722,500,722,500,722,615,722,556,667,556,667,556,667,556,667,556,667,556,778,556,778,556,778,556,778,556,722,556,722,556,278,278,278,278,278,278,278,222,278,278,735,444,500,222,667,500,500,556,222,556,222,556,292,556,334,556,222,722,556,722,556,722,556,604,723,556,778,556,778,556,778,556,1e3,944,722,333,722,333,722,333,667,500,667,500,667,500,667,500,611,278,611,375,611,278,722,556,722,556,722,556,722,556,722,556,722,556,944,722,667,500,667,611,500,611,500,611,500,222,556,667,556,1e3,889,778,611,667,500,611,278,333,333,333,333,333,333,333,333,333,333,333,667,278,784,838,384,774,855,752,222,667,667,551,668,667,611,722,778,278,667,668,833,722,650,778,722,667,618,611,667,798,667,835,748,278,667,578,446,556,222,547,578,575,500,557,446,441,556,556,222,500,500,576,500,448,556,690,569,482,617,395,547,648,525,713,781,222,547,556,547,781,667,667,865,542,719,667,278,278,500,1057,1010,854,583,722,635,719,667,656,667,542,677,667,923,604,719,719,583,656,833,722,778,719,667,722,611,635,760,667,740,667,917,938,792,885,656,719,1010,722,556,573,531,365,583,556,669,458,559,559,438,583,688,552,556,542,556,500,458,500,823,500,573,521,802,823,625,719,521,510,750,542,556,556,556,365,510,500,222,278,222,906,812,556,438,559,500,552,778,556,489,411,944,722,944,722,944,722,667,500,333,333,556,1e3,1e3,552,222,222,222,222,333,333,333,556,556,350,1e3,1e3,188,354,333,333,500,333,167,365,556,556,1094,556,885,323,1073,1e3,768,600,834,834,834,834,1e3,500,1e3,500,1e3,500,500,494,612,823,713,584,549,713,979,719,274,549,549,583,549,549,604,584,604,604,708,625,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,729,604,604,354,354,1e3,990,990,990,990,494,604,604,604,604,354,1021,1052,917,750,750,531,656,594,510,500,750,750,500,500,333,333,333,333,333,333,333,333,222,222,294,294,324,324,316,328,398,285],SC=[-1,-1,-1,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,161,162,163,164,165,166,167,168,169,170,171,172,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,402,506,507,508,509,510,511,536,537,538,539,710,711,713,728,729,730,731,732,733,900,901,902,903,904,905,906,908,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1138,1139,1168,1169,7808,7809,7810,7811,7812,7813,7922,7923,8208,8209,8211,8212,8213,8215,8216,8217,8218,8219,8220,8221,8222,8224,8225,8226,8230,8240,8242,8243,8249,8250,8252,8254,8260,8319,8355,8356,8359,8364,8453,8467,8470,8482,8486,8494,8539,8540,8541,8542,8592,8593,8594,8595,8596,8597,8616,8706,8710,8719,8721,8722,8730,8734,8735,8745,8747,8776,8800,8801,8804,8805,8962,8976,8992,8993,9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9552,9553,9554,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,9600,9604,9608,9612,9616,9617,9618,9619,9632,9633,9642,9643,9644,9650,9658,9660,9668,9674,9675,9679,9688,9689,9702,9786,9787,9788,9792,9794,9824,9827,9829,9830,9834,9835,9836,61441,61442,61445,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],FC=[1.36898,1,1,.72706,.80479,.83734,.98894,.99793,.9897,.93884,.86209,.94292,.94292,1.16661,1.02058,.93582,.96694,.93582,1.19137,.99793,.99793,.99793,.99793,.99793,.99793,.99793,.99793,.99793,.99793,.78076,.78076,1.02058,1.02058,1.02058,.72851,.78966,.90838,.83637,.82391,.96376,.80061,.86275,.8768,.95407,1.0258,.73901,.85022,.83655,1.0156,.95546,.92179,.87107,.92179,.82114,.8096,.89713,.94438,.95353,.94083,.91905,.90406,.9446,.94292,1.18777,.94292,1.02058,.89903,.90088,.94938,.97898,.81093,.97571,.94938,1.024,.9577,.95933,.98621,1.0474,.97455,.98981,.9672,.95933,.9446,.97898,.97407,.97646,.78036,1.10208,.95442,.95298,.97579,.9332,.94039,.938,.80687,1.01149,.80687,1.02058,.80479,.99793,.99793,.99793,.99793,1.01149,1.00872,.90088,.91882,1.0213,.8361,1.02058,.62295,.54324,.89022,1.08595,1,1,.90088,1,.97455,.93582,.90088,1,1.05686,.8361,.99642,.99642,.99642,.72851,.90838,.90838,.90838,.90838,.90838,.90838,.868,.82391,.80061,.80061,.80061,.80061,1.0258,1.0258,1.0258,1.0258,.97484,.95546,.92179,.92179,.92179,.92179,.92179,1.02058,.92179,.94438,.94438,.94438,.94438,.90406,.86958,.98225,.94938,.94938,.94938,.94938,.94938,.94938,.9031,.81093,.94938,.94938,.94938,.94938,.98621,.98621,.98621,.98621,.93969,.95933,.9446,.9446,.9446,.9446,.9446,1.08595,.9446,.95442,.95442,.95442,.95442,.94039,.97898,.94039,.90838,.94938,.90838,.94938,.90838,.94938,.82391,.81093,.82391,.81093,.82391,.81093,.82391,.81093,.96376,.84313,.97484,.97571,.80061,.94938,.80061,.94938,.80061,.94938,.80061,.94938,.80061,.94938,.8768,.9577,.8768,.9577,.8768,.9577,1,1,.95407,.95933,.97069,.95933,1.0258,.98621,1.0258,.98621,1.0258,.98621,1.0258,.98621,1.0258,.98621,.887,1.01591,.73901,1.0474,1,1,.97455,.83655,.98981,1,1,.83655,.73977,.83655,.73903,.84638,1.033,.95546,.95933,1,1,.95546,.95933,.8271,.95417,.95933,.92179,.9446,.92179,.9446,.92179,.9446,.936,.91964,.82114,.97646,1,1,.82114,.97646,.8096,.78036,.8096,.78036,1,1,.8096,.78036,1,1,.89713,.77452,.89713,1.10208,.94438,.95442,.94438,.95442,.94438,.95442,.94438,.95442,.94438,.95442,.94438,.95442,.94083,.97579,.90406,.94039,.90406,.9446,.938,.9446,.938,.9446,.938,1,.99793,.90838,.94938,.868,.9031,.92179,.9446,1,1,.89713,1.10208,.90088,.90088,.90088,.90088,.90088,.90088,.90088,.90088,.90088,.90989,.9358,.91945,.83181,.75261,.87992,.82976,.96034,.83689,.97268,1.0078,.90838,.83637,.8019,.90157,.80061,.9446,.95407,.92436,1.0258,.85022,.97153,1.0156,.95546,.89192,.92179,.92361,.87107,.96318,.89713,.93704,.95638,.91905,.91709,.92796,1.0258,.93704,.94836,1.0373,.95933,1.0078,.95871,.94836,.96174,.92601,.9498,.98607,.95776,.95933,1.05453,1.0078,.98275,.9314,.95617,.91701,1.05993,.9446,.78367,.9553,1,.86832,1.0128,.95871,.99394,.87548,.96361,.86774,1.0078,.95871,.9446,.95871,.86774,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.94083,.97579,.94083,.97579,.94083,.97579,.90406,.94039,.96694,1,.89903,1,1,1,.93582,.93582,.93582,1,.908,.908,.918,.94219,.94219,.96544,1,1.285,1,1,.81079,.81079,1,1,.74854,1,1,1,1,.99793,1,1,1,.65,1,1.36145,1,1,1,1,1,1,1,1,1,1,1,1.17173,1,.80535,.76169,1.02058,1.0732,1.05486,1,1,1.30692,1.08595,1.08595,1,1.08595,1.08595,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.16161,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],RC={lineHeight:1.2,lineGap:.2},xC=[1.36898,1,1,.66227,.80779,.81625,.97276,.97276,.97733,.92222,.83266,.94292,.94292,1.16148,1.02058,.93582,.96694,.93582,1.17337,.97276,.97276,.97276,.97276,.97276,.97276,.97276,.97276,.97276,.97276,.78076,.78076,1.02058,1.02058,1.02058,.71541,.76813,.85576,.80591,.80729,.94299,.77512,.83655,.86523,.92222,.98621,.71743,.81698,.79726,.98558,.92222,.90637,.83809,.90637,.80729,.76463,.86275,.90699,.91605,.9154,.85308,.85458,.90531,.94292,1.21296,.94292,1.02058,.89903,1.18616,.99613,.91677,.78216,.91677,.90083,.98796,.9135,.92168,.95381,.98981,.95298,.95381,.93459,.92168,.91513,.92004,.91677,.95077,.748,1.04502,.91677,.92061,.94236,.89544,.89364,.9,.80687,.8578,.80687,1.02058,.80779,.97276,.97276,.97276,.97276,.8578,.99973,1.18616,.91339,1.08074,.82891,1.02058,.55509,.71526,.89022,1.08595,1,1,1.18616,1,.96736,.93582,1.18616,1,1.04864,.82711,.99043,.99043,.99043,.71541,.85576,.85576,.85576,.85576,.85576,.85576,.845,.80729,.77512,.77512,.77512,.77512,.98621,.98621,.98621,.98621,.95961,.92222,.90637,.90637,.90637,.90637,.90637,1.02058,.90251,.90699,.90699,.90699,.90699,.85458,.83659,.94951,.99613,.99613,.99613,.99613,.99613,.99613,.85811,.78216,.90083,.90083,.90083,.90083,.95381,.95381,.95381,.95381,.9135,.92168,.91513,.91513,.91513,.91513,.91513,1.08595,.91677,.91677,.91677,.91677,.91677,.89364,.92332,.89364,.85576,.99613,.85576,.99613,.85576,.99613,.80729,.78216,.80729,.78216,.80729,.78216,.80729,.78216,.94299,.76783,.95961,.91677,.77512,.90083,.77512,.90083,.77512,.90083,.77512,.90083,.77512,.90083,.86523,.9135,.86523,.9135,.86523,.9135,1,1,.92222,.92168,.92222,.92168,.98621,.95381,.98621,.95381,.98621,.95381,.98621,.95381,.98621,.95381,.86036,.97096,.71743,.98981,1,1,.95298,.79726,.95381,1,1,.79726,.6894,.79726,.74321,.81691,1.0006,.92222,.92168,1,1,.92222,.92168,.79464,.92098,.92168,.90637,.91513,.90637,.91513,.90637,.91513,.909,.87514,.80729,.95077,1,1,.80729,.95077,.76463,.748,.76463,.748,1,1,.76463,.748,1,1,.86275,.72651,.86275,1.04502,.90699,.91677,.90699,.91677,.90699,.91677,.90699,.91677,.90699,.91677,.90699,.91677,.9154,.94236,.85458,.89364,.85458,.90531,.9,.90531,.9,.90531,.9,1,.97276,.85576,.99613,.845,.85811,.90251,.91677,1,1,.86275,1.04502,1.18616,1.18616,1.18616,1.18616,1.18616,1.18616,1.18616,1.18616,1.18616,1.00899,1.30628,.85576,.80178,.66862,.7927,.69323,.88127,.72459,.89711,.95381,.85576,.80591,.7805,.94729,.77512,.90531,.92222,.90637,.98621,.81698,.92655,.98558,.92222,.85359,.90637,.90976,.83809,.94523,.86275,.83509,.93157,.85308,.83392,.92346,.98621,.83509,.92886,.91324,.92168,.95381,.90646,.92886,.90557,.86847,.90276,.91324,.86842,.92168,.99531,.95381,.9224,.85408,.92699,.86847,1.0051,.91513,.80487,.93481,1,.88159,1.05214,.90646,.97355,.81539,.89398,.85923,.95381,.90646,.91513,.90646,.85923,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.9154,.94236,.9154,.94236,.9154,.94236,.85458,.89364,.96694,1,.89903,1,1,1,.91782,.91782,.91782,1,.896,.896,.896,.9332,.9332,.95973,1,1.26,1,1,.80479,.80178,1,1,.85633,1,1,1,1,.97276,1,1,1,.698,1,1.36145,1,1,1,1,1,1,1,1,1,1,1,1.14542,1,.79199,.78694,1.02058,1.03493,1.05486,1,1,1.23026,1.08595,1.08595,1,1.08595,1.08595,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.20006,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],vC={lineHeight:1.2,lineGap:.2},NC=[1.36898,1,1,.65507,.84943,.85639,.88465,.88465,.86936,.88307,.86948,.85283,.85283,1.06383,1.02058,.75945,.9219,.75945,1.17337,.88465,.88465,.88465,.88465,.88465,.88465,.88465,.88465,.88465,.88465,.75945,.75945,1.02058,1.02058,1.02058,.69046,.70926,.85158,.77812,.76852,.89591,.70466,.76125,.80094,.86822,.83864,.728,.77212,.79475,.93637,.87514,.8588,.76013,.8588,.72421,.69866,.77598,.85991,.80811,.87832,.78112,.77512,.8562,1.0222,1.18417,1.0222,1.27014,.89903,1.15012,.93859,.94399,.846,.94399,.81453,1.0186,.94219,.96017,1.03075,1.02175,.912,1.03075,.96998,.96017,.93859,.94399,.94399,.95493,.746,1.12658,.94578,.91,.979,.882,.882,.83,.85034,.83537,.85034,1.02058,.70869,.88465,.88465,.88465,.88465,.83537,.90083,1.15012,.9161,.94565,.73541,1.02058,.53609,.69353,.79519,1.08595,1,1,1.15012,1,.91974,.75945,1.15012,1,.9446,.73361,.9005,.9005,.9005,.62864,.85158,.85158,.85158,.85158,.85158,.85158,.773,.76852,.70466,.70466,.70466,.70466,.83864,.83864,.83864,.83864,.90561,.87514,.8588,.8588,.8588,.8588,.8588,1.02058,.85751,.85991,.85991,.85991,.85991,.77512,.76013,.88075,.93859,.93859,.93859,.93859,.93859,.93859,.8075,.846,.81453,.81453,.81453,.81453,.82424,.82424,.82424,.82424,.9278,.96017,.93859,.93859,.93859,.93859,.93859,1.08595,.8562,.94578,.94578,.94578,.94578,.882,.94578,.882,.85158,.93859,.85158,.93859,.85158,.93859,.76852,.846,.76852,.846,.76852,.846,.76852,.846,.89591,.8544,.90561,.94399,.70466,.81453,.70466,.81453,.70466,.81453,.70466,.81453,.70466,.81453,.80094,.94219,.80094,.94219,.80094,.94219,1,1,.86822,.96017,.86822,.96017,.83864,.82424,.83864,.82424,.83864,.82424,.83864,1.03075,.83864,.82424,.81402,1.02738,.728,1.02175,1,1,.912,.79475,1.03075,1,1,.79475,.83911,.79475,.66266,.80553,1.06676,.87514,.96017,1,1,.87514,.96017,.86865,.87396,.96017,.8588,.93859,.8588,.93859,.8588,.93859,.867,.84759,.72421,.95493,1,1,.72421,.95493,.69866,.746,.69866,.746,1,1,.69866,.746,1,1,.77598,.88417,.77598,1.12658,.85991,.94578,.85991,.94578,.85991,.94578,.85991,.94578,.85991,.94578,.85991,.94578,.87832,.979,.77512,.882,.77512,.8562,.83,.8562,.83,.8562,.83,1,.88465,.85158,.93859,.773,.8075,.85751,.8562,1,1,.77598,1.12658,1.15012,1.15012,1.15012,1.15012,1.15012,1.15313,1.15012,1.15012,1.15012,1.08106,1.03901,.85158,.77025,.62264,.7646,.65351,.86026,.69461,.89947,1.03075,.85158,.77812,.76449,.88836,.70466,.8562,.86822,.8588,.83864,.77212,.85308,.93637,.87514,.82352,.8588,.85701,.76013,.89058,.77598,.8156,.82565,.78112,.77899,.89386,.83864,.8156,.9486,.92388,.96186,1.03075,.91123,.9486,.93298,.878,.93942,.92388,.84596,.96186,.95119,1.03075,.922,.88787,.95829,.88,.93559,.93859,.78815,.93758,1,.89217,1.03737,.91123,.93969,.77487,.85769,.86799,1.03075,.91123,.93859,.91123,.86799,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.87832,.979,.87832,.979,.87832,.979,.77512,.882,.9219,1,.89903,1,1,1,.87321,.87321,.87321,1,1.027,1.027,1.027,.86847,.86847,.79121,1,1.124,1,1,.73572,.73572,1,1,.85034,1,1,1,1,.88465,1,1,1,.669,1,1.36145,1,1,1,1,1,1,1,1,1,1,1,1.04828,1,.74948,.75187,1.02058,.98391,1.02119,1,1,1.06233,1.08595,1.08595,1,1.08595,1.08595,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.05233,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],MC={lineHeight:1.2,lineGap:.2},GC=[1.36898,1,1,.76305,.82784,.94935,.89364,.92241,.89073,.90706,.98472,.85283,.85283,1.0664,1.02058,.74505,.9219,.74505,1.23456,.92241,.92241,.92241,.92241,.92241,.92241,.92241,.92241,.92241,.92241,.74505,.74505,1.02058,1.02058,1.02058,.73002,.72601,.91755,.8126,.80314,.92222,.73764,.79726,.83051,.90284,.86023,.74,.8126,.84869,.96518,.91115,.8858,.79761,.8858,.74498,.73914,.81363,.89591,.83659,.89633,.85608,.8111,.90531,1.0222,1.22736,1.0222,1.27014,.89903,.90088,.86667,1.0231,.896,1.01411,.90083,1.05099,1.00512,.99793,1.05326,1.09377,.938,1.06226,1.00119,.99793,.98714,1.0231,1.01231,.98196,.792,1.19137,.99074,.962,1.01915,.926,.942,.856,.85034,.92006,.85034,1.02058,.69067,.92241,.92241,.92241,.92241,.92006,.9332,.90088,.91882,.93484,.75339,1.02058,.56866,.54324,.79519,1.08595,1,1,.90088,1,.95325,.74505,.90088,1,.97198,.75339,.91009,.91009,.91009,.66466,.91755,.91755,.91755,.91755,.91755,.91755,.788,.80314,.73764,.73764,.73764,.73764,.86023,.86023,.86023,.86023,.92915,.91115,.8858,.8858,.8858,.8858,.8858,1.02058,.8858,.89591,.89591,.89591,.89591,.8111,.79611,.89713,.86667,.86667,.86667,.86667,.86667,.86667,.86936,.896,.90083,.90083,.90083,.90083,.84224,.84224,.84224,.84224,.97276,.99793,.98714,.98714,.98714,.98714,.98714,1.08595,.89876,.99074,.99074,.99074,.99074,.942,1.0231,.942,.91755,.86667,.91755,.86667,.91755,.86667,.80314,.896,.80314,.896,.80314,.896,.80314,.896,.92222,.93372,.92915,1.01411,.73764,.90083,.73764,.90083,.73764,.90083,.73764,.90083,.73764,.90083,.83051,1.00512,.83051,1.00512,.83051,1.00512,1,1,.90284,.99793,.90976,.99793,.86023,.84224,.86023,.84224,.86023,.84224,.86023,1.05326,.86023,.84224,.82873,1.07469,.74,1.09377,1,1,.938,.84869,1.06226,1,1,.84869,.83704,.84869,.81441,.85588,1.08927,.91115,.99793,1,1,.91115,.99793,.91887,.90991,.99793,.8858,.98714,.8858,.98714,.8858,.98714,.894,.91434,.74498,.98196,1,1,.74498,.98196,.73914,.792,.73914,.792,1,1,.73914,.792,1,1,.81363,.904,.81363,1.19137,.89591,.99074,.89591,.99074,.89591,.99074,.89591,.99074,.89591,.99074,.89591,.99074,.89633,1.01915,.8111,.942,.8111,.90531,.856,.90531,.856,.90531,.856,1,.92241,.91755,.86667,.788,.86936,.8858,.89876,1,1,.81363,1.19137,.90088,.90088,.90088,.90088,.90088,.90088,.90088,.90088,.90088,.90388,1.03901,.92138,.78105,.7154,.86169,.80513,.94007,.82528,.98612,1.06226,.91755,.8126,.81884,.92819,.73764,.90531,.90284,.8858,.86023,.8126,.91172,.96518,.91115,.83089,.8858,.87791,.79761,.89297,.81363,.88157,.89992,.85608,.81992,.94307,.86023,.88157,.95308,.98699,.99793,1.06226,.95817,.95308,.97358,.928,.98088,.98699,.92761,.99793,.96017,1.06226,.986,.944,.95978,.938,.96705,.98714,.80442,.98972,1,.89762,1.04552,.95817,.99007,.87064,.91879,.88888,1.06226,.95817,.98714,.95817,.88888,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.89633,1.01915,.89633,1.01915,.89633,1.01915,.8111,.942,.9219,1,.89903,1,1,1,.93173,.93173,.93173,1,1.06304,1.06304,1.06904,.89903,.89903,.80549,1,1.156,1,1,.76575,.76575,1,1,.72458,1,1,1,1,.92241,1,1,1,.619,1,1.36145,1,1,1,1,1,1,1,1,1,1,1,1.07257,1,.74705,.71119,1.02058,1.024,1.02119,1,1,1.1536,1.08595,1.08595,1,1.08595,1.08595,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.05638,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],LC={lineHeight:1.2,lineGap:.2},UC=[1.76738,1,1,.99297,.9824,1.04016,1.06497,1.03424,.97529,1.17647,1.23203,1.1085,1.1085,1.16939,1.2107,.9754,1.21408,.9754,1.59578,1.03424,1.03424,1.03424,1.03424,1.03424,1.03424,1.03424,1.03424,1.03424,1.03424,.81378,.81378,1.2107,1.2107,1.2107,.71703,.97847,.97363,.88776,.8641,1.02096,.79795,.85132,.914,1.06085,1.1406,.8007,.89858,.83693,1.14889,1.09398,.97489,.92094,.97489,.90399,.84041,.95923,1.00135,1,1.06467,.98243,.90996,.99361,1.1085,1.56942,1.1085,1.2107,.74627,.94282,.96752,1.01519,.86304,1.01359,.97278,1.15103,1.01359,.98561,1.02285,1.02285,1.00527,1.02285,1.0302,.99041,1.0008,1.01519,1.01359,1.02258,.79104,1.16862,.99041,.97454,1.02511,.99298,.96752,.95801,.94856,1.16579,.94856,1.2107,.9824,1.03424,1.03424,1,1.03424,1.16579,.8727,1.3871,1.18622,1.10818,1.04478,1.2107,1.18622,.75155,.94994,1.28826,1.21408,1.21408,.91056,1,.91572,.9754,.64663,1.18328,1.24866,1.04478,1.14169,1.15749,1.17389,.71703,.97363,.97363,.97363,.97363,.97363,.97363,.93506,.8641,.79795,.79795,.79795,.79795,1.1406,1.1406,1.1406,1.1406,1.02096,1.09398,.97426,.97426,.97426,.97426,.97426,1.2107,.97489,1.00135,1.00135,1.00135,1.00135,.90996,.92094,1.02798,.96752,.96752,.96752,.96752,.96752,.96752,.93136,.86304,.97278,.97278,.97278,.97278,1.02285,1.02285,1.02285,1.02285,.97122,.99041,1,1,1,1,1,1.28826,1.0008,.99041,.99041,.99041,.99041,.96752,1.01519,.96752,.97363,.96752,.97363,.96752,.97363,.96752,.8641,.86304,.8641,.86304,.8641,.86304,.8641,.86304,1.02096,1.03057,1.02096,1.03517,.79795,.97278,.79795,.97278,.79795,.97278,.79795,.97278,.79795,.97278,.914,1.01359,.914,1.01359,.914,1.01359,1,1,1.06085,.98561,1.06085,1.00879,1.1406,1.02285,1.1406,1.02285,1.1406,1.02285,1.1406,1.02285,1.1406,1.02285,.97138,1.08692,.8007,1.02285,1,1,1.00527,.83693,1.02285,1,1,.83693,.9455,.83693,.90418,.83693,1.13005,1.09398,.99041,1,1,1.09398,.99041,.96692,1.09251,.99041,.97489,1.0008,.97489,1.0008,.97489,1.0008,.93994,.97931,.90399,1.02258,1,1,.90399,1.02258,.84041,.79104,.84041,.79104,.84041,.79104,.84041,.79104,1,1,.95923,1.07034,.95923,1.16862,1.00135,.99041,1.00135,.99041,1.00135,.99041,1.00135,.99041,1.00135,.99041,1.00135,.99041,1.06467,1.02511,.90996,.96752,.90996,.99361,.95801,.99361,.95801,.99361,.95801,1.07733,1.03424,.97363,.96752,.93506,.93136,.97489,1.0008,1,1,.95923,1.16862,1.15103,1.15103,1.01173,1.03959,.75953,.81378,.79912,1.15103,1.21994,.95161,.87815,1.01149,.81525,.7676,.98167,1.01134,1.02546,.84097,1.03089,1.18102,.97363,.88776,.85134,.97826,.79795,.99361,1.06085,.97489,1.1406,.89858,1.0388,1.14889,1.09398,.86039,.97489,1.0595,.92094,.94793,.95923,.90996,.99346,.98243,1.02112,.95493,1.1406,.90996,1.03574,1.02597,1.0008,1.18102,1.06628,1.03574,1.0192,1.01932,1.00886,.97531,1.0106,1.0008,1.13189,1.18102,1.02277,.98683,1.0016,.99561,1.07237,1.0008,.90434,.99921,.93803,.8965,1.23085,1.06628,1.04983,.96268,1.0499,.98439,1.18102,1.06628,1.0008,1.06628,.98439,.79795,1,1,1,1,1,1,1,1,1,1,1,1,1.09466,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.97278,1,1,1,1,1,1,1,1,1,1,1,1,1.02065,1,1,1,1,1,1,1.06467,1.02511,1.06467,1.02511,1.06467,1.02511,.90996,.96752,1,1.21408,.89903,1,1,.75155,1.04394,1.04394,1.04394,1.04394,.98633,.98633,.98633,.73047,.73047,1.20642,.91211,1.25635,1.222,1.02956,1.03372,1.03372,.96039,1.24633,1,1.12454,.93503,1.03424,1.19687,1.03424,1,1,1,.771,1,1,1.15749,1.15749,1.15749,1.10948,.86279,.94434,.86279,.94434,.86182,1,1,1.16897,1,.96085,.90137,1.2107,1.18416,1.13973,.69825,.9716,2.10339,1.29004,1.29004,1.21172,1.29004,1.29004,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.42603,1,.99862,.99862,1,.87025,.87025,.87025,.87025,1.18874,1.42603,1,1.42603,1.42603,.99862,1,1,1,1,1,1.2886,1.04315,1.15296,1.34163,1,1,1,1.09193,1.09193,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],HC={lineHeight:1.33008,lineGap:0},JC=[1.76738,1,1,.98946,1.03959,1.04016,1.02809,1.036,.97639,1.10953,1.23203,1.11144,1.11144,1.16939,1.21237,.9754,1.21261,.9754,1.59754,1.036,1.036,1.036,1.036,1.036,1.036,1.036,1.036,1.036,1.036,.81378,.81378,1.21237,1.21237,1.21237,.73541,.97847,.97363,.89723,.87897,1.0426,.79429,.85292,.91149,1.05815,1.1406,.79631,.90128,.83853,1.04396,1.10615,.97552,.94436,.97552,.88641,.80527,.96083,1.00135,1,1.06777,.9817,.91142,.99361,1.11144,1.57293,1.11144,1.21237,.74627,1.31818,1.06585,.97042,.83055,.97042,.93503,1.1261,.97042,.97922,1.14236,.94552,1.01054,1.14236,1.02471,.97922,.94165,.97042,.97042,1.0276,.78929,1.1261,.97922,.95874,1.02197,.98507,.96752,.97168,.95107,1.16579,.95107,1.21237,1.03959,1.036,1.036,1,1.036,1.16579,.87357,1.31818,1.18754,1.26781,1.05356,1.21237,1.18622,.79487,.94994,1.29004,1.24047,1.24047,1.31818,1,.91484,.9754,1.31818,1.1349,1.24866,1.05356,1.13934,1.15574,1.17389,.73541,.97363,.97363,.97363,.97363,.97363,.97363,.94385,.87897,.79429,.79429,.79429,.79429,1.1406,1.1406,1.1406,1.1406,1.0426,1.10615,.97552,.97552,.97552,.97552,.97552,1.21237,.97552,1.00135,1.00135,1.00135,1.00135,.91142,.94436,.98721,1.06585,1.06585,1.06585,1.06585,1.06585,1.06585,.96705,.83055,.93503,.93503,.93503,.93503,1.14236,1.14236,1.14236,1.14236,.93125,.97922,.94165,.94165,.94165,.94165,.94165,1.29004,.94165,.97922,.97922,.97922,.97922,.96752,.97042,.96752,.97363,1.06585,.97363,1.06585,.97363,1.06585,.87897,.83055,.87897,.83055,.87897,.83055,.87897,.83055,1.0426,1.0033,1.0426,.97042,.79429,.93503,.79429,.93503,.79429,.93503,.79429,.93503,.79429,.93503,.91149,.97042,.91149,.97042,.91149,.97042,1,1,1.05815,.97922,1.05815,.97922,1.1406,1.14236,1.1406,1.14236,1.1406,1.14236,1.1406,1.14236,1.1406,1.14236,.97441,1.04302,.79631,1.01582,1,1,1.01054,.83853,1.14236,1,1,.83853,1.09125,.83853,.90418,.83853,1.19508,1.10615,.97922,1,1,1.10615,.97922,1.01034,1.10466,.97922,.97552,.94165,.97552,.94165,.97552,.94165,.91602,.91981,.88641,1.0276,1,1,.88641,1.0276,.80527,.78929,.80527,.78929,.80527,.78929,.80527,.78929,1,1,.96083,1.05403,.95923,1.16862,1.00135,.97922,1.00135,.97922,1.00135,.97922,1.00135,.97922,1.00135,.97922,1.00135,.97922,1.06777,1.02197,.91142,.96752,.91142,.99361,.97168,.99361,.97168,.99361,.97168,1.23199,1.036,.97363,1.06585,.94385,.96705,.97552,.94165,1,1,.96083,1.1261,1.31818,1.31818,1.31818,1.31818,1.31818,1.31818,1.31818,1.31818,1.31818,.95161,1.27126,1.00811,.83284,.77702,.99137,.95253,1.0347,.86142,1.07205,1.14236,.97363,.89723,.86869,1.09818,.79429,.99361,1.05815,.97552,1.1406,.90128,1.06662,1.04396,1.10615,.84918,.97552,1.04694,.94436,.98015,.96083,.91142,1.00356,.9817,1.01945,.98999,1.1406,.91142,1.04961,.9898,1.00639,1.14236,1.07514,1.04961,.99607,1.02897,1.008,.9898,.95134,1.00639,1.11121,1.14236,1.00518,.97981,1.02186,1,1.08578,.94165,.99314,.98387,.93028,.93377,1.35125,1.07514,1.10687,.93491,1.04232,1.00351,1.14236,1.07514,.94165,1.07514,1.00351,.79429,1,1,1,1,1,1,1,1,1,1,1,1,1.09097,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.93503,1,1,1,1,1,1,1,1,1,1,1,1,.96609,1,1,1,1,1,1,1.06777,1.02197,1.06777,1.02197,1.06777,1.02197,.91142,.96752,1,1.21261,.89903,1,1,.75155,1.04745,1.04745,1.04745,1.04394,.98633,.98633,.98633,.72959,.72959,1.20502,.91406,1.26514,1.222,1.02956,1.03372,1.03372,.96039,1.24633,1,1.09125,.93327,1.03336,1.16541,1.036,1,1,1,.771,1,1,1.15574,1.15574,1.15574,1.15574,.86364,.94434,.86279,.94434,.86224,1,1,1.16798,1,.96085,.90068,1.21237,1.18416,1.13904,.69825,.9716,2.10339,1.29004,1.29004,1.21339,1.29004,1.29004,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.42603,1,.99862,.99862,1,.87025,.87025,.87025,.87025,1.18775,1.42603,1,1.42603,1.42603,.99862,1,1,1,1,1,1.2886,1.04315,1.15296,1.34163,1,1,1,1.13269,1.13269,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],TC={lineHeight:1.33008,lineGap:0},PC=[1.76738,1,1,.98946,1.14763,1.05365,1.06234,.96927,.92586,1.15373,1.18414,.91349,.91349,1.07403,1.17308,.78383,1.20088,.78383,1.42531,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.78383,.78383,1.17308,1.17308,1.17308,.77349,.94565,.94729,.85944,.88506,.9858,.74817,.80016,.88449,.98039,.95782,.69238,.89898,.83231,.98183,1.03989,.96924,.86237,.96924,.80595,.74524,.86091,.95402,.94143,.98448,.8858,.83089,.93285,1.0949,1.39016,1.0949,1.45994,.74627,1.04839,.97454,.97454,.87207,.97454,.87533,1.06151,.97454,1.00176,1.16484,1.08132,.98047,1.16484,1.02989,1.01054,.96225,.97454,.97454,1.06598,.79004,1.16344,1.00351,.94629,.9973,.91016,.96777,.9043,.91082,.92481,.91082,1.17308,.95748,.96927,.96927,1,.96927,.92481,.80597,1.04839,1.23393,1.1781,.9245,1.17308,1.20808,.63218,.94261,1.24822,1.09971,1.09971,1.04839,1,.85273,.78032,1.04839,1.09971,1.22326,.9245,1.09836,1.13525,1.15222,.70424,.94729,.94729,.94729,.94729,.94729,.94729,.85498,.88506,.74817,.74817,.74817,.74817,.95782,.95782,.95782,.95782,.9858,1.03989,.96924,.96924,.96924,.96924,.96924,1.17308,.96924,.95402,.95402,.95402,.95402,.83089,.86237,.88409,.97454,.97454,.97454,.97454,.97454,.97454,.92916,.87207,.87533,.87533,.87533,.87533,.93146,.93146,.93146,.93146,.93854,1.01054,.96225,.96225,.96225,.96225,.96225,1.24822,.8761,1.00351,1.00351,1.00351,1.00351,.96777,.97454,.96777,.94729,.97454,.94729,.97454,.94729,.97454,.88506,.87207,.88506,.87207,.88506,.87207,.88506,.87207,.9858,.95391,.9858,.97454,.74817,.87533,.74817,.87533,.74817,.87533,.74817,.87533,.74817,.87533,.88449,.97454,.88449,.97454,.88449,.97454,1,1,.98039,1.00176,.98039,1.00176,.95782,.93146,.95782,.93146,.95782,.93146,.95782,1.16484,.95782,.93146,.84421,1.12761,.69238,1.08132,1,1,.98047,.83231,1.16484,1,1,.84723,1.04861,.84723,.78755,.83231,1.23736,1.03989,1.01054,1,1,1.03989,1.01054,.9857,1.03849,1.01054,.96924,.96225,.96924,.96225,.96924,.96225,.92383,.90171,.80595,1.06598,1,1,.80595,1.06598,.74524,.79004,.74524,.79004,.74524,.79004,.74524,.79004,1,1,.86091,1.02759,.85771,1.16344,.95402,1.00351,.95402,1.00351,.95402,1.00351,.95402,1.00351,.95402,1.00351,.95402,1.00351,.98448,.9973,.83089,.96777,.83089,.93285,.9043,.93285,.9043,.93285,.9043,1.31868,.96927,.94729,.97454,.85498,.92916,.96924,.8761,1,1,.86091,1.16344,1.04839,1.04839,1.04839,1.04839,1.04839,1.04839,1.04839,1.04839,1.04839,.81965,.81965,.94729,.78032,.71022,.90883,.84171,.99877,.77596,1.05734,1.2,.94729,.85944,.82791,.9607,.74817,.93285,.98039,.96924,.95782,.89898,.98316,.98183,1.03989,.78614,.96924,.97642,.86237,.86075,.86091,.83089,.90082,.8858,.97296,1.01284,.95782,.83089,1.0976,1.04,1.03342,1.2,1.0675,1.0976,.98205,1.03809,1.05097,1.04,.95364,1.03342,1.05401,1.2,1.02148,1.0119,1.04724,1.0127,1.02732,.96225,.8965,.97783,.93574,.94818,1.30679,1.0675,1.11826,.99821,1.0557,1.0326,1.2,1.0675,.96225,1.0675,1.0326,.74817,1,1,1,1,1,1,1,1,1,1,1,1,1.03754,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.87533,1,1,1,1,1,1,1,1,1,1,1,1,.98705,1,1,1,1,1,1,.98448,.9973,.98448,.9973,.98448,.9973,.83089,.96777,1,1.20088,.89903,1,1,.75155,.94945,.94945,.94945,.94945,1.12317,1.12317,1.12317,.67603,.67603,1.15621,.73584,1.21191,1.22135,1.06483,.94868,.94868,.95996,1.24633,1,1.07497,.87709,.96927,1.01473,.96927,1,1,1,.77295,1,1,1.09836,1.09836,1.09836,1.01522,.86321,.94434,.8649,.94434,.86182,1,1,1.083,1,.91578,.86438,1.17308,1.18416,1.14589,.69825,.97622,1.96791,1.24822,1.24822,1.17308,1.24822,1.24822,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.42603,1,.99862,.99862,1,.87025,.87025,.87025,.87025,1.17984,1.42603,1,1.42603,1.42603,.99862,1,1,1,1,1,1.2886,1.04315,1.15296,1.34163,1,1,1,1.10742,1.10742,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],YC={lineHeight:1.33008,lineGap:0},KC=[1.76738,1,1,.98594,1.02285,1.10454,1.06234,.96927,.92037,1.19985,1.2046,.90616,.90616,1.07152,1.1714,.78032,1.20088,.78032,1.40246,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.78032,.78032,1.1714,1.1714,1.1714,.80597,.94084,.96706,.85944,.85734,.97093,.75842,.79936,.88198,.9831,.95782,.71387,.86969,.84636,1.07796,1.03584,.96924,.83968,.96924,.82826,.79649,.85771,.95132,.93119,.98965,.88433,.8287,.93365,1.08612,1.3638,1.08612,1.45786,.74627,.80499,.91484,1.05707,.92383,1.05882,.9403,1.12654,1.05882,1.01756,1.09011,1.09011,.99414,1.09011,1.034,1.01756,1.05356,1.05707,1.05882,1.04399,.84863,1.21968,1.01756,.95801,1.00068,.91797,.96777,.9043,.90351,.92105,.90351,1.1714,.85337,.96927,.96927,.99912,.96927,.92105,.80597,1.2434,1.20808,1.05937,.90957,1.1714,1.20808,.75155,.94261,1.24644,1.09971,1.09971,.84751,1,.85273,.78032,.61584,1.05425,1.17914,.90957,1.08665,1.11593,1.14169,.73381,.96706,.96706,.96706,.96706,.96706,.96706,.86035,.85734,.75842,.75842,.75842,.75842,.95782,.95782,.95782,.95782,.97093,1.03584,.96924,.96924,.96924,.96924,.96924,1.1714,.96924,.95132,.95132,.95132,.95132,.8287,.83968,.89049,.91484,.91484,.91484,.91484,.91484,.91484,.93575,.92383,.9403,.9403,.9403,.9403,.8717,.8717,.8717,.8717,1.00527,1.01756,1.05356,1.05356,1.05356,1.05356,1.05356,1.24644,.95923,1.01756,1.01756,1.01756,1.01756,.96777,1.05707,.96777,.96706,.91484,.96706,.91484,.96706,.91484,.85734,.92383,.85734,.92383,.85734,.92383,.85734,.92383,.97093,1.0969,.97093,1.05882,.75842,.9403,.75842,.9403,.75842,.9403,.75842,.9403,.75842,.9403,.88198,1.05882,.88198,1.05882,.88198,1.05882,1,1,.9831,1.01756,.9831,1.01756,.95782,.8717,.95782,.8717,.95782,.8717,.95782,1.09011,.95782,.8717,.84784,1.11551,.71387,1.09011,1,1,.99414,.84636,1.09011,1,1,.84636,1.0536,.84636,.94298,.84636,1.23297,1.03584,1.01756,1,1,1.03584,1.01756,1.00323,1.03444,1.01756,.96924,1.05356,.96924,1.05356,.96924,1.05356,.93066,.98293,.82826,1.04399,1,1,.82826,1.04399,.79649,.84863,.79649,.84863,.79649,.84863,.79649,.84863,1,1,.85771,1.17318,.85771,1.21968,.95132,1.01756,.95132,1.01756,.95132,1.01756,.95132,1.01756,.95132,1.01756,.95132,1.01756,.98965,1.00068,.8287,.96777,.8287,.93365,.9043,.93365,.9043,.93365,.9043,1.08571,.96927,.96706,.91484,.86035,.93575,.96924,.95923,1,1,.85771,1.21968,1.11437,1.11437,.93109,.91202,.60411,.84164,.55572,1.01173,.97361,.81818,.81818,.96635,.78032,.72727,.92366,.98601,1.03405,.77968,1.09799,1.2,.96706,.85944,.85638,.96491,.75842,.93365,.9831,.96924,.95782,.86969,.94152,1.07796,1.03584,.78437,.96924,.98715,.83968,.83491,.85771,.8287,.94492,.88433,.9287,1.0098,.95782,.8287,1.0625,.98248,1.03424,1.2,1.01071,1.0625,.95246,1.03809,1.04912,.98248,1.00221,1.03424,1.05443,1.2,1.04785,.99609,1.00169,1.05176,.99346,1.05356,.9087,1.03004,.95542,.93117,1.23362,1.01071,1.07831,1.02512,1.05205,1.03502,1.2,1.01071,1.05356,1.01071,1.03502,.75842,1,1,1,1,1,1,1,1,1,1,1,1,1.03719,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.9403,1,1,1,1,1,1,1,1,1,1,1,1,1.04021,1,1,1,1,1,1,.98965,1.00068,.98965,1.00068,.98965,1.00068,.8287,.96777,1,1.20088,.89903,1,1,.75155,1.03077,1.03077,1.03077,1.03077,1.13196,1.13196,1.13196,.67428,.67428,1.16039,.73291,1.20996,1.22135,1.06483,.94868,.94868,.95996,1.24633,1,1.07497,.87796,.96927,1.01518,.96927,1,1,1,.77295,1,1,1.10539,1.10539,1.11358,1.06967,.86279,.94434,.86279,.94434,.86182,1,1,1.083,1,.91578,.86507,1.1714,1.18416,1.14589,.69825,.97622,1.9697,1.24822,1.24822,1.17238,1.24822,1.24822,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.42603,1,.99862,.99862,1,.87025,.87025,.87025,.87025,1.18083,1.42603,1,1.42603,1.42603,.99862,1,1,1,1,1,1.2886,1.04315,1.15296,1.34163,1,1,1,1.10938,1.10938,1,1,1,1.05425,1.09971,1.09971,1.09971,1,1,1,1,1,1,1,1,1,1,1],_C={lineHeight:1.33008,lineGap:0},qC=Ig((function(e){e["MyriadPro-Regular"]=e["PdfJS-Fallback-Regular"]={name:"LiberationSans-Regular",factors:GC,baseWidths:kC,baseMapping:SC,metrics:LC},e["MyriadPro-Bold"]=e["PdfJS-Fallback-Bold"]={name:"LiberationSans-Bold",factors:FC,baseWidths:pC,baseMapping:mC,metrics:RC},e["MyriadPro-It"]=e["MyriadPro-Italic"]=e["PdfJS-Fallback-Italic"]={name:"LiberationSans-Italic",factors:NC,baseWidths:bC,baseMapping:DC,metrics:MC},e["MyriadPro-BoldIt"]=e["MyriadPro-BoldItalic"]=e["PdfJS-Fallback-BoldItalic"]={name:"LiberationSans-BoldItalic",factors:xC,baseWidths:yC,baseMapping:wC,metrics:vC},e.ArialMT=e.Arial=e["Arial-Regular"]={name:"LiberationSans-Regular",baseWidths:kC,baseMapping:SC},e["Arial-BoldMT"]=e["Arial-Bold"]={name:"LiberationSans-Bold",baseWidths:pC,baseMapping:mC},e["Arial-ItalicMT"]=e["Arial-Italic"]={name:"LiberationSans-Italic",baseWidths:bC,baseMapping:DC},e["Arial-BoldItalicMT"]=e["Arial-BoldItalic"]={name:"LiberationSans-BoldItalic",baseWidths:yC,baseMapping:wC},e["Calibri-Regular"]={name:"LiberationSans-Regular",factors:cC,baseWidths:kC,baseMapping:SC,metrics:lC},e["Calibri-Bold"]={name:"LiberationSans-Bold",factors:aC,baseWidths:pC,baseMapping:mC,metrics:nC},e["Calibri-Italic"]={name:"LiberationSans-Italic",factors:gC,baseWidths:bC,baseMapping:DC,metrics:hC},e["Calibri-BoldItalic"]={name:"LiberationSans-BoldItalic",factors:rC,baseWidths:yC,baseMapping:wC,metrics:oC},e["Segoeui-Regular"]={name:"LiberationSans-Regular",factors:KC,baseWidths:kC,baseMapping:SC,metrics:_C},e["Segoeui-Bold"]={name:"LiberationSans-Bold",factors:UC,baseWidths:pC,baseMapping:mC,metrics:HC},e["Segoeui-Italic"]={name:"LiberationSans-Italic",factors:PC,baseWidths:bC,baseMapping:DC,metrics:YC},e["Segoeui-BoldItalic"]={name:"LiberationSans-BoldItalic",factors:JC,baseWidths:yC,baseMapping:wC,metrics:TC},e["Helvetica-Regular"]=e.Helvetica={name:"LiberationSans-Regular",factors:EC,baseWidths:kC,baseMapping:SC,metrics:fC},e["Helvetica-Bold"]={name:"LiberationSans-Bold",factors:IC,baseWidths:pC,baseMapping:mC,metrics:dC},e["Helvetica-Italic"]={name:"LiberationSans-Italic",factors:BC,baseWidths:bC,baseMapping:DC,metrics:QC},e["Helvetica-BoldItalic"]={name:"LiberationSans-BoldItalic",factors:CC,baseWidths:yC,baseMapping:wC,metrics:uC}}));function OC(e){const t=hI(e);return qC()[t]}function WC(e){const t=function(e){const t=OC(e);if(!t)return null;const{baseWidths:A,baseMapping:i,factors:s}=t,a=s?A.map(((e,t)=>e*s[t])):A;let n,r=-2;const o=[];for(const[e,t]of i.map(((e,t)=>[e,t])).sort((([e],[t])=>e-t)))-1!==e&&(e===r+1?(n.push(a[t]),r+=1):(r=e,n=[a[t]],o.push(e,n)));return o}(e),A=new ig(null);A.set("BaseFont",eg.get(e)),A.set("Type",eg.get("Font")),A.set("Subtype",eg.get("CIDFontType2")),A.set("Encoding",eg.get("Identity-H")),A.set("CIDToGIDMap",eg.get("Identity")),A.set("W",t),A.set("FirstChar",t[0]),A.set("LastChar",t.at(-2)+t.at(-1).length-1);const i=new ig(null);A.set("FontDescriptor",i);const s=new ig(null);return s.set("Ordering","Identity"),s.set("Registry","Adobe"),s.set("Supplement",0),A.set("CIDSystemInfo",s),A}class jC{constructor(e){this.lexer=e,this.operators=[],this.token=null,this.prev=null}nextToken(){this.prev=this.token,this.token=this.lexer.getToken()}accept(e){return this.token.type===e&&(this.nextToken(),!0)}expect(e){if(this.accept(e))return!0;throw new yo(`Unexpected symbol: found ${this.token.type} expected ${e}.`)}parse(){return this.nextToken(),this.expect(VC.LBRACE),this.parseBlock(),this.expect(VC.RBRACE),this.operators}parseBlock(){for(;;)if(this.accept(VC.NUMBER))this.operators.push(this.prev.value);else if(this.accept(VC.OPERATOR))this.operators.push(this.prev.value);else{if(!this.accept(VC.LBRACE))return;this.parseCondition()}}parseCondition(){const e=this.operators.length;if(this.operators.push(null,null),this.parseBlock(),this.expect(VC.RBRACE),this.accept(VC.IF))this.operators[e]=this.operators.length,this.operators[e+1]="jz";else{if(!this.accept(VC.LBRACE))throw new yo("PS Function: error parsing conditional.");{const t=this.operators.length;this.operators.push(null,null);const A=this.operators.length;this.parseBlock(),this.expect(VC.RBRACE),this.expect(VC.IFELSE),this.operators[t]=this.operators.length,this.operators[t+1]="j",this.operators[e]=A,this.operators[e+1]="jz"}}}}const VC={LBRACE:0,RBRACE:1,NUMBER:2,OPERATOR:3,IF:4,IFELSE:5};class ZC{static get opCache(){return uo(this,"opCache",Object.create(null))}constructor(e,t){this.type=e,this.value=t}static getOperator(e){return ZC.opCache[e]||=new ZC(VC.OPERATOR,e)}static get LBRACE(){return uo(this,"LBRACE",new ZC(VC.LBRACE,"{"))}static get RBRACE(){return uo(this,"RBRACE",new ZC(VC.RBRACE,"}"))}static get IF(){return uo(this,"IF",new ZC(VC.IF,"IF"))}static get IFELSE(){return uo(this,"IFELSE",new ZC(VC.IFELSE,"IFELSE"))}}class XC{constructor(e){this.stream=e,this.nextChar(),this.strBuf=[]}nextChar(){return this.currentChar=this.stream.getByte()}getToken(){let e=!1,t=this.currentChar;for(;;){if(t<0)return Zo;if(e)10!==t&&13!==t||(e=!1);else if(37===t)e=!0;else if(!Dg(t))break;t=this.nextChar()}switch(0|t){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 43:case 45:case 46:return new ZC(VC.NUMBER,this.getNumber());case 123:return this.nextChar(),ZC.LBRACE;case 125:return this.nextChar(),ZC.RBRACE}const A=this.strBuf;for(A.length=0,A[0]=String.fromCharCode(t);(t=this.nextChar())>=0&&(t>=65&&t<=90||t>=97&&t<=122);)A.push(String.fromCharCode(t));const i=A.join("");switch(i.toLowerCase()){case"if":return ZC.IF;case"ifelse":return ZC.IFELSE;default:return ZC.getOperator(i)}}getNumber(){let e=this.currentChar;const t=this.strBuf;for(t.length=0,t[0]=String.fromCharCode(e);(e=this.nextChar())>=0&&(e>=48&&e<=57||45===e||46===e);)t.push(String.fromCharCode(e));const A=parseFloat(t.join(""));if(isNaN(A))throw new yo(`Invalid floating point number: ${A}`);return A}}class zC{constructor(e){this.constructor===zC&&lo("Cannot initialize BaseLocalCache."),this._onlyRefs=!0===e?.onlyRefs,this._onlyRefs||(this._nameRefMap=new Map,this._imageMap=new Map),this._imageCache=new ng}getByName(e){this._onlyRefs&&lo("Should not call `getByName` method.");const t=this._nameRefMap.get(e);return t?this.getByRef(t):this._imageMap.get(e)||null}getByRef(e){return this._imageCache.get(e)||null}set(e,t,A){lo("Abstract method `set` called.")}}class $C extends zC{set(e,t=null,A){if("string"!=typeof e)throw new Error('LocalImageCache.set - expected "name" argument.');if(t){if(this._imageCache.has(t))return;return this._nameRefMap.set(e,t),void this._imageCache.put(t,A)}this._imageMap.has(e)||this._imageMap.set(e,A)}}class eu extends zC{set(e=null,t=null,A){if("string"!=typeof e&&!t)throw new Error('LocalColorSpaceCache.set - expected "name" and/or "ref" argument.');if(t){if(this._imageCache.has(t))return;return null!==e&&this._nameRefMap.set(e,t),void this._imageCache.put(t,A)}this._imageMap.has(e)||this._imageMap.set(e,A)}}class tu extends zC{constructor(e){super({onlyRefs:!0})}set(e=null,t,A){if(!t)throw new Error('LocalFunctionCache.set - expected "ref" argument.');this._imageCache.has(t)||this._imageCache.put(t,A)}}class Au extends zC{set(e,t=null,A){if("string"!=typeof e)throw new Error('LocalGStateCache.set - expected "name" argument.');if(t){if(this._imageCache.has(t))return;return this._nameRefMap.set(e,t),void this._imageCache.put(t,A)}this._imageMap.has(e)||this._imageMap.set(e,A)}}class iu extends zC{constructor(e){super({onlyRefs:!0})}set(e=null,t,A){if(!t)throw new Error('LocalTilingPatternCache.set - expected "ref" argument.');this._imageCache.has(t)||this._imageCache.put(t,A)}}class su extends zC{constructor(e){super({onlyRefs:!0})}set(e=null,t,A){if(!t)throw new Error('RegionalImageCache.set - expected "ref" argument.');this._imageCache.has(t)||this._imageCache.put(t,A)}}class au{static NUM_PAGES_THRESHOLD=2;static MIN_IMAGES_TO_CACHE=10;static MAX_BYTE_SIZE=5e7;#dr=new ag;constructor(){this._refCache=new ng,this._imageCache=new ng}get#Cr(){let e=0;for(const t of this._imageCache)e+=t.byteSize;return e}get#ur(){return!(this._imageCache.size<au.MIN_IMAGES_TO_CACHE)&&!(this.#Cr<au.MAX_BYTE_SIZE)}shouldCache(e,t){let A=this._refCache.get(e);return A||(A=new Set,this._refCache.put(e,A)),A.add(t),!(A.size<au.NUM_PAGES_THRESHOLD)&&!(!this._imageCache.has(e)&&this.#ur)}addDecodeFailed(e){this.#dr.put(e)}hasDecodeFailed(e){return this.#dr.has(e)}addByteSize(e,t){const A=this._imageCache.get(e);A&&(A.byteSize||(A.byteSize=t))}getData(e,t){const A=this._refCache.get(e);if(!A)return null;if(A.size<au.NUM_PAGES_THRESHOLD)return null;const i=this._imageCache.get(e);return i?(A.add(t),i):null}setData(e,t){if(!this._refCache.has(e))throw new Error('GlobalImageCache.setData - expected "shouldCache" to have been called.');this._imageCache.has(e)||(this.#ur?co("GlobalImageCache.setData - cache limit reached."):this._imageCache.put(e,t))}clear(e=!1){e||(this.#dr.clear(),this._refCache.clear()),this._imageCache.clear()}}class nu{constructor({xref:e,isEvalSupported:t=!0}){this.xref=e,this.isEvalSupported=!1!==t}create(e){const t=this.getCached(e);if(t)return t;const A=ou.parse({xref:this.xref,isEvalSupported:this.isEvalSupported,fn:e instanceof sg?this.xref.fetch(e):e});return this._cache(e,A),A}createFromArray(e){const t=this.getCached(e);if(t)return t;const A=ou.parseArray({xref:this.xref,isEvalSupported:this.isEvalSupported,fnObj:e instanceof sg?this.xref.fetch(e):e});return this._cache(e,A),A}getCached(e){let t;if(e instanceof sg?t=e:e instanceof ig?t=e.objId:e instanceof cg&&(t=e.dict?.objId),t){const e=this._localFunctionCache.getByRef(t);if(e)return e}return null}_cache(e,t){if(!t)throw new Error('PDFFunctionFactory._cache - expected "parsedFunction" argument.');let A;e instanceof sg?A=e:e instanceof ig?A=e.objId:e instanceof cg&&(A=e.dict?.objId),A&&this._localFunctionCache.set(null,A,t)}get _localFunctionCache(){return uo(this,"_localFunctionCache",new tu)}}function ru(e){return Array.isArray(e)?kg(e,null)?e:e.map((e=>+e)):null}class ou{static getSampleArray(e,t,A,i){let s,a,n=1;for(s=0,a=e.length;s<a;s++)n*=e[s];n*=t;const r=new Array(n);let o=0,g=0;const h=1/(2**A-1),c=i.getBytes((n*A+7)/8);let l=0;for(s=0;s<n;s++){for(;o<A;)g<<=8,g|=c[l++],o+=8;o-=A,r[s]=(g>>o)*h,g&=(1<<o)-1}return r}static parse({xref:e,isEvalSupported:t,fn:A}){const i=A.dict||A;switch(i.get("FunctionType")){case 0:return this.constructSampled({xref:e,isEvalSupported:t,fn:A,dict:i});case 1:break;case 2:return this.constructInterpolated({xref:e,isEvalSupported:t,dict:i});case 3:return this.constructStiched({xref:e,isEvalSupported:t,dict:i});case 4:return this.constructPostScript({xref:e,isEvalSupported:t,fn:A,dict:i})}throw new yo("Unknown type of function")}static parseArray({xref:e,isEvalSupported:t,fnObj:A}){if(!Array.isArray(A))return this.parse({xref:e,isEvalSupported:t,fn:A});const i=[];for(const s of A)i.push(this.parse({xref:e,isEvalSupported:t,fn:e.fetchIfRef(s)}));return function(e,t,A,s){for(let a=0,n=i.length;a<n;a++)i[a](e,t,A,s+a)}}static constructSampled({xref:e,isEvalSupported:t,fn:A,dict:i}){function s(e){const t=e.length,A=[];let i=0;for(let s=0;s<t;s+=2)A[i++]=[e[s],e[s+1]];return A}function a(e,t,A,i,s){return i+(s-i)/(A-t)*(e-t)}let n=ru(i.getArray("Domain")),r=ru(i.getArray("Range"));if(!n||!r)throw new yo("No domain or range");const o=n.length/2,g=r.length/2;n=s(n),r=s(r);const h=ru(i.getArray("Size")),c=i.get("BitsPerSample"),l=i.get("Order")||1;1!==l&&ho("No support for cubic spline interpolation: "+l);let I=ru(i.getArray("Encode"));if(I)I=s(I);else{I=[];for(let e=0;e<o;++e)I.push([0,h[e]-1])}let d=ru(i.getArray("Decode"));d=d?s(d):r;const C=this.getSampleArray(h,g,c,A);return function(e,t,A,i){const s=1<<o,c=new Float64Array(s),l=new Uint32Array(s);let u,B;for(B=0;B<s;B++)c[B]=1;let Q=g,E=1;for(u=0;u<o;++u){const A=n[u][0],i=n[u][1];let r=a(Math.min(Math.max(e[t+u],A),i),A,i,I[u][0],I[u][1]);const o=h[u];r=Math.min(Math.max(r,0),o-1);const g=r<o-1?Math.floor(r):r-1,d=g+1-r,C=r-g,f=g*Q,p=f+Q;for(B=0;B<s;B++)B&E?(c[B]*=C,l[B]+=p):(c[B]*=d,l[B]+=f);Q*=o,E<<=1}for(B=0;B<g;++B){let e=0;for(u=0;u<s;u++)e+=C[l[u]+B]*c[u];e=a(e,0,1,d[B][0],d[B][1]),A[i+B]=Math.min(Math.max(e,r[B][0]),r[B][1])}}}static constructInterpolated({xref:e,isEvalSupported:t,dict:A}){const i=ru(A.getArray("C0"))||[0],s=ru(A.getArray("C1"))||[1],a=A.get("N"),n=[];for(let e=0,t=i.length;e<t;++e)n.push(s[e]-i[e]);const r=n.length;return function(e,t,A,s){const o=1===a?e[t]:e[t]**a;for(let e=0;e<r;++e)A[s+e]=i[e]+o*n[e]}}static constructStiched({xref:e,isEvalSupported:t,dict:A}){const i=ru(A.getArray("Domain"));if(!i)throw new yo("No domain");if(1!==i.length/2)throw new yo("Bad domain for stiched function");const s=[];for(const i of A.get("Functions"))s.push(this.parse({xref:e,isEvalSupported:t,fn:e.fetchIfRef(i)}));const a=ru(A.getArray("Bounds")),n=ru(A.getArray("Encode")),r=new Float32Array(1);return function(e,t,A,o){const g=function(e,t,A){return e>A?e=A:e<t&&(e=t),e}(e[t],i[0],i[1]),h=a.length;let c;for(c=0;c<h&&!(g<a[c]);++c);let l=i[0];c>0&&(l=a[c-1]);let I=i[1];c<a.length&&(I=a[c]);const d=n[2*c],C=n[2*c+1];r[0]=l===I?d:d+(g-l)*(C-d)/(I-l),s[c](r,0,A,o)}}static constructPostScript({xref:e,isEvalSupported:t,fn:A,dict:i}){const s=ru(i.getArray("Domain")),a=ru(i.getArray("Range"));if(!s)throw new yo("No domain.");if(!a)throw new yo("No range.");const n=new XC(A),r=new jC(n).parse();if(t&&Fo.isEvalSupported){const e=(new wu).compile(r,s,a);if(e)return new Function("src","srcOffset","dest","destOffset",e)}ho("Unable to compile PS function");const o=a.length>>1,g=s.length>>1,h=new cu(r),c=Object.create(null);let l=8192;const I=new Float32Array(g);return function(e,t,A,i){let s,n,r="";const d=I;for(s=0;s<g;s++)n=e[t+s],d[s]=n,r+=n+"_";const C=c[r];if(void 0!==C)return void A.set(C,i);const u=new Float32Array(o),B=h.execute(d),Q=B.length-o;for(s=0;s<o;s++){n=B[Q+s];let e=a[2*s];n<e?n=e:(e=a[2*s+1],n>e&&(n=e)),u[s]=n}l>0&&(l--,c[r]=u),A.set(u,i)}}}function gu(e){let t;if(e instanceof ig)t=e;else{if(!(e instanceof cg))return!1;t=e.dict}return t.has("FunctionType")}class hu{static MAX_STACK_SIZE=100;constructor(e){this.stack=e?Array.from(e):[]}push(e){if(this.stack.length>=hu.MAX_STACK_SIZE)throw new Error("PostScript function stack overflow.");this.stack.push(e)}pop(){if(this.stack.length<=0)throw new Error("PostScript function stack underflow.");return this.stack.pop()}copy(e){if(this.stack.length+e>=hu.MAX_STACK_SIZE)throw new Error("PostScript function stack overflow.");const t=this.stack;for(let A=t.length-e,i=e-1;i>=0;i--,A++)t.push(t[A])}index(e){this.push(this.stack[this.stack.length-e-1])}roll(e,t){const A=this.stack,i=A.length-e,s=A.length-1,a=i+(t-Math.floor(t/e)*e);for(let e=i,t=s;e<t;e++,t--){const i=A[e];A[e]=A[t],A[t]=i}for(let e=i,t=a-1;e<t;e++,t--){const i=A[e];A[e]=A[t],A[t]=i}for(let e=a,t=s;e<t;e++,t--){const i=A[e];A[e]=A[t],A[t]=i}}}class cu{constructor(e){this.operators=e}execute(e){const t=new hu(e);let A=0;const i=this.operators,s=i.length;let a,n,r;for(;A<s;)if(a=i[A++],"number"!=typeof a)switch(a){case"jz":r=t.pop(),n=t.pop(),n||(A=r);break;case"j":n=t.pop(),A=n;break;case"abs":n=t.pop(),t.push(Math.abs(n));break;case"add":r=t.pop(),n=t.pop(),t.push(n+r);break;case"and":r=t.pop(),n=t.pop(),"boolean"==typeof n&&"boolean"==typeof r?t.push(n&&r):t.push(n&r);break;case"atan":r=t.pop(),n=t.pop(),n=Math.atan2(n,r)/Math.PI*180,n<0&&(n+=360),t.push(n);break;case"bitshift":r=t.pop(),n=t.pop(),n>0?t.push(n<<r):t.push(n>>r);break;case"ceiling":n=t.pop(),t.push(Math.ceil(n));break;case"copy":n=t.pop(),t.copy(n);break;case"cos":n=t.pop(),t.push(Math.cos(n%360/180*Math.PI));break;case"cvi":n=0|t.pop(),t.push(n);break;case"cvr":break;case"div":r=t.pop(),n=t.pop(),t.push(n/r);break;case"dup":t.copy(1);break;case"eq":r=t.pop(),n=t.pop(),t.push(n===r);break;case"exch":t.roll(2,1);break;case"exp":r=t.pop(),n=t.pop(),t.push(n**r);break;case"false":t.push(!1);break;case"floor":n=t.pop(),t.push(Math.floor(n));break;case"ge":r=t.pop(),n=t.pop(),t.push(n>=r);break;case"gt":r=t.pop(),n=t.pop(),t.push(n>r);break;case"idiv":r=t.pop(),n=t.pop(),t.push(n/r|0);break;case"index":n=t.pop(),t.index(n);break;case"le":r=t.pop(),n=t.pop(),t.push(n<=r);break;case"ln":n=t.pop(),t.push(Math.log(n));break;case"log":n=t.pop(),t.push(Math.log10(n));break;case"lt":r=t.pop(),n=t.pop(),t.push(n<r);break;case"mod":r=t.pop(),n=t.pop(),t.push(n%r);break;case"mul":r=t.pop(),n=t.pop(),t.push(n*r);break;case"ne":r=t.pop(),n=t.pop(),t.push(n!==r);break;case"neg":n=t.pop(),t.push(-n);break;case"not":n=t.pop(),"boolean"==typeof n?t.push(!n):t.push(~n);break;case"or":r=t.pop(),n=t.pop(),"boolean"==typeof n&&"boolean"==typeof r?t.push(n||r):t.push(n|r);break;case"pop":t.pop();break;case"roll":r=t.pop(),n=t.pop(),t.roll(n,r);break;case"round":n=t.pop(),t.push(Math.round(n));break;case"sin":n=t.pop(),t.push(Math.sin(n%360/180*Math.PI));break;case"sqrt":n=t.pop(),t.push(Math.sqrt(n));break;case"sub":r=t.pop(),n=t.pop(),t.push(n-r);break;case"true":t.push(!0);break;case"truncate":n=t.pop(),n=n<0?Math.ceil(n):Math.floor(n),t.push(n);break;case"xor":r=t.pop(),n=t.pop(),"boolean"==typeof n&&"boolean"==typeof r?t.push(n!==r):t.push(n^r);break;default:throw new yo(`Unknown operator ${a}`)}else t.push(a);return t.stack}}class lu{constructor(e){this.type=e}visit(e){lo("abstract method")}}class Iu extends lu{constructor(e,t,A){super("args"),this.index=e,this.min=t,this.max=A}visit(e){e.visitArgument(this)}}class du extends lu{constructor(e){super("literal"),this.number=e,this.min=e,this.max=e}visit(e){e.visitLiteral(this)}}class Cu extends lu{constructor(e,t,A,i,s){super("binary"),this.op=e,this.arg1=t,this.arg2=A,this.min=i,this.max=s}visit(e){e.visitBinaryOperation(this)}}class uu extends lu{constructor(e,t){super("max"),this.arg=e,this.min=e.min,this.max=t}visit(e){e.visitMin(this)}}class Bu extends lu{constructor(e,t,A){super("var"),this.index=e,this.min=t,this.max=A}visit(e){e.visitVariable(this)}}class Qu extends lu{constructor(e,t){super("definition"),this.variable=e,this.arg=t}visit(e){e.visitVariableDefinition(this)}}class Eu{constructor(){this.parts=[]}visitArgument(e){this.parts.push("Math.max(",e.min,", Math.min(",e.max,", src[srcOffset + ",e.index,"]))")}visitVariable(e){this.parts.push("v",e.index)}visitLiteral(e){this.parts.push(e.number)}visitBinaryOperation(e){this.parts.push("("),e.arg1.visit(this),this.parts.push(" ",e.op," "),e.arg2.visit(this),this.parts.push(")")}visitVariableDefinition(e){this.parts.push("var "),e.variable.visit(this),this.parts.push(" = "),e.arg.visit(this),this.parts.push(";")}visitMin(e){this.parts.push("Math.min("),e.arg.visit(this),this.parts.push(", ",e.max,")")}toString(){return this.parts.join("")}}function fu(e,t){return"literal"===t.type&&0===t.number?e:"literal"===e.type&&0===e.number?t:"literal"===t.type&&"literal"===e.type?new du(e.number+t.number):new Cu("+",e,t,e.min+t.min,e.max+t.max)}function pu(e,t){if("literal"===t.type){if(0===t.number)return new du(0);if(1===t.number)return e;if("literal"===e.type)return new du(e.number*t.number)}if("literal"===e.type){if(0===e.number)return new du(0);if(1===e.number)return t}const A=Math.min(e.min*t.min,e.min*t.max,e.max*t.min,e.max*t.max),i=Math.max(e.min*t.min,e.min*t.max,e.max*t.min,e.max*t.max);return new Cu("*",e,t,A,i)}function mu(e,t){if("literal"===t.type){if(0===t.number)return e;if("literal"===e.type)return new du(e.number-t.number)}return"binary"===t.type&&"-"===t.op&&"literal"===e.type&&1===e.number&&"literal"===t.arg1.type&&1===t.arg1.number?t.arg2:new Cu("-",e,t,e.min-t.max,e.max-t.min)}function yu(e,t){return e.min>=t?new du(t):e.max<=t?e:new uu(e,t)}class wu{compile(e,t,A){const i=[],s=[],a=t.length>>1,n=A.length>>1;let r,o,g,h,c,l,I,d,C=0;for(let e=0;e<a;e++)i.push(new Iu(e,t[2*e],t[2*e+1]));for(let t=0,A=e.length;t<A;t++)if(d=e[t],"number"!=typeof d)switch(d){case"add":if(i.length<2)return null;h=i.pop(),g=i.pop(),i.push(fu(g,h));break;case"cvr":if(i.length<1)return null;break;case"mul":if(i.length<2)return null;h=i.pop(),g=i.pop(),i.push(pu(g,h));break;case"sub":if(i.length<2)return null;h=i.pop(),g=i.pop(),i.push(mu(g,h));break;case"exch":if(i.length<2)return null;c=i.pop(),l=i.pop(),i.push(c,l);break;case"pop":if(i.length<1)return null;i.pop();break;case"index":if(i.length<1)return null;if(g=i.pop(),"literal"!==g.type)return null;if(r=g.number,r<0||!Number.isInteger(r)||i.length<r)return null;if(c=i[i.length-r-1],"literal"===c.type||"var"===c.type){i.push(c);break}I=new Bu(C++,c.min,c.max),i[i.length-r-1]=I,i.push(I),s.push(new Qu(I,c));break;case"dup":if(i.length<1)return null;if("number"==typeof e[t+1]&&"gt"===e[t+2]&&e[t+3]===t+7&&"jz"===e[t+4]&&"pop"===e[t+5]&&e[t+6]===e[t+1]){g=i.pop(),i.push(yu(g,e[t+1])),t+=6;break}if(c=i.at(-1),"literal"===c.type||"var"===c.type){i.push(c);break}I=new Bu(C++,c.min,c.max),i[i.length-1]=I,i.push(I),s.push(new Qu(I,c));break;case"roll":if(i.length<2)return null;if(h=i.pop(),g=i.pop(),"literal"!==h.type||"literal"!==g.type)return null;if(o=h.number,r=g.number,r<=0||!Number.isInteger(r)||!Number.isInteger(o)||i.length<r)return null;if(o=(o%r+r)%r,0===o)break;i.push(...i.splice(i.length-r,r-o));break;default:return null}else i.push(new du(d));if(i.length!==n)return null;const u=[];for(const e of s){const t=new Eu;e.visit(t),u.push(t.toString())}for(let e=0,t=i.length;e<t;e++){const t=i[e],s=new Eu;t.visit(s);const a=A[2*e],n=A[2*e+1],r=[s.toString()];a>t.min&&(r.unshift("Math.max(",a,", "),r.push(")")),n<t.max&&(r.unshift("Math.min(",n,", "),r.push(")")),r.unshift("dest[destOffset + ",e,"] = "),r.push(";"),u.push(r.join(""))}return u.join("\n")}}const bu=["BN","BN","BN","BN","BN","BN","BN","BN","BN","S","B","S","WS","B","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","B","B","B","S","WS","ON","ON","ET","ET","ET","ON","ON","ON","ON","ON","ES","CS","ES","CS","CS","EN","EN","EN","EN","EN","EN","EN","EN","EN","EN","CS","ON","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","ON","ON","ON","BN","BN","BN","BN","BN","BN","B","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","CS","ON","ET","ET","ET","ET","ON","ON","ON","ON","L","ON","ON","BN","ON","ON","ET","ET","EN","EN","ON","L","ON","ON","ON","EN","L","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","L","L","L","L","L","L","L","L"],Du=["AN","AN","AN","AN","AN","AN","ON","ON","AL","ET","ET","AL","CS","AL","ON","ON","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","AL","AL","","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","AN","AN","AN","AN","AN","AN","AN","AN","AN","AN","ET","AN","AN","AL","AL","AL","NSM","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","NSM","NSM","NSM","NSM","NSM","NSM","NSM","AN","ON","NSM","NSM","NSM","NSM","NSM","NSM","AL","AL","NSM","NSM","ON","NSM","NSM","NSM","NSM","AL","AL","EN","EN","EN","EN","EN","EN","EN","EN","EN","EN","AL","AL","AL","AL","AL","AL"];function ku(e){return 0!=(1&e)}function Su(e){return 0==(1&e)}function Fu(e,t,A){let i,s;for(i=t,s=e.length;i<s;++i)if(e[i]!==A)return i;return i}function Ru(e,t,A,i){for(let s=t;s<A;++s)e[s]=i}function xu(e,t,A){for(let i=t,s=A-1;i<s;++i,--s){const t=e[i];e[i]=e[s],e[s]=t}}function vu(e,t,A=!1){let i="ltr";return A?i="ttb":t||(i="rtl"),{str:e,dir:i}}const Nu=[],Mu=[];function Gu(e,t=-1,A=!1){let i=!0;const s=e.length;if(0===s||A)return vu(e,i,A);Nu.length=s,Mu.length=s;let a,n,r=0;for(a=0;a<s;++a){Nu[a]=e.charAt(a);const t=e.charCodeAt(a);let A="L";t<=255?A=bu[t]:1424<=t&&t<=1524?A="R":1536<=t&&t<=1791?(A=Du[255&t],A||co("Bidi: invalid Unicode character "+t.toString(16))):(1792<=t&&t<=2220||64336<=t&&t<=65023||65136<=t&&t<=65279)&&(A="AL"),"R"!==A&&"AL"!==A&&"AN"!==A||r++,Mu[a]=A}if(0===r)return i=!0,vu(e,i);-1===t&&(r/s<.3&&s>4?(i=!0,t=0):(i=!1,t=1));const o=[];for(a=0;a<s;++a)o[a]=t;const g=ku(t)?"R":"L",h=g,c=h;let l,I=h;for(a=0;a<s;++a)"NSM"===Mu[a]?Mu[a]=I:I=Mu[a];for(I=h,a=0;a<s;++a)l=Mu[a],"EN"===l?Mu[a]="AL"===I?"AN":"EN":"R"!==l&&"L"!==l&&"AL"!==l||(I=l);for(a=0;a<s;++a)l=Mu[a],"AL"===l&&(Mu[a]="R");for(a=1;a<s-1;++a)"ES"===Mu[a]&&"EN"===Mu[a-1]&&"EN"===Mu[a+1]&&(Mu[a]="EN"),"CS"!==Mu[a]||"EN"!==Mu[a-1]&&"AN"!==Mu[a-1]||Mu[a+1]!==Mu[a-1]||(Mu[a]=Mu[a-1]);for(a=0;a<s;++a)if("EN"===Mu[a]){for(let e=a-1;e>=0&&"ET"===Mu[e];--e)Mu[e]="EN";for(let e=a+1;e<s&&"ET"===Mu[e];++e)Mu[e]="EN"}for(a=0;a<s;++a)l=Mu[a],"WS"!==l&&"ES"!==l&&"ET"!==l&&"CS"!==l||(Mu[a]="ON");for(I=h,a=0;a<s;++a)l=Mu[a],"EN"===l?Mu[a]="L"===I?"L":"EN":"R"!==l&&"L"!==l||(I=l);for(a=0;a<s;++a)if("ON"===Mu[a]){const e=Fu(Mu,a+1,"ON");let t=h;a>0&&(t=Mu[a-1]);let A=c;e+1<s&&(A=Mu[e+1]),"L"!==t&&(t="R"),"L"!==A&&(A="R"),t===A&&Ru(Mu,a,e,t),a=e-1}for(a=0;a<s;++a)"ON"===Mu[a]&&(Mu[a]=g);for(a=0;a<s;++a)l=Mu[a],Su(o[a])?"R"===l?o[a]+=1:"AN"!==l&&"EN"!==l||(o[a]+=2):"L"!==l&&"AN"!==l&&"EN"!==l||(o[a]+=1);let d,C=-1,u=99;for(a=0,n=o.length;a<n;++a)d=o[a],C<d&&(C=d),u>d&&ku(d)&&(u=d);for(d=C;d>=u;--d){let e=-1;for(a=0,n=o.length;a<n;++a)o[a]<d?e>=0&&(xu(Nu,e,a),e=-1):e<0&&(e=a);e>=0&&xu(Nu,e,o.length)}for(a=0,n=Nu.length;a<n;++a){const e=Nu[a];"<"!==e&&">"!==e||(Nu[a]="")}return vu(Nu.join(""),i)}const Lu={style:"normal",weight:"normal"},Uu={style:"normal",weight:"bold"},Hu={style:"italic",weight:"normal"},Ju={style:"italic",weight:"bold"},Tu=new Map([["Times-Roman",{local:["Times New Roman","Times-Roman","Times","Liberation Serif","Nimbus Roman","Nimbus Roman L","Tinos","Thorndale","TeX Gyre Termes","FreeSerif","Linux Libertine O","Libertinus Serif","DejaVu Serif","Bitstream Vera Serif","Ubuntu"],style:Lu,ultimate:"serif"}],["Times-Bold",{alias:"Times-Roman",style:Uu,ultimate:"serif"}],["Times-Italic",{alias:"Times-Roman",style:Hu,ultimate:"serif"}],["Times-BoldItalic",{alias:"Times-Roman",style:Ju,ultimate:"serif"}],["Helvetica",{local:["Helvetica","Helvetica Neue","Arial","Arial Nova","Liberation Sans","Arimo","Nimbus Sans","Nimbus Sans L","A030","TeX Gyre Heros","FreeSans","DejaVu Sans","Albany","Bitstream Vera Sans","Arial Unicode MS","Microsoft Sans Serif","Apple Symbols","Cantarell"],path:"LiberationSans-Regular.ttf",style:Lu,ultimate:"sans-serif"}],["Helvetica-Bold",{alias:"Helvetica",path:"LiberationSans-Bold.ttf",style:Uu,ultimate:"sans-serif"}],["Helvetica-Oblique",{alias:"Helvetica",path:"LiberationSans-Italic.ttf",style:Hu,ultimate:"sans-serif"}],["Helvetica-BoldOblique",{alias:"Helvetica",path:"LiberationSans-BoldItalic.ttf",style:Ju,ultimate:"sans-serif"}],["Courier",{local:["Courier","Courier New","Liberation Mono","Nimbus Mono","Nimbus Mono L","Cousine","Cumberland","TeX Gyre Cursor","FreeMono","Linux Libertine Mono O","Libertinus Mono"],style:Lu,ultimate:"monospace"}],["Courier-Bold",{alias:"Courier",style:Uu,ultimate:"monospace"}],["Courier-Oblique",{alias:"Courier",style:Hu,ultimate:"monospace"}],["Courier-BoldOblique",{alias:"Courier",style:Ju,ultimate:"monospace"}],["ArialBlack",{local:["Arial Black"],style:{style:"normal",weight:"900"},fallback:"Helvetica-Bold"}],["ArialBlack-Bold",{alias:"ArialBlack"}],["ArialBlack-Italic",{alias:"ArialBlack",style:{style:"italic",weight:"900"},fallback:"Helvetica-BoldOblique"}],["ArialBlack-BoldItalic",{alias:"ArialBlack-Italic"}],["ArialNarrow",{local:["Arial Narrow","Liberation Sans Narrow","Helvetica Condensed","Nimbus Sans Narrow","TeX Gyre Heros Cn"],style:Lu,fallback:"Helvetica"}],["ArialNarrow-Bold",{alias:"ArialNarrow",style:Uu,fallback:"Helvetica-Bold"}],["ArialNarrow-Italic",{alias:"ArialNarrow",style:Hu,fallback:"Helvetica-Oblique"}],["ArialNarrow-BoldItalic",{alias:"ArialNarrow",style:Ju,fallback:"Helvetica-BoldOblique"}],["Calibri",{local:["Calibri","Carlito"],style:Lu,fallback:"Helvetica"}],["Calibri-Bold",{alias:"Calibri",style:Uu,fallback:"Helvetica-Bold"}],["Calibri-Italic",{alias:"Calibri",style:Hu,fallback:"Helvetica-Oblique"}],["Calibri-BoldItalic",{alias:"Calibri",style:Ju,fallback:"Helvetica-BoldOblique"}],["Wingdings",{local:["Wingdings","URW Dingbats"],style:Lu}],["Wingdings-Regular",{alias:"Wingdings"}],["Wingdings-Bold",{alias:"Wingdings"}]]),Pu=new Map([["Arial-Black","ArialBlack"]]);function Yu(e){const t=new Set(["thin","extralight","ultralight","demilight","semilight","light","book","regular","normal","medium","demibold","semibold","bold","extrabold","ultrabold","black","heavy","extrablack","ultrablack","roman","italic","oblique","ultracondensed","extracondensed","condensed","semicondensed","normal","semiexpanded","expanded","extraexpanded","ultraexpanded","bolditalic"]);return e.split(/[- ,+]+/g).filter((e=>!t.has(e.toLowerCase()))).join(" ")}function Ku({alias:e,local:t,path:A,fallback:i,style:s,ultimate:a},n,r,o=!0,g=!0,h=""){const c={style:null,ultimate:null};if(t){const e=h?` ${h}`:"";for(const A of t)n.push(`local(${A}${e})`)}if(e){const t=Tu.get(e),a=h||function(e){switch(e){case Uu:return"Bold";case Hu:return"Italic";case Ju:return"Bold Italic";default:if("bold"===e?.weight)return"Bold";if("italic"===e?.style)return"Italic"}return""}(s);Object.assign(c,Ku(t,n,r,o&&!i,g&&!A,a))}if(s&&(c.style=s),a&&(c.ultimate=a),o&&i){const e=Tu.get(i),{ultimate:t}=Ku(e,n,r,o,g&&!A,h);c.ultimate||=t}return g&&A&&r&&n.push(`url(${r}${A})`),c}function _u(e,t,A,i,s,a){if(i.startsWith("InvalidPDFjsFont_"))return null;"TrueType"!==a&&"Type1"!==a||!/^[A-Z]{6}\+/.test(i)||(i=i.slice(7));const n=i=hI(i);let r=e.get(n);if(r)return r;let o=Tu.get(i);if(!o)for(const[e,t]of Pu)if(i.startsWith(e)){i=`${t}${i.substring(e.length)}`,o=Tu.get(i);break}let g=!1;o||(o=Tu.get(s),g=!0);const h=`${t.getDocId()}_s${t.createFontId()}`;if(!o){if(!Jg(i))return co(`Cannot substitute the font because of its name: ${i}`),e.set(n,null),null;const t=/bold/gi.test(i),A=/oblique|italic/gi.test(i),s=t&&A&&Ju||t&&Uu||A&&Hu||Lu;return r={css:`"${Yu(i)}",${h}`,guessFallback:!0,loadedName:h,baseFontName:i,src:`local(${i})`,style:s},e.set(n,r),r}const c=[];g&&Jg(i)&&c.push(`local(${i})`);const{style:l,ultimate:I}=Ku(o,c,A),d=null===I,C=d?"":`,${I}`;return r={css:`"${Yu(i)}",${h}${C}`,guessFallback:d,loadedName:h,baseFontName:i,src:c.join(","),style:l},e.set(n,r),r}class qu{constructor(e,t){this._imgData=e,this._isMask=t}static needsToBeResized(e,t){if(e<=this._goodSquareLength&&t<=this._goodSquareLength)return!1;const{MAX_DIM:A}=this;if(e>A||t>A)return!0;const i=e*t;if(this._hasMaxArea)return i>this.MAX_AREA;if(i<this._goodSquareLength**2)return!1;if(this._areGoodDims(e,t))return this._goodSquareLength=Math.max(this._goodSquareLength,Math.floor(Math.sqrt(e*t))),!1;this._goodSquareLength=this._guessMax(this._goodSquareLength,A,128,0);return i>(this.MAX_AREA=this._goodSquareLength**2)}static get MAX_DIM(){return uo(this,"MAX_DIM",this._guessMax(2048,65537,0,1))}static get MAX_AREA(){return this._hasMaxArea=!0,uo(this,"MAX_AREA",this._guessMax(qu._goodSquareLength,this.MAX_DIM,128,0)**2)}static set MAX_AREA(e){e>=0&&(this._hasMaxArea=!0,uo(this,"MAX_AREA",e))}static setMaxArea(e){this._hasMaxArea||(this.MAX_AREA=e>>2)}static _areGoodDims(e,t){try{const A=new OffscreenCanvas(e,t),i=A.getContext("2d");i.fillRect(0,0,1,1);const s=i.getImageData(0,0,1,1).data[3];return A.width=A.height=1,0!==s}catch{return!1}}static _guessMax(e,t,A,i){for(;e+A+1<t;){const A=Math.floor((e+t)/2),s=i||A;this._areGoodDims(A,s)?e=A:t=A}return e}static async createImage(e,t=!1){return new qu(e,t)._createImage()}async _createImage(){const e=this._encodeBMP(),t=new Blob([e.buffer],{type:"image/bmp"}),A=createImageBitmap(t),{MAX_AREA:i,MAX_DIM:s}=qu,{_imgData:a}=this,{width:n,height:r}=a,o=Math.max(n/s,r/s,Math.sqrt(n*r/i)),g=Math.max(o,2),h=Math.round(10*(o+1.25))/10/g,c=Math.floor(Math.log2(h)),l=new Array(c+2).fill(2);l[0]=g,l.splice(-1,1,h/(1<<c));let I=n,d=r,C=await A;for(const e of l){const t=I,A=d;I=Math.floor(I/e)-1,d=Math.floor(d/e)-1;const i=new OffscreenCanvas(I,d);i.getContext("2d").drawImage(C,0,0,t,A,0,0,I,d),C=i.transferToImageBitmap()}return a.data=null,a.bitmap=C,a.width=I,a.height=d,a}_encodeBMP(){const{width:e,height:t,kind:A}=this._imgData;let i,s=this._imgData.data,a=new Uint8Array(0),n=a,r=0;switch(A){case Sa:{i=1,a=new Uint8Array(this._isMask?[255,255,255,255,0,0,0,0]:[0,0,0,0,255,255,255,255]);const A=e+7>>3,n=A+3&-4;if(A!==n){const e=new Uint8Array(n*t);let i=0;for(let a=0,r=t*A;a<r;a+=A,i+=n)e.set(s.subarray(a,a+A),i);s=e}break}case Fa:if(i=24,3&e){const A=3*e,i=A+3&-4,a=i-A,n=new Uint8Array(i*t);let r=0;for(let e=0,i=t*A;e<i;e+=A){const t=s.subarray(e,e+A);for(let e=0;e<A;e+=3)n[r++]=t[e+2],n[r++]=t[e+1],n[r++]=t[e];r+=a}s=n}else for(let e=0,t=s.length;e<t;e+=3){const t=s[e];s[e]=s[e+2],s[e+2]=t}break;case Ra:i=32,r=3,n=new Uint8Array(68);const A=new DataView(n.buffer);Fo.isLittleEndian?(A.setUint32(0,255,!0),A.setUint32(4,65280,!0),A.setUint32(8,16711680,!0),A.setUint32(12,4278190080,!0)):(A.setUint32(0,4278190080,!0),A.setUint32(4,16711680,!0),A.setUint32(8,65280,!0),A.setUint32(12,255,!0));break;default:throw new Error("invalid format")}let o=0;const g=40+n.length,h=14+g+a.length+s.length,c=new Uint8Array(h),l=new DataView(c.buffer);return l.setUint16(o,19778,!0),o+=2,l.setUint32(o,h,!0),o+=4,l.setUint32(o,0,!0),o+=4,l.setUint32(o,14+g+a.length,!0),o+=4,l.setUint32(o,g,!0),o+=4,l.setInt32(o,e,!0),o+=4,l.setInt32(o,-t,!0),o+=4,l.setUint16(o,1,!0),o+=2,l.setUint16(o,i,!0),o+=2,l.setUint32(o,r,!0),o+=4,l.setUint32(o,0,!0),o+=4,l.setInt32(o,0,!0),o+=4,l.setInt32(o,0,!0),o+=4,l.setUint32(o,a.length/4,!0),o+=4,l.setUint32(o,0,!0),o+=4,c.set(n,o),o+=n.length,c.set(a,o),o+=a.length,c.set(s,o),c}}qu._goodSquareLength=2048;const Ou=3285377520,Wu=4294901760,ju=65535;class Vu{constructor(e){this.h1=e?4294967295&e:Ou,this.h2=e?4294967295&e:Ou}update(e){let t,A;if("string"==typeof e){t=new Uint8Array(2*e.length),A=0;for(let i=0,s=e.length;i<s;i++){const s=e.charCodeAt(i);s<=255?t[A++]=s:(t[A++]=s>>>8,t[A++]=255&s)}}else{if(!ArrayBuffer.isView(e))throw new Error("Invalid data format, must be a string or TypedArray.");t=e.slice(),A=t.byteLength}const i=A>>2,s=A-4*i,a=new Uint32Array(t.buffer,0,i);let n=0,r=0,o=this.h1,g=this.h2;const h=3432918353,c=461845907,l=11601,I=13715;for(let e=0;e<i;e++)1&e?(n=a[e],n=n*h&Wu|n*l&ju,n=n<<15|n>>>17,n=n*c&Wu|n*I&ju,o^=n,o=o<<13|o>>>19,o=5*o+3864292196):(r=a[e],r=r*h&Wu|r*l&ju,r=r<<15|r>>>17,r=r*c&Wu|r*I&ju,g^=r,g=g<<13|g>>>19,g=5*g+3864292196);switch(n=0,s){case 3:n^=t[4*i+2]<<16;case 2:n^=t[4*i+1]<<8;case 1:n^=t[4*i],n=n*h&Wu|n*l&ju,n=n<<15|n>>>17,n=n*c&Wu|n*I&ju,1&i?o^=n:g^=n}this.h1=o,this.h2=g}hexdigest(){let e=this.h1,t=this.h2;return e^=t>>>1,e=3981806797*e&Wu|36045*e&ju,t=4283543511*t&Wu|(2950163797*(t<<16|e>>>16)&Wu)>>>16,e^=t>>>1,e=444984403*e&Wu|60499*e&ju,t=3301882366*t&Wu|(3120437893*(t<<16|e>>>16)&Wu)>>>16,e^=t>>>1,(e>>>0).toString(16).padStart(8,"0")+(t>>>0).toString(16).padStart(8,"0")}}function Zu(e,t,A,i,s){let a=e;for(let e=0,A=t.length-1;e<A;e++){const A=t[e];a=a[A]||=[]}a[t.at(-1)]={checkFn:A,iterateFn:i,processFn:s}}const Xu=[];Zu(Xu,[Gn,Un,eo,Ln],null,(function(e,t){const A=e.fnArray,i=(t-(e.iCurr-3))%4;switch(i){case 0:return A[t]===Gn;case 1:return A[t]===Un;case 2:return A[t]===eo;case 3:return A[t]===Ln}throw new Error(`iterateInlineImageGroup - invalid pos: ${i}`)}),(function(e,t){const A=e.fnArray,i=e.argsArray,s=e.iCurr,a=s-3,n=s-2,r=s-1,o=Math.min(Math.floor((t-a)/4),200);if(o<10)return t-(t-a)%4;let g=0;const h=[];let c=0,l=1,I=1;for(let e=0;e<o;e++){const t=i[n+(e<<2)],A=i[r+(e<<2)][0];l+A.width>1e3&&(g=Math.max(g,l),I+=c+2,l=0,c=0),h.push({transform:t,x:l,y:I,w:A.width,h:A.height}),l+=A.width+2,c=Math.max(c,A.height)}const d=Math.max(g,l)+1,C=I+c+1,u=new Uint8Array(d*C*4),B=d<<2;for(let e=0;e<o;e++){const t=i[r+(e<<2)][0].data,A=h[e].w<<2;let s=0,a=h[e].x+h[e].y*d<<2;u.set(t.subarray(0,A),a-B);for(let i=0,n=h[e].h;i<n;i++)u.set(t.subarray(s,s+A),a),s+=A,a+=B;for(u.set(t.subarray(s-A,s),a);a>=0;)t[a-4]=t[a],t[a-3]=t[a+1],t[a-2]=t[a+2],t[a-1]=t[a+3],t[a+A]=t[a+A-4],t[a+A+1]=t[a+A-3],t[a+A+2]=t[a+A-2],t[a+A+3]=t[a+A-1],a-=B}const Q={width:d,height:C};if(e.isOffscreenCanvasSupported){const e=new OffscreenCanvas(d,C);e.getContext("2d").putImageData(new ImageData(new Uint8ClampedArray(u.buffer),d,C),0,0),Q.bitmap=e.transferToImageBitmap(),Q.data=null}else Q.kind=Ra,Q.data=u;return A.splice(a,4*o,to),i.splice(a,4*o,[Q,h]),a+1})),Zu(Xu,[Gn,Un,Xr,Ln],null,(function(e,t){const A=e.fnArray,i=(t-(e.iCurr-3))%4;switch(i){case 0:return A[t]===Gn;case 1:return A[t]===Un;case 2:return A[t]===Xr;case 3:return A[t]===Ln}throw new Error(`iterateImageMaskGroup - invalid pos: ${i}`)}),(function(e,t){const A=e.fnArray,i=e.argsArray,s=e.iCurr,a=s-3,n=s-2,r=s-1;let o=Math.floor((t-a)/4);if(o<10)return t-(t-a)%4;let g,h,c=!1;const l=i[r][0],I=i[n][0],d=i[n][1],C=i[n][2],u=i[n][3];if(d===C){c=!0,g=n+4;let e=r+4;for(let t=1;t<o;t++,g+=4,e+=4)if(h=i[g],i[e][0]!==l||h[0]!==I||h[1]!==d||h[2]!==C||h[3]!==u){t<10?c=!1:o=t;break}}if(c){o=Math.min(o,1e3);const e=new Float32Array(2*o);g=n;for(let t=0;t<o;t++,g+=4)h=i[g],e[t<<1]=h[4],e[1+(t<<1)]=h[5];A.splice(a,4*o,io),i.splice(a,4*o,[l,I,d,C,u,e])}else{o=Math.min(o,100);const e=[];for(let t=0;t<o;t++){h=i[n+(t<<2)];const A=i[r+(t<<2)][0];e.push({data:A.data,width:A.width,height:A.height,interpolate:A.interpolate,count:A.count,transform:h})}A.splice(a,4*o,zr),i.splice(a,4*o,[e])}return a+1})),Zu(Xu,[Gn,Un,$r,Ln],(function(e){const t=e.argsArray,A=e.iCurr-2;return 0===t[A][1]&&0===t[A][2]}),(function(e,t){const A=e.fnArray,i=e.argsArray,s=(t-(e.iCurr-3))%4;switch(s){case 0:return A[t]===Gn;case 1:if(A[t]!==Un)return!1;const s=e.iCurr-2,a=i[s][0],n=i[s][3];return i[t][0]===a&&0===i[t][1]&&0===i[t][2]&&i[t][3]===n;case 2:if(A[t]!==$r)return!1;const r=i[e.iCurr-1][0];return i[t][0]===r;case 3:return A[t]===Ln}throw new Error(`iterateImageGroup - invalid pos: ${s}`)}),(function(e,t){const A=e.fnArray,i=e.argsArray,s=e.iCurr,a=s-3,n=s-2,r=i[s-1][0],o=i[n][0],g=i[n][3],h=Math.min(Math.floor((t-a)/4),1e3);if(h<3)return t-(t-a)%4;const c=new Float32Array(2*h);let l=n;for(let e=0;e<h;e++,l+=4){const t=i[l];c[e<<1]=t[4],c[1+(e<<1)]=t[5]}const I=[r,o,g,c];return A.splice(a,4*h,Ao),i.splice(a,4*h,I),a+1})),Zu(Xu,[Ar,or,Ir,Cr,ir],null,(function(e,t){const A=e.fnArray,i=e.argsArray,s=(t-(e.iCurr-4))%5;switch(s){case 0:return A[t]===Ar;case 1:return A[t]===or;case 2:return A[t]===Ir;case 3:if(A[t]!==Cr)return!1;const s=e.iCurr-3,a=i[s][0],n=i[s][1];return i[t][0]===a&&i[t][1]===n;case 4:return A[t]===ir}throw new Error(`iterateShowTextGroup - invalid pos: ${s}`)}),(function(e,t){const A=e.fnArray,i=e.argsArray,s=e.iCurr,a=s-4,n=s-3,r=s-2,o=s-1,g=s,h=i[n][0],c=i[n][1];let l=Math.min(Math.floor((t-a)/5),1e3);if(l<3)return t-(t-a)%5;let I=a;a>=4&&A[a-4]===A[n]&&A[a-3]===A[r]&&A[a-2]===A[o]&&A[a-1]===A[g]&&i[a-4][0]===h&&i[a-4][1]===c&&(l++,I-=5);let d=I+4;for(let e=1;e<l;e++)A.splice(d,3),i.splice(d,3),d+=2;return d+1}));class zu{constructor(e){this.queue=e}_optimize(){}push(e,t){this.queue.fnArray.push(e),this.queue.argsArray.push(t),this._optimize()}flush(){}reset(){}}class $u extends zu{constructor(e){super(e),this.state=null,this.context={iCurr:0,fnArray:e.fnArray,argsArray:e.argsArray,isOffscreenCanvasSupported:!1},this.match=null,this.lastProcessed=0}set isOffscreenCanvasSupported(e){this.context.isOffscreenCanvasSupported=e}_optimize(){const e=this.queue.fnArray;let t=this.lastProcessed,A=e.length,i=this.state,s=this.match;if(!i&&!s&&t+1===A&&!Xu[e[t]])return void(this.lastProcessed=A);const a=this.context;for(;t<A;){if(s){if((0,s.iterateFn)(a,t)){t++;continue}if(t=(0,s.processFn)(a,t+1),A=e.length,s=null,i=null,t>=A)break}i=(i||Xu)[e[t]],i&&!Array.isArray(i)?(a.iCurr=t,t++,!i.checkFn||(0,i.checkFn)(a)?(s=i,i=null):i=null):t++}this.state=i,this.match=s,this.lastProcessed=t}flush(){for(;this.match;){const e=this.queue.fnArray.length;this.lastProcessed=(0,this.match.processFn)(this.context,e),this.match=null,this.state=null,this._optimize()}}reset(){this.state=null,this.match=null,this.lastProcessed=0}}class eB{static CHUNK_SIZE=1e3;static CHUNK_SIZE_ABOUT=this.CHUNK_SIZE-5;constructor(e=0,t){this._streamSink=t,this.fnArray=[],this.argsArray=[],this.optimizer=!t||e&Ea?new zu(this):new $u(this),this.dependencies=new Set,this._totalLength=0,this.weight=0,this._resolved=t?null:Promise.resolve()}set isOffscreenCanvasSupported(e){this.optimizer.isOffscreenCanvasSupported=e}get length(){return this.argsArray.length}get ready(){return this._resolved||this._streamSink.ready}get totalLength(){return this._totalLength+this.length}addOp(e,t){this.optimizer.push(e,t),this.weight++,this._streamSink&&(this.weight>=eB.CHUNK_SIZE||this.weight>=eB.CHUNK_SIZE_ABOUT&&(e===Ln||e===ir))&&this.flush()}addImageOps(e,t,A){void 0!==A&&this.addOp(Pr,["OC",A]),this.addOp(e,t),void 0!==A&&this.addOp(Yr,[])}addDependency(e){this.dependencies.has(e)||(this.dependencies.add(e),this.addOp(Dn,[e]))}addDependencies(e){for(const t of e)this.addDependency(t)}addOpList(e){if(e instanceof eB){for(const t of e.dependencies)this.dependencies.add(t);for(let t=0,A=e.length;t<A;t++)this.addOp(e.fnArray[t],e.argsArray[t])}else co('addOpList - ignoring invalid "opList" parameter.')}getIR(){return{fnArray:this.fnArray,argsArray:this.argsArray,length:this.length}}get _transfers(){const e=[],{fnArray:t,argsArray:A,length:i}=this;for(let s=0;s<i;s++)switch(t[s]){case eo:case to:case Xr:const t=A[s][0];!t.cached&&t.data?.buffer instanceof ArrayBuffer&&e.push(t.data.buffer)}return e}flush(e=!1,t=null){this.optimizer.flush();const A=this.length;this._totalLength+=A,this._streamSink.enqueue({fnArray:this.fnArray,argsArray:this.argsArray,lastChunk:e,separateAnnots:t,length:A},1,this._transfers),this.dependencies.clear(),this.fnArray.length=0,this.argsArray.length=0,this.weight=0,this.optimizer.reset()}}function tB(e,t,A,i){return(e=t+e*A)<0?e=0:e>i&&(e=i),e}function AB(e,t,A,i,s,a){const n=s*a;let r;r=t<=8?new Uint8Array(n):t<=16?new Uint16Array(n):new Uint32Array(n);const o=A/s,g=i/a;let h,c,l,I,d=0;const C=new Uint16Array(s),u=A;for(h=0;h<s;h++)C[h]=Math.floor(h*o);for(h=0;h<a;h++)for(l=Math.floor(h*g)*u,c=0;c<s;c++)I=l+C[c],r[d++]=e[I];return r}class iB{constructor({xref:e,res:t,image:A,isInline:i=!1,smask:s=null,mask:a=null,isMask:n=!1,pdfFunctionFactory:r,localColorSpaceCache:o}){this.image=A;let g=!1;const h=A.dict,c=h.get("F","Filter");let l;if(c instanceof eg)l=c.name;else if(Array.isArray(c)){const t=e.fetchIfRef(c[0]);t instanceof eg&&(l=t.name)}switch(l){case"JPXDecode":({width:A.width,height:A.height,componentsCount:A.numComps,bitsPerComponent:A.bitsPerComponent}=Kc.parseImageProperties(A.stream)),A.stream.reset(),g=!0;break;case"JBIG2Decode":A.bitsPerComponent=1,A.numComps=1}let I=h.get("W","Width"),d=h.get("H","Height");if(Number.isInteger(A.width)&&A.width>0&&Number.isInteger(A.height)&&A.height>0&&(A.width!==I||A.height!==d)&&(co("PDFImage - using the Width/Height of the image data, rather than the image dictionary."),I=A.width,d=A.height),I<1||d<1)throw new yo(`Invalid image width: ${I} or height: ${d}`);this.width=I,this.height=d,this.interpolate=h.get("I","Interpolate"),this.imageMask=h.get("IM","ImageMask")||!1,this.matte=h.get("Matte")||!1;let C=A.bitsPerComponent;if(!C&&(C=h.get("BPC","BitsPerComponent"),!C)){if(!this.imageMask)throw new yo(`Bits per component missing in image: ${this.imageMask}`);C=1}if(this.bpc=C,!this.imageMask){let s=h.getRaw("CS")||h.getRaw("ColorSpace");if(!s)switch(ho("JPX images (which do not require color spaces)"),A.numComps){case 1:s=eg.get("DeviceGray");break;case 3:s=eg.get("DeviceRGB");break;case 4:s=eg.get("DeviceCMYK");break;default:throw new Error(`JPX images with ${A.numComps} color components not supported.`)}this.colorSpace=eh.parse({cs:s,xref:e,resources:i?t:null,pdfFunctionFactory:r,localColorSpaceCache:o}),this.numComps=this.colorSpace.numComps,this.ignoreColorSpace=g&&"Indexed"===this.colorSpace.name}if(this.decode=h.getArray("D","Decode"),this.needsDecode=!1,this.decode&&(this.colorSpace&&!this.colorSpace.isDefaultDecode(this.decode,C)||n&&!eh.isDefaultDecode(this.decode,1))){this.needsDecode=!0;const e=(1<<C)-1;this.decodeCoefficients=[],this.decodeAddends=[];const t="Indexed"===this.colorSpace?.name;for(let A=0,i=0;A<this.decode.length;A+=2,++i){const s=this.decode[A],a=this.decode[A+1];this.decodeCoefficients[i]=t?(a-s)/e:a-s,this.decodeAddends[i]=t?s:e*s}}if(s)this.smask=new iB({xref:e,res:t,image:s,isInline:i,pdfFunctionFactory:r,localColorSpaceCache:o});else if(a)if(a instanceof cg){a.dict.get("IM","ImageMask")?this.mask=new iB({xref:e,res:t,image:a,isInline:i,isMask:!0,pdfFunctionFactory:r,localColorSpaceCache:o}):co("Ignoring /Mask in image without /ImageMask.")}else this.mask=a}static async buildImage({xref:e,res:t,image:A,isInline:i=!1,pdfFunctionFactory:s,localColorSpaceCache:a}){const n=A;let r=null,o=null;const g=A.dict.get("SMask"),h=A.dict.get("Mask");return g?g instanceof cg?r=g:co("Unsupported /SMask format."):h&&(h instanceof cg||Array.isArray(h)?o=h:co("Unsupported /Mask format.")),new iB({xref:e,res:t,image:n,isInline:i,smask:r,mask:o,pdfFunctionFactory:s,localColorSpaceCache:a})}static createRawMask({imgArray:e,width:t,height:A,imageIsFromDecodeStream:i,inverseDecode:s,interpolate:a}){const n=(t+7>>3)*A,r=e.byteLength;let o,g;if(!i||s&&!(n===r)?s?(o=new Uint8Array(n),o.set(e),o.fill(255,r)):o=new Uint8Array(e):o=e,s)for(g=0;g<r;g++)o[g]^=255;return{data:o,width:t,height:A,interpolate:a}}static async createMask({imgArray:e,width:t,height:A,imageIsFromDecodeStream:i,inverseDecode:s,interpolate:a,isOffscreenCanvasSupported:n=!1}){const r=1===t&&1===A&&s===(0===e.length||!!(128&e[0]));if(r)return{isSingleOpaquePixel:r};if(n){if(qu.needsToBeResized(t,A)){const i=new Uint8ClampedArray(t*A*4);return Qc({src:e,dest:i,width:t,height:A,nonBlackColor:0,inverseDecode:s}),qu.createImage({kind:Ra,data:i,width:t,height:A,interpolate:a})}const i=new OffscreenCanvas(t,A),n=i.getContext("2d"),r=n.createImageData(t,A);Qc({src:e,dest:r.data,width:t,height:A,nonBlackColor:0,inverseDecode:s}),n.putImageData(r,0,0);return{data:null,width:t,height:A,interpolate:a,bitmap:i.transferToImageBitmap()}}return this.createRawMask({imgArray:e,width:t,height:A,inverseDecode:s,imageIsFromDecodeStream:i,interpolate:a})}get drawWidth(){return Math.max(this.width,this.smask?.width||0,this.mask?.width||0)}get drawHeight(){return Math.max(this.height,this.smask?.height||0,this.mask?.height||0)}decodeBuffer(e){const t=this.bpc,A=this.numComps,i=this.decodeAddends,s=this.decodeCoefficients,a=(1<<t)-1;let n,r;if(1===t){for(n=0,r=e.length;n<r;n++)e[n]=+!e[n];return}let o=0;for(n=0,r=this.width*this.height;n<r;n++)for(let t=0;t<A;t++)e[o]=tB(e[o],i[t],s[t],a),o++}getComponents(e){const t=this.bpc;if(8===t)return e;const A=this.width,i=this.height,s=this.numComps,a=A*i*s;let n,r=0;n=t<=8?new Uint8Array(a):t<=16?new Uint16Array(a):new Uint32Array(a);const o=A*s,g=(1<<t)-1;let h,c,l=0;if(1===t){let t,A,s;for(let a=0;a<i;a++){for(A=l+(-8&o),s=l+o;l<A;)c=e[r++],n[l]=c>>7&1,n[l+1]=c>>6&1,n[l+2]=c>>5&1,n[l+3]=c>>4&1,n[l+4]=c>>3&1,n[l+5]=c>>2&1,n[l+6]=c>>1&1,n[l+7]=1&c,l+=8;if(l<s)for(c=e[r++],t=128;l<s;)n[l++]=+!!(c&t),t>>=1}}else{let A=0;for(c=0,l=0,h=a;l<h;++l){for(l%o==0&&(c=0,A=0);A<t;)c=c<<8|e[r++],A+=8;const i=A-t;let s=c>>i;s<0?s=0:s>g&&(s=g),n[l]=s,c&=(1<<i)-1,A=i}}return n}fillOpacity(e,t,A,i,s){const a=this.smask,n=this.mask;let r,o,g,h,c,l;if(a)o=a.width,g=a.height,r=new Uint8ClampedArray(o*g),a.fillGrayBuffer(r),o===t&&g===A||(r=AB(r,a.bpc,o,g,t,A));else if(n)if(n instanceof iB){for(o=n.width,g=n.height,r=new Uint8ClampedArray(o*g),n.numComps=1,n.fillGrayBuffer(r),h=0,c=o*g;h<c;++h)r[h]=255-r[h];o===t&&g===A||(r=AB(r,n.bpc,o,g,t,A))}else{if(!Array.isArray(n))throw new yo("Unknown mask format.");{r=new Uint8ClampedArray(t*A);const e=this.numComps;for(h=0,c=t*A;h<c;++h){let t=0;const A=h*e;for(l=0;l<e;++l){const e=s[A+l],i=2*l;if(e<n[i]||e>n[i+1]){t=255;break}}r[h]=t}}}if(r)for(h=0,l=3,c=t*i;h<c;++h,l+=4)e[l]=r[h];else for(h=0,l=3,c=t*i;h<c;++h,l+=4)e[l]=255}undoPreblend(e,t,A){const i=this.smask?.matte;if(!i)return;const s=this.colorSpace.getRgb(i,0),a=s[0],n=s[1],r=s[2],o=t*A*4;for(let t=0;t<o;t+=4){const A=e[t+3];if(0===A){e[t]=255,e[t+1]=255,e[t+2]=255;continue}const i=255/A;e[t]=(e[t]-a)*i+a,e[t+1]=(e[t+1]-n)*i+n,e[t+2]=(e[t+2]-r)*i+r}}async createImageData(e=!1,t=!1){const A=this.drawWidth,i=this.drawHeight,s={width:A,height:i,interpolate:this.interpolate,kind:0,data:null},a=this.numComps,n=this.width,r=this.height,o=this.bpc,g=n*a*o+7>>3,h=t&&qu.needsToBeResized(A,i);if(!e){let e;if("DeviceGray"===this.colorSpace.name&&1===o?e=Sa:"DeviceRGB"!==this.colorSpace.name||8!==o||this.needsDecode||(e=Fa),e&&!this.smask&&!this.mask&&A===n&&i===r){const a=this.getImageBytes(r*g,{});if(t)return h?qu.createImage({data:a,kind:e,width:A,height:i,interpolate:this.interpolate},this.needsDecode):this.createBitmap(e,n,r,a);if(s.kind=e,s.data=a,this.needsDecode){Io(e===Sa,"PDFImage.createImageData: The image must be grayscale.");const t=s.data;for(let e=0,A=t.length;e<A;e++)t[e]^=255}return s}if(this.image instanceof Hc&&!this.smask&&!this.mask&&!this.needsDecode){let e=r*g;if(t&&!h){let t=!1;switch(this.colorSpace.name){case"DeviceGray":e*=4,t=!0;break;case"DeviceRGB":e=e/3*4,t=!0;break;case"DeviceCMYK":t=!0}if(t){const t=this.getImageBytes(e,{drawWidth:A,drawHeight:i,forceRGBA:!0});return this.createBitmap(Ra,A,i,t)}}else switch(this.colorSpace.name){case"DeviceGray":e*=3;case"DeviceRGB":case"DeviceCMYK":return s.kind=Fa,s.data=this.getImageBytes(e,{drawWidth:A,drawHeight:i,forceRGB:!0}),h?qu.createImage(s):s}}}const c=this.getImageBytes(r*g,{internal:!0}),l=0|c.length/g*i/r,I=this.getComponents(c);let d,C,u,B,Q,E;if(t&&!h&&(u=new OffscreenCanvas(A,i),B=u.getContext("2d"),Q=B.createImageData(A,i),E=Q.data),s.kind=Ra,e||this.smask||this.mask)t&&!h||(E=new Uint8ClampedArray(A*i*4)),d=1,C=!0,this.fillOpacity(E,A,i,l,I);else{if(!t||h)s.kind=Fa,E=new Uint8ClampedArray(A*i*3),d=0;else{new Uint32Array(E.buffer).fill(Fo.isLittleEndian?4278190080:255),d=1}C=!1}if(this.needsDecode&&this.decodeBuffer(I),this.colorSpace.fillRgb(E,n,r,A,i,l,o,I,d),C&&this.undoPreblend(E,A,l),t&&!h){B.putImageData(Q,0,0);return{data:null,width:A,height:i,bitmap:u.transferToImageBitmap(),interpolate:this.interpolate}}return s.data=E,h?qu.createImage(s):s}fillGrayBuffer(e){const t=this.numComps;if(1!==t)throw new yo(`Reading gray scale from a color image: ${t}`);const A=this.width,i=this.height,s=this.bpc,a=A*t*s+7>>3,n=this.getImageBytes(i*a,{internal:!0}),r=this.getComponents(n);let o,g;if(1===s){if(g=A*i,this.needsDecode)for(o=0;o<g;++o)e[o]=r[o]-1&255;else for(o=0;o<g;++o)e[o]=255&-r[o];return}this.needsDecode&&this.decodeBuffer(r),g=A*i;const h=255/((1<<s)-1);for(o=0;o<g;++o)e[o]=h*r[o]}createBitmap(e,t,A,i){const s=new OffscreenCanvas(t,A),a=s.getContext("2d");let n;e===Ra?n=new ImageData(i,t,A):(n=a.createImageData(t,A),Bc({kind:e,src:i,dest:new Uint32Array(n.data.buffer),width:t,height:A,inverseDecode:this.needsDecode})),a.putImageData(n,0,0);return{data:null,width:t,height:A,bitmap:s.transferToImageBitmap(),interpolate:this.interpolate}}getImageBytes(e,{drawWidth:t,drawHeight:A,forceRGBA:i=!1,forceRGB:s=!1,internal:a=!1}){this.image.reset(),this.image.drawWidth=t||this.width,this.image.drawHeight=A||this.height,this.image.forceRGBA=!!i,this.image.forceRGB=!!s;const n=this.image.getBytes(e,this.ignoreColorSpace);return a||this.image instanceof Qh?n:(Io(n instanceof Uint8Array,'PDFImage.getImageBytes: Unsupported "imageBytes" type.'),new Uint8Array(n))}}const sB=Object.freeze({maxImageSize:-1,disableFontFace:!1,ignoreErrors:!1,isEvalSupported:!0,isOffscreenCanvasSupported:!1,canvasMaxAreaInBytes:-1,fontExtraProperties:!1,useSystemFonts:!0,cMapUrl:null,standardFontDataUrl:null}),aB=1,nB=2,rB=Promise.resolve();function oB(e,t=!1){if(Array.isArray(e)){for(const t of e){const e=oB(t,!0);if(e)return e}return co(`Unsupported blend mode Array: ${e}`),"source-over"}if(!(e instanceof eg))return t?null:"source-over";switch(e.name){case"Normal":case"Compatible":return"source-over";case"Multiply":return"multiply";case"Screen":return"screen";case"Overlay":return"overlay";case"Darken":return"darken";case"Lighten":return"lighten";case"ColorDodge":return"color-dodge";case"ColorBurn":return"color-burn";case"HardLight":return"hard-light";case"SoftLight":return"soft-light";case"Difference":return"difference";case"Exclusion":return"exclusion";case"Hue":return"hue";case"Saturation":return"saturation";case"Color":return"color";case"Luminosity":return"luminosity"}return t?null:(co(`Unsupported blend mode: ${e.name}`),"source-over")}function gB(e){e.fn===Xr&&e.args[0]?.count>0&&e.args[0].count++}class hB{static TIME_SLOT_DURATION_MS=20;static CHECK_TIME_EVERY=100;constructor(){this.reset()}check(){return!(++this.checked<hB.CHECK_TIME_EVERY)&&(this.checked=0,this.endTime<=Date.now())}reset(){this.endTime=Date.now()+hB.TIME_SLOT_DURATION_MS,this.checked=0}}class cB{constructor({xref:e,handler:t,pageIndex:A,idFactory:i,fontCache:s,builtInCMapCache:a,standardFontDataCache:n,globalImageCache:r,systemFontCache:o,options:g=null}){this.xref=e,this.handler=t,this.pageIndex=A,this.idFactory=i,this.fontCache=s,this.builtInCMapCache=a,this.standardFontDataCache=n,this.globalImageCache=r,this.systemFontCache=o,this.options=g||sB,this.type3FontRefs=null,this._regionalImageCache=new su,this._fetchBuiltInCMapBound=this.fetchBuiltInCMap.bind(this),qu.setMaxArea(this.options.canvasMaxAreaInBytes)}get _pdfFunctionFactory(){return uo(this,"_pdfFunctionFactory",new nu({xref:this.xref,isEvalSupported:this.options.isEvalSupported}))}get parsingType3Font(){return!!this.type3FontRefs}clone(e=null){const t=Object.create(this);return t.options=Object.assign(Object.create(null),this.options,e),t}hasBlendModes(e,t){if(!(e instanceof ig))return!1;if(e.objId&&t.has(e.objId))return!1;const A=new ag(t);e.objId&&A.put(e.objId);const i=[e],s=this.xref;for(;i.length;){const e=i.shift(),t=e.get("ExtGState");if(t instanceof ig)for(let e of t.getRawValues()){if(e instanceof sg){if(A.has(e))continue;try{e=s.fetch(e)}catch(t){A.put(e),ho(`hasBlendModes - ignoring ExtGState: "${t}".`);continue}}if(!(e instanceof ig))continue;e.objId&&A.put(e.objId);const t=e.get("BM");if(t instanceof eg){if("Normal"!==t.name)return!0}else if(void 0!==t&&Array.isArray(t))for(const e of t)if(e instanceof eg&&"Normal"!==e.name)return!0}const a=e.get("XObject");if(a instanceof ig)for(let e of a.getRawValues()){if(e instanceof sg){if(A.has(e))continue;try{e=s.fetch(e)}catch(t){A.put(e),ho(`hasBlendModes - ignoring XObject: "${t}".`);continue}}if(!(e instanceof cg))continue;e.dict.objId&&A.put(e.dict.objId);const t=e.dict.get("Resources");t instanceof ig&&(t.objId&&A.has(t.objId)||(i.push(t),t.objId&&A.put(t.objId)))}}for(const e of A)t.put(e);return!1}async fetchBuiltInCMap(e){const t=this.builtInCMapCache.get(e);if(t)return t;let A;if(null!==this.options.cMapUrl){const t=`${this.options.cMapUrl}${e}.bcmap`,i=await fetch(t);if(!i.ok)throw new Error(`fetchBuiltInCMap: failed to fetch file "${t}" with "${i.statusText}".`);A={cMapData:new Uint8Array(await i.arrayBuffer()),compressionType:bn.BINARY}}else A=await this.handler.sendWithPromise("FetchBuiltInCMap",{name:e});return A.compressionType!==bn.NONE&&this.builtInCMapCache.set(e,A),A}async fetchStandardFontData(e){const t=this.standardFontDataCache.get(e);if(t)return new Vg(t);if(this.options.useSystemFonts&&"Symbol"!==e&&"ZapfDingbats"!==e)return null;const A=lI()[e];let i;if(null!==this.options.standardFontDataUrl){const e=`${this.options.standardFontDataUrl}${A}`,t=await fetch(e);t.ok?i=new Uint8Array(await t.arrayBuffer()):co(`fetchStandardFontData: failed to fetch file "${e}" with "${t.statusText}".`)}else try{i=await this.handler.sendWithPromise("FetchStandardFontData",{filename:A})}catch(e){co(`fetchStandardFontData: failed to fetch file "${A}" with "${e}".`)}return i?(this.standardFontDataCache.set(e,i),new Vg(i)):null}async buildFormXObject(e,t,A,i,s,a,n){const r=t.dict,o=Sg(r.getArray("Matrix"),null),g=Rg(r.getArray("BBox"),null);let h,c;r.has("OC")&&(h=await this.parseMarkedContentProps(r.get("OC"),e)),void 0!==h&&i.addOp(Pr,["OC",h]);const l=r.get("Group");if(l){c={matrix:o,bbox:g,smask:A,isolated:!1,knockout:!1};let t=null;if(rg(l.get("S"),"Transparency")&&(c.isolated=l.get("I")||!1,c.knockout=l.get("K")||!1,l.has("CS"))){const A=l.getRaw("CS"),i=eh.getCached(A,this.xref,n);t=i||await this.parseColorSpace({cs:A,resources:e,localColorSpaceCache:n})}A?.backdrop&&(t||=eh.singletons.rgb,A.backdrop=t.getRgb(A.backdrop,0)),i.addOp(Wr,[c])}const I=l?[o,null]:[o,g];i.addOp(qr,I),await this.getOperatorList({stream:t,task:s,resources:r.get("Resources")||e,operatorList:i,initialState:a}),i.addOp(Or,[]),l&&i.addOp(jr,[c]),void 0!==h&&i.addOp(Yr,[])}_sendImgData(e,t,A=!1){const i=t?[t.bitmap||t.data.buffer]:null;return this.parsingType3Font||A?this.handler.send("commonobj",[e,"Image",t],i):this.handler.send("obj",[e,this.pageIndex,"Image",t],i)}async buildPaintImageXObject({resources:e,image:t,isInline:A=!1,operatorList:i,cacheKey:s,localImageCache:a,localColorSpaceCache:n}){const r=t.dict,o=r.objId,g=r.get("W","Width"),h=r.get("H","Height");if(!g||"number"!=typeof g||!h||"number"!=typeof h)return void co("Image dimensions are missing, or not numbers.");const c=this.options.maxImageSize;if(-1!==c&&g*h>c){const e="Image exceeded maximum allowed size and was removed.";if(this.options.ignoreErrors)return void co(e);throw new Error(e)}let l;r.has("OC")&&(l=await this.parseMarkedContentProps(r.get("OC"),e));let I,d;if(r.get("IM","ImageMask")||!1){const e=r.get("I","Interpolate"),A=g+7>>3,n=t.getBytes(A*h),c=r.getArray("D","Decode");if(this.parsingType3Font){if(I=iB.createRawMask({imgArray:n,width:g,height:h,imageIsFromDecodeStream:t instanceof Qh,inverseDecode:c?.[0]>0,interpolate:e}),I.cached=!!s,d=[I],i.addImageOps(Xr,d,l),s){const e={fn:Xr,args:d,optionalContent:l};a.set(s,o,e),o&&this._regionalImageCache.set(null,o,e)}return}if(I=await iB.createMask({imgArray:n,width:g,height:h,imageIsFromDecodeStream:t instanceof Qh,inverseDecode:c?.[0]>0,interpolate:e,isOffscreenCanvasSupported:this.options.isOffscreenCanvasSupported}),I.isSingleOpaquePixel){if(i.addImageOps(so,[],l),s){const e={fn:so,args:[],optionalContent:l};a.set(s,o,e),o&&this._regionalImageCache.set(null,o,e)}return}const C=`mask_${this.idFactory.createObjId()}`;if(i.addDependency(C),I.dataLen=I.bitmap?I.width*I.height*4:I.data.length,this._sendImgData(C,I),d=[{data:C,width:I.width,height:I.height,interpolate:I.interpolate,count:1}],i.addImageOps(Xr,d,l),s){const e={fn:Xr,args:d,optionalContent:l};a.set(s,o,e),o&&this._regionalImageCache.set(null,o,e)}return}if(A&&g+h<200&&!r.has("SMask")&&!r.has("Mask")){try{const s=new iB({xref:this.xref,res:e,image:t,isInline:A,pdfFunctionFactory:this._pdfFunctionFactory,localColorSpaceCache:n});I=await s.createImageData(!0,!1),i.isOffscreenCanvasSupported=this.options.isOffscreenCanvasSupported,i.addImageOps(eo,[I],l)}catch(e){const t=`Unable to decode inline image: "${e}".`;if(!this.options.ignoreErrors)throw new Error(t);co(t)}return}let C=`img_${this.idFactory.createObjId()}`,u=!1;if(this.parsingType3Font?C=`${this.idFactory.getDocId()}_type3_${C}`:s&&o&&(u=this.globalImageCache.shouldCache(o,this.pageIndex),u&&(Io(!A,"Cannot cache an inline image globally."),C=`${this.idFactory.getDocId()}_${C}`)),i.addDependency(C),d=[C,g,h],i.addImageOps($r,d,l),u){if(this.globalImageCache.hasDecodeFailed(o))return this.globalImageCache.setData(o,{objId:C,fn:$r,args:d,optionalContent:l,byteSize:0}),void this._sendImgData(C,null,u);if(g*h>25e4||r.has("SMask")||r.has("Mask")){const e=await this.handler.sendWithPromise("commonobj",[C,"CopyLocalImage",{imageRef:o}]);if(e)return this.globalImageCache.setData(o,{objId:C,fn:$r,args:d,optionalContent:l,byteSize:0}),void this.globalImageCache.addByteSize(o,e)}}if(iB.buildImage({xref:this.xref,res:e,image:t,isInline:A,pdfFunctionFactory:this._pdfFunctionFactory,localColorSpaceCache:n}).then((async e=>(I=await e.createImageData(!1,this.options.isOffscreenCanvasSupported),I.dataLen=I.bitmap?I.width*I.height*4:I.data.length,I.ref=o,u&&this.globalImageCache.addByteSize(o,I.dataLen),this._sendImgData(C,I,u)))).catch((e=>(co(`Unable to decode image "${C}": "${e}".`),o&&this.globalImageCache.addDecodeFailed(o),this._sendImgData(C,null,u)))),s){const e={fn:$r,args:d,optionalContent:l};a.set(s,o,e),o&&(this._regionalImageCache.set(null,o,e),u&&this.globalImageCache.setData(o,{objId:C,fn:$r,args:d,optionalContent:l,byteSize:0}))}}handleSMask(e,t,A,i,s,a){const n=e.get("G"),r={subtype:e.get("S").name,backdrop:e.get("BC")},o=e.get("TR");if(gu(o)){const e=this._pdfFunctionFactory.create(o),t=new Uint8Array(256),A=new Float32Array(1);for(let i=0;i<256;i++)A[0]=i/255,e(A,0,A,0),t[i]=255*A[0]|0;r.transferMap=t}return this.buildFormXObject(t,n,r,A,i,s.state.clone(),a)}handleTransferFunction(e){let t;if(Array.isArray(e))t=e;else{if(!gu(e))return null;t=[e]}const A=[];let i=0,s=0;for(const e of t){const t=this.xref.fetchIfRef(e);if(i++,rg(t,"Identity")){A.push(null);continue}if(!gu(t))return null;const a=this._pdfFunctionFactory.create(t),n=new Uint8Array(256),r=new Float32Array(1);for(let e=0;e<256;e++)r[0]=e/255,a(r,0,r,0),n[e]=255*r[0]|0;A.push(n),s++}return 1!==i&&4!==i||0===s?null:A}handleTilingType(e,t,A,i,s,a,n,r){const o=new eB,g=ig.merge({xref:this.xref,dictArray:[s.get("Resources"),A]});return this.getOperatorList({stream:i,task:n,resources:g,operatorList:o}).then((function(){const A=o.getIR(),i=sC(A,s,t);a.addDependencies(o.dependencies),a.addOp(e,i),s.objId&&r.set(null,s.objId,{operatorListIR:A,dict:s})})).catch((e=>{if(!(e instanceof wo)){if(!this.options.ignoreErrors)throw e;co(`handleTilingType - ignoring pattern: "${e}".`)}}))}async handleSetFont(e,t,A,i,s,a,n=null,r=null){const o=t?.[0]instanceof eg?t[0].name:null;let g=await this.loadFont(o,A,e,n,r);if(g.font.isType3Font)try{await g.loadType3Data(this,e,s),i.addDependencies(g.type3Dependencies)}catch(e){g=new lB({loadedName:"g_font_error",font:new Kd(`Type3 font load error: ${e}`),dict:g.font,evaluatorOptions:this.options})}return a.font=g.font,g.send(this.handler),g.loadedName}handleText(e,t){const A=t.font,i=A.charsToGlyphs(e);if(A.data){(!!(t.textRenderingMode&ka)||"Pattern"===t.fillColorSpace.name||A.disableFontFace||this.options.disableFontFace)&&cB.buildFontPaths(A,i,this.handler,this.options)}return i}ensureStateFont(e){if(e.font)return;const t=new yo("Missing setFont (Tf) operator before text rendering operator.");if(!this.options.ignoreErrors)throw t;co(`ensureStateFont: "${t}".`)}async setGState({resources:e,gState:t,operatorList:A,cacheKey:i,task:s,stateManager:a,localGStateCache:n,localColorSpaceCache:r}){const o=t.objId;let g=!0;const h=[];let c=Promise.resolve();for(const i of t.getKeys()){const n=t.get(i);switch(i){case"Type":break;case"LW":case"LC":case"LJ":case"ML":case"D":case"RI":case"FL":case"CA":case"ca":h.push([i,n]);break;case"Font":g=!1,c=c.then((()=>this.handleSetFont(e,null,n[0],A,s,a.state).then((function(e){A.addDependency(e),h.push([i,[e,n[1]]])}))));break;case"BM":h.push([i,oB(n)]);break;case"SMask":if(rg(n,"None")){h.push([i,!1]);break}n instanceof ig?(g=!1,c=c.then((()=>this.handleSMask(n,e,A,s,a,r))),h.push([i,!0])):co("Unsupported SMask type");break;case"TR":const t=this.handleTransferFunction(n);h.push([i,t]);break;case"OP":case"op":case"OPM":case"BG":case"BG2":case"UCR":case"UCR2":case"TR2":case"HT":case"SM":case"SA":case"AIS":case"TK":ho("graphic state operator "+i);break;default:ho("Unknown graphic state operator "+i)}}await c,h.length>0&&A.addOp(Mn,[h]),g&&n.set(i,o,h)}loadFont(e,t,A,i=null,s=null){const a=async()=>new lB({loadedName:"g_font_error",font:new Kd(`Font "${e}" is not available.`),dict:t,evaluatorOptions:this.options});let n;if(t)t instanceof sg&&(n=t);else{const t=A.get("Font");t&&(n=t.getRaw(e))}if(n){if(this.type3FontRefs?.has(n))return a();if(this.fontCache.has(n))return this.fontCache.get(n);try{t=this.xref.fetchIfRef(n)}catch(e){co(`loadFont - lookup failed: "${e}".`)}}if(!(t instanceof ig)){if(!this.options.ignoreErrors&&!this.parsingType3Font)return co(`Font "${e}" is not available.`),a();co(`Font "${e}" is not available -- attempting to fallback to a default font.`),t=i||cB.fallbackFontDict}if(t.cacheKey&&this.fontCache.has(t.cacheKey))return this.fontCache.get(t.cacheKey);const{promise:r,resolve:o}=Promise.withResolvers();let g;try{g=this.preEvaluateFont(t),g.cssFontInfo=s}catch(e){return co(`loadFont - preEvaluateFont failed: "${e}".`),a()}const{descriptor:h,hash:c}=g,l=n instanceof sg;let I;if(c&&h instanceof ig){const e=h.fontAliases||=Object.create(null);if(e[c]){const t=e[c].aliasRef;if(l&&t&&this.fontCache.has(t))return this.fontCache.putAlias(n,t),this.fontCache.get(n)}else e[c]={fontID:this.idFactory.createFontId()};l&&(e[c].aliasRef=n),I=e[c].fontID}else I=this.idFactory.createFontId();return Io(I?.startsWith("f"),'The "fontID" must be (correctly) defined.'),l?this.fontCache.put(n,r):(t.cacheKey=`cacheKey_${I}`,this.fontCache.put(t.cacheKey,r)),t.loadedName=`${this.idFactory.getDocId()}_${I}`,this.translateFont(g).then((e=>{o(new lB({loadedName:t.loadedName,font:e,dict:t,evaluatorOptions:this.options}))})).catch((e=>{co(`loadFont - translateFont failed: "${e}".`),o(new lB({loadedName:t.loadedName,font:new Kd(e instanceof Error?e.message:e),dict:t,evaluatorOptions:this.options}))})),r}buildPath(e,t,A,i=!1){const s=e.length-1;if(A||(A=[]),s<0||e.fnArray[s]!==ao){let s;switch(i&&(co(`Encountered path operator "${t}" inside of a text object.`),e.addOp(Gn,null)),t){case _n:const e=A[0]+A[2],t=A[1]+A[3];s=[Math.min(A[0],e),Math.min(A[1],t),Math.max(A[0],e),Math.max(A[1],t)];break;case Hn:case Jn:s=[A[0],A[1],A[0],A[1]];break;default:s=[1/0,1/0,-1/0,-1/0]}e.addOp(ao,[[t],A,s]),i&&e.addOp(Ln,null)}else{const i=e.argsArray[s];i[0].push(t),i[1].push(...A);const a=i[2];switch(t){case _n:const e=A[0]+A[2],t=A[1]+A[3];a[0]=Math.min(a[0],A[0],e),a[1]=Math.min(a[1],A[1],t),a[2]=Math.max(a[2],A[0],e),a[3]=Math.max(a[3],A[1],t);break;case Hn:case Jn:a[0]=Math.min(a[0],A[0]),a[1]=Math.min(a[1],A[1]),a[2]=Math.max(a[2],A[0]),a[3]=Math.max(a[3],A[1])}}}parseColorSpace({cs:e,resources:t,localColorSpaceCache:A}){return eh.parseAsync({cs:e,xref:this.xref,resources:t,pdfFunctionFactory:this._pdfFunctionFactory,localColorSpaceCache:A}).catch((e=>{if(e instanceof wo)return null;if(this.options.ignoreErrors)return co(`parseColorSpace - ignoring ColorSpace: "${e}".`),null;throw e}))}parseShading({shading:e,resources:t,localColorSpaceCache:A,localShadingPatternCache:i}){let s,a=i.get(e);if(a)return a;try{s=Zd.parseShading(e,this.xref,t,this._pdfFunctionFactory,A).getIR()}catch(t){if(t instanceof wo)return null;if(this.options.ignoreErrors)return co(`parseShading - ignoring shading: "${t}".`),i.set(e,null),null;throw t}return a=`pattern_${this.idFactory.createObjId()}`,this.parsingType3Font&&(a=`${this.idFactory.getDocId()}_type3_${a}`),i.set(e,a),this.parsingType3Font?this.handler.send("commonobj",[a,"Pattern",s]):this.handler.send("obj",[a,this.pageIndex,"Pattern",s]),a}handleColorN(e,t,A,i,s,a,n,r,o,g){const h=A.pop();if(h instanceof eg){const c=s.getRaw(h.name),l=c instanceof sg&&o.getByRef(c);if(l)try{const s=i.base?i.base.getRgb(A,0):null,a=sC(l.operatorListIR,l.dict,s);return void e.addOp(t,a)}catch{}const I=this.xref.fetchIfRef(c);if(I){const s=I instanceof cg?I.dict:I,h=s.get("PatternType");if(h===aB){const r=i.base?i.base.getRgb(A,0):null;return this.handleTilingType(t,r,a,I,s,e,n,o)}if(h===nB){const A=s.get("Shading"),i=this.parseShading({shading:A,resources:a,localColorSpaceCache:r,localShadingPatternCache:g});if(i){const A=Sg(s.getArray("Matrix"),null);e.addOp(t,["Shading",i,A])}return}throw new yo(`Unknown PatternType: ${h}`)}}throw new yo(`Unknown PatternName: ${h}`)}_parseVisibilityExpression(e,t,A){if(++t>10)return void co("Visibility expression is too deeply nested");const i=e.length,s=this.xref.fetchIfRef(e[0]);if(!(i<2)&&s instanceof eg){switch(s.name){case"And":case"Or":case"Not":A.push(s.name);break;default:return void co(`Invalid operator ${s.name} in visibility expression`)}for(let s=1;s<i;s++){const i=e[s],a=this.xref.fetchIfRef(i);if(Array.isArray(a)){const e=[];A.push(e),this._parseVisibilityExpression(a,t,e)}else i instanceof sg&&A.push(i.toString())}}else co("Invalid visibility expression")}async parseMarkedContentProps(e,t){let A;if(e instanceof eg){A=t.get("Properties").get(e.name)}else{if(!(e instanceof ig))throw new yo("Optional content properties malformed.");A=e}const i=A.get("Type")?.name;if("OCG"===i)return{type:i,id:A.objId};if("OCMD"===i){const e=A.get("VE");if(Array.isArray(e)){const t=[];if(this._parseVisibilityExpression(e,0,t),t.length>0)return{type:"OCMD",expression:t}}const t=A.get("OCGs");if(Array.isArray(t)||t instanceof ig){const e=[];if(Array.isArray(t))for(const A of t)e.push(A.toString());else e.push(t.objId);return{type:i,ids:e,policy:A.get("P")instanceof eg?A.get("P").name:null,expression:null}}if(t instanceof sg)return{type:i,id:t.toString()}}return null}getOperatorList({stream:e,task:t,resources:A,operatorList:i,initialState:s=null,fallbackFontDict:a=null}){if(A||=ig.empty,s||=new CB,!i)throw new Error('getOperatorList: missing "operatorList" parameter');const n=this,r=this.xref;let o=!1;const g=new $C,h=new eu,c=new Au,l=new iu,I=new Map,d=A.get("XObject")||ig.empty,C=A.get("Pattern")||ig.empty,u=new IB(s),B=new uB(e,r,u),Q=new hB;function E(e){for(let e=0,t=B.savedStatesDepth;e<t;e++)i.addOp(Ln,[])}return new Promise((function e(s,f){const p=function(t){Promise.all([t,i.ready]).then((function(){try{e(s,f)}catch(e){f(e)}}),f)};t.ensureNotTerminated(),Q.reset();const m={};let y,w,b,D,k,S;for(;!(y=Q.check())&&(m.args=null,B.read(m));){let e=m.args,s=m.fn;switch(0|s){case Ur:if(S=e[0]instanceof eg,k=e[0].name,S){const t=g.getByName(k);if(t){i.addImageOps(t.fn,t.args,t.optionalContent),gB(t),e=null;continue}}return void p(new Promise((function(e,s){if(!S)throw new yo("XObject must be referred to by name.");let a=d.getRaw(k);if(a instanceof sg){const t=g.getByRef(a)||n._regionalImageCache.getByRef(a);if(t)return i.addImageOps(t.fn,t.args,t.optionalContent),gB(t),void e();const A=n.globalImageCache.getData(a,n.pageIndex);if(A)return i.addDependency(A.objId),i.addImageOps(A.fn,A.args,A.optionalContent),void e();a=r.fetch(a)}if(!(a instanceof cg))throw new yo("XObject should be a stream");const o=a.dict.get("Subtype");if(!(o instanceof eg))throw new yo("XObject should have a Name subtype");if("Form"===o.name)return u.save(),void n.buildFormXObject(A,a,null,i,t,u.state.clone(),h).then((function(){u.restore(),e()}),s);if("Image"!==o.name){if("PS"!==o.name)throw new yo(`Unhandled XObject subtype ${o.name}`);ho("Ignored XObject subtype PS"),e()}else n.buildPaintImageXObject({resources:A,image:a,operatorList:i,cacheKey:k,localImageCache:g,localColorSpaceCache:h}).then(e,s)})).catch((function(e){if(!(e instanceof wo)){if(!n.options.ignoreErrors)throw e;co(`getOperatorList - ignoring XObject: "${e}".`)}})));case or:var F=e[1];return void p(n.handleSetFont(A,e,null,i,t,u.state,a).then((function(e){i.addDependency(e),i.addOp(or,[e,F])})));case Ar:o=!0;break;case ir:o=!1;break;case Lr:var R=e[0].cacheKey;if(R){const t=g.getByName(R);if(t){i.addImageOps(t.fn,t.args,t.optionalContent),gB(t),e=null;continue}}return void p(n.buildPaintImageXObject({resources:A,image:e[0],isInline:!0,operatorList:i,cacheKey:R,localImageCache:g,localColorSpaceCache:h}));case Cr:if(!u.state.font){n.ensureStateFont(u.state);continue}e[0]=n.handleText(e[0],u.state);break;case ur:if(!u.state.font){n.ensureStateFont(u.state);continue}var x=[],v=u.state;for(const t of e[0])"string"==typeof t?x.push(...n.handleText(t,v)):"number"==typeof t&&x.push(t);e[0]=x,s=Cr;break;case Br:if(!u.state.font){n.ensureStateFont(u.state);continue}i.addOp(dr),e[0]=n.handleText(e[0],u.state),s=Cr;break;case Qr:if(!u.state.font){n.ensureStateFont(u.state);continue}i.addOp(dr),i.addOp(ar,[e.shift()]),i.addOp(sr,[e.shift()]),e[0]=n.handleText(e[0],u.state),s=Cr;break;case gr:u.state.textRenderingMode=e[0];break;case mr:{const t=eh.getCached(e[0],r,h);if(t){u.state.fillColorSpace=t;continue}return void p(n.parseColorSpace({cs:e[0],resources:A,localColorSpaceCache:h}).then((function(e){e&&(u.state.fillColorSpace=e)})))}case pr:{const t=eh.getCached(e[0],r,h);if(t){u.state.strokeColorSpace=t;continue}return void p(n.parseColorSpace({cs:e[0],resources:A,localColorSpaceCache:h}).then((function(e){e&&(u.state.strokeColorSpace=e)})))}case br:D=u.state.fillColorSpace,e=D.getRgb(e,0),s=Rr;break;case yr:D=u.state.strokeColorSpace,e=D.getRgb(e,0),s=Fr;break;case Sr:u.state.fillColorSpace=eh.singletons.gray,e=eh.singletons.gray.getRgb(e,0),s=Rr;break;case kr:u.state.strokeColorSpace=eh.singletons.gray,e=eh.singletons.gray.getRgb(e,0),s=Fr;break;case vr:u.state.fillColorSpace=eh.singletons.cmyk,e=eh.singletons.cmyk.getRgb(e,0),s=Rr;break;case xr:u.state.strokeColorSpace=eh.singletons.cmyk,e=eh.singletons.cmyk.getRgb(e,0),s=Fr;break;case Rr:u.state.fillColorSpace=eh.singletons.rgb,e=eh.singletons.rgb.getRgb(e,0);break;case Fr:u.state.strokeColorSpace=eh.singletons.rgb,e=eh.singletons.rgb.getRgb(e,0);break;case Dr:if(D=u.state.fillColorSpace,"Pattern"===D.name)return void p(n.handleColorN(i,Dr,e,D,C,A,t,h,l,I));e=D.getRgb(e,0),s=Rr;break;case wr:if(D=u.state.strokeColorSpace,"Pattern"===D.name)return void p(n.handleColorN(i,wr,e,D,C,A,t,h,l,I));e=D.getRgb(e,0),s=Fr;break;case Nr:var N=A.get("Shading");if(!N)throw new yo("No shading resource found");var M=N.get(e[0].name);if(!M)throw new yo("No shading object found");const B=n.parseShading({shading:M,resources:A,localColorSpaceCache:h,localShadingPatternCache:I});if(!B)continue;e=[B],s=Nr;break;case Mn:if(S=e[0]instanceof eg,k=e[0].name,S){const t=c.getByName(k);if(t){t.length>0&&i.addOp(Mn,[t]),e=null;continue}}return void p(new Promise((function(e,s){if(!S)throw new yo("GState must be referred to by name.");const a=A.get("ExtGState");if(!(a instanceof ig))throw new yo("ExtGState should be a dictionary.");const r=a.get(k);if(!(r instanceof ig))throw new yo("GState should be a dictionary.");n.setGState({resources:A,gState:r,operatorList:i,cacheKey:k,task:t,stateManager:u,localGStateCache:c,localColorSpaceCache:h}).then(e,s)})).catch((function(e){if(!(e instanceof wo)){if(!n.options.ignoreErrors)throw e;co(`getOperatorList - ignoring ExtGState: "${e}".`)}})));case Hn:case Jn:case Tn:case Pn:case Yn:case Kn:case _n:n.buildPath(i,s,e,o);continue;case Hr:case Jr:case Kr:case _r:continue;case Pr:if(!(e[0]instanceof eg)){co(`Expected name for beginMarkedContentProps arg0=${e[0]}`),i.addOp(Pr,["OC",null]);continue}if("OC"===e[0].name)return void p(n.parseMarkedContentProps(e[1],A).then((e=>{i.addOp(Pr,["OC",e])})).catch((e=>{if(!(e instanceof wo)){if(n.options.ignoreErrors)return co(`getOperatorList - ignoring beginMarkedContentProps: "${e}".`),void i.addOp(Pr,["OC",null]);throw e}})));e=[e[0].name,e[1]instanceof ig?e[1].get("MCID"):null];break;default:if(null!==e){for(w=0,b=e.length;w<b&&!(e[w]instanceof ig);w++);if(w<b){co("getOperatorList - ignoring operator: "+s);continue}}}i.addOp(s,e)}y?p(rB):(E(),s())})).catch((e=>{if(!(e instanceof wo)){if(this.options.ignoreErrors)return co(`getOperatorList - ignoring errors during "${t.name}" task: "${e}".`),void E();throw e}}))}getTextContent({stream:e,task:t,resources:A,stateManager:i=null,includeMarkedContent:s=!1,sink:a,seenStyles:n=new Set,viewBox:r,lang:o=null,markedContentData:g=null,disableNormalization:h=!1,keepWhiteSpace:c=!1}){A||=ig.empty,i||=new IB(new dB),s&&(g||={level:0});const l={items:[],styles:Object.create(null),lang:o},I={initialized:!1,str:[],totalWidth:0,totalHeight:0,width:0,height:0,vertical:!1,prevTransform:null,textAdvanceScale:0,spaceInFlowMin:0,spaceInFlowMax:0,trackingSpaceMin:1/0,negativeSpaceMax:-1/0,notASpace:-1/0,transform:null,fontName:null,hasEOL:!1},d=[" "," "];let C=0;function u(e){const t=(C+1)%2,A=" "!==d[C]&&" "===d[t];return d[C]=e,C=t,!c&&A}function B(){return!c&&" "!==d[C]&&" "===d[(C+1)%2]}function Q(){d[0]=d[1]=" ",C=0}const E=this,f=this.xref,p=[];let m=null;const y=new $C,w=new Au,b=new uB(e,f,i);let D;function k({width:e=0,height:t=0,transform:A=I.prevTransform,fontName:i=I.fontName}){l.items.push({str:" ",dir:"ltr",width:e,height:t,transform:A,fontName:i,hasEOL:!1})}function S(){const e=D.font,t=[D.fontSize*D.textHScale,0,0,D.fontSize,0,D.textRise];if(e.isType3Font&&(D.fontSize<=1||e.isCharBBox)&&!Lo(D.fontMatrix,ga)){const A=e.bbox[3]-e.bbox[1];A>0&&(t[3]*=A*D.fontMatrix[3])}return xo.transform(D.ctm,xo.transform(D.textMatrix,t))}function F(){if(I.initialized)return I;const{font:e,loadedName:t}=D;if(!n.has(t)&&(n.add(t),l.styles[t]={fontFamily:e.fallbackName,ascent:e.ascent,descent:e.descent,vertical:e.vertical},E.options.fontExtraProperties&&e.systemFontInfo)){const A=l.styles[t];A.fontSubstitution=e.systemFontInfo.css,A.fontSubstitutionLoadedName=e.systemFontInfo.loadedName}I.fontName=t;const A=I.transform=S();e.vertical?(I.width=I.totalWidth=Math.hypot(A[0],A[1]),I.height=I.totalHeight=0,I.vertical=!0):(I.width=I.totalWidth=0,I.height=I.totalHeight=Math.hypot(A[2],A[3]),I.vertical=!1);const i=Math.hypot(D.textLineMatrix[0],D.textLineMatrix[1]),s=Math.hypot(D.ctm[0],D.ctm[1]);I.textAdvanceScale=s*i;const{fontSize:a}=D;return I.trackingSpaceMin=.102*a,I.notASpace=.03*a,I.negativeSpaceMax=-.2*a,I.spaceInFlowMin=.102*a,I.spaceInFlowMax=.6*a,I.hasEOL=!1,I.initialized=!0,I}function R(){if(!I.initialized)return;const e=Math.hypot(D.textLineMatrix[0],D.textLineMatrix[1]),t=Math.hypot(D.ctm[0],D.ctm[1])*e;t!==I.textAdvanceScale&&(I.vertical?(I.totalHeight+=I.height*I.textAdvanceScale,I.height=0):(I.totalWidth+=I.width*I.textAdvanceScale,I.width=0),I.textAdvanceScale=t)}function x(e){let t=e.str.join("");var A;h||(A=t,Ho||(Ho=/([\u00a0\u00b5\u037e\u0eb3\u2000-\u200a\u202f\u2126\ufb00-\ufb04\ufb06\ufb20-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufba1\ufba4-\ufba9\ufbae-\ufbb1\ufbd3-\ufbdc\ufbde-\ufbe7\ufbea-\ufbf8\ufbfc-\ufbfd\ufc00-\ufc5d\ufc64-\ufcf1\ufcf5-\ufd3d\ufd88\ufdf4\ufdfa-\ufdfb\ufe71\ufe77\ufe79\ufe7b\ufe7d]+)|(\ufb05+)/gu,Jo=new Map([["ſt","ſt"]])),t=A.replaceAll(Ho,((e,t,A)=>t?t.normalize("NFKC"):Jo.get(A))));const i=Gu(t,-1,e.vertical);return{str:i.str,dir:i.dir,width:Math.abs(e.totalWidth),height:Math.abs(e.totalHeight),transform:e.transform,fontName:e.fontName,hasEOL:e.hasEOL}}async function v(e,i){const s=await E.loadFont(e,i,A);if(s.font.isType3Font)try{await s.loadType3Data(E,A,t)}catch{}D.loadedName=s.loadedName,D.font=s.font,D.fontMatrix=s.font.fontMatrix||ga}function N(e,t,A){const i=Math.hypot(A[0],A[1]);return[(A[0]*e+A[1]*t)/i,(A[2]*e+A[3]*t)/i]}function M(e){const t=S();let A=t[4],i=t[5];if(D.font?.vertical){if(A<r[0]||A>r[2]||i+e<r[1]||i>r[3])return!1}else if(A+e<r[0]||A>r[2]||i<r[1]||i>r[3])return!1;if(!D.font||!I.prevTransform)return!0;let s=I.prevTransform[4],a=I.prevTransform[5];if(s===A&&a===i)return!0;let n=-1;switch(t[0]&&0===t[1]&&0===t[2]?n=t[0]>0?0:180:t[1]&&0===t[0]&&0===t[3]&&(n=t[1]>0?90:270),n){case 0:break;case 90:[A,i]=[i,A],[s,a]=[a,s];break;case 180:[A,i,s,a]=[-A,-i,-s,-a];break;case 270:[A,i]=[-i,-A],[s,a]=[-a,-s];break;default:[A,i]=N(A,i,t),[s,a]=N(s,a,I.prevTransform)}if(D.font.vertical){const e=(a-i)/I.textAdvanceScale,t=A-s,n=Math.sign(I.height);return e<n*I.negativeSpaceMax?Math.abs(t)>.5*I.width?(L(),!0):(Q(),H(),!0):Math.abs(t)>I.width?(L(),!0):(e<=n*I.notASpace&&Q(),e<=n*I.trackingSpaceMin?B()?(Q(),H(),k({height:Math.abs(e)})):I.height+=e:U(e,I.prevTransform,n)||(0===I.str.length?(Q(),k({height:Math.abs(e)})):I.height+=e),Math.abs(t)>.25*I.width&&H(),!0)}const o=(A-s)/I.textAdvanceScale,g=i-a,h=Math.sign(I.width);return o<h*I.negativeSpaceMax?Math.abs(g)>.5*I.height?(L(),!0):(Q(),H(),!0):Math.abs(g)>I.height?(L(),!0):(o<=h*I.notASpace&&Q(),o<=h*I.trackingSpaceMin?B()?(Q(),H(),k({width:Math.abs(o)})):I.width+=o:U(o,I.prevTransform,h)||(0===I.str.length?(Q(),k({width:Math.abs(o)})):I.width+=o),Math.abs(g)>.25*I.height&&H(),!0)}function G({chars:e,extraSpacing:t}){const A=D.font;if(!e){const e=D.charSpacing+t;return e&&(A.vertical?D.translateTextMatrix(0,-e):D.translateTextMatrix(e*D.textHScale,0)),void(c&&M(0))}const i=A.charsToGlyphs(e),s=D.fontMatrix[0]*D.fontSize;for(let e=0,a=i.length;e<a;e++){const n=i[e],{category:r}=n;if(r.isInvisibleFormatMark)continue;let o=D.charSpacing+(e+1===a?t:0),g=n.width;A.vertical&&(g=n.vmetric?n.vmetric[0]:-g);let h=g*s;if(!c&&r.isWhitespace){A.vertical?(o+=-h+D.wordSpacing,D.translateTextMatrix(0,-o)):(o+=h+D.wordSpacing,D.translateTextMatrix(o*D.textHScale,0)),u(" ");continue}if(!r.isZeroWidthDiacritic&&!M(h)){A.vertical?D.translateTextMatrix(0,h):D.translateTextMatrix(h*D.textHScale,0);continue}const l=F();r.isZeroWidthDiacritic&&(h=0),A.vertical?(D.translateTextMatrix(0,h),h=Math.abs(h),l.height+=h):(h*=D.textHScale,D.translateTextMatrix(h,0),l.width+=h),h&&(l.prevTransform=S());const I=n.unicode;u(I)&&l.str.push(" "),l.str.push(I),o&&(A.vertical?D.translateTextMatrix(0,-o):D.translateTextMatrix(o*D.textHScale,0))}}function L(){Q(),I.initialized?(I.hasEOL=!0,H()):l.items.push({str:"",dir:"ltr",width:0,height:0,transform:S(),fontName:D.loadedName,hasEOL:!0})}function U(e,t,A){if(A*I.spaceInFlowMin<=e&&e<=A*I.spaceInFlowMax)return I.initialized&&(Q(),I.str.push(" ")),!1;const i=I.fontName;let s=0;return I.vertical&&(s=e,e=0),H(),Q(),k({width:Math.abs(e),height:Math.abs(s),transform:t||S(),fontName:i}),!0}function H(){I.initialized&&I.str&&(I.vertical?I.totalHeight+=I.height*I.textAdvanceScale:I.totalWidth+=I.width*I.textAdvanceScale,l.items.push(x(I)),I.initialized=!1,I.str.length=0)}function J(e=!1){const t=l.items.length;0!==t&&(e&&t<10||(a.enqueue(l,t),l.items=[],l.styles=Object.create(null)))}const T=new hB;return new Promise((function e(I,d){const C=function(t){J(!0),Promise.all([t,a.ready]).then((function(){try{e(I,d)}catch(e){d(e)}}),d)};t.ensureNotTerminated(),T.reset();const u={};let B,Q=[];for(;!(B=T.check())&&(Q.length=0,u.args=Q,b.read(u));){const e=D;D=i.state;const I=u.fn;switch(Q=u.args,0|I){case or:var k=Q[0].name,S=Q[1];if(D.font&&k===D.fontName&&S===D.fontSize)break;return H(),D.fontName=k,D.fontSize=S,void C(v(k,null));case hr:D.textRise=Q[0];break;case nr:D.textHScale=Q[0]/100;break;case rr:D.leading=Q[0];break;case cr:D.translateTextLineMatrix(Q[0],Q[1]),D.textMatrix=D.textLineMatrix.slice();break;case lr:D.leading=-Q[1],D.translateTextLineMatrix(Q[0],Q[1]),D.textMatrix=D.textLineMatrix.slice();break;case dr:D.carriageReturn();break;case Ir:D.setTextMatrix(Q[0],Q[1],Q[2],Q[3],Q[4],Q[5]),D.setTextLineMatrix(Q[0],Q[1],Q[2],Q[3],Q[4],Q[5]),R();break;case sr:D.charSpacing=Q[0];break;case ar:D.wordSpacing=Q[0];break;case Ar:D.textMatrix=oa.slice(),D.textLineMatrix=oa.slice();break;case ur:if(!i.state.font){E.ensureStateFont(i.state);continue}const I=(D.font.vertical?1:-1)*D.fontSize/1e3,d=Q[0];for(let e=0,t=d.length;e<t;e++){const t=d[e];if("string"==typeof t)p.push(t);else if("number"==typeof t&&0!==t){const e=p.join("");p.length=0,G({chars:e,extraSpacing:t*I})}}if(p.length>0){const e=p.join("");p.length=0,G({chars:e,extraSpacing:0})}break;case Cr:if(!i.state.font){E.ensureStateFont(i.state);continue}G({chars:Q[0],extraSpacing:0});break;case Br:if(!i.state.font){E.ensureStateFont(i.state);continue}D.carriageReturn(),G({chars:Q[0],extraSpacing:0});break;case Qr:if(!i.state.font){E.ensureStateFont(i.state);continue}D.wordSpacing=Q[0],D.charSpacing=Q[1],D.carriageReturn(),G({chars:Q[2],extraSpacing:0});break;case Ur:H(),m||(m=A.get("XObject")||ig.empty);var F=Q[0]instanceof eg,x=Q[0].name;if(F&&y.getByName(x))break;return void C(new Promise((function(e,l){if(!F)throw new yo("XObject must be referred to by name.");let I=m.getRaw(x);if(I instanceof sg){if(y.getByRef(I))return void e();if(E.globalImageCache.getData(I,E.pageIndex))return void e();I=f.fetch(I)}if(!(I instanceof cg))throw new yo("XObject should be a stream");const d=I.dict.get("Subtype");if(!(d instanceof eg))throw new yo("XObject should have a Name subtype");if("Form"!==d.name)return y.set(x,I.dict.objId,!0),void e();const C=i.state.clone(),u=new IB(C),B=Sg(I.dict.getArray("Matrix"),null);B&&u.transform(B),J();const Q={enqueueInvoked:!1,enqueue(e,t){this.enqueueInvoked=!0,a.enqueue(e,t)},get desiredSize(){return a.desiredSize},get ready(){return a.ready}};E.getTextContent({stream:I,task:t,resources:I.dict.get("Resources")||A,stateManager:u,includeMarkedContent:s,sink:Q,seenStyles:n,viewBox:r,lang:o,markedContentData:g,disableNormalization:h,keepWhiteSpace:c}).then((function(){Q.enqueueInvoked||y.set(x,I.dict.objId,!0),e()}),l)})).catch((function(e){if(!(e instanceof wo)){if(!E.options.ignoreErrors)throw e;co(`getTextContent - ignoring XObject: "${e}".`)}})));case Mn:if(F=Q[0]instanceof eg,x=Q[0].name,F&&w.getByName(x))break;return void C(new Promise((function(e,t){if(!F)throw new yo("GState must be referred to by name.");const i=A.get("ExtGState");if(!(i instanceof ig))throw new yo("ExtGState should be a dictionary.");const s=i.get(x);if(!(s instanceof ig))throw new yo("GState should be a dictionary.");const a=s.get("Font");if(!a)return w.set(x,s.objId,!0),void e();H(),D.fontName=null,D.fontSize=a[1],v(null,a[0]).then(e,t)})).catch((function(e){if(!(e instanceof wo)){if(!E.options.ignoreErrors)throw e;co(`getTextContent - ignoring ExtGState: "${e}".`)}})));case Tr:H(),s&&(g.level++,l.items.push({type:"beginMarkedContent",tag:Q[0]instanceof eg?Q[0].name:null}));break;case Pr:if(H(),s){g.level++;let e=null;Q[1]instanceof ig&&(e=Q[1].get("MCID")),l.items.push({type:"beginMarkedContentProps",id:Number.isInteger(e)?`${E.idFactory.getPageObjId()}_mc${e}`:null,tag:Q[0]instanceof eg?Q[0].name:null})}break;case Yr:if(H(),s){if(0===g.level)break;g.level--,l.items.push({type:"endMarkedContent"})}break;case Ln:!e||e.font===D.font&&e.fontSize===D.fontSize&&e.fontName===D.fontName||H()}if(l.items.length>=a.desiredSize){B=!0;break}}B?C(rB):(H(),J(),I())})).catch((e=>{if(!(e instanceof wo)){if(this.options.ignoreErrors)return co(`getTextContent - ignoring errors during "${t.name}" task: "${e}".`),H(),void J();throw e}}))}async extractDataStructures(e,t){const A=this.xref;let i;const s=this.readToUnicode(t.toUnicode);if(t.composite){const A=e.get("CIDSystemInfo");A instanceof ig&&(t.cidSystemInfo={registry:No(A.get("Registry")),ordering:No(A.get("Ordering")),supplement:A.get("Supplement")});try{const t=e.get("CIDToGIDMap");t instanceof cg&&(i=t.getBytes())}catch(e){if(!this.options.ignoreErrors)throw e;co(`extractDataStructures - ignoring CIDToGIDMap data: "${e}".`)}}const a=[];let n,r=null;if(e.has("Encoding")){if(n=e.get("Encoding"),n instanceof ig){if(r=n.get("BaseEncoding"),r=r instanceof eg?r.name:null,n.has("Differences")){const e=n.get("Differences");let t=0;for(const i of e){const e=A.fetchIfRef(i);if("number"==typeof e)t=e;else{if(!(e instanceof eg))throw new yo(`Invalid entry in 'Differences' array: ${e}`);a[t++]=e.name}}}}else if(n instanceof eg)r=n.name;else{const e="Encoding is not a Name nor a Dict";if(!this.options.ignoreErrors)throw new yo(e);co(e)}"MacRomanEncoding"!==r&&"MacExpertEncoding"!==r&&"WinAnsiEncoding"!==r&&(r=null)}const o=!t.file||t.isInternalFont,g=CI()[t.name];if(r&&o&&g&&(r=null),r)t.defaultEncoding=kl(r);else{const e=!!(t.flags&aI),A=!!(t.flags&nI);n=yl,"TrueType"!==t.type||A||(n=wl),(e||g)&&(n=ml,o&&(/Symbol/i.test(t.name)?n=bl:/Dingbats/i.test(t.name)?n=Dl:/Wingdings/i.test(t.name)&&(n=wl))),t.defaultEncoding=n}t.differences=a,t.baseEncodingName=r,t.hasEncoding=!!r||a.length>0,t.dict=e,t.toUnicode=await s;const h=await this.buildToUnicode(t);return t.toUnicode=h,i&&(t.cidToGidMap=this.readCidToGidMap(i,h)),t}_simpleFontToUnicode(e,t=!1){Io(!e.composite,"Must be a simple font.");const A=[],i=e.defaultEncoding.slice(),s=e.baseEncodingName,a=e.differences;for(const e in a){const t=a[e];".notdef"!==t&&(i[e]=t)}const n=jl();for(const a in i){let r=i[a];if(""===r)continue;let o=n[r];if(void 0!==o){A[a]=String.fromCharCode(o);continue}let g=0;switch(r[0]){case"G":3===r.length&&(g=parseInt(r.substring(1),16));break;case"g":5===r.length&&(g=parseInt(r.substring(1),16));break;case"C":case"c":if(r.length>=3&&r.length<=4){const A=r.substring(1);if(t){g=parseInt(A,16);break}if(g=+A,Number.isNaN(g)&&Number.isInteger(parseInt(A,16)))return this._simpleFontToUnicode(e,!0)}break;case"u":o=Xl(r,n),-1!==o&&(g=o);break;default:switch(r){case"f_h":case"f_t":case"T_h":A[a]=r.replaceAll("_","");continue}}if(g>0&&g<=1114111&&Number.isInteger(g)){if(s&&g===+a){const e=kl(s);if(e&&(r=e[a])){A[a]=String.fromCharCode(n[r]);continue}}A[a]=String.fromCodePoint(g)}}return A}async buildToUnicode(e){if(e.hasIncludedToUnicodeMap=e.toUnicode?.length>0,e.hasIncludedToUnicodeMap)return!e.composite&&e.hasEncoding&&(e.fallbackToUnicode=this._simpleFontToUnicode(e)),e.toUnicode;if(!e.composite)return new pI(this._simpleFontToUnicode(e));if(e.composite&&(e.cMap.builtInCMap&&!(e.cMap instanceof Al)||"Adobe"===e.cidSystemInfo?.registry&&("GB1"===e.cidSystemInfo.ordering||"CNS1"===e.cidSystemInfo.ordering||"Japan1"===e.cidSystemInfo.ordering||"Korea1"===e.cidSystemInfo.ordering))){const{registry:t,ordering:A}=e.cidSystemInfo,i=eg.get(`${t}-${A}-UCS2`),s=await ul.create({encoding:i,fetchBuiltInCMap:this._fetchBuiltInCMapBound,useCMap:null}),a=[],n=[];return e.cMap.forEach((function(e,t){if(t>65535)throw new yo("Max size of CID is 65,535");const A=s.lookup(t);if(A){n.length=0;for(let e=0,t=A.length;e<t;e+=2)n.push((A.charCodeAt(e)<<8)+A.charCodeAt(e+1));a[e]=String.fromCharCode(...n)}})),new pI(a)}return new mI(e.firstChar,e.lastChar)}async readToUnicode(e){if(!e)return null;if(e instanceof eg){const t=await ul.create({encoding:e,fetchBuiltInCMap:this._fetchBuiltInCMapBound,useCMap:null});return t instanceof Al?new mI(0,65535):new pI(t.getMap())}if(e instanceof cg)try{const t=await ul.create({encoding:e,fetchBuiltInCMap:this._fetchBuiltInCMapBound,useCMap:null});if(t instanceof Al)return new mI(0,65535);const A=new Array(t.length);return t.forEach((function(e,t){if("number"==typeof t)return void(A[e]=String.fromCodePoint(t));const i=[];for(let e=0;e<t.length;e+=2){const A=t.charCodeAt(e)<<8|t.charCodeAt(e+1);if(55296!=(63488&A)){i.push(A);continue}e+=2;const s=t.charCodeAt(e)<<8|t.charCodeAt(e+1);i.push(((1023&A)<<10)+(1023&s)+65536)}A[e]=String.fromCodePoint(...i)})),new pI(A)}catch(e){if(e instanceof wo)return null;if(this.options.ignoreErrors)return co(`readToUnicode - ignoring ToUnicode data: "${e}".`),null;throw e}return null}readCidToGidMap(e,t){const A=[];for(let i=0,s=e.length;i<s;i++){const s=e[i++]<<8|e[i],a=i>>1;(0!==s||t.has(a))&&(A[a]=s)}return A}extractWidths(e,t,A){const i=this.xref;let s=[],a=0;const n=[];let r;if(A.composite){const t=e.get("DW");a=Number.isInteger(t)?t:1e3;const o=e.get("W");if(Array.isArray(o))for(let e=0,t=o.length;e<t;e++){let t=i.fetchIfRef(o[e++]);if(!Number.isInteger(t))break;const A=i.fetchIfRef(o[e]);if(Array.isArray(A))for(const e of A){const A=i.fetchIfRef(e);"number"==typeof A&&(s[t]=A),t++}else{if(!Number.isInteger(A))break;{const a=i.fetchIfRef(o[++e]);if("number"!=typeof a)continue;for(let e=t;e<=A;e++)s[e]=a}}}if(A.vertical){const t=e.getArray("DW2");let A=kg(t,2)?t:[880,-1e3];if(r=[A[1],.5*a,A[0]],A=e.get("W2"),Array.isArray(A))for(let e=0,t=A.length;e<t;e++){let t=i.fetchIfRef(A[e++]);if(!Number.isInteger(t))break;const s=i.fetchIfRef(A[e]);if(Array.isArray(s))for(let e=0,A=s.length;e<A;e++){const A=[i.fetchIfRef(s[e++]),i.fetchIfRef(s[e++]),i.fetchIfRef(s[e])];kg(A,null)&&(n[t]=A),t++}else{if(!Number.isInteger(s))break;{const a=[i.fetchIfRef(A[++e]),i.fetchIfRef(A[++e]),i.fetchIfRef(A[++e])];if(!kg(a,null))continue;for(let e=t;e<=s;e++)n[e]=a}}}}}else{const n=e.get("Widths");if(Array.isArray(n)){let e=A.firstChar;for(const t of n){const A=i.fetchIfRef(t);"number"==typeof A&&(s[e]=A),e++}const r=t.get("MissingWidth");a="number"==typeof r?r:0}else{const t=e.get("BaseFont");if(t instanceof eg){const e=this.getBaseFontMetrics(t.name);s=this.buildCharCodeToWidth(e.widths,A),a=e.defaultWidth}}}let o=!0,g=a;for(const e in s){const t=s[e];if(t)if(g){if(g!==t){o=!1;break}}else g=t}o?A.flags|=iI:A.flags&=~iI,A.defaultWidth=a,A.widths=s,A.defaultVMetrics=r,A.vmetrics=n}isSerifFont(e){const t=e.split("-",1)[0];return t in dI()||/serif/gi.test(t)}getBaseFontMetrics(e){let t=0,A=Object.create(null),i=!1;let s=cI()[e]||e;const a=PI();s in a||(s=this.isSerifFont(e)?"Times-Roman":"Helvetica");const n=a[s];return"number"==typeof n?(t=n,i=!0):A=n(),{defaultWidth:t,monospace:i,widths:A}}buildCharCodeToWidth(e,t){const A=Object.create(null),i=t.differences,s=t.defaultEncoding;for(let t=0;t<256;t++)t in i&&e[i[t]]?A[t]=e[i[t]]:t in s&&e[s[t]]&&(A[t]=e[s[t]]);return A}preEvaluateFont(e){const t=e;let A=e.get("Subtype");if(!(A instanceof eg))throw new yo("invalid font Subtype");let i,s=!1;if("Type0"===A.name){const t=e.get("DescendantFonts");if(!t)throw new yo("Descendant fonts are not specified");if(!((e=Array.isArray(t)?this.xref.fetchIfRef(t[0]):t)instanceof ig))throw new yo("Descendant font is not a dictionary.");if(A=e.get("Subtype"),!(A instanceof eg))throw new yo("invalid font Subtype");s=!0}let a=e.get("FirstChar");Number.isInteger(a)||(a=0);let n=e.get("LastChar");Number.isInteger(n)||(n=s?65535:255);const r=e.get("FontDescriptor"),o=e.get("ToUnicode")||t.get("ToUnicode");if(r){i=new Vu;const A=t.getRaw("Encoding");if(A instanceof eg)i.update(A.name);else if(A instanceof sg)i.update(A.toString());else if(A instanceof ig)for(const e of A.getRawValues())if(e instanceof eg)i.update(e.name);else if(e instanceof sg)i.update(e.toString());else if(Array.isArray(e)){const t=e.length,A=new Array(t);for(let i=0;i<t;i++){const t=e[i];t instanceof eg?A[i]=t.name:("number"==typeof t||t instanceof sg)&&(A[i]=t.toString())}i.update(A.join())}if(i.update(`${a}-${n}`),o instanceof cg){const e=o.str||o,t=e.buffer?new Uint8Array(e.buffer.buffer,0,e.bufferLength):new Uint8Array(e.bytes.buffer,e.start,e.end-e.start);i.update(t)}else o instanceof eg&&i.update(o.name);const r=e.get("Widths")||t.get("Widths");if(Array.isArray(r)){const e=[];for(const t of r)("number"==typeof t||t instanceof sg)&&e.push(t.toString());i.update(e.join())}if(s){i.update("compositeFont");const A=e.get("W")||t.get("W");if(Array.isArray(A)){const e=[];for(const t of A)if("number"==typeof t||t instanceof sg)e.push(t.toString());else if(Array.isArray(t)){const A=[];for(const e of t)("number"==typeof e||e instanceof sg)&&A.push(e.toString());e.push(`[${A.join()}]`)}i.update(e.join())}const s=e.getRaw("CIDToGIDMap")||t.getRaw("CIDToGIDMap");s instanceof eg?i.update(s.name):s instanceof sg?i.update(s.toString()):s instanceof cg&&i.update(s.peekBytes())}}return{descriptor:r,dict:e,baseDict:t,composite:s,type:A.name,firstChar:a,lastChar:n,toUnicode:o,hash:i?i.hexdigest():""}}async translateFont({descriptor:e,dict:t,baseDict:A,composite:i,type:s,firstChar:a,lastChar:n,toUnicode:r,cssFontInfo:o}){const g="Type3"===s;if(!e){if(!g){let e=t.get("BaseFont");if(!(e instanceof eg))throw new yo("Base font is not specified");e=e.name.replaceAll(/[,_]/g,"-");const i=this.getBaseFontMetrics(e),o=e.split("-",1)[0],h=(this.isSerifFont(o)?sI:0)|(i.monospace?iI:0)|(CI()[o]?aI:nI),c={type:s,name:e,loadedName:A.loadedName,systemFontInfo:null,widths:i.widths,defaultWidth:i.defaultWidth,isSimulatedFlags:!0,flags:h,firstChar:a,lastChar:n,toUnicode:r,xHeight:0,capHeight:0,italicAngle:0,isType3Font:g},l=t.get("Widths"),I=EI(e);let d=null;I&&(d=await this.fetchStandardFontData(I),c.isInternalFont=!!d),!c.isInternalFont&&this.options.useSystemFonts&&(c.systemFontInfo=_u(this.systemFontCache,this.idFactory,this.options.standardFontDataUrl,e,I,s));const C=await this.extractDataStructures(t,c);if(Array.isArray(l)){const e=[];let t=a;for(const A of l){const i=this.xref.fetchIfRef(A);"number"==typeof i&&(e[t]=i),t++}C.widths=e}else C.widths=this.buildCharCodeToWidth(i.widths,C);return new Yd(e,d,C)}{const A=Rg(t.getArray("FontBBox"),[0,0,0,0]);(e=new ig(null)).set("FontName",eg.get(s)),e.set("FontBBox",A)}}let h=e.get("FontName"),c=t.get("BaseFont");"string"==typeof h&&(h=eg.get(h)),"string"==typeof c&&(c=eg.get(c));const l=h?.name,I=c?.name;if(g||l===I||(ho(`The FontDescriptor's FontName is "${l}" but should be the same as the Font's BaseFont "${I}".`),l&&I&&(I.startsWith(l)||!fI(l)&&fI(I))&&(h=null)),h||=c,!(h instanceof eg))throw new yo("invalid font name");let d,C,u,B,Q;try{d=e.get("FontFile","FontFile2","FontFile3")}catch(e){if(!this.options.ignoreErrors)throw e;co(`translateFont - fetching "${h.name}" font file: "${e}".`),d=new Xg}let E=!1,f=null,p=null;if(d){if(d.dict){const e=d.dict.get("Subtype");e instanceof eg&&(C=e.name),u=d.dict.get("Length1"),B=d.dict.get("Length2"),Q=d.dict.get("Length3")}}else if(o){const e=OC(h.name);e&&(o.fontFamily=`${o.fontFamily}-PdfJS-XFA`,o.metrics=e.metrics||null,f=e.factors||null,d=await this.fetchStandardFontData(e.name),E=!!d,A=t=WC(h.name),i=!0)}else if(!g){const e=EI(h.name);e&&(d=await this.fetchStandardFontData(e),E=!!d),!E&&this.options.useSystemFonts&&(p=_u(this.systemFontCache,this.idFactory,this.options.standardFontDataUrl,h.name,e,s))}const m=Sg(t.getArray("FontMatrix"),ga),y=Rg(e.getArray("FontBBox")||t.getArray("FontBBox"),void 0);let w=e.get("Ascent");"number"!=typeof w&&(w=void 0);let b=e.get("Descent");"number"!=typeof b&&(b=void 0);let D=e.get("XHeight");"number"!=typeof D&&(D=0);let k=e.get("CapHeight");"number"!=typeof k&&(k=0);let S=e.get("Flags");Number.isInteger(S)||(S=0);let F=e.get("ItalicAngle");"number"!=typeof F&&(F=0);const R={type:s,name:h.name,subtype:C,file:d,length1:u,length2:B,length3:Q,isInternalFont:E,loadedName:A.loadedName,composite:i,fixedPitch:!1,fontMatrix:m,firstChar:a,lastChar:n,toUnicode:r,bbox:y,ascent:w,descent:b,xHeight:D,capHeight:k,flags:S,italicAngle:F,isType3Font:g,cssFontInfo:o,scaleFactors:f,systemFontInfo:p};if(i){const e=A.get("Encoding");e instanceof eg&&(R.cidEncoding=e.name);const t=await ul.create({encoding:e,fetchBuiltInCMap:this._fetchBuiltInCMapBound,useCMap:null});R.cMap=t,R.vertical=R.cMap.vertical}const x=await this.extractDataStructures(t,R);return this.extractWidths(t,e,x),new Yd(h.name,d,x)}static buildFontPaths(e,t,A,i){function s(t){const s=`${e.loadedName}_path_${t}`;try{if(e.renderer.hasBuiltPath(t))return;A.send("commonobj",[s,"FontPath",e.renderer.getPathJs(t)])}catch(e){if(i.ignoreErrors)return void co(`buildFontPaths - ignoring ${s} glyph: "${e}".`);throw e}}for(const e of t){s(e.fontChar);const t=e.accent;t?.fontChar&&s(t.fontChar)}}static get fallbackFontDict(){const e=new ig;return e.set("BaseFont",eg.get("Helvetica")),e.set("Type",eg.get("FallbackType")),e.set("Subtype",eg.get("FallbackType")),e.set("Encoding",eg.get("WinAnsiEncoding")),uo(this,"fallbackFontDict",e)}}class lB{constructor({loadedName:e,font:t,dict:A,evaluatorOptions:i}){this.loadedName=e,this.font=t,this.dict=A,this._evaluatorOptions=i||sB,this.type3Loaded=null,this.type3Dependencies=t.isType3Font?new Set:null,this.sent=!1}send(e){this.sent||(this.sent=!0,e.send("commonobj",[this.loadedName,"Font",this.font.exportData(this._evaluatorOptions.fontExtraProperties)]))}fallback(e){this.font.data&&(this.font.disableFontFace=!0,cB.buildFontPaths(this.font,this.font.glyphCacheValues,e,this._evaluatorOptions))}loadType3Data(e,t,A){if(this.type3Loaded)return this.type3Loaded;if(!this.font.isType3Font)throw new Error("Must be a Type3 font.");const i=e.clone({ignoreErrors:!1}),s=new ag(e.type3FontRefs);this.dict.objId&&!s.has(this.dict.objId)&&s.put(this.dict.objId),i.type3FontRefs=s;const a=this.font,n=this.type3Dependencies;let r=Promise.resolve();const o=this.dict.get("CharProcs"),g=this.dict.get("Resources")||t,h=Object.create(null),c=xo.normalizeRect(a.bbox||[0,0,0,0]),l=c[2]-c[0],I=c[3]-c[1],d=Math.hypot(l,I);for(const e of o.getKeys())r=r.then((()=>{const t=o.get(e),s=new eB;return i.getOperatorList({stream:t,task:A,resources:g,operatorList:s}).then((()=>{s.fnArray[0]===fr&&this._removeType3ColorOperators(s,d),h[e]=s.getIR();for(const e of s.dependencies)n.add(e)})).catch((function(t){co(`Type3 font resource "${e}" is not available.`);const A=new eB;h[e]=A.getIR()}))}));return this.type3Loaded=r.then((()=>{a.charProcOperatorList=h,this._bbox&&(a.isCharBBox=!0,a.bbox=this._bbox)})),this.type3Loaded}_removeType3ColorOperators(e,t=NaN){const A=xo.normalizeRect(e.argsArray[0].slice(2)),i=A[2]-A[0],s=A[3]-A[1],a=Math.hypot(i,s);0===i||0===s?(e.fnArray.splice(0,1),e.argsArray.splice(0,1)):(0===t||Math.round(a/t)>=10)&&(this._bbox||(this._bbox=[1/0,1/0,-1/0,-1/0]),this._bbox[0]=Math.min(this._bbox[0],A[0]),this._bbox[1]=Math.min(this._bbox[1],A[1]),this._bbox[2]=Math.max(this._bbox[2],A[2]),this._bbox[3]=Math.max(this._bbox[3],A[3]));let n=0,r=e.length;for(;n<r;){switch(e.fnArray[n]){case fr:break;case pr:case mr:case yr:case wr:case br:case Dr:case kr:case Sr:case Fr:case Rr:case xr:case vr:case Nr:case vn:e.fnArray.splice(n,1),e.argsArray.splice(n,1),r--;continue;case Mn:const[t]=e.argsArray[n];let A=0,i=t.length;for(;A<i;){const[e]=t[A];switch(e){case"TR":case"TR2":case"HT":case"BG":case"BG2":case"UCR":case"UCR2":t.splice(A,1),i--;continue}A++}}n++}}}class IB{constructor(e=new CB){this.state=e,this.stateStack=[]}save(){const e=this.state;this.stateStack.push(this.state),this.state=e.clone()}restore(){const e=this.stateStack.pop();e&&(this.state=e)}transform(e){this.state.ctm=xo.transform(this.state.ctm,e)}}class dB{constructor(){this.ctm=new Float32Array(oa),this.fontName=null,this.fontSize=0,this.loadedName=null,this.font=null,this.fontMatrix=ga,this.textMatrix=oa.slice(),this.textLineMatrix=oa.slice(),this.charSpacing=0,this.wordSpacing=0,this.leading=0,this.textHScale=1,this.textRise=0}setTextMatrix(e,t,A,i,s,a){const n=this.textMatrix;n[0]=e,n[1]=t,n[2]=A,n[3]=i,n[4]=s,n[5]=a}setTextLineMatrix(e,t,A,i,s,a){const n=this.textLineMatrix;n[0]=e,n[1]=t,n[2]=A,n[3]=i,n[4]=s,n[5]=a}translateTextMatrix(e,t){const A=this.textMatrix;A[4]=A[0]*e+A[2]*t+A[4],A[5]=A[1]*e+A[3]*t+A[5]}translateTextLineMatrix(e,t){const A=this.textLineMatrix;A[4]=A[0]*e+A[2]*t+A[4],A[5]=A[1]*e+A[3]*t+A[5]}carriageReturn(){this.translateTextLineMatrix(0,-this.leading),this.textMatrix=this.textLineMatrix.slice()}clone(){const e=Object.create(this);return e.textMatrix=this.textMatrix.slice(),e.textLineMatrix=this.textLineMatrix.slice(),e.fontMatrix=this.fontMatrix.slice(),e}}class CB{constructor(){this.ctm=new Float32Array(oa),this.font=null,this.textRenderingMode=Da,this.fillColorSpace=eh.singletons.gray,this.strokeColorSpace=eh.singletons.gray}clone(){return Object.create(this)}}class uB{static get opMap(){return uo(this,"opMap",Object.assign(Object.create(null),{w:{id:kn,numArgs:1,variableArgs:!1},J:{id:Sn,numArgs:1,variableArgs:!1},j:{id:Fn,numArgs:1,variableArgs:!1},M:{id:Rn,numArgs:1,variableArgs:!1},d:{id:xn,numArgs:2,variableArgs:!1},ri:{id:vn,numArgs:1,variableArgs:!1},i:{id:Nn,numArgs:1,variableArgs:!1},gs:{id:Mn,numArgs:1,variableArgs:!1},q:{id:Gn,numArgs:0,variableArgs:!1},Q:{id:Ln,numArgs:0,variableArgs:!1},cm:{id:Un,numArgs:6,variableArgs:!1},m:{id:Hn,numArgs:2,variableArgs:!1},l:{id:Jn,numArgs:2,variableArgs:!1},c:{id:Tn,numArgs:6,variableArgs:!1},v:{id:Pn,numArgs:4,variableArgs:!1},y:{id:Yn,numArgs:4,variableArgs:!1},h:{id:Kn,numArgs:0,variableArgs:!1},re:{id:_n,numArgs:4,variableArgs:!1},S:{id:qn,numArgs:0,variableArgs:!1},s:{id:On,numArgs:0,variableArgs:!1},f:{id:Wn,numArgs:0,variableArgs:!1},F:{id:Wn,numArgs:0,variableArgs:!1},"f*":{id:jn,numArgs:0,variableArgs:!1},B:{id:Vn,numArgs:0,variableArgs:!1},"B*":{id:Zn,numArgs:0,variableArgs:!1},b:{id:Xn,numArgs:0,variableArgs:!1},"b*":{id:zn,numArgs:0,variableArgs:!1},n:{id:$n,numArgs:0,variableArgs:!1},W:{id:er,numArgs:0,variableArgs:!1},"W*":{id:tr,numArgs:0,variableArgs:!1},BT:{id:Ar,numArgs:0,variableArgs:!1},ET:{id:ir,numArgs:0,variableArgs:!1},Tc:{id:sr,numArgs:1,variableArgs:!1},Tw:{id:ar,numArgs:1,variableArgs:!1},Tz:{id:nr,numArgs:1,variableArgs:!1},TL:{id:rr,numArgs:1,variableArgs:!1},Tf:{id:or,numArgs:2,variableArgs:!1},Tr:{id:gr,numArgs:1,variableArgs:!1},Ts:{id:hr,numArgs:1,variableArgs:!1},Td:{id:cr,numArgs:2,variableArgs:!1},TD:{id:lr,numArgs:2,variableArgs:!1},Tm:{id:Ir,numArgs:6,variableArgs:!1},"T*":{id:dr,numArgs:0,variableArgs:!1},Tj:{id:Cr,numArgs:1,variableArgs:!1},TJ:{id:ur,numArgs:1,variableArgs:!1},"'":{id:Br,numArgs:1,variableArgs:!1},'"':{id:Qr,numArgs:3,variableArgs:!1},d0:{id:Er,numArgs:2,variableArgs:!1},d1:{id:fr,numArgs:6,variableArgs:!1},CS:{id:pr,numArgs:1,variableArgs:!1},cs:{id:mr,numArgs:1,variableArgs:!1},SC:{id:yr,numArgs:4,variableArgs:!0},SCN:{id:wr,numArgs:33,variableArgs:!0},sc:{id:br,numArgs:4,variableArgs:!0},scn:{id:Dr,numArgs:33,variableArgs:!0},G:{id:kr,numArgs:1,variableArgs:!1},g:{id:Sr,numArgs:1,variableArgs:!1},RG:{id:Fr,numArgs:3,variableArgs:!1},rg:{id:Rr,numArgs:3,variableArgs:!1},K:{id:xr,numArgs:4,variableArgs:!1},k:{id:vr,numArgs:4,variableArgs:!1},sh:{id:Nr,numArgs:1,variableArgs:!1},BI:{id:Mr,numArgs:0,variableArgs:!1},ID:{id:Gr,numArgs:0,variableArgs:!1},EI:{id:Lr,numArgs:1,variableArgs:!1},Do:{id:Ur,numArgs:1,variableArgs:!1},MP:{id:Hr,numArgs:1,variableArgs:!1},DP:{id:Jr,numArgs:2,variableArgs:!1},BMC:{id:Tr,numArgs:1,variableArgs:!1},BDC:{id:Pr,numArgs:2,variableArgs:!1},EMC:{id:Yr,numArgs:0,variableArgs:!1},BX:{id:Kr,numArgs:0,variableArgs:!1},EX:{id:_r,numArgs:0,variableArgs:!1},BM:null,BD:null,true:null,fa:null,fal:null,fals:null,false:null,nu:null,nul:null,null:null}))}static MAX_INVALID_PATH_OPS=10;constructor(e,t,A=new IB){this.parser=new jc({lexer:new Xc(e,uB.opMap),xref:t}),this.stateManager=A,this.nonProcessedArgs=[],this._isPathOp=!1,this._numInvalidPathOPS=0}get savedStatesDepth(){return this.stateManager.stateStack.length}read(e){let t=e.args;for(;;){const A=this.parser.getObj();if(A instanceof tg){const i=A.cmd,s=uB.opMap[i];if(!s){co(`Unknown command "${i}".`);continue}const a=s.id,n=s.numArgs;let r=null!==t?t.length:0;if(this._isPathOp||(this._numInvalidPathOPS=0),this._isPathOp=a>=Hn&&a<=$n,s.variableArgs)r>n&&ho(`Command ${i}: expected [0, ${n}] args, but received ${r} args.`);else{if(r!==n){const e=this.nonProcessedArgs;for(;r>n;)e.push(t.shift()),r--;for(;r<n&&0!==e.length;)null===t&&(t=[]),t.unshift(e.pop()),r++}if(r<n){const e=`command ${i}: expected ${n} args, but received ${r} args.`;if(this._isPathOp&&++this._numInvalidPathOPS>uB.MAX_INVALID_PATH_OPS)throw new yo(`Invalid ${e}`);co(`Skipping ${e}`),null!==t&&(t.length=0);continue}}return this.preprocessCommand(a,t),e.fn=a,e.args=t,!0}if(A===Zo)return!1;if(null!==A&&(null===t&&(t=[]),t.push(A),t.length>33))throw new yo("Too many arguments")}}preprocessCommand(e,t){switch(0|e){case Gn:this.stateManager.save();break;case Ln:this.stateManager.restore();break;case Un:this.stateManager.transform(t)}}}class BB extends uB{constructor(e){super(new Zg(e))}parse(){const e={fn:0,args:[]},t={fontSize:0,fontName:"",fontColor:new Uint8ClampedArray(3)};try{for(;e.args.length=0,this.read(e);){if(0!==this.savedStatesDepth)continue;const{fn:A,args:i}=e;switch(0|A){case or:const[e,A]=i;e instanceof eg&&(t.fontName=e.name),"number"==typeof A&&A>0&&(t.fontSize=A);break;case Rr:eh.singletons.rgb.getRgbItem(i,0,t.fontColor,0);break;case Sr:eh.singletons.gray.getRgbItem(i,0,t.fontColor,0);break;case vr:eh.singletons.cmyk.getRgbItem(i,0,t.fontColor,0)}}}catch(e){co(`parseDefaultAppearance - ignoring errors: "${e}".`)}return t}}function QB(e){return new BB(e).parse()}class EB extends uB{constructor(e,t,A){super(e),this.stream=e,this.evaluatorOptions=t,this.xref=A,this.resources=e.dict?.get("Resources")}parse(){const e={fn:0,args:[]};let t={scaleFactor:1,fontSize:0,fontName:"",fontColor:new Uint8ClampedArray(3),fillColorSpace:eh.singletons.gray},A=!1;const i=[];try{for(;e.args.length=0,!A&&this.read(e);){const{fn:s,args:a}=e;switch(0|s){case Gn:i.push({scaleFactor:t.scaleFactor,fontSize:t.fontSize,fontName:t.fontName,fontColor:t.fontColor.slice(),fillColorSpace:t.fillColorSpace});break;case Ln:t=i.pop()||t;break;case Ir:t.scaleFactor*=Math.hypot(a[0],a[1]);break;case or:const[e,s]=a;e instanceof eg&&(t.fontName=e.name),"number"==typeof s&&s>0&&(t.fontSize=s*t.scaleFactor);break;case mr:t.fillColorSpace=eh.parse({cs:a[0],xref:this.xref,resources:this.resources,pdfFunctionFactory:this._pdfFunctionFactory,localColorSpaceCache:this._localColorSpaceCache});break;case br:t.fillColorSpace.getRgbItem(a,0,t.fontColor,0);break;case Rr:eh.singletons.rgb.getRgbItem(a,0,t.fontColor,0);break;case Sr:eh.singletons.gray.getRgbItem(a,0,t.fontColor,0);break;case vr:eh.singletons.cmyk.getRgbItem(a,0,t.fontColor,0);break;case Cr:case ur:case Br:case Qr:A=!0}}}catch(e){co(`parseAppearanceStream - ignoring errors: "${e}".`)}return this.stream.reset(),delete t.scaleFactor,delete t.fillColorSpace,t}get _localColorSpaceCache(){return uo(this,"_localColorSpaceCache",new eu)}get _pdfFunctionFactory(){return uo(this,"_pdfFunctionFactory",new nu({xref:this.xref,isEvalSupported:this.evaluatorOptions.isEvalSupported}))}}function fB(e,t){if(e[0]===e[1]&&e[1]===e[2]){return`${Yg(e[0]/255)} ${t?"g":"G"}`}return Array.from(e,(e=>Yg(e/255))).join(" ")+" "+(t?"rg":"RG")}class pB{constructor(e,t){this.xref=e,this.widths=null,this.firstChar=1/0,this.lastChar=-1/0,this.fontFamily=t;const A=new OffscreenCanvas(1,1);this.ctxMeasure=A.getContext("2d"),pB._fontNameId||(pB._fontNameId=1),this.fontName=eg.get(`InvalidPDFjsFont_${t}_${pB._fontNameId++}`)}get fontDescriptorRef(){if(!pB._fontDescriptorRef){const e=new ig(this.xref);e.set("Type",eg.get("FontDescriptor")),e.set("FontName",this.fontName),e.set("FontFamily","MyriadPro Regular"),e.set("FontBBox",[0,0,0,0]),e.set("FontStretch",eg.get("Normal")),e.set("FontWeight",400),e.set("ItalicAngle",0),pB._fontDescriptorRef=this.xref.getNewPersistentRef(e)}return pB._fontDescriptorRef}get descendantFontRef(){const e=new ig(this.xref);e.set("BaseFont",this.fontName),e.set("Type",eg.get("Font")),e.set("Subtype",eg.get("CIDFontType0")),e.set("CIDToGIDMap",eg.get("Identity")),e.set("FirstChar",this.firstChar),e.set("LastChar",this.lastChar),e.set("FontDescriptor",this.fontDescriptorRef),e.set("DW",1e3);const t=[],A=[...this.widths.entries()].sort();let i=null,s=null;for(const[e,a]of A)i?e===i+s.length?s.push(a):(t.push(i,s),i=e,s=[a]):(i=e,s=[a]);i&&t.push(i,s),e.set("W",t);const a=new ig(this.xref);return a.set("Ordering","Identity"),a.set("Registry","Adobe"),a.set("Supplement",0),e.set("CIDSystemInfo",a),this.xref.getNewPersistentRef(e)}get baseFontRef(){const e=new ig(this.xref);return e.set("BaseFont",this.fontName),e.set("Type",eg.get("Font")),e.set("Subtype",eg.get("Type0")),e.set("Encoding",eg.get("Identity-H")),e.set("DescendantFonts",[this.descendantFontRef]),e.set("ToUnicode",eg.get("Identity-H")),this.xref.getNewPersistentRef(e)}get resources(){const e=new ig(this.xref),t=new ig(this.xref);return t.set(this.fontName.name,this.baseFontRef),e.set("Font",t),e}_createContext(){return this.widths=new Map,this.ctxMeasure.font=`1000px ${this.fontFamily}`,this.ctxMeasure}createFontResources(e){const t=this._createContext();for(const A of e.split(/\r\n?|\n/))for(const e of A.split("")){const A=e.charCodeAt(0);if(this.widths.has(A))continue;const i=t.measureText(e),s=Math.ceil(i.width);this.widths.set(A,s),this.firstChar=Math.min(A,this.firstChar),this.lastChar=Math.max(A,this.lastChar)}return this.resources}static getFirstPositionInfo(e,t,A){const[i,s,a,n]=e;let r=a-i,o=n-s;t%180!=0&&([r,o]=[o,r]);const g=ha*A;return{coords:[0,o+ca*A-g],bbox:[0,0,r,o],matrix:0!==t?Wg(t,o,g):void 0}}createAppearance(e,t,A,i,s,a){const n=this._createContext(),r=[];let o=-1/0;for(const t of e.split(/\r\n?|\n/)){r.push(t);const e=n.measureText(t).width;o=Math.max(o,e);for(const e of Ug(t)){const t=String.fromCodePoint(e);let A=this.widths.get(e);if(void 0===A){const i=n.measureText(t);A=Math.ceil(i.width),this.widths.set(e,A),this.firstChar=Math.min(e,this.firstChar),this.lastChar=Math.max(e,this.lastChar)}}}o*=i/1e3;const[g,h,c,l]=t;let I=c-g,d=l-h;A%180!=0&&([I,d]=[d,I]);let C=1;o>I&&(C=I/o);let u=1;const B=ha*i,Q=ca*i,E=B*r.length;E>d&&(u=d/E);const f=i*Math.min(C,u),p=["q",`0 0 ${Yg(I)} ${Yg(d)} re W n`,"BT",`1 0 0 1 0 ${Yg(d+Q)} Tm 0 Tc ${fB(s,!0)}`,`/${this.fontName.name} ${Yg(f)} Tf`],{resources:m}=this;if(1!==(a="number"==typeof a&&a>=0&&a<=1?a:1)){p.push("/R0 gs");const e=new ig(this.xref),t=new ig(this.xref);t.set("ca",a),t.set("CA",a),t.set("Type",eg.get("ExtGState")),e.set("R0",t),m.set("ExtGState",e)}const y=Yg(B);for(const e of r)p.push(`0 -${y} Td <${qg(e)}> Tj`);p.push("ET","Q");const w=p.join("\n"),b=new ig(this.xref);if(b.set("Subtype",eg.get("Form")),b.set("Type",eg.get("XObject")),b.set("BBox",[0,0,I,d]),b.set("Length",w.length),b.set("Resources",m),A){const e=Wg(A,I,d);b.set("Matrix",e)}const D=new Zg(w);return D.dict=b,D}}class mB{constructor(e,t,A){this.constructor===mB&&lo("Cannot initialize NameOrNumberTree."),this.root=e,this.xref=t,this._type=A}getAll(){const e=new Map;if(!this.root)return e;const t=this.xref,A=new ag;A.put(this.root);const i=[this.root];for(;i.length>0;){const s=t.fetchIfRef(i.shift());if(!(s instanceof ig))continue;if(s.has("Kids")){const e=s.get("Kids");if(!Array.isArray(e))continue;for(const t of e){if(A.has(t))throw new yo(`Duplicate entry in "${this._type}" tree.`);i.push(t),A.put(t)}continue}const a=s.get(this._type);if(Array.isArray(a))for(let A=0,i=a.length;A<i;A+=2)e.set(t.fetchIfRef(a[A]),t.fetchIfRef(a[A+1]))}return e}get(e){if(!this.root)return null;const t=this.xref;let A=t.fetchIfRef(this.root),i=0;for(;A.has("Kids");){if(++i>10)return co(`Search depth limit reached for "${this._type}" tree.`),null;const s=A.get("Kids");if(!Array.isArray(s))return null;let a=0,n=s.length-1;for(;a<=n;){const i=a+n>>1,r=t.fetchIfRef(s[i]),o=r.get("Limits");if(e<t.fetchIfRef(o[0]))n=i-1;else{if(!(e>t.fetchIfRef(o[1]))){A=r;break}a=i+1}}if(a>n)return null}const s=A.get(this._type);if(Array.isArray(s)){let A=0,i=s.length-2;for(;A<=i;){const a=A+i>>1,n=a+(1&a),r=t.fetchIfRef(s[n]);if(e<r)i=n-2;else{if(!(e>r))return t.fetchIfRef(s[n+1]);A=n+2}}}return null}}class yB extends mB{constructor(e,t){super(e,t,"Names")}}class wB extends mB{constructor(e,t){super(e,t,"Nums")}}function bB(){eC=Object.create(null),Xo=Object.create(null),zo=Object.create(null),$o=Object.create(null),tI.clear(),Kc.cleanup()}function DB(e){return e instanceof ig?e.has("UF")?e.get("UF"):e.has("F")?e.get("F"):e.has("Unix")?e.get("Unix"):e.has("Mac")?e.get("Mac"):e.has("DOS")?e.get("DOS"):null:null}class kB{#Br=!1;constructor(e,t,A=!1){e instanceof ig&&(this.xref=t,this.root=e,e.has("FS")&&(this.fs=e.get("FS")),e.has("RF")&&co("Related file specifications are not supported"),A||(e.has("EF")?this.#Br=!0:co("Non-embedded file specifications are not supported")))}get filename(){let e="";const t=DB(this.root);return t&&"string"==typeof t&&(e=No(t).replaceAll("\\\\","\\").replaceAll("\\/","/").replaceAll("\\","/")),uo(this,"filename",e||"unnamed")}get content(){if(!this.#Br)return null;this._contentRef||=DB(this.root?.get("EF"));let e=null;if(this._contentRef){const t=this.xref.fetchIfRef(this._contentRef);t instanceof cg?e=t.getBytes():co("Embedded file specification points to non-existing/invalid content")}else co("Embedded file specification does not have any content");return e}get description(){let e="";const t=this.root?.get("Desc");return t&&"string"==typeof t&&(e=No(t)),uo(this,"description",e)}get serializable(){return{rawFilename:this.filename,filename:(e=this.filename,e.substring(e.lastIndexOf("/")+1)),content:this.content,description:this.description};var e}}const SB=0,FB=-2,RB=-3,xB=-4,vB=-5,NB=-6,MB=-9;function GB(e,t){const A=e[t];return" "===A||"\n"===A||"\r"===A||"\t"===A}class LB{_resolveEntities(e){return e.replaceAll(/&([^;]+);/g,((e,t)=>{if("#x"===t.substring(0,2))return String.fromCodePoint(parseInt(t.substring(2),16));if("#"===t.substring(0,1))return String.fromCodePoint(parseInt(t.substring(1),10));switch(t){case"lt":return"<";case"gt":return">";case"amp":return"&";case"quot":return'"';case"apos":return"'"}return this.onResolveEntity(t)}))}_parseContent(e,t){const A=[];let i=t;function s(){for(;i<e.length&&GB(e,i);)++i}for(;i<e.length&&!GB(e,i)&&">"!==e[i]&&"/"!==e[i];)++i;const a=e.substring(t,i);for(s();i<e.length&&">"!==e[i]&&"/"!==e[i]&&"?"!==e[i];){s();let t="",a="";for(;i<e.length&&!GB(e,i)&&"="!==e[i];)t+=e[i],++i;if(s(),"="!==e[i])return null;++i,s();const n=e[i];if('"'!==n&&"'"!==n)return null;const r=e.indexOf(n,++i);if(r<0)return null;a=e.substring(i,r),A.push({name:t,value:this._resolveEntities(a)}),i=r+1,s()}return{name:a,attributes:A,parsed:i-t}}_parseProcessingInstruction(e,t){let A=t;for(;A<e.length&&!GB(e,A)&&">"!==e[A]&&"?"!==e[A]&&"/"!==e[A];)++A;const i=e.substring(t,A);!function(){for(;A<e.length&&GB(e,A);)++A}();const s=A;for(;A<e.length&&("?"!==e[A]||">"!==e[A+1]);)++A;return{name:i,value:e.substring(s,A),parsed:A-t}}parseXml(e){let t=0;for(;t<e.length;){let A=t;if("<"===e[t]){++A;let t;switch(e[A]){case"/":if(++A,t=e.indexOf(">",A),t<0)return void this.onError(MB);this.onEndElement(e.substring(A,t)),A=t+1;break;case"?":++A;const i=this._parseProcessingInstruction(e,A);if("?>"!==e.substring(A+i.parsed,A+i.parsed+2))return void this.onError(RB);this.onPi(i.name,i.value),A+=i.parsed+2;break;case"!":if("--"===e.substring(A+1,A+3)){if(t=e.indexOf("--\x3e",A+3),t<0)return void this.onError(vB);this.onComment(e.substring(A+3,t)),A=t+3}else if("[CDATA["===e.substring(A+1,A+8)){if(t=e.indexOf("]]>",A+8),t<0)return void this.onError(FB);this.onCdata(e.substring(A+8,t)),A=t+3}else{if("DOCTYPE"!==e.substring(A+1,A+8))return void this.onError(NB);{const i=e.indexOf("[",A+8);let s=!1;if(t=e.indexOf(">",A+8),t<0)return void this.onError(xB);if(i>0&&t>i){if(t=e.indexOf("]>",A+8),t<0)return void this.onError(xB);s=!0}const a=e.substring(A+8,t+(s?1:0));this.onDoctype(a),A=t+(s?2:1)}}break;default:const s=this._parseContent(e,A);if(null===s)return void this.onError(NB);let a=!1;if("/>"===e.substring(A+s.parsed,A+s.parsed+2))a=!0;else if(">"!==e.substring(A+s.parsed,A+s.parsed+1))return void this.onError(MB);this.onBeginElement(s.name,s.attributes,a),A+=s.parsed+(a?2:1)}}else{for(;A<e.length&&"<"!==e[A];)A++;const i=e.substring(t,A);this.onText(this._resolveEntities(i))}t=A}}onResolveEntity(e){return`&${e};`}onPi(e,t){}onComment(e){}onCdata(e){}onDoctype(e){}onText(e){}onBeginElement(e,t,A){}onEndElement(e){}onError(e){}}class UB{constructor(e,t){this.nodeName=e,this.nodeValue=t,Object.defineProperty(this,"parentNode",{value:null,writable:!0})}get firstChild(){return this.childNodes?.[0]}get nextSibling(){const e=this.parentNode.childNodes;if(!e)return;const t=e.indexOf(this);return-1!==t?e[t+1]:void 0}get textContent(){return this.childNodes?this.childNodes.map((function(e){return e.textContent})).join(""):this.nodeValue||""}get children(){return this.childNodes||[]}hasChildNodes(){return this.childNodes?.length>0}searchNode(e,t){if(t>=e.length)return this;const A=e[t];if(A.name.startsWith("#")&&t<e.length-1)return this.searchNode(e,t+1);const i=[];let s=this;for(;;){if(A.name===s.nodeName){if(0!==A.pos){if(0===i.length)return null;{const[a]=i.pop();let n=0;for(const i of a.childNodes)if(A.name===i.nodeName){if(n===A.pos)return i.searchNode(e,t+1);n++}return s.searchNode(e,t+1)}}{const A=s.searchNode(e,t+1);if(null!==A)return A}}if(s.childNodes?.length>0)i.push([s,0]),s=s.childNodes[0];else{if(0===i.length)return null;for(;0!==i.length;){const[e,t]=i.pop(),A=t+1;if(A<e.childNodes.length){i.push([e,A]),s=e.childNodes[A];break}}if(0===i.length)return null}}}dump(e){if("#text"!==this.nodeName){if(e.push(`<${this.nodeName}`),this.attributes)for(const t of this.attributes)e.push(` ${t.name}="${Hg(t.value)}"`);if(this.hasChildNodes()){e.push(">");for(const t of this.childNodes)t.dump(e);e.push(`</${this.nodeName}>`)}else this.nodeValue?e.push(`>${Hg(this.nodeValue)}</${this.nodeName}>`):e.push("/>")}else e.push(Hg(this.nodeValue))}}class HB extends LB{constructor({hasAttributes:e=!1,lowerCaseName:t=!1}){super(),this._currentFragment=null,this._stack=null,this._errorCode=SB,this._hasAttributes=e,this._lowerCaseName=t}parseFromString(e){if(this._currentFragment=[],this._stack=[],this._errorCode=SB,this.parseXml(e),this._errorCode!==SB)return;const[t]=this._currentFragment;return t?{documentElement:t}:void 0}onText(e){if(function(e){for(let t=0,A=e.length;t<A;t++)if(!GB(e,t))return!1;return!0}(e))return;const t=new UB("#text",e);this._currentFragment.push(t)}onCdata(e){const t=new UB("#text",e);this._currentFragment.push(t)}onBeginElement(e,t,A){this._lowerCaseName&&(e=e.toLowerCase());const i=new UB(e);i.childNodes=[],this._hasAttributes&&(i.attributes=t),this._currentFragment.push(i),A||(this._stack.push(this._currentFragment),this._currentFragment=i.childNodes)}onEndElement(e){this._currentFragment=this._stack.pop()||[];const t=this._currentFragment.at(-1);if(!t)return null;for(const e of t.childNodes)e.parentNode=t;return t}onError(e){this._errorCode=e}}class JB{constructor(e){e=this._repair(e);const t=new HB({lowerCaseName:!0}).parseFromString(e);this._metadataMap=new Map,this._data=e,t&&this._parse(t)}_repair(e){return e.replace(/^[^<]+/,"").replaceAll(/>\\376\\377([^<]+)/g,(function(e,t){const A=t.replaceAll(/\\([0-3])([0-7])([0-7])/g,(function(e,t,A,i){return String.fromCharCode(64*t+8*A+1*i)})).replaceAll(/&(amp|apos|gt|lt|quot);/g,(function(e,t){switch(t){case"amp":return"&";case"apos":return"'";case"gt":return">";case"lt":return"<";case"quot":return'"'}throw new Error(`_repair: ${t} isn't defined.`)})),i=[">"];for(let e=0,t=A.length;e<t;e+=2){const t=256*A.charCodeAt(e)+A.charCodeAt(e+1);t>=32&&t<127&&60!==t&&62!==t&&38!==t?i.push(String.fromCharCode(t)):i.push("&#x"+(65536+t).toString(16).substring(1)+";")}return i.join("")}))}_getSequence(e){const t=e.nodeName;return"rdf:bag"!==t&&"rdf:seq"!==t&&"rdf:alt"!==t?null:e.childNodes.filter((e=>"rdf:li"===e.nodeName))}_parseArray(e){if(!e.hasChildNodes())return;const[t]=e.childNodes,A=this._getSequence(t)||[];this._metadataMap.set(e.nodeName,A.map((e=>e.textContent.trim())))}_parse(e){let t=e.documentElement;if("rdf:rdf"!==t.nodeName)for(t=t.firstChild;t&&"rdf:rdf"!==t.nodeName;)t=t.nextSibling;if(t&&"rdf:rdf"===t.nodeName&&t.hasChildNodes())for(const e of t.childNodes)if("rdf:description"===e.nodeName)for(const t of e.childNodes){const e=t.nodeName;switch(e){case"#text":continue;case"dc:creator":case"dc:subject":this._parseArray(t);continue}this._metadataMap.set(e,t.textContent.trim())}}get serializable(){return{parsedData:this._metadataMap,rawData:this._data}}}class TB extends Qh{constructor(e,t,A){super(t),this.str=e,this.dict=e.dict,this.decrypt=A,this.nextChunk=null,this.initialized=!1}readBlock(){let e;if(this.initialized?e=this.nextChunk:(e=this.str.getBytes(512),this.initialized=!0),!e||0===e.length)return void(this.eof=!0);this.nextChunk=this.str.getBytes(512);const t=this.nextChunk?.length>0;e=(0,this.decrypt)(e,!t);const A=this.bufferLength,i=A+e.length;this.ensureBuffer(i).set(e,A),this.bufferLength=i}}class PB{constructor(e){this.a=0,this.b=0;const t=new Uint8Array(256),A=e.length;for(let e=0;e<256;++e)t[e]=e;for(let i=0,s=0;i<256;++i){const a=t[i];s=s+a+e[i%A]&255,t[i]=t[s],t[s]=a}this.s=t}encryptBlock(e){let t=this.a,A=this.b;const i=this.s,s=e.length,a=new Uint8Array(s);for(let n=0;n<s;++n){t=t+1&255;const s=i[t];A=A+s&255;const r=i[A];i[t]=r,i[A]=s,a[n]=e[n]^i[s+r&255]}return this.a=t,this.b=A,a}decryptBlock(e){return this.encryptBlock(e)}encrypt(e){return this.encryptBlock(e)}}const YB=function(){const e=new Uint8Array([7,12,17,22,7,12,17,22,7,12,17,22,7,12,17,22,5,9,14,20,5,9,14,20,5,9,14,20,5,9,14,20,4,11,16,23,4,11,16,23,4,11,16,23,4,11,16,23,6,10,15,21,6,10,15,21,6,10,15,21,6,10,15,21]),t=new Int32Array([-680876936,-389564586,606105819,-1044525330,-176418897,1200080426,-1473231341,-45705983,1770035416,-1958414417,-42063,-1990404162,1804603682,-40341101,-1502002290,1236535329,-165796510,-1069501632,643717713,-373897302,-701558691,38016083,-660478335,-405537848,568446438,-1019803690,-187363961,1163531501,-1444681467,-51403784,1735328473,-1926607734,-378558,-2022574463,1839030562,-35309556,-1530992060,1272893353,-155497632,-1094730640,681279174,-358537222,-722521979,76029189,-640364487,-421815835,530742520,-995338651,-198630844,1126891415,-1416354905,-57434055,1700485571,-1894986606,-1051523,-2054922799,1873313359,-30611744,-1560198380,1309151649,-145523070,-1120210379,718787259,-343485551]);return function(A,i,s){let a=1732584193,n=-271733879,r=-1732584194,o=271733878;const g=s+72&-64,h=new Uint8Array(g);let c,l;for(c=0;c<s;++c)h[c]=A[i++];h[c++]=128;const I=g-8;for(;c<I;)h[c++]=0;h[c++]=s<<3&255,h[c++]=s>>5&255,h[c++]=s>>13&255,h[c++]=s>>21&255,h[c++]=s>>>29&255,h[c++]=0,h[c++]=0,h[c++]=0;const d=new Int32Array(16);for(c=0;c<g;){for(l=0;l<16;++l,c+=4)d[l]=h[c]|h[c+1]<<8|h[c+2]<<16|h[c+3]<<24;let A,i,s=a,g=n,I=r,C=o;for(l=0;l<64;++l){l<16?(A=g&I|~g&C,i=l):l<32?(A=C&g|~C&I,i=5*l+1&15):l<48?(A=g^I^C,i=3*l+5&15):(A=I^(g|~C),i=7*l&15);const a=C,n=s+A+t[l]+d[i]|0,r=e[l];C=I,I=g,g=g+(n<<r|n>>>32-r)|0,s=a}a=a+s|0,n=n+g|0,r=r+I|0,o=o+C|0}return new Uint8Array([255&a,a>>8&255,a>>16&255,a>>>24&255,255&n,n>>8&255,n>>16&255,n>>>24&255,255&r,r>>8&255,r>>16&255,r>>>24&255,255&o,o>>8&255,o>>16&255,o>>>24&255])}}();class KB{constructor(e,t){this.high=0|e,this.low=0|t}and(e){this.high&=e.high,this.low&=e.low}xor(e){this.high^=e.high,this.low^=e.low}or(e){this.high|=e.high,this.low|=e.low}shiftRight(e){e>=32?(this.low=this.high>>>e-32|0,this.high=0):(this.low=this.low>>>e|this.high<<32-e,this.high=this.high>>>e|0)}shiftLeft(e){e>=32?(this.high=this.low<<e-32,this.low=0):(this.high=this.high<<e|this.low>>>32-e,this.low<<=e)}rotateRight(e){let t,A;32&e?(A=this.low,t=this.high):(t=this.low,A=this.high),e&=31,this.low=t>>>e|A<<32-e,this.high=A>>>e|t<<32-e}not(){this.high=~this.high,this.low=~this.low}add(e){const t=(this.low>>>0)+(e.low>>>0);let A=(this.high>>>0)+(e.high>>>0);t>4294967295&&(A+=1),this.low=0|t,this.high=0|A}copyTo(e,t){e[t]=this.high>>>24&255,e[t+1]=this.high>>16&255,e[t+2]=this.high>>8&255,e[t+3]=255&this.high,e[t+4]=this.low>>>24&255,e[t+5]=this.low>>16&255,e[t+6]=this.low>>8&255,e[t+7]=255&this.low}assign(e){this.high=e.high,this.low=e.low}}const _B=function(){function e(e,t){return e>>>t|e<<32-t}function t(e,t,A){return e&t^~e&A}function A(e,t,A){return e&t^e&A^t&A}function i(t){return e(t,2)^e(t,13)^e(t,22)}function s(t){return e(t,6)^e(t,11)^e(t,25)}function a(t){return e(t,7)^e(t,18)^t>>>3}const n=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];return function(r,o,g){let h=1779033703,c=3144134277,l=1013904242,I=2773480762,d=1359893119,C=2600822924,u=528734635,B=1541459225;const Q=64*Math.ceil((g+9)/64),E=new Uint8Array(Q);let f,p;for(f=0;f<g;++f)E[f]=r[o++];E[f++]=128;const m=Q-8;for(;f<m;)E[f++]=0;E[f++]=0,E[f++]=0,E[f++]=0,E[f++]=g>>>29&255,E[f++]=g>>21&255,E[f++]=g>>13&255,E[f++]=g>>5&255,E[f++]=g<<3&255;const y=new Uint32Array(64);for(f=0;f<Q;){for(p=0;p<16;++p)y[p]=E[f]<<24|E[f+1]<<16|E[f+2]<<8|E[f+3],f+=4;for(p=16;p<64;++p)y[p]=0|(e(w=y[p-2],17)^e(w,19)^w>>>10)+y[p-7]+a(y[p-15])+y[p-16];let r,o,g=h,Q=c,m=l,b=I,D=d,k=C,S=u,F=B;for(p=0;p<64;++p)r=F+s(D)+t(D,k,S)+n[p]+y[p],o=i(g)+A(g,Q,m),F=S,S=k,k=D,D=b+r|0,b=m,m=Q,Q=g,g=r+o|0;h=h+g|0,c=c+Q|0,l=l+m|0,I=I+b|0,d=d+D|0,C=C+k|0,u=u+S|0,B=B+F|0}var w;return new Uint8Array([h>>24&255,h>>16&255,h>>8&255,255&h,c>>24&255,c>>16&255,c>>8&255,255&c,l>>24&255,l>>16&255,l>>8&255,255&l,I>>24&255,I>>16&255,I>>8&255,255&I,d>>24&255,d>>16&255,d>>8&255,255&d,C>>24&255,C>>16&255,C>>8&255,255&C,u>>24&255,u>>16&255,u>>8&255,255&u,B>>24&255,B>>16&255,B>>8&255,255&B])}}(),qB=function(){function e(e,t,A,i,s){e.assign(t),e.and(A),s.assign(t),s.not(),s.and(i),e.xor(s)}function t(e,t,A,i,s){e.assign(t),e.and(A),s.assign(t),s.and(i),e.xor(s),s.assign(A),s.and(i),e.xor(s)}function A(e,t,A){e.assign(t),e.rotateRight(28),A.assign(t),A.rotateRight(34),e.xor(A),A.assign(t),A.rotateRight(39),e.xor(A)}function i(e,t,A){e.assign(t),e.rotateRight(14),A.assign(t),A.rotateRight(18),e.xor(A),A.assign(t),A.rotateRight(41),e.xor(A)}function s(e,t,A){e.assign(t),e.rotateRight(1),A.assign(t),A.rotateRight(8),e.xor(A),A.assign(t),A.shiftRight(7),e.xor(A)}function a(e,t,A){e.assign(t),e.rotateRight(19),A.assign(t),A.rotateRight(61),e.xor(A),A.assign(t),A.shiftRight(6),e.xor(A)}const n=[new KB(1116352408,3609767458),new KB(1899447441,602891725),new KB(3049323471,3964484399),new KB(3921009573,2173295548),new KB(961987163,4081628472),new KB(1508970993,3053834265),new KB(2453635748,2937671579),new KB(2870763221,3664609560),new KB(3624381080,2734883394),new KB(310598401,1164996542),new KB(607225278,1323610764),new KB(1426881987,3590304994),new KB(1925078388,4068182383),new KB(2162078206,991336113),new KB(2614888103,633803317),new KB(3248222580,3479774868),new KB(3835390401,2666613458),new KB(4022224774,944711139),new KB(264347078,2341262773),new KB(604807628,2007800933),new KB(770255983,1495990901),new KB(1249150122,1856431235),new KB(1555081692,3175218132),new KB(1996064986,2198950837),new KB(2554220882,3999719339),new KB(2821834349,766784016),new KB(2952996808,2566594879),new KB(3210313671,3203337956),new KB(3336571891,1034457026),new KB(3584528711,2466948901),new KB(113926993,3758326383),new KB(338241895,168717936),new KB(666307205,1188179964),new KB(773529912,1546045734),new KB(1294757372,1522805485),new KB(1396182291,2643833823),new KB(1695183700,2343527390),new KB(1986661051,1014477480),new KB(2177026350,1206759142),new KB(2456956037,344077627),new KB(2730485921,1290863460),new KB(2820302411,3158454273),new KB(3259730800,3505952657),new KB(3345764771,106217008),new KB(3516065817,3606008344),new KB(3600352804,1432725776),new KB(4094571909,1467031594),new KB(275423344,851169720),new KB(430227734,3100823752),new KB(506948616,1363258195),new KB(659060556,3750685593),new KB(883997877,3785050280),new KB(958139571,3318307427),new KB(1322822218,3812723403),new KB(1537002063,2003034995),new KB(1747873779,3602036899),new KB(1955562222,1575990012),new KB(2024104815,1125592928),new KB(2227730452,2716904306),new KB(2361852424,442776044),new KB(2428436474,593698344),new KB(2756734187,3733110249),new KB(3204031479,2999351573),new KB(3329325298,3815920427),new KB(3391569614,3928383900),new KB(3515267271,566280711),new KB(3940187606,3454069534),new KB(4118630271,4000239992),new KB(116418474,1914138554),new KB(174292421,2731055270),new KB(289380356,3203993006),new KB(460393269,320620315),new KB(685471733,587496836),new KB(852142971,1086792851),new KB(1017036298,365543100),new KB(1126000580,2618297676),new KB(1288033470,3409855158),new KB(1501505948,4234509866),new KB(1607167915,987167468),new KB(1816402316,1246189591)];return function(r,o,g,h=!1){let c,l,I,d,C,u,B,Q;h?(c=new KB(3418070365,3238371032),l=new KB(1654270250,914150663),I=new KB(2438529370,812702999),d=new KB(355462360,4144912697),C=new KB(1731405415,4290775857),u=new KB(2394180231,1750603025),B=new KB(3675008525,1694076839),Q=new KB(1203062813,3204075428)):(c=new KB(1779033703,4089235720),l=new KB(3144134277,2227873595),I=new KB(1013904242,4271175723),d=new KB(2773480762,1595750129),C=new KB(1359893119,2917565137),u=new KB(2600822924,725511199),B=new KB(528734635,4215389547),Q=new KB(1541459225,327033209));const E=128*Math.ceil((g+17)/128),f=new Uint8Array(E);let p,m;for(p=0;p<g;++p)f[p]=r[o++];f[p++]=128;const y=E-16;for(;p<y;)f[p++]=0;f[p++]=0,f[p++]=0,f[p++]=0,f[p++]=0,f[p++]=0,f[p++]=0,f[p++]=0,f[p++]=0,f[p++]=0,f[p++]=0,f[p++]=0,f[p++]=g>>>29&255,f[p++]=g>>21&255,f[p++]=g>>13&255,f[p++]=g>>5&255,f[p++]=g<<3&255;const w=new Array(80);for(p=0;p<80;p++)w[p]=new KB(0,0);let b=new KB(0,0),D=new KB(0,0),k=new KB(0,0),S=new KB(0,0),F=new KB(0,0),R=new KB(0,0),x=new KB(0,0),v=new KB(0,0);const N=new KB(0,0),M=new KB(0,0),G=new KB(0,0),L=new KB(0,0);let U,H;for(p=0;p<E;){for(m=0;m<16;++m)w[m].high=f[p]<<24|f[p+1]<<16|f[p+2]<<8|f[p+3],w[m].low=f[p+4]<<24|f[p+5]<<16|f[p+6]<<8|f[p+7],p+=8;for(m=16;m<80;++m)U=w[m],a(U,w[m-2],L),U.add(w[m-7]),s(G,w[m-15],L),U.add(G),U.add(w[m-16]);for(b.assign(c),D.assign(l),k.assign(I),S.assign(d),F.assign(C),R.assign(u),x.assign(B),v.assign(Q),m=0;m<80;++m)N.assign(v),i(G,F,L),N.add(G),e(G,F,R,x,L),N.add(G),N.add(n[m]),N.add(w[m]),A(M,b,L),t(G,b,D,k,L),M.add(G),U=v,v=x,x=R,R=F,S.add(N),F=S,S=k,k=D,D=b,U.assign(N),U.add(M),b=U;c.add(b),l.add(D),I.add(k),d.add(S),C.add(F),u.add(R),B.add(x),Q.add(v)}return h?(H=new Uint8Array(48),c.copyTo(H,0),l.copyTo(H,8),I.copyTo(H,16),d.copyTo(H,24),C.copyTo(H,32),u.copyTo(H,40)):(H=new Uint8Array(64),c.copyTo(H,0),l.copyTo(H,8),I.copyTo(H,16),d.copyTo(H,24),C.copyTo(H,32),u.copyTo(H,40),B.copyTo(H,48),Q.copyTo(H,56)),H}}();class OB{decryptBlock(e){return e}encrypt(e){return e}}class WB{constructor(){this.constructor===WB&&lo("Cannot initialize AESBaseCipher."),this._s=new Uint8Array([99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22]),this._inv_s=new Uint8Array([82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125]),this._mix=new Uint32Array([0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795]),this._mixCol=new Uint8Array(256);for(let e=0;e<256;e++)this._mixCol[e]=e<128?e<<1:e<<1^27;this.buffer=new Uint8Array(16),this.bufferPosition=0}_expandKey(e){lo("Cannot call `_expandKey` on the base class")}_decrypt(e,t){let A,i,s;const a=new Uint8Array(16);a.set(e);for(let e=0,A=this._keySize;e<16;++e,++A)a[e]^=t[A];for(let e=this._cyclesOfRepetition-1;e>=1;--e){A=a[13],a[13]=a[9],a[9]=a[5],a[5]=a[1],a[1]=A,A=a[14],i=a[10],a[14]=a[6],a[10]=a[2],a[6]=A,a[2]=i,A=a[15],i=a[11],s=a[7],a[15]=a[3],a[11]=A,a[7]=i,a[3]=s;for(let e=0;e<16;++e)a[e]=this._inv_s[a[e]];for(let A=0,i=16*e;A<16;++A,++i)a[A]^=t[i];for(let e=0;e<16;e+=4){const t=this._mix[a[e]],i=this._mix[a[e+1]],s=this._mix[a[e+2]],n=this._mix[a[e+3]];A=t^i>>>8^i<<24^s>>>16^s<<16^n>>>24^n<<8,a[e]=A>>>24&255,a[e+1]=A>>16&255,a[e+2]=A>>8&255,a[e+3]=255&A}}A=a[13],a[13]=a[9],a[9]=a[5],a[5]=a[1],a[1]=A,A=a[14],i=a[10],a[14]=a[6],a[10]=a[2],a[6]=A,a[2]=i,A=a[15],i=a[11],s=a[7],a[15]=a[3],a[11]=A,a[7]=i,a[3]=s;for(let e=0;e<16;++e)a[e]=this._inv_s[a[e]],a[e]^=t[e];return a}_encrypt(e,t){const A=this._s;let i,s,a;const n=new Uint8Array(16);n.set(e);for(let e=0;e<16;++e)n[e]^=t[e];for(let e=1;e<this._cyclesOfRepetition;e++){for(let e=0;e<16;++e)n[e]=A[n[e]];a=n[1],n[1]=n[5],n[5]=n[9],n[9]=n[13],n[13]=a,a=n[2],s=n[6],n[2]=n[10],n[6]=n[14],n[10]=a,n[14]=s,a=n[3],s=n[7],i=n[11],n[3]=n[15],n[7]=a,n[11]=s,n[15]=i;for(let e=0;e<16;e+=4){const t=n[e+0],A=n[e+1],s=n[e+2],a=n[e+3];i=t^A^s^a,n[e+0]^=i^this._mixCol[t^A],n[e+1]^=i^this._mixCol[A^s],n[e+2]^=i^this._mixCol[s^a],n[e+3]^=i^this._mixCol[a^t]}for(let A=0,i=16*e;A<16;++A,++i)n[A]^=t[i]}for(let e=0;e<16;++e)n[e]=A[n[e]];a=n[1],n[1]=n[5],n[5]=n[9],n[9]=n[13],n[13]=a,a=n[2],s=n[6],n[2]=n[10],n[6]=n[14],n[10]=a,n[14]=s,a=n[3],s=n[7],i=n[11],n[3]=n[15],n[7]=a,n[11]=s,n[15]=i;for(let e=0,A=this._keySize;e<16;++e,++A)n[e]^=t[A];return n}_decryptBlock2(e,t){const A=e.length;let i=this.buffer,s=this.bufferPosition;const a=[];let n=this.iv;for(let t=0;t<A;++t){if(i[s]=e[t],++s,s<16)continue;const A=this._decrypt(i,this._key);for(let e=0;e<16;++e)A[e]^=n[e];n=i,a.push(A),i=new Uint8Array(16),s=0}if(this.buffer=i,this.bufferLength=s,this.iv=n,0===a.length)return new Uint8Array(0);let r=16*a.length;if(t){const e=a.at(-1);let t=e[15];if(t<=16){for(let A=15,i=16-t;A>=i;--A)if(e[A]!==t){t=0;break}r-=t,a[a.length-1]=e.subarray(0,16-t)}}const o=new Uint8Array(r);for(let e=0,t=0,A=a.length;e<A;++e,t+=16)o.set(a[e],t);return o}decryptBlock(e,t,A=null){const i=e.length,s=this.buffer;let a=this.bufferPosition;if(A)this.iv=A;else{for(let t=0;a<16&&t<i;++t,++a)s[a]=e[t];if(a<16)return this.bufferLength=a,new Uint8Array(0);this.iv=s,e=e.subarray(16)}return this.buffer=new Uint8Array(16),this.bufferLength=0,this.decryptBlock=this._decryptBlock2,this.decryptBlock(e,t)}encrypt(e,t){const A=e.length;let i=this.buffer,s=this.bufferPosition;const a=[];t||(t=new Uint8Array(16));for(let n=0;n<A;++n){if(i[s]=e[n],++s,s<16)continue;for(let e=0;e<16;++e)i[e]^=t[e];const A=this._encrypt(i,this._key);t=A,a.push(A),i=new Uint8Array(16),s=0}if(this.buffer=i,this.bufferLength=s,this.iv=t,0===a.length)return new Uint8Array(0);const n=16*a.length,r=new Uint8Array(n);for(let e=0,t=0,A=a.length;e<A;++e,t+=16)r.set(a[e],t);return r}}class jB extends WB{constructor(e){super(),this._cyclesOfRepetition=10,this._keySize=160,this._rcon=new Uint8Array([141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141]),this._key=this._expandKey(e)}_expandKey(e){const t=this._s,A=this._rcon,i=new Uint8Array(176);i.set(e);for(let e=16,s=1;e<176;++s){let a=i[e-3],n=i[e-2],r=i[e-1],o=i[e-4];a=t[a],n=t[n],r=t[r],o=t[o],a^=A[s];for(let t=0;t<4;++t)i[e]=a^=i[e-16],e++,i[e]=n^=i[e-16],e++,i[e]=r^=i[e-16],e++,i[e]=o^=i[e-16],e++}return i}}class VB extends WB{constructor(e){super(),this._cyclesOfRepetition=14,this._keySize=224,this._key=this._expandKey(e)}_expandKey(e){const t=this._s,A=new Uint8Array(240);A.set(e);let i,s,a,n,r=1;for(let e=32,o=1;e<240;++o){e%32==16?(i=t[i],s=t[s],a=t[a],n=t[n]):e%32==0&&(i=A[e-3],s=A[e-2],a=A[e-1],n=A[e-4],i=t[i],s=t[s],a=t[a],n=t[n],i^=r,(r<<=1)>=256&&(r=255&(27^r)));for(let t=0;t<4;++t)A[e]=i^=A[e-32],e++,A[e]=s^=A[e-32],e++,A[e]=a^=A[e-32],e++,A[e]=n^=A[e-32],e++}return A}}class ZB{checkOwnerPassword(e,t,A,i){const s=new Uint8Array(e.length+56);s.set(e,0),s.set(t,e.length),s.set(A,e.length+t.length);return Lo(_B(s,0,s.length),i)}checkUserPassword(e,t,A){const i=new Uint8Array(e.length+8);i.set(e,0),i.set(t,e.length);return Lo(_B(i,0,i.length),A)}getOwnerKey(e,t,A,i){const s=new Uint8Array(e.length+56);s.set(e,0),s.set(t,e.length),s.set(A,e.length+t.length);const a=_B(s,0,s.length);return new VB(a).decryptBlock(i,!1,new Uint8Array(16))}getUserKey(e,t,A){const i=new Uint8Array(e.length+8);i.set(e,0),i.set(t,e.length);const s=_B(i,0,i.length);return new VB(s).decryptBlock(A,!1,new Uint8Array(16))}}class XB{_hash(e,t,A){let i=_B(t,0,t.length).subarray(0,32),s=[0],a=0;for(;a<64||s.at(-1)>a-32;){const t=e.length+i.length+A.length,g=new Uint8Array(t);let h=0;g.set(e,h),h+=e.length,g.set(i,h),h+=i.length,g.set(A,h);const c=new Uint8Array(64*t);for(let e=0,A=0;e<64;e++,A+=t)c.set(g,A);s=new jB(i.subarray(0,16)).encrypt(c,i.subarray(16,32));const l=s.slice(0,16).reduce(((e,t)=>e+t),0)%3;0===l?i=_B(s,0,s.length):1===l?(n=s,r=0,o=s.length,i=qB(n,r,o,!0)):2===l&&(i=qB(s,0,s.length)),a++}var n,r,o;return i.subarray(0,32)}checkOwnerPassword(e,t,A,i){const s=new Uint8Array(e.length+56);s.set(e,0),s.set(t,e.length),s.set(A,e.length+t.length);return Lo(this._hash(e,s,A),i)}checkUserPassword(e,t,A){const i=new Uint8Array(e.length+8);i.set(e,0),i.set(t,e.length);return Lo(this._hash(e,i,[]),A)}getOwnerKey(e,t,A,i){const s=new Uint8Array(e.length+56);s.set(e,0),s.set(t,e.length),s.set(A,e.length+t.length);const a=this._hash(e,s,A);return new VB(a).decryptBlock(i,!1,new Uint8Array(16))}getUserKey(e,t,A){const i=new Uint8Array(e.length+8);i.set(e,0),i.set(t,e.length);const s=this._hash(e,i,[]);return new VB(s).decryptBlock(A,!1,new Uint8Array(16))}}class zB{constructor(e,t){this.StringCipherConstructor=e,this.StreamCipherConstructor=t}createStream(e,t){const A=new this.StreamCipherConstructor;return new TB(e,t,(function(e,t){return A.decryptBlock(e,t)}))}decryptString(e){const t=new this.StringCipherConstructor;let A=Do(e);return A=t.decryptBlock(A,!0),bo(A)}encryptString(e){const t=new this.StringCipherConstructor;if(t instanceof WB){const A=16-e.length%16;e+=String.fromCharCode(A).repeat(A);const i=new Uint8Array(16);if("undefined"!=typeof crypto)crypto.getRandomValues(i);else for(let e=0;e<16;e++)i[e]=Math.floor(256*Math.random());let s=Do(e);s=t.encrypt(s,i);const a=new Uint8Array(16+s.length);return a.set(i),a.set(s,16),bo(a)}let A=Do(e);return A=t.encrypt(A),bo(A)}}class $B{static#Qr=new Uint8Array([40,191,78,94,78,117,138,65,100,0,78,86,255,250,1,8,46,46,0,182,208,104,62,128,47,12,169,254,100,83,105,122]);#Er(e,t,A,i,s,a,n,r,o,g,h,c){if(t){const e=Math.min(127,t.length);t=t.subarray(0,e)}else t=[];const l=6===e?new XB:new ZB;return l.checkUserPassword(t,r,n)?l.getUserKey(t,o,h):t.length&&l.checkOwnerPassword(t,i,a,A)?l.getOwnerKey(t,s,a,g):null}#fr(e,t,A,i,s,a,n,r){const o=40+A.length+e.length,g=new Uint8Array(o);let h,c,l=0;if(t)for(c=Math.min(32,t.length);l<c;++l)g[l]=t[l];for(h=0;l<32;)g[l++]=$B.#Qr[h++];for(h=0,c=A.length;h<c;++h)g[l++]=A[h];for(g[l++]=255&s,g[l++]=s>>8&255,g[l++]=s>>16&255,g[l++]=s>>>24&255,h=0,c=e.length;h<c;++h)g[l++]=e[h];a>=4&&!r&&(g[l++]=255,g[l++]=255,g[l++]=255,g[l++]=255);let I=YB(g,0,l);const d=n>>3;if(a>=3)for(h=0;h<50;++h)I=YB(I,0,d);const C=I.subarray(0,d);let u,B;if(a>=3){for(l=0;l<32;++l)g[l]=$B.#Qr[l];for(h=0,c=e.length;h<c;++h)g[l++]=e[h];u=new PB(C),B=u.encryptBlock(YB(g,0,l)),c=C.length;const t=new Uint8Array(c);for(h=1;h<=19;++h){for(let e=0;e<c;++e)t[e]=C[e]^h;u=new PB(t),B=u.encryptBlock(B)}for(h=0,c=B.length;h<c;++h)if(i[h]!==B[h])return null}else for(u=new PB(C),B=u.encryptBlock($B.#Qr),h=0,c=B.length;h<c;++h)if(i[h]!==B[h])return null;return C}#pr(e,t,A,i){const s=new Uint8Array(32);let a=0;const n=Math.min(32,e.length);for(;a<n;++a)s[a]=e[a];let r=0;for(;a<32;)s[a++]=$B.#Qr[r++];let o=YB(s,0,a);const g=i>>3;if(A>=3)for(r=0;r<50;++r)o=YB(o,0,o.length);let h,c;if(A>=3){c=t;const e=new Uint8Array(g);for(r=19;r>=0;r--){for(let t=0;t<g;++t)e[t]=o[t]^r;h=new PB(e),c=h.encryptBlock(c)}}else h=new PB(o.subarray(0,g)),c=h.encryptBlock(t);return c}#mr(e,t,A,i=!1){const s=new Uint8Array(A.length+9),a=A.length;let n;for(n=0;n<a;++n)s[n]=A[n];s[n++]=255&e,s[n++]=e>>8&255,s[n++]=e>>16&255,s[n++]=255&t,s[n++]=t>>8&255,i&&(s[n++]=115,s[n++]=65,s[n++]=108,s[n++]=84);return YB(s,0,n).subarray(0,Math.min(A.length+5,16))}#yr(e,t,A,i,s){if(!(t instanceof eg))throw new yo("Invalid crypt filter name.");const a=this,n=e.get(t.name),r=n?.get("CFM");if(!r||"None"===r.name)return function(){return new OB};if("V2"===r.name)return function(){return new PB(a.#mr(A,i,s,!1))};if("AESV2"===r.name)return function(){return new jB(a.#mr(A,i,s,!0))};if("AESV3"===r.name)return function(){return new VB(s)};throw new yo("Unknown crypto method")}constructor(e,t,A){const i=e.get("Filter");if(!rg(i,"Standard"))throw new yo("unknown encryption method");this.filterName=i.name,this.dict=e;const s=e.get("V");if(!Number.isInteger(s)||1!==s&&2!==s&&4!==s&&5!==s)throw new yo("unsupported encryption algorithm");this.algorithm=s;let a=e.get("Length");if(!a)if(s<=3)a=40;else{const t=e.get("CF"),A=e.get("StmF");if(t instanceof ig&&A instanceof eg){t.suppressEncryption=!0;const e=t.get(A.name);a=e?.get("Length")||128,a<40&&(a<<=3)}}if(!Number.isInteger(a)||a<40||a%8!=0)throw new yo("invalid key length");const n=Do(e.get("O")),r=Do(e.get("U")),o=n.subarray(0,32),g=r.subarray(0,32),h=e.get("P"),c=e.get("R"),l=(4===s||5===s)&&!1!==e.get("EncryptMetadata");this.encryptMetadata=l;const I=Do(t);let d,C;if(A){if(6===c)try{A=Go(A)}catch{co("CipherTransformFactory: Unable to convert UTF8 encoded password.")}d=Do(A)}if(5!==s)C=this.#fr(I,d,o,g,h,c,a,l);else{const t=n.subarray(32,40),A=n.subarray(40,48),i=r.subarray(0,48),s=r.subarray(32,40),a=r.subarray(40,48),h=Do(e.get("OE")),l=Do(e.get("UE")),I=Do(e.get("Perms"));C=this.#Er(c,d,o,t,A,i,g,s,a,h,l,I)}if(!C&&!A)throw new Qo("No password given",no);if(!C&&A){const e=this.#pr(d,o,c,a);C=this.#fr(I,e,o,g,h,c,a,l)}if(!C)throw new Qo("Incorrect Password",ro);if(this.encryptionKey=C,s>=4){const t=e.get("CF");t instanceof ig&&(t.suppressEncryption=!0),this.cf=t,this.stmf=e.get("StmF")||eg.get("Identity"),this.strf=e.get("StrF")||eg.get("Identity"),this.eff=e.get("EFF")||this.stmf}}createCipherTransform(e,t){if(4===this.algorithm||5===this.algorithm)return new zB(this.#yr(this.cf,this.strf,e,t,this.encryptionKey),this.#yr(this.cf,this.stmf,e,t,this.encryptionKey));const A=this.#mr(e,t,this.encryptionKey,!1),i=function(){return new PB(A)};return new zB(i,i)}}async function eQ(e,t,A,{encrypt:i=null}){const s=i?.createCipherTransform(e.num,e.gen);A.push(`${e.num} ${e.gen} obj\n`),t instanceof ig?await tQ(t,A,s):t instanceof cg?await AQ(t,A,s):(Array.isArray(t)||ArrayBuffer.isView(t))&&await iQ(t,A,s),A.push("\nendobj\n")}async function tQ(e,t,A){t.push("<<");for(const i of e.getKeys())t.push(` /${vg(i)} `),await sQ(e.getRaw(i),t,A);t.push(">>")}async function AQ(e,t,A){let i=e.getBytes();const{dict:s}=e,[a,n]=await Promise.all([s.getAsync("Filter"),s.getAsync("DecodeParms")]),r=rg(Array.isArray(a)?await s.xref.fetchIfRefAsync(a[0]):a,"FlateDecode");if(i.length>=256||r)try{const e=new CompressionStream("deflate"),t=e.writable.getWriter();t.write(i),t.close();const A=await new Response(e.readable).arrayBuffer();let o,g;i=new Uint8Array(A),a?r||(o=Array.isArray(a)?[eg.get("FlateDecode"),...a]:[eg.get("FlateDecode"),a],n&&(g=Array.isArray(n)?[null,...n]:[null,n])):o=eg.get("FlateDecode"),o&&s.set("Filter",o),g&&s.set("DecodeParms",g)}catch(e){ho(`writeStream - cannot compress data: "${e}".`)}let o=bo(i);A&&(o=A.encryptString(o)),s.set("Length",o.length),await tQ(s,t,A),t.push(" stream\n",o,"\nendstream")}async function iQ(e,t,A){t.push("[");let i=!0;for(const s of e)i?i=!1:t.push(" "),await sQ(s,t,A);t.push("]")}async function sQ(e,t,A){e instanceof eg?t.push(`/${vg(e.name)}`):e instanceof sg?t.push(`${e.num} ${e.gen} R`):Array.isArray(e)||ArrayBuffer.isView(e)?await iQ(e,t,A):"string"==typeof e?(A&&(e=A.encryptString(e)),t.push(`(${Ng(e)})`)):"number"==typeof e?t.push(Yg(e)):"boolean"==typeof e?t.push(e.toString()):e instanceof ig?await tQ(e,t,A):e instanceof cg?await AQ(e,t,A):null===e?t.push("null"):co(`Unhandled value in writer: ${typeof e}, please file a bug.`)}function aQ(e,t,A,i){for(let s=t+A-1;s>A-1;s--)i[s]=255&e,e>>=8;return A+t}function nQ(e,t,A){for(let i=0,s=e.length;i<s;i++)A[t+i]=255&e.charCodeAt(i)}function rQ({xfaData:e,xfaDatasetsRef:t,newRefs:A,xref:i}){if(null===e){e=function(e,t){const A=new HB({hasAttributes:!0}).parseFromString(e);for(const{xfa:e}of t){if(!e)continue;const{path:t,value:i}=e;if(!t)continue;const s=xg(t);let a=A.documentElement.searchNode(s,0);!a&&s.length>1&&(a=A.documentElement.searchNode([s.at(-1)],0)),a?a.childNodes=Array.isArray(i)?i.map((e=>new UB("value",e))):[new UB("#text",i)]:co(`Node not found for path: ${t}`)}const i=[];return A.documentElement.dump(i),i.join("")}(i.fetchIfRef(t).getString(),A)}const s=i.encrypt;if(s){e=s.createCipherTransform(t.num,t.gen).encryptString(e)}const a=`${t.num} ${t.gen} obj\n<< /Type /EmbeddedFile /Length ${e.length}>>\nstream\n`+e+"\nendstream\nendobj\n";A.push({ref:t,data:a})}function oQ(e){const t=[];for(const{ref:A}of e)A.num===t.at(-2)+t.at(-1)?t[t.length-1]+=1:t.push(A.num,1);return t}function gQ(e,t,A){if(Array.isArray(t.fileIds)&&t.fileIds.length>0){const i=function(e,t){const A=Math.floor(Date.now()/1e3),i=t.filename||"",s=[A.toString(),i,e.toString()];let a=s.reduce(((e,t)=>e+t.length),0);for(const e of Object.values(t.info))s.push(e),a+=e.length;const n=new Uint8Array(a);let r=0;for(const e of s)nQ(e,r,n),r+=e.length;return bo(YB(n))}(e,t);A.set("ID",[t.fileIds[0],i])}}async function hQ({originalData:e,xrefInfo:t,newRefs:A,xref:i=null,hasXfa:s=!1,xfaDatasetsRef:a=null,hasXfaDatasetsEntry:n=!1,needAppearances:r,acroFormRef:o=null,acroForm:g=null,xfaData:h=null,useXrefStream:c=!1}){await async function({xref:e,acroForm:t,acroFormRef:A,hasXfa:i,hasXfaDatasetsEntry:s,xfaDatasetsRef:a,needAppearances:n,newRefs:r}){if(!i||s||a||co("XFA - Cannot save it"),!n&&(!i||!a||s))return;const o=t.clone();if(i&&!s){const e=t.get("XFA").slice();e.splice(2,0,"datasets"),e.splice(3,0,a),o.set("XFA",e)}n&&o.set("NeedAppearances",!0);const g=[];await eQ(A,o,g,e),r.push({ref:A,data:g.join("")})}({xref:i,acroForm:g,acroFormRef:o,hasXfa:s,hasXfaDatasetsEntry:n,xfaDatasetsRef:a,needAppearances:r,newRefs:A}),s&&rQ({xfaData:h,xfaDatasetsRef:a,newRefs:A,xref:i});const l=[];let I=e.length;const d=e.at(-1);10!==d&&13!==d&&(l.push("\n"),I+=1);const C=function(e,t,A){const i=new ig(null);i.set("Prev",e.startXRef);const s=e.newRef;return A?(t.push({ref:s,data:""}),i.set("Size",s.num+1),i.set("Type",eg.get("XRef"))):i.set("Size",s.num),null!==e.rootRef&&i.set("Root",e.rootRef),null!==e.infoRef&&i.set("Info",e.infoRef),null!==e.encryptRef&&i.set("Encrypt",e.encryptRef),i}(t,A,c);A=A.sort(((e,t)=>e.ref.num-t.ref.num));for(const{data:e}of A)null!==e&&l.push(e);await(c?async function(e,t,A,i,s){const a=[];let n=0,r=0;for(const{ref:e,data:i}of A){let A;n=Math.max(n,t),null!==i?(A=Math.min(e.gen,65535),a.push([1,t,A]),t+=i.length):(A=Math.min(e.gen+1,65535),a.push([0,0,A])),r=Math.max(r,A)}i.set("Index",oQ(A));const o=[1,jg(n),jg(r)];i.set("W",o),gQ(t,e,i);const g=o.reduce(((e,t)=>e+t),0),h=new Uint8Array(g*a.length),c=new Vg(h);c.dict=i;let l=0;for(const[e,t,A]of a)l=aQ(e,o[0],l,h),l=aQ(t,o[1],l,h),l=aQ(A,o[2],l,h);await eQ(e.newRef,c,s,{}),s.push("startxref\n",t.toString(),"\n%%EOF\n")}(t,I,A,C,l):async function(e,t,A,i,s){s.push("xref\n");const a=oQ(A);let n=0;for(const{ref:e,data:i}of A)e.num===a[n]&&(s.push(`${a[n]} ${a[n+1]}\n`),n+=2),null!==i?(s.push(`${t.toString().padStart(10,"0")} ${Math.min(e.gen,65535).toString().padStart(5,"0")} n\r\n`),t+=i.length):s.push(`0000000000 ${Math.min(e.gen+1,65535).toString().padStart(5,"0")} f\r\n`);gQ(t,e,i),s.push("trailer\n"),await tQ(i,s),s.push("\nstartxref\n",t.toString(),"\n%%EOF\n")}(t,I,A,C,l));const u=l.reduce(((e,t)=>e+t.length),e.length),B=new Uint8Array(u);B.set(e);let Q=e.length;for(const e of l)nQ(e,Q,B),Q+=e.length;return B}const cQ=1,lQ=2,IQ=3,dQ=4,CQ=5;class uQ{constructor(e,t){this.dict=e,this.ref=t instanceof sg?t:null,this.roleMap=new Map,this.structParentIds=null}init(){this.readRoleMap()}#wr(e,t,A){if(!(e instanceof sg)||t<0)return;this.structParentIds||=new ng;let i=this.structParentIds.get(e);i||(i=[],this.structParentIds.put(e,i)),i.push([t,A])}addAnnotationIdToPage(e,t){this.#wr(e,t,dQ)}readRoleMap(){const e=this.dict.get("RoleMap");e instanceof ig&&e.forEach(((e,t)=>{t instanceof eg&&this.roleMap.set(e,t.name)}))}static async canCreateStructureTree({catalogRef:e,pdfManager:t,newAnnotationsByPage:A}){if(!(e instanceof sg))return co("Cannot save the struct tree: no catalog reference."),!1;let i=0,s=!0;for(const[e,a]of A){const{ref:A}=await t.getPage(e);if(!(A instanceof sg)){co(`Cannot save the struct tree: page ${e} has no ref.`),s=!0;break}for(const e of a)e.accessibilityData?.type&&(e.parentTreeId=i++,s=!1)}if(s){for(const e of A.values())for(const t of e)delete t.parentTreeId;return!1}return!0}static async createStructureTree({newAnnotationsByPage:e,xref:t,catalogRef:A,pdfManager:i,newRefs:s}){const a=i.catalog.cloneDict(),n=new ng;n.put(A,a);const r=t.getNewTemporaryRef();a.set("StructTreeRoot",r);const o=new ig(t);o.set("Type",eg.get("StructTreeRoot"));const g=t.getNewTemporaryRef();o.set("ParentTree",g);const h=[];o.set("K",h),n.put(r,o);const c=new ig(t),l=[];c.set("Nums",l);const I=await this.#br({newAnnotationsByPage:e,structTreeRootRef:r,kids:h,nums:l,xref:t,pdfManager:i,cache:n});o.set("ParentTreeNextKey",I),n.put(g,c);const d=[];for(const[e,A]of n.items())d.length=0,await eQ(e,A,d,t),s.push({ref:e,data:d.join("")})}async canUpdateStructTree({pdfManager:e,xref:t,newAnnotationsByPage:A}){if(!this.ref)return co("Cannot update the struct tree: no root reference."),!1;let i=this.dict.get("ParentTreeNextKey");if(!Number.isInteger(i)||i<0)return co("Cannot update the struct tree: invalid next key."),!1;const s=this.dict.get("ParentTree");if(!(s instanceof ig))return co("Cannot update the struct tree: ParentTree isn't a dict."),!1;const a=s.get("Nums");if(!Array.isArray(a))return co("Cannot update the struct tree: nums isn't an array."),!1;const n=new wB(s,t);for(const t of A.keys()){const{pageDict:A}=await e.getPage(t);if(!A.has("StructParents"))continue;const i=A.get("StructParents");if(!Number.isInteger(i)||!Array.isArray(n.get(i)))return co(`Cannot save the struct tree: page ${t} has a wrong id.`),!1}let r=!0;for(const[t,s]of A){const{pageDict:A}=await e.getPage(t);uQ.#Dr({elements:s,xref:this.dict.xref,pageDict:A,numberTree:n});for(const e of s)e.accessibilityData?.type&&(e.parentTreeId=i++,r=!1)}if(r){for(const e of A.values())for(const t of e)delete t.parentTreeId,delete t.structTreeParent;return!1}return!0}async updateStructureTree({newAnnotationsByPage:e,pdfManager:t,newRefs:A}){const i=this.dict.xref,s=this.dict.clone(),a=this.ref,n=new ng;n.put(a,s);let r,o=s.getRaw("ParentTree");o instanceof sg?r=i.fetch(o):(r=o,o=i.getNewTemporaryRef(),s.set("ParentTree",o)),r=r.clone(),n.put(o,r);let g=r.getRaw("Nums"),h=null;g instanceof sg&&(h=g,g=i.fetch(h)),g=g.slice(),h||r.set("Nums",g);const c=await uQ.#br({newAnnotationsByPage:e,structTreeRootRef:a,kids:null,nums:g,xref:i,pdfManager:t,cache:n});s.set("ParentTreeNextKey",c),h&&n.put(h,g);const l=[];for(const[e,t]of n.items())l.length=0,await eQ(e,t,l,i),A.push({ref:e,data:l.join("")})}static async#br({newAnnotationsByPage:e,structTreeRootRef:t,kids:A,nums:i,xref:s,pdfManager:a,cache:n}){const r=eg.get("OBJR");let o=-1/0;for(const[g,h]of e){const{ref:e}=await a.getPage(g),c=e instanceof sg;for(const{accessibilityData:a,ref:g,parentTreeId:l,structTreeParent:I}of h){if(!a?.type)continue;const{type:h,title:d,lang:C,alt:u,expanded:B,actualText:Q}=a;o=Math.max(o,l);const E=s.getNewTemporaryRef(),f=new ig(s);f.set("S",eg.get(h)),d&&f.set("T",d),C&&f.set("Lang",C),u&&f.set("Alt",u),B&&f.set("E",B),Q&&f.set("ActualText",Q),await this.#kr({structTreeParent:I,tagDict:f,newTagRef:E,structTreeRootRef:t,fallbackKids:A,xref:s,cache:n});const p=new ig(s);f.set("K",p),p.set("Type",r),c&&p.set("Pg",e),p.set("Obj",g),n.put(E,f),i.push(l,E)}}return o+1}static#Dr({elements:e,xref:t,pageDict:A,numberTree:i}){const s=new Map;for(const t of e)if(t.structTreeParentId){const e=parseInt(t.structTreeParentId.split("_mc")[1],10);let A=s.get(e);A||(A=[],s.set(e,A)),A.push(t)}const a=A.get("StructParents");if(!Number.isInteger(a))return;const n=i.get(a),r=(e,A,i)=>{const a=s.get(e);if(a){const e=A.getRaw("P"),s=t.fetchIfRef(e);if(e instanceof sg&&s instanceof ig){const e={ref:i,dict:A};for(const t of a)t.structTreeParent=e}return!0}return!1};for(const e of n){if(!(e instanceof sg))continue;const A=t.fetch(e),i=A.get("K");if(Number.isInteger(i))r(i,A,e);else if(Array.isArray(i))for(let s of i){if(s=t.fetchIfRef(s),Number.isInteger(s)&&r(s,A,e))break;if(!(s instanceof ig))continue;if(!rg(s.get("Type"),"MCR"))break;const i=s.get("MCID");if(Number.isInteger(i)&&r(i,A,e))break}}}static async#kr({structTreeParent:e,tagDict:t,newTagRef:A,structTreeRootRef:i,fallbackKids:s,xref:a,cache:n}){let r,o=null;e?(({ref:o}=e),r=e.dict.getRaw("P")||i):r=i,t.set("P",r);const g=a.fetchIfRef(r);if(!g)return void s.push(A);let h=n.get(r);h||(h=g.clone(),n.put(r,h));const c=h.getRaw("K");let l=c instanceof sg?n.get(c):null;if(!l){l=a.fetchIfRef(c),l=Array.isArray(l)?l.slice():[c];const e=a.getNewTemporaryRef();h.set("K",e),n.put(e,l)}const I=l.indexOf(o);l.splice(I>=0?I+1:l.length,0,A)}}class BQ{constructor(e,t){this.tree=e,this.dict=t,this.kids=[],this.parseKids()}get role(){const e=this.dict.get("S"),t=e instanceof eg?e.name:"",{root:A}=this.tree;return A.roleMap.has(t)?A.roleMap.get(t):t}parseKids(){let e=null;const t=this.dict.getRaw("Pg");t instanceof sg&&(e=t.toString());const A=this.dict.get("K");if(Array.isArray(A))for(const t of A){const A=this.parseKid(e,t);A&&this.kids.push(A)}else{const t=this.parseKid(e,A);t&&this.kids.push(t)}}parseKid(e,t){if(Number.isInteger(t))return this.tree.pageDict.objId!==e?null:new QQ({type:cQ,mcid:t,pageObjId:e});let A=null;if(t instanceof sg?A=this.dict.xref.fetch(t):t instanceof ig&&(A=t),!A)return null;const i=A.getRaw("Pg");i instanceof sg&&(e=i.toString());const s=A.get("Type")instanceof eg?A.get("Type").name:null;if("MCR"===s){if(this.tree.pageDict.objId!==e)return null;const t=A.getRaw("Stm");return new QQ({type:lQ,refObjId:t instanceof sg?t.toString():null,pageObjId:e,mcid:A.get("MCID")})}if("OBJR"===s){if(this.tree.pageDict.objId!==e)return null;const t=A.getRaw("Obj");return new QQ({type:IQ,refObjId:t instanceof sg?t.toString():null,pageObjId:e})}return new QQ({type:CQ,dict:A})}}class QQ{constructor({type:e,dict:t=null,mcid:A=null,pageObjId:i=null,refObjId:s=null}){this.type=e,this.dict=t,this.mcid=A,this.pageObjId=i,this.refObjId=s,this.parentNode=null}}class EQ{constructor(e,t){this.root=e,this.rootDict=e?e.dict:null,this.pageDict=t,this.nodes=[]}parse(e){if(!this.root||!this.rootDict)return;const t=this.rootDict.get("ParentTree");if(!t)return;const A=this.pageDict.get("StructParents"),i=e instanceof sg&&this.root.structParentIds?.get(e);if(!Number.isInteger(A)&&!i)return;const s=new Map,a=new wB(t,this.rootDict.xref);if(Number.isInteger(A)){const e=a.get(A);if(Array.isArray(e))for(const t of e)t instanceof sg&&this.addNode(this.rootDict.xref.fetch(t),s)}if(i)for(const[e,t]of i){const A=a.get(e);if(A){const e=this.addNode(this.rootDict.xref.fetchIfRef(A),s);1===e?.kids?.length&&e.kids[0].type===IQ&&(e.kids[0].type=t)}}}addNode(e,t,A=0){if(A>40)return co("StructTree MAX_DEPTH reached."),null;if(t.has(e))return t.get(e);const i=new BQ(this,e);t.set(e,i);const s=e.get("P");if(!s||rg(s.get("Type"),"StructTreeRoot"))return this.addTopLevelNode(e,i)||t.delete(e),i;const a=this.addNode(s,t,A+1);if(!a)return i;let n=!1;for(const t of a.kids)t.type===CQ&&t.dict===e&&(t.parentNode=i,n=!0);return n||t.delete(e),i}addTopLevelNode(e,t){const A=this.rootDict.get("K");if(!A)return!1;if(A instanceof ig)return A.objId===e.objId&&(this.nodes[0]=t,!0);if(!Array.isArray(A))return!0;let i=!1;for(let s=0;s<A.length;s++){const a=A[s];a?.toString()===e.objId&&(this.nodes[s]=t,i=!0)}return i}get serializable(){function e(t,A,i=0){if(i>40)return void co("StructTree too deep to be fully serialized.");const s=Object.create(null);s.role=t.role,s.children=[],A.children.push(s);const a=t.dict.get("Alt");"string"==typeof a&&(s.alt=No(a));const n=t.dict.get("Lang");"string"==typeof n&&(s.lang=No(n));for(const A of t.kids){const t=A.type===CQ?A.parentNode:null;t?e(t,s,i+1):A.type===cQ||A.type===lQ?s.children.push({type:"content",id:`p${A.pageObjId}_mc${A.mcid}`}):A.type===IQ?s.children.push({type:"object",id:A.refObjId}):A.type===dQ&&s.children.push({type:"annotation",id:`pdfjs_internal_id_${A.refObjId}`})}}const t=Object.create(null);t.children=[],t.role="Root";for(const A of this.nodes)A&&e(A,t);return t}}function fQ(e){if(!Array.isArray(e)||e.length<2)return!1;const[t,A,...i]=e;if(!(t instanceof sg||Number.isInteger(t)))return!1;if(!(A instanceof eg))return!1;let s=!0;switch(A.name){case"XYZ":if(3!==i.length)return!1;break;case"Fit":case"FitB":return 0===i.length;case"FitH":case"FitBH":case"FitV":case"FitBV":if(1!==i.length)return!1;break;case"FitR":if(4!==i.length)return!1;s=!1;break;default:return!1}for(const e of i)if(!("number"==typeof e||s&&null===e))return!1;return!0}function pQ(e){return e instanceof ig&&(e=e.get("D")),fQ(e)?e:null}function mQ(e){let t=e.get("D");if(t){if(t instanceof eg&&(t=t.name),"string"==typeof t)return No(t);if(fQ(t))return JSON.stringify(t)}return null}class yQ{constructor(e,t){if(this.pdfManager=e,this.xref=t,this._catDict=t.getCatalogObj(),!(this._catDict instanceof ig))throw new yo("Catalog object is not a dictionary.");this.toplevelPagesDict,this._actualNumPages=null,this.fontCache=new ng,this.builtInCMapCache=new Map,this.standardFontDataCache=new Map,this.globalImageCache=new au,this.pageKidsCountCache=new ng,this.pageIndexCache=new ng,this.nonBlendModesSet=new ag,this.systemFontCache=new Map}cloneDict(){return this._catDict.clone()}get version(){const e=this._catDict.get("Version");if(e instanceof eg){if(lg.test(e.name))return uo(this,"version",e.name);co(`Invalid PDF catalog version: ${e.name}`)}return uo(this,"version",null)}get lang(){const e=this._catDict.get("Lang");return uo(this,"lang",e&&"string"==typeof e?No(e):null)}get needsRendering(){const e=this._catDict.get("NeedsRendering");return uo(this,"needsRendering","boolean"==typeof e&&e)}get collection(){let e=null;try{const t=this._catDict.get("Collection");t instanceof ig&&t.size>0&&(e=t)}catch(e){if(e instanceof dg)throw e;ho("Cannot fetch Collection entry; assuming no collection is present.")}return uo(this,"collection",e)}get acroForm(){let e=null;try{const t=this._catDict.get("AcroForm");t instanceof ig&&t.size>0&&(e=t)}catch(e){if(e instanceof dg)throw e;ho("Cannot fetch AcroForm entry; assuming no forms are present.")}return uo(this,"acroForm",e)}get acroFormRef(){const e=this._catDict.getRaw("AcroForm");return uo(this,"acroFormRef",e instanceof sg?e:null)}get metadata(){const e=this._catDict.getRaw("Metadata");if(!(e instanceof sg))return uo(this,"metadata",null);let t=null;try{const A=this.xref.fetch(e,!this.xref.encrypt?.encryptMetadata);if(A instanceof cg&&A.dict instanceof ig){const e=A.dict.get("Type"),i=A.dict.get("Subtype");if(rg(e,"Metadata")&&rg(i,"XML")){const e=Mo(A.getString());e&&(t=new JB(e).serializable)}}}catch(e){if(e instanceof dg)throw e;ho(`Skipping invalid Metadata: "${e}".`)}return uo(this,"metadata",t)}get markInfo(){let e=null;try{e=this._readMarkInfo()}catch(e){if(e instanceof dg)throw e;co("Unable to read mark info.")}return uo(this,"markInfo",e)}_readMarkInfo(){const e=this._catDict.get("MarkInfo");if(!(e instanceof ig))return null;const t={Marked:!1,UserProperties:!1,Suspects:!1};for(const A in t){const i=e.get(A);"boolean"==typeof i&&(t[A]=i)}return t}get structTreeRoot(){let e=null;try{e=this._readStructTreeRoot()}catch(e){if(e instanceof dg)throw e;co("Unable read to structTreeRoot info.")}return uo(this,"structTreeRoot",e)}_readStructTreeRoot(){const e=this._catDict.getRaw("StructTreeRoot"),t=this.xref.fetchIfRef(e);if(!(t instanceof ig))return null;const A=new uQ(t,e);return A.init(),A}get toplevelPagesDict(){const e=this._catDict.get("Pages");if(!(e instanceof ig))throw new yo("Invalid top-level pages dictionary.");return uo(this,"toplevelPagesDict",e)}get documentOutline(){let e=null;try{e=this._readDocumentOutline()}catch(e){if(e instanceof dg)throw e;co("Unable to read document outline.")}return uo(this,"documentOutline",e)}_readDocumentOutline(){let e=this._catDict.get("Outlines");if(!(e instanceof ig))return null;if(e=e.getRaw("First"),!(e instanceof sg))return null;const t={items:[]},A=[{obj:e,parent:t}],i=new ag;i.put(e);const s=this.xref,a=new Uint8ClampedArray(3);for(;A.length>0;){const t=A.shift(),n=s.fetchIfRef(t.obj);if(null===n)continue;n.has("Title")||co("Invalid outline item encountered.");const r={url:null,dest:null,action:null};yQ.parseDestDictionary({destDict:n,resultObj:r,docBaseUrl:this.baseUrl,docAttachments:this.attachments});const o=n.get("Title"),g=n.get("F")||0,h=n.getArray("C"),c=n.get("Count");let l=a;!kg(h,3)||0===h[0]&&0===h[1]&&0===h[2]||(l=eh.singletons.rgb.getRgb(h,0));const I={action:r.action,attachment:r.attachment,dest:r.dest,url:r.url,unsafeUrl:r.unsafeUrl,newWindow:r.newWindow,setOCGState:r.setOCGState,title:"string"==typeof o?No(o):"",color:l,count:Number.isInteger(c)?c:void 0,bold:!!(2&g),italic:!!(1&g),items:[]};t.parent.items.push(I),e=n.getRaw("First"),e instanceof sg&&!i.has(e)&&(A.push({obj:e,parent:I}),i.put(e)),e=n.getRaw("Next"),e instanceof sg&&!i.has(e)&&(A.push({obj:e,parent:t.parent}),i.put(e))}return t.items.length>0?t.items:null}get permissions(){let e=null;try{e=this._readPermissions()}catch(e){if(e instanceof dg)throw e;co("Unable to read permissions.")}return uo(this,"permissions",e)}_readPermissions(){const e=this.xref.trailer.get("Encrypt");if(!(e instanceof ig))return null;let t=e.get("P");if("number"!=typeof t)return null;t+=2**32;const A=[];for(const e in ba){const i=ba[e];t&i&&A.push(i)}return A}get optionalContentConfig(){let e=null;try{const t=this._catDict.get("OCProperties");if(!t)return uo(this,"optionalContentConfig",null);const A=t.get("D");if(!A)return uo(this,"optionalContentConfig",null);const i=t.get("OCGs");if(!Array.isArray(i))return uo(this,"optionalContentConfig",null);const s=[],a=new ag;for(const e of i)e instanceof sg&&!a.has(e)&&(a.put(e),s.push(this.#Sr(e)));e=this.#Fr(A,a),e.groups=s}catch(e){if(e instanceof dg)throw e;co(`Unable to read optional content config: ${e}`)}return uo(this,"optionalContentConfig",e)}#Sr(e){const t=this.xref.fetch(e),A={id:e.toString(),name:null,intent:null,usage:{print:null,view:null}},i=t.get("Name");"string"==typeof i&&(A.name=No(i));let s=t.getArray("Intent");Array.isArray(s)||(s=[s]),s.every((e=>e instanceof eg))&&(A.intent=s.map((e=>e.name)));const a=t.get("Usage");if(!(a instanceof ig))return A;const n=A.usage,r=a.get("Print");if(r instanceof ig){const e=r.get("PrintState");if(e instanceof eg)switch(e.name){case"ON":case"OFF":n.print={printState:e.name}}}const o=a.get("View");if(o instanceof ig){const e=o.get("ViewState");if(e instanceof eg)switch(e.name){case"ON":case"OFF":n.view={viewState:e.name}}}return A}#Fr(e,t){function A(e){const A=[];if(Array.isArray(e))for(const i of e)i instanceof sg&&t.has(i)&&A.push(i.toString());return A}function i(e,A=0){if(!Array.isArray(e))return null;const i=[];for(const a of e){if(a instanceof sg&&t.has(a)){n.put(a),i.push(a.toString());continue}const e=s(a,A);e&&i.push(e)}if(A>0)return i;const a=[];for(const e of t)n.has(e)||a.push(e.toString());return a.length&&i.push({name:null,order:a}),i}function s(e,t){if(++t>r)return co("parseNestedOrder - reached MAX_NESTED_LEVELS."),null;const A=a.fetchIfRef(e);if(!Array.isArray(A))return null;const s=a.fetchIfRef(A[0]);if("string"!=typeof s)return null;const n=i(A.slice(1),t);return n&&n.length?{name:No(s),order:n}:null}const a=this.xref,n=new ag,r=10;return{name:"string"==typeof e.get("Name")?No(e.get("Name")):null,creator:"string"==typeof e.get("Creator")?No(e.get("Creator")):null,baseState:e.get("BaseState")instanceof eg?e.get("BaseState").name:null,on:A(e.get("ON")),off:A(e.get("OFF")),order:i(e.get("Order")),groups:null}}setActualNumPages(e=null){this._actualNumPages=e}get hasActualNumPages(){return null!==this._actualNumPages}get _pagesCount(){const e=this.toplevelPagesDict.get("Count");if(!Number.isInteger(e))throw new yo("Page count in top-level pages dictionary is not an integer.");return uo(this,"_pagesCount",e)}get numPages(){return this.hasActualNumPages?this._actualNumPages:this._pagesCount}get destinations(){const e=this._readDests(),t=Object.create(null);if(e instanceof yB)for(const[A,i]of e.getAll()){const e=pQ(i);e&&(t[No(A)]=e)}else e instanceof ig&&e.forEach((function(e,A){const i=pQ(A);i&&(t[e]=i)}));return uo(this,"destinations",t)}getDestination(e){const t=this._readDests();if(t instanceof yB){const A=pQ(t.get(e));if(A)return A;const i=this.destinations[e];if(i)return co(`Found "${e}" at an incorrect position in the NameTree.`),i}else if(t instanceof ig){const A=pQ(t.get(e));if(A)return A}return null}_readDests(){const e=this._catDict.get("Names");return e?.has("Dests")?new yB(e.getRaw("Dests"),this.xref):this._catDict.has("Dests")?this._catDict.get("Dests"):void 0}get pageLabels(){let e=null;try{e=this._readPageLabels()}catch(e){if(e instanceof dg)throw e;co("Unable to read page labels.")}return uo(this,"pageLabels",e)}_readPageLabels(){const e=this._catDict.getRaw("PageLabels");if(!e)return null;const t=new Array(this.numPages);let A=null,i="";const s=new wB(e,this.xref).getAll();let a="",n=1;for(let e=0,r=this.numPages;e<r;e++){const r=s.get(e);if(void 0!==r){if(!(r instanceof ig))throw new yo("PageLabel is not a dictionary.");if(r.has("Type")&&!rg(r.get("Type"),"PageLabel"))throw new yo("Invalid type in PageLabel dictionary.");if(r.has("S")){const e=r.get("S");if(!(e instanceof eg))throw new yo("Invalid style in PageLabel dictionary.");A=e.name}else A=null;if(r.has("P")){const e=r.get("P");if("string"!=typeof e)throw new yo("Invalid prefix in PageLabel dictionary.");i=No(e)}else i="";if(r.has("St")){const e=r.get("St");if(!(Number.isInteger(e)&&e>=1))throw new yo("Invalid start in PageLabel dictionary.");n=e}else n=1}switch(A){case"D":a=n;break;case"R":case"r":a=pg(n,"r"===A);break;case"A":case"a":const e=26,t="a"===A?97:65,i=n-1;a=String.fromCharCode(t+i%e).repeat(Math.floor(i/e)+1);break;default:if(A)throw new yo(`Invalid style "${A}" in PageLabel dictionary.`);a=""}t[e]=i+a,n++}return t}get pageLayout(){const e=this._catDict.get("PageLayout");let t="";if(e instanceof eg)switch(e.name){case"SinglePage":case"OneColumn":case"TwoColumnLeft":case"TwoColumnRight":case"TwoPageLeft":case"TwoPageRight":t=e.name}return uo(this,"pageLayout",t)}get pageMode(){const e=this._catDict.get("PageMode");let t="UseNone";if(e instanceof eg)switch(e.name){case"UseNone":case"UseOutlines":case"UseThumbs":case"FullScreen":case"UseOC":case"UseAttachments":t=e.name}return uo(this,"pageMode",t)}get viewerPreferences(){const e=this._catDict.get("ViewerPreferences");if(!(e instanceof ig))return uo(this,"viewerPreferences",null);let t=null;for(const A of e.getKeys()){const i=e.get(A);let s;switch(A){case"HideToolbar":case"HideMenubar":case"HideWindowUI":case"FitWindow":case"CenterWindow":case"DisplayDocTitle":case"PickTrayByPDFSize":"boolean"==typeof i&&(s=i);break;case"NonFullScreenPageMode":if(i instanceof eg)switch(i.name){case"UseNone":case"UseOutlines":case"UseThumbs":case"UseOC":s=i.name;break;default:s="UseNone"}break;case"Direction":if(i instanceof eg)switch(i.name){case"L2R":case"R2L":s=i.name;break;default:s="L2R"}break;case"ViewArea":case"ViewClip":case"PrintArea":case"PrintClip":if(i instanceof eg)switch(i.name){case"MediaBox":case"CropBox":case"BleedBox":case"TrimBox":case"ArtBox":s=i.name;break;default:s="CropBox"}break;case"PrintScaling":if(i instanceof eg)switch(i.name){case"None":case"AppDefault":s=i.name;break;default:s="AppDefault"}break;case"Duplex":if(i instanceof eg)switch(i.name){case"Simplex":case"DuplexFlipShortEdge":case"DuplexFlipLongEdge":s=i.name;break;default:s="None"}break;case"PrintPageRange":if(Array.isArray(i)&&i.length%2==0){i.every(((e,t,A)=>Number.isInteger(e)&&e>0&&(0===t||e>=A[t-1])&&e<=this.numPages))&&(s=i)}break;case"NumCopies":Number.isInteger(i)&&i>0&&(s=i);break;default:co(`Ignoring non-standard key in ViewerPreferences: ${A}.`);continue}void 0!==s?(t||(t=Object.create(null)),t[A]=s):co(`Bad value, for key "${A}", in ViewerPreferences: ${i}.`)}return uo(this,"viewerPreferences",t)}get openAction(){const e=this._catDict.get("OpenAction"),t=Object.create(null);if(e instanceof ig){const A=new ig(this.xref);A.set("A",e);const i={url:null,dest:null,action:null};yQ.parseDestDictionary({destDict:A,resultObj:i}),Array.isArray(i.dest)?t.dest=i.dest:i.action&&(t.action=i.action)}else Array.isArray(e)&&(t.dest=e);return uo(this,"openAction",So(t)>0?t:null)}get attachments(){const e=this._catDict.get("Names");let t=null;if(e instanceof ig&&e.has("EmbeddedFiles")){const A=new yB(e.getRaw("EmbeddedFiles"),this.xref);for(const[e,i]of A.getAll()){const A=new kB(i,this.xref);t||(t=Object.create(null)),t[No(e)]=A.serializable}}return uo(this,"attachments",t)}get xfaImages(){const e=this._catDict.get("Names");let t=null;if(e instanceof ig&&e.has("XFAImages")){const A=new yB(e.getRaw("XFAImages"),this.xref);for(const[e,i]of A.getAll())t||(t=new ig(this.xref)),t.set(No(e),i)}return uo(this,"xfaImages",t)}_collectJavaScript(){const e=this._catDict.get("Names");let t=null;function A(e,A){if(!(A instanceof ig))return;if(!rg(A.get("S"),"JavaScript"))return;let i=A.get("JS");if(i instanceof cg)i=i.getString();else if("string"!=typeof i)return;i=No(i).replaceAll("\0",""),i&&(t||=new Map).set(e,i)}if(e instanceof ig&&e.has("JavaScript")){const t=new yB(e.getRaw("JavaScript"),this.xref);for(const[e,i]of t.getAll())A(No(e),i)}const i=this._catDict.get("OpenAction");return i&&A("OpenAction",i),t}get jsActions(){const e=this._collectJavaScript();let t=Gg(this.xref,this._catDict,mn);if(e){t||=Object.create(null);for(const[A,i]of e)A in t?t[A].push(i):t[A]=[i]}return uo(this,"jsActions",t)}async fontFallback(e,t){const A=await Promise.all(this.fontCache);for(const i of A)if(i.loadedName===e)return void i.fallback(t)}async cleanup(e=!1){bB(),this.globalImageCache.clear(e),this.pageKidsCountCache.clear(),this.pageIndexCache.clear(),this.nonBlendModesSet.clear();const t=await Promise.all(this.fontCache);for(const{dict:e}of t)delete e.cacheKey;this.fontCache.clear(),this.builtInCMapCache.clear(),this.standardFontDataCache.clear(),this.systemFontCache.clear()}async getPageDict(e){const t=[this.toplevelPagesDict],A=new ag,i=this._catDict.getRaw("Pages");i instanceof sg&&A.put(i);const s=this.xref,a=this.pageKidsCountCache,n=this.pageIndexCache;let r=0;for(;t.length;){const i=t.pop();if(i instanceof sg){const o=a.get(i);if(o>=0&&r+o<=e){r+=o;continue}if(A.has(i))throw new yo("Pages tree contains circular reference.");A.put(i);const g=await s.fetchAsync(i);if(g instanceof ig){let t=g.getRaw("Type");if(t instanceof sg&&(t=await s.fetchAsync(t)),rg(t,"Page")||!g.has("Kids")){if(a.has(i)||a.put(i,1),n.has(i)||n.put(i,r),r===e)return[g,i];r++;continue}}t.push(g);continue}if(!(i instanceof ig))throw new yo("Page dictionary kid reference points to wrong type of object.");const{objId:o}=i;let g=i.getRaw("Count");if(g instanceof sg&&(g=await s.fetchAsync(g)),Number.isInteger(g)&&g>=0&&(o&&!a.has(o)&&a.put(o,g),r+g<=e)){r+=g;continue}let h=i.getRaw("Kids");if(h instanceof sg&&(h=await s.fetchAsync(h)),!Array.isArray(h)){let t=i.getRaw("Type");if(t instanceof sg&&(t=await s.fetchAsync(t)),rg(t,"Page")||!i.has("Kids")){if(r===e)return[i,null];r++;continue}throw new yo("Page dictionary kids object is not an array.")}for(let e=h.length-1;e>=0;e--)t.push(h[e])}throw new Error(`Page index ${e} not found.`)}async getAllPageDicts(e=!1){const{ignoreErrors:t}=this.pdfManager.evaluatorOptions,A=[{currentNode:this.toplevelPagesDict,posInKids:0}],i=new ag,s=this._catDict.getRaw("Pages");s instanceof sg&&i.put(s);const a=new Map,n=this.xref,r=this.pageIndexCache;let o=0;function g(A){if(A instanceof ug&&!e)throw A;e&&t&&0===o&&(co(`getAllPageDicts - Skipping invalid first page: "${A}".`),A=ig.empty),a.set(o++,[A,null])}for(;A.length>0;){const e=A.at(-1),{currentNode:t,posInKids:s}=e;let l=t.getRaw("Kids");if(l instanceof sg)try{l=await n.fetchAsync(l)}catch(e){g(e);break}if(!Array.isArray(l)){g(new yo("Page dictionary kids object is not an array."));break}if(s>=l.length){A.pop();continue}const I=l[s];let d;if(I instanceof sg){if(i.has(I)){g(new yo("Pages tree contains circular reference."));break}i.put(I);try{d=await n.fetchAsync(I)}catch(e){g(e);break}}else d=I;if(!(d instanceof ig)){g(new yo("Page dictionary kid reference points to wrong type of object."));break}let C=d.getRaw("Type");if(C instanceof sg)try{C=await n.fetchAsync(C)}catch(e){g(e);break}rg(C,"Page")||!d.has("Kids")?(h=d,(c=I instanceof sg?I:null)&&!r.has(c)&&r.put(c,o),a.set(o++,[h,c])):A.push({currentNode:d,posInKids:0}),e.posInKids++}var h,c;return a}getPageIndex(e){const t=this.pageIndexCache.get(e);if(void 0!==t)return Promise.resolve(t);const A=this.xref;let i=0;const s=t=>function(t){let i,s=0;return A.fetchAsync(t).then((function(A){if(hg(t,e)&&!gg(A,"Page")&&!(A instanceof ig&&!A.has("Type")&&A.has("Contents")))throw new yo("The reference does not point to a /Page dictionary.");if(!A)return null;if(!(A instanceof ig))throw new yo("Node must be a dictionary.");return i=A.getRaw("Parent"),A.getAsync("Parent")})).then((function(e){if(!e)return null;if(!(e instanceof ig))throw new yo("Parent must be a dictionary.");return e.getAsync("Kids")})).then((function(e){if(!e)return null;const a=[];let n=!1;for(const i of e){if(!(i instanceof sg))throw new yo("Kid must be a reference.");if(hg(i,t)){n=!0;break}a.push(A.fetchAsync(i).then((function(e){if(!(e instanceof ig))throw new yo("Kid node must be a dictionary.");e.has("Count")?s+=e.get("Count"):s++})))}if(!n)throw new yo("Kid reference not found in parent's kids.");return Promise.all(a).then((function(){return[s,i]}))}))}(t).then((t=>{if(!t)return this.pageIndexCache.put(e,i),i;const[A,a]=t;return i+=A,s(a)}));return s(e)}get baseUrl(){const e=this._catDict.get("URI");if(e instanceof ig){const t=e.get("Base");if("string"==typeof t){const e=Co(t,null,{tryConvertEncoding:!0});if(e)return uo(this,"baseUrl",e.href)}}return uo(this,"baseUrl",this.pdfManager.docBaseUrl)}static parseDestDictionary({destDict:e,resultObj:t,docBaseUrl:A=null,docAttachments:i=null}){if(!(e instanceof ig))return void co("parseDestDictionary: `destDict` must be a dictionary.");let s,a,n=e.get("A");if(n instanceof ig||(e.has("Dest")?n=e.get("Dest"):(n=e.get("AA"),n instanceof ig&&(n.has("D")?n=n.get("D"):n.has("U")&&(n=n.get("U"))))),n instanceof ig){const e=n.get("S");if(!(e instanceof eg))return void co("parseDestDictionary: Invalid type in Action dictionary.");const A=e.name;switch(A){case"ResetForm":const e=n.get("Flags"),r=0==(1&("number"==typeof e?e:0)),o=[],g=[];for(const e of n.get("Fields")||[])e instanceof sg?g.push(e.toString()):"string"==typeof e&&o.push(No(e));t.resetForm={fields:o,refs:g,include:r};break;case"URI":s=n.get("URI"),s instanceof eg&&(s="/"+s.name);break;case"GoTo":a=n.get("D");break;case"Launch":case"GoToR":const h=n.get("F");if(h instanceof ig){const e=new kB(h,null,!0),{rawFilename:t}=e.serializable;s=t}else"string"==typeof h&&(s=h);const c=mQ(n);c&&"string"==typeof s&&(s=s.split("#",1)[0]+"#"+c);const l=n.get("NewWindow");"boolean"==typeof l&&(t.newWindow=l);break;case"GoToE":const I=n.get("T");let d;if(i&&I instanceof ig){const e=I.get("R"),t=I.get("N");rg(e,"C")&&"string"==typeof t&&(d=i[No(t)])}if(d){t.attachment=d;const e=mQ(n);e&&(t.attachmentDest=e)}else co('parseDestDictionary - unimplemented "GoToE" action.');break;case"Named":const C=n.get("N");C instanceof eg&&(t.action=C.name);break;case"SetOCGState":const u=n.get("State"),B=n.get("PreserveRB");if(!Array.isArray(u)||0===u.length)break;const Q=[];for(const e of u)if(e instanceof eg)switch(e.name){case"ON":case"OFF":case"Toggle":Q.push(e.name)}else e instanceof sg&&Q.push(e.toString());if(Q.length!==u.length)break;t.setOCGState={state:Q,preserveRB:"boolean"!=typeof B||B};break;case"JavaScript":const E=n.get("JS");let f;E instanceof cg?f=E.getString():"string"==typeof E&&(f=E);const p=f&&Pg(No(f));if(p){s=p.url,t.newWindow=p.newWindow;break}default:if("JavaScript"===A||"SubmitForm"===A)break;co(`parseDestDictionary - unsupported action: "${A}".`)}}else e.has("Dest")&&(a=e.get("Dest"));if("string"==typeof s){const e=Co(s,A,{addDefaultProtocol:!0,tryConvertEncoding:!0});e&&(t.url=e.href),t.unsafeUrl=s}a&&(a instanceof eg&&(a=a.name),"string"==typeof a?t.dest=No(a):fQ(a)&&(t.dest=a))}}function wQ(e,t){if(e instanceof ig)e=e.getRawValues();else if(e instanceof cg)e=e.dict.getRawValues();else if(!Array.isArray(e))return;for(const i of e)((A=i)instanceof sg||A instanceof ig||A instanceof cg||Array.isArray(A))&&t.push(i);var A}class bQ{constructor(e,t,A){this.dict=e,this.keys=t,this.xref=A,this.refSet=null}async load(){if(this.xref.stream.isDataLoaded)return;const{keys:e,dict:t}=this;this.refSet=new ag;const A=[];for(const i of e){const e=t.getRaw(i);void 0!==e&&A.push(e)}return this._walk(A)}async _walk(e){const t=[],A=[];for(;e.length;){let i=e.pop();if(i instanceof sg){if(this.refSet.has(i))continue;try{this.refSet.put(i),i=this.xref.fetch(i)}catch(e){if(!(e instanceof dg)){co(`ObjectLoader._walk - requesting all data: "${e}".`),this.refSet=null;const{manager:t}=this.xref.stream;return t.requestAllChunks()}t.push(i),A.push({begin:e.begin,end:e.end})}}if(i instanceof cg){const e=i.getBaseStreams();if(e){let s=!1;for(const t of e)t.isDataLoaded||(s=!0,A.push({begin:t.start,end:t.end}));s&&t.push(i)}}wQ(i,e)}if(A.length){await this.xref.stream.manager.requestRanges(A);for(const e of t)e instanceof sg&&this.refSet.remove(e);return this._walk(t)}this.refSet=null}}const DQ=Symbol(),kQ=Symbol(),SQ=Symbol(),FQ=Symbol(),RQ=Symbol(),xQ=Symbol(),vQ=Symbol(),NQ=Symbol(),MQ=Symbol(),GQ=Symbol("content"),LQ=Symbol("data"),UQ=Symbol(),HQ=Symbol("extra"),JQ=Symbol(),TQ=Symbol(),PQ=Symbol(),YQ=Symbol(),KQ=Symbol(),_Q=Symbol(),qQ=Symbol(),OQ=Symbol(),WQ=Symbol(),jQ=Symbol(),VQ=Symbol(),ZQ=Symbol(),XQ=Symbol(),zQ=Symbol(),$Q=Symbol(),eE=Symbol(),tE=Symbol(),AE=Symbol(),iE=Symbol(),sE=Symbol(),aE=Symbol(),nE=Symbol(),rE=Symbol(),oE=Symbol(),gE=Symbol(),hE=Symbol(),cE=Symbol(),lE=Symbol(),IE=Symbol(),dE=Symbol(),CE=Symbol(),uE=Symbol(),BE=Symbol("namespaceId"),QE=Symbol("nodeName"),EE=Symbol(),fE=Symbol(),pE=Symbol(),mE=Symbol(),yE=Symbol(),wE=Symbol(),bE=Symbol(),DE=Symbol(),kE=Symbol("root"),SE=Symbol(),FE=Symbol(),RE=Symbol(),xE=Symbol(),vE=Symbol(),NE=Symbol(),ME=Symbol(),GE=Symbol(),LE=Symbol(),UE=Symbol(),HE=Symbol(),JE=Symbol("uid"),TE=Symbol(),PE={config:{id:0,check:e=>e.startsWith("http://www.xfa.org/schema/xci/")},connectionSet:{id:1,check:e=>e.startsWith("http://www.xfa.org/schema/xfa-connection-set/")},datasets:{id:2,check:e=>e.startsWith("http://www.xfa.org/schema/xfa-data/")},form:{id:3,check:e=>e.startsWith("http://www.xfa.org/schema/xfa-form/")},localeSet:{id:4,check:e=>e.startsWith("http://www.xfa.org/schema/xfa-locale-set/")},pdf:{id:5,check:e=>"http://ns.adobe.com/xdp/pdf/"===e},signature:{id:6,check:e=>"http://www.w3.org/2000/09/xmldsig#"===e},sourceSet:{id:7,check:e=>e.startsWith("http://www.xfa.org/schema/xfa-source-set/")},stylesheet:{id:8,check:e=>"http://www.w3.org/1999/XSL/Transform"===e},template:{id:9,check:e=>e.startsWith("http://www.xfa.org/schema/xfa-template/")},xdc:{id:10,check:e=>e.startsWith("http://www.xfa.org/schema/xdc/")},xdp:{id:11,check:e=>"http://ns.adobe.com/xdp/"===e},xfdf:{id:12,check:e=>"http://ns.adobe.com/xfdf/"===e},xhtml:{id:13,check:e=>"http://www.w3.org/1999/xhtml"===e},xmpmeta:{id:14,check:e=>"http://ns.adobe.com/xmpmeta/"===e}},YE={pt:e=>e,cm:e=>e/2.54*72,mm:e=>e/25.4*72,in:e=>72*e,px:e=>e},KE=/([+-]?\d+\.?\d*)(.*)/;function _E(e){return e.startsWith("'")||e.startsWith('"')?e.slice(1,-1):e}function qE({data:e,defaultValue:t,validate:A}){if(!e)return t;e=e.trim();const i=parseInt(e,10);return!isNaN(i)&&A(i)?i:t}function OE({data:e,defaultValue:t,validate:A}){if(!e)return t;e=e.trim();const i=parseFloat(e);return!isNaN(i)&&A(i)?i:t}function WE({data:e,defaultValue:t,validate:A}){return e&&A(e=e.trim())?e:t}function jE(e,t){return WE({data:e,defaultValue:t[0],validate:e=>t.includes(e)})}function VE(e,t="0"){if(t||="0",!e)return VE(t);const A=e.trim().match(KE);if(!A)return VE(t);const[,i,s]=A,a=parseFloat(i);if(isNaN(a))return VE(t);if(0===a)return 0;const n=YE[s];return n?n(a):a}function ZE(e){if(!e)return{num:1,den:1};const t=e.trim().split(/\s*:\s*/).map((e=>parseFloat(e))).filter((e=>!isNaN(e)));if(1===t.length&&t.push(1),0===t.length)return{num:1,den:1};const[A,i]=t;return{num:A,den:i}}function XE(e){return e?e.trim().split(/\s+/).map((e=>({excluded:"-"===e[0],viewname:e.substring(1)}))):[]}class zE{static get FAILURE(){return uo(this,"FAILURE",new zE(!1,null,null,null))}static get EMPTY(){return uo(this,"EMPTY",new zE(!0,null,null,null))}constructor(e,t,A,i){this.success=e,this.html=t,this.bbox=A,this.breakNode=i}isBreak(){return!!this.breakNode}static breakNode(e){return new zE(!1,null,null,e)}static success(e,t=null){return new zE(!0,e,t,null)}}class $E{constructor(e){this.fonts=new Map,this.cache=new Map,this.warned=new Set,this.defaultFont=null,this.add(e)}add(e,t=null){for(const t of e)this.addPdfFont(t);for(const e of this.fonts.values())e.regular||(e.regular=e.italic||e.bold||e.bolditalic);if(!t||0===t.size)return;const A=this.fonts.get("PdfJS-Fallback-PdfJS-XFA");for(const e of t)this.fonts.set(e,A)}addPdfFont(e){const t=e.cssFontInfo,A=t.fontFamily;let i=this.fonts.get(A);i||(i=Object.create(null),this.fonts.set(A,i),this.defaultFont||(this.defaultFont=i));let s="";const a=parseFloat(t.fontWeight);0!==parseFloat(t.italicAngle)?s=a>=700?"bolditalic":"italic":a>=700&&(s="bold"),s||((e.name.includes("Bold")||e.psName?.includes("Bold"))&&(s="bold"),(e.name.includes("Italic")||e.name.endsWith("It")||e.psName?.includes("Italic")||e.psName?.endsWith("It"))&&(s+="italic")),s||(s="regular"),i[s]=e}getDefault(){return this.defaultFont}find(e,t=!0){let A=this.fonts.get(e)||this.cache.get(e);if(A)return A;const i=/,|-|_| |bolditalic|bold|italic|regular|it/gi;let s=e.replaceAll(i,"");if(A=this.fonts.get(s),A)return this.cache.set(e,A),A;s=s.toLowerCase();const a=[];for(const[e,t]of this.fonts.entries())e.replaceAll(i,"").toLowerCase().startsWith(s)&&a.push(t);if(0===a.length)for(const[,e]of this.fonts.entries())e.regular.name?.replaceAll(i,"").toLowerCase().startsWith(s)&&a.push(e);if(0===a.length){s=s.replaceAll(/psmt|mt/gi,"");for(const[e,t]of this.fonts.entries())e.replaceAll(i,"").toLowerCase().startsWith(s)&&a.push(t)}if(0===a.length)for(const e of this.fonts.values())e.regular.name?.replaceAll(i,"").toLowerCase().startsWith(s)&&a.push(e);return a.length>=1?(1!==a.length&&t&&co(`XFA - Too many choices to guess the correct font: ${e}`),this.cache.set(e,a[0]),a[0]):(t&&!this.warned.has(e)&&(this.warned.add(e),co(`XFA - Cannot find the font: ${e}`)),null)}}function ef(e,t){return"italic"===e.posture?"bold"===e.weight?t.bolditalic:t.italic:"bold"===e.weight?t.bold:t.regular}class tf{constructor(e,t,A,i){if(this.lineHeight=A,this.paraMargin=t||{top:0,bottom:0,left:0,right:0},!e)return void([this.pdfFont,this.xfaFont]=this.defaultFont(i));this.xfaFont={typeface:e.typeface,posture:e.posture,weight:e.weight,size:e.size,letterSpacing:e.letterSpacing};const s=i.find(e.typeface);s?(this.pdfFont=ef(e,s),this.pdfFont||([this.pdfFont,this.xfaFont]=this.defaultFont(i))):[this.pdfFont,this.xfaFont]=this.defaultFont(i)}defaultFont(e){const t=e.find("Helvetica",!1)||e.find("Myriad Pro",!1)||e.find("Arial",!1)||e.getDefault();if(t?.regular){const e=t.regular;return[e,{typeface:e.cssFontInfo.fontFamily,posture:"normal",weight:"normal",size:10,letterSpacing:0}]}return[null,{typeface:"Courier",posture:"normal",weight:"normal",size:10,letterSpacing:0}]}}class Af{constructor(e,t,A,i){this.fontFinder=i,this.stack=[new tf(e,t,A,i)]}pushData(e,t,A){const i=this.stack.at(-1);for(const t of["typeface","posture","weight","size","letterSpacing"])e[t]||(e[t]=i.xfaFont[t]);for(const e of["top","bottom","left","right"])isNaN(t[e])&&(t[e]=i.paraMargin[e]);const s=new tf(e,t,A||i.lineHeight,this.fontFinder);s.pdfFont||(s.pdfFont=i.pdfFont),this.stack.push(s)}popFont(){this.stack.pop()}topFont(){return this.stack.at(-1)}}class sf{constructor(e,t,A,i){this.glyphs=[],this.fontSelector=new Af(e,t,A,i),this.extraHeight=0}pushData(e,t,A){this.fontSelector.pushData(e,t,A)}popFont(e){return this.fontSelector.popFont()}addPara(){const e=this.fontSelector.topFont();this.extraHeight+=e.paraMargin.top+e.paraMargin.bottom}addString(e){if(!e)return;const t=this.fontSelector.topFont(),A=t.xfaFont.size;if(t.pdfFont){const i=t.xfaFont.letterSpacing,s=t.pdfFont,a=s.lineHeight||1.2,n=t.lineHeight||Math.max(1.2,a)*A,r=a-(void 0===s.lineGap?.2:s.lineGap),o=Math.max(1,r)*A,g=A/1e3,h=s.defaultWidth||s.charsToGlyphs(" ")[0].width;for(const t of e.split(/[\u2029\n]/)){const e=s.encodeString(t).join(""),A=s.charsToGlyphs(e);for(const e of A){const t=e.width||h;this.glyphs.push([t*g+i,n,o,e.unicode,!1])}this.glyphs.push([0,0,0,"\n",!0])}this.glyphs.pop()}else{for(const t of e.split(/[\u2029\n]/)){for(const e of t.split(""))this.glyphs.push([A,1.2*A,A,e,!1]);this.glyphs.push([0,0,0,"\n",!0])}this.glyphs.pop()}}compute(e){let t=-1,A=0,i=0,s=0,a=0,n=0,r=!1,o=!0;for(let g=0,h=this.glyphs.length;g<h;g++){const[h,c,l,I,d]=this.glyphs[g],C=" "===I,u=o?l:c;d?(i=Math.max(i,a),a=0,s+=n,n=u,t=-1,A=0,o=!1):C?a+h>e?(i=Math.max(i,a),a=0,s+=n,n=u,t=-1,A=0,r=!0,o=!1):(n=Math.max(u,n),A=a,a+=h,t=g):a+h>e?(s+=n,n=u,-1!==t?(g=t,i=Math.max(i,A),a=0,t=-1,A=0):(i=Math.max(i,a),a=h),r=!0,o=!1):(a+=h,n=Math.max(u,n))}return i=Math.max(i,a),s+=n+this.extraHeight,{width:1.02*i,height:s,isBroken:r}}}const af=/^[^.[]+/,nf=/^[^\]]+/,rf={dot:0,dotDot:1,dotHash:2,dotBracket:3,dotParen:4},of=new Map([["$data",(e,t)=>e.datasets?e.datasets.data:e],["$record",(e,t)=>(e.datasets?e.datasets.data:e)[ZQ]()[0]],["$template",(e,t)=>e.template],["$connectionSet",(e,t)=>e.connectionSet],["$form",(e,t)=>e.form],["$layout",(e,t)=>e.layout],["$host",(e,t)=>e.host],["$dataWindow",(e,t)=>e.dataWindow],["$event",(e,t)=>e.event],["!",(e,t)=>e.datasets],["$xfa",(e,t)=>e],["xfa",(e,t)=>e],["$",(e,t)=>t]]),gf=new WeakMap;function hf(e,t,A=!0){let i=e.match(af);if(!i)return null;let[s]=i;const a=[{name:s,cacheName:"."+s,index:0,js:null,formCalc:null,operator:rf.dot}];let n=s.length;for(;n<e.length;){const o=n;if("["===e.charAt(n++)){if(i=e.slice(n).match(nf),!i)return co("XFA - Invalid index in SOM expression"),null;a.at(-1).index="*"===(r=(r=i[0]).trim())?1/0:parseInt(r,10)||0,n+=i[0].length+1;continue}let g;switch(e.charAt(n)){case".":if(!t)return null;n++,g=rf.dotDot;break;case"#":n++,g=rf.dotHash;break;case"[":if(A)return co("XFA - SOM expression contains a FormCalc subexpression which is not supported for now."),null;g=rf.dotBracket;break;case"(":if(A)return co("XFA - SOM expression contains a JavaScript subexpression which is not supported for now."),null;g=rf.dotParen;break;default:g=rf.dot}if(i=e.slice(n).match(af),!i)break;[s]=i,n+=s.length,a.push({name:s,cacheName:e.slice(o,n),operator:g,index:0,js:null,formCalc:null})}var r;return a}function cf(e,t,A,i=!0,s=!0){const a=hf(A,i);if(!a)return null;const n=of.get(a[0].name);let r,o=0;n?(r=!0,e=[n(e,t)],o=1):(r=null===t,e=[t||e]);for(let A=a.length;o<A;o++){const{name:A,cacheName:i,operator:n,index:g}=a[o],h=[];for(const t of e){if(!t.isXFAObject)continue;let e,a;if(s&&(a=gf.get(t),a||(a=new Map,gf.set(t,a)),e=a.get(i)),!e){switch(n){case rf.dot:e=t[qQ](A,!1);break;case rf.dotDot:e=t[qQ](A,!0);break;case rf.dotHash:e=t[_Q](A),e=e.isXFAObjectArray?e.children:[e]}s&&a.set(i,e)}e.length>0&&h.push(e)}if(0!==h.length||r||0!==o)e=isFinite(g)?h.filter((e=>g<e.length)).map((e=>e[g])):h.flat();else{const A=t[eE]();if(!(t=A))return null;o=-1,e=[t]}}return 0===e.length?null:e}function lf(e,t,A){const i=hf(A);if(!i)return null;if(i.some((e=>e.operator===rf.dotDot)))return null;const s=of.get(i[0].name);let a=0;s?(e=s(e,t),a=1):e=t||e;for(let t=i.length;a<t;a++){const{name:t,operator:A,index:s}=i[a];if(!isFinite(s))return i[a].index=0,e.createNodes(i.slice(a));let n;switch(A){case rf.dot:n=e[qQ](t,!1);break;case rf.dotDot:n=e[qQ](t,!0);break;case rf.dotHash:n=e[_Q](t),n=n.isXFAObjectArray?n.children:[n]}if(0===n.length)return e.createNodes(i.slice(a));if(!(s<n.length))return i[a].index=s-n.length,e.createNodes(i.slice(a));{const t=n[s];if(!t.isXFAObject)return co("XFA - Cannot create a node."),null;e=t}}return null}const If=Symbol(),df=Symbol(),Cf=Symbol(),uf=Symbol("_children"),Bf=Symbol(),Qf=Symbol(),Ef=Symbol(),ff=Symbol(),pf=Symbol(),mf=Symbol(),yf=Symbol(),wf=Symbol(),bf=Symbol(),Df=Symbol("parent"),kf=Symbol(),Sf=Symbol(),Ff=Symbol();let Rf=0;const xf=PE.datasets.id;class vf{constructor(e,t,A=!1){this[BE]=e,this[QE]=t,this[yf]=A,this[Df]=null,this[uf]=[],this[JE]=`${t}${Rf++}`,this[AE]=null}get isXFAObject(){return!0}get isXFAObjectArray(){return!1}createNodes(e){let t=this,A=null;for(const{name:i,index:s}of e){for(let e=0,a=isFinite(s)?s:0;e<=a;e++){const e=t[BE]===xf?-1:t[BE];A=new Gf(e,i),t[SQ](A)}t=A}return A}[fE](e){if(!this[yf]||!this[pE](e))return!1;const t=e[QE],A=this[t];if(!(A instanceof Nf))return null!==A&&this[DE](A),this[t]=e,this[SQ](e),!0;if(A.push(e))return this[SQ](e),!0;let i="";return this.id?i=` (id: ${this.id})`:this.name&&(i=` (name: ${this.name} ${this.h.value})`),co(`XFA - node "${this[QE]}"${i} has already enough "${t}"!`),!1}[pE](e){return this.hasOwnProperty(e[QE])&&e[BE]===this[BE]}[cE](){return!1}[DQ](){return!1}[rE](){return!1}[oE](){return!1}[wE](){this.para&&this[tE]()[HQ].paraStack.pop()}[bE](){this[tE]()[HQ].paraStack.push(this.para)}[RE](e){this.id&&this[BE]===PE.template.id&&e.set(this.id,this)}[tE](){return this[AE].template}[lE](){return!1}[IE](){return!1}[SQ](e){e[Df]=this,this[uf].push(e),!e[AE]&&this[AE]&&(e[AE]=this[AE])}[DE](e){const t=this[uf].indexOf(e);this[uf].splice(t,1)}[iE](){return this.hasOwnProperty("value")}[vE](e){}[mE](e){}[JQ](){}[RQ](e){delete this[yf],this[vQ]&&(e.clean(this[vQ]),delete this[vQ])}[aE](e){return this[uf].indexOf(e)}[nE](e,t){t[Df]=this,this[uf].splice(e,0,t),!t[AE]&&this[AE]&&(t[AE]=this[AE])}[dE](){return!this.name}[uE](){return""}[ME](){return 0===this[uf].length?this[GQ]:this[uf].map((e=>e[ME]())).join("")}get[Cf](){const e=Object.getPrototypeOf(this);if(!e._attributes){const t=e._attributes=new Set;for(const e of Object.getOwnPropertyNames(this)){if(null===this[e]||this[e]instanceof vf||this[e]instanceof Nf)break;t.add(e)}}return uo(this,Cf,e._attributes)}[hE](e){let t=this;for(;t;){if(t===e)return!0;t=t[eE]()}return!1}[eE](){return this[Df]}[$Q](){return this[eE]()}[ZQ](e=null){return e?this[e]:this[uf]}[UQ](){const e=Object.create(null);this[GQ]&&(e.$content=this[GQ]);for(const t of Object.getOwnPropertyNames(this)){const A=this[t];null!==A&&(A instanceof vf?e[t]=A[UQ]():A instanceof Nf?A.isEmpty()||(e[t]=A.dump()):e[t]=A)}return e}[HE](){return null}[LE](){return zE.EMPTY}*[XQ](){for(const e of this[ZQ]())yield e}*[ff](e,t){for(const A of this[XQ]())if(!e||t===e.has(A[QE])){const e=this[KQ](),t=A[LE](e);t.success||(this[HQ].failingNode=A),yield t}}[TQ](){return null}[kQ](e,t){this[HQ].children.push(e)}[KQ](){}[FQ]({filter:e=null,include:t=!0}){if(this[HQ].generator){const e=this[KQ](),t=this[HQ].failingNode[LE](e);if(!t.success)return t;t.html&&this[kQ](t.html,t.bbox),delete this[HQ].failingNode}else this[HQ].generator=this[ff](e,t);for(;;){const e=this[HQ].generator.next();if(e.done)break;const t=e.value;if(!t.success)return t;t.html&&this[kQ](t.html,t.bbox)}return this[HQ].generator=null,zE.EMPTY}[xE](e){this[Sf]=new Set(Object.keys(e))}[mf](e){const t=this[Cf],A=this[Sf];return[...e].filter((e=>t.has(e)&&!A.has(e)))}[SE](e,t=new Set){for(const A of this[uf])A[kf](e,t)}[kf](e,t){const A=this[pf](e,t);A?this[If](A,e,t):this[SE](e,t)}[pf](e,t){const{use:A,usehref:i}=this;if(!A&&!i)return null;let s=null,a=null,n=null,r=A;if(i?(r=i,i.startsWith("#som(")&&i.endsWith(")")?a=i.slice(5,-1):i.startsWith(".#som(")&&i.endsWith(")")?a=i.slice(6,-1):i.startsWith("#")?n=i.slice(1):i.startsWith(".#")&&(n=i.slice(2))):A.startsWith("#")?n=A.slice(1):a=A,this.use=this.usehref="",n?s=e.get(n):(s=cf(e.get(kE),this,a,!0,!1),s&&(s=s[0])),!s)return co(`XFA - Invalid prototype reference: ${r}.`),null;if(s[QE]!==this[QE])return co(`XFA - Incompatible prototype: ${s[QE]} !== ${this[QE]}.`),null;if(t.has(s))return co("XFA - Cycle detected in prototypes use."),null;t.add(s);const o=s[pf](e,t);return o&&s[If](o,e,t),s[SE](e,t),t.delete(s),s}[If](e,t,A){if(A.has(e))return void co("XFA - Cycle detected in prototypes use.");!this[GQ]&&e[GQ]&&(this[GQ]=e[GQ]);new Set(A).add(e);for(const t of this[mf](e[Sf]))this[t]=e[t],this[Sf]&&this[Sf].add(t);for(const i of Object.getOwnPropertyNames(this)){if(this[Cf].has(i))continue;const s=this[i],a=e[i];if(s instanceof Nf){for(const e of s[uf])e[kf](t,A);for(let i=s[uf].length,n=a[uf].length;i<n;i++){const a=e[uf][i][NQ]();if(!s.push(a))break;a[Df]=this,this[uf].push(a),a[kf](t,A)}}else if(null===s){if(null!==a){const e=a[NQ]();e[Df]=this,this[i]=e,this[uf].push(e),e[kf](t,A)}}else s[SE](t,A),a&&s[If](a,t,A)}}static[Bf](e){return Array.isArray(e)?e.map((e=>vf[Bf](e))):"object"==typeof e&&null!==e?Object.assign({},e):e}[NQ](){const e=Object.create(Object.getPrototypeOf(this));for(const t of Object.getOwnPropertySymbols(this))try{e[t]=this[t]}catch{uo(e,t,this[t])}e[JE]=`${e[QE]}${Rf++}`,e[uf]=[];for(const t of Object.getOwnPropertyNames(this)){if(this[Cf].has(t)){e[t]=vf[Bf](this[t]);continue}const A=this[t];e[t]=A instanceof Nf?new Nf(A[wf]):null}for(const t of this[uf]){const A=t[QE],i=t[NQ]();e[uf].push(i),i[Df]=e,null===e[A]?e[A]=i:e[A][uf].push(i)}return e}[ZQ](e=null){return e?this[uf].filter((t=>t[QE]===e)):this[uf]}[_Q](e){return this[e]}[qQ](e,t,A=!0){return Array.from(this[OQ](e,t,A))}*[OQ](e,t,A=!0){if("parent"!==e){for(const A of this[uf])A[QE]===e&&(yield A),A.name===e&&(yield A),(t||A[dE]())&&(yield*A[OQ](e,t,!1));A&&this[Cf].has(e)&&(yield new Mf(this,e,this[e]))}else yield this[Df]}}class Nf{constructor(e=1/0){this[wf]=e,this[uf]=[]}get isXFAObject(){return!1}get isXFAObjectArray(){return!0}push(e){return this[uf].length<=this[wf]?(this[uf].push(e),!0):(co(`XFA - node "${e[QE]}" accepts no more than ${this[wf]} children`),!1)}isEmpty(){return 0===this[uf].length}dump(){return 1===this[uf].length?this[uf][0][UQ]():this[uf].map((e=>e[UQ]()))}[NQ](){const e=new Nf(this[wf]);return e[uf]=this[uf].map((e=>e[NQ]())),e}get children(){return this[uf]}clear(){this[uf].length=0}}class Mf{constructor(e,t,A){this[Df]=e,this[QE]=t,this[GQ]=A,this[MQ]=!1,this[JE]="attribute"+Rf++}[eE](){return this[Df]}[gE](){return!0}[WQ](){return this[GQ].trim()}[vE](e){e=e.value||"",this[GQ]=e.toString()}[ME](){return this[GQ]}[hE](e){return this[Df]===e||this[Df][hE](e)}}class Gf extends vf{constructor(e,t,A={}){if(super(e,t),this[GQ]="",this[Qf]=null,"#text"!==t){const e=new Map;this[df]=e;for(const[t,i]of Object.entries(A))e.set(t,new Mf(this,t,i));if(A.hasOwnProperty(EE)){const e=A[EE].xfa.dataNode;void 0!==e&&("dataGroup"===e?this[Qf]=!1:"dataValue"===e&&(this[Qf]=!0))}}this[MQ]=!1}[UE](e){const t=this[QE];if("#text"===t)return void e.push(Hg(this[GQ]));const A=Go(t),i=this[BE]===xf?"xfa:":"";e.push(`<${i}${A}`);for(const[t,A]of this[df].entries()){const i=Go(t);e.push(` ${i}="${Hg(A[GQ])}"`)}if(null!==this[Qf]&&(this[Qf]?e.push(' xfa:dataNode="dataValue"'):e.push(' xfa:dataNode="dataGroup"')),this[GQ]||0!==this[uf].length){if(e.push(">"),this[GQ])"string"==typeof this[GQ]?e.push(Hg(this[GQ])):this[GQ][UE](e);else for(const t of this[uf])t[UE](e);e.push(`</${i}${A}>`)}else e.push("/>")}[fE](e){if(this[GQ]){const e=new Gf(this[BE],"#text");this[SQ](e),e[GQ]=this[GQ],this[GQ]=""}return this[SQ](e),!0}[mE](e){this[GQ]+=e}[JQ](){if(this[GQ]&&this[uf].length>0){const e=new Gf(this[BE],"#text");this[SQ](e),e[GQ]=this[GQ],delete this[GQ]}}[LE](){return"#text"===this[QE]?zE.success({name:"#text",value:this[GQ]}):zE.EMPTY}[ZQ](e=null){return e?this[uf].filter((t=>t[QE]===e)):this[uf]}[YQ](){return this[df]}[_Q](e){const t=this[df].get(e);return void 0!==t?t:this[ZQ](e)}*[OQ](e,t){const A=this[df].get(e);A&&(yield A);for(const A of this[uf])A[QE]===e&&(yield A),t&&(yield*A[OQ](e,t))}*[PQ](e,t){const A=this[df].get(e);!A||t&&A[MQ]||(yield A);for(const A of this[uf])yield*A[PQ](e,t)}*[VQ](e,t,A){for(const i of this[uf])i[QE]!==e||A&&i[MQ]||(yield i),t&&(yield*i[VQ](e,t,A))}[gE](){return null===this[Qf]?0===this[uf].length||this[uf][0][BE]===PE.xhtml.id:this[Qf]}[WQ](){return null===this[Qf]?0===this[uf].length?this[GQ].trim():this[uf][0][BE]===PE.xhtml.id?this[uf][0][ME]().trim():null:this[GQ].trim()}[vE](e){e=e.value||"",this[GQ]=e.toString()}[UQ](e=!1){const t=Object.create(null);e&&(t.$ns=this[BE]),this[GQ]&&(t.$content=this[GQ]),t.$name=this[QE],t.children=[];for(const A of this[uf])t.children.push(A[UQ](e));t.attributes=Object.create(null);for(const[e,A]of this[df])t.attributes[e]=A[GQ];return t}}class Lf extends vf{constructor(e,t){super(e,t),this[GQ]=""}[mE](e){this[GQ]+=e}[JQ](){}}class Uf extends Lf{constructor(e,t,A){super(e,t),this[bf]=A}[JQ](){this[GQ]=WE({data:this[GQ],defaultValue:this[bf][0],validate:e=>this[bf].includes(e)})}[RQ](e){super[RQ](e),delete this[bf]}}class Hf extends Lf{[JQ](){this[GQ]=this[GQ].trim()}}class Jf extends Lf{constructor(e,t,A,i){super(e,t),this[Ef]=A,this[Ff]=i}[JQ](){this[GQ]=qE({data:this[GQ],defaultValue:this[Ef],validate:this[Ff]})}[RQ](e){super[RQ](e),delete this[Ef],delete this[Ff]}}class Tf extends Jf{constructor(e,t){super(e,t,0,(e=>1===e))}}class Pf extends Jf{constructor(e,t){super(e,t,1,(e=>0===e))}}function Yf(e){return"string"==typeof e?"0px":Number.isInteger(e)?`${e}px`:`${e.toFixed(2)}px`}const Kf={anchorType(e,t){const A=e[$Q]();if(A&&(!A.layout||"position"===A.layout))switch("transform"in t||(t.transform=""),e.anchorType){case"bottomCenter":t.transform+="translate(-50%, -100%)";break;case"bottomLeft":t.transform+="translate(0,-100%)";break;case"bottomRight":t.transform+="translate(-100%,-100%)";break;case"middleCenter":t.transform+="translate(-50%,-50%)";break;case"middleLeft":t.transform+="translate(0,-50%)";break;case"middleRight":t.transform+="translate(-100%,-50%)";break;case"topCenter":t.transform+="translate(-50%,0)";break;case"topRight":t.transform+="translate(-100%,0)"}},dimensions(e,t){const A=e[$Q]();let i=e.w;const s=e.h;if(A.layout?.includes("row")){const t=A[HQ],s=e.colSpan;let a;-1===s?(a=t.columnWidths.slice(t.currentColumn).reduce(((e,t)=>e+t),0),t.currentColumn=0):(a=t.columnWidths.slice(t.currentColumn,t.currentColumn+s).reduce(((e,t)=>e+t),0),t.currentColumn=(t.currentColumn+e.colSpan)%t.columnWidths.length),isNaN(a)||(i=e.w=a)}t.width=""!==i?Yf(i):"auto",t.height=""!==s?Yf(s):"auto"},position(e,t){const A=e[$Q]();A?.layout&&"position"!==A.layout||(t.position="absolute",t.left=Yf(e.x),t.top=Yf(e.y))},rotate(e,t){e.rotate&&("transform"in t||(t.transform=""),t.transform+=`rotate(-${e.rotate}deg)`,t.transformOrigin="top left")},presence(e,t){switch(e.presence){case"invisible":t.visibility="hidden";break;case"hidden":case"inactive":t.display="none"}},hAlign(e,t){if("para"===e[QE])switch(e.hAlign){case"justifyAll":t.textAlign="justify-all";break;case"radix":t.textAlign="left";break;default:t.textAlign=e.hAlign}else switch(e.hAlign){case"left":t.alignSelf="start";break;case"center":t.alignSelf="center";break;case"right":t.alignSelf="end"}},margin(e,t){e.margin&&(t.margin=e.margin[HE]().margin)}};function _f(e,t){"position"===e[$Q]().layout&&(e.minW>0&&(t.minWidth=Yf(e.minW)),e.maxW>0&&(t.maxWidth=Yf(e.maxW)),e.minH>0&&(t.minHeight=Yf(e.minH)),e.maxH>0&&(t.maxHeight=Yf(e.maxH)))}function qf(e,t,A,i,s,a){const n=new sf(t,A,i,s);return"string"==typeof e?n.addString(e):e[yE](n),n.compute(a)}function Of(e,t){let A=null,i=null,s=!1;if((!e.w||!e.h)&&e.value){let a=0,n=0;e.margin&&(a=e.margin.leftInset+e.margin.rightInset,n=e.margin.topInset+e.margin.bottomInset);let r=null,o=null;e.para&&(o=Object.create(null),r=""===e.para.lineHeight?null:e.para.lineHeight,o.top=""===e.para.spaceAbove?0:e.para.spaceAbove,o.bottom=""===e.para.spaceBelow?0:e.para.spaceBelow,o.left=""===e.para.marginLeft?0:e.para.marginLeft,o.right=""===e.para.marginRight?0:e.para.marginRight);let g=e.font;if(!g){const t=e[tE]();let A=e[eE]();for(;A&&A!==t;){if(A.font){g=A.font;break}A=A[eE]()}}const h=(e.w||t.width)-a,c=e[AE].fontFinder;if(e.value.exData&&e.value.exData[GQ]&&"text/html"===e.value.exData.contentType){const t=qf(e.value.exData[GQ],g,o,r,c,h);i=t.width,A=t.height,s=t.isBroken}else{const t=e.value[ME]();if(t){const e=qf(t,g,o,r,c,h);i=e.width,A=e.height,s=e.isBroken}}null===i||e.w||(i+=a),null===A||e.h||(A+=n)}return{w:i,h:A,isBroken:s}}function Wf(e,t,A){let i;if(""!==e.w&&""!==e.h)i=[e.x,e.y,e.w,e.h];else{if(!A)return null;let s=e.w;if(""===s){if(0===e.maxW){const t=e[$Q]();s="position"===t.layout&&""!==t.w?0:e.minW}else s=Math.min(e.maxW,A.width);t.attributes.style.width=Yf(s)}let a=e.h;if(""===a){if(0===e.maxH){const t=e[$Q]();a="position"===t.layout&&""!==t.h?0:e.minH}else a=Math.min(e.maxH,A.height);t.attributes.style.height=Yf(a)}i=[e.x,e.y,s,a]}return i}function jf(e){const t=e[$Q]();if(t.layout?.includes("row")){const A=t[HQ],i=e.colSpan;let s;s=-1===i?A.columnWidths.slice(A.currentColumn).reduce(((e,t)=>e+t),0):A.columnWidths.slice(A.currentColumn,A.currentColumn+i).reduce(((e,t)=>e+t),0),isNaN(s)||(e.w=s)}t.layout&&"position"!==t.layout&&(e.x=e.y=0),"table"===e.layout&&""===e.w&&Array.isArray(e.columnWidths)&&(e.w=e.columnWidths.reduce(((e,t)=>e+t),0))}function Vf(e){switch(e.layout){case"position":default:return"xfaPosition";case"lr-tb":return"xfaLrTb";case"rl-row":return"xfaRlRow";case"rl-tb":return"xfaRlTb";case"row":return"xfaRow";case"table":return"xfaTable";case"tb":return"xfaTb"}}function Zf(e,...t){const A=Object.create(null);for(const i of t){const t=e[i];if(null!==t)if(Kf.hasOwnProperty(i))Kf[i](e,A);else if(t instanceof vf){const e=t[HE]();e?Object.assign(A,e):co(`(DEBUG) - XFA - style for ${i} not implemented yet`)}}return A}function Xf(e,t){const{attributes:A}=t,{style:i}=A,s={name:"div",attributes:{class:["xfaWrapper"],style:Object.create(null)},children:[]};if(A.class.push("xfaWrapped"),e.border){const{widths:A,insets:a}=e.border[HQ];let n,r,o=a[0],g=a[3];const h=a[0]+a[2],c=a[1]+a[3];switch(e.border.hand){case"even":o-=A[0]/2,g-=A[3]/2,n=`calc(100% + ${(A[1]+A[3])/2-c}px)`,r=`calc(100% + ${(A[0]+A[2])/2-h}px)`;break;case"left":o-=A[0],g-=A[3],n=`calc(100% + ${A[1]+A[3]-c}px)`,r=`calc(100% + ${A[0]+A[2]-h}px)`;break;case"right":n=c?`calc(100% - ${c}px)`:"100%",r=h?`calc(100% - ${h}px)`:"100%"}const l=["xfaBorder"];ep(e.border)&&l.push("xfaPrintOnly");const I={name:"div",attributes:{class:l,style:{top:`${o}px`,left:`${g}px`,width:n,height:r}},children:[]};for(const e of["border","borderWidth","borderColor","borderRadius","borderStyle"])void 0!==i[e]&&(I.attributes.style[e]=i[e],delete i[e]);s.children.push(I,t)}else s.children.push(t);for(const e of["background","backgroundClip","top","left","width","height","minWidth","minHeight","maxWidth","maxHeight","transform","transformOrigin","visibility"])void 0!==i[e]&&(s.attributes.style[e]=i[e],delete i[e]);return s.attributes.style.position="absolute"===i.position?"absolute":"relative",delete i.position,i.alignSelf&&(s.attributes.style.alignSelf=i.alignSelf,delete i.alignSelf),s}function zf(e){const t=VE(e.textIndent,"0px");if(t>=0)return;const A="padding"+("left"===("right"===e.textAlign?"right":"left")?"Left":"Right"),i=VE(e[A],"0px");e[A]=i-t+"px"}function $f(e,t){switch(e.access){case"nonInteractive":t.push("xfaNonInteractive");break;case"readOnly":t.push("xfaReadOnly");break;case"protected":t.push("xfaDisabled")}}function ep(e){return e.relevant.length>0&&!e.relevant[0].excluded&&"print"===e.relevant[0].viewname}function tp(e){const t=e[tE]()[HQ].paraStack;return t.length?t.at(-1):null}function Ap(e,t,A){if(A.attributes.class?.includes("xfaRich")){t&&(""===e.h&&(t.height="auto"),""===e.w&&(t.width="auto"));const i=tp(e);if(i){const e=A.attributes.style;switch(e.display="flex",e.flexDirection="column",i.vAlign){case"top":e.justifyContent="start";break;case"bottom":e.justifyContent="end";break;case"middle":e.justifyContent="center"}const t=i[HE]();for(const[A,i]of Object.entries(t))A in e||(e[A]=i)}}}function ip(e,t,A,i){if(!A)return void delete i.fontFamily;const s=_E(e.typeface);i.fontFamily=`"${s}"`;const a=A.find(s);if(a){const{fontFamily:A}=a.regular.cssFontInfo;A!==s&&(i.fontFamily=`"${A}"`);const n=tp(t);if(n&&""!==n.lineHeight)return;if(i.lineHeight)return;const r=ef(e,a);r&&(i.lineHeight=Math.max(1.2,r.lineHeight))}}function sp(e){const t=Co(e,null,{addDefaultProtocol:!0,tryConvertEncoding:!0});return t?t.href:null}function ap(e,t){return{name:"div",attributes:{class:["lr-tb"===e.layout?"xfaLr":"xfaRl"]},children:t}}function np(e){if(!e[HQ])return null;const t={name:"div",attributes:e[HQ].attributes,children:e[HQ].children};if(e[HQ].failingNode){const A=e[HQ].failingNode[TQ]();A&&(e.layout.endsWith("-tb")?t.children.push(ap(e,[A])):t.children.push(A))}return 0===t.children.length?null:t}function rp(e,t,A){const i=e[HQ],s=i.availableSpace,[a,n,r,o]=A;switch(e.layout){case"position":i.width=Math.max(i.width,a+r),i.height=Math.max(i.height,n+o),i.children.push(t);break;case"lr-tb":case"rl-tb":i.line&&1!==i.attempt||(i.line=ap(e,[]),i.children.push(i.line),i.numberInLine=0),i.numberInLine+=1,i.line.children.push(t),0===i.attempt?(i.currentWidth+=r,i.height=Math.max(i.height,i.prevHeight+o)):(i.currentWidth=r,i.prevHeight=i.height,i.height+=o,i.attempt=0),i.width=Math.max(i.width,i.currentWidth);break;case"rl-row":case"row":{i.children.push(t),i.width+=r,i.height=Math.max(i.height,o);const e=Yf(i.height);for(const t of i.children)t.attributes.style.height=e;break}case"table":case"tb":i.width=Math.min(s.width,Math.max(i.width,r)),i.height+=o,i.children.push(t)}}function op(e){const t=e[HQ].availableSpace,A=e.margin?e.margin.topInset+e.margin.bottomInset:0,i=e.margin?e.margin.leftInset+e.margin.rightInset:0;switch(e.layout){case"lr-tb":case"rl-tb":return 0===e[HQ].attempt?{width:t.width-i-e[HQ].currentWidth,height:t.height-A-e[HQ].prevHeight}:{width:t.width-i,height:t.height-A-e[HQ].height};case"rl-row":case"row":return{width:e[HQ].columnWidths.slice(e[HQ].currentColumn).reduce(((e,t)=>e+t)),height:t.height-i};case"table":case"tb":return{width:t.width-i,height:t.height-A-e[HQ].height};default:return t}}function gp(e,t){if(null===e[tE]()[HQ].firstUnsplittable)return!0;if(0===e.w||0===e.h)return!0;const A=e[$Q](),i=A[HQ]?.attempt||0,[,s,a,n]=function(e){let t,A,i=""===e.w?NaN:e.w,s=""===e.h?NaN:e.h,[a,n]=[0,0];switch(e.anchorType||""){case"bottomCenter":[a,n]=[i/2,s];break;case"bottomLeft":[a,n]=[0,s];break;case"bottomRight":[a,n]=[i,s];break;case"middleCenter":[a,n]=[i/2,s/2];break;case"middleLeft":[a,n]=[0,s/2];break;case"middleRight":[a,n]=[i,s/2];break;case"topCenter":[a,n]=[i/2,0];break;case"topRight":[a,n]=[i,0]}switch(e.rotate||0){case 0:[t,A]=[-a,-n];break;case 90:[t,A]=[-n,a],[i,s]=[s,-i];break;case 180:[t,A]=[a,n],[i,s]=[-i,-s];break;case 270:[t,A]=[n,-a],[i,s]=[-s,i]}return[e.x+t+Math.min(0,i),e.y+A+Math.min(0,s),Math.abs(i),Math.abs(s)]}(e);switch(A.layout){case"lr-tb":case"rl-tb":return 0===i?e[tE]()[HQ].noLayoutFailure?""!==e.w?Math.round(a-t.width)<=2:t.width>2:!(""!==e.h&&Math.round(n-t.height)>2)&&(""!==e.w?Math.round(a-t.width)<=2||0===A[HQ].numberInLine&&t.height>2:t.width>2):!!e[tE]()[HQ].noLayoutFailure||!(""!==e.h&&Math.round(n-t.height)>2)&&((""===e.w||Math.round(a-t.width)<=2||!A[IE]())&&t.height>2);case"table":case"tb":return!!e[tE]()[HQ].noLayoutFailure||(""===e.h||e[lE]()?(""===e.w||Math.round(a-t.width)<=2||!A[IE]())&&t.height>2:Math.round(n-t.height)<=2);case"position":if(e[tE]()[HQ].noLayoutFailure)return!0;if(""===e.h||Math.round(n+s-t.height)<=2)return!0;return n+s>e[tE]()[HQ].currentContentArea.h;case"rl-row":case"row":return!!e[tE]()[HQ].noLayoutFailure||(""===e.h||Math.round(n-t.height)<=2);default:return!0}}const hp=PE.template.id,cp="http://www.w3.org/2000/svg",lp=/^H(\d+)$/,Ip=new Set(["image/gif","image/jpeg","image/jpg","image/pjpeg","image/png","image/apng","image/x-png","image/bmp","image/x-ms-bmp","image/tiff","image/tif","application/octet-stream"]),dp=[[[66,77],"image/bmp"],[[255,216,255],"image/jpeg"],[[73,73,42,0],"image/tiff"],[[77,77,0,42],"image/tiff"],[[71,73,70,56,57,97],"image/gif"],[[137,80,78,71,13,10,26,10],"image/png"]];function Cp(e){if(!e||!e.border)return{w:0,h:0};const t=e.border[jQ]();return t?{w:t.widths[0]+t.widths[2]+t.insets[0]+t.insets[2],h:t.widths[1]+t.widths[3]+t.insets[1]+t.insets[3]}:{w:0,h:0}}function up(e){return e.margin&&(e.margin.topInset||e.margin.rightInset||e.margin.bottomInset||e.margin.leftInset)}function Bp(e,t){if(!e.value){const t=new xy({});e[SQ](t),e.value=t}e.value[vE](t)}function*Qp(e){for(const t of e[ZQ]())t instanceof By?yield*t[XQ]():yield t}function Ep(e){return"error"===e.validate?.nullTest}function fp(e){for(;e;){if(!e.traversal)return void(e[NE]=e[eE]()[NE]);if(e[NE])return;let t=null;for(const A of e.traversal[ZQ]())if("next"===A.operation){t=A;break}if(!t||!t.ref)return void(e[NE]=e[eE]()[NE]);const A=e[tE]();e[NE]=++A[NE];const i=A[FE](t.ref,e);if(!i)return;e=i[0]}}function pp(e,t){const A=e.assist;if(A){const e=A[LE]();e&&(t.title=e);const i=A.role.match(lp);if(i){const e="heading",A=i[1];t.role=e,t["aria-level"]=A}}if("table"===e.layout)t.role="table";else if("row"===e.layout)t.role="row";else{const A=e[eE]();"row"===A.layout&&(t.role="TH"===A.assist?.role?"columnheader":"cell")}}function mp(e){if(!e.assist)return null;const t=e.assist;return t.speak&&""!==t.speak[GQ]?t.speak[GQ]:t.toolTip?t.toolTip[GQ]:null}function yp(e){return zE.success({name:"div",attributes:{class:["xfaRich"],style:Object.create(null)},children:[{name:"span",attributes:{style:Object.create(null)},value:e}]})}function wp(e){const t=e[tE]();null===t[HQ].firstUnsplittable&&(t[HQ].firstUnsplittable=e,t[HQ].noLayoutFailure=!0)}function bp(e){const t=e[tE]();t[HQ].firstUnsplittable===e&&(t[HQ].noLayoutFailure=!1)}function Dp(e){if(e[HQ])return!1;if(e[HQ]=Object.create(null),"auto"===e.targetType)return!1;const t=e[tE]();let A=null;if(e.target){if(A=t[FE](e.target,e[eE]()),!A)return!1;A=A[0]}const{currentPageArea:i,currentContentArea:s}=t[HQ];if("pageArea"===e.targetType)return A instanceof Zm||(A=null),e.startNew?(e[HQ].target=A||i,!0):!(!A||A===i)&&(e[HQ].target=A,!0);A instanceof Xp||(A=null);const a=A&&A[eE]();let n,r=a;if(e.startNew)if(A){const e=a.contentArea.children,t=e.indexOf(s),i=e.indexOf(A);-1!==t&&t<i&&(r=null),n=i-1}else n=i.contentArea.children.indexOf(s);else{if(!A||A===s)return!1;n=a.contentArea.children.indexOf(A)-1,r=a===i?null:a}return e[HQ].target=r,e[HQ].index=n,!0}function kp(e,t,A){const i=e[tE](),s=i[HQ].noLayoutFailure,a=t[$Q];t[$Q]=()=>e,i[HQ].noLayoutFailure=!0;const n=t[LE](A);e[kQ](n.html,n.bbox),i[HQ].noLayoutFailure=s,t[$Q]=a}class Sp extends Hf{constructor(e){super(hp,"appearanceFilter"),this.id=e.id||"",this.type=jE(e.type,["optional","required"]),this.use=e.use||"",this.usehref=e.usehref||""}}class Fp extends vf{constructor(e){super(hp,"arc",!0),this.circular=qE({data:e.circular,defaultValue:0,validate:e=>1===e}),this.hand=jE(e.hand,["even","left","right"]),this.id=e.id||"",this.startAngle=OE({data:e.startAngle,defaultValue:0,validate:e=>!0}),this.sweepAngle=OE({data:e.sweepAngle,defaultValue:360,validate:e=>!0}),this.use=e.use||"",this.usehref=e.usehref||"",this.edge=null,this.fill=null}[LE](){const e=this.edge||new om({}),t=e[HE](),A=Object.create(null);let i;"visible"===this.fill?.presence?Object.assign(A,this.fill[HE]()):A.fill="transparent",A.strokeWidth=Yf("visible"===e.presence?e.thickness:0),A.stroke=t.color;const s={xmlns:cp,style:{width:"100%",height:"100%",overflow:"visible"}};if(360===this.sweepAngle)i={name:"ellipse",attributes:{xmlns:cp,cx:"50%",cy:"50%",rx:"50%",ry:"50%",style:A}};else{const e=this.startAngle*Math.PI/180,t=this.sweepAngle*Math.PI/180,a=this.sweepAngle>180?1:0,[n,r,o,g]=[50*(1+Math.cos(e)),50*(1-Math.sin(e)),50*(1+Math.cos(e+t)),50*(1-Math.sin(e+t))];i={name:"path",attributes:{xmlns:cp,d:`M ${n} ${r} A 50 50 0 ${a} 0 ${o} ${g}`,vectorEffect:"non-scaling-stroke",style:A}},Object.assign(s,{viewBox:"0 0 100 100",preserveAspectRatio:"none"})}const a={name:"svg",children:[i],attributes:s};return up(this[eE]()[eE]())?zE.success({name:"div",attributes:{style:{display:"inline",width:"100%",height:"100%"}},children:[a]}):(a.attributes.style.position="absolute",zE.success(a))}}class Rp extends vf{constructor(e){super(hp,"area",!0),this.colSpan=qE({data:e.colSpan,defaultValue:1,validate:e=>e>=1||-1===e}),this.id=e.id||"",this.name=e.name||"",this.relevant=XE(e.relevant),this.use=e.use||"",this.usehref=e.usehref||"",this.x=VE(e.x,"0pt"),this.y=VE(e.y,"0pt"),this.desc=null,this.extras=null,this.area=new Nf,this.draw=new Nf,this.exObject=new Nf,this.exclGroup=new Nf,this.field=new Nf,this.subform=new Nf,this.subformSet=new Nf}*[XQ](){yield*Qp(this)}[dE](){return!0}[oE](){return!0}[kQ](e,t){const[A,i,s,a]=t;this[HQ].width=Math.max(this[HQ].width,A+s),this[HQ].height=Math.max(this[HQ].height,i+a),this[HQ].children.push(e)}[KQ](){return this[HQ].availableSpace}[LE](e){const t=Zf(this,"position"),A={style:t,id:this[JE],class:["xfaArea"]};ep(this)&&A.class.push("xfaPrintOnly"),this.name&&(A.xfaName=this.name);const i=[];this[HQ]={children:i,width:0,height:0,availableSpace:e};const s=this[FQ]({filter:new Set(["area","draw","field","exclGroup","subform","subformSet"]),include:!0});if(!s.success)return s.isBreak()?s:(delete this[HQ],zE.FAILURE);t.width=Yf(this[HQ].width),t.height=Yf(this[HQ].height);const a={name:"div",attributes:A,children:i},n=[this.x,this.y,this[HQ].width,this[HQ].height];return delete this[HQ],zE.success(a,n)}}class xp extends vf{constructor(e){super(hp,"assist",!0),this.id=e.id||"",this.role=e.role||"",this.use=e.use||"",this.usehref=e.usehref||"",this.speak=null,this.toolTip=null}[LE](){return this.toolTip?.[GQ]||null}}class vp extends vf{constructor(e){super(hp,"barcode",!0),this.charEncoding=WE({data:e.charEncoding?e.charEncoding.toLowerCase():"",defaultValue:"",validate:e=>["utf-8","big-five","fontspecific","gbk","gb-18030","gb-2312","ksc-5601","none","shift-jis","ucs-2","utf-16"].includes(e)||e.match(/iso-8859-\d{2}/)}),this.checksum=jE(e.checksum,["none","1mod10","1mod10_1mod11","2mod10","auto"]),this.dataColumnCount=qE({data:e.dataColumnCount,defaultValue:-1,validate:e=>e>=0}),this.dataLength=qE({data:e.dataLength,defaultValue:-1,validate:e=>e>=0}),this.dataPrep=jE(e.dataPrep,["none","flateCompress"]),this.dataRowCount=qE({data:e.dataRowCount,defaultValue:-1,validate:e=>e>=0}),this.endChar=e.endChar||"",this.errorCorrectionLevel=qE({data:e.errorCorrectionLevel,defaultValue:-1,validate:e=>e>=0&&e<=8}),this.id=e.id||"",this.moduleHeight=VE(e.moduleHeight,"5mm"),this.moduleWidth=VE(e.moduleWidth,"0.25mm"),this.printCheckDigit=qE({data:e.printCheckDigit,defaultValue:0,validate:e=>1===e}),this.rowColumnRatio=ZE(e.rowColumnRatio),this.startChar=e.startChar||"",this.textLocation=jE(e.textLocation,["below","above","aboveEmbedded","belowEmbedded","none"]),this.truncate=qE({data:e.truncate,defaultValue:0,validate:e=>1===e}),this.type=jE(e.type?e.type.toLowerCase():"",["aztec","codabar","code2of5industrial","code2of5interleaved","code2of5matrix","code2of5standard","code3of9","code3of9extended","code11","code49","code93","code128","code128a","code128b","code128c","code128sscc","datamatrix","ean8","ean8add2","ean8add5","ean13","ean13add2","ean13add5","ean13pwcd","fim","logmars","maxicode","msi","pdf417","pdf417macro","plessey","postauscust2","postauscust3","postausreplypaid","postausstandard","postukrm4scc","postusdpbc","postusimb","postusstandard","postus5zip","qrcode","rfid","rss14","rss14expanded","rss14limited","rss14stacked","rss14stackedomni","rss14truncated","telepen","ucc128","ucc128random","ucc128sscc","upca","upcaadd2","upcaadd5","upcapwcd","upce","upceadd2","upceadd5","upcean2","upcean5","upsmaxicode"]),this.upsMode=jE(e.upsMode,["usCarrier","internationalCarrier","secureSymbol","standardSymbol"]),this.use=e.use||"",this.usehref=e.usehref||"",this.wideNarrowRatio=ZE(e.wideNarrowRatio),this.encrypt=null,this.extras=null}}class Np extends vf{constructor(e){super(hp,"bind",!0),this.match=jE(e.match,["once","dataRef","global","none"]),this.ref=e.ref||"",this.picture=null}}class Mp extends vf{constructor(e){super(hp,"bindItems"),this.connection=e.connection||"",this.labelRef=e.labelRef||"",this.ref=e.ref||"",this.valueRef=e.valueRef||""}}class Gp extends vf{constructor(e){super(hp,"bookend"),this.id=e.id||"",this.leader=e.leader||"",this.trailer=e.trailer||"",this.use=e.use||"",this.usehref=e.usehref||""}}class Lp extends Tf{constructor(e){super(hp,"boolean"),this.id=e.id||"",this.name=e.name||"",this.use=e.use||"",this.usehref=e.usehref||""}[LE](e){return yp(1===this[GQ]?"1":"0")}}class Up extends vf{constructor(e){super(hp,"border",!0),this.break=jE(e.break,["close","open"]),this.hand=jE(e.hand,["even","left","right"]),this.id=e.id||"",this.presence=jE(e.presence,["visible","hidden","inactive","invisible"]),this.relevant=XE(e.relevant),this.use=e.use||"",this.usehref=e.usehref||"",this.corner=new Nf(4),this.edge=new Nf(4),this.extras=null,this.fill=null,this.margin=null}[jQ](){if(!this[HQ]){const e=this.edge.children.slice();if(e.length<4){const t=e.at(-1)||new om({});for(let A=e.length;A<4;A++)e.push(t)}const t=e.map((e=>e.thickness)),A=[0,0,0,0];this.margin&&(A[0]=this.margin.topInset,A[1]=this.margin.rightInset,A[2]=this.margin.bottomInset,A[3]=this.margin.leftInset),this[HQ]={widths:t,insets:A,edges:e}}return this[HQ]}[HE](){const{edges:e}=this[jQ](),t=e.map((e=>{const t=e[HE]();return t.color||="#000000",t})),A=Object.create(null);if(this.margin&&Object.assign(A,this.margin[HE]()),"visible"===this.fill?.presence&&Object.assign(A,this.fill[HE]()),this.corner.children.some((e=>0!==e.radius))){const e=this.corner.children.map((e=>e[HE]()));if(2===e.length||3===e.length){const t=e.at(-1);for(let A=e.length;A<4;A++)e.push(t)}A.borderRadius=e.map((e=>e.radius)).join(" ")}switch(this.presence){case"invisible":case"hidden":A.borderStyle="";break;case"inactive":A.borderStyle="none";break;default:A.borderStyle=t.map((e=>e.style)).join(" ")}return A.borderWidth=t.map((e=>e.width)).join(" "),A.borderColor=t.map((e=>e.color)).join(" "),A}}class Hp extends vf{constructor(e){super(hp,"break",!0),this.after=jE(e.after,["auto","contentArea","pageArea","pageEven","pageOdd"]),this.afterTarget=e.afterTarget||"",this.before=jE(e.before,["auto","contentArea","pageArea","pageEven","pageOdd"]),this.beforeTarget=e.beforeTarget||"",this.bookendLeader=e.bookendLeader||"",this.bookendTrailer=e.bookendTrailer||"",this.id=e.id||"",this.overflowLeader=e.overflowLeader||"",this.overflowTarget=e.overflowTarget||"",this.overflowTrailer=e.overflowTrailer||"",this.startNew=qE({data:e.startNew,defaultValue:0,validate:e=>1===e}),this.use=e.use||"",this.usehref=e.usehref||"",this.extras=null}}class Jp extends vf{constructor(e){super(hp,"breakAfter",!0),this.id=e.id||"",this.leader=e.leader||"",this.startNew=qE({data:e.startNew,defaultValue:0,validate:e=>1===e}),this.target=e.target||"",this.targetType=jE(e.targetType,["auto","contentArea","pageArea"]),this.trailer=e.trailer||"",this.use=e.use||"",this.usehref=e.usehref||"",this.script=null}}class Tp extends vf{constructor(e){super(hp,"breakBefore",!0),this.id=e.id||"",this.leader=e.leader||"",this.startNew=qE({data:e.startNew,defaultValue:0,validate:e=>1===e}),this.target=e.target||"",this.targetType=jE(e.targetType,["auto","contentArea","pageArea"]),this.trailer=e.trailer||"",this.use=e.use||"",this.usehref=e.usehref||"",this.script=null}[LE](e){return this[HQ]={},zE.FAILURE}}class Pp extends vf{constructor(e){super(hp,"button",!0),this.highlight=jE(e.highlight,["inverted","none","outline","push"]),this.id=e.id||"",this.use=e.use||"",this.usehref=e.usehref||"",this.extras=null}[LE](e){const t=this[eE]()[eE](),A={name:"button",attributes:{id:this[JE],class:["xfaButton"],style:{}},children:[]};for(const e of t.event.children){if("click"!==e.activity||!e.script)continue;const t=Pg(e.script[GQ]);if(!t)continue;const i=sp(t.url);i&&A.children.push({name:"a",attributes:{id:"link"+this[JE],href:i,newWindow:t.newWindow,class:["xfaLink"],style:{}},children:[]})}return zE.success(A)}}class Yp extends vf{constructor(e){super(hp,"calculate",!0),this.id=e.id||"",this.override=jE(e.override,["disabled","error","ignore","warning"]),this.use=e.use||"",this.usehref=e.usehref||"",this.extras=null,this.message=null,this.script=null}}class Kp extends vf{constructor(e){super(hp,"caption",!0),this.id=e.id||"",this.placement=jE(e.placement,["left","bottom","inline","right","top"]),this.presence=jE(e.presence,["visible","hidden","inactive","invisible"]),this.reserve=Math.ceil(VE(e.reserve)),this.use=e.use||"",this.usehref=e.usehref||"",this.extras=null,this.font=null,this.margin=null,this.para=null,this.value=null}[vE](e){Bp(this,e)}[jQ](e){if(!this[HQ]){let{width:t,height:A}=e;switch(this.placement){case"left":case"right":case"inline":t=this.reserve<=0?t:this.reserve;break;case"top":case"bottom":A=this.reserve<=0?A:this.reserve}this[HQ]=Of(this,{width:t,height:A})}return this[HQ]}[LE](e){if(!this.value)return zE.EMPTY;this[bE]();const t=this.value[LE](e).html;if(!t)return this[wE](),zE.EMPTY;const A=this.reserve;if(this.reserve<=0){const{w:t,h:A}=this[jQ](e);switch(this.placement){case"left":case"right":case"inline":this.reserve=t;break;case"top":case"bottom":this.reserve=A}}const i=[];"string"==typeof t?i.push({name:"#text",value:t}):i.push(t);const s=Zf(this,"font","margin","visibility");switch(this.placement){case"left":case"right":this.reserve>0&&(s.width=Yf(this.reserve));break;case"top":case"bottom":this.reserve>0&&(s.height=Yf(this.reserve))}return Ap(this,null,t),this[wE](),this.reserve=A,zE.success({name:"div",attributes:{style:s,class:["xfaCaption"]},children:i})}}class _p extends Hf{constructor(e){super(hp,"certificate"),this.id=e.id||"",this.name=e.name||"",this.use=e.use||"",this.usehref=e.usehref||""}}class qp extends vf{constructor(e){super(hp,"certificates",!0),this.credentialServerPolicy=jE(e.credentialServerPolicy,["optional","required"]),this.id=e.id||"",this.url=e.url||"",this.urlPolicy=e.urlPolicy||"",this.use=e.use||"",this.usehref=e.usehref||"",this.encryption=null,this.issuers=null,this.keyUsage=null,this.oids=null,this.signing=null,this.subjectDNs=null}}class Op extends vf{constructor(e){super(hp,"checkButton",!0),this.id=e.id||"",this.mark=jE(e.mark,["default","check","circle","cross","diamond","square","star"]),this.shape=jE(e.shape,["square","round"]),this.size=VE(e.size,"10pt"),this.use=e.use||"",this.usehref=e.usehref||"",this.border=null,this.extras=null,this.margin=null}[LE](e){const t=Zf("margin"),A=Yf(this.size);let i,s,a;t.width=t.height=A;const n=this[eE]()[eE](),r=n.items.children.length&&n.items.children[0][LE]().html||[],o={on:(void 0!==r[0]?r[0]:"on").toString(),off:(void 0!==r[1]?r[1]:"off").toString()},g=(n.value?.[ME]()||"off")===o.on||void 0,h=n[$Q](),c=n[JE];let l;h instanceof Em?(a=h[JE],i="radio",s="xfaRadio",l=h[LQ]?.[JE]||h[JE]):(i="checkbox",s="xfaCheckbox",l=n[LQ]?.[JE]||n[JE]);const I={name:"input",attributes:{class:[s],style:t,fieldId:c,dataId:l,type:i,checked:g,xfaOn:o.on,xfaOff:o.off,"aria-label":mp(n),"aria-required":!1}};return a&&(I.attributes.name=a),Ep(n)&&(I.attributes["aria-required"]=!0,I.attributes.required=!0),zE.success({name:"label",attributes:{class:["xfaLabel"]},children:[I]})}}class Wp extends vf{constructor(e){super(hp,"choiceList",!0),this.commitOn=jE(e.commitOn,["select","exit"]),this.id=e.id||"",this.open=jE(e.open,["userControl","always","multiSelect","onEntry"]),this.textEntry=qE({data:e.textEntry,defaultValue:0,validate:e=>1===e}),this.use=e.use||"",this.usehref=e.usehref||"",this.border=null,this.extras=null,this.margin=null}[LE](e){const t=Zf(this,"border","margin"),A=this[eE]()[eE](),i={fontSize:`calc(${A.font?.size||10}px * var(--scale-factor))`},s=[];if(A.items.children.length>0){const e=A.items;let t=0,a=0;2===e.children.length&&(t=e.children[0].save,a=1-t);const n=e.children[t][LE]().html,r=e.children[a][LE]().html;let o=!1;const g=A.value?.[ME]()||"";for(let e=0,t=n.length;e<t;e++){const t={name:"option",attributes:{value:r[e]||n[e],style:i},value:n[e]};r[e]===g&&(t.attributes.selected=o=!0),s.push(t)}o||s.splice(0,0,{name:"option",attributes:{hidden:!0,selected:!0},value:" "})}const a={class:["xfaSelect"],fieldId:A[JE],dataId:A[LQ]?.[JE]||A[JE],style:t,"aria-label":mp(A),"aria-required":!1};return Ep(A)&&(a["aria-required"]=!0,a.required=!0),"multiSelect"===this.open&&(a.multiple=!0),zE.success({name:"label",attributes:{class:["xfaLabel"]},children:[{name:"select",children:s,attributes:a}]})}}class jp extends vf{constructor(e){super(hp,"color",!0),this.cSpace=jE(e.cSpace,["SRGB"]),this.id=e.id||"",this.use=e.use||"",this.usehref=e.usehref||"",this.value=e.value?function(e,t=[0,0,0]){let[A,i,s]=t;if(!e)return{r:A,g:i,b:s};const a=e.trim().split(/\s*,\s*/).map((e=>Math.min(Math.max(0,parseInt(e.trim(),10)),255))).map((e=>isNaN(e)?0:e));return a.length<3||([A,i,s]=a),{r:A,g:i,b:s}}(e.value):"",this.extras=null}[iE](){return!1}[HE](){return this.value?xo.makeHexColor(this.value.r,this.value.g,this.value.b):null}}class Vp extends vf{constructor(e){super(hp,"comb"),this.id=e.id||"",this.numberOfCells=qE({data:e.numberOfCells,defaultValue:0,validate:e=>e>=0}),this.use=e.use||"",this.usehref=e.usehref||""}}class Zp extends vf{constructor(e){super(hp,"connect",!0),this.connection=e.connection||"",this.id=e.id||"",this.ref=e.ref||"",this.usage=jE(e.usage,["exportAndImport","exportOnly","importOnly"]),this.use=e.use||"",this.usehref=e.usehref||"",this.picture=null}}class Xp extends vf{constructor(e){super(hp,"contentArea",!0),this.h=VE(e.h),this.id=e.id||"",this.name=e.name||"",this.relevant=XE(e.relevant),this.use=e.use||"",this.usehref=e.usehref||"",this.w=VE(e.w),this.x=VE(e.x,"0pt"),this.y=VE(e.y,"0pt"),this.desc=null,this.extras=null}[LE](e){const t={left:Yf(this.x),top:Yf(this.y),width:Yf(this.w),height:Yf(this.h)},A=["xfaContentarea"];return ep(this)&&A.push("xfaPrintOnly"),zE.success({name:"div",children:[],attributes:{style:t,class:A,id:this[JE]}})}}class zp extends vf{constructor(e){super(hp,"corner",!0),this.id=e.id||"",this.inverted=qE({data:e.inverted,defaultValue:0,validate:e=>1===e}),this.join=jE(e.join,["square","round"]),this.presence=jE(e.presence,["visible","hidden","inactive","invisible"]),this.radius=VE(e.radius),this.stroke=jE(e.stroke,["solid","dashDot","dashDotDot","dashed","dotted","embossed","etched","lowered","raised"]),this.thickness=VE(e.thickness,"0.5pt"),this.use=e.use||"",this.usehref=e.usehref||"",this.color=null,this.extras=null}[HE](){const e=Zf(this,"visibility");return e.radius=Yf("square"===this.join?0:this.radius),e}}class $p extends Lf{constructor(e){super(hp,"date"),this.id=e.id||"",this.name=e.name||"",this.use=e.use||"",this.usehref=e.usehref||""}[JQ](){const e=this[GQ].trim();this[GQ]=e?new Date(e):null}[LE](e){return yp(this[GQ]?this[GQ].toString():"")}}class em extends Lf{constructor(e){super(hp,"dateTime"),this.id=e.id||"",this.name=e.name||"",this.use=e.use||"",this.usehref=e.usehref||""}[JQ](){const e=this[GQ].trim();this[GQ]=e?new Date(e):null}[LE](e){return yp(this[GQ]?this[GQ].toString():"")}}class tm extends vf{constructor(e){super(hp,"dateTimeEdit",!0),this.hScrollPolicy=jE(e.hScrollPolicy,["auto","off","on"]),this.id=e.id||"",this.picker=jE(e.picker,["host","none"]),this.use=e.use||"",this.usehref=e.usehref||"",this.border=null,this.comb=null,this.extras=null,this.margin=null}[LE](e){const t=Zf(this,"border","font","margin"),A=this[eE]()[eE](),i={name:"input",attributes:{type:"text",fieldId:A[JE],dataId:A[LQ]?.[JE]||A[JE],class:["xfaTextfield"],style:t,"aria-label":mp(A),"aria-required":!1}};return Ep(A)&&(i.attributes["aria-required"]=!0,i.attributes.required=!0),zE.success({name:"label",attributes:{class:["xfaLabel"]},children:[i]})}}class Am extends Lf{constructor(e){super(hp,"decimal"),this.fracDigits=qE({data:e.fracDigits,defaultValue:2,validate:e=>!0}),this.id=e.id||"",this.leadDigits=qE({data:e.leadDigits,defaultValue:-1,validate:e=>!0}),this.name=e.name||"",this.use=e.use||"",this.usehref=e.usehref||""}[JQ](){const e=parseFloat(this[GQ].trim());this[GQ]=isNaN(e)?null:e}[LE](e){return yp(null!==this[GQ]?this[GQ].toString():"")}}class im extends vf{constructor(e){super(hp,"defaultUi",!0),this.id=e.id||"",this.use=e.use||"",this.usehref=e.usehref||"",this.extras=null}}class sm extends vf{constructor(e){super(hp,"desc",!0),this.id=e.id||"",this.use=e.use||"",this.usehref=e.usehref||"",this.boolean=new Nf,this.date=new Nf,this.dateTime=new Nf,this.decimal=new Nf,this.exData=new Nf,this.float=new Nf,this.image=new Nf,this.integer=new Nf,this.text=new Nf,this.time=new Nf}}class am extends Uf{constructor(e){super(hp,"digestMethod",["","SHA1","SHA256","SHA512","RIPEMD160"]),this.id=e.id||"",this.use=e.use||"",this.usehref=e.usehref||""}}class nm extends vf{constructor(e){super(hp,"digestMethods",!0),this.id=e.id||"",this.type=jE(e.type,["optional","required"]),this.use=e.use||"",this.usehref=e.usehref||"",this.digestMethod=new Nf}}class rm extends vf{constructor(e){super(hp,"draw",!0),this.anchorType=jE(e.anchorType,["topLeft","bottomCenter","bottomLeft","bottomRight","middleCenter","middleLeft","middleRight","topCenter","topRight"]),this.colSpan=qE({data:e.colSpan,defaultValue:1,validate:e=>e>=1||-1===e}),this.h=e.h?VE(e.h):"",this.hAlign=jE(e.hAlign,["left","center","justify","justifyAll","radix","right"]),this.id=e.id||"",this.locale=e.locale||"",this.maxH=VE(e.maxH,"0pt"),this.maxW=VE(e.maxW,"0pt"),this.minH=VE(e.minH,"0pt"),this.minW=VE(e.minW,"0pt"),this.name=e.name||"",this.presence=jE(e.presence,["visible","hidden","inactive","invisible"]),this.relevant=XE(e.relevant),this.rotate=qE({data:e.rotate,defaultValue:0,validate:e=>e%90==0}),this.use=e.use||"",this.usehref=e.usehref||"",this.w=e.w?VE(e.w):"",this.x=VE(e.x,"0pt"),this.y=VE(e.y,"0pt"),this.assist=null,this.border=null,this.caption=null,this.desc=null,this.extras=null,this.font=null,this.keep=null,this.margin=null,this.para=null,this.traversal=null,this.ui=null,this.value=null,this.setProperty=new Nf}[vE](e){Bp(this,e)}[LE](e){if(fp(this),"hidden"===this.presence||"inactive"===this.presence)return zE.EMPTY;jf(this),this[bE]();const t=this.w,A=this.h,{w:i,h:s,isBroken:a}=Of(this,e);if(i&&""===this.w){if(a&&this[$Q]()[IE]())return this[wE](),zE.FAILURE;this.w=i}if(s&&""===this.h&&(this.h=s),wp(this),!gp(this,e))return this.w=t,this.h=A,this[wE](),zE.FAILURE;bp(this);const n=Zf(this,"font","hAlign","dimensions","position","presence","rotate","anchorType","border","margin");_f(this,n),n.margin&&(n.padding=n.margin,delete n.margin);const r=["xfaDraw"];this.font&&r.push("xfaFont"),ep(this)&&r.push("xfaPrintOnly");const o={style:n,id:this[JE],class:r};this.name&&(o.xfaName=this.name);const g={name:"div",attributes:o,children:[]};pp(this,o);const h=Wf(this,g,e),c=this.value?this.value[LE](e).html:null;return null===c?(this.w=t,this.h=A,this[wE](),zE.success(Xf(this,g),h)):(g.children.push(c),Ap(this,n,c),this.w=t,this.h=A,this[wE](),zE.success(Xf(this,g),h))}}class om extends vf{constructor(e){super(hp,"edge",!0),this.cap=jE(e.cap,["square","butt","round"]),this.id=e.id||"",this.presence=jE(e.presence,["visible","hidden","inactive","invisible"]),this.stroke=jE(e.stroke,["solid","dashDot","dashDotDot","dashed","dotted","embossed","etched","lowered","raised"]),this.thickness=VE(e.thickness,"0.5pt"),this.use=e.use||"",this.usehref=e.usehref||"",this.color=null,this.extras=null}[HE](){const e=Zf(this,"visibility");if(Object.assign(e,{linecap:this.cap,width:Yf(this.thickness),color:this.color?this.color[HE]():"#000000",style:""}),"visible"!==this.presence)e.style="none";else switch(this.stroke){case"solid":e.style="solid";break;case"dashDot":case"dashDotDot":case"dashed":e.style="dashed";break;case"dotted":e.style="dotted";break;case"embossed":e.style="ridge";break;case"etched":e.style="groove";break;case"lowered":e.style="inset";break;case"raised":e.style="outset"}return e}}class gm extends Uf{constructor(e){super(hp,"encoding",["adbe.x509.rsa_sha1","adbe.pkcs7.detached","adbe.pkcs7.sha1"]),this.id=e.id||"",this.use=e.use||"",this.usehref=e.usehref||""}}class hm extends vf{constructor(e){super(hp,"encodings",!0),this.id=e.id||"",this.type=jE(e.type,["optional","required"]),this.use=e.use||"",this.usehref=e.usehref||"",this.encoding=new Nf}}class cm extends vf{constructor(e){super(hp,"encrypt",!0),this.id=e.id||"",this.use=e.use||"",this.usehref=e.usehref||"",this.certificate=null}}class lm extends vf{constructor(e){super(hp,"encryptData",!0),this.id=e.id||"",this.operation=jE(e.operation,["encrypt","decrypt"]),this.target=e.target||"",this.use=e.use||"",this.usehref=e.usehref||"",this.filter=null,this.manifest=null}}class Im extends vf{constructor(e){super(hp,"encryption",!0),this.id=e.id||"",this.type=jE(e.type,["optional","required"]),this.use=e.use||"",this.usehref=e.usehref||"",this.certificate=new Nf}}class dm extends Uf{constructor(e){super(hp,"encryptionMethod",["","AES256-CBC","TRIPLEDES-CBC","AES128-CBC","AES192-CBC"]),this.id=e.id||"",this.use=e.use||"",this.usehref=e.usehref||""}}class Cm extends vf{constructor(e){super(hp,"encryptionMethods",!0),this.id=e.id||"",this.type=jE(e.type,["optional","required"]),this.use=e.use||"",this.usehref=e.usehref||"",this.encryptionMethod=new Nf}}let um=class extends vf{constructor(e){super(hp,"event",!0),this.activity=jE(e.activity,["click","change","docClose","docReady","enter","exit","full","indexChange","initialize","mouseDown","mouseEnter","mouseExit","mouseUp","postExecute","postOpen","postPrint","postSave","postSign","postSubmit","preExecute","preOpen","prePrint","preSave","preSign","preSubmit","ready","validationState"]),this.id=e.id||"",this.listen=jE(e.listen,["refOnly","refAndDescendents"]),this.name=e.name||"",this.ref=e.ref||"",this.use=e.use||"",this.usehref=e.usehref||"",this.extras=null,this.encryptData=null,this.execute=null,this.script=null,this.signData=null,this.submit=null}};class Bm extends Lf{constructor(e){super(hp,"exData"),this.contentType=e.contentType||"",this.href=e.href||"",this.id=e.id||"",this.maxLength=qE({data:e.maxLength,defaultValue:-1,validate:e=>e>=-1}),this.name=e.name||"",this.rid=e.rid||"",this.transferEncoding=jE(e.transferEncoding,["none","base64","package"]),this.use=e.use||"",this.usehref=e.usehref||""}[rE](){return"text/html"===this.contentType}[fE](e){return("text/html"===this.contentType&&e[BE]===PE.xhtml.id||"text/xml"===this.contentType)&&(this[GQ]=e,!0)}[LE](e){return"text/html"===this.contentType&&this[GQ]?this[GQ][LE](e):zE.EMPTY}}class Qm extends vf{constructor(e){super(hp,"exObject",!0),this.archive=e.archive||"",this.classId=e.classId||"",this.codeBase=e.codeBase||"",this.codeType=e.codeType||"",this.id=e.id||"",this.name=e.name||"",this.use=e.use||"",this.usehref=e.usehref||"",this.extras=null,this.boolean=new Nf,this.date=new Nf,this.dateTime=new Nf,this.decimal=new Nf,this.exData=new Nf,this.exObject=new Nf,this.float=new Nf,this.image=new Nf,this.integer=new Nf,this.text=new Nf,this.time=new Nf}}class Em extends vf{constructor(e){super(hp,"exclGroup",!0),this.access=jE(e.access,["open","nonInteractive","protected","readOnly"]),this.accessKey=e.accessKey||"",this.anchorType=jE(e.anchorType,["topLeft","bottomCenter","bottomLeft","bottomRight","middleCenter","middleLeft","middleRight","topCenter","topRight"]),this.colSpan=qE({data:e.colSpan,defaultValue:1,validate:e=>e>=1||-1===e}),this.h=e.h?VE(e.h):"",this.hAlign=jE(e.hAlign,["left","center","justify","justifyAll","radix","right"]),this.id=e.id||"",this.layout=jE(e.layout,["position","lr-tb","rl-row","rl-tb","row","table","tb"]),this.maxH=VE(e.maxH,"0pt"),this.maxW=VE(e.maxW,"0pt"),this.minH=VE(e.minH,"0pt"),this.minW=VE(e.minW,"0pt"),this.name=e.name||"",this.presence=jE(e.presence,["visible","hidden","inactive","invisible"]),this.relevant=XE(e.relevant),this.use=e.use||"",this.usehref=e.usehref||"",this.w=e.w?VE(e.w):"",this.x=VE(e.x,"0pt"),this.y=VE(e.y,"0pt"),this.assist=null,this.bind=null,this.border=null,this.calculate=null,this.caption=null,this.desc=null,this.extras=null,this.margin=null,this.para=null,this.traversal=null,this.validate=null,this.connect=new Nf,this.event=new Nf,this.field=new Nf,this.setProperty=new Nf}[oE](){return!0}[iE](){return!0}[vE](e){for(const t of this.field.children){if(!t.value){const e=new xy({});t[SQ](e),t.value=e}t.value[vE](e)}}[IE](){return this.layout.endsWith("-tb")&&0===this[HQ].attempt&&this[HQ].numberInLine>0||this[eE]()[IE]()}[lE](){const e=this[$Q]();return!!e[lE]()&&(void 0!==this[HQ]._isSplittable?this[HQ]._isSplittable:"position"===this.layout||this.layout.includes("row")?(this[HQ]._isSplittable=!1,!1):(!e.layout?.endsWith("-tb")||0===e[HQ].numberInLine)&&(this[HQ]._isSplittable=!0,!0))}[TQ](){return np(this)}[kQ](e,t){rp(this,e,t)}[KQ](){return op(this)}[LE](e){if(fp(this),"hidden"===this.presence||"inactive"===this.presence||0===this.h||0===this.w)return zE.EMPTY;jf(this);const t=[],A={id:this[JE],class:[]};$f(this,A.class),this[HQ]||(this[HQ]=Object.create(null)),Object.assign(this[HQ],{children:t,attributes:A,attempt:0,line:null,numberInLine:0,availableSpace:{width:Math.min(this.w||1/0,e.width),height:Math.min(this.h||1/0,e.height)},width:0,height:0,prevHeight:0,currentWidth:0});const i=this[lE]();if(i||wp(this),!gp(this,e))return zE.FAILURE;const s=new Set(["field"]);if(this.layout.includes("row")){const e=this[$Q]().columnWidths;Array.isArray(e)&&e.length>0&&(this[HQ].columnWidths=e,this[HQ].currentColumn=0)}const a=Zf(this,"anchorType","dimensions","position","presence","border","margin","hAlign"),n=["xfaExclgroup"],r=Vf(this);r&&n.push(r),ep(this)&&n.push("xfaPrintOnly"),A.style=a,A.class=n,this.name&&(A.xfaName=this.name),this[bE]();const o="lr-tb"===this.layout||"rl-tb"===this.layout,g=o?2:1;for(;this[HQ].attempt<g;this[HQ].attempt++){o&&1===this[HQ].attempt&&(this[HQ].numberInLine=0);const e=this[FQ]({filter:s,include:!0});if(e.success)break;if(e.isBreak())return this[wE](),e;if(o&&0===this[HQ].attempt&&0===this[HQ].numberInLine&&!this[tE]()[HQ].noLayoutFailure){this[HQ].attempt=g;break}}if(this[wE](),i||bp(this),this[HQ].attempt===g)return i||delete this[HQ],zE.FAILURE;let h=0,c=0;this.margin&&(h=this.margin.leftInset+this.margin.rightInset,c=this.margin.topInset+this.margin.bottomInset);const l=Math.max(this[HQ].width+h,this.w||0),I=Math.max(this[HQ].height+c,this.h||0),d=[this.x,this.y,l,I];""===this.w&&(a.width=Yf(l)),""===this.h&&(a.height=Yf(I));const C={name:"div",attributes:A,children:t};return pp(this,A),delete this[HQ],zE.success(Xf(this,C),d)}}class fm extends vf{constructor(e){super(hp,"execute"),this.connection=e.connection||"",this.executeType=jE(e.executeType,["import","remerge"]),this.id=e.id||"",this.runAt=jE(e.runAt,["client","both","server"]),this.use=e.use||"",this.usehref=e.usehref||""}}class pm extends vf{constructor(e){super(hp,"extras",!0),this.id=e.id||"",this.name=e.name||"",this.use=e.use||"",this.usehref=e.usehref||"",this.boolean=new Nf,this.date=new Nf,this.dateTime=new Nf,this.decimal=new Nf,this.exData=new Nf,this.extras=new Nf,this.float=new Nf,this.image=new Nf,this.integer=new Nf,this.text=new Nf,this.time=new Nf}}class mm extends vf{constructor(e){super(hp,"field",!0),this.access=jE(e.access,["open","nonInteractive","protected","readOnly"]),this.accessKey=e.accessKey||"",this.anchorType=jE(e.anchorType,["topLeft","bottomCenter","bottomLeft","bottomRight","middleCenter","middleLeft","middleRight","topCenter","topRight"]),this.colSpan=qE({data:e.colSpan,defaultValue:1,validate:e=>e>=1||-1===e}),this.h=e.h?VE(e.h):"",this.hAlign=jE(e.hAlign,["left","center","justify","justifyAll","radix","right"]),this.id=e.id||"",this.locale=e.locale||"",this.maxH=VE(e.maxH,"0pt"),this.maxW=VE(e.maxW,"0pt"),this.minH=VE(e.minH,"0pt"),this.minW=VE(e.minW,"0pt"),this.name=e.name||"",this.presence=jE(e.presence,["visible","hidden","inactive","invisible"]),this.relevant=XE(e.relevant),this.rotate=qE({data:e.rotate,defaultValue:0,validate:e=>e%90==0}),this.use=e.use||"",this.usehref=e.usehref||"",this.w=e.w?VE(e.w):"",this.x=VE(e.x,"0pt"),this.y=VE(e.y,"0pt"),this.assist=null,this.bind=null,this.border=null,this.calculate=null,this.caption=null,this.desc=null,this.extras=null,this.font=null,this.format=null,this.items=new Nf(2),this.keep=null,this.margin=null,this.para=null,this.traversal=null,this.ui=null,this.validate=null,this.value=null,this.bindItems=new Nf,this.connect=new Nf,this.event=new Nf,this.setProperty=new Nf}[oE](){return!0}[vE](e){Bp(this,e)}[LE](e){if(fp(this),!this.ui){let e;switch(this.ui=new Fy({}),this.ui[AE]=this[AE],this[SQ](this.ui),this.items.children.length){case 0:e=new yy({}),this.ui.textEdit=e;break;case 1:e=new Op({}),this.ui.checkButton=e;break;case 2:e=new Wp({}),this.ui.choiceList=e}this.ui[SQ](e)}if(!this.ui||"hidden"===this.presence||"inactive"===this.presence||0===this.h||0===this.w)return zE.EMPTY;this.caption&&delete this.caption[HQ],this[bE]();const t=this.caption?this.caption[LE](e).html:null,A=this.w,i=this.h;let s=0,a=0;this.margin&&(s=this.margin.leftInset+this.margin.rightInset,a=this.margin.topInset+this.margin.bottomInset);let n=null;if(""===this.w||""===this.h){let t=null,A=null,i=0,r=0;if(this.ui.checkButton)i=r=this.ui.checkButton.size;else{const{w:t,h:A}=Of(this,e);null!==t?(i=t,r=A):r=function(e,t=!1){let A=null;if(e){const t=_E(e.typeface),i=e[AE].fontFinder.find(t);A=ef(e,i)}if(!A)return{lineHeight:12,lineGap:2,lineNoGap:10};const i=e.size||10,s=A.lineHeight?Math.max(t?0:1.2,A.lineHeight):1.2,a=void 0===A.lineGap?.2:A.lineGap;return{lineHeight:s*i,lineGap:a*i,lineNoGap:Math.max(1,s-a)*i}}(this.font,!0).lineNoGap}if(n=Cp(this.ui[jQ]()),i+=n.w,r+=n.h,this.caption){const{w:s,h:a,isBroken:n}=this.caption[jQ](e);if(n&&this[$Q]()[IE]())return this[wE](),zE.FAILURE;switch(t=s,A=a,this.caption.placement){case"left":case"right":case"inline":t+=i;break;case"top":case"bottom":A+=r}}else t=i,A=r;t&&""===this.w&&(t+=s,this.w=Math.min(this.maxW<=0?1/0:this.maxW,this.minW+1<t?t:this.minW)),A&&""===this.h&&(A+=a,this.h=Math.min(this.maxH<=0?1/0:this.maxH,this.minH+1<A?A:this.minH))}if(this[wE](),jf(this),wp(this),!gp(this,e))return this.w=A,this.h=i,this[wE](),zE.FAILURE;bp(this);const r=Zf(this,"font","dimensions","position","rotate","anchorType","presence","margin","hAlign");_f(this,r);const o=["xfaField"];this.font&&o.push("xfaFont"),ep(this)&&o.push("xfaPrintOnly");const g={style:r,id:this[JE],class:o};r.margin&&(r.padding=r.margin,delete r.margin),$f(this,o),this.name&&(g.xfaName=this.name);const h=[],c={name:"div",attributes:g,children:h};pp(this,g);const l=this.border?this.border[HE]():null,I=Wf(this,c,e),d=this.ui[LE]().html;if(!d)return Object.assign(r,l),zE.success(Xf(this,c),I);this[NE]&&(d.children?.[0]?d.children[0].attributes.tabindex=this[NE]:d.attributes.tabindex=this[NE]),d.attributes.style||(d.attributes.style=Object.create(null));let C=null;if(this.ui.button?(1===d.children.length&&([C]=d.children.splice(0,1)),Object.assign(d.attributes.style,l)):Object.assign(r,l),h.push(d),this.value)if(this.ui.imageEdit)d.children.push(this.value[LE]().html);else if(!this.ui.button){let e="";if(this.value.exData)e=this.value.exData[ME]();else if(this.value.text)e=this.value.text[jQ]();else{const t=this.value[LE]().html;null!==t&&(e=t.children[0].value)}this.ui.textEdit&&this.value.text?.maxChars&&(d.children[0].attributes.maxLength=this.value.text.maxChars),e&&(this.ui.numericEdit&&(e=parseFloat(e),e=isNaN(e)?"":e.toString()),"textarea"===d.children[0].name?d.children[0].attributes.textContent=e:d.children[0].attributes.value=e)}if(!this.ui.imageEdit&&d.children?.[0]&&this.h){n=n||Cp(this.ui[jQ]());let t=0;if(this.caption&&["top","bottom"].includes(this.caption.placement)){t=this.caption.reserve,t<=0&&(t=this.caption[jQ](e).h);const A=this.h-t-a-n.h;d.children[0].attributes.style.height=Yf(A)}else d.children[0].attributes.style.height="100%"}if(C&&d.children.push(C),!t)return d.attributes.class&&d.attributes.class.push("xfaLeft"),this.w=A,this.h=i,zE.success(Xf(this,c),I);if(this.ui.button)return r.padding&&delete r.padding,"div"===t.name&&(t.name="span"),d.children.push(t),zE.success(c,I);switch(this.ui.checkButton&&(t.attributes.class[0]="xfaCaptionForCheckButton"),d.attributes.class||(d.attributes.class=[]),d.children.splice(0,0,t),this.caption.placement){case"left":case"inline":d.attributes.class.push("xfaLeft");break;case"right":d.attributes.class.push("xfaRight");break;case"top":d.attributes.class.push("xfaTop");break;case"bottom":d.attributes.class.push("xfaBottom")}return this.w=A,this.h=i,zE.success(Xf(this,c),I)}}class ym extends vf{constructor(e){super(hp,"fill",!0),this.id=e.id||"",this.presence=jE(e.presence,["visible","hidden","inactive","invisible"]),this.use=e.use||"",this.usehref=e.usehref||"",this.color=null,this.extras=null,this.linear=null,this.pattern=null,this.radial=null,this.solid=null,this.stipple=null}[HE](){const e=this[eE](),t=e[eE]()[eE](),A=Object.create(null);let i="color",s=i;e instanceof Up&&(i="background-color",s="background",t instanceof Fy&&(A.backgroundColor="white")),(e instanceof ny||e instanceof Fp)&&(i=s="fill",A.fill="white");for(const e of Object.getOwnPropertyNames(this)){if("extras"===e||"color"===e)continue;const t=this[e];if(!(t instanceof vf))continue;const a=t[HE](this.color);return a&&(A[a.startsWith("#")?i:s]=a),A}if(this.color?.value){const e=this.color[HE]();A[e.startsWith("#")?i:s]=e}return A}}class wm extends vf{constructor(e){super(hp,"filter",!0),this.addRevocationInfo=jE(e.addRevocationInfo,["","required","optional","none"]),this.id=e.id||"",this.name=e.name||"",this.use=e.use||"",this.usehref=e.usehref||"",this.version=qE({data:this.version,defaultValue:5,validate:e=>e>=1&&e<=5}),this.appearanceFilter=null,this.certificates=null,this.digestMethods=null,this.encodings=null,this.encryptionMethods=null,this.handler=null,this.lockDocument=null,this.mdp=null,this.reasons=null,this.timeStamp=null}}class bm extends Lf{constructor(e){super(hp,"float"),this.id=e.id||"",this.name=e.name||"",this.use=e.use||"",this.usehref=e.usehref||""}[JQ](){const e=parseFloat(this[GQ].trim());this[GQ]=isNaN(e)?null:e}[LE](e){return yp(null!==this[GQ]?this[GQ].toString():"")}}class Dm extends vf{constructor(e){super(hp,"font",!0),this.baselineShift=VE(e.baselineShift),this.fontHorizontalScale=OE({data:e.fontHorizontalScale,defaultValue:100,validate:e=>e>=0}),this.fontVerticalScale=OE({data:e.fontVerticalScale,defaultValue:100,validate:e=>e>=0}),this.id=e.id||"",this.kerningMode=jE(e.kerningMode,["none","pair"]),this.letterSpacing=VE(e.letterSpacing,"0"),this.lineThrough=qE({data:e.lineThrough,defaultValue:0,validate:e=>1===e||2===e}),this.lineThroughPeriod=jE(e.lineThroughPeriod,["all","word"]),this.overline=qE({data:e.overline,defaultValue:0,validate:e=>1===e||2===e}),this.overlinePeriod=jE(e.overlinePeriod,["all","word"]),this.posture=jE(e.posture,["normal","italic"]),this.size=VE(e.size,"10pt"),this.typeface=e.typeface||"Courier",this.underline=qE({data:e.underline,defaultValue:0,validate:e=>1===e||2===e}),this.underlinePeriod=jE(e.underlinePeriod,["all","word"]),this.use=e.use||"",this.usehref=e.usehref||"",this.weight=jE(e.weight,["normal","bold"]),this.extras=null,this.fill=null}[RQ](e){super[RQ](e),this[AE].usedTypefaces.add(this.typeface)}[HE](){const e=Zf(this,"fill"),t=e.color;return t&&("#000000"===t?delete e.color:t.startsWith("#")||(e.background=t,e.backgroundClip="text",e.color="transparent")),this.baselineShift&&(e.verticalAlign=Yf(this.baselineShift)),e.fontKerning="none"===this.kerningMode?"none":"normal",e.letterSpacing=Yf(this.letterSpacing),0!==this.lineThrough&&(e.textDecoration="line-through",2===this.lineThrough&&(e.textDecorationStyle="double")),0!==this.overline&&(e.textDecoration="overline",2===this.overline&&(e.textDecorationStyle="double")),e.fontStyle=this.posture,e.fontSize=Yf(.99*this.size),ip(this,this,this[AE].fontFinder,e),0!==this.underline&&(e.textDecoration="underline",2===this.underline&&(e.textDecorationStyle="double")),e.fontWeight=this.weight,e}}class km extends vf{constructor(e){super(hp,"format",!0),this.id=e.id||"",this.use=e.use||"",this.usehref=e.usehref||"",this.extras=null,this.picture=null}}class Sm extends Hf{constructor(e){super(hp,"handler"),this.id=e.id||"",this.type=jE(e.type,["optional","required"]),this.use=e.use||"",this.usehref=e.usehref||""}}class Fm extends vf{constructor(e){super(hp,"hyphenation"),this.excludeAllCaps=qE({data:e.excludeAllCaps,defaultValue:0,validate:e=>1===e}),this.excludeInitialCap=qE({data:e.excludeInitialCap,defaultValue:0,validate:e=>1===e}),this.hyphenate=qE({data:e.hyphenate,defaultValue:0,validate:e=>1===e}),this.id=e.id||"",this.pushCharacterCount=qE({data:e.pushCharacterCount,defaultValue:3,validate:e=>e>=0}),this.remainCharacterCount=qE({data:e.remainCharacterCount,defaultValue:3,validate:e=>e>=0}),this.use=e.use||"",this.usehref=e.usehref||"",this.wordCharacterCount=qE({data:e.wordCharacterCount,defaultValue:7,validate:e=>e>=0})}}let Rm=class extends Hf{constructor(e){super(hp,"image"),this.aspect=jE(e.aspect,["fit","actual","height","none","width"]),this.contentType=e.contentType||"",this.href=e.href||"",this.id=e.id||"",this.name=e.name||"",this.transferEncoding=jE(e.transferEncoding,["base64","none","package"]),this.use=e.use||"",this.usehref=e.usehref||""}[LE](){if(this.contentType&&!Ip.has(this.contentType.toLowerCase()))return zE.EMPTY;let e=this[AE].images&&this[AE].images.get(this.href);if(!e&&(this.href||!this[GQ]))return zE.EMPTY;if(e||"base64"!==this.transferEncoding||(e=Do(atob(this[GQ]))),!e)return zE.EMPTY;if(!this.contentType){for(const[t,A]of dp)if(e.length>t.length&&t.every(((t,A)=>t===e[A]))){this.contentType=A;break}if(!this.contentType)return zE.EMPTY}const t=new Blob([e],{type:this.contentType});let A;switch(this.aspect){case"fit":case"actual":break;case"height":A={height:"100%",objectFit:"fill"};break;case"none":A={width:"100%",height:"100%",objectFit:"fill"};break;case"width":A={width:"100%",objectFit:"fill"}}const i=this[eE]();return zE.success({name:"img",attributes:{class:["xfaImage"],style:A,src:URL.createObjectURL(t),alt:i?mp(i[eE]()):null}})}};class xm extends vf{constructor(e){super(hp,"imageEdit",!0),this.data=jE(e.data,["link","embed"]),this.id=e.id||"",this.use=e.use||"",this.usehref=e.usehref||"",this.border=null,this.extras=null,this.margin=null}[LE](e){return"embed"===this.data?zE.success({name:"div",children:[],attributes:{}}):zE.EMPTY}}class vm extends Lf{constructor(e){super(hp,"integer"),this.id=e.id||"",this.name=e.name||"",this.use=e.use||"",this.usehref=e.usehref||""}[JQ](){const e=parseInt(this[GQ].trim(),10);this[GQ]=isNaN(e)?null:e}[LE](e){return yp(null!==this[GQ]?this[GQ].toString():"")}}class Nm extends vf{constructor(e){super(hp,"issuers",!0),this.id=e.id||"",this.type=jE(e.type,["optional","required"]),this.use=e.use||"",this.usehref=e.usehref||"",this.certificate=new Nf}}class Mm extends vf{constructor(e){super(hp,"items",!0),this.id=e.id||"",this.name=e.name||"",this.presence=jE(e.presence,["visible","hidden","inactive","invisible"]),this.ref=e.ref||"",this.save=qE({data:e.save,defaultValue:0,validate:e=>1===e}),this.use=e.use||"",this.usehref=e.usehref||"",this.boolean=new Nf,this.date=new Nf,this.dateTime=new Nf,this.decimal=new Nf,this.exData=new Nf,this.float=new Nf,this.image=new Nf,this.integer=new Nf,this.text=new Nf,this.time=new Nf}[LE](){const e=[];for(const t of this[ZQ]())e.push(t[ME]());return zE.success(e)}}class Gm extends vf{constructor(e){super(hp,"keep",!0),this.id=e.id||"";const t=["none","contentArea","pageArea"];this.intact=jE(e.intact,t),this.next=jE(e.next,t),this.previous=jE(e.previous,t),this.use=e.use||"",this.usehref=e.usehref||"",this.extras=null}}class Lm extends vf{constructor(e){super(hp,"keyUsage");const t=["","yes","no"];this.crlSign=jE(e.crlSign,t),this.dataEncipherment=jE(e.dataEncipherment,t),this.decipherOnly=jE(e.decipherOnly,t),this.digitalSignature=jE(e.digitalSignature,t),this.encipherOnly=jE(e.encipherOnly,t),this.id=e.id||"",this.keyAgreement=jE(e.keyAgreement,t),this.keyCertSign=jE(e.keyCertSign,t),this.keyEncipherment=jE(e.keyEncipherment,t),this.nonRepudiation=jE(e.nonRepudiation,t),this.type=jE(e.type,["optional","required"]),this.use=e.use||"",this.usehref=e.usehref||""}}class Um extends vf{constructor(e){super(hp,"line",!0),this.hand=jE(e.hand,["even","left","right"]),this.id=e.id||"",this.slope=jE(e.slope,["\\","/"]),this.use=e.use||"",this.usehref=e.usehref||"",this.edge=null}[LE](){const e=this[eE]()[eE](),t=this.edge||new om({}),A=t[HE](),i=Object.create(null),s="visible"===t.presence?t.thickness:0;let a,n,r,o;i.strokeWidth=Yf(s),i.stroke=A.color;let g="100%",h="100%";e.w<=s?([a,n,r,o]=["50%",0,"50%","100%"],g=i.strokeWidth):e.h<=s?([a,n,r,o]=[0,"50%","100%","50%"],h=i.strokeWidth):"\\"===this.slope?[a,n,r,o]=[0,0,"100%","100%"]:[a,n,r,o]=[0,"100%","100%",0];const c={name:"svg",children:[{name:"line",attributes:{xmlns:cp,x1:a,y1:n,x2:r,y2:o,style:i}}],attributes:{xmlns:cp,width:g,height:h,style:{overflow:"visible"}}};return up(e)?zE.success({name:"div",attributes:{style:{display:"inline",width:"100%",height:"100%"}},children:[c]}):(c.attributes.style.position="absolute",zE.success(c))}}class Hm extends vf{constructor(e){super(hp,"linear",!0),this.id=e.id||"",this.type=jE(e.type,["toRight","toBottom","toLeft","toTop"]),this.use=e.use||"",this.usehref=e.usehref||"",this.color=null,this.extras=null}[HE](e){e=e?e[HE]():"#FFFFFF";return`linear-gradient(${this.type.replace(/([RBLT])/," $1").toLowerCase()}, ${e}, ${this.color?this.color[HE]():"#000000"})`}}class Jm extends Lf{constructor(e){super(hp,"lockDocument"),this.id=e.id||"",this.type=jE(e.type,["optional","required"]),this.use=e.use||"",this.usehref=e.usehref||""}[JQ](){this[GQ]=jE(this[GQ],["auto","0","1"])}}class Tm extends vf{constructor(e){super(hp,"manifest",!0),this.action=jE(e.action,["include","all","exclude"]),this.id=e.id||"",this.name=e.name||"",this.use=e.use||"",this.usehref=e.usehref||"",this.extras=null,this.ref=new Nf}}class Pm extends vf{constructor(e){super(hp,"margin",!0),this.bottomInset=VE(e.bottomInset,"0"),this.id=e.id||"",this.leftInset=VE(e.leftInset,"0"),this.rightInset=VE(e.rightInset,"0"),this.topInset=VE(e.topInset,"0"),this.use=e.use||"",this.usehref=e.usehref||"",this.extras=null}[HE](){return{margin:Yf(this.topInset)+" "+Yf(this.rightInset)+" "+Yf(this.bottomInset)+" "+Yf(this.leftInset)}}}class Ym extends vf{constructor(e){super(hp,"mdp"),this.id=e.id||"",this.permissions=qE({data:e.permissions,defaultValue:2,validate:e=>1===e||3===e}),this.signatureType=jE(e.signatureType,["filler","author"]),this.use=e.use||"",this.usehref=e.usehref||""}}class Km extends vf{constructor(e){super(hp,"medium"),this.id=e.id||"",this.imagingBBox=function(e){const t=-1;if(!e)return{x:t,y:t,width:t,height:t};const A=e.trim().split(/\s*,\s*/).map((e=>VE(e,"-1")));if(A.length<4||A[2]<0||A[3]<0)return{x:t,y:t,width:t,height:t};const[i,s,a,n]=A;return{x:i,y:s,width:a,height:n}}(e.imagingBBox),this.long=VE(e.long),this.orientation=jE(e.orientation,["portrait","landscape"]),this.short=VE(e.short),this.stock=e.stock||"",this.trayIn=jE(e.trayIn,["auto","delegate","pageFront"]),this.trayOut=jE(e.trayOut,["auto","delegate"]),this.use=e.use||"",this.usehref=e.usehref||""}}class _m extends vf{constructor(e){super(hp,"message",!0),this.id=e.id||"",this.use=e.use||"",this.usehref=e.usehref||"",this.text=new Nf}}class qm extends vf{constructor(e){super(hp,"numericEdit",!0),this.hScrollPolicy=jE(e.hScrollPolicy,["auto","off","on"]),this.id=e.id||"",this.use=e.use||"",this.usehref=e.usehref||"",this.border=null,this.comb=null,this.extras=null,this.margin=null}[LE](e){const t=Zf(this,"border","font","margin"),A=this[eE]()[eE](),i={name:"input",attributes:{type:"text",fieldId:A[JE],dataId:A[LQ]?.[JE]||A[JE],class:["xfaTextfield"],style:t,"aria-label":mp(A),"aria-required":!1}};return Ep(A)&&(i.attributes["aria-required"]=!0,i.attributes.required=!0),zE.success({name:"label",attributes:{class:["xfaLabel"]},children:[i]})}}class Om extends vf{constructor(e){super(hp,"occur",!0),this.id=e.id||"",this.initial=""!==e.initial?qE({data:e.initial,defaultValue:"",validate:e=>!0}):"",this.max=""!==e.max?qE({data:e.max,defaultValue:1,validate:e=>!0}):"",this.min=""!==e.min?qE({data:e.min,defaultValue:1,validate:e=>!0}):"",this.use=e.use||"",this.usehref=e.usehref||"",this.extras=null}[RQ](){const e=this[eE](),t=this.min;""===this.min&&(this.min=e instanceof Zm||e instanceof Xm?0:1),""===this.max&&(this.max=""===t?e instanceof Zm||e instanceof Xm?-1:1:this.min),-1!==this.max&&this.max<this.min&&(this.max=this.min),""===this.initial&&(this.initial=e instanceof py?1:this.min)}}class Wm extends Hf{constructor(e){super(hp,"oid"),this.id=e.id||"",this.name=e.name||"",this.use=e.use||"",this.usehref=e.usehref||""}}class jm extends vf{constructor(e){super(hp,"oids",!0),this.id=e.id||"",this.type=jE(e.type,["optional","required"]),this.use=e.use||"",this.usehref=e.usehref||"",this.oid=new Nf}}class Vm extends vf{constructor(e){super(hp,"overflow"),this.id=e.id||"",this.leader=e.leader||"",this.target=e.target||"",this.trailer=e.trailer||"",this.use=e.use||"",this.usehref=e.usehref||""}[jQ](){if(!this[HQ]){const e=this[eE](),t=this[tE](),A=t[FE](this.target,e),i=t[FE](this.leader,e),s=t[FE](this.trailer,e);this[HQ]={target:A?.[0]||null,leader:i?.[0]||null,trailer:s?.[0]||null,addLeader:!1,addTrailer:!1}}return this[HQ]}}class Zm extends vf{constructor(e){super(hp,"pageArea",!0),this.blankOrNotBlank=jE(e.blankOrNotBlank,["any","blank","notBlank"]),this.id=e.id||"",this.initialNumber=qE({data:e.initialNumber,defaultValue:1,validate:e=>!0}),this.name=e.name||"",this.numbered=qE({data:e.numbered,defaultValue:1,validate:e=>!0}),this.oddOrEven=jE(e.oddOrEven,["any","even","odd"]),this.pagePosition=jE(e.pagePosition,["any","first","last","only","rest"]),this.relevant=XE(e.relevant),this.use=e.use||"",this.usehref=e.usehref||"",this.desc=null,this.extras=null,this.medium=null,this.occur=null,this.area=new Nf,this.contentArea=new Nf,this.draw=new Nf,this.exclGroup=new Nf,this.field=new Nf,this.subform=new Nf}[CE](){return this[HQ]?!this.occur||-1===this.occur.max||this[HQ].numberOfUse<this.occur.max:(this[HQ]={numberOfUse:0},!0)}[xQ](){delete this[HQ]}[zQ](){this[HQ]||(this[HQ]={numberOfUse:0});const e=this[eE]();return"orderedOccurrence"===e.relation&&this[CE]()?(this[HQ].numberOfUse+=1,this):e[zQ]()}[KQ](){return this[HQ].space||{width:0,height:0}}[LE](){this[HQ]||(this[HQ]={numberOfUse:1});const e=[];this[HQ].children=e;const t=Object.create(null);if(this.medium&&this.medium.short&&this.medium.long){if(t.width=Yf(this.medium.short),t.height=Yf(this.medium.long),this[HQ].space={width:this.medium.short,height:this.medium.long},"landscape"===this.medium.orientation){const e=t.width;t.width=t.height,t.height=e,this[HQ].space={width:this.medium.long,height:this.medium.short}}}else co("XFA - No medium specified in pageArea: please file a bug.");return this[FQ]({filter:new Set(["area","draw","field","subform"]),include:!0}),this[FQ]({filter:new Set(["contentArea"]),include:!0}),zE.success({name:"div",children:e,attributes:{class:["xfaPage"],id:this[JE],style:t,xfaName:this.name}})}}class Xm extends vf{constructor(e){super(hp,"pageSet",!0),this.duplexImposition=jE(e.duplexImposition,["longEdge","shortEdge"]),this.id=e.id||"",this.name=e.name||"",this.relation=jE(e.relation,["orderedOccurrence","duplexPaginated","simplexPaginated"]),this.relevant=XE(e.relevant),this.use=e.use||"",this.usehref=e.usehref||"",this.extras=null,this.occur=null,this.pageArea=new Nf,this.pageSet=new Nf}[xQ](){for(const e of this.pageArea.children)e[xQ]();for(const e of this.pageSet.children)e[xQ]()}[CE](){return!this.occur||-1===this.occur.max||this[HQ].numberOfUse<this.occur.max}[zQ](){if(this[HQ]||(this[HQ]={numberOfUse:1,pageIndex:-1,pageSetIndex:-1}),"orderedOccurrence"===this.relation){if(this[HQ].pageIndex+1<this.pageArea.children.length){this[HQ].pageIndex+=1;return this.pageArea.children[this[HQ].pageIndex][zQ]()}if(this[HQ].pageSetIndex+1<this.pageSet.children.length)return this[HQ].pageSetIndex+=1,this.pageSet.children[this[HQ].pageSetIndex][zQ]();if(this[CE]())return this[HQ].numberOfUse+=1,this[HQ].pageIndex=-1,this[HQ].pageSetIndex=-1,this[zQ]();const e=this[eE]();return e instanceof Xm?e[zQ]():(this[xQ](),this[zQ]())}const e=this[tE]()[HQ].pageNumber,t=e%2==0?"even":"odd",A=0===e?"first":"rest";let i=this.pageArea.children.find((e=>e.oddOrEven===t&&e.pagePosition===A));return i||(i=this.pageArea.children.find((e=>"any"===e.oddOrEven&&e.pagePosition===A)),i||(i=this.pageArea.children.find((e=>"any"===e.oddOrEven&&"any"===e.pagePosition)),i||this.pageArea.children[0]))}}class zm extends vf{constructor(e){super(hp,"para",!0),this.hAlign=jE(e.hAlign,["left","center","justify","justifyAll","radix","right"]),this.id=e.id||"",this.lineHeight=e.lineHeight?VE(e.lineHeight,"0pt"):"",this.marginLeft=e.marginLeft?VE(e.marginLeft,"0pt"):"",this.marginRight=e.marginRight?VE(e.marginRight,"0pt"):"",this.orphans=qE({data:e.orphans,defaultValue:0,validate:e=>e>=0}),this.preserve=e.preserve||"",this.radixOffset=e.radixOffset?VE(e.radixOffset,"0pt"):"",this.spaceAbove=e.spaceAbove?VE(e.spaceAbove,"0pt"):"",this.spaceBelow=e.spaceBelow?VE(e.spaceBelow,"0pt"):"",this.tabDefault=e.tabDefault?VE(this.tabDefault):"",this.tabStops=(e.tabStops||"").trim().split(/\s+/).map(((e,t)=>t%2==1?VE(e):e)),this.textIndent=e.textIndent?VE(e.textIndent,"0pt"):"",this.use=e.use||"",this.usehref=e.usehref||"",this.vAlign=jE(e.vAlign,["top","bottom","middle"]),this.widows=qE({data:e.widows,defaultValue:0,validate:e=>e>=0}),this.hyphenation=null}[HE](){const e=Zf(this,"hAlign");return""!==this.marginLeft&&(e.paddingLeft=Yf(this.marginLeft)),""!==this.marginRight&&(e.paddingight=Yf(this.marginRight)),""!==this.spaceAbove&&(e.paddingTop=Yf(this.spaceAbove)),""!==this.spaceBelow&&(e.paddingBottom=Yf(this.spaceBelow)),""!==this.textIndent&&(e.textIndent=Yf(this.textIndent),zf(e)),this.lineHeight>0&&(e.lineHeight=Yf(this.lineHeight)),""!==this.tabDefault&&(e.tabSize=Yf(this.tabDefault)),this.tabStops.length,this.hyphenatation&&Object.assign(e,this.hyphenatation[HE]()),e}}class $m extends vf{constructor(e){super(hp,"passwordEdit",!0),this.hScrollPolicy=jE(e.hScrollPolicy,["auto","off","on"]),this.id=e.id||"",this.passwordChar=e.passwordChar||"*",this.use=e.use||"",this.usehref=e.usehref||"",this.border=null,this.extras=null,this.margin=null}}class ey extends vf{constructor(e){super(hp,"pattern",!0),this.id=e.id||"",this.type=jE(e.type,["crossHatch","crossDiagonal","diagonalLeft","diagonalRight","horizontal","vertical"]),this.use=e.use||"",this.usehref=e.usehref||"",this.color=null,this.extras=null}[HE](e){e=e?e[HE]():"#FFFFFF";const t=this.color?this.color[HE]():"#000000",A="repeating-linear-gradient",i=`${e},${e} 5px,${t} 5px,${t} 10px`;switch(this.type){case"crossHatch":return`${A}(to top,${i}) ${A}(to right,${i})`;case"crossDiagonal":return`${A}(45deg,${i}) ${A}(-45deg,${i})`;case"diagonalLeft":return`${A}(45deg,${i})`;case"diagonalRight":return`${A}(-45deg,${i})`;case"horizontal":return`${A}(to top,${i})`;case"vertical":return`${A}(to right,${i})`}return""}}class ty extends Hf{constructor(e){super(hp,"picture"),this.id=e.id||"",this.use=e.use||"",this.usehref=e.usehref||""}}class Ay extends vf{constructor(e){super(hp,"proto",!0),this.appearanceFilter=new Nf,this.arc=new Nf,this.area=new Nf,this.assist=new Nf,this.barcode=new Nf,this.bindItems=new Nf,this.bookend=new Nf,this.boolean=new Nf,this.border=new Nf,this.break=new Nf,this.breakAfter=new Nf,this.breakBefore=new Nf,this.button=new Nf,this.calculate=new Nf,this.caption=new Nf,this.certificate=new Nf,this.certificates=new Nf,this.checkButton=new Nf,this.choiceList=new Nf,this.color=new Nf,this.comb=new Nf,this.connect=new Nf,this.contentArea=new Nf,this.corner=new Nf,this.date=new Nf,this.dateTime=new Nf,this.dateTimeEdit=new Nf,this.decimal=new Nf,this.defaultUi=new Nf,this.desc=new Nf,this.digestMethod=new Nf,this.digestMethods=new Nf,this.draw=new Nf,this.edge=new Nf,this.encoding=new Nf,this.encodings=new Nf,this.encrypt=new Nf,this.encryptData=new Nf,this.encryption=new Nf,this.encryptionMethod=new Nf,this.encryptionMethods=new Nf,this.event=new Nf,this.exData=new Nf,this.exObject=new Nf,this.exclGroup=new Nf,this.execute=new Nf,this.extras=new Nf,this.field=new Nf,this.fill=new Nf,this.filter=new Nf,this.float=new Nf,this.font=new Nf,this.format=new Nf,this.handler=new Nf,this.hyphenation=new Nf,this.image=new Nf,this.imageEdit=new Nf,this.integer=new Nf,this.issuers=new Nf,this.items=new Nf,this.keep=new Nf,this.keyUsage=new Nf,this.line=new Nf,this.linear=new Nf,this.lockDocument=new Nf,this.manifest=new Nf,this.margin=new Nf,this.mdp=new Nf,this.medium=new Nf,this.message=new Nf,this.numericEdit=new Nf,this.occur=new Nf,this.oid=new Nf,this.oids=new Nf,this.overflow=new Nf,this.pageArea=new Nf,this.pageSet=new Nf,this.para=new Nf,this.passwordEdit=new Nf,this.pattern=new Nf,this.picture=new Nf,this.radial=new Nf,this.reason=new Nf,this.reasons=new Nf,this.rectangle=new Nf,this.ref=new Nf,this.script=new Nf,this.setProperty=new Nf,this.signData=new Nf,this.signature=new Nf,this.signing=new Nf,this.solid=new Nf,this.speak=new Nf,this.stipple=new Nf,this.subform=new Nf,this.subformSet=new Nf,this.subjectDN=new Nf,this.subjectDNs=new Nf,this.submit=new Nf,this.text=new Nf,this.textEdit=new Nf,this.time=new Nf,this.timeStamp=new Nf,this.toolTip=new Nf,this.traversal=new Nf,this.traverse=new Nf,this.ui=new Nf,this.validate=new Nf,this.value=new Nf,this.variables=new Nf}}class iy extends vf{constructor(e){super(hp,"radial",!0),this.id=e.id||"",this.type=jE(e.type,["toEdge","toCenter"]),this.use=e.use||"",this.usehref=e.usehref||"",this.color=null,this.extras=null}[HE](e){e=e?e[HE]():"#FFFFFF";const t=this.color?this.color[HE]():"#000000";return`radial-gradient(circle at center, ${"toEdge"===this.type?`${e},${t}`:`${t},${e}`})`}}class sy extends Hf{constructor(e){super(hp,"reason"),this.id=e.id||"",this.name=e.name||"",this.use=e.use||"",this.usehref=e.usehref||""}}class ay extends vf{constructor(e){super(hp,"reasons",!0),this.id=e.id||"",this.type=jE(e.type,["optional","required"]),this.use=e.use||"",this.usehref=e.usehref||"",this.reason=new Nf}}class ny extends vf{constructor(e){super(hp,"rectangle",!0),this.hand=jE(e.hand,["even","left","right"]),this.id=e.id||"",this.use=e.use||"",this.usehref=e.usehref||"",this.corner=new Nf(4),this.edge=new Nf(4),this.fill=null}[LE](){const e=this.edge.children.length?this.edge.children[0]:new om({}),t=e[HE](),A=Object.create(null);"visible"===this.fill?.presence?Object.assign(A,this.fill[HE]()):A.fill="transparent",A.strokeWidth=Yf("visible"===e.presence?e.thickness:0),A.stroke=t.color;const i=(this.corner.children.length?this.corner.children[0]:new zp({}))[HE](),s={name:"svg",children:[{name:"rect",attributes:{xmlns:cp,width:"100%",height:"100%",x:0,y:0,rx:i.radius,ry:i.radius,style:A}}],attributes:{xmlns:cp,style:{overflow:"visible"},width:"100%",height:"100%"}};return up(this[eE]()[eE]())?zE.success({name:"div",attributes:{style:{display:"inline",width:"100%",height:"100%"}},children:[s]}):(s.attributes.style.position="absolute",zE.success(s))}}class ry extends Hf{constructor(e){super(hp,"ref"),this.id=e.id||"",this.use=e.use||"",this.usehref=e.usehref||""}}class oy extends Hf{constructor(e){super(hp,"script"),this.binding=e.binding||"",this.contentType=e.contentType||"",this.id=e.id||"",this.name=e.name||"",this.runAt=jE(e.runAt,["client","both","server"]),this.use=e.use||"",this.usehref=e.usehref||""}}class gy extends vf{constructor(e){super(hp,"setProperty"),this.connection=e.connection||"",this.ref=e.ref||"",this.target=e.target||""}}class hy extends vf{constructor(e){super(hp,"signData",!0),this.id=e.id||"",this.operation=jE(e.operation,["sign","clear","verify"]),this.ref=e.ref||"",this.target=e.target||"",this.use=e.use||"",this.usehref=e.usehref||"",this.filter=null,this.manifest=null}}class cy extends vf{constructor(e){super(hp,"signature",!0),this.id=e.id||"",this.type=jE(e.type,["PDF1.3","PDF1.6"]),this.use=e.use||"",this.usehref=e.usehref||"",this.border=null,this.extras=null,this.filter=null,this.manifest=null,this.margin=null}}class ly extends vf{constructor(e){super(hp,"signing",!0),this.id=e.id||"",this.type=jE(e.type,["optional","required"]),this.use=e.use||"",this.usehref=e.usehref||"",this.certificate=new Nf}}class Iy extends vf{constructor(e){super(hp,"solid",!0),this.id=e.id||"",this.use=e.use||"",this.usehref=e.usehref||"",this.extras=null}[HE](e){return e?e[HE]():"#FFFFFF"}}class dy extends Hf{constructor(e){super(hp,"speak"),this.disable=qE({data:e.disable,defaultValue:0,validate:e=>1===e}),this.id=e.id||"",this.priority=jE(e.priority,["custom","caption","name","toolTip"]),this.rid=e.rid||"",this.use=e.use||"",this.usehref=e.usehref||""}}class Cy extends vf{constructor(e){super(hp,"stipple",!0),this.id=e.id||"",this.rate=qE({data:e.rate,defaultValue:50,validate:e=>e>=0&&e<=100}),this.use=e.use||"",this.usehref=e.usehref||"",this.color=null,this.extras=null}[HE](e){const t=this.rate/100;return xo.makeHexColor(Math.round(e.value.r*(1-t)+this.value.r*t),Math.round(e.value.g*(1-t)+this.value.g*t),Math.round(e.value.b*(1-t)+this.value.b*t))}}class uy extends vf{constructor(e){super(hp,"subform",!0),this.access=jE(e.access,["open","nonInteractive","protected","readOnly"]),this.allowMacro=qE({data:e.allowMacro,defaultValue:0,validate:e=>1===e}),this.anchorType=jE(e.anchorType,["topLeft","bottomCenter","bottomLeft","bottomRight","middleCenter","middleLeft","middleRight","topCenter","topRight"]),this.colSpan=qE({data:e.colSpan,defaultValue:1,validate:e=>e>=1||-1===e}),this.columnWidths=(e.columnWidths||"").trim().split(/\s+/).map((e=>"-1"===e?-1:VE(e))),this.h=e.h?VE(e.h):"",this.hAlign=jE(e.hAlign,["left","center","justify","justifyAll","radix","right"]),this.id=e.id||"",this.layout=jE(e.layout,["position","lr-tb","rl-row","rl-tb","row","table","tb"]),this.locale=e.locale||"",this.maxH=VE(e.maxH,"0pt"),this.maxW=VE(e.maxW,"0pt"),this.mergeMode=jE(e.mergeMode,["consumeData","matchTemplate"]),this.minH=VE(e.minH,"0pt"),this.minW=VE(e.minW,"0pt"),this.name=e.name||"",this.presence=jE(e.presence,["visible","hidden","inactive","invisible"]),this.relevant=XE(e.relevant),this.restoreState=jE(e.restoreState,["manual","auto"]),this.scope=jE(e.scope,["name","none"]),this.use=e.use||"",this.usehref=e.usehref||"",this.w=e.w?VE(e.w):"",this.x=VE(e.x,"0pt"),this.y=VE(e.y,"0pt"),this.assist=null,this.bind=null,this.bookend=null,this.border=null,this.break=null,this.calculate=null,this.desc=null,this.extras=null,this.keep=null,this.margin=null,this.occur=null,this.overflow=null,this.pageSet=null,this.para=null,this.traversal=null,this.validate=null,this.variables=null,this.area=new Nf,this.breakAfter=new Nf,this.breakBefore=new Nf,this.connect=new Nf,this.draw=new Nf,this.event=new Nf,this.exObject=new Nf,this.exclGroup=new Nf,this.field=new Nf,this.proto=new Nf,this.setProperty=new Nf,this.subform=new Nf,this.subformSet=new Nf}[$Q](){const e=this[eE]();return e instanceof By?e[$Q]():e}[oE](){return!0}[IE](){return this.layout.endsWith("-tb")&&0===this[HQ].attempt&&this[HQ].numberInLine>0||this[eE]()[IE]()}*[XQ](){yield*Qp(this)}[TQ](){return np(this)}[kQ](e,t){rp(this,e,t)}[KQ](){return op(this)}[lE](){const e=this[$Q]();return!!e[lE]()&&(void 0!==this[HQ]._isSplittable?this[HQ]._isSplittable:"position"===this.layout||this.layout.includes("row")||this.keep&&"none"!==this.keep.intact?(this[HQ]._isSplittable=!1,!1):(!e.layout?.endsWith("-tb")||0===e[HQ].numberInLine)&&(this[HQ]._isSplittable=!0,!0))}[LE](e){if(fp(this),this.break){if("auto"!==this.break.after||""!==this.break.afterTarget){const e=new Jp({targetType:this.break.after,target:this.break.afterTarget,startNew:this.break.startNew.toString()});e[AE]=this[AE],this[SQ](e),this.breakAfter.push(e)}if("auto"!==this.break.before||""!==this.break.beforeTarget){const e=new Tp({targetType:this.break.before,target:this.break.beforeTarget,startNew:this.break.startNew.toString()});e[AE]=this[AE],this[SQ](e),this.breakBefore.push(e)}if(""!==this.break.overflowTarget){const e=new Vm({target:this.break.overflowTarget,leader:this.break.overflowLeader,trailer:this.break.overflowTrailer});e[AE]=this[AE],this[SQ](e),this.overflow.push(e)}this[DE](this.break),this.break=null}if("hidden"===this.presence||"inactive"===this.presence)return zE.EMPTY;if((this.breakBefore.children.length>1||this.breakAfter.children.length>1)&&co("XFA - Several breakBefore or breakAfter in subforms: please file a bug."),this.breakBefore.children.length>=1){const e=this.breakBefore.children[0];if(Dp(e))return zE.breakNode(e)}if(this[HQ]?.afterBreakAfter)return zE.EMPTY;jf(this);const t=[],A={id:this[JE],class:[]};$f(this,A.class),this[HQ]||(this[HQ]=Object.create(null)),Object.assign(this[HQ],{children:t,line:null,attributes:A,attempt:0,numberInLine:0,availableSpace:{width:Math.min(this.w||1/0,e.width),height:Math.min(this.h||1/0,e.height)},width:0,height:0,prevHeight:0,currentWidth:0});const i=this[tE](),s=i[HQ].noLayoutFailure,a=this[lE]();if(a||wp(this),!gp(this,e))return zE.FAILURE;const n=new Set(["area","draw","exclGroup","field","subform","subformSet"]);if(this.layout.includes("row")){const e=this[$Q]().columnWidths;Array.isArray(e)&&e.length>0&&(this[HQ].columnWidths=e,this[HQ].currentColumn=0)}const r=Zf(this,"anchorType","dimensions","position","presence","border","margin","hAlign"),o=["xfaSubform"],g=Vf(this);if(g&&o.push(g),A.style=r,A.class=o,this.name&&(A.xfaName=this.name),this.overflow){const t=this.overflow[jQ]();t.addLeader&&(t.addLeader=!1,kp(this,t.leader,e))}this[bE]();const h="lr-tb"===this.layout||"rl-tb"===this.layout,c=h?2:1;for(;this[HQ].attempt<c;this[HQ].attempt++){h&&1===this[HQ].attempt&&(this[HQ].numberInLine=0);const e=this[FQ]({filter:n,include:!0});if(e.success)break;if(e.isBreak())return this[wE](),e;if(h&&0===this[HQ].attempt&&0===this[HQ].numberInLine&&!i[HQ].noLayoutFailure){this[HQ].attempt=c;break}}if(this[wE](),a||bp(this),i[HQ].noLayoutFailure=s,this[HQ].attempt===c)return this.overflow&&(this[tE]()[HQ].overflowNode=this.overflow),a||delete this[HQ],zE.FAILURE;if(this.overflow){const t=this.overflow[jQ]();t.addTrailer&&(t.addTrailer=!1,kp(this,t.trailer,e))}let l=0,I=0;this.margin&&(l=this.margin.leftInset+this.margin.rightInset,I=this.margin.topInset+this.margin.bottomInset);const d=Math.max(this[HQ].width+l,this.w||0),C=Math.max(this[HQ].height+I,this.h||0),u=[this.x,this.y,d,C];if(""===this.w&&(r.width=Yf(d)),""===this.h&&(r.height=Yf(C)),("0px"===r.width||"0px"===r.height)&&0===t.length)return zE.EMPTY;const B={name:"div",attributes:A,children:t};pp(this,A);const Q=zE.success(Xf(this,B),u);if(this.breakAfter.children.length>=1){const e=this.breakAfter.children[0];if(Dp(e))return this[HQ].afterBreakAfter=Q,zE.breakNode(e)}return delete this[HQ],Q}}class By extends vf{constructor(e){super(hp,"subformSet",!0),this.id=e.id||"",this.name=e.name||"",this.relation=jE(e.relation,["ordered","choice","unordered"]),this.relevant=XE(e.relevant),this.use=e.use||"",this.usehref=e.usehref||"",this.bookend=null,this.break=null,this.desc=null,this.extras=null,this.occur=null,this.overflow=null,this.breakAfter=new Nf,this.breakBefore=new Nf,this.subform=new Nf,this.subformSet=new Nf}*[XQ](){yield*Qp(this)}[$Q](){let e=this[eE]();for(;!(e instanceof uy);)e=e[eE]();return e}[oE](){return!0}}class Qy extends Lf{constructor(e){super(hp,"subjectDN"),this.delimiter=e.delimiter||",",this.id=e.id||"",this.name=e.name||"",this.use=e.use||"",this.usehref=e.usehref||""}[JQ](){this[GQ]=new Map(this[GQ].split(this.delimiter).map((e=>((e=e.split("=",2))[0]=e[0].trim(),e))))}}class Ey extends vf{constructor(e){super(hp,"subjectDNs",!0),this.id=e.id||"",this.type=jE(e.type,["optional","required"]),this.use=e.use||"",this.usehref=e.usehref||"",this.subjectDN=new Nf}}class fy extends vf{constructor(e){super(hp,"submit",!0),this.embedPDF=qE({data:e.embedPDF,defaultValue:0,validate:e=>1===e}),this.format=jE(e.format,["xdp","formdata","pdf","urlencoded","xfd","xml"]),this.id=e.id||"",this.target=e.target||"",this.textEncoding=WE({data:e.textEncoding?e.textEncoding.toLowerCase():"",defaultValue:"",validate:e=>["utf-8","big-five","fontspecific","gbk","gb-18030","gb-2312","ksc-5601","none","shift-jis","ucs-2","utf-16"].includes(e)||e.match(/iso-8859-\d{2}/)}),this.use=e.use||"",this.usehref=e.usehref||"",this.xdpContent=e.xdpContent||"",this.encrypt=null,this.encryptData=new Nf,this.signData=new Nf}}class py extends vf{constructor(e){super(hp,"template",!0),this.baseProfile=jE(e.baseProfile,["full","interactiveForms"]),this.extras=null,this.subform=new Nf}[JQ](){0===this.subform.children.length&&co("XFA - No subforms in template node."),this.subform.children.length>=2&&co("XFA - Several subforms in template node: please file a bug."),this[NE]=5e3}[lE](){return!0}[FE](e,t){return e.startsWith("#")?[this[sE].get(e.slice(1))]:cf(this,t,e,!0,!0)}*[GE](){if(!this.subform.children.length)return zE.success({name:"div",children:[]});this[HQ]={overflowNode:null,firstUnsplittable:null,currentContentArea:null,currentPageArea:null,noLayoutFailure:!1,pageNumber:1,pagePosition:"first",oddOrEven:"odd",blankOrNotBlank:"nonBlank",paraStack:[]};const e=this.subform.children[0];e.pageSet[xQ]();const t=e.pageSet.pageArea.children,A={name:"div",children:[]};let i=null,s=null,a=null;if(e.breakBefore.children.length>=1?(s=e.breakBefore.children[0],a=s.target):e.subform.children.length>=1&&e.subform.children[0].breakBefore.children.length>=1?(s=e.subform.children[0].breakBefore.children[0],a=s.target):e.break?.beforeTarget?(s=e.break,a=s.beforeTarget):e.subform.children.length>=1&&e.subform.children[0].break?.beforeTarget&&(s=e.subform.children[0].break,a=s.beforeTarget),s){const e=this[FE](a,s[eE]());e instanceof Zm&&(i=e,s[HQ]={})}i||(i=t[0]),i[HQ]={numberOfUse:1};const n=i[eE]();let r;n[HQ]={numberOfUse:1,pageIndex:n.pageArea.children.indexOf(i),pageSetIndex:0};let o=null,g=null,h=!0,c=0,l=0;for(;;){if(h)c=0;else if(A.children.pop(),3==++c)return co("XFA - Something goes wrong: please file a bug."),A;r=null,this[HQ].currentPageArea=i;const t=i[LE]().html;A.children.push(t),o&&(this[HQ].noLayoutFailure=!0,t.children.push(o[LE](i[HQ].space).html),o=null),g&&(this[HQ].noLayoutFailure=!0,t.children.push(g[LE](i[HQ].space).html),g=null);const s=i.contentArea.children,a=t.children.filter((e=>e.attributes.class.includes("xfaContentarea")));h=!1,this[HQ].firstUnsplittable=null,this[HQ].noLayoutFailure=!1;const n=t=>{const A=e[TQ]();A&&(h||=A.children?.length>0,a[t].children.push(A))};for(let t=l,i=s.length;t<i;t++){const i=this[HQ].currentContentArea=s[t],c={width:i.w,height:i.h};l=0,o&&(a[t].children.push(o[LE](c).html),o=null),g&&(a[t].children.push(g[LE](c).html),g=null);const I=e[LE](c);if(I.success)return I.html?(h||=I.html.children?.length>0,a[t].children.push(I.html)):!h&&A.children.length>1&&A.children.pop(),A;if(I.isBreak()){const e=I.breakNode;if(n(t),"auto"===e.targetType)continue;e.leader&&(o=this[FE](e.leader,e[eE]()),o=o?o[0]:null),e.trailer&&(g=this[FE](e.trailer,e[eE]()),g=g?g[0]:null),"pageArea"===e.targetType?(r=e[HQ].target,t=1/0):e[HQ].target?(r=e[HQ].target,l=e[HQ].index+1,t=1/0):t=e[HQ].index}else if(this[HQ].overflowNode){const e=this[HQ].overflowNode;this[HQ].overflowNode=null;const A=e[jQ](),i=A.target;A.addLeader=null!==A.leader,A.addTrailer=null!==A.trailer,n(t);const a=t;if(t=1/0,i instanceof Zm)r=i;else if(i instanceof Xp){const e=s.indexOf(i);-1!==e?e>a?t=e-1:l=e:(r=i[eE](),l=r.contentArea.children.indexOf(i))}}else n(t)}this[HQ].pageNumber+=1,r&&(r[CE]()?r[HQ].numberOfUse+=1:r=null),i=r||i[zQ](),yield null}}}class my extends Lf{constructor(e){super(hp,"text"),this.id=e.id||"",this.maxChars=qE({data:e.maxChars,defaultValue:0,validate:e=>e>=0}),this.name=e.name||"",this.rid=e.rid||"",this.use=e.use||"",this.usehref=e.usehref||""}[DQ](){return!0}[fE](e){return e[BE]===PE.xhtml.id?(this[GQ]=e,!0):(co(`XFA - Invalid content in Text: ${e[QE]}.`),!1)}[mE](e){this[GQ]instanceof vf||super[mE](e)}[JQ](){"string"==typeof this[GQ]&&(this[GQ]=this[GQ].replaceAll("\r\n","\n"))}[jQ](){return"string"==typeof this[GQ]?this[GQ].split(/[\u2029\u2028\n]/).reduce(((e,t)=>(t&&e.push(t),e)),[]).join("\n"):this[GQ][ME]()}[LE](e){if("string"==typeof this[GQ]){const e=yp(this[GQ]).html;return this[GQ].includes("\u2029")?(e.name="div",e.children=[],this[GQ].split("\u2029").map((e=>e.split(/[\u2028\n]/).reduce(((e,t)=>(e.push({name:"span",value:t},{name:"br"}),e)),[]))).forEach((t=>{e.children.push({name:"p",children:t})}))):/[\u2028\n]/.test(this[GQ])&&(e.name="div",e.children=[],this[GQ].split(/[\u2028\n]/).forEach((t=>{e.children.push({name:"span",value:t},{name:"br"})}))),zE.success(e)}return this[GQ][LE](e)}}class yy extends vf{constructor(e){super(hp,"textEdit",!0),this.allowRichText=qE({data:e.allowRichText,defaultValue:0,validate:e=>1===e}),this.hScrollPolicy=jE(e.hScrollPolicy,["auto","off","on"]),this.id=e.id||"",this.multiLine=qE({data:e.multiLine,defaultValue:"",validate:e=>0===e||1===e}),this.use=e.use||"",this.usehref=e.usehref||"",this.vScrollPolicy=jE(e.vScrollPolicy,["auto","off","on"]),this.border=null,this.comb=null,this.extras=null,this.margin=null}[LE](e){const t=Zf(this,"border","font","margin");let A;const i=this[eE]()[eE]();return""===this.multiLine&&(this.multiLine=i instanceof rm?1:0),A=1===this.multiLine?{name:"textarea",attributes:{dataId:i[LQ]?.[JE]||i[JE],fieldId:i[JE],class:["xfaTextfield"],style:t,"aria-label":mp(i),"aria-required":!1}}:{name:"input",attributes:{type:"text",dataId:i[LQ]?.[JE]||i[JE],fieldId:i[JE],class:["xfaTextfield"],style:t,"aria-label":mp(i),"aria-required":!1}},Ep(i)&&(A.attributes["aria-required"]=!0,A.attributes.required=!0),zE.success({name:"label",attributes:{class:["xfaLabel"]},children:[A]})}}class wy extends Hf{constructor(e){super(hp,"time"),this.id=e.id||"",this.name=e.name||"",this.use=e.use||"",this.usehref=e.usehref||""}[JQ](){const e=this[GQ].trim();this[GQ]=e?new Date(e):null}[LE](e){return yp(this[GQ]?this[GQ].toString():"")}}class by extends vf{constructor(e){super(hp,"timeStamp"),this.id=e.id||"",this.server=e.server||"",this.type=jE(e.type,["optional","required"]),this.use=e.use||"",this.usehref=e.usehref||""}}class Dy extends Hf{constructor(e){super(hp,"toolTip"),this.id=e.id||"",this.rid=e.rid||"",this.use=e.use||"",this.usehref=e.usehref||""}}class ky extends vf{constructor(e){super(hp,"traversal",!0),this.id=e.id||"",this.use=e.use||"",this.usehref=e.usehref||"",this.extras=null,this.traverse=new Nf}}class Sy extends vf{constructor(e){super(hp,"traverse",!0),this.id=e.id||"",this.operation=jE(e.operation,["next","back","down","first","left","right","up"]),this.ref=e.ref||"",this.use=e.use||"",this.usehref=e.usehref||"",this.extras=null,this.script=null}get name(){return this.operation}[dE](){return!1}}class Fy extends vf{constructor(e){super(hp,"ui",!0),this.id=e.id||"",this.use=e.use||"",this.usehref=e.usehref||"",this.extras=null,this.picture=null,this.barcode=null,this.button=null,this.checkButton=null,this.choiceList=null,this.dateTimeEdit=null,this.defaultUi=null,this.imageEdit=null,this.numericEdit=null,this.passwordEdit=null,this.signature=null,this.textEdit=null}[jQ](){if(void 0===this[HQ]){for(const e of Object.getOwnPropertyNames(this)){if("extras"===e||"picture"===e)continue;const t=this[e];if(t instanceof vf)return this[HQ]=t,t}this[HQ]=null}return this[HQ]}[LE](e){const t=this[jQ]();return t?t[LE](e):zE.EMPTY}}class Ry extends vf{constructor(e){super(hp,"validate",!0),this.formatTest=jE(e.formatTest,["warning","disabled","error"]),this.id=e.id||"",this.nullTest=jE(e.nullTest,["disabled","error","warning"]),this.scriptTest=jE(e.scriptTest,["error","disabled","warning"]),this.use=e.use||"",this.usehref=e.usehref||"",this.extras=null,this.message=null,this.picture=null,this.script=null}}class xy extends vf{constructor(e){super(hp,"value",!0),this.id=e.id||"",this.override=qE({data:e.override,defaultValue:0,validate:e=>1===e}),this.relevant=XE(e.relevant),this.use=e.use||"",this.usehref=e.usehref||"",this.arc=null,this.boolean=null,this.date=null,this.dateTime=null,this.decimal=null,this.exData=null,this.float=null,this.image=null,this.integer=null,this.line=null,this.rectangle=null,this.text=null,this.time=null}[vE](e){const t=this[eE]();if(t instanceof mm&&t.ui?.imageEdit)return this.image||(this.image=new Rm({}),this[SQ](this.image)),void(this.image[GQ]=e[GQ]);const A=e[QE];if(null===this[A]){for(const e of Object.getOwnPropertyNames(this)){const t=this[e];t instanceof vf&&(this[e]=null,this[DE](t))}this[e[QE]]=e,this[SQ](e)}else this[A][GQ]=e[GQ]}[ME](){if(this.exData)return"string"==typeof this.exData[GQ]?this.exData[GQ].trim():this.exData[GQ][ME]().trim();for(const e of Object.getOwnPropertyNames(this)){if("image"===e)continue;const t=this[e];if(t instanceof vf)return(t[GQ]||"").toString().trim()}return null}[LE](e){for(const t of Object.getOwnPropertyNames(this)){const A=this[t];if(A instanceof vf)return A[LE](e)}return zE.EMPTY}}class vy extends vf{constructor(e){super(hp,"variables",!0),this.id=e.id||"",this.use=e.use||"",this.usehref=e.usehref||"",this.boolean=new Nf,this.date=new Nf,this.dateTime=new Nf,this.decimal=new Nf,this.exData=new Nf,this.float=new Nf,this.image=new Nf,this.integer=new Nf,this.manifest=new Nf,this.script=new Nf,this.text=new Nf,this.time=new Nf}[dE](){return!0}}class Ny{static[TE](e,t){if(Ny.hasOwnProperty(e)){const A=Ny[e](t);return A[xE](t),A}}static appearanceFilter(e){return new Sp(e)}static arc(e){return new Fp(e)}static area(e){return new Rp(e)}static assist(e){return new xp(e)}static barcode(e){return new vp(e)}static bind(e){return new Np(e)}static bindItems(e){return new Mp(e)}static bookend(e){return new Gp(e)}static boolean(e){return new Lp(e)}static border(e){return new Up(e)}static break(e){return new Hp(e)}static breakAfter(e){return new Jp(e)}static breakBefore(e){return new Tp(e)}static button(e){return new Pp(e)}static calculate(e){return new Yp(e)}static caption(e){return new Kp(e)}static certificate(e){return new _p(e)}static certificates(e){return new qp(e)}static checkButton(e){return new Op(e)}static choiceList(e){return new Wp(e)}static color(e){return new jp(e)}static comb(e){return new Vp(e)}static connect(e){return new Zp(e)}static contentArea(e){return new Xp(e)}static corner(e){return new zp(e)}static date(e){return new $p(e)}static dateTime(e){return new em(e)}static dateTimeEdit(e){return new tm(e)}static decimal(e){return new Am(e)}static defaultUi(e){return new im(e)}static desc(e){return new sm(e)}static digestMethod(e){return new am(e)}static digestMethods(e){return new nm(e)}static draw(e){return new rm(e)}static edge(e){return new om(e)}static encoding(e){return new gm(e)}static encodings(e){return new hm(e)}static encrypt(e){return new cm(e)}static encryptData(e){return new lm(e)}static encryption(e){return new Im(e)}static encryptionMethod(e){return new dm(e)}static encryptionMethods(e){return new Cm(e)}static event(e){return new um(e)}static exData(e){return new Bm(e)}static exObject(e){return new Qm(e)}static exclGroup(e){return new Em(e)}static execute(e){return new fm(e)}static extras(e){return new pm(e)}static field(e){return new mm(e)}static fill(e){return new ym(e)}static filter(e){return new wm(e)}static float(e){return new bm(e)}static font(e){return new Dm(e)}static format(e){return new km(e)}static handler(e){return new Sm(e)}static hyphenation(e){return new Fm(e)}static image(e){return new Rm(e)}static imageEdit(e){return new xm(e)}static integer(e){return new vm(e)}static issuers(e){return new Nm(e)}static items(e){return new Mm(e)}static keep(e){return new Gm(e)}static keyUsage(e){return new Lm(e)}static line(e){return new Um(e)}static linear(e){return new Hm(e)}static lockDocument(e){return new Jm(e)}static manifest(e){return new Tm(e)}static margin(e){return new Pm(e)}static mdp(e){return new Ym(e)}static medium(e){return new Km(e)}static message(e){return new _m(e)}static numericEdit(e){return new qm(e)}static occur(e){return new Om(e)}static oid(e){return new Wm(e)}static oids(e){return new jm(e)}static overflow(e){return new Vm(e)}static pageArea(e){return new Zm(e)}static pageSet(e){return new Xm(e)}static para(e){return new zm(e)}static passwordEdit(e){return new $m(e)}static pattern(e){return new ey(e)}static picture(e){return new ty(e)}static proto(e){return new Ay(e)}static radial(e){return new iy(e)}static reason(e){return new sy(e)}static reasons(e){return new ay(e)}static rectangle(e){return new ny(e)}static ref(e){return new ry(e)}static script(e){return new oy(e)}static setProperty(e){return new gy(e)}static signData(e){return new hy(e)}static signature(e){return new cy(e)}static signing(e){return new ly(e)}static solid(e){return new Iy(e)}static speak(e){return new dy(e)}static stipple(e){return new Cy(e)}static subform(e){return new uy(e)}static subformSet(e){return new By(e)}static subjectDN(e){return new Qy(e)}static subjectDNs(e){return new Ey(e)}static submit(e){return new fy(e)}static template(e){return new py(e)}static text(e){return new my(e)}static textEdit(e){return new yy(e)}static time(e){return new wy(e)}static timeStamp(e){return new by(e)}static toolTip(e){return new Dy(e)}static traversal(e){return new ky(e)}static traverse(e){return new Sy(e)}static ui(e){return new Fy(e)}static validate(e){return new Ry(e)}static value(e){return new xy(e)}static variables(e){return new vy(e)}}const My=PE.datasets.id;function Gy(e){const t=new my({});return t[GQ]=e,t}class Ly{constructor(e){this.root=e,this.datasets=e.datasets,this.data=e.datasets?.data||new Gf(PE.datasets.id,"data"),this.emptyMerge=0===this.data[ZQ]().length,this.root.form=this.form=e.template[NQ]()}_isConsumeData(){return!this.emptyMerge&&this._mergeMode}_isMatchTemplate(){return!this._isConsumeData()}bind(){return this._bindElement(this.form,this.data),this.form}getData(){return this.data}_bindValue(e,t,A){if(e[LQ]=t,e[iE]())if(t[gE]()){const A=t[WQ]();e[vE](Gy(A))}else if(e instanceof mm&&"multiSelect"===e.ui?.choiceList?.open){const A=t[ZQ]().map((e=>e[GQ].trim())).join("\n");e[vE](Gy(A))}else this._isConsumeData()&&co("XFA - Nodes haven't the same type.");else!t[gE]()||this._isMatchTemplate()?this._bindElement(e,t):co("XFA - Nodes haven't the same type.")}_findDataByNameToConsume(e,t,A,i){if(!e)return null;let s,a;for(let i=0;i<3;i++){for(s=A[VQ](e,!1,!0);a=s.next().value,a;)if(t===a[gE]())return a;if(A[BE]===PE.datasets.id&&"data"===A[QE])break;A=A[eE]()}return i?(s=this.data[VQ](e,!0,!1),a=s.next().value,a||(s=this.data[PQ](e,!0),a=s.next().value,a?.[gE]()?a:null)):null}_setProperties(e,t){if(e.hasOwnProperty("setProperty"))for(const{ref:A,target:i,connection:s}of e.setProperty.children){if(s)continue;if(!A)continue;const a=cf(this.root,t,A,!1,!1);if(!a){co(`XFA - Invalid reference: ${A}.`);continue}const[n]=a;if(!n[hE](this.data)){co("XFA - Invalid node: must be a data node.");continue}const r=cf(this.root,e,i,!1,!1);if(!r){co(`XFA - Invalid target: ${i}.`);continue}const[o]=r;if(!o[hE](e)){co("XFA - Invalid target: must be a property or subproperty.");continue}const g=o[eE]();if(o instanceof gy||g instanceof gy){co("XFA - Invalid target: cannot be a setProperty or one of its properties.");continue}if(o instanceof Mp||g instanceof Mp){co("XFA - Invalid target: cannot be a bindItems or one of its properties.");continue}const h=n[ME](),c=o[QE];if(o instanceof Mf){const e=Object.create(null);e[c]=h;const t=Reflect.construct(Object.getPrototypeOf(g).constructor,[e]);g[c]=t[c]}else o.hasOwnProperty(GQ)?(o[LQ]=n,o[GQ]=h,o[JQ]()):co("XFA - Invalid node to use in setProperty")}}_bindItems(e,t){if(!e.hasOwnProperty("items")||!e.hasOwnProperty("bindItems")||e.bindItems.isEmpty())return;for(const t of e.items.children)e[DE](t);e.items.clear();const A=new Mm({}),i=new Mm({});e[SQ](A),e.items.push(A),e[SQ](i),e.items.push(i);for(const{ref:s,labelRef:a,valueRef:n,connection:r}of e.bindItems.children){if(r)continue;if(!s)continue;const e=cf(this.root,t,s,!1,!1);if(e)for(const t of e){if(!t[hE](this.datasets)){co(`XFA - Invalid ref (${s}): must be a datasets child.`);continue}const e=cf(this.root,t,a,!0,!1);if(!e){co(`XFA - Invalid label: ${a}.`);continue}const[r]=e;if(!r[hE](this.datasets)){co("XFA - Invalid label: must be a datasets child.");continue}const o=cf(this.root,t,n,!0,!1);if(!o){co(`XFA - Invalid value: ${n}.`);continue}const[g]=o;if(!g[hE](this.datasets)){co("XFA - Invalid value: must be a datasets child.");continue}const h=Gy(r[ME]()),c=Gy(g[ME]());A[SQ](h),A.text.push(h),i[SQ](c),i.text.push(c)}else co(`XFA - Invalid reference: ${s}.`)}}_bindOccurrences(e,t,A){let i;if(t.length>1&&(i=e[NQ](),i[DE](i.occur),i.occur=null),this._bindValue(e,t[0],A),this._setProperties(e,t[0]),this._bindItems(e,t[0]),1===t.length)return;const s=e[eE](),a=e[QE],n=s[aE](e);for(let e=1,r=t.length;e<r;e++){const r=t[e],o=i[NQ]();s[a].push(o),s[nE](n+e,o),this._bindValue(o,r,A),this._setProperties(o,r),this._bindItems(o,r)}}_createOccurrences(e){if(!this.emptyMerge)return;const{occur:t}=e;if(!t||t.initial<=1)return;const A=e[eE](),i=e[QE];if(!(A[i]instanceof Nf))return;let s;s=e.name?A[i].children.filter((t=>t.name===e.name)).length:A[i].children.length;const a=A[aE](e)+1,n=t.initial-s;if(n){const t=e[NQ]();t[DE](t.occur),t.occur=null,A[i].push(t),A[nE](a,t);for(let e=1;e<n;e++){const s=t[NQ]();A[i].push(s),A[nE](a+e,s)}}}_getOccurInfo(e){const{name:t,occur:A}=e;if(!A||!t)return[1,1];const i=-1===A.max?1/0:A.max;return[A.min,i]}_setAndBind(e,t){this._setProperties(e,t),this._bindItems(e,t),this._bindElement(e,t)}_bindElement(e,t){const A=[];this._createOccurrences(e);for(const i of e[ZQ]()){if(i[LQ])continue;if(void 0===this._mergeMode&&"subform"===i[QE]){this._mergeMode="consumeData"===i.mergeMode;const e=t[ZQ]();if(e.length>0)this._bindOccurrences(i,[e[0]],null);else if(this.emptyMerge){const e=t[BE]===My?-1:t[BE],A=i[LQ]=new Gf(e,i.name||"root");t[SQ](A),this._bindElement(i,A)}continue}if(!i[oE]())continue;let e=!1,s=null,a=null,n=null;if(i.bind){switch(i.bind.match){case"none":this._setAndBind(i,t);continue;case"global":e=!0;break;case"dataRef":if(!i.bind.ref){co(`XFA - ref is empty in node ${i[QE]}.`),this._setAndBind(i,t);continue}a=i.bind.ref}i.bind.picture&&(s=i.bind.picture[GQ])}const[r,o]=this._getOccurInfo(i);if(a){if(n=cf(this.root,t,a,!0,!1),null===n){if(n=lf(this.data,t,a),!n)continue;this._isConsumeData()&&(n[MQ]=!0),this._setAndBind(i,n);continue}this._isConsumeData()&&(n=n.filter((e=>!e[MQ]))),n.length>o?n=n.slice(0,o):0===n.length&&(n=null),n&&this._isConsumeData()&&n.forEach((e=>{e[MQ]=!0}))}else{if(!i.name){this._setAndBind(i,t);continue}if(this._isConsumeData()){const A=[];for(;A.length<o;){const s=this._findDataByNameToConsume(i.name,i[iE](),t,e);if(!s)break;s[MQ]=!0,A.push(s)}n=A.length>0?A:null}else{if(n=t[VQ](i.name,!1,this.emptyMerge).next().value,!n){if(0===r){A.push(i);continue}const e=t[BE]===My?-1:t[BE];n=i[LQ]=new Gf(e,i.name),this.emptyMerge&&(n[MQ]=!0),t[SQ](n),this._setAndBind(i,n);continue}this.emptyMerge&&(n[MQ]=!0),n=[n]}}n?this._bindOccurrences(i,n,s):r>0?this._setAndBind(i,t):A.push(i)}A.forEach((e=>e[eE]()[DE](e)))}}class Uy{constructor(e,t){this.data=t,this.dataset=e.datasets||null}serialize(e){const t=[[-1,this.data[ZQ]()]];for(;t.length>0;){const A=t.at(-1),[i,s]=A;if(i+1===s.length){t.pop();continue}const a=s[++A[0]],n=e.get(a[JE]);if(n)a[vE](n);else{const t=a[YQ]();for(const A of t.values()){const t=e.get(A[JE]);if(t){A[vE](t);break}}}const r=a[ZQ]();r.length>0&&t.push([-1,r])}const A=['<xfa:datasets xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/">'];if(this.dataset)for(const e of this.dataset[ZQ]())"data"!==e[QE]&&e[UE](A);return this.data[UE](A),A.push("</xfa:datasets>"),A.join("")}}const Hy=PE.config.id;class Jy extends vf{constructor(e){super(Hy,"acrobat",!0),this.acrobat7=null,this.autoSave=null,this.common=null,this.validate=null,this.validateApprovalSignatures=null,this.submitUrl=new Nf}}class Ty extends vf{constructor(e){super(Hy,"acrobat7",!0),this.dynamicRender=null}}class Py extends Uf{constructor(e){super(Hy,"ADBE_JSConsole",["delegate","Enable","Disable"])}}class Yy extends Uf{constructor(e){super(Hy,"ADBE_JSDebugger",["delegate","Enable","Disable"])}}class Ky extends Tf{constructor(e){super(Hy,"addSilentPrint")}}class _y extends Tf{constructor(e){super(Hy,"addViewerPreferences")}}class qy extends Pf{constructor(e){super(Hy,"adjustData")}}class Oy extends Jf{constructor(e){super(Hy,"adobeExtensionLevel",0,(e=>e>=1&&e<=8))}}class Wy extends vf{constructor(e){super(Hy,"agent",!0),this.name=e.name?e.name.trim():"",this.common=new Nf}}class jy extends Lf{constructor(e){super(Hy,"alwaysEmbed")}}class Vy extends Hf{constructor(e){super(Hy,"amd")}}class Zy extends vf{constructor(e){super(Hy,"area"),this.level=qE({data:e.level,defaultValue:0,validate:e=>e>=1&&e<=3}),this.name=jE(e.name,["","barcode","coreinit","deviceDriver","font","general","layout","merge","script","signature","sourceSet","templateCache"])}}class Xy extends Uf{constructor(e){super(Hy,"attributes",["preserve","delegate","ignore"])}}class zy extends Uf{constructor(e){super(Hy,"autoSave",["disabled","enabled"])}}class $y extends Hf{constructor(e){super(Hy,"base")}}class ew extends vf{constructor(e){super(Hy,"batchOutput"),this.format=jE(e.format,["none","concat","zip","zipCompress"])}}class tw extends Lf{constructor(e){super(Hy,"behaviorOverride")}[JQ](){this[GQ]=new Map(this[GQ].trim().split(/\s+/).filter((e=>e.includes(":"))).map((e=>e.split(":",2))))}}class Aw extends vf{constructor(e){super(Hy,"cache",!0),this.templateCache=null}}class iw extends Tf{constructor(e){super(Hy,"change")}}class sw extends vf{constructor(e){super(Hy,"common",!0),this.data=null,this.locale=null,this.localeSet=null,this.messaging=null,this.suppressBanner=null,this.template=null,this.validationMessaging=null,this.versionControl=null,this.log=new Nf}}class aw extends vf{constructor(e){super(Hy,"compress"),this.scope=jE(e.scope,["imageOnly","document"])}}class nw extends Tf{constructor(e){super(Hy,"compressLogicalStructure")}}class rw extends Pf{constructor(e){super(Hy,"compressObjectStream")}}class ow extends vf{constructor(e){super(Hy,"compression",!0),this.compressLogicalStructure=null,this.compressObjectStream=null,this.level=null,this.type=null}}class gw extends vf{constructor(e){super(Hy,"config",!0),this.acrobat=null,this.present=null,this.trace=null,this.agent=new Nf}}class hw extends Uf{constructor(e){super(Hy,"conformance",["A","B"])}}class cw extends Tf{constructor(e){super(Hy,"contentCopy")}}class lw extends Jf{constructor(e){super(Hy,"copies",1,(e=>e>=1))}}class Iw extends Hf{constructor(e){super(Hy,"creator")}}class dw extends Jf{constructor(e){super(Hy,"currentPage",0,(e=>e>=0))}}class Cw extends vf{constructor(e){super(Hy,"data",!0),this.adjustData=null,this.attributes=null,this.incrementalLoad=null,this.outputXSL=null,this.range=null,this.record=null,this.startNode=null,this.uri=null,this.window=null,this.xsl=null,this.excludeNS=new Nf,this.transform=new Nf}}class uw extends vf{constructor(e){super(Hy,"debug",!0),this.uri=null}}class Bw extends Lf{constructor(e){super(Hy,"defaultTypeface"),this.writingScript=jE(e.writingScript,["*","Arabic","Cyrillic","EastEuropeanRoman","Greek","Hebrew","Japanese","Korean","Roman","SimplifiedChinese","Thai","TraditionalChinese","Vietnamese"])}}class Qw extends Uf{constructor(e){super(Hy,"destination",["pdf","pcl","ps","webClient","zpl"])}}class Ew extends Tf{constructor(e){super(Hy,"documentAssembly")}}class fw extends vf{constructor(e){super(Hy,"driver",!0),this.name=e.name?e.name.trim():"",this.fontInfo=null,this.xdc=null}}class pw extends Uf{constructor(e){super(Hy,"duplexOption",["simplex","duplexFlipLongEdge","duplexFlipShortEdge"])}}class mw extends Uf{constructor(e){super(Hy,"dynamicRender",["forbidden","required"])}}class yw extends Tf{constructor(e){super(Hy,"embed")}}class ww extends Tf{constructor(e){super(Hy,"encrypt")}}class bw extends vf{constructor(e){super(Hy,"encryption",!0),this.encrypt=null,this.encryptionLevel=null,this.permissions=null}}class Dw extends Uf{constructor(e){super(Hy,"encryptionLevel",["40bit","128bit"])}}class kw extends Hf{constructor(e){super(Hy,"enforce")}}class Sw extends vf{constructor(e){super(Hy,"equate"),this.force=qE({data:e.force,defaultValue:1,validate:e=>0===e}),this.from=e.from||"",this.to=e.to||""}}class Fw extends vf{constructor(e){super(Hy,"equateRange"),this.from=e.from||"",this.to=e.to||"",this._unicodeRange=e.unicodeRange||""}get unicodeRange(){const e=[],t=/U\+([0-9a-fA-F]+)/,A=this._unicodeRange;for(let i of A.split(",").map((e=>e.trim())).filter((e=>!!e)))i=i.split("-",2).map((e=>{const A=e.match(t);return A?parseInt(A[1],16):0})),1===i.length&&i.push(i[0]),e.push(i);return uo(this,"unicodeRange",e)}}class Rw extends Lf{constructor(e){super(Hy,"exclude")}[JQ](){this[GQ]=this[GQ].trim().split(/\s+/).filter((e=>e&&["calculate","close","enter","exit","initialize","ready","validate"].includes(e)))}}class xw extends Hf{constructor(e){super(Hy,"excludeNS")}}class vw extends Uf{constructor(e){super(Hy,"flipLabel",["usePrinterSetting","on","off"])}}class Nw extends vf{constructor(e){super(Hy,"fontInfo",!0),this.embed=null,this.map=null,this.subsetBelow=null,this.alwaysEmbed=new Nf,this.defaultTypeface=new Nf,this.neverEmbed=new Nf}}class Mw extends Tf{constructor(e){super(Hy,"formFieldFilling")}}class Gw extends Hf{constructor(e){super(Hy,"groupParent")}}class Lw extends Uf{constructor(e){super(Hy,"ifEmpty",["dataValue","dataGroup","ignore","remove"])}}class Uw extends Hf{constructor(e){super(Hy,"includeXDPContent")}}class Hw extends Uf{constructor(e){super(Hy,"incrementalLoad",["none","forwardOnly"])}}class Jw extends Tf{constructor(e){super(Hy,"incrementalMerge")}}class Tw extends Tf{constructor(e){super(Hy,"interactive")}}class Pw extends Uf{constructor(e){super(Hy,"jog",["usePrinterSetting","none","pageSet"])}}class Yw extends vf{constructor(e){super(Hy,"labelPrinter",!0),this.name=jE(e.name,["zpl","dpl","ipl","tcpl"]),this.batchOutput=null,this.flipLabel=null,this.fontInfo=null,this.xdc=null}}class Kw extends Uf{constructor(e){super(Hy,"layout",["paginate","panel"])}}class _w extends Jf{constructor(e){super(Hy,"level",0,(e=>e>0))}}class qw extends Tf{constructor(e){super(Hy,"linearized")}}class Ow extends Hf{constructor(e){super(Hy,"locale")}}class Ww extends Hf{constructor(e){super(Hy,"localeSet")}}class jw extends vf{constructor(e){super(Hy,"log",!0),this.mode=null,this.threshold=null,this.to=null,this.uri=null}}class Vw extends vf{constructor(e){super(Hy,"map",!0),this.equate=new Nf,this.equateRange=new Nf}}class Zw extends vf{constructor(e){super(Hy,"mediumInfo",!0),this.map=null}}class Xw extends vf{constructor(e){super(Hy,"message",!0),this.msgId=null,this.severity=null}}class zw extends vf{constructor(e){super(Hy,"messaging",!0),this.message=new Nf}}class $w extends Uf{constructor(e){super(Hy,"mode",["append","overwrite"])}}class eb extends Tf{constructor(e){super(Hy,"modifyAnnots")}}class tb extends Jf{constructor(e){super(Hy,"msgId",1,(e=>e>=1))}}class Ab extends Hf{constructor(e){super(Hy,"nameAttr")}}class ib extends Lf{constructor(e){super(Hy,"neverEmbed")}}class sb extends Jf{constructor(e){super(Hy,"numberOfCopies",null,(e=>e>=2&&e<=5))}}class ab extends vf{constructor(e){super(Hy,"openAction",!0),this.destination=null}}class nb extends vf{constructor(e){super(Hy,"output",!0),this.to=null,this.type=null,this.uri=null}}class rb extends Hf{constructor(e){super(Hy,"outputBin")}}class ob extends vf{constructor(e){super(Hy,"outputXSL",!0),this.uri=null}}class gb extends Uf{constructor(e){super(Hy,"overprint",["none","both","draw","field"])}}class hb extends Hf{constructor(e){super(Hy,"packets")}[JQ](){"*"!==this[GQ]&&(this[GQ]=this[GQ].trim().split(/\s+/).filter((e=>["config","datasets","template","xfdf","xslt"].includes(e))))}}class cb extends vf{constructor(e){super(Hy,"pageOffset"),this.x=qE({data:e.x,defaultValue:"useXDCSetting",validate:e=>!0}),this.y=qE({data:e.y,defaultValue:"useXDCSetting",validate:e=>!0})}}class lb extends Hf{constructor(e){super(Hy,"pageRange")}[JQ](){const e=this[GQ].trim().split(/\s+/).map((e=>parseInt(e,10))),t=[];for(let A=0,i=e.length;A<i;A+=2)t.push(e.slice(A,A+2));this[GQ]=t}}class Ib extends Uf{constructor(e){super(Hy,"pagination",["simplex","duplexShortEdge","duplexLongEdge"])}}class db extends Uf{constructor(e){super(Hy,"paginationOverride",["none","forceDuplex","forceDuplexLongEdge","forceDuplexShortEdge","forceSimplex"])}}class Cb extends Jf{constructor(e){super(Hy,"part",1,(e=>!1))}}class ub extends vf{constructor(e){super(Hy,"pcl",!0),this.name=e.name||"",this.batchOutput=null,this.fontInfo=null,this.jog=null,this.mediumInfo=null,this.outputBin=null,this.pageOffset=null,this.staple=null,this.xdc=null}}class Bb extends vf{constructor(e){super(Hy,"pdf",!0),this.name=e.name||"",this.adobeExtensionLevel=null,this.batchOutput=null,this.compression=null,this.creator=null,this.encryption=null,this.fontInfo=null,this.interactive=null,this.linearized=null,this.openAction=null,this.pdfa=null,this.producer=null,this.renderPolicy=null,this.scriptModel=null,this.silentPrint=null,this.submitFormat=null,this.tagged=null,this.version=null,this.viewerPreferences=null,this.xdc=null}}class Qb extends vf{constructor(e){super(Hy,"pdfa",!0),this.amd=null,this.conformance=null,this.includeXDPContent=null,this.part=null}}class Eb extends vf{constructor(e){super(Hy,"permissions",!0),this.accessibleContent=null,this.change=null,this.contentCopy=null,this.documentAssembly=null,this.formFieldFilling=null,this.modifyAnnots=null,this.plaintextMetadata=null,this.print=null,this.printHighQuality=null}}class fb extends Tf{constructor(e){super(Hy,"pickTrayByPDFSize")}}class pb extends Hf{constructor(e){super(Hy,"picture")}}class mb extends Tf{constructor(e){super(Hy,"plaintextMetadata")}}class yb extends Uf{constructor(e){super(Hy,"presence",["preserve","dissolve","dissolveStructure","ignore","remove"])}}class wb extends vf{constructor(e){super(Hy,"present",!0),this.behaviorOverride=null,this.cache=null,this.common=null,this.copies=null,this.destination=null,this.incrementalMerge=null,this.layout=null,this.output=null,this.overprint=null,this.pagination=null,this.paginationOverride=null,this.script=null,this.validate=null,this.xdp=null,this.driver=new Nf,this.labelPrinter=new Nf,this.pcl=new Nf,this.pdf=new Nf,this.ps=new Nf,this.submitUrl=new Nf,this.webClient=new Nf,this.zpl=new Nf}}class bb extends Tf{constructor(e){super(Hy,"print")}}class Db extends Tf{constructor(e){super(Hy,"printHighQuality")}}class kb extends Uf{constructor(e){super(Hy,"printScaling",["appdefault","noScaling"])}}class Sb extends Hf{constructor(e){super(Hy,"printerName")}}class Fb extends Hf{constructor(e){super(Hy,"producer")}}class Rb extends vf{constructor(e){super(Hy,"ps",!0),this.name=e.name||"",this.batchOutput=null,this.fontInfo=null,this.jog=null,this.mediumInfo=null,this.outputBin=null,this.staple=null,this.xdc=null}}let xb=class extends Lf{constructor(e){super(Hy,"range")}[JQ](){this[GQ]=this[GQ].trim().split(/\s*,\s*/,2).map((e=>e.split("-").map((e=>parseInt(e.trim(),10))))).filter((e=>e.every((e=>!isNaN(e))))).map((e=>(1===e.length&&e.push(e[0]),e)))}};class vb extends Lf{constructor(e){super(Hy,"record")}[JQ](){this[GQ]=this[GQ].trim();const e=parseInt(this[GQ],10);!isNaN(e)&&e>=0&&(this[GQ]=e)}}class Nb extends Lf{constructor(e){super(Hy,"relevant")}[JQ](){this[GQ]=this[GQ].trim().split(/\s+/)}}class Mb extends Lf{constructor(e){super(Hy,"rename")}[JQ](){this[GQ]=this[GQ].trim(),(this[GQ].toLowerCase().startsWith("xml")||new RegExp("[\\p{L}_][\\p{L}\\d._\\p{M}-]*","u").test(this[GQ]))&&co("XFA - Rename: invalid XFA name")}}class Gb extends Uf{constructor(e){super(Hy,"renderPolicy",["server","client"])}}class Lb extends Uf{constructor(e){super(Hy,"runScripts",["both","client","none","server"])}}class Ub extends vf{constructor(e){super(Hy,"script",!0),this.currentPage=null,this.exclude=null,this.runScripts=null}}class Hb extends Uf{constructor(e){super(Hy,"scriptModel",["XFA","none"])}}class Jb extends Uf{constructor(e){super(Hy,"severity",["ignore","error","information","trace","warning"])}}class Tb extends vf{constructor(e){super(Hy,"silentPrint",!0),this.addSilentPrint=null,this.printerName=null}}class Pb extends vf{constructor(e){super(Hy,"staple"),this.mode=jE(e.mode,["usePrinterSetting","on","off"])}}class Yb extends Hf{constructor(e){super(Hy,"startNode")}}class Kb extends Jf{constructor(e){super(Hy,"startPage",0,(e=>!0))}}class _b extends Uf{constructor(e){super(Hy,"submitFormat",["html","delegate","fdf","xml","pdf"])}}class qb extends Hf{constructor(e){super(Hy,"submitUrl")}}class Ob extends Jf{constructor(e){super(Hy,"subsetBelow",100,(e=>e>=0&&e<=100))}}class Wb extends Tf{constructor(e){super(Hy,"suppressBanner")}}class jb extends Tf{constructor(e){super(Hy,"tagged")}}class Vb extends vf{constructor(e){super(Hy,"template",!0),this.base=null,this.relevant=null,this.startPage=null,this.uri=null,this.xsl=null}}class Zb extends Uf{constructor(e){super(Hy,"threshold",["trace","error","information","warning"])}}class Xb extends Uf{constructor(e){super(Hy,"to",["null","memory","stderr","stdout","system","uri"])}}class zb extends vf{constructor(e){super(Hy,"templateCache"),this.maxEntries=qE({data:e.maxEntries,defaultValue:5,validate:e=>e>=0})}}class $b extends vf{constructor(e){super(Hy,"trace",!0),this.area=new Nf}}class eD extends vf{constructor(e){super(Hy,"transform",!0),this.groupParent=null,this.ifEmpty=null,this.nameAttr=null,this.picture=null,this.presence=null,this.rename=null,this.whitespace=null}}class tD extends Uf{constructor(e){super(Hy,"type",["none","ascii85","asciiHex","ccittfax","flate","lzw","runLength","native","xdp","mergedXDP"])}}class AD extends Hf{constructor(e){super(Hy,"uri")}}class iD extends Uf{constructor(e){super(Hy,"validate",["preSubmit","prePrint","preExecute","preSave"])}}class sD extends Lf{constructor(e){super(Hy,"validateApprovalSignatures")}[JQ](){this[GQ]=this[GQ].trim().split(/\s+/).filter((e=>["docReady","postSign"].includes(e)))}}class aD extends Uf{constructor(e){super(Hy,"validationMessaging",["allMessagesIndividually","allMessagesTogether","firstMessageOnly","noMessages"])}}class nD extends Uf{constructor(e){super(Hy,"version",["1.7","1.6","1.5","1.4","1.3","1.2"])}}class rD extends vf{constructor(e){super(Hy,"VersionControl"),this.outputBelow=jE(e.outputBelow,["warn","error","update"]),this.sourceAbove=jE(e.sourceAbove,["warn","error"]),this.sourceBelow=jE(e.sourceBelow,["update","maintain"])}}class oD extends vf{constructor(e){super(Hy,"viewerPreferences",!0),this.ADBE_JSConsole=null,this.ADBE_JSDebugger=null,this.addViewerPreferences=null,this.duplexOption=null,this.enforce=null,this.numberOfCopies=null,this.pageRange=null,this.pickTrayByPDFSize=null,this.printScaling=null}}class gD extends vf{constructor(e){super(Hy,"webClient",!0),this.name=e.name?e.name.trim():"",this.fontInfo=null,this.xdc=null}}class hD extends Uf{constructor(e){super(Hy,"whitespace",["preserve","ltrim","normalize","rtrim","trim"])}}class cD extends Lf{constructor(e){super(Hy,"window")}[JQ](){const e=this[GQ].trim().split(/\s*,\s*/,2).map((e=>parseInt(e,10)));e.some((e=>isNaN(e)))?this[GQ]=[0,0]:(1===e.length&&e.push(e[0]),this[GQ]=e)}}class lD extends vf{constructor(e){super(Hy,"xdc",!0),this.uri=new Nf,this.xsl=new Nf}}class ID extends vf{constructor(e){super(Hy,"xdp",!0),this.packets=null}}class dD extends vf{constructor(e){super(Hy,"xsl",!0),this.debug=null,this.uri=null}}class CD extends vf{constructor(e){super(Hy,"zpl",!0),this.name=e.name?e.name.trim():"",this.batchOutput=null,this.flipLabel=null,this.fontInfo=null,this.xdc=null}}class uD{static[TE](e,t){if(uD.hasOwnProperty(e))return uD[e](t)}static acrobat(e){return new Jy(e)}static acrobat7(e){return new Ty(e)}static ADBE_JSConsole(e){return new Py(e)}static ADBE_JSDebugger(e){return new Yy(e)}static addSilentPrint(e){return new Ky(e)}static addViewerPreferences(e){return new _y(e)}static adjustData(e){return new qy(e)}static adobeExtensionLevel(e){return new Oy(e)}static agent(e){return new Wy(e)}static alwaysEmbed(e){return new jy(e)}static amd(e){return new Vy(e)}static area(e){return new Zy(e)}static attributes(e){return new Xy(e)}static autoSave(e){return new zy(e)}static base(e){return new $y(e)}static batchOutput(e){return new ew(e)}static behaviorOverride(e){return new tw(e)}static cache(e){return new Aw(e)}static change(e){return new iw(e)}static common(e){return new sw(e)}static compress(e){return new aw(e)}static compressLogicalStructure(e){return new nw(e)}static compressObjectStream(e){return new rw(e)}static compression(e){return new ow(e)}static config(e){return new gw(e)}static conformance(e){return new hw(e)}static contentCopy(e){return new cw(e)}static copies(e){return new lw(e)}static creator(e){return new Iw(e)}static currentPage(e){return new dw(e)}static data(e){return new Cw(e)}static debug(e){return new uw(e)}static defaultTypeface(e){return new Bw(e)}static destination(e){return new Qw(e)}static documentAssembly(e){return new Ew(e)}static driver(e){return new fw(e)}static duplexOption(e){return new pw(e)}static dynamicRender(e){return new mw(e)}static embed(e){return new yw(e)}static encrypt(e){return new ww(e)}static encryption(e){return new bw(e)}static encryptionLevel(e){return new Dw(e)}static enforce(e){return new kw(e)}static equate(e){return new Sw(e)}static equateRange(e){return new Fw(e)}static exclude(e){return new Rw(e)}static excludeNS(e){return new xw(e)}static flipLabel(e){return new vw(e)}static fontInfo(e){return new Nw(e)}static formFieldFilling(e){return new Mw(e)}static groupParent(e){return new Gw(e)}static ifEmpty(e){return new Lw(e)}static includeXDPContent(e){return new Uw(e)}static incrementalLoad(e){return new Hw(e)}static incrementalMerge(e){return new Jw(e)}static interactive(e){return new Tw(e)}static jog(e){return new Pw(e)}static labelPrinter(e){return new Yw(e)}static layout(e){return new Kw(e)}static level(e){return new _w(e)}static linearized(e){return new qw(e)}static locale(e){return new Ow(e)}static localeSet(e){return new Ww(e)}static log(e){return new jw(e)}static map(e){return new Vw(e)}static mediumInfo(e){return new Zw(e)}static message(e){return new Xw(e)}static messaging(e){return new zw(e)}static mode(e){return new $w(e)}static modifyAnnots(e){return new eb(e)}static msgId(e){return new tb(e)}static nameAttr(e){return new Ab(e)}static neverEmbed(e){return new ib(e)}static numberOfCopies(e){return new sb(e)}static openAction(e){return new ab(e)}static output(e){return new nb(e)}static outputBin(e){return new rb(e)}static outputXSL(e){return new ob(e)}static overprint(e){return new gb(e)}static packets(e){return new hb(e)}static pageOffset(e){return new cb(e)}static pageRange(e){return new lb(e)}static pagination(e){return new Ib(e)}static paginationOverride(e){return new db(e)}static part(e){return new Cb(e)}static pcl(e){return new ub(e)}static pdf(e){return new Bb(e)}static pdfa(e){return new Qb(e)}static permissions(e){return new Eb(e)}static pickTrayByPDFSize(e){return new fb(e)}static picture(e){return new pb(e)}static plaintextMetadata(e){return new mb(e)}static presence(e){return new yb(e)}static present(e){return new wb(e)}static print(e){return new bb(e)}static printHighQuality(e){return new Db(e)}static printScaling(e){return new kb(e)}static printerName(e){return new Sb(e)}static producer(e){return new Fb(e)}static ps(e){return new Rb(e)}static range(e){return new xb(e)}static record(e){return new vb(e)}static relevant(e){return new Nb(e)}static rename(e){return new Mb(e)}static renderPolicy(e){return new Gb(e)}static runScripts(e){return new Lb(e)}static script(e){return new Ub(e)}static scriptModel(e){return new Hb(e)}static severity(e){return new Jb(e)}static silentPrint(e){return new Tb(e)}static staple(e){return new Pb(e)}static startNode(e){return new Yb(e)}static startPage(e){return new Kb(e)}static submitFormat(e){return new _b(e)}static submitUrl(e){return new qb(e)}static subsetBelow(e){return new Ob(e)}static suppressBanner(e){return new Wb(e)}static tagged(e){return new jb(e)}static template(e){return new Vb(e)}static templateCache(e){return new zb(e)}static threshold(e){return new Zb(e)}static to(e){return new Xb(e)}static trace(e){return new $b(e)}static transform(e){return new eD(e)}static type(e){return new tD(e)}static uri(e){return new AD(e)}static validate(e){return new iD(e)}static validateApprovalSignatures(e){return new sD(e)}static validationMessaging(e){return new aD(e)}static version(e){return new nD(e)}static versionControl(e){return new rD(e)}static viewerPreferences(e){return new oD(e)}static webClient(e){return new gD(e)}static whitespace(e){return new hD(e)}static window(e){return new cD(e)}static xdc(e){return new lD(e)}static xdp(e){return new ID(e)}static xsl(e){return new dD(e)}static zpl(e){return new CD(e)}}const BD=PE.connectionSet.id;class QD extends vf{constructor(e){super(BD,"connectionSet",!0),this.wsdlConnection=new Nf,this.xmlConnection=new Nf,this.xsdConnection=new Nf}}class ED extends vf{constructor(e){super(BD,"effectiveInputPolicy"),this.id=e.id||"",this.name=e.name||"",this.use=e.use||"",this.usehref=e.usehref||""}}class fD extends vf{constructor(e){super(BD,"effectiveOutputPolicy"),this.id=e.id||"",this.name=e.name||"",this.use=e.use||"",this.usehref=e.usehref||""}}class pD extends Hf{constructor(e){super(BD,"operation"),this.id=e.id||"",this.input=e.input||"",this.name=e.name||"",this.output=e.output||"",this.use=e.use||"",this.usehref=e.usehref||""}}class mD extends Hf{constructor(e){super(BD,"rootElement"),this.id=e.id||"",this.name=e.name||"",this.use=e.use||"",this.usehref=e.usehref||""}}class yD extends Hf{constructor(e){super(BD,"soapAction"),this.id=e.id||"",this.name=e.name||"",this.use=e.use||"",this.usehref=e.usehref||""}}class wD extends Hf{constructor(e){super(BD,"soapAddress"),this.id=e.id||"",this.name=e.name||"",this.use=e.use||"",this.usehref=e.usehref||""}}class bD extends Hf{constructor(e){super(BD,"uri"),this.id=e.id||"",this.name=e.name||"",this.use=e.use||"",this.usehref=e.usehref||""}}class DD extends Hf{constructor(e){super(BD,"wsdlAddress"),this.id=e.id||"",this.name=e.name||"",this.use=e.use||"",this.usehref=e.usehref||""}}class kD extends vf{constructor(e){super(BD,"wsdlConnection",!0),this.dataDescription=e.dataDescription||"",this.name=e.name||"",this.effectiveInputPolicy=null,this.effectiveOutputPolicy=null,this.operation=null,this.soapAction=null,this.soapAddress=null,this.wsdlAddress=null}}class SD extends vf{constructor(e){super(BD,"xmlConnection",!0),this.dataDescription=e.dataDescription||"",this.name=e.name||"",this.uri=null}}class FD extends vf{constructor(e){super(BD,"xsdConnection",!0),this.dataDescription=e.dataDescription||"",this.name=e.name||"",this.rootElement=null,this.uri=null}}class RD{static[TE](e,t){if(RD.hasOwnProperty(e))return RD[e](t)}static connectionSet(e){return new QD(e)}static effectiveInputPolicy(e){return new ED(e)}static effectiveOutputPolicy(e){return new fD(e)}static operation(e){return new pD(e)}static rootElement(e){return new mD(e)}static soapAction(e){return new yD(e)}static soapAddress(e){return new wD(e)}static uri(e){return new bD(e)}static wsdlAddress(e){return new DD(e)}static wsdlConnection(e){return new kD(e)}static xmlConnection(e){return new SD(e)}static xsdConnection(e){return new FD(e)}}const xD=PE.datasets.id;class vD extends Gf{constructor(e){super(xD,"data",e)}[cE](){return!0}}class ND extends vf{constructor(e){super(xD,"datasets",!0),this.data=null,this.Signature=null}[fE](e){const t=e[QE];("data"===t&&e[BE]===xD||"Signature"===t&&e[BE]===PE.signature.id)&&(this[t]=e),this[SQ](e)}}class MD{static[TE](e,t){if(MD.hasOwnProperty(e))return MD[e](t)}static datasets(e){return new ND(e)}static data(e){return new vD(e)}}const GD=PE.localeSet.id;class LD extends vf{constructor(e){super(GD,"calendarSymbols",!0),this.name="gregorian",this.dayNames=new Nf(2),this.eraNames=null,this.meridiemNames=null,this.monthNames=new Nf(2)}}class UD extends Hf{constructor(e){super(GD,"currencySymbol"),this.name=jE(e.name,["symbol","isoname","decimal"])}}class HD extends vf{constructor(e){super(GD,"currencySymbols",!0),this.currencySymbol=new Nf(3)}}class JD extends Hf{constructor(e){super(GD,"datePattern"),this.name=jE(e.name,["full","long","med","short"])}}class TD extends vf{constructor(e){super(GD,"datePatterns",!0),this.datePattern=new Nf(4)}}class PD extends Lf{constructor(e){super(GD,"dateTimeSymbols")}}class YD extends Hf{constructor(e){super(GD,"day")}}class KD extends vf{constructor(e){super(GD,"dayNames",!0),this.abbr=qE({data:e.abbr,defaultValue:0,validate:e=>1===e}),this.day=new Nf(7)}}class _D extends Hf{constructor(e){super(GD,"era")}}class qD extends vf{constructor(e){super(GD,"eraNames",!0),this.era=new Nf(2)}}class OD extends vf{constructor(e){super(GD,"locale",!0),this.desc=e.desc||"",this.name="isoname",this.calendarSymbols=null,this.currencySymbols=null,this.datePatterns=null,this.dateTimeSymbols=null,this.numberPatterns=null,this.numberSymbols=null,this.timePatterns=null,this.typeFaces=null}}class WD extends vf{constructor(e){super(GD,"localeSet",!0),this.locale=new Nf}}class jD extends Hf{constructor(e){super(GD,"meridiem")}}class VD extends vf{constructor(e){super(GD,"meridiemNames",!0),this.meridiem=new Nf(2)}}class ZD extends Hf{constructor(e){super(GD,"month")}}class XD extends vf{constructor(e){super(GD,"monthNames",!0),this.abbr=qE({data:e.abbr,defaultValue:0,validate:e=>1===e}),this.month=new Nf(12)}}class zD extends Hf{constructor(e){super(GD,"numberPattern"),this.name=jE(e.name,["full","long","med","short"])}}class $D extends vf{constructor(e){super(GD,"numberPatterns",!0),this.numberPattern=new Nf(4)}}class ek extends Hf{constructor(e){super(GD,"numberSymbol"),this.name=jE(e.name,["decimal","grouping","percent","minus","zero"])}}class tk extends vf{constructor(e){super(GD,"numberSymbols",!0),this.numberSymbol=new Nf(5)}}class Ak extends Hf{constructor(e){super(GD,"timePattern"),this.name=jE(e.name,["full","long","med","short"])}}class ik extends vf{constructor(e){super(GD,"timePatterns",!0),this.timePattern=new Nf(4)}}class sk extends vf{constructor(e){super(GD,"typeFace",!0),this.name=""|e.name}}class ak extends vf{constructor(e){super(GD,"typeFaces",!0),this.typeFace=new Nf}}class nk{static[TE](e,t){if(nk.hasOwnProperty(e))return nk[e](t)}static calendarSymbols(e){return new LD(e)}static currencySymbol(e){return new UD(e)}static currencySymbols(e){return new HD(e)}static datePattern(e){return new JD(e)}static datePatterns(e){return new TD(e)}static dateTimeSymbols(e){return new PD(e)}static day(e){return new YD(e)}static dayNames(e){return new KD(e)}static era(e){return new _D(e)}static eraNames(e){return new qD(e)}static locale(e){return new OD(e)}static localeSet(e){return new WD(e)}static meridiem(e){return new jD(e)}static meridiemNames(e){return new VD(e)}static month(e){return new ZD(e)}static monthNames(e){return new XD(e)}static numberPattern(e){return new zD(e)}static numberPatterns(e){return new $D(e)}static numberSymbol(e){return new ek(e)}static numberSymbols(e){return new tk(e)}static timePattern(e){return new Ak(e)}static timePatterns(e){return new ik(e)}static typeFace(e){return new sk(e)}static typeFaces(e){return new ak(e)}}const rk=PE.signature.id;class ok extends vf{constructor(e){super(rk,"signature",!0)}}class gk{static[TE](e,t){if(gk.hasOwnProperty(e))return gk[e](t)}static signature(e){return new ok(e)}}const hk=PE.stylesheet.id;class ck extends vf{constructor(e){super(hk,"stylesheet",!0)}}class lk{static[TE](e,t){if(lk.hasOwnProperty(e))return lk[e](t)}static stylesheet(e){return new ck(e)}}const Ik=PE.xdp.id;class dk extends vf{constructor(e){super(Ik,"xdp",!0),this.uuid=e.uuid||"",this.timeStamp=e.timeStamp||"",this.config=null,this.connectionSet=null,this.datasets=null,this.localeSet=null,this.stylesheet=new Nf,this.template=null}[pE](e){const t=PE[e[QE]];return t&&e[BE]===t.id}}class Ck{static[TE](e,t){if(Ck.hasOwnProperty(e))return Ck[e](t)}static xdp(e){return new dk(e)}}const uk=PE.xhtml.id,Bk=Symbol(),Qk=new Set(["color","font","font-family","font-size","font-stretch","font-style","font-weight","margin","margin-bottom","margin-left","margin-right","margin-top","letter-spacing","line-height","orphans","page-break-after","page-break-before","page-break-inside","tab-interval","tab-stop","text-align","text-decoration","text-indent","vertical-align","widows","kerning-mode","xfa-font-horizontal-scale","xfa-font-vertical-scale","xfa-spacerun","xfa-tab-stops"]),Ek=new Map([["page-break-after","breakAfter"],["page-break-before","breakBefore"],["page-break-inside","breakInside"],["kerning-mode",e=>"none"===e?"none":"normal"],["xfa-font-horizontal-scale",e=>`scaleX(${Math.max(0,Math.min(parseInt(e)/100)).toFixed(2)})`],["xfa-font-vertical-scale",e=>`scaleY(${Math.max(0,Math.min(parseInt(e)/100)).toFixed(2)})`],["xfa-spacerun",""],["xfa-tab-stops",""],["font-size",(e,t)=>Yf(.99*(e=t.fontSize=VE(e)))],["letter-spacing",e=>Yf(VE(e))],["line-height",e=>Yf(VE(e))],["margin",e=>Yf(VE(e))],["margin-bottom",e=>Yf(VE(e))],["margin-left",e=>Yf(VE(e))],["margin-right",e=>Yf(VE(e))],["margin-top",e=>Yf(VE(e))],["text-indent",e=>Yf(VE(e))],["font-family",e=>e],["vertical-align",e=>Yf(VE(e))]]),fk=/\s+/g,pk=/[\r\n]+/g,mk=/\r\n?/g;function yk(e,t,A){const i=Object.create(null);if(!e)return i;const s=Object.create(null);for(const[t,A]of e.split(";").map((e=>e.split(":",2)))){const e=Ek.get(t);if(""===e)continue;let a=A;e&&(a="string"==typeof e?e:e(A,s)),t.endsWith("scale")?i.transform=i.transform?`${i[t]} ${a}`:a:i[t.replaceAll(/-([a-zA-Z])/g,((e,t)=>t.toUpperCase()))]=a}if(i.fontFamily&&ip({typeface:i.fontFamily,weight:i.fontWeight||"normal",posture:i.fontStyle||"normal",size:s.fontSize||0},t,t[AE].fontFinder,i),A&&i.verticalAlign&&"0px"!==i.verticalAlign&&i.fontSize){const e=.583,t=.333,A=VE(i.fontSize);i.fontSize=Yf(A*e),i.verticalAlign=Yf(Math.sign(VE(i.verticalAlign))*A*t)}return A&&i.fontSize&&(i.fontSize=`calc(${i.fontSize} * var(--scale-factor))`),zf(i),i}const wk=new Set(["body","html"]);class bk extends Gf{constructor(e,t){super(uk,t),this[Bk]=!1,this.style=e.style||""}[RQ](e){var t;super[RQ](e),this.style=(t=this).style?t.style.trim().split(/\s*;\s*/).filter((e=>!!e)).map((e=>e.split(/\s*:\s*/,2))).filter((([e,A])=>("font-family"===e&&t[AE].usedTypefaces.add(A),Qk.has(e)))).map((e=>e.join(":"))).join(";"):""}[DQ](){return!wk.has(this[QE])}[mE](e,t=!1){t?this[Bk]=!0:(e=e.replaceAll(pk,""),this.style.includes("xfa-spacerun:yes")||(e=e.replaceAll(fk," "))),e&&(this[GQ]+=e)}[yE](e,t=!0){const A=Object.create(null),i={top:NaN,bottom:NaN,left:NaN,right:NaN};let s=null;for(const[e,t]of this.style.split(";").map((e=>e.split(":",2))))switch(e){case"font-family":A.typeface=_E(t);break;case"font-size":A.size=VE(t);break;case"font-weight":A.weight=t;break;case"font-style":A.posture=t;break;case"letter-spacing":A.letterSpacing=VE(t);break;case"margin":const e=t.split(/ \t/).map((e=>VE(e)));switch(e.length){case 1:i.top=i.bottom=i.left=i.right=e[0];break;case 2:i.top=i.bottom=e[0],i.left=i.right=e[1];break;case 3:i.top=e[0],i.bottom=e[2],i.left=i.right=e[1];break;case 4:i.top=e[0],i.left=e[1],i.bottom=e[2],i.right=e[3]}break;case"margin-top":i.top=VE(t);break;case"margin-bottom":i.bottom=VE(t);break;case"margin-left":i.left=VE(t);break;case"margin-right":i.right=VE(t);break;case"line-height":s=VE(t)}if(e.pushData(A,i,s),this[GQ])e.addString(this[GQ]);else for(const t of this[ZQ]())"#text"!==t[QE]?t[yE](e):e.addString(t[GQ]);t&&e.popFont()}[LE](e){const t=[];if(this[HQ]={children:t},this[FQ]({}),0===t.length&&!this[GQ])return zE.EMPTY;let A;return A=this[Bk]?this[GQ]?this[GQ].replaceAll(mk,"\n"):void 0:this[GQ]||void 0,zE.success({name:this[QE],attributes:{href:this.href,style:yk(this.style,this,this[Bk])},children:t,value:A})}}class Dk extends bk{constructor(e){super(e,"a"),this.href=sp(e.href)||""}}class kk extends bk{constructor(e){super(e,"b")}[yE](e){e.pushFont({weight:"bold"}),super[yE](e),e.popFont()}}class Sk extends bk{constructor(e){super(e,"body")}[LE](e){const t=super[LE](e),{html:A}=t;return A?(A.name="div",A.attributes.class=["xfaRich"],t):zE.EMPTY}}class Fk extends bk{constructor(e){super(e,"br")}[ME](){return"\n"}[yE](e){e.addString("\n")}[LE](e){return zE.success({name:"br"})}}class Rk extends bk{constructor(e){super(e,"html")}[LE](e){const t=[];if(this[HQ]={children:t},this[FQ]({}),0===t.length)return zE.success({name:"div",attributes:{class:["xfaRich"],style:{}},value:this[GQ]||""});if(1===t.length){const e=t[0];if(e.attributes?.class.includes("xfaRich"))return zE.success(e)}return zE.success({name:"div",attributes:{class:["xfaRich"],style:{}},children:t})}}class xk extends bk{constructor(e){super(e,"i")}[yE](e){e.pushFont({posture:"italic"}),super[yE](e),e.popFont()}}class vk extends bk{constructor(e){super(e,"li")}}class Nk extends bk{constructor(e){super(e,"ol")}}class Mk extends bk{constructor(e){super(e,"p")}[yE](e){super[yE](e,!1),e.addString("\n"),e.addPara(),e.popFont()}[ME](){return this[eE]()[ZQ]().at(-1)===this?super[ME]():super[ME]()+"\n"}}class Gk extends bk{constructor(e){super(e,"span")}}class Lk extends bk{constructor(e){super(e,"sub")}}class Uk extends bk{constructor(e){super(e,"sup")}}class Hk extends bk{constructor(e){super(e,"ul")}}class Jk{static[TE](e,t){if(Jk.hasOwnProperty(e))return Jk[e](t)}static a(e){return new Dk(e)}static b(e){return new kk(e)}static body(e){return new Sk(e)}static br(e){return new Fk(e)}static html(e){return new Rk(e)}static i(e){return new xk(e)}static li(e){return new vk(e)}static ol(e){return new Nk(e)}static p(e){return new Mk(e)}static span(e){return new Gk(e)}static sub(e){return new Lk(e)}static sup(e){return new Uk(e)}static ul(e){return new Hk(e)}}const Tk={config:uD,connection:RD,datasets:MD,localeSet:nk,signature:gk,stylesheet:lk,template:Ny,xdp:Ck,xhtml:Jk};class Pk{constructor(e){this.namespaceId=e}[TE](e,t){return new Gf(this.namespaceId,e,t)}}class Yk extends vf{constructor(e){super(-1,"root",Object.create(null)),this.element=null,this[sE]=e}[fE](e){return this.element=e,!0}[JQ](){super[JQ](),this.element.template instanceof py&&(this[sE].set(kE,this.element),this.element.template[SE](this[sE]),this.element.template[sE]=this[sE])}}class Kk extends vf{constructor(){super(-1,"",Object.create(null))}[fE](e){return!1}}class _k{constructor(e=null){this._namespaceStack=[],this._nsAgnosticLevel=0,this._namespacePrefixes=new Map,this._namespaces=new Map,this._nextNsId=Math.max(...Object.values(PE).map((({id:e})=>e))),this._currentNamespace=e||new Pk(++this._nextNsId)}buildRoot(e){return new Yk(e)}build({nsPrefix:e,name:t,attributes:A,namespace:i,prefixes:s}){const a=null!==i;if(a&&(this._namespaceStack.push(this._currentNamespace),this._currentNamespace=this._searchNamespace(i)),s&&this._addNamespacePrefix(s),A.hasOwnProperty(EE)){const e=Tk.datasets,t=A[EE];let i=null;for(const[A,s]of Object.entries(t)){if(this._getNamespaceToUse(A)===e){i={xfa:s};break}}i?A[EE]=i:delete A[EE]}const n=this._getNamespaceToUse(e),r=n?.[TE](t,A)||new Kk;return r[cE]()&&this._nsAgnosticLevel++,(a||s||r[cE]())&&(r[vQ]={hasNamespace:a,prefixes:s,nsAgnostic:r[cE]()}),r}isNsAgnostic(){return this._nsAgnosticLevel>0}_searchNamespace(e){let t=this._namespaces.get(e);if(t)return t;for(const[A,{check:i}]of Object.entries(PE))if(i(e)){if(t=Tk[A],t)return this._namespaces.set(e,t),t;break}return t=new Pk(++this._nextNsId),this._namespaces.set(e,t),t}_addNamespacePrefix(e){for(const{prefix:t,value:A}of e){const e=this._searchNamespace(A);let i=this._namespacePrefixes.get(t);i||(i=[],this._namespacePrefixes.set(t,i)),i.push(e)}}_getNamespaceToUse(e){if(!e)return this._currentNamespace;const t=this._namespacePrefixes.get(e);return t?.length>0?t.at(-1):(co(`Unknown namespace prefix: ${e}.`),null)}clean(e){const{hasNamespace:t,prefixes:A,nsAgnostic:i}=e;t&&(this._currentNamespace=this._namespaceStack.pop()),A&&A.forEach((({prefix:e})=>{this._namespacePrefixes.get(e).pop()})),i&&this._nsAgnosticLevel--}}class qk extends LB{constructor(e=null,t=!1){super(),this._builder=new _k(e),this._stack=[],this._globalData={usedTypefaces:new Set},this._ids=new Map,this._current=this._builder.buildRoot(this._ids),this._errorCode=SB,this._whiteRegex=/^\s+$/,this._nbsps=/\xa0+/g,this._richText=t}parse(e){if(this.parseXml(e),this._errorCode===SB)return this._current[JQ](),this._current.element}onText(e){e=e.replace(this._nbsps,(e=>e.slice(1)+" ")),this._richText||this._current[DQ]()?this._current[mE](e,this._richText):this._whiteRegex.test(e)||this._current[mE](e.trim())}onCdata(e){this._current[mE](e)}_mkAttributes(e,t){let A=null,i=null;const s=Object.create({});for(const{name:a,value:n}of e)if("xmlns"===a)A?co(`XFA - multiple namespace definition in <${t}>`):A=n;else if(a.startsWith("xmlns:")){const e=a.substring(6);i||(i=[]),i.push({prefix:e,value:n})}else{const e=a.indexOf(":");if(-1===e)s[a]=n;else{let t=s[EE];t||(t=s[EE]=Object.create(null));const[A,i]=[a.slice(0,e),a.slice(e+1)];(t[A]||=Object.create(null))[i]=n}}return[A,i,s]}_getNameAndPrefix(e,t){const A=e.indexOf(":");return-1===A?[e,null]:[e.substring(A+1),t?"":e.substring(0,A)]}onBeginElement(e,t,A){const[i,s,a]=this._mkAttributes(t,e),[n,r]=this._getNameAndPrefix(e,this._builder.isNsAgnostic()),o=this._builder.build({nsPrefix:r,name:n,attributes:a,namespace:i,prefixes:s});if(o[AE]=this._globalData,A)return o[JQ](),this._current[fE](o)&&o[RE](this._ids),void o[RQ](this._builder);this._stack.push(this._current),this._current=o}onEndElement(e){const t=this._current;if(t[rE]()&&"string"==typeof t[GQ]){const e=new qk;e._globalData=this._globalData;const A=e.parse(t[GQ]);t[GQ]=null,t[fE](A)}t[JQ](),this._current=this._stack.pop(),this._current[fE](t)&&t[RE](this._ids),t[RQ](this._builder)}onError(e){this._errorCode=e}}class Ok{constructor(e){try{this.root=(new qk).parse(Ok._createDocument(e));const t=new Ly(this.root);this.form=t.bind(),this.dataHandler=new Uy(this.root,t.getData()),this.form[AE].template=this.form}catch(e){co(`XFA - an error occurred during parsing and binding: ${e}`)}}isValid(){return this.root&&this.form}_createPagesHelper(){const e=this.form[GE]();return new Promise(((t,A)=>{const i=()=>{try{const A=e.next();A.done?t(A.value):setTimeout(i,0)}catch(e){A(e)}};setTimeout(i,0)}))}async _createPages(){try{this.pages=await this._createPagesHelper(),this.dims=this.pages.children.map((e=>{const{width:t,height:A}=e.attributes.style;return[0,0,parseInt(t),parseInt(A)]}))}catch(e){co(`XFA - an error occurred during layout: ${e}`)}}getBoundingBox(e){return this.dims[e]}async getNumPages(){return this.pages||await this._createPages(),this.dims.length}setImages(e){this.form[AE].images=e}setFonts(e){this.form[AE].fontFinder=new $E(e);const t=[];for(let e of this.form[AE].usedTypefaces){e=_E(e);this.form[AE].fontFinder.find(e)||t.push(e)}return t.length>0?t:null}appendFonts(e,t){this.form[AE].fontFinder.add(e,t)}async getPages(){this.pages||await this._createPages();const e=this.pages;return this.pages=null,e}serializeData(e){return this.dataHandler.serialize(e)}static _createDocument(e){return e["/xdp:xdp"]?Object.values(e).join(""):e["xdp:xdp"]}static getRichTextAsHtml(e){if(!e||"string"!=typeof e)return null;try{let t=new qk(Jk,!0).parse(e);if(!["body","xhtml"].includes(t[QE])){const e=Jk.body({});e[SQ](t),t=e}const A=t[LE]();if(!A.success)return null;const{html:i}=A,{attributes:s}=i;return s&&(s.class&&(s.class=s.class.filter((e=>!e.startsWith("xfa")))),s.dir="auto"),{html:i,str:t[ME]()}}catch(e){co(`XFA - an error occurred during parsing of rich text: ${e}`)}return null}}class Wk{static createGlobals(e){return Promise.all([e.ensureCatalog("acroForm"),e.ensureDoc("xfaDatasets"),e.ensureCatalog("structTreeRoot"),e.ensureCatalog("baseUrl"),e.ensureCatalog("attachments")]).then((([t,A,i,s,a])=>({pdfManager:e,acroForm:t instanceof ig?t:ig.empty,xfaDatasets:A,structTreeRoot:i,baseUrl:s,attachments:a})),(e=>(co(`createGlobals: "${e}".`),null)))}static async create(e,t,A,i,s,a){const n=s?await this._getPageIndex(e,t,A.pdfManager):null;return A.pdfManager.ensure(this,"_create",[e,t,A,i,s,n,a])}static _create(e,t,A,i,s=!1,a=null,n=null){const r=e.fetchIfRef(t);if(!(r instanceof ig))return;const{acroForm:o,pdfManager:g}=A,h=t instanceof sg?t.toString():`annot_${i.createObjId()}`;let c=r.get("Subtype");c=c instanceof eg?c.name:null;const l={xref:e,ref:t,dict:r,subtype:c,id:h,annotationGlobals:A,collectFields:s,needAppearances:!s&&!0===o.get("NeedAppearances"),pageIndex:a,evaluatorOptions:g.evaluatorOptions,pageRef:n};switch(c){case"Link":return new rS(l);case"Text":return new nS(l);case"Widget":let e=Eg({dict:r,key:"FT"});switch(e=e instanceof eg?e.name:null,e){case"Tx":return new AS(l);case"Btn":return new iS(l);case"Ch":return new sS(l);case"Sig":return new aS(l)}return co(`Unimplemented widget field type "${e}", falling back to base field type.`),new tS(l);case"Popup":return new oS(l);case"FreeText":return new gS(l);case"Line":return new hS(l);case"Square":return new cS(l);case"Circle":return new lS(l);case"PolyLine":return new IS(l);case"Polygon":return new dS(l);case"Caret":return new CS(l);case"Ink":return new uS(l);case"Highlight":return new BS(l);case"Underline":return new QS(l);case"Squiggly":return new ES(l);case"StrikeOut":return new fS(l);case"Stamp":return new pS(l);case"FileAttachment":return new mS(l);default:return s||co(c?`Unimplemented annotation type "${c}", falling back to base annotation.`:"Annotation is missing the required /Subtype."),new zk(l)}}static async _getPageIndex(e,t,A){try{const i=await e.fetchIfRefAsync(t);if(!(i instanceof ig))return-1;const s=i.getRaw("P");if(s instanceof sg)try{return await A.ensureCatalog("getPageIndex",[s])}catch(e){ho(`_getPageIndex -- not a valid page reference: "${e}".`)}if(i.has("Kids"))return-1;const a=await A.ensureDoc("numPages");for(let e=0;e<a;e++){const i=await A.getPage(e),s=await A.ensure(i,"annotations");for(const A of s)if(A instanceof sg&&hg(A,t))return e}}catch(e){co(`_getPageIndex: "${e}".`)}return-1}static generateImages(e,t,A){if(!A)return co("generateImages: OffscreenCanvas is not supported, cannot save or print some annotations with images."),null;let i;for(const{bitmapId:A,bitmap:s}of e)s&&(i||=new Map,i.set(A,pS.createImage(s,t)));return i}static async saveNewAnnotations(e,t,A,i){const s=e.xref;let a;const n=[],r=[],{isOffscreenCanvasSupported:o}=e.options;for(const g of A)if(!g.deleted)switch(g.annotationType){case pa:if(!a){const e=new ig(s);e.set("BaseFont",eg.get("Helvetica")),e.set("Type",eg.get("Font")),e.set("Subtype",eg.get("Type1")),e.set("Encoding",eg.get("WinAnsiEncoding"));const t=[];a=s.getNewTemporaryRef(),await eQ(a,e,t,s),n.push({ref:a,data:t.join("")})}r.push(gS.createNewAnnotation(s,g,n,{evaluator:e,task:t,baseFontRef:a}));break;case ma:g.quadPoints?r.push(BS.createNewAnnotation(s,g,n)):r.push(uS.createNewAnnotation(s,g,n));break;case wa:r.push(uS.createNewAnnotation(s,g,n));break;case ya:if(!o)break;const A=await i.get(g.bitmapId);if(A.imageStream){const{imageStream:e,smaskStream:t}=A,i=[];if(t){const A=s.getNewTemporaryRef();await eQ(A,t,i,s),n.push({ref:A,data:i.join("")}),e.dict.set("SMask",A),i.length=0}const a=A.imageRef=s.getNewTemporaryRef();await eQ(a,e,i,s),n.push({ref:a,data:i.join("")}),A.imageStream=A.smaskStream=null}r.push(pS.createNewAnnotation(s,g,n,{image:A}))}return{annotations:await Promise.all(r),dependencies:n}}static async printNewAnnotations(e,t,A,i,s){if(!i)return null;const{options:a,xref:n}=t,r=[];for(const o of i)if(!o.deleted)switch(o.annotationType){case pa:r.push(gS.createNewPrintAnnotation(e,n,o,{evaluator:t,task:A,evaluatorOptions:a}));break;case ma:o.quadPoints?r.push(BS.createNewPrintAnnotation(e,n,o,{evaluatorOptions:a})):r.push(uS.createNewPrintAnnotation(e,n,o,{evaluatorOptions:a}));break;case wa:r.push(uS.createNewPrintAnnotation(e,n,o,{evaluatorOptions:a}));break;case ya:if(!a.isOffscreenCanvasSupported)break;const i=await s.get(o.bitmapId);if(i.imageStream){const{imageStream:e,smaskStream:t}=i;t&&e.dict.set("SMask",t),i.imageRef=new Hc(e,e.length),i.imageStream=i.smaskStream=null}r.push(pS.createNewPrintAnnotation(e,n,o,{image:i,evaluatorOptions:a}))}return Promise.all(r)}}function jk(e,t=new Uint8ClampedArray(3)){if(!Array.isArray(e))return t;const A=t||new Uint8ClampedArray(3);switch(e.length){case 0:return null;case 1:return eh.singletons.gray.getRgbItem(e,0,A,0),A;case 3:return eh.singletons.rgb.getRgbItem(e,0,A,0),A;case 4:return eh.singletons.cmyk.getRgbItem(e,0,A,0),A;default:return t}}function Vk(e){return Array.from(e,(e=>e/255))}function Zk(e,t){const A=e.getArray("QuadPoints");if(!kg(A,null)||0===A.length||A.length%8>0)return null;const i=[];for(let e=0,s=A.length/8;e<s;e++){let s=1/0,a=-1/0,n=1/0,r=-1/0;for(let t=8*e,i=8*e+8;t<i;t+=2){const e=A[t],i=A[t+1];s=Math.min(e,s),a=Math.max(e,a),n=Math.min(i,n),r=Math.max(i,r)}if(null!==t&&(s<t[0]||a>t[2]||n<t[1]||r>t[3]))return null;i.push([{x:s,y:r},{x:a,y:r},{x:s,y:n},{x:a,y:n}])}return i}function Xk(e,t,A){const[i,s,a,n]=xo.getAxialAlignedBoundingBox(t,A);if(i===a||s===n)return[1,0,0,1,e[0],e[1]];const r=(e[2]-e[0])/(a-i),o=(e[3]-e[1])/(n-s);return[r,0,0,o,e[0]-i*r,e[1]-s*o]}class zk{constructor(e){const{dict:t,xref:A,annotationGlobals:i}=e;this.setTitle(t.get("T")),this.setContents(t.get("Contents")),this.setModificationDate(t.get("M")),this.setFlags(t.get("F")),this.setRectangle(t.getArray("Rect")),this.setColor(t.getArray("C")),this.setBorderStyle(t),this.setAppearance(t),this.setOptionalContent(t);const s=t.get("MK");this.setBorderAndBackgroundColors(s),this.setRotation(s,t),this.ref=e.ref instanceof sg?e.ref:null,this._streams=[],this.appearance&&this._streams.push(this.appearance);const a=!!(this.flags&An),n=!!(this.flags&sn);if(i.structTreeRoot){let A=t.get("StructParent");A=Number.isInteger(A)&&A>=0?A:-1,i.structTreeRoot.addAnnotationIdToPage(e.pageRef,A)}if(this.data={annotationFlags:this.flags,borderStyle:this.borderStyle,color:this.color,backgroundColor:this.backgroundColor,borderColor:this.borderColor,rotation:this.rotation,contentsObj:this._contents,hasAppearance:!!this.appearance,id:e.id,modificationDate:this.modificationDate,rect:this.rectangle,subtype:e.subtype,hasOwnCanvas:!1,noRotate:!!(this.flags&en),noHTML:a&&n},e.collectFields){const i=t.get("Kids");if(Array.isArray(i)){const e=[];for(const t of i)t instanceof sg&&e.push(t.toString());0!==e.length&&(this.data.kidIds=e)}this.data.actions=Gg(A,t,pn),this.data.fieldName=this._constructFieldName(t),this.data.pageIndex=e.pageIndex}this._isOffscreenCanvasSupported=e.evaluatorOptions.isOffscreenCanvasSupported,this._fallbackFontDict=null,this._needAppearances=!1}_hasFlag(e,t){return!!(e&t)}_isViewable(e){return!this._hasFlag(e,Xa)&&!this._hasFlag(e,tn)}_isPrintable(e){return this._hasFlag(e,$a)&&!this._hasFlag(e,za)&&!this._hasFlag(e,Xa)}mustBeViewed(e,t){const A=e?.get(this.data.id)?.noView;return void 0!==A?!A:this.viewable&&!this._hasFlag(this.flags,za)}mustBePrinted(e){const t=e?.get(this.data.id)?.noPrint;return void 0!==t?!t:this.printable}get viewable(){return null!==this.data.quadPoints&&(0===this.flags||this._isViewable(this.flags))}get printable(){return null!==this.data.quadPoints&&(0!==this.flags&&this._isPrintable(this.flags))}_parseStringHelper(e){const t="string"==typeof e?No(e):"";return{str:t,dir:t&&"rtl"===Gu(t).dir?"rtl":"ltr"}}setDefaultAppearance(e){const{dict:t,annotationGlobals:A}=e,i=Eg({dict:t,key:"DA"})||A.acroForm.get("DA");this._defaultAppearance="string"==typeof i?i:"",this.data.defaultAppearanceData=QB(this._defaultAppearance)}setTitle(e){this._title=this._parseStringHelper(e)}setContents(e){this._contents=this._parseStringHelper(e)}setModificationDate(e){this.modificationDate="string"==typeof e?e:null}setFlags(e){this.flags=Number.isInteger(e)&&e>0?e:0,this.flags&Xa&&"Annotation"!==this.constructor.name&&(this.flags^=Xa)}hasFlag(e){return this._hasFlag(this.flags,e)}setRectangle(e){this.rectangle=Rg(e,[0,0,0,0])}setColor(e){this.color=jk(e)}setLineEndings(e){if(this.lineEndings=["None","None"],Array.isArray(e)&&2===e.length)for(let t=0;t<2;t++){const A=e[t];if(A instanceof eg)switch(A.name){case"None":continue;case"Square":case"Circle":case"Diamond":case"OpenArrow":case"ClosedArrow":case"Butt":case"ROpenArrow":case"RClosedArrow":case"Slash":this.lineEndings[t]=A.name;continue}co(`Ignoring invalid lineEnding: ${A}`)}}setRotation(e,t){this.rotation=0;let A=e instanceof ig?e.get("R")||0:t.get("Rotate")||0;Number.isInteger(A)&&0!==A&&(A%=360,A<0&&(A+=360),A%90==0&&(this.rotation=A))}setBorderAndBackgroundColors(e){e instanceof ig?(this.borderColor=jk(e.getArray("BC"),null),this.backgroundColor=jk(e.getArray("BG"),null)):this.borderColor=this.backgroundColor=null}setBorderStyle(e){if(this.borderStyle=new $k,e instanceof ig)if(e.has("BS")){const t=e.get("BS");if(t instanceof ig){const e=t.get("Type");e&&!rg(e,"Border")||(this.borderStyle.setWidth(t.get("W"),this.rectangle),this.borderStyle.setStyle(t.get("S")),this.borderStyle.setDashArray(t.getArray("D")))}}else if(e.has("Border")){const t=e.getArray("Border");Array.isArray(t)&&t.length>=3&&(this.borderStyle.setHorizontalCornerRadius(t[0]),this.borderStyle.setVerticalCornerRadius(t[1]),this.borderStyle.setWidth(t[2],this.rectangle),4===t.length&&this.borderStyle.setDashArray(t[3],!0))}else this.borderStyle.setWidth(0)}setAppearance(e){this.appearance=null;const t=e.get("AP");if(!(t instanceof ig))return;const A=t.get("N");if(A instanceof cg)return void(this.appearance=A);if(!(A instanceof ig))return;const i=e.get("AS");if(!(i instanceof eg&&A.has(i.name)))return;const s=A.get(i.name);s instanceof cg&&(this.appearance=s)}setOptionalContent(e){this.oc=null;const t=e.get("OC");t instanceof eg?co("setOptionalContent: Support for /Name-entry is not implemented."):t instanceof ig&&(this.oc=t)}loadResources(e,t){return t.dict.getAsync("Resources").then((t=>{if(!t)return;return new bQ(t,e,t.xref).load().then((function(){return t}))}))}async getOperatorList(e,t,A,i,s){const{hasOwnCanvas:a,id:n,rect:r}=this.data;let o=this.appearance;const g=!!(a&&A&da);if(g&&(r[0]===r[2]||r[1]===r[3]))return this.data.hasOwnCanvas=!1,{opList:new eB,separateForm:!1,separateCanvas:!1};if(!o){if(!g)return{opList:new eB,separateForm:!1,separateCanvas:!1};o=new Zg(""),o.dict=new ig}const h=o.dict,c=await this.loadResources(["ExtGState","ColorSpace","Pattern","Shading","XObject","Font"],o),l=Fg(h.getArray("BBox"),[0,0,1,1]),I=Sg(h.getArray("Matrix"),oa),d=Xk(r,l,I),C=new eB;let u;return this.oc&&(u=await e.parseMarkedContentProps(this.oc,null)),void 0!==u&&C.addOp(Pr,["OC",u]),C.addOp(Vr,[n,r,d,I,g]),await e.getOperatorList({stream:o,task:t,resources:c,operatorList:C,fallbackFontDict:this._fallbackFontDict}),C.addOp(Zr,[]),void 0!==u&&C.addOp(Yr,[]),this.reset(),{opList:C,separateForm:!1,separateCanvas:g}}async save(e,t,A){return null}get hasTextContent(){return!1}async extractTextContent(e,t,A){if(!this.appearance)return;const i=await this.loadResources(["ExtGState","Font","Properties","XObject"],this.appearance),s=[],a=[];let n=null;const r={desiredSize:Math.Infinity,ready:!0,enqueue(e,t){for(const t of e.items)void 0!==t.str&&(n||=t.transform.slice(-2),a.push(t.str),t.hasEOL&&(s.push(a.join("").trimEnd()),a.length=0))}};if(await e.getTextContent({stream:this.appearance,task:t,resources:i,includeMarkedContent:!0,keepWhiteSpace:!0,sink:r,viewBox:A}),this.reset(),a.length&&s.push(a.join("").trimEnd()),s.length>1||s[0]){const e=this.appearance.dict,t=Fg(e.getArray("BBox"),null),A=Sg(e.getArray("Matrix"),null);this.data.textPosition=this._transformPoint(n,t,A),this.data.textContent=s}}_transformPoint(e,t,A){const{rect:i}=this.data;t||=[0,0,1,1],A||=[1,0,0,1,0,0];const s=Xk(i,t,A);return s[4]-=i[0],s[5]-=i[1],e=xo.applyTransform(e,s),xo.applyTransform(e,A)}getFieldObject(){return this.data.kidIds?{id:this.data.id,actions:this.data.actions,name:this.data.fieldName,strokeColor:this.data.borderColor,fillColor:this.data.backgroundColor,type:"",kidIds:this.data.kidIds,page:this.data.pageIndex,rotation:this.rotation}:null}reset(){for(const e of this._streams)e.reset()}_constructFieldName(e){if(!e.has("T")&&!e.has("Parent"))return co("Unknown field name, falling back to empty field name."),"";if(!e.has("Parent"))return No(e.get("T"));const t=[];e.has("T")&&t.unshift(No(e.get("T")));let A=e;const i=new ag;for(e.objId&&i.put(e.objId);A.has("Parent")&&(A=A.get("Parent"),A instanceof ig&&(!A.objId||!i.has(A.objId)));)A.objId&&i.put(A.objId),A.has("T")&&t.unshift(No(A.get("T")));return t.join(".")}}class $k{constructor(){this.width=1,this.style=un,this.dashArray=[3],this.horizontalCornerRadius=0,this.verticalCornerRadius=0}setWidth(e,t=[0,0,0,0]){if(e instanceof eg)this.width=0;else if("number"==typeof e){if(e>0){const A=(t[2]-t[0])/2,i=(t[3]-t[1])/2;A>0&&i>0&&(e>A||e>i)&&(co(`AnnotationBorderStyle.setWidth - ignoring width: ${e}`),e=1)}this.width=e}}setStyle(e){if(e instanceof eg)switch(e.name){case"S":this.style=un;break;case"D":this.style=Bn;break;case"B":this.style=Qn;break;case"I":this.style=En;break;case"U":this.style=fn}}setDashArray(e,t=!1){if(Array.isArray(e)){let A=!0,i=!0;for(const t of e){if(!(+t>=0)){A=!1;break}t>0&&(i=!1)}0===e.length||A&&!i?(this.dashArray=e,t&&this.setStyle(eg.get("D"))):this.width=0}else e&&(this.width=0)}setHorizontalCornerRadius(e){Number.isInteger(e)&&(this.horizontalCornerRadius=e)}setVerticalCornerRadius(e){Number.isInteger(e)&&(this.verticalCornerRadius=e)}}class eS extends zk{constructor(e){super(e);const{dict:t}=e;if(t.has("IRT")){const e=t.getRaw("IRT");this.data.inReplyTo=e instanceof sg?e.toString():null;const A=t.get("RT");this.data.replyType=A instanceof eg?A.name:Za}let A=null;if(this.data.replyType===Va){const e=t.get("IRT");this.setTitle(e.get("T")),this.data.titleObj=this._title,this.setContents(e.get("Contents")),this.data.contentsObj=this._contents,e.has("CreationDate")?(this.setCreationDate(e.get("CreationDate")),this.data.creationDate=this.creationDate):this.data.creationDate=null,e.has("M")?(this.setModificationDate(e.get("M")),this.data.modificationDate=this.modificationDate):this.data.modificationDate=null,A=e.getRaw("Popup"),e.has("C")?(this.setColor(e.getArray("C")),this.data.color=this.color):this.data.color=null}else this.data.titleObj=this._title,this.setCreationDate(t.get("CreationDate")),this.data.creationDate=this.creationDate,A=t.getRaw("Popup"),t.has("C")||(this.data.color=null);this.data.popupRef=A instanceof sg?A.toString():null,t.has("RC")&&(this.data.richText=Ok.getRichTextAsHtml(t.get("RC")))}setCreationDate(e){this.creationDate="string"==typeof e?e:null}_setDefaultAppearance({xref:e,extra:t,strokeColor:A,fillColor:i,blendMode:s,strokeAlpha:a,fillAlpha:n,pointsCallback:r}){let o=Number.MAX_VALUE,g=Number.MAX_VALUE,h=Number.MIN_VALUE,c=Number.MIN_VALUE;const l=["q"];t&&l.push(t),A&&l.push(`${A[0]} ${A[1]} ${A[2]} RG`),i&&l.push(`${i[0]} ${i[1]} ${i[2]} rg`);let I=this.data.quadPoints;I||(I=[[{x:this.rectangle[0],y:this.rectangle[3]},{x:this.rectangle[2],y:this.rectangle[3]},{x:this.rectangle[0],y:this.rectangle[1]},{x:this.rectangle[2],y:this.rectangle[1]}]]);for(const e of I){const[t,A,i,s]=r(l,e);o=Math.min(o,t),h=Math.max(h,A),g=Math.min(g,i),c=Math.max(c,s)}l.push("Q");const d=new ig(e),C=new ig(e);C.set("Subtype",eg.get("Form"));const u=new Zg(l.join(" "));u.dict=C,d.set("Fm0",u);const B=new ig(e);s&&B.set("BM",eg.get(s)),"number"==typeof a&&B.set("CA",a),"number"==typeof n&&B.set("ca",n);const Q=new ig(e);Q.set("GS0",B);const E=new ig(e);E.set("ExtGState",Q),E.set("XObject",d);const f=new ig(e);f.set("Resources",E);const p=this.data.rect=[o,g,h,c];f.set("BBox",p),this.appearance=new Zg("/GS0 gs /Fm0 Do"),this.appearance.dict=f,this._streams.push(this.appearance,u)}static async createNewAnnotation(e,t,A,i){const s=t.ref||=e.getNewTemporaryRef(),a=await this.createNewAppearanceStream(t,e,i),n=[];let r;if(a){const i=e.getNewTemporaryRef();r=this.createNewDict(t,e,{apRef:i}),await eQ(i,a,n,e),A.push({ref:i,data:n.join("")})}else r=this.createNewDict(t,e,{});return Number.isInteger(t.parentTreeId)&&r.set("StructParent",t.parentTreeId),n.length=0,await eQ(s,r,n,e),{ref:s,data:n.join("")}}static async createNewPrintAnnotation(e,t,A,i){const s=await this.createNewAppearanceStream(A,t,i),a=this.createNewDict(A,t,{ap:s}),n=new this.prototype.constructor({dict:a,xref:t,annotationGlobals:e,evaluatorOptions:i.evaluatorOptions});return A.ref&&(n.ref=n.refToReplace=A.ref),n}}class tS extends zk{constructor(e){super(e);const{dict:t,xref:A,annotationGlobals:i}=e,s=this.data;this._needAppearances=e.needAppearances,s.annotationType=ja,void 0===s.fieldName&&(s.fieldName=this._constructFieldName(t)),void 0===s.actions&&(s.actions=Gg(A,t,pn));let a=Eg({dict:t,key:"V",getArray:!0});s.fieldValue=this._decodeFormValue(a);const n=Eg({dict:t,key:"DV",getArray:!0});if(s.defaultFieldValue=this._decodeFormValue(n),void 0===a&&i.xfaDatasets){const e=this._title.str;e&&(this._hasValueFromXFA=!0,s.fieldValue=a=i.xfaDatasets.getValue(e))}void 0===a&&null!==s.defaultFieldValue&&(s.fieldValue=s.defaultFieldValue),s.alternativeText=No(t.get("TU")||""),this.setDefaultAppearance(e),s.hasAppearance||=this._needAppearances&&void 0!==s.fieldValue&&null!==s.fieldValue;const r=Eg({dict:t,key:"FT"});s.fieldType=r instanceof eg?r.name:null;const o=Eg({dict:t,key:"DR"}),g=i.acroForm.get("DR"),h=this.appearance?.dict.get("Resources");this._fieldResources={localResources:o,acroFormResources:g,appearanceResources:h,mergedResources:ig.merge({xref:A,dictArray:[o,h,g],mergeSubDicts:!0})},s.fieldFlags=Eg({dict:t,key:"Ff"}),(!Number.isInteger(s.fieldFlags)||s.fieldFlags<0)&&(s.fieldFlags=0),s.readOnly=this.hasFieldFlag(an),s.required=this.hasFieldFlag(nn),s.hidden=this._hasFlag(s.annotationFlags,za)||this._hasFlag(s.annotationFlags,tn)}_decodeFormValue(e){return Array.isArray(e)?e.filter((e=>"string"==typeof e)).map((e=>No(e))):e instanceof eg?No(e.name):"string"==typeof e?No(e):null}hasFieldFlag(e){return!!(this.data.fieldFlags&e)}_isViewable(e){return!0}mustBeViewed(e,t){return t?this.viewable:super.mustBeViewed(e,t)&&!this._hasFlag(this.flags,tn)}getRotationMatrix(e){let t=e?.get(this.data.id)?.rotation;if(void 0===t&&(t=this.rotation),0===t)return oa;return Wg(t,this.data.rect[2]-this.data.rect[0],this.data.rect[3]-this.data.rect[1])}getBorderAndBackgroundAppearances(e){let t=e?.get(this.data.id)?.rotation;if(void 0===t&&(t=this.rotation),!this.backgroundColor&&!this.borderColor)return"";const A=this.data.rect[2]-this.data.rect[0],i=this.data.rect[3]-this.data.rect[1],s=0===t||180===t?`0 0 ${A} ${i} re`:`0 0 ${i} ${A} re`;let a="";if(this.backgroundColor&&(a=`${fB(this.backgroundColor,!0)} ${s} f `),this.borderColor){a+=`${this.borderStyle.width||1} w ${fB(this.borderColor,!1)} ${s} S `}return a}async getOperatorList(e,t,A,i,s){if(i&&!(this instanceof aS)&&!this.data.noHTML&&!this.data.hasOwnCanvas)return{opList:new eB,separateForm:!0,separateCanvas:!1};if(!this._hasText)return super.getOperatorList(e,t,A,i,s);const a=await this._getAppearance(e,t,A,s);if(this.appearance&&null===a)return super.getOperatorList(e,t,A,i,s);const n=new eB;if(!this._defaultAppearance||null===a)return{opList:n,separateForm:!1,separateCanvas:!1};const r=!!(this.data.hasOwnCanvas&&A&da),o=[0,0,this.data.rect[2]-this.data.rect[0],this.data.rect[3]-this.data.rect[1]],g=Xk(this.data.rect,o,[1,0,0,1,0,0]);let h;this.oc&&(h=await e.parseMarkedContentProps(this.oc,null)),void 0!==h&&n.addOp(Pr,["OC",h]),n.addOp(Vr,[this.data.id,this.data.rect,g,this.getRotationMatrix(s),r]);const c=new Zg(a);return await e.getOperatorList({stream:c,task:t,resources:this._fieldResources.mergedResources,operatorList:n}),n.addOp(Zr,[]),void 0!==h&&n.addOp(Yr,[]),{opList:n,separateForm:!1,separateCanvas:r}}_getMKDict(e){const t=new ig(null);return e&&t.set("R",e),this.borderColor&&t.set("BC",Vk(this.borderColor)),this.backgroundColor&&t.set("BG",Vk(this.backgroundColor)),t.size>0?t:null}amendSavedDict(e,t){}async save(e,t,A){const i=A?.get(this.data.id);let s=i?.value,a=i?.rotation;if(s===this.data.fieldValue||void 0===s){if(!this._hasValueFromXFA&&void 0===a)return null;s||=this.data.fieldValue}if(void 0===a&&!this._hasValueFromXFA&&Array.isArray(s)&&Array.isArray(this.data.fieldValue)&&s.length===this.data.fieldValue.length&&s.every(((e,t)=>e===this.data.fieldValue[t])))return null;void 0===a&&(a=this.rotation);let n=null;if(!this._needAppearances&&(n=await this._getAppearance(e,t,ua,A),null===n))return null;let r=!1;n?.needAppearances&&(r=!0,n=null);const{xref:o}=e,g=o.fetchIfRef(this.ref);if(!(g instanceof ig))return null;const h=new ig(o);for(const e of g.getKeys())"AP"!==e&&h.set(e,g.getRaw(e));const c={path:this.data.fieldName,value:s},l=e=>_g(e)?e:Og(e,!0);h.set("V",Array.isArray(s)?s.map(l):l(s)),this.amendSavedDict(A,h);const I=this._getMKDict(a);I&&h.set("MK",I);const d=[],C=[{ref:this.ref,data:"",xfa:c,needAppearances:r}];if(null!==n){const e=o.getNewTemporaryRef(),t=new ig(o);h.set("AP",t),t.set("N",e);const i=this._getSaveFieldResources(o),s=new Zg(n),a=s.dict=new ig(o);a.set("Subtype",eg.get("Form")),a.set("Resources",i),a.set("BBox",[0,0,this.data.rect[2]-this.data.rect[0],this.data.rect[3]-this.data.rect[1]]);const r=this.getRotationMatrix(A);r!==oa&&a.set("Matrix",r),await eQ(e,s,d,o),C.push({ref:e,data:d.join(""),xfa:null,needAppearances:!1}),d.length=0}return h.set("M",`D:${Uo()}`),await eQ(this.ref,h,d,o),C[0].data=d.join(""),C}async _getAppearance(e,t,A,i){if(this.hasFieldFlag(on))return null;const s=i?.get(this.data.id);let a,n;if(s&&(a=s.formattedValue||s.value,n=s.rotation),void 0===n&&void 0===a&&!this._needAppearances&&(!this._hasValueFromXFA||this.appearance))return null;const r=this.getBorderAndBackgroundAppearances(i);if(void 0===a&&(a=this.data.fieldValue,!a))return`/Tx BMC q ${r}Q EMC`;if(Array.isArray(a)&&1===a.length&&(a=a[0]),Io("string"==typeof a,"Expected `value` to be a string."),a=a.trim(),this.data.combo){const e=this.data.options.find((({exportValue:e})=>a===e));a=e?.displayValue||a}if(""===a)return`/Tx BMC q ${r}Q EMC`;void 0===n&&(n=this.rotation);let o,g=-1;this.data.multiLine?(o=a.split(/\r\n?|\n/).map((e=>e.normalize("NFC"))),g=o.length):o=[a.replace(/\r\n?|\n/,"").normalize("NFC")];let h=this.data.rect[3]-this.data.rect[1],c=this.data.rect[2]-this.data.rect[0];90!==n&&270!==n||([c,h]=[h,c]),this._defaultAppearance||(this.data.defaultAppearanceData=QB(this._defaultAppearance="/Helvetica 0 Tf 0 g"));let l,I,d,C=await tS._getFontData(e,t,this.data.defaultAppearanceData,this._fieldResources.mergedResources);const u=[];let B=!1;for(const e of o){const t=C.encodeString(e);t.length>1&&(B=!0),u.push(t.join(""))}if(B&&A&ua)return{needAppearances:!0};if(B&&this._isOffscreenCanvasSupported){const A=this.data.comb?"monospace":"sans-serif",i=new pB(e.xref,A),s=i.createFontResources(o.join("")),n=s.getRaw("Font");if(this._fieldResources.mergedResources.has("Font")){const e=this._fieldResources.mergedResources.get("Font");for(const t of n.getKeys())e.set(t,n.getRaw(t))}else this._fieldResources.mergedResources.set("Font",n);const r=i.fontName.name;C=await tS._getFontData(e,t,{fontName:r,fontSize:0},s);for(let e=0,t=u.length;e<t;e++)u[e]=Og(o[e]);const B=Object.assign(Object.create(null),this.data.defaultAppearanceData);this.data.defaultAppearanceData.fontSize=0,this.data.defaultAppearanceData.fontName=r,[l,I,d]=this._computeFontSize(h-2,c-4,a,C,g),this.data.defaultAppearanceData=B}else this._isOffscreenCanvasSupported||co("_getAppearance: OffscreenCanvas is not supported, annotation may not render correctly."),[l,I,d]=this._computeFontSize(h-2,c-4,a,C,g);let Q=C.descent;Q=isNaN(Q)?la*d:Math.max(la*d,Math.abs(Q)*I);const E=Math.min(Math.floor((h-I)/2),1),f=this.data.textAlignment;if(this.data.multiLine)return this._getMultilineAppearance(l,u,C,I,c,h,f,2,E,Q,d,i);if(this.data.comb)return this._getCombAppearance(l,C,u[0],I,c,h,2,E,Q,d,i);const p=E+Q;if(0===f||f>2)return`/Tx BMC q ${r}BT `+l+` 1 0 0 1 ${Yg(2)} ${Yg(p)} Tm (${Ng(u[0])}) Tj ET Q EMC`;return`/Tx BMC q ${r}BT `+l+` 1 0 0 1 0 0 Tm ${this._renderText(u[0],C,I,c,f,{shift:0},2,p)} ET Q EMC`}static async _getFontData(e,t,A,i){const s=new eB,a={font:null,clone(){return this}},{fontName:n,fontSize:r}=A;return await e.handleSetFont(i,[n&&eg.get(n),r],null,s,t,a,null),a.font}_getTextWidth(e,t){return t.charsToGlyphs(e).reduce(((e,t)=>e+t.width),0)/1e3}_computeFontSize(e,t,A,i,s){let{fontSize:a}=this.data.defaultAppearanceData,n=(a||12)*ha,r=Math.round(e/n);if(!a){const o=e=>Math.floor(100*e)/100;if(-1===s){const s=this._getTextWidth(A,i);a=o(Math.min(e/ha,s>t?t/s:1/0)),r=1}else{const g=A.split(/\r\n?|\n/),h=[];for(const e of g){const t=i.encodeString(e).join(""),A=i.charsToGlyphs(t),s=i.getCharPositions(t);h.push({line:t,glyphs:A,positions:s})}const c=A=>{let s=0;for(const a of h){if(s+=this._splitLine(null,i,A,t,a).length*A,s>e)return!0}return!1};for(r=Math.max(r,s);n=e/r,a=o(n/ha),c(a);)r++}const{fontName:g,fontColor:h}=this.data.defaultAppearanceData;this._defaultAppearance=function({fontSize:e,fontName:t,fontColor:A}){return`/${vg(t)} ${e} Tf ${fB(A,!0)}`}({fontSize:a,fontName:g,fontColor:h})}return[this._defaultAppearance,a,e/r]}_renderText(e,t,A,i,s,a,n,r){let o;if(1===s){o=(i-this._getTextWidth(e,t)*A)/2}else if(2===s){o=i-this._getTextWidth(e,t)*A-n}else o=n;const g=Yg(o-a.shift);return a.shift=o,`${g} ${r=Yg(r)} Td (${Ng(e)}) Tj`}_getSaveFieldResources(e){const{localResources:t,appearanceResources:A,acroFormResources:i}=this._fieldResources,s=this.data.defaultAppearanceData?.fontName;if(!s)return t||ig.empty;for(const e of[t,A])if(e instanceof ig){const t=e.get("Font");if(t instanceof ig&&t.has(s))return e}if(i instanceof ig){const A=i.get("Font");if(A instanceof ig&&A.has(s)){const i=new ig(e);i.set(s,A.getRaw(s));const a=new ig(e);return a.set("Font",i),ig.merge({xref:e,dictArray:[a,t],mergeSubDicts:!0})}}return t||ig.empty}getFieldObject(){return null}}class AS extends tS{constructor(e){super(e),this.data.hasOwnCanvas=this.data.readOnly&&!this.data.noHTML,this._hasText=!0;const t=e.dict;"string"!=typeof this.data.fieldValue&&(this.data.fieldValue="");let A=Eg({dict:t,key:"Q"});(!Number.isInteger(A)||A<0||A>2)&&(A=null),this.data.textAlignment=A;let i=Eg({dict:t,key:"MaxLen"});(!Number.isInteger(i)||i<0)&&(i=0),this.data.maxLen=i,this.data.multiLine=this.hasFieldFlag(rn),this.data.comb=this.hasFieldFlag(Cn)&&!this.hasFieldFlag(rn)&&!this.hasFieldFlag(on)&&!this.hasFieldFlag(ln)&&0!==this.data.maxLen,this.data.doNotScroll=this.hasFieldFlag(dn)}get hasTextContent(){return!!this.appearance&&!this._needAppearances}_getCombAppearance(e,t,A,i,s,a,n,r,o,g,h){const c=s/this.data.maxLen,l=this.getBorderAndBackgroundAppearances(h),I=[],d=t.getCharPositions(A);for(const[e,t]of d)I.push(`(${Ng(A.substring(e,t))}) Tj`);const C=I.join(` ${Yg(c)} 0 Td `);return`/Tx BMC q ${l}BT `+e+` 1 0 0 1 ${Yg(n)} ${Yg(r+o)} Tm ${C} ET Q EMC`}_getMultilineAppearance(e,t,A,i,s,a,n,r,o,g,h,c){const l=[],I=s-2*r,d={shift:0};for(let e=0,a=t.length;e<a;e++){const a=t[e],c=this._splitLine(a,A,i,I);for(let t=0,a=c.length;t<a;t++){const a=c[t],I=0===e&&0===t?-o-(h-g):-h;l.push(this._renderText(a,A,i,s,n,d,r,I))}}const C=this.getBorderAndBackgroundAppearances(c),u=l.join("\n");return`/Tx BMC q ${C}BT `+e+` 1 0 0 1 0 ${Yg(a)} Tm ${u} ET Q EMC`}_splitLine(e,t,A,i,s={}){e=s.line||e;const a=s.glyphs||t.charsToGlyphs(e);if(a.length<=1)return[e];const n=s.positions||t.getCharPositions(e),r=A/1e3,o=[];let g=-1,h=-1,c=-1,l=0,I=0;for(let t=0,A=a.length;t<A;t++){const[A,s]=n[t],d=a[t],C=d.width*r;" "===d.unicode?I+C>i?(o.push(e.substring(l,A)),l=A,I=C,g=-1,c=-1):(I+=C,g=A,h=s,c=t):I+C>i?-1!==g?(o.push(e.substring(l,h)),l=h,t=c+1,g=-1,I=0):(o.push(e.substring(l,A)),l=A,I=C):I+=C}return l<e.length&&o.push(e.substring(l,e.length)),o}getFieldObject(){return{id:this.data.id,value:this.data.fieldValue,defaultValue:this.data.defaultFieldValue||"",multiline:this.data.multiLine,password:this.hasFieldFlag(on),charLimit:this.data.maxLen,comb:this.data.comb,editable:!this.data.readOnly,hidden:this.data.hidden,name:this.data.fieldName,rect:this.data.rect,actions:this.data.actions,page:this.data.pageIndex,strokeColor:this.data.borderColor,fillColor:this.data.backgroundColor,rotation:this.rotation,type:"text"}}}class iS extends tS{constructor(e){super(e),this.checkedAppearance=null,this.uncheckedAppearance=null,this.data.checkBox=!this.hasFieldFlag(gn)&&!this.hasFieldFlag(hn),this.data.radioButton=this.hasFieldFlag(gn)&&!this.hasFieldFlag(hn),this.data.pushButton=this.hasFieldFlag(hn),this.data.isTooltipOnly=!1,this.data.checkBox?this._processCheckBox(e):this.data.radioButton?this._processRadioButton(e):this.data.pushButton?(this.data.hasOwnCanvas=!0,this.data.noHTML=!1,this._processPushButton(e)):co("Invalid field flags for button widget annotation")}async getOperatorList(e,t,A,i,s){if(this.data.pushButton)return super.getOperatorList(e,t,A,!1,s);let a=null,n=null;if(s){const e=s.get(this.data.id);a=e?e.value:null,n=e?e.rotation:null}if(null===a&&this.appearance)return super.getOperatorList(e,t,A,i,s);null==a&&(a=this.data.checkBox?this.data.fieldValue===this.data.exportValue:this.data.fieldValue===this.data.buttonValue);const r=a?this.checkedAppearance:this.uncheckedAppearance;if(r){const a=this.appearance,o=Sg(r.dict.getArray("Matrix"),oa);n&&r.dict.set("Matrix",this.getRotationMatrix(s)),this.appearance=r;const g=super.getOperatorList(e,t,A,i,s);return this.appearance=a,r.dict.set("Matrix",o),g}return{opList:new eB,separateForm:!1,separateCanvas:!1}}async save(e,t,A){return this.data.checkBox?this._saveCheckbox(e,t,A):this.data.radioButton?this._saveRadioButton(e,t,A):null}async _saveCheckbox(e,t,A){if(!A)return null;const i=A.get(this.data.id);let s=i?.rotation,a=i?.value;if(void 0===s){if(void 0===a)return null;if(this.data.fieldValue===this.data.exportValue===a)return null}const n=e.xref.fetchIfRef(this.ref);if(!(n instanceof ig))return null;void 0===s&&(s=this.rotation),void 0===a&&(a=this.data.fieldValue===this.data.exportValue);const r={path:this.data.fieldName,value:a?this.data.exportValue:""},o=eg.get(a?this.data.exportValue:"Off");n.set("V",o),n.set("AS",o),n.set("M",`D:${Uo()}`);const g=this._getMKDict(s);g&&n.set("MK",g);const h=[];return await eQ(this.ref,n,h,e.xref),[{ref:this.ref,data:h.join(""),xfa:r}]}async _saveRadioButton(e,t,A){if(!A)return null;const i=A.get(this.data.id);let s=i?.rotation,a=i?.value;if(void 0===s){if(void 0===a)return null;if(this.data.fieldValue===this.data.buttonValue===a)return null}const n=e.xref.fetchIfRef(this.ref);if(!(n instanceof ig))return null;void 0===a&&(a=this.data.fieldValue===this.data.buttonValue),void 0===s&&(s=this.rotation);const r={path:this.data.fieldName,value:a?this.data.buttonValue:""},o=eg.get(a?this.data.buttonValue:"Off"),g=[];let h=null;if(a)if(this.parent instanceof sg){const t=e.xref.fetch(this.parent);t.set("V",o),await eQ(this.parent,t,g,e.xref),h=g.join(""),g.length=0}else this.parent instanceof ig&&this.parent.set("V",o);n.set("AS",o),n.set("M",`D:${Uo()}`);const c=this._getMKDict(s);c&&n.set("MK",c),await eQ(this.ref,n,g,e.xref);const l=[{ref:this.ref,data:g.join(""),xfa:r}];return h&&l.push({ref:this.parent,data:h,xfa:null}),l}_getDefaultCheckedAppearance(e,t){const A=this.data.rect[2]-this.data.rect[0],i=this.data.rect[3]-this.data.rect[1],s=[0,0,A,i],a=.8*Math.min(A,i);let n,r;"check"===t?(n={width:.755*a,height:.705*a},r="3"):"disc"===t?(n={width:.791*a,height:.705*a},r="l"):lo(`_getDefaultCheckedAppearance - unsupported type: ${t}`);const o=`q BT /PdfJsZaDb ${a} Tf 0 g ${Yg((A-n.width)/2)} ${Yg((i-n.height)/2)} Td (${r}) Tj ET Q`,g=new ig(e.xref);g.set("FormType",1),g.set("Subtype",eg.get("Form")),g.set("Type",eg.get("XObject")),g.set("BBox",s),g.set("Matrix",[1,0,0,1,0,0]),g.set("Length",o.length);const h=new ig(e.xref),c=new ig(e.xref);c.set("PdfJsZaDb",this.fallbackFontDict),h.set("Font",c),g.set("Resources",h),this.checkedAppearance=new Zg(o),this.checkedAppearance.dict=g,this._streams.push(this.checkedAppearance)}_processCheckBox(e){const t=e.dict.get("AP");if(!(t instanceof ig))return;const A=t.get("N");if(!(A instanceof ig))return;const i=this._decodeFormValue(e.dict.get("AS"));"string"==typeof i&&(this.data.fieldValue=i);const s=null!==this.data.fieldValue&&"Off"!==this.data.fieldValue?this.data.fieldValue:"Yes",a=A.getKeys();if(0===a.length)a.push("Off",s);else if(1===a.length)"Off"===a[0]?a.push(s):a.unshift("Off");else if(a.includes(s))a.length=0,a.push("Off",s);else{const e=a.find((e=>"Off"!==e));a.length=0,a.push("Off",e)}a.includes(this.data.fieldValue)||(this.data.fieldValue="Off"),this.data.exportValue=a[1];const n=A.get(this.data.exportValue);this.checkedAppearance=n instanceof cg?n:null;const r=A.get("Off");this.uncheckedAppearance=r instanceof cg?r:null,this.checkedAppearance?this._streams.push(this.checkedAppearance):this._getDefaultCheckedAppearance(e,"check"),this.uncheckedAppearance&&this._streams.push(this.uncheckedAppearance),this._fallbackFontDict=this.fallbackFontDict,null===this.data.defaultFieldValue&&(this.data.defaultFieldValue="Off")}_processRadioButton(e){this.data.buttonValue=null;const t=e.dict.get("Parent");if(t instanceof ig){this.parent=e.dict.getRaw("Parent");const A=t.get("V");A instanceof eg&&(this.data.fieldValue=this._decodeFormValue(A))}const A=e.dict.get("AP");if(!(A instanceof ig))return;const i=A.get("N");if(!(i instanceof ig))return;for(const e of i.getKeys())if("Off"!==e){this.data.buttonValue=this._decodeFormValue(e);break}const s=i.get(this.data.buttonValue);this.checkedAppearance=s instanceof cg?s:null;const a=i.get("Off");this.uncheckedAppearance=a instanceof cg?a:null,this.checkedAppearance?this._streams.push(this.checkedAppearance):this._getDefaultCheckedAppearance(e,"disc"),this.uncheckedAppearance&&this._streams.push(this.uncheckedAppearance),this._fallbackFontDict=this.fallbackFontDict,null===this.data.defaultFieldValue&&(this.data.defaultFieldValue="Off")}_processPushButton(e){const{dict:t,annotationGlobals:A}=e;t.has("A")||t.has("AA")||this.data.alternativeText?(this.data.isTooltipOnly=!t.has("A")&&!t.has("AA"),yQ.parseDestDictionary({destDict:t,resultObj:this.data,docBaseUrl:A.baseUrl,docAttachments:A.attachments})):co("Push buttons without action dictionaries are not supported")}getFieldObject(){let e,t="button";return this.data.checkBox?(t="checkbox",e=this.data.exportValue):this.data.radioButton&&(t="radiobutton",e=this.data.buttonValue),{id:this.data.id,value:this.data.fieldValue||"Off",defaultValue:this.data.defaultFieldValue,exportValues:e,editable:!this.data.readOnly,name:this.data.fieldName,rect:this.data.rect,hidden:this.data.hidden,actions:this.data.actions,page:this.data.pageIndex,strokeColor:this.data.borderColor,fillColor:this.data.backgroundColor,rotation:this.rotation,type:t}}get fallbackFontDict(){const e=new ig;return e.set("BaseFont",eg.get("ZapfDingbats")),e.set("Type",eg.get("FallbackType")),e.set("Subtype",eg.get("FallbackType")),e.set("Encoding",eg.get("ZapfDingbatsEncoding")),uo(this,"fallbackFontDict",e)}}class sS extends tS{constructor(e){super(e);const{dict:t,xref:A}=e;this.indices=t.getArray("I"),this.hasIndices=Array.isArray(this.indices)&&this.indices.length>0,this.data.options=[];const i=Eg({dict:t,key:"Opt"});if(Array.isArray(i))for(let e=0,t=i.length;e<t;e++){const t=A.fetchIfRef(i[e]),s=Array.isArray(t);this.data.options[e]={exportValue:this._decodeFormValue(s?A.fetchIfRef(t[0]):t),displayValue:this._decodeFormValue(s?A.fetchIfRef(t[1]):t)}}if(this.hasIndices){this.data.fieldValue=[];const e=this.data.options.length;for(const t of this.indices)Number.isInteger(t)&&t>=0&&t<e&&this.data.fieldValue.push(this.data.options[t].exportValue)}else"string"==typeof this.data.fieldValue?this.data.fieldValue=[this.data.fieldValue]:this.data.fieldValue||(this.data.fieldValue=[]);this.data.combo=this.hasFieldFlag(cn),this.data.multiSelect=this.hasFieldFlag(In),this._hasText=!0}getFieldObject(){const e=this.data.combo?"combobox":"listbox",t=this.data.fieldValue.length>0?this.data.fieldValue[0]:null;return{id:this.data.id,value:t,defaultValue:this.data.defaultFieldValue,editable:!this.data.readOnly,name:this.data.fieldName,rect:this.data.rect,numItems:this.data.fieldValue.length,multipleSelection:this.data.multiSelect,hidden:this.data.hidden,actions:this.data.actions,items:this.data.options,page:this.data.pageIndex,strokeColor:this.data.borderColor,fillColor:this.data.backgroundColor,rotation:this.rotation,type:e}}amendSavedDict(e,t){if(!this.hasIndices)return;let A=e?.get(this.data.id)?.value;Array.isArray(A)||(A=[A]);const i=[],{options:s}=this.data;for(let e=0,t=0,a=s.length;e<a;e++)s[e].exportValue===A[t]&&(i.push(e),t+=1);t.set("I",i)}async _getAppearance(e,t,A,i){if(this.data.combo)return super._getAppearance(e,t,A,i);let s,a;const n=i?.get(this.data.id);if(n&&(a=n.rotation,s=n.value),void 0===a&&void 0===s&&!this._needAppearances)return null;void 0===s?s=this.data.fieldValue:Array.isArray(s)||(s=[s]);let r=this.data.rect[3]-this.data.rect[1],o=this.data.rect[2]-this.data.rect[0];90!==a&&270!==a||([o,r]=[r,o]);const g=this.data.options.length,h=[];for(let e=0;e<g;e++){const{exportValue:t}=this.data.options[e];s.includes(t)&&h.push(e)}this._defaultAppearance||(this.data.defaultAppearanceData=QB(this._defaultAppearance="/Helvetica 0 Tf 0 g"));const c=await tS._getFontData(e,t,this.data.defaultAppearanceData,this._fieldResources.mergedResources);let l,{fontSize:I}=this.data.defaultAppearanceData;if(I)l=this._defaultAppearance;else{const e=(r-1)/g;let t,A=-1;for(const{displayValue:e}of this.data.options){const i=this._getTextWidth(e,c);i>A&&(A=i,t=e)}[l,I]=this._computeFontSize(e,o-4,t,c,-1)}const d=I*ha,C=(d-I)/2,u=Math.floor(r/d);let B=0;if(h.length>0){const e=Math.min(...h),t=Math.max(...h);B=Math.max(0,t-u+1),B>e&&(B=e)}const Q=Math.min(B+u+1,g),E=["/Tx BMC q",`1 1 ${o} ${r} re W n`];if(h.length){E.push("0.600006 0.756866 0.854904 rg");for(const e of h)B<=e&&e<Q&&E.push(`1 ${r-(e-B+1)*d} ${o} ${d} re f`)}E.push("BT",l,`1 0 0 1 0 ${r} Tm`);const f={shift:0};for(let e=B;e<Q;e++){const{displayValue:t}=this.data.options[e],A=e===B?C:0;E.push(this._renderText(t,c,I,o,0,f,2,-d+A))}return E.push("ET Q EMC"),E.join("\n")}}class aS extends tS{constructor(e){super(e),this.data.fieldValue=null,this.data.hasOwnCanvas=this.data.noRotate,this.data.noHTML=!this.data.hasOwnCanvas}getFieldObject(){return{id:this.data.id,value:null,page:this.data.pageIndex,type:"signature"}}}class nS extends eS{constructor(e){super(e),this.data.noRotate=!0,this.data.hasOwnCanvas=this.data.noRotate,this.data.noHTML=!1;const{dict:t}=e;this.data.annotationType=xa,this.data.hasAppearance?this.data.name="NoIcon":(this.data.rect[1]=this.data.rect[3]-22,this.data.rect[2]=this.data.rect[0]+22,this.data.name=t.has("Name")?t.get("Name").name:"Note"),t.has("State")?(this.data.state=t.get("State")||null,this.data.stateModel=t.get("StateModel")||null):(this.data.state=null,this.data.stateModel=null)}}class rS extends zk{constructor(e){super(e);const{dict:t,annotationGlobals:A}=e;this.data.annotationType=va,this.data.noHTML=!1;const i=Zk(t,this.rectangle);i&&(this.data.quadPoints=i),this.data.borderColor||=this.data.color,yQ.parseDestDictionary({destDict:t,resultObj:this.data,docBaseUrl:A.baseUrl,docAttachments:A.attachments})}}class oS extends zk{constructor(e){super(e);const{dict:t}=e;this.data.annotationType=Oa,this.data.noHTML=!1,this.data.rect[0]!==this.data.rect[2]&&this.data.rect[1]!==this.data.rect[3]||(this.data.rect=null);let A=t.get("Parent");if(!A)return void co("Popup annotation has a missing or invalid parent annotation.");this.data.parentRect=Rg(A.getArray("Rect"),null);if(rg(A.get("RT"),Va)&&(A=A.get("IRT")),A.has("M")?(this.setModificationDate(A.get("M")),this.data.modificationDate=this.modificationDate):this.data.modificationDate=null,A.has("C")?(this.setColor(A.getArray("C")),this.data.color=this.color):this.data.color=null,!this.viewable){const e=A.get("F");this._isViewable(e)&&this.setFlags(e)}this.setTitle(A.get("T")),this.data.titleObj=this._title,this.setContents(A.get("Contents")),this.data.contentsObj=this._contents,A.has("RC")&&(this.data.richText=Ok.getRichTextAsHtml(A.get("RC"))),this.data.open=!!t.get("Open")}}class gS extends eS{constructor(e){super(e),this.data.hasOwnCanvas=!this.data.noHTML,this.data.noHTML=!1;const{evaluatorOptions:t,xref:A}=e;if(this.data.annotationType=Na,this.setDefaultAppearance(e),this._hasAppearance=!!this.appearance,this._hasAppearance){const{fontColor:e,fontSize:i}=function(e,t,A){return new EB(e,t,A).parse()}(this.appearance,t,A);this.data.defaultAppearanceData.fontColor=e,this.data.defaultAppearanceData.fontSize=i||10}else{this.data.defaultAppearanceData.fontSize||=10;const{fontColor:t,fontSize:i}=this.data.defaultAppearanceData;if(this._contents.str){this.data.textContent=this._contents.str.split(/\r\n?|\n/).map((e=>e.trimEnd()));const{coords:e,bbox:t,matrix:A}=pB.getFirstPositionInfo(this.rectangle,this.rotation,i);this.data.textPosition=this._transformPoint(e,t,A)}if(this._isOffscreenCanvasSupported){const s=e.dict.get("CA"),a=new pB(A,"sans-serif");this.appearance=a.createAppearance(this._contents.str,this.rectangle,this.rotation,i,t,s),this._streams.push(this.appearance)}else co("FreeTextAnnotation: OffscreenCanvas is not supported, annotation may not render correctly.")}}get hasTextContent(){return this._hasAppearance}static createNewDict(e,t,{apRef:A,ap:i}){const{color:s,fontSize:a,rect:n,rotation:r,user:o,value:g}=e,h=new ig(t);h.set("Type",eg.get("Annot")),h.set("Subtype",eg.get("FreeText")),h.set("CreationDate",`D:${Uo()}`),h.set("Rect",n);const c=`/Helv ${a} Tf ${fB(s,!0)}`;if(h.set("DA",c),h.set("Contents",_g(g)?g:Og(g,!0)),h.set("F",4),h.set("Border",[0,0,0]),h.set("Rotate",r),o&&h.set("T",_g(o)?o:Og(o,!0)),A||i){const e=new ig(t);h.set("AP",e),A?e.set("N",A):e.set("N",i)}return h}static async createNewAppearanceStream(e,t,A){const{baseFontRef:i,evaluator:s,task:a}=A,{color:n,fontSize:r,rect:o,rotation:g,value:h}=e,c=new ig(t),l=new ig(t);if(i)l.set("Helv",i);else{const e=new ig(t);e.set("BaseFont",eg.get("Helvetica")),e.set("Type",eg.get("Font")),e.set("Subtype",eg.get("Type1")),e.set("Encoding",eg.get("WinAnsiEncoding")),l.set("Helv",e)}c.set("Font",l);const I=await tS._getFontData(s,a,{fontName:"Helv",fontSize:r},c),[d,C,u,B]=o;let Q=u-d,E=B-C;g%180!=0&&([Q,E]=[E,Q]);const f=h.split("\n"),p=r/1e3;let m=-1/0;const y=[];for(let e of f){const t=I.encodeString(e);if(t.length>1)return null;e=t.join(""),y.push(e);let A=0;const i=I.charsToGlyphs(e);for(const e of i)A+=e.width*p;m=Math.max(m,A)}let w=1;m>Q&&(w=Q/m);let b=1;const D=ha*r,k=1*r,S=D*f.length;S>E&&(b=E/S);const F=r*Math.min(w,b);let R,x,v;switch(g){case 0:v=[1,0,0,1],x=[o[0],o[1],Q,E],R=[o[0],o[3]-k];break;case 90:v=[0,1,-1,0],x=[o[1],-o[2],Q,E],R=[o[1],-o[0]-k];break;case 180:v=[-1,0,0,-1],x=[-o[2],-o[3],Q,E],R=[-o[2],-o[1]-k];break;case 270:v=[0,-1,1,0],x=[-o[3],o[0],Q,E],R=[-o[3],o[2]-k]}const N=["q",`${v.join(" ")} 0 0 cm`,`${x.join(" ")} re W n`,"BT",`${fB(n,!0)}`,`0 Tc /Helv ${Yg(F)} Tf`];N.push(`${R.join(" ")} Td (${Ng(y[0])}) Tj`);const M=Yg(D);for(let e=1,t=y.length;e<t;e++){const t=y[e];N.push(`0 -${M} Td (${Ng(t)}) Tj`)}N.push("ET","Q");const G=N.join("\n"),L=new ig(t);L.set("FormType",1),L.set("Subtype",eg.get("Form")),L.set("Type",eg.get("XObject")),L.set("BBox",o),L.set("Resources",c),L.set("Matrix",[1,0,0,1,-o[0],-o[1]]);const U=new Zg(G);return U.dict=L,U}}class hS extends eS{constructor(e){super(e);const{dict:t,xref:A}=e;this.data.annotationType=Ma,this.data.hasOwnCanvas=this.data.noRotate,this.data.noHTML=!1;const i=Fg(t.getArray("L"),[0,0,0,0]);if(this.data.lineCoordinates=xo.normalizeRect(i),this.setLineEndings(t.getArray("LE")),this.data.lineEndings=this.lineEndings,!this.appearance){const e=this.color?Vk(this.color):[0,0,0],s=t.get("CA"),a=jk(t.getArray("IC"),null),n=a?Vk(a):null,r=n?s:null,o=this.borderStyle.width||1,g=2*o,h=[this.data.lineCoordinates[0]-g,this.data.lineCoordinates[1]-g,this.data.lineCoordinates[2]+g,this.data.lineCoordinates[3]+g];xo.intersect(this.rectangle,h)||(this.rectangle=h),this._setDefaultAppearance({xref:A,extra:`${o} w`,strokeColor:e,fillColor:n,strokeAlpha:s,fillAlpha:r,pointsCallback:(e,t)=>(e.push(`${i[0]} ${i[1]} m`,`${i[2]} ${i[3]} l`,"S"),[t[0].x-o,t[1].x+o,t[3].y-o,t[1].y+o])})}}}class cS extends eS{constructor(e){super(e);const{dict:t,xref:A}=e;if(this.data.annotationType=Ga,this.data.hasOwnCanvas=this.data.noRotate,this.data.noHTML=!1,!this.appearance){const e=this.color?Vk(this.color):[0,0,0],i=t.get("CA"),s=jk(t.getArray("IC"),null),a=s?Vk(s):null,n=a?i:null;if(0===this.borderStyle.width&&!a)return;this._setDefaultAppearance({xref:A,extra:`${this.borderStyle.width} w`,strokeColor:e,fillColor:a,strokeAlpha:i,fillAlpha:n,pointsCallback:(e,t)=>{const A=t[2].x+this.borderStyle.width/2,i=t[2].y+this.borderStyle.width/2,s=t[3].x-t[2].x-this.borderStyle.width,n=t[1].y-t[3].y-this.borderStyle.width;return e.push(`${A} ${i} ${s} ${n} re`),a?e.push("B"):e.push("S"),[t[0].x,t[1].x,t[3].y,t[1].y]}})}}}class lS extends eS{constructor(e){super(e);const{dict:t,xref:A}=e;if(this.data.annotationType=La,!this.appearance){const e=this.color?Vk(this.color):[0,0,0],i=t.get("CA"),s=jk(t.getArray("IC"),null),a=s?Vk(s):null,n=a?i:null;if(0===this.borderStyle.width&&!a)return;const r=4/3*Math.tan(Math.PI/8);this._setDefaultAppearance({xref:A,extra:`${this.borderStyle.width} w`,strokeColor:e,fillColor:a,strokeAlpha:i,fillAlpha:n,pointsCallback:(e,t)=>{const A=t[0].x+this.borderStyle.width/2,i=t[0].y-this.borderStyle.width/2,s=t[3].x-this.borderStyle.width/2,n=t[3].y+this.borderStyle.width/2,o=A+(s-A)/2,g=i+(n-i)/2,h=(s-A)/2*r,c=(n-i)/2*r;return e.push(`${o} ${n} m`,`${o+h} ${n} ${s} ${g+c} ${s} ${g} c`,`${s} ${g-c} ${o+h} ${i} ${o} ${i} c`,`${o-h} ${i} ${A} ${g-c} ${A} ${g} c`,`${A} ${g+c} ${o-h} ${n} ${o} ${n} c`,"h"),a?e.push("B"):e.push("S"),[t[0].x,t[1].x,t[3].y,t[1].y]}})}}}class IS extends eS{constructor(e){super(e);const{dict:t,xref:A}=e;this.data.annotationType=Ha,this.data.hasOwnCanvas=this.data.noRotate,this.data.noHTML=!1,this.data.vertices=[],this instanceof dS||(this.setLineEndings(t.getArray("LE")),this.data.lineEndings=this.lineEndings);const i=t.getArray("Vertices");if(kg(i,null)){for(let e=0,t=i.length;e<t;e+=2)this.data.vertices.push({x:i[e],y:i[e+1]});if(!this.appearance){const e=this.color?Vk(this.color):[0,0,0],i=t.get("CA"),s=this.borderStyle.width||1,a=2*s,n=[1/0,1/0,-1/0,-1/0];for(const e of this.data.vertices)n[0]=Math.min(n[0],e.x-a),n[1]=Math.min(n[1],e.y-a),n[2]=Math.max(n[2],e.x+a),n[3]=Math.max(n[3],e.y+a);xo.intersect(this.rectangle,n)||(this.rectangle=n),this._setDefaultAppearance({xref:A,extra:`${s} w`,strokeColor:e,strokeAlpha:i,pointsCallback:(e,t)=>{const A=this.data.vertices;for(let t=0,i=A.length;t<i;t++)e.push(`${A[t].x} ${A[t].y} ${0===t?"m":"l"}`);return e.push("S"),[t[0].x,t[1].x,t[3].y,t[1].y]}})}}}}class dS extends IS{constructor(e){super(e),this.data.annotationType=Ua}}class CS extends eS{constructor(e){super(e),this.data.annotationType=_a}}class uS extends eS{constructor(e){super(e),this.data.hasOwnCanvas=this.data.noRotate,this.data.noHTML=!1;const{dict:t,xref:A}=e;this.data.annotationType=qa,this.data.inkLists=[];const i=t.getArray("InkList");if(Array.isArray(i)){for(let e=0,t=i.length;e<t;++e)if(this.data.inkLists.push([]),Array.isArray(i[e]))for(let t=0,s=i[e].length;t<s;t+=2){const s=A.fetchIfRef(i[e][t]),a=A.fetchIfRef(i[e][t+1]);"number"==typeof s&&"number"==typeof a&&this.data.inkLists[e].push({x:s,y:a})}if(!this.appearance){const e=this.color?Vk(this.color):[0,0,0],i=t.get("CA"),s=this.borderStyle.width||1,a=2*s,n=[1/0,1/0,-1/0,-1/0];for(const e of this.data.inkLists)for(const t of e)n[0]=Math.min(n[0],t.x-a),n[1]=Math.min(n[1],t.y-a),n[2]=Math.max(n[2],t.x+a),n[3]=Math.max(n[3],t.y+a);xo.intersect(this.rectangle,n)||(this.rectangle=n),this._setDefaultAppearance({xref:A,extra:`${s} w`,strokeColor:e,strokeAlpha:i,pointsCallback:(e,t)=>{for(const t of this.data.inkLists){for(let A=0,i=t.length;A<i;A++)e.push(`${t[A].x} ${t[A].y} ${0===A?"m":"l"}`);e.push("S")}return[t[0].x,t[1].x,t[3].y,t[1].y]}})}}}static createNewDict(e,t,{apRef:A,ap:i}){const{color:s,opacity:a,paths:n,outlines:r,rect:o,rotation:g,thickness:h}=e,c=new ig(t);c.set("Type",eg.get("Annot")),c.set("Subtype",eg.get("Ink")),c.set("CreationDate",`D:${Uo()}`),c.set("Rect",o),c.set("InkList",r?.points||n.map((e=>e.points))),c.set("F",4),c.set("Rotate",g),r&&c.set("IT",eg.get("InkHighlight"));const l=new ig(t);c.set("BS",l),l.set("W",h),c.set("C",Array.from(s,(e=>e/255))),c.set("CA",a);const I=new ig(t);return c.set("AP",I),A?I.set("N",A):I.set("N",i),c}static async createNewAppearanceStream(e,t,A){if(e.outlines)return this.createNewAppearanceStreamForHighlight(e,t,A);const{color:i,rect:s,paths:a,thickness:n,opacity:r}=e,o=[`${n} w 1 J 1 j`,`${fB(i,!1)}`];1!==r&&o.push("/R0 gs");const g=[];for(const{bezier:e}of a){if(g.length=0,g.push(`${Yg(e[0])} ${Yg(e[1])} m`),2===e.length)g.push(`${Yg(e[0])} ${Yg(e[1])} l S`);else{for(let t=2,A=e.length;t<A;t+=6){const A=e.slice(t,t+6).map(Yg).join(" ");g.push(`${A} c`)}g.push("S")}o.push(g.join("\n"))}const h=o.join("\n"),c=new ig(t);if(c.set("FormType",1),c.set("Subtype",eg.get("Form")),c.set("Type",eg.get("XObject")),c.set("BBox",s),c.set("Length",h.length),1!==r){const e=new ig(t),A=new ig(t),i=new ig(t);i.set("CA",r),i.set("Type",eg.get("ExtGState")),A.set("R0",i),e.set("ExtGState",A),c.set("Resources",e)}const l=new Zg(h);return l.dict=c,l}static async createNewAppearanceStreamForHighlight(e,t,A){const{color:i,rect:s,outlines:{outline:a},opacity:n}=e,r=[`${fB(i,!0)}`,"/R0 gs"];r.push(`${Yg(a[4])} ${Yg(a[5])} m`);for(let e=6,t=a.length;e<t;e+=6)if(isNaN(a[e])||null===a[e])r.push(`${Yg(a[e+4])} ${Yg(a[e+5])} l`);else{const t=a.slice(e,e+6).map(Yg).join(" ");r.push(`${t} c`)}r.push("h f");const o=r.join("\n"),g=new ig(t);g.set("FormType",1),g.set("Subtype",eg.get("Form")),g.set("Type",eg.get("XObject")),g.set("BBox",s),g.set("Length",o.length);const h=new ig(t),c=new ig(t);h.set("ExtGState",c),g.set("Resources",h);const l=new ig(t);c.set("R0",l),l.set("BM",eg.get("Multiply")),1!==n&&(l.set("ca",n),l.set("Type",eg.get("ExtGState")));const I=new Zg(o);return I.dict=g,I}}class BS extends eS{constructor(e){super(e);const{dict:t,xref:A}=e;this.data.annotationType=Ja;if(this.data.quadPoints=Zk(t,null)){const e=this.appearance?.dict.get("Resources");if(!this.appearance||!e?.has("ExtGState")){this.appearance&&co("HighlightAnnotation - ignoring built-in appearance stream.");const e=this.color?Vk(this.color):[1,1,0],i=t.get("CA");this._setDefaultAppearance({xref:A,fillColor:e,blendMode:"Multiply",fillAlpha:i,pointsCallback:(e,t)=>(e.push(`${t[0].x} ${t[0].y} m`,`${t[1].x} ${t[1].y} l`,`${t[3].x} ${t[3].y} l`,`${t[2].x} ${t[2].y} l`,"f"),[t[0].x,t[1].x,t[3].y,t[1].y])})}}else this.data.popupRef=null}static createNewDict(e,t,{apRef:A,ap:i}){const{color:s,opacity:a,rect:n,rotation:r,user:o,quadPoints:g}=e,h=new ig(t);if(h.set("Type",eg.get("Annot")),h.set("Subtype",eg.get("Highlight")),h.set("CreationDate",`D:${Uo()}`),h.set("Rect",n),h.set("F",4),h.set("Border",[0,0,0]),h.set("Rotate",r),h.set("QuadPoints",g),h.set("C",Array.from(s,(e=>e/255))),h.set("CA",a),o&&h.set("T",_g(o)?o:Og(o,!0)),A||i){const e=new ig(t);h.set("AP",e),e.set("N",A||i)}return h}static async createNewAppearanceStream(e,t,A){const{color:i,rect:s,outlines:a,opacity:n}=e,r=[`${fB(i,!0)}`,"/R0 gs"],o=[];for(const e of a){o.length=0,o.push(`${Yg(e[0])} ${Yg(e[1])} m`);for(let t=2,A=e.length;t<A;t+=2)o.push(`${Yg(e[t])} ${Yg(e[t+1])} l`);o.push("h"),r.push(o.join("\n"))}r.push("f*");const g=r.join("\n"),h=new ig(t);h.set("FormType",1),h.set("Subtype",eg.get("Form")),h.set("Type",eg.get("XObject")),h.set("BBox",s),h.set("Length",g.length);const c=new ig(t),l=new ig(t);c.set("ExtGState",l),h.set("Resources",c);const I=new ig(t);l.set("R0",I),I.set("BM",eg.get("Multiply")),1!==n&&(I.set("ca",n),I.set("Type",eg.get("ExtGState")));const d=new Zg(g);return d.dict=h,d}}class QS extends eS{constructor(e){super(e);const{dict:t,xref:A}=e;this.data.annotationType=Ta;if(this.data.quadPoints=Zk(t,null)){if(!this.appearance){const e=this.color?Vk(this.color):[0,0,0],i=t.get("CA");this._setDefaultAppearance({xref:A,extra:"[] 0 d 0.571 w",strokeColor:e,strokeAlpha:i,pointsCallback:(e,t)=>(e.push(`${t[2].x} ${t[2].y+1.3} m`,`${t[3].x} ${t[3].y+1.3} l`,"S"),[t[0].x,t[1].x,t[3].y,t[1].y])})}}else this.data.popupRef=null}}class ES extends eS{constructor(e){super(e);const{dict:t,xref:A}=e;this.data.annotationType=Pa;if(this.data.quadPoints=Zk(t,null)){if(!this.appearance){const e=this.color?Vk(this.color):[0,0,0],i=t.get("CA");this._setDefaultAppearance({xref:A,extra:"[] 0 d 1 w",strokeColor:e,strokeAlpha:i,pointsCallback:(e,t)=>{const A=(t[0].y-t[2].y)/6;let i=A,s=t[2].x;const a=t[2].y,n=t[3].x;e.push(`${s} ${a+i} m`);do{s+=2,i=0===i?A:0,e.push(`${s} ${a+i} l`)}while(s<n);return e.push("S"),[t[2].x,n,a-2*A,a+2*A]}})}}else this.data.popupRef=null}}class fS extends eS{constructor(e){super(e);const{dict:t,xref:A}=e;this.data.annotationType=Ya;if(this.data.quadPoints=Zk(t,null)){if(!this.appearance){const e=this.color?Vk(this.color):[0,0,0],i=t.get("CA");this._setDefaultAppearance({xref:A,extra:"[] 0 d 1 w",strokeColor:e,strokeAlpha:i,pointsCallback:(e,t)=>(e.push((t[0].x+t[2].x)/2+" "+(t[0].y+t[2].y)/2+" m",(t[1].x+t[3].x)/2+" "+(t[1].y+t[3].y)/2+" l","S"),[t[0].x,t[1].x,t[3].y,t[1].y])})}}else this.data.popupRef=null}}class pS extends eS{constructor(e){super(e),this.data.annotationType=Ka,this.data.hasOwnCanvas=this.data.noRotate,this.data.noHTML=!1}static async createImage(e,t){const{width:A,height:i}=e,s=new OffscreenCanvas(A,i),a=s.getContext("2d",{alpha:!0});a.drawImage(e,0,0);const n=a.getImageData(0,0,A,i).data,r=new Uint32Array(n.buffer),o=r.some(Fo.isLittleEndian?e=>e>>>24!=255:e=>255!=(255&e));o&&(a.fillStyle="white",a.fillRect(0,0,A,i),a.drawImage(e,0,0));const g=s.convertToBlob({type:"image/jpeg",quality:1}).then((e=>e.arrayBuffer())),h=eg.get("XObject"),c=eg.get("Image"),l=new ig(t);l.set("Type",h),l.set("Subtype",c),l.set("BitsPerComponent",8),l.set("ColorSpace",eg.get("DeviceRGB")),l.set("Filter",eg.get("DCTDecode")),l.set("BBox",[0,0,A,i]),l.set("Width",A),l.set("Height",i);let I=null;if(o){const e=new Uint8Array(r.length);if(Fo.isLittleEndian)for(let t=0,A=r.length;t<A;t++)e[t]=r[t]>>>24;else for(let t=0,A=r.length;t<A;t++)e[t]=255&r[t];const s=new ig(t);s.set("Type",h),s.set("Subtype",c),s.set("BitsPerComponent",8),s.set("ColorSpace",eg.get("DeviceGray")),s.set("Width",A),s.set("Height",i),I=new Vg(e,0,0,s)}return{imageStream:new Vg(await g,0,0,l),smaskStream:I,width:A,height:i}}static createNewDict(e,t,{apRef:A,ap:i}){const{rect:s,rotation:a,user:n}=e,r=new ig(t);if(r.set("Type",eg.get("Annot")),r.set("Subtype",eg.get("Stamp")),r.set("CreationDate",`D:${Uo()}`),r.set("Rect",s),r.set("F",4),r.set("Border",[0,0,0]),r.set("Rotate",a),n&&r.set("T",_g(n)?n:Og(n,!0)),A||i){const e=new ig(t);r.set("AP",e),A?e.set("N",A):e.set("N",i)}return r}static async createNewAppearanceStream(e,t,A){const{rotation:i}=e,{imageRef:s,width:a,height:n}=A.image,r=new ig(t),o=new ig(t);r.set("XObject",o),o.set("Im0",s);const g=`q ${a} 0 0 ${n} 0 0 cm /Im0 Do Q`,h=new ig(t);if(h.set("FormType",1),h.set("Subtype",eg.get("Form")),h.set("Type",eg.get("XObject")),h.set("BBox",[0,0,a,n]),h.set("Resources",r),i){const e=Wg(i,a,n);h.set("Matrix",e)}const c=new Zg(g);return c.dict=h,c}}class mS extends eS{constructor(e){super(e);const{dict:t,xref:A}=e,i=new kB(t.get("FS"),A);this.data.annotationType=Wa,this.data.hasOwnCanvas=this.data.noRotate,this.data.noHTML=!1,this.data.file=i.serializable;const s=t.get("Name");this.data.name=s instanceof eg?No(s.name):"PushPin";const a=t.get("ca");this.data.fillAlpha="number"==typeof a&&a>=0&&a<=1?a:null}}function yS(e){try{return Mo(e)}catch(t){return co(`UTF-8 decoding failed: "${t}".`),e}}class wS extends HB{constructor(e){super(e),this.node=null}onEndElement(e){const t=super.onEndElement(e);if(t&&"xfa:datasets"===e)throw this.node=t,new Error("Aborting DatasetXMLParser.")}}class bS{constructor(e){if(e.datasets)this.node=new HB({hasAttributes:!0}).parseFromString(e.datasets).documentElement;else{const t=new wS({hasAttributes:!0});try{t.parseFromString(e["xdp:xdp"])}catch{}this.node=t.node}}getValue(e){if(!this.node||!e)return"";const t=this.node.searchNode(xg(e),0);if(!t)return"";const A=t.firstChild;return"value"===A?.nodeName?t.children.map((e=>yS(e.textContent))):yS(t.textContent)}}class DS{#Rr=null;constructor(e,t){this.stream=e,this.pdfManager=t,this.entries=[],this._xrefStms=new Set,this._cacheMap=new Map,this._pendingRefs=new ag,this._newPersistentRefNum=null,this._newTemporaryRefNum=null,this._persistentRefsCache=null}getNewPersistentRef(e){null===this._newPersistentRefNum&&(this._newPersistentRefNum=this.entries.length||1);const t=this._newPersistentRefNum++;return this._cacheMap.set(t,e),sg.get(t,0)}getNewTemporaryRef(){if(null===this._newTemporaryRefNum&&(this._newTemporaryRefNum=this.entries.length||1,this._newPersistentRefNum)){this._persistentRefsCache=new Map;for(let e=this._newTemporaryRefNum;e<this._newPersistentRefNum;e++)this._persistentRefsCache.set(e,this._cacheMap.get(e)),this._cacheMap.delete(e)}return sg.get(this._newTemporaryRefNum++,0)}resetNewTemporaryRef(){if(this._newTemporaryRefNum=null,this._persistentRefsCache)for(const[e,t]of this._persistentRefsCache)this._cacheMap.set(e,t);this._persistentRefsCache=null}setStartXRef(e){this.startXRefQueue=[e]}parse(e=!1){let t,A,i;e?(co("Indexing all PDF objects"),t=this.indexObjects()):t=this.readXRef(),t.assignXref(this),this.trailer=t;try{A=t.get("Encrypt")}catch(e){if(e instanceof dg)throw e;co(`XRef.parse - Invalid "Encrypt" reference: "${e}".`)}if(A instanceof ig){const e=t.get("ID"),i=e?.length?e[0]:"";A.suppressEncryption=!0,this.encrypt=new $B(A,i,this.pdfManager.password)}try{i=t.get("Root")}catch(e){if(e instanceof dg)throw e;co(`XRef.parse - Invalid "Root" reference: "${e}".`)}if(i instanceof ig)try{if(i.get("Pages")instanceof ig)return void(this.root=i)}catch(e){if(e instanceof dg)throw e;co(`XRef.parse - Invalid "Pages" reference: "${e}".`)}if(!e)throw new Bg;throw new fo("Invalid Root reference.")}processXRefTable(e){"tableState"in this||(this.tableState={entryNum:0,streamPos:e.lexer.stream.pos,parserBuf1:e.buf1,parserBuf2:e.buf2});if(!og(this.readXRefTable(e),"trailer"))throw new yo("Invalid XRef table: could not find trailer dictionary");let t=e.getObj();if(t instanceof ig||!t.dict||(t=t.dict),!(t instanceof ig))throw new yo("Invalid XRef table: could not parse trailer dictionary");return delete this.tableState,t}readXRefTable(e){const t=e.lexer.stream,A=this.tableState;let i;for(t.pos=A.streamPos,e.buf1=A.parserBuf1,e.buf2=A.parserBuf2;;){if(!("firstEntryNum"in A)||!("entryCount"in A)){if(og(i=e.getObj(),"trailer"))break;A.firstEntryNum=i,A.entryCount=e.getObj()}let s=A.firstEntryNum;const a=A.entryCount;if(!Number.isInteger(s)||!Number.isInteger(a))throw new yo("Invalid XRef table: wrong types in subsection header");for(let i=A.entryNum;i<a;i++){A.streamPos=t.pos,A.entryNum=i,A.parserBuf1=e.buf1,A.parserBuf2=e.buf2;const n={};n.offset=e.getObj(),n.gen=e.getObj();const r=e.getObj();if(r instanceof tg)switch(r.cmd){case"f":n.free=!0;break;case"n":n.uncompressed=!0}if(!Number.isInteger(n.offset)||!Number.isInteger(n.gen)||!n.free&&!n.uncompressed)throw new yo(`Invalid entry in XRef subsection: ${s}, ${a}`);0===i&&n.free&&1===s&&(s=0),this.entries[i+s]||(this.entries[i+s]=n)}A.entryNum=0,A.streamPos=t.pos,A.parserBuf1=e.buf1,A.parserBuf2=e.buf2,delete A.firstEntryNum,delete A.entryCount}if(this.entries[0]&&!this.entries[0].free)throw new yo("Invalid XRef table: unexpected first object");return i}processXRefStream(e){if(!("streamState"in this)){const t=e.dict,A=t.get("W");let i=t.get("Index");i||(i=[0,t.get("Size")]),this.streamState={entryRanges:i,byteWidths:A,entryNum:0,streamPos:e.pos}}return this.readXRefStream(e),delete this.streamState,e.dict}readXRefStream(e){const t=this.streamState;e.pos=t.streamPos;const[A,i,s]=t.byteWidths,a=t.entryRanges;for(;a.length>0;){const[n,r]=a;if(!Number.isInteger(n)||!Number.isInteger(r))throw new yo(`Invalid XRef range fields: ${n}, ${r}`);if(!Number.isInteger(A)||!Number.isInteger(i)||!Number.isInteger(s))throw new yo(`Invalid XRef entry fields length: ${n}, ${r}`);for(let a=t.entryNum;a<r;++a){t.entryNum=a,t.streamPos=e.pos;let r=0,o=0,g=0;for(let t=0;t<A;++t){const t=e.getByte();if(-1===t)throw new yo("Invalid XRef byteWidths 'type'.");r=r<<8|t}0===A&&(r=1);for(let t=0;t<i;++t){const t=e.getByte();if(-1===t)throw new yo("Invalid XRef byteWidths 'offset'.");o=o<<8|t}for(let t=0;t<s;++t){const t=e.getByte();if(-1===t)throw new yo("Invalid XRef byteWidths 'generation'.");g=g<<8|t}const h={};switch(h.offset=o,h.gen=g,r){case 0:h.free=!0;break;case 1:h.uncompressed=!0;break;case 2:break;default:throw new yo(`Invalid XRef entry type: ${r}`)}this.entries[n+a]||(this.entries[n+a]=h)}t.entryNum=0,t.streamPos=e.pos,a.splice(0,2)}}indexObjects(){function e(e,t){let A="",i=e[t];for(;10!==i&&13!==i&&60!==i&&!(++t>=e.length);)A+=String.fromCharCode(i),i=e[t];return A}function t(e,t,A){const i=A.length,s=e.length;let a=0;for(;t<s;){let s=0;for(;s<i&&e[t+s]===A[s];)++s;if(s>=i)break;t++,a++}return a}const A=/\b(endobj|\d+\s+\d+\s+obj|xref|trailer\s*<<)\b/g,i=/\b(startxref|\d+\s+\d+\s+obj)\b/g,s=/^(\d+)\s+(\d+)\s+obj\b/,a=new Uint8Array([116,114,97,105,108,101,114]),n=new Uint8Array([115,116,97,114,116,120,114,101,102]),r=new Uint8Array([47,88,82,101,102]);this.entries.length=0,this._cacheMap.clear();const o=this.stream;o.pos=0;const g=o.getBytes(),h=bo(g),c=g.length;let l=o.start;const I=[],d=[];for(;l<c;){let C=g[l];if(9===C||10===C||13===C||32===C){++l;continue}if(37===C){do{if(++l,l>=c)break;C=g[l]}while(10!==C&&13!==C);continue}const u=e(g,l);let B;if(u.startsWith("xref")&&(4===u.length||/\s/.test(u[4])))l+=t(g,l,a),I.push(l),l+=t(g,l,n);else if(B=s.exec(u)){const e=0|B[1],i=0|B[2],s=l+u.length;let a,n=!1;if(this.entries[e]){if(this.entries[e].gen===i)try{new jc({lexer:new Xc(o.makeSubStream(s))}).getObj(),n=!0}catch(e){e instanceof Cg?co(`indexObjects -- checking object (${u}): "${e}".`):n=!0}}else n=!0;n&&(this.entries[e]={offset:l-o.start,gen:i,uncompressed:!0}),A.lastIndex=s;const I=A.exec(h);if(I){a=A.lastIndex+1-l,"endobj"!==I[1]&&(co(`indexObjects: Found "${I[1]}" inside of another "obj", caused by missing "endobj" -- trying to recover.`),a-=I[1].length+1)}else a=c-l;const C=g.subarray(l,l+a),Q=t(C,0,r);Q<a&&C[Q+5]<64&&(d.push(l-o.start),this._xrefStms.add(l-o.start)),l+=a}else if(u.startsWith("trailer")&&(7===u.length||/\s/.test(u[7]))){I.push(l);const e=l+u.length;let t;i.lastIndex=e;const A=i.exec(h);if(A){t=i.lastIndex+1-l,"startxref"!==A[1]&&(co(`indexObjects: Found "${A[1]}" after "trailer", caused by missing "startxref" -- trying to recover.`),t-=A[1].length+1)}else t=c-l;l+=t}else l+=u.length+1}for(const e of d)this.startXRefQueue.push(e),this.readXRef(!0);const C=[];let u,B,Q=!1;for(const e of I){o.pos=e;const t=new jc({lexer:new Xc(o),xref:this,allowStreams:!0,recoveryMode:!0});if(!og(t.getObj(),"trailer"))continue;const A=t.getObj();A instanceof ig&&(C.push(A),A.has("Encrypt")&&(Q=!0))}for(const e of[...C,"genFallback",...C]){if("genFallback"===e){if(!B)break;this._generationFallback=!0;continue}let t=!1;try{const A=e.get("Root");if(!(A instanceof ig))continue;const i=A.get("Pages");if(!(i instanceof ig))continue;const s=i.get("Count");Number.isInteger(s)&&(t=!0)}catch(e){B=e;continue}if(t&&(!Q||e.has("Encrypt"))&&e.has("ID"))return e;u=e}if(u)return u;if(this.topDict)return this.topDict;throw new fo("Invalid PDF structure.")}readXRef(e=!1){const t=this.stream,A=new Set;for(;this.startXRefQueue.length;){try{const e=this.startXRefQueue[0];if(A.has(e)){co("readXRef - skipping XRef table since it was already parsed."),this.startXRefQueue.shift();continue}A.add(e),t.pos=e+t.start;const i=new jc({lexer:new Xc(t),xref:this,allowStreams:!0});let s,a=i.getObj();if(og(a,"xref"))s=this.processXRefTable(i),this.topDict||(this.topDict=s),a=s.get("XRefStm"),Number.isInteger(a)&&!this._xrefStms.has(a)&&(this._xrefStms.add(a),this.startXRefQueue.push(a),this.#Rr??=a);else{if(!Number.isInteger(a))throw new yo("Invalid XRef stream header");if(!(Number.isInteger(i.getObj())&&og(i.getObj(),"obj")&&(a=i.getObj())instanceof cg))throw new yo("Invalid XRef stream");if(s=this.processXRefStream(a),this.topDict||(this.topDict=s),!s)throw new yo("Failed to read XRef stream")}a=s.get("Prev"),Number.isInteger(a)?this.startXRefQueue.push(a):a instanceof sg&&this.startXRefQueue.push(a.num)}catch(e){if(e instanceof dg)throw e;ho("(while reading XRef): "+e)}this.startXRefQueue.shift()}if(this.topDict)return this.topDict;if(!e)throw new Bg}get lastXRefStreamPos(){return this.#Rr??(this._xrefStms.size>0?Math.max(...this._xrefStms):null)}getEntry(e){const t=this.entries[e];return t&&!t.free&&t.offset?t:null}fetchIfRef(e,t=!1){return e instanceof sg?this.fetch(e,t):e}fetch(e,t=!1){if(!(e instanceof sg))throw new Error("ref object is not a reference");const A=e.num,i=this._cacheMap.get(A);if(void 0!==i)return i instanceof ig&&!i.objId&&(i.objId=e.toString()),i;let s=this.getEntry(A);if(null===s)return this._cacheMap.set(A,s),s;if(this._pendingRefs.has(e))return this._pendingRefs.remove(e),co(`Ignoring circular reference: ${e}.`),Vo;this._pendingRefs.put(e);try{s=s.uncompressed?this.fetchUncompressed(e,s,t):this.fetchCompressed(e,s,t),this._pendingRefs.remove(e)}catch(t){throw this._pendingRefs.remove(e),t}return s instanceof ig?s.objId=e.toString():s instanceof cg&&(s.dict.objId=e.toString()),s}fetchUncompressed(e,t,A=!1){const i=e.gen;let s=e.num;if(t.gen!==i){const a=`Inconsistent generation in XRef: ${e}`;if(this._generationFallback&&t.gen<i)return co(a),this.fetchUncompressed(sg.get(s,t.gen),t,A);throw new ug(a)}const a=this.stream.makeSubStream(t.offset+this.stream.start),n=new jc({lexer:new Xc(a),xref:this,allowStreams:!0}),r=n.getObj(),o=n.getObj(),g=n.getObj();if(r!==s||o!==i||!(g instanceof tg))throw new ug(`Bad (uncompressed) XRef entry: ${e}`);if("obj"!==g.cmd){if(g.cmd.startsWith("obj")&&(s=parseInt(g.cmd.substring(3),10),!Number.isNaN(s)))return s;throw new ug(`Bad (uncompressed) XRef entry: ${e}`)}return(t=this.encrypt&&!A?n.getObj(this.encrypt.createCipherTransform(s,i)):n.getObj())instanceof cg||this._cacheMap.set(s,t),t}fetchCompressed(e,t,A=!1){const i=t.offset,s=this.fetch(sg.get(i,0));if(!(s instanceof cg))throw new yo("bad ObjStm stream");const a=s.dict.get("First"),n=s.dict.get("N");if(!Number.isInteger(a)||!Number.isInteger(n))throw new yo("invalid first and n parameters for ObjStm stream");let r=new jc({lexer:new Xc(s),xref:this,allowStreams:!0});const o=new Array(n),g=new Array(n);for(let e=0;e<n;++e){const t=r.getObj();if(!Number.isInteger(t))throw new yo(`invalid object number in the ObjStm stream: ${t}`);const A=r.getObj();if(!Number.isInteger(A))throw new yo(`invalid object offset in the ObjStm stream: ${A}`);o[e]=t,g[e]=A}const h=(s.start||0)+a,c=new Array(n);for(let e=0;e<n;++e){const t=e<n-1?g[e+1]-g[e]:void 0;if(t<0)throw new yo("Invalid offset in the ObjStm stream.");r=new jc({lexer:new Xc(s.makeSubStream(h+g[e],t,s.dict)),xref:this,allowStreams:!0});const A=r.getObj();if(c[e]=A,A instanceof cg)continue;const a=o[e],l=this.entries[a];l&&l.offset===i&&l.gen===e&&this._cacheMap.set(a,A)}if(void 0===(t=c[t.gen]))throw new ug(`Bad (compressed) XRef entry: ${e}`);return t}async fetchIfRefAsync(e,t){return e instanceof sg?this.fetchAsync(e,t):e}async fetchAsync(e,t){try{return this.fetch(e,t)}catch(A){if(!(A instanceof dg))throw A;return await this.pdfManager.requestRange(A.begin,A.end),this.fetchAsync(e,t)}}getCatalogObj(){return this.root}}const kS=[0,0,612,792];class SS{constructor({pdfManager:e,xref:t,pageIndex:A,pageDict:i,ref:s,globalIdFactory:a,fontCache:n,builtInCMapCache:r,standardFontDataCache:o,globalImageCache:g,systemFontCache:h,nonBlendModesSet:c,xfaFactory:l}){this.pdfManager=e,this.pageIndex=A,this.pageDict=i,this.xref=t,this.ref=s,this.fontCache=n,this.builtInCMapCache=r,this.standardFontDataCache=o,this.globalImageCache=g,this.systemFontCache=h,this.nonBlendModesSet=c,this.evaluatorOptions=e.evaluatorOptions,this.resourcesPromise=null,this.xfaFactory=l;const I={obj:0};this._localIdFactory=class extends a{static createObjId(){return`p${A}_${++I.obj}`}static getPageObjId(){return`p${s.toString()}`}}}_getInheritableProperty(e,t=!1){const A=Eg({dict:this.pageDict,key:e,getArray:t,stopWhenFound:!1});return Array.isArray(A)?1!==A.length&&A[0]instanceof ig?ig.merge({xref:this.xref,dictArray:A}):A[0]:A}get content(){return this.pageDict.getArray("Contents")}get resources(){const e=this._getInheritableProperty("Resources");return uo(this,"resources",e instanceof ig?e:ig.empty)}_getBoundingBox(e){if(this.xfaData)return this.xfaData.bbox;const t=Rg(this._getInheritableProperty(e,!0),null);if(t){if(t[2]-t[0]>0&&t[3]-t[1]>0)return t;co(`Empty, or invalid, /${e} entry.`)}return null}get mediaBox(){return uo(this,"mediaBox",this._getBoundingBox("MediaBox")||kS)}get cropBox(){return uo(this,"cropBox",this._getBoundingBox("CropBox")||this.mediaBox)}get userUnit(){let e=this.pageDict.get("UserUnit");return("number"!=typeof e||e<=0)&&(e=1),uo(this,"userUnit",e)}get view(){const{cropBox:e,mediaBox:t}=this;if(e!==t&&!Lo(e,t)){const A=xo.intersect(e,t);if(A&&A[2]-A[0]>0&&A[3]-A[1]>0)return uo(this,"view",A);co("Empty /CropBox and /MediaBox intersection.")}return uo(this,"view",t)}get rotate(){let e=this._getInheritableProperty("Rotate")||0;return e%90!=0?e=0:e>=360?e%=360:e<0&&(e=(e%360+360)%360),uo(this,"rotate",e)}_onSubStreamError(e,t){if(!this.evaluatorOptions.ignoreErrors)throw e;co(`getContentStream - ignoring sub-stream (${t}): "${e}".`)}getContentStream(){return this.pdfManager.ensure(this,"content").then((e=>e instanceof cg?e:Array.isArray(e)?new Eh(e,this._onSubStreamError.bind(this)):new Xg))}get xfaData(){return uo(this,"xfaData",this.xfaFactory?{bbox:this.xfaFactory.getBoundingBox(this.pageIndex)}:null)}#xr(e,t,A){for(const i of e)if(i.id){const e=sg.fromString(i.id);if(!e){co(`A non-linked annotation cannot be modified: ${i.id}`);continue}if(i.deleted){t.put(e,e);continue}A?.put(e),i.ref=e,delete i.id}}async saveNewAnnotations(e,t,A,i){if(this.xfaFactory)throw new Error("XFA: Cannot save new annotations.");const s=new cB({xref:this.xref,handler:e,pageIndex:this.pageIndex,idFactory:this._localIdFactory,fontCache:this.fontCache,builtInCMapCache:this.builtInCMapCache,standardFontDataCache:this.standardFontDataCache,globalImageCache:this.globalImageCache,systemFontCache:this.systemFontCache,options:this.evaluatorOptions}),a=new ng,n=new ag;this.#xr(A,a,n);const r=this.pageDict,o=this.annotations.filter((e=>!(e instanceof sg&&a.has(e)))),g=await Wk.saveNewAnnotations(s,t,A,i);for(const{ref:e}of g.annotations)e instanceof sg&&!n.has(e)&&o.push(e);const h=r.get("Annots");r.set("Annots",o);const c=[];await eQ(this.ref,r,c,this.xref),h&&r.set("Annots",h);const l=g.dependencies;l.push({ref:this.ref,data:c.join("")},...g.annotations);for(const e of a)l.push({ref:e,data:null});return l}save(e,t,A){const i=new cB({xref:this.xref,handler:e,pageIndex:this.pageIndex,idFactory:this._localIdFactory,fontCache:this.fontCache,builtInCMapCache:this.builtInCMapCache,standardFontDataCache:this.standardFontDataCache,globalImageCache:this.globalImageCache,systemFontCache:this.systemFontCache,options:this.evaluatorOptions});return this._parsedAnnotations.then((function(e){const s=[];for(const a of e)a.mustBePrinted(A)&&s.push(a.save(i,t,A).catch((function(e){return co(`save - ignoring annotation data during "${t.name}" task: "${e}".`),null})));return Promise.all(s).then((function(e){return e.filter((e=>!!e))}))}))}loadResources(e){return this.resourcesPromise||=this.pdfManager.ensure(this,"resources"),this.resourcesPromise.then((()=>new bQ(this.resources,e,this.xref).load()))}getOperatorList({handler:e,sink:t,task:A,intent:i,cacheKey:s,annotationStorage:a=null}){const n=this.getContentStream(),r=this.loadResources(["ColorSpace","ExtGState","Font","Pattern","Properties","Shading","XObject"]),o=new cB({xref:this.xref,handler:e,pageIndex:this.pageIndex,idFactory:this._localIdFactory,fontCache:this.fontCache,builtInCMapCache:this.builtInCMapCache,standardFontDataCache:this.standardFontDataCache,globalImageCache:this.globalImageCache,systemFontCache:this.systemFontCache,options:this.evaluatorOptions}),g=this.xfaFactory?null:Kg(a),h=g?.get(this.pageIndex);let c=Promise.resolve(null),l=null;if(h){const e=this.pdfManager.ensureDoc("annotationGlobals");let t;const i=new Set;for(const{bitmapId:e,bitmap:t}of h)!e||t||i.has(e)||i.add(e);const{isOffscreenCanvasSupported:s}=this.evaluatorOptions;if(i.size>0){const e=h.slice();for(const[t,A]of a)t.startsWith(fa)&&A.bitmap&&i.has(A.bitmapId)&&e.push(A);t=Wk.generateImages(e,this.xref,s)}else t=Wk.generateImages(h,this.xref,s);l=new ag,this.#xr(h,l,null),c=e.then((e=>e?Wk.printNewAnnotations(e,o,A,h,t):null))}const I=Promise.all([n,r]).then((([a])=>{const n=new eB(i,t);return e.send("StartRenderPage",{transparency:o.hasBlendModes(this.resources,this.nonBlendModesSet),pageIndex:this.pageIndex,cacheKey:s}),o.getOperatorList({stream:a,task:A,resources:this.resources,operatorList:n}).then((function(){return n}))}));return Promise.all([I,this._parsedAnnotations,c]).then((function([e,t,s]){if(s){t=t.filter((e=>!(e.ref&&l.has(e.ref))));for(let e=0,A=s.length;e<A;e++){const i=s[e];if(i.refToReplace){const a=t.findIndex((e=>e.ref&&hg(e.ref,i.refToReplace)));a>=0&&(t.splice(a,1,i),s.splice(e--,1),A--)}}t=t.concat(s)}if(0===t.length||i&Qa)return e.flush(!0),{length:e.totalLength};const n=!!(i&Ba),r=!!(i&Ia),g=!!(i&da),h=!!(i&Ca),c=[];for(const e of t)(r||g&&e.mustBeViewed(a,n)||h&&e.mustBePrinted(a))&&c.push(e.getOperatorList(o,A,i,n,a).catch((function(e){return co(`getOperatorList - ignoring annotation data during "${A.name}" task: "${e}".`),{opList:null,separateForm:!1,separateCanvas:!1}})));return Promise.all(c).then((function(t){let A=!1,i=!1;for(const{opList:s,separateForm:a,separateCanvas:n}of t)e.addOpList(s),A||=a,i||=n;return e.flush(!0,{form:A,canvas:i}),{length:e.totalLength}}))}))}async extractTextContent({handler:e,task:t,includeMarkedContent:A,disableNormalization:i,sink:s}){const a=this.getContentStream(),n=this.loadResources(["ExtGState","Font","Properties","XObject"]),r=this.pdfManager.ensureCatalog("lang"),[o,,g]=await Promise.all([a,n,r]);return new cB({xref:this.xref,handler:e,pageIndex:this.pageIndex,idFactory:this._localIdFactory,fontCache:this.fontCache,builtInCMapCache:this.builtInCMapCache,standardFontDataCache:this.standardFontDataCache,globalImageCache:this.globalImageCache,systemFontCache:this.systemFontCache,options:this.evaluatorOptions}).getTextContent({stream:o,task:t,resources:this.resources,includeMarkedContent:A,disableNormalization:i,sink:s,viewBox:this.view,lang:g})}async getStructTree(){const e=await this.pdfManager.ensureCatalog("structTreeRoot");if(!e)return null;await this._parsedAnnotations;return(await this.pdfManager.ensure(this,"_parseStructTree",[e])).serializable}_parseStructTree(e){const t=new EQ(e,this.pageDict);return t.parse(this.ref),t}async getAnnotationsData(e,t,A){const i=await this._parsedAnnotations;if(0===i.length)return i;const s=[],a=[];let n;const r=!!(A&Ia),o=!!(A&da),g=!!(A&Ca);for(const A of i){const i=r||o&&A.viewable;(i||g&&A.printable)&&s.push(A.data),A.hasTextContent&&i&&(n||=new cB({xref:this.xref,handler:e,pageIndex:this.pageIndex,idFactory:this._localIdFactory,fontCache:this.fontCache,builtInCMapCache:this.builtInCMapCache,standardFontDataCache:this.standardFontDataCache,globalImageCache:this.globalImageCache,systemFontCache:this.systemFontCache,options:this.evaluatorOptions}),a.push(A.extractTextContent(n,t,[-1/0,-1/0,1/0,1/0]).catch((function(e){co(`getAnnotationsData - ignoring textContent during "${t.name}" task: "${e}".`)}))))}return await Promise.all(a),s}get annotations(){const e=this._getInheritableProperty("Annots");return uo(this,"annotations",Array.isArray(e)?e:[])}get _parsedAnnotations(){return uo(this,"_parsedAnnotations",this.pdfManager.ensure(this,"annotations").then((async e=>{if(0===e.length)return e;const t=await this.pdfManager.ensureDoc("annotationGlobals");if(!t)return[];const A=[];for(const i of e)A.push(Wk.create(this.xref,i,t,this._localIdFactory,!1,this.ref).catch((function(e){return co(`_parsedAnnotations: "${e}".`),null})));const i=[];let s,a;for(const e of await Promise.all(A))e&&(e instanceof tS?(a||=[]).push(e):e instanceof oS?(s||=[]).push(e):i.push(e));return a&&i.push(...a),s&&i.push(...s),i})))}get jsActions(){return uo(this,"jsActions",Gg(this.xref,this.pageDict,yn))}}const FS=new Uint8Array([37,80,68,70,45]),RS=new Uint8Array([115,116,97,114,116,120,114,101,102]),xS=new Uint8Array([101,110,100,111,98,106]);function vS(e,t,A=1024,i=!1){const s=t.length,a=e.peekBytes(A),n=a.length-s;if(n<=0)return!1;if(i){const A=s-1;let i=a.length-1;for(;i>=A;){let n=0;for(;n<s&&a[i-n]===t[A-n];)n++;if(n>=s)return e.pos+=i-A,!0;i--}}else{let A=0;for(;A<=n;){let i=0;for(;i<s&&a[A+i]===t[i];)i++;if(i>=s)return e.pos+=A,!0;A++}}return!1}class NS{constructor(e,t){if(t.length<=0)throw new fo("The PDF file is empty, i.e. its size is zero bytes.");this.pdfManager=e,this.stream=t,this.xref=new DS(t,e),this._pagePromises=new Map,this._version=null;const A={font:0};this._globalIdFactory=class{static getDocId(){return`g_${e.docId}`}static createFontId(){return"f"+ ++A.font}static createObjId(){lo("Abstract method `createObjId` called.")}static getPageObjId(){lo("Abstract method `getPageObjId` called.")}}}parse(e){this.xref.parse(e),this.catalog=new yQ(this.pdfManager,this.xref)}get linearization(){let e=null;try{e=zc.create(this.stream)}catch(e){if(e instanceof dg)throw e;ho(e)}return uo(this,"linearization",e)}get startXRef(){const e=this.stream;let t=0;if(this.linearization){if(e.reset(),vS(e,xS)){e.skip(6);let A=e.peekByte();for(;Dg(A);)e.pos++,A=e.peekByte();t=e.pos-e.start}}else{const A=1024,i=RS.length;let s=!1,a=e.end;for(;!s&&a>0;)a-=A-i,a<0&&(a=0),e.pos=a,s=vS(e,RS,A,!0);if(s){let A;e.skip(9);do{A=e.getByte()}while(Dg(A));let i="";for(;A>=32&&A<=57;)i+=String.fromCharCode(A),A=e.getByte();t=parseInt(i,10),isNaN(t)&&(t=0)}}return uo(this,"startXRef",t)}checkHeader(){const e=this.stream;if(e.reset(),!vS(e,FS))return;e.moveStart(),e.skip(FS.length);let t,A="";for(;(t=e.getByte())>32&&A.length<7;)A+=String.fromCharCode(t);lg.test(A)?this._version=A:co(`Invalid PDF header version: ${A}`)}parseStartXRef(){this.xref.setStartXRef(this.startXRef)}get numPages(){let e=0;return e=this.catalog.hasActualNumPages?this.catalog.numPages:this.xfaFactory?this.xfaFactory.getNumPages():this.linearization?this.linearization.numPages:this.catalog.numPages,uo(this,"numPages",e)}_hasOnlyDocumentSignatures(e,t=0){return!!Array.isArray(e)&&e.every((e=>{if(!((e=this.xref.fetchIfRef(e))instanceof ig))return!1;if(e.has("Kids"))return++t>10?(co("_hasOnlyDocumentSignatures: maximum recursion depth reached"),!1):this._hasOnlyDocumentSignatures(e.get("Kids"),t);const A=rg(e.get("FT"),"Sig"),i=e.get("Rect"),s=Array.isArray(i)&&i.every((e=>0===e));return A&&s}))}get _xfaStreams(){const e=this.catalog.acroForm;if(!e)return null;const t=e.get("XFA"),A={"xdp:xdp":"",template:"",datasets:"",config:"",connectionSet:"",localeSet:"",stylesheet:"","/xdp:xdp":""};if(t instanceof cg&&!t.isEmpty)return A["xdp:xdp"]=t,A;if(!Array.isArray(t)||0===t.length)return null;for(let e=0,i=t.length;e<i;e+=2){let s;if(s=0===e?"xdp:xdp":e===i-2?"/xdp:xdp":t[e],!A.hasOwnProperty(s))continue;const a=this.xref.fetchIfRef(t[e+1]);a instanceof cg&&!a.isEmpty&&(A[s]=a)}return A}get xfaDatasets(){const e=this._xfaStreams;if(!e)return uo(this,"xfaDatasets",null);for(const t of["datasets","xdp:xdp"]){const A=e[t];if(A)try{const e=Mo(A.getString());return uo(this,"xfaDatasets",new bS({[t]:e}))}catch{co("XFA - Invalid utf-8 string.");break}}return uo(this,"xfaDatasets",null)}get xfaData(){const e=this._xfaStreams;if(!e)return null;const t=Object.create(null);for(const[A,i]of Object.entries(e))if(i)try{t[A]=Mo(i.getString())}catch{return co("XFA - Invalid utf-8 string."),null}return t}get xfaFactory(){let e;return this.pdfManager.enableXfa&&this.catalog.needsRendering&&this.formInfo.hasXfa&&!this.formInfo.hasAcroForm&&(e=this.xfaData),uo(this,"xfaFactory",e?new Ok(e):null)}get isPureXfa(){return!!this.xfaFactory&&this.xfaFactory.isValid()}get htmlForXfa(){return this.xfaFactory?this.xfaFactory.getPages():null}async loadXfaImages(){const e=await this.pdfManager.ensureCatalog("xfaImages");if(!e)return;const t=e.getKeys(),A=new bQ(e,t,this.xref);await A.load();const i=new Map;for(const A of t){const t=e.get(A);t instanceof cg&&i.set(A,t.getBytes())}this.xfaFactory.setImages(i)}async loadXfaFonts(e,t){const A=await this.pdfManager.ensureCatalog("acroForm");if(!A)return;const i=await A.getAsync("DR");if(!(i instanceof ig))return;const s=new bQ(i,["Font"],this.xref);await s.load();const a=i.get("Font");if(!(a instanceof ig))return;const n=Object.assign(Object.create(null),this.pdfManager.evaluatorOptions);n.useSystemFonts=!1;const r=new cB({xref:this.xref,handler:e,pageIndex:-1,idFactory:this._globalIdFactory,fontCache:this.catalog.fontCache,builtInCMapCache:this.catalog.builtInCMapCache,standardFontDataCache:this.catalog.standardFontDataCache,options:n}),o=new eB,g=[],h={get font(){return g.at(-1)},set font(e){g.push(e)},clone(){return this}},c=new Map;a.forEach(((e,t)=>{c.set(e,t)}));const l=[];for(const[e,A]of c){const s=A.get("FontDescriptor");if(!(s instanceof ig))continue;let a=s.get("FontFamily");a=a.replaceAll(/[ ]+(\d)/g,"$1");const n={fontFamily:a,fontWeight:s.get("FontWeight"),italicAngle:-s.get("ItalicAngle")};Tg(n)&&l.push(r.handleSetFont(i,[eg.get(e),1],null,o,t,h,null,n).catch((function(e){return co(`loadXfaFonts: "${e}".`),null})))}await Promise.all(l);const I=this.xfaFactory.setFonts(g);if(!I)return;n.ignoreErrors=!0,l.length=0,g.length=0;const d=new Set;for(const e of I)OC(`${e}-Regular`)||d.add(e);d.size&&I.push("PdfJS-Fallback");for(const e of I)if(!d.has(e))for(const A of[{name:"Regular",fontWeight:400,italicAngle:0},{name:"Bold",fontWeight:700,italicAngle:0},{name:"Italic",fontWeight:400,italicAngle:12},{name:"BoldItalic",fontWeight:700,italicAngle:12}]){const s=`${e}-${A.name}`,a=WC(s);l.push(r.handleSetFont(i,[eg.get(s),1],null,o,t,h,a,{fontFamily:e,fontWeight:A.fontWeight,italicAngle:A.italicAngle}).catch((function(e){return co(`loadXfaFonts: "${e}".`),null})))}await Promise.all(l),this.xfaFactory.appendFonts(g,d)}async serializeXfaData(e){return this.xfaFactory?this.xfaFactory.serializeData(e):null}get version(){return this.catalog.version||this._version}get formInfo(){const e={hasFields:!1,hasAcroForm:!1,hasXfa:!1,hasSignatures:!1},t=this.catalog.acroForm;if(!t)return uo(this,"formInfo",e);try{const A=t.get("Fields"),i=Array.isArray(A)&&A.length>0;e.hasFields=i;const s=t.get("XFA");e.hasXfa=Array.isArray(s)&&s.length>0||s instanceof cg&&!s.isEmpty;const a=!!(1&t.get("SigFlags")),n=a&&this._hasOnlyDocumentSignatures(A);e.hasAcroForm=i&&!n,e.hasSignatures=a}catch(e){if(e instanceof dg)throw e;co(`Cannot fetch form information: "${e}".`)}return uo(this,"formInfo",e)}get documentInfo(){const e={PDFFormatVersion:this.version,Language:this.catalog.lang,EncryptFilterName:this.xref.encrypt?this.xref.encrypt.filterName:null,IsLinearized:!!this.linearization,IsAcroFormPresent:this.formInfo.hasAcroForm,IsXFAPresent:this.formInfo.hasXfa,IsCollectionPresent:!!this.catalog.collection,IsSignaturesPresent:this.formInfo.hasSignatures};let t;try{t=this.xref.trailer.get("Info")}catch(e){if(e instanceof dg)throw e;ho("The document information dictionary is invalid.")}if(!(t instanceof ig))return uo(this,"documentInfo",e);for(const A of t.getKeys()){const i=t.get(A);switch(A){case"Title":case"Author":case"Subject":case"Keywords":case"Creator":case"Producer":case"CreationDate":case"ModDate":if("string"==typeof i){e[A]=No(i);continue}break;case"Trapped":if(i instanceof eg){e[A]=i;continue}break;default:let t;switch(typeof i){case"string":t=No(i);break;case"number":case"boolean":t=i;break;default:i instanceof eg&&(t=i)}if(void 0===t){co(`Bad value, for custom key "${A}", in Info: ${i}.`);continue}e.Custom||(e.Custom=Object.create(null)),e.Custom[A]=t;continue}co(`Bad value, for key "${A}", in Info: ${i}.`)}return uo(this,"documentInfo",e)}get fingerprints(){function e(e){return"string"==typeof e&&e.length>0&&"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"!==e}function t(e){const t=[];for(const A of e){const e=A.toString(16);t.push(e.padStart(2,"0"))}return t.join("")}const A=this.xref.trailer.get("ID");let i,s;return Array.isArray(A)&&e(A[0])?(i=Do(A[0]),A[1]!==A[0]&&e(A[1])&&(s=Do(A[1]))):i=YB(this.stream.getByteRange(0,1024),0,1024),uo(this,"fingerprints",[t(i),s?t(s):null])}async _getLinearizationPage(e){const{catalog:t,linearization:A,xref:i}=this,s=sg.get(A.objectNumberFirst,0);try{const e=await i.fetchAsync(s);if(e instanceof ig){let A=e.getRaw("Type");if(A instanceof sg&&(A=await i.fetchAsync(A)),rg(A,"Page")||!e.has("Type")&&!e.has("Kids")&&e.has("Contents"))return t.pageKidsCountCache.has(s)||t.pageKidsCountCache.put(s,1),t.pageIndexCache.has(s)||t.pageIndexCache.put(s,0),[e,s]}throw new yo("The Linearization dictionary doesn't point to a valid Page dictionary.")}catch(A){return co(`_getLinearizationPage: "${A.message}".`),t.getPageDict(e)}}getPage(e){const t=this._pagePromises.get(e);if(t)return t;const{catalog:A,linearization:i,xfaFactory:s}=this;let a;return a=s?Promise.resolve([ig.empty,null]):i?.pageFirst===e?this._getLinearizationPage(e):A.getPageDict(e),a=a.then((([t,i])=>new SS({pdfManager:this.pdfManager,xref:this.xref,pageIndex:e,pageDict:t,ref:i,globalIdFactory:this._globalIdFactory,fontCache:A.fontCache,builtInCMapCache:A.builtInCMapCache,standardFontDataCache:A.standardFontDataCache,globalImageCache:A.globalImageCache,systemFontCache:A.systemFontCache,nonBlendModesSet:A.nonBlendModesSet,xfaFactory:s}))),this._pagePromises.set(e,a),a}async checkFirstPage(e=!1){if(!e)try{await this.getPage(0)}catch(e){if(e instanceof ug)throw this._pagePromises.delete(0),await this.cleanup(),new Bg}}async checkLastPage(e=!1){const{catalog:t,pdfManager:A}=this;let i;t.setActualNumPages();try{if(await Promise.all([A.ensureDoc("xfaFactory"),A.ensureDoc("linearization"),A.ensureCatalog("numPages")]),this.xfaFactory)return;if(i=this.linearization?this.linearization.numPages:t.numPages,!Number.isInteger(i))throw new yo("Page count is not an integer.");if(i<=1)return;await this.getPage(i-1)}catch(s){if(this._pagePromises.delete(i-1),await this.cleanup(),s instanceof ug&&!e)throw new Bg;let a;co(`checkLastPage - invalid /Pages tree /Count: ${i}.`);try{a=await t.getAllPageDicts(e)}catch(A){if(A instanceof ug&&!e)throw new Bg;return void t.setActualNumPages(1)}for(const[e,[i,s]]of a){let a;i instanceof Error?(a=Promise.reject(i),a.catch((()=>{}))):a=Promise.resolve(new SS({pdfManager:A,xref:this.xref,pageIndex:e,pageDict:i,ref:s,globalIdFactory:this._globalIdFactory,fontCache:t.fontCache,builtInCMapCache:t.builtInCMapCache,standardFontDataCache:t.standardFontDataCache,globalImageCache:t.globalImageCache,systemFontCache:t.systemFontCache,nonBlendModesSet:t.nonBlendModesSet,xfaFactory:null})),this._pagePromises.set(e,a)}t.setActualNumPages(a.size)}}fontFallback(e,t){return this.catalog.fontFallback(e,t)}async cleanup(e=!1){return this.catalog?this.catalog.cleanup(e):bB()}async#vr(e,t,A,i,s){const{xref:a}=this;if(!(t instanceof sg)||s.has(t))return;s.put(t);const n=await a.fetchAsync(t);if(!(n instanceof ig))return;if(n.has("T")){const t=No(await n.getAsync("T"));e=""===e?t:`${e}.${t}`}else{let t=n;for(;;){if(t=t.getRaw("Parent"),t instanceof sg){if(s.has(t))break;t=await a.fetchAsync(t)}if(!(t instanceof ig))break;if(t.has("T")){const A=No(await t.getAsync("T"));e=""===e?A:`${e}.${A}`;break}}}if(A.has(e)||A.set(e,[]),A.get(e).push(Wk.create(a,t,i,null,!0,null).then((e=>e?.getFieldObject())).catch((function(e){return co(`#collectFieldObjects: "${e}".`),null}))),!n.has("Kids"))return;const r=await n.getAsync("Kids");if(Array.isArray(r))for(const t of r)await this.#vr(e,t,A,i,s)}get fieldObjects(){if(!this.formInfo.hasFields)return uo(this,"fieldObjects",Promise.resolve(null));return uo(this,"fieldObjects",Promise.all([this.pdfManager.ensureDoc("annotationGlobals"),this.pdfManager.ensureCatalog("acroForm")]).then((async([e,t])=>{if(!e)return null;const A=new ag,i=Object.create(null),s=new Map;for(const i of await t.getAsync("Fields"))await this.#vr("",i,s,e,A);const a=[];for(const[e,t]of s)a.push(Promise.all(t).then((t=>{(t=t.filter((e=>!!e))).length>0&&(i[e]=t)})));return await Promise.all(a),i})))}get hasJSActions(){return uo(this,"hasJSActions",this.pdfManager.ensureDoc("_parseHasJSActions"))}async _parseHasJSActions(){const[e,t]=await Promise.all([this.pdfManager.ensureCatalog("jsActions"),this.pdfManager.ensureDoc("fieldObjects")]);return!!e||!!t&&Object.values(t).some((e=>e.some((e=>null!==e.actions))))}get calculationOrderIds(){const e=this.catalog.acroForm;if(!e?.has("CO"))return uo(this,"calculationOrderIds",null);const t=e.get("CO");if(!Array.isArray(t)||0===t.length)return uo(this,"calculationOrderIds",null);const A=[];for(const e of t)e instanceof sg&&A.push(e.toString());return 0===A.length?uo(this,"calculationOrderIds",null):uo(this,"calculationOrderIds",A)}get annotationGlobals(){return uo(this,"annotationGlobals",Wk.createGlobals(this.pdfManager))}}class MS{constructor(e){this.constructor===MS&&lo("Cannot initialize BasePdfManager."),this._docBaseUrl=function(e){if(e){const t=Co(e);if(t)return t.href;co(`Invalid absolute docBaseUrl: "${e}".`)}return null}(e.docBaseUrl),this._docId=e.docId,this._password=e.password,this.enableXfa=e.enableXfa,e.evaluatorOptions.isOffscreenCanvasSupported&&=Fo.isOffscreenCanvasSupported,this.evaluatorOptions=Object.freeze(e.evaluatorOptions)}get docId(){return this._docId}get password(){return this._password}get docBaseUrl(){return this._docBaseUrl}get catalog(){return this.pdfDocument.catalog}ensureDoc(e,t){return this.ensure(this.pdfDocument,e,t)}ensureXRef(e,t){return this.ensure(this.pdfDocument.xref,e,t)}ensureCatalog(e,t){return this.ensure(this.pdfDocument.catalog,e,t)}getPage(e){return this.pdfDocument.getPage(e)}fontFallback(e,t){return this.pdfDocument.fontFallback(e,t)}loadXfaFonts(e,t){return this.pdfDocument.loadXfaFonts(e,t)}loadXfaImages(){return this.pdfDocument.loadXfaImages()}serializeXfaData(e){return this.pdfDocument.serializeXfaData(e)}cleanup(e=!1){return this.pdfDocument.cleanup(e)}async ensure(e,t,A){lo("Abstract method `ensure` called")}requestRange(e,t){lo("Abstract method `requestRange` called")}requestLoadedStream(e=!1){lo("Abstract method `requestLoadedStream` called")}sendProgressiveData(e){lo("Abstract method `sendProgressiveData` called")}updatePassword(e){this._password=e}terminate(e){lo("Abstract method `terminate` called")}}class GS extends MS{constructor(e){super(e);const t=new Vg(e.source);this.pdfDocument=new NS(this,t),this._loadedStreamPromise=Promise.resolve(t)}async ensure(e,t,A){const i=e[t];return"function"==typeof i?i.apply(e,A):i}requestRange(e,t){return Promise.resolve()}requestLoadedStream(e=!1){return this._loadedStreamPromise}terminate(e){}}class LS extends MS{constructor(e){super(e),this.streamManager=new $g(e.source,{msgHandler:e.handler,length:e.length,disableAutoFetch:e.disableAutoFetch,rangeChunkSize:e.rangeChunkSize}),this.pdfDocument=new NS(this,this.streamManager.getStream())}async ensure(e,t,A){try{const i=e[t];return"function"==typeof i?i.apply(e,A):i}catch(i){if(!(i instanceof dg))throw i;return await this.requestRange(i.begin,i.end),this.ensure(e,t,A)}}requestRange(e,t){return this.streamManager.requestRange(e,t)}requestLoadedStream(e=!1){return this.streamManager.requestAllChunks(e)}sendProgressiveData(e){this.streamManager.onReceiveData({chunk:e})}terminate(e){this.streamManager.abort(e)}}const US=1,HS=2,JS=1,TS=2,PS=3,YS=4,KS=5,_S=6,qS=7,OS=8;function WS(e){switch(e instanceof Error||"object"==typeof e&&null!==e||lo('wrapReason: Expected "reason" to be a (possibly cloned) Error.'),e.name){case"AbortException":return new wo(e.message);case"MissingPDFException":return new po(e.message);case"PasswordException":return new Qo(e.message,e.code);case"UnexpectedResponseException":return new mo(e.message,e.status);case"UnknownErrorException":return new Eo(e.message,e.details);default:return new Eo(e.message,e.toString())}}class jS{constructor(e,t,A){this.sourceName=e,this.targetName=t,this.comObj=A,this.callbackId=1,this.streamId=1,this.streamSinks=Object.create(null),this.streamControllers=Object.create(null),this.callbackCapabilities=Object.create(null),this.actionHandler=Object.create(null),this._onComObjOnMessage=e=>{const t=e.data;if(t.targetName!==this.sourceName)return;if(t.stream)return void this.#Nt(t);if(t.callback){const e=t.callbackId,A=this.callbackCapabilities[e];if(!A)throw new Error(`Cannot resolve callback ${e}`);if(delete this.callbackCapabilities[e],t.callback===US)A.resolve(t.data);else{if(t.callback!==HS)throw new Error("Unexpected callback case");A.reject(WS(t.reason))}return}const i=this.actionHandler[t.action];if(!i)throw new Error(`Unknown action from worker: ${t.action}`);if(t.callbackId){const e=this.sourceName,s=t.sourceName;new Promise((function(e){e(i(t.data))})).then((function(i){A.postMessage({sourceName:e,targetName:s,callback:US,callbackId:t.callbackId,data:i})}),(function(i){A.postMessage({sourceName:e,targetName:s,callback:HS,callbackId:t.callbackId,reason:WS(i)})}))}else t.streamId?this.#Mt(t):i(t.data)},A.addEventListener("message",this._onComObjOnMessage)}on(e,t){const A=this.actionHandler;if(A[e])throw new Error(`There is already an actionName called "${e}"`);A[e]=t}send(e,t,A){this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:e,data:t},A)}sendWithPromise(e,t,A){const i=this.callbackId++,s=Promise.withResolvers();this.callbackCapabilities[i]=s;try{this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:e,callbackId:i,data:t},A)}catch(e){s.reject(e)}return s.promise}sendWithStream(e,t,A,i){const s=this.streamId++,a=this.sourceName,n=this.targetName,r=this.comObj;return new ReadableStream({start:A=>{const o=Promise.withResolvers();return this.streamControllers[s]={controller:A,startCall:o,pullCall:null,cancelCall:null,isClosed:!1},r.postMessage({sourceName:a,targetName:n,action:e,streamId:s,data:t,desiredSize:A.desiredSize},i),o.promise},pull:e=>{const t=Promise.withResolvers();return this.streamControllers[s].pullCall=t,r.postMessage({sourceName:a,targetName:n,stream:_S,streamId:s,desiredSize:e.desiredSize}),t.promise},cancel:e=>{Io(e instanceof Error,"cancel must have a valid reason");const t=Promise.withResolvers();return this.streamControllers[s].cancelCall=t,this.streamControllers[s].isClosed=!0,r.postMessage({sourceName:a,targetName:n,stream:JS,streamId:s,reason:WS(e)}),t.promise}},A)}#Mt(e){const t=e.streamId,A=this.sourceName,i=e.sourceName,s=this.comObj,a=this,n=this.actionHandler[e.action],r={enqueue(e,a=1,n){if(this.isCancelled)return;const r=this.desiredSize;this.desiredSize-=a,r>0&&this.desiredSize<=0&&(this.sinkCapability=Promise.withResolvers(),this.ready=this.sinkCapability.promise),s.postMessage({sourceName:A,targetName:i,stream:YS,streamId:t,chunk:e},n)},close(){this.isCancelled||(this.isCancelled=!0,s.postMessage({sourceName:A,targetName:i,stream:PS,streamId:t}),delete a.streamSinks[t])},error(e){Io(e instanceof Error,"error must have a valid reason"),this.isCancelled||(this.isCancelled=!0,s.postMessage({sourceName:A,targetName:i,stream:KS,streamId:t,reason:WS(e)}))},sinkCapability:Promise.withResolvers(),onPull:null,onCancel:null,isCancelled:!1,desiredSize:e.desiredSize,ready:null};r.sinkCapability.resolve(),r.ready=r.sinkCapability.promise,this.streamSinks[t]=r,new Promise((function(t){t(n(e.data,r))})).then((function(){s.postMessage({sourceName:A,targetName:i,stream:OS,streamId:t,success:!0})}),(function(e){s.postMessage({sourceName:A,targetName:i,stream:OS,streamId:t,reason:WS(e)})}))}#Nt(e){const t=e.streamId,A=this.sourceName,i=e.sourceName,s=this.comObj,a=this.streamControllers[t],n=this.streamSinks[t];switch(e.stream){case OS:e.success?a.startCall.resolve():a.startCall.reject(WS(e.reason));break;case qS:e.success?a.pullCall.resolve():a.pullCall.reject(WS(e.reason));break;case _S:if(!n){s.postMessage({sourceName:A,targetName:i,stream:qS,streamId:t,success:!0});break}n.desiredSize<=0&&e.desiredSize>0&&n.sinkCapability.resolve(),n.desiredSize=e.desiredSize,new Promise((function(e){e(n.onPull?.())})).then((function(){s.postMessage({sourceName:A,targetName:i,stream:qS,streamId:t,success:!0})}),(function(e){s.postMessage({sourceName:A,targetName:i,stream:qS,streamId:t,reason:WS(e)})}));break;case YS:if(Io(a,"enqueue should have stream controller"),a.isClosed)break;a.controller.enqueue(e.chunk);break;case PS:if(Io(a,"close should have stream controller"),a.isClosed)break;a.isClosed=!0,a.controller.close(),this.#Gt(a,t);break;case KS:Io(a,"error should have stream controller"),a.controller.error(WS(e.reason)),this.#Gt(a,t);break;case TS:e.success?a.cancelCall.resolve():a.cancelCall.reject(WS(e.reason)),this.#Gt(a,t);break;case JS:if(!n)break;new Promise((function(t){t(n.onCancel?.(WS(e.reason)))})).then((function(){s.postMessage({sourceName:A,targetName:i,stream:TS,streamId:t,success:!0})}),(function(e){s.postMessage({sourceName:A,targetName:i,stream:TS,streamId:t,reason:WS(e)})})),n.sinkCapability.reject(WS(e.reason)),n.isCancelled=!0,delete this.streamSinks[t];break;default:throw new Error("Unexpected stream case")}}async#Gt(e,t){await Promise.allSettled([e.startCall?.promise,e.pullCall?.promise,e.cancelCall?.promise]),delete this.streamControllers[t]}destroy(){this.comObj.removeEventListener("message",this._onComObjOnMessage)}}class VS{constructor(e){this._msgHandler=e,this._contentLength=null,this._fullRequestReader=null,this._rangeRequestReaders=[]}getFullReader(){return Io(!this._fullRequestReader,"PDFWorkerStream.getFullReader can only be called once."),this._fullRequestReader=new ZS(this._msgHandler),this._fullRequestReader}getRangeReader(e,t){const A=new XS(e,t,this._msgHandler);return this._rangeRequestReaders.push(A),A}cancelAllRequests(e){this._fullRequestReader?.cancel(e);for(const t of this._rangeRequestReaders.slice(0))t.cancel(e)}}class ZS{constructor(e){this._msgHandler=e,this.onProgress=null,this._contentLength=null,this._isRangeSupported=!1,this._isStreamingSupported=!1;const t=this._msgHandler.sendWithStream("GetReader");this._reader=t.getReader(),this._headersReady=this._msgHandler.sendWithPromise("ReaderHeadersReady").then((e=>{this._isStreamingSupported=e.isStreamingSupported,this._isRangeSupported=e.isRangeSupported,this._contentLength=e.contentLength}))}get headersReady(){return this._headersReady}get contentLength(){return this._contentLength}get isStreamingSupported(){return this._isStreamingSupported}get isRangeSupported(){return this._isRangeSupported}async read(){const{value:e,done:t}=await this._reader.read();return t?{value:void 0,done:!0}:{value:e.buffer,done:!1}}cancel(e){this._reader.cancel(e)}}class XS{constructor(e,t,A){this._msgHandler=A,this.onProgress=null;const i=this._msgHandler.sendWithStream("GetRangeReader",{begin:e,end:t});this._reader=i.getReader()}get isStreamingSupported(){return!1}async read(){const{value:e,done:t}=await this._reader.read();return t?{value:void 0,done:!0}:{value:e.buffer,done:!1}}cancel(e){this._reader.cancel(e)}}class zS{constructor(e){this.name=e,this.terminated=!1,this._capability=Promise.withResolvers()}get finished(){return this._capability.promise}finish(){this._capability.resolve()}terminate(){this.terminated=!0}ensureNotTerminated(){if(this.terminated)throw new Error("Worker task was terminated")}}class $S{static setup(e,t){let A=!1;e.on("test",(function(t){A||(A=!0,e.send("test",t instanceof Uint8Array))})),e.on("configure",(function(e){var t;t=e.verbosity,Number.isInteger(t)&&(oo=t)})),e.on("GetDocRequest",(function(e){return $S.createDocumentHandler(e,t)}))}static createDocumentHandler(e,t){let A,i=!1,s=null;const a=new Set,n=go(),{docId:r,apiVersion:o}=e,g="4.3.136";if(o!==g)throw new Error(`The API version "${o}" does not match the Worker version "${g}".`);const h=[];for(const e in[])h.push(e);if(h.length)throw new Error("The `Array.prototype` contains unexpected enumerable properties: "+h.join(", ")+"; thus breaking e.g. `for...in` iteration of `Array`s.");const c=r+"_worker";let l=new jS(c,r,t);function I(){if(i)throw new Error("Worker was terminated")}function d(e){a.add(e)}function C(e){e.finish(),a.delete(e)}async function u(e){await A.ensureDoc("checkHeader"),await A.ensureDoc("parseStartXRef"),await A.ensureDoc("parse",[e]),await A.ensureDoc("checkFirstPage",[e]),await A.ensureDoc("checkLastPage",[e]);const t=await A.ensureDoc("isPureXfa");if(t){const e=new zS("loadXfaFonts");d(e),await Promise.all([A.loadXfaFonts(l,e).catch((e=>{})).then((()=>C(e))),A.loadXfaImages()])}const[i,s]=await Promise.all([A.ensureDoc("numPages"),A.ensureDoc("fingerprints")]);return{numPages:i,fingerprints:s,htmlForXfa:t?await A.ensureDoc("htmlForXfa"):null}}function B({data:e,password:t,disableAutoFetch:A,rangeChunkSize:i,length:a,docBaseUrl:n,enableXfa:o,evaluatorOptions:g}){const h={source:null,disableAutoFetch:A,docBaseUrl:n,docId:r,enableXfa:o,evaluatorOptions:g,handler:l,length:a,password:t,rangeChunkSize:i},c=Promise.withResolvers();let d;if(e){try{h.source=e,d=new GS(h),c.resolve(d)}catch(e){c.reject(e)}return c.promise}let C,u=[];try{C=new VS(l)}catch(e){return c.reject(e),c.promise}const B=C.getFullReader();B.headersReady.then((function(){if(B.isRangeSupported){h.source=C,h.length=B.contentLength,h.disableAutoFetch||=B.isStreamingSupported,d=new LS(h);for(const e of u)d.sendProgressiveData(e);u=[],c.resolve(d),s=null}})).catch((function(e){c.reject(e),s=null}));let Q=0;return new Promise((function(e,t){const A=function({value:e,done:i}){try{if(I(),i)return d||function(){const e=Qg(u);a&&e.length!==a&&co("reported HTTP length is different from actual");try{h.source=e,d=new GS(h),c.resolve(d)}catch(e){c.reject(e)}u=[]}(),void(s=null);Q+=e.byteLength,B.isStreamingSupported||l.send("DocProgress",{loaded:Q,total:Math.max(Q,B.contentLength||0)}),d?d.sendProgressiveData(e):u.push(e),B.read().then(A,t)}catch(e){t(e)}};B.read().then(A,t)})).catch((function(e){c.reject(e),s=null})),s=function(e){C.cancelAllRequests(e)},c.promise}return l.on("GetPage",(function(e){return A.getPage(e.pageIndex).then((function(e){return Promise.all([A.ensure(e,"rotate"),A.ensure(e,"ref"),A.ensure(e,"userUnit"),A.ensure(e,"view")]).then((function([e,t,A,i]){return{rotate:e,ref:t,refStr:t?.toString()??null,userUnit:A,view:i}}))}))})),l.on("GetPageIndex",(function(e){const t=sg.get(e.num,e.gen);return A.ensureCatalog("getPageIndex",[t])})),l.on("GetDestinations",(function(e){return A.ensureCatalog("destinations")})),l.on("GetDestination",(function(e){return A.ensureCatalog("getDestination",[e.id])})),l.on("GetPageLabels",(function(e){return A.ensureCatalog("pageLabels")})),l.on("GetPageLayout",(function(e){return A.ensureCatalog("pageLayout")})),l.on("GetPageMode",(function(e){return A.ensureCatalog("pageMode")})),l.on("GetViewerPreferences",(function(e){return A.ensureCatalog("viewerPreferences")})),l.on("GetOpenAction",(function(e){return A.ensureCatalog("openAction")})),l.on("GetAttachments",(function(e){return A.ensureCatalog("attachments")})),l.on("GetDocJSActions",(function(e){return A.ensureCatalog("jsActions")})),l.on("GetPageJSActions",(function({pageIndex:e}){return A.getPage(e).then((function(e){return A.ensure(e,"jsActions")}))})),l.on("GetOutline",(function(e){return A.ensureCatalog("documentOutline")})),l.on("GetOptionalContentConfig",(function(e){return A.ensureCatalog("optionalContentConfig")})),l.on("GetPermissions",(function(e){return A.ensureCatalog("permissions")})),l.on("GetMetadata",(function(e){return Promise.all([A.ensureDoc("documentInfo"),A.ensureCatalog("metadata")])})),l.on("GetMarkInfo",(function(e){return A.ensureCatalog("markInfo")})),l.on("GetData",(function(e){return A.requestLoadedStream().then((function(e){return e.bytes}))})),l.on("GetAnnotations",(function({pageIndex:e,intent:t}){return A.getPage(e).then((function(A){const i=new zS(`GetAnnotations: page ${e}`);return d(i),A.getAnnotationsData(l,i,t).then((e=>(C(i),e)),(e=>{throw C(i),e}))}))})),l.on("GetFieldObjects",(function(e){return A.ensureDoc("fieldObjects")})),l.on("HasJSActions",(function(e){return A.ensureDoc("hasJSActions")})),l.on("GetCalculationOrderIds",(function(e){return A.ensureDoc("calculationOrderIds")})),l.on("SaveDocument",(async function({isPureXfa:e,numPages:t,annotationStorage:i,filename:s}){const a=[A.requestLoadedStream(),A.ensureCatalog("acroForm"),A.ensureCatalog("acroFormRef"),A.ensureDoc("startXRef"),A.ensureDoc("xref"),A.ensureDoc("linearization"),A.ensureCatalog("structTreeRoot")],n=[],r=e?null:Kg(i),[o,g,h,c,I,d,u]=await Promise.all(a),B=I.trailer.getRaw("Root")||null;let Q;if(r){u?await u.canUpdateStructTree({pdfManager:A,xref:I,newAnnotationsByPage:r})&&(Q=u):await uQ.canCreateStructureTree({catalogRef:B,pdfManager:A,newAnnotationsByPage:r})&&(Q=null);const e=Wk.generateImages(i.values(),I,A.evaluatorOptions.isOffscreenCanvasSupported),t=void 0===Q?n:[];for(const[i,s]of r)t.push(A.getPage(i).then((t=>{const A=new zS(`Save (editor): page ${i}`);return t.saveNewAnnotations(l,A,s,e).finally((function(){C(A)}))})));null===Q?n.push(Promise.all(t).then((async e=>(await uQ.createStructureTree({newAnnotationsByPage:r,xref:I,catalogRef:B,pdfManager:A,newRefs:e}),e)))):Q&&n.push(Promise.all(t).then((async e=>(await Q.updateStructureTree({newAnnotationsByPage:r,pdfManager:A,newRefs:e}),e))))}if(e)n.push(A.serializeXfaData(i));else for(let e=0;e<t;e++)n.push(A.getPage(e).then((function(t){const A=new zS(`Save: page ${e}`);return t.save(l,A,i).finally((function(){C(A)}))})));const E=await Promise.all(n);let f=[],p=null;if(e){if(p=E[0],!p)return o.bytes}else if(f=E.flat(2),0===f.length)return o.bytes;const m=h&&g instanceof ig&&f.some((e=>e.needAppearances)),y=g instanceof ig&&g.get("XFA")||null;let w=null,b=!1;if(Array.isArray(y)){for(let e=0,t=y.length;e<t;e+=2)"datasets"===y[e]&&(w=y[e+1],b=!0);null===w&&(w=I.getNewTemporaryRef())}else y&&co("Unsupported XFA type.");let D=Object.create(null);if(I.trailer){const e=Object.create(null),t=I.trailer.get("Info")||null;t instanceof ig&&t.forEach(((t,A)=>{"string"==typeof A&&(e[t]=No(A))})),D={rootRef:B,encryptRef:I.trailer.getRaw("Encrypt")||null,newRef:I.getNewTemporaryRef(),infoRef:I.trailer.getRaw("Info")||null,info:e,fileIds:I.trailer.get("ID")||null,startXRef:d?c:I.lastXRefStreamPos??c,filename:s}}return hQ({originalData:o.bytes,xrefInfo:D,newRefs:f,xref:I,hasXfa:!!y,xfaDatasetsRef:w,hasXfaDatasetsEntry:b,needAppearances:m,acroFormRef:h,acroForm:g,xfaData:p,useXrefStream:gg(I.topDict,"XRef")}).finally((()=>{I.resetNewTemporaryRef()}))})),l.on("GetOperatorList",(function(e,t){const i=e.pageIndex;A.getPage(i).then((function(A){const s=new zS(`GetOperatorList: page ${i}`);d(s);const a=n>=wn.INFOS?Date.now():0;A.getOperatorList({handler:l,sink:t,task:s,intent:e.intent,cacheKey:e.cacheKey,annotationStorage:e.annotationStorage}).then((function(e){C(s),a&&ho(`page=${i+1} - getOperatorList: time=${Date.now()-a}ms, len=${e.length}`),t.close()}),(function(e){C(s),s.terminated||t.error(e)}))}))})),l.on("GetTextContent",(function(e,t){const{pageIndex:i,includeMarkedContent:s,disableNormalization:a}=e;A.getPage(i).then((function(e){const A=new zS("GetTextContent: page "+i);d(A);const r=n>=wn.INFOS?Date.now():0;e.extractTextContent({handler:l,task:A,sink:t,includeMarkedContent:s,disableNormalization:a}).then((function(){C(A),r&&ho(`page=${i+1} - getTextContent: time=`+(Date.now()-r)+"ms"),t.close()}),(function(e){C(A),A.terminated||t.error(e)}))}))})),l.on("GetStructTree",(function(e){return A.getPage(e.pageIndex).then((function(e){return A.ensure(e,"getStructTree")}))})),l.on("FontFallback",(function(e){return A.fontFallback(e.id,l)})),l.on("Cleanup",(function(e){return A.cleanup(!0)})),l.on("Terminate",(function(e){i=!0;const t=[];if(A){A.terminate(new wo("Worker was terminated."));const e=A.cleanup();t.push(e),A=null}else bB();s&&s(new wo("Worker was terminated."));for(const e of a)t.push(e.finished),e.terminate();return Promise.all(t).then((function(){l.destroy(),l=null}))})),l.on("Ready",(function(t){!function(e){function t(e){I(),l.send("GetDoc",{pdfInfo:e})}function s(e){if(I(),e instanceof Qo){const t=new zS(`PasswordException: response ${e.code}`);d(t),l.sendWithPromise("PasswordRequest",e).then((function({password:e}){C(t),A.updatePassword(e),a()})).catch((function(){C(t),l.send("DocException",e)}))}else e instanceof fo||e instanceof po||e instanceof mo||e instanceof Eo?l.send("DocException",e):l.send("DocException",new Eo(e.message,e.toString()))}function a(){I(),u(!1).then(t,(function(e){I(),e instanceof Bg?A.requestLoadedStream().then((function(){I(),u(!0).then(t,s)})):s(e)}))}I(),B(e).then((function(e){if(i)throw e.terminate(new wo("Worker was terminated.")),new Error("Worker was terminated");A=e,A.requestLoadedStream(!0).then((e=>{l.send("DataLoaded",{length:e.bytes.byteLength})}))})).then(a,s)}(e),e=null})),c}static initializeFromPort(e){const t=new jS("worker","main",e);$S.setup(t,e),t.send("ready",null)}}var eF;"undefined"==typeof window&&!ra&&"undefined"!=typeof self&&("function"==typeof(eF=self).postMessage&&"onmessage"in eF)&&$S.initializeFromPort(self);var tF=na.WorkerMessageHandler,AF={d:(e,t)=>{for(var A in t)AF.o(t,A)&&!AF.o(e,A)&&Object.defineProperty(e,A,{enumerable:!0,get:t[A]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},iF=globalThis.pdfjsViewer={};
23
- /**
24
- * @licstart The following is the entire license notice for the
25
- * JavaScript code in this page
26
- *
27
- * Copyright 2023 Mozilla Foundation
28
- *
29
- * Licensed under the Apache License, Version 2.0 (the "License");
30
- * you may not use this file except in compliance with the License.
31
- * You may obtain a copy of the License at
32
- *
33
- * http://www.apache.org/licenses/LICENSE-2.0
34
- *
35
- * Unless required by applicable law or agreed to in writing, software
36
- * distributed under the License is distributed on an "AS IS" BASIS,
37
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
38
- * See the License for the specific language governing permissions and
39
- * limitations under the License.
40
- *
41
- * @licend The above is the entire license notice for the
42
- * JavaScript code in this page
43
- */AF.d(iF,{AnnotationLayerBuilder:()=>WR,DownloadManager:()=>VR,EventBus:()=>zR,FindState:()=>LF,GenericL10n:()=>uv,LinkTarget:()=>zF,PDFFindController:()=>XF,PDFHistory:()=>Qv,PDFLinkService:()=>$F,PDFPageView:()=>Jv,PDFScriptingManager:()=>Yv,PDFSinglePageViewer:()=>Zv,PDFViewer:()=>Vv,ProgressBar:()=>bF,RenderingStates:()=>sF,ScrollMode:()=>lF,SimpleLinkService:()=>eR,SpreadMode:()=>IF,StructTreeLayerBuilder:()=>vv,TextLayerBuilder:()=>Gv,XfaLayerBuilder:()=>Lv,parseQueryString:()=>uF});const sF={INITIAL:0,RUNNING:1,PAUSED:2,FINISHED:3},aF=0,nF=1,rF=2,oF=3,gF=0,hF=1,cF=2,lF={UNKNOWN:-1,VERTICAL:0,HORIZONTAL:1,WRAPPED:2,PAGE:3},IF={UNKNOWN:-1,NONE:0,ODD:1,EVEN:2};class dF{constructor(){const e=window.devicePixelRatio||1;this.sx=e,this.sy=e}get scaled(){return 1!==this.sx||1!==this.sy}}function CF(e,t,A=!1){let i=e.offsetParent;if(!i)return void console.error("offsetParent is not set -- cannot scroll");let s=e.offsetTop+e.clientTop,a=e.offsetLeft+e.clientLeft;for(;i.clientHeight===i.scrollHeight&&i.clientWidth===i.scrollWidth||A&&(i.classList.contains("markedContent")||"hidden"===getComputedStyle(i).overflow);)if(s+=i.offsetTop,a+=i.offsetLeft,i=i.offsetParent,!i)return;t&&(void 0!==t.top&&(s+=t.top),void 0!==t.left&&(a+=t.left,i.scrollLeft=a)),i.scrollTop=s}function uF(e){const t=new Map;for(const[A,i]of new URLSearchParams(e))t.set(A.toLowerCase(),i);return t}const BF=/[\x00-\x1F]/g;function QF(e,t=!1){return BF.test(e)?t?e.replaceAll(BF,(e=>"\0"===e?"":" ")):e.replaceAll("\0",""):e}function EF(e,t,A=0){let i=A,s=e.length-1;if(s<0||!t(e[s]))return e.length;if(t(e[i]))return i;for(;i<s;){const A=i+s>>1;t(e[A])?s=A:i=A+1}return i}function fF(e){if(Math.floor(e)===e)return[e,1];const t=1/e;if(t>8)return[1,8];if(Math.floor(t)===t)return[1,t];const A=e>1?t:e;let i,s=0,a=1,n=1,r=1;for(;;){const e=s+n,t=a+r;if(t>8)break;A<=e/t?(n=e,r=t):(s=e,a=t)}return i=A-s/a<n/r-A?A===e?[s,a]:[a,s]:A===e?[n,r]:[r,n],i}function pF(e,t){const A=e%t;return 0===A?e:Math.round(e-A+t)}function mF(e){return Number.isInteger(e)&&e%90==0}function yF(e){return e.width<=e.height}new Promise((function(e){window.requestAnimationFrame(e)}));const wF=document.documentElement.style;class bF{#Nr=null;#Mr=null;#Gr=0;#Lr=null;#Pt=!0;constructor(e){this.#Nr=e.classList,this.#Lr=e.style}get percent(){return this.#Gr}set percent(e){var t,A,i;this.#Gr=(t=e,A=0,i=100,Math.min(Math.max(t,A),i)),isNaN(e)?this.#Nr.add("indeterminate"):(this.#Nr.remove("indeterminate"),this.#Lr.setProperty("--progressBar-percent",`${this.#Gr}%`))}setWidth(e){if(!e)return;const t=e.parentNode.offsetWidth-e.offsetWidth;t>0&&this.#Lr.setProperty("--progressBar-end-offset",`${t}px`)}setDisableAutoFetch(e=5e3){isNaN(this.#Gr)||(this.#Mr&&clearTimeout(this.#Mr),this.show(),this.#Mr=setTimeout((()=>{this.#Mr=null,this.hide()}),e))}hide(){this.#Pt&&(this.#Pt=!1,this.#Nr.add("hidden"))}show(){this.#Pt||(this.#Pt=!0,this.#Nr.remove("hidden"))}}const DF=0,kF=1,SF=2,FF=3,RF=4,xF=5,vF=6,NF=7;function MF(e){return function(e){return e<11904}(e)?function(e){return 0==(65408&e)}(e)?function(e){return 32===e||9===e||13===e||10===e}(e)?DF:function(e){return e>=97&&e<=122||e>=65&&e<=90}(e)||function(e){return e>=48&&e<=57}(e)||95===e?kF:SF:function(e){return 3584==(65408&e)}(e)?NF:160===e?DF:kF:function(e){return e>=13312&&e<=40959||e>=63744&&e<=64255}(e)?FF:function(e){return e>=12448&&e<=12543}(e)?RF:function(e){return e>=12352&&e<=12447}(e)?xF:function(e){return e>=65376&&e<=65439}(e)?vF:kF}let GF;const LF={FOUND:0,NOT_FOUND:1,WRAPPED:2,PENDING:3},UF={"‐":"-","‘":"'","’":"'","‚":"'","‛":"'","“":'"',"”":'"',"„":'"',"‟":'"',"¼":"1/4","½":"1/2","¾":"3/4"},HF=new Set([12441,12442,2381,2509,2637,2765,2893,3021,3149,3277,3387,3388,3405,3530,3642,3770,3972,4153,4154,5908,5940,6098,6752,6980,7082,7083,7154,7155,11647,43014,43052,43204,43347,43456,43766,44013,3158,3953,3954,3962,3963,3964,3965,3968,3956]);let JF;const TF=/\p{M}+/gu,PF=/([.*+?^${}()|[\]\\])|(\p{P})|(\s+)|(\p{M})|(\p{L})/gu,YF=/([^\p{M}])\p{M}*$/u,KF=/^\p{M}*([^\p{M}])/u,_F=/[\uAC00-\uD7AF\uFA6C\uFACF-\uFAD1\uFAD5-\uFAD7]+/g,qF=new Map,OF=new Map;let WF=null,jF=null;function VF(e){const t=[];let A,i;for(;null!==(A=_F.exec(e));){let{index:e}=A;for(const i of A[0]){let A=qF.get(i);A||(A=i.normalize("NFD").length,qF.set(i,A)),t.push([A,e++])}}if(0===t.length&&WF)i=WF;else if(t.length>0&&jF)i=jF;else{const e=`([${Object.keys(UF).join("")}])|([${GF||=" ¨ª¯²-µ¸-º¼-¾IJ-ijĿ-ŀʼnſDŽ-njDZ-dzʰ-ʸ˘-˝ˠ-ˤʹͺ;΄-΅·ϐ-ϖϰ-ϲϴ-ϵϹևٵ-ٸक़-य़ড়-ঢ়য়ਲ਼ਸ਼ਖ਼-ਜ਼ਫ਼ଡ଼-ଢ଼ำຳໜ-ໝ༌གྷཌྷདྷབྷཛྷཀྵჼᴬ-ᴮᴰ-ᴺᴼ-ᵍᵏ-ᵪᵸᶛ-ᶿẚ-ẛάέήίόύώΆ᾽-῁ΈΉ῍-῏ΐΊ῝-῟ΰΎ῭-`ΌΏ´-῾ - ‑‗․-… ″-‴‶-‷‼‾⁇-⁉⁗ ⁰-ⁱ⁴-₎ₐ-ₜ₨℀-℃℅-ℇ℉-ℓℕ-№ℙ-ℝ℠-™ℤΩℨK-ℭℯ-ℱℳ-ℹ℻-⅀ⅅ-ⅉ⅐-ⅿ↉∬-∭∯-∰〈-〉①-⓪⨌⩴-⩶⫝̸ⱼ-ⱽⵯ⺟⻳⼀-⿕ 〶〸-〺゛-゜ゟヿㄱ-ㆎ㆒-㆟㈀-㈞㈠-㉇㉐-㉾㊀-㏿ꚜ-ꚝꝰꟲ-ꟴꟸ-ꟹꭜ-ꭟꭩ豈-嗀塚晴凞-羽蘒諸逸-都飯-舘並-龎ff-stﬓ-ﬗיִײַ-זּטּ-לּמּנּ-סּףּ-פּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-﷼︐-︙︰-﹄﹇-﹒﹔-﹦﹨-﹫ﹰ-ﹲﹴﹶ-ﻼ!-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ¢-₩",GF}])|(${"(?:゙|゚)"}\\n)|(\\p{M}+(?:-\\n)?)|(\\S-\\n)|(${"(?:\\p{Ideographic}|[぀-ヿ])"}\\n)|(\\n)`;i=0===t.length?WF=new RegExp(e+"|(\\u0000)","gum"):jF=new RegExp(e+"|([\\u1100-\\u1112\\ud7a4-\\ud7af\\ud84a\\ud84c\\ud850\\ud854\\ud857\\ud85f])","gum")}const s=[];for(;null!==(A=TF.exec(e));)s.push([A[0].length,A.index]);let a=e.normalize("NFD");const n=[[0,0]];let r=0,o=0,g=0,h=0,c=0,l=!1;return a=a.replace(i,((e,A,i,a,I,d,C,u,B,Q)=>{if(Q-=h,A){const e=UF[A],t=e.length;for(let e=1;e<t;e++)n.push([Q-g+e,g-e]);return g-=t-1,e}if(i){let e=OF.get(i);e||(e=i.normalize("NFKC"),OF.set(i,e));const t=e.length;for(let e=1;e<t;e++)n.push([Q-g+e,g-e]);return g-=t-1,e}if(a)return l=!0,Q+c===s[r]?.[1]?++r:(n.push([Q-1-g+1,g-1]),g-=1,h+=1),n.push([Q-g+1,g]),h+=1,c+=1,a.charAt(0);if(I){const e=I.endsWith("\n"),t=e?I.length-2:I.length;l=!0;let A=t;Q+c===s[r]?.[1]&&(A-=s[r][0],++r);for(let e=1;e<=A;e++)n.push([Q-1-g+e,g-e]);return g-=A,h+=A,e?(Q+=t-1,n.push([Q-g+1,1+g]),g+=1,h+=1,c+=1,I.slice(0,t)):I}if(d){const e=d.length-2;return n.push([Q-g+e,1+g]),g+=1,h+=1,c+=1,d.slice(0,-2)}if(C){const e=C.length-1;return n.push([Q-g+e,g]),h+=1,c+=1,C.slice(0,-1)}if(u)return n.push([Q-g+1,g-1]),g-=1,h+=1,c+=1," ";if(Q+c===t[o]?.[1]){const e=t[o][0]-1;++o;for(let t=1;t<=e;t++)n.push([Q-(g-t),g-t]);g-=e,h+=e}return B})),n.push([a.length,g]),[a,n,l]}function ZF(e,t,A){if(!e)return[t,A];const i=t,s=t+A-1;let a=EF(e,(e=>e[0]>=i));e[a][0]>i&&--a;let n=EF(e,(e=>e[0]>=s),a);e[n][0]>s&&--n;const r=i+e[a][1];return[r,s+e[n][1]+1-r]}class XF{#Ur=null;#Hr=!0;#Jr=0;constructor({linkService:e,eventBus:t,updateMatchesCountOnProgress:A=!0}){this._linkService=e,this._eventBus=t,this.#Hr=A,this.onIsPageVisible=null,this.#Tr(),t._on("find",this.#Pr.bind(this)),t._on("findbarclose",this.#Yr.bind(this))}get highlightMatches(){return this._highlightMatches}get pageMatches(){return this._pageMatches}get pageMatchesLength(){return this._pageMatchesLength}get selected(){return this._selected}get state(){return this.#Ur}setDocument(e){this._pdfDocument&&this.#Tr(),e&&(this._pdfDocument=e,this._firstPageCapability.resolve())}#Pr(e){if(!e)return;const t=this._pdfDocument,{type:A}=e;(null===this.#Ur||this.#Kr(e))&&(this._dirtyMatch=!0),this.#Ur=e,"highlightallchange"!==A&&this.#_r(LF.PENDING),this._firstPageCapability.promise.then((()=>{if(!this._pdfDocument||t&&this._pdfDocument!==t)return;this.#zi();const e=!this._highlightMatches,i=!!this._findTimeout;this._findTimeout&&(clearTimeout(this._findTimeout),this._findTimeout=null),A?this._dirtyMatch?this.#qr():"again"===A?(this.#qr(),e&&this.#Ur.highlightAll&&this.#Or()):"highlightallchange"===A?(i?this.#qr():this._highlightMatches=!0,this.#Or()):this.#qr():this._findTimeout=setTimeout((()=>{this.#qr(),this._findTimeout=null}),250)}))}scrollMatchIntoView({element:e=null,selectedLeft:t=0,pageIndex:A=-1,matchIndex:i=-1}){if(!this._scrollMatches||!e)return;if(-1===i||i!==this._selected.matchIdx)return;if(-1===A||A!==this._selected.pageIdx)return;this._scrollMatches=!1;CF(e,{top:-50,left:t+-400},!0)}#Tr(){this._highlightMatches=!1,this._scrollMatches=!1,this._pdfDocument=null,this._pageMatches=[],this._pageMatchesLength=[],this.#Jr=0,this.#Ur=null,this._selected={pageIdx:-1,matchIdx:-1},this._offset={pageIdx:null,matchIdx:null,wrapped:!1},this._extractTextPromises=[],this._pageContents=[],this._pageDiffs=[],this._hasDiacritics=[],this._matchesCountTotal=0,this._pagesToSearch=null,this._pendingFindMatches=new Set,this._resumePageIdx=null,this._dirtyMatch=!1,clearTimeout(this._findTimeout),this._findTimeout=null,this._firstPageCapability=Promise.withResolvers()}get#Wr(){const{query:e}=this.#Ur;return"string"==typeof e?(e!==this._rawQuery&&(this._rawQuery=e,[this._normalizedQuery]=VF(e)),this._normalizedQuery):(e||[]).filter((e=>!!e)).map((e=>VF(e)[0]))}#Kr(e){const t=e.query,A=this.#Ur.query,i=typeof t;if(i!==typeof A)return!0;if("string"===i){if(t!==A)return!0}else if(JSON.stringify(t)!==JSON.stringify(A))return!0;switch(e.type){case"again":const e=this._selected.pageIdx+1,t=this._linkService;return e>=1&&e<=t.pagesCount&&e!==t.page&&!(this.onIsPageVisible?.(e)??1);case"highlightallchange":return!1}return!0}#jr(e,t,A){let i=e.slice(0,t).match(YF);if(i){const A=e.charCodeAt(t),s=i[1].charCodeAt(0);if(MF(A)===MF(s))return!1}if(i=e.slice(t+A).match(KF),i){const s=e.charCodeAt(t+A-1),a=i[1].charCodeAt(0);if(MF(s)===MF(a))return!1}return!0}#Vr(e,t,A,i){const s=this._pageMatches[A]=[],a=this._pageMatchesLength[A]=[];if(!e)return;const n=this._pageDiffs[A];let r;for(;null!==(r=e.exec(i));){if(t&&!this.#jr(i,r.index,r[0].length))continue;const[e,A]=ZF(n,r.index,r[0].length);A&&(s.push(e),a.push(A))}}#Zr(e,t){const{matchDiacritics:A}=this.#Ur;let i=!1;const s="[ ]*";return(e=e.replaceAll(PF,((e,s,a,n,r,o)=>s?`[ ]*\\${s}[ ]*`:a?`[ ]*${a}[ ]*`:n?"[ ]+":A?r||o:r?HF.has(r.charCodeAt(0))?r:"":t?(i=!0,`${o}\\p{M}*`):o))).endsWith(s)&&(e=e.slice(0,e.length-4)),A&&t&&(JF||=String.fromCharCode(...HF),i=!0,e=`${e}(?=[${JF}]|[^\\p{M}]|$)`),[i,e]}#Xr(e){let t=this.#Wr;if(0===t.length)return;const{caseSensitive:A,entireWord:i}=this.#Ur,s=this._pageContents[e],a=this._hasDiacritics[e];let n=!1;"string"==typeof t?[n,t]=this.#Zr(t,a):t=t.sort().reverse().map((e=>{const[t,A]=this.#Zr(e,a);return n||=t,`(${A})`})).join("|");t=t?new RegExp(t,`g${n?"u":""}${A?"":"i"}`):null,this.#Vr(t,i,e,s),this.#Ur.highlightAll&&this.#zr(e),this._resumePageIdx===e&&(this._resumePageIdx=null,this.#$r());const r=this._pageMatches[e].length;this._matchesCountTotal+=r,this.#Hr?r>0&&this.#eo():++this.#Jr===this._linkService.pagesCount&&this.#eo()}#zi(){if(this._extractTextPromises.length>0)return;let e=Promise.resolve();const t={disableNormalization:!0};for(let A=0,i=this._linkService.pagesCount;A<i;A++){const{promise:i,resolve:s}=Promise.withResolvers();this._extractTextPromises[A]=i,e=e.then((()=>this._pdfDocument.getPage(A+1).then((e=>e.getTextContent(t))).then((e=>{const t=[];for(const A of e.items)t.push(A.str),A.hasEOL&&t.push("\n");[this._pageContents[A],this._pageDiffs[A],this._hasDiacritics[A]]=VF(t.join("")),s()}),(e=>{console.error(`Unable to get text content for page ${A+1}`,e),this._pageContents[A]="",this._pageDiffs[A]=null,this._hasDiacritics[A]=!1,s()}))))}}#zr(e){this._scrollMatches&&this._selected.pageIdx===e&&(this._linkService.page=e+1),this._eventBus.dispatch("updatetextlayermatches",{source:this,pageIndex:e})}#Or(){this._eventBus.dispatch("updatetextlayermatches",{source:this,pageIndex:-1})}#qr(){const e=this.#Ur.findPrevious,t=this._linkService.page-1,A=this._linkService.pagesCount;if(this._highlightMatches=!0,this._dirtyMatch){this._dirtyMatch=!1,this._selected.pageIdx=this._selected.matchIdx=-1,this._offset.pageIdx=t,this._offset.matchIdx=null,this._offset.wrapped=!1,this._resumePageIdx=null,this._pageMatches.length=0,this._pageMatchesLength.length=0,this.#Jr=0,this._matchesCountTotal=0,this.#Or();for(let e=0;e<A;e++)this._pendingFindMatches.has(e)||(this._pendingFindMatches.add(e),this._extractTextPromises[e].then((()=>{this._pendingFindMatches.delete(e),this.#Xr(e)})))}if(0===this.#Wr.length)return void this.#_r(LF.FOUND);if(this._resumePageIdx)return;const i=this._offset;if(this._pagesToSearch=A,null!==i.matchIdx){const t=this._pageMatches[i.pageIdx].length;if(!e&&i.matchIdx+1<t||e&&i.matchIdx>0)return i.matchIdx=e?i.matchIdx-1:i.matchIdx+1,void this.#to(!0);this.#Ao(e)}this.#$r()}#io(e){const t=this._offset,A=e.length,i=this.#Ur.findPrevious;return A?(t.matchIdx=i?A-1:0,this.#to(!0),!0):(this.#Ao(i),!!(t.wrapped&&(t.matchIdx=null,this._pagesToSearch<0))&&(this.#to(!1),!0))}#$r(){null!==this._resumePageIdx&&console.error("There can only be one pending page.");let e=null;do{const t=this._offset.pageIdx;if(e=this._pageMatches[t],!e){this._resumePageIdx=t;break}}while(!this.#io(e))}#Ao(e){const t=this._offset,A=this._linkService.pagesCount;t.pageIdx=e?t.pageIdx-1:t.pageIdx+1,t.matchIdx=null,this._pagesToSearch--,(t.pageIdx>=A||t.pageIdx<0)&&(t.pageIdx=e?A-1:0,t.wrapped=!0)}#to(e=!1){let t=LF.NOT_FOUND;const A=this._offset.wrapped;if(this._offset.wrapped=!1,e){const e=this._selected.pageIdx;this._selected.pageIdx=this._offset.pageIdx,this._selected.matchIdx=this._offset.matchIdx,t=A?LF.WRAPPED:LF.FOUND,-1!==e&&e!==this._selected.pageIdx&&this.#zr(e)}this.#_r(t,this.#Ur.findPrevious),-1!==this._selected.pageIdx&&(this._scrollMatches=!0,this.#zr(this._selected.pageIdx))}#Yr(e){const t=this._pdfDocument;this._firstPageCapability.promise.then((()=>{!this._pdfDocument||t&&this._pdfDocument!==t||(this._findTimeout&&(clearTimeout(this._findTimeout),this._findTimeout=null),this._resumePageIdx&&(this._resumePageIdx=null,this._dirtyMatch=!0),this.#_r(LF.FOUND),this._highlightMatches=!1,this.#Or())}))}#so(){const{pageIdx:e,matchIdx:t}=this._selected;let A=0,i=this._matchesCountTotal;if(-1!==t){for(let t=0;t<e;t++)A+=this._pageMatches[t]?.length||0;A+=t+1}return(A<1||A>i)&&(A=i=0),{current:A,total:i}}#eo(){this._eventBus.dispatch("updatefindmatchescount",{source:this,matchesCount:this.#so()})}#_r(e,t=!1){(this.#Hr||this.#Jr===this._linkService.pagesCount&&e!==LF.PENDING)&&this._eventBus.dispatch("updatefindcontrolstate",{source:this,state:e,previous:t,matchesCount:this.#so(),rawQuery:this.#Ur?.query??null})}}const zF={NONE:0,SELF:1,BLANK:2,PARENT:3,TOP:4};class $F{externalLinkEnabled=!0;constructor({eventBus:e,externalLinkTarget:t=null,externalLinkRel:A=null,ignoreDestinationZoom:i=!1}={}){this.eventBus=e,this.externalLinkTarget=t,this.externalLinkRel=A,this._ignoreDestinationZoom=i,this.baseUrl=null,this.pdfDocument=null,this.pdfViewer=null,this.pdfHistory=null}setDocument(e,t=null){this.baseUrl=t,this.pdfDocument=e}setViewer(e){this.pdfViewer=e}setHistory(e){this.pdfHistory=e}get pagesCount(){return this.pdfDocument?this.pdfDocument.numPages:0}get page(){return this.pdfDocument?this.pdfViewer.currentPageNumber:1}set page(e){this.pdfDocument&&(this.pdfViewer.currentPageNumber=e)}get rotation(){return this.pdfDocument?this.pdfViewer.pagesRotation:0}set rotation(e){this.pdfDocument&&(this.pdfViewer.pagesRotation=e)}get isInPresentationMode(){return!!this.pdfDocument&&this.pdfViewer.isInPresentationMode}async goToDestination(e){if(!this.pdfDocument)return;let t,A,i;if("string"==typeof e?(t=e,A=await this.pdfDocument.getDestination(e)):(t=null,A=await e),!Array.isArray(A))return void console.error(`goToDestination: "${A}" is not a valid destination array, for dest="${e}".`);const[s]=A;if(s&&"object"==typeof s){if(i=this.pdfDocument.cachedPageNumber(s),!i)try{i=await this.pdfDocument.getPageIndex(s)+1}catch{return void console.error(`goToDestination: "${s}" is not a valid page reference, for dest="${e}".`)}}else Number.isInteger(s)&&(i=s+1);!i||i<1||i>this.pagesCount?console.error(`goToDestination: "${i}" is not a valid page number, for dest="${e}".`):(this.pdfHistory&&(this.pdfHistory.pushCurrentPosition(),this.pdfHistory.push({namedDest:t,explicitDest:A,pageNumber:i})),this.pdfViewer.scrollPageIntoView({pageNumber:i,destArray:A,ignoreDestinationZoom:this._ignoreDestinationZoom}))}goToPage(e){if(!this.pdfDocument)return;const t="string"==typeof e&&this.pdfViewer.pageLabelToPageNumber(e)||0|e;Number.isInteger(t)&&t>0&&t<=this.pagesCount?(this.pdfHistory&&(this.pdfHistory.pushCurrentPosition(),this.pdfHistory.pushPage(t)),this.pdfViewer.scrollPageIntoView({pageNumber:t})):console.error(`PDFLinkService.goToPage: "${e}" is not a valid page.`)}addLinkAttributes(e,t,A=!1){if(!t||"string"!=typeof t)throw new Error('A valid "url" parameter must provided.');const i=A?zF.BLANK:this.externalLinkTarget,s=this.externalLinkRel;this.externalLinkEnabled?e.href=e.title=t:(e.href="",e.title=`Disabled: ${t}`,e.onclick=()=>!1);let a="";switch(i){case zF.NONE:break;case zF.SELF:a="_self";break;case zF.BLANK:a="_blank";break;case zF.PARENT:a="_parent";break;case zF.TOP:a="_top"}e.target=a,e.rel="string"==typeof s?s:"noopener noreferrer nofollow"}getDestinationHash(e){if("string"==typeof e){if(e.length>0)return this.getAnchorUrl("#"+escape(e))}else if(Array.isArray(e)){const t=JSON.stringify(e);if(t.length>0)return this.getAnchorUrl("#"+escape(t))}return this.getAnchorUrl("")}getAnchorUrl(e){return this.baseUrl?this.baseUrl+e:e}setHash(e){if(!this.pdfDocument)return;let t,A;if(e.includes("=")){const i=uF(e);if(i.has("search")){const e=i.get("search").replaceAll('"',""),t="true"===i.get("phrase");this.eventBus.dispatch("findfromurlhash",{source:this,query:t?e:e.match(/\S+/g)})}if(i.has("page")&&(t=0|i.get("page")||1),i.has("zoom")){const e=i.get("zoom").split(","),t=e[0],s=parseFloat(t);t.includes("Fit")?"Fit"===t||"FitB"===t?A=[null,{name:t}]:"FitH"===t||"FitBH"===t||"FitV"===t||"FitBV"===t?A=[null,{name:t},e.length>1?0|e[1]:null]:"FitR"===t?5!==e.length?console.error('PDFLinkService.setHash: Not enough parameters for "FitR".'):A=[null,{name:t},0|e[1],0|e[2],0|e[3],0|e[4]]:console.error(`PDFLinkService.setHash: "${t}" is not a valid zoom value.`):A=[null,{name:"XYZ"},e.length>1?0|e[1]:null,e.length>2?0|e[2]:null,s?s/100:t]}return A?this.pdfViewer.scrollPageIntoView({pageNumber:t||this.page,destArray:A,allowNegativeOffset:!0}):t&&(this.page=t),i.has("pagemode")&&this.eventBus.dispatch("pagemode",{source:this,mode:i.get("pagemode")}),void(i.has("nameddest")&&this.goToDestination(i.get("nameddest")))}A=unescape(e);try{A=JSON.parse(A),Array.isArray(A)||(A=A.toString())}catch{}"string"==typeof A||$F.#ao(A)?this.goToDestination(A):console.error(`PDFLinkService.setHash: "${unescape(e)}" is not a valid destination.`)}executeNamedAction(e){if(this.pdfDocument){switch(e){case"GoBack":this.pdfHistory?.back();break;case"GoForward":this.pdfHistory?.forward();break;case"NextPage":this.pdfViewer.nextPage();break;case"PrevPage":this.pdfViewer.previousPage();break;case"LastPage":this.page=this.pagesCount;break;case"FirstPage":this.page=1}this.eventBus.dispatch("namedaction",{source:this,action:e})}}async executeSetOCGState(e){if(!this.pdfDocument)return;const t=this.pdfDocument,A=await this.pdfViewer.optionalContentConfigPromise;t===this.pdfDocument&&(A.setOCGState(e),this.pdfViewer.optionalContentConfigPromise=Promise.resolve(A))}static#ao(e){if(!Array.isArray(e)||e.length<2)return!1;const[t,A,...i]=e;if(!("object"==typeof t&&Number.isInteger(t?.num)&&Number.isInteger(t?.gen)||Number.isInteger(t)))return!1;if("object"!=typeof A||"string"!=typeof A?.name)return!1;let s=!0;switch(A.name){case"XYZ":if(3!==i.length)return!1;break;case"Fit":case"FitB":return 0===i.length;case"FitH":case"FitBH":case"FitV":case"FitBV":if(1!==i.length)return!1;break;case"FitR":if(4!==i.length)return!1;s=!1;break;default:return!1}for(const e of i)if(!("number"==typeof e||s&&null===e))return!1;return!0}}class eR extends $F{setDocument(e,t=null){}}const{AbortException:tR,AnnotationEditorLayer:AR,AnnotationEditorParamsType:iR,AnnotationEditorType:sR,AnnotationEditorUIManager:aR,AnnotationLayer:nR,AnnotationMode:rR,build:oR,CMapCompressionType:gR,ColorPicker:hR,createValidAbsoluteUrl:cR,DOMSVGFactory:lR,DrawLayer:IR,FeatureTest:dR,fetchData:CR,getDocument:uR,getFilenameFromUrl:BR,getPdfFilenameFromUrl:QR,getXfaPageViewport:ER,GlobalWorkerOptions:fR,ImageKind:pR,InvalidPDFException:mR,isDataScheme:yR,isPdfFile:wR,MissingPDFException:bR,noContextMenu:DR,normalizeUnicode:kR,OPS:SR,Outliner:FR,PasswordResponses:RR,PDFDataRangeTransport:xR,PDFDateString:vR,PDFWorker:NR,PermissionFlag:MR,PixelsPerInch:GR,RenderingCancelledException:LR,renderTextLayer:UR,setLayerDimensions:HR,shadow:JR,TextLayer:TR,UnexpectedResponseException:PR,updateTextLayer:YR,Util:KR,VerbosityLevel:_R,version:qR,XfaLayer:OR}=globalThis.pdfjsLib;class WR{#no=null;#ro=null;constructor({pdfPage:e,linkService:t,downloadManager:A,annotationStorage:i=null,imageResourcesPath:s="",renderForms:a=!0,enableScripting:n=!1,hasJSActionsPromise:r=null,fieldObjectsPromise:o=null,annotationCanvasMap:g=null,accessibilityManager:h=null,annotationEditorUIManager:c=null,onAppend:l=null}){this.pdfPage=e,this.linkService=t,this.downloadManager=A,this.imageResourcesPath=s,this.renderForms=a,this.annotationStorage=i,this.enableScripting=n,this._hasJSActionsPromise=r||Promise.resolve(!1),this._fieldObjectsPromise=o||Promise.resolve(null),this._annotationCanvasMap=g,this._accessibilityManager=h,this._annotationEditorUIManager=c,this.#no=l,this.annotationLayer=null,this.div=null,this._cancelled=!1,this._eventBus=t.eventBus}async render(e,t="display"){if(this.div){if(this._cancelled||!this.annotationLayer)return;return void this.annotationLayer.update({viewport:e.clone({dontFlip:!0})})}const[A,i,s]=await Promise.all([this.pdfPage.getAnnotations({intent:t}),this._hasJSActionsPromise,this._fieldObjectsPromise]);if(this._cancelled)return;const a=this.div=document.createElement("div");a.className="annotationLayer",this.#no?.(a),0!==A.length?(this.annotationLayer=new nR({div:a,accessibilityManager:this._accessibilityManager,annotationCanvasMap:this._annotationCanvasMap,annotationEditorUIManager:this._annotationEditorUIManager,page:this.pdfPage,viewport:e.clone({dontFlip:!0})}),await this.annotationLayer.render({annotations:A,imageResourcesPath:this.imageResourcesPath,renderForms:this.renderForms,linkService:this.linkService,downloadManager:this.downloadManager,annotationStorage:this.annotationStorage,enableScripting:this.enableScripting,hasJSActions:i,fieldObjects:s}),this.linkService.isInPresentationMode&&this.#oo(oF),this.#ro||(this.#ro=new AbortController,this._eventBus?._on("presentationmodechanged",(e=>{this.#oo(e.state)}),{signal:this.#ro.signal}))):this.hide()}cancel(){this._cancelled=!0,this.#ro?.abort(),this.#ro=null}hide(){this.div&&(this.div.hidden=!0)}#oo(e){if(!this.div)return;let t=!1;switch(e){case oF:t=!0;break;case nF:break;default:return}for(const e of this.div.childNodes)e.hasAttribute("data-internal-link")||(e.inert=t)}}function jR(e,t){const A=document.createElement("a");if(!A.click)throw new Error('DownloadManager: "a.click()" is not supported.');A.href=e,A.target="_parent","download"in A&&(A.download=t),(document.body||document.documentElement).append(A),A.click(),A.remove()}class VR{#go=new WeakMap;downloadUrl(e,t,A){cR(e,"http://example.com")?jR(e+"#pdfjs.action=download",t):console.error(`downloadUrl - not a valid URL: ${e}`)}downloadData(e,t,A){jR(URL.createObjectURL(new Blob([e],{type:A})),t)}openOrDownloadData(e,t,A=null){const i=wR(t)?"application/pdf":"";return this.downloadData(e,t,i),!1}download(e,t,A,i){jR(URL.createObjectURL(e),A)}}const ZR="event",XR="timeout";class zR{#UA=Object.create(null);on(e,t,A=null){this._on(e,t,{external:!0,once:A?.once,signal:A?.signal})}off(e,t,A=null){this._off(e,t)}dispatch(e,t){const A=this.#UA[e];if(!A||0===A.length)return;let i;for(const{listener:s,external:a,once:n}of A.slice(0))n&&this._off(e,s),a?(i||=[]).push(s):s(t);if(i){for(const e of i)e(t);i=null}}_on(e,t,A=null){let i=null;if(A?.signal instanceof AbortSignal){const{signal:s}=A;if(s.aborted)return void console.error("Cannot use an `aborted` signal.");const a=()=>this._off(e,t);i=()=>s.removeEventListener("abort",a),s.addEventListener("abort",a)}(this.#UA[e]||=[]).push({listener:t,external:!0===A?.external,once:!0===A?.once,rmAbort:i})}_off(e,t,A=null){const i=this.#UA[e];if(i)for(let e=0,A=i.length;e<A;e++){const A=i[e];if(A.listener===t)return A.rmAbort?.(),void i.splice(e,1)}}}class $R{constructor(e){this.value=e}valueOf(){return this.value}}class ex extends $R{constructor(e="???"){super(e)}toString(e){return`{${this.value}}`}}class tx extends $R{constructor(e,t={}){super(e),this.opts=t}toString(e){try{return e.memoizeIntlObject(Intl.NumberFormat,this.opts).format(this.value)}catch(t){return e.reportError(t),this.value.toString(10)}}}class Ax extends $R{constructor(e,t={}){super(e),this.opts=t}toString(e){try{return e.memoizeIntlObject(Intl.DateTimeFormat,this.opts).format(this.value)}catch(t){return e.reportError(t),new Date(this.value).toISOString()}}}const ix=100,sx="⁨",ax="⁩";function nx(e,t,A){if(A===t)return!0;if(A instanceof tx&&t instanceof tx&&A.value===t.value)return!0;if(t instanceof tx&&"string"==typeof A){if(A===e.memoizeIntlObject(Intl.PluralRules,t.opts).select(t.value))return!0}return!1}function rx(e,t,A){return t[A]?cx(e,t[A].value):(e.reportError(new RangeError("No default")),new ex)}function ox(e,t){const A=[],i=Object.create(null);for(const s of t)"narg"===s.type?i[s.name]=gx(e,s.value):A.push(gx(e,s));return{positional:A,named:i}}function gx(e,t){switch(t.type){case"str":return t.value;case"num":return new tx(t.value,{minimumFractionDigits:t.precision});case"var":return function(e,{name:t}){let A;if(e.params){if(!Object.prototype.hasOwnProperty.call(e.params,t))return new ex(`$${t}`);A=e.params[t]}else{if(!e.args||!Object.prototype.hasOwnProperty.call(e.args,t))return e.reportError(new ReferenceError(`Unknown variable: $${t}`)),new ex(`$${t}`);A=e.args[t]}if(A instanceof $R)return A;switch(typeof A){case"string":return A;case"number":return new tx(A);case"object":if(A instanceof Date)return new Ax(A.getTime());default:return e.reportError(new TypeError(`Variable type not supported: $${t}, ${typeof A}`)),new ex(`$${t}`)}}(e,t);case"mesg":return function(e,{name:t,attr:A}){const i=e.bundle._messages.get(t);if(!i)return e.reportError(new ReferenceError(`Unknown message: ${t}`)),new ex(t);if(A){const s=i.attributes[A];return s?cx(e,s):(e.reportError(new ReferenceError(`Unknown attribute: ${A}`)),new ex(`${t}.${A}`))}if(i.value)return cx(e,i.value);return e.reportError(new ReferenceError(`No value: ${t}`)),new ex(t)}(e,t);case"term":return function(e,{name:t,attr:A,args:i}){const s=`-${t}`,a=e.bundle._terms.get(s);if(!a)return e.reportError(new ReferenceError(`Unknown term: ${s}`)),new ex(s);if(A){const t=a.attributes[A];if(t){e.params=ox(e,i).named;const A=cx(e,t);return e.params=null,A}return e.reportError(new ReferenceError(`Unknown attribute: ${A}`)),new ex(`${s}.${A}`)}e.params=ox(e,i).named;const n=cx(e,a.value);return e.params=null,n}(e,t);case"func":return function(e,{name:t,args:A}){let i=e.bundle._functions[t];if(!i)return e.reportError(new ReferenceError(`Unknown function: ${t}()`)),new ex(`${t}()`);if("function"!=typeof i)return e.reportError(new TypeError(`Function ${t}() is not callable`)),new ex(`${t}()`);try{let t=ox(e,A);return i(t.positional,t.named)}catch(A){return e.reportError(A),new ex(`${t}()`)}}(e,t);case"select":return function(e,{selector:t,variants:A,star:i}){let s=gx(e,t);if(s instanceof ex)return rx(e,A,i);for(const t of A){if(nx(e,s,gx(e,t.key)))return cx(e,t.value)}return rx(e,A,i)}(e,t);default:return new ex}}function hx(e,t){if(e.dirty.has(t))return e.reportError(new RangeError("Cyclic reference")),new ex;e.dirty.add(t);const A=[],i=e.bundle._useIsolating&&t.length>1;for(const s of t)if("string"!=typeof s){if(e.placeables++,e.placeables>ix)throw e.dirty.delete(t),new RangeError(`Too many placeables expanded: ${e.placeables}, max allowed is ${ix}`);i&&A.push(sx),A.push(gx(e,s).toString(e)),i&&A.push(ax)}else A.push(e.bundle._transform(s));return e.dirty.delete(t),A.join("")}function cx(e,t){return"string"==typeof t?e.bundle._transform(t):hx(e,t)}class lx{constructor(e,t,A){this.dirty=new WeakSet,this.params=null,this.placeables=0,this.bundle=e,this.errors=t,this.args=A}reportError(e){if(!(this.errors&&e instanceof Error))throw e;this.errors.push(e)}memoizeIntlObject(e,t){let A=this.bundle._intls.get(e);A||(A={},this.bundle._intls.set(e,A));let i=JSON.stringify(t);return A[i]||(A[i]=new e(this.bundle.locales,t)),A[i]}}function Ix(e,t){const A=Object.create(null);for(const[i,s]of Object.entries(e))t.includes(i)&&(A[i]=s.valueOf());return A}const dx=["unitDisplay","currencyDisplay","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits"];function Cx(e,t){let A=e[0];if(A instanceof ex)return new ex(`NUMBER(${A.valueOf()})`);if(A instanceof tx)return new tx(A.valueOf(),{...A.opts,...Ix(t,dx)});if(A instanceof Ax)return new tx(A.valueOf(),{...Ix(t,dx)});throw new TypeError("Invalid argument to NUMBER")}const ux=["dateStyle","timeStyle","fractionalSecondDigits","dayPeriod","hour12","weekday","era","year","month","day","hour","minute","second","timeZoneName"];function Bx(e,t){let A=e[0];if(A instanceof ex)return new ex(`DATETIME(${A.valueOf()})`);if(A instanceof Ax)return new Ax(A.valueOf(),{...A.opts,...Ix(t,ux)});if(A instanceof tx)return new Ax(A.valueOf(),{...Ix(t,ux)});throw new TypeError("Invalid argument to DATETIME")}const Qx=new Map;class Ex{constructor(e,{functions:t,useIsolating:A=!0,transform:i=(e=>e)}={}){this._terms=new Map,this._messages=new Map,this.locales=Array.isArray(e)?e:[e],this._functions={NUMBER:Cx,DATETIME:Bx,...t},this._useIsolating=A,this._transform=i,this._intls=function(e){const t=Array.isArray(e)?e.join(" "):e;let A=Qx.get(t);return void 0===A&&(A=new Map,Qx.set(t,A)),A}(e)}hasMessage(e){return this._messages.has(e)}getMessage(e){return this._messages.get(e)}addResource(e,{allowOverrides:t=!1}={}){const A=[];for(let i=0;i<e.body.length;i++){let s=e.body[i];if(s.id.startsWith("-")){if(!1===t&&this._terms.has(s.id)){A.push(new Error(`Attempt to override an existing term: "${s.id}"`));continue}this._terms.set(s.id,s)}else{if(!1===t&&this._messages.has(s.id)){A.push(new Error(`Attempt to override an existing message: "${s.id}"`));continue}this._messages.set(s.id,s)}}return A}formatPattern(e,t=null,A=null){if("string"==typeof e)return this._transform(e);let i=new lx(this,A,t);try{return hx(i,e).toString(i)}catch(e){if(i.errors&&e instanceof Error)return i.errors.push(e),(new ex).toString(i);throw e}}}const fx=/^(-?[a-zA-Z][\w-]*) *= */gm,px=/\.([a-zA-Z][\w-]*) *= */y,mx=/\*?\[/y,yx=/(-?[0-9]+(?:\.([0-9]+))?)/y,wx=/([a-zA-Z][\w-]*)/y,bx=/([$-])?([a-zA-Z][\w-]*)(?:\.([a-zA-Z][\w-]*))?/y,Dx=/^[A-Z][A-Z0-9_-]*$/,kx=/([^{}\n\r]+)/y,Sx=/([^\\"\n\r]*)/y,Fx=/\\([\\"])/y,Rx=/\\u([a-fA-F0-9]{4})|\\U([a-fA-F0-9]{6})/y,xx=/^\n+/,vx=/ +$/,Nx=/ *\r?\n/g,Mx=/( *)$/,Gx=/{\s*/y,Lx=/\s*}/y,Ux=/\[\s*/y,Hx=/\s*] */y,Jx=/\s*\(\s*/y,Tx=/\s*->\s*/y,Px=/\s*:\s*/y,Yx=/\s*,?\s*/y,Kx=/\s+/y;class _x{constructor(e){this.body=[],fx.lastIndex=0;let t=0;for(;;){let A=fx.exec(e);if(null===A)break;t=fx.lastIndex;try{this.body.push(r(A[1]))}catch(e){if(e instanceof SyntaxError)continue;throw e}}function A(A){return A.lastIndex=t,A.test(e)}function i(A,i){if(e[t]===A)return t++,!0;if(i)throw new i(`Expected ${A}`);return!1}function s(e,i){if(A(e))return t=e.lastIndex,!0;if(i)throw new i(`Expected ${e.toString()}`);return!1}function a(A){A.lastIndex=t;let i=A.exec(e);if(null===i)throw new SyntaxError(`Expected ${A.toString()}`);return t=A.lastIndex,i}function n(e){return a(e)[1]}function r(e){let t=o(),i=function(){let e=Object.create(null);for(;A(px);){let t=n(px),A=o();if(null===A)throw new SyntaxError("Expected attribute value");e[t]=A}return e}();if(null===t&&0===Object.keys(i).length)throw new SyntaxError("Expected message value or attributes");return{id:e,value:t,attributes:i}}function o(){let i;if(A(kx)&&(i=n(kx)),"{"===e[t]||"}"===e[t])return g(i?[i]:[],1/0);let s=B();return s?i?g([i,s],s.length):(s.value=Q(s.value,xx),g([s],s.length)):i?Q(i,vx):null}function g(i=[],s){for(;;){if(A(kx)){i.push(n(kx));continue}if("{"===e[t]){i.push(h());continue}if("}"===e[t])throw new SyntaxError("Unbalanced closing brace");let a=B();if(!a)break;i.push(a),s=Math.min(s,a.length)}let a=i.length-1,r=i[a];"string"==typeof r&&(i[a]=Q(r,vx));let o=[];for(let e of i)e instanceof qx&&(e=e.value.slice(0,e.value.length-s)),e&&o.push(e);return o}function h(){s(Gx,SyntaxError);let e=c();if(s(Lx))return e;if(s(Tx)){let t=function(){let e,t=[],s=0;for(;A(mx);){i("*")&&(e=s);let A=I(),a=o();if(null===a)throw new SyntaxError("Expected variant value");t[s++]={key:A,value:a}}if(0===s)return null;if(void 0===e)throw new SyntaxError("Expected default variant");return{variants:t,star:e}}();return s(Lx,SyntaxError),{type:"select",selector:e,...t}}throw new SyntaxError("Unclosed placeable")}function c(){if("{"===e[t])return h();if(A(bx)){let[,A,i,n=null]=a(bx);if("$"===A)return{type:"var",name:i};if(s(Jx)){let a=function(){let A=[];for(;;){switch(e[t]){case")":return t++,A;case void 0:throw new SyntaxError("Unclosed argument list")}A.push(l()),s(Yx)}}();if("-"===A)return{type:"term",name:i,attr:n,args:a};if(Dx.test(i))return{type:"func",name:i,args:a};throw new SyntaxError("Function names must be all upper-case")}return"-"===A?{type:"term",name:i,attr:n,args:[]}:{type:"mesg",name:i,attr:n}}return d()}function l(){let e=c();return"mesg"!==e.type?e:s(Px)?{type:"narg",name:e.name,value:d()}:e}function I(){let e;return s(Ux,SyntaxError),e=A(yx)?C():{type:"str",value:n(wx)},s(Hx,SyntaxError),e}function d(){if(A(yx))return C();if('"'===e[t])return function(){i('"',SyntaxError);let A="";for(;;){if(A+=n(Sx),"\\"!==e[t]){if(i('"'))return{type:"str",value:A};throw new SyntaxError("Unclosed string literal")}A+=u()}}();throw new SyntaxError("Invalid expression")}function C(){let[,e,t=""]=a(yx),A=t.length;return{type:"num",value:parseFloat(e),precision:A}}function u(){if(A(Fx))return n(Fx);if(A(Rx)){let[,e,t]=a(Rx),A=parseInt(e||t,16);return A<=55295||57344<=A?String.fromCodePoint(A):"�"}throw new SyntaxError("Unknown escape sequence")}function B(){let A=t;switch(s(Kx),e[t]){case".":case"[":case"*":case"}":case void 0:return!1;case"{":return E(e.slice(A,t))}return" "===e[t-1]&&E(e.slice(A,t))}function Q(e,t){return e.replace(t,"")}function E(e){let t=e.replace(Nx,"\n"),A=Mx.exec(e)[1].length;return new qx(t,A)}}}class qx{constructor(e,t){this.value=e,this.length=t}}const Ox=/<|&#?\w+;/,Wx={"http://www.w3.org/1999/xhtml":["em","strong","small","s","cite","q","dfn","abbr","data","time","code","var","samp","kbd","sub","sup","i","b","u","mark","bdi","bdo","span","br","wbr"]},jx={"http://www.w3.org/1999/xhtml":{global:["title","aria-label","aria-valuetext"],a:["download"],area:["download","alt"],input:["alt","placeholder"],menuitem:["label"],menu:["label"],optgroup:["label"],option:["label"],track:["label"],img:["alt"],textarea:["placeholder"],th:["abbr"]},"http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul":{global:["accesskey","aria-label","aria-valuetext","label","title","tooltiptext"],description:["value"],key:["key","keycode"],label:["value"],textbox:["placeholder","value"]}};function Vx(e,t){const{value:A}=t;if("string"==typeof A)if("title"===e.localName&&"http://www.w3.org/1999/xhtml"===e.namespaceURI)e.textContent=A;else if(Ox.test(A)){const t=e.ownerDocument.createElementNS("http://www.w3.org/1999/xhtml","template");t.innerHTML=A,function(e,t){for(const A of e.childNodes)if(A.nodeType!==A.TEXT_NODE)if(A.hasAttribute("data-l10n-name")){const i=zx(t,A);e.replaceChild(i,A)}else if(tv(A)){const t=$x(A);e.replaceChild(t,A)}else console.warn(`An element of forbidden type "${A.localName}" was found in the translation. Only safe text-level elements and elements with data-l10n-name are allowed.`),e.replaceChild(ev(A),A);t.textContent="",t.appendChild(e)}(t.content,e)}else e.textContent=A;Xx(t,e)}function Zx(e,t){if(!e)return!1;for(let A of e)if(A.name===t)return!0;return!1}function Xx(e,t){const A=t.hasAttribute("data-l10n-attrs")?t.getAttribute("data-l10n-attrs").split(",").map((e=>e.trim())):null;for(const i of Array.from(t.attributes))Av(i.name,t,A)&&!Zx(e.attributes,i.name)&&t.removeAttribute(i.name);if(e.attributes)for(const i of Array.from(e.attributes))Av(i.name,t,A)&&t.getAttribute(i.name)!==i.value&&t.setAttribute(i.name,i.value)}function zx(e,t){const A=t.getAttribute("data-l10n-name"),i=e.querySelector(`[data-l10n-name="${A}"]`);if(!i)return console.warn(`An element named "${A}" wasn't found in the source.`),ev(t);if(i.localName!==t.localName)return console.warn(`An element named "${A}" was found in the translation but its type ${t.localName} didn't match the element found in the source (${i.localName}).`),ev(t);e.removeChild(i);return iv(t,i.cloneNode(!1))}function $x(e){const t=e.ownerDocument.createElement(e.localName);return iv(e,t)}function ev(e){return e.ownerDocument.createTextNode(e.textContent)}function tv(e){const t=Wx[e.namespaceURI];return t&&t.includes(e.localName)}function Av(e,t,A=null){if(A&&A.includes(e))return!0;const i=jx[t.namespaceURI];if(!i)return!1;const s=e.toLowerCase(),a=t.localName;if(i.global.includes(s))return!0;if(!i[a])return!1;if(i[a].includes(s))return!0;if("http://www.w3.org/1999/xhtml"===t.namespaceURI&&"input"===a&&"value"===s){const e=t.type.toLowerCase();if("submit"===e||"button"===e||"reset"===e)return!0}return!1}function iv(e,t){return t.textContent=e.textContent,Xx(e,t),t}class sv extends Array{static from(e){return e instanceof this?e:new this(e)}}class av extends sv{constructor(e){if(super(),Symbol.asyncIterator in Object(e))this.iterator=e[Symbol.asyncIterator]();else{if(!(Symbol.iterator in Object(e)))throw new TypeError("Argument must implement the iteration protocol.");this.iterator=e[Symbol.iterator]()}}[Symbol.asyncIterator](){const e=this;let t=0;return{next:async()=>(e.length<=t&&e.push(e.iterator.next()),e[t++])}}async touchNext(e=1){let t=0;for(;t++<e;){const e=this[this.length-1];if(e&&(await e).done)break;this.push(this.iterator.next())}return this[this.length-1]}}class nv{constructor(e=[],t){this.resourceIds=e,this.generateBundles=t,this.onChange(!0)}addResourceIds(e,t=!1){return this.resourceIds.push(...e),this.onChange(t),this.resourceIds.length}removeResourceIds(e){return this.resourceIds=this.resourceIds.filter((t=>!e.includes(t))),this.onChange(),this.resourceIds.length}async formatWithFallback(e,t){const A=[];let i=!1;for await(const s of this.bundles){i=!0;const a=gv(t,s,e,A);if(0===a.size)break;if("undefined"!=typeof console){const e=s.locales[0],t=Array.from(a).join(", ");console.warn(`[fluent] Missing translations in ${e}: ${t}`)}}return i||"undefined"==typeof console||console.warn(`[fluent] Request for keys failed because no resource bundles got generated.\n keys: ${JSON.stringify(e)}.\n resourceIds: ${JSON.stringify(this.resourceIds)}.`),A}formatMessages(e){return this.formatWithFallback(e,ov)}formatValues(e){return this.formatWithFallback(e,rv)}async formatValue(e,t){const[A]=await this.formatValues([{id:e,args:t}]);return A}handleEvent(){this.onChange()}onChange(e=!1){this.bundles=av.from(this.generateBundles(this.resourceIds)),e&&this.bundles.touchNext(2)}}function rv(e,t,A,i){return A.value?e.formatPattern(A.value,i,t):null}function ov(e,t,A,i){const s={value:null,attributes:null};A.value&&(s.value=e.formatPattern(A.value,i,t));let a=Object.keys(A.attributes);if(a.length>0){s.attributes=new Array(a.length);for(let[n,r]of a.entries()){let a=e.formatPattern(A.attributes[r],i,t);s.attributes[n]={name:r,value:a}}}return s}function gv(e,t,A,i){const s=[],a=new Set;return A.forEach((({id:A,args:n},r)=>{if(void 0!==i[r])return;let o=t.getMessage(A);if(o){if(s.length=0,i[r]=e(t,s,o,n),s.length>0&&"undefined"!=typeof console){const e=t.locales[0],i=s.join(", ");console.warn(`[fluent][resolver] errors in ${e}/${A}: ${i}.`)}}else a.add(A)})),a}const hv="data-l10n-id",cv="data-l10n-args",lv=`[${hv}]`;class Iv extends nv{constructor(e,t){super(e,t),this.roots=new Set,this.pendingrAF=null,this.pendingElements=new Set,this.windowElement=null,this.mutationObserver=null,this.observerConfig={attributes:!0,characterData:!1,childList:!0,subtree:!0,attributeFilter:[hv,cv]}}onChange(e=!1){super.onChange(e),this.roots&&this.translateRoots()}setAttributes(e,t,A){return e.setAttribute(hv,t),A?e.setAttribute(cv,JSON.stringify(A)):e.removeAttribute(cv),e}getAttributes(e){return{id:e.getAttribute(hv),args:JSON.parse(e.getAttribute(cv)||null)}}connectRoot(e){for(const t of this.roots)if(t===e||t.contains(e)||e.contains(t))throw new Error("Cannot add a root that overlaps with existing root.");if(this.windowElement){if(this.windowElement!==e.ownerDocument.defaultView)throw new Error("Cannot connect a root:\n DOMLocalization already has a root from a different window.")}else this.windowElement=e.ownerDocument.defaultView,this.mutationObserver=new this.windowElement.MutationObserver((e=>this.translateMutations(e)));this.roots.add(e),this.mutationObserver.observe(e,this.observerConfig)}disconnectRoot(e){return this.roots.delete(e),this.pauseObserving(),0===this.roots.size?(this.mutationObserver=null,this.windowElement=null,this.pendingrAF=null,this.pendingElements.clear(),!0):(this.resumeObserving(),!1)}translateRoots(){const e=Array.from(this.roots);return Promise.all(e.map((e=>this.translateFragment(e))))}pauseObserving(){this.mutationObserver&&(this.translateMutations(this.mutationObserver.takeRecords()),this.mutationObserver.disconnect())}resumeObserving(){if(this.mutationObserver)for(const e of this.roots)this.mutationObserver.observe(e,this.observerConfig)}translateMutations(e){for(const t of e)switch(t.type){case"attributes":t.target.hasAttribute("data-l10n-id")&&this.pendingElements.add(t.target);break;case"childList":for(const e of t.addedNodes)if(e.nodeType===e.ELEMENT_NODE)if(e.childElementCount)for(const t of this.getTranslatables(e))this.pendingElements.add(t);else e.hasAttribute(hv)&&this.pendingElements.add(e)}this.pendingElements.size>0&&null===this.pendingrAF&&(this.pendingrAF=this.windowElement.requestAnimationFrame((()=>{this.translateElements(Array.from(this.pendingElements)),this.pendingElements.clear(),this.pendingrAF=null})))}translateFragment(e){return this.translateElements(this.getTranslatables(e))}async translateElements(e){if(!e.length)return;const t=e.map(this.getKeysForElement),A=await this.formatMessages(t);return this.applyTranslations(e,A)}applyTranslations(e,t){this.pauseObserving();for(let A=0;A<e.length;A++)void 0!==t[A]&&Vx(e[A],t[A]);this.resumeObserving()}getTranslatables(e){const t=Array.from(e.querySelectorAll(lv));return"function"==typeof e.hasAttribute&&e.hasAttribute(hv)&&t.push(e),t}getKeysForElement(e){return{id:e.getAttribute(hv),args:JSON.parse(e.getAttribute(cv)||null)}}}class dv{#ho;#Zt;#co;constructor({lang:e,isRTL:t},A=null){this.#Zt=dv.#lo(e),this.#co=A,this.#ho=t??dv.#Io(this.#Zt)?"rtl":"ltr"}_setL10n(e){this.#co=e}getLanguage(){return this.#Zt}getDirection(){return this.#ho}async get(e,t=null,A){if(Array.isArray(e)){e=e.map((e=>({id:e})));return(await this.#co.formatMessages(e)).map((e=>e.value))}const i=await this.#co.formatMessages([{id:e,args:t}]);return i?.[0].value||A}async translate(e){try{this.#co.connectRoot(e),await this.#co.translateRoots()}catch{}}pause(){this.#co.pauseObserving()}resume(){this.#co.resumeObserving()}static#lo(e){return{en:"en-us",es:"es-es",fy:"fy-nl",ga:"ga-ie",gu:"gu-in",hi:"hi-in",hy:"hy-am",nb:"nb-no",ne:"ne-np",nn:"nn-no",pa:"pa-in",pt:"pt-pt",sv:"sv-se",zh:"zh-cn"}[e=e?.toLowerCase()||"en-us"]||e}static#Io(e){const t=e.split("-",1)[0];return["ar","he","fa","ps","ur"].includes(t)}}function Cv(e,t){const A=new _x(t),i=new Ex(e),s=i.addResource(A);return s.length&&console.error("L10n errors",s),i}class uv extends dv{constructor(e){super({lang:e});const t=e?uv.#do.bind(uv,"en-us",this.getLanguage()):uv.#Co.bind(uv,this.getLanguage());this._setL10n(new Iv([],t))}static async*#do(e,t){const{baseURL:A,paths:i}=await this.#uo(),s=[t];if(e!==t){const A=t.split("-",1)[0];A!==t&&s.push(A),s.push(e)}for(const e of s){const t=await this.#Bo(e,A,i);t&&(yield t),"en-us"===e&&(yield this.#Qo(e))}}static async#Bo(e,t,A){const i=A[e];if(!i)return null;const s=new URL(i,t);return Cv(e,await CR(s,"text"))}static async#uo(){try{const{href:e}=document.querySelector('link[type="application/l10n"]'),t=await CR(e,"json");return{baseURL:e.replace(/[^/]*$/,"")||"./",paths:t}}catch{}return{baseURL:"./",paths:Object.create(null)}}static async*#Co(e){yield this.#Qo(e)}static async#Qo(e){return Cv(e,"pdfjs-previous-button =\n .title = Previous Page\npdfjs-previous-button-label = Previous\npdfjs-next-button =\n .title = Next Page\npdfjs-next-button-label = Next\npdfjs-page-input =\n .title = Page\npdfjs-of-pages = of { $pagesCount }\npdfjs-page-of-pages = ({ $pageNumber } of { $pagesCount })\npdfjs-zoom-out-button =\n .title = Zoom Out\npdfjs-zoom-out-button-label = Zoom Out\npdfjs-zoom-in-button =\n .title = Zoom In\npdfjs-zoom-in-button-label = Zoom In\npdfjs-zoom-select =\n .title = Zoom\npdfjs-presentation-mode-button =\n .title = Switch to Presentation Mode\npdfjs-presentation-mode-button-label = Presentation Mode\npdfjs-open-file-button =\n .title = Open File\npdfjs-open-file-button-label = Open\npdfjs-print-button =\n .title = Print\npdfjs-print-button-label = Print\npdfjs-save-button =\n .title = Save\npdfjs-save-button-label = Save\npdfjs-download-button =\n .title = Download\npdfjs-download-button-label = Download\npdfjs-bookmark-button =\n .title = Current Page (View URL from Current Page)\npdfjs-bookmark-button-label = Current Page\npdfjs-tools-button =\n .title = Tools\npdfjs-tools-button-label = Tools\npdfjs-first-page-button =\n .title = Go to First Page\npdfjs-first-page-button-label = Go to First Page\npdfjs-last-page-button =\n .title = Go to Last Page\npdfjs-last-page-button-label = Go to Last Page\npdfjs-page-rotate-cw-button =\n .title = Rotate Clockwise\npdfjs-page-rotate-cw-button-label = Rotate Clockwise\npdfjs-page-rotate-ccw-button =\n .title = Rotate Counterclockwise\npdfjs-page-rotate-ccw-button-label = Rotate Counterclockwise\npdfjs-cursor-text-select-tool-button =\n .title = Enable Text Selection Tool\npdfjs-cursor-text-select-tool-button-label = Text Selection Tool\npdfjs-cursor-hand-tool-button =\n .title = Enable Hand Tool\npdfjs-cursor-hand-tool-button-label = Hand Tool\npdfjs-scroll-page-button =\n .title = Use Page Scrolling\npdfjs-scroll-page-button-label = Page Scrolling\npdfjs-scroll-vertical-button =\n .title = Use Vertical Scrolling\npdfjs-scroll-vertical-button-label = Vertical Scrolling\npdfjs-scroll-horizontal-button =\n .title = Use Horizontal Scrolling\npdfjs-scroll-horizontal-button-label = Horizontal Scrolling\npdfjs-scroll-wrapped-button =\n .title = Use Wrapped Scrolling\npdfjs-scroll-wrapped-button-label = Wrapped Scrolling\npdfjs-spread-none-button =\n .title = Do not join page spreads\npdfjs-spread-none-button-label = No Spreads\npdfjs-spread-odd-button =\n .title = Join page spreads starting with odd-numbered pages\npdfjs-spread-odd-button-label = Odd Spreads\npdfjs-spread-even-button =\n .title = Join page spreads starting with even-numbered pages\npdfjs-spread-even-button-label = Even Spreads\npdfjs-document-properties-button =\n .title = Document Properties…\npdfjs-document-properties-button-label = Document Properties…\npdfjs-document-properties-file-name = File name:\npdfjs-document-properties-file-size = File size:\npdfjs-document-properties-kb = { $size_kb } KB ({ $size_b } bytes)\npdfjs-document-properties-mb = { $size_mb } MB ({ $size_b } bytes)\npdfjs-document-properties-title = Title:\npdfjs-document-properties-author = Author:\npdfjs-document-properties-subject = Subject:\npdfjs-document-properties-keywords = Keywords:\npdfjs-document-properties-creation-date = Creation Date:\npdfjs-document-properties-modification-date = Modification Date:\npdfjs-document-properties-date-string = { $date }, { $time }\npdfjs-document-properties-creator = Creator:\npdfjs-document-properties-producer = PDF Producer:\npdfjs-document-properties-version = PDF Version:\npdfjs-document-properties-page-count = Page Count:\npdfjs-document-properties-page-size = Page Size:\npdfjs-document-properties-page-size-unit-inches = in\npdfjs-document-properties-page-size-unit-millimeters = mm\npdfjs-document-properties-page-size-orientation-portrait = portrait\npdfjs-document-properties-page-size-orientation-landscape = landscape\npdfjs-document-properties-page-size-name-a-three = A3\npdfjs-document-properties-page-size-name-a-four = A4\npdfjs-document-properties-page-size-name-letter = Letter\npdfjs-document-properties-page-size-name-legal = Legal\npdfjs-document-properties-page-size-dimension-string = { $width } × { $height } { $unit } ({ $orientation })\npdfjs-document-properties-page-size-dimension-name-string = { $width } × { $height } { $unit } ({ $name }, { $orientation })\npdfjs-document-properties-linearized = Fast Web View:\npdfjs-document-properties-linearized-yes = Yes\npdfjs-document-properties-linearized-no = No\npdfjs-document-properties-close-button = Close\npdfjs-print-progress-message = Preparing document for printing…\npdfjs-print-progress-percent = { $progress }%\npdfjs-print-progress-close-button = Cancel\npdfjs-printing-not-supported = Warning: Printing is not fully supported by this browser.\npdfjs-printing-not-ready = Warning: The PDF is not fully loaded for printing.\npdfjs-toggle-sidebar-button =\n .title = Toggle Sidebar\npdfjs-toggle-sidebar-notification-button =\n .title = Toggle Sidebar (document contains outline/attachments/layers)\npdfjs-toggle-sidebar-button-label = Toggle Sidebar\npdfjs-document-outline-button =\n .title = Show Document Outline (double-click to expand/collapse all items)\npdfjs-document-outline-button-label = Document Outline\npdfjs-attachments-button =\n .title = Show Attachments\npdfjs-attachments-button-label = Attachments\npdfjs-layers-button =\n .title = Show Layers (double-click to reset all layers to the default state)\npdfjs-layers-button-label = Layers\npdfjs-thumbs-button =\n .title = Show Thumbnails\npdfjs-thumbs-button-label = Thumbnails\npdfjs-current-outline-item-button =\n .title = Find Current Outline Item\npdfjs-current-outline-item-button-label = Current Outline Item\npdfjs-findbar-button =\n .title = Find in Document\npdfjs-findbar-button-label = Find\npdfjs-additional-layers = Additional Layers\npdfjs-thumb-page-title =\n .title = Page { $page }\npdfjs-thumb-page-canvas =\n .aria-label = Thumbnail of Page { $page }\npdfjs-find-input =\n .title = Find\n .placeholder = Find in document…\npdfjs-find-previous-button =\n .title = Find the previous occurrence of the phrase\npdfjs-find-previous-button-label = Previous\npdfjs-find-next-button =\n .title = Find the next occurrence of the phrase\npdfjs-find-next-button-label = Next\npdfjs-find-highlight-checkbox = Highlight All\npdfjs-find-match-case-checkbox-label = Match Case\npdfjs-find-match-diacritics-checkbox-label = Match Diacritics\npdfjs-find-entire-word-checkbox-label = Whole Words\npdfjs-find-reached-top = Reached top of document, continued from bottom\npdfjs-find-reached-bottom = Reached end of document, continued from top\npdfjs-find-match-count =\n { $total ->\n [one] { $current } of { $total } match\n *[other] { $current } of { $total } matches\n }\npdfjs-find-match-count-limit =\n { $limit ->\n [one] More than { $limit } match\n *[other] More than { $limit } matches\n }\npdfjs-find-not-found = Phrase not found\npdfjs-page-scale-width = Page Width\npdfjs-page-scale-fit = Page Fit\npdfjs-page-scale-auto = Automatic Zoom\npdfjs-page-scale-actual = Actual Size\npdfjs-page-scale-percent = { $scale }%\npdfjs-page-landmark =\n .aria-label = Page { $page }\npdfjs-loading-error = An error occurred while loading the PDF.\npdfjs-invalid-file-error = Invalid or corrupted PDF file.\npdfjs-missing-file-error = Missing PDF file.\npdfjs-unexpected-response-error = Unexpected server response.\npdfjs-rendering-error = An error occurred while rendering the page.\npdfjs-annotation-date-string = { $date }, { $time }\npdfjs-text-annotation-type =\n .alt = [{ $type } Annotation]\npdfjs-password-label = Enter the password to open this PDF file.\npdfjs-password-invalid = Invalid password. Please try again.\npdfjs-password-ok-button = OK\npdfjs-password-cancel-button = Cancel\npdfjs-web-fonts-disabled = Web fonts are disabled: unable to use embedded PDF fonts.\npdfjs-editor-free-text-button =\n .title = Text\npdfjs-editor-free-text-button-label = Text\npdfjs-editor-ink-button =\n .title = Draw\npdfjs-editor-ink-button-label = Draw\npdfjs-editor-stamp-button =\n .title = Add or edit images\npdfjs-editor-stamp-button-label = Add or edit images\npdfjs-editor-highlight-button =\n .title = Highlight\npdfjs-editor-highlight-button-label = Highlight\npdfjs-highlight-floating-button1 =\n .title = Highlight\n .aria-label = Highlight\npdfjs-highlight-floating-button-label = Highlight\npdfjs-editor-remove-ink-button =\n .title = Remove drawing\npdfjs-editor-remove-freetext-button =\n .title = Remove text\npdfjs-editor-remove-stamp-button =\n .title = Remove image\npdfjs-editor-remove-highlight-button =\n .title = Remove highlight\npdfjs-editor-free-text-color-input = Color\npdfjs-editor-free-text-size-input = Size\npdfjs-editor-ink-color-input = Color\npdfjs-editor-ink-thickness-input = Thickness\npdfjs-editor-ink-opacity-input = Opacity\npdfjs-editor-stamp-add-image-button =\n .title = Add image\npdfjs-editor-stamp-add-image-button-label = Add image\npdfjs-editor-free-highlight-thickness-input = Thickness\npdfjs-editor-free-highlight-thickness-title =\n .title = Change thickness when highlighting items other than text\npdfjs-free-text =\n .aria-label = Text Editor\npdfjs-free-text-default-content = Start typing…\npdfjs-ink =\n .aria-label = Draw Editor\npdfjs-ink-canvas =\n .aria-label = User-created image\npdfjs-editor-alt-text-button-label = Alt text\npdfjs-editor-alt-text-edit-button-label = Edit alt text\npdfjs-editor-alt-text-dialog-label = Choose an option\npdfjs-editor-alt-text-dialog-description = Alt text (alternative text) helps when people can’t see the image or when it doesn’t load.\npdfjs-editor-alt-text-add-description-label = Add a description\npdfjs-editor-alt-text-add-description-description = Aim for 1-2 sentences that describe the subject, setting, or actions.\npdfjs-editor-alt-text-mark-decorative-label = Mark as decorative\npdfjs-editor-alt-text-mark-decorative-description = This is used for ornamental images, like borders or watermarks.\npdfjs-editor-alt-text-cancel-button = Cancel\npdfjs-editor-alt-text-save-button = Save\npdfjs-editor-alt-text-decorative-tooltip = Marked as decorative\npdfjs-editor-alt-text-textarea =\n .placeholder = For example, “A young man sits down at a table to eat a meal”\npdfjs-editor-resizer-label-top-left = Top left corner — resize\npdfjs-editor-resizer-label-top-middle = Top middle — resize\npdfjs-editor-resizer-label-top-right = Top right corner — resize\npdfjs-editor-resizer-label-middle-right = Middle right — resize\npdfjs-editor-resizer-label-bottom-right = Bottom right corner — resize\npdfjs-editor-resizer-label-bottom-middle = Bottom middle — resize\npdfjs-editor-resizer-label-bottom-left = Bottom left corner — resize\npdfjs-editor-resizer-label-middle-left = Middle left — resize\npdfjs-editor-highlight-colorpicker-label = Highlight color\npdfjs-editor-colorpicker-button =\n .title = Change color\npdfjs-editor-colorpicker-dropdown =\n .aria-label = Color choices\npdfjs-editor-colorpicker-yellow =\n .title = Yellow\npdfjs-editor-colorpicker-green =\n .title = Green\npdfjs-editor-colorpicker-blue =\n .title = Blue\npdfjs-editor-colorpicker-pink =\n .title = Pink\npdfjs-editor-colorpicker-red =\n .title = Red\npdfjs-editor-highlight-show-all-button-label = Show all\npdfjs-editor-highlight-show-all-button =\n .title = Show all")}}function Bv(){return document.location.hash}class Qv{#ro=null;constructor({linkService:e,eventBus:t}){this.linkService=e,this.eventBus=t,this._initialized=!1,this._fingerprint="",this.reset(),this.eventBus._on("pagesinit",(()=>{this._isPagesLoaded=!1,this.eventBus._on("pagesloaded",(e=>{this._isPagesLoaded=!!e.pagesCount}),{once:!0})}))}initialize({fingerprint:e,resetHistory:t=!1,updateUrl:A=!1}){if(!e||"string"!=typeof e)return void console.error('PDFHistory.initialize: The "fingerprint" must be a non-empty string.');this._initialized&&this.reset();const i=""!==this._fingerprint&&this._fingerprint!==e;this._fingerprint=e,this._updateUrl=!0===A,this._initialized=!0,this.#Eo();const s=window.history.state;if(this._popStateInProgress=!1,this._blockHashChange=0,this._currentHash=Bv(),this._numPositionUpdates=0,this._uid=this._maxUid=0,this._destination=null,this._position=null,!this.#fo(s,!0)||t){const{hash:e,page:A,rotation:s}=this.#po(!0);return!e||i||t?void this.#mo(null,!0):void this.#mo({hash:e,page:A,rotation:s},!0)}const a=s.destination;this.#yo(a,s.uid,!0),void 0!==a.rotation&&(this._initialRotation=a.rotation),a.dest?(this._initialBookmark=JSON.stringify(a.dest),this._destination.page=null):a.hash?this._initialBookmark=a.hash:a.page&&(this._initialBookmark=`page=${a.page}`)}reset(){this._initialized&&(this.#wo(),this._initialized=!1,this.#bo()),this._updateViewareaTimeout&&(clearTimeout(this._updateViewareaTimeout),this._updateViewareaTimeout=null),this._initialBookmark=null,this._initialRotation=null}push({namedDest:e=null,explicitDest:t,pageNumber:A}){if(!this._initialized)return;if(e&&"string"!=typeof e)return void console.error(`PDFHistory.push: "${e}" is not a valid namedDest parameter.`);if(!Array.isArray(t))return void console.error(`PDFHistory.push: "${t}" is not a valid explicitDest parameter.`);if(!this.#Do(A)&&(null!==A||this._destination))return void console.error(`PDFHistory.push: "${A}" is not a valid pageNumber parameter.`);const i=e||JSON.stringify(t);if(!i)return;let s=!1;if(this._destination&&(function(e,t){if("string"!=typeof e||"string"!=typeof t)return!1;if(e===t)return!0;if(uF(e).get("nameddest")===t)return!0;return!1}(this._destination.hash,i)||function(e,t){function A(e,t){if(typeof e!=typeof t)return!1;if(Array.isArray(e)||Array.isArray(t))return!1;if(null!==e&&"object"==typeof e&&null!==t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const i in e)if(!A(e[i],t[i]))return!1;return!0}return e===t||Number.isNaN(e)&&Number.isNaN(t)}if(!Array.isArray(e)||!Array.isArray(t))return!1;if(e.length!==t.length)return!1;for(let i=0,s=e.length;i<s;i++)if(!A(e[i],t[i]))return!1;return!0}(this._destination.dest,t))){if(this._destination.page)return;s=!0}this._popStateInProgress&&!s||(this.#mo({dest:t,hash:i,page:A,rotation:this.linkService.rotation},s),this._popStateInProgress||(this._popStateInProgress=!0,Promise.resolve().then((()=>{this._popStateInProgress=!1}))))}pushPage(e){this._initialized&&(this.#Do(e)?this._destination?.page!==e&&(this._popStateInProgress||(this.#mo({dest:null,hash:`page=${e}`,page:e,rotation:this.linkService.rotation}),this._popStateInProgress||(this._popStateInProgress=!0,Promise.resolve().then((()=>{this._popStateInProgress=!1}))))):console.error(`PDFHistory.pushPage: "${e}" is not a valid page number.`))}pushCurrentPosition(){this._initialized&&!this._popStateInProgress&&this.#ko()}back(){if(!this._initialized||this._popStateInProgress)return;const e=window.history.state;this.#fo(e)&&e.uid>0&&window.history.back()}forward(){if(!this._initialized||this._popStateInProgress)return;const e=window.history.state;this.#fo(e)&&e.uid<this._maxUid&&window.history.forward()}get popStateInProgress(){return this._initialized&&(this._popStateInProgress||this._blockHashChange>0)}get initialBookmark(){return this._initialized?this._initialBookmark:null}get initialRotation(){return this._initialized?this._initialRotation:null}#mo(e,t=!1){const A=t||!this._destination,i={fingerprint:this._fingerprint,uid:A?this._uid:this._uid+1,destination:e};let s;if(this.#yo(e,i.uid),this._updateUrl&&e?.hash){const t=document.location.href.split("#",1)[0];t.startsWith("file://")||(s=`${t}#${e.hash}`)}A?window.history.replaceState(i,"",s):window.history.pushState(i,"",s)}#ko(e=!1){if(!this._position)return;let t=this._position;if(e&&(t=Object.assign(Object.create(null),this._position),t.temporary=!0),!this._destination)return void this.#mo(t);if(this._destination.temporary)return void this.#mo(t,!0);if(this._destination.hash===t.hash)return;if(!this._destination.page&&this._numPositionUpdates<=50)return;let A=!1;if(this._destination.page>=t.first&&this._destination.page<=t.page){if(void 0!==this._destination.dest||!this._destination.first)return;A=!0}this.#mo(t,A)}#Do(e){return Number.isInteger(e)&&e>0&&e<=this.linkService.pagesCount}#fo(e,t=!1){if(!e)return!1;if(e.fingerprint!==this._fingerprint){if(!t)return!1;{if("string"!=typeof e.fingerprint||e.fingerprint.length!==this._fingerprint.length)return!1;const[t]=performance.getEntriesByType("navigation");if("reload"!==t?.type)return!1}}return!(!Number.isInteger(e.uid)||e.uid<0)&&(null!==e.destination&&"object"==typeof e.destination)}#yo(e,t,A=!1){this._updateViewareaTimeout&&(clearTimeout(this._updateViewareaTimeout),this._updateViewareaTimeout=null),A&&e?.temporary&&delete e.temporary,this._destination=e,this._uid=t,this._maxUid=Math.max(this._maxUid,t),this._numPositionUpdates=0}#po(e=!1){const t=unescape(Bv()).substring(1),A=uF(t),i=A.get("nameddest")||"";let s=0|A.get("page");return(!this.#Do(s)||e&&i.length>0)&&(s=null),{hash:t,page:s,rotation:this.linkService.rotation}}#So({location:e}){this._updateViewareaTimeout&&(clearTimeout(this._updateViewareaTimeout),this._updateViewareaTimeout=null),this._position={hash:e.pdfOpenParams.substring(1),page:this.linkService.page,first:e.pageNumber,rotation:e.rotation},this._popStateInProgress||(this._isPagesLoaded&&this._destination&&!this._destination.page&&this._numPositionUpdates++,this._updateViewareaTimeout=setTimeout((()=>{this._popStateInProgress||this.#ko(!0),this._updateViewareaTimeout=null}),1e3))}#Fo({state:e}){const t=Bv(),A=this._currentHash!==t;if(this._currentHash=t,!e){this._uid++;const{hash:e,page:t,rotation:A}=this.#po();return void this.#mo({hash:e,page:t,rotation:A},!0)}if(!this.#fo(e))return;this._popStateInProgress=!0,A&&(this._blockHashChange++,async function({target:e,name:t,delay:A=0}){if("object"!=typeof e||!t||"string"!=typeof t||!(Number.isInteger(A)&&A>=0))throw new Error("waitOnEventOrTimeout - invalid parameters.");const{promise:i,resolve:s}=Promise.withResolvers(),a=new AbortController;function n(e){a.abort(),clearTimeout(r),s(e)}e[e instanceof zR?"_on":"addEventListener"](t,n.bind(null,ZR),{signal:a.signal});const r=setTimeout(n.bind(null,XR),A);return i}({target:window,name:"hashchange",delay:1e3}).then((()=>{this._blockHashChange--})));const i=e.destination;this.#yo(i,e.uid,!0),mF(i.rotation)&&(this.linkService.rotation=i.rotation),i.dest?this.linkService.goToDestination(i.dest):i.hash?this.linkService.setHash(i.hash):i.page&&(this.linkService.page=i.page),Promise.resolve().then((()=>{this._popStateInProgress=!1}))}#wo(){this._destination&&!this._destination.temporary||this.#ko()}#Eo(){if(this.#ro)return;this.#ro=new AbortController;const{signal:e}=this.#ro;this.eventBus._on("updateviewarea",this.#So.bind(this),{signal:e}),window.addEventListener("popstate",this.#Fo.bind(this),{signal:e}),window.addEventListener("pagehide",this.#wo.bind(this),{signal:e})}#bo(){this.#ro?.abort(),this.#ro=null}}class Ev{#bn=null;#Ro=null;#no=null;#Mn=null;#l;constructor(e){this.pdfPage=e.pdfPage,this.accessibilityManager=e.accessibilityManager,this.l10n=e.l10n,this.l10n||=new uv,this.annotationEditorLayer=null,this.div=null,this._cancelled=!1,this.#l=e.uiManager,this.#bn=e.annotationLayer||null,this.#Mn=e.textLayer||null,this.#Ro=e.drawLayer||null,this.#no=e.onAppend||null}async render(e,t="display"){if("display"!==t)return;if(this._cancelled)return;const A=e.clone({dontFlip:!0});if(this.div)return this.annotationEditorLayer.update({viewport:A}),void this.show();const i=this.div=document.createElement("div");i.className="annotationEditorLayer",i.hidden=!0,i.dir=this.#l.direction,this.#no?.(i),this.annotationEditorLayer=new AR({uiManager:this.#l,div:i,accessibilityManager:this.accessibilityManager,pageIndex:this.pdfPage.pageNumber-1,l10n:this.l10n,viewport:A,annotationLayer:this.#bn,textLayer:this.#Mn,drawLayer:this.#Ro});const s={viewport:A,div:i,annotations:null,intent:t};this.annotationEditorLayer.render(s),this.show()}cancel(){this._cancelled=!0,this.div&&this.annotationEditorLayer.destroy()}hide(){this.div&&(this.div.hidden=!0)}show(){this.div&&!this.annotationEditorLayer.isInvisible&&(this.div.hidden=!1)}}{var fv=Object.create(null);const e=navigator.userAgent||"",t=navigator.platform||"",A=navigator.maxTouchPoints||1,i=/Android/.test(e);(/\b(iPad|iPhone|iPod)(?=;)/.test(e)||"MacIntel"===t&&A>1||i)&&(fv.maxCanvasPixels=5242880)}const pv=1,mv=2,yv=4,wv=8,bv=128,Dv={canvasMaxAreaInBytes:{value:-1,kind:pv+yv},isInAutomation:{value:!1,kind:pv},supportsCaretBrowsingMode:{value:!1,kind:pv},supportsDocumentFonts:{value:!0,kind:pv},supportsIntegratedFind:{value:!1,kind:pv},supportsMouseWheelZoomCtrlKey:{value:!0,kind:pv},supportsMouseWheelZoomMetaKey:{value:!0,kind:pv},supportsPinchToZoom:{value:!0,kind:pv},annotationEditorMode:{value:0,kind:mv+bv},annotationMode:{value:2,kind:mv+bv},cursorToolOnLoad:{value:0,kind:mv+bv},debuggerSrc:{value:"./debugger.mjs",kind:mv},defaultZoomDelay:{value:400,kind:mv+bv},defaultZoomValue:{value:"",kind:mv+bv},disableHistory:{value:!1,kind:mv},disablePageLabels:{value:!1,kind:mv+bv},enableHighlightEditor:{value:!1,kind:mv+bv},enableHighlightFloatingButton:{value:!1,kind:mv+bv},enableML:{value:!1,kind:mv+bv},enablePermissions:{value:!1,kind:mv+bv},enablePrintAutoRotate:{value:!0,kind:mv+bv},enableScripting:{value:!0,kind:mv+bv},enableStampEditor:{value:!0,kind:mv+bv},externalLinkRel:{value:"noopener noreferrer nofollow",kind:mv},externalLinkTarget:{value:0,kind:mv+bv},highlightEditorColors:{value:"yellow=#FFFF98,green=#53FFBC,blue=#80EBFF,pink=#FFCBE6,red=#FF4F5F",kind:mv+bv},historyUpdateUrl:{value:!1,kind:mv+bv},ignoreDestinationZoom:{value:!1,kind:mv+bv},imageResourcesPath:{value:"./images/",kind:mv},maxCanvasPixels:{value:2**25,kind:mv},forcePageColors:{value:!1,kind:mv+bv},pageColorsBackground:{value:"Canvas",kind:mv+bv},pageColorsForeground:{value:"CanvasText",kind:mv+bv},pdfBugEnabled:{value:!1,kind:mv+bv},printResolution:{value:150,kind:mv},sidebarViewOnLoad:{value:-1,kind:mv+bv},scrollModeOnLoad:{value:-1,kind:mv+bv},spreadModeOnLoad:{value:-1,kind:mv+bv},textLayerMode:{value:1,kind:mv+bv},viewOnLoad:{value:0,kind:mv+bv},cMapPacked:{value:!0,kind:yv},cMapUrl:{value:"../web/cmaps/",kind:yv},disableAutoFetch:{value:!1,kind:yv+bv},disableFontFace:{value:!1,kind:yv+bv},disableRange:{value:!1,kind:yv+bv},disableStream:{value:!1,kind:yv+bv},docBaseUrl:{value:"",kind:yv},enableXfa:{value:!0,kind:yv+bv},fontExtraProperties:{value:!1,kind:yv},isEvalSupported:{value:!0,kind:yv},isOffscreenCanvasSupported:{value:!0,kind:yv},maxImageSize:{value:-1,kind:yv},pdfBug:{value:!1,kind:yv},standardFontDataUrl:{value:"../web/standard_fonts/",kind:yv},verbosity:{value:1,kind:yv},workerPort:{value:null,kind:wv},workerSrc:{value:"../build/pdf.worker.mjs",kind:wv}};Dv.defaultUrl={value:"compressed.tracemonkey-pldi-09.pdf",kind:mv},Dv.sandboxBundleSrc={value:"../build/pdf.sandbox.mjs",kind:mv},Dv.viewerCssTheme={value:0,kind:mv+bv},Dv.disablePreferences={value:!1,kind:mv},Dv.locale={value:navigator.language||"en-US",kind:mv};const kv=Object.create(null);for(const e in fv)kv[e]=fv[e];class Sv{constructor(){throw new Error("Cannot initialize AppOptions.")}static get(e){return kv[e]??Dv[e]?.value??void 0}static getAll(e=null,t=!1){const A=Object.create(null);for(const i in Dv){const s=Dv[i];(!e||e&s.kind)&&(A[i]=t?s.value:kv[i]??s.value)}return A}static set(e,t){kv[e]=t}static setAll(e,t=!1){if(t){if(this.get("disablePreferences"))return;for(const e in kv)if(void 0===fv[e]){console.warn('setAll: The Preferences may override manually set AppOptions; please use the "disablePreferences"-option in order to prevent that.');break}}for(const t in e)kv[t]=e[t]}static remove(e){delete kv[e];const t=fv[e];void 0!==t&&(kv[e]=t)}}class Fv{#Ro=null;constructor(e){this.pageIndex=e.pageIndex}async render(e="display"){"display"!==e||this.#Ro||this._cancelled||(this.#Ro=new IR({pageIndex:this.pageIndex}))}cancel(){this._cancelled=!0,this.#Ro&&(this.#Ro.destroy(),this.#Ro=null)}setParent(e){this.#Ro?.setParent(e)}getDrawLayer(){return this.#Ro}}const Rv={Document:null,DocumentFragment:null,Part:"group",Sect:"group",Div:"group",Aside:"note",NonStruct:"none",P:null,H:"heading",Title:null,FENote:"note",Sub:"group",Lbl:null,Span:null,Em:null,Strong:null,Link:"link",Annot:"note",Form:"form",Ruby:null,RB:null,RT:null,RP:null,Warichu:null,WT:null,WP:null,L:"list",LI:"listitem",LBody:null,Table:"table",TR:"row",TH:"columnheader",TD:"cell",THead:"columnheader",TBody:null,TFoot:null,Caption:null,Figure:"figure",Formula:null,Artifact:null},xv=/^H(\d+)$/;class vv{#xo=void 0;get renderingDone(){return void 0!==this.#xo}render(e){if(void 0!==this.#xo)return this.#xo;const t=this.#vo(e);return t?.classList.add("structTree"),this.#xo=t}hide(){this.#xo&&!this.#xo.hidden&&(this.#xo.hidden=!0)}show(){this.#xo?.hidden&&(this.#xo.hidden=!1)}#No(e,t){const{alt:A,id:i,lang:s}=e;void 0!==A&&t.setAttribute("aria-label",QF(A)),void 0!==i&&t.setAttribute("aria-owns",i),void 0!==s&&t.setAttribute("lang",QF(s,!0))}#vo(e){if(!e)return null;const t=document.createElement("span");if("role"in e){const{role:A}=e,i=A.match(xv);i?(t.setAttribute("role","heading"),t.setAttribute("aria-level",i[1])):Rv[A]&&t.setAttribute("role",Rv[A])}if(this.#No(e,t),e.children)if(1===e.children.length&&"id"in e.children[0])this.#No(e.children[0],t);else for(const A of e.children)t.append(this.#vo(A));return t}}class Nv{#Mo=!1;#Go=null;#Lo=new Map;#Uo=new Map;setTextMapping(e){this.#Go=e}static#Ho(e,t){const A=e.getBoundingClientRect(),i=t.getBoundingClientRect();if(0===A.width&&0===A.height)return 1;if(0===i.width&&0===i.height)return-1;const s=A.y,a=A.y+A.height,n=A.y+A.height/2,r=i.y,o=i.y+i.height,g=i.y+i.height/2;if(n<=r&&g>=a)return-1;if(g<=s&&n>=o)return 1;return A.x+A.width/2-(i.x+i.width/2)}enable(){if(this.#Mo)throw new Error("TextAccessibilityManager is already enabled.");if(!this.#Go)throw new Error("Text divs and strings have not been set.");if(this.#Mo=!0,this.#Go=this.#Go.slice(),this.#Go.sort(Nv.#Ho),this.#Lo.size>0){const e=this.#Go;for(const[t,A]of this.#Lo){document.getElementById(t)?this.#Jo(t,e[A]):this.#Lo.delete(t)}}for(const[e,t]of this.#Uo)this.addPointerInTextLayer(e,t);this.#Uo.clear()}disable(){this.#Mo&&(this.#Uo.clear(),this.#Go=null,this.#Mo=!1)}removePointerInTextLayer(e){if(!this.#Mo)return void this.#Uo.delete(e);const t=this.#Go;if(!t||0===t.length)return;const{id:A}=e,i=this.#Lo.get(A);if(void 0===i)return;const s=t[i];this.#Lo.delete(A);let a=s.getAttribute("aria-owns");a?.includes(A)&&(a=a.split(" ").filter((e=>e!==A)).join(" "),a?s.setAttribute("aria-owns",a):(s.removeAttribute("aria-owns"),s.setAttribute("role","presentation")))}#Jo(e,t){const A=t.getAttribute("aria-owns");A?.includes(e)||t.setAttribute("aria-owns",A?`${A} ${e}`:e),t.removeAttribute("role")}addPointerInTextLayer(e,t){const{id:A}=e;if(!A)return null;if(!this.#Mo)return this.#Uo.set(e,t),null;t&&this.removePointerInTextLayer(e);const i=this.#Go;if(!i||0===i.length)return null;const s=EF(i,(t=>Nv.#Ho(e,t)<0)),a=Math.max(0,s-1),n=i[a];this.#Jo(A,n),this.#Lo.set(A,a);const r=n.parentNode;return r?.classList.contains("markedContent")?r.id:null}moveElementInDOM(e,t,A,i){const s=this.addPointerInTextLayer(A,i);if(!e.hasChildNodes())return e.append(t),s;const a=Array.from(e.childNodes).filter((e=>e!==t));if(0===a.length)return s;const n=A||t,r=EF(a,(e=>Nv.#Ho(n,e)<0));return 0===r?a[0].before(t):a[r-1].after(t),s}}class Mv{#ro=null;constructor({findController:e,eventBus:t,pageIndex:A}){this.findController=e,this.matches=[],this.eventBus=t,this.pageIdx=A,this.textDivs=null,this.textContentItemsStr=null,this.enabled=!1}setTextMapping(e,t){this.textDivs=e,this.textContentItemsStr=t}enable(){if(!this.textDivs||!this.textContentItemsStr)throw new Error("Text divs and strings have not been set.");if(this.enabled)throw new Error("TextHighlighter is already enabled.");this.enabled=!0,this.#ro||(this.#ro=new AbortController,this.eventBus._on("updatetextlayermatches",(e=>{e.pageIndex!==this.pageIdx&&-1!==e.pageIndex||this._updateMatches()}),{signal:this.#ro.signal})),this._updateMatches()}disable(){this.enabled&&(this.enabled=!1,this.#ro?.abort(),this.#ro=null,this._updateMatches(!0))}_convertMatches(e,t){if(!e)return[];const{textContentItemsStr:A}=this;let i=0,s=0;const a=A.length-1,n=[];for(let r=0,o=e.length;r<o;r++){let o=e[r];for(;i!==a&&o>=s+A[i].length;)s+=A[i].length,i++;i===A.length&&console.error("Could not find a matching mapping");const g={begin:{divIdx:i,offset:o-s}};for(o+=t[r];i!==a&&o>s+A[i].length;)s+=A[i].length,i++;g.end={divIdx:i,offset:o-s},n.push(g)}return n}_renderMatches(e){if(0===e.length)return;const{findController:t,pageIdx:A}=this,{textContentItemsStr:i,textDivs:s}=this,a=A===t.selected.pageIdx,n=t.selected.matchIdx;let r=null;const o={divIdx:-1,offset:void 0};function g(e,t){const A=e.divIdx;return s[A].textContent="",h(A,0,e.offset,t)}function h(e,t,A,a){let n=s[e];if(n.nodeType===Node.TEXT_NODE){const t=document.createElement("span");n.before(t),t.append(n),s[e]=t,n=t}const r=i[e].substring(t,A),o=document.createTextNode(r);if(a){const e=document.createElement("span");return e.className=`${a} appended`,e.append(o),n.append(e),a.includes("selected")?e.offsetLeft:0}return n.append(o),0}let c=n,l=c+1;if(t.state.highlightAll)c=0,l=e.length;else if(!a)return;let I=-1,d=-1;for(let i=c;i<l;i++){const c=e[i],l=c.begin;if(l.divIdx===I&&l.offset===d)continue;I=l.divIdx,d=l.offset;const C=c.end,u=a&&i===n,B=u?" selected":"";let Q=0;if(r&&l.divIdx===r.divIdx?h(r.divIdx,r.offset,l.offset):(null!==r&&h(r.divIdx,r.offset,o.offset),g(l)),l.divIdx===C.divIdx)Q=h(l.divIdx,l.offset,C.offset,"highlight"+B);else{Q=h(l.divIdx,l.offset,o.offset,"highlight begin"+B);for(let e=l.divIdx+1,t=C.divIdx;e<t;e++)s[e].className="highlight middle"+B;g(C,"highlight end"+B)}r=C,u&&t.scrollMatchIntoView({element:s[l.divIdx],selectedLeft:Q,pageIndex:A,matchIndex:n})}r&&h(r.divIdx,r.offset,o.offset)}_updateMatches(e=!1){if(!this.enabled&&!e)return;const{findController:t,matches:A,pageIdx:i}=this,{textContentItemsStr:s,textDivs:a}=this;let n=-1;for(const e of A){for(let t=Math.max(n,e.begin.divIdx),A=e.end.divIdx;t<=A;t++){const e=a[t];e.textContent=s[t],e.className=""}n=e.end.divIdx+1}if(!t?.highlightMatches||e)return;const r=t.pageMatches[i]||null,o=t.pageMatchesLength[i]||null;this.matches=this._convertMatches(r,o),this._renderMatches(this.matches)}}class Gv{#To=!1;#no=null;#Po=!1;#Mn=null;static#Yo=new Map;static#Ko=null;constructor({pdfPage:e,highlighter:t=null,accessibilityManager:A=null,enablePermissions:i=!1,onAppend:s=null}){this.pdfPage=e,this.highlighter=t,this.accessibilityManager=A,this.#To=!0===i,this.#no=s,this.div=document.createElement("div"),this.div.tabIndex=0,this.div.className="textLayer"}#_o(){this.#Po=!0;const e=document.createElement("div");e.className="endOfContent",this.div.append(e),this.#qo(e)}async render(e,t=null){if(this.#Po&&this.#Mn)return this.#Mn.update({viewport:e,onBefore:this.hide.bind(this)}),void this.show();this.cancel(),this.#Mn=new TR({textContentSource:this.pdfPage.streamTextContent(t||{includeMarkedContent:!0,disableNormalization:!0}),container:this.div,viewport:e});const{textDivs:A,textContentItemsStr:i}=this.#Mn;this.highlighter?.setTextMapping(A,i),this.accessibilityManager?.setTextMapping(A),await this.#Mn.render(),this.#_o(),this.#no?.(this.div),this.highlighter?.enable(),this.accessibilityManager?.enable()}hide(){!this.div.hidden&&this.#Po&&(this.highlighter?.disable(),this.div.hidden=!0)}show(){this.div.hidden&&this.#Po&&(this.div.hidden=!1,this.highlighter?.enable())}cancel(){this.#Mn?.cancel(),this.#Mn=null,this.highlighter?.disable(),this.accessibilityManager?.disable(),Gv.#Oo(this.div)}#qo(e){const{div:t}=this;t.addEventListener("mousedown",(t=>{e.classList.add("active")})),t.addEventListener("copy",(e=>{if(!this.#To){const t=document.getSelection();e.clipboardData.setData("text/plain",QF(kR(t.toString())))}e.preventDefault(),e.stopPropagation()})),Gv.#Yo.set(t,e),Gv.#Wo()}static#Oo(e){this.#Yo.delete(e),0===this.#Yo.size&&(this.#Ko?.abort(),this.#Ko=null)}static#Wo(){if(this.#Ko)return;this.#Ko=new AbortController;const{signal:e}=this.#Ko,t=(e,t)=>{t.append(e),e.style.width="",e.style.height="",e.classList.remove("active")};var A,i;document.addEventListener("pointerup",(()=>{this.#Yo.forEach(t)}),{signal:e}),document.addEventListener("selectionchange",(()=>{const e=document.getSelection();if(0===e.rangeCount)return void this.#Yo.forEach(t);const s=new Set;for(let t=0;t<e.rangeCount;t++){const A=e.getRangeAt(t);for(const e of this.#Yo.keys())!s.has(e)&&A.intersectsNode(e)&&s.add(e)}for(const[e,A]of this.#Yo)s.has(e)?A.classList.add("active"):t(A,e);if(A??="none"===getComputedStyle(this.#Yo.values().next().value).getPropertyValue("-moz-user-select"),A)return;const a=e.getRangeAt(0),n=i&&(0===a.compareBoundaryPoints(Range.END_TO_END,i)||0===a.compareBoundaryPoints(Range.START_TO_END,i));let r=n?a.startContainer:a.endContainer;r.nodeType===Node.TEXT_NODE&&(r=r.parentNode);const o=r.parentElement.closest(".textLayer"),g=this.#Yo.get(o);g&&(g.style.width=o.style.width,g.style.height=o.style.height,r.parentElement.insertBefore(g,n?r:r.nextSibling)),i=a.cloneRange()}),{signal:e})}}class Lv{constructor({pdfPage:e,annotationStorage:t=null,linkService:A,xfaHtml:i=null}){this.pdfPage=e,this.annotationStorage=t,this.linkService=A,this.xfaHtml=i,this.div=null,this._cancelled=!1}async render(e,t="display"){if("print"===t){const A={viewport:e.clone({dontFlip:!0}),div:this.div,xfaHtml:this.xfaHtml,annotationStorage:this.annotationStorage,linkService:this.linkService,intent:t};return this.div=document.createElement("div"),A.div=this.div,OR.render(A)}const A=await this.pdfPage.getXfa();if(this._cancelled||!A)return{textDivs:[]};const i={viewport:e.clone({dontFlip:!0}),div:this.div,xfaHtml:A,annotationStorage:this.annotationStorage,linkService:this.linkService,intent:t};return this.div?OR.update(i):(this.div=document.createElement("div"),i.div=this.div,OR.render(i))}cancel(){this._cancelled=!0}hide(){this.div&&(this.div.hidden=!0)}}const Uv={annotationEditorUIManager:null,annotationStorage:null,downloadManager:null,enableScripting:!1,fieldObjectsPromise:null,findController:null,hasJSActionsPromise:null,get linkService(){return new eR}},Hv=new Map([["canvasWrapper",0],["textLayer",1],["annotationLayer",2],["annotationEditorLayer",3],["xfaLayer",3]]);class Jv{#jo=rR.ENABLE_FORMS;#Vo=!1;#Zo=null;#Xo=null;#zo=null;#$o=null;#eg=sF.INITIAL;#tg=hF;#Ag={directDrawing:!0,initialOptionalContent:!0,regularAnnotations:!0};#ig=new WeakMap;#sg=[null,null,null,null];constructor(e){const t=e.container,A=e.defaultViewport;this.id=e.id,this.renderingId="page"+this.id,this.#Zo=e.layerProperties||Uv,this.pdfPage=null,this.pageLabel=null,this.rotation=0,this.scale=e.scale||1,this.viewport=A,this.pdfPageRotate=A.rotation,this._optionalContentConfigPromise=e.optionalContentConfigPromise||null,this.#tg=e.textLayerMode??hF,this.#jo=e.annotationMode??rR.ENABLE_FORMS,this.imageResourcesPath=e.imageResourcesPath||"",this.maxCanvasPixels=e.maxCanvasPixels??Sv.get("maxCanvasPixels"),this.pageColors=e.pageColors||null,this.eventBus=e.eventBus,this.renderingQueue=e.renderingQueue,this.l10n=e.l10n,this.l10n||=new uv,this.renderTask=null,this.resume=null,this._isStandalone=!this.renderingQueue?.hasViewer(),this._container=t,this._annotationCanvasMap=null,this.annotationLayer=null,this.annotationEditorLayer=null,this.textLayer=null,this.zoomLayer=null,this.xfaLayer=null,this.structTreeLayer=null,this.drawLayer=null;const i=document.createElement("div");if(i.className="page",i.setAttribute("data-page-number",this.id),i.setAttribute("role","region"),i.setAttribute("data-l10n-id","pdfjs-page-landmark"),i.setAttribute("data-l10n-args",JSON.stringify({page:this.id})),this.div=i,this.#pn(),t?.append(i),this._isStandalone){t?.style.setProperty("--scale-factor",this.scale*GR.PDF_TO_CSS_UNITS);const{optionalContentConfigPromise:A}=e;A&&A.then((e=>{A===this._optionalContentConfigPromise&&(this.#Ag.initialOptionalContent=e.hasInitialVisibility)})),e.l10n||this.l10n.translate(this.div)}}#ag(e,t){const A=Hv.get(t),i=this.#sg[A];if(this.#sg[A]=e,i)i.replaceWith(e);else{for(let t=A-1;t>=0;t--){const A=this.#sg[t];if(A)return void A.after(e)}this.div.prepend(e)}}get renderingState(){return this.#eg}set renderingState(e){if(e!==this.#eg)switch(this.#eg=e,this.#Xo&&(clearTimeout(this.#Xo),this.#Xo=null),e){case sF.PAUSED:this.div.classList.remove("loading");break;case sF.RUNNING:this.div.classList.add("loadingIcon"),this.#Xo=setTimeout((()=>{this.div.classList.add("loading"),this.#Xo=null}),0);break;case sF.INITIAL:case sF.FINISHED:this.div.classList.remove("loadingIcon","loading")}}#pn(){const{viewport:e}=this;if(this.pdfPage){if(this.#zo===e.rotation)return;this.#zo=e.rotation}HR(this.div,e,!0,!1)}setPdfPage(e){!this._isStandalone||"CanvasText"!==this.pageColors?.foreground&&"Canvas"!==this.pageColors?.background||(this._container?.style.setProperty("--hcm-highlight-filter",e.filterFactory.addHighlightHCMFilter("highlight","CanvasText","Canvas","HighlightText","Highlight")),this._container?.style.setProperty("--hcm-highlight-selected-filter",e.filterFactory.addHighlightHCMFilter("highlight_selected","CanvasText","Canvas","HighlightText","Highlight"))),this.pdfPage=e,this.pdfPageRotate=e.rotate;const t=(this.rotation+this.pdfPageRotate)%360;this.viewport=e.getViewport({scale:this.scale*GR.PDF_TO_CSS_UNITS,rotation:t}),this.#pn(),this.reset()}destroy(){this.reset(),this.pdfPage?.cleanup()}get _textHighlighter(){return JR(this,"_textHighlighter",new Mv({pageIndex:this.id-1,eventBus:this.eventBus,findController:this.#Zo.findController}))}#ng(e,t){this.eventBus.dispatch(e,{source:this,pageNumber:this.id,error:t})}async#rg(){let e=null;try{await this.annotationLayer.render(this.viewport,"display")}catch(t){console.error(`#renderAnnotationLayer: "${t}".`),e=t}finally{this.#ng("annotationlayerrendered",e)}}async#og(){let e=null;try{await this.annotationEditorLayer.render(this.viewport,"display")}catch(t){console.error(`#renderAnnotationEditorLayer: "${t}".`),e=t}finally{this.#ng("annotationeditorlayerrendered",e)}}async#gg(){try{await this.drawLayer.render("display")}catch(e){console.error(`#renderDrawLayer: "${e}".`)}}async#hg(){let e=null;try{const e=await this.xfaLayer.render(this.viewport,"display");e?.textDivs&&this._textHighlighter&&this.#cg(e.textDivs)}catch(t){console.error(`#renderXfaLayer: "${t}".`),e=t}finally{this.xfaLayer?.div&&(this.l10n.pause(),this.#ag(this.xfaLayer.div,"xfaLayer"),this.l10n.resume()),this.#ng("xfalayerrendered",e)}}async#lg(){if(!this.textLayer)return;let e=null;try{await this.textLayer.render(this.viewport)}catch(t){if(t instanceof tR)return;console.error(`#renderTextLayer: "${t}".`),e=t}this.#ng("textlayerrendered",e),this.#Ig()}async#Ig(){if(!this.textLayer)return;this.structTreeLayer||=new vv;const e=await(this.structTreeLayer.renderingDone?null:this.pdfPage.getStructTree()),t=this.structTreeLayer?.render(e);t&&(this.l10n.pause(),this.canvas?.append(t),this.l10n.resume()),this.structTreeLayer?.show()}async#cg(e){const t=await this.pdfPage.getTextContent(),A=[];for(const e of t.items)A.push(e.str);this._textHighlighter.setTextMapping(e,A),this._textHighlighter.enable()}_resetZoomLayer(e=!1){if(!this.zoomLayer)return;const t=this.zoomLayer.firstChild;this.#ig.delete(t),t.width=0,t.height=0,e&&this.zoomLayer.remove(),this.zoomLayer=null}reset({keepZoomLayer:e=!1,keepAnnotationLayer:t=!1,keepAnnotationEditorLayer:A=!1,keepXfaLayer:i=!1,keepTextLayer:s=!1}={}){this.cancelRendering({keepAnnotationLayer:t,keepAnnotationEditorLayer:A,keepXfaLayer:i,keepTextLayer:s}),this.renderingState=sF.INITIAL;const a=this.div,n=a.childNodes,r=e&&this.zoomLayer||null,o=t&&this.annotationLayer?.div||null,g=A&&this.annotationEditorLayer?.div||null,h=i&&this.xfaLayer?.div||null,c=s&&this.textLayer?.div||null;for(let e=n.length-1;e>=0;e--){const t=n[e];switch(t){case r:case o:case g:case h:case c:continue}t.remove();const A=this.#sg.indexOf(t);A>=0&&(this.#sg[A]=null)}a.removeAttribute("data-loaded"),o&&this.annotationLayer.hide(),g&&this.annotationEditorLayer.hide(),h&&this.xfaLayer.hide(),c&&this.textLayer.hide(),this.structTreeLayer?.hide(),r||(this.canvas&&(this.#ig.delete(this.canvas),this.canvas.width=0,this.canvas.height=0,delete this.canvas),this._resetZoomLayer())}update({scale:e=0,rotation:t=null,optionalContentConfigPromise:A=null,drawingDelay:i=-1}){this.scale=e||this.scale,"number"==typeof t&&(this.rotation=t),A instanceof Promise&&(this._optionalContentConfigPromise=A,A.then((e=>{A===this._optionalContentConfigPromise&&(this.#Ag.initialOptionalContent=e.hasInitialVisibility)}))),this.#Ag.directDrawing=!0;const s=(this.rotation+this.pdfPageRotate)%360;if(this.viewport=this.viewport.clone({scale:this.scale*GR.PDF_TO_CSS_UNITS,rotation:s}),this.#pn(),this._isStandalone&&this._container?.style.setProperty("--scale-factor",this.viewport.scale),this.canvas){let e=!1;if(this.#Vo)if(0===this.maxCanvasPixels)e=!0;else if(this.maxCanvasPixels>0){const{width:t,height:A}=this.viewport,{sx:i,sy:s}=this.outputScale;e=(Math.floor(t)*i|0)*(Math.floor(A)*s|0)>this.maxCanvasPixels}const t=i>=0&&i<1e3;if(t||e){if(t&&!e&&this.renderingState!==sF.FINISHED&&(this.cancelRendering({keepZoomLayer:!0,keepAnnotationLayer:!0,keepAnnotationEditorLayer:!0,keepXfaLayer:!0,keepTextLayer:!0,cancelExtraDelay:i}),this.renderingState=sF.FINISHED,this.#Ag.directDrawing=!1),this.cssTransform({target:this.canvas,redrawAnnotationLayer:!0,redrawAnnotationEditorLayer:!0,redrawXfaLayer:!0,redrawTextLayer:!t,hideTextLayer:t}),t)return;return void this.eventBus.dispatch("pagerendered",{source:this,pageNumber:this.id,cssTransform:!0,timestamp:performance.now(),error:this.#$o})}this.zoomLayer||this.canvas.hidden||(this.zoomLayer=this.canvas.parentNode,this.zoomLayer.style.position="absolute")}this.zoomLayer&&this.cssTransform({target:this.zoomLayer.firstChild}),this.reset({keepZoomLayer:!0,keepAnnotationLayer:!0,keepAnnotationEditorLayer:!0,keepXfaLayer:!0,keepTextLayer:!0})}cancelRendering({keepAnnotationLayer:e=!1,keepAnnotationEditorLayer:t=!1,keepXfaLayer:A=!1,keepTextLayer:i=!1,cancelExtraDelay:s=0}={}){this.renderTask&&(this.renderTask.cancel(s),this.renderTask=null),this.resume=null,!this.textLayer||i&&this.textLayer.div||(this.textLayer.cancel(),this.textLayer=null),this.structTreeLayer&&!this.textLayer&&(this.structTreeLayer=null),!this.annotationLayer||e&&this.annotationLayer.div||(this.annotationLayer.cancel(),this.annotationLayer=null,this._annotationCanvasMap=null),!this.annotationEditorLayer||t&&this.annotationEditorLayer.div||(this.drawLayer&&(this.drawLayer.cancel(),this.drawLayer=null),this.annotationEditorLayer.cancel(),this.annotationEditorLayer=null),!this.xfaLayer||A&&this.xfaLayer.div||(this.xfaLayer.cancel(),this.xfaLayer=null,this._textHighlighter?.disable())}cssTransform({target:e,redrawAnnotationLayer:t=!1,redrawAnnotationEditorLayer:A=!1,redrawXfaLayer:i=!1,redrawTextLayer:s=!1,hideTextLayer:a=!1}){if(!e.hasAttribute("zooming")){e.setAttribute("zooming",!0);const{style:t}=e;t.width=t.height=""}const n=this.#ig.get(e);if(this.viewport!==n){const t=this.viewport.rotation-n.rotation,A=Math.abs(t);let i=1,s=1;if(90===A||270===A){const{width:e,height:t}=this.viewport;i=t/e,s=e/t}e.style.transform=`rotate(${t}deg) scale(${i}, ${s})`}t&&this.annotationLayer&&this.#rg(),A&&this.annotationEditorLayer&&(this.drawLayer&&this.#gg(),this.#og()),i&&this.xfaLayer&&this.#hg(),this.textLayer&&(a?(this.textLayer.hide(),this.structTreeLayer?.hide()):s&&this.#lg())}get width(){return this.viewport.width}get height(){return this.viewport.height}getPagePoint(e,t){return this.viewport.convertToPdfPoint(e,t)}async#dg(e,t=null){if(e===this.renderTask&&(this.renderTask=null),t instanceof LR)this.#$o=null;else if(this.#$o=t,this.renderingState=sF.FINISHED,this._resetZoomLayer(!0),this.#Ag.regularAnnotations=!e.separateAnnots,this.eventBus.dispatch("pagerendered",{source:this,pageNumber:this.id,cssTransform:!1,timestamp:performance.now(),error:this.#$o}),t)throw t}async draw(){this.renderingState!==sF.INITIAL&&(console.error("Must be in new state before drawing"),this.reset());const{div:e,l10n:t,pageColors:A,pdfPage:i,viewport:s}=this;if(!i)throw this.renderingState=sF.FINISHED,new Error("pdfPage is not loaded");this.renderingState=sF.RUNNING;const a=document.createElement("div");if(a.classList.add("canvasWrapper"),this.#ag(a,"canvasWrapper"),this.textLayer||this.#tg===gF||i.isPureXfa||(this._accessibilityManager||=new Nv,this.textLayer=new Gv({pdfPage:i,highlighter:this._textHighlighter,accessibilityManager:this._accessibilityManager,enablePermissions:this.#tg===cF,onAppend:e=>{this.l10n.pause(),this.#ag(e,"textLayer"),this.l10n.resume()}})),!this.annotationLayer&&this.#jo!==rR.DISABLE){const{annotationStorage:e,annotationEditorUIManager:t,downloadManager:A,enableScripting:s,fieldObjectsPromise:a,hasJSActionsPromise:n,linkService:r}=this.#Zo;this._annotationCanvasMap||=new Map,this.annotationLayer=new WR({pdfPage:i,annotationStorage:e,imageResourcesPath:this.imageResourcesPath,renderForms:this.#jo===rR.ENABLE_FORMS,linkService:r,downloadManager:A,enableScripting:s,hasJSActionsPromise:n,fieldObjectsPromise:a,annotationCanvasMap:this._annotationCanvasMap,accessibilityManager:this._accessibilityManager,annotationEditorUIManager:t,onAppend:e=>{this.#ag(e,"annotationLayer")}})}const{width:n,height:r}=s,o=document.createElement("canvas");o.setAttribute("role","presentation"),o.hidden=!0;const g=!(!A?.background||!A?.foreground);let h=e=>{g&&!e||(o.hidden=!1,h=null)};a.append(o),this.canvas=o;const c=o.getContext("2d",{alpha:!1}),l=this.outputScale=new dF;if(0===this.maxCanvasPixels){const e=1/this.scale;l.sx*=e,l.sy*=e,this.#Vo=!0}else if(this.maxCanvasPixels>0){const e=n*r,t=Math.sqrt(this.maxCanvasPixels/e);l.sx>t||l.sy>t?(l.sx=t,l.sy=t,this.#Vo=!0):this.#Vo=!1}const I=fF(l.sx),d=fF(l.sy);o.width=pF(n*l.sx,I[0]),o.height=pF(r*l.sy,d[0]);const{style:C}=o;C.width=pF(n,I[1])+"px",C.height=pF(r,d[1])+"px",this.#ig.set(o,s);const u={canvasContext:c,transform:l.scaled?[l.sx,0,0,l.sy,0,0]:null,viewport:s,annotationMode:this.#jo,optionalContentConfigPromise:this._optionalContentConfigPromise,annotationCanvasMap:this._annotationCanvasMap,pageColors:A},B=this.renderTask=i.render(u);B.onContinue=e=>{if(h?.(!1),this.renderingQueue&&!this.renderingQueue.isHighestPriority(this))return this.renderingState=sF.PAUSED,void(this.resume=()=>{this.renderingState=sF.RUNNING,e()});e()};const Q=B.promise.then((async()=>{h?.(!0),await this.#dg(B),this.#lg(),this.annotationLayer&&await this.#rg();const{annotationEditorUIManager:e}=this.#Zo;e&&(this.drawLayer||=new Fv({pageIndex:this.id}),await this.#gg(),this.drawLayer.setParent(a),this.annotationEditorLayer||(this.annotationEditorLayer=new Ev({uiManager:e,pdfPage:i,l10n:t,accessibilityManager:this._accessibilityManager,annotationLayer:this.annotationLayer?.annotationLayer,textLayer:this.textLayer,drawLayer:this.drawLayer.getDrawLayer(),onAppend:e=>{this.#ag(e,"annotationEditorLayer")}})),this.#og())}),(e=>(e instanceof LR||h?.(!0),this.#dg(B,e))));if(i.isPureXfa){if(!this.xfaLayer){const{annotationStorage:e,linkService:t}=this.#Zo;this.xfaLayer=new Lv({pdfPage:i,annotationStorage:e,linkService:t})}this.#hg()}return e.setAttribute("data-loaded",!0),this.eventBus.dispatch("pagerender",{source:this,pageNumber:this.id}),Q}setPageLabel(e){this.pageLabel="string"==typeof e?e:null,this.div.setAttribute("data-l10n-args",JSON.stringify({page:this.pageLabel??this.id})),null!==this.pageLabel?this.div.setAttribute("data-page-label",this.pageLabel):this.div.removeAttribute("data-page-label")}get thumbnailCanvas(){const{directDrawing:e,initialOptionalContent:t,regularAnnotations:A}=this.#Ag;return e&&t&&A?this.canvas:null}}class Tv{constructor(e){this._ready=new Promise(((t,A)=>{import(e).then((e=>{t(e.QuickJSSandbox())})).catch(A)}))}async createSandbox(e){(await this._ready).create(e)}async dispatchEventInSandbox(e){const t=await this._ready;setTimeout((()=>t.dispatchEvent(e)),0)}async destroySandbox(){(await this._ready).nukeSandbox()}}class Pv{#Cg=null;#ug=null;#Bg=null;#ro=null;#Ps=null;#Qg=null;#Eg=null;#fg=null;#pg=!1;#mg=null;#yg=null;constructor({eventBus:e,externalServices:t=null,docProperties:A=null}){this.#Ps=e,this.#Qg=t,this.#Bg=A}setViewer(e){this.#fg=e}async setDocument(e){if(this.#Eg&&await this.#wg(),this.#Eg=e,!e)return;const[t,A,i]=await Promise.all([e.getFieldObjects(),e.getCalculationOrderIds(),e.getJSActions()]);if(!t&&!i)return void await this.#wg();if(e!==this.#Eg)return;try{this.#mg=this.#bg()}catch(e){return console.error(`setDocument: "${e.message}".`),void await this.#wg()}const s=this.#Ps;this.#ro=new AbortController;const{signal:a}=this.#ro;s._on("updatefromsandbox",(e=>{e?.source===window&&this.#Dg(e.detail)}),{signal:a}),s._on("dispatcheventinsandbox",(e=>{this.#mg?.dispatchEventInSandbox(e.detail)}),{signal:a}),s._on("pagechanging",(({pageNumber:e,previous:t})=>{e!==t&&(this.#kg(t),this.#Sg(e))}),{signal:a}),s._on("pagerendered",(({pageNumber:e})=>{this._pageOpenPending.has(e)&&e===this.#fg.currentPageNumber&&this.#Sg(e)}),{signal:a}),s._on("pagesdestroy",(async()=>{await this.#kg(this.#fg.currentPageNumber),await(this.#mg?.dispatchEventInSandbox({id:"doc",name:"WillClose"})),this.#Cg?.resolve()}),{signal:a});try{const a=await this.#Bg(e);if(e!==this.#Eg)return;await this.#mg.createSandbox({objects:t,calculationOrder:A,appInfo:{platform:navigator.platform,language:navigator.language},docInfo:{...a,actions:i}}),s.dispatch("sandboxcreated",{source:this})}catch(e){return console.error(`setDocument: "${e.message}".`),void await this.#wg()}await(this.#mg?.dispatchEventInSandbox({id:"doc",name:"Open"})),await this.#Sg(this.#fg.currentPageNumber,!0),Promise.resolve().then((()=>{e===this.#Eg&&(this.#pg=!0)}))}async dispatchWillSave(){return this.#mg?.dispatchEventInSandbox({id:"doc",name:"WillSave"})}async dispatchDidSave(){return this.#mg?.dispatchEventInSandbox({id:"doc",name:"DidSave"})}async dispatchWillPrint(){if(this.#mg){await(this.#yg?.promise),this.#yg=Promise.withResolvers();try{await this.#mg.dispatchEventInSandbox({id:"doc",name:"WillPrint"})}catch(e){throw this.#yg.resolve(),this.#yg=null,e}await this.#yg.promise}}async dispatchDidPrint(){return this.#mg?.dispatchEventInSandbox({id:"doc",name:"DidPrint"})}get destroyPromise(){return this.#ug?.promise||null}get ready(){return this.#pg}get _pageOpenPending(){return JR(this,"_pageOpenPending",new Set)}get _visitedPages(){return JR(this,"_visitedPages",new Map)}async#Dg(e){const t=this.#fg,A=t.isInPresentationMode||t.isChangingPresentationMode,{id:i,siblings:s,command:a,value:n}=e;if(!i){switch(a){case"clear":console.clear();break;case"error":console.error(n);break;case"layout":if(!A){const e=function(e){let t=lF.VERTICAL,A=IF.NONE;switch(e){case"SinglePage":t=lF.PAGE;break;case"OneColumn":break;case"TwoPageLeft":t=lF.PAGE;case"TwoColumnLeft":A=IF.ODD;break;case"TwoPageRight":t=lF.PAGE;case"TwoColumnRight":A=IF.EVEN}return{scrollMode:t,spreadMode:A}}(n);t.spreadMode=e.spreadMode}break;case"page-num":t.currentPageNumber=n+1;break;case"print":await t.pagesPromise,this.#Ps.dispatch("print",{source:this});break;case"println":console.log(n);break;case"zoom":A||(t.currentScaleValue=n);break;case"SaveAs":this.#Ps.dispatch("download",{source:this});break;case"FirstPage":t.currentPageNumber=1;break;case"LastPage":t.currentPageNumber=t.pagesCount;break;case"NextPage":t.nextPage();break;case"PrevPage":t.previousPage();break;case"ZoomViewIn":A||t.increaseScale();break;case"ZoomViewOut":A||t.decreaseScale();break;case"WillPrintFinished":this.#yg?.resolve(),this.#yg=null}return}if(A&&e.focus)return;delete e.id,delete e.siblings;const r=s?[i,...s]:[i];for(const t of r){const A=document.querySelector(`[data-element-id="${t}"]`);A?A.dispatchEvent(new CustomEvent("updatefromsandbox",{detail:e})):this.#Eg?.annotationStorage.setValue(t,e)}}async#Sg(e,t=!1){const A=this.#Eg,i=this._visitedPages;if(t&&(this.#Cg=Promise.withResolvers()),!this.#Cg)return;const s=this.#fg.getPageView(e-1);if(s?.renderingState!==sF.FINISHED)return void this._pageOpenPending.add(e);this._pageOpenPending.delete(e);const a=(async()=>{const t=await(i.has(e)?null:s.pdfPage?.getJSActions());A===this.#Eg&&await(this.#mg?.dispatchEventInSandbox({id:"page",name:"PageOpen",pageNumber:e,actions:t}))})();i.set(e,a)}async#kg(e){const t=this.#Eg,A=this._visitedPages;if(!this.#Cg)return;if(this._pageOpenPending.has(e))return;const i=A.get(e);i&&(A.set(e,null),await i,t===this.#Eg&&await(this.#mg?.dispatchEventInSandbox({id:"page",name:"PageClose",pageNumber:e})))}#bg(){if(this.#ug=Promise.withResolvers(),this.#mg)throw new Error("#initScripting: Scripting already exists.");return this.#Qg.createScripting()}async#wg(){if(!this.#mg)return this.#Eg=null,void this.#ug?.resolve();this.#Cg&&(await Promise.race([this.#Cg.promise,new Promise((e=>{setTimeout(e,1e3)}))]).catch((()=>{})),this.#Cg=null),this.#Eg=null;try{await this.#mg.destroySandbox()}catch{}this.#yg?.reject(new Error("Scripting destroyed.")),this.#yg=null,this.#ro?.abort(),this.#ro=null,this._pageOpenPending.clear(),this._visitedPages.clear(),this.#mg=null,this.#pg=!1,this.#ug?.resolve()}}class Yv extends Pv{constructor(e){e.externalServices||window.addEventListener("updatefromsandbox",(t=>{e.eventBus.dispatch("updatefromsandbox",{source:window,detail:t.detail})})),e.externalServices||={createScripting:()=>new Tv(e.sandboxBundleSrc)},e.docProperties||=e=>async function(e){const t="".split("#",1)[0];let{info:A,metadata:i,contentDispositionFilename:s,contentLength:a}=await e.getMetadata();if(!a){const{length:t}=await e.getDownloadInfo();a=t}return{...A,baseURL:t,filesize:a,filename:s||QR(""),metadata:i?.getRaw(),authors:i?.get("dc:creator"),numPages:e.numPages,URL:""}}(e),super(e)}}class Kv{constructor(){this.pdfViewer=null,this.pdfThumbnailViewer=null,this.onIdle=null,this.highestPriorityPage=null,this.idleTimeout=null,this.printing=!1,this.isThumbnailViewEnabled=!1,Object.defineProperty(this,"hasViewer",{value:()=>!!this.pdfViewer})}setViewer(e){this.pdfViewer=e}setThumbnailViewer(e){this.pdfThumbnailViewer=e}isHighestPriority(e){return this.highestPriorityPage===e.renderingId}renderHighestPriority(e){this.idleTimeout&&(clearTimeout(this.idleTimeout),this.idleTimeout=null),this.pdfViewer.forceRendering(e)||this.isThumbnailViewEnabled&&this.pdfThumbnailViewer?.forceRendering()||this.printing||this.onIdle&&(this.idleTimeout=setTimeout(this.onIdle.bind(this),3e4))}getHighestPriority(e,t,A,i=!1){const s=e.views,a=s.length;if(0===a)return null;for(let e=0;e<a;e++){const t=s[e].view;if(!this.isViewFinished(t))return t}const n=e.first.id,r=e.last.id;if(r-n+1>a){const i=e.ids;for(let e=1,s=r-n;e<s;e++){const s=A?n+e:r-e;if(i.has(s))continue;const a=t[s-1];if(!this.isViewFinished(a))return a}}let o=A?r:n-2,g=t[o];return g&&!this.isViewFinished(g)||i&&(o+=A?1:-1,g=t[o],g&&!this.isViewFinished(g))?g:null}isViewFinished(e){return e.renderingState===sF.FINISHED}renderView(e){switch(e.renderingState){case sF.FINISHED:return!1;case sF.PAUSED:this.highestPriorityPage=e.renderingId,e.resume();break;case sF.RUNNING:this.highestPriorityPage=e.renderingId;break;case sF.INITIAL:this.highestPriorityPage=e.renderingId,e.draw().finally((()=>{this.renderHighestPriority()})).catch((e=>{e instanceof LR||console.error(`renderView: "${e}"`)}))}return!0}}const _v=15e3,qv=7500,Ov=250;function Wv(e){return Object.values(sR).includes(e)&&e!==sR.DISABLE}class jv{#Fg=new Set;#Rg=0;constructor(e){this.#Rg=e}push(e){const t=this.#Fg;t.has(e)&&t.delete(e),t.add(e),t.size>this.#Rg&&this.#xg()}resize(e,t=null){this.#Rg=e;const A=this.#Fg;if(t){const e=A.size;let i=1;for(const s of A)if(t.has(s.id)&&(A.delete(s),A.add(s)),++i>e)break}for(;A.size>this.#Rg;)this.#xg()}has(e){return this.#Fg.has(e)}[Symbol.iterator](){return this.#Fg.keys()}#xg(){const e=this.#Fg.keys().next().value;e?.destroy(),this.#Fg.delete(e)}}class Vv{#vg=null;#S=null;#Ng=null;#Mg=sR.NONE;#Gg=null;#jo=rR.ENABLE_FORMS;#Lg=null;#U=!1;#To=!1;#ro=null;#j=null;#Ug=!1;#Hg=null;#Jg=!1;#Tg=0;#Pg=new ResizeObserver(this.#Yg.bind(this));#Kg=null;#_g=null;#tg=hF;constructor(e){const t="4.3.136";if(qR!==t)throw new Error(`The API version "${qR}" does not match the Viewer version "${t}".`);if(this.container=e.container,this.viewer=e.viewer||e.container.firstElementChild,"DIV"!==this.container?.tagName||"DIV"!==this.viewer?.tagName)throw new Error("Invalid `container` and/or `viewer` option.");if(this.container.offsetParent&&"absolute"!==getComputedStyle(this.container).position)throw new Error("The `container` must be absolutely positioned.");this.#Pg.observe(this.container),this.eventBus=e.eventBus,this.linkService=e.linkService||new eR,this.downloadManager=e.downloadManager||null,this.findController=e.findController||null,this.#S=e.altTextManager||null,this.findController&&(this.findController.onIsPageVisible=e=>this._getVisiblePages().ids.has(e)),this._scriptingManager=e.scriptingManager||null,this.#tg=e.textLayerMode??hF,this.#jo=e.annotationMode??rR.ENABLE_FORMS,this.#Mg=e.annotationEditorMode??sR.NONE,this.#Ng=e.annotationEditorHighlightColors||null,this.#U=!0===e.enableHighlightFloatingButton,this.imageResourcesPath=e.imageResourcesPath||"",this.enablePrintAutoRotate=e.enablePrintAutoRotate||!1,this.removePageBorders=e.removePageBorders||!1,this.maxCanvasPixels=e.maxCanvasPixels,this.l10n=e.l10n,this.l10n||=new uv,this.#To=e.enablePermissions||!1,this.pageColors=e.pageColors||null,this.#j=e.mlManager||null,this.defaultRenderingQueue=!e.renderingQueue,this.defaultRenderingQueue?(this.renderingQueue=new Kv,this.renderingQueue.setViewer(this)):this.renderingQueue=e.renderingQueue,this.scroll=function(e,t){const A=function(A){s||(s=window.requestAnimationFrame((function(){s=null;const A=e.scrollLeft,a=i.lastX;A!==a&&(i.right=A>a),i.lastX=A;const n=e.scrollTop,r=i.lastY;n!==r&&(i.down=n>r),i.lastY=n,t(i)})))},i={right:!0,down:!0,lastX:e.scrollLeft,lastY:e.scrollTop,_eventHandler:A};let s=null;return e.addEventListener("scroll",A,!0),i}(this.container,this._scrollUpdate.bind(this)),this.presentationModeState=aF,this._resetView(),this.removePageBorders&&this.viewer.classList.add("removePageBorders"),this.#qg(),this.eventBus._on("thumbnailrendered",(({pageNumber:e,pdfPage:t})=>{const A=this._pages[e-1];this.#vg.has(A)||t?.cleanup()})),e.l10n||this.l10n.translate(this.container)}get pagesCount(){return this._pages.length}getPageView(e){return this._pages[e]}getCachedPageViews(){return new Set(this.#vg)}get pageViewsReady(){return this._pages.every((e=>e?.pdfPage))}get renderForms(){return this.#jo===rR.ENABLE_FORMS}get enableScripting(){return!!this._scriptingManager}get currentPageNumber(){return this._currentPageNumber}set currentPageNumber(e){if(!Number.isInteger(e))throw new Error("Invalid page number.");this.pdfDocument&&(this._setCurrentPageNumber(e,!0)||console.error(`currentPageNumber: "${e}" is not a valid page.`))}_setCurrentPageNumber(e,t=!1){if(this._currentPageNumber===e)return t&&this.#Og(),!0;if(!(0<e&&e<=this.pagesCount))return!1;const A=this._currentPageNumber;return this._currentPageNumber=e,this.eventBus.dispatch("pagechanging",{source:this,pageNumber:e,pageLabel:this._pageLabels?.[e-1]??null,previous:A}),t&&this.#Og(),!0}get currentPageLabel(){return this._pageLabels?.[this._currentPageNumber-1]??null}set currentPageLabel(e){if(!this.pdfDocument)return;let t=0|e;if(this._pageLabels){const A=this._pageLabels.indexOf(e);A>=0&&(t=A+1)}this._setCurrentPageNumber(t,!0)||console.error(`currentPageLabel: "${e}" is not a valid page.`)}get currentScale(){return 0!==this._currentScale?this._currentScale:1}set currentScale(e){if(isNaN(e))throw new Error("Invalid numeric scale.");this.pdfDocument&&this.#Wg(e,{noScroll:!1})}get currentScaleValue(){return this._currentScaleValue}set currentScaleValue(e){this.pdfDocument&&this.#Wg(e,{noScroll:!1})}get pagesRotation(){return this._pagesRotation}set pagesRotation(e){if(!mF(e))throw new Error("Invalid pages rotation angle.");if(!this.pdfDocument)return;if((e%=360)<0&&(e+=360),this._pagesRotation===e)return;this._pagesRotation=e;const t=this._currentPageNumber;this.refresh(!0,{rotation:e}),this._currentScaleValue&&this.#Wg(this._currentScaleValue,{noScroll:!0}),this.eventBus.dispatch("rotationchanging",{source:this,pagesRotation:e,pageNumber:t}),this.defaultRenderingQueue&&this.update()}get firstPagePromise(){return this.pdfDocument?this._firstPageCapability.promise:null}get onePageRendered(){return this.pdfDocument?this._onePageRenderedCapability.promise:null}get pagesPromise(){return this.pdfDocument?this._pagesCapability.promise:null}get _layerProperties(){const e=this;return JR(this,"_layerProperties",{get annotationEditorUIManager(){return e.#Gg},get annotationStorage(){return e.pdfDocument?.annotationStorage},get downloadManager(){return e.downloadManager},get enableScripting(){return!!e._scriptingManager},get fieldObjectsPromise(){return e.pdfDocument?.getFieldObjects()},get findController(){return e.findController},get hasJSActionsPromise(){return e.pdfDocument?.hasJSActions()},get linkService(){return e.linkService}})}#jg(e){const t={annotationEditorMode:this.#Mg,annotationMode:this.#jo,textLayerMode:this.#tg};return e?(e.includes(MR.COPY)||this.#tg!==hF||(t.textLayerMode=cF),e.includes(MR.MODIFY_CONTENTS)||(t.annotationEditorMode=sR.DISABLE),e.includes(MR.MODIFY_ANNOTATIONS)||e.includes(MR.FILL_INTERACTIVE_FORMS)||this.#jo!==rR.ENABLE_FORMS||(t.annotationMode=rR.ENABLE),t):t}async#Vg(e){if("hidden"===document.visibilityState||!this.container.offsetParent||0===this._getVisiblePages().views.length)return;const t=Promise.withResolvers();function A(){"hidden"===document.visibilityState&&t.resolve()}document.addEventListener("visibilitychange",A,{signal:e}),await Promise.race([this._onePageRenderedCapability.promise,t.promise]),document.removeEventListener("visibilitychange",A)}async getAllText(){const e=[],t=[];for(let A=1,i=this.pdfDocument.numPages;A<=i;++A){if(this.#Jg)return null;t.length=0;const i=await this.pdfDocument.getPage(A),{items:s}=await i.getTextContent();for(const e of s)e.str&&t.push(e.str),e.hasEOL&&t.push("\n");e.push(QF(t.join("")))}return e.join("\n")}#Zg(e,t){const A=document.getSelection(),{focusNode:i,anchorNode:s}=A;if(s&&i&&A.containsNode(this.#Hg)){if(this.#Ug||e===cF)return t.preventDefault(),void t.stopPropagation();this.#Ug=!0;const A=this.container.style.cursor;this.container.style.cursor="wait";const i=e=>this.#Jg="Escape"===e.key;window.addEventListener("keydown",i),this.getAllText().then((async e=>{null!==e&&await navigator.clipboard.writeText(e)})).catch((e=>{console.warn(`Something goes wrong when extracting the text: ${e.message}`)})).finally((()=>{this.#Ug=!1,this.#Jg=!1,window.removeEventListener("keydown",i),this.container.style.cursor=A})),t.preventDefault(),t.stopPropagation()}}setDocument(e){if(this.pdfDocument&&(this.eventBus.dispatch("pagesdestroy",{source:this}),this._cancelRendering(),this._resetView(),this.findController?.setDocument(null),this._scriptingManager?.setDocument(null),this.#Gg&&(this.#Gg.destroy(),this.#Gg=null)),this.pdfDocument=e,!e)return;const t=e.numPages,A=e.getPage(1),i=e.getOptionalContentConfig({intent:"display"}),s=this.#To?e.getPermissions():Promise.resolve(),{eventBus:a,pageColors:n,viewer:r}=this;this.#ro=new AbortController;const{signal:o}=this.#ro;if(t>_v){console.warn("Forcing PAGE-scrolling for performance reasons, given the length of the document.");const e=this._scrollMode=lF.PAGE;a.dispatch("scrollmodechanged",{source:this,mode:e})}this._pagesCapability.promise.then((()=>{a.dispatch("pagesloaded",{source:this,pagesCount:t})}),(()=>{}));a._on("pagerender",(e=>{const t=this._pages[e.pageNumber-1];t&&this.#vg.push(t)}),{signal:o});const g=e=>{e.cssTransform||(this._onePageRenderedCapability.resolve({timestamp:e.timestamp}),a._off("pagerendered",g))};a._on("pagerendered",g,{signal:o}),Promise.all([A,s]).then((([A,s])=>{if(e!==this.pdfDocument)return;this._firstPageCapability.resolve(A),this._optionalContentConfigPromise=i;const{annotationEditorMode:g,annotationMode:h,textLayerMode:c}=this.#jg(s);if(c!==gF){const e=this.#Hg=document.createElement("div");e.id="hiddenCopyElement",r.before(e)}if(g!==sR.DISABLE){const t=g;e.isPureXfa?console.warn("Warning: XFA-editing is not implemented."):Wv(t)?(this.#Gg=new aR(this.container,r,this.#S,a,e,n,this.#Ng,this.#U,this.#j),a.dispatch("annotationeditoruimanager",{source:this,uiManager:this.#Gg}),t!==sR.NONE&&this.#Gg.updateMode(t)):console.error(`Invalid AnnotationEditor mode: ${t}`)}const l=this._scrollMode===lF.PAGE?null:r,I=this.currentScale,d=A.getViewport({scale:I*GR.PDF_TO_CSS_UNITS});r.style.setProperty("--scale-factor",d.scale),"CanvasText"!==n?.foreground&&"Canvas"!==n?.background||(r.style.setProperty("--hcm-highlight-filter",e.filterFactory.addHighlightHCMFilter("highlight","CanvasText","Canvas","HighlightText","Highlight")),r.style.setProperty("--hcm-highlight-selected-filter",e.filterFactory.addHighlightHCMFilter("highlight_selected","CanvasText","Canvas","HighlightText","ButtonText")));for(let e=1;e<=t;++e){const t=new Jv({container:l,eventBus:a,id:e,scale:I,defaultViewport:d.clone(),optionalContentConfigPromise:i,renderingQueue:this.renderingQueue,textLayerMode:c,annotationMode:h,imageResourcesPath:this.imageResourcesPath,maxCanvasPixels:this.maxCanvasPixels,pageColors:n,l10n:this.l10n,layerProperties:this._layerProperties});this._pages.push(t)}this._pages[0]?.setPdfPage(A),this._scrollMode===lF.PAGE?this.#Xg():this._spreadMode!==IF.NONE&&this._updateSpreadMode(),this.#Vg(o).then((async()=>{if(e!==this.pdfDocument)return;if(this.findController?.setDocument(e),this._scriptingManager?.setDocument(e),this.#Hg&&document.addEventListener("copy",this.#Zg.bind(this,c),{signal:o}),this.#Gg&&a.dispatch("annotationeditormodechanged",{source:this,mode:this.#Mg}),e.loadingParams.disableAutoFetch||t>qv)return void this._pagesCapability.resolve();let A=t-1;if(A<=0)this._pagesCapability.resolve();else for(let i=2;i<=t;++i){const t=e.getPage(i).then((e=>{const t=this._pages[i-1];t.pdfPage||t.setPdfPage(e),0==--A&&this._pagesCapability.resolve()}),(e=>{console.error(`Unable to get page ${i} to initialize viewer`,e),0==--A&&this._pagesCapability.resolve()}));i%Ov==0&&await t}})),a.dispatch("pagesinit",{source:this}),e.getMetadata().then((({info:t})=>{e===this.pdfDocument&&t.Language&&(r.lang=t.Language)})),this.defaultRenderingQueue&&this.update()})).catch((e=>{console.error("Unable to initialize viewer",e),this._pagesCapability.reject(e)}))}setPageLabels(e){if(this.pdfDocument){e?Array.isArray(e)&&this.pdfDocument.numPages===e.length?this._pageLabels=e:(this._pageLabels=null,console.error("setPageLabels: Invalid page labels.")):this._pageLabels=null;for(let e=0,t=this._pages.length;e<t;e++)this._pages[e].setPageLabel(this._pageLabels?.[e]??null)}}_resetView(){this._pages=[],this._currentPageNumber=1,this._currentScale=0,this._currentScaleValue=null,this._pageLabels=null,this.#vg=new jv(10),this._location=null,this._pagesRotation=0,this._optionalContentConfigPromise=null,this._firstPageCapability=Promise.withResolvers(),this._onePageRenderedCapability=Promise.withResolvers(),this._pagesCapability=Promise.withResolvers(),this._scrollMode=lF.VERTICAL,this._previousScrollMode=lF.UNKNOWN,this._spreadMode=IF.NONE,this.#Kg={previousPageNumber:1,scrollDown:!0,pages:[]},this.#ro?.abort(),this.#ro=null,this.viewer.textContent="",this._updateScrollMode(),this.viewer.removeAttribute("lang"),this.#Hg?.remove(),this.#Hg=null}#Xg(){if(this._scrollMode!==lF.PAGE)throw new Error("#ensurePageViewVisible: Invalid scrollMode value.");const e=this._currentPageNumber,t=this.#Kg,A=this.viewer;if(A.textContent="",t.pages.length=0,this._spreadMode!==IF.NONE||this.isInPresentationMode){const i=new Set,s=this._spreadMode-1;-1===s?i.add(e-1):e%2!==s?(i.add(e-1),i.add(e)):(i.add(e-2),i.add(e-1));const a=document.createElement("div");if(a.className="spread",this.isInPresentationMode){const e=document.createElement("div");e.className="dummyPage",a.append(e)}for(const e of i){const A=this._pages[e];A&&(a.append(A.div),t.pages.push(A))}A.append(a)}else{const i=this._pages[e-1];A.append(i.div),t.pages.push(i)}t.scrollDown=e>=t.previousPageNumber,t.previousPageNumber=e}_scrollUpdate(){0!==this.pagesCount&&this.update()}#zg(e,t=null){const{div:A,id:i}=e;if(this._currentPageNumber!==i&&this._setCurrentPageNumber(i),this._scrollMode===lF.PAGE&&(this.#Xg(),this.update()),!t&&!this.isInPresentationMode){const e=A.offsetLeft+A.clientLeft,i=e+A.clientWidth,{scrollLeft:s,clientWidth:a}=this.container;(this._scrollMode===lF.HORIZONTAL||e<s||i>s+a)&&(t={left:0,top:0})}CF(A,t),!this._currentScaleValue&&this._location&&(this._location=null)}#$g(e){return e===this._currentScale||Math.abs(e-this._currentScale)<1e-15}#eh(e,t,{noScroll:A=!1,preset:i=!1,drawingDelay:s=-1,origin:a=null}){if(this._currentScaleValue=t.toString(),this.#$g(e))return void(i&&this.eventBus.dispatch("scalechanging",{source:this,scale:e,presetValue:t}));this.viewer.style.setProperty("--scale-factor",e*GR.PDF_TO_CSS_UNITS);const n=s>=0&&s<1e3;this.refresh(!0,{scale:e,drawingDelay:n?s:-1}),n&&(this.#_g=setTimeout((()=>{this.#_g=null,this.refresh()}),s));const r=this._currentScale;if(this._currentScale=e,!A){let t,A=this._currentPageNumber;if(!this._location||this.isInPresentationMode||this.isChangingPresentationMode||(A=this._location.pageNumber,t=[null,{name:"XYZ"},this._location.left,this._location.top,null]),this.scrollPageIntoView({pageNumber:A,destArray:t,allowNegativeOffset:!0}),Array.isArray(a)){const t=e/r-1,[A,i]=this.containerTopLeft;this.container.scrollLeft+=(a[0]-i)*t,this.container.scrollTop+=(a[1]-A)*t}}this.eventBus.dispatch("scalechanging",{source:this,scale:e,presetValue:i?t:void 0}),this.defaultRenderingQueue&&this.update()}get#th(){return this._spreadMode!==IF.NONE&&this._scrollMode!==lF.HORIZONTAL?2:1}#Wg(e,t){let A=parseFloat(e);if(A>0)t.preset=!1,this.#eh(A,e,t);else{const i=this._pages[this._currentPageNumber-1];if(!i)return;let s=40,a=5;this.isInPresentationMode?(s=a=4,this._spreadMode!==IF.NONE&&(s*=2)):this.removePageBorders?s=a=0:this._scrollMode===lF.HORIZONTAL&&([s,a]=[a,s]);const n=(this.container.clientWidth-s)/i.width*i.scale/this.#th,r=(this.container.clientHeight-a)/i.height*i.scale;switch(e){case"page-actual":A=1;break;case"page-width":A=n;break;case"page-height":A=r;break;case"page-fit":A=Math.min(n,r);break;case"auto":const t=yF(i)?n:Math.min(r,n);A=Math.min(1.25,t);break;default:return void console.error(`#setScale: "${e}" is an unknown zoom value.`)}t.preset=!0,this.#eh(A,e,t)}}#Og(){const e=this._pages[this._currentPageNumber-1];this.isInPresentationMode&&this.#Wg(this._currentScaleValue,{noScroll:!0}),this.#zg(e)}pageLabelToPageNumber(e){if(!this._pageLabels)return null;const t=this._pageLabels.indexOf(e);return t<0?null:t+1}scrollPageIntoView({pageNumber:e,destArray:t=null,allowNegativeOffset:A=!1,ignoreDestinationZoom:i=!1}){if(!this.pdfDocument)return;const s=Number.isInteger(e)&&this._pages[e-1];if(!s)return void console.error(`scrollPageIntoView: "${e}" is not a valid pageNumber parameter.`);if(this.isInPresentationMode||!t)return void this._setCurrentPageNumber(e,!0);let a,n,r=0,o=0,g=0,h=0;const c=s.rotation%180!=0,l=(c?s.height:s.width)/s.scale/GR.PDF_TO_CSS_UNITS,I=(c?s.width:s.height)/s.scale/GR.PDF_TO_CSS_UNITS;let d=0;switch(t[1].name){case"XYZ":r=t[2],o=t[3],d=t[4],r=null!==r?r:0,o=null!==o?o:I;break;case"Fit":case"FitB":d="page-fit";break;case"FitH":case"FitBH":o=t[2],d="page-width",null===o&&this._location?(r=this._location.left,o=this._location.top):("number"!=typeof o||o<0)&&(o=I);break;case"FitV":case"FitBV":r=t[2],g=l,h=I,d="page-height";break;case"FitR":r=t[2],o=t[3],g=t[4]-r,h=t[5]-o;let e=40,A=5;this.removePageBorders&&(e=A=0),a=(this.container.clientWidth-e)/g/GR.PDF_TO_CSS_UNITS,n=(this.container.clientHeight-A)/h/GR.PDF_TO_CSS_UNITS,d=Math.min(Math.abs(a),Math.abs(n));break;default:return void console.error(`scrollPageIntoView: "${t[1].name}" is not a valid destination type.`)}if(i||(d&&d!==this._currentScale?this.currentScaleValue=d:0===this._currentScale&&(this.currentScaleValue="auto")),"page-fit"===d&&!t[4])return void this.#zg(s);const C=[s.viewport.convertToViewportPoint(r,o),s.viewport.convertToViewportPoint(r+g,o+h)];let u=Math.min(C[0][0],C[1][0]),B=Math.min(C[0][1],C[1][1]);A||(u=Math.max(u,0),B=Math.max(B,0)),this.#zg(s,{left:u,top:B})}_updateLocation(e){const t=this._currentScale,A=this._currentScaleValue,i=parseFloat(A)===t?Math.round(1e4*t)/100:A,s=e.id,a=this._pages[s-1],n=this.container,r=a.getPagePoint(n.scrollLeft-e.x,n.scrollTop-e.y),o=Math.round(r[0]),g=Math.round(r[1]);let h=`#page=${s}`;this.isInPresentationMode||(h+=`&zoom=${i},${o},${g}`),this._location={pageNumber:s,scale:i,top:g,left:o,rotation:this._pagesRotation,pdfOpenParams:h}}update(){const e=this._getVisiblePages(),t=e.views,A=t.length;if(0===A)return;const i=Math.max(10,2*A+1);this.#vg.resize(i,e.ids),this.renderingQueue.renderHighestPriority(e);const s=this._spreadMode===IF.NONE&&(this._scrollMode===lF.PAGE||this._scrollMode===lF.VERTICAL),a=this._currentPageNumber;let n=!1;for(const e of t){if(e.percent<100)break;if(e.id===a&&s){n=!0;break}}this._setCurrentPageNumber(n?a:t[0].id),this._updateLocation(e.first),this.eventBus.dispatch("updateviewarea",{source:this,location:this._location})}containsElement(e){return this.container.contains(e)}focus(){this.container.focus()}get _isContainerRtl(){return"rtl"===getComputedStyle(this.container).direction}get isInPresentationMode(){return this.presentationModeState===oF}get isChangingPresentationMode(){return this.presentationModeState===rF}get isHorizontalScrollbarEnabled(){return!this.isInPresentationMode&&this.container.scrollWidth>this.container.clientWidth}get isVerticalScrollbarEnabled(){return!this.isInPresentationMode&&this.container.scrollHeight>this.container.clientHeight}_getVisiblePages(){const e=this._scrollMode===lF.PAGE?this.#Kg.pages:this._pages,t=this._scrollMode===lF.HORIZONTAL,A=t&&this._isContainerRtl;return function({scrollEl:e,views:t,sortByVisibility:A=!1,horizontal:i=!1,rtl:s=!1}){const a=e.scrollTop,n=a+e.clientHeight,r=e.scrollLeft,o=r+e.clientWidth,g=[],h=new Set,c=t.length;let l=EF(t,i?function(e){const t=e.div,A=t.offsetLeft+t.clientLeft,i=A+t.clientWidth;return s?A<o:i>r}:function(e){const t=e.div;return t.offsetTop+t.clientTop+t.clientHeight>a});l>0&&l<c&&!i&&(l=function(e,t,A){if(e<2)return e;let i=t[e].div,s=i.offsetTop+i.clientTop;s>=A&&(i=t[e-1].div,s=i.offsetTop+i.clientTop);for(let A=e-2;A>=0&&(i=t[A].div,!(i.offsetTop+i.clientTop+i.clientHeight<=s));--A)e=A;return e}(l,t,a));let I=i?o:-1;for(let e=l;e<c;e++){const A=t[e],s=A.div,c=s.offsetLeft+s.clientLeft,l=s.offsetTop+s.clientTop,d=s.clientWidth,C=s.clientHeight,u=c+d,B=l+C;if(-1===I)B>=n&&(I=B);else if((i?c:l)>I)break;if(B<=a||l>=n||u<=r||c>=o)continue;const Q=Math.max(0,a-l)+Math.max(0,B-n),E=(d-(Math.max(0,r-c)+Math.max(0,u-o)))/d,f=(C-Q)/C*E*100|0;g.push({id:A.id,x:c,y:l,view:A,percent:f,widthPercent:100*E|0}),h.add(A.id)}const d=g[0],C=g.at(-1);return A&&g.sort((function(e,t){const A=e.percent-t.percent;return Math.abs(A)>.001?-A:e.id-t.id})),{first:d,last:C,views:g,ids:h}}({scrollEl:this.container,views:e,sortByVisibility:!0,horizontal:t,rtl:A})}cleanup(){for(const e of this._pages)e.renderingState!==sF.FINISHED&&e.reset()}_cancelRendering(){for(const e of this._pages)e.cancelRendering()}async#Ah(e){if(e.pdfPage)return e.pdfPage;try{const t=await this.pdfDocument.getPage(e.id);return e.pdfPage||e.setPdfPage(t),t}catch(e){return console.error("Unable to get page for page view",e),null}}#ih(e){if(1===e.first?.id)return!0;if(e.last?.id===this.pagesCount)return!1;switch(this._scrollMode){case lF.PAGE:return this.#Kg.scrollDown;case lF.HORIZONTAL:return this.scroll.right}return this.scroll.down}forceRendering(e){const t=e||this._getVisiblePages(),A=this.#ih(t),i=this._spreadMode!==IF.NONE&&this._scrollMode!==lF.HORIZONTAL,s=this.renderingQueue.getHighestPriority(t,this._pages,A,i);return!!s&&(this.#Ah(s).then((()=>{this.renderingQueue.renderView(s)})),!0)}get hasEqualPageSizes(){const e=this._pages[0];for(let t=1,A=this._pages.length;t<A;++t){const A=this._pages[t];if(A.width!==e.width||A.height!==e.height)return!1}return!0}getPagesOverview(){let e;return this._pages.map((t=>{const A=t.pdfPage.getViewport({scale:1}),i=yF(A);if(void 0===e)e=i;else if(this.enablePrintAutoRotate&&i!==e)return{width:A.height,height:A.width,rotation:(A.rotation-90)%360};return{width:A.width,height:A.height,rotation:A.rotation}}))}get optionalContentConfigPromise(){return this.pdfDocument?this._optionalContentConfigPromise?this._optionalContentConfigPromise:(console.error("optionalContentConfigPromise: Not initialized yet."),this.pdfDocument.getOptionalContentConfig({intent:"display"})):Promise.resolve(null)}set optionalContentConfigPromise(e){if(!(e instanceof Promise))throw new Error(`Invalid optionalContentConfigPromise: ${e}`);this.pdfDocument&&this._optionalContentConfigPromise&&(this._optionalContentConfigPromise=e,this.refresh(!1,{optionalContentConfigPromise:e}),this.eventBus.dispatch("optionalcontentconfigchanged",{source:this,promise:e}))}get scrollMode(){return this._scrollMode}set scrollMode(e){if(this._scrollMode!==e){if(!function(e){return Number.isInteger(e)&&Object.values(lF).includes(e)&&e!==lF.UNKNOWN}(e))throw new Error(`Invalid scroll mode: ${e}`);this.pagesCount>_v||(this._previousScrollMode=this._scrollMode,this._scrollMode=e,this.eventBus.dispatch("scrollmodechanged",{source:this,mode:e}),this._updateScrollMode(this._currentPageNumber))}}_updateScrollMode(e=null){const t=this._scrollMode,A=this.viewer;A.classList.toggle("scrollHorizontal",t===lF.HORIZONTAL),A.classList.toggle("scrollWrapped",t===lF.WRAPPED),this.pdfDocument&&e&&(t===lF.PAGE?this.#Xg():this._previousScrollMode===lF.PAGE&&this._updateSpreadMode(),this._currentScaleValue&&isNaN(this._currentScaleValue)&&this.#Wg(this._currentScaleValue,{noScroll:!0}),this._setCurrentPageNumber(e,!0),this.update())}get spreadMode(){return this._spreadMode}set spreadMode(e){if(this._spreadMode!==e){if(!function(e){return Number.isInteger(e)&&Object.values(IF).includes(e)&&e!==IF.UNKNOWN}(e))throw new Error(`Invalid spread mode: ${e}`);this._spreadMode=e,this.eventBus.dispatch("spreadmodechanged",{source:this,mode:e}),this._updateSpreadMode(this._currentPageNumber)}}_updateSpreadMode(e=null){if(!this.pdfDocument)return;const t=this.viewer,A=this._pages;if(this._scrollMode===lF.PAGE)this.#Xg();else if(t.textContent="",this._spreadMode===IF.NONE)for(const e of this._pages)t.append(e.div);else{const e=this._spreadMode-1;let i=null;for(let s=0,a=A.length;s<a;++s)null===i?(i=document.createElement("div"),i.className="spread",t.append(i)):s%2===e&&(i=i.cloneNode(!1),t.append(i)),i.append(A[s].div)}e&&(this._currentScaleValue&&isNaN(this._currentScaleValue)&&this.#Wg(this._currentScaleValue,{noScroll:!0}),this._setCurrentPageNumber(e,!0),this.update())}_getPageAdvance(e,t=!1){switch(this._scrollMode){case lF.WRAPPED:{const{views:A}=this._getVisiblePages(),i=new Map;for(const{id:e,y:t,percent:s,widthPercent:a}of A){if(0===s||a<100)continue;let A=i.get(t);A||i.set(t,A||=[]),A.push(e)}for(const A of i.values()){const i=A.indexOf(e);if(-1===i)continue;const s=A.length;if(1===s)break;if(t)for(let t=i-1,s=0;t>=s;t--){const i=A[t],s=A[t+1]-1;if(i<s)return e-s}else for(let t=i+1,a=s;t<a;t++){const i=A[t],s=A[t-1]+1;if(i>s)return s-e}if(t){const t=A[0];if(t<e)return e-t+1}else{const t=A[s-1];if(t>e)return t-e+1}break}break}case lF.HORIZONTAL:break;case lF.PAGE:case lF.VERTICAL:{if(this._spreadMode===IF.NONE)break;const A=this._spreadMode-1;if(t&&e%2!==A)break;if(!t&&e%2===A)break;const{views:i}=this._getVisiblePages(),s=t?e-1:e+1;for(const{id:e,percent:t,widthPercent:A}of i)if(e===s){if(t>0&&100===A)return 2;break}break}}return 1}nextPage(){const e=this._currentPageNumber,t=this.pagesCount;if(e>=t)return!1;const A=this._getPageAdvance(e,!1)||1;return this.currentPageNumber=Math.min(e+A,t),!0}previousPage(){const e=this._currentPageNumber;if(e<=1)return!1;const t=this._getPageAdvance(e,!0)||1;return this.currentPageNumber=Math.max(e-t,1),!0}updateScale({drawingDelay:e,scaleFactor:t=null,steps:A=null,origin:i}){if(null===A&&null===t)throw new Error("Invalid updateScale options: either `steps` or `scaleFactor` must be provided.");if(!this.pdfDocument)return;let s=this._currentScale;if(t>0&&1!==t)s=Math.round(s*t*100)/100;else if(A){const e=A>0?1.1:1/1.1,t=A>0?Math.ceil:Math.floor;A=Math.abs(A);do{s=t(10*(s*e).toFixed(2))/10}while(--A>0)}s=Math.max(.1,Math.min(10,s)),this.#Wg(s,{noScroll:!1,drawingDelay:e,origin:i})}increaseScale(e={}){this.updateScale({...e,steps:e.steps??1})}decreaseScale(e={}){this.updateScale({...e,steps:-(e.steps??1)})}#qg(e=this.container.clientHeight){e!==this.#Tg&&(this.#Tg=e,wF.setProperty("--viewer-container-height",`${e}px`))}#Yg(e){for(const t of e)if(t.target===this.container){this.#qg(Math.floor(t.borderBoxSize[0].blockSize)),this.#Lg=null;break}}get containerTopLeft(){return this.#Lg||=[this.container.offsetTop,this.container.offsetLeft]}get annotationEditorMode(){return this.#Gg?this.#Mg:sR.DISABLE}set annotationEditorMode({mode:e,editId:t=null,isFromKeyboard:A=!1}){if(!this.#Gg)throw new Error("The AnnotationEditor is not enabled.");if(this.#Mg!==e){if(!Wv(e))throw new Error(`Invalid AnnotationEditor mode: ${e}`);this.pdfDocument&&(this.#Mg=e,this.eventBus.dispatch("annotationeditormodechanged",{source:this,mode:e}),this.#Gg.updateMode(e,t,A))}}set annotationEditorParams({type:e,value:t}){if(!this.#Gg)throw new Error("The AnnotationEditor is not enabled.");this.#Gg.updateParams(e,t)}refresh(e=!1,t=Object.create(null)){if(this.pdfDocument){for(const e of this._pages)e.update(t);null!==this.#_g&&(clearTimeout(this.#_g),this.#_g=null),e||this.update()}}}class Zv extends Vv{_resetView(){super._resetView(),this._scrollMode=lF.PAGE,this._spreadMode=IF.NONE}set scrollMode(e){}_updateScrollMode(){}set spreadMode(e){}_updateSpreadMode(){}}var Xv=iF.EventBus,zv=iF.PDFFindController,$v=iF.PDFLinkService,eN=iF.PDFViewer;function tN(t){const{disabled:A,onSearchAgain:i,onChange:s,initialSearch:g,totalMatches:h,currentMatch:c,buttonClass:l}=t,[I,d]=E(g),[C,u]=E(!1),B=f(),m=y();return C&&A&&u(!1),p((()=>{d(g)}),[g]),Q.createElement("div",{className:w("WACSearchBox",{"WACSearchBox--inputHasFocus":C})},Q.createElement(a,{className:"WACSearchBox__Icon"}),Q.createElement("input",{ref:B,className:"WACSearchBox__Input",type:"text","aria-label":m.documentViewer_search,placeholder:m.documentViewer_search,value:I,disabled:A,onChange:function(e){d(e.target.value),s(e.target.value)},onFocus:()=>u(!0),onBlur:()=>u(!1),onKeyDown:function(e){F(e)&&h&&i(!1)}}),Boolean(I)&&!A&&Q.createElement(Q.Fragment,null,Q.createElement("div",{className:"WACSearchBox__Matches"},Q.createElement("span",null,c),Q.createElement("span",null," / "),Q.createElement("span",null,h)),Q.createElement("div",{className:"WACPDFViewerHeader__Divider"}),Q.createElement(e,{className:`WACDirectionHasReversibleSVG ${l}`,kind:"ghost",size:D.LARGE,hasIconOnly:!0,iconDescription:m.documentViewer_previousMatch,onClick:()=>i(!0),disabled:0===h},Q.createElement(n,null)),Q.createElement(e,{className:`WACDirectionHasReversibleSVG ${l}`,kind:"ghost",size:D.LARGE,hasIconOnly:!0,iconDescription:m.documentViewer_nextMatch,onClick:()=>i(!1),disabled:0===h},Q.createElement(r,null)),Q.createElement(e,{className:l,kind:"ghost",size:D.LARGE,hasIconOnly:!0,iconDescription:m.documentViewer_clearSearch,onClick:function(){d(""),s(""),R(B)}},Q.createElement(o,null))))}const AN=700;function iN(s){const{url:a,title:n,initialSearch:r,currentPage:C,currentScale:u,totalPages:B,disabled:m,searchMatchesCount:b,direction:k,onClose:F,onSearch:x,onSearchAgain:v,onChangePage:N,onChangeScale:M}=s,G=f(),L=g(),U=`WACPDFViewer-${h()}${L.namespace.suffix}`,H=f(),J=y(),[K,_]=E(""),q=f(),O=c().width<AN;function W(){_(String(C))}function j(e){const t=e.target.value.replace(/[^0-9]/g,"");_(t);const A=Number(t);!Number.isNaN(A)&&A>0&&A<=B&&N(A)}return p((()=>{_(String(C))}),[C]),Q.createElement("div",{className:w("WACPDFViewerHeader",{"WACPDFViewerHeader--disabled":m}),ref:G,"data-floating-menu-container":!0},Q.createElement("div",{className:"WACPDFViewerHeader__TopRow"},Q.createElement("div",{className:"WACPDFViewerHeader__TitleRow"},Q.createElement("div",{className:"WACPDFViewerHeader__TitleLabel"},J.documentViewer_title),n&&Q.createElement("div",{className:"WACPDFViewerHeader__Title WACWidget__textEllipsis"},n)),Q.createElement(e,{ref:H,className:"WACPDFViewerHeader__HeaderButton WACPDFViewerHeader__CloseButton",kind:"ghost",size:D.LARGE,hasIconOnly:!0,iconDescription:J.documentViewer_close,onClick:F},Q.createElement(o,null))),Q.createElement("div",{className:"WACPDFViewerHeader__ButtonsRow"},Q.createElement(Q.Fragment,null,Q.createElement(e,{className:"WACPDFViewerHeader__HeaderButton",kind:"ghost",size:D.LARGE,hasIconOnly:!0,iconDescription:J.documentViewer_previousPage,onClick:()=>{sN(C-1)&&R(H),N(C-1)},disabled:m||sN(C)},Q.createElement(l,null)),Q.createElement(e,{className:"WACPDFViewerHeader__HeaderButton",kind:"ghost",size:D.LARGE,hasIconOnly:!0,iconDescription:J.documentViewer_nextPage,onClick:()=>{aN(C+1,B)&&R(H),N(C+1)},disabled:m||aN(C,B)},Q.createElement(I,null)),Q.createElement("div",{className:"WACPDFViewerHeader__PageInputWrapper"},Q.createElement(t,{className:"WACPDFViewerHeader__PageInput",id:`${U}-page`,"aria-label":J.documentViewer_currentPage,labelText:"",ref:q,value:K,size:"sm",onChange:j,onBlur:W,disabled:m})),Q.createElement("div",{className:"WACPDFViewerHeader__PageTotal"},"/ ",Q.createElement(S,{id:"documentViewer_pagesLabel",values:{count:B}}))),Q.createElement("div",{className:"WACPDFViewerHeader__Divider"}),Q.createElement(tN,{initialSearch:m?"":r,disabled:m,onChange:x,onSearchAgain:v,buttonClass:"WACPDFViewerHeader__HeaderButton",currentMatch:b?.current||0,totalMatches:b?.total||0}),Q.createElement("div",{className:"WACPDFViewerHeader__Divider"}),!O&&Q.createElement(Q.Fragment,null,Q.createElement(Q.Fragment,null,Q.createElement(e,{className:"WACPDFViewerHeader__HeaderButton",kind:"ghost",size:D.LARGE,hasIconOnly:!0,iconDescription:J.documentViewer_zoomIn,onClick:()=>{rN(u+.1)&&R(H),M(u+.1)},disabled:m||rN(u)},Q.createElement(T,null)),Q.createElement(e,{className:"WACPDFViewerHeader__HeaderButton",kind:"ghost",size:D.LARGE,hasIconOnly:!0,iconDescription:J.documentViewer_zoomOut,onClick:()=>{nN(u-.1)&&R(H),M(u-.1)},disabled:m||nN(u)},Q.createElement(P,null)),Q.createElement(e,{className:"WACPDFViewerHeader__HeaderButton",kind:"ghost",size:D.LARGE,hasIconOnly:!0,iconDescription:J.documentViewer_zoomReset,onClick:()=>M(1),disabled:m},Q.createElement(Y,null))),Q.createElement("div",{className:"WACPDFViewerHeader__Divider"}),Q.createElement(e,{className:"WACPDFViewerHeader__HeaderButton WACPDFViewerHeader__Download",kind:"ghost",size:D.LARGE,hasIconOnly:!0,as:"a",href:a,target:"_blank",iconDescription:J.documentViewer_download},Q.createElement(d,null))),O&&Q.createElement(A,{ariaLabel:J.components_overflow_ariaLabel,size:D.LARGE,flipped:"rtl"!==k,className:"WACPDFViewerHeader__Overflow"},Q.createElement(i,{itemText:J.documentViewer_zoomIn,onClick:()=>M(u+.1),disabled:rN(u)}),Q.createElement(i,{itemText:J.documentViewer_zoomOut,onClick:()=>M(u-.1),disabled:nN(u)}),Q.createElement(i,{itemText:J.documentViewer_zoomReset,onClick:()=>M(1)}),Q.createElement(i,{itemText:J.documentViewer_download,href:a,target:"_blank"}))))}function sN(e){return e<=1}function aN(e,t){return e>=t}function nN(e){return e<.2}function rN(e){return e>5}const oN=`\n self.onmessage = function(event) {\n // Initialize the WorkerMessageHandler for PDF.js\n (${tF.toString()})(event);\n };\n`,gN=new Blob([oN],{type:"application/javascript"}),hN=URL.createObjectURL(gN);var cN;function lN({url:t,onClose:A,title:i}){const a=f(),n=f(),r=y(),[o,g]=E(),[h,c]=E(1),[l,I]=E(""),[d,m]=E(),[w,D]=E(0),[S,F]=E(0),[R,x]=E(""),[v,N]=E(cN.LOADING),M=document.dir,G=v!==cN.LOADED;function L(){N(cN.LOADING)}return p((()=>{if(o){const e=b(t);x(e),I(e),async function(e,t,A,i,s,a,n,r,o,g){try{n(cN.LOADING);const g=await sa(e).promise,h=new Xv;r.current=h,h.on("updatefindcontrolstate",(e=>{i(e?.matchesCount)})),h.on("updatefindmatchescount",(e=>{i(e?.matchesCount)})),h.on("pagechanging",(e=>{s(e?.pageNumber||1)}));const c=new $v({eventBus:h}),l=new zv({eventBus:h,linkService:c}),I=new eN({container:A,eventBus:h,linkService:c,findController:l});o.current=I,c.setViewer(I),h.on("pagesinit",(()=>{n(cN.LOADED),I.currentScale=1,a(I.pagesCount),s(1),t&&h.dispatch("find",{type:"",query:t})})),I.setDocument(g),c.setDocument(g)}catch(t){k(`Web chat was unable to open the PDF "${e}" using its internal viewer. Web chat will attempt to open the PDF in a new browser window.`,t),window.open(e),g(),n(cN.ERROR)}}(t,e,o,m,D,F,N,a,n,A)}}),[o,t,A]),Q.createElement(C,null,Q.createElement(u,null,Q.createElement("div",{className:"WACPDFViewer",role:"dialog","aria-label":r.documentViewer_ariaRoleLabel},Q.createElement("div",{className:"WACBackgroundCover"}),Q.createElement("div",{className:"WACPDFViewer__Inner"},Q.createElement(iN,{title:i,url:t,currentScale:h,searchMatchesCount:d,initialSearch:R,currentPage:w,totalPages:S,direction:M,onClose:A,onSearch:function(e){I(e),a.current?.dispatch("find",{type:"",query:e,highlightAll:!0})},onSearchAgain:function(e){a.current?.dispatch("find",{type:"again",query:l,highlightAll:!0,findPrevious:e})},onChangePage:function(e){n.current.currentPageNumber=e},onChangeScale:function(e){c(e),n.current.currentScaleValue=String(e)},disabled:G}),Q.createElement("div",{className:"WACPDFViewer__Document"},v!==cN.ERROR&&Q.createElement("div",{className:"WACPDFViewer__Container WACScrollFocus",ref:g,tabIndex:G?void 0:0},Q.createElement("div",{className:"WACPDFViewer__Viewer pdfViewer"})),v===cN.LOADING&&Q.createElement(B,null,Q.createElement("div",{className:"WACPDFViewer__Loading"},Q.createElement(s,{withOverlay:!1}))),v===cN.ERROR&&Q.createElement("div",{className:"WACPDFViewer__ErrorContainer"},Q.createElement("div",{className:"WACPDFViewer__Error"},Q.createElement("div",{className:"WACPDFViewer__ErrorTitle"},r.documentViewer_loadErrorTitle),Q.createElement("div",{className:"WACPDFViewer__ErrorMessage"},r.documentViewer_loadError),Q.createElement(e,{className:"WACPDFViewer__ErrorRetry",size:"md",onClick:L},r.documentViewer_loadErrorRetry))))))))}ia.workerSrc=hN,function(e){e[e.LOADING=1]="LOADING",e[e.LOADED=2]="LOADED",e[e.ERROR=3]="ERROR"}(cN||(cN={}));export{lN as PDFViewerContainer,lN as default};
1
+ import{Button as e,TextInput as t,OverflowMenu as r,OverflowMenuItem as a,Loading as n}from"@carbon/react";import{S as i,C as l,a as c,b as o,u as s,c as m,d,e as u,f as w,D as h,M as E,F as p,g as _}from"./App.js";import{GlobalWorkerOptions as C,getDocument as g}from"pdfjs-dist";import{WorkerMessageHandler as f}from"pdfjs-dist/build/pdf.worker.mjs";import{EventBus as A,PDFLinkService as D,PDFFindController as v,PDFViewer as V}from"pdfjs-dist/web/pdf_viewer.mjs";import P,{useState as N,useRef as W,useEffect as F}from"react";import{I as b,B as H,z as S,a1 as R}from"./moduleFederationPluginUtils.js";import{b6 as L,t as z}from"./aiChatEntry2.js";import{FormattedMessage as k}from"react-intl";import{p as x,e as O}from"./domUtils.js";import"./_commonjsHelpers.js";import"react-redux";import"./humanAgentUtils.js";import"./messageUtils.js";import"@lit/react";import"lit";import"lit/decorators.js";import"lit/directives/unsafe-html.js";import"lit/directives/class-map.js";import"lit/directive.js";import"lit/async-directive.js";import"lit/directives/if-defined.js";import"lit-html/directives/repeat.js";import"react-dom";import"react-is";var B,y,I,M,j,G,T,$,U;const Z=P.forwardRef((function(e,t){let{children:r,size:a=16,...n}=e;return 16===a||"16"===a||"16px"===a?P.createElement(b,{width:a,height:a,ref:t,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",fill:"currentColor",...n},B||(B=P.createElement("path",{d:"M9 6L7 6 7 4 6 4 6 6 4 6 4 7 6 7 6 9 7 9 7 7 9 7z"})),y||(y=P.createElement("path",{d:"M10.7,10C11.5,9,12,7.8,12,6.5C12,3.5,9.5,1,6.5,1S1,3.5,1,6.5S3.5,12,6.5,12c1.3,0,2.5-0.5,3.5-1.3l3.8,3.8l0.7-0.7 L10.7,10z M6.5,11C4,11,2,9,2,6.5S4,2,6.5,2S11,4,11,6.5S9,11,6.5,11L6.5,11z"})),r):P.createElement(b,{width:a,height:a,ref:t,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor",...n},I||(I=P.createElement("path",{d:"M18 12L14 12 14 8 12 8 12 12 8 12 8 14 12 14 12 18 14 18 14 14 18 14 18 12z"})),M||(M=P.createElement("path",{d:"M21.4479,20A10.856,10.856,0,0,0,24,13,11,11,0,1,0,13,24a10.856,10.856,0,0,0,7-2.5521L27.5859,29,29,27.5859ZM13,22a9,9,0,1,1,9-9A9.01,9.01,0,0,1,13,22Z"})),r)})),q=P.forwardRef((function(e,t){let{children:r,size:a=16,...n}=e;return 16===a||"16"===a||"16px"===a?P.createElement(b,{width:a,height:a,ref:t,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",fill:"currentColor",...n},j||(j=P.createElement("path",{d:"M4 6H9V7H4z"})),G||(G=P.createElement("path",{d:"M10.7,10C11.5,9,12,7.8,12,6.5C12,3.5,9.5,1,6.5,1S1,3.5,1,6.5S3.5,12,6.5,12c1.3,0,2.5-0.5,3.5-1.3l3.8,3.8l0.7-0.7 L10.7,10z M6.5,11C4,11,2,9,2,6.5S4,2,6.5,2S11,4,11,6.5S9,11,6.5,11L6.5,11z"})),r):P.createElement(b,{width:a,height:a,ref:t,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor",...n},T||(T=P.createElement("path",{d:"M8 12H18V14H8z"})),$||($=P.createElement("path",{d:"M21.4479,20A10.856,10.856,0,0,0,24,13,11,11,0,1,0,13,24a10.856,10.856,0,0,0,7-2.5521L27.5859,29,29,27.5859ZM13,22a9,9,0,1,1,9-9A9.01,9.01,0,0,1,13,22Z"})),r)})),K=P.forwardRef((function(e,t){let{children:r,size:a=16,...n}=e;return P.createElement(b,{width:a,height:a,ref:t,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor",...n},U||(U=P.createElement("path",{d:"M22.4478,21A10.855,10.855,0,0,0,25,14,10.99,10.99,0,0,0,6,6.4658V2H4v8h8V8H7.332a8.9768,8.9768,0,1,1-2.1,8H3.1912A11.0118,11.0118,0,0,0,14,25a10.855,10.855,0,0,0,7-2.5522L28.5859,30,30,28.5859Z"})),r)}));function J(t){const{disabled:r,onSearchAgain:a,onChange:n,initialSearch:s,totalMatches:m,currentMatch:d,buttonClass:u}=t,[w,h]=N(s),[E,p]=N(!1),_=W(),C=H();return E&&r&&p(!1),F((()=>{h(s)}),[s]),P.createElement("div",{className:S("WACSearchBox",{"WACSearchBox--inputHasFocus":E})},P.createElement(i,{className:"WACSearchBox__Icon"}),P.createElement("input",{ref:_,className:"WACSearchBox__Input",type:"text","aria-label":C.documentViewer_search,placeholder:C.documentViewer_search,value:w,disabled:r,onChange:function(e){h(e.target.value),n(e.target.value)},onFocus:()=>p(!0),onBlur:()=>p(!1),onKeyDown:function(e){x(e)&&m&&a(!1)}}),Boolean(w)&&!r&&P.createElement(P.Fragment,null,P.createElement("div",{className:"WACSearchBox__Matches"},P.createElement("span",null,d),P.createElement("span",null," / "),P.createElement("span",null,m)),P.createElement("div",{className:"WACPDFViewerHeader__Divider"}),P.createElement(e,{className:`WACDirectionHasReversibleSVG ${u}`,kind:"ghost",size:L.LARGE,hasIconOnly:!0,iconDescription:C.documentViewer_previousMatch,onClick:()=>a(!0),disabled:0===m},P.createElement(l,null)),P.createElement(e,{className:`WACDirectionHasReversibleSVG ${u}`,kind:"ghost",size:L.LARGE,hasIconOnly:!0,iconDescription:C.documentViewer_nextMatch,onClick:()=>a(!1),disabled:0===m},P.createElement(c,null)),P.createElement(e,{className:u,kind:"ghost",size:L.LARGE,hasIconOnly:!0,iconDescription:C.documentViewer_clearSearch,onClick:function(){h(""),n(""),O(_)}},P.createElement(o,null))))}const Q=700;function X(n){const{url:i,title:l,initialSearch:c,currentPage:E,currentScale:p,totalPages:_,disabled:C,searchMatchesCount:g,direction:f,onClose:A,onSearch:D,onSearchAgain:v,onChangePage:V,onChangeScale:b}=n,R=W(),z=s(),x=`WACPDFViewer-${m()}${z.namespace.suffix}`,B=W(),y=H(),[I,M]=N(""),j=W(),G=d().width<Q;function T(){M(String(E))}function $(e){const t=e.target.value.replace(/[^0-9]/g,"");M(t);const r=Number(t);!Number.isNaN(r)&&r>0&&r<=_&&V(r)}return F((()=>{M(String(E))}),[E]),P.createElement("div",{className:S("WACPDFViewerHeader",{"WACPDFViewerHeader--disabled":C}),ref:R,"data-floating-menu-container":!0},P.createElement("div",{className:"WACPDFViewerHeader__TopRow"},P.createElement("div",{className:"WACPDFViewerHeader__TitleRow"},P.createElement("div",{className:"WACPDFViewerHeader__TitleLabel"},y.documentViewer_title),l&&P.createElement("div",{className:"WACPDFViewerHeader__Title WACWidget__textEllipsis"},l)),P.createElement(e,{ref:B,className:"WACPDFViewerHeader__HeaderButton WACPDFViewerHeader__CloseButton",kind:"ghost",size:L.LARGE,hasIconOnly:!0,iconDescription:y.documentViewer_close,onClick:A},P.createElement(o,null))),P.createElement("div",{className:"WACPDFViewerHeader__ButtonsRow"},P.createElement(P.Fragment,null,P.createElement(e,{className:"WACPDFViewerHeader__HeaderButton",kind:"ghost",size:L.LARGE,hasIconOnly:!0,iconDescription:y.documentViewer_previousPage,onClick:()=>{Y(E-1)&&O(B),V(E-1)},disabled:C||Y(E)},P.createElement(u,null)),P.createElement(e,{className:"WACPDFViewerHeader__HeaderButton",kind:"ghost",size:L.LARGE,hasIconOnly:!0,iconDescription:y.documentViewer_nextPage,onClick:()=>{ee(E+1,_)&&O(B),V(E+1)},disabled:C||ee(E,_)},P.createElement(w,null)),P.createElement("div",{className:"WACPDFViewerHeader__PageInputWrapper"},P.createElement(t,{className:"WACPDFViewerHeader__PageInput",id:`${x}-page`,"aria-label":y.documentViewer_currentPage,labelText:"",ref:j,value:I,size:"sm",onChange:$,onBlur:T,disabled:C})),P.createElement("div",{className:"WACPDFViewerHeader__PageTotal"},"/ ",P.createElement(k,{id:"documentViewer_pagesLabel",values:{count:_}}))),P.createElement("div",{className:"WACPDFViewerHeader__Divider"}),P.createElement(J,{initialSearch:C?"":c,disabled:C,onChange:D,onSearchAgain:v,buttonClass:"WACPDFViewerHeader__HeaderButton",currentMatch:g?.current||0,totalMatches:g?.total||0}),P.createElement("div",{className:"WACPDFViewerHeader__Divider"}),!G&&P.createElement(P.Fragment,null,P.createElement(P.Fragment,null,P.createElement(e,{className:"WACPDFViewerHeader__HeaderButton",kind:"ghost",size:L.LARGE,hasIconOnly:!0,iconDescription:y.documentViewer_zoomIn,onClick:()=>{re(p+.1)&&O(B),b(p+.1)},disabled:C||re(p)},P.createElement(Z,null)),P.createElement(e,{className:"WACPDFViewerHeader__HeaderButton",kind:"ghost",size:L.LARGE,hasIconOnly:!0,iconDescription:y.documentViewer_zoomOut,onClick:()=>{te(p-.1)&&O(B),b(p-.1)},disabled:C||te(p)},P.createElement(q,null)),P.createElement(e,{className:"WACPDFViewerHeader__HeaderButton",kind:"ghost",size:L.LARGE,hasIconOnly:!0,iconDescription:y.documentViewer_zoomReset,onClick:()=>b(1),disabled:C},P.createElement(K,null))),P.createElement("div",{className:"WACPDFViewerHeader__Divider"}),P.createElement(e,{className:"WACPDFViewerHeader__HeaderButton WACPDFViewerHeader__Download",kind:"ghost",size:L.LARGE,hasIconOnly:!0,as:"a",href:i,target:"_blank",iconDescription:y.documentViewer_download},P.createElement(h,null))),G&&P.createElement(r,{ariaLabel:y.components_overflow_ariaLabel,size:L.LARGE,flipped:"rtl"!==f,className:"WACPDFViewerHeader__Overflow"},P.createElement(a,{itemText:y.documentViewer_zoomIn,onClick:()=>b(p+.1),disabled:re(p)}),P.createElement(a,{itemText:y.documentViewer_zoomOut,onClick:()=>b(p-.1),disabled:te(p)}),P.createElement(a,{itemText:y.documentViewer_zoomReset,onClick:()=>b(1)}),P.createElement(a,{itemText:y.documentViewer_download,href:i,target:"_blank"}))))}function Y(e){return e<=1}function ee(e,t){return e>=t}function te(e){return e<.2}function re(e){return e>5}const ae=`\n self.onmessage = function(event) {\n // Initialize the WorkerMessageHandler for PDF.js\n (${f.toString()})(event);\n };\n`,ne=new Blob([ae],{type:"application/javascript"}),ie=URL.createObjectURL(ne);var le;function ce({url:t,onClose:r,title:a}){const i=W(),l=W(),c=H(),[o,s]=N(),[m,d]=N(1),[u,w]=N(""),[h,C]=N(),[f,b]=N(0),[S,L]=N(0),[k,x]=N(""),[O,B]=N(le.LOADING),y=document.dir,I=O!==le.LOADED;function M(){B(le.LOADING)}return F((()=>{if(o){const e=R(t);x(e),w(e),async function(e,t,r,a,n,i,l,c,o,s){try{l(le.LOADING);const s=await g(e).promise,m=new A;c.current=m,m.on("updatefindcontrolstate",(e=>{a(e?.matchesCount)})),m.on("updatefindmatchescount",(e=>{a(e?.matchesCount)})),m.on("pagechanging",(e=>{n(e?.pageNumber||1)}));const d=new D({eventBus:m}),u=new v({eventBus:m,linkService:d}),w=new V({container:r,eventBus:m,linkService:d,findController:u});o.current=w,d.setViewer(w),m.on("pagesinit",(()=>{l(le.LOADED),w.currentScale=1,i(w.pagesCount),n(1),t&&m.dispatch("find",{type:"",query:t})})),w.setDocument(s),d.setDocument(s)}catch(t){z(`Web chat was unable to open the PDF "${e}" using its internal viewer. Web chat will attempt to open the PDF in a new browser window.`,t),window.open(e),s(),l(le.ERROR)}}(t,e,o,C,b,L,B,i,l,r)}}),[o,t,r]),P.createElement(E,null,P.createElement(p,null,P.createElement("div",{className:"WACPDFViewer",role:"dialog","aria-label":c.documentViewer_ariaRoleLabel},P.createElement("div",{className:"WACBackgroundCover"}),P.createElement("div",{className:"WACPDFViewer__Inner"},P.createElement(X,{title:a,url:t,currentScale:m,searchMatchesCount:h,initialSearch:k,currentPage:f,totalPages:S,direction:y,onClose:r,onSearch:function(e){w(e),i.current?.dispatch("find",{type:"",query:e,highlightAll:!0})},onSearchAgain:function(e){i.current?.dispatch("find",{type:"again",query:u,highlightAll:!0,findPrevious:e})},onChangePage:function(e){l.current.currentPageNumber=e},onChangeScale:function(e){d(e),l.current.currentScaleValue=String(e)},disabled:I}),P.createElement("div",{className:"WACPDFViewer__Document"},O!==le.ERROR&&P.createElement("div",{className:"WACPDFViewer__Container WACScrollFocus",ref:s,tabIndex:I?void 0:0},P.createElement("div",{className:"WACPDFViewer__Viewer pdfViewer"})),O===le.LOADING&&P.createElement(_,null,P.createElement("div",{className:"WACPDFViewer__Loading"},P.createElement(n,{withOverlay:!1}))),O===le.ERROR&&P.createElement("div",{className:"WACPDFViewer__ErrorContainer"},P.createElement("div",{className:"WACPDFViewer__Error"},P.createElement("div",{className:"WACPDFViewer__ErrorTitle"},c.documentViewer_loadErrorTitle),P.createElement("div",{className:"WACPDFViewer__ErrorMessage"},c.documentViewer_loadError),P.createElement(e,{className:"WACPDFViewer__ErrorRetry",size:"md",onClick:M},c.documentViewer_loadErrorRetry))))))))}C.workerSrc=ie,function(e){e[e.LOADING=1]="LOADING",e[e.LOADED=2]="LOADED",e[e.ERROR=3]="ERROR"}(le||(le={}));export{ce as PDFViewerContainer,ce as default};