@trebco/treb 30.15.0 → 30.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/treb-export-worker.mjs +1 -1
- package/dist/treb-spreadsheet.mjs +11 -11
- package/dist/treb.d.ts +1 -1
- package/package.json +1 -1
- package/treb-charts/src/chart-functions.ts +41 -4
- package/treb-charts/src/chart-types.ts +20 -1
- package/treb-charts/src/chart-utils.ts +86 -9
- package/treb-charts/src/default-chart-renderer.ts +40 -1
- package/treb-charts/src/renderer.ts +3 -3
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! TREB v30.
|
|
1
|
+
/*! TREB v30.16.0. Copyright 2018-2024 trebco, llc. All rights reserved. LGPL: https://treb.app/license */
|
|
2
2
|
var e='var Zn=Object.create;var lr=Object.defineProperty;var Mn=Object.getOwnPropertyDescriptor;var Fn=Object.getOwnPropertyNames;var $n=Object.getPrototypeOf,kn=Object.prototype.hasOwnProperty;var se=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports);var En=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Fn(e))!kn.call(n,i)&&i!==t&&lr(n,i,{get:()=>e[i],enumerable:!(r=Mn(e,i))||r.enumerable});return n};var Te=(n,e,t)=>(t=n!=null?Zn($n(n)):{},En(e||!n||!n.__esModule?lr(t,"default",{value:n,enumerable:!0}):t,n));var it=se(nt=>{"use strict";nt.byteLength=Wn;nt.toByteArray=zn;nt.fromByteArray=Ln;var be=[],ce=[],Rn=typeof Uint8Array<"u"?Uint8Array:Array,Pt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(Pe=0,cr=Pt.length;Pe<cr;++Pe)be[Pe]=Pt[Pe],ce[Pt.charCodeAt(Pe)]=Pe;var Pe,cr;ce[45]=62;ce[95]=63;function dr(n){var e=n.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var t=n.indexOf("=");t===-1&&(t=e);var r=t===e?0:4-t%4;return[t,r]}function Wn(n){var e=dr(n),t=e[0],r=e[1];return(t+r)*3/4-r}function Gn(n,e,t){return(e+t)*3/4-t}function zn(n){var e,t=dr(n),r=t[0],i=t[1],s=new Rn(Gn(n,r,i)),o=0,a=i>0?r-4:r,l;for(l=0;l<a;l+=4)e=ce[n.charCodeAt(l)]<<18|ce[n.charCodeAt(l+1)]<<12|ce[n.charCodeAt(l+2)]<<6|ce[n.charCodeAt(l+3)],s[o++]=e>>16&255,s[o++]=e>>8&255,s[o++]=e&255;return i===2&&(e=ce[n.charCodeAt(l)]<<2|ce[n.charCodeAt(l+1)]>>4,s[o++]=e&255),i===1&&(e=ce[n.charCodeAt(l)]<<10|ce[n.charCodeAt(l+1)]<<4|ce[n.charCodeAt(l+2)]>>2,s[o++]=e>>8&255,s[o++]=e&255),s}function Un(n){return be[n>>18&63]+be[n>>12&63]+be[n>>6&63]+be[n&63]}function Bn(n,e,t){for(var r,i=[],s=e;s<t;s+=3)r=(n[s]<<16&16711680)+(n[s+1]<<8&65280)+(n[s+2]&255),i.push(Un(r));return i.join("")}function Ln(n){for(var e,t=n.length,r=t%3,i=[],s=16383,o=0,a=t-r;o<a;o+=s)i.push(Bn(n,o,o+s>a?a:o+s));return r===1?(e=n[t-1],i.push(be[e>>2]+be[e<<4&63]+"==")):r===2&&(e=(n[t-2]<<8)+n[t-1],i.push(be[e>>10]+be[e>>4&63]+be[e<<2&63]+"=")),i.join("")}});var lt=se(xe=>{"use strict";var fr=":A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD",Kn=fr+"\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040",mr="["+fr+"]["+Kn+"]*",ei=new RegExp("^"+mr+"$"),ti=function(n,e){let t=[],r=e.exec(n);for(;r;){let i=[];i.startIndex=e.lastIndex-r[0].length;let s=r.length;for(let o=0;o<s;o++)i.push(r[o]);t.push(i),r=e.exec(n)}return t},ri=function(n){let e=ei.exec(n);return!(e===null||typeof e>"u")};xe.isExist=function(n){return typeof n<"u"};xe.isEmptyObject=function(n){return Object.keys(n).length===0};xe.merge=function(n,e,t){if(e){let r=Object.keys(e),i=r.length;for(let s=0;s<i;s++)t==="strict"?n[r[s]]=[e[r[s]]]:n[r[s]]=e[r[s]]}};xe.getValue=function(n){return xe.isExist(n)?n:""};xe.isName=ri;xe.getAllMatches=ti;xe.nameRegexp=mr});var kt=se(xr=>{"use strict";var $t=lt(),ni={allowBooleanAttributes:!1,unpairedTags:[]};xr.validate=function(n,e){e=Object.assign({},ni,e);let t=[],r=!1,i=!1;n[0]==="\\uFEFF"&&(n=n.substr(1));for(let s=0;s<n.length;s++)if(n[s]==="<"&&n[s+1]==="?"){if(s+=2,s=br(n,s),s.err)return s}else if(n[s]==="<"){let o=s;if(s++,n[s]==="!"){s=gr(n,s);continue}else{let a=!1;n[s]==="/"&&(a=!0,s++);let l="";for(;s<n.length&&n[s]!==">"&&n[s]!==" "&&n[s]!==" "&&n[s]!==`\n`&&n[s]!=="\\r";s++)l+=n[s];if(l=l.trim(),l[l.length-1]==="/"&&(l=l.substring(0,l.length-1),s--),!hi(l)){let h;return l.trim().length===0?h="Invalid space after \'<\'.":h="Tag \'"+l+"\' is an invalid name.",j("InvalidTag",h,ne(n,s))}let d=ai(n,s);if(d===!1)return j("InvalidAttr","Attributes for \'"+l+"\' have open quote.",ne(n,s));let c=d.value;if(s=d.index,c[c.length-1]==="/"){let h=s-c.length;c=c.substring(0,c.length-1);let m=yr(c,e);if(m===!0)r=!0;else return j(m.err.code,m.err.msg,ne(n,h+m.err.line))}else if(a)if(d.tagClosed){if(c.trim().length>0)return j("InvalidTag","Closing tag \'"+l+"\' can\'t have attributes or invalid starting.",ne(n,o));if(t.length===0)return j("InvalidTag","Closing tag \'"+l+"\' has not been opened.",ne(n,o));{let h=t.pop();if(l!==h.tagName){let m=ne(n,h.tagStartPos);return j("InvalidTag","Expected closing tag \'"+h.tagName+"\' (opened in line "+m.line+", col "+m.col+") instead of closing tag \'"+l+"\'.",ne(n,o))}t.length==0&&(i=!0)}}else return j("InvalidTag","Closing tag \'"+l+"\' doesn\'t have proper closing.",ne(n,s));else{let h=yr(c,e);if(h!==!0)return j(h.err.code,h.err.msg,ne(n,s-c.length+h.err.line));if(i===!0)return j("InvalidXml","Multiple possible root nodes found.",ne(n,s));e.unpairedTags.indexOf(l)!==-1||t.push({tagName:l,tagStartPos:o}),r=!0}for(s++;s<n.length;s++)if(n[s]==="<")if(n[s+1]==="!"){s++,s=gr(n,s);continue}else if(n[s+1]==="?"){if(s=br(n,++s),s.err)return s}else break;else if(n[s]==="&"){let h=ci(n,s);if(h==-1)return j("InvalidChar","char \'&\' is not expected.",ne(n,s));s=h}else if(i===!0&&!pr(n[s]))return j("InvalidXml","Extra text at the end",ne(n,s));n[s]==="<"&&s--}}else{if(pr(n[s]))continue;return j("InvalidChar","char \'"+n[s]+"\' is not expected.",ne(n,s))}if(r){if(t.length==1)return j("InvalidTag","Unclosed tag \'"+t[0].tagName+"\'.",ne(n,t[0].tagStartPos));if(t.length>0)return j("InvalidXml","Invalid \'"+JSON.stringify(t.map(s=>s.tagName),null,4).replace(/\\r?\\n/g,"")+"\' found.",{line:1,col:1})}else return j("InvalidXml","Start tag expected.",1);return!0};function pr(n){return n===" "||n===" "||n===`\n`||n==="\\r"}function br(n,e){let t=e;for(;e<n.length;e++)if(n[e]=="?"||n[e]==" "){let r=n.substr(t,e-t);if(e>5&&r==="xml")return j("InvalidXml","XML declaration allowed only at the start of the document.",ne(n,e));if(n[e]=="?"&&n[e+1]==">"){e++;break}else continue}return e}function gr(n,e){if(n.length>e+5&&n[e+1]==="-"&&n[e+2]==="-"){for(e+=3;e<n.length;e++)if(n[e]==="-"&&n[e+1]==="-"&&n[e+2]===">"){e+=2;break}}else if(n.length>e+8&&n[e+1]==="D"&&n[e+2]==="O"&&n[e+3]==="C"&&n[e+4]==="T"&&n[e+5]==="Y"&&n[e+6]==="P"&&n[e+7]==="E"){let t=1;for(e+=8;e<n.length;e++)if(n[e]==="<")t++;else if(n[e]===">"&&(t--,t===0))break}else if(n.length>e+9&&n[e+1]==="["&&n[e+2]==="C"&&n[e+3]==="D"&&n[e+4]==="A"&&n[e+5]==="T"&&n[e+6]==="A"&&n[e+7]==="["){for(e+=8;e<n.length;e++)if(n[e]==="]"&&n[e+1]==="]"&&n[e+2]===">"){e+=2;break}}return e}var ii=\'"\',si="\'";function ai(n,e){let t="",r="",i=!1;for(;e<n.length;e++){if(n[e]===ii||n[e]===si)r===""?r=n[e]:r!==n[e]||(r="");else if(n[e]===">"&&r===""){i=!0;break}t+=n[e]}return r!==""?!1:{value:t,index:e,tagClosed:i}}var oi=new RegExp(`(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*([\'"])(([\\\\s\\\\S])*?)\\\\5)?`,"g");function yr(n,e){let t=$t.getAllMatches(n,oi),r={};for(let i=0;i<t.length;i++){if(t[i][1].length===0)return j("InvalidAttr","Attribute \'"+t[i][2]+"\' has no space in starting.",Ve(t[i]));if(t[i][3]!==void 0&&t[i][4]===void 0)return j("InvalidAttr","Attribute \'"+t[i][2]+"\' is without value.",Ve(t[i]));if(t[i][3]===void 0&&!e.allowBooleanAttributes)return j("InvalidAttr","boolean attribute \'"+t[i][2]+"\' is not allowed.",Ve(t[i]));let s=t[i][2];if(!di(s))return j("InvalidAttr","Attribute \'"+s+"\' is an invalid name.",Ve(t[i]));if(!r.hasOwnProperty(s))r[s]=1;else return j("InvalidAttr","Attribute \'"+s+"\' is repeated.",Ve(t[i]))}return!0}function li(n,e){let t=/\\d/;for(n[e]==="x"&&(e++,t=/[\\da-fA-F]/);e<n.length;e++){if(n[e]===";")return e;if(!n[e].match(t))break}return-1}function ci(n,e){if(e++,n[e]===";")return-1;if(n[e]==="#")return e++,li(n,e);let t=0;for(;e<n.length;e++,t++)if(!(n[e].match(/\\w/)&&t<20)){if(n[e]===";")break;return-1}return e}function j(n,e,t){return{err:{code:n,msg:e,line:t.line||t,col:t.col}}}function di(n){return $t.isName(n)}function hi(n){return $t.isName(n)}function ne(n,e){let t=n.substring(0,e).split(/\\r?\\n/);return{line:t.length,col:t[t.length-1].length+1}}function Ve(n){return n.startIndex+n[1].length}});var wr=se(Et=>{var _r={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(n,e){return e},attributeValueProcessor:function(n,e){return e},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(n,e,t){return n}},ui=function(n){return Object.assign({},_r,n)};Et.buildOptions=ui;Et.defaultOptions=_r});var Cr=se((oo,Ar)=>{"use strict";var Rt=class{constructor(e){this.tagname=e,this.child=[],this[":@"]={}}add(e,t){e==="__proto__"&&(e="#__proto__"),this.child.push({[e]:t})}addChild(e){e.tagname==="__proto__"&&(e.tagname="#__proto__"),e[":@"]&&Object.keys(e[":@"]).length>0?this.child.push({[e.tagname]:e.child,":@":e[":@"]}):this.child.push({[e.tagname]:e.child})}};Ar.exports=Rt});var Ir=se((lo,vr)=>{var fi=lt();function mi(n,e){let t={};if(n[e+3]==="O"&&n[e+4]==="C"&&n[e+5]==="T"&&n[e+6]==="Y"&&n[e+7]==="P"&&n[e+8]==="E"){e=e+9;let r=1,i=!1,s=!1,o="";for(;e<n.length;e++)if(n[e]==="<"&&!s){if(i&&gi(n,e))e+=7,[entityName,val,e]=pi(n,e+1),val.indexOf("&")===-1&&(t[wi(entityName)]={regx:RegExp(`&${entityName};`,"g"),val});else if(i&&yi(n,e))e+=8;else if(i&&xi(n,e))e+=8;else if(i&&_i(n,e))e+=9;else if(bi)s=!0;else throw new Error("Invalid DOCTYPE");r++,o=""}else if(n[e]===">"){if(s?n[e-1]==="-"&&n[e-2]==="-"&&(s=!1,r--):r--,r===0)break}else n[e]==="["?i=!0:o+=n[e];if(r!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:t,i:e}}function pi(n,e){let t="";for(;e<n.length&&n[e]!=="\'"&&n[e]!==\'"\';e++)t+=n[e];if(t=t.trim(),t.indexOf(" ")!==-1)throw new Error("External entites are not supported");let r=n[e++],i="";for(;e<n.length&&n[e]!==r;e++)i+=n[e];return[t,i,e]}function bi(n,e){return n[e+1]==="!"&&n[e+2]==="-"&&n[e+3]==="-"}function gi(n,e){return n[e+1]==="!"&&n[e+2]==="E"&&n[e+3]==="N"&&n[e+4]==="T"&&n[e+5]==="I"&&n[e+6]==="T"&&n[e+7]==="Y"}function yi(n,e){return n[e+1]==="!"&&n[e+2]==="E"&&n[e+3]==="L"&&n[e+4]==="E"&&n[e+5]==="M"&&n[e+6]==="E"&&n[e+7]==="N"&&n[e+8]==="T"}function xi(n,e){return n[e+1]==="!"&&n[e+2]==="A"&&n[e+3]==="T"&&n[e+4]==="T"&&n[e+5]==="L"&&n[e+6]==="I"&&n[e+7]==="S"&&n[e+8]==="T"}function _i(n,e){return n[e+1]==="!"&&n[e+2]==="N"&&n[e+3]==="O"&&n[e+4]==="T"&&n[e+5]==="A"&&n[e+6]==="T"&&n[e+7]==="I"&&n[e+8]==="O"&&n[e+9]==="N"}function wi(n){if(fi.isName(n))return n;throw new Error(`Invalid entity name ${n}`)}vr.exports=mi});var Sr=se((co,Nr)=>{var Ai=/^[-+]?0x[a-fA-F0-9]+$/,Ci=/^([\\-\\+])?(0*)(\\.[0-9]+([eE]\\-?[0-9]+)?|[0-9]+(\\.[0-9]+([eE]\\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt);!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);var vi={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function Ii(n,e={}){if(e=Object.assign({},vi,e),!n||typeof n!="string")return n;let t=n.trim();if(e.skipLike!==void 0&&e.skipLike.test(t))return n;if(e.hex&&Ai.test(t))return Number.parseInt(t,16);{let r=Ci.exec(t);if(r){let i=r[1],s=r[2],o=Ni(r[3]),a=r[4]||r[6];if(!e.leadingZeros&&s.length>0&&i&&t[2]!==".")return n;if(!e.leadingZeros&&s.length>0&&!i&&t[1]!==".")return n;{let l=Number(t),d=""+l;return d.search(/[eE]/)!==-1||a?e.eNotation?l:n:t.indexOf(".")!==-1?d==="0"&&o===""||d===o||i&&d==="-"+o?l:n:s?o===d||i+o===d?l:n:t===d||t===i+d?l:n}}else return n}}function Ni(n){return n&&n.indexOf(".")!==-1&&(n=n.replace(/0+$/,""),n==="."?n="0":n[0]==="."?n="0"+n:n[n.length-1]==="."&&(n=n.substr(0,n.length-1))),n}Nr.exports=Ii});var Zr=se((ho,Pr)=>{"use strict";var Tr=lt(),Oe=Cr(),Si=Ir(),Ti=Sr(),Wt=class{constructor(e){this.options=e,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"\'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:\'"\'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"\\xA2"},pound:{regex:/&(pound|#163);/g,val:"\\xA3"},yen:{regex:/&(yen|#165);/g,val:"\\xA5"},euro:{regex:/&(euro|#8364);/g,val:"\\u20AC"},copyright:{regex:/&(copy|#169);/g,val:"\\xA9"},reg:{regex:/&(reg|#174);/g,val:"\\xAE"},inr:{regex:/&(inr|#8377);/g,val:"\\u20B9"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(t,r)=>String.fromCharCode(Number.parseInt(r,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(t,r)=>String.fromCharCode(Number.parseInt(r,16))}},this.addExternalEntities=Pi,this.parseXml=ki,this.parseTextData=Zi,this.resolveNameSpace=Mi,this.buildAttributesMap=$i,this.isItStopNode=Gi,this.replaceEntitiesValue=Ri,this.readStopNodeData=Ui,this.saveTextToParentTag=Wi,this.addChild=Ei}};function Pi(n){let e=Object.keys(n);for(let t=0;t<e.length;t++){let r=e[t];this.lastEntities[r]={regex:new RegExp("&"+r+";","g"),val:n[r]}}}function Zi(n,e,t,r,i,s,o){if(n!==void 0&&(this.options.trimValues&&!r&&(n=n.trim()),n.length>0)){o||(n=this.replaceEntitiesValue(n));let a=this.options.tagValueProcessor(e,n,t,i,s);return a==null?n:typeof a!=typeof n||a!==n?a:this.options.trimValues?zt(n,this.options.parseTagValue,this.options.numberParseOptions):n.trim()===n?zt(n,this.options.parseTagValue,this.options.numberParseOptions):n}}function Mi(n){if(this.options.removeNSPrefix){let e=n.split(":"),t=n.charAt(0)==="/"?"/":"";if(e[0]==="xmlns")return"";e.length===2&&(n=t+e[1])}return n}var Fi=new RegExp(`([^\\\\s=]+)\\\\s*(=\\\\s*([\'"])([\\\\s\\\\S]*?)\\\\3)?`,"gm");function $i(n,e,t){if(!this.options.ignoreAttributes&&typeof n=="string"){let r=Tr.getAllMatches(n,Fi),i=r.length,s={};for(let o=0;o<i;o++){let a=this.resolveNameSpace(r[o][1]),l=r[o][4],d=this.options.attributeNamePrefix+a;if(a.length)if(this.options.transformAttributeName&&(d=this.options.transformAttributeName(d)),d==="__proto__"&&(d="#__proto__"),l!==void 0){this.options.trimValues&&(l=l.trim()),l=this.replaceEntitiesValue(l);let c=this.options.attributeValueProcessor(a,l,e);c==null?s[d]=l:typeof c!=typeof l||c!==l?s[d]=c:s[d]=zt(l,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(s[d]=!0)}if(!Object.keys(s).length)return;if(this.options.attributesGroupName){let o={};return o[this.options.attributesGroupName]=s,o}return s}}var ki=function(n){n=n.replace(/\\r\\n?/g,`\n`);let e=new Oe("!xml"),t=e,r="",i="";for(let s=0;s<n.length;s++)if(n[s]==="<")if(n[s+1]==="/"){let a=Fe(n,">",s,"Closing Tag is not closed."),l=n.substring(s+2,a).trim();if(this.options.removeNSPrefix){let h=l.indexOf(":");h!==-1&&(l=l.substr(h+1))}this.options.transformTagName&&(l=this.options.transformTagName(l)),t&&(r=this.saveTextToParentTag(r,t,i));let d=i.substring(i.lastIndexOf(".")+1);if(l&&this.options.unpairedTags.indexOf(l)!==-1)throw new Error(`Unpaired tag can not be used as closing tag: </${l}>`);let c=0;d&&this.options.unpairedTags.indexOf(d)!==-1?(c=i.lastIndexOf(".",i.lastIndexOf(".")-1),this.tagsNodeStack.pop()):c=i.lastIndexOf("."),i=i.substring(0,c),t=this.tagsNodeStack.pop(),r="",s=a}else if(n[s+1]==="?"){let a=Gt(n,s,!1,"?>");if(!a)throw new Error("Pi Tag is not closed.");if(r=this.saveTextToParentTag(r,t,i),!(this.options.ignoreDeclaration&&a.tagName==="?xml"||this.options.ignorePiTags)){let l=new Oe(a.tagName);l.add(this.options.textNodeName,""),a.tagName!==a.tagExp&&a.attrExpPresent&&(l[":@"]=this.buildAttributesMap(a.tagExp,i,a.tagName)),this.addChild(t,l,i)}s=a.closeIndex+1}else if(n.substr(s+1,3)==="!--"){let a=Fe(n,"-->",s+4,"Comment is not closed.");if(this.options.commentPropName){let l=n.substring(s+4,a-2);r=this.saveTextToParentTag(r,t,i),t.add(this.options.commentPropName,[{[this.options.textNodeName]:l}])}s=a}else if(n.substr(s+1,2)==="!D"){let a=Si(n,s);this.docTypeEntities=a.entities,s=a.i}else if(n.substr(s+1,2)==="!["){let a=Fe(n,"]]>",s,"CDATA is not closed.")-2,l=n.substring(s+9,a);r=this.saveTextToParentTag(r,t,i);let d=this.parseTextData(l,t.tagname,i,!0,!1,!0,!0);d==null&&(d=""),this.options.cdataPropName?t.add(this.options.cdataPropName,[{[this.options.textNodeName]:l}]):t.add(this.options.textNodeName,d),s=a+2}else{let a=Gt(n,s,this.options.removeNSPrefix),l=a.tagName,d=a.rawTagName,c=a.tagExp,h=a.attrExpPresent,m=a.closeIndex;this.options.transformTagName&&(l=this.options.transformTagName(l)),t&&r&&t.tagname!=="!xml"&&(r=this.saveTextToParentTag(r,t,i,!1));let u=t;if(u&&this.options.unpairedTags.indexOf(u.tagname)!==-1&&(t=this.tagsNodeStack.pop(),i=i.substring(0,i.lastIndexOf("."))),l!==e.tagname&&(i+=i?"."+l:l),this.isItStopNode(this.options.stopNodes,i,l)){let f="";if(c.length>0&&c.lastIndexOf("/")===c.length-1)l[l.length-1]==="/"?(l=l.substr(0,l.length-1),i=i.substr(0,i.length-1),c=l):c=c.substr(0,c.length-1),s=a.closeIndex;else if(this.options.unpairedTags.indexOf(l)!==-1)s=a.closeIndex;else{let _=this.readStopNodeData(n,d,m+1);if(!_)throw new Error(`Unexpected end of ${d}`);s=_.i,f=_.tagContent}let g=new Oe(l);l!==c&&h&&(g[":@"]=this.buildAttributesMap(c,i,l)),f&&(f=this.parseTextData(f,l,i,!0,h,!0,!0)),i=i.substr(0,i.lastIndexOf(".")),g.add(this.options.textNodeName,f),this.addChild(t,g,i)}else{if(c.length>0&&c.lastIndexOf("/")===c.length-1){l[l.length-1]==="/"?(l=l.substr(0,l.length-1),i=i.substr(0,i.length-1),c=l):c=c.substr(0,c.length-1),this.options.transformTagName&&(l=this.options.transformTagName(l));let f=new Oe(l);l!==c&&h&&(f[":@"]=this.buildAttributesMap(c,i,l)),this.addChild(t,f,i),i=i.substr(0,i.lastIndexOf("."))}else{let f=new Oe(l);this.tagsNodeStack.push(t),l!==c&&h&&(f[":@"]=this.buildAttributesMap(c,i,l)),this.addChild(t,f,i),t=f}r="",s=m}}else r+=n[s];return e.child};function Ei(n,e,t){let r=this.options.updateTag(e.tagname,t,e[":@"]);r===!1||(typeof r=="string"&&(e.tagname=r),n.addChild(e))}var Ri=function(n){if(this.options.processEntities){for(let e in this.docTypeEntities){let t=this.docTypeEntities[e];n=n.replace(t.regx,t.val)}for(let e in this.lastEntities){let t=this.lastEntities[e];n=n.replace(t.regex,t.val)}if(this.options.htmlEntities)for(let e in this.htmlEntities){let t=this.htmlEntities[e];n=n.replace(t.regex,t.val)}n=n.replace(this.ampEntity.regex,this.ampEntity.val)}return n};function Wi(n,e,t,r){return n&&(r===void 0&&(r=Object.keys(e.child).length===0),n=this.parseTextData(n,e.tagname,t,!1,e[":@"]?Object.keys(e[":@"]).length!==0:!1,r),n!==void 0&&n!==""&&e.add(this.options.textNodeName,n),n=""),n}function Gi(n,e,t){let r="*."+t;for(let i in n){let s=n[i];if(r===s||e===s)return!0}return!1}function zi(n,e,t=">"){let r,i="";for(let s=e;s<n.length;s++){let o=n[s];if(r)o===r&&(r="");else if(o===\'"\'||o==="\'")r=o;else if(o===t[0])if(t[1]){if(n[s+1]===t[1])return{data:i,index:s}}else return{data:i,index:s};else o===" "&&(o=" ");i+=o}}function Fe(n,e,t,r){let i=n.indexOf(e,t);if(i===-1)throw new Error(r);return i+e.length-1}function Gt(n,e,t,r=">"){let i=zi(n,e+1,r);if(!i)return;let s=i.data,o=i.index,a=s.search(/\\s/),l=s,d=!0;a!==-1&&(l=s.substring(0,a),s=s.substring(a+1).trimStart());let c=l;if(t){let h=l.indexOf(":");h!==-1&&(l=l.substr(h+1),d=l!==i.data.substr(h+1))}return{tagName:l,tagExp:s,closeIndex:o,attrExpPresent:d,rawTagName:c}}function Ui(n,e,t){let r=t,i=1;for(;t<n.length;t++)if(n[t]==="<")if(n[t+1]==="/"){let s=Fe(n,">",t,`${e} is not closed`);if(n.substring(t+2,s).trim()===e&&(i--,i===0))return{tagContent:n.substring(r,t),i:s};t=s}else if(n[t+1]==="?")t=Fe(n,"?>",t+1,"StopNode is not closed.");else if(n.substr(t+1,3)==="!--")t=Fe(n,"-->",t+3,"StopNode is not closed.");else if(n.substr(t+1,2)==="![")t=Fe(n,"]]>",t,"StopNode is not closed.")-2;else{let s=Gt(n,t,">");s&&((s&&s.tagName)===e&&s.tagExp[s.tagExp.length-1]!=="/"&&i++,t=s.closeIndex)}}function zt(n,e,t){if(e&&typeof n=="string"){let r=n.trim();return r==="true"?!0:r==="false"?!1:Ti(n,t)}else return Tr.isExist(n)?n:""}Pr.exports=Wt});var $r=se(Fr=>{"use strict";function Bi(n,e){return Mr(n,e)}function Mr(n,e,t){let r,i={};for(let s=0;s<n.length;s++){let o=n[s],a=Li(o),l="";if(t===void 0?l=a:l=t+"."+a,a===e.textNodeName)r===void 0?r=o[a]:r+=""+o[a];else{if(a===void 0)continue;if(o[a]){let d=Mr(o[a],e,l),c=Oi(d,e);o[":@"]?Vi(d,o[":@"],l,e):Object.keys(d).length===1&&d[e.textNodeName]!==void 0&&!e.alwaysCreateTextNode?d=d[e.textNodeName]:Object.keys(d).length===0&&(e.alwaysCreateTextNode?d[e.textNodeName]="":d=""),i[a]!==void 0&&i.hasOwnProperty(a)?(Array.isArray(i[a])||(i[a]=[i[a]]),i[a].push(d)):e.isArray(a,l,c)?i[a]=[d]:i[a]=d}}}return typeof r=="string"?r.length>0&&(i[e.textNodeName]=r):r!==void 0&&(i[e.textNodeName]=r),i}function Li(n){let e=Object.keys(n);for(let t=0;t<e.length;t++){let r=e[t];if(r!==":@")return r}}function Vi(n,e,t,r){if(e){let i=Object.keys(e),s=i.length;for(let o=0;o<s;o++){let a=i[o];r.isArray(a,t+"."+a,!0,!0)?n[a]=[e[a]]:n[a]=e[a]}}}function Oi(n,e){let{textNodeName:t}=e,r=Object.keys(n).length;return!!(r===0||r===1&&(n[t]||typeof n[t]=="boolean"||n[t]===0))}Fr.prettify=Bi});var Er=se((fo,kr)=>{var{buildOptions:Di}=wr(),Yi=Zr(),{prettify:ji}=$r(),Hi=kt(),Ut=class{constructor(e){this.externalEntities={},this.options=Di(e)}parse(e,t){if(typeof e!="string")if(e.toString)e=e.toString();else throw new Error("XML data is accepted in String or Bytes[] form.");if(t){t===!0&&(t={});let s=Hi.validate(e,t);if(s!==!0)throw Error(`${s.err.msg}:${s.err.line}:${s.err.col}`)}let r=new Yi(this.options);r.addExternalEntities(this.externalEntities);let i=r.parseXml(e);return this.options.preserveOrder||i===void 0?i:ji(i,this.options)}addEntity(e,t){if(t.indexOf("&")!==-1)throw new Error("Entity value can\'t have \'&\'");if(e.indexOf("&")!==-1||e.indexOf(";")!==-1)throw new Error("An entity must be set without \'&\' and \';\'. Eg. use \'#xD\' for \'
\'");if(t==="&")throw new Error("An entity with value \'&\' is not permitted");this.externalEntities[e]=t}};kr.exports=Ut});var Ur=se((mo,zr)=>{var Ji=`\n`;function Xi(n,e){let t="";return e.format&&e.indentBy.length>0&&(t=Ji),Wr(n,e,"",t)}function Wr(n,e,t,r){let i="",s=!1;for(let o=0;o<n.length;o++){let a=n[o],l=Qi(a);if(l===void 0)continue;let d="";if(t.length===0?d=l:d=`${t}.${l}`,l===e.textNodeName){let f=a[l];qi(d,e)||(f=e.tagValueProcessor(l,f),f=Gr(f,e)),s&&(i+=r),i+=f,s=!1;continue}else if(l===e.cdataPropName){s&&(i+=r),i+=`<![CDATA[${a[l][0][e.textNodeName]}]]>`,s=!1;continue}else if(l===e.commentPropName){i+=r+`<!--${a[l][0][e.textNodeName]}-->`,s=!0;continue}else if(l[0]==="?"){let f=Rr(a[":@"],e),g=l==="?xml"?"":r,_=a[l][0][e.textNodeName];_=_.length!==0?" "+_:"",i+=g+`<${l}${_}${f}?>`,s=!0;continue}let c=r;c!==""&&(c+=e.indentBy);let h=Rr(a[":@"],e),m=r+`<${l}${h}`,u=Wr(a[l],e,d,c);e.unpairedTags.indexOf(l)!==-1?e.suppressUnpairedNode?i+=m+">":i+=m+"/>":(!u||u.length===0)&&e.suppressEmptyNode?i+=m+"/>":u&&u.endsWith(">")?i+=m+`>${u}${r}</${l}>`:(i+=m+">",u&&r!==""&&(u.includes("/>")||u.includes("</"))?i+=r+e.indentBy+u+r:i+=u,i+=`</${l}>`),s=!0}return i}function Qi(n){let e=Object.keys(n);for(let t=0;t<e.length;t++){let r=e[t];if(n.hasOwnProperty(r)&&r!==":@")return r}}function Rr(n,e){let t="";if(n&&!e.ignoreAttributes)for(let r in n){if(!n.hasOwnProperty(r))continue;let i=e.attributeValueProcessor(r,n[r]);i=Gr(i,e),i===!0&&e.suppressBooleanAttributes?t+=` ${r.substr(e.attributeNamePrefix.length)}`:t+=` ${r.substr(e.attributeNamePrefix.length)}="${i}"`}return t}function qi(n,e){n=n.substr(0,n.length-e.textNodeName.length-1);let t=n.substr(n.lastIndexOf(".")+1);for(let r in e.stopNodes)if(e.stopNodes[r]===n||e.stopNodes[r]==="*."+t)return!0;return!1}function Gr(n,e){if(n&&n.length>0&&e.processEntities)for(let t=0;t<e.entities.length;t++){let r=e.entities[t];n=n.replace(r.regex,r.val)}return n}zr.exports=Xi});var Lr=se((po,Br)=>{"use strict";var Ki=Ur(),es={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(n,e){return e},attributeValueProcessor:function(n,e){return e},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&"},{regex:new RegExp(">","g"),val:">"},{regex:new RegExp("<","g"),val:"<"},{regex:new RegExp("\'","g"),val:"'"},{regex:new RegExp(\'"\',"g"),val:"""}],processEntities:!0,stopNodes:[],oneListGroup:!1};function Ie(n){this.options=Object.assign({},es,n),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=ns),this.processTextOrObjNode=ts,this.options.format?(this.indentate=rs,this.tagEndChar=`>\n`,this.newLine=`\n`):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}Ie.prototype.build=function(n){return this.options.preserveOrder?Ki(n,this.options):(Array.isArray(n)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(n={[this.options.arrayNodeName]:n}),this.j2x(n,0).val)};Ie.prototype.j2x=function(n,e){let t="",r="";for(let i in n)if(Object.prototype.hasOwnProperty.call(n,i))if(typeof n[i]>"u")this.isAttribute(i)&&(r+="");else if(n[i]===null)this.isAttribute(i)?r+="":i[0]==="?"?r+=this.indentate(e)+"<"+i+"?"+this.tagEndChar:r+=this.indentate(e)+"<"+i+"/"+this.tagEndChar;else if(n[i]instanceof Date)r+=this.buildTextValNode(n[i],i,"",e);else if(typeof n[i]!="object"){let s=this.isAttribute(i);if(s)t+=this.buildAttrPairStr(s,""+n[i]);else if(i===this.options.textNodeName){let o=this.options.tagValueProcessor(i,""+n[i]);r+=this.replaceEntitiesValue(o)}else r+=this.buildTextValNode(n[i],i,"",e)}else if(Array.isArray(n[i])){let s=n[i].length,o="",a="";for(let l=0;l<s;l++){let d=n[i][l];if(!(typeof d>"u"))if(d===null)i[0]==="?"?r+=this.indentate(e)+"<"+i+"?"+this.tagEndChar:r+=this.indentate(e)+"<"+i+"/"+this.tagEndChar;else if(typeof d=="object")if(this.options.oneListGroup){let c=this.j2x(d,e+1);o+=c.val,this.options.attributesGroupName&&d.hasOwnProperty(this.options.attributesGroupName)&&(a+=c.attrStr)}else o+=this.processTextOrObjNode(d,i,e);else if(this.options.oneListGroup){let c=this.options.tagValueProcessor(i,d);c=this.replaceEntitiesValue(c),o+=c}else o+=this.buildTextValNode(d,i,"",e)}this.options.oneListGroup&&(o=this.buildObjectNode(o,i,a,e)),r+=o}else if(this.options.attributesGroupName&&i===this.options.attributesGroupName){let s=Object.keys(n[i]),o=s.length;for(let a=0;a<o;a++)t+=this.buildAttrPairStr(s[a],""+n[i][s[a]])}else r+=this.processTextOrObjNode(n[i],i,e);return{attrStr:t,val:r}};Ie.prototype.buildAttrPairStr=function(n,e){return e=this.options.attributeValueProcessor(n,""+e),e=this.replaceEntitiesValue(e),this.options.suppressBooleanAttributes&&e==="true"?" "+n:" "+n+\'="\'+e+\'"\'};function ts(n,e,t){let r=this.j2x(n,t+1);return n[this.options.textNodeName]!==void 0&&Object.keys(n).length===1?this.buildTextValNode(n[this.options.textNodeName],e,r.attrStr,t):this.buildObjectNode(r.val,e,r.attrStr,t)}Ie.prototype.buildObjectNode=function(n,e,t,r){if(n==="")return e[0]==="?"?this.indentate(r)+"<"+e+t+"?"+this.tagEndChar:this.indentate(r)+"<"+e+t+this.closeTag(e)+this.tagEndChar;{let i="</"+e+this.tagEndChar,s="";return e[0]==="?"&&(s="?",i=""),(t||t==="")&&n.indexOf("<")===-1?this.indentate(r)+"<"+e+t+s+">"+n+i:this.options.commentPropName!==!1&&e===this.options.commentPropName&&s.length===0?this.indentate(r)+`<!--${n}-->`+this.newLine:this.indentate(r)+"<"+e+t+s+this.tagEndChar+n+this.indentate(r)+i}};Ie.prototype.closeTag=function(n){let e="";return this.options.unpairedTags.indexOf(n)!==-1?this.options.suppressUnpairedNode||(e="/"):this.options.suppressEmptyNode?e="/":e=`></${n}`,e};Ie.prototype.buildTextValNode=function(n,e,t,r){if(this.options.cdataPropName!==!1&&e===this.options.cdataPropName)return this.indentate(r)+`<![CDATA[${n}]]>`+this.newLine;if(this.options.commentPropName!==!1&&e===this.options.commentPropName)return this.indentate(r)+`<!--${n}-->`+this.newLine;if(e[0]==="?")return this.indentate(r)+"<"+e+t+"?"+this.tagEndChar;{let i=this.options.tagValueProcessor(e,n);return i=this.replaceEntitiesValue(i),i===""?this.indentate(r)+"<"+e+t+this.closeTag(e)+this.tagEndChar:this.indentate(r)+"<"+e+t+">"+i+"</"+e+this.tagEndChar}};Ie.prototype.replaceEntitiesValue=function(n){if(n&&n.length>0&&this.options.processEntities)for(let e=0;e<this.options.entities.length;e++){let t=this.options.entities[e];n=n.replace(t.regex,t.val)}return n};function rs(n){return this.options.indentBy.repeat(n)}function ns(n){return n.startsWith(this.options.attributeNamePrefix)&&n!==this.options.textNodeName?n.substr(this.attrPrefixLen):!1}Br.exports=Ie});var ct=se((bo,Vr)=>{"use strict";var is=kt(),ss=Er(),as=Lr();Vr.exports={XMLParser:ss,XMLValidator:is,XMLBuilder:as}});var An=se((Fl,ir)=>{var p={};typeof ir=="object"&&(ir.exports=p);p.parse=function(n,e){for(var t=p.bin.readUshort,r=p.bin.readUint,a=0,i={},s=new Uint8Array(n),o=s.length-4;r(s,o)!=101010256;)o--;var a=o;a+=4,a+=4;var l=t(s,a);a+=2;var d=t(s,a);a+=2;var c=r(s,a);a+=4;var h=r(s,a);a+=4,a=h;for(var m=0;m<l;m++){var u=r(s,a);a+=4,a+=4,a+=4,a+=4;var f=r(s,a);a+=4;var c=r(s,a);a+=4;var g=r(s,a);a+=4;var _=t(s,a),A=t(s,a+2),w=t(s,a+4);a+=6,a+=8;var b=r(s,a);a+=4,a+=_+A+w,p._readLocal(s,b,i,c,g,e)}return i};p._readLocal=function(n,e,t,r,i,s){var o=p.bin.readUshort,a=p.bin.readUint,l=a(n,e);e+=4;var d=o(n,e);e+=2;var c=o(n,e);e+=2;var h=o(n,e);e+=2;var m=a(n,e);e+=4;var u=a(n,e);e+=4,e+=8;var f=o(n,e);e+=2;var g=o(n,e);e+=2;var _=p.bin.readUTF8(n,e,f);if(e+=f,e+=g,s){t[_]={size:i,csize:r};return}var A=new Uint8Array(n.buffer,e);if(h==0)t[_]=new Uint8Array(A.buffer.slice(e,e+r));else if(h==8){var w=new Uint8Array(i);p.inflateRaw(A,w),t[_]=w}else throw"unknown compression method: "+h};p.inflateRaw=function(n,e){return p.F.inflate(n,e)};p.inflate=function(n,e){var t=n[0],r=n[1],i=t&15,s=t>>>4;return p.inflateRaw(new Uint8Array(n.buffer,n.byteOffset+2,n.length-6),e)};p.deflate=function(n,e){e==null&&(e={level:6});var t=0,r=new Uint8Array(50+Math.floor(n.length*1.1));r[t]=120,r[t+1]=156,t+=2,t=p.F.deflateRaw(n,r,t,e.level);var i=p.adler(n,0,n.length);return r[t+0]=i>>>24&255,r[t+1]=i>>>16&255,r[t+2]=i>>>8&255,r[t+3]=i>>>0&255,new Uint8Array(r.buffer,0,t+4)};p.deflateRaw=function(n,e){e==null&&(e={level:6});var t=new Uint8Array(50+Math.floor(n.length*1.1)),r=p.F.deflateRaw(n,t,r,e.level);return new Uint8Array(t.buffer,0,r)};p.encode=function(n,e){e==null&&(e=!1);var t=0,r=p.bin.writeUint,i=p.bin.writeUshort,s={};for(var o in n){var a=!p._noNeed(o)&&!e,l=n[o],d=p.crc.crc(l,0,l.length);s[o]={cpr:a,usize:l.length,crc:d,file:a?p.deflateRaw(l):l}}for(var o in s)t+=s[o].file.length+30+46+2*p.bin.sizeUTF8(o);t+=22;var c=new Uint8Array(t),h=0,m=[];for(var o in s){var u=s[o];m.push(h),h=p._writeHeader(c,h,o,u,0)}var f=0,g=h;for(var o in s){var u=s[o];m.push(h),h=p._writeHeader(c,h,o,u,1,m[f++])}var _=h-g;return r(c,h,101010256),h+=4,h+=4,i(c,h,f),h+=2,i(c,h,f),h+=2,r(c,h,_),h+=4,r(c,h,g),h+=4,h+=2,c.buffer};p._noNeed=function(n){var e=n.split(".").pop().toLowerCase();return"png,jpg,jpeg,zip".indexOf(e)!=-1};p._writeHeader=function(n,e,t,r,i,s){var o=p.bin.writeUint,a=p.bin.writeUshort,l=r.file;o(n,e,i==0?67324752:33639248),e+=4,i==1&&(e+=2),a(n,e,20),e+=2,a(n,e,0),e+=2,a(n,e,r.cpr?8:0),e+=2,o(n,e,0),e+=4,o(n,e,r.crc),e+=4,o(n,e,l.length),e+=4,o(n,e,r.usize),e+=4,a(n,e,p.bin.sizeUTF8(t)),e+=2,a(n,e,0),e+=2,i==1&&(e+=2,e+=2,e+=6,o(n,e,s),e+=4);var d=p.bin.writeUTF8(n,e,t);return e+=d,i==0&&(n.set(l,e),e+=l.length),e};p.crc={table:function(){for(var n=new Uint32Array(256),e=0;e<256;e++){for(var t=e,r=0;r<8;r++)t&1?t=3988292384^t>>>1:t=t>>>1;n[e]=t}return n}(),update:function(n,e,t,r){for(var i=0;i<r;i++)n=p.crc.table[(n^e[t+i])&255]^n>>>8;return n},crc:function(n,e,t){return p.crc.update(4294967295,n,e,t)^4294967295}};p.adler=function(n,e,t){for(var r=1,i=0,s=e,o=e+t;s<o;){for(var a=Math.min(s+5552,o);s<a;)r+=n[s++],i+=r;r=r%65521,i=i%65521}return i<<16|r};p.bin={readUshort:function(n,e){return n[e]|n[e+1]<<8},writeUshort:function(n,e,t){n[e]=t&255,n[e+1]=t>>8&255},readUint:function(n,e){return n[e+3]*(256*256*256)+(n[e+2]<<16|n[e+1]<<8|n[e])},writeUint:function(n,e,t){n[e]=t&255,n[e+1]=t>>8&255,n[e+2]=t>>16&255,n[e+3]=t>>24&255},readASCII:function(n,e,t){for(var r="",i=0;i<t;i++)r+=String.fromCharCode(n[e+i]);return r},writeASCII:function(n,e,t){for(var r=0;r<t.length;r++)n[e+r]=t.charCodeAt(r)},pad:function(n){return n.length<2?"0"+n:n},readUTF8:function(n,e,t){for(var r="",i,s=0;s<t;s++)r+="%"+p.bin.pad(n[e+s].toString(16));try{i=decodeURIComponent(r)}catch{return p.bin.readASCII(n,e,t)}return i},writeUTF8:function(n,e,t){for(var r=t.length,i=0,s=0;s<r;s++){var o=t.charCodeAt(s);if(!(o&4294967168))n[e+i]=o,i++;else if(!(o&4294965248))n[e+i]=192|o>>6,n[e+i+1]=128|o>>0&63,i+=2;else if(!(o&4294901760))n[e+i]=224|o>>12,n[e+i+1]=128|o>>6&63,n[e+i+2]=128|o>>0&63,i+=3;else if(!(o&4294967295-(1<<21)+1))n[e+i]=240|o>>18,n[e+i+1]=128|o>>12&63,n[e+i+2]=128|o>>6&63,n[e+i+3]=128|o>>0&63,i+=4;else throw"e"}return i},sizeUTF8:function(n){for(var e=n.length,t=0,r=0;r<e;r++){var i=n.charCodeAt(r);if(!(i&4294967168))t++;else if(!(i&4294965248))t+=2;else if(!(i&4294901760))t+=3;else if(!(i&4294967295-(1<<21)+1))t+=4;else throw"e"}return t}};p.F={};p.F.deflateRaw=function(n,e,t,r){var i=[[0,0,0,0,0],[4,4,8,4,0],[4,5,16,8,0],[4,6,16,16,0],[4,10,16,32,0],[8,16,32,32,0],[8,16,128,128,0],[8,32,128,256,0],[32,128,258,1024,1],[32,258,258,4096,1]],s=i[r],o=p.F.U,a=p.F._goodIndex,l=p.F._hash,d=p.F._putsE,c=0,h=t<<3,m=0,u=n.length;if(r==0){for(;c<u;){var f=Math.min(65535,u-c);d(e,h,c+f==u?1:0),h=p.F._copyExact(n,c,f,e,h+8),c+=f}return h>>>3}var g=o.lits,_=o.strt,A=o.prev,w=0,b=0,N=0,R=0,O=0,G=0;u>2&&(G=p.F._hash(n,0),_[G]=0);var k=0,q=0;for(c=0;c<u;c++){if(O=G,c+1<u-2){G=p.F._hash(n,c+1);var H=c+1&32767;A[H]=_[G],_[G]=H}if(m<=c){(w>14e3||b>26697)&&u-c>100&&(m<c&&(g[w]=c-m,w+=2,m=c),h=p.F._writeBlock(c==u-1||m==u?1:0,g,w,R,n,N,c-N,e,h),w=b=R=0,N=c);var z=0;c<u-2&&(z=p.F._bestMatch(n,c,A,O,Math.min(s[2],u-c),s[3]));var f=z>>>16,K=z&65535;if(z!=0){var f=z>>>16,K=z&65535,X=a(f,o.of0);o.lhst[257+X]++;var J=a(K,o.df0);o.dhst[J]++,R+=o.exb[X]+o.dxb[J],g[w]=f<<23|c-m,g[w+1]=K<<16|X<<8|J,w+=2,m=c+f}else o.lhst[n[c]]++;b++}}for((N!=c||n.length==0)&&(m<c&&(g[w]=c-m,w+=2,m=c),h=p.F._writeBlock(1,g,w,R,n,N,c-N,e,h),w=0,b=0,w=b=R=0,N=c);h&7;)h++;return h>>>3};p.F._bestMatch=function(n,e,t,r,i,s){var o=e&32767,a=t[o],l=o-a+32768&32767;if(a==o||r!=p.F._hash(n,e-l))return 0;for(var d=0,c=0,h=Math.min(32767,e);l<=h&&--s!=0&&a!=o;){if(d==0||n[e+d]==n[e+d-l]){var m=p.F._howLong(n,e,l);if(m>d){if(d=m,c=l,d>=i)break;l+2<m&&(m=l+2);for(var u=0,f=0;f<m-2;f++){var g=e-l+f+32768&32767,_=t[g],A=g-_+32768&32767;A>u&&(u=A,a=g)}}}o=a,a=t[o],l+=o-a+32768&32767}return d<<16|c};p.F._howLong=function(n,e,t){if(n[e]!=n[e-t]||n[e+1]!=n[e+1-t]||n[e+2]!=n[e+2-t])return 0;var r=e,i=Math.min(n.length,e+258);for(e+=3;e<i&&n[e]==n[e-t];)e++;return e-r};p.F._hash=function(n,e){return(n[e]<<8|n[e+1])+(n[e+2]<<4)&65535};p.saved=0;p.F._writeBlock=function(n,e,t,r,i,s,o,a,l){var d=p.F.U,c=p.F._putsF,h=p.F._putsE,m,u,f,g,_,A,w,b,N;d.lhst[256]++,m=p.F.getTrees(),u=m[0],f=m[1],g=m[2],_=m[3],A=m[4],w=m[5],b=m[6],N=m[7];var R=(l+3&7?8-(l+3&7):0)+32+(o<<3),O=r+p.F.contSize(d.fltree,d.lhst)+p.F.contSize(d.fdtree,d.dhst),G=r+p.F.contSize(d.ltree,d.lhst)+p.F.contSize(d.dtree,d.dhst);G+=14+3*w+p.F.contSize(d.itree,d.ihst)+(d.ihst[16]*2+d.ihst[17]*3+d.ihst[18]*7);for(var k=0;k<286;k++)d.lhst[k]=0;for(var k=0;k<30;k++)d.dhst[k]=0;for(var k=0;k<19;k++)d.ihst[k]=0;var q=R<O&&R<G?0:O<G?1:2;c(a,l,n),c(a,l+1,q),l+=3;var H=l;if(q==0){for(;l&7;)l++;l=p.F._copyExact(i,s,o,a,l)}else{var z,K;if(q==1&&(z=d.fltree,K=d.fdtree),q==2){p.F.makeCodes(d.ltree,u),p.F.revCodes(d.ltree,u),p.F.makeCodes(d.dtree,f),p.F.revCodes(d.dtree,f),p.F.makeCodes(d.itree,g),p.F.revCodes(d.itree,g),z=d.ltree,K=d.dtree,h(a,l,_-257),l+=5,h(a,l,A-1),l+=5,h(a,l,w-4),l+=4;for(var X=0;X<w;X++)h(a,l+X*3,d.itree[(d.ordr[X]<<1)+1]);l+=3*w,l=p.F._codeTiny(b,d.itree,a,l),l=p.F._codeTiny(N,d.itree,a,l)}for(var J=s,ee=0;ee<t;ee+=2){for(var D=e[ee],ie=D>>>23,te=J+(D&(1<<23)-1);J<te;)l=p.F._writeLit(i[J++],z,a,l);if(ie!=0){var de=e[ee+1],oe=de>>16,y=de>>8&255,I=de&255;l=p.F._writeLit(257+y,z,a,l),h(a,l,ie-d.of0[y]),l+=d.exb[y],l=p.F._writeLit(I,K,a,l),c(a,l,oe-d.df0[I]),l+=d.dxb[I],J+=ie}}l=p.F._writeLit(256,z,a,l)}return l};p.F._copyExact=function(n,e,t,r,i){var s=i>>>3;return r[s]=t,r[s+1]=t>>>8,r[s+2]=255-r[s],r[s+3]=255-r[s+1],s+=4,r.set(new Uint8Array(n.buffer,e,t),s),i+(t+4<<3)};p.F.getTrees=function(){for(var n=p.F.U,e=p.F._hufTree(n.lhst,n.ltree,15),t=p.F._hufTree(n.dhst,n.dtree,15),r=[],i=p.F._lenCodes(n.ltree,r),s=[],o=p.F._lenCodes(n.dtree,s),a=0;a<r.length;a+=2)n.ihst[r[a]]++;for(var a=0;a<s.length;a+=2)n.ihst[s[a]]++;for(var l=p.F._hufTree(n.ihst,n.itree,7),d=19;d>4&&n.itree[(n.ordr[d-1]<<1)+1]==0;)d--;return[e,t,l,i,o,d,r,s]};p.F.getSecond=function(n){for(var e=[],t=0;t<n.length;t+=2)e.push(n[t+1]);return e};p.F.nonZero=function(n){for(var e="",t=0;t<n.length;t+=2)n[t+1]!=0&&(e+=(t>>1)+",");return e};p.F.contSize=function(n,e){for(var t=0,r=0;r<e.length;r++)t+=e[r]*n[(r<<1)+1];return t};p.F._codeTiny=function(n,e,t,r){for(var i=0;i<n.length;i+=2){var s=n[i],o=n[i+1];r=p.F._writeLit(s,e,t,r);var a=s==16?2:s==17?3:7;s>15&&(p.F._putsE(t,r,o,a),r+=a)}return r};p.F._lenCodes=function(n,e){for(var t=n.length;t!=2&&n[t-1]==0;)t-=2;for(var r=0;r<t;r+=2){var i=n[r+1],s=r+3<t?n[r+3]:-1,o=r+5<t?n[r+5]:-1,a=r==0?-1:n[r-1];if(i==0&&s==i&&o==i){for(var l=r+5;l+2<t&&n[l+2]==i;)l+=2;var d=Math.min(l+1-r>>>1,138);d<11?e.push(17,d-3):e.push(18,d-11),r+=d*2-2}else if(i==a&&s==i&&o==i){for(var l=r+5;l+2<t&&n[l+2]==i;)l+=2;var d=Math.min(l+1-r>>>1,6);e.push(16,d-3),r+=d*2-2}else e.push(i,0)}return t>>>1};p.F._hufTree=function(n,e,t){var r=[],i=n.length,s=e.length,o=0;for(o=0;o<s;o+=2)e[o]=0,e[o+1]=0;for(o=0;o<i;o++)n[o]!=0&&r.push({lit:o,f:n[o]});var a=r.length,l=r.slice(0);if(a==0)return 0;if(a==1){var d=r[0].lit,l=d==0?1:0;return e[(d<<1)+1]=1,e[(l<<1)+1]=1,1}r.sort(function(_,A){return _.f-A.f});var c=r[0],h=r[1],m=0,u=1,f=2;for(r[0]={lit:-1,f:c.f+h.f,l:c,r:h,d:0};u!=a-1;)m!=u&&(f==a||r[m].f<r[f].f)?c=r[m++]:c=r[f++],m!=u&&(f==a||r[m].f<r[f].f)?h=r[m++]:h=r[f++],r[u++]={lit:-1,f:c.f+h.f,l:c,r:h};var g=p.F.setDepth(r[u-1],0);for(g>t&&(p.F.restrictDepth(l,t,g),g=t),o=0;o<a;o++)e[(l[o].lit<<1)+1]=l[o].d;return g};p.F.setDepth=function(n,e){return n.lit!=-1?(n.d=e,e):Math.max(p.F.setDepth(n.l,e+1),p.F.setDepth(n.r,e+1))};p.F.restrictDepth=function(n,e,t){var r=0,i=1<<t-e,s=0;for(n.sort(function(a,l){return l.d==a.d?a.f-l.f:l.d-a.d}),r=0;r<n.length&&n[r].d>e;r++){var o=n[r].d;n[r].d=e,s+=i-(1<<t-o)}for(s=s>>>t-e;s>0;){var o=n[r].d;o<e?(n[r].d++,s-=1<<e-o-1):r++}for(;r>=0;r--)n[r].d==e&&s<0&&(n[r].d--,s++);s!=0&&console.log("debt left")};p.F._goodIndex=function(n,e){var t=0;return e[t|16]<=n&&(t|=16),e[t|8]<=n&&(t|=8),e[t|4]<=n&&(t|=4),e[t|2]<=n&&(t|=2),e[t|1]<=n&&(t|=1),t};p.F._writeLit=function(n,e,t,r){return p.F._putsF(t,r,e[n<<1]),r+e[(n<<1)+1]};p.F.inflate=function(n,e){var t=Uint8Array;if(n[0]==3&&n[1]==0)return e||new t(0);var r=p.F,i=r._bitsF,s=r._bitsE,o=r._decodeTiny,a=r.makeCodes,l=r.codes2map,d=r._get17,c=r.U,h=e==null;h&&(e=new t(n.length>>>2<<3));for(var m=0,u=0,f=0,g=0,_=0,A=0,w=0,b=0,N=0,R,O;m==0;){if(m=i(n,N,1),u=i(n,N+1,2),N+=3,u==0){N&7&&(N+=8-(N&7));var G=(N>>>3)+4,k=n[G-4]|n[G-3]<<8;h&&(e=p.F._check(e,b+k)),e.set(new t(n.buffer,n.byteOffset+G,k),b),N=G+k<<3,b+=k;continue}if(h&&(e=p.F._check(e,b+(1<<17))),u==1&&(R=c.flmap,O=c.fdmap,A=511,w=31),u==2){f=s(n,N,5)+257,g=s(n,N+5,5)+1,_=s(n,N+10,4)+4,N+=14;for(var q=N,H=0;H<38;H+=2)c.itree[H]=0,c.itree[H+1]=0;for(var z=1,H=0;H<_;H++){var K=s(n,N+H*3,3);c.itree[(c.ordr[H]<<1)+1]=K,K>z&&(z=K)}N+=3*_,a(c.itree,z),l(c.itree,z,c.imap),R=c.lmap,O=c.dmap,N=o(c.imap,(1<<z)-1,f+g,n,N,c.ttree);var X=r._copyOut(c.ttree,0,f,c.ltree);A=(1<<X)-1;var J=r._copyOut(c.ttree,f,g,c.dtree);w=(1<<J)-1,a(c.ltree,X),l(c.ltree,X,R),a(c.dtree,J),l(c.dtree,J,O)}for(;;){var ee=R[d(n,N)&A];N+=ee&15;var D=ee>>>4;if(!(D>>>8))e[b++]=D;else{if(D==256)break;var ie=b+D-254;if(D>264){var te=c.ldef[D-257];ie=b+(te>>>3)+s(n,N,te&7),N+=te&7}var de=O[d(n,N)&w];N+=de&15;var oe=de>>>4,y=c.ddef[oe],I=(y>>>4)+i(n,N,y&15);for(N+=y&15,h&&(e=p.F._check(e,b+(1<<17)));b<ie;)e[b]=e[b++-I],e[b]=e[b++-I],e[b]=e[b++-I],e[b]=e[b++-I];b=ie}}}return e.length==b?e:e.slice(0,b)};p.F._check=function(n,e){var t=n.length;if(e<=t)return n;var r=new Uint8Array(Math.max(t<<1,e));return r.set(n,0),r};p.F._decodeTiny=function(n,e,t,r,i,s){for(var o=p.F._bitsE,a=p.F._get17,l=0;l<t;){var d=n[a(r,i)&e];i+=d&15;var c=d>>>4;if(c<=15)s[l]=c,l++;else{var h=0,m=0;c==16?(m=3+o(r,i,2),i+=2,h=s[l-1]):c==17?(m=3+o(r,i,3),i+=3):c==18&&(m=11+o(r,i,7),i+=7);for(var u=l+m;l<u;)s[l]=h,l++}}return i};p.F._copyOut=function(n,e,t,r){for(var i=0,s=0,o=r.length>>>1;s<t;){var a=n[s+e];r[s<<1]=0,r[(s<<1)+1]=a,a>i&&(i=a),s++}for(;s<o;)r[s<<1]=0,r[(s<<1)+1]=0,s++;return i};p.F.makeCodes=function(n,e){for(var t=p.F.U,r=n.length,i,s,o,a,l,d=t.bl_count,a=0;a<=e;a++)d[a]=0;for(a=1;a<r;a+=2)d[n[a]]++;var c=t.next_code;for(i=0,d[0]=0,s=1;s<=e;s++)i=i+d[s-1]<<1,c[s]=i;for(o=0;o<r;o+=2)l=n[o+1],l!=0&&(n[o]=c[l],c[l]++)};p.F.codes2map=function(n,e,t){for(var r=n.length,i=p.F.U,s=i.rev15,o=0;o<r;o+=2)if(n[o+1]!=0)for(var a=o>>1,l=n[o+1],d=a<<4|l,c=e-l,h=n[o]<<c,m=h+(1<<c);h!=m;){var u=s[h]>>>15-e;t[u]=d,h++}};p.F.revCodes=function(n,e){for(var t=p.F.U.rev15,r=15-e,i=0;i<n.length;i+=2){var s=n[i]<<e-n[i+1];n[i]=t[s]>>>r}};p.F._putsE=function(n,e,t){t=t<<(e&7);var r=e>>>3;n[r]|=t,n[r+1]|=t>>>8};p.F._putsF=function(n,e,t){t=t<<(e&7);var r=e>>>3;n[r]|=t,n[r+1]|=t>>>8,n[r+2]|=t>>>16};p.F._bitsE=function(n,e,t){return(n[e>>>3]|n[(e>>>3)+1]<<8)>>>(e&7)&(1<<t)-1};p.F._bitsF=function(n,e,t){return(n[e>>>3]|n[(e>>>3)+1]<<8|n[(e>>>3)+2]<<16)>>>(e&7)&(1<<t)-1};p.F._get17=function(n,e){return(n[e>>>3]|n[(e>>>3)+1]<<8|n[(e>>>3)+2]<<16)>>>(e&7)};p.F._get25=function(n,e){return(n[e>>>3]|n[(e>>>3)+1]<<8|n[(e>>>3)+2]<<16|n[(e>>>3)+3]<<24)>>>(e&7)};p.F.U=function(){var n=Uint16Array,e=Uint32Array;return{next_code:new n(16),bl_count:new n(16),ordr:[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],of0:[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,999,999,999],exb:[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0],ldef:new n(32),df0:[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,65535,65535],dxb:[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0],ddef:new e(32),flmap:new n(512),fltree:[],fdmap:new n(32),fdtree:[],lmap:new n(32768),ltree:[],ttree:[],dmap:new n(32768),dtree:[],imap:new n(512),itree:[],rev15:new n(32768),lhst:new e(286),dhst:new e(30),ihst:new e(19),lits:new e(15e3),strt:new n(65536),prev:new n(32768)}}();(function(){for(var n=p.F.U,e=32768,t=0;t<e;t++){var r=t;r=(r&2863311530)>>>1|(r&1431655765)<<1,r=(r&3435973836)>>>2|(r&858993459)<<2,r=(r&4042322160)>>>4|(r&252645135)<<4,r=(r&4278255360)>>>8|(r&16711935)<<8,n.rev15[t]=(r>>>16|r<<16)>>>17}function i(s,o,a){for(;o--!=0;)s.push(0,a)}for(var t=0;t<32;t++)n.ldef[t]=n.of0[t]<<3|n.exb[t],n.ddef[t]=n.df0[t]<<4|n.dxb[t];i(n.fltree,144,8),i(n.fltree,112,9),i(n.fltree,24,7),i(n.fltree,8,8),p.F.makeCodes(n.fltree,9),p.F.codes2map(n.fltree,9,n.flmap),p.F.revCodes(n.fltree,9),i(n.fdtree,32,5),p.F.makeCodes(n.fdtree,5),p.F.codes2map(n.fdtree,5,n.fdmap),p.F.revCodes(n.fdtree,5),i(n.itree,19,0),i(n.ltree,286,0),i(n.dtree,30,0),i(n.ttree,320,0)})()});var vn=Te(it());var st=n=>{let e=Math.floor((n-5)/7*100+.5)/100;return Math.floor((e*7+5)/7*256)/256},Zt=n=>Math.floor((256*n+Math.floor(18.285714285714285))/256*7);var hr="UEsDBAoAAAAAAAAAIQBi7p1okAQAAJAEAAATAAAAW0NvbnRlbnRfVHlwZXNdLnhtbDw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJ5ZXMiPz4NCjxUeXBlcyB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3BhY2thZ2UvMjAwNi9jb250ZW50LXR5cGVzIj48RGVmYXVsdCBFeHRlbnNpb249InJlbHMiIENvbnRlbnRUeXBlPSJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtcGFja2FnZS5yZWxhdGlvbnNoaXBzK3htbCIvPjxEZWZhdWx0IEV4dGVuc2lvbj0ieG1sIiBDb250ZW50VHlwZT0iYXBwbGljYXRpb24veG1sIi8+PE92ZXJyaWRlIFBhcnROYW1lPSIveGwvd29ya2Jvb2sueG1sIiBDb250ZW50VHlwZT0iYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQubWFpbit4bWwiLz48T3ZlcnJpZGUgUGFydE5hbWU9Ii94bC93b3Jrc2hlZXRzL3NoZWV0MS54bWwiIENvbnRlbnRUeXBlPSJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC53b3Jrc2hlZXQreG1sIi8+PE92ZXJyaWRlIFBhcnROYW1lPSIveGwvdGhlbWUvdGhlbWUxLnhtbCIgQ29udGVudFR5cGU9ImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC50aGVtZSt4bWwiLz48T3ZlcnJpZGUgUGFydE5hbWU9Ii94bC9zdHlsZXMueG1sIiBDb250ZW50VHlwZT0iYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc3R5bGVzK3htbCIvPjxPdmVycmlkZSBQYXJ0TmFtZT0iL3hsL3NoYXJlZFN0cmluZ3MueG1sIiBDb250ZW50VHlwZT0iYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hhcmVkU3RyaW5ncyt4bWwiLz48T3ZlcnJpZGUgUGFydE5hbWU9Ii9kb2NQcm9wcy9jb3JlLnhtbCIgQ29udGVudFR5cGU9ImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1wYWNrYWdlLmNvcmUtcHJvcGVydGllcyt4bWwiLz48T3ZlcnJpZGUgUGFydE5hbWU9Ii9kb2NQcm9wcy9hcHAueG1sIiBDb250ZW50VHlwZT0iYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LmV4dGVuZGVkLXByb3BlcnRpZXMreG1sIi8+PC9UeXBlcz5QSwMECgAAAAAAAAAhALVVMCNMAgAATAIAAAsAAABfcmVscy8ucmVsczw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJ5ZXMiPz4NCjxSZWxhdGlvbnNoaXBzIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvcGFja2FnZS8yMDA2L3JlbGF0aW9uc2hpcHMiPjxSZWxhdGlvbnNoaXAgSWQ9InJJZDMiIFR5cGU9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L3JlbGF0aW9uc2hpcHMvZXh0ZW5kZWQtcHJvcGVydGllcyIgVGFyZ2V0PSJkb2NQcm9wcy9hcHAueG1sIi8+PFJlbGF0aW9uc2hpcCBJZD0icklkMiIgVHlwZT0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3BhY2thZ2UvMjAwNi9yZWxhdGlvbnNoaXBzL21ldGFkYXRhL2NvcmUtcHJvcGVydGllcyIgVGFyZ2V0PSJkb2NQcm9wcy9jb3JlLnhtbCIvPjxSZWxhdGlvbnNoaXAgSWQ9InJJZDEiIFR5cGU9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L3JlbGF0aW9uc2hpcHMvb2ZmaWNlRG9jdW1lbnQiIFRhcmdldD0ieGwvd29ya2Jvb2sueG1sIi8+PC9SZWxhdGlvbnNoaXBzPlBLAwQKAAAAAAAAACEAunCeZsoGAADKBgAADwAAAHhsL3dvcmtib29rLnhtbDw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJ5ZXMiPz4NCjx3b3JrYm9vayB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3NwcmVhZHNoZWV0bWwvMjAwNi9tYWluIiB4bWxuczpyPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzIiB4bWxuczptYz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL21hcmt1cC1jb21wYXRpYmlsaXR5LzIwMDYiIG1jOklnbm9yYWJsZT0ieDE1IHhyIHhyNiB4cjEwIHhyMiIgeG1sbnM6eDE1PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTAvMTEvbWFpbiIgeG1sbnM6eHI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vb2ZmaWNlL3NwcmVhZHNoZWV0bWwvMjAxNC9yZXZpc2lvbiIgeG1sbnM6eHI2PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTYvcmV2aXNpb242IiB4bWxuczp4cjEwPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTYvcmV2aXNpb24xMCIgeG1sbnM6eHIyPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTUvcmV2aXNpb24yIj48ZmlsZVZlcnNpb24gYXBwTmFtZT0ieGwiIGxhc3RFZGl0ZWQ9IjciIGxvd2VzdEVkaXRlZD0iNyIgcnVwQnVpbGQ9IjIxMTI2Ii8+PHdvcmtib29rUHIgZGVmYXVsdFRoZW1lVmVyc2lvbj0iMTY2OTI1Ii8+PG1jOkFsdGVybmF0ZUNvbnRlbnQgeG1sbnM6bWM9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9tYXJrdXAtY29tcGF0aWJpbGl0eS8yMDA2Ij48bWM6Q2hvaWNlIFJlcXVpcmVzPSJ4MTUiPjx4MTVhYzphYnNQYXRoIHVybD0iSDpcVFJFQlx0cmViLWV4cG9ydFx0ZW1wbGF0ZVwiIHhtbG5zOngxNWFjPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTAvMTEvYWMiLz48L21jOkNob2ljZT48L21jOkFsdGVybmF0ZUNvbnRlbnQ+PHhyOnJldmlzaW9uUHRyIHJldklETGFzdFNhdmU9IjAiIGRvY3VtZW50SWQ9Ijhfe0Q4NThGOUY3LTBEOTItNEFFNC04QTQyLTQ4MENCMzU5QjYyRH0iIHhyNjpjb2F1dGhWZXJzaW9uTGFzdD0iNDAiIHhyNjpjb2F1dGhWZXJzaW9uTWF4PSI0MCIgeHIxMDp1aWRMYXN0U2F2ZT0iezAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMH0iLz48Ym9va1ZpZXdzPjx3b3JrYm9va1ZpZXcgeFdpbmRvdz0iMCIgeVdpbmRvdz0iMCIgd2luZG93V2lkdGg9IjI0NTcwIiB3aW5kb3dIZWlnaHQ9IjExMTMwIiB4cjI6dWlkPSJ7REU0RTdEMzUtNDkyRC00MEQ3LTk5MjUtNDY0N0Y1ODdFMURFfSIvPjwvYm9va1ZpZXdzPjxzaGVldHM+PHNoZWV0IG5hbWU9IlNoZWV0MSIgc2hlZXRJZD0iMSIgcjppZD0icklkMSIvPjwvc2hlZXRzPjxjYWxjUHIgY2FsY0lkPSIxOTEwMjkiLz48ZXh0THN0PjxleHQgdXJpPSJ7MTQwQTcwOTQtMEUzNS00ODkyLTg0MzItQzREMkU1N0VERUI1fSIgeG1sbnM6eDE1PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTAvMTEvbWFpbiI+PHgxNTp3b3JrYm9va1ByIGNoYXJ0VHJhY2tpbmdSZWZCYXNlPSIxIi8+PC9leHQ+PC9leHRMc3Q+PC93b3JrYm9vaz5QSwMECgAAAAAAAAAhAIE+lJe6AgAAugIAABoAAAB4bC9fcmVscy93b3JrYm9vay54bWwucmVsczw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJ5ZXMiPz4NCjxSZWxhdGlvbnNoaXBzIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvcGFja2FnZS8yMDA2L3JlbGF0aW9uc2hpcHMiPjxSZWxhdGlvbnNoaXAgSWQ9InJJZDMiIFR5cGU9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L3JlbGF0aW9uc2hpcHMvc3R5bGVzIiBUYXJnZXQ9InN0eWxlcy54bWwiLz48UmVsYXRpb25zaGlwIElkPSJySWQyIiBUeXBlPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL3RoZW1lIiBUYXJnZXQ9InRoZW1lL3RoZW1lMS54bWwiLz48UmVsYXRpb25zaGlwIElkPSJySWQxIiBUeXBlPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL3dvcmtzaGVldCIgVGFyZ2V0PSJ3b3Jrc2hlZXRzL3NoZWV0MS54bWwiLz48UmVsYXRpb25zaGlwIElkPSJySWQ0IiBUeXBlPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL3NoYXJlZFN0cmluZ3MiIFRhcmdldD0ic2hhcmVkU3RyaW5ncy54bWwiLz48L1JlbGF0aW9uc2hpcHM+UEsDBAoAAAAAAAAAIQACrURzpAMAAKQDAAAYAAAAeGwvd29ya3NoZWV0cy9zaGVldDEueG1sPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/Pg0KPHdvcmtzaGVldCB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3NwcmVhZHNoZWV0bWwvMjAwNi9tYWluIiB4bWxuczpyPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzIiB4bWxuczptYz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL21hcmt1cC1jb21wYXRpYmlsaXR5LzIwMDYiIG1jOklnbm9yYWJsZT0ieDE0YWMgeHIgeHIyIHhyMyIgeG1sbnM6eDE0YWM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vb2ZmaWNlL3NwcmVhZHNoZWV0bWwvMjAwOS85L2FjIiB4bWxuczp4cj0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2Uvc3ByZWFkc2hlZXRtbC8yMDE0L3JldmlzaW9uIiB4bWxuczp4cjI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vb2ZmaWNlL3NwcmVhZHNoZWV0bWwvMjAxNS9yZXZpc2lvbjIiIHhtbG5zOnhyMz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2Uvc3ByZWFkc2hlZXRtbC8yMDE2L3JldmlzaW9uMyIgeHI6dWlkPSJ7MEQ4RTVDQTItNUM5RS00RDRCLTk0QzUtRjM1QzA0MUYzOUJEfSI+PGRpbWVuc2lvbiByZWY9IkExIi8+PHNoZWV0Vmlld3M+PHNoZWV0VmlldyB0YWJTZWxlY3RlZD0iMSIgd29ya2Jvb2tWaWV3SWQ9IjAiLz48L3NoZWV0Vmlld3M+PHNoZWV0Rm9ybWF0UHIgZGVmYXVsdFJvd0hlaWdodD0iMTUiIHgxNGFjOmR5RGVzY2VudD0iMC4yNSIvPjxzaGVldERhdGEvPjxwYWdlTWFyZ2lucyBsZWZ0PSIwLjciIHJpZ2h0PSIwLjciIHRvcD0iMC43NSIgYm90dG9tPSIwLjc1IiBoZWFkZXI9IjAuMyIgZm9vdGVyPSIwLjMiLz48L3dvcmtzaGVldD5QSwMECgAAAAAAAAAhAMEXEL7GIAAAxiAAABMAAAB4bC90aGVtZS90aGVtZTEueG1sPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/Pg0KPGE6dGhlbWUgeG1sbnM6YT0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL2RyYXdpbmdtbC8yMDA2L21haW4iIG5hbWU9Ik9mZmljZSBUaGVtZSI+PGE6dGhlbWVFbGVtZW50cz48YTpjbHJTY2hlbWUgbmFtZT0iT2ZmaWNlIj48YTpkazE+PGE6c3lzQ2xyIHZhbD0id2luZG93VGV4dCIgbGFzdENscj0iMDAwMDAwIi8+PC9hOmRrMT48YTpsdDE+PGE6c3lzQ2xyIHZhbD0id2luZG93IiBsYXN0Q2xyPSJGRkZGRkYiLz48L2E6bHQxPjxhOmRrMj48YTpzcmdiQ2xyIHZhbD0iNDQ1NDZBIi8+PC9hOmRrMj48YTpsdDI+PGE6c3JnYkNsciB2YWw9IkU3RTZFNiIvPjwvYTpsdDI+PGE6YWNjZW50MT48YTpzcmdiQ2xyIHZhbD0iNDQ3MkM0Ii8+PC9hOmFjY2VudDE+PGE6YWNjZW50Mj48YTpzcmdiQ2xyIHZhbD0iRUQ3RDMxIi8+PC9hOmFjY2VudDI+PGE6YWNjZW50Mz48YTpzcmdiQ2xyIHZhbD0iQTVBNUE1Ii8+PC9hOmFjY2VudDM+PGE6YWNjZW50ND48YTpzcmdiQ2xyIHZhbD0iRkZDMDAwIi8+PC9hOmFjY2VudDQ+PGE6YWNjZW50NT48YTpzcmdiQ2xyIHZhbD0iNUI5QkQ1Ii8+PC9hOmFjY2VudDU+PGE6YWNjZW50Nj48YTpzcmdiQ2xyIHZhbD0iNzBBRDQ3Ii8+PC9hOmFjY2VudDY+PGE6aGxpbms+PGE6c3JnYkNsciB2YWw9IjA1NjNDMSIvPjwvYTpobGluaz48YTpmb2xIbGluaz48YTpzcmdiQ2xyIHZhbD0iOTU0RjcyIi8+PC9hOmZvbEhsaW5rPjwvYTpjbHJTY2hlbWU+PGE6Zm9udFNjaGVtZSBuYW1lPSJPZmZpY2UiPjxhOm1ham9yRm9udD48YTpsYXRpbiB0eXBlZmFjZT0iQ2FsaWJyaSBMaWdodCIgcGFub3NlPSIwMjBGMDMwMjAyMDIwNDAzMDIwNCIvPjxhOmVhIHR5cGVmYWNlPSIiLz48YTpjcyB0eXBlZmFjZT0iIi8+PGE6Zm9udCBzY3JpcHQ9IkpwYW4iIHR5cGVmYWNlPSLmuLjjgrTjgrfjg4Pjgq8gTGlnaHQiLz48YTpmb250IHNjcmlwdD0iSGFuZyIgdHlwZWZhY2U9IuunkeydgCDqs6DrlJUiLz48YTpmb250IHNjcmlwdD0iSGFucyIgdHlwZWZhY2U9Iuetiee6vyBMaWdodCIvPjxhOmZvbnQgc2NyaXB0PSJIYW50IiB0eXBlZmFjZT0i5paw57Sw5piO6auUIi8+PGE6Zm9udCBzY3JpcHQ9IkFyYWIiIHR5cGVmYWNlPSJUaW1lcyBOZXcgUm9tYW4iLz48YTpmb250IHNjcmlwdD0iSGViciIgdHlwZWZhY2U9IlRpbWVzIE5ldyBSb21hbiIvPjxhOmZvbnQgc2NyaXB0PSJUaGFpIiB0eXBlZmFjZT0iVGFob21hIi8+PGE6Zm9udCBzY3JpcHQ9IkV0aGkiIHR5cGVmYWNlPSJOeWFsYSIvPjxhOmZvbnQgc2NyaXB0PSJCZW5nIiB0eXBlZmFjZT0iVnJpbmRhIi8+PGE6Zm9udCBzY3JpcHQ9Ikd1anIiIHR5cGVmYWNlPSJTaHJ1dGkiLz48YTpmb250IHNjcmlwdD0iS2htciIgdHlwZWZhY2U9Ik1vb2xCb3JhbiIvPjxhOmZvbnQgc2NyaXB0PSJLbmRhIiB0eXBlZmFjZT0iVHVuZ2EiLz48YTpmb250IHNjcmlwdD0iR3VydSIgdHlwZWZhY2U9IlJhYXZpIi8+PGE6Zm9udCBzY3JpcHQ9IkNhbnMiIHR5cGVmYWNlPSJFdXBoZW1pYSIvPjxhOmZvbnQgc2NyaXB0PSJDaGVyIiB0eXBlZmFjZT0iUGxhbnRhZ2VuZXQgQ2hlcm9rZWUiLz48YTpmb250IHNjcmlwdD0iWWlpaSIgdHlwZWZhY2U9Ik1pY3Jvc29mdCBZaSBCYWl0aSIvPjxhOmZvbnQgc2NyaXB0PSJUaWJ0IiB0eXBlZmFjZT0iTWljcm9zb2Z0IEhpbWFsYXlhIi8+PGE6Zm9udCBzY3JpcHQ9IlRoYWEiIHR5cGVmYWNlPSJNViBCb2xpIi8+PGE6Zm9udCBzY3JpcHQ9IkRldmEiIHR5cGVmYWNlPSJNYW5nYWwiLz48YTpmb250IHNjcmlwdD0iVGVsdSIgdHlwZWZhY2U9IkdhdXRhbWkiLz48YTpmb250IHNjcmlwdD0iVGFtbCIgdHlwZWZhY2U9IkxhdGhhIi8+PGE6Zm9udCBzY3JpcHQ9IlN5cmMiIHR5cGVmYWNlPSJFc3RyYW5nZWxvIEVkZXNzYSIvPjxhOmZvbnQgc2NyaXB0PSJPcnlhIiB0eXBlZmFjZT0iS2FsaW5nYSIvPjxhOmZvbnQgc2NyaXB0PSJNbHltIiB0eXBlZmFjZT0iS2FydGlrYSIvPjxhOmZvbnQgc2NyaXB0PSJMYW9vIiB0eXBlZmFjZT0iRG9rQ2hhbXBhIi8+PGE6Zm9udCBzY3JpcHQ9IlNpbmgiIHR5cGVmYWNlPSJJc2tvb2xhIFBvdGEiLz48YTpmb250IHNjcmlwdD0iTW9uZyIgdHlwZWZhY2U9Ik1vbmdvbGlhbiBCYWl0aSIvPjxhOmZvbnQgc2NyaXB0PSJWaWV0IiB0eXBlZmFjZT0iVGltZXMgTmV3IFJvbWFuIi8+PGE6Zm9udCBzY3JpcHQ9IlVpZ2giIHR5cGVmYWNlPSJNaWNyb3NvZnQgVWlnaHVyIi8+PGE6Zm9udCBzY3JpcHQ9Ikdlb3IiIHR5cGVmYWNlPSJTeWxmYWVuIi8+PGE6Zm9udCBzY3JpcHQ9IkFybW4iIHR5cGVmYWNlPSJBcmlhbCIvPjxhOmZvbnQgc2NyaXB0PSJCdWdpIiB0eXBlZmFjZT0iTGVlbGF3YWRlZSBVSSIvPjxhOmZvbnQgc2NyaXB0PSJCb3BvIiB0eXBlZmFjZT0iTWljcm9zb2Z0IEpoZW5nSGVpIi8+PGE6Zm9udCBzY3JpcHQ9IkphdmEiIHR5cGVmYWNlPSJKYXZhbmVzZSBUZXh0Ii8+PGE6Zm9udCBzY3JpcHQ9Ikxpc3UiIHR5cGVmYWNlPSJTZWdvZSBVSSIvPjxhOmZvbnQgc2NyaXB0PSJNeW1yIiB0eXBlZmFjZT0iTXlhbm1hciBUZXh0Ii8+PGE6Zm9udCBzY3JpcHQ9Ik5rb28iIHR5cGVmYWNlPSJFYnJpbWEiLz48YTpmb250IHNjcmlwdD0iT2xjayIgdHlwZWZhY2U9Ik5pcm1hbGEgVUkiLz48YTpmb250IHNjcmlwdD0iT3NtYSIgdHlwZWZhY2U9IkVicmltYSIvPjxhOmZvbnQgc2NyaXB0PSJQaGFnIiB0eXBlZmFjZT0iUGhhZ3NwYSIvPjxhOmZvbnQgc2NyaXB0PSJTeXJuIiB0eXBlZmFjZT0iRXN0cmFuZ2VsbyBFZGVzc2EiLz48YTpmb250IHNjcmlwdD0iU3lyaiIgdHlwZWZhY2U9IkVzdHJhbmdlbG8gRWRlc3NhIi8+PGE6Zm9udCBzY3JpcHQ9IlN5cmUiIHR5cGVmYWNlPSJFc3RyYW5nZWxvIEVkZXNzYSIvPjxhOmZvbnQgc2NyaXB0PSJTb3JhIiB0eXBlZmFjZT0iTmlybWFsYSBVSSIvPjxhOmZvbnQgc2NyaXB0PSJUYWxlIiB0eXBlZmFjZT0iTWljcm9zb2Z0IFRhaSBMZSIvPjxhOmZvbnQgc2NyaXB0PSJUYWx1IiB0eXBlZmFjZT0iTWljcm9zb2Z0IE5ldyBUYWkgTHVlIi8+PGE6Zm9udCBzY3JpcHQ9IlRmbmciIHR5cGVmYWNlPSJFYnJpbWEiLz48L2E6bWFqb3JGb250PjxhOm1pbm9yRm9udD48YTpsYXRpbiB0eXBlZmFjZT0iQ2FsaWJyaSIgcGFub3NlPSIwMjBGMDUwMjAyMDIwNDAzMDIwNCIvPjxhOmVhIHR5cGVmYWNlPSIiLz48YTpjcyB0eXBlZmFjZT0iIi8+PGE6Zm9udCBzY3JpcHQ9IkpwYW4iIHR5cGVmYWNlPSLmuLjjgrTjgrfjg4Pjgq8iLz48YTpmb250IHNjcmlwdD0iSGFuZyIgdHlwZWZhY2U9IuunkeydgCDqs6DrlJUiLz48YTpmb250IHNjcmlwdD0iSGFucyIgdHlwZWZhY2U9Iuetiee6vyIvPjxhOmZvbnQgc2NyaXB0PSJIYW50IiB0eXBlZmFjZT0i5paw57Sw5piO6auUIi8+PGE6Zm9udCBzY3JpcHQ9IkFyYWIiIHR5cGVmYWNlPSJBcmlhbCIvPjxhOmZvbnQgc2NyaXB0PSJIZWJyIiB0eXBlZmFjZT0iQXJpYWwiLz48YTpmb250IHNjcmlwdD0iVGhhaSIgdHlwZWZhY2U9IlRhaG9tYSIvPjxhOmZvbnQgc2NyaXB0PSJFdGhpIiB0eXBlZmFjZT0iTnlhbGEiLz48YTpmb250IHNjcmlwdD0iQmVuZyIgdHlwZWZhY2U9IlZyaW5kYSIvPjxhOmZvbnQgc2NyaXB0PSJHdWpyIiB0eXBlZmFjZT0iU2hydXRpIi8+PGE6Zm9udCBzY3JpcHQ9IktobXIiIHR5cGVmYWNlPSJEYXVuUGVuaCIvPjxhOmZvbnQgc2NyaXB0PSJLbmRhIiB0eXBlZmFjZT0iVHVuZ2EiLz48YTpmb250IHNjcmlwdD0iR3VydSIgdHlwZWZhY2U9IlJhYXZpIi8+PGE6Zm9udCBzY3JpcHQ9IkNhbnMiIHR5cGVmYWNlPSJFdXBoZW1pYSIvPjxhOmZvbnQgc2NyaXB0PSJDaGVyIiB0eXBlZmFjZT0iUGxhbnRhZ2VuZXQgQ2hlcm9rZWUiLz48YTpmb250IHNjcmlwdD0iWWlpaSIgdHlwZWZhY2U9Ik1pY3Jvc29mdCBZaSBCYWl0aSIvPjxhOmZvbnQgc2NyaXB0PSJUaWJ0IiB0eXBlZmFjZT0iTWljcm9zb2Z0IEhpbWFsYXlhIi8+PGE6Zm9udCBzY3JpcHQ9IlRoYWEiIHR5cGVmYWNlPSJNViBCb2xpIi8+PGE6Zm9udCBzY3JpcHQ9IkRldmEiIHR5cGVmYWNlPSJNYW5nYWwiLz48YTpmb250IHNjcmlwdD0iVGVsdSIgdHlwZWZhY2U9IkdhdXRhbWkiLz48YTpmb250IHNjcmlwdD0iVGFtbCIgdHlwZWZhY2U9IkxhdGhhIi8+PGE6Zm9udCBzY3JpcHQ9IlN5cmMiIHR5cGVmYWNlPSJFc3RyYW5nZWxvIEVkZXNzYSIvPjxhOmZvbnQgc2NyaXB0PSJPcnlhIiB0eXBlZmFjZT0iS2FsaW5nYSIvPjxhOmZvbnQgc2NyaXB0PSJNbHltIiB0eXBlZmFjZT0iS2FydGlrYSIvPjxhOmZvbnQgc2NyaXB0PSJMYW9vIiB0eXBlZmFjZT0iRG9rQ2hhbXBhIi8+PGE6Zm9udCBzY3JpcHQ9IlNpbmgiIHR5cGVmYWNlPSJJc2tvb2xhIFBvdGEiLz48YTpmb250IHNjcmlwdD0iTW9uZyIgdHlwZWZhY2U9Ik1vbmdvbGlhbiBCYWl0aSIvPjxhOmZvbnQgc2NyaXB0PSJWaWV0IiB0eXBlZmFjZT0iQXJpYWwiLz48YTpmb250IHNjcmlwdD0iVWlnaCIgdHlwZWZhY2U9Ik1pY3Jvc29mdCBVaWdodXIiLz48YTpmb250IHNjcmlwdD0iR2VvciIgdHlwZWZhY2U9IlN5bGZhZW4iLz48YTpmb250IHNjcmlwdD0iQXJtbiIgdHlwZWZhY2U9IkFyaWFsIi8+PGE6Zm9udCBzY3JpcHQ9IkJ1Z2kiIHR5cGVmYWNlPSJMZWVsYXdhZGVlIFVJIi8+PGE6Zm9udCBzY3JpcHQ9IkJvcG8iIHR5cGVmYWNlPSJNaWNyb3NvZnQgSmhlbmdIZWkiLz48YTpmb250IHNjcmlwdD0iSmF2YSIgdHlwZWZhY2U9IkphdmFuZXNlIFRleHQiLz48YTpmb250IHNjcmlwdD0iTGlzdSIgdHlwZWZhY2U9IlNlZ29lIFVJIi8+PGE6Zm9udCBzY3JpcHQ9Ik15bXIiIHR5cGVmYWNlPSJNeWFubWFyIFRleHQiLz48YTpmb250IHNjcmlwdD0iTmtvbyIgdHlwZWZhY2U9IkVicmltYSIvPjxhOmZvbnQgc2NyaXB0PSJPbGNrIiB0eXBlZmFjZT0iTmlybWFsYSBVSSIvPjxhOmZvbnQgc2NyaXB0PSJPc21hIiB0eXBlZmFjZT0iRWJyaW1hIi8+PGE6Zm9udCBzY3JpcHQ9IlBoYWciIHR5cGVmYWNlPSJQaGFnc3BhIi8+PGE6Zm9udCBzY3JpcHQ9IlN5cm4iIHR5cGVmYWNlPSJFc3RyYW5nZWxvIEVkZXNzYSIvPjxhOmZvbnQgc2NyaXB0PSJTeXJqIiB0eXBlZmFjZT0iRXN0cmFuZ2VsbyBFZGVzc2EiLz48YTpmb250IHNjcmlwdD0iU3lyZSIgdHlwZWZhY2U9IkVzdHJhbmdlbG8gRWRlc3NhIi8+PGE6Zm9udCBzY3JpcHQ9IlNvcmEiIHR5cGVmYWNlPSJOaXJtYWxhIFVJIi8+PGE6Zm9udCBzY3JpcHQ9IlRhbGUiIHR5cGVmYWNlPSJNaWNyb3NvZnQgVGFpIExlIi8+PGE6Zm9udCBzY3JpcHQ9IlRhbHUiIHR5cGVmYWNlPSJNaWNyb3NvZnQgTmV3IFRhaSBMdWUiLz48YTpmb250IHNjcmlwdD0iVGZuZyIgdHlwZWZhY2U9IkVicmltYSIvPjwvYTptaW5vckZvbnQ+PC9hOmZvbnRTY2hlbWU+PGE6Zm10U2NoZW1lIG5hbWU9Ik9mZmljZSI+PGE6ZmlsbFN0eWxlTHN0PjxhOnNvbGlkRmlsbD48YTpzY2hlbWVDbHIgdmFsPSJwaENsciIvPjwvYTpzb2xpZEZpbGw+PGE6Z3JhZEZpbGwgcm90V2l0aFNoYXBlPSIxIj48YTpnc0xzdD48YTpncyBwb3M9IjAiPjxhOnNjaGVtZUNsciB2YWw9InBoQ2xyIj48YTpsdW1Nb2QgdmFsPSIxMTAwMDAiLz48YTpzYXRNb2QgdmFsPSIxMDUwMDAiLz48YTp0aW50IHZhbD0iNjcwMDAiLz48L2E6c2NoZW1lQ2xyPjwvYTpncz48YTpncyBwb3M9IjUwMDAwIj48YTpzY2hlbWVDbHIgdmFsPSJwaENsciI+PGE6bHVtTW9kIHZhbD0iMTA1MDAwIi8+PGE6c2F0TW9kIHZhbD0iMTAzMDAwIi8+PGE6dGludCB2YWw9IjczMDAwIi8+PC9hOnNjaGVtZUNscj48L2E6Z3M+PGE6Z3MgcG9zPSIxMDAwMDAiPjxhOnNjaGVtZUNsciB2YWw9InBoQ2xyIj48YTpsdW1Nb2QgdmFsPSIxMDUwMDAiLz48YTpzYXRNb2QgdmFsPSIxMDkwMDAiLz48YTp0aW50IHZhbD0iODEwMDAiLz48L2E6c2NoZW1lQ2xyPjwvYTpncz48L2E6Z3NMc3Q+PGE6bGluIGFuZz0iNTQwMDAwMCIgc2NhbGVkPSIwIi8+PC9hOmdyYWRGaWxsPjxhOmdyYWRGaWxsIHJvdFdpdGhTaGFwZT0iMSI+PGE6Z3NMc3Q+PGE6Z3MgcG9zPSIwIj48YTpzY2hlbWVDbHIgdmFsPSJwaENsciI+PGE6c2F0TW9kIHZhbD0iMTAzMDAwIi8+PGE6bHVtTW9kIHZhbD0iMTAyMDAwIi8+PGE6dGludCB2YWw9Ijk0MDAwIi8+PC9hOnNjaGVtZUNscj48L2E6Z3M+PGE6Z3MgcG9zPSI1MDAwMCI+PGE6c2NoZW1lQ2xyIHZhbD0icGhDbHIiPjxhOnNhdE1vZCB2YWw9IjExMDAwMCIvPjxhOmx1bU1vZCB2YWw9IjEwMDAwMCIvPjxhOnNoYWRlIHZhbD0iMTAwMDAwIi8+PC9hOnNjaGVtZUNscj48L2E6Z3M+PGE6Z3MgcG9zPSIxMDAwMDAiPjxhOnNjaGVtZUNsciB2YWw9InBoQ2xyIj48YTpsdW1Nb2QgdmFsPSI5OTAwMCIvPjxhOnNhdE1vZCB2YWw9IjEyMDAwMCIvPjxhOnNoYWRlIHZhbD0iNzgwMDAiLz48L2E6c2NoZW1lQ2xyPjwvYTpncz48L2E6Z3NMc3Q+PGE6bGluIGFuZz0iNTQwMDAwMCIgc2NhbGVkPSIwIi8+PC9hOmdyYWRGaWxsPjwvYTpmaWxsU3R5bGVMc3Q+PGE6bG5TdHlsZUxzdD48YTpsbiB3PSI2MzUwIiBjYXA9ImZsYXQiIGNtcGQ9InNuZyIgYWxnbj0iY3RyIj48YTpzb2xpZEZpbGw+PGE6c2NoZW1lQ2xyIHZhbD0icGhDbHIiLz48L2E6c29saWRGaWxsPjxhOnByc3REYXNoIHZhbD0ic29saWQiLz48YTptaXRlciBsaW09IjgwMDAwMCIvPjwvYTpsbj48YTpsbiB3PSIxMjcwMCIgY2FwPSJmbGF0IiBjbXBkPSJzbmciIGFsZ249ImN0ciI+PGE6c29saWRGaWxsPjxhOnNjaGVtZUNsciB2YWw9InBoQ2xyIi8+PC9hOnNvbGlkRmlsbD48YTpwcnN0RGFzaCB2YWw9InNvbGlkIi8+PGE6bWl0ZXIgbGltPSI4MDAwMDAiLz48L2E6bG4+PGE6bG4gdz0iMTkwNTAiIGNhcD0iZmxhdCIgY21wZD0ic25nIiBhbGduPSJjdHIiPjxhOnNvbGlkRmlsbD48YTpzY2hlbWVDbHIgdmFsPSJwaENsciIvPjwvYTpzb2xpZEZpbGw+PGE6cHJzdERhc2ggdmFsPSJzb2xpZCIvPjxhOm1pdGVyIGxpbT0iODAwMDAwIi8+PC9hOmxuPjwvYTpsblN0eWxlTHN0PjxhOmVmZmVjdFN0eWxlTHN0PjxhOmVmZmVjdFN0eWxlPjxhOmVmZmVjdExzdC8+PC9hOmVmZmVjdFN0eWxlPjxhOmVmZmVjdFN0eWxlPjxhOmVmZmVjdExzdC8+PC9hOmVmZmVjdFN0eWxlPjxhOmVmZmVjdFN0eWxlPjxhOmVmZmVjdExzdD48YTpvdXRlclNoZHcgYmx1clJhZD0iNTcxNTAiIGRpc3Q9IjE5MDUwIiBkaXI9IjU0MDAwMDAiIGFsZ249ImN0ciIgcm90V2l0aFNoYXBlPSIwIj48YTpzcmdiQ2xyIHZhbD0iMDAwMDAwIj48YTphbHBoYSB2YWw9IjYzMDAwIi8+PC9hOnNyZ2JDbHI+PC9hOm91dGVyU2hkdz48L2E6ZWZmZWN0THN0PjwvYTplZmZlY3RTdHlsZT48L2E6ZWZmZWN0U3R5bGVMc3Q+PGE6YmdGaWxsU3R5bGVMc3Q+PGE6c29saWRGaWxsPjxhOnNjaGVtZUNsciB2YWw9InBoQ2xyIi8+PC9hOnNvbGlkRmlsbD48YTpzb2xpZEZpbGw+PGE6c2NoZW1lQ2xyIHZhbD0icGhDbHIiPjxhOnRpbnQgdmFsPSI5NTAwMCIvPjxhOnNhdE1vZCB2YWw9IjE3MDAwMCIvPjwvYTpzY2hlbWVDbHI+PC9hOnNvbGlkRmlsbD48YTpncmFkRmlsbCByb3RXaXRoU2hhcGU9IjEiPjxhOmdzTHN0PjxhOmdzIHBvcz0iMCI+PGE6c2NoZW1lQ2xyIHZhbD0icGhDbHIiPjxhOnRpbnQgdmFsPSI5MzAwMCIvPjxhOnNhdE1vZCB2YWw9IjE1MDAwMCIvPjxhOnNoYWRlIHZhbD0iOTgwMDAiLz48YTpsdW1Nb2QgdmFsPSIxMDIwMDAiLz48L2E6c2NoZW1lQ2xyPjwvYTpncz48YTpncyBwb3M9IjUwMDAwIj48YTpzY2hlbWVDbHIgdmFsPSJwaENsciI+PGE6dGludCB2YWw9Ijk4MDAwIi8+PGE6c2F0TW9kIHZhbD0iMTMwMDAwIi8+PGE6c2hhZGUgdmFsPSI5MDAwMCIvPjxhOmx1bU1vZCB2YWw9IjEwMzAwMCIvPjwvYTpzY2hlbWVDbHI+PC9hOmdzPjxhOmdzIHBvcz0iMTAwMDAwIj48YTpzY2hlbWVDbHIgdmFsPSJwaENsciI+PGE6c2hhZGUgdmFsPSI2MzAwMCIvPjxhOnNhdE1vZCB2YWw9IjEyMDAwMCIvPjwvYTpzY2hlbWVDbHI+PC9hOmdzPjwvYTpnc0xzdD48YTpsaW4gYW5nPSI1NDAwMDAwIiBzY2FsZWQ9IjAiLz48L2E6Z3JhZEZpbGw+PC9hOmJnRmlsbFN0eWxlTHN0PjwvYTpmbXRTY2hlbWU+PC9hOnRoZW1lRWxlbWVudHM+PGE6b2JqZWN0RGVmYXVsdHMvPjxhOmV4dHJhQ2xyU2NoZW1lTHN0Lz48YTpleHRMc3Q+PGE6ZXh0IHVyaT0iezA1QTRDMjVDLTA4NUUtNDM0MC04NUEzLUE1NTMxRTUxMERCMn0iPjx0aG0xNTp0aGVtZUZhbWlseSB4bWxuczp0aG0xNT0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2UvdGhlbWVtbC8yMDEyL21haW4iIG5hbWU9Ik9mZmljZSBUaGVtZSIgaWQ9Ins2MkY5MzlCNi05M0FGLTREQjgtOUM2Qi1ENkM3REZEQzU4OUZ9IiB2aWQ9Ins0QTNDNDZFOC02MUNDLTQ2MDMtQTU4OS03NDIyQTQ3QThFNEF9Ii8+PC9hOmV4dD48L2E6ZXh0THN0PjwvYTp0aGVtZT5QSwMECgAAAAAAAAAhAHmhgGxSBgAAUgYAAA0AAAB4bC9zdHlsZXMueG1sPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/Pg0KPHN0eWxlU2hlZXQgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9zcHJlYWRzaGVldG1sLzIwMDYvbWFpbiIgeG1sbnM6bWM9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9tYXJrdXAtY29tcGF0aWJpbGl0eS8yMDA2IiBtYzpJZ25vcmFibGU9IngxNGFjIHgxNnIyIHhyIiB4bWxuczp4MTRhYz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2Uvc3ByZWFkc2hlZXRtbC8yMDA5LzkvYWMiIHhtbG5zOngxNnIyPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTUvMDIvbWFpbiIgeG1sbnM6eHI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vb2ZmaWNlL3NwcmVhZHNoZWV0bWwvMjAxNC9yZXZpc2lvbiI+PGZvbnRzIGNvdW50PSIxIiB4MTRhYzprbm93bkZvbnRzPSIxIj48Zm9udD48c3ogdmFsPSIxMSIvPjxjb2xvciB0aGVtZT0iMSIvPjxuYW1lIHZhbD0iQ2FsaWJyaSIvPjxmYW1pbHkgdmFsPSIyIi8+PHNjaGVtZSB2YWw9Im1pbm9yIi8+PC9mb250PjwvZm9udHM+PGZpbGxzIGNvdW50PSIyIj48ZmlsbD48cGF0dGVybkZpbGwgcGF0dGVyblR5cGU9Im5vbmUiLz48L2ZpbGw+PGZpbGw+PHBhdHRlcm5GaWxsIHBhdHRlcm5UeXBlPSJncmF5MTI1Ii8+PC9maWxsPjwvZmlsbHM+PGJvcmRlcnMgY291bnQ9IjEiPjxib3JkZXI+PGxlZnQvPjxyaWdodC8+PHRvcC8+PGJvdHRvbS8+PGRpYWdvbmFsLz48L2JvcmRlcj48L2JvcmRlcnM+PGNlbGxTdHlsZVhmcyBjb3VudD0iMSI+PHhmIG51bUZtdElkPSIwIiBmb250SWQ9IjAiIGZpbGxJZD0iMCIgYm9yZGVySWQ9IjAiLz48L2NlbGxTdHlsZVhmcz48Y2VsbFhmcyBjb3VudD0iMSI+PHhmIG51bUZtdElkPSIwIiBmb250SWQ9IjAiIGZpbGxJZD0iMCIgYm9yZGVySWQ9IjAiIHhmSWQ9IjAiLz48L2NlbGxYZnM+PGNlbGxTdHlsZXMgY291bnQ9IjEiPjxjZWxsU3R5bGUgbmFtZT0iTm9ybWFsIiB4ZklkPSIwIiBidWlsdGluSWQ9IjAiLz48L2NlbGxTdHlsZXM+PGR4ZnMgY291bnQ9IjAiLz48dGFibGVTdHlsZXMgY291bnQ9IjAiIGRlZmF1bHRUYWJsZVN0eWxlPSJUYWJsZVN0eWxlTWVkaXVtMiIgZGVmYXVsdFBpdm90U3R5bGU9IlBpdm90U3R5bGVMaWdodDE2Ii8+PGV4dExzdD48ZXh0IHVyaT0ie0VCNzlERUYyLTgwQjgtNDNlNS05NUJELTU0Q0JEREY5MDIwQ30iIHhtbG5zOngxND0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2Uvc3ByZWFkc2hlZXRtbC8yMDA5LzkvbWFpbiI+PHgxNDpzbGljZXJTdHlsZXMgZGVmYXVsdFNsaWNlclN0eWxlPSJTbGljZXJTdHlsZUxpZ2h0MSIvPjwvZXh0PjxleHQgdXJpPSJ7OTI2MEE1MTAtRjMwMS00NmE4LTg2MzUtRjUxMkQ2NEJFNUY1fSIgeG1sbnM6eDE1PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTAvMTEvbWFpbiI+PHgxNTp0aW1lbGluZVN0eWxlcyBkZWZhdWx0VGltZWxpbmVTdHlsZT0iVGltZVNsaWNlclN0eWxlTGlnaHQxIi8+PC9leHQ+PC9leHRMc3Q+PC9zdHlsZVNoZWV0PlBLAwQKAAAAAAAAACEA0IywC4EAAACBAAAAFAAAAHhsL3NoYXJlZFN0cmluZ3MueG1sPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/Pg0KPHNzdCB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3NwcmVhZHNoZWV0bWwvMjAwNi9tYWluIi8+UEsDBAoAAAAAAAAAIQDcCx83XQIAAF0CAAARAAAAZG9jUHJvcHMvY29yZS54bWw8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCIgc3RhbmRhbG9uZT0ieWVzIj8+DQo8Y3A6Y29yZVByb3BlcnRpZXMgeG1sbnM6Y3A9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9wYWNrYWdlLzIwMDYvbWV0YWRhdGEvY29yZS1wcm9wZXJ0aWVzIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOmRjdGVybXM9Imh0dHA6Ly9wdXJsLm9yZy9kYy90ZXJtcy8iIHhtbG5zOmRjbWl0eXBlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIj48ZGM6Y3JlYXRvcj5kdW5jYW48L2RjOmNyZWF0b3I+PGNwOmxhc3RNb2RpZmllZEJ5PmR1bmNhbjwvY3A6bGFzdE1vZGlmaWVkQnk+PGRjdGVybXM6Y3JlYXRlZCB4c2k6dHlwZT0iZGN0ZXJtczpXM0NEVEYiPjIwMTktMDEtMzFUMTY6NDg6MDNaPC9kY3Rlcm1zOmNyZWF0ZWQ+PGRjdGVybXM6bW9kaWZpZWQgeHNpOnR5cGU9ImRjdGVybXM6VzNDRFRGIj4yMDE5LTAxLTMxVDE2OjQ4OjI4WjwvZGN0ZXJtczptb2RpZmllZD48L2NwOmNvcmVQcm9wZXJ0aWVzPlBLAwQKAAAAAAAAACEAYUkJEBEDAAARAwAAEAAAAGRvY1Byb3BzL2FwcC54bWw8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCIgc3RhbmRhbG9uZT0ieWVzIj8+DQo8UHJvcGVydGllcyB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL29mZmljZURvY3VtZW50LzIwMDYvZXh0ZW5kZWQtcHJvcGVydGllcyIgeG1sbnM6dnQ9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L2RvY1Byb3BzVlR5cGVzIj48QXBwbGljYXRpb24+TWljcm9zb2Z0IEV4Y2VsPC9BcHBsaWNhdGlvbj48RG9jU2VjdXJpdHk+MDwvRG9jU2VjdXJpdHk+PFNjYWxlQ3JvcD5mYWxzZTwvU2NhbGVDcm9wPjxIZWFkaW5nUGFpcnM+PHZ0OnZlY3RvciBzaXplPSIyIiBiYXNlVHlwZT0idmFyaWFudCI+PHZ0OnZhcmlhbnQ+PHZ0Omxwc3RyPldvcmtzaGVldHM8L3Z0Omxwc3RyPjwvdnQ6dmFyaWFudD48dnQ6dmFyaWFudD48dnQ6aTQ+MTwvdnQ6aTQ+PC92dDp2YXJpYW50PjwvdnQ6dmVjdG9yPjwvSGVhZGluZ1BhaXJzPjxUaXRsZXNPZlBhcnRzPjx2dDp2ZWN0b3Igc2l6ZT0iMSIgYmFzZVR5cGU9Imxwc3RyIj48dnQ6bHBzdHI+U2hlZXQxPC92dDpscHN0cj48L3Z0OnZlY3Rvcj48L1RpdGxlc09mUGFydHM+PENvbXBhbnk+PC9Db21wYW55PjxMaW5rc1VwVG9EYXRlPmZhbHNlPC9MaW5rc1VwVG9EYXRlPjxTaGFyZWREb2M+ZmFsc2U8L1NoYXJlZERvYz48SHlwZXJsaW5rc0NoYW5nZWQ+ZmFsc2U8L0h5cGVybGlua3NDaGFuZ2VkPjxBcHBWZXJzaW9uPjE2LjAzMDA8L0FwcFZlcnNpb24+PC9Qcm9wZXJ0aWVzPlBLAQIUAAoAAAAAAAAAIQBi7p1okAQAAJAEAAATAAAAAAAAAAAAAAAAAAAAAABbQ29udGVudF9UeXBlc10ueG1sUEsBAhQACgAAAAAAAAAhALVVMCNMAgAATAIAAAsAAAAAAAAAAAAAAAAAwQQAAF9yZWxzLy5yZWxzUEsBAhQACgAAAAAAAAAhALpwnmbKBgAAygYAAA8AAAAAAAAAAAAAAAAANgcAAHhsL3dvcmtib29rLnhtbFBLAQIUAAoAAAAAAAAAIQCBPpSXugIAALoCAAAaAAAAAAAAAAAAAAAAAC0OAAB4bC9fcmVscy93b3JrYm9vay54bWwucmVsc1BLAQIUAAoAAAAAAAAAIQACrURzpAMAAKQDAAAYAAAAAAAAAAAAAAAAAB8RAAB4bC93b3Jrc2hlZXRzL3NoZWV0MS54bWxQSwECFAAKAAAAAAAAACEAwRcQvsYgAADGIAAAEwAAAAAAAAAAAAAAAAD5FAAAeGwvdGhlbWUvdGhlbWUxLnhtbFBLAQIUAAoAAAAAAAAAIQB5oYBsUgYAAFIGAAANAAAAAAAAAAAAAAAAAPA1AAB4bC9zdHlsZXMueG1sUEsBAhQACgAAAAAAAAAhANCMsAuBAAAAgQAAABQAAAAAAAAAAAAAAAAAbTwAAHhsL3NoYXJlZFN0cmluZ3MueG1sUEsBAhQACgAAAAAAAAAhANwLHzddAgAAXQIAABEAAAAAAAAAAAAAAAAAID0AAGRvY1Byb3BzL2NvcmUueG1sUEsBAhQACgAAAAAAAAAhAGFJCRARAwAAEQMAABAAAAAAAAAAAAAAAAAArD8AAGRvY1Byb3BzL2FwcC54bWxQSwUGAAAAAAoACgCAAgAA60IAAAAA";var ur=n=>n!==null&&typeof n=="object"&&"row"in n&&"column"in n;var B=class n{start_;end_;constructor(e,t=e,r=!1){this.end_=this.PatchNull(t),this.start_=this.PatchNull(e),r&&this.Normalize()}static FromColumn(e){return new n({row:1/0,column:e})}static FromRow(e){return new n({row:e,column:1/0})}static ColumnToLabel(e){let t=String.fromCharCode(65+e%26);for(;e>25;)e=Math.floor(e/26)-1,t=String.fromCharCode(65+e%26)+t;return t}static CellAddressToLabel(e,t=!1){if(e.row===1/0&&e.column===1/0)throw new Error("this is going to break something");let r=t?`${e.sheet_id||0}!`:"";return e.row===1/0?r+(e.absolute_column?"$":"")+this.ColumnToLabel(e.column):e.column===1/0?r+(e.absolute_row?"$":"")+(e.row+1):r+(e.absolute_column?"$":"")+this.ColumnToLabel(e.column)+(e.absolute_row?"$":"")+(e.row+1)+(e.spill?"#":"")}static Join(e,...t){let r=new n(e.start,e.end);for(let i of t)i&&(r.ConsumeAddress(i.start),r.ConsumeAddress(i.end));return r}static Bleed(e,t=1){return new n({row:Math.max(0,e.start.row-t),column:Math.max(0,e.start.column-t),sheet_id:e.start.sheet_id},{row:e.end.row+t,column:e.end.column+t})}static PatchArea(e,t){let{before_column:r,column_count:i,before_row:s,row_count:o}=t,a=new n(e.start,e.end),l=e.start.sheet_id;if(i&&r<=a.end.column){if(i>0)r<=a.start.column?a.Shift(0,i):r>a.start.column&&r<=a.end.column?a.ConsumeAddress({row:a.end.row,column:a.end.column+i}):console.warn("AA X case 1",r,i,JSON.stringify(a));else if(i<0)if(r-i<=a.start.column)a.Shift(0,i);else{if(r<=a.start.column&&r-i>a.end.column)return!1;if(r<=a.start.column){let d=r-i-1;a=new n({row:a.start.row,column:d+1+i,sheet_id:l},{row:a.end.row,column:a.end.column+i})}else r<=a.end.column?r-i-1>=a.end.column?a=new n({row:a.start.row,column:a.start.column,sheet_id:l},{row:a.end.row,column:r-1}):a=new n({row:a.start.row,column:a.start.column,sheet_id:l},{row:a.end.row,column:a.start.column+a.columns+i-1}):console.warn("AA X case 2",r,i,JSON.stringify(a))}}if(o&&s<=a.end.row){if(o>0)s<=a.start.row?a.Shift(o,0):s>a.start.row&&s<=a.end.row?a.ConsumeAddress({row:a.end.row+o,column:a.end.column}):console.warn("AA X case 3",s,o,JSON.stringify(a));else if(o<0)if(s-o<=a.start.row)a.Shift(o,0);else{if(s<=a.start.row&&s-o>a.end.row)return!1;if(s<=a.start.row){let d=s-o-1;a=new n({column:a.start.column,row:d+1+o,sheet_id:l},{column:a.end.column,row:a.end.row+o})}else s<=a.end.row?s-o-1>=a.end.row?a=new n({column:a.start.column,row:a.start.row,sheet_id:l},{column:a.end.column,row:s-1}):a=new n({column:a.start.column,row:a.start.row,sheet_id:l},{column:a.end.column,row:a.start.row+a.rows+o-1}):console.warn("AA X case 4",s,o,JSON.stringify(a))}}return a}get start(){return{...this.start_}}set start(e){this.start_=e}get end(){return{...this.end_}}set end(e){this.end_=e}get rows(){return this.start_.row===1/0||this.end_.row===1/0?1/0:this.end_.row-this.start_.row+1}get columns(){return this.start_.column===1/0||this.end_.column===1/0?1/0:this.end_.column-this.start_.column+1}get count(){return this.rows*this.columns}get entire_sheet(){return this.entire_row&&this.entire_column}get entire_column(){return this.start_.row===1/0}get entire_row(){return this.start_.column===1/0}PatchNull(e){let t={...e};return t.row===null&&(t.row=1/0),t.column===null&&(t.column=1/0),t}SetSheetID(e){this.start_.sheet_id=e}Normalize(){let e={...this.start_},t={...this.end_};e.row===1/0||t.row===1/0?e.row=t.row=1/0:e.row>t.row&&(e.row=this.end_.row,e.absolute_row=this.end_.absolute_row,t.row=this.start_.row,t.absolute_row=this.start_.absolute_row),e.column===1/0||t.column===1/0?e.column=t.column=1/0:e.column>t.column&&(e.column=this.end_.column,e.absolute_column=this.end_.absolute_column,t.column=this.start_.column,t.absolute_column=this.start_.absolute_column),this.start_=e,this.end_=t}TopLeft(){let e={row:0,column:0};return this.entire_row||(e.column=this.start.column),this.entire_column||(e.row=this.start.row),e}BottomRight(){let e={row:0,column:0};return this.entire_row||(e.column=this.end.column),this.entire_column||(e.row=this.end.row),e}ContainsRow(e){return this.entire_column||e>=this.start_.row&&e<=this.end_.row}ContainsColumn(e){return this.entire_row||e>=this.start_.column&&e<=this.end_.column}Contains(e){return(this.entire_column||e.row>=this.start_.row&&e.row<=this.end_.row)&&(this.entire_row||e.column>=this.start_.column&&e.column<=this.end_.column)}ContainsArea(e){return this.start.column<=e.start.column&&this.end.column>=e.end.column&&this.start.row<=e.start.row&&this.end.row>=e.end.row}Intersects(e){return!(e.start.column>this.end.column||this.start.column>e.end.column||e.start.row>this.end.row||this.start.row>e.end.row)}Equals(e){return e.start_.row===this.start_.row&&e.start_.column===this.start_.column&&e.end_.row===this.end_.row&&e.end_.column===this.end_.column}Equals2(e){return e.start.row===this.start_.row&&e.start.column===this.start_.column&&e.end.row===this.end_.row&&e.end.column===this.end_.column}Clone(){return new n(this.start,this.end)}get left(){let e=new n(this.start_,this.end_);return e.end_.column=e.start_.column,e}get right(){let e=new n(this.start_,this.end_);return e.start_.column=e.end_.column,e}get top(){let e=new n(this.start_,this.end_);return e.end_.row=e.start_.row,e}get bottom(){let e=new n(this.start_,this.end_);return e.start_.row=e.end_.row,e}Shift(e,t){return this.start_.row+=e,this.start_.column+=t,this.end_.row+=e,this.end_.column+=t,this}ConsumeAddress(e){this.entire_row||(e.column<this.start_.column&&(this.start_.column=e.column),e.column>this.end_.column&&(this.end_.column=e.column)),this.entire_column||(e.row<this.start_.row&&(this.start_.row=e.row),e.row>this.end_.row&&(this.end_.row=e.row))}Reshape(e,t){return this.end_.row=this.start_.row+e-1,this.end_.column=this.start_.column+t-1,this}ConsumeArea(e){this.ConsumeAddress(e.start),this.ConsumeAddress(e.end)}Resize(e,t){return this.end_.row=this.start_.row+e-1,this.end_.column=this.start_.column+t-1,this}[Symbol.iterator](){if(this.entire_row||this.entire_column)throw new Error("don\'t iterate infinite area");let e=this.start_.row,t=this.start_.column;return{next:()=>{let r={column:t,row:e,sheet_id:this.start_.sheet_id};return t>this.end_.column?{done:!0,value:void 0}:(++e>this.end_.row&&(e=this.start_.row,t++),{value:r})}}}get spreadsheet_label(){let e;return this.entire_sheet?"":this.entire_column?(e=n.ColumnToLabel(this.start_.column),e+=":"+n.ColumnToLabel(this.end_.column),e):this.entire_row?(e=String(this.start_.row+1),e+=":"+(this.end_.row+1),e):(e=n.CellAddressToLabel(this.start_),this.columns>1||this.rows>1?e+":"+n.CellAddressToLabel(this.end_):e)}toJSON(){return{start:{...this.start_},end:{...this.end_}}}};var Vn=n=>typeof n=="object"&&!!n&&typeof n.real=="number"&&typeof n.imaginary=="number";var Mt=n=>typeof n=="object"&&!!n&&typeof n.value=="number"&&typeof n.unit=="string",Ft=["undefined","formula","string","number","boolean","object","error","complex","array","dimensioned_quantity"];var Ze=n=>{switch(typeof n){case"undefined":return 0;case"number":return 3;case"boolean":return 4;case"object":return n===null?0:Vn(n)?7:Mt(n)?9:5;case"string":return n[0]==="="?1:2;default:return 6}};var re=class{static StringToColumn(e){let t=0;e=e.toUpperCase();for(let r=0;r<e.length;r++)t*=26,t+=e.charCodeAt(r)-64;return t-1}value;type=0;calculated;calculated_type;formatted;rendered_type;style;area;spill;merge_area;table;renderer_data;render_clean=[];note;hyperlink;editing;render_function;click_function;constructor(e,t){typeof e<"u"&&this.Set(e,t)}ValueIsNumber(){return this.type===3}ValueIsFormula(){return this.type===1}ValueIsBoolean(){return this.type===4}ValueIsComplex(){return this.type===7}FlushStyle(){this.formatted=this.rendered_type=this.style=void 0,this.render_clean=[]}FlushArray(){this.area=void 0}FlushCache(){this.calculated=this.calculated_type=this.formatted=this.rendered_type=this.render_function=this.click_function=void 0,this.render_clean=[]}Reset(){this.type=0,this.value=this.spill=this.note=this.hyperlink=this.formatted=this.rendered_type=this.style=this.calculated=this.calculated_type=this.area=this.renderer_data=this.render_function=this.click_function=void 0,this.render_clean=[]}Set(e,t=Ze(e)){this.value=e,this.type=t,this.spill=this.formatted=this.rendered_type=this.style=this.calculated=this.calculated_type=this.render_function=this.click_function=this.area=void 0,this.render_clean=[]}SetCalculatedValue(e,t=Ze(e)){e===void 0&&(e=0,t=3),this.calculated!==e&&(this.calculated=e,this.calculated_type=t,this.formatted=this.rendered_type=void 0,this.render_clean=[])}GetValue(){return this.calculated_type?this.calculated:typeof this.value=="string"&&this.value[0]==="\'"?this.value.slice(1):this.value}GetValue4(){return this.calculated_type?{type:this.calculated_type,value:this.calculated}:this.type===1?{type:3,value:0}:{type:this.type,value:typeof this.value=="string"&&this.value[0]==="\'"?this.value.slice(1):this.value}}SetNote(e){this.note=e,this.render_clean=[]}SetCalculationError(e="ERR"){this.SetCalculatedValue(e,6)}SetArray(e){this.type=0,this.value=this.formatted=this.rendered_type=this.style=this.hyperlink=this.calculated=this.calculated_type=void 0,this.area=e,this.render_clean=[]}SetArrayHead(e,t){this.type=Ze(t),this.value=t,this.formatted=this.rendered_type=this.style=this.calculated=this.calculated_type=void 0,this.area=e,this.render_clean=[]}};var On=n=>!n.cells,Dn=n=>!!n[0]&&On(n[0]),Yn=n=>!!n[0]&&n[0].row!==void 0,jn=Ft.map((n,e)=>({[n]:e})).reduce((n,e)=>({...n,...e}),{}),ot=class{data=[];rows_=0;columns_=0;get rows(){return this.rows_}get columns(){return this.columns_}EnsureRow(e){this.rows_=Math.max(e+1,this.rows_)}EnsureColumn(e){this.columns_=Math.max(e+1,this.columns_)}InsertColumns(e=0,t=1){this.data=this.data.map(r=>{if(r.length>=e){let i=r.slice(0,e),s=e+t,o=r.slice(e);for(let a=0;a<o.length;a++)i[s++]=o[a];return i}return r}),this.columns_+=t}DeleteColumns(e,t=1){this.data.forEach(r=>r.splice(e,t)),this.columns_-=t}DeleteRows(e,t=1){this.data.splice(e,t),this.rows_-=t}InsertRows(e=0,t=1){let r=[e,0,[]];for(let i=1;i<t;i++)r.push([]);Array.prototype.splice.apply(this.data,r),this.rows_+=t}GetCell(e,t){let{row:r,column:i}=e;if(!this.data[r])if(t)this.data[r]=[],this.rows_=Math.max(this.rows_,r+1);else return;return this.data[r][i]||t&&(this.data[r][i]=new re,this.columns_=Math.max(this.columns_,i+1)),this.data[r][i]}EnsureCell(e){let{row:t,column:r}=e,i=this.data[t];i||(this.data[t]=i=[],this.rows_=Math.max(this.rows_,t+1));let s=i[r];return s||(s=i[r]=new re,this.columns_=Math.max(this.columns_,r+1)),s}FromArray(e=[],t=!1){this.data=[];let r=0,i=0;if(t){i=e.length;for(let s=0;s<i;s++){let o=e[s];r=Math.max(r,o.length);for(let a=0;a<o.length;a++)this.data[a]||(this.data[a]=[]),this.data[a][s]=new re(o[a])}}else{r=e.length;for(let s=0;s<r;s++){let o=[],a=e[s];i=Math.max(i,a.length);for(let l=0;l<a.length;l++)o[l]=new re(a[l]);this.data[s]=o}}this.rows_=r,this.columns_=i}SerializedTypeToValueType(e){if(e)return typeof e=="number"?e:jn[e]||void 0}ValueTypeToSerializedType(e){return e?Ft[e]:void 0}FromJSON(e=[],t){if(this.data=[],!Dn(e)){let i=[];if(Yn(e))for(let s of e)for(let o of s.cells)i.push({...o,row:s.row});else for(let s of e)for(let o of s.cells)i.push({...o,column:s.column});e=i}let r=[];for(let i of e){this.data[i.row]||(this.data[i.row]=[]);let s=new re(i.value);if(typeof i.calculated<"u"&&(s.SetCalculatedValue(i.calculated,this.SerializedTypeToValueType(i.calculated_type)),i.spill&&(s.spill=new B(i.spill.start,i.spill.end))),t&&typeof i.style_ref<"u"&&(s.style=t[i.style_ref]),typeof i.note<"u"&&(s.note=i.note),typeof i.hyperlink<"u"&&(s.hyperlink=i.hyperlink),this.data[i.row][i.column]&&this.data[i.row][i.column].area&&(s.area=this.data[i.row][i.column].area),this.data[i.row][i.column]=s,i.area){let o=new B(i.area.start,i.area.end);for(let a=o.start.row;a<=o.end.row;a++)for(let l=o.start.column;l<=o.end.column;l++)this.data[a]||(this.data[a]=[]),this.data[a][l]||(this.data[a][l]=new re),this.data[a][l].area=o}if(i.table&&r.push({...i.table}),i.merge_area){let o=new B(i.merge_area.start,i.merge_area.end);for(let a=o.start.row;a<=o.end.row;a++)for(let l=o.start.column;l<=o.end.column;l++)this.data[a]||(this.data[a]=[]),this.data[a][l]||(this.data[a][l]=new re),this.data[a][l].merge_area=o}}for(let i of r)for(let s=i.area.start.row;s<=i.area.end.row;s++)for(let o=i.area.start.column;o<=i.area.end.column;o++)this.data[s]||(this.data[s]=[]),this.data[s][o]||(this.data[s][o]=new re),this.data[s][o].table=i;this.rows_=this.data.length,this.columns_=this.data.reduce((i,s)=>Math.max(i,s.length),0)}toJSON(e={}){let t=0,r=0,i=this.data.length-1,s;e.subset&&(t=e.subset.start.column,r=e.subset.start.row,i=e.subset.end.row);let o=[],a=-1,l=-1,d={},c={};for(let h=r;h<=i;h++)if(this.data[h]){let m=this.data[h];s=m.length-1,e.subset&&(s=e.subset.end.column);for(let u=t;u<=s;u++){let f=m[u],g=f&&f.merge_area&&f.merge_area.start.row===h&&f.merge_area.start.column===u,_=f&&f.area&&f.area.start.row===h&&f.area.start.column===u,A=f&&f.table&&f.table.area.start.row===h&&f.table.area.start.column===u,w=f?f.type===2&&!f.value:!0;if(f&&(!w||e.preserve_empty_strings)&&(g||f.type||f.calculated_type&&e.expand_arrays||f.calculated_type&&e.calculated_value||f.note||e.decorated_cells&&f.style&&(f.style.fill||f.style.border_bottom||f.style.border_top||f.style.border_left||f.style.border_right))){let b={row:h,column:u,value:f.value};f.note&&(b.note=f.note),f.hyperlink&&(b.hyperlink=f.hyperlink),e.preserve_type&&(b.type=this.ValueTypeToSerializedType(f.type)),e.sheet_id&&(b.sheet_id=e.sheet_id),e.calculated_value&&typeof f.calculated<"u"&&(b.calculated=f.calculated,f.spill&&(b.spill=f.spill.toJSON()),(e.preserve_type||f.calculated_type===6)&&(b.calculated_type=this.ValueTypeToSerializedType(f.calculated_type))),f.table&&A&&e.tables&&(b.table=JSON.parse(JSON.stringify(f.table))),f.area&&_&&(b.area=f.area.toJSON()),f.merge_area&&(b.merge_area=f.merge_area.toJSON()),e.cell_style_refs&&e.cell_style_refs[u]&&e.cell_style_refs[u][h]&&(b.style_ref=e.cell_style_refs[u][h],e.cell_style_refs[u][h]=0),d[h]=h,c[u]=u,a=Math.max(h,a),l=Math.max(u,l),o.push(b)}}}if(e.nested){let h=Object.keys(d),m=Object.keys(c);if(h.length<=m.length&&h.length){let u={},f=[];for(let g of o){let{row:_,...A}=g;u[g.row]||(u[g.row]=[]),u[g.row].push(A)}for(let g of h){let _=Number(g);f.push({row:_,cells:u[_]})}return{data:f,rows:a,columns:l+1}}else if(m.length){let u={},f=[];for(let g of o){let{column:_,...A}=g;u[g.column]||(u[g.column]=[]),u[g.column].push(A)}for(let g of m){let _=Number(g);f.push({column:_,cells:u[_]})}return{data:f,rows:a,columns:l+1}}}return{data:o,rows:a+1,columns:l+1}}GetAll(e=!1){return this.GetRange({row:0,column:0},{row:this.rows_-1,column:this.columns_-1},e)}Normalize(e,t){return e={...e,row:e.row==1/0?0:e.row,column:e.column==1/0?0:e.column},t&&(t={...t,row:t.row==1/0?this.rows_-1:t.row,column:t.column==1/0?this.columns_-1:t.column}),{from:e,to:t}}RawValue(e,t=e){if({from:e,to:t}=this.Normalize(e,t),e.row===t.row&&e.column===t.column)return this.data[e.row]&&this.data[e.row][e.column]?this.data[e.row][e.column].value:void 0;let r=[],i=this.data.slice(e.row,t.row+1),s=e.column,o=t.column+1;for(let a of i){let l=[];for(let d=s,c=0;d<o;d++,c++){let h=a[d];l.push(h?h.value:void 0)}r.push(l)}return r}GetRange(e,t,r=!1){if({from:e,to:t}=this.Normalize(e,t),!t||e===t||e.column===t.column&&e.row===t.row)return this.data[e.row]&&this.data[e.row][e.column]?this.data[e.row][e.column].GetValue():void 0;let i=[];if(r)for(let s=e.column;s<=t.column;s++){let o=[];for(let a=e.row;a<=t.row;a++)this.data[a]&&this.data[a][s]?o.push(this.data[a][s].GetValue()):o.push(void 0);i.push(o)}else for(let s=e.row;s<=t.row;s++){let o=[];for(let a=e.column;a<=t.column;a++)this.data[s]&&this.data[s][a]?o.push(this.data[s][a].GetValue()):o.push(void 0);i.push(o)}return i}GetRange4(e,t=e,r=!1){if({from:e,to:t}=this.Normalize(e,t),e.row===t.row&&e.column===t.column)return this.data[e.row]&&this.data[e.row][e.column]?this.data[e.row][e.column].GetValue4():{value:void 0,type:0};let i=[];if(r)for(let s=e.column;s<=t.column;s++){let o=[];for(let a=e.row;a<=t.row;a++)this.data[a]&&this.data[a][s]?o.push(this.data[a][s].GetValue4()):o.push({type:0});i.push(o)}else for(let s=e.row;s<=t.row;s++){let o=[];for(let a=e.column;a<=t.column;a++)this.data[s]&&this.data[s][a]?o.push(this.data[s][a].GetValue4()):o.push({type:0});i.push(o)}return{type:8,value:i}}SetArea(e,t){if(ArrayBuffer.isView(t))throw new Error("ABIV");if(Array.isArray(t))for(let r=e.start.row,i=0;r<=e.end.row;r++,i++){this.data[r]||(this.data[r]=[]);let s=this.data[r];if(t[i])for(let o=e.start.column,a=0;o<=e.end.column;o++,a++)s[o]||(s[o]=new re),s[o].Set(t[i][a])}else{let r=Ze(t);for(let i=e.start.row;i<=e.end.row;i++){this.data[i]||(this.data[i]=[]);let s=this.data[i];for(let o=e.start.column;o<=e.end.column;o++)s[o]||(s[o]=new re),s[o].Set(t,r)}}this.rows_=Math.max(this.rows_,e.end.row+1),this.columns_=Math.max(this.columns_,e.end.column+1)}*IterateRC(e,t=!1){if(!e&&t&&(e=new B({row:0,column:0},{row:this.rows_-1,column:this.columns-1})),e)if(t)for(let r=e.start.row;r<=e.end.row;r++){this.data[r]||(this.data[r]=[]);let i=this.data[r];for(let s=e.start.column;s<=e.end.column;s++)i[s]||(i[s]=new re),yield{cell:i[s],row:r,column:s}}else for(let r=e.start.row;r<=e.end.row;r++){let i=this.data[r];if(i)for(let s=e.start.column;s<=e.end.column;s++){let o=i[s];o&&(yield{cell:o,row:r,column:s})}}else for(let[r,i]of this.data.entries())if(i)for(let[s,o]of i.entries())o&&(yield{cell:o,row:r,column:s})}*Iterate(e,t=!1){if(!e&&t&&(e=new B({row:0,column:0},{row:this.rows_-1,column:this.columns-1})),e){ur(e)&&(e=new B(e)),(e.entire_column||e.entire_row)&&(e=new B(e.start,e.end),e.start.column===1/0&&(e.start.column=0,e.end.column=this.columns_-1),e.start.row===1/0&&(e.start.row=0,e.end.row=this.rows_-1));let r=e.start,i=e.end;if(t)for(let s=r.row;s<=i.row;s++){this.data[s]||(this.data[s]=[]);let o=this.data[s];for(let a=r.column;a<=i.column;a++)o[a]||(o[a]=new re),yield o[a]}else for(let s=r.row;s<=i.row;s++)if(this.data[s]){let o=this.data[s];for(let a=r.column;a<=i.column;a++)o[a]&&(yield o[a])}}else for(let r of this.data)if(r)for(let i of r)i&&(yield i)}FlushCellStyles(){for(let e of this.data)if(e)for(let t of e)t&&t.FlushStyle()}FlushCachedValues(){for(let e of this.data)if(e)for(let t of e)t&&t.FlushCache()}};var V=class{static locale="en-us";static decimal_separator=".";static argument_separator=",";static grouping_separator=",";static date_components={short_days:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],long_days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],short_months:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],long_months:["January","February","March","April","May","June","July","August","September","October","November","December"]};static UpdateLocale(e){if(e)this.locale=e;else if(typeof self<"u"){let i=self?.document?.location;if(i&&i.search&&/locale=([^?&]+?)(?:\\?|$|&)/.test(i.search)){let s=i.search.match(/locale=(.*?)(?:\\?|$|&)/);s&&(this.locale=s[1]),console.info("override locale",this.locale)}else typeof navigator<"u"&&(navigator.languages&&navigator.languages[0]?this.locale=navigator.languages[0]:this.locale=navigator.language)}this.locale==="C"&&(console.warn("Locale not set, defaulting to en-us"),this.locale="en-us");let t=new Intl.NumberFormat(this.locale,{minimumFractionDigits:1}).format(3.3).replace(/\\d/g,"");this.decimal_separator=t===","?",":".",this.decimal_separator===","?(this.argument_separator=";",this.grouping_separator=" "):(this.argument_separator=",",this.grouping_separator=",");let r=new Date(2e3,0,2,12,0,0,0);this.UpdateDateComponent(0,0,r),r=new Date(2e3,1,7,12,0,0,0),this.UpdateDateComponent(1,1,r),r=new Date(2e3,2,7,12,0,0,0),this.UpdateDateComponent(2,2,r),r=new Date(2e3,3,5,12,0,0,0),this.UpdateDateComponent(3,3,r),r=new Date(2e3,4,4,12,0,0,0),this.UpdateDateComponent(4,4,r),r=new Date(2e3,5,2,12,0,0,0),this.UpdateDateComponent(5,5,r),r=new Date(2e3,6,1,12,0,0,0),this.UpdateDateComponent(6,6,r),r=new Date(2e3,7,1,12,0,0,0),this.UpdateDateComponent(7,-1,r),r=new Date(2e3,8,1,12,0,0,0),this.UpdateDateComponent(8,-1,r),r=new Date(2e3,9,1,12,0,0,0),this.UpdateDateComponent(9,-1,r),r=new Date(2e3,10,1,12,0,0,0),this.UpdateDateComponent(10,-1,r),r=new Date(2e3,11,1,12,0,0,0),this.UpdateDateComponent(11,-1,r)}static UpdateDateComponent(e,t,r){t>=0&&(this.date_components.short_days[t]=r.toLocaleString(this.locale,{weekday:"short"}),this.date_components.long_days[t]=r.toLocaleString(this.locale,{weekday:"long"})),e>=0&&(this.date_components.short_months[e]=r.toLocaleString(this.locale,{month:"short"}),this.date_components.long_months[e]=r.toLocaleString(this.locale,{month:"long"}))}};V.UpdateLocale();var Hn=JSON.stringify({}),Jn={Background:0,Text:1,Background2:2,Text2:3,Accent:4,Accent2:5,Accent3:6,Accent4:7,Accent5:8,Accent6:9},Me=n=>typeof n.theme=="number"?n.theme:Jn[n.theme]||0,ge=n=>!!n&&typeof n.text=="string",ye=n=>!!n&&typeof n.theme<"u";var $e={DefaultProperties:{horizontal_align:"",vertical_align:"",number_format:"General",nan:"NaN",font_size:{unit:"pt",value:10.5},font_face:"sans-serif",bold:!1,italic:!1,underline:!1,strike:!1,text:{theme:1},border_top:0,border_left:0,border_right:0,border_bottom:0},CompositeBorders:n=>({top:{width:n.border_top||0,color:n.border_top_fill||{}},left:{width:n.border_left||0,color:n.border_left_fill||{}},right:{width:n.border_right||0,color:n.border_right_fill||{}},bottom:{width:n.border_bottom||0,color:n.border_bottom_fill||{}}}),Merge:(n,e,t=!0)=>{let r=t?{...n,...e}:{...e};return JSON.parse(JSON.stringify(r))},Composite:n=>JSON.parse(JSON.stringify(n.reduce((e,t)=>({...e,...t}),{}))),Empty:n=>JSON.stringify(n)===Hn,ParseFontSize:(n="",e="em")=>{let t=n.match(/(-*[\\d.]+)\\s*(\\S*)/);if(t){let r=Number(t[1]);if(!r||isNaN(r)||r<0)return{};let i=t[2].toLowerCase()||e;if(i==="pt"||i==="em"||i==="%"||i==="px")return{font_size:{unit:i,value:r}}}return{}},RelativeFontSize:(n,e)=>{let t=12,r=12;switch(n.font_size?.unit){case"pt":if(!n.font_size.value)return 1;r=n.font_size.value;break;case"px":if(!n.font_size.value)return 1;r=Math.round(n.font_size.value*300/4)/100;break;case"em":return n.font_size.value||1;case"%":return(n.font_size.value||100)/100;default:return 1}switch(e.font_size?.unit){case"pt":if(!e.font_size.value)return 1;t=e.font_size.value;break;case"px":if(!e.font_size.value)return 1;t=Math.round(e.font_size.value*300/4)/100;break;default:return 1}return r/t},FontSize:(n,e=!0)=>{let t=n.font_size?.value;switch(n.font_size?.unit){case"pt":return(t||12)+"pt";case"px":return e?Math.round((t||16)*300/4)/100+"pt":(t||16)+"px";case"em":return(t||1)+"em";case"%":return(t||100)+"%"}return""},Font:(n,e=1)=>{let t=[];return n.bold&&t.push("bold"),n.italic&&t.push("italic"),t.push(((n.font_size?.value||0)*e).toFixed(2)+(n.font_size?.unit||"pt")),t.push(n.font_face||""),t.join(" ")}};var In=Te(ct());var os={"<":"<",">":">","&":"&",""":\'"\',"'":"\'"},ls=/&\\w+;/g,cs=n=>n.replace(ls,e=>os[e]||e);var dt=cs;var Or=Te(ct()),ds=(n,e)=>dt(e);var Bt=n=>{if(n){if(Array.isArray(n))for(let e of n)Bt(e);else if(typeof n=="object")for(let[e,t]of Object.entries(n))if(e==="a$"){if(typeof t=="object"){let r={};for(let[i,s]of Object.entries(t))s!==void 0&&(r[i]=s);n[e]=r}}else Bt(t)}return n},Dr=n=>{let e=new Or.XMLBuilder(n),t=e.build;return e.build=r=>t.call(e,Bt(r)),e},ht={ignoreAttributes:!1,attributesGroupName:"a$",attributeNamePrefix:"",textNodeName:"t$",trimValues:!1,ignoreDeclaration:!0,isArray:n=>/Relationship$/.test(n),tagValueProcessor:ds},$=class{static FindChild(e={},t){let r=t.split("/");for(let i of r)if(e=e[i],!e)return;return e}static FindAll(e={},t){let r=t.split("/");if(r[0]==="."&&r.shift(),r[0]==="..")throw new Error("invalid path (no access to parent)");if(r[0]==="")throw new Error("invalid path (no access to root)");if(r[0]==="**")throw new Error("ENOTIMPL");return this.FindAllTail(e,r)}static FindAllTail(e,t){if(Array.isArray(e))return e.reduce((r,i)=>r.concat(this.FindAllTail(i,t)),[]);for(let r=0;r<t.length;r++){let i=t[r];if(i==="*"?e=Object.entries(e).reduce((o,[a,l])=>(a!=="a$"&&a!=="t$"&&o.push(l),o),[]):e=e[i],!e)return[];if(Array.isArray(e)){if(r===t.length-1||e.length===0)return e;let s=t.slice(1);return e.reduce((o,a)=>o.concat(this.FindAllTail(a,s)),[])}}return[e]}};var ke=class{strings=[];reverse={};FromXML(e){this.strings=[],this.reverse={};let t=0;for(let r of $.FindAll(e,"sst/si")){if(r.t!==void 0){let i="";typeof r.t=="string"?i=r.t:r.t.t$&&(i=r.t.t$),this.strings[t]=i,this.reverse[i]=t}else if(r.r){let s=$.FindAll(r.r,"t").map(o=>typeof o=="string"?o:o.t$||"").join("");this.strings[t]=s,this.reverse[s]=t}else console.warn(` ** unexpected shared string @ ${t}`),console.info(r);t++}}Get(e){return this.strings[e]}Ensure(e){e[0]==="\'"&&(e=e.substring(1));let t=this.reverse[e];return typeof t=="number"||(t=this.strings.length,this.strings.push(e),this.reverse[e]=t),t}};var Ne=class n{static color_map=["lt1","dk1","lt2","dk2","accent1","accent2","accent3","accent4","accent5","accent6","hlink","folHlink"];colors={};FromXML(e){let t=Object.keys(e)[0],r="",i=t.toString().match(/^(.*?):/);if(i&&(r=i[1]+":"),e[t]&&e[t][`${r}themeElements`]){let s=e[t][`${r}themeElements`][`${r}clrScheme`];for(let o of n.color_map){let a=s[`${r}${o}`],l,d="rgb";a[`${r}srgbClr`]?(d="rgb",l=a[`${r}srgbClr`].a$.val||""):a[`${r}sysClr`]&&(d="system",l=a[`${r}sysClr`].a$.lastClr||""),this.colors[o]={name:o,value:l,type:d}}}}};var _e=class{date_format=!1;string_format=!1;fraction_format=!1;twelve_hour=!1;fraction_denominator=0;fraction_integer=!0;fraction_align=0;fraction_denominator_digits=0;integer_min_digits=0;decimal_min_digits=0;decimal_max_digits=0;grouping=!1;has_number_format=!1;prefix=[{text:""}];suffix=[{text:""}];scaling=0;percent=!1;exponential=!1;has_asterisk=!1};var Yr=42,jr=95,Lt=63,ut=48,Hr=46,Vt=44,Jr=37,Ot=34,De=35,Xr=59,ft=92,Qr=64,us=91,fs=93,qr=69,Kr=101,ms=72,ps=104,bs=77,gs=109,ys=83,xs=115,_s=68,ws=100,As=89,Cs=121,vs=65,Is=97;var mt=class{static date_pattern=!1;static pattern="";static char_index=0;static characters=[];static sections=[];static current_section=new _e;static preserve_formatting_characters=!1;static decimal_mark=Hr;static group_separator=Vt;static Parse(e){if(this.pattern=e,this.characters=e.split("").map(t=>t.charCodeAt(0)),this.char_index=0,this.current_section=new _e,this.sections=[this.current_section],this.ParseDatePattern())return this.sections;for(this.char_index=0,this.current_section=new _e,this.sections=[this.current_section];this.char_index<this.characters.length;)this.ConsumeChar();return this.sections}static ConsumeString(){let e="";for(this.preserve_formatting_characters&&(e+=this.pattern[this.char_index]),++this.char_index;this.char_index<this.characters.length;this.char_index++)switch(this.characters[this.char_index]){case ft:this.preserve_formatting_characters&&(e+=this.pattern[this.char_index]),this.char_index+1<this.characters.length&&(e+=this.pattern[++this.char_index]);break;case Ot:return this.preserve_formatting_characters&&(e+=this.pattern[this.char_index]),this.char_index++,e;default:e+=this.pattern[this.char_index];break}throw new Error("unterminated string")}static ConsumeFormatting(){let e="";for(++this.char_index;this.char_index<this.characters.length;this.char_index++)switch(this.characters[this.char_index]){case ft:throw new Error("invalid escape character in formatting block");case fs:return this.char_index++,e;default:e+=this.pattern[this.char_index];break}throw new Error("unterminated format")}static ScanFractionFormat(){let e=/^([#?]+ +){0,1}([#?]+)\\/([#?0-9]+)(?:$|[^#?0-9])/,r=this.pattern.substr(this.char_index).match(e);if(!r)return!1;let i=(r[1]||"").length+r[2].length+r[3].length+1;this.current_section.fraction_format=!0,this.current_section.fraction_integer=!!r[1];let s=Number(r[3]);return isNaN(s)||(this.current_section.fraction_denominator=s),this.current_section.decimal_max_digits=this.current_section.fraction_denominator_digits=r[3].length,this.char_index+=i,this.current_section.has_number_format=!0,!0}static ConsumeNumberFormat(){let e=0;for(this.char_index;this.char_index<this.characters.length;this.char_index++)switch(this.characters[this.char_index]){case this.group_separator:{let r=!1;for(let i=this.char_index+1;!r&&i<this.characters.length;i++){let s=this.characters[i];if(s===this.decimal_mark||s===De||s===ut)r=!0;else if(s!==Vt)break}if(r){if(e===1)throw new Error("invalid grouping in decimal part");this.current_section.grouping=!0}else this.current_section.scaling=(this.current_section.scaling||1)*1e3}break;case this.decimal_mark:if(e===1)throw new Error("too many decimal marks");e=1;break;case De:e===1?this.current_section.decimal_max_digits++:this.current_section.integer_min_digits&&this.current_section.integer_min_digits++;break;case ut:e===1?(this.current_section.decimal_max_digits++,this.current_section.decimal_min_digits=this.current_section.decimal_max_digits):this.current_section.integer_min_digits++;break;default:return}}static AppendCharAsText(e=!0){this.current_section.has_number_format?this.current_section.suffix[this.current_section.suffix.length-1].text+=this.pattern[this.char_index]:this.current_section.prefix[this.current_section.prefix.length-1].text+=this.pattern[this.char_index],e&&this.char_index++}static AppendString(e){this.current_section.has_number_format?this.current_section.suffix[this.current_section.suffix.length-1].text+=e:this.current_section.prefix[this.current_section.prefix.length-1].text+=e}static AppendTextPart(e){this.current_section.has_number_format?(this.current_section.suffix.push(e),this.current_section.suffix.push({text:""})):(this.current_section.prefix.push(e),this.current_section.prefix.push({text:""}))}static ConsumeChar(){let e=this.characters[this.char_index];if(!((e===Lt||e===De)&&!this.current_section.has_number_format&&!this.current_section.string_format&&this.ScanFractionFormat()))switch(e){case Xr:this.char_index++,this.current_section=new _e,this.sections.length===3&&(this.current_section.string_format=!0),this.sections.push(this.current_section);break;case Qr:this.char_index++,this.AppendTextPart({text:"@",flag:5}),this.current_section.string_format=!0;break;case ut:case De:case Hr:case Vt:!this.current_section.has_number_format&&!this.current_section.string_format?(this.ConsumeNumberFormat(),this.current_section.has_number_format=!0):this.AppendCharAsText();break;case us:this.AppendTextPart({text:this.ConsumeFormatting(),flag:6});break;case Ot:this.AppendString(this.ConsumeString());break;case Lt:this.preserve_formatting_characters?this.AppendCharAsText():(this.AppendTextPart({text:"0",flag:1}),this.char_index++);break;case jr:if(this.preserve_formatting_characters)this.AppendCharAsText();else{if(++this.char_index>=this.characters.length)throw new Error("invalid pad character at end");this.AppendTextPart({text:this.pattern[this.char_index++],flag:1})}break;case Yr:if(this.current_section.has_asterisk)throw new Error("we don\'t support multiple asterisks");if(this.preserve_formatting_characters)this.AppendCharAsText();else{if(++this.char_index>=this.characters.length)throw new Error("invalid pad character at end");this.AppendTextPart({text:this.pattern[this.char_index++],flag:2}),this.current_section.has_asterisk=!0}break;case Kr:case qr:this.current_section.percent||this.current_section.exponential||this.current_section.string_format?this.AppendCharAsText():(this.current_section.exponential=!0,this.char_index++);break;case Jr:!this.current_section.exponential&&!this.current_section.string_format&&(this.current_section.percent=!0),this.AppendCharAsText();break;case ft:if(this.preserve_formatting_characters&&this.AppendCharAsText(!1),++this.char_index>=this.characters.length)throw new Error("invalid escape character at end");this.AppendCharAsText();break;default:this.AppendCharAsText()}}static ParseDatePattern(){for(this.date_pattern=!0;this.date_pattern&&this.char_index<this.pattern.length;)this.DatePatternConsumeChar();if(this.date_pattern){this.date_pattern=!1;for(let e of this.sections)for(let t of e.prefix)t.flag&&t.flag&7&&(this.date_pattern=!0)}return this.date_pattern&&(this.sections[0].date_format=!0,this.sections[0].prefix.forEach((e,t)=>{if(e.flag===3&&(e.text==="mm"||e.text==="m")){if(t)for(let r=t-1;r;r--){let i=this.sections[0].prefix[r];if(i.flag===3){/h/i.test(i.text)&&(e.flag=4,e.text=e.text.toLowerCase());break}}if(t<this.sections[0].prefix.length-1)for(let r=t+1;r<this.sections[0].prefix.length;r++){let i=this.sections[0].prefix[r];if(i.flag===3){/s/i.test(i.text)&&(e.flag=4,e.text=e.text.toLowerCase());break}}}})),this.date_pattern}static ConsumeDatePart(){let e=this.pattern[this.char_index++],t=e.toLowerCase(),r={text:e,flag:3};for(;this.pattern[this.char_index]&&this.pattern[this.char_index].toLowerCase()===t;)r.text+=this.pattern[this.char_index++];if(t==="s"&&this.pattern[this.char_index]===".")for(r.text+=this.pattern[this.char_index++];this.pattern[this.char_index]==="0";)r.text+=this.pattern[this.char_index++];return r}static ConsumeAMPM(){let e=this.pattern.substr(this.char_index,5);if(e==="am/pm"||e==="AM/PM")return this.char_index+=5,this.sections[0].twelve_hour=!0,{text:e,flag:3};if(e=this.pattern.substr(this.char_index,3),e==="a/p"||e==="A/P")return this.char_index+=3,this.sections[0].twelve_hour=!0,{text:e,flag:3}}static DatePatternConsumeChar(){switch(this.characters[this.char_index]){case Xr:this.char_index=this.characters.length;break;case ut:case De:case Kr:case qr:case Jr:case Qr:this.date_pattern=!1;break;case ms:case ps:case bs:case gs:case ys:case xs:case _s:case ws:case As:case Cs:this.AppendTextPart(this.ConsumeDatePart());break;case vs:case Is:{let t=this.ConsumeAMPM();t?this.AppendTextPart(t):this.AppendCharAsText()}break;case Ot:this.AppendString(this.ConsumeString());break;case Lt:this.preserve_formatting_characters?this.AppendCharAsText():(this.AppendTextPart({text:"0",flag:1}),this.char_index++);break;case jr:if(this.preserve_formatting_characters)this.AppendCharAsText();else{if(++this.char_index>=this.characters.length)throw new Error("invalid pad character at end");this.AppendTextPart({text:this.pattern[this.char_index++],flag:1})}break;case Yr:if(this.current_section.has_asterisk)throw new Error("we don\'t support multiple asterisks");if(this.preserve_formatting_characters)this.AppendCharAsText();else{if(++this.char_index>=this.characters.length)throw new Error("invalid pad character at end");this.AppendTextPart({text:this.pattern[this.char_index++],flag:2}),this.current_section.has_asterisk=!0}break;case ft:if(this.preserve_formatting_characters&&this.AppendCharAsText(!1),++this.char_index>=this.characters.length)throw new Error("invalid escape character at end");this.AppendCharAsText();break;default:this.AppendCharAsText()}}};var Ns=n=>(n>=60&&n--,new Date(-22090752e5+864e5*n)),en=(n,e=!0)=>{if(e){let t=new Date(n);n=new Date(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()).getTime()}return n=(n+22090752e5)/864e5,n>=60&&n++,n},Ee=class n{static grouping_regexp=/\\d{1,3}(?=(\\d{3})+(?!\\d))/g;static fraction_limits=[9,99,999,9999];static imaginary_character="\\u{1D456}";static minus_character="-";magic_decimal=!1;transform_value;_pattern="";sections;decimal_zero_regexp=[];cloned=[];get pattern(){return this._pattern}get date_format(){return this.sections[0]&&this.sections[0].date_format}constructor(e){if(this._pattern=e,this.sections=mt.Parse(e),this.sections.length||(this.sections=[]),this.sections[0]||(this.sections[0]=new _e),this.sections[1]||(this.sections[1]={...this.sections[0]},this.sections[1].prefix=JSON.parse(JSON.stringify(this.sections[1].prefix)),this.sections[1].suffix=JSON.parse(JSON.stringify(this.sections[1].suffix)),this.sections[1].prefix.push({text:"-"}),this.cloned[1]=!0),this.sections[2]||(this.sections[2]={...this.sections[0]},this.cloned[2]=!0),!this.sections[3]){for(let t of this.sections[0].prefix)if(t.flag===5){this.sections[3]={...this.sections[0]},this.sections[3].string_format=!0,this.cloned[3]=!0;break}}this.decimal_zero_regexp=this.sections.map(t=>{if(t.decimal_max_digits>t.decimal_min_digits)return new RegExp(`0{1,${t.decimal_max_digits-t.decimal_min_digits}}(?:$|e)`)})}static FormatPartsAsText(e,t=0){let r=-1,i=e.map((s,o)=>{switch(s.flag){case 2:return r=o,s.text;case 1:return s.text.replace(/./g," ");case 6:return"";default:return s.text}});if(r>=0&&t){let s=i.reduce((a,l,d)=>d===r?a:a+l.length,0),o="";for(let a=0;a<t-s;a++)o+=i[r];i[r]=o}return i.join("")}SetDecimal(e){for(let t of this.sections)t.fraction_format||(t.decimal_min_digits=e,t.decimal_max_digits=e)}IncreaseDecimal(){this.sections.forEach(e=>{e.fraction_format?e.fraction_denominator||(e.fraction_denominator_digits=Math.min(e.fraction_denominator_digits+1,4)):(e.decimal_min_digits++,e.decimal_max_digits=e.decimal_min_digits)})}DecreaseDecimal(){this.sections.forEach(e=>{e.fraction_format?e.fraction_denominator||(e.fraction_denominator_digits=Math.max(e.fraction_denominator_digits-1,1)):(e.decimal_min_digits=Math.max(0,e.decimal_min_digits-1),e.decimal_max_digits=e.decimal_min_digits)})}AddGrouping(){this.sections.forEach(e=>{e.grouping=!0})}RemoveGrouping(){this.sections.forEach(e=>{e.grouping=!1})}ToggleGrouping(){let e=!this.sections[0].grouping;this.sections.forEach(t=>{t.grouping=e})}toString(){return this.sections[0].date_format?this._pattern:this.sections.filter((e,t)=>!this.cloned[t]).map(e=>{let t="",r=0;if(e.fraction_format){e.fraction_integer&&(t+="? ");let i="";for(let s=0;s<e.fraction_denominator_digits;s++)i+="#";t+=i,t+="/",e.fraction_denominator?t+=e.fraction_denominator:t+=i}else if(e.has_number_format){for(r=0;r<e.integer_min_digits;r++)t+="0";if(e.grouping&&(t.length<4&&(t=("####"+t).slice(-4)),t=t.replace(/[\\d#]{1,3}(?=([\\d#]{3})+(?![\\d#]))/g,"$&,")),e.decimal_max_digits||e.decimal_min_digits){for(t+=".",r=0;r<e.decimal_min_digits;r++)t+="0";for(;r<e.decimal_max_digits;r++)t+="#"}if(e.scaling){let i=Math.log10(e.scaling)/3;for(r=0;r<i;r++)t+=","}e.exponential&&(t+="e")}return e.prefix.map(i=>i.flag===1?i.text==="0"?"?":"_"+i.text:i.flag===2?"*"+i.text:i.flag===6?"["+i.text+"]":i.text).join("")+t+e.suffix.map(i=>i.flag===1?i.text==="0"?"?":"_"+i.text:i.flag===2?"*"+i.text:i.text).join("")}).join(";")}FormatDimensionedQuantity(e){if(this.transform_value){let r=this.transform_value(e);if(Mt(r))e=r;else return typeof r=="string"?r:this.FormatParts(r)}let t=this.FormatParts(e.value||0);return e.unit&&t.push({text:" "},{text:e.unit}),t}FormatComplex(e){let t=[],r=[],i=!1,s=!!e.imaginary;s&&(t=this.FormatParts(e.imaginary),s=t.some(l=>/[1-9]/.test(l.text)),t.length===1&&this.sections[0].integer_min_digits<=1&&t[0].text==="1"?(t[0].text="",i=!0):t.length===1&&this.sections[1].integer_min_digits<=1&&t[0].text==="-1"&&(t[0].text="-",i=!0));let o=!!e.real;o&&(r=this.FormatParts(e.real),o=r.some(l=>/[1-9]/.test(l.text)));let a=[];if(o||!o&&!s){if(a.push(...r),s){a.push({text:e.imaginary<0?` ${n.minus_character} `:" + "});let l=i?[]:this.FormatParts(Math.abs(e.imaginary));a.push(...l,{text:n.imaginary_character})}}else s&&a.push(...t,{text:n.imaginary_character});return a}FormatParts(e){if(typeof e!="number"&&!this.sections[3])return[{text:(e??"").toString()}];let{parts:t,section:r}=this.BaseFormat(e),i=[];if(r.date_format||r.string_format)for(let s of t)typeof s=="string"?i.push({text:s}):i.push(s);else this.magic_decimal&&t[1]===""&&t.splice(1,1),i=[...r.prefix.map(s=>({...s})),{text:r.has_number_format?t.join(V.decimal_separator):""},...r.suffix.map(s=>({...s}))];for(let s=1;s<i.length;s++)i[s].flag===i[s-1].flag&&(i[s].text=i[s-1].text+i[s].text,i[s-1].text="");return i.filter(s=>s.text)}Format(e,t=0){return n.FormatPartsAsText(this.FormatParts(e),t)}ZeroPad(e,t){for(;e.length<t;)e="0"+e;return e}DateFormat(e){let t=Ns(e),r=this.sections[0],i=t.getUTCHours();return r.twelve_hour&&(i>12&&(i-=12),i===0&&(i=12)),{parts:r.prefix.map(o=>{if(o.flag===4)return o.text==="mm"?{text:this.ZeroPad(t.getUTCMinutes().toString(),2)}:{text:this.ZeroPad(t.getUTCMinutes().toString(),1)};if(o.flag===3){switch(o.text.toLowerCase()){case"am/pm":case"a/p":{let l=o.text.split("/");return{text:t.getUTCHours()>12?l[1]:l[0]}}case"mmmmm":return{text:V.date_components.long_months[t.getUTCMonth()][0]};case"mmmm":return o.text==="MMMM"?{text:V.date_components.long_months[t.getUTCMonth()].toUpperCase()}:{text:V.date_components.long_months[t.getUTCMonth()]};case"mmm":return o.text==="MMM"?{text:V.date_components.short_months[t.getUTCMonth()].toUpperCase()}:{text:V.date_components.short_months[t.getUTCMonth()]};case"mm":return{text:this.ZeroPad((t.getUTCMonth()+1).toString(),2)};case"m":return{text:this.ZeroPad((t.getUTCMonth()+1).toString(),1)};case"ddddd":case"dddd":return o.text==="DDDDD"||o.text==="DDDD"?{text:V.date_components.long_days[t.getUTCDay()].toUpperCase()}:{text:V.date_components.long_days[t.getUTCDay()]};case"ddd":return o.text==="DDD"?{text:V.date_components.short_days[t.getUTCDay()].toUpperCase()}:{text:V.date_components.short_days[t.getUTCDay()]};case"dd":return{text:this.ZeroPad(t.getUTCDate().toString(),2)};case"d":return{text:this.ZeroPad(t.getUTCDate().toString(),1)};case"yyyy":case"yyy":return{text:t.getUTCFullYear().toString()};case"yy":case"y":return{text:this.ZeroPad((t.getUTCFullYear()%100).toString(),2)};case"hh":return{text:this.ZeroPad(i.toString(),2)};case"h":return{text:this.ZeroPad(i.toString(),1)};case"ss":return{text:this.ZeroPad(t.getUTCSeconds().toString(),2)};case"s":return{text:this.ZeroPad(t.getUTCSeconds().toString(),1)}}let a=o.text.match(/^(s+)\\.(0+)$/);if(a)return{text:this.ZeroPad(t.getUTCSeconds().toString(),a[1].length)+V.decimal_separator+(t.getUTCMilliseconds()/1e3).toFixed(a[2].length).substr(2)}}return{...o}}),section:r}}StringFormat(e,t){let r=[];for(let i of t.prefix)i.flag===5?r.push({text:e}):r.push({...i});return{parts:r,section:t}}Round2(e,t){let r=Math.pow(10,t);return Math.round(r*e)/r}FormatFraction(e,t){t.percent&&(e*=100);let r={denominator:1,numerator:Math.round(e),error:Math.abs(Math.round(e)-e)};if(t.fraction_denominator)r.denominator=t.fraction_denominator,r.numerator=Math.round(e*r.denominator);else if(r.error){let s=n.fraction_limits[t.fraction_denominator_digits-1]||n.fraction_limits[0];for(let o=2;o<=s;o++){let a=Math.round(e*o),l=Math.abs(a/o-e);if(l<r.error&&(r={numerator:a,denominator:o,error:l},!l))break}}let i=[];if(t.fraction_integer){let s=Math.floor(r.numerator/r.denominator);r.numerator%=r.denominator,(s||!r.numerator)&&(i.push(s.toString()),r.numerator&&i.push(" "))}else r.numerator||i.push("0");return r.numerator&&(i.push(r.numerator.toString()),i.push("/"),i.push(r.denominator.toString())),i.join("")}BaseFormat(e){if(this.sections[0].date_format)return this.DateFormat(Number(e));if(typeof e!="number")return this.StringFormat((e??"").toString(),this.sections[3]);let t=this.sections[0],r=this.decimal_zero_regexp[0];e<0&&(t=this.sections[1]);let i=t.percent?t.decimal_max_digits+2:t.decimal_max_digits,s=Math.pow(10,-i)/2,o=Math.abs(e);if(o<s&&(t=this.sections[2],r=this.decimal_zero_regexp[2]),t.scaling&&(o/=t.scaling,o<s&&(t=this.sections[2],r=this.decimal_zero_regexp[2])),t.string_format)return this.StringFormat(e.toString(),t);let a="";if(t.fraction_format)return{parts:[this.FormatFraction(o,t)],section:t};t.exponential?a=o.toExponential(t.decimal_max_digits):(t.percent&&(o*=100),a=this.Round2(o,t.decimal_max_digits).toFixed(t.decimal_max_digits)),r&&(a=a.replace(r,""));let l=a.split(".");for(;l[0].length<t.integer_min_digits;)l[0]=("0000000000000000"+l[0]).slice(-t.integer_min_digits);return t.integer_min_digits===0&&l[0]==="0"&&(l[0]=""),t.grouping&&(l[0]=l[0].replace(n.grouping_regexp,"$&"+V.grouping_separator)),{parts:l,section:t}}};var Ye=class{static cache={};static complex_general;static symbolc_name_map={};static base_formats={Accounting:"_(#,##0.00_);(#,##0.00);-???",Number:"0.00",Integer:"0",Percent:"0.00%",General:"0.######",Fraction:"# ?/?",Dollar:"$* _(#,##0.00_);$* (#,##0.00);$* -???",Exponential:"0.000e","Short Date":"mm/dd/yy","Long Date":"dddd, mmm d yyyy",Timestamp:"mm-dd-yy hh:mm:ss"};static aliases={Scientific:"Exponential",Percentage:"Percent",Currency:"Dollar"};static Get(e,t=!1){if(t&&e==="General")return this.complex_general;let r=this.symbolc_name_map[e.toLowerCase()],i=this.cache[r||e];return i||(i=new Ee(e),this.cache[e]=i),i}static Equals(e,t){if(e===t)return!0;let r=this.Get(e),i=this.Get(t);return r.pattern===i.pattern}static Translate(e){let t=this.symbolc_name_map[e.toLowerCase()];return t?this.cache[t].toString():e}static SymbolicName(e){for(let t of Object.keys(this.base_formats))if(e===this.base_formats[t])return t;return null}static InitCache(){for(let e of Object.keys(this.base_formats))this.cache[e]=new Ee(this.base_formats[e]),this.symbolc_name_map[e.toLowerCase()]=e;this.cache.General.magic_decimal=!0,this.complex_general=new Ee("0.###"),this.complex_general.magic_decimal=!0;for(let e of Object.keys(this.aliases))this.cache[e]=this.cache[this.aliases[e]],this.symbolc_name_map[e.toLowerCase()]=e}};Ye.InitCache();var tn=new Date().getUTCFullYear(),Dt=class{compare_day;compare_month;TestDate(e){let t=Date.parse(e);if(isNaN(t))return!1;let r=new Date(t),s=e.replace(/[\\d\\-\\\\/,.\\s]+/g," ").toLocaleLowerCase().split(/\\s+/).map(l=>l.trim()).filter(l=>!!l);if(!s.length)return t;if(!this.compare_month){this.compare_month={};for(let l=0;l<12;l++)this.compare_month[V.date_components.long_months[l].toLocaleLowerCase().replace(/\\./,"")]=l,this.compare_month[V.date_components.short_months[l].toLocaleLowerCase().replace(/\\./,"")]=l}if(!this.compare_day){this.compare_day={};for(let l=0;l<7;l++)this.compare_day[V.date_components.long_days[l].toLocaleLowerCase().replace(/\\./,"")]=l,this.compare_day[V.date_components.short_days[l].toLocaleLowerCase().replace(/\\./,"")]=l}let o=!1,a=!1;for(let l of s){let d=!1;for(let[c,h]of Object.entries(this.compare_month))if(l===c){if(o||r.getUTCMonth()!==h)return!1;d=!0,o=!0}if(!d){for(let[c,h]of Object.entries(this.compare_day))if(l===c){if(a||r.getUTCDay()!==h)return!1;d=!0,a=!0}}if(!d)return!1}return a&&!o?!1:t}TryParse(e=""){let t={};if(e[0]==="\'")return{value:e,type:2};if(e==="")return{value:e,type:2};if(e==="NaN")return{value:NaN,type:3,hints:{Nan:!0}};let r=e.trim(),i=r.match(/^[$](.*?)$/);i&&(r=i[1],t.Currency=!0);let s=r.match(/^\\((.*?)\\)$/);s&&(r=s[1],t.Parens=!0);let o=r.match(/^(.*?)%\\s*$/);o&&(r=o[1],t.Percent=!0),V.decimal_separator==="."?/,/.test(r)&&(r=r.replace(/,/g,""),t.Grouping=!0):(r=r.replace(/(\\d)\\s+/g,"$1"),r=r.replace(/\\./g,""),r=r.replace(/,/,"."));let a=Number(r);if(a===null||isNaN(a)){let l=e.toLowerCase();if(l==="false")return{value:!1,type:4};if(l==="true")return{value:!0,type:4};let d=this.TestDate(e);if(d!==!1&&!isNaN(d)){let c=new Date(d),h=c.getUTCFullYear();if(h>=tn-200&&h<=tn+200)return t={Date:!0},(c.getHours()||c.getMinutes()||c.getSeconds())&&(t.Time=!0),{value:en(d,!0),type:3,hints:t}}return{value:e,type:2}}if(s&&(a=-a),o){let l=a<0?-1:1,d=(l*a).toString().split(".");d[0]=("00"+d[0]).replace(/(\\d\\d)$/,".$1"),a=Number(d.join(""))*l}return/e/.test(e)&&(t.Exponential=!0),{value:a,type:3,hints:t}}},Eo=new Dt;var rn=11,Yt={top:{},left:{},bottom:{},right:{},diagonal:{}},Re=class n{static default_styles={0:"General",1:"0",2:"0.00",3:"#,##0",4:"#,##0.00",9:"0%",10:"0.00%",11:"0.00E+00",12:"# ?/?",13:"# ??/??",14:"mm-dd-yy",15:"d-mmm-yy",16:"d-mmm",17:"mmm-yy",18:"h:mm AM/PM",19:"h:mm:ss AM/PM",20:"h:mm",21:"h:mm:ss",22:"m/d/yy h:mm",37:"#,##0 ;(#,##0)",38:"#,##0 ;[Red](#,##0)",39:"#,##0.00;(#,##0.00)",40:"#,##0.00;[Red](#,##0.00)",45:"mm:ss",46:"[h]:mm:ss",47:"mmss.0",48:"##0.0E+0",49:"@"};theme=new Ne;cell_xfs=[];fonts=[];borders=[];fills=[];number_formats=[];base_number_format_id=200;dxf_styles=[];modified=!1;Clamp(e,t,r){return Math.max(t,Math.min(e,r))}TintColor(e,t){let r=parseInt(e.substr(0,2),16),i=parseInt(e.substr(2,2),16),s=parseInt(e.substr(4,2),16);return t<0?(r=Math.round(r*t+r),i=Math.round(i*t+i),s=Math.round(s*t+s)):(r=Math.round((255-r)*t+r),i=Math.round((255-i)*t+i),s=Math.round((255-s)*t+s)),[r,i,s].map(o=>{let a=this.Clamp(o,0,255).toString(16);return a.length<2?"0"+a:a}).join("")}StyleOptionsFromProperties(e){let t=JSON.parse(JSON.stringify(e));for(let d of Object.keys(t))t[d]==="none"&&delete t[d];let r={},i={pattern_type:"none"},s=JSON.parse(JSON.stringify(Yt)),o={font:r,border:s};t.number_format&&(o.number_format={format:Ye.Translate(t.number_format),symbolic_name:t.number_format},/Scientific/i.test(t.number_format)&&(o.number_format.format="0.00E+00")),t.font_size?.unit&&t.font_size.value&&(t.font_size.unit==="em"?r.size=t.font_size.value*rn:t.font_size.unit==="%"?r.size=t.font_size.value*rn/100:t.font_size.unit==="pt"?r.size=t.font_size.value:t.font_size.unit==="px"?r.size=t.font_size.value*.75:console.warn("Unhandled font size unit",t.font_size)),t.bold&&(r.bold=!0),t.italic&&(r.italic=!0),t.underline&&(r.underline=!0),t.text&&(ge(t.text)?r.color_argb=t.text.text:ye(t.text)&&(r.color_theme=Me(t.text),t.text.tint&&(r.color_tint=t.text.tint)));let a=(d,c)=>{d.width&&(c.style="thin",ge(d.color)?c.rgba=d.color.text:ye(d.color)?(c.theme=Me(d.color),d.color.tint&&(c.tint=d.color.tint)):c.color=64)},l=$e.CompositeBorders(t);switch(a(l.top,s.top),a(l.left,s.left),a(l.right,s.right),a(l.bottom,s.bottom),t.vertical_align){case"top":o.vertical_alignment="top";break;case"middle":o.vertical_alignment="center";break}switch(t.horizontal_align){case"center":o.horizontal_alignment="center";break;case"left":o.horizontal_alignment="left";break;case"right":o.horizontal_alignment="right";break}return o.indent=t.indent,t.fill&&(i.pattern_type="solid",ge(t.fill)?(i.fg_color={argb:t.fill.text},o.fill=i):ye(t.fill)&&(i.fg_color={theme:Me(t.fill)},t.fill.tint&&(i.fg_color.tint=t.fill.tint),o.fill=i)),t.wrap&&(o.wrap=!0),o}CellXfToStyle(e){let t={},r=n.default_styles[e.number_format];if(!r){for(let d of this.number_formats)if(d.id===e.number_format&&d.format){r=d.format;break}}if(r){let d=/\\[\\$(.)-[0-9A-Za-z]{1,4}\\]/g;r=r.replace(d,"$1");let c=/\\[\\$-[0-9A-Za-z]{1,4}\\]/g;r=r.replace(c,""),t.number_format=r}let i=this.fonts[0],s=this.fonts[e.font||0];s&&(s.bold&&(t.bold=!0),s.italic&&(t.italic=!0),s.underline&&(t.underline=!0),s.strike&&(t.strike=!0),i&&i.size&&s.size&&i.size!==s.size&&(t.font_size={value:100*s.size/i.size,unit:"%"}),s.color_argb?t.text={text:"#"+(s.color_argb.length>6?s.color_argb.substr(s.color_argb.length-6):s.color_argb)}:typeof s.color_theme=="number"&&(t.text={theme:s.color_theme}));let o=this.fills[e.fill||0];if(o&&o.pattern_type!=="none"){if(o.pattern_type==="gray"){let d=Math.round((o.pattern_gray||0)/1e3*255);t.fill={text:`rgb(${d}, ${d}, ${d})`}}o.pattern_type==="solid"&&o.fg_color&&(o.fg_color.argb?t.fill={text:"#"+(o.fg_color.argb.length>6?o.fg_color.argb.substr(o.fg_color.argb.length-6):o.fg_color.argb)}:typeof o.fg_color.theme=="number"&&(t.fill={theme:o.fg_color.theme},o.fg_color.tint&&(t.fill.tint=Math.round(o.fg_color.tint*1e3)/1e3)))}switch(e.horizontal_alignment){case"center":t.horizontal_align="center";break;case"right":t.horizontal_align="right";break;case"left":t.horizontal_align="left";break}switch(e.vertical_alignment){case"center":t.vertical_align="middle";break;case"top":t.vertical_align="top";break;case"bottom":t.vertical_align="bottom";break}t.indent=typeof e.indent=="string"?Number(e.indent):e.indent,e.wrap_text&&(t.wrap=!0);let a=d=>{if(typeof d.theme<"u")return{theme:d.theme,tint:d.tint}},l=this.borders[e.border||0];return l&&(l.bottom.style&&(l.bottom.style==="double"?t.border_bottom=2:t.border_bottom=1,t.border_bottom_fill=a(l.bottom)),l.left.style&&(t.border_left=1,t.border_left_fill=a(l.left)),l.top.style&&(t.border_top=1,t.border_top_fill=a(l.top)),l.right.style&&(t.border_right=1,t.border_right_fill=a(l.right))),t}CellXfToStyles(){return this.cell_xfs.map(e=>this.CellXfToStyle(e))}EnsureNumberFormat(e){if(typeof e.format>"u"||e.symbolic_name&&/^general$/i.test(e.symbolic_name))return 0;for(let r=0;r<100;r++){let i=n.default_styles[r];if(i&&i===e.format)return r}for(let r of this.number_formats)if(r.format===e.format)return r.id||0;this.modified=!0;let t={id:this.base_number_format_id++,format:e.format};return this.number_formats.push(t),t.id}CompareBorderEdge(e,t){return e.color===t.color&&e.rgba===t.rgba&&e.style===t.style&&e.theme===t.theme&&e.tint===t.tint}CompareBorder(e,t){return this.CompareBorderEdge(e.top,t.top)&&this.CompareBorderEdge(e.left,t.left)&&this.CompareBorderEdge(e.bottom,t.bottom)&&this.CompareBorderEdge(e.right,t.right)&&this.CompareBorderEdge(e.diagonal,t.diagonal)}EnsureBorder(e){for(let r=0;r<this.borders.length;r++){let i=this.borders[r];if(this.CompareBorder(i,e))return r}this.modified=!0;let t=JSON.parse(JSON.stringify(e));return this.borders.push(t),this.borders.length-1}MatchColor(e,t){return!e&&!t?!0:!e||!t?!1:e.argb===t.argb&&e.indexed===t.indexed&&e.theme===t.theme&&e.tint===t.tint}EnsureFill(e){for(let r=0;r<this.fills.length;r++){let i=this.fills[r];if(this.MatchColor(e.bg_color,i.bg_color)&&this.MatchColor(e.fg_color,i.fg_color)&&e.pattern_gray===i.pattern_gray&&e.pattern_type===i.pattern_type)return r}this.modified=!0;let t={...e};return this.fills.push(t),this.fills.length-1}EnsureFont(e){let t={...this.fonts[0],...e};for(let r=0;r<this.fonts.length;r++){let i=this.fonts[r];if(i.bold===t.bold&&i.italic===t.italic&&i.underline===t.underline&&i.size===t.size&&i.strike===t.strike&&i.color_argb===t.color_argb&&i.color_theme===t.color_theme&&i.color_tint===t.color_tint&&i.family===t.family)return r}return this.modified=!0,this.fonts.push(t),this.fonts.length-1}EnsureStyle(e){let t=this.EnsureFont(e.font||{}),r=this.EnsureBorder(e.border||Yt),i=this.EnsureNumberFormat(e.number_format||{}),s=this.EnsureFill(e.fill||{pattern_type:"none"});for(let a=0;a<this.cell_xfs.length;a++){let l=this.cell_xfs[a];if(l.font===t&&l.fill===s&&l.border===r&&l.number_format===i&&!!l.wrap_text==!!e.wrap&&l.indent===e.indent&&(!e.horizontal_alignment&&!l.horizontal_alignment||e.horizontal_alignment===l.horizontal_alignment)&&(!e.vertical_alignment&&!l.vertical_alignment||e.vertical_alignment===l.vertical_alignment))return a}this.modified=!0;let o={font:t,fill:s,border:r,number_format:i,indent:e.indent};return e.horizontal_alignment&&(o.horizontal_alignment=e.horizontal_alignment),e.vertical_alignment&&(o.vertical_alignment=e.vertical_alignment),e.wrap&&(o.wrap_text=!0),this.cell_xfs.push(o),this.cell_xfs.length-1}FromXML(e,t){let r=$.FindAll.bind($,e);this.theme=t;let i=r("styleSheet/numFmts/numFmt");this.number_formats=i.map(c=>({id:Number(c.a$?.numFmtId||0),format:dt(c.a$?.formatCode||"")})),i=r("styleSheet/borders/border");let s=(c,h)=>{c?.a$&&(h.style=c.a$.style,typeof c.color=="object"&&(typeof c.color.a$?.indexed<"u"&&(h.color=Number(c.color.a$.indexed)),typeof c.color.a$?.theme<"u"&&(h.theme=Number(c.color.a$.theme)),typeof c.color.a$?.tint<"u"&&(h.tint=Number(c.color.a$.tint))))};this.borders=i.map(c=>{let h=JSON.parse(JSON.stringify(Yt));return s(c.left,h.left),s(c.right,h.right),s(c.top,h.top),s(c.bottom,h.bottom),h}),i=r("styleSheet/cellXfs/xf"),this.cell_xfs=i.map(c=>{let h={number_format:Number(c.a$.numFmtId),font:Number(c.a$.fontId),fill:Number(c.a$.fillId),border:Number(c.a$.borderId),xfid:Number(c.a$.xfId)};return c.alignment&&(h.horizontal_alignment=c.alignment.a$.horizontal,h.vertical_alignment=c.alignment.a$.vertical,h.wrap_text=!!c.alignment.a$.wrapText,h.indent=c.alignment.a$.indent||void 0),h});let o=c=>{let h={pattern_type:"none"};if(c.patternFill){let m=c.patternFill.a$?.patternType;switch(m){case"none":case void 0:break;case"solid":h.pattern_type="solid",c.patternFill.fgColor&&(h.fg_color={theme:c.patternFill.fgColor.a$?.theme?Number(c.patternFill.fgColor.a$.theme):void 0,indexed:c.patternFill.fgColor.a$?.indexed?Number(c.patternFill.fgColor.a$.indexed):void 0,tint:c.patternFill.fgColor.a$?.tint?Number(c.patternFill.fgColor.a$.tint):void 0,argb:c.patternFill.fgColor.a$?.rgb});break;default:{let u=m?.match(/^gray(\\d+)$/);if(u){h.pattern_type="gray",h.pattern_gray=Number(u[1]);break}}}}return h};i=r("styleSheet/fills/fill"),this.fills=i.map(o);let a=c=>{let h={};return h.italic=typeof c.i<"u",h.bold=typeof c.b<"u",h.underline=typeof c.u<"u",h.strike=typeof c.strike<"u",c.sz&&(h.size=Number(c.sz.a$.val)),c.scheme&&(h.scheme=c.scheme.a$.val),c.name&&(h.name=c.name.a$.val),c.family&&(h.family=Number(c.family.a$.val)),c.color&&(c.color.a$?.theme&&(h.color_theme=Number(c.color.a$.theme)),c.color.a$?.tint&&(h.color_tint=Number(c.color.a$.tint)),c.color.a$?.rgb&&(h.color_argb=c.color.a$.rgb)),h};i=r("styleSheet/fonts/font"),this.fonts=i.map(a);let l=c=>{let h={};return c.a$.rgb?h.text="#"+c.a$.rgb.substring(2):c.a$.theme&&(h.theme=Number(c.a$.theme)||0,c.a$.tint&&(h.tint=Math.round(c.a$.tint*1e3)/1e3)),h},d=r("styleSheet/dxfs/dxf");this.dxf_styles=d.map(c=>{let h={};return c.font&&(h.bold=!!c.font.b,h.italic=!!c.font.i&&c.font.i.a$.val!=="0"),c.font?.color?.a$&&(h.text=l(c.font.color)),c.fill?.patternFill?.bgColor?.a$&&(h.fill=l(c.fill.patternFill.bgColor)),h})}};var fe=(n,e,t,r)=>{let s=`rId${Object.keys(n).length+1}`;return n[s]={id:s,type:e,target:t,mode:r},s};var nn={spreadsheet_semantics:!0,dimensioned_quantities:!1,fractions:!0,decimal_mark:".",argument_separator:",",boolean_true:"TRUE",boolean_false:"FALSE"};var sn=/[\\s-+=<>!()]/;var jt=34,Ht=39,Ts=160,an=32,Ps=9,Zs=10,Ms=13,we=48,je=57,Jt=46,Xt=43,He=45,on=40,Qt=41,Je=44,Fs=37,qt=95,pt=36,$s=123,ks=125,Xe=91,ln=93,Es=63,Rs=33,cn=59,Kt=35,Ws=64,We=65,Qe=97,Gs=69,zs=101,bt=90,gt=122,Us=105,er=192,tr=382,rr={"==":6,"!=":6,"<>":6,"=":6,"<":7,">":7,"<=":7,">=":7,"+":9,"-":9,"&":9,"*":10,"/":10,"^":11,":":13},Bs={"@":50,"-":100,"+":100},Ls=[...Object.keys(rr),"@"].sort((n,e)=>e.length-n.length),Ge=class{get argument_separator(){return this.flags.argument_separator}get decimal_mark(){return this.flags.decimal_mark}flags={...nn};r1c1_regex=/[rR]((?:\\[[-+]{0,1}\\d+\\]|\\d+))[cC]((?:\\[[-+]{0,1}\\d+\\]|\\d+))$/;argument_separator_char=Je;decimal_mark_char=Jt;imaginary_char=Us;imaginary_number="i";id_counter=0;expression="";data=[];index=0;length=0;valid=!0;error_position;error;dependencies={addresses:{},ranges:{}};address_refcount={};full_reference_list=[];parser_state_cache=[];SetLocaleSettings(e,t){if(typeof t>"u"&&(t=e===","?";":","),t===e)throw new Error("invalid locale setting");this.flags.argument_separator=t,this.flags.decimal_mark=e}Save(){this.parser_state_cache.push(JSON.stringify(this.flags))}Restore(){let e=this.parser_state_cache.shift();if(e)try{this.flags=JSON.parse(e)}catch(t){console.error(t)}else console.warn("No parser state to restore")}Walk2(e,t){let r=t(e);if(typeof r=="object")return r;switch(e.type){case"address":case"missing":case"literal":case"complex":case"identifier":case"operator":case"structured-reference":break;case"dimensioned":r&&(e.expression=this.Walk2(e.expression,t),e.unit=this.Walk2(e.unit,t));break;case"range":t(e)&&(e.start=this.Walk2(e.start,t),e.end=this.Walk2(e.end,t));break;case"binary":t(e)&&(e.left=this.Walk2(e.left,t),e.right=this.Walk2(e.right,t));break;case"unary":t(e)&&(e.operand=this.Walk2(e.operand,t));break;case"group":t(e)&&(e.elements=e.elements.map(i=>this.Walk2(i,t)));break;case"call":t(e)&&(e.args=e.args.map(i=>this.Walk2(i,t)));break}return e}Walk(e,t){switch(e.type){case"address":case"missing":case"literal":case"complex":case"identifier":case"operator":case"structured-reference":t(e);return;case"dimensioned":t(e)&&(this.Walk(e.expression,t),this.Walk(e.unit,t));return;case"range":t(e)&&(this.Walk(e.start,t),this.Walk(e.end,t));return;case"binary":t(e)&&(this.Walk(e.left,t),this.Walk(e.right,t));return;case"unary":t(e)&&this.Walk(e.operand,t);return;case"group":if(t(e))for(let r of e.elements)this.Walk(r,t);return;case"call":if(t(e))for(let r of e.args)this.Walk(r,t)}}Transpose(e){let t=e.length,r=[],i=0;for(let s=0;s<t;s++)Array.isArray(e[s])&&(i=Math.max(i,e[s].length));for(let s=0;s<i;s++){r[s]=[];for(let o=0;o<t;o++)r[s][o]=e[o]?e[o][s]:void 0}return r}Render(e,t={}){let r=t.offset||{rows:0,columns:0},i=t.missing??"(missing)",{convert_decimal:s,convert_argument_separator:o,long_structured_references:a,table_name:l}=t,d=this.flags.argument_separator+" ";o===","?d=", ":o===";"&&(d="; ");let c=s===","?",":".",h=this.flags.decimal_mark===","?/,/:/\\./,m=this.flags.decimal_mark===","?/,/g:/\\./g;switch(e.type){case"address":return t.pass_through_addresses?e.label:t.r1c1?this.R1C1Label(e,t.r1c1_base):this.AddressLabel(e,r);case"range":return t.pass_through_addresses?e.label:t.r1c1?this.R1C1Label(e.start,t.r1c1_base)+":"+this.R1C1Label(e.end,t.r1c1_base):this.AddressLabel(e.start,r)+":"+this.AddressLabel(e.end,r);case"missing":return i;case"array":return"{"+this.Transpose(e.values).map(u=>u.map(f=>typeof f=="string"?\'"\'+f+\'"\':f).join(", ")).join("; ")+"}";case"binary":return this.Render(e.left,t)+" "+e.operator+" "+this.Render(e.right,t);case"unary":return e.operator+this.Render(e.operand,t);case"complex":if(e.text)return s?e.text.replace(m,c):e.text;{let u=Math.abs(e.imaginary).toString();if((s===","||this.flags.decimal_mark===",")&&(u=u.replace(/\\./,",")),e.real){let f=e.real.toString();(s===","||this.flags.decimal_mark===",")&&(f=f.replace(/\\./,","));let g=Math.abs(e.imaginary);return`${f}${e.imaginary<0?" - ":" + "}${g===1?"":u}i`}else return e.imaginary===-1?"-i":e.imaginary===1?"i":`${e.imaginary<0?"-":""}${u}i`}break;case"literal":if(typeof e.value=="string")return\'"\'+e.value.replace(/"/g,\'""\')+\'"\';if(typeof e.value=="boolean")return e.value?t.boolean_true||this.flags.boolean_true||"true":t.boolean_false||this.flags.boolean_false||"false";if(s&&typeof e.value=="number")if(e.text){let u=e.text;return s===","&&this.flags.decimal_mark==="."&&(u=u.replace(/,/g,"")),u.replace(h,c)}else return e.value.toString().replace(/\\./,c);else if(e.text)return e.text;return e.value.toString();case"identifier":return e.name;case"operator":return"["+e.operator+"]";case"group":return e.explicit?"("+e.elements.map(u=>this.Render(u,t)).join(d)+")":e.elements.map(u=>this.Render(u,t)).join(d);case"call":return e.name+"("+e.args.map(u=>this.Render(u,t)).join(d)+")";case"dimensioned":return this.Render(e.expression)+" "+this.Render(e.unit);case"structured-reference":{let u=e.column;/[^A-Za-z]/.test(u)&&(u="["+u+"]");let f=e.table;switch(!f&&a&&l&&(f=l),e.scope){case"all":return`${f}[[#all],${u}]`;case"row":return a?`${f}[[#this row],${u}]`:`${f}[@${u}]`;case"column":return`${f}[${u}]`}throw new Error("unhandled scope in structured reference")}}return"??"}Parse(e){switch(e=e.trim(),e[0]==="="&&(e=e.substr(1).trim()),this.expression=e,this.data=[],this.length=e.length,this.index=0,this.valid=!0,this.error_position=void 0,this.error=void 0,this.dependencies.addresses={},this.dependencies.ranges={},this.address_refcount={},this.full_reference_list=[],this.id_counter=0,this.flags.argument_separator){case";":this.argument_separator_char=cn;break;default:this.argument_separator_char=Je;break}switch(this.flags.decimal_mark){case",":this.decimal_mark_char=Je;break;default:this.decimal_mark_char=Jt;break}for(let i=0;i<this.length;i++)this.data[i]=e.charCodeAt(i);let t=this.ParseGeneric(),r={};for(let i of Object.keys(this.dependencies.addresses))this.address_refcount[i]&&(r[i]=this.dependencies.addresses[i]);return this.dependencies.addresses=r,{expression:t||void 0,valid:this.valid,error:this.error,error_position:this.error_position,dependencies:this.dependencies,separator:this.flags.argument_separator,decimal_mark:this.flags.decimal_mark,full_reference_list:this.full_reference_list.slice(0)}}ColumnLabel(e){if(e===1/0)return"";let t=String.fromCharCode(65+e%26);for(;e>25;)e=Math.floor(e/26)-1,t=String.fromCharCode(65+e%26)+t;return t}R1C1Label(e,t){let r="";e.sheet&&(r=(sn.test(e.sheet)?"\'"+e.sheet+"\'":e.sheet)+"!");let i=e.absolute_row||!t?(e.row+1).toString():`[${e.row-t.row}]`,s=e.absolute_column||!t?(e.column+1).toString():`[${e.column-t.column}]`;return r+=`R${i}C${s}`,r}AddressLabel(e,t){let r=e.column;!e.absolute_column&&e.column!==1/0&&(r+=t.columns);let i=e.row;if(!e.absolute_row&&e.row!==1/0&&(i+=t.rows),i<0||r<0||i===1/0&&r===1/0)return"#REF";let s="";return e.sheet&&(s=(sn.test(e.sheet)?"\'"+e.sheet+"\'":e.sheet)+"!"),i===1/0?s+(e.absolute_column?"$":"")+this.ColumnLabel(r):r===1/0?s+(e.absolute_row?"$":"")+(i+1):s+(e.absolute_column?"$":"")+this.ColumnLabel(r)+(e.absolute_row?"$":"")+(i+1)+(e.spill?"#":"")}ParseGeneric(e=[0]){let t=[];for(;this.index<this.length;){let r=this.ParseNext(t.length===0);if(typeof r=="number"){if(e.some(i=>r===i))break;if(r===on){this.index++;let i=this.ParseGeneric([Qt]);this.index++,i&&t.push({type:"group",id:this.id_counter++,elements:[i],explicit:!0})}else{let i=this.ConsumeOperator();i?t.push(i):(this.error=`unexpected character [1]: ${String.fromCharCode(r)}, 0x${r.toString(16)}`,this.valid=!1,this.index++)}}else t.push(r)}if(t.length){if(t=this.BinaryToRange2(t),this.flags.fractions){let r=[],i=o=>o.type==="literal"&&typeof o.value=="number"&&o.value%1===0,s=0;for(;s<t.length-3;s++)if(i(t[s])&&i(t[s+1])&&t[s+2].type==="operator"&&t[s+2].operator==="/"&&i(t[s+3])){let o=t[s],a=t[s+1],l=t[s+3],d=(o.value<0?-1:1)*(a.value/l.value);s+=3,r.push({id:t[s].id,type:"literal",text:this.expression.substring(o.position,l.position+1),value:o.value+d,position:o.position})}else r.push(t[s]);for(;s<t.length;s++)r.push(t[s]);t=r}if(t=t.map(r=>r.type==="identifier"&&r.name===this.imaginary_number?{type:"complex",real:0,imaginary:1,position:r.position,text:r.name,id:this.id_counter++}:r),this.flags.dimensioned_quantities){let r=[],i;for(let s=0;s<t.length;s++){let o=t[s];if(!i)i=o;else if(o.type==="identifier"&&(i.type==="literal"||i.type==="group"||i.type==="call")){let a=o;for(;t[s+1]?.type==="identifier";)a.name+=" "+t[++s].name;r.push({type:"dimensioned",expression:i,unit:o,id:this.id_counter++}),i=void 0}else r.push(i),i=o}i&&r.push(i),t=r}}return t.length===0?null:t.length===1?t[0]:this.BinaryToComplex(this.ArrangeUnits(t))}UnitToAddress(e){if(e.type==="literal"){if(typeof e.value=="number"&&e.value>0&&!/\\./.test(e.text||""))return{type:"address",position:e.position,label:e.value.toString(),row:e.value-1,id:this.id_counter++,column:1/0}}else{let t,r=e.name,i=r.split("!");if(i.length>1&&(t=i.slice(0,i.length-1).join("!"),r=r.substr(t.length+1),t[0]==="\'"))if(t.length>1&&t[t.length-1]==="\'")t=t.substr(1,t.length-2);else return;let s=r[0]==="$";r=(s?r.substr(1):r).toUpperCase();let o=Number(r);if(isNaN(o)){if(/[A-Z]{1,3}/.test(r)){let a=-1;for(let l=0;l<r.length;l++){let d=r[l].charCodeAt(0);a=26*(1+a)+(d-We)}return{type:"address",position:e.position,absolute_column:s,label:e.name,column:a,id:this.id_counter++,row:1/0,sheet:t}}}else if(o>0&&o!==1/0&&!/\\./.test(r))return{type:"address",position:e.position,absolute_row:s,label:e.name,row:o-1,id:this.id_counter++,column:1/0,sheet:t}}}BinaryToRange2(e){let t=[];for(let r=0;r<e.length;r++){let i=e[r],s=e[r+1],o=e[r+2],a,l="",d;if(i&&s&&o&&s.type==="operator"&&s.operator===":"){if(i.type==="address"&&o.type==="address"){let c=i.position+i.label.length,h=o.position;a={type:"range",id:this.id_counter++,position:i.position,start:i,end:o,label:i.label+this.expression.substring(c,h)+o.label},l=a.start.label+":"+a.end.label,this.address_refcount[a.start.label]--,this.address_refcount[a.end.label]--;let m=[i.position,o.position];this.full_reference_list=this.full_reference_list.filter(u=>u.position!==m[0]&&u.position!==m[1])}else if((i.type==="literal"||i.type==="identifier")&&(o.type==="literal"||o.type==="identifier")){let c=this.UnitToAddress(i);if(!c&&i.type==="literal"&&typeof i.value=="number"&&i.value<0){let m={...i,text:(i.text||"").replace(/^-/,""),position:i.position+1,value:-i.value};c=this.UnitToAddress(m),c&&(d={type:"operator",operator:"-",position:i.position,id:this.id_counter++})}let h=this.UnitToAddress(o);c&&h&&(c.column===1/0&&h.column===1/0||c.row===1/0&&h.row===1/0)&&(l=c.label+":"+h.label,a={type:"range",id:this.id_counter++,position:c.position,start:c,end:h,label:l})}}a?(d&&t.push(d),t.push(a),this.dependencies.ranges[l]=a,this.full_reference_list.push(a),r+=2):t.push(i)}return t}BinaryToComplex(e){if(e.type==="binary")if((e.operator==="+"||e.operator==="-")&&e.left.type==="literal"&&typeof e.left.value=="number"&&e.right.type==="complex"&&!e.right.composited){let t="";t=this.expression.substring(e.left.position,e.right.position+(e.right.text?.length||0));let r=e.right.imaginary;return e.operator==="-"&&(r=-r),{type:"complex",position:e.left.position,text:t,id:this.id_counter++,imaginary:r,real:e.left.value,composited:!0}}else e.left=this.BinaryToComplex(e.left),e.right=this.BinaryToComplex(e.right);else if(e.type==="unary"&&(e.operator==="-"||e.operator==="+")&&e.operand.type==="complex"&&e.operand.text===this.imaginary_number)return{...e.operand,position:e.position,text:this.expression.substring(e.position,e.operand.position+(e.operand.text||"").length),imaginary:e.operand.imaginary*(e.operator==="-"?-1:1)};return e}BinaryToRangeX(e){if(e.type==="binary"){if(e.operator===":"){let t,r="";if(e.left.type==="address"&&e.right.type==="address"){let i=e.left.position+e.left.label.length,s=e.right.position;t={type:"range",id:this.id_counter++,position:e.left.position,start:e.left,end:e.right,label:e.left.label+this.expression.substring(i,s)+e.right.label},r=t.start.label+":"+t.end.label,this.address_refcount[t.start.label]--,this.address_refcount[t.end.label]--;let o=[e.left.position,e.right.position];this.full_reference_list=this.full_reference_list.filter(a=>a.position!==o[0]&&a.position!==o[1])}else if((e.left.type==="literal"||e.left.type==="identifier")&&(e.right.type==="literal"||e.right.type==="identifier")){let i=this.UnitToAddress(e.left),s=this.UnitToAddress(e.right);i&&s&&(i.column===1/0&&s.column===1/0||i.row===1/0&&s.row===1/0)&&(r=i.label+":"+s.label,t={type:"range",id:this.id_counter++,position:e.left.position,start:i,end:s,label:r})}if(t)return this.dependencies.ranges[r]=t,this.full_reference_list.push(t),t;this.error="unexpected character: :",this.valid=!1}e.left=this.BinaryToRangeX(e.left),e.right=this.BinaryToRangeX(e.right)}return e}ArrangeUnits(e){if(e.length===0)return{type:"missing",id:this.id_counter++};if(e.length===1)return e[0];let t=[];for(let r=0;r<e.length;r++){let i=e[r];if(i.type==="operator")if(t.length===0||t[t.length-1].type==="operator")if(Bs[i.operator]){let s=this.BinaryToComplex(this.ArrangeUnits(e.slice(r+1)));if(!this.valid)return{type:"group",id:this.id_counter++,elements:e,explicit:!1};s.type==="binary"?(s.left={type:"unary",id:this.id_counter++,operator:i.operator,operand:s.left,position:i.position},i=s):i={type:"unary",id:this.id_counter++,operator:i.operator,operand:s,position:i.position},r=e.length}else return this.error=`unexpected character [2]: ${i.operator}`,this.error_position=i.position,this.valid=!1,{type:"group",id:this.id_counter++,elements:e,explicit:!1};else{t.push(i);continue}if(t.length<2)t.push(i);else if(t[t.length-1].type==="operator"){let s=t[t.length-2],o=t[t.length-1],a=o.operator,l={type:"binary",id:this.id_counter++,left:s,operator:a,position:o.position,right:i};s.type==="binary"&&rr[a]>rr[s.operator]&&(l.left=s.left,l.operator=s.operator,l.position=s.position,l.right={type:"binary",id:this.id_counter++,left:s.right,right:i,operator:a,position:o.position}),t.splice(-2,2,l)}else return this.error="multiple expressions",this.error_position=i.position,this.valid=!1,{type:"group",id:this.id_counter++,elements:e,explicit:!1}}return t[0]}ParseNext(e=!0){this.ConsumeWhiteSpace();let t=this.data[this.index];if(t===jt)return{type:"literal",id:this.id_counter++,position:this.index,value:this.ConsumeString()};if(t>=we&&t<=je||t===this.decimal_mark_char)return this.ConsumeNumber();if(t===$s)return this.ConsumeArray();if(e&&(t===He||t===Xt)){let r=this.data[this.index+1];if(r>=we&&r<=je||r===this.decimal_mark_char)return this.ConsumeNumber()}else if(t>=We&&t<=bt||t>=Qe&&t<=gt||t===qt||t===Kt||t===Ht||t===pt||t===Xe||t>=er&&t<=tr)return this.ConsumeToken(t);return t}ConsumeArray(){let e={type:"array",id:this.id_counter++,values:[],position:this.index};this.index++;let t=0,r=0;for(;this.index<this.length;){let i=this.ParseNext(),s=this.index;if(typeof i=="number")switch(this.index++,i){case cn:r++,t=0;break;case Je:t++;break;case ks:return e;default:this.valid&&(this.error="invalid character in array literal",this.error_position=s,this.valid=!1);break}else switch(i.type){case"literal":e.values[t]||(e.values[t]=[]),e.values[t][r]=i.value;break;default:this.valid&&(this.error="invalid value in array literal",this.error_position=s,this.valid=!1);break}}return e}ConsumeOperator(){for(let e of Ls)if(this.expression.substr(this.index,e.length)===e){let t=this.index;return this.index+=e.length,{type:"operator",id:this.id_counter++,operator:e,position:t}}return null}ConsumeArguments(){this.index++;let e=0,t=[];for(;this.index<this.length;){let r=this.ParseGeneric([this.argument_separator_char,Qt]);r!==null&&t.push(r);let i=this.data[this.index];if(i===this.argument_separator_char){this.index++,e++;for(let s=t.length;s<e;s++)t.push({type:"missing",id:this.id_counter++})}else if(i===Qt)return this.index++,t}return t}ConsumeToken(e){let t=[e],r=this.index,i=e===Ht,s=0,o=!1;for(e===Xe&&(s=1,o=!0),++this.index;this.index<this.length;this.index++){let h=this.data[this.index];if(h>=We&&h<=bt||h>=Qe&&h<=gt||h>=er&&h<=tr||h===qt||h===pt||h===Jt||h===Rs||i||h>=we&&h<=je||h===Xe||s>0&&h===ln||h===He&&this.flags.r1c1&&s===1||s>0&&h===Ws&&this.data[this.index-1]===Xe||s===1&&(h===Je||h===an)||s>1||h===Es&&s===0)t.push(h),h===Xe&&(s++,o=!0),h===ln&&s--,h===Ht&&(i=!1);else break}this.data[this.index]===Kt&&t.push(this.data[this.index++]);let a=t.map(h=>String.fromCharCode(h)).join("");if(i)return this.error="unbalanced single quote",this.error_position=r,this.valid=!1,{type:"identifier",id:this.id_counter++,name:a,position:r};if(s)return this.error="unbalanced square bracket",this.error_position=r,this.valid=!1,{type:"identifier",id:this.id_counter++,name:a,position:r};if(this.ConsumeWhiteSpace(),this.data[this.index]===on){let h=this.ConsumeArguments();return{type:"call",id:this.id_counter++,name:a,args:h,position:r}}if(this.flags.spreadsheet_semantics){let h=this.ConsumeAddress(a,r);if(h)return h;if(o){let m=this.ConsumeStructuredReference(a,r);if(m)return m}}let d=a.toLowerCase();if(d==="true"||this.flags.boolean_true&&d===this.flags.boolean_true.toLowerCase())return{type:"literal",id:this.id_counter++,value:!0,position:r};if(d==="false"||this.flags.boolean_false&&d===this.flags.boolean_false.toLowerCase())return{type:"literal",id:this.id_counter++,value:!1,position:r};let c={type:"identifier",id:this.id_counter++,name:a,position:r};return this.full_reference_list.push(c),c}ConsumeStructuredReference(e,t){let r=e.length,i=e,s="",o=0;for(;o<r;o++){if(e[o]==="["){e=e.substring(o);break}s+=e[o]}if(e[0]!=="["||e[e.length-1]!=="]")return;e=e.substring(1,e.length-1);let a=e.split(",").map(h=>h.trim()),l="column",d="";if(a.length>2)return;a.length===2?(/\\[#this row\\]/i.test(a[0])?l="row":/\\[#all\\]/i.test(a[0])&&(l="all"),d=a[1]):(d=a[0],d[0]==="@"&&(l="row",d=d.substring(1,d.length))),d[0]==="["&&d[d.length-1]==="]"&&(d=d.substring(1,d.length-1));let c={type:"structured-reference",id:this.id_counter++,label:i,position:t,scope:l,column:d,table:s};return this.full_reference_list.push(c),c}ConsumeAddress(e,t){let r=t,i=e.length,s,o=e.split("!");if(o.length>1&&(s=o.slice(0,o.length-1).join("!"),t+=s.length+1),this.flags.r1c1){let h=o[o.length-1].match(this.r1c1_regex);if(h){let m={type:"address",id:this.id_counter++,label:e,row:0,column:0,position:r,sheet:s,r1c1:!0};return h[1][0]==="["?(m.offset_row=!0,m.row=Number(h[1].substring(1,h[1].length-1))):m.row=Number(h[1])-1,h[2][0]==="["?(m.offset_column=!0,m.column=Number(h[2].substring(1,h[2].length-1))):m.column=Number(h[2])-1,m}}let a=this.ConsumeAddressColumn(t);if(!a)return null;t=a.position;let l=this.ConsumeAddressRow(t);if(!l)return null;t=l.position;let d=s?s+e.substr(s.length,t-r).toUpperCase():e.substr(0,t-r).toUpperCase();s&&s[0]==="\'"&&(s=s.substr(1,s.length-2));let c={type:"address",id:this.id_counter++,label:d,row:l.row,column:a.column,absolute_row:l.absolute,absolute_column:a.absolute,position:r,sheet:s,spill:l.spill};return i!==t-r?null:(this.dependencies.addresses[c.label]=c,this.address_refcount[c.label]=(this.address_refcount[c.label]||0)+1,this.full_reference_list.push(c),c)}ConsumeAddressRow(e){let t=this.data[e]===pt;t&&e++;let r=e,i=0;for(;;e++){let o=this.data[e];if(o>=we&&o<=je)i*=10,i+=o-we;else break}if(r===e||i===0)return!1;let s=!1;return this.data[e]===Kt&&(e++,s=!0),{absolute:t,row:i-1,position:e,spill:s}}ConsumeAddressColumn(e){let t=-1,r=0,i=this.data[e]===pt;for(i&&e++;;e++,r++){if(r>=4)return!1;let s=this.data[e];if(s>=We&&s<=bt)t=26*(1+t)+(s-We);else if(s>=Qe&&s<=gt)t=26*(1+t)+(s-Qe);else break}return t<0?!1:{absolute:i,column:t,position:e}}ConsumeNumber(){let e=this.index,t=0,r=!1,i=!1,s=0,o=0,a=0,l="integer",d=0,c=!1,h=this.index;for(;this.index<this.length;this.index++,d++){let u=this.data[this.index];if(u===this.decimal_mark_char)if(l==="integer")l="fraction";else break;else if(u===Fs){s/=100,a/=100,this.index++;break}else if(u===Xt||u===He)if(d===0)u===He&&(i=!0);else break;else if(u===Gs||u===zs)if(l==="integer"||l==="fraction")l="exponent",this.index<this.length-1&&(this.data[this.index+1]===Xt?this.index++:this.data[this.index+1]===He&&(this.index++,r=!0));else break;else if(u===this.imaginary_char){let f=this.data[this.index+1];if(f>=We&&f<=bt||f>=Qe&&f<=gt||f>=er&&f<=tr||f===qt)break;if(l==="integer"||l==="fraction"){this.index++,c=!0;break}}else if(u>=we&&u<=je)switch(l){case"integer":s=s*10+(u-we);break;case"fraction":a=a*10+(u-we),o++;break;case"exponent":t=t*10+(u-we);break}else break}let m=s+a/Math.pow(10,o);return l==="exponent"&&(m=m*Math.pow(10,(r?-1:1)*t)),c?{type:"complex",id:this.id_counter++,position:e,imaginary:i?-m:m,real:0,text:this.expression.substring(h,this.index)||""}:{type:"literal",id:this.id_counter++,position:e,value:i?-m:m,text:this.expression.substring(h,this.index)||""}}ConsumeString(){this.index++;let e=[];for(;this.index<this.length;this.index++){let t=this.data[this.index];if(t===jt&&(this.index++,this.index>=this.length||this.data[this.index]!==jt))break;e.push(t)}return e.map(t=>String.fromCharCode(t)).join("")}ConsumeWhiteSpace(){for(;this.index<this.length;){let e=this.data[this.index];if(e===an||e===Ps||e===Zs||e===Ms||e===Ts)this.index++;else return}}};var dn=class n{static _instance=new n;constructor(){}static get instance(){return this._instance}HTML(e){let t=[];for(let r of e){let i=[];for(let s of r)s.pre&&i.push("<pre>"),s.emphasis&&i.push("<em>"),s.strong&&i.push("<strong>"),s.strike&&i.push("<strike>"),i.push(s.text),s.strike&&i.push("</strike>"),s.strong&&i.push("</strong>"),s.emphasis&&i.push("</em>"),s.pre&&i.push("</pre>");t.push(i.join(""))}return t.join(`<br/>\n`)}Dummy(e=""){return e.split(/\\n/).map(t=>[{text:t}])}Parse(e=""){let t=this.Tokenize(e);for(let r=0;r<t.length;r++){let i=t[r];if(i.type==="delimeter"){let s=t[r-1],o=t[r+1],a=!s||s.type==="whitespace"||s.type==="newline",l=s&&s.type==="text"&&/[^\\w\\d]$/.test(s.text),d=!o||o.type==="whitespace"||o.type==="newline",c=o&&o.type==="text"&&/^[^\\w\\d]/.test(o.text);i.left_flanking=!d&&(!c||a),i.right_flanking=!a&&(!l||d||c)}}return this.ApplyFormatting(t),this.Consolidate(t)}IsWhitespace(e){return e===" "||e===" "}IsNewline(e){return e==="\\r"||e===`\n`}IsDelimeter(e){return e==="*"||e==="_"||e==="~"}Consolidate(e){let t=[],r={},i=[],s={type:"text",text:""};for(let o of e)if(o.type==="newline")s.text.length&&i.push(s),s={...r,text:"",type:"text"},t.push(i),i=[];else switch((!!r.strong!=!!o.strong||!!r.emphasis!=!!o.emphasis||!!r.strike!=!!o.strike)&&(r.strong=!!o.strong,r.emphasis=!!o.emphasis,r.strike=!!o.strike,s.text.length&&i.push(s),s={...r,text:"",type:"text"}),o.type){case"text":case"whitespace":s.text+=o.text;break;case"delimeter":for(let a=0;a<o.length;a++)s.text+=o.char;break}return s.text.length&&i.push(s),i.length&&t.push(i),t}ApplyFormatting(e,t){let r=0,i=e.length;for(r=0;r<i;r++){let s=e[r];if(s.type==="delimeter"){if(t&&s.right_flanking&&t.char===s.char&&s.length>0)return{index:r,token:s};if(s.left_flanking){let o=this.ApplyFormatting(e.slice(r+1),s);if(o.token){let a=Math.min(o.token.length,s.length),l=s.char==="~",d=!l&&!!(a%2),c=!l&&a>=2;for(let h=r+1;h<=r+o.index;h++)e[h].strong=!!e[h].strong||c,e[h].emphasis=!!e[h].emphasis||d,e[h].strike=!!e[h].strike||l;o.token.length-=a,s.length-=a,s.length>0?r--:r+=o.index}}}}return{index:r}}Tokenize(e=""){let t=[],r=e.length,i=0,s=!1,o="";for(i=0;i<r;i++){let a=e[i];if(this.IsWhitespace(a)){o&&t.push({type:"text",text:o});let l=a;for(;;){let d=e[i+1];if(this.IsWhitespace(d))l+=d,i++;else break}t.push({type:"whitespace",text:l}),s=!1,o=""}else if(this.IsNewline(a)){o&&t.push({type:"text",text:o});let l=a;for(;;){let d=e[i+1];if(this.IsNewline(d))l+=d,i++;else break}t.push({type:"newline",text:l}),s=!1,o=""}else if(s)o+=a,s=!1;else if(this.IsDelimeter(a)){o&&t.push({type:"text",text:o});let l=a;for(;;){let d=e[i+1];if(d===a)l+=d,i++;else break}t.push({type:"delimeter",text:l,char:a,length:l.length}),s=!1,o=""}else a==="\\\\"?s=!0:o+=a}return o&&t.push({type:"text",text:o}),t}};var hn={"c:tx":{"c:strRef":{"c:f":"","c:strCache":{"c:ptCount":{a$:{val:"1"}},"c:pt":{a$:{idx:"0"},"c:v":""}}}},"c:overlay":{a$:{val:"0"}},"c:spPr":{"a:noFill":{},"a:ln":{"a:noFill":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{a$:{rot:"0",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{a$:{sz:"1400",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",spc:"0",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:endParaRPr":{a$:{lang:"en-US"}}}}},un={"c:tx":{"c:rich":{"a:bodyPr":{a$:{rot:"0",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{a$:{sz:"1400",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",spc:"0",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:r":{"a:rPr":{a$:{lang:""}},"a:t":""}}}},"c:overlay":{a$:{val:"0"}},"c:spPr":{"a:noFill":{},"a:ln":{"a:noFill":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{a$:{rot:"0",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{a$:{sz:"1400",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",spc:"0",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:endParaRPr":{a$:{lang:"en-US"}}}}},qe={"c:chartSpace":{a$:{"xmlns:c":"http://schemas.openxmlformats.org/drawingml/2006/chart","xmlns:a":"http://schemas.openxmlformats.org/drawingml/2006/main","xmlns:r":"http://schemas.openxmlformats.org/officeDocument/2006/relationships","xmlns:c16r2":"http://schemas.microsoft.com/office/drawing/2015/06/chart"},"c:date1904":{a$:{val:"0"}},"c:lang":{a$:{val:"en-US"}},"c:roundedCorners":{a$:{val:"0"}},"mc:AlternateContent":{a$:{"xmlns:mc":"http://schemas.openxmlformats.org/markup-compatibility/2006"},"mc:Choice":{a$:{Requires:"c14","xmlns:c14":"http://schemas.microsoft.com/office/drawing/2007/8/2/chart"},"c14:style":{a$:{val:"102"}}},"mc:Fallback":{"c:style":{a$:{val:"2"}}}},"c:chart":{},"c:spPr":{"a:solidFill":{"a:schemeClr":{a$:{val:"bg1"}}},"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"15000"}},"a:lumOff":{a$:{val:"85000"}}}},"a:round":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{}},"a:endParaRPr":{a$:{lang:"en-US"}}}},"c:printSettings":{"c:headerFooter":{},"c:pageMargins":{a$:{b:"0.75",l:"0.7",r:"0.7",t:"0.75",header:"0.3",footer:"0.3"}},"c:pageSetup":{}}}};var fn={"c:idx":{a$:{val:"0"}},"c:order":{a$:{val:"0"}},"c:spPr":{"a:solidFill":{"a:schemeClr":{a$:{val:"accent1"}}},"a:ln":{"a:noFill":{}},"a:effectLst":{}},"c:invertIfNegative":{a$:{val:"0"}},"c:val":{"c:numRef":{"c:f":""}},"c:extLst":{"c:ext":{a$:{uri:"{C3380CC4-5D6E-409C-BE32-E72D297353CC}","xmlns:c16":"http://schemas.microsoft.com/office/drawing/2014/chart"},"c16:uniqueId":{a$:{val:"{00000000-F52E-47BC-822F-A046A80610BE}"}}}}},mn={"c:title":{},"c:autoTitleDeleted":{a$:{val:"0"}},"c:plotArea":{"c:layout":{},"c:barChart":{"c:barDir":{a$:{val:"col"}},"c:grouping":{a$:{val:"clustered"}},"c:varyColors":{a$:{val:"0"}},"c:ser":[],"c:dLbls":{"c:showLegendKey":{a$:{val:"0"}},"c:showVal":{a$:{val:"0"}},"c:showCatName":{a$:{val:"0"}},"c:showSerName":{a$:{val:"0"}},"c:showPercent":{a$:{val:"0"}},"c:showBubbleSize":{a$:{val:"0"}}},"c:gapWidth":{a$:{val:"219"}},"c:overlap":{a$:{val:"-27"}},"c:axId":[{a$:{val:"47003664"}},{a$:{val:"1789284464"}}]},"c:catAx":{"c:axId":{a$:{val:"47003664"}},"c:scaling":{"c:orientation":{a$:{val:"minMax"}}},"c:delete":{a$:{val:"0"}},"c:axPos":{a$:{val:"b"}},"c:majorTickMark":{a$:{val:"none"}},"c:minorTickMark":{a$:{val:"none"}},"c:tickLblPos":{a$:{val:"nextTo"}},"c:spPr":{"a:noFill":{},"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"15000"}},"a:lumOff":{a$:{val:"85000"}}}},"a:round":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{a$:{rot:"-60000000",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{a$:{sz:"900",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:endParaRPr":{a$:{lang:"en-US"}}}},"c:crossAx":{a$:{val:"1789284464"}},"c:crosses":{a$:{val:"autoZero"}},"c:auto":{a$:{val:"1"}},"c:lblAlgn":{a$:{val:"ctr"}},"c:lblOffset":{a$:{val:"100"}},"c:noMultiLvlLbl":{a$:{val:"0"}}},"c:valAx":{"c:axId":{a$:{val:"1789284464"}},"c:scaling":{"c:orientation":{a$:{val:"minMax"}}},"c:delete":{a$:{val:"0"}},"c:axPos":{a$:{val:"l"}},"c:majorGridlines":{"c:spPr":{"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"15000"}},"a:lumOff":{a$:{val:"85000"}}}},"a:round":{}},"a:effectLst":{}}},"c:numFmt":{a$:{formatCode:"General",sourceLinked:"1"}},"c:majorTickMark":{a$:{val:"none"}},"c:minorTickMark":{a$:{val:"none"}},"c:tickLblPos":{a$:{val:"nextTo"}},"c:spPr":{"a:noFill":{},"a:ln":{"a:noFill":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{a$:{rot:"-60000000",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{a$:{sz:"900",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:endParaRPr":{a$:{lang:"en-US"}}}},"c:crossAx":{a$:{val:"47003664"}},"c:crosses":{a$:{val:"autoZero"}},"c:crossBetween":{a$:{val:"between"}}},"c:spPr":{"a:noFill":{},"a:ln":{"a:noFill":{}},"a:effectLst":{}}},"c:plotVisOnly":{a$:{val:"1"}},"c:dispBlanksAs":{a$:{val:"gap"}},"c:extLst":{"c:ext":{a$:{uri:"{56B9EC1D-385E-4148-901F-78D8002777C0}","xmlns:c16r3":"http://schemas.microsoft.com/office/drawing/2017/03/chart"},"c16r3:dataDisplayOptions16":{"c16r3:dispNaAsBlank":{a$:{val:"1"}}}}},"c:showDLblsOverMax":{a$:{val:"0"}}};var pn={"c:title":{},"c:autoTitleDeleted":{a$:{val:"0"}},"c:plotArea":{"c:layout":{},"c:doughnutChart":{"c:varyColors":{a$:{val:"1"}},"c:ser":{"c:idx":{a$:{val:"0"}},"c:order":{a$:{val:"0"}},"c:dPt":{"c:idx":{a$:{val:"3"}},"c:bubble3D":{a$:{val:"0"}},"c:spPr":{"a:solidFill":{"a:schemeClr":{a$:{val:"accent4"}}},"a:ln":{a$:{w:"19050"},"a:solidFill":{"a:schemeClr":{a$:{val:"lt1"}}}},"a:effectLst":{}},"c:extLst":{"c:ext":{a$:{uri:"{C3380CC4-5D6E-409C-BE32-E72D297353CC}","xmlns:c16":"http://schemas.microsoft.com/office/drawing/2014/chart"},"c16:uniqueId":{a$:{val:"{00000007-E886-49A6-AE6D-C67D8A27530F}"}}}}},"c:cat":{"c:strRef":{"c:f":""}},"c:val":{"c:numRef":{"c:f":""}},"c:extLst":{"c:ext":{a$:{uri:"{C3380CC4-5D6E-409C-BE32-E72D297353CC}","xmlns:c16":"http://schemas.microsoft.com/office/drawing/2014/chart"},"c16:uniqueId":{a$:{val:"{00000000-3689-4BB4-A84F-05B9F3BBE577}"}}}}},"c:dLbls":{"c:showLegendKey":{a$:{val:"0"}},"c:showVal":{a$:{val:"0"}},"c:showCatName":{a$:{val:"0"}},"c:showSerName":{a$:{val:"0"}},"c:showPercent":{a$:{val:"0"}},"c:showBubbleSize":{a$:{val:"0"}},"c:showLeaderLines":{a$:{val:"1"}}},"c:firstSliceAng":{a$:{val:"0"}},"c:holeSize":{a$:{val:"75"}}},"c:spPr":{"a:noFill":{},"a:ln":{"a:noFill":{}},"a:effectLst":{}}},"c:legend":{"c:legendPos":{a$:{val:"b"}},"c:overlay":{a$:{val:"0"}},"c:spPr":{"a:noFill":{},"a:ln":{"a:noFill":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{a$:{rot:"0",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{a$:{rtl:"0"},"a:defRPr":{a$:{sz:"900",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:endParaRPr":{a$:{lang:"en-US"}}}}},"c:plotVisOnly":{a$:{val:"1"}},"c:dispBlanksAs":{a$:{val:"gap"}},"c:extLst":{"c:ext":{a$:{uri:"{56B9EC1D-385E-4148-901F-78D8002777C0}","xmlns:c16r3":"http://schemas.microsoft.com/office/drawing/2017/03/chart"},"c16r3:dataDisplayOptions16":{"c16r3:dispNaAsBlank":{a$:{val:"1"}}}}},"c:showDLblsOverMax":{a$:{val:"0"}}};var bn={"c:title":{},"c:autoTitleDeleted":{a$:{val:"0"}},"c:plotArea":{"c:layout":{},"c:scatterChart":{"c:scatterStyle":{a$:{val:"lineMarker"}},"c:varyColors":{a$:{val:"0"}},"c:ser":[],"c:dLbls":{"c:showLegendKey":{a$:{val:"0"}},"c:showVal":{a$:{val:"0"}},"c:showCatName":{a$:{val:"0"}},"c:showSerName":{a$:{val:"0"}},"c:showPercent":{a$:{val:"0"}},"c:showBubbleSize":{a$:{val:"0"}}},"c:axId":[{a$:{val:"2028657983"}},{a$:{val:"2023395087"}}]},"c:valAx":[{"c:axId":{a$:{val:"2028657983"}},"c:scaling":{"c:orientation":{a$:{val:"minMax"}}},"c:delete":{a$:{val:"0"}},"c:axPos":{a$:{val:"b"}},"c:majorGridlines":{"c:spPr":{"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"15000"}},"a:lumOff":{a$:{val:"85000"}}}},"a:round":{}},"a:effectLst":{}}},"c:majorTickMark":{a$:{val:"none"}},"c:minorTickMark":{a$:{val:"none"}},"c:tickLblPos":{a$:{val:"nextTo"}},"c:spPr":{"a:noFill":{},"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"25000"}},"a:lumOff":{a$:{val:"75000"}}}},"a:round":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{a$:{rot:"-60000000",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{a$:{sz:"900",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:endParaRPr":{a$:{lang:"en-US"}}}},"c:crossAx":{a$:{val:"2023395087"}},"c:crosses":{a$:{val:"autoZero"}},"c:crossBetween":{a$:{val:"midCat"}}},{"c:axId":{a$:{val:"2023395087"}},"c:scaling":{"c:orientation":{a$:{val:"minMax"}}},"c:delete":{a$:{val:"0"}},"c:axPos":{a$:{val:"l"}},"c:majorGridlines":{"c:spPr":{"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"15000"}},"a:lumOff":{a$:{val:"85000"}}}},"a:round":{}},"a:effectLst":{}}},"c:numFmt":{a$:{formatCode:"0.00",sourceLinked:"1"}},"c:majorTickMark":{a$:{val:"none"}},"c:minorTickMark":{a$:{val:"none"}},"c:tickLblPos":{a$:{val:"nextTo"}},"c:spPr":{"a:noFill":{},"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"25000"}},"a:lumOff":{a$:{val:"75000"}}}},"a:round":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{a$:{rot:"-60000000",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{a$:{sz:"900",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:endParaRPr":{a$:{lang:"en-US"}}}},"c:crossAx":{a$:{val:"2028657983"}},"c:crosses":{a$:{val:"autoZero"}},"c:crossBetween":{a$:{val:"midCat"}}}],"c:spPr":{"a:noFill":{},"a:ln":{"a:noFill":{}},"a:effectLst":{}}},"c:plotVisOnly":{a$:{val:"1"}},"c:dispBlanksAs":{a$:{val:"gap"}},"c:extLst":{"c:ext":{a$:{uri:"{56B9EC1D-385E-4148-901F-78D8002777C0}","xmlns:c16r3":"http://schemas.microsoft.com/office/drawing/2017/03/chart"},"c16r3:dataDisplayOptions16":{"c16r3:dispNaAsBlank":{a$:{val:"1"}}}}},"c:showDLblsOverMax":{a$:{val:"0"}}},gn={"c:spPr":{"a:ln":{a$:{w:"19050",cap:"rnd"},"a:solidFill":{"a:schemeClr":{a$:{val:"accent1"}}},"a:round":{}},"a:effectLst":{}},"c:marker":{"c:symbol":{a$:{val:"none"}}},"c:xVal":{"c:numRef":{"c:f":""}},"c:yVal":{"c:numRef":{"c:f":""}},"c:smooth":{a$:{val:"0"}},"c:extLst":{"c:ext":{a$:{uri:"{C3380CC4-5D6E-409C-BE32-E72D297353CC}","xmlns:c16":"http://schemas.microsoft.com/office/drawing/2014/chart"},"c16:uniqueId":{a$:{val:"{00000000-1F6C-44A9-AA4F-6706F20CC72E}"}}}}};var yn={"c:title":{},"c:autoTitleDeleted":{a$:{val:"0"}},"c:plotArea":{"c:layout":{},"c:bubbleChart":{"c:varyColors":{a$:{val:"0"}},"c:ser":[],"c:dLbls":{"c:showLegendKey":{a$:{val:"0"}},"c:showVal":{a$:{val:"0"}},"c:showCatName":{a$:{val:"0"}},"c:showSerName":{a$:{val:"0"}},"c:showPercent":{a$:{val:"0"}},"c:showBubbleSize":{a$:{val:"0"}}},"c:axId":[{a$:{val:"2028657983"}},{a$:{val:"2023395087"}}]},"c:valAx":[{"c:axId":{a$:{val:"2028657983"}},"c:scaling":{"c:orientation":{a$:{val:"minMax"}}},"c:delete":{a$:{val:"0"}},"c:axPos":{a$:{val:"b"}},"c:majorGridlines":{"c:spPr":{"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"15000"}},"a:lumOff":{a$:{val:"85000"}}}},"a:round":{}},"a:effectLst":{}}},"c:majorTickMark":{a$:{val:"none"}},"c:minorTickMark":{a$:{val:"none"}},"c:tickLblPos":{a$:{val:"nextTo"}},"c:spPr":{"a:noFill":{},"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"25000"}},"a:lumOff":{a$:{val:"75000"}}}},"a:round":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{a$:{rot:"-60000000",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{a$:{sz:"900",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:endParaRPr":{a$:{lang:"en-US"}}}},"c:crossAx":{a$:{val:"2023395087"}},"c:crosses":{a$:{val:"autoZero"}},"c:crossBetween":{a$:{val:"midCat"}}},{"c:axId":{a$:{val:"2023395087"}},"c:scaling":{"c:orientation":{a$:{val:"minMax"}}},"c:delete":{a$:{val:"0"}},"c:axPos":{a$:{val:"l"}},"c:majorGridlines":{"c:spPr":{"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"15000"}},"a:lumOff":{a$:{val:"85000"}}}},"a:round":{}},"a:effectLst":{}}},"c:numFmt":{a$:{formatCode:"0.00",sourceLinked:"1"}},"c:majorTickMark":{a$:{val:"none"}},"c:minorTickMark":{a$:{val:"none"}},"c:tickLblPos":{a$:{val:"nextTo"}},"c:spPr":{"a:noFill":{},"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"25000"}},"a:lumOff":{a$:{val:"75000"}}}},"a:round":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{a$:{rot:"-60000000",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{a$:{sz:"900",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:endParaRPr":{a$:{lang:"en-US"}}}},"c:crossAx":{a$:{val:"2028657983"}},"c:crosses":{a$:{val:"autoZero"}},"c:crossBetween":{a$:{val:"midCat"}}}],"c:spPr":{"a:noFill":{},"a:ln":{"a:noFill":{}},"a:effectLst":{}}},"c:plotVisOnly":{a$:{val:"1"}},"c:dispBlanksAs":{a$:{val:"gap"}},"c:extLst":{"c:ext":{a$:{uri:"{56B9EC1D-385E-4148-901F-78D8002777C0}","xmlns:c16r3":"http://schemas.microsoft.com/office/drawing/2017/03/chart"},"c16r3:dataDisplayOptions16":{"c16r3:dispNaAsBlank":{a$:{val:"1"}}}}},"c:showDLblsOverMax":{a$:{val:"0"}}},xn={"c:spPr":{"a:solidFill":{"a:schemeClr":{a$:{val:"accent1"},"a:alpha":{a$:{val:"75000"}}}},"a:ln":{"a:noFill":{}},"a:effectLst":{}},"c:xVal":{"c:numRef":{"c:f":""}},"c:yVal":{"c:numRef":{"c:f":""}},"c:bubbleSize":{"c:numRef":{"c:f":""}},"c:bubble3D":{a$:{val:"0"}},"c:extLst":{"c:ext":{a$:{uri:"{C3380CC4-5D6E-409C-BE32-E72D297353CC}","xmlns:c16":"http://schemas.microsoft.com/office/drawing/2014/chart"},"c16:uniqueId":{a$:{val:"{00000000-03D7-43A5-9DAB-5775FFEF9C03}"}}}}};var ze=class n{constructor(e,t=n.next_chart_index++){this.options=e;this.index=t}static next_chart_index=1;relationships={};UpdateChartTitle(e){let t=this.options.title||{type:"literal",value:""};if(t&&t.type==="literal"){let r=JSON.parse(JSON.stringify(un)),i=r["c:tx"]["c:rich"]["a:p"];i["a:r"]={"a:rPr":{a$:{lang:V.locale}},"a:t":t.value},e["c:title"]=r}else if(t){let r=JSON.parse(JSON.stringify(hn));r["c:tx"]["c:strRef"]["c:f"]=t.label,e["c:title"]=r}}toJSON(){switch(this.options.type){case"column":case"bar":return this.CreateBarChart();case"scatter":case"scatter2":return this.CreateScatterChart();case"bubble":return this.CreateBubbleChart();case"donut":return this.CreateDonutChart();default:console.info("unhandled chart type",this.options.type)}return this.CreateBarChart()}CreateBubbleChart(){let e=JSON.parse(JSON.stringify(qe)),t=e["c:chartSpace"],r=JSON.parse(JSON.stringify(yn));t["c:chart"]=r,this.UpdateChartTitle(t["c:chart"]);let i=t["c:chart"]["c:plotArea"]["c:bubbleChart"]["c:ser"],s=!1;for(let o=0;o<this.options.data.length;o++){let a=JSON.parse(JSON.stringify(xn));if(a["c:idx"]={a$:{val:o.toString()}},a["c:order"]={a$:{val:o.toString()}},this.options.names&&this.options.names[o]){let l=this.options.names[o];switch(l.type){case"literal":a["c:tx"]={"c:v":l.value.toString()},s=!0;break;case"range":case"address":a["c:tx"]={"c:strRef":{"c:f":l.label}},s=!0;break}}o<6&&(a["c:spPr"]["a:solidFill"]["a:schemeClr"].a$.val=`accent${o+1}`),a["c:yVal"]["c:numRef"]["c:f"]=this.options.data[o]?.label,this.options.labels2&&this.options.labels2[o]&&(a["c:xVal"]["c:numRef"]["c:f"]=this.options.labels2[o]?.label),this.options.labels3&&this.options.labels3[o]&&(a["c:bubbleSize"]["c:numRef"]["c:f"]=this.options.labels3[o]?.label),i.push(a)}return s&&(t["c:chart"]["c:legend"]={"c:legendPos":{a$:{val:"b"}},"c:overlay":{a$:{val:"0"}}}),e}CreateScatterChart(){let e=JSON.parse(JSON.stringify(qe)),t=e["c:chartSpace"],r=JSON.parse(JSON.stringify(bn));this.options.smooth&&(r["c:plotArea"]["c:scatterChart"]["c:scatterStyle"].a$.val="smoothMarker"),t["c:chart"]=r,this.UpdateChartTitle(t["c:chart"]);let i=t["c:chart"]["c:plotArea"]["c:scatterChart"]["c:ser"],s=!1;for(let o=0;o<this.options.data.length;o++){let a=JSON.parse(JSON.stringify(gn));if(a["c:idx"]={a$:{val:o.toString()}},a["c:order"]={a$:{val:o.toString()}},this.options.names&&this.options.names[o]){let l=this.options.names[o];switch(l.type){case"literal":a["c:tx"]={"c:v":l.value.toString()},s=!0;break;case"range":case"address":a["c:tx"]={"c:strRef":{"c:f":l.label}},s=!0;break}}o<6&&(a["c:spPr"]["a:ln"]["a:solidFill"]["a:schemeClr"].a$.val=`accent${o+1}`),a["c:yVal"]["c:numRef"]["c:f"]=this.options.data[o]?.label,this.options.labels2&&this.options.labels2[o]&&(a["c:xVal"]["c:numRef"]["c:f"]=this.options.labels2[o]?.label),this.options.smooth&&(a["c:smooth"]={a$:{val:1}}),i.push(a)}return s&&(t["c:chart"]["c:legend"]={"c:legendPos":{a$:{val:"b"}},"c:overlay":{a$:{val:"0"}}}),e}CreateDonutChart(){let e=JSON.parse(JSON.stringify(qe)),t=e["c:chartSpace"],r=JSON.parse(JSON.stringify(pn));t["c:chart"]=r,this.UpdateChartTitle(t["c:chart"]);let i=r["c:plotArea"]["c:doughnutChart"];return i&&(i["c:ser"]["c:cat"]["c:strRef"]["c:f"]=this.options.labels?.label||"",i["c:ser"]["c:val"]["c:numRef"]["c:f"]=this.options.data[0]?.label||""),e}CreateBarChart(){let e=JSON.parse(JSON.stringify(qe)),t=e["c:chartSpace"],r=JSON.parse(JSON.stringify(mn));t["c:chart"]=r,this.UpdateChartTitle(t["c:chart"]);let i=r["c:plotArea"]["c:barChart"];if(i){let s=i["c:barDir"];s&&(s.a$.val=this.options.type==="bar"?"bar":"col");let o=i["c:ser"];for(let a=0;a<this.options.data.length;a++){let l=JSON.parse(JSON.stringify(fn));l["c:idx"]={a$:{val:a.toString()}},l["c:order"]={a$:{val:a.toString()}},a<6&&(l["c:spPr"]["a:solidFill"]["a:schemeClr"].a$.val=`accent${a+1}`),!a&&this.options.labels&&(l["c:cat"]={"c:strRef":{"c:f":this.options.labels.label}}),l["c:val"]["c:numRef"]["c:f"]=this.options.data[a]?.label,o.push(l)}}return e}};var yt=class n{constructor(e,t=n.next_image_index++){this.options=e;this.index=t;switch(e.mimetype){case"svg+xml":this.extension="svg";break;case"image/png":this.extension="png";break;case"jpg":this.extension="jpeg";break;case"svg":case"png":case"jpeg":case"gif":this.extension=e.mimetype;break;default:console.warn("unhandled mime type",e.mimetype);break}}static next_image_index=1;extension=""};var _n=9525,Ke=class n{constructor(e=n.next_drawing_index++){this.index=e}static next_drawing_index=1;sheet_drawing_relationship=0;charts=[];images=[];relationships={};AddImage(e,t){let r=new yt(e);if(r.extension){let i=fe(this.relationships,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",`../media/image${r.index}.${r.extension}`);this.images.push({image:r,relationship:i,anchor:t})}}AddChart(e,t){let r=new ze(e),i=fe(this.relationships,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart",`../charts/chart${r.index}.xml`);this.charts.push({chart:r,anchor:t,relationship:i})}CornerToJSON(e){return{"xdr:col":e.column,"xdr:colOff":(e.column_offset||0)*_n,"xdr:row":e.row,"xdr:rowOff":(e.row_offset||0)*_n}}AnchorToJSON(e){return{"xdr:from":{...this.CornerToJSON(e.from)},"xdr:to":{...this.CornerToJSON(e.to)}}}toJSON(){let e=this.images.map(i=>({a$:{editAs:"oneCell"},...this.AnchorToJSON(i.anchor),"xdr:pic":{"xdr:nvPicPr":{"xdr:cNvPr":{a$:{id:i.image.index+1,name:"Image "+i.image.index}},"xdr:cNvPicPr":{"a:picLocks":{a$:{noChangeAspect:1}}}},"xdr:blipFill":{"a:blip":{a$:i.image.extension==="svg"?{"xmlns:r":"http://schemas.openxmlformats.org/officeDocument/2006/relationships"}:{"xmlns:r":"http://schemas.openxmlformats.org/officeDocument/2006/relationships","r:embed":i.relationship},"a:extLst":{"a:ext":[{a$:{uri:"{28A0092B-C50C-407E-A947-70E740481C1C}"},"a14:useLocalDpi":{a$:{"xmlns:a14":"http://schemas.microsoft.com/office/drawing/2010/main",val:0}}},i.image.extension==="svg"?{a$:{uri:"{96DAC541-7B7A-43D3-8B79-37D633B846F1}"},"asvg:svgBlip":{a$:{"xmlns:asvg":"http://schemas.microsoft.com/office/drawing/2016/SVG/main","r:embed":i.relationship}}}:void 0]}},"a:stretch":{"a:fillRect":{}}},"xdr:spPr":{"a:xfrm":{"a:off":{a$:{x:0,y:0}},"a:ext":{a$:{cx:4057650,cy:6172200}}},"a:prstGeom":{a$:{prst:"rect"},"a:avLst":{}}}},"xdr:clientData":{}})),t=this.charts.map(i=>({...this.AnchorToJSON(i.anchor),"xdr:graphicFrame":{a$:{macro:""},"xdr:nvGraphicFramePr":{"xdr:cNvPr":{a$:{id:i.chart.index+1,name:`Chart ${i.chart.index}`}},"xdr:cNvGraphicFramePr":{}},"xdr:xfrm":{"a:off":{a$:{x:0,y:0}},"a:ext":{a$:{cx:0,cy:0}}},"a:graphic":{"a:graphicData":{a$:{uri:"http://schemas.openxmlformats.org/drawingml/2006/chart"},"c:chart":{a$:{"xmlns:c":"http://schemas.openxmlformats.org/drawingml/2006/chart","xmlns:r":"http://schemas.openxmlformats.org/officeDocument/2006/relationships","r:id":i.relationship}}}}},"xdr:clientData":{}}));return{"xdr:wsDr":{a$:{"xmlns:xdr":"http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing","xmlns:a":"http://schemas.openxmlformats.org/drawingml/2006/main"},"xdr:twoCellAnchor":[...t,...e]}}}};var wn=Te(ct());var Ue=n=>"row"in n&&"col"in n,Se=n=>"from"in n&&"to"in n&&Ue(n.from)&&Ue(n.to),xt=(n,e)=>e.sheet===n.sheet&&e.row>=n.from.row&&e.row<=n.to.row&&e.col>=n.from.col&&e.col<=n.to.col,nr=(n,e=0,t=0)=>({from:{row:n.from.row+e,col:n.from.col+t,sheet:n.from.sheet},to:{row:n.to.row+e,col:n.to.col+t,sheet:n.to.sheet}});var _t=class{constructor(e={}){this.options=e}path;rels_path;rels={};sheet_data={};shared_strings;extent;visible_state;tab_selected=!1;default_width=0;drawings=[];TranslateAddress(e){e=e.toUpperCase();let t=e.match(/([A-Z]+\\d+):([A-Z]+\\d+)/);if(t)return{from:this.TranslateAddress(t[1]),to:this.TranslateAddress(t[2])};let r=0,i=0;if(t=e.match(/^([A-Z]+)(\\d+)$/),t){r=Number(t[2]),i=0;let s=t[1].length;for(let o=0;o<s;o++){let a=t[1].charCodeAt(o)-64;i=i*26+a}}return{row:r,col:i}}Address(e,t=!1){if(Se(e))return this.Address(e.from,t)+":"+this.Address(e.to,t);let r="",i=e.col;for(;i>0;){let o=(i-1)%26+1;r=String.fromCharCode(64+o)+r,i=(i-o)/26}let s=e.sheet?`\'${e.sheet}\'!`:"";return t?`${s}$${r}$${e.row}`:s+r+e.row}NormalizeAddress(e){let t,r;return typeof e=="string"?(t=e.toUpperCase(),r=this.TranslateAddress(t)):(r=e,t=this.Address(r)),{a:t,rc:r}}Parse(){let e=this.sheet_data.worksheet?.dimension?.a$?.ref,t=this.TranslateAddress(e||"");Se(t)?this.extent=JSON.parse(JSON.stringify(t)):this.extent={from:JSON.parse(JSON.stringify(t)),to:JSON.parse(JSON.stringify(t))}}};var Ae=new wn.XMLParser(ht),At={greaterThan:">",greaterThanOrEqual:">=",lessThan:"<",lessThanOrEqual:"<=",equal:"=",notEqual:"<>"};var wt=class{constructor(e){this.zip=e}xml={};shared_strings=new ke;style_cache=new Re;theme=new Ne;named=[];rels={};sheets=[];active_tab=0;get sheet_count(){return this.sheets.length}ReadRels(e){let t={},r=this.zip.Has(e)?this.zip.Get(e):"",i=Ae.parse(r||"");for(let s of i.Relationships?.Relationship||[]){let o=s.a$.Id;t[o]={id:o,type:s.a$.Type,target:s.a$.Target}}return t}Init(){this.rels=this.ReadRels("xl/_rels/workbook.xml.rels");let e=this.zip.Has("xl/sharedStrings.xml")?this.zip.Get("xl/sharedStrings.xml"):"",t=Ae.parse(e||"");this.shared_strings.FromXML(t),e=this.zip.Get("xl/theme/theme1.xml"),t=Ae.parse(e),this.theme.FromXML(t),e=this.zip.Get("xl/styles.xml"),t=Ae.parse(e),this.style_cache.FromXML(t,this.theme),e=this.zip.Get("xl/workbook.xml"),t=Ae.parse(e),this.named=[];let r=$.FindAll(t,"workbook/definedNames/definedName");for(let o of r){let a=o.a$?.name,l=o.t$||"",d=o.a$?.localSheetId?Number(o.a$.localSheetId):void 0;this.named.push({name:a,expression:typeof l=="string"?l:l?.toString()||"",local_scope:d})}let i=$.FindAll(t,"workbook/bookViews/workbookView");i[0]?.a$?.activeTab&&(this.active_tab=Number(i[0].a$.activeTab)||0);let s=$.FindAll(t,"workbook/sheets/sheet");for(let o of s){let a=o.a$?.name;if(a){let l=o.a$.state,d=o.a$["r:id"],c=new _t({name:a,rid:d,id:Number(o.a$.sheetId)});l==="hidden"?c.visible_state=1:l==="veryHidden"&&(c.visible_state=2),c.shared_strings=this.shared_strings,c.path=`xl/${this.rels[d].target}`,c.rels_path=c.path.replace("worksheets","worksheets/_rels")+".rels",e=this.zip.Get(c.path),c.sheet_data=Ae.parse(e||""),c.rels=this.ReadRels(c.rels_path),c.Parse(),this.sheets.push(c)}}}ReadTable(e){let t=this.zip.Get(e.replace(/^../,"xl"));if(!t)return;let r=Ae.parse(t),i=r.table?.a$?.name||"";return{name:i,display_name:r.table?.a$?.displayName||i,ref:r.table?.a$.ref||"",totals_row_shown:Number(r.table?.a$.totalsRowShown||"0")||0,totals_row_count:Number(r.table?.a$.totalsRowCount||"0")||0}}ReadDrawing(e){let t=this.zip.Get(e.replace(/^../,"xl"));if(!t)return;let r=Ae.parse(t),i=this.ReadRels(e.replace(/^..\\/drawings/,"xl/drawings/_rels")+".rels"),s=[],o=$.FindAll(r,"xdr:wsDr/xdr:twoCellAnchor"),a=(l={})=>({column:l["xdr:col"]||0,column_offset:l["xdr:colOff"]||0,row:l["xdr:row"]||0,row_offset:l["xdr:rowOff"]||0});for(let l of o){let d={from:a(l["xdr:from"]),to:a(l["xdr:to"])},c=$.FindAll(l,"xdr:graphicFrame/a:graphic/a:graphicData/c:chart")[0];if(c||(c=$.FindAll(l,"mc:AlternateContent/mc:Choice/xdr:graphicFrame/a:graphic/a:graphicData/cx:chart")[0]),c&&c.a$&&c.a$["r:id"]){let h={type:"chart",anchor:d},m=i[c.a$["r:id"]];m&&m.target&&(h.chart=this.ReadChart(m.target)),s.push(h)}else{let h=$.FindAll(l,"xdr:pic/xdr:blipFill/a:blip")[0];if(h&&h.a$["r:embed"]){let m=i[h.a$["r:embed"]];if(m&&m.target&&/(?:jpg|jpeg|png|gif)$/i.test(m.target)){let u=m.target.replace(/^\\.\\./,"xl"),f=u.replace(/^.*\\//,""),g={type:"image",anchor:d,image:this.zip.GetBinary(u),filename:f};s.push(g)}}else{let m,u=$.FindAll(l,"xdr:sp/xdr:spPr")[0];if(u){m={};let g=u["a:solidFill"];if(g&&g["a:schemeClr"]?.a$?.val){let _=g["a:schemeClr"].a$.val.match(/accent(\\d+)/);if(_&&(m.fill={theme:Number(_[1])+3},g["a:schemeClr"]["a:lumOff"]?.a$?.val)){let A=Number(g["a:schemeClr"]["a:lumOff"].a$.val);isNaN(A)||(m.fill.tint=A/1e5)}}}let f=$.FindAll(l,"xdr:sp/xdr:txBody")[0];if(f){let g=[],_=$.FindAll(f,"a:p");for(let A of _){let w=[],b,N=A["a:pPr"];N&&(b={},N.a$?.algn==="r"?b.horizontal_align="right":N.a$?.algn==="ctr"&&(b.horizontal_align="center"));let R=A["a:r"];if(R){Array.isArray(R)||(R=[R]);for(let O of R){let G={text:O["a:t"]||""},k=O["a:rPr"];k&&(G.style={},k.a$?.b==="1"&&(G.style.bold=!0),k.a$?.i==="1"&&(G.style.italic=!0)),w.push(G)}}g.push({content:w,style:b})}s.push({type:"textbox",style:m,paragraphs:g,anchor:d})}}}}return s}ReadChart(e){let t=this.zip.Get(e.replace(/^../,"xl"));if(!t)return;let r=Ae.parse(t),i={type:0},s=$.FindChild(r,"c:chartSpace/c:chart/c:title");if(s){let l=$.FindChild(s,"c:tx/c:strRef/c:f");if(l)typeof l=="string"?i.title=l:l.t$&&(i.title=l.t$);else{let d=$.FindAll(s,"c:tx/c:rich/a:p/a:r/a:t");i.title=\'"\'+d.join("")+\'"\'}}let o=(l,d)=>{let c=[],h=l["c:ser"]||[];Array.isArray(h)||(h=[h]);for(let m of h){let u=c.length,f=m["c:order"];f&&(u=Number(f.a$?.val||0)||0);let g={},_=$.FindChild(m,"c:tx/c:v");if(_){let A=_;A&&(g.title=`"${A}"`)}else _=$.FindChild(m,"c:tx/c:strRef/c:f"),_&&(g.title=_);if(d===4||d===7){let A=$.FindChild(m,"c:xVal/c:numRef/c:f");A&&(g.categories=A);let w=$.FindChild(m,"c:yVal/c:numRef/c:f");if(w&&(g.values=w),d===7){let b=$.FindChild(m,"c:bubbleSize/c:numRef/c:f");b&&(g.bubble_size=b)}}else{let A=$.FindChild(m,"c:val/c:numRef/c:f");A&&(g.values=A);let w=$.FindChild(m,"c:cat/c:strRef/c:f");w||(w=$.FindChild(m,"c:cat/c:numRef/c:f")),w&&(g.categories=w)}c[u]=g}return c},a=$.FindChild(r,"c:chartSpace/c:chart/c:plotArea/c:barChart");if(a&&(i.type=2,a["c:barDir"]&&a["c:barDir"].a$?.val==="col"&&(i.type=1),i.series=o(a)),a||(a=$.FindChild(r,"c:chartSpace/c:chart/c:plotArea/c:lineChart"),a&&(i.type=3,i.series=o(a))),a||(a=$.FindChild(r,"c:chartSpace/c:chart/c:plotArea/c:doughnutChart"),a&&(i.type=5,i.series=o(a))),a||(a=$.FindChild(r,"c:chartSpace/c:chart/c:plotArea/c:pieChart"),a&&(i.type=6,i.series=o(a))),a||(a=$.FindChild(r,"c:chartSpace/c:chart/c:plotArea/c:scatterChart"),a&&(i.type=4,i.series=o(a,4))),a||(a=$.FindChild(r,"c:chartSpace/c:chart/c:plotArea/c:bubbleChart"),a&&(i.type=7,i.series=o(a,7))),!a){let l=$.FindAll(r,"cx:chartSpace/cx:chart/cx:plotArea/cx:plotAreaRegion/cx:series");if(l?.length&&l.every(d=>d.a$?.layoutId==="boxWhisker")){i.type=8,i.series=[];let d=$.FindAll(r,"cx:chartSpace/cx:chartData/cx:data");for(let c of l){let h={},m=Number(c["cx:dataId"]?.a$?.val);for(let g of d)if(Number(g.a$?.id)===m){h.values=g["cx:numDim"]?.["cx:f"]||"";break}let u=$.FindAll(c,"cx:tx/cx:txData");u&&(u[0]?.["cx:f"]?h.title=u[0]["cx:f"]:u[0]?.["cx:v"]&&(h.title=\'"\'+u[0]["cx:v"]+\'"\'));let f=$.FindAll(r,"cx:chartSpace/cx:chart/cx:title/cx:tx/cx:txData");f&&(f[0]?.["cx:f"]?i.title=f[0]["cx:f"]:f[0]?.["cx:v"]&&(i.title=\'"\'+f[0]["cx:v"]+\'"\')),i.series.push(h)}return i}}return a||console.info("Chart type not handled"),i}GetNamedRanges(){return this.named}};var sr=Te(An()),Cn=Te(it()),Be=class{records;text=new Map;constructor(e){this.records=sr.default.parse(e)}Has(e){return this.text.has(e)||!!this.records?.[e]}ArrayBuffer(){let e={};if(this.records)for(let[r,i]of Object.entries(this.records))e[r]=new Uint8Array(i);let t=new TextEncoder;for(let[r,i]of this.text.entries())e[r]=t.encode(i);return sr.default.encode(e)}SetBinary(e,t,r){if(r==="base64"){let i=Cn.default.toByteArray(t);this.records[e]=i}else throw new Error("unsupported encoding: "+r)}Set(e,t){this.text.set(e,t),this.records[e]&&delete this.records[e]}GetBinary(e){let t=this.records[e];if(t)return new Uint8Array(t);throw new Error("path not in records: "+e)}Get(e){let t=this.text.get(e);if(t)return t;let r=this.records[e];if(r)return t=new TextDecoder().decode(r),this.text.set(e,t),delete this.records[e],t;throw console.info(this),new Error("path not in zip file: "+e)}};var Ce=`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n`,ar=n=>{if(ge(n))return{a$:{rgb:"FF"+n.text.substring(1)}};if(ye(n))return{a$:{theme:Me(n),tint:n.tint}}},Ct=class{zip;xmloptions={format:!0,attributesGroupName:"a$",textNodeName:"t$",ignoreAttributes:!1,suppressEmptyNode:!0};xmlbuilder1=Dr(this.xmloptions);xmlparser2=new In.XMLParser(ht);parser=new Ge;decorated_functions={};Init(e={}){for(let r of Object.keys(e))this.decorated_functions[r.toLowerCase()]=e[r];let t=vn.toByteArray(hr);this.zip=new Be(t)}WriteRels(e,t,r=!1){if(!this.zip)throw new Error("missing zip");let i=Object.keys(e),s={Relationships:{a$:{xmlns:"http://schemas.openxmlformats.org/package/2006/relationships"},Relationship:i.map(a=>{let l=e[a],d={Id:l.id,Target:l.target,Type:l.type};return l.mode&&(d.TargetMode=l.mode),{a$:d}})}},o=Ce+this.xmlbuilder1.build(s);r&&console.info(o),this.zip.Set(t,o)}WriteStyleCache(e){if(!this.zip)throw new Error("missing zip");let t=u=>{let f={};return u.indexed!==void 0&&(f.indexed=u.indexed),u.theme!==void 0&&(f.theme=u.theme),u.tint!==void 0&&(f.tint=u.tint),u.argb!==void 0&&(f.rgb=u.argb),f},r=e.cell_xfs.map(u=>{let f={a$:{numFmtId:u.number_format,fontId:u.font,fillId:u.fill,borderId:u.border}};if(u.horizontal_alignment||u.vertical_alignment||u.wrap_text||u.indent){let g={};u.horizontal_alignment&&(g.horizontal=u.horizontal_alignment),u.vertical_alignment&&(g.vertical=u.vertical_alignment),u.wrap_text&&(g.wrapText=1),u.indent&&u.horizontal_alignment!=="center"&&(g.indent=u.indent),f.alignment={a$:g}}return f}),i=u=>{if(u.color)return{indexed:u.color};if(u.rgba)return{rgb:u.rgba};if(typeof u.theme<"u")return{theme:u.theme,tint:u.tint}},s=e.borders.map(u=>{let f={},g={},_={},A={},w={};if(u.top.style){f.a$={style:u.top.style};let b=i(u.top);b&&(f.color={a$:b})}if(u.left.style){g.a$={style:u.left.style};let b=i(u.left);b&&(g.color={a$:b})}if(u.bottom.style){A.a$={style:u.bottom.style};let b=i(u.bottom);b&&(A.color={a$:b})}if(u.right.style){_.a$={style:u.right.style};let b=i(u.right);b&&(_.color={a$:b})}if(u.diagonal.style){w.a$={style:u.diagonal.style};let b=i(u.diagonal);b&&(w.color={a$:b})}return{left:g,right:_,top:f,bottom:A,diagonal:w}}),o=e.fills.map(u=>({patternFill:{a$:{patternType:u.pattern_gray!==void 0?`gray${u.pattern_gray}`:u.pattern_type},bgColor:u.bg_color?{a$:t(u.bg_color)}:void 0,fgColor:u.fg_color?{a$:t(u.fg_color)}:void 0}})),a=u=>{if(!(typeof u>"u"))return{a$:{val:u}}},l=e.fonts.map(u=>({b:u.bold?"":void 0,i:u.italic?"":void 0,u:u.underline?"":void 0,strike:u.strike?"":void 0,sz:a(u.size),family:a(u.family),name:a(u.name),scheme:a(u.scheme),color:u.color_argb?{a$:{rgb:u.color_argb}}:typeof u.color_theme<"u"?{a$:{theme:u.color_theme,tint:u.color_tint}}:void 0})),d=(u,f)=>{if(f.length)return{a$:{count:f.length},[u]:f}},c=e.dxf_styles.map(u=>{let f={};return(u.text||u.bold||u.italic||u.underline)&&(f.font={b:u.bold?{}:void 0,i:u.italic?{}:void 0,u:u.underline?{}:void 0,strike:u.strike?{}:void 0,color:ar(u.text)}),u.fill&&(f.fill={patternFill:{bgColor:ar(u.fill)}}),f}),h={styleSheet:{a$:{xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main","xmlns:mc":"http://schemas.openxmlformats.org/markup-compatibility/2006","mc:Ignorable":"x14ac x16r2 xr","xmlns:x14ac":"http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac","xmlns:x16r2":"http://schemas.microsoft.com/office/spreadsheetml/2015/02/main","xmlns:xr":"http://schemas.microsoft.com/office/spreadsheetml/2014/revision"},numFmts:e.number_formats.length?{a$:{count:e.number_formats.length},numFmt:e.number_formats.map(u=>({a$:{numFmtId:u.id,formatCode:u.format}}))}:void 0,fonts:d("font",l),fills:d("fill",o),borders:d("border",s),cellXfs:d("xf",r),dxfs:d("dxf",c)}},m=Ce+this.xmlbuilder1.build(h);this.zip?.Set("xl/styles.xml",m)}WriteSharedStrings(e){if(!this.zip)throw new Error("missing zip");let t={sst:{a$:{xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main",count:e.strings.length,uniqueCount:e.strings.length},si:[...e.strings.map(i=>({t:i}))]}},r=Ce+this.xmlbuilder1.build(t);this.zip.Set("xl/sharedStrings.xml",r)}SheetStyle(e,t){if(!e.sheet_style)return 0;let r=t.StyleOptionsFromProperties(e.sheet_style);return t.EnsureStyle(r)}RowStyle(e,t,r){let i=e.styles||e.cell_style_refs||[],s=[e.sheet_style];if(e.row_style){let a=e.row_style[r];typeof a=="number"&&(a=i[a]),a&&s.push(a)}let o=t.StyleOptionsFromProperties($e.Composite(s));return t.EnsureStyle(o)}ColumnStyle(e,t,r){let i=e.styles||e.cell_style_refs||[],s=[e.sheet_style];if(e.column_style){let a=e.column_style[r];typeof a=="number"&&(a=i[a]),a&&s.push(a)}let o=t.StyleOptionsFromProperties($e.Composite(s));return t.EnsureStyle(o)}StyleFromCell(e,t,r,i,s={}){let o=e.styles||e.cell_style_refs||[],a=[e.sheet_style];if(e.row_style){let d=e.row_style[r];typeof d=="number"&&(d=o[d]),d&&a.push(d)}if(e.column_style){let d=e.column_style[i];typeof d=="number"&&(d=o[d]),d&&a.push(d)}a.push(s);let l=t.StyleOptionsFromProperties($e.Composite(a));return t.EnsureStyle(l)}NormalizeAddress(e,t){let r=e.type==="address"?[e]:[e.start,e.end];for(let i of r)i.absolute_row=!0,i.absolute_column=!0,i.sheet||(i.sheet=t.name);return e.type==="range"&&(e.end.sheet=void 0),e.label=this.parser.Render(e),e}EnsureRange(e){return e.type==="range"?e:{type:"range",start:e,end:e,label:e.label,id:e.id,position:e.position}}AnnotationLayoutToAnchor(e,t){let r=i=>{let s=t.column_width&&t.column_width[i.address.column]?t.column_width[i.address.column]:t.default_column_width||100,o=t.row_height&&t.row_height[i.address.row]?t.row_height[i.address.row]:t.default_row_height||20;return{...i.address,row_offset:Math.round(i.offset.y*o),column_offset:Math.round(i.offset.x*s)}};return{from:r(e.tl),to:r(e.br)}}AnnotationRectToAnchor(e,t){let r={from:{row:-1,column:-1},to:{row:-1,column:-1}},i={top:0,left:0,width:301,height:301,...e},s={...i,right:i.left+i.width,bottom:i.top+i.height};for(let o=0,a=0;a<1e3;a++){let l=t.column_width&&t.column_width[a]?t.column_width[a]:t.default_column_width||100;if(r.from.column<0&&s.left<=o+l&&(r.from.column=a,r.from.column_offset=s.left-o),r.to.column<0&&s.right<=o+l){r.to.column=a,r.to.column_offset=s.right-o;break}o+=l}for(let o=0,a=0;a<1e3;a++){let l=t.row_height&&t.row_height[a]?t.row_height[a]:t.default_row_height||20;if(r.from.row<0&&s.top<=o+l&&(r.from.row=a,r.from.row_offset=s.top-o),r.to.row<0&&s.bottom<=o+l){r.to.row=a,r.to.row_offset=s.bottom-o;break}o+=l}return r}ParseImages(e){let t=[];for(let r of e.annotations||[])if(r.type==="image"&&r.data?.src){let i=r.data.src,s=i.match(/^data:image\\/([^;]*?);base64,/);if(s){let o=i.substr(s[0].length),a=s[1],l={data:o,mimetype:a,encoding:"base64"};switch(a){case"svg+xml":case"webp":case"jpeg":case"jpg":case"image/png":case"png":case"gif":r.layout?t.push({anchor:this.AnnotationLayoutToAnchor(r.layout,e),options:l}):r.rect?t.push({anchor:this.AnnotationRectToAnchor(r.rect,e),options:l}):console.warn("annotation missing layout");break;default:console.info("unhandled image type",a);break}}}return t}ParseCharts(e){let t=[],r=(i,s,o)=>{if(i.type==="range")s.data.push(this.NormalizeAddress(i,e));else if(i.type==="call"){if(/group/i.test(i.name))for(let a of i.args||[])r(a,s,o?o+" (recurse)":void 0);else if(/series/i.test(i.name)){let[a,l,d,c]=i.args;d&&(d.type==="range"||d.type==="address")?(s.data.push(this.EnsureRange(this.NormalizeAddress(d,e))),a&&(s.names||(s.names=[]),a.type==="address"&&this.NormalizeAddress(a,e),a.type==="range"?(this.NormalizeAddress(a.start,e),s.names[s.data.length-1]=a.start):s.names[s.data.length-1]=a),s.labels2||(s.labels2=[]),l&&(l.type==="range"||l.type==="address")&&(s.labels2[s.data.length-1]=this.EnsureRange(this.NormalizeAddress(l,e))),c&&(c.type==="range"||c.type==="address")&&(s.labels3||(s.labels3=[]),s.labels3[s.data.length-1]=this.EnsureRange(this.NormalizeAddress(c,e)))):console.info("invalid series missing Y",{y:d,arg:i,ref:o})}}};for(let i of e.annotations||[]){let s=this.parser.Parse(i.formula||"");if(s.expression&&s.expression.type==="call"){let o="";switch(s.expression.name.toLowerCase()){case"line.chart":o="scatter";break;case"bubble.chart":o="bubble";break;case"scatter.line":o="scatter2";break;case"donut.chart":o="donut";break;case"bar.chart":o="bar";break;case"column.chart":o="column";break}if(o==="column"||o==="donut"||o==="bar"||o==="scatter"||o==="scatter2"||o==="bubble"){let a={type:o,data:[]},l=o==="scatter2"||o==="bubble"?1:2,d=s.expression.args[l];if(d&&d.type==="literal"?a.title=d:d&&d.type==="address"&&(a.title=this.NormalizeAddress(d,e)),s.expression.args[0]){let h=s.expression.args[0];if(o==="scatter2"||o==="bar"||o==="column"||o==="scatter"||o==="bubble")r(h,a,e.name);else if(h.type==="range")a.data.push(this.NormalizeAddress(h,e));else if(h.type==="call"&&/group/i.test(h.name))for(let m of h.args)m.type==="range"?a.data.push(this.NormalizeAddress(m,e)):m.type==="call"&&/series/i.test(m.name)&&m.args[2]&&m.args[2].type==="range"&&a.data.push(this.NormalizeAddress(m.args[2],e));else h.type==="call"&&/series/i.test(h.name)&&h.args[2]&&h.args[2].type==="range"&&a.data.push(this.NormalizeAddress(h.args[2],e))}o!=="scatter2"&&o!=="bubble"&&s.expression.args[1]&&s.expression.args[1].type==="range"&&(a.labels=this.NormalizeAddress(s.expression.args[1],e)),(o==="scatter"&&s.expression.args[4]&&s.expression.args[4].type==="literal"&&s.expression.args[4].value.toString().toLowerCase()==="smooth"||o==="scatter2"&&s.expression.args[2]&&s.expression.args[2].type==="literal"&&/smooth/i.test(s.expression.args[2].value.toString()))&&(a.smooth=!0);let c=i.rect;i.layout?t.push({anchor:this.AnnotationLayoutToAnchor(i.layout,e),options:a}):c?t.push({anchor:this.AnnotationRectToAnchor(c,e),options:a}):console.warn("annotation missing layout")}}}return t}FormulaText(e,t){if(e[0]!=="=")return e;let r=this.parser.Parse(e);if(r.expression){this.parser.Walk(r.expression,s=>{if(s.type==="call"){let o=s.name.toLowerCase();this.decorated_functions[o]&&(s.name=this.decorated_functions[o]+"."+s.name)}return!0});let i=t.table?.name||"";return this.parser.Render(r.expression,{missing:"",long_structured_references:!0,table_name:i})}else return console.warn("parsing function failed"),console.warn(e),e.substring(1)}Export(e){let t=0,r=[];for(let w=0;w<e.sheet_data.length;w++){let b=e.sheet_data[w],N=b.id||0;N&&(r[N]=b.name||""),N===e.active_sheet&&(t=w)}let i=new ke,s=new Re,o=new Ne,a=this.zip?.Get("xl/theme/theme1.xml");o.FromXML(this.xmlparser2.parse(a||"")),a=this.zip?.Get("xl/styles.xml"),s.FromXML(this.xmlparser2.parse(a||""),o),Ke.next_drawing_index=1,ze.next_chart_index=1;let l=[],d=[];for(let w=0;w<e.sheet_data.length;w++){let b=e.sheet_data[w],N={},R={xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main","xmlns:r":"http://schemas.openxmlformats.org/officeDocument/2006/relationships","xmlns:mc":"http://schemas.openxmlformats.org/markup-compatibility/2006","mc:Ignorable":"x14ac xr xr2 xr3","xmlns:x14ac":"http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac","xmlns:xr":"http://schemas.microsoft.com/office/spreadsheetml/2014/revision","xmlns:xr2":"http://schemas.microsoft.com/office/spreadsheetml/2015/revision2","xmlns:xr3":"http://schemas.microsoft.com/office/spreadsheetml/2016/revision3","xr:uid":"{D37933E2-499F-4789-8D13-194E11B743FC}"},O=b.default_row_height?b.default_row_height/20*15:15,G=b.styles||b.cell_style_refs||[],k=new ot;k.FromJSON(b.data,G);for(let x of b.cell_styles){let M=k.EnsureCell(x);M.style||(M.style=G[x.ref])}let q={start:{row:k.rows+1,column:k.columns+1},end:{row:k.rows+1,column:k.columns+1}},H=[],z=[],K=[],X=[],J=[],ee=[],D=this.SheetStyle(b,s);for(let x=0;x<k.data.length;x++){let M=this.RowStyle(b,s,x);if(k.data[x]&&k.data[x].length){x<q.start.row&&(q.start.row=x);let E={start:-1,end:-1},F=[];for(let T=0;T<k.data[x].length;T++){ee[T]||(ee[T]=this.ColumnStyle(b,s,T));let S=k.data[x][T];if(S){if(S.table&&S.table.area.start.row===x&&S.table.area.start.column===T){let ae=new B(S.table.area.start,S.table.area.end),et=d.length+1,Sn=`../tables/table${et}.xml`,Nt=[];for(let le=0;le<ae.columns;le++){let Q=k.data[x][T+le],ve="";Q.type!==2?(typeof Q.calculated<"u"?ve=Q.calculated.toString():typeof Q.value<"u"&&(ve=Q.value.toString()),Q.type=2,Q.value=ve):ve=Q.value||"",ve||(ve=`Column${le+1}`);let rt=ve,Tt=!1,Tn=1;for(;!Tt;){Tt=!0;e:for(let Pn of Nt)if(Pn.toLowerCase()===rt.toLowerCase()){Tt=!1,rt=`${ve}${++Tn}`;break e}}Q.value=rt,Nt.push(rt)}let tt;if(S.table.totals_row){tt=[];for(let le=0;le<ae.columns;le++){let Q=k.data[ae.end.row][ae.start.column+le];Q.type&&(Q.type===1?tt[le]={type:"formula",value:(Q.value||"").toString().substring(1)}:(Q.type!==2&&(Q.type=2,Q.value=Q.value?.toString()||""),tt[le]={type:"label",value:Q.value}))}}let St={rel:fe(N,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/table",Sn),index:et,ref:ae.spreadsheet_label,name:`Table${et}`,display_name:`Table${et}`,totals_row_shown:0,totals_row_count:S.table?.totals_row?1:0,columns:Nt,footers:tt};if(S.table.totals_row){let le=new B(ae.start,{row:ae.end.row-1,column:ae.end.column});St.filterRef=le.spreadsheet_label}J.push(St),d.push(St)}if(S.merge_area&&S.merge_area.start.row===x&&S.merge_area.start.column===T&&X.push(new B(S.merge_area.start,S.merge_area.end)),S.hyperlink){let ae=fe(N,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",S.hyperlink,"External");z.push({rel:ae,target:S.hyperlink,address:{row:x,column:T}})}if(S.type===1&&/^=?sparkline\\./i.test(S.value)){K.push({address:{row:x,column:T},formula:S.value,style:S.style});continue}T<q.start.column&&(q.start.column=T),E.start<0&&(E.start=T),E.end=T;let U=this.StyleFromCell(b,s,x,T,S.style);if(S.type===0&&(M&&U===M||!M&&ee[T]&&U===ee[T]))continue;let Y,ue,pe;switch(S.type){case 1:switch(pe=this.FormulaText(S.value,S),S.calculated_type){case 2:Y=S.calculated,ue="str";break;case 3:Y=S.calculated;break;case 4:Y=S.calculated?1:0,ue="b";break}break;case 2:Y=i.Ensure(S.value),ue="s";break;case 3:Y=S.value;break;case 4:Y=S.value?1:0,ue="b";break}S.area&&S.area.start.row===x&&S.area.start.column===T&&typeof pe=="string"&&(pe={t$:pe,a$:{t:"array",ref:S.area.spreadsheet_label}}),F.push({a$:{r:B.CellAddressToLabel({row:x,column:T}),t:ue,s:U},f:pe,v:Y})}}if(F.length||M&&M!==D){let T,S,U,Y;b.row_height&&typeof b.row_height[x]=="number"&&b.row_height[x]!==b.default_row_height&&(T=1,S=b.row_height[x]*3/4),M&&M!==D&&(U=M,Y=1),H.push({a$:{r:x+1,spans:`${E.start+1}:${E.end+1}`,customHeight:T,ht:S,s:U,customFormat:Y},c:F})}}}let ie=[];for(let x=0;x<b.columns;x++){let M={index:x};b.column_width&&b.default_column_width&&typeof b.column_width[x]=="number"&&b.column_width[x]!==b.default_column_width&&(M.width=st(b.column_width[x]));let E=ee[x];E&&E!==D&&(M.style=E),(M.style!==void 0||M.width!==void 0)&&(ie[x]=M)}let te;if(ie.length||D){let x=[],M=st(b.default_column_width||90);{let E=0;for(let F of ie)F&&(D&&F.index>E+1&&x.push({a$:{min:E+1,max:F.index,style:D,width:M}}),x.push({a$:{min:F.index+1,max:F.index+1,style:F.style===void 0?D:F.style,width:F.width===void 0?M:F.width,customWidth:F.width===void 0?void 0:1}}),E=F.index);D&&E<16384&&x.push({a$:{min:E+1,max:16384,style:D,width:M}}),te={col:x}}}let de;b.data_validations?.length&&(de={a$:{count:b.data_validations.length},dataValidation:b.data_validations.map(x=>{let M=x.target.map(F=>new B(F.start,F.end).spreadsheet_label).join(" "),E;if(x.type==="range"){let F={id:0,type:"range",label:"",position:0,start:{...x.area.start,absolute_column:!0,absolute_row:!0,id:0,label:"",position:0,type:"address"},end:{...x.area.end,absolute_column:!0,absolute_row:!0,id:0,label:"",position:0,type:"address"}};typeof x.area.start.sheet_id<"u"&&(F.start.sheet=r[x.area.start.sheet_id]),E=this.parser.Render(F)}else x.type==="list"&&(E=`"${x.list.join(",")}"`);return{a$:{type:"list",allowBlank:1,showInputMessage:1,showErrorMessage:1,sqref:M},formula1:E}})});let oe;J.length&&(oe={a$:{count:J.length},tablePart:J.map(x=>({a$:{"r:id":x.rel||""}}))});for(let x of J){let M={};x.totals_row_count&&(M.totalsRowCount=1);let E={a$:{count:(x.columns||[]).length},tableColumn:(x.columns||[]).map((S,U)=>{let Y=(x.footers||[])[U];return{a$:{id:U+1,name:S||`Column${U+1}`,totalsRowLabel:Y?.type==="label"?Y.value:void 0,totalsRowFunction:Y?.type==="formula"?"custom":void 0},totalsRowFormula:Y?.type==="formula"?Y.value:void 0}})},F={table:{a$:{xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main","xmlns:mc":"http://schemas.openxmlformats.org/markup-compatibility/2006","mc:Ignorable":"xr xr3","xmlns:xr":"http://schemas.microsoft.com/office/spreadsheetml/2014/revision","xmlns:xr3":"http://schemas.microsoft.com/office/spreadsheetml/2016/revision3",id:x.index||0,name:x.name,displayName:x.display_name,...M,ref:x.ref},autoFilter:{a$:{ref:x.filterRef||x.ref}},tableColumns:E,tableStyleInfo:{a$:{name:"TableStyleMedium2",showFirstColumn:0,showLastColumn:0,showRowStripes:1,showColumnStripes:0}}}},T=Ce+this.xmlbuilder1.build(F);this.zip?.Set(`xl/tables/table${x.index}.xml`,T)}let y;if(b.conditional_formats?.length){let x=[],M=1,E={},F=Object.entries(At).map(T=>(E[T[1]]=T[0],T[1]));F.sort((T,S)=>S.length-T.length);for(let T of b.conditional_formats){let S=0;switch(T.type!=="gradient"&&(S=s.dxf_styles.length,s.dxf_styles.push(T.style)),T.type){case"cell-match":{let U="",Y="";for(let ue of F)if(new RegExp("^"+ue+"\\\\s").test(T.expression)){U=E[ue],Y=T.expression.substring(ue.length).trim();break}U&&x.push({a$:{sqref:new B(T.area.start,T.area.end).spreadsheet_label},cfRule:{a$:{type:"cellIs",dxfId:S,operator:U,priority:M++},formula:Y}})}break;case"expression":x.push({a$:{sqref:new B(T.area.start,T.area.end).spreadsheet_label},cfRule:{a$:{type:"expression",dxfId:S,priority:M++},formula:T.expression}});break;case"duplicate-values":x.push({a$:{sqref:new B(T.area.start,T.area.end).spreadsheet_label},cfRule:{a$:{type:T.unique?"uniqueValues":"duplicateValues",dxfId:S,priority:M++}}});break;case"gradient":{let U=[],Y=[];for(let pe of T.stops){pe.value===0?U.push({a$:{type:"min"}}):pe.value===1?U.push({a$:{type:"max"}}):U.push({a$:{type:"percentile",val:pe.value*100}});let ae=ar(pe.color);ae&&Y.push(ae)}let ue={a$:{sqref:new B(T.area.start,T.area.end).spreadsheet_label},cfRule:{a$:{type:"colorScale",priority:M++},colorScale:{cfvo:U,color:Y}}};x.push(ue)}break}}x.length&&(y=x.length>1?x:x[0])}let I;X.length&&(I={a$:{count:X.length},mergeCell:X.map(x=>({a$:{ref:x.spreadsheet_label}}))});let Z;z.length&&(Z={hyperlink:z.map(x=>({a$:{"r:id":x.rel,ref:new B(x.address).spreadsheet_label,"xr:uid":"{0C6B7792-7EA0-4932-BF15-D49C453C565D}"}}))});let P;if(K.length){let x={a$:{"xmlns:xm":"http://schemas.microsoft.com/office/excel/2006/main"},"x14:sparklineGroup":K.map(M=>{let E=this.parser.Parse(M.formula),F="";if(E.expression&&E.expression.type==="call"&&E.expression.args.length>0){let S=E.expression.args[0];if(S.type==="range"||S.type==="address"){let U=S.type==="range"?S.start:S;U.sheet||(typeof U.sheet_id<"u"?U.sheet=r[U.sheet_id]:U.sheet=b.name),F=this.parser.Render(S)}}let T={rgb:"FF376092"};return M.style?.text&&(ge(M.style.text)?T.rgb=M.style.text.text:ye(M.style.text)&&(T.rgb=void 0,T.theme=M.style.text.theme.toString(),T.tint=typeof M.style.text.tint=="number"?M.style.text.tint.toString():void 0)),{a$:{displayEmptyCellsAs:"gap",displayHidden:"1",type:/column/i.test(M.formula)?"column":void 0},"x14:colorSeries":{a$:{...T}},"x14:sparklines":{"x14:sparkline":{"xm:f":F,"xm:sqref":new B(M.address).spreadsheet_label}}}})};P={ext:{a$:{uri:"{05C60535-1F16-4fd2-B633-F4F36F0B64E0}","xmlns:x14":"http://schemas.microsoft.com/office/spreadsheetml/2009/9/main"},"x14:sparklineGroups":x}}}let v,C=this.ParseCharts(b),L=this.ParseImages(b);if(C.length||L.length){let x=new Ke;for(let F of C)x.AddChart(F.options,F.anchor);for(let F of L)x.AddImage(F.options,F.anchor);for(let{image:F}of x.images)F.options.data&&this.zip?.SetBinary(`xl/media/image${F.index}.${F.extension}`,F.options.data,F.options.encoding);for(let{chart:F}of x.charts){let T=F.toJSON(),S=Ce+this.xmlbuilder1.build(T);this.zip?.Set(`xl/charts/chart${F.index}.xml`,S),this.WriteRels(F.relationships,`xl/charts/_rels/chart${F.index}.xml.rels`)}this.WriteRels(x.relationships,`xl/drawings/_rels/drawing${x.index}.xml.rels`);let M=Ce+this.xmlbuilder1.build(x.toJSON());this.zip?.Set(`xl/drawings/drawing${x.index}.xml`,M),l.push(x),v={a$:{"r:id":fe(N,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing",`../drawings/drawing${x.index}.xml`)}}}let W={};if(b.tab_color){if(ye(b.tab_color))W.sheetPr={tabColor:{a$:{theme:b.tab_color.theme,tint:b.tab_color.tint}}};else if(ge(b.tab_color)){let x=b.tab_color.text||"";/^#[0-9a-fA-F]*$/.test(x)&&(W.sheetPr={tabColor:{a$:{rgb:"FF"+x.substring(1)}}})}}let he={a$:{"x14ac:dyDescent":.25,defaultRowHeight:O===15?void 0:O,customHeight:O===15?void 0:1,defaultColWidth:b.default_column_width?st(b.default_column_width):void 0}},me={worksheet:{a$:{...R},...W,dimension:{a$:{ref:new B(q.start,q.end).spreadsheet_label}},sheetViews:{sheetView:{a$:{workbookViewId:0}}},sheetFormatPr:he,cols:te,sheetData:{row:H},mergeCells:I,conditionalFormatting:y,dataValidations:de,hyperlinks:Z,pageMargins:{a$:{left:.7,right:.7,top:.75,bottom:.75,header:.3,footer:.3}},drawing:v,tableParts:oe,extLst:P}},Le=Ce+this.xmlbuilder1.build(me);this.zip?.Set(`xl/worksheets/sheet${w+1}.xml`,Le),Object.keys(N).length&&this.WriteRels(N,`xl/worksheets/_rels/sheet${w+1}.xml.rels`)}this.WriteSharedStrings(i),this.WriteStyleCache(s);let c={};fe(c,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles","styles.xml"),fe(c,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme","theme/theme1.xml"),fe(c,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings","sharedStrings.xml");let h=e.sheet_data.map((w,b)=>fe(c,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet",`worksheets/sheet${b+1}.xml`));this.WriteRels(c,"xl/_rels/workbook.xml.rels");let m=e.named?.length?{definedName:(e.named||[]).map(w=>{let b;if(w.scope){let N=w.scope.toLowerCase();for(let[R,O]of e.sheet_data.entries())if(O.name?.toLowerCase()===N){b=R.toString();break}}return{a$:{name:w.name,localSheetId:b},t$:w.expression}})}:void 0,u={workbook:{a$:{xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main","xmlns:r":"http://schemas.openxmlformats.org/officeDocument/2006/relationships","xmlns:mc":"http://schemas.openxmlformats.org/markup-compatibility/2006","mc:Ignorable":"x15 xr xr6 xr10 xr2","xmlns:x15":"http://schemas.microsoft.com/office/spreadsheetml/2010/11/main","xmlns:xr":"http://schemas.microsoft.com/office/spreadsheetml/2014/revision","xmlns:xr6":"http://schemas.microsoft.com/office/spreadsheetml/2016/revision6","xmlns:xr10":"http://schemas.microsoft.com/office/spreadsheetml/2016/revision10","xmlns:xr2":"http://schemas.microsoft.com/office/spreadsheetml/2015/revision2"},workbookPr:{a$:{defaultThemeVersion:"166925"}},bookViews:{workbookView:{a$:{activeTab:t||0}}},sheets:{sheet:e.sheet_data.map((w,b)=>({a$:{name:w.name||`Sheet${b+1}`,sheetId:b+1,"r:id":h[b],state:w.visible===!1?"hidden":void 0}}))},definedNames:m}},f=Ce+this.xmlbuilder1.build(u);this.zip?.Set("xl/workbook.xml",f);let g={};for(let w of l)for(let b of w.images)switch(b.image.extension){case"gif":case"png":case"jpeg":g[b.image.extension]="image/"+b.image.extension;break;case"svg":g.svg="image/svg+xml";break}let _={Types:{a$:{xmlns:"http://schemas.openxmlformats.org/package/2006/content-types"},Default:[{a$:{Extension:"rels",ContentType:"application/vnd.openxmlformats-package.relationships+xml"}},{a$:{Extension:"xml",ContentType:"application/xml"}},...Object.keys(g).map(w=>({a$:{Extension:w,ContentType:g[w]}}))],Override:[{a$:{PartName:"/xl/workbook.xml",ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml"}},...e.sheet_data.map((w,b)=>({a$:{ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",PartName:`/xl/worksheets/sheet${b+1}.xml`}})),...l.reduce((w,b)=>w.concat([...b.charts.map(N=>({a$:{ContentType:"application/vnd.openxmlformats-officedocument.drawingml.chart+xml",PartName:`/xl/charts/chart${N.chart.index}.xml`}})),{a$:{ContentType:"application/vnd.openxmlformats-officedocument.drawing+xml",PartName:`/xl/drawings/drawing${b.index}.xml`}}]),[]),{a$:{PartName:"/xl/theme/theme1.xml",ContentType:"application/vnd.openxmlformats-officedocument.theme+xml"}},{a$:{PartName:"/xl/styles.xml",ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml"}},{a$:{PartName:"/xl/sharedStrings.xml",ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml"}},...d.map(w=>({a$:{ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml",PartName:`/xl/tables/table${w.index||0}.xml`}})),{a$:{PartName:"/docProps/core.xml",ContentType:"application/vnd.openxmlformats-package.core-properties+xml"}},{a$:{PartName:"/docProps/app.xml",ContentType:"application/vnd.openxmlformats-officedocument.extended-properties+xml"}}]}},A=Ce+this.xmlbuilder1.build(_);this.zip?.Set("[Content_Types].xml",A)}ArrayBuffer(){if(!this.zip)throw new Error("missing zip");return this.zip.ArrayBuffer()}Blob(){if(!this.zip)throw new Error("missing zip");let e=this.zip.ArrayBuffer();return new Blob([e],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"})}};var Nn=Te(it());var Os=n=>typeof n=="object"&&typeof n.$t<"u",vt=class{parser=new Ge;workbook;zip;Init(e){this.zip=new Be(e),this.workbook=new wt(this.zip),this.workbook.Init()}SheetCount(){return this.workbook?.sheet_count||0}ParseCell(e,t,r,i,s,o){let a=t.a$?.r;if(!a){console.warn("cell missing address");return}let l=e.TranslateAddress(a);if(Se(l)){console.warn("cell has range address");return}let d,c="undefined",h,m="undefined";if(t.a$?.t&&t.a$.t==="s"){if(c="string",typeof t.v<"u"){let g=Number(t.v);!isNaN(g)&&e.shared_strings&&(d=e.shared_strings.Get(g)||"",d[0]==="="&&(d="\'"+d))}}else if(typeof t.f<"u"){c="formula";let g=(typeof t.f=="string"?t.f:t.f.t$)||"";if(g){if(d="="+g.replace(/^_xll\\./g,""),/#REF/.test(g))d=g;else{let _=this.parser.Parse(g);_.expression&&(this.parser.Walk(_.expression,A=>(A.type==="call"&&(/^_xll\\./.test(A.name)&&(A.name=A.name.substring(5)),/^_xlfn\\./.test(A.name)&&(console.info("xlfn:",A.name),A.name=A.name.substring(6)),/^_xlws\\./.test(A.name)&&(console.info("xlws:",A.name),A.name=A.name.substring(6))),!0)),d="="+this.parser.Render(_.expression,{missing:""}))}typeof t.f!="string"&&t.f.a$?.t==="shared"&&t.f.a$.si&&(r[t.f.a$.si]={row:l.row-1,column:l.col-1,formula:d,parse_result:this.parser.Parse(d)})}else if(typeof t.f!="string"&&t.f.a$?.t==="shared"&&t.f.a$.si){let _=r[t.f.a$.si];_&&(_.parse_result.expression?d="="+this.parser.Render(_.parse_result.expression,{offset:{rows:l.row-1-_.row,columns:l.col-1-_.column},missing:""}):d=_.formula)}if(typeof t.f!="string"&&t.f.a$?.t==="array"){let _=e.TranslateAddress(t.f.a$.ref||"");Se(_)&&i.push(nr(_,-1,-1))}if(typeof t.v<"u"){let _=typeof t.v=="object"?t.v?.t$:t.v,A=Number(_.toString());isNaN(A)?(m="string",h=_.toString()):(m="number",h=A)}}else if(typeof t.v<"u"){let g=Number(t.v.toString());isNaN(g)?(c="string",d=t.v.toString()):(c="number",d=g)}let u={row:l.row-1,col:l.col-1};for(let g of i)xt(g,u)&&(u.row!==g.from.row||u.col!==g.from.col)&&(m=c,h=d,d=void 0,c="undefined");let f={row:u.row,column:u.col,value:d,type:c};typeof h<"u"&&(f.calculated_type=m,f.calculated=h),t.a$?.s&&(f.style_ref=Number(t.a$.s));for(let g of o)g.address.row===l.row&&g.address.col===l.col&&(f.hyperlink=g.reference);for(let g of s)xt(g,u)&&(f.merge_area={start:{row:g.from.row,column:g.from.col},end:{row:g.to.row,column:g.to.col}});for(let g of i)xt(g,u)&&(f.area={start:{row:g.from.row,column:g.from.col},end:{row:g.to.row,column:g.to.col}});return f}AddressToArea(e){return Ue(e)?{start:{row:e.row-1,column:e.col-1},end:{row:e.row-1,column:e.col-1}}:{start:{row:e.from.row-1,column:e.from.col-1},end:{row:e.to.row-1,column:e.to.col-1}}}ParseConditionalFormat(e,t){let r=this.AddressToArea(e),i=At;switch(t.a$.type){case"duplicateValues":case"uniqueValues":{let s={};if(t.a$.dxfId){let o=Number(t.a$.dxfId);isNaN(o)||(s=this.workbook?.style_cache.dxf_styles[o]||{})}return{type:"duplicate-values",area:r,style:s,unique:t.a$.type==="uniqueValues",priority:t.a$.priority?Number(t.a$.priority):void 0}}case"cellIs":if(t.a$.operator&&(t.formula||typeof t.formula=="number")){let s={};if(t.a$.dxfId){let a=Number(t.a$.dxfId);isNaN(a)||(s=this.workbook?.style_cache.dxf_styles[a]||{})}if(t.a$.operator==="between"&&Array.isArray(t.formula)&&t.formula.length===2&&typeof t.formula[0]=="number"&&typeof t.formula[1]=="number")return{type:"cell-match",expression:"",between:t.formula,area:r,style:s,priority:t.a$.priority?Number(t.a$.priority):void 0};let o=i[t.a$.operator||""];if(!o)console.info("unhandled cellIs operator:",t.a$.operator,{rule:t});else return{type:"cell-match",expression:o+" "+t.formula,area:r,style:s,priority:t.a$.priority?Number(t.a$.priority):void 0}}else console.info("miss?",t);break;case"containsErrors":case"notContainsErrors":case"expression":if(t.formula){typeof t.formula!="string"&&(Os(t.formula)?t.formula=t.formula.t$:(console.info("unexpected conditional expression",{rule:t}),t.formula=""));let s={};if(t.a$.dxfId){let o=Number(t.a$.dxfId);isNaN(o)||(s=this.workbook?.style_cache.dxf_styles[o]||{})}if(t.a$.type==="expression"&&(r.start.row!==r.end.row||r.start.column!==r.end.column)){this.parser.Save(),this.parser.SetLocaleSettings(".");let o=[],a=new B(r.start,r.end),l=this.parser.Parse(t.formula);if(l.expression)for(let d of a){let c=this.parser.Render(l.expression,{missing:"",offset:{rows:d.row-r.start.row,columns:d.column-r.start.column}});o.push({type:"expression",expression:c,style:s,area:{start:d,end:d},priority:t.a$.priority?Number(t.a$.priority):void 0})}return this.parser.Restore(),o}return{type:"expression",expression:t.formula,area:r,style:s,priority:t.a$.priority?Number(t.a$.priority):void 0}}break;case"colorScale":if(t.colorScale&&Array.isArray(t.colorScale.cfvo)&&Array.isArray(t.colorScale.color)){let s=[];for(let[o,a]of t.colorScale.cfvo.entries()){let l=0,d={},c=t.colorScale.color[o];switch(c.a$.rgb?d.text="#"+c.a$.rgb.substring(2):c.a$.theme&&(d.theme=Number(c.a$.theme)||0,c.a$.tint&&(d.tint=Math.round(Number(c.a$.tint)*1e3)/1e3)),a.a$.type){case"min":l=0;break;case"max":l=1;break;case"percentile":l=(Number(a.a$.val)||0)/100;break}s.push({color:d,value:l})}return{type:"gradient",stops:s,color_space:"RGB",area:r,priority:t.a$.priority?Number(t.a$.priority):void 0}}else console.info("unexpected colorScale",{rule:t});break;default:console.info("unhandled cf type:",{rule:t})}}GetSheet(e=0){if(!this.workbook)throw new Error("missing workbook");let t=this.workbook.sheets[e],r=[],i={},s=[],o=[],a=[],l=[],d=[],c=[],h=[],m=$.FindAll.bind($,t.sheet_data),u=m("worksheet/sheetPr/tabColor"),f;if(u?.[0]){let y=u[0];if(y.a$?.theme&&(f={theme:Number(y.a$.theme)},y.a$?.tint&&(f.tint=Number(y.a$.tint))),y.a$?.rgb){let I=y.a$.rgb;f={text:"#"+(I.length>6?I.substr(I.length-6):I)}}}let g=m("worksheet/conditionalFormatting");for(let y of g)if(y.a$?.sqref){let I=y.a$.sqref.split(/\\s+/);for(let Z of I){let P=t.TranslateAddress(Z);if(y.cfRule){let v=Array.isArray(y.cfRule)?y.cfRule:[y.cfRule];for(let C of v){let L=this.ParseConditionalFormat(P,C);L&&(Array.isArray(L)?a.push(...L):a.push(L))}}}}let _=m("worksheet/mergeCells/mergeCell");for(let y of _)if(y.a$?.ref){let I=t.TranslateAddress(y.a$.ref);Se(I)&&o.push(nr(I,-1,-1))}let A=m("worksheet/dataValidations/dataValidation");for(let y of A){let I=y.a$?.type,Z=y.a$?.sqref,P=y.formula1;if(Z&&P&&typeof P=="string"&&I==="list"){let v,C=this.parser.Parse(Z),L=[];C.expression&&(C.expression.type==="address"?L.push({start:C.expression,end:C.expression}):C.expression.type==="range"&&L.push(C.expression)),C=this.parser.Parse(P),C.expression&&(C.expression.type==="range"?v={type:"range",area:C.expression,target:L}:C.expression.type==="literal"&&(v={type:"list",target:L,list:C.expression.value.toString().split(/,/).map(W=>{let he=Number(W);return isNaN(he)?W.toLowerCase()==="true"?!0:W.toLowerCase()==="false"?!1:W:he})})),L.length&&v&&c.push(v)}}let w=m("worksheet/hyperlinks/hyperlink");for(let y of w){let I=t.TranslateAddress(y.a$?.ref||"");Se(I)&&(I=I.from);let Z="",P="";if(y.a$&&y.a$["r:id"]){Z="remote link";let v=t.rels[y.a$["r:id"]];v&&(P=v.target||"")}else P=typeof y.__location=="string"?y.__location:"",Z=typeof y.__display=="string"?y.__display:"";l.push({address:I,reference:P,text:Z})}let b=21,N=100,R=t.sheet_data.worksheet?.sheetFormatPr;if(R){if(R.a$?.defaultColWidth){let y=Number(R.a$.defaultColWidth);isNaN(y)||(N=Zt(y))}if(R.a$?.defaultRowHeight){let y=Number(R.a$.defaultRowHeight);isNaN(y)||(b=Math.round(y*4/3))}}let O=[],G=[],k=m("worksheet/sheetData/row");for(let y of k){let I=y.a$?.r?Number(y.a$.r):1,Z=b;if(y.a$?.ht){let v=Number(y.a$.ht);isNaN(v)||(Z=Math.round(v*4/3))}if(y.a$?.outlineLevel){let v=Number(y.a$.outlineLevel);isNaN(v)||(G[I-1]=v)}if(y.a$?.s){let v=Number(y.a$?.s);isNaN(v)||(d[I-1]=v)}Z!==b&&(O[I-1]=Z);let P=y.c?Array.isArray(y.c)?y.c:[y.c]:[];for(let v of P){let C=this.ParseCell(t,v,i,s,o,l);C&&r.push(C)}}let q=[],H=-1,z=[],K=m("worksheet/cols/col");for(let y of K){let I=Number(y.a$?.min),Z=Number(y.a$?.max);if(y.a$?.style){let P=Number(y.a$.style);if(!isNaN(I)&&!isNaN(Z)&&!isNaN(P))if(t.extent&&Z>=t.extent.to.col||Z-I>100)H=P;else for(let v=I;v<=Z;v++)q[v]=P}if(y.a$?.customWidth){let P=Number(y.a$.width);if(!isNaN(I)&&!isNaN(Z)&&!isNaN(P)&&Z!==16384){P=Zt(P);for(let v=I;v<=Z;v++)z[v-1]=P}}}let X=m("worksheet/tableParts/tablePart");for(let y of X){let I=y.a$?y.a$["r:id"]:void 0;if(I){let Z="",P=t.rels[I];if(P){Z=P.target||"";let v=this.workbook.ReadTable(Z);if(v){let C=t.TranslateAddress(v.ref),L=Ue(C)?{start:{row:C.row-1,column:C.col-1},end:{row:C.row-1,column:C.col-1}}:{start:{row:C.from.row-1,column:C.from.col-1},end:{row:C.to.row-1,column:C.to.col-1}};for(let W of r)if(W.row===L.start.row&&W.column===L.start.column){W.table={area:L,name:v.name,totals_row:!!v.totals_row_count};break}}}}}let J=m("worksheet/drawing"),ee=[],D=[],ie=[];for(let y of J){let I=y.a$?y.a$["r:id"]:void 0;if(I){let Z="",P=t.rels[I];if(P&&(Z=P.target||""),Z){let v=this.workbook.ReadDrawing(Z);if(v&&v.length)for(let C of v)switch(C.type){case"chart":ee.push(C);break;case"image":D.push(C);break;case"textbox":ie.push(C);break}}}}let te=y=>{let I={address:{row:y.row,column:y.column},offset:{x:0,y:0}};if(y.row_offset){let Z=O[y.row];Z===void 0&&(Z=b),I.offset.y=y.row_offset/9525/Z}if(y.column_offset){let Z=z[y.column];Z===void 0&&(Z=N),I.offset.x=y.column_offset/9525/Z}return I};for(let y of ie){let I={tl:te(y.anchor.from),br:te(y.anchor.to)};h.push({layout:I,type:"textbox",data:{style:y.style,paragraphs:y.paragraphs}})}for(let y of D)if(y&&y.image){let I={tl:te(y.anchor.from),br:te(y.anchor.to)},Z="image",P=Nn.default.fromByteArray(y.image),v="";if(y.filename&&(/jpe*g$/i.test(y.filename)?v="jpeg":/png$/i.test(y.filename)?v="png":/gif$/i.test(y.filename)&&(v="gif")),v&&P){let C="data:image/"+v+";base64,"+P;h.push({layout:I,type:Z,data:{src:C}})}}for(let y of ee)if(y&&y.chart){let I={tl:te(y.anchor.from),br:te(y.anchor.to)},Z,P=[],v="",C=y.chart?.series;switch(y.chart.type){case 7:Z="treb-chart",v="Bubble.Chart",C&&C.length&&(P[0]=`Group(${C.map(W=>`Series(${[W.title||"",W.values||"",W.categories||"",W.bubble_size||""].join(", ")})`).join(", ")})`),P[1]=y.chart.title;break;case 8:Z="treb-chart",v="Box.Plot",C?.length&&(P[0]=`Group(${C.map(W=>`Series(${W.title||""},,${W.values||""})`).join(", ")})`,console.info("S?",{series:C},P[0])),P[1]=y.chart.title;break;case 4:Z="treb-chart",v="Scatter.Line",C&&C.length&&(P[0]=`Group(${C.map(W=>`Series(${W.title||""},${W.categories||""},${W.values||""})`).join(", ")})`),P[1]=y.chart.title;break;case 5:case 6:v=y.chart.type===5?"Donut.Chart":"Pie.Chart",Z="treb-chart",C&&C[0]&&(P[0]=C[0].values,P[1]=C[0]?.categories||""),P[2]=y.chart.title;break;case 2:case 1:case 3:switch(P[2]=y.chart.title,Z="treb-chart",y.chart.type){case 2:v="Bar.Chart";break;case 1:v="Column.Chart";break;default:v="Line.Chart"}C&&(C.length>1?P[0]=`Group(${C.map(W=>`Series(${W.title||""},,${W.values||""})`).join(", ")})`:C.length===1&&(C[0].title?P[0]=`Series(${C[0].title||""},,${C[0].values||""})`:P[0]=C[0].values),P[1]=C[0]?.categories||"");break}let L=`=${v}(${P.join(", ")})`;Z&&L&&h.push({layout:I,type:Z,formula:L})}let de=m("worksheet/extLst/ext");for(let y of de){let I="";for(let P of Object.keys(y?.a$||{})){let v=P.match(/^xmlns:(.*)$/);if(v){I=v[1];break}}let Z=$.FindAll(y,`${I}:sparklineGroups/${I}:sparklineGroup`);for(let P of Z){let v="Sparkline.line",C="",L="";P.a$?.type==="column"&&(v="Sparkline.column");let W=$.FindAll(P,`${I}:sparklines/${I}:sparkline`);for(let he of W)for(let me of Object.keys(he))/:f$/.test(me)?L=he[me]:/:sqref$/.test(me)&&(C=he[me]);if(L&&C){let he=`=${v}(${L})`,me=t.TranslateAddress(C);if(Ue(me)){let Le={row:me.row-1,column:me.col-1,value:he,type:"formula"},x=!1;for(let M of r)if(M.row===Le.row&&M.column===Le.column){x=!0,M.type="formula",M.value=he;break}x||r.push(Le)}}}}let oe={name:t.options.name,cells:r,default_column_width:N,column_widths:z,row_heights:O,tab_color:f,row_styles:d,annotations:h,conditional_formats:a,data_validations:c,styles:this.workbook?.style_cache?.CellXfToStyles()||[]};return G.length&&(oe.outline=G),(t.visible_state===1||t.visible_state===2)&&(oe.hidden=!0),H>=0&&(oe.sheet_style=H),q.length&&(oe.column_styles=q),oe}};var It=self,or=new Ct,Ds=n=>{n.sheet&&(or.Init(n.decorated||[]),or.Export(n.sheet),It.postMessage({status:"complete",blob:or.Blob()}))},Ys=n=>{let e=new vt;try{e.Init(n.data);let t=e.workbook?.GetNamedRanges(),r=e.SheetCount(),i={sheets:[],named:t,active_tab:e.workbook?.active_tab};for(let s=0;s<r;s++){let o=e.GetSheet(s);o&&i.sheets.push(o)}for(let s of t||[])if(typeof s.local_scope=="number"){let o=i.sheets[s.local_scope];o&&(s.scope=o.name)}It.postMessage({status:"complete",results:i})}catch(t){console.warn("error importing xlsx file"),console.info(t),It.postMessage({status:"error",data:t})}};It.addEventListener("message",n=>{n.data&&n.data.command==="export"?Ds(n.data):n.data&&n.data.command==="import"&&Ys(n.data)});\n';var i=async()=>new Worker(URL.createObjectURL(new Blob([e],{type:"application/javascript"})));export{i as CreateWorker};
|