@spiffcommerce/core 16.0.0-beta.9 → 16.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,138 +1,12 @@
1
- (function(I,rn){typeof exports=="object"&&typeof module<"u"?rn(exports):typeof define=="function"&&define.amd?define(["exports"],rn):(I=typeof globalThis<"u"?globalThis:I||self,rn(I.Core={}))})(this,function(I){"use strict";var j5=Object.defineProperty;var W5=(I,rn,He)=>rn in I?j5(I,rn,{enumerable:!0,configurable:!0,writable:!0,value:He}):I[rn]=He;var F=(I,rn,He)=>(W5(I,typeof rn!="symbol"?rn+"":rn,He),He);var rn=function(e,t){return rn=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[i]=r[i])},rn(e,t)};function He(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");rn(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}var k=function(){return k=Object.assign||function(t){for(var n,r=1,i=arguments.length;r<i;r++){n=arguments[r];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(t[a]=n[a])}return t},k.apply(this,arguments)};function Ar(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function Or(e,t,n,r){function i(a){return a instanceof n?a:new n(function(s){s(a)})}return new(n||(n=Promise))(function(a,s){function o(u){try{l(r.next(u))}catch(A){s(A)}}function c(u){try{l(r.throw(u))}catch(A){s(A)}}function l(u){u.done?a(u.value):i(u.value).then(o,c)}l((r=r.apply(e,t||[])).next())})}function Ur(e,t){var n={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},r,i,a,s;return s={next:o(0),throw:o(1),return:o(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function o(l){return function(u){return c([l,u])}}function c(l){if(r)throw new TypeError("Generator is already executing.");for(;s&&(s=0,l[0]&&(n=0)),n;)try{if(r=1,i&&(a=l[0]&2?i.return:l[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,l[1])).done)return a;switch(i=0,a&&(l=[l[0]&2,a.value]),l[0]){case 0:case 1:a=l;break;case 4:return n.label++,{value:l[1],done:!1};case 5:n.label++,i=l[1],l=[0];continue;case 7:l=n.ops.pop(),n.trys.pop();continue;default:if(a=n.trys,!(a=a.length>0&&a[a.length-1])&&(l[0]===6||l[0]===2)){n=0;continue}if(l[0]===3&&(!a||l[1]>a[0]&&l[1]<a[3])){n.label=l[1];break}if(l[0]===6&&n.label<a[1]){n.label=a[1],a=l;break}if(a&&n.label<a[2]){n.label=a[2],n.ops.push(l);break}a[2]&&n.ops.pop(),n.trys.pop();continue}l=t.call(e,n)}catch(u){l=[6,u],i=0}finally{r=a=0}if(l[0]&5)throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}function Lr(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||(a=Array.prototype.slice.call(t,0,r)),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}var Yu="Invariant Violation",j0=Object.setPrototypeOf,pB=j0===void 0?function(e,t){return e.__proto__=t,e}:j0,W0=function(e){He(t,e);function t(n){n===void 0&&(n=Yu);var r=e.call(this,typeof n=="number"?Yu+": "+n+" (see https://github.com/apollographql/invariant-packages)":n)||this;return r.framesToPop=1,r.name=Yu,pB(r,t.prototype),r}return t}(Error);function Ci(e,t){if(!e)throw new W0(t)}var K0=["debug","log","warn","error","silent"],mB=K0.indexOf("log");function Qc(e){return function(){if(K0.indexOf(e)>=mB){var t=console[e]||console.log;return t.apply(console,arguments)}}}(function(e){e.debug=Qc("debug"),e.log=Qc("log"),e.warn=Qc("warn"),e.error=Qc("error")})(Ci||(Ci={}));var Hu="3.8.3";function Tn(e){try{return e()}catch{}}const X0=Tn(function(){return globalThis})||Tn(function(){return window})||Tn(function(){return self})||Tn(function(){return global})||Tn(function(){return Tn.constructor("return this")()});var _0=new Map;function Gu(e){var t=_0.get(e)||1;return _0.set(e,t+1),"".concat(e,":").concat(t,":").concat(Math.random().toString(36).slice(2))}function q0(e,t){t===void 0&&(t=0);var n=Gu("stringifyForDisplay");return JSON.stringify(e,function(r,i){return i===void 0?n:i},t).split(JSON.stringify(n)).join("<undefined>")}function Mc(e){return function(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];e.apply(void 0,Lr([typeof t=="number"?Vu(t):t],n,!1))}}var wt=Object.assign(function(t,n){for(var r=[],i=2;i<arguments.length;i++)r[i-2]=arguments[i];t||Ci(t,Vu(n,r))},{debug:Mc(Ci.debug),log:Mc(Ci.log),warn:Mc(Ci.warn),error:Mc(Ci.error)});function an(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];return new W0(Vu(e,t))}var Z0=Symbol.for("ApolloErrorMessageHandler_"+Hu);function Vu(e,t){if(t===void 0&&(t=[]),!!e){var n=t.map(function(r){return typeof r=="string"?r:q0(r,2).slice(0,1e3)});return X0[Z0]&&X0[Z0](e,n)||"An error occurred! For more details, see the full error text at https://go.apollo.dev/c/err#".concat(encodeURIComponent(JSON.stringify({version:Hu,message:e,args:n})))}}function Tc(e,t){if(!!!e)throw new Error(t)}function yB(e){return typeof e=="object"&&e!==null}function wB(e,t){if(!!!e)throw new Error(t??"Unexpected invariant triggered.")}const vB=/\r\n|[\n\r]/g;function zu(e,t){let n=0,r=1;for(const i of e.body.matchAll(vB)){if(typeof i.index=="number"||wB(!1),i.index>=t)break;n=i.index+i[0].length,r+=1}return{line:r,column:t+1-n}}function EB(e){return $0(e.source,zu(e.source,e.start))}function $0(e,t){const n=e.locationOffset.column-1,r="".padStart(n)+e.body,i=t.line-1,a=e.locationOffset.line-1,s=t.line+a,o=t.line===1?n:0,c=t.column+o,l=`${e.name}:${s}:${c}
2
- `,u=r.split(/\r\n|[\n\r]/g),A=u[i];if(A.length>120){const h=Math.floor(c/80),f=c%80,d=[];for(let p=0;p<A.length;p+=80)d.push(A.slice(p,p+80));return l+tg([[`${s} |`,d[0]],...d.slice(1,h+1).map(p=>["|",p]),["|","^".padStart(f)],["|",d[h+1]]])}return l+tg([[`${s-1} |`,u[i-1]],[`${s} |`,A],["|","^".padStart(c)],[`${s+1} |`,u[i+1]]])}function tg(e){const t=e.filter(([r,i])=>i!==void 0),n=Math.max(...t.map(([r])=>r.length));return t.map(([r,i])=>r.padStart(n)+(i?" "+i:"")).join(`
3
- `)}function BB(e){const t=e[0];return t==null||"kind"in t||"length"in t?{nodes:t,source:e[1],positions:e[2],path:e[3],originalError:e[4],extensions:e[5]}:t}class Ju extends Error{constructor(t,...n){var r,i,a;const{nodes:s,source:o,positions:c,path:l,originalError:u,extensions:A}=BB(n);super(t),this.name="GraphQLError",this.path=l??void 0,this.originalError=u??void 0,this.nodes=eg(Array.isArray(s)?s:s?[s]:void 0);const h=eg((r=this.nodes)===null||r===void 0?void 0:r.map(d=>d.loc).filter(d=>d!=null));this.source=o??(h==null||(i=h[0])===null||i===void 0?void 0:i.source),this.positions=c??(h==null?void 0:h.map(d=>d.start)),this.locations=c&&o?c.map(d=>zu(o,d)):h==null?void 0:h.map(d=>zu(d.source,d.start));const f=yB(u==null?void 0:u.extensions)?u==null?void 0:u.extensions:void 0;this.extensions=(a=A??f)!==null&&a!==void 0?a:Object.create(null),Object.defineProperties(this,{message:{writable:!0,enumerable:!0},name:{enumerable:!1},nodes:{enumerable:!1},source:{enumerable:!1},positions:{enumerable:!1},originalError:{enumerable:!1}}),u!=null&&u.stack?Object.defineProperty(this,"stack",{value:u.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,Ju):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0})}get[Symbol.toStringTag](){return"GraphQLError"}toString(){let t=this.message;if(this.nodes)for(const n of this.nodes)n.loc&&(t+=`
4
-
5
- `+EB(n.loc));else if(this.source&&this.locations)for(const n of this.locations)t+=`
6
-
7
- `+$0(this.source,n);return t}toJSON(){const t={message:this.message};return this.locations!=null&&(t.locations=this.locations),this.path!=null&&(t.path=this.path),this.extensions!=null&&Object.keys(this.extensions).length>0&&(t.extensions=this.extensions),t}}function eg(e){return e===void 0||e.length===0?void 0:e}function Me(e,t,n){return new Ju(`Syntax Error: ${n}`,{source:e,positions:[t]})}class CB{constructor(t,n,r){this.start=t.start,this.end=n.end,this.startToken=t,this.endToken=n,this.source=r}get[Symbol.toStringTag](){return"Location"}toJSON(){return{start:this.start,end:this.end}}}class ng{constructor(t,n,r,i,a,s){this.kind=t,this.start=n,this.end=r,this.line=i,this.column=a,this.value=s,this.prev=null,this.next=null}get[Symbol.toStringTag](){return"Token"}toJSON(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}}const rg={Name:[],Document:["definitions"],OperationDefinition:["name","variableDefinitions","directives","selectionSet"],VariableDefinition:["variable","type","defaultValue","directives"],Variable:["name"],SelectionSet:["selections"],Field:["alias","name","arguments","directives","selectionSet"],Argument:["name","value"],FragmentSpread:["name","directives"],InlineFragment:["typeCondition","directives","selectionSet"],FragmentDefinition:["name","variableDefinitions","typeCondition","directives","selectionSet"],IntValue:[],FloatValue:[],StringValue:[],BooleanValue:[],NullValue:[],EnumValue:[],ListValue:["values"],ObjectValue:["fields"],ObjectField:["name","value"],Directive:["name","arguments"],NamedType:["name"],ListType:["type"],NonNullType:["type"],SchemaDefinition:["description","directives","operationTypes"],OperationTypeDefinition:["type"],ScalarTypeDefinition:["description","name","directives"],ObjectTypeDefinition:["description","name","interfaces","directives","fields"],FieldDefinition:["description","name","arguments","type","directives"],InputValueDefinition:["description","name","type","defaultValue","directives"],InterfaceTypeDefinition:["description","name","interfaces","directives","fields"],UnionTypeDefinition:["description","name","directives","types"],EnumTypeDefinition:["description","name","directives","values"],EnumValueDefinition:["description","name","directives"],InputObjectTypeDefinition:["description","name","directives","fields"],DirectiveDefinition:["description","name","arguments","locations"],SchemaExtension:["directives","operationTypes"],ScalarTypeExtension:["name","directives"],ObjectTypeExtension:["name","interfaces","directives","fields"],InterfaceTypeExtension:["name","interfaces","directives","fields"],UnionTypeExtension:["name","directives","types"],EnumTypeExtension:["name","directives","values"],InputObjectTypeExtension:["name","directives","fields"]},xB=new Set(Object.keys(rg));function ig(e){const t=e==null?void 0:e.kind;return typeof t=="string"&&xB.has(t)}var aa;(function(e){e.QUERY="query",e.MUTATION="mutation",e.SUBSCRIPTION="subscription"})(aa||(aa={}));var ju;(function(e){e.QUERY="QUERY",e.MUTATION="MUTATION",e.SUBSCRIPTION="SUBSCRIPTION",e.FIELD="FIELD",e.FRAGMENT_DEFINITION="FRAGMENT_DEFINITION",e.FRAGMENT_SPREAD="FRAGMENT_SPREAD",e.INLINE_FRAGMENT="INLINE_FRAGMENT",e.VARIABLE_DEFINITION="VARIABLE_DEFINITION",e.SCHEMA="SCHEMA",e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.FIELD_DEFINITION="FIELD_DEFINITION",e.ARGUMENT_DEFINITION="ARGUMENT_DEFINITION",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.ENUM_VALUE="ENUM_VALUE",e.INPUT_OBJECT="INPUT_OBJECT",e.INPUT_FIELD_DEFINITION="INPUT_FIELD_DEFINITION"})(ju||(ju={}));var et;(function(e){e.NAME="Name",e.DOCUMENT="Document",e.OPERATION_DEFINITION="OperationDefinition",e.VARIABLE_DEFINITION="VariableDefinition",e.SELECTION_SET="SelectionSet",e.FIELD="Field",e.ARGUMENT="Argument",e.FRAGMENT_SPREAD="FragmentSpread",e.INLINE_FRAGMENT="InlineFragment",e.FRAGMENT_DEFINITION="FragmentDefinition",e.VARIABLE="Variable",e.INT="IntValue",e.FLOAT="FloatValue",e.STRING="StringValue",e.BOOLEAN="BooleanValue",e.NULL="NullValue",e.ENUM="EnumValue",e.LIST="ListValue",e.OBJECT="ObjectValue",e.OBJECT_FIELD="ObjectField",e.DIRECTIVE="Directive",e.NAMED_TYPE="NamedType",e.LIST_TYPE="ListType",e.NON_NULL_TYPE="NonNullType",e.SCHEMA_DEFINITION="SchemaDefinition",e.OPERATION_TYPE_DEFINITION="OperationTypeDefinition",e.SCALAR_TYPE_DEFINITION="ScalarTypeDefinition",e.OBJECT_TYPE_DEFINITION="ObjectTypeDefinition",e.FIELD_DEFINITION="FieldDefinition",e.INPUT_VALUE_DEFINITION="InputValueDefinition",e.INTERFACE_TYPE_DEFINITION="InterfaceTypeDefinition",e.UNION_TYPE_DEFINITION="UnionTypeDefinition",e.ENUM_TYPE_DEFINITION="EnumTypeDefinition",e.ENUM_VALUE_DEFINITION="EnumValueDefinition",e.INPUT_OBJECT_TYPE_DEFINITION="InputObjectTypeDefinition",e.DIRECTIVE_DEFINITION="DirectiveDefinition",e.SCHEMA_EXTENSION="SchemaExtension",e.SCALAR_TYPE_EXTENSION="ScalarTypeExtension",e.OBJECT_TYPE_EXTENSION="ObjectTypeExtension",e.INTERFACE_TYPE_EXTENSION="InterfaceTypeExtension",e.UNION_TYPE_EXTENSION="UnionTypeExtension",e.ENUM_TYPE_EXTENSION="EnumTypeExtension",e.INPUT_OBJECT_TYPE_EXTENSION="InputObjectTypeExtension"})(et||(et={}));function Wu(e){return e===9||e===32}function fs(e){return e>=48&&e<=57}function ag(e){return e>=97&&e<=122||e>=65&&e<=90}function sg(e){return ag(e)||e===95}function bB(e){return ag(e)||fs(e)||e===95}function SB(e){var t;let n=Number.MAX_SAFE_INTEGER,r=null,i=-1;for(let s=0;s<e.length;++s){var a;const o=e[s],c=DB(o);c!==o.length&&(r=(a=r)!==null&&a!==void 0?a:s,i=s,s!==0&&c<n&&(n=c))}return e.map((s,o)=>o===0?s:s.slice(n)).slice((t=r)!==null&&t!==void 0?t:0,i+1)}function DB(e){let t=0;for(;t<e.length&&Wu(e.charCodeAt(t));)++t;return t}function IB(e,t){const n=e.replace(/"""/g,'\\"""'),r=n.split(/\r\n|[\n\r]/g),i=r.length===1,a=r.length>1&&r.slice(1).every(f=>f.length===0||Wu(f.charCodeAt(0))),s=n.endsWith('\\"""'),o=e.endsWith('"')&&!s,c=e.endsWith("\\"),l=o||c,u=!(t!=null&&t.minimize)&&(!i||e.length>70||l||a||s);let A="";const h=i&&Wu(e.charCodeAt(0));return(u&&!h||a)&&(A+=`
8
- `),A+=n,(u||l)&&(A+=`
9
- `),'"""'+A+'"""'}var Y;(function(e){e.SOF="<SOF>",e.EOF="<EOF>",e.BANG="!",e.DOLLAR="$",e.AMP="&",e.PAREN_L="(",e.PAREN_R=")",e.SPREAD="...",e.COLON=":",e.EQUALS="=",e.AT="@",e.BRACKET_L="[",e.BRACKET_R="]",e.BRACE_L="{",e.PIPE="|",e.BRACE_R="}",e.NAME="Name",e.INT="Int",e.FLOAT="Float",e.STRING="String",e.BLOCK_STRING="BlockString",e.COMMENT="Comment"})(Y||(Y={}));class FB{constructor(t){const n=new ng(Y.SOF,0,0,0,0);this.source=t,this.lastToken=n,this.token=n,this.line=1,this.lineStart=0}get[Symbol.toStringTag](){return"Lexer"}advance(){return this.lastToken=this.token,this.token=this.lookahead()}lookahead(){let t=this.token;if(t.kind!==Y.EOF)do if(t.next)t=t.next;else{const n=MB(this,t.end);t.next=n,n.prev=t,t=n}while(t.kind===Y.COMMENT);return t}}function QB(e){return e===Y.BANG||e===Y.DOLLAR||e===Y.AMP||e===Y.PAREN_L||e===Y.PAREN_R||e===Y.SPREAD||e===Y.COLON||e===Y.EQUALS||e===Y.AT||e===Y.BRACKET_L||e===Y.BRACKET_R||e===Y.BRACE_L||e===Y.PIPE||e===Y.BRACE_R}function sa(e){return e>=0&&e<=55295||e>=57344&&e<=1114111}function Nc(e,t){return og(e.charCodeAt(t))&&cg(e.charCodeAt(t+1))}function og(e){return e>=55296&&e<=56319}function cg(e){return e>=56320&&e<=57343}function xi(e,t){const n=e.source.body.codePointAt(t);if(n===void 0)return Y.EOF;if(n>=32&&n<=126){const r=String.fromCodePoint(n);return r==='"'?`'"'`:`"${r}"`}return"U+"+n.toString(16).toUpperCase().padStart(4,"0")}function me(e,t,n,r,i){const a=e.line,s=1+n-e.lineStart;return new ng(t,n,r,a,s,i)}function MB(e,t){const n=e.source.body,r=n.length;let i=t;for(;i<r;){const a=n.charCodeAt(i);switch(a){case 65279:case 9:case 32:case 44:++i;continue;case 10:++i,++e.line,e.lineStart=i;continue;case 13:n.charCodeAt(i+1)===10?i+=2:++i,++e.line,e.lineStart=i;continue;case 35:return TB(e,i);case 33:return me(e,Y.BANG,i,i+1);case 36:return me(e,Y.DOLLAR,i,i+1);case 38:return me(e,Y.AMP,i,i+1);case 40:return me(e,Y.PAREN_L,i,i+1);case 41:return me(e,Y.PAREN_R,i,i+1);case 46:if(n.charCodeAt(i+1)===46&&n.charCodeAt(i+2)===46)return me(e,Y.SPREAD,i,i+3);break;case 58:return me(e,Y.COLON,i,i+1);case 61:return me(e,Y.EQUALS,i,i+1);case 64:return me(e,Y.AT,i,i+1);case 91:return me(e,Y.BRACKET_L,i,i+1);case 93:return me(e,Y.BRACKET_R,i,i+1);case 123:return me(e,Y.BRACE_L,i,i+1);case 124:return me(e,Y.PIPE,i,i+1);case 125:return me(e,Y.BRACE_R,i,i+1);case 34:return n.charCodeAt(i+1)===34&&n.charCodeAt(i+2)===34?UB(e,i):PB(e,i)}if(fs(a)||a===45)return NB(e,i,a);if(sg(a))return LB(e,i);throw Me(e.source,i,a===39?`Unexpected single quote character ('), did you mean to use a double quote (")?`:sa(a)||Nc(n,i)?`Unexpected character: ${xi(e,i)}.`:`Invalid character: ${xi(e,i)}.`)}return me(e,Y.EOF,r,r)}function TB(e,t){const n=e.source.body,r=n.length;let i=t+1;for(;i<r;){const a=n.charCodeAt(i);if(a===10||a===13)break;if(sa(a))++i;else if(Nc(n,i))i+=2;else break}return me(e,Y.COMMENT,t,i,n.slice(t+1,i))}function NB(e,t,n){const r=e.source.body;let i=t,a=n,s=!1;if(a===45&&(a=r.charCodeAt(++i)),a===48){if(a=r.charCodeAt(++i),fs(a))throw Me(e.source,i,`Invalid number, unexpected digit after 0: ${xi(e,i)}.`)}else i=Ku(e,i,a),a=r.charCodeAt(i);if(a===46&&(s=!0,a=r.charCodeAt(++i),i=Ku(e,i,a),a=r.charCodeAt(i)),(a===69||a===101)&&(s=!0,a=r.charCodeAt(++i),(a===43||a===45)&&(a=r.charCodeAt(++i)),i=Ku(e,i,a),a=r.charCodeAt(i)),a===46||sg(a))throw Me(e.source,i,`Invalid number, expected digit but got: ${xi(e,i)}.`);return me(e,s?Y.FLOAT:Y.INT,t,i,r.slice(t,i))}function Ku(e,t,n){if(!fs(n))throw Me(e.source,t,`Invalid number, expected digit but got: ${xi(e,t)}.`);const r=e.source.body;let i=t+1;for(;fs(r.charCodeAt(i));)++i;return i}function PB(e,t){const n=e.source.body,r=n.length;let i=t+1,a=i,s="";for(;i<r;){const o=n.charCodeAt(i);if(o===34)return s+=n.slice(a,i),me(e,Y.STRING,t,i+1,s);if(o===92){s+=n.slice(a,i);const c=n.charCodeAt(i+1)===117?n.charCodeAt(i+2)===123?kB(e,i):RB(e,i):OB(e,i);s+=c.value,i+=c.size,a=i;continue}if(o===10||o===13)break;if(sa(o))++i;else if(Nc(n,i))i+=2;else throw Me(e.source,i,`Invalid character within String: ${xi(e,i)}.`)}throw Me(e.source,i,"Unterminated string.")}function kB(e,t){const n=e.source.body;let r=0,i=3;for(;i<12;){const a=n.charCodeAt(t+i++);if(a===125){if(i<5||!sa(r))break;return{value:String.fromCodePoint(r),size:i}}if(r=r<<4|gs(a),r<0)break}throw Me(e.source,t,`Invalid Unicode escape sequence: "${n.slice(t,t+i)}".`)}function RB(e,t){const n=e.source.body,r=lg(n,t+2);if(sa(r))return{value:String.fromCodePoint(r),size:6};if(og(r)&&n.charCodeAt(t+6)===92&&n.charCodeAt(t+7)===117){const i=lg(n,t+8);if(cg(i))return{value:String.fromCodePoint(r,i),size:12}}throw Me(e.source,t,`Invalid Unicode escape sequence: "${n.slice(t,t+6)}".`)}function lg(e,t){return gs(e.charCodeAt(t))<<12|gs(e.charCodeAt(t+1))<<8|gs(e.charCodeAt(t+2))<<4|gs(e.charCodeAt(t+3))}function gs(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}function OB(e,t){const n=e.source.body;switch(n.charCodeAt(t+1)){case 34:return{value:'"',size:2};case 92:return{value:"\\",size:2};case 47:return{value:"/",size:2};case 98:return{value:"\b",size:2};case 102:return{value:"\f",size:2};case 110:return{value:`
10
- `,size:2};case 114:return{value:"\r",size:2};case 116:return{value:" ",size:2}}throw Me(e.source,t,`Invalid character escape sequence: "${n.slice(t,t+2)}".`)}function UB(e,t){const n=e.source.body,r=n.length;let i=e.lineStart,a=t+3,s=a,o="";const c=[];for(;a<r;){const l=n.charCodeAt(a);if(l===34&&n.charCodeAt(a+1)===34&&n.charCodeAt(a+2)===34){o+=n.slice(s,a),c.push(o);const u=me(e,Y.BLOCK_STRING,t,a+3,SB(c).join(`
11
- `));return e.line+=c.length-1,e.lineStart=i,u}if(l===92&&n.charCodeAt(a+1)===34&&n.charCodeAt(a+2)===34&&n.charCodeAt(a+3)===34){o+=n.slice(s,a),s=a+1,a+=4;continue}if(l===10||l===13){o+=n.slice(s,a),c.push(o),l===13&&n.charCodeAt(a+1)===10?a+=2:++a,o="",s=a,i=a;continue}if(sa(l))++a;else if(Nc(n,a))a+=2;else throw Me(e.source,a,`Invalid character within String: ${xi(e,a)}.`)}throw Me(e.source,a,"Unterminated string.")}function LB(e,t){const n=e.source.body,r=n.length;let i=t+1;for(;i<r;){const a=n.charCodeAt(i);if(bB(a))++i;else break}return me(e,Y.NAME,t,i,n.slice(t,i))}const YB=10,ug=2;function Xu(e){return Pc(e,[])}function Pc(e,t){switch(typeof e){case"string":return JSON.stringify(e);case"function":return e.name?`[function ${e.name}]`:"[function]";case"object":return HB(e,t);default:return String(e)}}function HB(e,t){if(e===null)return"null";if(t.includes(e))return"[Circular]";const n=[...t,e];if(GB(e)){const r=e.toJSON();if(r!==e)return typeof r=="string"?r:Pc(r,n)}else if(Array.isArray(e))return zB(e,n);return VB(e,n)}function GB(e){return typeof e.toJSON=="function"}function VB(e,t){const n=Object.entries(e);return n.length===0?"{}":t.length>ug?"["+JB(e)+"]":"{ "+n.map(([i,a])=>i+": "+Pc(a,t)).join(", ")+" }"}function zB(e,t){if(e.length===0)return"[]";if(t.length>ug)return"[Array]";const n=Math.min(YB,e.length),r=e.length-n,i=[];for(let a=0;a<n;++a)i.push(Pc(e[a],t));return r===1?i.push("... 1 more item"):r>1&&i.push(`... ${r} more items`),"["+i.join(", ")+"]"}function JB(e){const t=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if(t==="Object"&&typeof e.constructor=="function"){const n=e.constructor.name;if(typeof n=="string"&&n!=="")return n}return t}const jB=globalThis.process&&globalThis.process.env.NODE_ENV==="production"?function(t,n){return t instanceof n}:function(t,n){if(t instanceof n)return!0;if(typeof t=="object"&&t!==null){var r;const i=n.prototype[Symbol.toStringTag],a=Symbol.toStringTag in t?t[Symbol.toStringTag]:(r=t.constructor)===null||r===void 0?void 0:r.name;if(i===a){const s=Xu(t);throw new Error(`Cannot use ${i} "${s}" from another module or realm.
12
-
13
- Ensure that there is only one instance of "graphql" in the node_modules
14
- directory. If different versions of "graphql" are the dependencies of other
15
- relied on modules, use "resolutions" to ensure only one version is installed.
16
-
17
- https://yarnpkg.com/en/docs/selective-version-resolutions
18
-
19
- Duplicate "graphql" modules cannot be used at the same time since different
20
- versions may have different capabilities and behavior. The data from one
21
- version used in the function from another could produce confusing and
22
- spurious results.`)}}return!1};class Ag{constructor(t,n="GraphQL request",r={line:1,column:1}){typeof t=="string"||Tc(!1,`Body must be a string. Received: ${Xu(t)}.`),this.body=t,this.name=n,this.locationOffset=r,this.locationOffset.line>0||Tc(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||Tc(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}}function WB(e){return jB(e,Ag)}function KB(e,t){return new XB(e,t).parseDocument()}let XB=class{constructor(t,n={}){const r=WB(t)?t:new Ag(t);this._lexer=new FB(r),this._options=n,this._tokenCounter=0}parseName(){const t=this.expectToken(Y.NAME);return this.node(t,{kind:et.NAME,value:t.value})}parseDocument(){return this.node(this._lexer.token,{kind:et.DOCUMENT,definitions:this.many(Y.SOF,this.parseDefinition,Y.EOF)})}parseDefinition(){if(this.peek(Y.BRACE_L))return this.parseOperationDefinition();const t=this.peekDescription(),n=t?this._lexer.lookahead():this._lexer.token;if(n.kind===Y.NAME){switch(n.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}if(t)throw Me(this._lexer.source,this._lexer.token.start,"Unexpected description, descriptions are supported only on type definitions.");switch(n.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"extend":return this.parseTypeSystemExtension()}}throw this.unexpected(n)}parseOperationDefinition(){const t=this._lexer.token;if(this.peek(Y.BRACE_L))return this.node(t,{kind:et.OPERATION_DEFINITION,operation:aa.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});const n=this.parseOperationType();let r;return this.peek(Y.NAME)&&(r=this.parseName()),this.node(t,{kind:et.OPERATION_DEFINITION,operation:n,name:r,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){const t=this.expectToken(Y.NAME);switch(t.value){case"query":return aa.QUERY;case"mutation":return aa.MUTATION;case"subscription":return aa.SUBSCRIPTION}throw this.unexpected(t)}parseVariableDefinitions(){return this.optionalMany(Y.PAREN_L,this.parseVariableDefinition,Y.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:et.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(Y.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(Y.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){const t=this._lexer.token;return this.expectToken(Y.DOLLAR),this.node(t,{kind:et.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:et.SELECTION_SET,selections:this.many(Y.BRACE_L,this.parseSelection,Y.BRACE_R)})}parseSelection(){return this.peek(Y.SPREAD)?this.parseFragment():this.parseField()}parseField(){const t=this._lexer.token,n=this.parseName();let r,i;return this.expectOptionalToken(Y.COLON)?(r=n,i=this.parseName()):i=n,this.node(t,{kind:et.FIELD,alias:r,name:i,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(Y.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(t){const n=t?this.parseConstArgument:this.parseArgument;return this.optionalMany(Y.PAREN_L,n,Y.PAREN_R)}parseArgument(t=!1){const n=this._lexer.token,r=this.parseName();return this.expectToken(Y.COLON),this.node(n,{kind:et.ARGUMENT,name:r,value:this.parseValueLiteral(t)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){const t=this._lexer.token;this.expectToken(Y.SPREAD);const n=this.expectOptionalKeyword("on");return!n&&this.peek(Y.NAME)?this.node(t,{kind:et.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(t,{kind:et.INLINE_FRAGMENT,typeCondition:n?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){const t=this._lexer.token;return this.expectKeyword("fragment"),this._options.allowLegacyFragmentVariables===!0?this.node(t,{kind:et.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(t,{kind:et.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentName(){if(this._lexer.token.value==="on")throw this.unexpected();return this.parseName()}parseValueLiteral(t){const n=this._lexer.token;switch(n.kind){case Y.BRACKET_L:return this.parseList(t);case Y.BRACE_L:return this.parseObject(t);case Y.INT:return this.advanceLexer(),this.node(n,{kind:et.INT,value:n.value});case Y.FLOAT:return this.advanceLexer(),this.node(n,{kind:et.FLOAT,value:n.value});case Y.STRING:case Y.BLOCK_STRING:return this.parseStringLiteral();case Y.NAME:switch(this.advanceLexer(),n.value){case"true":return this.node(n,{kind:et.BOOLEAN,value:!0});case"false":return this.node(n,{kind:et.BOOLEAN,value:!1});case"null":return this.node(n,{kind:et.NULL});default:return this.node(n,{kind:et.ENUM,value:n.value})}case Y.DOLLAR:if(t)if(this.expectToken(Y.DOLLAR),this._lexer.token.kind===Y.NAME){const r=this._lexer.token.value;throw Me(this._lexer.source,n.start,`Unexpected variable "$${r}" in constant value.`)}else throw this.unexpected(n);return this.parseVariable();default:throw this.unexpected()}}parseConstValueLiteral(){return this.parseValueLiteral(!0)}parseStringLiteral(){const t=this._lexer.token;return this.advanceLexer(),this.node(t,{kind:et.STRING,value:t.value,block:t.kind===Y.BLOCK_STRING})}parseList(t){const n=()=>this.parseValueLiteral(t);return this.node(this._lexer.token,{kind:et.LIST,values:this.any(Y.BRACKET_L,n,Y.BRACKET_R)})}parseObject(t){const n=()=>this.parseObjectField(t);return this.node(this._lexer.token,{kind:et.OBJECT,fields:this.any(Y.BRACE_L,n,Y.BRACE_R)})}parseObjectField(t){const n=this._lexer.token,r=this.parseName();return this.expectToken(Y.COLON),this.node(n,{kind:et.OBJECT_FIELD,name:r,value:this.parseValueLiteral(t)})}parseDirectives(t){const n=[];for(;this.peek(Y.AT);)n.push(this.parseDirective(t));return n}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(t){const n=this._lexer.token;return this.expectToken(Y.AT),this.node(n,{kind:et.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(t)})}parseTypeReference(){const t=this._lexer.token;let n;if(this.expectOptionalToken(Y.BRACKET_L)){const r=this.parseTypeReference();this.expectToken(Y.BRACKET_R),n=this.node(t,{kind:et.LIST_TYPE,type:r})}else n=this.parseNamedType();return this.expectOptionalToken(Y.BANG)?this.node(t,{kind:et.NON_NULL_TYPE,type:n}):n}parseNamedType(){return this.node(this._lexer.token,{kind:et.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(Y.STRING)||this.peek(Y.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){const t=this._lexer.token,n=this.parseDescription();this.expectKeyword("schema");const r=this.parseConstDirectives(),i=this.many(Y.BRACE_L,this.parseOperationTypeDefinition,Y.BRACE_R);return this.node(t,{kind:et.SCHEMA_DEFINITION,description:n,directives:r,operationTypes:i})}parseOperationTypeDefinition(){const t=this._lexer.token,n=this.parseOperationType();this.expectToken(Y.COLON);const r=this.parseNamedType();return this.node(t,{kind:et.OPERATION_TYPE_DEFINITION,operation:n,type:r})}parseScalarTypeDefinition(){const t=this._lexer.token,n=this.parseDescription();this.expectKeyword("scalar");const r=this.parseName(),i=this.parseConstDirectives();return this.node(t,{kind:et.SCALAR_TYPE_DEFINITION,description:n,name:r,directives:i})}parseObjectTypeDefinition(){const t=this._lexer.token,n=this.parseDescription();this.expectKeyword("type");const r=this.parseName(),i=this.parseImplementsInterfaces(),a=this.parseConstDirectives(),s=this.parseFieldsDefinition();return this.node(t,{kind:et.OBJECT_TYPE_DEFINITION,description:n,name:r,interfaces:i,directives:a,fields:s})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(Y.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(Y.BRACE_L,this.parseFieldDefinition,Y.BRACE_R)}parseFieldDefinition(){const t=this._lexer.token,n=this.parseDescription(),r=this.parseName(),i=this.parseArgumentDefs();this.expectToken(Y.COLON);const a=this.parseTypeReference(),s=this.parseConstDirectives();return this.node(t,{kind:et.FIELD_DEFINITION,description:n,name:r,arguments:i,type:a,directives:s})}parseArgumentDefs(){return this.optionalMany(Y.PAREN_L,this.parseInputValueDef,Y.PAREN_R)}parseInputValueDef(){const t=this._lexer.token,n=this.parseDescription(),r=this.parseName();this.expectToken(Y.COLON);const i=this.parseTypeReference();let a;this.expectOptionalToken(Y.EQUALS)&&(a=this.parseConstValueLiteral());const s=this.parseConstDirectives();return this.node(t,{kind:et.INPUT_VALUE_DEFINITION,description:n,name:r,type:i,defaultValue:a,directives:s})}parseInterfaceTypeDefinition(){const t=this._lexer.token,n=this.parseDescription();this.expectKeyword("interface");const r=this.parseName(),i=this.parseImplementsInterfaces(),a=this.parseConstDirectives(),s=this.parseFieldsDefinition();return this.node(t,{kind:et.INTERFACE_TYPE_DEFINITION,description:n,name:r,interfaces:i,directives:a,fields:s})}parseUnionTypeDefinition(){const t=this._lexer.token,n=this.parseDescription();this.expectKeyword("union");const r=this.parseName(),i=this.parseConstDirectives(),a=this.parseUnionMemberTypes();return this.node(t,{kind:et.UNION_TYPE_DEFINITION,description:n,name:r,directives:i,types:a})}parseUnionMemberTypes(){return this.expectOptionalToken(Y.EQUALS)?this.delimitedMany(Y.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){const t=this._lexer.token,n=this.parseDescription();this.expectKeyword("enum");const r=this.parseName(),i=this.parseConstDirectives(),a=this.parseEnumValuesDefinition();return this.node(t,{kind:et.ENUM_TYPE_DEFINITION,description:n,name:r,directives:i,values:a})}parseEnumValuesDefinition(){return this.optionalMany(Y.BRACE_L,this.parseEnumValueDefinition,Y.BRACE_R)}parseEnumValueDefinition(){const t=this._lexer.token,n=this.parseDescription(),r=this.parseEnumValueName(),i=this.parseConstDirectives();return this.node(t,{kind:et.ENUM_VALUE_DEFINITION,description:n,name:r,directives:i})}parseEnumValueName(){if(this._lexer.token.value==="true"||this._lexer.token.value==="false"||this._lexer.token.value==="null")throw Me(this._lexer.source,this._lexer.token.start,`${kc(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){const t=this._lexer.token,n=this.parseDescription();this.expectKeyword("input");const r=this.parseName(),i=this.parseConstDirectives(),a=this.parseInputFieldsDefinition();return this.node(t,{kind:et.INPUT_OBJECT_TYPE_DEFINITION,description:n,name:r,directives:i,fields:a})}parseInputFieldsDefinition(){return this.optionalMany(Y.BRACE_L,this.parseInputValueDef,Y.BRACE_R)}parseTypeSystemExtension(){const t=this._lexer.lookahead();if(t.kind===Y.NAME)switch(t.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(t)}parseSchemaExtension(){const t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");const n=this.parseConstDirectives(),r=this.optionalMany(Y.BRACE_L,this.parseOperationTypeDefinition,Y.BRACE_R);if(n.length===0&&r.length===0)throw this.unexpected();return this.node(t,{kind:et.SCHEMA_EXTENSION,directives:n,operationTypes:r})}parseScalarTypeExtension(){const t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");const n=this.parseName(),r=this.parseConstDirectives();if(r.length===0)throw this.unexpected();return this.node(t,{kind:et.SCALAR_TYPE_EXTENSION,name:n,directives:r})}parseObjectTypeExtension(){const t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");const n=this.parseName(),r=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),a=this.parseFieldsDefinition();if(r.length===0&&i.length===0&&a.length===0)throw this.unexpected();return this.node(t,{kind:et.OBJECT_TYPE_EXTENSION,name:n,interfaces:r,directives:i,fields:a})}parseInterfaceTypeExtension(){const t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");const n=this.parseName(),r=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),a=this.parseFieldsDefinition();if(r.length===0&&i.length===0&&a.length===0)throw this.unexpected();return this.node(t,{kind:et.INTERFACE_TYPE_EXTENSION,name:n,interfaces:r,directives:i,fields:a})}parseUnionTypeExtension(){const t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");const n=this.parseName(),r=this.parseConstDirectives(),i=this.parseUnionMemberTypes();if(r.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:et.UNION_TYPE_EXTENSION,name:n,directives:r,types:i})}parseEnumTypeExtension(){const t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");const n=this.parseName(),r=this.parseConstDirectives(),i=this.parseEnumValuesDefinition();if(r.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:et.ENUM_TYPE_EXTENSION,name:n,directives:r,values:i})}parseInputObjectTypeExtension(){const t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");const n=this.parseName(),r=this.parseConstDirectives(),i=this.parseInputFieldsDefinition();if(r.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:et.INPUT_OBJECT_TYPE_EXTENSION,name:n,directives:r,fields:i})}parseDirectiveDefinition(){const t=this._lexer.token,n=this.parseDescription();this.expectKeyword("directive"),this.expectToken(Y.AT);const r=this.parseName(),i=this.parseArgumentDefs(),a=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");const s=this.parseDirectiveLocations();return this.node(t,{kind:et.DIRECTIVE_DEFINITION,description:n,name:r,arguments:i,repeatable:a,locations:s})}parseDirectiveLocations(){return this.delimitedMany(Y.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){const t=this._lexer.token,n=this.parseName();if(Object.prototype.hasOwnProperty.call(ju,n.value))return n;throw this.unexpected(t)}node(t,n){return this._options.noLocation!==!0&&(n.loc=new CB(t,this._lexer.lastToken,this._lexer.source)),n}peek(t){return this._lexer.token.kind===t}expectToken(t){const n=this._lexer.token;if(n.kind===t)return this.advanceLexer(),n;throw Me(this._lexer.source,n.start,`Expected ${hg(t)}, found ${kc(n)}.`)}expectOptionalToken(t){return this._lexer.token.kind===t?(this.advanceLexer(),!0):!1}expectKeyword(t){const n=this._lexer.token;if(n.kind===Y.NAME&&n.value===t)this.advanceLexer();else throw Me(this._lexer.source,n.start,`Expected "${t}", found ${kc(n)}.`)}expectOptionalKeyword(t){const n=this._lexer.token;return n.kind===Y.NAME&&n.value===t?(this.advanceLexer(),!0):!1}unexpected(t){const n=t??this._lexer.token;return Me(this._lexer.source,n.start,`Unexpected ${kc(n)}.`)}any(t,n,r){this.expectToken(t);const i=[];for(;!this.expectOptionalToken(r);)i.push(n.call(this));return i}optionalMany(t,n,r){if(this.expectOptionalToken(t)){const i=[];do i.push(n.call(this));while(!this.expectOptionalToken(r));return i}return[]}many(t,n,r){this.expectToken(t);const i=[];do i.push(n.call(this));while(!this.expectOptionalToken(r));return i}delimitedMany(t,n){this.expectOptionalToken(t);const r=[];do r.push(n.call(this));while(this.expectOptionalToken(t));return r}advanceLexer(){const{maxTokens:t}=this._options,n=this._lexer.advance();if(t!==void 0&&n.kind!==Y.EOF&&(++this._tokenCounter,this._tokenCounter>t))throw Me(this._lexer.source,n.start,`Document contains more that ${t} tokens. Parsing aborted.`)}};function kc(e){const t=e.value;return hg(e.kind)+(t!=null?` "${t}"`:"")}function hg(e){return QB(e)?`"${e}"`:e}function _B(e){return`"${e.replace(qB,ZB)}"`}const qB=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function ZB(e){return $B[e.charCodeAt(0)]}const $B=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000B","\\f","\\r","\\u000E","\\u000F","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001A","\\u001B","\\u001C","\\u001D","\\u001E","\\u001F","","",'\\"',"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\\\","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\u007F","\\u0080","\\u0081","\\u0082","\\u0083","\\u0084","\\u0085","\\u0086","\\u0087","\\u0088","\\u0089","\\u008A","\\u008B","\\u008C","\\u008D","\\u008E","\\u008F","\\u0090","\\u0091","\\u0092","\\u0093","\\u0094","\\u0095","\\u0096","\\u0097","\\u0098","\\u0099","\\u009A","\\u009B","\\u009C","\\u009D","\\u009E","\\u009F"],_u=Object.freeze({});function hr(e,t,n=rg){const r=new Map;for(const y of Object.values(et))r.set(y,tC(t,y));let i,a=Array.isArray(e),s=[e],o=-1,c=[],l=e,u,A;const h=[],f=[];do{o++;const y=o===s.length,v=y&&c.length!==0;if(y){if(u=f.length===0?void 0:h[h.length-1],l=A,A=f.pop(),v)if(a){l=l.slice();let B=0;for(const[C,x]of c){const b=C-B;x===null?(l.splice(b,1),B++):l[b]=x}}else{l=Object.defineProperties({},Object.getOwnPropertyDescriptors(l));for(const[B,C]of c)l[B]=C}o=i.index,s=i.keys,c=i.edits,a=i.inArray,i=i.prev}else if(A){if(u=a?o:s[o],l=A[u],l==null)continue;h.push(u)}let w;if(!Array.isArray(l)){var d,p;ig(l)||Tc(!1,`Invalid AST Node: ${Xu(l)}.`);const B=y?(d=r.get(l.kind))===null||d===void 0?void 0:d.leave:(p=r.get(l.kind))===null||p===void 0?void 0:p.enter;if(w=B==null?void 0:B.call(t,l,u,A,h,f),w===_u)break;if(w===!1){if(!y){h.pop();continue}}else if(w!==void 0&&(c.push([u,w]),!y))if(ig(w))l=w;else{h.pop();continue}}if(w===void 0&&v&&c.push([u,l]),y)h.pop();else{var m;i={inArray:a,index:o,keys:s,edits:c,prev:i},a=Array.isArray(l),s=a?l:(m=n[l.kind])!==null&&m!==void 0?m:[],o=-1,c=[],A&&f.push(A),A=l}}while(i!==void 0);return c.length!==0?c[c.length-1][1]:e}function tC(e,t){const n=e[t];return typeof n=="object"?n:typeof n=="function"?{enter:n,leave:void 0}:{enter:e.enter,leave:e.leave}}function eC(e){return hr(e,rC)}const nC=80,rC={Name:{leave:e=>e.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>it(e.definitions,`
23
-
24
- `)},OperationDefinition:{leave(e){const t=Qt("(",it(e.variableDefinitions,", "),")"),n=it([e.operation,it([e.name,t]),it(e.directives," ")]," ");return(n==="query"?"":n+" ")+e.selectionSet}},VariableDefinition:{leave:({variable:e,type:t,defaultValue:n,directives:r})=>e+": "+t+Qt(" = ",n)+Qt(" ",it(r," "))},SelectionSet:{leave:({selections:e})=>Nn(e)},Field:{leave({alias:e,name:t,arguments:n,directives:r,selectionSet:i}){const a=Qt("",e,": ")+t;let s=a+Qt("(",it(n,", "),")");return s.length>nC&&(s=a+Qt(`(
25
- `,Rc(it(n,`
26
- `)),`
27
- )`)),it([s,it(r," "),i]," ")}},Argument:{leave:({name:e,value:t})=>e+": "+t},FragmentSpread:{leave:({name:e,directives:t})=>"..."+e+Qt(" ",it(t," "))},InlineFragment:{leave:({typeCondition:e,directives:t,selectionSet:n})=>it(["...",Qt("on ",e),it(t," "),n]," ")},FragmentDefinition:{leave:({name:e,typeCondition:t,variableDefinitions:n,directives:r,selectionSet:i})=>`fragment ${e}${Qt("(",it(n,", "),")")} on ${t} ${Qt("",it(r," ")," ")}`+i},IntValue:{leave:({value:e})=>e},FloatValue:{leave:({value:e})=>e},StringValue:{leave:({value:e,block:t})=>t?IB(e):_B(e)},BooleanValue:{leave:({value:e})=>e?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:e})=>e},ListValue:{leave:({values:e})=>"["+it(e,", ")+"]"},ObjectValue:{leave:({fields:e})=>"{"+it(e,", ")+"}"},ObjectField:{leave:({name:e,value:t})=>e+": "+t},Directive:{leave:({name:e,arguments:t})=>"@"+e+Qt("(",it(t,", "),")")},NamedType:{leave:({name:e})=>e},ListType:{leave:({type:e})=>"["+e+"]"},NonNullType:{leave:({type:e})=>e+"!"},SchemaDefinition:{leave:({description:e,directives:t,operationTypes:n})=>Qt("",e,`
28
- `)+it(["schema",it(t," "),Nn(n)]," ")},OperationTypeDefinition:{leave:({operation:e,type:t})=>e+": "+t},ScalarTypeDefinition:{leave:({description:e,name:t,directives:n})=>Qt("",e,`
29
- `)+it(["scalar",t,it(n," ")]," ")},ObjectTypeDefinition:{leave:({description:e,name:t,interfaces:n,directives:r,fields:i})=>Qt("",e,`
30
- `)+it(["type",t,Qt("implements ",it(n," & ")),it(r," "),Nn(i)]," ")},FieldDefinition:{leave:({description:e,name:t,arguments:n,type:r,directives:i})=>Qt("",e,`
31
- `)+t+(fg(n)?Qt(`(
32
- `,Rc(it(n,`
33
- `)),`
34
- )`):Qt("(",it(n,", "),")"))+": "+r+Qt(" ",it(i," "))},InputValueDefinition:{leave:({description:e,name:t,type:n,defaultValue:r,directives:i})=>Qt("",e,`
35
- `)+it([t+": "+n,Qt("= ",r),it(i," ")]," ")},InterfaceTypeDefinition:{leave:({description:e,name:t,interfaces:n,directives:r,fields:i})=>Qt("",e,`
36
- `)+it(["interface",t,Qt("implements ",it(n," & ")),it(r," "),Nn(i)]," ")},UnionTypeDefinition:{leave:({description:e,name:t,directives:n,types:r})=>Qt("",e,`
37
- `)+it(["union",t,it(n," "),Qt("= ",it(r," | "))]," ")},EnumTypeDefinition:{leave:({description:e,name:t,directives:n,values:r})=>Qt("",e,`
38
- `)+it(["enum",t,it(n," "),Nn(r)]," ")},EnumValueDefinition:{leave:({description:e,name:t,directives:n})=>Qt("",e,`
39
- `)+it([t,it(n," ")]," ")},InputObjectTypeDefinition:{leave:({description:e,name:t,directives:n,fields:r})=>Qt("",e,`
40
- `)+it(["input",t,it(n," "),Nn(r)]," ")},DirectiveDefinition:{leave:({description:e,name:t,arguments:n,repeatable:r,locations:i})=>Qt("",e,`
41
- `)+"directive @"+t+(fg(n)?Qt(`(
42
- `,Rc(it(n,`
43
- `)),`
44
- )`):Qt("(",it(n,", "),")"))+(r?" repeatable":"")+" on "+it(i," | ")},SchemaExtension:{leave:({directives:e,operationTypes:t})=>it(["extend schema",it(e," "),Nn(t)]," ")},ScalarTypeExtension:{leave:({name:e,directives:t})=>it(["extend scalar",e,it(t," ")]," ")},ObjectTypeExtension:{leave:({name:e,interfaces:t,directives:n,fields:r})=>it(["extend type",e,Qt("implements ",it(t," & ")),it(n," "),Nn(r)]," ")},InterfaceTypeExtension:{leave:({name:e,interfaces:t,directives:n,fields:r})=>it(["extend interface",e,Qt("implements ",it(t," & ")),it(n," "),Nn(r)]," ")},UnionTypeExtension:{leave:({name:e,directives:t,types:n})=>it(["extend union",e,it(t," "),Qt("= ",it(n," | "))]," ")},EnumTypeExtension:{leave:({name:e,directives:t,values:n})=>it(["extend enum",e,it(t," "),Nn(n)]," ")},InputObjectTypeExtension:{leave:({name:e,directives:t,fields:n})=>it(["extend input",e,it(t," "),Nn(n)]," ")}};function it(e,t=""){var n;return(n=e==null?void 0:e.filter(r=>r).join(t))!==null&&n!==void 0?n:""}function Nn(e){return Qt(`{
45
- `,Rc(it(e,`
46
- `)),`
47
- }`)}function Qt(e,t,n=""){return t!=null&&t!==""?e+t+n:""}function Rc(e){return Qt(" ",e.replace(/\n/g,`
48
- `))}function fg(e){var t;return(t=e==null?void 0:e.some(n=>n.includes(`
49
- `)))!==null&&t!==void 0?t:!1}function gg(e){return e.kind===et.FIELD||e.kind===et.FRAGMENT_SPREAD||e.kind===et.INLINE_FRAGMENT}function ds(e,t){var n=e.directives;return!n||!n.length?!0:sC(n).every(function(r){var i=r.directive,a=r.ifArgument,s=!1;return a.value.kind==="Variable"?(s=t&&t[a.value.name.value],wt(s!==void 0,64,i.name.value)):s=a.value.value,i.name.value==="skip"?!s:s})}function ps(e,t,n){var r=new Set(e),i=r.size;return hr(t,{Directive:function(a){if(r.delete(a.name.value)&&(!n||!r.size))return _u}}),n?!r.size:r.size<i}function iC(e){return e&&ps(["client","export"],e,!0)}function aC(e){var t=e.name.value;return t==="skip"||t==="include"}function sC(e){var t=[];return e&&e.length&&e.forEach(function(n){if(aC(n)){var r=n.arguments,i=n.name.value;wt(r&&r.length===1,65,i);var a=r[0];wt(a.name&&a.name.value==="if",66,i);var s=a.value;wt(s&&(s.kind==="Variable"||s.kind==="BooleanValue"),67,i),t.push({directive:n,ifArgument:a})}}),t}const oC=()=>Object.create(null),{forEach:cC,slice:lC}=Array.prototype,{hasOwnProperty:uC}=Object.prototype;class Yr{constructor(t=!0,n=oC){this.weakness=t,this.makeData=n}lookup(...t){return this.lookupArray(t)}lookupArray(t){let n=this;return cC.call(t,r=>n=n.getChildTrie(r)),uC.call(n,"data")?n.data:n.data=this.makeData(lC.call(t))}peek(...t){return this.peekArray(t)}peekArray(t){let n=this;for(let r=0,i=t.length;n&&r<i;++r){const a=this.weakness&&dg(t[r])?n.weak:n.strong;n=a&&a.get(t[r])}return n&&n.data}getChildTrie(t){const n=this.weakness&&dg(t)?this.weak||(this.weak=new WeakMap):this.strong||(this.strong=new Map);let r=n.get(t);return r||n.set(t,r=new Yr(this.weakness,this.makeData)),r}}function dg(e){switch(typeof e){case"object":if(e===null)break;case"function":return!0}return!1}var fr=typeof WeakMap=="function"&&Tn(function(){return navigator.product})!=="ReactNative",pg=typeof WeakSet=="function",mg=typeof Symbol=="function"&&typeof Symbol.for=="function",Oc=mg&&Symbol.asyncIterator;Tn(function(){return window.document.createElement}),Tn(function(){return navigator.userAgent.indexOf("jsdom")>=0});function jt(e){return e!==null&&typeof e=="object"}function AC(e,t){var n=t,r=[];e.definitions.forEach(function(a){if(a.kind==="OperationDefinition")throw an(68,a.operation,a.name?" named '".concat(a.name.value,"'"):"");a.kind==="FragmentDefinition"&&r.push(a)}),typeof n>"u"&&(wt(r.length===1,69,r.length),n=r[0].name.value);var i=k(k({},e),{definitions:Lr([{kind:"OperationDefinition",operation:"query",selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:n}}]}}],e.definitions,!0)});return i}function Uc(e){e===void 0&&(e=[]);var t={};return e.forEach(function(n){t[n.name.value]=n}),t}function Lc(e,t){switch(e.kind){case"InlineFragment":return e;case"FragmentSpread":{var n=e.name.value;if(typeof t=="function")return t(n);var r=t&&t[n];return wt(r,70,n),r||null}default:return null}}function oa(e){return{__ref:String(e)}}function kt(e){return!!(e&&typeof e=="object"&&typeof e.__ref=="string")}function hC(e){return jt(e)&&e.kind==="Document"&&Array.isArray(e.definitions)}function fC(e){return e.kind==="StringValue"}function gC(e){return e.kind==="BooleanValue"}function dC(e){return e.kind==="IntValue"}function pC(e){return e.kind==="FloatValue"}function mC(e){return e.kind==="Variable"}function yC(e){return e.kind==="ObjectValue"}function wC(e){return e.kind==="ListValue"}function vC(e){return e.kind==="EnumValue"}function EC(e){return e.kind==="NullValue"}function ca(e,t,n,r){if(dC(n)||pC(n))e[t.value]=Number(n.value);else if(gC(n)||fC(n))e[t.value]=n.value;else if(yC(n)){var i={};n.fields.map(function(s){return ca(i,s.name,s.value,r)}),e[t.value]=i}else if(mC(n)){var a=(r||{})[n.name.value];e[t.value]=a}else if(wC(n))e[t.value]=n.values.map(function(s){var o={};return ca(o,t,s,r),o[t.value]});else if(vC(n))e[t.value]=n.value;else if(EC(n))e[t.value]=null;else throw an(79,t.value,n.kind)}function BC(e,t){var n=null;e.directives&&(n={},e.directives.forEach(function(i){n[i.name.value]={},i.arguments&&i.arguments.forEach(function(a){var s=a.name,o=a.value;return ca(n[i.name.value],s,o,t)})}));var r=null;return e.arguments&&e.arguments.length&&(r={},e.arguments.forEach(function(i){var a=i.name,s=i.value;return ca(r,a,s,t)})),qu(e.name.value,r,n)}var CC=["connection","include","skip","client","rest","export","nonreactive"],qu=Object.assign(function(e,t,n){if(t&&n&&n.connection&&n.connection.key)if(n.connection.filter&&n.connection.filter.length>0){var r=n.connection.filter?n.connection.filter:[];r.sort();var i={};return r.forEach(function(o){i[o]=t[o]}),"".concat(n.connection.key,"(").concat(ms(i),")")}else return n.connection.key;var a=e;if(t){var s=ms(t);a+="(".concat(s,")")}return n&&Object.keys(n).forEach(function(o){CC.indexOf(o)===-1&&(n[o]&&Object.keys(n[o]).length?a+="@".concat(o,"(").concat(ms(n[o]),")"):a+="@".concat(o))}),a},{setStringify:function(e){var t=ms;return ms=e,t}}),ms=function(t){return JSON.stringify(t,xC)};function xC(e,t){return jt(t)&&!Array.isArray(t)&&(t=Object.keys(t).sort().reduce(function(n,r){return n[r]=t[r],n},{})),t}function Yc(e,t){if(e.arguments&&e.arguments.length){var n={};return e.arguments.forEach(function(r){var i=r.name,a=r.value;return ca(n,i,a,t)}),n}return null}function Hr(e){return e.alias?e.alias.value:e.name.value}function Zu(e,t,n){for(var r,i=0,a=t.selections;i<a.length;i++){var s=a[i];if(Gr(s)){if(s.name.value==="__typename")return e[Hr(s)]}else r?r.push(s):r=[s]}if(typeof e.__typename=="string")return e.__typename;if(r)for(var o=0,c=r;o<c.length;o++){var s=c[o],l=Zu(e,Lc(s,n).selectionSet,n);if(typeof l=="string")return l}}function Gr(e){return e.kind==="Field"}function bC(e){return e.kind==="InlineFragment"}function ys(e){wt(e&&e.kind==="Document",71);var t=e.definitions.filter(function(n){return n.kind!=="FragmentDefinition"}).map(function(n){if(n.kind!=="OperationDefinition")throw an(72,n.kind);return n});return wt(t.length<=1,73,t.length),e}function ws(e){return ys(e),e.definitions.filter(function(t){return t.kind==="OperationDefinition"})[0]}function $u(e){return e.definitions.filter(function(t){return t.kind==="OperationDefinition"&&!!t.name}).map(function(t){return t.name.value})[0]||null}function Hc(e){return e.definitions.filter(function(t){return t.kind==="FragmentDefinition"})}function yg(e){var t=ws(e);return wt(t&&t.operation==="query",74),t}function SC(e){wt(e.kind==="Document",75),wt(e.definitions.length<=1,76);var t=e.definitions[0];return wt(t.kind==="FragmentDefinition",77),t}function vs(e){ys(e);for(var t,n=0,r=e.definitions;n<r.length;n++){var i=r[n];if(i.kind==="OperationDefinition"){var a=i.operation;if(a==="query"||a==="mutation"||a==="subscription")return i}i.kind==="FragmentDefinition"&&!t&&(t=i)}if(t)return t;throw an(78)}function tA(e){var t=Object.create(null),n=e&&e.variableDefinitions;return n&&n.length&&n.forEach(function(r){r.defaultValue&&ca(t,r.variable.name,r.defaultValue)}),t}function DC(e){return e}var wg=function(){function e(t,n){n===void 0&&(n=Object.create(null)),this.resultCache=pg?new WeakSet:new Set,this.transform=t,n.getCacheKey&&(this.getCacheKey=n.getCacheKey),n.cache!==!1&&(this.stableCacheKeys=new Yr(fr,function(r){return{key:r}}))}return e.prototype.getCacheKey=function(t){return[t]},e.identity=function(){return new e(DC,{cache:!1})},e.split=function(t,n,r){return r===void 0&&(r=e.identity()),new e(function(i){var a=t(i)?n:r;return a.transformDocument(i)},{cache:!1})},e.prototype.transformDocument=function(t){if(this.resultCache.has(t))return t;var n=this.getStableCacheEntry(t);if(n&&n.value)return n.value;ys(t);var r=this.transform(t);return this.resultCache.add(r),n&&(n.value=r),r},e.prototype.concat=function(t){var n=this;return new e(function(r){return t.transformDocument(n.transformDocument(r))},{cache:!1})},e.prototype.getStableCacheEntry=function(t){if(this.stableCacheKeys){var n=this.getCacheKey(t);if(n)return wt(Array.isArray(n),63),this.stableCacheKeys.lookupArray(n)}},e}(),la=fr?new WeakMap:void 0,vg=function(e){var t;return t=la==null?void 0:la.get(e),t||(t=eC(e),la==null||la.set(e,t)),t},oe=Array.isArray;function er(e){return Array.isArray(e)&&e.length>0}var Eg={kind:et.FIELD,name:{kind:et.NAME,value:"__typename"}};function Bg(e,t){return!e||e.selectionSet.selections.every(function(n){return n.kind===et.FRAGMENT_SPREAD&&Bg(t[n.name.value],t)})}function IC(e){return Bg(ws(e)||SC(e),Uc(Hc(e)))?null:e}function FC(e){var t=new Map,n=new Map;return e.forEach(function(r){r&&(r.name?t.set(r.name,r):r.test&&n.set(r.test,r))}),function(r){var i=t.get(r.name.value);return!i&&n.size&&n.forEach(function(a,s){s(r)&&(i=a)}),i}}function Cg(e){var t=new Map;return function(r){r===void 0&&(r=e);var i=t.get(r);return i||t.set(r,i={variables:new Set,fragmentSpreads:new Set}),i}}function xg(e,t){ys(t);for(var n=Cg(""),r=Cg(""),i=function(y){for(var v=0,w=void 0;v<y.length&&(w=y[v]);++v)if(!oe(w)){if(w.kind===et.OPERATION_DEFINITION)return n(w.name&&w.name.value);if(w.kind===et.FRAGMENT_DEFINITION)return r(w.name.value)}return globalThis.__DEV__!==!1&&wt.error(80),null},a=0,s=t.definitions.length-1;s>=0;--s)t.definitions[s].kind===et.OPERATION_DEFINITION&&++a;var o=FC(e),c=function(y){return er(y)&&y.map(o).some(function(v){return v&&v.remove})},l=new Map,u=!1,A={enter:function(y){if(c(y.directives))return u=!0,null}},h=hr(t,{Field:A,InlineFragment:A,VariableDefinition:{enter:function(){return!1}},Variable:{enter:function(y,v,w,B,C){var x=i(C);x&&x.variables.add(y.name.value)}},FragmentSpread:{enter:function(y,v,w,B,C){if(c(y.directives))return u=!0,null;var x=i(C);x&&x.fragmentSpreads.add(y.name.value)}},FragmentDefinition:{enter:function(y,v,w,B){l.set(JSON.stringify(B),y)},leave:function(y,v,w,B){var C=l.get(JSON.stringify(B));if(y===C)return y;if(a>0&&y.selectionSet.selections.every(function(x){return x.kind===et.FIELD&&x.name.value==="__typename"}))return r(y.name.value).removed=!0,u=!0,null}},Directive:{leave:function(y){if(o(y))return u=!0,null}}});if(!u)return t;var f=function(y){return y.transitiveVars||(y.transitiveVars=new Set(y.variables),y.removed||y.fragmentSpreads.forEach(function(v){f(r(v)).transitiveVars.forEach(function(w){y.transitiveVars.add(w)})})),y},d=new Set;h.definitions.forEach(function(y){y.kind===et.OPERATION_DEFINITION?f(n(y.name&&y.name.value)).fragmentSpreads.forEach(function(v){d.add(v)}):y.kind===et.FRAGMENT_DEFINITION&&a===0&&!r(y.name.value).removed&&d.add(y.name.value)}),d.forEach(function(y){f(r(y)).fragmentSpreads.forEach(function(v){d.add(v)})});var p=function(y){return!!(!d.has(y)||r(y).removed)},m={enter:function(y){if(p(y.name.value))return null}};return IC(hr(h,{FragmentSpread:m,FragmentDefinition:m,OperationDefinition:{leave:function(y){if(y.variableDefinitions){var v=f(n(y.name&&y.name.value)).transitiveVars;if(v.size<y.variableDefinitions.length)return k(k({},y),{variableDefinitions:y.variableDefinitions.filter(function(w){return v.has(w.variable.name.value)})})}}}}))}var eA=Object.assign(function(e){return hr(e,{SelectionSet:{enter:function(t,n,r){if(!(r&&r.kind===et.OPERATION_DEFINITION)){var i=t.selections;if(i){var a=i.some(function(o){return Gr(o)&&(o.name.value==="__typename"||o.name.value.lastIndexOf("__",0)===0)});if(!a){var s=r;if(!(Gr(s)&&s.directives&&s.directives.some(function(o){return o.name.value==="export"})))return k(k({},t),{selections:Lr(Lr([],i,!0),[Eg],!1)})}}}}}})},{added:function(e){return e===Eg}});function QC(e){var t=vs(e),n=t.operation;if(n==="query")return e;var r=hr(e,{OperationDefinition:{enter:function(i){return k(k({},i),{operation:"query"})}}});return r}function bg(e){ys(e);var t=xg([{test:function(n){return n.name.value==="client"},remove:!0}],e);return t}var MC=Object.prototype.hasOwnProperty;function Sg(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return nA(e)}function nA(e){var t=e[0]||{},n=e.length;if(n>1)for(var r=new Vr,i=1;i<n;++i)t=r.merge(t,e[i]);return t}var TC=function(e,t,n){return this.merge(e[n],t[n])},Vr=function(){function e(t){t===void 0&&(t=TC),this.reconciler=t,this.isObject=jt,this.pastCopies=new Set}return e.prototype.merge=function(t,n){for(var r=this,i=[],a=2;a<arguments.length;a++)i[a-2]=arguments[a];return jt(n)&&jt(t)?(Object.keys(n).forEach(function(s){if(MC.call(t,s)){var o=t[s];if(n[s]!==o){var c=r.reconciler.apply(r,Lr([t,n,s],i,!1));c!==o&&(t=r.shallowCopyForMerge(t),t[s]=c)}}else t=r.shallowCopyForMerge(t),t[s]=n[s]}),t):n},e.prototype.shallowCopyForMerge=function(t){return jt(t)&&(this.pastCopies.has(t)||(Array.isArray(t)?t=t.slice(0):t=k({__proto__:Object.getPrototypeOf(t)},t),this.pastCopies.add(t))),t},e}();function NC(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=PC(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
50
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function PC(e,t){if(e){if(typeof e=="string")return Dg(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Dg(e,t)}}function Dg(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Ig(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function rA(e,t,n){return t&&Ig(e.prototype,t),n&&Ig(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}var iA=function(){return typeof Symbol=="function"},aA=function(e){return iA()&&!!Symbol[e]},sA=function(e){return aA(e)?Symbol[e]:"@@"+e};iA()&&!aA("observable")&&(Symbol.observable=Symbol("observable"));var kC=sA("iterator"),oA=sA("observable"),Fg=sA("species");function Gc(e,t){var n=e[t];if(n!=null){if(typeof n!="function")throw new TypeError(n+" is not a function");return n}}function Es(e){var t=e.constructor;return t!==void 0&&(t=t[Fg],t===null&&(t=void 0)),t!==void 0?t:Ut}function RC(e){return e instanceof Ut}function ua(e){ua.log?ua.log(e):setTimeout(function(){throw e})}function Vc(e){Promise.resolve().then(function(){try{e()}catch(t){ua(t)}})}function Qg(e){var t=e._cleanup;if(t!==void 0&&(e._cleanup=void 0,!!t))try{if(typeof t=="function")t();else{var n=Gc(t,"unsubscribe");n&&n.call(t)}}catch(r){ua(r)}}function cA(e){e._observer=void 0,e._queue=void 0,e._state="closed"}function OC(e){var t=e._queue;if(t){e._queue=void 0,e._state="ready";for(var n=0;n<t.length&&(Mg(e,t[n].type,t[n].value),e._state!=="closed");++n);}}function Mg(e,t,n){e._state="running";var r=e._observer;try{var i=Gc(r,t);switch(t){case"next":i&&i.call(r,n);break;case"error":if(cA(e),i)i.call(r,n);else throw n;break;case"complete":cA(e),i&&i.call(r);break}}catch(a){ua(a)}e._state==="closed"?Qg(e):e._state==="running"&&(e._state="ready")}function lA(e,t,n){if(e._state!=="closed"){if(e._state==="buffering"){e._queue.push({type:t,value:n});return}if(e._state!=="ready"){e._state="buffering",e._queue=[{type:t,value:n}],Vc(function(){return OC(e)});return}Mg(e,t,n)}}var UC=function(){function e(n,r){this._cleanup=void 0,this._observer=n,this._queue=void 0,this._state="initializing";var i=new LC(this);try{this._cleanup=r.call(void 0,i)}catch(a){i.error(a)}this._state==="initializing"&&(this._state="ready")}var t=e.prototype;return t.unsubscribe=function(){this._state!=="closed"&&(cA(this),Qg(this))},rA(e,[{key:"closed",get:function(){return this._state==="closed"}}]),e}(),LC=function(){function e(n){this._subscription=n}var t=e.prototype;return t.next=function(r){lA(this._subscription,"next",r)},t.error=function(r){lA(this._subscription,"error",r)},t.complete=function(){lA(this._subscription,"complete")},rA(e,[{key:"closed",get:function(){return this._subscription._state==="closed"}}]),e}(),Ut=function(){function e(n){if(!(this instanceof e))throw new TypeError("Observable cannot be called as a function");if(typeof n!="function")throw new TypeError("Observable initializer must be a function");this._subscriber=n}var t=e.prototype;return t.subscribe=function(r){return(typeof r!="object"||r===null)&&(r={next:r,error:arguments[1],complete:arguments[2]}),new UC(r,this._subscriber)},t.forEach=function(r){var i=this;return new Promise(function(a,s){if(typeof r!="function"){s(new TypeError(r+" is not a function"));return}function o(){c.unsubscribe(),a()}var c=i.subscribe({next:function(l){try{r(l,o)}catch(u){s(u),c.unsubscribe()}},error:s,complete:a})})},t.map=function(r){var i=this;if(typeof r!="function")throw new TypeError(r+" is not a function");var a=Es(this);return new a(function(s){return i.subscribe({next:function(o){try{o=r(o)}catch(c){return s.error(c)}s.next(o)},error:function(o){s.error(o)},complete:function(){s.complete()}})})},t.filter=function(r){var i=this;if(typeof r!="function")throw new TypeError(r+" is not a function");var a=Es(this);return new a(function(s){return i.subscribe({next:function(o){try{if(!r(o))return}catch(c){return s.error(c)}s.next(o)},error:function(o){s.error(o)},complete:function(){s.complete()}})})},t.reduce=function(r){var i=this;if(typeof r!="function")throw new TypeError(r+" is not a function");var a=Es(this),s=arguments.length>1,o=!1,c=arguments[1],l=c;return new a(function(u){return i.subscribe({next:function(A){var h=!o;if(o=!0,!h||s)try{l=r(l,A)}catch(f){return u.error(f)}else l=A},error:function(A){u.error(A)},complete:function(){if(!o&&!s)return u.error(new TypeError("Cannot reduce an empty sequence"));u.next(l),u.complete()}})})},t.concat=function(){for(var r=this,i=arguments.length,a=new Array(i),s=0;s<i;s++)a[s]=arguments[s];var o=Es(this);return new o(function(c){var l,u=0;function A(h){l=h.subscribe({next:function(f){c.next(f)},error:function(f){c.error(f)},complete:function(){u===a.length?(l=void 0,c.complete()):A(o.from(a[u++]))}})}return A(r),function(){l&&(l.unsubscribe(),l=void 0)}})},t.flatMap=function(r){var i=this;if(typeof r!="function")throw new TypeError(r+" is not a function");var a=Es(this);return new a(function(s){var o=[],c=i.subscribe({next:function(u){if(r)try{u=r(u)}catch(h){return s.error(h)}var A=a.from(u).subscribe({next:function(h){s.next(h)},error:function(h){s.error(h)},complete:function(){var h=o.indexOf(A);h>=0&&o.splice(h,1),l()}});o.push(A)},error:function(u){s.error(u)},complete:function(){l()}});function l(){c.closed&&o.length===0&&s.complete()}return function(){o.forEach(function(u){return u.unsubscribe()}),c.unsubscribe()}})},t[oA]=function(){return this},e.from=function(r){var i=typeof this=="function"?this:e;if(r==null)throw new TypeError(r+" is not an object");var a=Gc(r,oA);if(a){var s=a.call(r);if(Object(s)!==s)throw new TypeError(s+" is not an object");return RC(s)&&s.constructor===i?s:new i(function(o){return s.subscribe(o)})}if(aA("iterator")&&(a=Gc(r,kC),a))return new i(function(o){Vc(function(){if(!o.closed){for(var c=NC(a.call(r)),l;!(l=c()).done;){var u=l.value;if(o.next(u),o.closed)return}o.complete()}})});if(Array.isArray(r))return new i(function(o){Vc(function(){if(!o.closed){for(var c=0;c<r.length;++c)if(o.next(r[c]),o.closed)return;o.complete()}})});throw new TypeError(r+" is not observable")},e.of=function(){for(var r=arguments.length,i=new Array(r),a=0;a<r;a++)i[a]=arguments[a];var s=typeof this=="function"?this:e;return new s(function(o){Vc(function(){if(!o.closed){for(var c=0;c<i.length;++c)if(o.next(i[c]),o.closed)return;o.complete()}})})},rA(e,null,[{key:Fg,get:function(){return this}}]),e}();iA()&&Object.defineProperty(Ut,Symbol("extensions"),{value:{symbol:oA,hostReportError:ua},configurable:!0});function YC(e){var t,n=e.Symbol;if(typeof n=="function")if(n.observable)t=n.observable;else{typeof n.for=="function"?t=n.for("https://github.com/benlesh/symbol-observable"):t=n("https://github.com/benlesh/symbol-observable");try{n.observable=t}catch{}}else t="@@observable";return t}var Aa;typeof self<"u"?Aa=self:typeof window<"u"?Aa=window:typeof global<"u"?Aa=global:typeof module<"u"?Aa=module:Aa=Function("return this")(),YC(Aa);var Tg=Ut.prototype,Ng="@@observable";Tg[Ng]||(Tg[Ng]=function(){return this});var HC=Object.prototype.toString;function Pg(e){return uA(e)}function uA(e,t){switch(HC.call(e)){case"[object Array]":{if(t=t||new Map,t.has(e))return t.get(e);var n=e.slice(0);return t.set(e,n),n.forEach(function(i,a){n[a]=uA(i,t)}),n}case"[object Object]":{if(t=t||new Map,t.has(e))return t.get(e);var r=Object.create(Object.getPrototypeOf(e));return t.set(e,r),Object.keys(e).forEach(function(i){r[i]=uA(e[i],t)}),r}default:return e}}function GC(e){var t=new Set([e]);return t.forEach(function(n){jt(n)&&VC(n)===n&&Object.getOwnPropertyNames(n).forEach(function(r){jt(n[r])&&t.add(n[r])})}),e}function VC(e){if(globalThis.__DEV__!==!1&&!Object.isFrozen(e))try{Object.freeze(e)}catch(t){if(t instanceof TypeError)return null;throw t}return e}function AA(e){return globalThis.__DEV__!==!1&&GC(e),e}function Bs(e,t,n){var r=[];e.forEach(function(i){return i[t]&&r.push(i)}),r.forEach(function(i){return i[t](n)})}function hA(e,t,n){return new Ut(function(r){var i=r.next,a=r.error,s=r.complete,o=0,c=!1,l={then:function(f){return new Promise(function(d){return d(f())})}};function u(f,d){return f?function(p){++o;var m=function(){return f(p)};l=l.then(m,m).then(function(y){--o,i&&i.call(r,y),c&&A.complete()},function(y){throw--o,y}).catch(function(y){a&&a.call(r,y)})}:function(p){return d&&d.call(r,p)}}var A={next:u(t,i),error:u(n,a),complete:function(){c=!0,o||s&&s.call(r)}},h=e.subscribe(A);return function(){return h.unsubscribe()}})}function kg(e){function t(n){Object.defineProperty(e,n,{value:Ut})}return mg&&Symbol.species&&t(Symbol.species),t("@@species"),e}function Rg(e){return e&&typeof e.then=="function"}var ha=function(e){He(t,e);function t(n){var r=e.call(this,function(i){return r.addObserver(i),function(){return r.removeObserver(i)}})||this;return r.observers=new Set,r.promise=new Promise(function(i,a){r.resolve=i,r.reject=a}),r.handlers={next:function(i){r.sub!==null&&(r.latest=["next",i],r.notify("next",i),Bs(r.observers,"next",i))},error:function(i){var a=r.sub;a!==null&&(a&&setTimeout(function(){return a.unsubscribe()}),r.sub=null,r.latest=["error",i],r.reject(i),r.notify("error",i),Bs(r.observers,"error",i))},complete:function(){var i=r,a=i.sub,s=i.sources,o=s===void 0?[]:s;if(a!==null){var c=o.shift();c?Rg(c)?c.then(function(l){return r.sub=l.subscribe(r.handlers)}):r.sub=c.subscribe(r.handlers):(a&&setTimeout(function(){return a.unsubscribe()}),r.sub=null,r.latest&&r.latest[0]==="next"?r.resolve(r.latest[1]):r.resolve(),r.notify("complete"),Bs(r.observers,"complete"))}}},r.nextResultListeners=new Set,r.cancel=function(i){r.reject(i),r.sources=[],r.handlers.complete()},r.promise.catch(function(i){}),typeof n=="function"&&(n=[new Ut(n)]),Rg(n)?n.then(function(i){return r.start(i)},r.handlers.error):r.start(n),r}return t.prototype.start=function(n){this.sub===void 0&&(this.sources=Array.from(n),this.handlers.complete())},t.prototype.deliverLastMessage=function(n){if(this.latest){var r=this.latest[0],i=n[r];i&&i.call(n,this.latest[1]),this.sub===null&&r==="next"&&n.complete&&n.complete()}},t.prototype.addObserver=function(n){this.observers.has(n)||(this.deliverLastMessage(n),this.observers.add(n))},t.prototype.removeObserver=function(n){this.observers.delete(n)&&this.observers.size<1&&this.handlers.complete()},t.prototype.notify=function(n,r){var i=this.nextResultListeners;i.size&&(this.nextResultListeners=new Set,i.forEach(function(a){return a(n,r)}))},t.prototype.beforeNext=function(n){var r=!1;this.nextResultListeners.add(function(i,a){r||(r=!0,n(i,a))})},t}(Ut);kg(ha);function fa(e){return"incremental"in e}function zC(e){return"hasNext"in e&&"data"in e}function JC(e){return fa(e)||zC(e)}function jC(e){return jt(e)&&"payload"in e}function Og(e,t){var n=e,r=new Vr;return fa(t)&&er(t.incremental)&&t.incremental.forEach(function(i){for(var a=i.data,s=i.path,o=s.length-1;o>=0;--o){var c=s[o],l=!isNaN(+c),u=l?[]:{};u[c]=a,a=u}n=r.merge(n,a)}),n}function zc(e){var t=fA(e);return er(t)}function fA(e){var t=er(e.errors)?e.errors.slice(0):[];return fa(e)&&er(e.incremental)&&e.incremental.forEach(function(n){n.errors&&t.push.apply(t,n.errors)}),t}function ga(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=Object.create(null);return e.forEach(function(r){r&&Object.keys(r).forEach(function(i){var a=r[i];a!==void 0&&(n[i]=a)})}),n}function gA(e,t){return ga(e,t,t.variables&&{variables:ga(k(k({},e&&e.variables),t.variables))})}function dA(e){return new Ut(function(t){t.error(e)})}var pA=function(e,t,n){var r=new Error(n);throw r.name="ServerError",r.response=e,r.statusCode=e.status,r.result=t,r};function WC(e){for(var t=["query","operationName","variables","extensions","context"],n=0,r=Object.keys(e);n<r.length;n++){var i=r[n];if(t.indexOf(i)<0)throw an(41,i)}return e}function KC(e,t){var n=k({},e),r=function(a){typeof a=="function"?n=k(k({},n),a(n)):n=k(k({},n),a)},i=function(){return k({},n)};return Object.defineProperty(t,"setContext",{enumerable:!1,value:r}),Object.defineProperty(t,"getContext",{enumerable:!1,value:i}),t}function XC(e){var t={variables:e.variables||{},extensions:e.extensions||{},operationName:e.operationName,query:e.query};return t.operationName||(t.operationName=typeof t.query!="string"?$u(t.query)||void 0:""),t}function _C(e,t){var n=k({},e),r=new Set(Object.keys(e));return hr(t,{Variable:function(i,a,s){s&&s.kind!=="VariableDefinition"&&r.delete(i.name.value)}}),r.forEach(function(i){delete n[i]}),n}function Ug(e,t){return t?t(e):Ut.of()}function Cs(e){return typeof e=="function"?new gr(e):e}function Jc(e){return e.request.length<=1}var gr=function(){function e(t){t&&(this.request=t)}return e.empty=function(){return new e(function(){return Ut.of()})},e.from=function(t){return t.length===0?e.empty():t.map(Cs).reduce(function(n,r){return n.concat(r)})},e.split=function(t,n,r){var i=Cs(n),a=Cs(r||new e(Ug));return Jc(i)&&Jc(a)?new e(function(s){return t(s)?i.request(s)||Ut.of():a.request(s)||Ut.of()}):new e(function(s,o){return t(s)?i.request(s,o)||Ut.of():a.request(s,o)||Ut.of()})},e.execute=function(t,n){return t.request(KC(n.context,XC(WC(n))))||Ut.of()},e.concat=function(t,n){var r=Cs(t);if(Jc(r))return globalThis.__DEV__!==!1&&wt.warn(33,r),r;var i=Cs(n);return Jc(i)?new e(function(a){return r.request(a,function(s){return i.request(s)||Ut.of()})||Ut.of()}):new e(function(a,s){return r.request(a,function(o){return i.request(o,s)||Ut.of()})||Ut.of()})},e.prototype.split=function(t,n,r){return this.concat(e.split(t,n,r||new e(Ug)))},e.prototype.concat=function(t){return e.concat(this,t)},e.prototype.request=function(t,n){throw an(34)},e.prototype.onError=function(t,n){if(n&&n.error)return n.error(t),!1;throw t},e.prototype.setOnError=function(t){return this.onError=t,this},e}(),qC=gr.from,mA=gr.execute;function ZC(e){var t,n=e[Symbol.asyncIterator]();return t={next:function(){return n.next()}},t[Symbol.asyncIterator]=function(){return this},t}function $C(e){var t=null,n=null,r=!1,i=[],a=[];function s(A){if(!n){if(a.length){var h=a.shift();if(Array.isArray(h)&&h[0])return h[0]({value:A,done:!1})}i.push(A)}}function o(A){n=A;var h=a.slice();h.forEach(function(f){f[1](A)}),!t||t()}function c(){r=!0;var A=a.slice();A.forEach(function(h){h[0]({value:void 0,done:!0})}),!t||t()}t=function(){t=null,e.removeListener("data",s),e.removeListener("error",o),e.removeListener("end",c),e.removeListener("finish",c),e.removeListener("close",c)},e.on("data",s),e.on("error",o),e.on("end",c),e.on("finish",c),e.on("close",c);function l(){return new Promise(function(A,h){if(n)return h(n);if(i.length)return A({value:i.shift(),done:!1});if(r)return A({value:void 0,done:!0});a.push([A,h])})}var u={next:function(){return l()}};return Oc&&(u[Symbol.asyncIterator]=function(){return this}),u}function tx(e){var t=!1,n={next:function(){return t?Promise.resolve({value:void 0,done:!0}):(t=!0,new Promise(function(r,i){e.then(function(a){r({value:a,done:!1})}).catch(i)}))}};return Oc&&(n[Symbol.asyncIterator]=function(){return this}),n}function Lg(e){var t={next:function(){return e.read()}};return Oc&&(t[Symbol.asyncIterator]=function(){return this}),t}function ex(e){return!!e.body}function nx(e){return!!e.getReader}function rx(e){return!!(Oc&&e[Symbol.asyncIterator])}function ix(e){return!!e.stream}function ax(e){return!!e.arrayBuffer}function sx(e){return!!e.pipe}function ox(e){var t=e;if(ex(e)&&(t=e.body),rx(t))return ZC(t);if(nx(t))return Lg(t.getReader());if(ix(t))return Lg(t.stream().getReader());if(ax(t))return tx(t.arrayBuffer());if(sx(t))return $C(t);throw new Error("Unknown body type for responseIterator. Please pass a streamable response.")}var yA=Symbol();function cx(e){return e.extensions?Array.isArray(e.extensions[yA]):!1}function lx(e){return e.hasOwnProperty("graphQLErrors")}var ux=function(e){var t=Lr(Lr(Lr([],e.graphQLErrors,!0),e.clientErrors,!0),e.protocolErrors,!0);return e.networkError&&t.push(e.networkError),t.map(function(n){return jt(n)&&n.message||"Error message not found."}).join(`
51
- `)},da=function(e){He(t,e);function t(n){var r=n.graphQLErrors,i=n.protocolErrors,a=n.clientErrors,s=n.networkError,o=n.errorMessage,c=n.extraInfo,l=e.call(this,o)||this;return l.name="ApolloError",l.graphQLErrors=r||[],l.protocolErrors=i||[],l.clientErrors=a||[],l.networkError=s||null,l.message=o||ux(l),l.extraInfo=c,l.__proto__=t.prototype,l}return t}(Error),Yg=Object.prototype.hasOwnProperty;function Ax(e,t){var n;return Or(this,void 0,void 0,function(){var r,i,a,s,o,c,l,u,A,h,f,d,p,m,y,v,w,B,C,x,b,D,T;return Ur(this,function(P){switch(P.label){case 0:if(TextDecoder===void 0)throw new Error("TextDecoder must be defined in the environment: please import a polyfill.");r=new TextDecoder("utf-8"),i=(n=e.headers)===null||n===void 0?void 0:n.get("content-type"),a="boundary=",s=i!=null&&i.includes(a)?i==null?void 0:i.substring((i==null?void 0:i.indexOf(a))+a.length).replace(/['"]/g,"").replace(/\;(.*)/gm,"").trim():"-",o=`\r
52
- --`.concat(s),c="",l=ox(e),u=!0,P.label=1;case 1:return u?[4,l.next()]:[3,3];case 2:for(A=P.sent(),h=A.value,f=A.done,d=typeof h=="string"?h:r.decode(h),p=c.length-o.length+1,u=!f,c+=d,m=c.indexOf(o,p);m>-1;){if(y=void 0,D=[c.slice(0,m),c.slice(m+o.length)],y=D[0],c=D[1],v=y.indexOf(`\r
53
- \r
54
- `),w=hx(y.slice(0,v)),B=w["content-type"],B&&B.toLowerCase().indexOf("application/json")===-1)throw new Error("Unsupported patch content type: application/json is required.");if(C=y.slice(v),C){if(x=Hg(e,C),Object.keys(x).length>1||"data"in x||"incremental"in x||"errors"in x||"payload"in x)jC(x)?(b={},"payload"in x&&(b=k({},x.payload)),"errors"in x&&(b=k(k({},b),{extensions:k(k({},"extensions"in b?b.extensions:null),(T={},T[yA]=x.errors,T))})),t(b)):t(x);else if(Object.keys(x).length===1&&"hasNext"in x&&!x.hasNext)return[2]}m=c.indexOf(o)}return[3,1];case 3:return[2]}})})}function hx(e){var t={};return e.split(`
55
- `).forEach(function(n){var r=n.indexOf(":");if(r>-1){var i=n.slice(0,r).trim().toLowerCase(),a=n.slice(r+1).trim();t[i]=a}}),t}function Hg(e,t){if(e.status>=300){var n=function(){try{return JSON.parse(t)}catch{return t}};pA(e,n(),"Response not successful: Received status code ".concat(e.status))}try{return JSON.parse(t)}catch(i){var r=i;throw r.name="ServerParseError",r.response=e,r.statusCode=e.status,r.bodyText=t,r}}function fx(e,t){e.result&&e.result.errors&&e.result.data&&t.next(e.result),t.error(e)}function gx(e){return function(t){return t.text().then(function(n){return Hg(t,n)}).then(function(n){return t.status>=300&&pA(t,n,"Response not successful: Received status code ".concat(t.status)),!Array.isArray(n)&&!Yg.call(n,"data")&&!Yg.call(n,"errors")&&pA(t,n,"Server response was missing for query '".concat(Array.isArray(e)?e.map(function(r){return r.operationName}):e.operationName,"'.")),n})}}var wA=function(e,t){var n;try{n=JSON.stringify(e)}catch(i){var r=an(37,t,i.message);throw r.parseError=i,r}return n},dx={includeQuery:!0,includeExtensions:!1,preserveHeaderCase:!1},px={accept:"*/*","content-type":"application/json"},mx={method:"POST"},yx={http:dx,headers:px,options:mx},wx=function(e,t){return t(e)};function vx(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];var i={},a={};n.forEach(function(A){i=k(k(k({},i),A.options),{headers:k(k({},i.headers),A.headers)}),A.credentials&&(i.credentials=A.credentials),a=k(k({},a),A.http)}),i.headers&&(i.headers=Ex(i.headers,a.preserveHeaderCase));var s=e.operationName,o=e.extensions,c=e.variables,l=e.query,u={operationName:s,variables:c};return a.includeExtensions&&(u.extensions=o),a.includeQuery&&(u.query=t(l,vg)),{options:i,body:u}}function Ex(e,t){if(!t){var n=Object.create(null);return Object.keys(Object(e)).forEach(function(a){n[a.toLowerCase()]=e[a]}),n}var r=Object.create(null);Object.keys(Object(e)).forEach(function(a){r[a.toLowerCase()]={originalName:a,value:e[a]}});var i=Object.create(null);return Object.keys(r).forEach(function(a){i[r[a].originalName]=r[a].value}),i}var Bx=function(e){if(!e&&typeof fetch>"u")throw an(35)},Cx=function(e,t){var n=e.getContext(),r=n.uri;return r||(typeof t=="function"?t(e):t||"/graphql")};function xx(e,t){var n=[],r=function(A,h){n.push("".concat(A,"=").concat(encodeURIComponent(h)))};if("query"in t&&r("query",t.query),t.operationName&&r("operationName",t.operationName),t.variables){var i=void 0;try{i=wA(t.variables,"Variables map")}catch(A){return{parseError:A}}r("variables",i)}if(t.extensions){var a=void 0;try{a=wA(t.extensions,"Extensions map")}catch(A){return{parseError:A}}r("extensions",a)}var s="",o=e,c=e.indexOf("#");c!==-1&&(s=e.substr(c),o=e.substr(0,c));var l=o.indexOf("?")===-1?"?":"&",u=o+l+n.join("&")+s;return{newURI:u}}var Gg=Tn(function(){return fetch}),Vg=function(e){e===void 0&&(e={});var t=e.uri,n=t===void 0?"/graphql":t,r=e.fetch,i=e.print,a=i===void 0?wx:i,s=e.includeExtensions,o=e.preserveHeaderCase,c=e.useGETForQueries,l=e.includeUnusedVariables,u=l===void 0?!1:l,A=Ar(e,["uri","fetch","print","includeExtensions","preserveHeaderCase","useGETForQueries","includeUnusedVariables"]);globalThis.__DEV__!==!1&&Bx(r||Gg);var h={http:{includeExtensions:s,preserveHeaderCase:o},options:A.fetchOptions,credentials:A.credentials,headers:A.headers};return new gr(function(f){var d=Cx(f,n),p=f.getContext(),m={};if(p.clientAwareness){var y=p.clientAwareness,v=y.name,w=y.version;v&&(m["apollographql-client-name"]=v),w&&(m["apollographql-client-version"]=w)}var B=k(k({},m),p.headers),C={http:p.http,options:p.fetchOptions,credentials:p.credentials,headers:B};if(ps(["client"],f.query)){var x=bg(f.query);if(!x)return dA(new Error("HttpLink: Trying to send a client-only query to the server. To send to the server, ensure a non-client field is added to the query or set the `transformOptions.removeClientFields` option to `true`."));f.query=x}var b=vx(f,a,yx,h,C),D=b.options,T=b.body;T.variables&&!u&&(T.variables=_C(T.variables,f.query));var P;!D.signal&&typeof AbortController<"u"&&(P=new AbortController,D.signal=P.signal);var L=function(O){return O.kind==="OperationDefinition"&&O.operation==="mutation"},U=function(O){return O.kind==="OperationDefinition"&&O.operation==="subscription"},z=U(vs(f.query)),J=ps(["defer"],f.query);if(c&&!f.query.definitions.some(L)&&(D.method="GET"),J||z){D.headers=D.headers||{};var W="multipart/mixed;";z&&J&&globalThis.__DEV__!==!1&&wt.warn(36),z?W+="boundary=graphql;subscriptionSpec=1.0,application/json":J&&(W+="deferSpec=20220824,application/json"),D.headers.accept=W}if(D.method==="GET"){var Z=xx(d,T),ot=Z.newURI,lt=Z.parseError;if(lt)return dA(lt);d=ot}else try{D.body=wA(T,"Payload")}catch(O){return dA(O)}return new Ut(function(O){var M=r||Tn(function(){return fetch})||Gg,V=O.next.bind(O);return M(d,D).then(function(X){var st;f.setContext({response:X});var Mt=(st=X.headers)===null||st===void 0?void 0:st.get("content-type");return Mt!==null&&/^multipart\/mixed/i.test(Mt)?Ax(X,V):gx(f)(X).then(V)}).then(function(){P=void 0,O.complete()}).catch(function(X){P=void 0,fx(X,O)}),function(){P&&P.abort()}})})},bx=function(e){He(t,e);function t(n){n===void 0&&(n={});var r=e.call(this,Vg(n).request)||this;return r.options=n,r}return t}(gr);const{toString:zg,hasOwnProperty:Sx}=Object.prototype,Jg=Function.prototype.toString,vA=new Map;function Zt(e,t){try{return EA(e,t)}finally{vA.clear()}}function EA(e,t){if(e===t)return!0;const n=zg.call(e),r=zg.call(t);if(n!==r)return!1;switch(n){case"[object Array]":if(e.length!==t.length)return!1;case"[object Object]":{if(Wg(e,t))return!0;const i=jg(e),a=jg(t),s=i.length;if(s!==a.length)return!1;for(let o=0;o<s;++o)if(!Sx.call(t,i[o]))return!1;for(let o=0;o<s;++o){const c=i[o];if(!EA(e[c],t[c]))return!1}return!0}case"[object Error]":return e.name===t.name&&e.message===t.message;case"[object Number]":if(e!==e)return t!==t;case"[object Boolean]":case"[object Date]":return+e==+t;case"[object RegExp]":case"[object String]":return e==`${t}`;case"[object Map]":case"[object Set]":{if(e.size!==t.size)return!1;if(Wg(e,t))return!0;const i=e.entries(),a=n==="[object Map]";for(;;){const s=i.next();if(s.done)break;const[o,c]=s.value;if(!t.has(o)||a&&!EA(c,t.get(o)))return!1}return!0}case"[object Uint16Array]":case"[object Uint8Array]":case"[object Uint32Array]":case"[object Int32Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object ArrayBuffer]":e=new Uint8Array(e),t=new Uint8Array(t);case"[object DataView]":{let i=e.byteLength;if(i===t.byteLength)for(;i--&&e[i]===t[i];);return i===-1}case"[object AsyncFunction]":case"[object GeneratorFunction]":case"[object AsyncGeneratorFunction]":case"[object Function]":{const i=Jg.call(e);return i!==Jg.call(t)?!1:!Fx(i,Ix)}}return!1}function jg(e){return Object.keys(e).filter(Dx,e)}function Dx(e){return this[e]!==void 0}const Ix="{ [native code] }";function Fx(e,t){const n=e.length-t.length;return n>=0&&e.indexOf(t,n)===n}function Wg(e,t){let n=vA.get(e);if(n){if(n.has(t))return!0}else vA.set(e,n=new Set);return n.add(t),!1}function Qx(){}class Mx{constructor(t=1/0,n=Qx){this.max=t,this.dispose=n,this.map=new Map,this.newest=null,this.oldest=null}has(t){return this.map.has(t)}get(t){const n=this.getNode(t);return n&&n.value}getNode(t){const n=this.map.get(t);if(n&&n!==this.newest){const{older:r,newer:i}=n;i&&(i.older=r),r&&(r.newer=i),n.older=this.newest,n.older.newer=n,n.newer=null,this.newest=n,n===this.oldest&&(this.oldest=i)}return n}set(t,n){let r=this.getNode(t);return r?r.value=n:(r={key:t,value:n,newer:null,older:this.newest},this.newest&&(this.newest.newer=r),this.newest=r,this.oldest=this.oldest||r,this.map.set(t,r),r.value)}clean(){for(;this.oldest&&this.map.size>this.max;)this.delete(this.oldest.key)}delete(t){const n=this.map.get(t);return n?(n===this.newest&&(this.newest=n.older),n===this.oldest&&(this.oldest=n.newer),n.newer&&(n.newer.older=n.older),n.older&&(n.older.newer=n.newer),this.map.delete(t),this.dispose(n.value,t),!0):!1}}var Ge=null,Kg={},Tx=1,Nx=function(){return function(){function e(){this.id=["slot",Tx++,Date.now(),Math.random().toString(36).slice(2)].join(":")}return e.prototype.hasValue=function(){for(var t=Ge;t;t=t.parent)if(this.id in t.slots){var n=t.slots[this.id];if(n===Kg)break;return t!==Ge&&(Ge.slots[this.id]=n),!0}return Ge&&(Ge.slots[this.id]=Kg),!1},e.prototype.getValue=function(){if(this.hasValue())return Ge.slots[this.id]},e.prototype.withValue=function(t,n,r,i){var a,s=(a={__proto__:null},a[this.id]=t,a),o=Ge;Ge={parent:o,slots:s};try{return n.apply(i,r)}finally{Ge=o}},e.bind=function(t){var n=Ge;return function(){var r=Ge;try{return Ge=n,t.apply(this,arguments)}finally{Ge=r}}},e.noContext=function(t,n,r){if(Ge){var i=Ge;try{return Ge=null,t.apply(r,n)}finally{Ge=i}}else return t.apply(r,n)},e}()};function Xg(e){try{return e()}catch{}}var BA="@wry/context:Slot",Px=Xg(function(){return globalThis})||Xg(function(){return global})||Object.create(null),_g=Px,CA=_g[BA]||Array[BA]||function(e){try{Object.defineProperty(_g,BA,{value:e,enumerable:!1,writable:!1,configurable:!0})}finally{return e}}(Nx());CA.bind,CA.noContext;const jc=new CA,{hasOwnProperty:kx}=Object.prototype,xA=Array.from||function(e){const t=[];return e.forEach(n=>t.push(n)),t};function Wc(e){const{unsubscribe:t}=e;typeof t=="function"&&(e.unsubscribe=void 0,t())}const xs=[],Rx=100;function pa(e,t){if(!e)throw new Error(t||"assertion failure")}function Ox(e,t){const n=e.length;return n>0&&n===t.length&&e[n-1]===t[n-1]}function qg(e){switch(e.length){case 0:throw new Error("unknown value");case 1:return e[0];case 2:throw e[1]}}function Ux(e){return e.slice(0)}class Kc{constructor(t){this.fn=t,this.parents=new Set,this.childValues=new Map,this.dirtyChildren=null,this.dirty=!0,this.recomputing=!1,this.value=[],this.deps=null,++Kc.count}peek(){if(this.value.length===1&&!zr(this))return Zg(this),this.value[0]}recompute(t){return pa(!this.recomputing,"already recomputing"),Zg(this),zr(this)?Lx(this,t):qg(this.value)}setDirty(){this.dirty||(this.dirty=!0,this.value.length=0,$g(this),Wc(this))}dispose(){this.setDirty(),id(this),bA(this,(t,n)=>{t.setDirty(),ad(t,this)})}forget(){this.dispose()}dependOn(t){t.add(this),this.deps||(this.deps=xs.pop()||new Set),this.deps.add(t)}forgetDeps(){this.deps&&(xA(this.deps).forEach(t=>t.delete(this)),this.deps.clear(),xs.push(this.deps),this.deps=null)}}Kc.count=0;function Zg(e){const t=jc.getValue();if(t)return e.parents.add(t),t.childValues.has(e)||t.childValues.set(e,[]),zr(e)?ed(t,e):nd(t,e),t}function Lx(e,t){return id(e),jc.withValue(e,Yx,[e,t]),Gx(e,t)&&Hx(e),qg(e.value)}function Yx(e,t){e.recomputing=!0,e.value.length=0;try{e.value[0]=e.fn.apply(null,t)}catch(n){e.value[1]=n}e.recomputing=!1}function zr(e){return e.dirty||!!(e.dirtyChildren&&e.dirtyChildren.size)}function Hx(e){e.dirty=!1,!zr(e)&&td(e)}function $g(e){bA(e,ed)}function td(e){bA(e,nd)}function bA(e,t){const n=e.parents.size;if(n){const r=xA(e.parents);for(let i=0;i<n;++i)t(r[i],e)}}function ed(e,t){pa(e.childValues.has(t)),pa(zr(t));const n=!zr(e);if(!e.dirtyChildren)e.dirtyChildren=xs.pop()||new Set;else if(e.dirtyChildren.has(t))return;e.dirtyChildren.add(t),n&&$g(e)}function nd(e,t){pa(e.childValues.has(t)),pa(!zr(t));const n=e.childValues.get(t);n.length===0?e.childValues.set(t,Ux(t.value)):Ox(n,t.value)||e.setDirty(),rd(e,t),!zr(e)&&td(e)}function rd(e,t){const n=e.dirtyChildren;n&&(n.delete(t),n.size===0&&(xs.length<Rx&&xs.push(n),e.dirtyChildren=null))}function id(e){e.childValues.size>0&&e.childValues.forEach((t,n)=>{ad(e,n)}),e.forgetDeps(),pa(e.dirtyChildren===null)}function ad(e,t){t.parents.delete(e),e.childValues.delete(t),rd(e,t)}function Gx(e,t){if(typeof e.subscribe=="function")try{Wc(e),e.unsubscribe=e.subscribe.apply(null,t)}catch{return e.setDirty(),!1}return!0}const Vx={setDirty:!0,dispose:!0,forget:!0};function sd(e){const t=new Map,n=e&&e.subscribe;function r(i){const a=jc.getValue();if(a){let s=t.get(i);s||t.set(i,s=new Set),a.dependOn(s),typeof n=="function"&&(Wc(s),s.unsubscribe=n(i))}}return r.dirty=function(a,s){const o=t.get(a);if(o){const c=s&&kx.call(Vx,s)?s:"setDirty";xA(o).forEach(l=>l[c]()),t.delete(a),Wc(o)}},r}let od;function zx(...e){return(od||(od=new Yr(typeof WeakMap=="function"))).lookupArray(e)}const SA=new Set;function Xc(e,{max:t=Math.pow(2,16),makeCacheKey:n=zx,keyArgs:r,subscribe:i}=Object.create(null)){const a=new Mx(t,u=>u.dispose()),s=function(){const u=n.apply(null,r?r.apply(null,arguments):arguments);if(u===void 0)return e.apply(null,arguments);let A=a.get(u);A||(a.set(u,A=new Kc(e)),A.subscribe=i,A.forget=()=>a.delete(u));const h=A.recompute(Array.prototype.slice.call(arguments));return a.set(u,A),SA.add(a),jc.hasValue()||(SA.forEach(f=>f.clean()),SA.clear()),h};Object.defineProperty(s,"size",{get(){return a.map.size},configurable:!1,enumerable:!1}),Object.freeze(s.options={max:t,makeCacheKey:n,keyArgs:r,subscribe:i});function o(u){const A=a.get(u);A&&A.setDirty()}s.dirtyKey=o,s.dirty=function(){o(n.apply(null,arguments))};function c(u){const A=a.get(u);if(A)return A.peek()}s.peekKey=c,s.peek=function(){return c(n.apply(null,arguments))};function l(u){return a.delete(u)}return s.forgetKey=l,s.forget=function(){return l(n.apply(null,arguments))},s.makeCacheKey=n,s.getKey=r?function(){return n.apply(null,r.apply(null,arguments))}:n,Object.freeze(s)}var Jx=function(){function e(){this.assumeImmutableResults=!1,this.getFragmentDoc=Xc(AC)}return e.prototype.batch=function(t){var n=this,r=typeof t.optimistic=="string"?t.optimistic:t.optimistic===!1?null:void 0,i;return this.performTransaction(function(){return i=t.update(n)},r),i},e.prototype.recordOptimisticTransaction=function(t,n){this.performTransaction(t,n)},e.prototype.transformDocument=function(t){return t},e.prototype.transformForLink=function(t){return t},e.prototype.identify=function(t){},e.prototype.gc=function(){return[]},e.prototype.modify=function(t){return!1},e.prototype.readQuery=function(t,n){return n===void 0&&(n=!!t.optimistic),this.read(k(k({},t),{rootId:t.id||"ROOT_QUERY",optimistic:n}))},e.prototype.readFragment=function(t,n){return n===void 0&&(n=!!t.optimistic),this.read(k(k({},t),{query:this.getFragmentDoc(t.fragment,t.fragmentName),rootId:t.id,optimistic:n}))},e.prototype.writeQuery=function(t){var n=t.id,r=t.data,i=Ar(t,["id","data"]);return this.write(Object.assign(i,{dataId:n||"ROOT_QUERY",result:r}))},e.prototype.writeFragment=function(t){var n=t.id,r=t.data,i=t.fragment,a=t.fragmentName,s=Ar(t,["id","data","fragment","fragmentName"]);return this.write(Object.assign(s,{query:this.getFragmentDoc(i,a),dataId:n,result:r}))},e.prototype.updateQuery=function(t,n){return this.batch({update:function(r){var i=r.readQuery(t),a=n(i);return a==null?i:(r.writeQuery(k(k({},t),{data:a})),a)}})},e.prototype.updateFragment=function(t,n){return this.batch({update:function(r){var i=r.readFragment(t),a=n(i);return a==null?i:(r.writeFragment(k(k({},t),{data:a})),a)}})},e}(),cd=function(e){He(t,e);function t(n,r,i,a){var s,o=e.call(this,n)||this;if(o.message=n,o.path=r,o.query=i,o.variables=a,Array.isArray(o.path)){o.missing=o.message;for(var c=o.path.length-1;c>=0;--c)o.missing=(s={},s[o.path[c]]=o.missing,s)}else o.missing=o.path;return o.__proto__=t.prototype,o}return t}(Error),Te=Object.prototype.hasOwnProperty;function bs(e){return e==null}function ld(e,t){var n=e.__typename,r=e.id,i=e._id;if(typeof n=="string"&&(t&&(t.keyObject=bs(r)?bs(i)?void 0:{_id:i}:{id:r}),bs(r)&&!bs(i)&&(r=i),!bs(r)))return"".concat(n,":").concat(typeof r=="number"||typeof r=="string"?r:JSON.stringify(r))}var ud={dataIdFromObject:ld,addTypename:!0,resultCaching:!0,canonizeResults:!1};function jx(e){return ga(ud,e)}function Ad(e){var t=e.canonizeResults;return t===void 0?ud.canonizeResults:t}function Wx(e,t){return kt(t)?e.get(t.__ref,"__typename"):t&&t.__typename}var hd=/^[_a-z][_0-9a-z]*/i;function Jr(e){var t=e.match(hd);return t?t[0]:e}function DA(e,t,n){return jt(t)?oe(t)?t.every(function(r){return DA(e,r,n)}):e.selections.every(function(r){if(Gr(r)&&ds(r,n)){var i=Hr(r);return Te.call(t,i)&&(!r.selectionSet||DA(r.selectionSet,t[i],n))}return!0}):!1}function ma(e){return jt(e)&&!kt(e)&&!oe(e)}function Kx(){return new Vr}function fd(e,t){var n=Uc(Hc(e));return{fragmentMap:n,lookupFragment:function(r){var i=n[r];return!i&&t&&(i=t.lookup(r)),i||null}}}var _c=Object.create(null),IA=function(){return _c},gd=Object.create(null),Ss=function(){function e(t,n){var r=this;this.policies=t,this.group=n,this.data=Object.create(null),this.rootIds=Object.create(null),this.refs=Object.create(null),this.getFieldValue=function(i,a){return AA(kt(i)?r.get(i.__ref,a):i&&i[a])},this.canRead=function(i){return kt(i)?r.has(i.__ref):typeof i=="object"},this.toReference=function(i,a){if(typeof i=="string")return oa(i);if(kt(i))return i;var s=r.policies.identify(i)[0];if(s){var o=oa(s);return a&&r.merge(s,i),o}}}return e.prototype.toObject=function(){return k({},this.data)},e.prototype.has=function(t){return this.lookup(t,!0)!==void 0},e.prototype.get=function(t,n){if(this.group.depend(t,n),Te.call(this.data,t)){var r=this.data[t];if(r&&Te.call(r,n))return r[n]}if(n==="__typename"&&Te.call(this.policies.rootTypenamesById,t))return this.policies.rootTypenamesById[t];if(this instanceof jr)return this.parent.get(t,n)},e.prototype.lookup=function(t,n){if(n&&this.group.depend(t,"__exists"),Te.call(this.data,t))return this.data[t];if(this instanceof jr)return this.parent.lookup(t,n);if(this.policies.rootTypenamesById[t])return Object.create(null)},e.prototype.merge=function(t,n){var r=this,i;kt(t)&&(t=t.__ref),kt(n)&&(n=n.__ref);var a=typeof t=="string"?this.lookup(i=t):t,s=typeof n=="string"?this.lookup(i=n):n;if(s){wt(typeof i=="string",1);var o=new Vr(_x).merge(a,s);if(this.data[i]=o,o!==a&&(delete this.refs[i],this.group.caching)){var c=Object.create(null);a||(c.__exists=1),Object.keys(s).forEach(function(l){if(!a||a[l]!==o[l]){c[l]=1;var u=Jr(l);u!==l&&!r.policies.hasKeyArgs(o.__typename,u)&&(c[u]=1),o[l]===void 0&&!(r instanceof jr)&&delete o[l]}}),c.__typename&&!(a&&a.__typename)&&this.policies.rootTypenamesById[i]===o.__typename&&delete c.__typename,Object.keys(c).forEach(function(l){return r.group.dirty(i,l)})}}},e.prototype.modify=function(t,n){var r=this,i=this.lookup(t);if(i){var a=Object.create(null),s=!1,o=!0,c={DELETE:_c,INVALIDATE:gd,isReference:kt,toReference:this.toReference,canRead:this.canRead,readField:function(l,u){return r.policies.readField(typeof l=="string"?{fieldName:l,from:u||oa(t)}:l,{store:r})}};if(Object.keys(i).forEach(function(l){var u=Jr(l),A=i[l];if(A!==void 0){var h=typeof n=="function"?n:n[l]||n[u];if(h){var f=h===IA?_c:h(AA(A),k(k({},c),{fieldName:u,storeFieldName:l,storage:r.getStorage(t,l)}));f===gd?r.group.dirty(t,l):(f===_c&&(f=void 0),f!==A&&(a[l]=f,s=!0,A=f))}A!==void 0&&(o=!1)}}),s)return this.merge(t,a),o&&(this instanceof jr?this.data[t]=void 0:delete this.data[t],this.group.dirty(t,"__exists")),!0}return!1},e.prototype.delete=function(t,n,r){var i,a=this.lookup(t);if(a){var s=this.getFieldValue(a,"__typename"),o=n&&r?this.policies.getStoreFieldName({typename:s,fieldName:n,args:r}):n;return this.modify(t,o?(i={},i[o]=IA,i):IA)}return!1},e.prototype.evict=function(t,n){var r=!1;return t.id&&(Te.call(this.data,t.id)&&(r=this.delete(t.id,t.fieldName,t.args)),this instanceof jr&&this!==n&&(r=this.parent.evict(t,n)||r),(t.fieldName||r)&&this.group.dirty(t.id,t.fieldName||"__exists")),r},e.prototype.clear=function(){this.replace(null)},e.prototype.extract=function(){var t=this,n=this.toObject(),r=[];return this.getRootIdSet().forEach(function(i){Te.call(t.policies.rootTypenamesById,i)||r.push(i)}),r.length&&(n.__META={extraRootIds:r.sort()}),n},e.prototype.replace=function(t){var n=this;if(Object.keys(this.data).forEach(function(a){t&&Te.call(t,a)||n.delete(a)}),t){var r=t.__META,i=Ar(t,["__META"]);Object.keys(i).forEach(function(a){n.merge(a,i[a])}),r&&r.extraRootIds.forEach(this.retain,this)}},e.prototype.retain=function(t){return this.rootIds[t]=(this.rootIds[t]||0)+1},e.prototype.release=function(t){if(this.rootIds[t]>0){var n=--this.rootIds[t];return n||delete this.rootIds[t],n}return 0},e.prototype.getRootIdSet=function(t){return t===void 0&&(t=new Set),Object.keys(this.rootIds).forEach(t.add,t),this instanceof jr?this.parent.getRootIdSet(t):Object.keys(this.policies.rootTypenamesById).forEach(t.add,t),t},e.prototype.gc=function(){var t=this,n=this.getRootIdSet(),r=this.toObject();n.forEach(function(s){Te.call(r,s)&&(Object.keys(t.findChildRefIds(s)).forEach(n.add,n),delete r[s])});var i=Object.keys(r);if(i.length){for(var a=this;a instanceof jr;)a=a.parent;i.forEach(function(s){return a.delete(s)})}return i},e.prototype.findChildRefIds=function(t){if(!Te.call(this.refs,t)){var n=this.refs[t]=Object.create(null),r=this.data[t];if(!r)return n;var i=new Set([r]);i.forEach(function(a){kt(a)&&(n[a.__ref]=!0),jt(a)&&Object.keys(a).forEach(function(s){var o=a[s];jt(o)&&i.add(o)})})}return this.refs[t]},e.prototype.makeCacheKey=function(){return this.group.keyMaker.lookupArray(arguments)},e}(),dd=function(){function e(t,n){n===void 0&&(n=null),this.caching=t,this.parent=n,this.d=null,this.resetCaching()}return e.prototype.resetCaching=function(){this.d=this.caching?sd():null,this.keyMaker=new Yr(fr)},e.prototype.depend=function(t,n){if(this.d){this.d(FA(t,n));var r=Jr(n);r!==n&&this.d(FA(t,r)),this.parent&&this.parent.depend(t,n)}},e.prototype.dirty=function(t,n){this.d&&this.d.dirty(FA(t,n),n==="__exists"?"forget":"setDirty")},e}();function FA(e,t){return t+"#"+e}function pd(e,t){Ds(e)&&e.group.depend(t,"__exists")}(function(e){var t=function(n){He(r,n);function r(i){var a=i.policies,s=i.resultCaching,o=s===void 0?!0:s,c=i.seed,l=n.call(this,a,new dd(o))||this;return l.stump=new Xx(l),l.storageTrie=new Yr(fr),c&&l.replace(c),l}return r.prototype.addLayer=function(i,a){return this.stump.addLayer(i,a)},r.prototype.removeLayer=function(){return this},r.prototype.getStorage=function(){return this.storageTrie.lookupArray(arguments)},r}(e);e.Root=t})(Ss||(Ss={}));var jr=function(e){He(t,e);function t(n,r,i,a){var s=e.call(this,r.policies,a)||this;return s.id=n,s.parent=r,s.replay=i,s.group=a,i(s),s}return t.prototype.addLayer=function(n,r){return new t(n,this,r,this.group)},t.prototype.removeLayer=function(n){var r=this,i=this.parent.removeLayer(n);return n===this.id?(this.group.caching&&Object.keys(this.data).forEach(function(a){var s=r.data[a],o=i.lookup(a);o?s?s!==o&&Object.keys(s).forEach(function(c){Zt(s[c],o[c])||r.group.dirty(a,c)}):(r.group.dirty(a,"__exists"),Object.keys(o).forEach(function(c){r.group.dirty(a,c)})):r.delete(a)}),i):i===this.parent?this:i.addLayer(this.id,this.replay)},t.prototype.toObject=function(){return k(k({},this.parent.toObject()),this.data)},t.prototype.findChildRefIds=function(n){var r=this.parent.findChildRefIds(n);return Te.call(this.data,n)?k(k({},r),e.prototype.findChildRefIds.call(this,n)):r},t.prototype.getStorage=function(){for(var n=this.parent;n.parent;)n=n.parent;return n.getStorage.apply(n,arguments)},t}(Ss),Xx=function(e){He(t,e);function t(n){return e.call(this,"EntityStore.Stump",n,function(){},new dd(n.group.caching,n.group))||this}return t.prototype.removeLayer=function(){return this},t.prototype.merge=function(){return this.parent.merge.apply(this.parent,arguments)},t}(jr);function _x(e,t,n){var r=e[n],i=t[n];return Zt(r,i)?r:i}function Ds(e){return!!(e instanceof Ss&&e.group.caching)}function qx(e){return jt(e)?oe(e)?e.slice(0):k({__proto__:Object.getPrototypeOf(e)},e):e}var QA=function(){function e(){this.known=new(pg?WeakSet:Set),this.pool=new Yr(fr),this.passes=new WeakMap,this.keysByJSON=new Map,this.empty=this.admit({})}return e.prototype.isKnown=function(t){return jt(t)&&this.known.has(t)},e.prototype.pass=function(t){if(jt(t)){var n=qx(t);return this.passes.set(n,t),n}return t},e.prototype.admit=function(t){var n=this;if(jt(t)){var r=this.passes.get(t);if(r)return r;var i=Object.getPrototypeOf(t);switch(i){case Array.prototype:{if(this.known.has(t))return t;var a=t.map(this.admit,this),s=this.pool.lookupArray(a);return s.array||(this.known.add(s.array=a),globalThis.__DEV__!==!1&&Object.freeze(a)),s.array}case null:case Object.prototype:{if(this.known.has(t))return t;var o=Object.getPrototypeOf(t),c=[o],l=this.sortedKeys(t);c.push(l.json);var u=c.length;l.sorted.forEach(function(f){c.push(n.admit(t[f]))});var s=this.pool.lookupArray(c);if(!s.object){var A=s.object=Object.create(o);this.known.add(A),l.sorted.forEach(function(f,d){A[f]=c[u+d]}),globalThis.__DEV__!==!1&&Object.freeze(A)}return s.object}}}return t},e.prototype.sortedKeys=function(t){var n=Object.keys(t),r=this.pool.lookupArray(n);if(!r.keys){n.sort();var i=JSON.stringify(n);(r.keys=this.keysByJSON.get(i))||this.keysByJSON.set(i,r.keys={sorted:n,json:i})}return r.keys},e}(),bi=Object.assign(function(e){if(jt(e)){MA===void 0&&md();var t=MA.admit(e),n=TA.get(t);return n===void 0&&TA.set(t,n=JSON.stringify(t)),n}return JSON.stringify(e)},{reset:md}),MA,TA;function md(){MA=new QA,TA=new(fr?WeakMap:Map)}function yd(e){return[e.selectionSet,e.objectOrReference,e.context,e.context.canonizeResults]}var Zx=function(){function e(t){var n=this;this.knownResults=new(fr?WeakMap:Map),this.config=ga(t,{addTypename:t.addTypename!==!1,canonizeResults:Ad(t)}),this.canon=t.canon||new QA,this.executeSelectionSet=Xc(function(r){var i,a=r.context.canonizeResults,s=yd(r);s[3]=!a;var o=(i=n.executeSelectionSet).peek.apply(i,s);return o?a?k(k({},o),{result:n.canon.admit(o.result)}):o:(pd(r.context.store,r.enclosingRef.__ref),n.execSelectionSetImpl(r))},{max:this.config.resultCacheMaxSize,keyArgs:yd,makeCacheKey:function(r,i,a,s){if(Ds(a.store))return a.store.makeCacheKey(r,kt(i)?i.__ref:i,a.varString,s)}}),this.executeSubSelectedArray=Xc(function(r){return pd(r.context.store,r.enclosingRef.__ref),n.execSubSelectedArrayImpl(r)},{max:this.config.resultCacheMaxSize,makeCacheKey:function(r){var i=r.field,a=r.array,s=r.context;if(Ds(s.store))return s.store.makeCacheKey(i,a,s.varString)}})}return e.prototype.resetCanon=function(){this.canon=new QA},e.prototype.diffQueryAgainstStore=function(t){var n=t.store,r=t.query,i=t.rootId,a=i===void 0?"ROOT_QUERY":i,s=t.variables,o=t.returnPartialData,c=o===void 0?!0:o,l=t.canonizeResults,u=l===void 0?this.config.canonizeResults:l,A=this.config.cache.policies;s=k(k({},tA(yg(r))),s);var h=oa(a),f=this.executeSelectionSet({selectionSet:vs(r).selectionSet,objectOrReference:h,enclosingRef:h,context:k({store:n,query:r,policies:A,variables:s,varString:bi(s),canonizeResults:u},fd(r,this.config.fragments))}),d;if(f.missing&&(d=[new cd($x(f.missing),f.missing,r,s)],!c))throw d[0];return{result:f.result,complete:!d,missing:d}},e.prototype.isFresh=function(t,n,r,i){if(Ds(i.store)&&this.knownResults.get(t)===r){var a=this.executeSelectionSet.peek(r,n,i,this.canon.isKnown(t));if(a&&t===a.result)return!0}return!1},e.prototype.execSelectionSetImpl=function(t){var n=this,r=t.selectionSet,i=t.objectOrReference,a=t.enclosingRef,s=t.context;if(kt(i)&&!s.policies.rootTypenamesById[i.__ref]&&!s.store.has(i.__ref))return{result:this.canon.empty,missing:"Dangling reference to missing ".concat(i.__ref," object")};var o=s.variables,c=s.policies,l=s.store,u=l.getFieldValue(i,"__typename"),A=[],h,f=new Vr;this.config.addTypename&&typeof u=="string"&&!c.rootIdsByTypename[u]&&A.push({__typename:u});function d(w,B){var C;return w.missing&&(h=f.merge(h,(C={},C[B]=w.missing,C))),w.result}var p=new Set(r.selections);p.forEach(function(w){var B,C;if(ds(w,o))if(Gr(w)){var x=c.readField({fieldName:w.name.value,field:w,variables:s.variables,from:i},s),b=Hr(w);x===void 0?eA.added(w)||(h=f.merge(h,(B={},B[b]="Can't find field '".concat(w.name.value,"' on ").concat(kt(i)?i.__ref+" object":"object "+JSON.stringify(i,null,2)),B))):oe(x)?x=d(n.executeSubSelectedArray({field:w,array:x,enclosingRef:a,context:s}),b):w.selectionSet?x!=null&&(x=d(n.executeSelectionSet({selectionSet:w.selectionSet,objectOrReference:x,enclosingRef:kt(x)?x:a,context:s}),b)):s.canonizeResults&&(x=n.canon.pass(x)),x!==void 0&&A.push((C={},C[b]=x,C))}else{var D=Lc(w,s.lookupFragment);if(!D&&w.kind===et.FRAGMENT_SPREAD)throw an(7,w.name.value);D&&c.fragmentMatches(D,u)&&D.selectionSet.selections.forEach(p.add,p)}});var m=nA(A),y={result:m,missing:h},v=s.canonizeResults?this.canon.admit(y):AA(y);return v.result&&this.knownResults.set(v.result,r),v},e.prototype.execSubSelectedArrayImpl=function(t){var n=this,r=t.field,i=t.array,a=t.enclosingRef,s=t.context,o,c=new Vr;function l(u,A){var h;return u.missing&&(o=c.merge(o,(h={},h[A]=u.missing,h))),u.result}return r.selectionSet&&(i=i.filter(s.store.canRead)),i=i.map(function(u,A){return u===null?null:oe(u)?l(n.executeSubSelectedArray({field:r,array:u,enclosingRef:a,context:s}),A):r.selectionSet?l(n.executeSelectionSet({selectionSet:r.selectionSet,objectOrReference:u,enclosingRef:kt(u)?u:a,context:s}),A):(globalThis.__DEV__!==!1&&t2(s.store,r,u),u)}),{result:s.canonizeResults?this.canon.admit(i):i,missing:o}},e}();function $x(e){try{JSON.stringify(e,function(t,n){if(typeof n=="string")throw n;return n})}catch(t){return t}}function t2(e,t,n){if(!t.selectionSet){var r=new Set([n]);r.forEach(function(i){jt(i)&&(wt(!kt(i),8,Wx(e,i),t.name.value),Object.values(i).forEach(r.add,r))})}}let Ve=null;const wd={};let e2=1;const n2=()=>class{constructor(){this.id=["slot",e2++,Date.now(),Math.random().toString(36).slice(2)].join(":")}hasValue(){for(let t=Ve;t;t=t.parent)if(this.id in t.slots){const n=t.slots[this.id];if(n===wd)break;return t!==Ve&&(Ve.slots[this.id]=n),!0}return Ve&&(Ve.slots[this.id]=wd),!1}getValue(){if(this.hasValue())return Ve.slots[this.id]}withValue(t,n,r,i){const a={__proto__:null,[this.id]:t},s=Ve;Ve={parent:s,slots:a};try{return n.apply(i,r)}finally{Ve=s}}static bind(t){const n=Ve;return function(){const r=Ve;try{return Ve=n,t.apply(this,arguments)}finally{Ve=r}}}static noContext(t,n,r){if(Ve){const i=Ve;try{return Ve=null,t.apply(r,n)}finally{Ve=i}}else return t.apply(r,n)}};function vd(e){try{return e()}catch{}}const NA="@wry/context:Slot",Ed=vd(()=>globalThis)||vd(()=>global)||Object.create(null),r2=Ed[NA]||Array[NA]||function(e){try{Object.defineProperty(Ed,NA,{value:e,enumerable:!1,writable:!1,configurable:!0})}finally{return e}}(n2());var PA=new r2,Bd=new WeakMap;function Is(e){var t=Bd.get(e);return t||Bd.set(e,t={vars:new Set,dep:sd()}),t}function Cd(e){Is(e).vars.forEach(function(t){return t.forgetCache(e)})}function i2(e){Is(e).vars.forEach(function(t){return t.attachCache(e)})}function a2(e){var t=new Set,n=new Set,r=function(a){if(arguments.length>0){if(e!==a){e=a,t.forEach(function(c){Is(c).dep.dirty(r),s2(c)});var s=Array.from(n);n.clear(),s.forEach(function(c){return c(e)})}}else{var o=PA.getValue();o&&(i(o),Is(o).dep(r))}return e};r.onNextChange=function(a){return n.add(a),function(){n.delete(a)}};var i=r.attachCache=function(a){return t.add(a),Is(a).vars.add(r),r};return r.forgetCache=function(a){return t.delete(a)},r}function s2(e){e.broadcastWatches&&e.broadcastWatches()}var xd=Object.create(null);function kA(e){var t=JSON.stringify(e);return xd[t]||(xd[t]=Object.create(null))}function bd(e){var t=kA(e);return t.keyFieldsFn||(t.keyFieldsFn=function(n,r){var i=function(s,o){return r.readField(o,s)},a=r.keyObject=RA(e,function(s){var o=ya(r.storeObject,s,i);return o===void 0&&n!==r.storeObject&&Te.call(n,s[0])&&(o=ya(n,s,Id)),wt(o!==void 0,2,s.join("."),n),o});return"".concat(r.typename,":").concat(JSON.stringify(a))})}function Sd(e){var t=kA(e);return t.keyArgsFn||(t.keyArgsFn=function(n,r){var i=r.field,a=r.variables,s=r.fieldName,o=RA(e,function(l){var u=l[0],A=u.charAt(0);if(A==="@"){if(i&&er(i.directives)){var h=u.slice(1),f=i.directives.find(function(y){return y.name.value===h}),d=f&&Yc(f,a);return d&&ya(d,l.slice(1))}return}if(A==="$"){var p=u.slice(1);if(a&&Te.call(a,p)){var m=l.slice(0);return m[0]=p,ya(a,m)}return}if(n)return ya(n,l)}),c=JSON.stringify(o);return(n||c!=="{}")&&(s+=":"+c),s})}function RA(e,t){var n=new Vr;return Dd(e).reduce(function(r,i){var a,s=t(i);if(s!==void 0){for(var o=i.length-1;o>=0;--o)s=(a={},a[i[o]]=s,a);r=n.merge(r,s)}return r},Object.create(null))}function Dd(e){var t=kA(e);if(!t.paths){var n=t.paths=[],r=[];e.forEach(function(i,a){oe(i)?(Dd(i).forEach(function(s){return n.push(r.concat(s))}),r.length=0):(r.push(i),oe(e[a+1])||(n.push(r.slice(0)),r.length=0))})}return t.paths}function Id(e,t){return e[t]}function ya(e,t,n){return n=n||Id,Fd(t.reduce(function r(i,a){return oe(i)?i.map(function(s){return r(s,a)}):i&&n(i,a)},e))}function Fd(e){return jt(e)?oe(e)?e.map(Fd):RA(Object.keys(e).sort(),function(t){return ya(e,t)}):e}qu.setStringify(bi);function OA(e){return e.args!==void 0?e.args:e.field?Yc(e.field,e.variables):null}var o2=function(){},Qd=function(e,t){return t.fieldName},Md=function(e,t,n){var r=n.mergeObjects;return r(e,t)},Td=function(e,t){return t},c2=function(){function e(t){this.config=t,this.typePolicies=Object.create(null),this.toBeAdded=Object.create(null),this.supertypeMap=new Map,this.fuzzySubtypes=new Map,this.rootIdsByTypename=Object.create(null),this.rootTypenamesById=Object.create(null),this.usingPossibleTypes=!1,this.config=k({dataIdFromObject:ld},t),this.cache=this.config.cache,this.setRootTypename("Query"),this.setRootTypename("Mutation"),this.setRootTypename("Subscription"),t.possibleTypes&&this.addPossibleTypes(t.possibleTypes),t.typePolicies&&this.addTypePolicies(t.typePolicies)}return e.prototype.identify=function(t,n){var r,i=this,a=n&&(n.typename||((r=n.storeObject)===null||r===void 0?void 0:r.__typename))||t.__typename;if(a===this.rootTypenamesById.ROOT_QUERY)return["ROOT_QUERY"];for(var s=n&&n.storeObject||t,o=k(k({},n),{typename:a,storeObject:s,readField:n&&n.readField||function(){var h=UA(arguments,s);return i.readField(h,{store:i.cache.data,variables:h.variables})}}),c,l=a&&this.getTypePolicy(a),u=l&&l.keyFn||this.config.dataIdFromObject;u;){var A=u(k(k({},t),s),o);if(oe(A))u=bd(A);else{c=A;break}}return c=c?String(c):void 0,o.keyObject?[c,o.keyObject]:[c]},e.prototype.addTypePolicies=function(t){var n=this;Object.keys(t).forEach(function(r){var i=t[r],a=i.queryType,s=i.mutationType,o=i.subscriptionType,c=Ar(i,["queryType","mutationType","subscriptionType"]);a&&n.setRootTypename("Query",r),s&&n.setRootTypename("Mutation",r),o&&n.setRootTypename("Subscription",r),Te.call(n.toBeAdded,r)?n.toBeAdded[r].push(c):n.toBeAdded[r]=[c]})},e.prototype.updateTypePolicy=function(t,n){var r=this,i=this.getTypePolicy(t),a=n.keyFields,s=n.fields;function o(c,l){c.merge=typeof l=="function"?l:l===!0?Md:l===!1?Td:c.merge}o(i,n.merge),i.keyFn=a===!1?o2:oe(a)?bd(a):typeof a=="function"?a:i.keyFn,s&&Object.keys(s).forEach(function(c){var l=r.getFieldPolicy(t,c,!0),u=s[c];if(typeof u=="function")l.read=u;else{var A=u.keyArgs,h=u.read,f=u.merge;l.keyFn=A===!1?Qd:oe(A)?Sd(A):typeof A=="function"?A:l.keyFn,typeof h=="function"&&(l.read=h),o(l,f)}l.read&&l.merge&&(l.keyFn=l.keyFn||Qd)})},e.prototype.setRootTypename=function(t,n){n===void 0&&(n=t);var r="ROOT_"+t.toUpperCase(),i=this.rootTypenamesById[r];n!==i&&(wt(!i||i===t,3,t),i&&delete this.rootIdsByTypename[i],this.rootIdsByTypename[n]=r,this.rootTypenamesById[r]=n)},e.prototype.addPossibleTypes=function(t){var n=this;this.usingPossibleTypes=!0,Object.keys(t).forEach(function(r){n.getSupertypeSet(r,!0),t[r].forEach(function(i){n.getSupertypeSet(i,!0).add(r);var a=i.match(hd);(!a||a[0]!==i)&&n.fuzzySubtypes.set(i,new RegExp(i))})})},e.prototype.getTypePolicy=function(t){var n=this;if(!Te.call(this.typePolicies,t)){var r=this.typePolicies[t]=Object.create(null);r.fields=Object.create(null);var i=this.supertypeMap.get(t);!i&&this.fuzzySubtypes.size&&(i=this.getSupertypeSet(t,!0),this.fuzzySubtypes.forEach(function(s,o){if(s.test(t)){var c=n.supertypeMap.get(o);c&&c.forEach(function(l){return i.add(l)})}})),i&&i.size&&i.forEach(function(s){var o=n.getTypePolicy(s),c=o.fields,l=Ar(o,["fields"]);Object.assign(r,l),Object.assign(r.fields,c)})}var a=this.toBeAdded[t];return a&&a.length&&a.splice(0).forEach(function(s){n.updateTypePolicy(t,s)}),this.typePolicies[t]},e.prototype.getFieldPolicy=function(t,n,r){if(t){var i=this.getTypePolicy(t).fields;return i[n]||r&&(i[n]=Object.create(null))}},e.prototype.getSupertypeSet=function(t,n){var r=this.supertypeMap.get(t);return!r&&n&&this.supertypeMap.set(t,r=new Set),r},e.prototype.fragmentMatches=function(t,n,r,i){var a=this;if(!t.typeCondition)return!0;if(!n)return!1;var s=t.typeCondition.name.value;if(n===s)return!0;if(this.usingPossibleTypes&&this.supertypeMap.has(s))for(var o=this.getSupertypeSet(n,!0),c=[o],l=function(d){var p=a.getSupertypeSet(d,!1);p&&p.size&&c.indexOf(p)<0&&c.push(p)},u=!!(r&&this.fuzzySubtypes.size),A=!1,h=0;h<c.length;++h){var f=c[h];if(f.has(s))return o.has(s)||(A&&globalThis.__DEV__!==!1&&wt.warn(4,n,s),o.add(s)),!0;f.forEach(l),u&&h===c.length-1&&DA(t.selectionSet,r,i)&&(u=!1,A=!0,this.fuzzySubtypes.forEach(function(d,p){var m=n.match(d);m&&m[0]===n&&l(p)}))}return!1},e.prototype.hasKeyArgs=function(t,n){var r=this.getFieldPolicy(t,n,!1);return!!(r&&r.keyFn)},e.prototype.getStoreFieldName=function(t){var n=t.typename,r=t.fieldName,i=this.getFieldPolicy(n,r,!1),a,s=i&&i.keyFn;if(s&&n)for(var o={typename:n,fieldName:r,field:t.field||null,variables:t.variables},c=OA(t);s;){var l=s(c,o);if(oe(l))s=Sd(l);else{a=l||r;break}}return a===void 0&&(a=t.field?BC(t.field,t.variables):qu(r,OA(t))),a===!1?r:r===Jr(a)?a:r+":"+a},e.prototype.readField=function(t,n){var r=t.from;if(r){var i=t.field||t.fieldName;if(i){if(t.typename===void 0){var a=n.store.getFieldValue(r,"__typename");a&&(t.typename=a)}var s=this.getStoreFieldName(t),o=Jr(s),c=n.store.getFieldValue(r,s),l=this.getFieldPolicy(t.typename,o,!1),u=l&&l.read;if(u){var A=Nd(this,r,t,n,n.store.getStorage(kt(r)?r.__ref:r,s));return PA.withValue(this.cache,u,[c,A])}return c}}},e.prototype.getReadFunction=function(t,n){var r=this.getFieldPolicy(t,n,!1);return r&&r.read},e.prototype.getMergeFunction=function(t,n,r){var i=this.getFieldPolicy(t,n,!1),a=i&&i.merge;return!a&&r&&(i=this.getTypePolicy(r),a=i&&i.merge),a},e.prototype.runMergeFunction=function(t,n,r,i,a){var s=r.field,o=r.typename,c=r.merge;return c===Md?Pd(i.store)(t,n):c===Td?n:(i.overwrite&&(t=void 0),c(t,n,Nd(this,void 0,{typename:o,fieldName:s.name.value,field:s,variables:i.variables},i,a||Object.create(null))))},e}();function Nd(e,t,n,r,i){var a=e.getStoreFieldName(n),s=Jr(a),o=n.variables||r.variables,c=r.store,l=c.toReference,u=c.canRead;return{args:OA(n),field:n.field||null,fieldName:s,storeFieldName:a,variables:o,isReference:kt,toReference:l,storage:i,cache:e.cache,canRead:u,readField:function(){return e.readField(UA(arguments,t,o),r)},mergeObjects:Pd(r.store)}}function UA(e,t,n){var r=e[0],i=e[1],a=e.length,s;return typeof r=="string"?s={fieldName:r,from:a>1?i:t}:(s=k({},r),Te.call(s,"from")||(s.from=t)),globalThis.__DEV__!==!1&&s.from===void 0&&globalThis.__DEV__!==!1&&wt.warn(5,q0(Array.from(e))),s.variables===void 0&&(s.variables=n),s}function Pd(e){return function(n,r){if(oe(n)||oe(r))throw an(6);if(jt(n)&&jt(r)){var i=e.getFieldValue(n,"__typename"),a=e.getFieldValue(r,"__typename"),s=i&&a&&i!==a;if(s)return r;if(kt(n)&&ma(r))return e.merge(n.__ref,r),n;if(ma(n)&&kt(r))return e.merge(n,r.__ref),r;if(ma(n)&&ma(r))return k(k({},n),r)}return r}}function LA(e,t,n){var r="".concat(t).concat(n),i=e.flavors.get(r);return i||e.flavors.set(r,i=e.clientOnly===t&&e.deferred===n?e:k(k({},e),{clientOnly:t,deferred:n})),i}var l2=function(){function e(t,n,r){this.cache=t,this.reader=n,this.fragments=r}return e.prototype.writeToStore=function(t,n){var r=this,i=n.query,a=n.result,s=n.dataId,o=n.variables,c=n.overwrite,l=ws(i),u=Kx();o=k(k({},tA(l)),o);var A=k(k({store:t,written:Object.create(null),merge:function(f,d){return u.merge(f,d)},variables:o,varString:bi(o)},fd(i,this.fragments)),{overwrite:!!c,incomingById:new Map,clientOnly:!1,deferred:!1,flavors:new Map}),h=this.processSelectionSet({result:a||Object.create(null),dataId:s,selectionSet:l.selectionSet,mergeTree:{map:new Map},context:A});if(!kt(h))throw an(9,a);return A.incomingById.forEach(function(f,d){var p=f.storeObject,m=f.mergeTree,y=f.fieldNodeSet,v=oa(d);if(m&&m.map.size){var w=r.applyMerges(m,v,p,A);if(kt(w))return;p=w}if(globalThis.__DEV__!==!1&&!A.overwrite){var B=Object.create(null);y.forEach(function(b){b.selectionSet&&(B[b.name.value]=!0)});var C=function(b){return B[Jr(b)]===!0},x=function(b){var D=m&&m.map.get(b);return!!(D&&D.info&&D.info.merge)};Object.keys(p).forEach(function(b){C(b)&&!x(b)&&u2(v,p,b,A.store)})}t.merge(d,p)}),t.retain(h.__ref),h},e.prototype.processSelectionSet=function(t){var n=this,r=t.dataId,i=t.result,a=t.selectionSet,s=t.context,o=t.mergeTree,c=this.cache.policies,l=Object.create(null),u=r&&c.rootTypenamesById[r]||Zu(i,a,s.fragmentMap)||r&&s.store.get(r,"__typename");typeof u=="string"&&(l.__typename=u);var A=function(){var w=UA(arguments,l,s.variables);if(kt(w.from)){var B=s.incomingById.get(w.from.__ref);if(B){var C=c.readField(k(k({},w),{from:B.storeObject}),s);if(C!==void 0)return C}}return c.readField(w,s)},h=new Set;this.flattenFields(a,i,s,u).forEach(function(w,B){var C,x=Hr(B),b=i[x];if(h.add(B),b!==void 0){var D=c.getStoreFieldName({typename:u,fieldName:B.name.value,field:B,variables:w.variables}),T=Rd(o,D),P=n.processFieldValue(b,B,B.selectionSet?LA(w,!1,!1):w,T),L=void 0;B.selectionSet&&(kt(P)||ma(P))&&(L=A("__typename",P));var U=c.getMergeFunction(u,B.name.value,L);U?T.info={field:B,typename:u,merge:U}:Od(o,D),l=w.merge(l,(C={},C[D]=P,C))}else globalThis.__DEV__!==!1&&!w.clientOnly&&!w.deferred&&!eA.added(B)&&!c.getReadFunction(u,B.name.value)&&globalThis.__DEV__!==!1&&wt.error(10,Hr(B),i)});try{var f=c.identify(i,{typename:u,selectionSet:a,fragmentMap:s.fragmentMap,storeObject:l,readField:A}),d=f[0],p=f[1];r=r||d,p&&(l=s.merge(l,p))}catch(w){if(!r)throw w}if(typeof r=="string"){var m=oa(r),y=s.written[r]||(s.written[r]=[]);if(y.indexOf(a)>=0||(y.push(a),this.reader&&this.reader.isFresh(i,m,a,s)))return m;var v=s.incomingById.get(r);return v?(v.storeObject=s.merge(v.storeObject,l),v.mergeTree=YA(v.mergeTree,o),h.forEach(function(w){return v.fieldNodeSet.add(w)})):s.incomingById.set(r,{storeObject:l,mergeTree:qc(o)?void 0:o,fieldNodeSet:h}),m}return l},e.prototype.processFieldValue=function(t,n,r,i){var a=this;return!n.selectionSet||t===null?globalThis.__DEV__!==!1?Pg(t):t:oe(t)?t.map(function(s,o){var c=a.processFieldValue(s,n,r,Rd(i,o));return Od(i,o),c}):this.processSelectionSet({result:t,selectionSet:n.selectionSet,context:r,mergeTree:i})},e.prototype.flattenFields=function(t,n,r,i){i===void 0&&(i=Zu(n,t,r.fragmentMap));var a=new Map,s=this.cache.policies,o=new Yr(!1);return function c(l,u){var A=o.lookup(l,u.clientOnly,u.deferred);A.visited||(A.visited=!0,l.selections.forEach(function(h){if(ds(h,r.variables)){var f=u.clientOnly,d=u.deferred;if(!(f&&d)&&er(h.directives)&&h.directives.forEach(function(y){var v=y.name.value;if(v==="client"&&(f=!0),v==="defer"){var w=Yc(y,r.variables);(!w||w.if!==!1)&&(d=!0)}}),Gr(h)){var p=a.get(h);p&&(f=f&&p.clientOnly,d=d&&p.deferred),a.set(h,LA(r,f,d))}else{var m=Lc(h,r.lookupFragment);if(!m&&h.kind===et.FRAGMENT_SPREAD)throw an(11,h.name.value);m&&s.fragmentMatches(m,i,n,r.variables)&&c(m.selectionSet,LA(r,f,d))}}}))}(t,r),a},e.prototype.applyMerges=function(t,n,r,i,a){var s,o=this;if(t.map.size&&!kt(r)){var c=!oe(r)&&(kt(n)||ma(n))?n:void 0,l=r;c&&!a&&(a=[kt(c)?c.__ref:c]);var u,A=function(h,f){return oe(h)?typeof f=="number"?h[f]:void 0:i.store.getFieldValue(h,String(f))};t.map.forEach(function(h,f){var d=A(c,f),p=A(l,f);if(p!==void 0){a&&a.push(f);var m=o.applyMerges(h,d,p,i,a);m!==p&&(u=u||new Map,u.set(f,m)),a&&wt(a.pop()===f)}}),u&&(r=oe(l)?l.slice(0):k({},l),u.forEach(function(h,f){r[f]=h}))}return t.info?this.cache.policies.runMergeFunction(n,r,t.info,i,a&&(s=i.store).getStorage.apply(s,a)):r},e}(),kd=[];function Rd(e,t){var n=e.map;return n.has(t)||n.set(t,kd.pop()||{map:new Map}),n.get(t)}function YA(e,t){if(e===t||!t||qc(t))return e;if(!e||qc(e))return t;var n=e.info&&t.info?k(k({},e.info),t.info):e.info||t.info,r=e.map.size&&t.map.size,i=r?new Map:e.map.size?e.map:t.map,a={info:n,map:i};if(r){var s=new Set(t.map.keys());e.map.forEach(function(o,c){a.map.set(c,YA(o,t.map.get(c))),s.delete(c)}),s.forEach(function(o){a.map.set(o,YA(t.map.get(o),e.map.get(o)))})}return a}function qc(e){return!e||!(e.info||e.map.size)}function Od(e,t){var n=e.map,r=n.get(t);r&&qc(r)&&(kd.push(r),n.delete(t))}var Ud=new Set;function u2(e,t,n,r){var i=function(A){var h=r.getFieldValue(A,n);return typeof h=="object"&&h},a=i(e);if(a){var s=i(t);if(s&&!kt(a)&&!Zt(a,s)&&!Object.keys(a).every(function(A){return r.getFieldValue(s,A)!==void 0})){var o=r.getFieldValue(e,"__typename")||r.getFieldValue(t,"__typename"),c=Jr(n),l="".concat(o,".").concat(c);if(!Ud.has(l)){Ud.add(l);var u=[];!oe(a)&&!oe(s)&&[a,s].forEach(function(A){var h=r.getFieldValue(A,"__typename");typeof h=="string"&&!u.includes(h)&&u.push(h)}),globalThis.__DEV__!==!1&&wt.warn(12,c,o,u.length?"either ensure all objects of type "+u.join(" and ")+" have an ID or a custom merge function, or ":"",l,a,s)}}}}var A2=function(e){He(t,e);function t(n){n===void 0&&(n={});var r=e.call(this)||this;return r.watches=new Set,r.addTypenameTransform=new wg(eA),r.assumeImmutableResults=!0,r.makeVar=a2,r.txCount=0,r.config=jx(n),r.addTypename=!!r.config.addTypename,r.policies=new c2({cache:r,dataIdFromObject:r.config.dataIdFromObject,possibleTypes:r.config.possibleTypes,typePolicies:r.config.typePolicies}),r.init(),r}return t.prototype.init=function(){var n=this.data=new Ss.Root({policies:this.policies,resultCaching:this.config.resultCaching});this.optimisticData=n.stump,this.resetResultCache()},t.prototype.resetResultCache=function(n){var r=this,i=this.storeReader,a=this.config.fragments;this.storeWriter=new l2(this,this.storeReader=new Zx({cache:this,addTypename:this.addTypename,resultCacheMaxSize:this.config.resultCacheMaxSize,canonizeResults:Ad(this.config),canon:n?void 0:i&&i.canon,fragments:a}),a),this.maybeBroadcastWatch=Xc(function(s,o){return r.broadcastWatch(s,o)},{max:this.config.resultCacheMaxSize,makeCacheKey:function(s){var o=s.optimistic?r.optimisticData:r.data;if(Ds(o)){var c=s.optimistic,l=s.id,u=s.variables;return o.makeCacheKey(s.query,s.callback,bi({optimistic:c,id:l,variables:u}))}}}),new Set([this.data.group,this.optimisticData.group]).forEach(function(s){return s.resetCaching()})},t.prototype.restore=function(n){return this.init(),n&&this.data.replace(n),this},t.prototype.extract=function(n){return n===void 0&&(n=!1),(n?this.optimisticData:this.data).extract()},t.prototype.read=function(n){var r=n.returnPartialData,i=r===void 0?!1:r;try{return this.storeReader.diffQueryAgainstStore(k(k({},n),{store:n.optimistic?this.optimisticData:this.data,config:this.config,returnPartialData:i})).result||null}catch(a){if(a instanceof cd)return null;throw a}},t.prototype.write=function(n){try{return++this.txCount,this.storeWriter.writeToStore(this.data,n)}finally{!--this.txCount&&n.broadcast!==!1&&this.broadcastWatches()}},t.prototype.modify=function(n){if(Te.call(n,"id")&&!n.id)return!1;var r=n.optimistic?this.optimisticData:this.data;try{return++this.txCount,r.modify(n.id||"ROOT_QUERY",n.fields)}finally{!--this.txCount&&n.broadcast!==!1&&this.broadcastWatches()}},t.prototype.diff=function(n){return this.storeReader.diffQueryAgainstStore(k(k({},n),{store:n.optimistic?this.optimisticData:this.data,rootId:n.id||"ROOT_QUERY",config:this.config}))},t.prototype.watch=function(n){var r=this;return this.watches.size||i2(this),this.watches.add(n),n.immediate&&this.maybeBroadcastWatch(n),function(){r.watches.delete(n)&&!r.watches.size&&Cd(r),r.maybeBroadcastWatch.forget(n)}},t.prototype.gc=function(n){bi.reset();var r=this.optimisticData.gc();return n&&!this.txCount&&(n.resetResultCache?this.resetResultCache(n.resetResultIdentities):n.resetResultIdentities&&this.storeReader.resetCanon()),r},t.prototype.retain=function(n,r){return(r?this.optimisticData:this.data).retain(n)},t.prototype.release=function(n,r){return(r?this.optimisticData:this.data).release(n)},t.prototype.identify=function(n){if(kt(n))return n.__ref;try{return this.policies.identify(n)[0]}catch(r){globalThis.__DEV__!==!1&&wt.warn(r)}},t.prototype.evict=function(n){if(!n.id){if(Te.call(n,"id"))return!1;n=k(k({},n),{id:"ROOT_QUERY"})}try{return++this.txCount,this.optimisticData.evict(n,this.data)}finally{!--this.txCount&&n.broadcast!==!1&&this.broadcastWatches()}},t.prototype.reset=function(n){var r=this;return this.init(),bi.reset(),n&&n.discardWatches?(this.watches.forEach(function(i){return r.maybeBroadcastWatch.forget(i)}),this.watches.clear(),Cd(this)):this.broadcastWatches(),Promise.resolve()},t.prototype.removeOptimistic=function(n){var r=this.optimisticData.removeLayer(n);r!==this.optimisticData&&(this.optimisticData=r,this.broadcastWatches())},t.prototype.batch=function(n){var r=this,i=n.update,a=n.optimistic,s=a===void 0?!0:a,o=n.removeOptimistic,c=n.onWatchUpdated,l,u=function(h){var f=r,d=f.data,p=f.optimisticData;++r.txCount,h&&(r.data=r.optimisticData=h);try{return l=i(r)}finally{--r.txCount,r.data=d,r.optimisticData=p}},A=new Set;return c&&!this.txCount&&this.broadcastWatches(k(k({},n),{onWatchUpdated:function(h){return A.add(h),!1}})),typeof s=="string"?this.optimisticData=this.optimisticData.addLayer(s,u):s===!1?u(this.data):u(),typeof o=="string"&&(this.optimisticData=this.optimisticData.removeLayer(o)),c&&A.size?(this.broadcastWatches(k(k({},n),{onWatchUpdated:function(h,f){var d=c.call(this,h,f);return d!==!1&&A.delete(h),d}})),A.size&&A.forEach(function(h){return r.maybeBroadcastWatch.dirty(h)})):this.broadcastWatches(n),l},t.prototype.performTransaction=function(n,r){return this.batch({update:n,optimistic:r||r!==null})},t.prototype.transformDocument=function(n){return this.addTypenameToDocument(this.addFragmentsToDocument(n))},t.prototype.broadcastWatches=function(n){var r=this;this.txCount||this.watches.forEach(function(i){return r.maybeBroadcastWatch(i,n)})},t.prototype.addFragmentsToDocument=function(n){var r=this.config.fragments;return r?r.transform(n):n},t.prototype.addTypenameToDocument=function(n){return this.addTypename?this.addTypenameTransform.transformDocument(n):n},t.prototype.broadcastWatch=function(n,r){var i=n.lastDiff,a=this.diff(n);r&&(n.optimistic&&typeof r.optimistic=="string"&&(a.fromOptimisticTransaction=!0),r.onWatchUpdated&&r.onWatchUpdated.call(this,n,a,i)===!1)||(!i||!Zt(i.result,a.result))&&n.callback(n.lastDiff=a,i)},t}(Jx),Rt;(function(e){e[e.loading=1]="loading",e[e.setVariables=2]="setVariables",e[e.fetchMore=3]="fetchMore",e[e.refetch=4]="refetch",e[e.poll=6]="poll",e[e.ready=7]="ready",e[e.error=8]="error"})(Rt||(Rt={}));function Fs(e){return e?e<7:!1}function h2(e,t,n,r){var i=t.data,a=Ar(t,["data"]),s=n.data,o=Ar(n,["data"]);return Zt(a,o)&&Zc(vs(e).selectionSet,i,s,{fragmentMap:Uc(Hc(e)),variables:r})}function Zc(e,t,n,r){if(t===n)return!0;var i=new Set;return e.selections.every(function(a){if(i.has(a)||(i.add(a),!ds(a,r.variables))||Ld(a))return!0;if(Gr(a)){var s=Hr(a),o=t&&t[s],c=n&&n[s],l=a.selectionSet;if(!l)return Zt(o,c);var u=Array.isArray(o),A=Array.isArray(c);if(u!==A)return!1;if(u&&A){var h=o.length;if(c.length!==h)return!1;for(var f=0;f<h;++f)if(!Zc(l,o[f],c[f],r))return!1;return!0}return Zc(l,o,c,r)}else{var d=Lc(a,r.fragmentMap);if(d)return Ld(d)?!0:Zc(d.selectionSet,t,n,r)}})}function Ld(e){return!!e.directives&&e.directives.some(f2)}function f2(e){return e.name.value==="nonreactive"}var Yd=Object.assign,g2=Object.hasOwnProperty,HA=function(e){He(t,e);function t(n){var r=n.queryManager,i=n.queryInfo,a=n.options,s=e.call(this,function(m){try{var y=m._subscription._observer;y&&!y.error&&(y.error=d2)}catch{}var v=!s.observers.size;s.observers.add(m);var w=s.last;return w&&w.error?m.error&&m.error(w.error):w&&w.result&&m.next&&m.next(w.result),v&&s.reobserve().catch(function(){}),function(){s.observers.delete(m)&&!s.observers.size&&s.tearDownQuery()}})||this;s.observers=new Set,s.subscriptions=new Set,s.queryInfo=i,s.queryManager=r,s.waitForOwnResult=GA(a.fetchPolicy),s.isTornDown=!1;var o=r.defaultOptions.watchQuery,c=o===void 0?{}:o,l=c.fetchPolicy,u=l===void 0?"cache-first":l,A=a.fetchPolicy,h=A===void 0?u:A,f=a.initialFetchPolicy,d=f===void 0?h==="standby"?u:h:f;s.options=k(k({},a),{initialFetchPolicy:d,fetchPolicy:h}),s.queryId=i.queryId||r.generateQueryId();var p=ws(s.query);return s.queryName=p&&p.name&&p.name.value,s}return Object.defineProperty(t.prototype,"query",{get:function(){return this.lastQuery||this.options.query},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"variables",{get:function(){return this.options.variables},enumerable:!1,configurable:!0}),t.prototype.result=function(){var n=this;return new Promise(function(r,i){var a={next:function(o){r(o),n.observers.delete(a),n.observers.size||n.queryManager.removeQuery(n.queryId),setTimeout(function(){s.unsubscribe()},0)},error:i},s=n.subscribe(a)})},t.prototype.getCurrentResult=function(n){n===void 0&&(n=!0);var r=this.getLastResult(!0),i=this.queryInfo.networkStatus||r&&r.networkStatus||Rt.ready,a=k(k({},r),{loading:Fs(i),networkStatus:i}),s=this.options.fetchPolicy,o=s===void 0?"cache-first":s;if(!(GA(o)||this.queryManager.getDocumentInfo(this.query).hasForcedResolvers))if(this.waitForOwnResult)this.queryInfo.updateWatch();else{var c=this.queryInfo.getDiff();(c.complete||this.options.returnPartialData)&&(a.data=c.result),Zt(a.data,{})&&(a.data=void 0),c.complete?(delete a.partial,c.complete&&a.networkStatus===Rt.loading&&(o==="cache-first"||o==="cache-only")&&(a.networkStatus=Rt.ready,a.loading=!1)):a.partial=!0,globalThis.__DEV__!==!1&&!c.complete&&!this.options.partialRefetch&&!a.loading&&!a.data&&!a.error&&Gd(c.missing)}return n&&this.updateLastResult(a),a},t.prototype.isDifferentFromLastResult=function(n,r){if(!this.last)return!0;var i=this.queryManager.getDocumentInfo(this.query).hasNonreactiveDirective?!h2(this.query,this.last.result,n,this.variables):!Zt(this.last.result,n);return i||r&&!Zt(this.last.variables,r)},t.prototype.getLast=function(n,r){var i=this.last;if(i&&i[n]&&(!r||Zt(i.variables,this.variables)))return i[n]},t.prototype.getLastResult=function(n){return this.getLast("result",n)},t.prototype.getLastError=function(n){return this.getLast("error",n)},t.prototype.resetLastResults=function(){delete this.last,this.isTornDown=!1},t.prototype.resetQueryStoreErrors=function(){this.queryManager.resetErrors(this.queryId)},t.prototype.refetch=function(n){var r,i={pollInterval:0},a=this.options.fetchPolicy;if(a==="cache-and-network"?i.fetchPolicy=a:a==="no-cache"?i.fetchPolicy="no-cache":i.fetchPolicy="network-only",globalThis.__DEV__!==!1&&n&&g2.call(n,"variables")){var s=yg(this.query),o=s.variableDefinitions;(!o||!o.some(function(c){return c.variable.name.value==="variables"}))&&globalThis.__DEV__!==!1&&wt.warn(18,n,((r=s.name)===null||r===void 0?void 0:r.value)||s)}return n&&!Zt(this.options.variables,n)&&(i.variables=this.options.variables=k(k({},this.options.variables),n)),this.queryInfo.resetLastWrite(),this.reobserve(i,Rt.refetch)},t.prototype.fetchMore=function(n){var r=this,i=k(k({},n.query?n:k(k(k(k({},this.options),{query:this.options.query}),n),{variables:k(k({},this.options.variables),n.variables)})),{fetchPolicy:"no-cache"});i.query=this.transformDocument(i.query);var a=this.queryManager.generateQueryId();this.lastQuery=n.query?this.transformDocument(this.options.query):i.query;var s=this.queryInfo,o=s.networkStatus;s.networkStatus=Rt.fetchMore,i.notifyOnNetworkStatusChange&&this.observe();var c=new Set;return this.queryManager.fetchQuery(a,i,Rt.fetchMore).then(function(l){return r.queryManager.removeQuery(a),s.networkStatus===Rt.fetchMore&&(s.networkStatus=o),r.queryManager.cache.batch({update:function(u){var A=n.updateQuery;A?u.updateQuery({query:r.query,variables:r.variables,returnPartialData:!0,optimistic:!1},function(h){return A(h,{fetchMoreResult:l.data,variables:i.variables})}):u.writeQuery({query:i.query,variables:i.variables,data:l.data})},onWatchUpdated:function(u){c.add(u.query)}}),l}).finally(function(){c.has(r.query)||Hd(r)})},t.prototype.subscribeToMore=function(n){var r=this,i=this.queryManager.startGraphQLSubscription({query:n.document,variables:n.variables,context:n.context}).subscribe({next:function(a){var s=n.updateQuery;s&&r.updateQuery(function(o,c){var l=c.variables;return s(o,{subscriptionData:a,variables:l})})},error:function(a){if(n.onError){n.onError(a);return}globalThis.__DEV__!==!1&&wt.error(19,a)}});return this.subscriptions.add(i),function(){r.subscriptions.delete(i)&&i.unsubscribe()}},t.prototype.setOptions=function(n){return this.reobserve(n)},t.prototype.silentSetOptions=function(n){var r=ga(this.options,n||{});Yd(this.options,r)},t.prototype.setVariables=function(n){return Zt(this.variables,n)?this.observers.size?this.result():Promise.resolve():(this.options.variables=n,this.observers.size?this.reobserve({fetchPolicy:this.options.initialFetchPolicy,variables:n},Rt.setVariables):Promise.resolve())},t.prototype.updateQuery=function(n){var r=this.queryManager,i=r.cache.diff({query:this.options.query,variables:this.variables,returnPartialData:!0,optimistic:!1}).result,a=n(i,{variables:this.variables});a&&(r.cache.writeQuery({query:this.options.query,data:a,variables:this.variables}),r.broadcastQueries())},t.prototype.startPolling=function(n){this.options.pollInterval=n,this.updatePolling()},t.prototype.stopPolling=function(){this.options.pollInterval=0,this.updatePolling()},t.prototype.applyNextFetchPolicy=function(n,r){if(r.nextFetchPolicy){var i=r.fetchPolicy,a=i===void 0?"cache-first":i,s=r.initialFetchPolicy,o=s===void 0?a:s;a==="standby"||(typeof r.nextFetchPolicy=="function"?r.fetchPolicy=r.nextFetchPolicy(a,{reason:n,options:r,observable:this,initialFetchPolicy:o}):n==="variables-changed"?r.fetchPolicy=o:r.fetchPolicy=r.nextFetchPolicy)}return r.fetchPolicy},t.prototype.fetch=function(n,r){return this.queryManager.setObservableQuery(this),this.queryManager.fetchConcastWithInfo(this.queryId,n,r)},t.prototype.updatePolling=function(){var n=this;if(!this.queryManager.ssrMode){var r=this,i=r.pollingInfo,a=r.options.pollInterval;if(!a){i&&(clearTimeout(i.timeout),delete this.pollingInfo);return}if(!(i&&i.interval===a)){wt(a,20);var s=i||(this.pollingInfo={});s.interval=a;var o=function(){n.pollingInfo&&(Fs(n.queryInfo.networkStatus)?c():n.reobserve({fetchPolicy:n.options.initialFetchPolicy==="no-cache"?"no-cache":"network-only"},Rt.poll).then(c,c))},c=function(){var l=n.pollingInfo;l&&(clearTimeout(l.timeout),l.timeout=setTimeout(o,l.interval))};c()}}},t.prototype.updateLastResult=function(n,r){r===void 0&&(r=this.variables);var i=this.getLastError();return i&&this.last&&!Zt(r,this.last.variables)&&(i=void 0),this.last=k({result:this.queryManager.assumeImmutableResults?n:Pg(n),variables:r},i?{error:i}:null)},t.prototype.reobserveAsConcast=function(n,r){var i=this;this.isTornDown=!1;var a=r===Rt.refetch||r===Rt.fetchMore||r===Rt.poll,s=this.options.variables,o=this.options.fetchPolicy,c=ga(this.options,n||{}),l=a?c:Yd(this.options,c),u=this.transformDocument(l.query);this.lastQuery=u,a||(this.updatePolling(),n&&n.variables&&!Zt(n.variables,s)&&l.fetchPolicy!=="standby"&&l.fetchPolicy===o&&(this.applyNextFetchPolicy("variables-changed",l),r===void 0&&(r=Rt.setVariables)));var A=u===l.query?l:k(k({},l),{query:u});this.waitForOwnResult&&(this.waitForOwnResult=GA(A.fetchPolicy));var h=function(){i.concast===p&&(i.waitForOwnResult=!1)},f=A.variables&&k({},A.variables),d=this.fetch(A,r),p=d.concast,m=d.fromLink,y={next:function(v){h(),i.reportResult(v,f)},error:function(v){h(),i.reportError(v,f)}};return!a&&(m||!this.concast)&&(this.concast&&this.observer&&this.concast.removeObserver(this.observer),this.concast=p,this.observer=y),p.addObserver(y),p},t.prototype.reobserve=function(n,r){return this.reobserveAsConcast(n,r).promise},t.prototype.resubscribeAfterError=function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];var i=this.last;this.resetLastResults();var a=this.subscribe.apply(this,n);return this.last=i,a},t.prototype.observe=function(){this.reportResult(this.getCurrentResult(!1),this.variables)},t.prototype.reportResult=function(n,r){var i=this.getLastError(),a=this.isDifferentFromLastResult(n,r);(i||!n.partial||this.options.returnPartialData)&&this.updateLastResult(n,r),(i||a)&&Bs(this.observers,"next",n)},t.prototype.reportError=function(n,r){var i=k(k({},this.getLastResult()),{error:n,errors:n.graphQLErrors,networkStatus:Rt.error,loading:!1});this.updateLastResult(i,r),Bs(this.observers,"error",this.last.error=n)},t.prototype.hasObservers=function(){return this.observers.size>0},t.prototype.tearDownQuery=function(){this.isTornDown||(this.concast&&this.observer&&(this.concast.removeObserver(this.observer),delete this.concast,delete this.observer),this.stopPolling(),this.subscriptions.forEach(function(n){return n.unsubscribe()}),this.subscriptions.clear(),this.queryManager.stopQuery(this.queryId),this.observers.clear(),this.isTornDown=!0)},t.prototype.transformDocument=function(n){return this.queryManager.transform(n)},t}(Ut);kg(HA);function Hd(e){var t=e.options,n=t.fetchPolicy,r=t.nextFetchPolicy;return n==="cache-and-network"||n==="network-only"?e.reobserve({fetchPolicy:"cache-first",nextFetchPolicy:function(){return this.nextFetchPolicy=r,typeof r=="function"?r.apply(this,arguments):n}}):e.reobserve()}function d2(e){globalThis.__DEV__!==!1&&wt.error(21,e.message,e.stack)}function Gd(e){globalThis.__DEV__!==!1&&e&&globalThis.__DEV__!==!1&&wt.debug(22,e)}function GA(e){return e==="network-only"||e==="no-cache"||e==="standby"}var Vd=function(){function e(t){var n=t.cache,r=t.client,i=t.resolvers,a=t.fragmentMatcher;this.selectionsToResolveCache=new WeakMap,this.cache=n,r&&(this.client=r),i&&this.addResolvers(i),a&&this.setFragmentMatcher(a)}return e.prototype.addResolvers=function(t){var n=this;this.resolvers=this.resolvers||{},Array.isArray(t)?t.forEach(function(r){n.resolvers=Sg(n.resolvers,r)}):this.resolvers=Sg(this.resolvers,t)},e.prototype.setResolvers=function(t){this.resolvers={},this.addResolvers(t)},e.prototype.getResolvers=function(){return this.resolvers||{}},e.prototype.runResolvers=function(t){var n=t.document,r=t.remoteResult,i=t.context,a=t.variables,s=t.onlyRunForcedResolvers,o=s===void 0?!1:s;return Or(this,void 0,void 0,function(){return Ur(this,function(c){return n?[2,this.resolveDocument(n,r.data,i,a,this.fragmentMatcher,o).then(function(l){return k(k({},r),{data:l.result})})]:[2,r]})})},e.prototype.setFragmentMatcher=function(t){this.fragmentMatcher=t},e.prototype.getFragmentMatcher=function(){return this.fragmentMatcher},e.prototype.clientQuery=function(t){return ps(["client"],t)&&this.resolvers?t:null},e.prototype.serverQuery=function(t){return bg(t)},e.prototype.prepareContext=function(t){var n=this.cache;return k(k({},t),{cache:n,getCacheKey:function(r){return n.identify(r)}})},e.prototype.addExportedVariables=function(t,n,r){return n===void 0&&(n={}),r===void 0&&(r={}),Or(this,void 0,void 0,function(){return Ur(this,function(i){return t?[2,this.resolveDocument(t,this.buildRootValueFromCache(t,n)||{},this.prepareContext(r),n).then(function(a){return k(k({},n),a.exportedVariables)})]:[2,k({},n)]})})},e.prototype.shouldForceResolvers=function(t){var n=!1;return hr(t,{Directive:{enter:function(r){if(r.name.value==="client"&&r.arguments&&(n=r.arguments.some(function(i){return i.name.value==="always"&&i.value.kind==="BooleanValue"&&i.value.value===!0}),n))return _u}}}),n},e.prototype.buildRootValueFromCache=function(t,n){return this.cache.diff({query:QC(t),variables:n,returnPartialData:!0,optimistic:!1}).result},e.prototype.resolveDocument=function(t,n,r,i,a,s){return r===void 0&&(r={}),i===void 0&&(i={}),a===void 0&&(a=function(){return!0}),s===void 0&&(s=!1),Or(this,void 0,void 0,function(){var o,c,l,u,A,h,f,d,p,m,y;return Ur(this,function(v){return o=vs(t),c=Hc(t),l=Uc(c),u=this.collectSelectionsToResolve(o,l),A=o.operation,h=A?A.charAt(0).toUpperCase()+A.slice(1):"Query",f=this,d=f.cache,p=f.client,m={fragmentMap:l,context:k(k({},r),{cache:d,client:p}),variables:i,fragmentMatcher:a,defaultOperationType:h,exportedVariables:{},selectionsToResolve:u,onlyRunForcedResolvers:s},y=!1,[2,this.resolveSelectionSet(o.selectionSet,y,n,m).then(function(w){return{result:w,exportedVariables:m.exportedVariables}})]})})},e.prototype.resolveSelectionSet=function(t,n,r,i){return Or(this,void 0,void 0,function(){var a,s,o,c,l,u=this;return Ur(this,function(A){return a=i.fragmentMap,s=i.context,o=i.variables,c=[r],l=function(h){return Or(u,void 0,void 0,function(){var f,d;return Ur(this,function(p){return!n&&!i.selectionsToResolve.has(h)?[2]:ds(h,o)?Gr(h)?[2,this.resolveField(h,n,r,i).then(function(m){var y;typeof m<"u"&&c.push((y={},y[Hr(h)]=m,y))})]:(bC(h)?f=h:(f=a[h.name.value],wt(f,16,h.name.value)),f&&f.typeCondition&&(d=f.typeCondition.name.value,i.fragmentMatcher(r,d,s))?[2,this.resolveSelectionSet(f.selectionSet,n,r,i).then(function(m){c.push(m)})]:[2]):[2]})})},[2,Promise.all(t.selections.map(l)).then(function(){return nA(c)})]})})},e.prototype.resolveField=function(t,n,r,i){return Or(this,void 0,void 0,function(){var a,s,o,c,l,u,A,h,f,d=this;return Ur(this,function(p){return r?(a=i.variables,s=t.name.value,o=Hr(t),c=s!==o,l=r[o]||r[s],u=Promise.resolve(l),(!i.onlyRunForcedResolvers||this.shouldForceResolvers(t))&&(A=r.__typename||i.defaultOperationType,h=this.resolvers&&this.resolvers[A],h&&(f=h[c?s:o],f&&(u=Promise.resolve(PA.withValue(this.cache,f,[r,Yc(t,a),i.context,{field:t,fragmentMap:i.fragmentMap}]))))),[2,u.then(function(m){var y,v;if(m===void 0&&(m=l),t.directives&&t.directives.forEach(function(B){B.name.value==="export"&&B.arguments&&B.arguments.forEach(function(C){C.name.value==="as"&&C.value.kind==="StringValue"&&(i.exportedVariables[C.value.value]=m)})}),!t.selectionSet||m==null)return m;var w=(v=(y=t.directives)===null||y===void 0?void 0:y.some(function(B){return B.name.value==="client"}))!==null&&v!==void 0?v:!1;if(Array.isArray(m))return d.resolveSubSelectedArray(t,n||w,m,i);if(t.selectionSet)return d.resolveSelectionSet(t.selectionSet,n||w,m,i)})]):[2,null]})})},e.prototype.resolveSubSelectedArray=function(t,n,r,i){var a=this;return Promise.all(r.map(function(s){if(s===null)return null;if(Array.isArray(s))return a.resolveSubSelectedArray(t,n,s,i);if(t.selectionSet)return a.resolveSelectionSet(t.selectionSet,n,s,i)}))},e.prototype.collectSelectionsToResolve=function(t,n){var r=function(s){return!Array.isArray(s)},i=this.selectionsToResolveCache;function a(s){if(!i.has(s)){var o=new Set;i.set(s,o),hr(s,{Directive:function(c,l,u,A,h){c.name.value==="client"&&h.forEach(function(f){r(f)&&gg(f)&&o.add(f)})},FragmentSpread:function(c,l,u,A,h){var f=n[c.name.value];wt(f,17,c.name.value);var d=a(f);d.size>0&&(h.forEach(function(p){r(p)&&gg(p)&&o.add(p)}),o.add(c),d.forEach(function(p){o.add(p)}))}})}return i.get(s)}return a(t)},e}(),wa=new(fr?WeakMap:Map);function VA(e,t){var n=e[t];typeof n=="function"&&(e[t]=function(){return wa.set(e,(wa.get(e)+1)%1e15),n.apply(this,arguments)})}function zd(e){e.notifyTimeout&&(clearTimeout(e.notifyTimeout),e.notifyTimeout=void 0)}var zA=function(){function e(t,n){n===void 0&&(n=t.generateQueryId()),this.queryId=n,this.listeners=new Set,this.document=null,this.lastRequestId=1,this.subscriptions=new Set,this.stopped=!1,this.dirty=!1,this.observableQuery=null;var r=this.cache=t.cache;wa.has(r)||(wa.set(r,0),VA(r,"evict"),VA(r,"modify"),VA(r,"reset"))}return e.prototype.init=function(t){var n=t.networkStatus||Rt.loading;return this.variables&&this.networkStatus!==Rt.loading&&!Zt(this.variables,t.variables)&&(n=Rt.setVariables),Zt(t.variables,this.variables)||(this.lastDiff=void 0),Object.assign(this,{document:t.document,variables:t.variables,networkError:null,graphQLErrors:this.graphQLErrors||[],networkStatus:n}),t.observableQuery&&this.setObservableQuery(t.observableQuery),t.lastRequestId&&(this.lastRequestId=t.lastRequestId),this},e.prototype.reset=function(){zd(this),this.dirty=!1},e.prototype.getDiff=function(){var t=this.getDiffOptions();if(this.lastDiff&&Zt(t,this.lastDiff.options))return this.lastDiff.diff;this.updateWatch(this.variables);var n=this.observableQuery;if(n&&n.options.fetchPolicy==="no-cache")return{complete:!1};var r=this.cache.diff(t);return this.updateLastDiff(r,t),r},e.prototype.updateLastDiff=function(t,n){this.lastDiff=t?{diff:t,options:n||this.getDiffOptions()}:void 0},e.prototype.getDiffOptions=function(t){var n;return t===void 0&&(t=this.variables),{query:this.document,variables:t,returnPartialData:!0,optimistic:!0,canonizeResults:(n=this.observableQuery)===null||n===void 0?void 0:n.options.canonizeResults}},e.prototype.setDiff=function(t){var n=this,r=this.lastDiff&&this.lastDiff.diff;this.updateLastDiff(t),!this.dirty&&!Zt(r&&r.result,t&&t.result)&&(this.dirty=!0,this.notifyTimeout||(this.notifyTimeout=setTimeout(function(){return n.notify()},0)))},e.prototype.setObservableQuery=function(t){var n=this;t!==this.observableQuery&&(this.oqListener&&this.listeners.delete(this.oqListener),this.observableQuery=t,t?(t.queryInfo=this,this.listeners.add(this.oqListener=function(){var r=n.getDiff();r.fromOptimisticTransaction?t.observe():Hd(t)})):delete this.oqListener)},e.prototype.notify=function(){var t=this;zd(this),this.shouldNotify()&&this.listeners.forEach(function(n){return n(t)}),this.dirty=!1},e.prototype.shouldNotify=function(){if(!this.dirty||!this.listeners.size)return!1;if(Fs(this.networkStatus)&&this.observableQuery){var t=this.observableQuery.options.fetchPolicy;if(t!=="cache-only"&&t!=="cache-and-network")return!1}return!0},e.prototype.stop=function(){if(!this.stopped){this.stopped=!0,this.reset(),this.cancel(),this.cancel=e.prototype.cancel,this.subscriptions.forEach(function(n){return n.unsubscribe()});var t=this.observableQuery;t&&t.stopPolling()}},e.prototype.cancel=function(){},e.prototype.updateWatch=function(t){var n=this;t===void 0&&(t=this.variables);var r=this.observableQuery;if(!(r&&r.options.fetchPolicy==="no-cache")){var i=k(k({},this.getDiffOptions(t)),{watcher:this,callback:function(a){return n.setDiff(a)}});(!this.lastWatch||!Zt(i,this.lastWatch))&&(this.cancel(),this.cancel=this.cache.watch(this.lastWatch=i))}},e.prototype.resetLastWrite=function(){this.lastWrite=void 0},e.prototype.shouldWrite=function(t,n){var r=this.lastWrite;return!(r&&r.dmCount===wa.get(this.cache)&&Zt(n,r.variables)&&Zt(t.data,r.result.data))},e.prototype.markResult=function(t,n,r,i){var a=this,s=new Vr,o=er(t.errors)?t.errors.slice(0):[];if(this.reset(),"incremental"in t&&er(t.incremental)){var c=Og(this.getDiff().result,t);t.data=c}else if("hasNext"in t&&t.hasNext){var l=this.getDiff();t.data=s.merge(l.result,t.data)}this.graphQLErrors=o,r.fetchPolicy==="no-cache"?this.updateLastDiff({result:t.data,complete:!0},this.getDiffOptions(r.variables)):i!==0&&(JA(t,r.errorPolicy)?this.cache.performTransaction(function(u){if(a.shouldWrite(t,r.variables))u.writeQuery({query:n,data:t.data,variables:r.variables,overwrite:i===1}),a.lastWrite={result:t,variables:r.variables,dmCount:wa.get(a.cache)};else if(a.lastDiff&&a.lastDiff.diff.complete){t.data=a.lastDiff.diff.result;return}var A=a.getDiffOptions(r.variables),h=u.diff(A);!a.stopped&&Zt(a.variables,r.variables)&&a.updateWatch(r.variables),a.updateLastDiff(h,A),h.complete&&(t.data=h.result)}):this.lastWrite=void 0)},e.prototype.markReady=function(){return this.networkError=null,this.networkStatus=Rt.ready},e.prototype.markError=function(t){return this.networkStatus=Rt.error,this.lastWrite=void 0,this.reset(),t.graphQLErrors&&(this.graphQLErrors=t.graphQLErrors),t.networkError&&(this.networkError=t.networkError),t},e}();function JA(e,t){t===void 0&&(t="none");var n=t==="ignore"||t==="all",r=!zc(e);return!r&&n&&e.data&&(r=!0),r}var p2=Object.prototype.hasOwnProperty,m2=function(){function e(t){var n=this,r=t.cache,i=t.link,a=t.defaultOptions,s=t.documentTransform,o=t.queryDeduplication,c=o===void 0?!1:o,l=t.onBroadcast,u=t.ssrMode,A=u===void 0?!1:u,h=t.clientAwareness,f=h===void 0?{}:h,d=t.localState,p=t.assumeImmutableResults,m=p===void 0?!!r.assumeImmutableResults:p;this.clientAwareness={},this.queries=new Map,this.fetchCancelFns=new Map,this.transformCache=new(fr?WeakMap:Map),this.queryIdCounter=1,this.requestIdCounter=1,this.mutationIdCounter=1,this.inFlightLinkObservables=new Map;var y=new wg(function(v){return n.cache.transformDocument(v)},{cache:!1});this.cache=r,this.link=i,this.defaultOptions=a||Object.create(null),this.queryDeduplication=c,this.clientAwareness=f,this.localState=d||new Vd({cache:r}),this.ssrMode=A,this.assumeImmutableResults=m,this.documentTransform=s?y.concat(s).concat(y):y,(this.onBroadcast=l)&&(this.mutationStore=Object.create(null))}return e.prototype.stop=function(){var t=this;this.queries.forEach(function(n,r){t.stopQueryNoBroadcast(r)}),this.cancelPendingFetches(an(23))},e.prototype.cancelPendingFetches=function(t){this.fetchCancelFns.forEach(function(n){return n(t)}),this.fetchCancelFns.clear()},e.prototype.mutate=function(t){var n,r,i=t.mutation,a=t.variables,s=t.optimisticResponse,o=t.updateQueries,c=t.refetchQueries,l=c===void 0?[]:c,u=t.awaitRefetchQueries,A=u===void 0?!1:u,h=t.update,f=t.onQueryUpdated,d=t.fetchPolicy,p=d===void 0?((n=this.defaultOptions.mutate)===null||n===void 0?void 0:n.fetchPolicy)||"network-only":d,m=t.errorPolicy,y=m===void 0?((r=this.defaultOptions.mutate)===null||r===void 0?void 0:r.errorPolicy)||"none":m,v=t.keepRootFields,w=t.context;return Or(this,void 0,void 0,function(){var B,C,x,b;return Ur(this,function(D){switch(D.label){case 0:return wt(i,24),wt(p==="network-only"||p==="no-cache",25),B=this.generateMutationId(),i=this.cache.transformForLink(this.transform(i)),C=this.getDocumentInfo(i).hasClientExports,a=this.getVariables(i,a),C?[4,this.localState.addExportedVariables(i,a,w)]:[3,2];case 1:a=D.sent(),D.label=2;case 2:return x=this.mutationStore&&(this.mutationStore[B]={mutation:i,variables:a,loading:!0,error:null}),s&&this.markMutationOptimistic(s,{mutationId:B,document:i,variables:a,fetchPolicy:p,errorPolicy:y,context:w,updateQueries:o,update:h,keepRootFields:v}),this.broadcastQueries(),b=this,[2,new Promise(function(T,P){return hA(b.getObservableFromLink(i,k(k({},w),{optimisticResponse:s}),a,!1),function(L){if(zc(L)&&y==="none")throw new da({graphQLErrors:fA(L)});x&&(x.loading=!1,x.error=null);var U=k({},L);return typeof l=="function"&&(l=l(U)),y==="ignore"&&zc(U)&&delete U.errors,b.markMutationResult({mutationId:B,result:U,document:i,variables:a,fetchPolicy:p,errorPolicy:y,context:w,update:h,updateQueries:o,awaitRefetchQueries:A,refetchQueries:l,removeOptimistic:s?B:void 0,onQueryUpdated:f,keepRootFields:v})}).subscribe({next:function(L){b.broadcastQueries(),(!("hasNext"in L)||L.hasNext===!1)&&T(L)},error:function(L){x&&(x.loading=!1,x.error=L),s&&b.cache.removeOptimistic(B),b.broadcastQueries(),P(L instanceof da?L:new da({networkError:L}))}})})]}})})},e.prototype.markMutationResult=function(t,n){var r=this;n===void 0&&(n=this.cache);var i=t.result,a=[],s=t.fetchPolicy==="no-cache";if(!s&&JA(i,t.errorPolicy)){if(fa(i)||a.push({result:i.data,dataId:"ROOT_MUTATION",query:t.document,variables:t.variables}),fa(i)&&er(i.incremental)){var o=n.diff({id:"ROOT_MUTATION",query:this.getDocumentInfo(t.document).asQuery,variables:t.variables,optimistic:!1,returnPartialData:!0}),c=void 0;o.result&&(c=Og(o.result,i)),typeof c<"u"&&(i.data=c,a.push({result:c,dataId:"ROOT_MUTATION",query:t.document,variables:t.variables}))}var l=t.updateQueries;l&&this.queries.forEach(function(A,h){var f=A.observableQuery,d=f&&f.queryName;if(!(!d||!p2.call(l,d))){var p=l[d],m=r.queries.get(h),y=m.document,v=m.variables,w=n.diff({query:y,variables:v,returnPartialData:!0,optimistic:!1}),B=w.result,C=w.complete;if(C&&B){var x=p(B,{mutationResult:i,queryName:y&&$u(y)||void 0,queryVariables:v});x&&a.push({result:x,dataId:"ROOT_QUERY",query:y,variables:v})}}})}if(a.length>0||t.refetchQueries||t.update||t.onQueryUpdated||t.removeOptimistic){var u=[];if(this.refetchQueries({updateCache:function(A){s||a.forEach(function(p){return A.write(p)});var h=t.update,f=!JC(i)||fa(i)&&!i.hasNext;if(h){if(!s){var d=A.diff({id:"ROOT_MUTATION",query:r.getDocumentInfo(t.document).asQuery,variables:t.variables,optimistic:!1,returnPartialData:!0});d.complete&&(i=k(k({},i),{data:d.result}),"incremental"in i&&delete i.incremental,"hasNext"in i&&delete i.hasNext)}f&&h(A,i,{context:t.context,variables:t.variables})}!s&&!t.keepRootFields&&f&&A.modify({id:"ROOT_MUTATION",fields:function(p,m){var y=m.fieldName,v=m.DELETE;return y==="__typename"?p:v}})},include:t.refetchQueries,optimistic:!1,removeOptimistic:t.removeOptimistic,onQueryUpdated:t.onQueryUpdated||null}).forEach(function(A){return u.push(A)}),t.awaitRefetchQueries||t.onQueryUpdated)return Promise.all(u).then(function(){return i})}return Promise.resolve(i)},e.prototype.markMutationOptimistic=function(t,n){var r=this,i=typeof t=="function"?t(n.variables):t;return this.cache.recordOptimisticTransaction(function(a){try{r.markMutationResult(k(k({},n),{result:{data:i}}),a)}catch(s){globalThis.__DEV__!==!1&&wt.error(s)}},n.mutationId)},e.prototype.fetchQuery=function(t,n,r){return this.fetchConcastWithInfo(t,n,r).concast.promise},e.prototype.getQueryStore=function(){var t=Object.create(null);return this.queries.forEach(function(n,r){t[r]={variables:n.variables,networkStatus:n.networkStatus,networkError:n.networkError,graphQLErrors:n.graphQLErrors}}),t},e.prototype.resetErrors=function(t){var n=this.queries.get(t);n&&(n.networkError=void 0,n.graphQLErrors=[])},e.prototype.transform=function(t){return this.documentTransform.transformDocument(t)},e.prototype.getDocumentInfo=function(t){var n=this.transformCache;if(!n.has(t)){var r={hasClientExports:iC(t),hasForcedResolvers:this.localState.shouldForceResolvers(t),hasNonreactiveDirective:ps(["nonreactive"],t),clientQuery:this.localState.clientQuery(t),serverQuery:xg([{name:"client",remove:!0},{name:"connection"},{name:"nonreactive"}],t),defaultVars:tA(ws(t)),asQuery:k(k({},t),{definitions:t.definitions.map(function(i){return i.kind==="OperationDefinition"&&i.operation!=="query"?k(k({},i),{operation:"query"}):i})})};n.set(t,r)}return n.get(t)},e.prototype.getVariables=function(t,n){return k(k({},this.getDocumentInfo(t).defaultVars),n)},e.prototype.watchQuery=function(t){var n=this.transform(t.query);t=k(k({},t),{variables:this.getVariables(n,t.variables)}),typeof t.notifyOnNetworkStatusChange>"u"&&(t.notifyOnNetworkStatusChange=!1);var r=new zA(this),i=new HA({queryManager:this,queryInfo:r,options:t});return i.lastQuery=n,this.queries.set(i.queryId,r),r.init({document:n,observableQuery:i,variables:i.variables}),i},e.prototype.query=function(t,n){var r=this;return n===void 0&&(n=this.generateQueryId()),wt(t.query,26),wt(t.query.kind==="Document",27),wt(!t.returnPartialData,28),wt(!t.pollInterval,29),this.fetchQuery(n,k(k({},t),{query:this.transform(t.query)})).finally(function(){return r.stopQuery(n)})},e.prototype.generateQueryId=function(){return String(this.queryIdCounter++)},e.prototype.generateRequestId=function(){return this.requestIdCounter++},e.prototype.generateMutationId=function(){return String(this.mutationIdCounter++)},e.prototype.stopQueryInStore=function(t){this.stopQueryInStoreNoBroadcast(t),this.broadcastQueries()},e.prototype.stopQueryInStoreNoBroadcast=function(t){var n=this.queries.get(t);n&&n.stop()},e.prototype.clearStore=function(t){return t===void 0&&(t={discardWatches:!0}),this.cancelPendingFetches(an(30)),this.queries.forEach(function(n){n.observableQuery?n.networkStatus=Rt.loading:n.stop()}),this.mutationStore&&(this.mutationStore=Object.create(null)),this.cache.reset(t)},e.prototype.getObservableQueries=function(t){var n=this;t===void 0&&(t="active");var r=new Map,i=new Map,a=new Set;return Array.isArray(t)&&t.forEach(function(s){typeof s=="string"?i.set(s,!1):hC(s)?i.set(n.transform(s),!1):jt(s)&&s.query&&a.add(s)}),this.queries.forEach(function(s,o){var c=s.observableQuery,l=s.document;if(c){if(t==="all"){r.set(o,c);return}var u=c.queryName,A=c.options.fetchPolicy;if(A==="standby"||t==="active"&&!c.hasObservers())return;(t==="active"||u&&i.has(u)||l&&i.has(l))&&(r.set(o,c),u&&i.set(u,!0),l&&i.set(l,!0))}}),a.size&&a.forEach(function(s){var o=Gu("legacyOneTimeQuery"),c=n.getQuery(o).init({document:s.query,variables:s.variables}),l=new HA({queryManager:n,queryInfo:c,options:k(k({},s),{fetchPolicy:"network-only"})});wt(l.queryId===o),c.setObservableQuery(l),r.set(o,l)}),globalThis.__DEV__!==!1&&i.size&&i.forEach(function(s,o){s||globalThis.__DEV__!==!1&&wt.warn(typeof o=="string"?31:32,o)}),r},e.prototype.reFetchObservableQueries=function(t){var n=this;t===void 0&&(t=!1);var r=[];return this.getObservableQueries(t?"all":"active").forEach(function(i,a){var s=i.options.fetchPolicy;i.resetLastResults(),(t||s!=="standby"&&s!=="cache-only")&&r.push(i.refetch()),n.getQuery(a).setDiff(null)}),this.broadcastQueries(),Promise.all(r)},e.prototype.setObservableQuery=function(t){this.getQuery(t.queryId).setObservableQuery(t)},e.prototype.startGraphQLSubscription=function(t){var n=this,r=t.query,i=t.fetchPolicy,a=t.errorPolicy,s=a===void 0?"none":a,o=t.variables,c=t.context,l=c===void 0?{}:c;r=this.transform(r),o=this.getVariables(r,o);var u=function(h){return n.getObservableFromLink(r,l,h).map(function(f){i!=="no-cache"&&(JA(f,s)&&n.cache.write({query:r,result:f.data,dataId:"ROOT_SUBSCRIPTION",variables:h}),n.broadcastQueries());var d=zc(f),p=cx(f);if(d||p){var m={};if(d&&(m.graphQLErrors=f.errors),p&&(m.protocolErrors=f.extensions[yA]),s==="none"||p)throw new da(m)}return s==="ignore"&&delete f.errors,f})};if(this.getDocumentInfo(r).hasClientExports){var A=this.localState.addExportedVariables(r,o,l).then(u);return new Ut(function(h){var f=null;return A.then(function(d){return f=d.subscribe(h)},h.error),function(){return f&&f.unsubscribe()}})}return u(o)},e.prototype.stopQuery=function(t){this.stopQueryNoBroadcast(t),this.broadcastQueries()},e.prototype.stopQueryNoBroadcast=function(t){this.stopQueryInStoreNoBroadcast(t),this.removeQuery(t)},e.prototype.removeQuery=function(t){this.fetchCancelFns.delete(t),this.queries.has(t)&&(this.getQuery(t).stop(),this.queries.delete(t))},e.prototype.broadcastQueries=function(){this.onBroadcast&&this.onBroadcast(),this.queries.forEach(function(t){return t.notify()})},e.prototype.getLocalState=function(){return this.localState},e.prototype.getObservableFromLink=function(t,n,r,i){var a=this,s;i===void 0&&(i=(s=n==null?void 0:n.queryDeduplication)!==null&&s!==void 0?s:this.queryDeduplication);var o,c=this.getDocumentInfo(t),l=c.serverQuery,u=c.clientQuery;if(l){var A=this,h=A.inFlightLinkObservables,f=A.link,d={query:l,variables:r,operationName:$u(l)||void 0,context:this.prepareContext(k(k({},n),{forceFetch:!i}))};if(n=d.context,i){var p=vg(l),m=h.get(p)||new Map;h.set(p,m);var y=bi(r);if(o=m.get(y),!o){var v=new ha([mA(f,d)]);m.set(y,o=v),v.beforeNext(function(){m.delete(y)&&m.size<1&&h.delete(p)})}}else o=new ha([mA(f,d)])}else o=new ha([Ut.of({data:{}})]),n=this.prepareContext(n);return u&&(o=hA(o,function(w){return a.localState.runResolvers({document:u,remoteResult:w,context:n,variables:r})})),o},e.prototype.getResultsFromLink=function(t,n,r){var i=t.lastRequestId=this.generateRequestId(),a=this.cache.transformForLink(r.query);return hA(this.getObservableFromLink(a,r.context,r.variables),function(s){var o=fA(s),c=o.length>0;if(i>=t.lastRequestId){if(c&&r.errorPolicy==="none")throw t.markError(new da({graphQLErrors:o}));t.markResult(s,a,r,n),t.markReady()}var l={data:s.data,loading:!1,networkStatus:Rt.ready};return c&&r.errorPolicy!=="ignore"&&(l.errors=o,l.networkStatus=Rt.error),l},function(s){var o=lx(s)?s:new da({networkError:s});throw i>=t.lastRequestId&&t.markError(o),o})},e.prototype.fetchConcastWithInfo=function(t,n,r){var i=this;r===void 0&&(r=Rt.loading);var a=n.query,s=this.getVariables(a,n.variables),o=this.getQuery(t),c=this.defaultOptions.watchQuery,l=n.fetchPolicy,u=l===void 0?c&&c.fetchPolicy||"cache-first":l,A=n.errorPolicy,h=A===void 0?c&&c.errorPolicy||"none":A,f=n.returnPartialData,d=f===void 0?!1:f,p=n.notifyOnNetworkStatusChange,m=p===void 0?!1:p,y=n.context,v=y===void 0?{}:y,w=Object.assign({},n,{query:a,variables:s,fetchPolicy:u,errorPolicy:h,returnPartialData:d,notifyOnNetworkStatusChange:m,context:v}),B=function(T){w.variables=T;var P=i.fetchQueryByPolicy(o,w,r);return w.fetchPolicy!=="standby"&&P.sources.length>0&&o.observableQuery&&o.observableQuery.applyNextFetchPolicy("after-fetch",n),P},C=function(){return i.fetchCancelFns.delete(t)};this.fetchCancelFns.set(t,function(T){C(),setTimeout(function(){return x.cancel(T)})});var x,b;if(this.getDocumentInfo(w.query).hasClientExports)x=new ha(this.localState.addExportedVariables(w.query,w.variables,w.context).then(B).then(function(T){return T.sources})),b=!0;else{var D=B(w.variables);b=D.fromLink,x=new ha(D.sources)}return x.promise.then(C,C),{concast:x,fromLink:b}},e.prototype.refetchQueries=function(t){var n=this,r=t.updateCache,i=t.include,a=t.optimistic,s=a===void 0?!1:a,o=t.removeOptimistic,c=o===void 0?s?Gu("refetchQueries"):void 0:o,l=t.onQueryUpdated,u=new Map;i&&this.getObservableQueries(i).forEach(function(h,f){u.set(f,{oq:h,lastDiff:n.getQuery(f).getDiff()})});var A=new Map;return r&&this.cache.batch({update:r,optimistic:s&&c||!1,removeOptimistic:c,onWatchUpdated:function(h,f,d){var p=h.watcher instanceof zA&&h.watcher.observableQuery;if(p){if(l){u.delete(p.queryId);var m=l(p,f,d);return m===!0&&(m=p.refetch()),m!==!1&&A.set(p,m),m}l!==null&&u.set(p.queryId,{oq:p,lastDiff:d,diff:f})}}}),u.size&&u.forEach(function(h,f){var d=h.oq,p=h.lastDiff,m=h.diff,y;if(l){if(!m){var v=d.queryInfo;v.reset(),m=v.getDiff()}y=l(d,m,p)}(!l||y===!0)&&(y=d.refetch()),y!==!1&&A.set(d,y),f.indexOf("legacyOneTimeQuery")>=0&&n.stopQueryNoBroadcast(f)}),c&&this.cache.removeOptimistic(c),A},e.prototype.fetchQueryByPolicy=function(t,n,r){var i=this,a=n.query,s=n.variables,o=n.fetchPolicy,c=n.refetchWritePolicy,l=n.errorPolicy,u=n.returnPartialData,A=n.context,h=n.notifyOnNetworkStatusChange,f=t.networkStatus;t.init({document:a,variables:s,networkStatus:r});var d=function(){return t.getDiff()},p=function(B,C){C===void 0&&(C=t.networkStatus||Rt.loading);var x=B.result;globalThis.__DEV__!==!1&&!u&&!Zt(x,{})&&Gd(B.missing);var b=function(D){return Ut.of(k({data:D,loading:Fs(C),networkStatus:C},B.complete?null:{partial:!0}))};return x&&i.getDocumentInfo(a).hasForcedResolvers?i.localState.runResolvers({document:a,remoteResult:{data:x},context:A,variables:s,onlyRunForcedResolvers:!0}).then(function(D){return b(D.data||void 0)}):l==="none"&&C===Rt.refetch&&Array.isArray(B.missing)?b(void 0):b(x)},m=o==="no-cache"?0:r===Rt.refetch&&c!=="merge"?1:2,y=function(){return i.getResultsFromLink(t,m,{query:a,variables:s,context:A,fetchPolicy:o,errorPolicy:l})},v=h&&typeof f=="number"&&f!==r&&Fs(r);switch(o){default:case"cache-first":{var w=d();return w.complete?{fromLink:!1,sources:[p(w,t.markReady())]}:u||v?{fromLink:!0,sources:[p(w),y()]}:{fromLink:!0,sources:[y()]}}case"cache-and-network":{var w=d();return w.complete||u||v?{fromLink:!0,sources:[p(w),y()]}:{fromLink:!0,sources:[y()]}}case"cache-only":return{fromLink:!1,sources:[p(d(),t.markReady())]};case"network-only":return v?{fromLink:!0,sources:[p(d()),y()]}:{fromLink:!0,sources:[y()]};case"no-cache":return v?{fromLink:!0,sources:[p(t.getDiff()),y()]}:{fromLink:!0,sources:[y()]};case"standby":return{fromLink:!1,sources:[]}}},e.prototype.getQuery=function(t){return t&&!this.queries.has(t)&&this.queries.set(t,new zA(this,t)),this.queries.get(t)},e.prototype.prepareContext=function(t){t===void 0&&(t={});var n=this.localState.prepareContext(t);return k(k({},n),{clientAwareness:this.clientAwareness})},e}(),Jd=!1,y2=function(){function e(t){var n=this;if(this.resetStoreCallbacks=[],this.clearStoreCallbacks=[],!t.cache)throw an(13);var r=t.uri,i=t.credentials,a=t.headers,s=t.cache,o=t.documentTransform,c=t.ssrMode,l=c===void 0?!1:c,u=t.ssrForceFetchDelay,A=u===void 0?0:u,h=t.connectToDevTools,f=h===void 0?typeof window=="object"&&!window.__APOLLO_CLIENT__&&globalThis.__DEV__!==!1:h,d=t.queryDeduplication,p=d===void 0?!0:d,m=t.defaultOptions,y=t.assumeImmutableResults,v=y===void 0?s.assumeImmutableResults:y,w=t.resolvers,B=t.typeDefs,C=t.fragmentMatcher,x=t.name,b=t.version,D=t.link;D||(D=r?new bx({uri:r,credentials:i,headers:a}):gr.empty()),this.link=D,this.cache=s,this.disableNetworkFetches=l||A>0,this.queryDeduplication=p,this.defaultOptions=m||Object.create(null),this.typeDefs=B,A&&setTimeout(function(){return n.disableNetworkFetches=!1},A),this.watchQuery=this.watchQuery.bind(this),this.query=this.query.bind(this),this.mutate=this.mutate.bind(this),this.resetStore=this.resetStore.bind(this),this.reFetchObservableQueries=this.reFetchObservableQueries.bind(this),this.version=Hu,this.localState=new Vd({cache:s,client:this,resolvers:w,fragmentMatcher:C}),this.queryManager=new m2({cache:this.cache,link:this.link,defaultOptions:this.defaultOptions,documentTransform:o,queryDeduplication:p,ssrMode:l,clientAwareness:{name:x,version:b},localState:this.localState,assumeImmutableResults:v,onBroadcast:f?function(){n.devToolsHookCb&&n.devToolsHookCb({action:{},state:{queries:n.queryManager.getQueryStore(),mutations:n.queryManager.mutationStore||{}},dataWithOptimisticResults:n.cache.extract(!0)})}:void 0}),f&&this.connectToDevTools()}return e.prototype.connectToDevTools=function(){if(typeof window=="object"){var t=window,n=Symbol.for("apollo.devtools");(t[n]=t[n]||[]).push(this),t.__APOLLO_CLIENT__=this}!Jd&&globalThis.__DEV__!==!1&&(Jd=!0,setTimeout(function(){if(typeof window<"u"&&window.document&&window.top===window.self&&!window.__APOLLO_DEVTOOLS_GLOBAL_HOOK__){var r=window.navigator,i=r&&r.userAgent,a=void 0;typeof i=="string"&&(i.indexOf("Chrome/")>-1?a="https://chrome.google.com/webstore/detail/apollo-client-developer-t/jdkknkkbebbapilgoeccciglkfbmbnfm":i.indexOf("Firefox/")>-1&&(a="https://addons.mozilla.org/en-US/firefox/addon/apollo-developer-tools/")),a&&globalThis.__DEV__!==!1&&wt.log("Download the Apollo DevTools for a better development experience: %s",a)}},1e4))},Object.defineProperty(e.prototype,"documentTransform",{get:function(){return this.queryManager.documentTransform},enumerable:!1,configurable:!0}),e.prototype.stop=function(){this.queryManager.stop()},e.prototype.watchQuery=function(t){return this.defaultOptions.watchQuery&&(t=gA(this.defaultOptions.watchQuery,t)),this.disableNetworkFetches&&(t.fetchPolicy==="network-only"||t.fetchPolicy==="cache-and-network")&&(t=k(k({},t),{fetchPolicy:"cache-first"})),this.queryManager.watchQuery(t)},e.prototype.query=function(t){return this.defaultOptions.query&&(t=gA(this.defaultOptions.query,t)),wt(t.fetchPolicy!=="cache-and-network",14),this.disableNetworkFetches&&t.fetchPolicy==="network-only"&&(t=k(k({},t),{fetchPolicy:"cache-first"})),this.queryManager.query(t)},e.prototype.mutate=function(t){return this.defaultOptions.mutate&&(t=gA(this.defaultOptions.mutate,t)),this.queryManager.mutate(t)},e.prototype.subscribe=function(t){return this.queryManager.startGraphQLSubscription(t)},e.prototype.readQuery=function(t,n){return n===void 0&&(n=!1),this.cache.readQuery(t,n)},e.prototype.readFragment=function(t,n){return n===void 0&&(n=!1),this.cache.readFragment(t,n)},e.prototype.writeQuery=function(t){var n=this.cache.writeQuery(t);return t.broadcast!==!1&&this.queryManager.broadcastQueries(),n},e.prototype.writeFragment=function(t){var n=this.cache.writeFragment(t);return t.broadcast!==!1&&this.queryManager.broadcastQueries(),n},e.prototype.__actionHookForDevTools=function(t){this.devToolsHookCb=t},e.prototype.__requestRaw=function(t){return mA(this.link,t)},e.prototype.resetStore=function(){var t=this;return Promise.resolve().then(function(){return t.queryManager.clearStore({discardWatches:!1})}).then(function(){return Promise.all(t.resetStoreCallbacks.map(function(n){return n()}))}).then(function(){return t.reFetchObservableQueries()})},e.prototype.clearStore=function(){var t=this;return Promise.resolve().then(function(){return t.queryManager.clearStore({discardWatches:!0})}).then(function(){return Promise.all(t.clearStoreCallbacks.map(function(n){return n()}))})},e.prototype.onResetStore=function(t){var n=this;return this.resetStoreCallbacks.push(t),function(){n.resetStoreCallbacks=n.resetStoreCallbacks.filter(function(r){return r!==t})}},e.prototype.onClearStore=function(t){var n=this;return this.clearStoreCallbacks.push(t),function(){n.clearStoreCallbacks=n.clearStoreCallbacks.filter(function(r){return r!==t})}},e.prototype.reFetchObservableQueries=function(t){return this.queryManager.reFetchObservableQueries(t)},e.prototype.refetchQueries=function(t){var n=this.queryManager.refetchQueries(t),r=[],i=[];n.forEach(function(s,o){r.push(o),i.push(s)});var a=Promise.all(i);return a.queries=r,a.results=i,a.catch(function(s){globalThis.__DEV__!==!1&&wt.debug(15,s)}),a},e.prototype.getObservableQueries=function(t){return t===void 0&&(t="active"),this.queryManager.getObservableQueries(t)},e.prototype.extract=function(t){return this.cache.extract(t)},e.prototype.restore=function(t){return this.cache.restore(t)},e.prototype.addResolvers=function(t){this.localState.addResolvers(t)},e.prototype.setResolvers=function(t){this.localState.setResolvers(t)},e.prototype.getResolvers=function(){return this.localState.getResolvers()},e.prototype.setLocalStateFragmentMatcher=function(t){this.localState.setFragmentMatcher(t)},e.prototype.setLink=function(t){this.link=this.queryManager.link=t},e}(),$c=new Map,jA=new Map,jd=!0,tl=!1;function Wd(e){return e.replace(/[\s,]+/g," ").trim()}function w2(e){return Wd(e.source.body.substring(e.start,e.end))}function v2(e){var t=new Set,n=[];return e.definitions.forEach(function(r){if(r.kind==="FragmentDefinition"){var i=r.name.value,a=w2(r.loc),s=jA.get(i);s&&!s.has(a)?jd&&console.warn("Warning: fragment with name "+i+` already exists.
56
- graphql-tag enforces all fragment names across your application to be unique; read more about
57
- this in the docs: http://dev.apollodata.com/core/fragments.html#unique-names`):s||jA.set(i,s=new Set),s.add(a),t.has(a)||(t.add(a),n.push(r))}else n.push(r)}),k(k({},e),{definitions:n})}function E2(e){var t=new Set(e.definitions);t.forEach(function(r){r.loc&&delete r.loc,Object.keys(r).forEach(function(i){var a=r[i];a&&typeof a=="object"&&t.add(a)})});var n=e.loc;return n&&(delete n.startToken,delete n.endToken),e}function B2(e){var t=Wd(e);if(!$c.has(t)){var n=KB(e,{experimentalFragmentVariables:tl,allowLegacyFragmentVariables:tl});if(!n||n.kind!=="Document")throw new Error("Not a valid GraphQL document.");$c.set(t,E2(v2(n)))}return $c.get(t)}function ct(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];typeof e=="string"&&(e=[e]);var r=e[0];return t.forEach(function(i,a){i&&i.kind==="Document"?r+=i.loc.source.body:r+=i,r+=e[a+1]}),B2(r)}function C2(){$c.clear(),jA.clear()}function x2(){jd=!1}function b2(){tl=!0}function S2(){tl=!1}var Qs={gql:ct,resetCaches:C2,disableFragmentWarnings:x2,enableExperimentalFragmentVariables:b2,disableExperimentalFragmentVariables:S2};(function(e){e.gql=Qs.gql,e.resetCaches=Qs.resetCaches,e.disableFragmentWarnings=Qs.disableFragmentWarnings,e.enableExperimentalFragmentVariables=Qs.enableExperimentalFragmentVariables,e.disableExperimentalFragmentVariables=Qs.disableExperimentalFragmentVariables})(ct||(ct={})),ct.default=ct;var D2=Object.defineProperty,I2=(e,t,n)=>t in e?D2(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Q=(e,t,n)=>(I2(e,typeof t!="symbol"?t+"":t,n),n),va=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Kd(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var el={exports:{}};el.exports,function(e,t){var n=200,r="__lodash_hash_undefined__",i=9007199254740991,a="[object Arguments]",s="[object Array]",o="[object Boolean]",c="[object Date]",l="[object Error]",u="[object Function]",A="[object GeneratorFunction]",h="[object Map]",f="[object Number]",d="[object Object]",p="[object Promise]",m="[object RegExp]",y="[object Set]",v="[object String]",w="[object Symbol]",B="[object WeakMap]",C="[object ArrayBuffer]",x="[object DataView]",b="[object Float32Array]",D="[object Float64Array]",T="[object Int8Array]",P="[object Int16Array]",L="[object Int32Array]",U="[object Uint8Array]",z="[object Uint8ClampedArray]",J="[object Uint16Array]",W="[object Uint32Array]",Z=/[\\^$.*+?()[\]{}|]/g,ot=/\w*$/,lt=/^\[object .+?Constructor\]$/,O=/^(?:0|[1-9]\d*)$/,M={};M[a]=M[s]=M[C]=M[x]=M[o]=M[c]=M[b]=M[D]=M[T]=M[P]=M[L]=M[h]=M[f]=M[d]=M[m]=M[y]=M[v]=M[w]=M[U]=M[z]=M[J]=M[W]=!0,M[l]=M[u]=M[B]=!1;var V=typeof va=="object"&&va&&va.Object===Object&&va,X=typeof self=="object"&&self&&self.Object===Object&&self,st=V||X||Function("return this")(),Mt=t&&!t.nodeType&&t,yt=Mt&&!0&&e&&!e.nodeType&&e,Se=yt&&yt.exports===Mt;function hn(g,E){return g.set(E[0],E[1]),g}function Xt(g,E){return g.add(E),g}function Dn(g,E){for(var S=-1,N=g?g.length:0;++S<N&&E(g[S],S,g)!==!1;);return g}function Ze(g,E){for(var S=-1,N=E.length,at=g.length;++S<N;)g[at+S]=E[S];return g}function $e(g,E,S,N){var at=-1,_=g?g.length:0;for(N&&_&&(S=g[++at]);++at<_;)S=E(S,g[at],at,g);return S}function on(g,E){for(var S=-1,N=Array(g);++S<g;)N[S]=E(S);return N}function fn(g,E){return g==null?void 0:g[E]}function _t(g){var E=!1;if(g!=null&&typeof g.toString!="function")try{E=!!(g+"")}catch{}return E}function Je(g){var E=-1,S=Array(g.size);return g.forEach(function(N,at){S[++E]=[at,N]}),S}function cn(g,E){return function(S){return g(E(S))}}function xn(g){var E=-1,S=Array(g.size);return g.forEach(function(N){S[++E]=N}),S}var _n=Array.prototype,qn=Function.prototype,Vt=Object.prototype,zt=st["__core-js_shared__"],ne=function(){var g=/[^.]+$/.exec(zt&&zt.keys&&zt.keys.IE_PROTO||"");return g?"Symbol(src)_1."+g:""}(),re=qn.toString,gt=Vt.hasOwnProperty,Fe=Vt.toString,bn=RegExp("^"+re.call(gt).replace(Z,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Oe=Se?st.Buffer:void 0,je=st.Symbol,Ue=st.Uint8Array,qt=cn(Object.getPrototypeOf,Object),tn=Object.create,en=Vt.propertyIsEnumerable,Zn=_n.splice,gn=Object.getOwnPropertySymbols,nn=Oe?Oe.isBuffer:void 0,dn=cn(Object.keys,Object),Le=Ye(st,"DataView"),de=Ye(st,"Map"),Jt=Ye(st,"Promise"),De=Ye(st,"Set"),We=Ye(st,"WeakMap"),Ct=Ye(Object,"create"),Xi=ae(Le),Fr=ae(de),_i=ae(Jt),qi=ae(De),Zi=ae(We),$n=je?je.prototype:void 0,$i=$n?$n.valueOf:void 0;function Ke(g){var E=-1,S=g?g.length:0;for(this.clear();++E<S;){var N=g[E];this.set(N[0],N[1])}}function jo(){this.__data__=Ct?Ct(null):{}}function Wo(g){return this.has(g)&&delete this.__data__[g]}function Ko(g){var E=this.__data__;if(Ct){var S=E[g];return S===r?void 0:S}return gt.call(E,g)?E[g]:void 0}function as(g){var E=this.__data__;return Ct?E[g]!==void 0:gt.call(E,g)}function ta(g,E){var S=this.__data__;return S[g]=Ct&&E===void 0?r:E,this}Ke.prototype.clear=jo,Ke.prototype.delete=Wo,Ke.prototype.get=Ko,Ke.prototype.has=as,Ke.prototype.set=ta;function Yt(g){var E=-1,S=g?g.length:0;for(this.clear();++E<S;){var N=g[E];this.set(N[0],N[1])}}function Xo(){this.__data__=[]}function _o(g){var E=this.__data__,S=tr(E,g);if(S<0)return!1;var N=E.length-1;return S==N?E.pop():Zn.call(E,S,1),!0}function qo(g){var E=this.__data__,S=tr(E,g);return S<0?void 0:E[S][1]}function Zo(g){return tr(this.__data__,g)>-1}function $o(g,E){var S=this.__data__,N=tr(S,g);return N<0?S.push([g,E]):S[N][1]=E,this}Yt.prototype.clear=Xo,Yt.prototype.delete=_o,Yt.prototype.get=qo,Yt.prototype.has=Zo,Yt.prototype.set=$o;function ie(g){var E=-1,S=g?g.length:0;for(this.clear();++E<S;){var N=g[E];this.set(N[0],N[1])}}function tc(){this.__data__={hash:new Ke,map:new(de||Yt),string:new Ke}}function ec(g){return Fn(this,g).delete(g)}function nc(g){return Fn(this,g).get(g)}function rc(g){return Fn(this,g).has(g)}function ic(g,E){return Fn(this,g).set(g,E),this}ie.prototype.clear=tc,ie.prototype.delete=ec,ie.prototype.get=nc,ie.prototype.has=rc,ie.prototype.set=ic;function pe(g){this.__data__=new Yt(g)}function ac(){this.__data__=new Yt}function sc(g){return this.__data__.delete(g)}function oc(g){return this.__data__.get(g)}function cc(g){return this.__data__.has(g)}function lc(g,E){var S=this.__data__;if(S instanceof Yt){var N=S.__data__;if(!de||N.length<n-1)return N.push([g,E]),this;S=this.__data__=new ie(N)}return S.set(g,E),this}pe.prototype.clear=ac,pe.prototype.delete=sc,pe.prototype.get=oc,pe.prototype.has=cc,pe.prototype.set=lc;function mi(g,E){var S=Nr(g)||vi(g)?on(g.length,String):[],N=S.length,at=!!N;for(var _ in g)(E||gt.call(g,_))&&!(at&&(_=="length"||Cc(_,N)))&&S.push(_);return S}function ea(g,E,S){var N=g[E];(!(gt.call(g,E)&&ra(N,S))||S===void 0&&!(E in g))&&(g[E]=S)}function tr(g,E){for(var S=g.length;S--;)if(ra(g[S][0],E))return S;return-1}function In(g,E){return g&&wi(E,kr(E),g)}function Qr(g,E,S,N,at,_,dt){var pt;if(N&&(pt=_?N(g,at,_,dt):N(g)),pt!==void 0)return pt;if(!ln(g))return g;var se=Nr(g);if(se){if(pt=Ec(g),!E)return yc(g,pt)}else{var Ft=Xe(g),Qe=Ft==u||Ft==A;if(ls(g))return yi(g,E);if(Ft==d||Ft==a||Qe&&!_){if(_t(g))return _?g:{};if(pt=Mn(Qe?{}:g),!E)return wc(g,In(pt,g))}else{if(!M[Ft])return _?g:{};pt=Bc(g,Ft,Qr,E)}}dt||(dt=new pe);var _e=dt.get(g);if(_e)return _e;if(dt.set(g,pt),!se)var ue=S?vc(g):kr(g);return Dn(ue||g,function(Ie,Ae){ue&&(Ae=Ie,Ie=g[Ae]),ea(pt,Ae,Qr(Ie,E,S,N,Ae,g,dt))}),pt}function uc(g){return ln(g)?tn(g):{}}function Ac(g,E,S){var N=E(g);return Nr(g)?N:Ze(N,S(g))}function hc(g){return Fe.call(g)}function fc(g){if(!ln(g)||bc(g))return!1;var E=Ei(g)||_t(g)?bn:lt;return E.test(ae(g))}function gc(g){if(!na(g))return dn(g);var E=[];for(var S in Object(g))gt.call(g,S)&&S!="constructor"&&E.push(S);return E}function yi(g,E){if(E)return g.slice();var S=new g.constructor(g.length);return g.copy(S),S}function Mr(g){var E=new g.constructor(g.byteLength);return new Ue(E).set(new Ue(g)),E}function Tr(g,E){var S=E?Mr(g.buffer):g.buffer;return new g.constructor(S,g.byteOffset,g.byteLength)}function ss(g,E,S){var N=E?S(Je(g),!0):Je(g);return $e(N,hn,new g.constructor)}function os(g){var E=new g.constructor(g.source,ot.exec(g));return E.lastIndex=g.lastIndex,E}function dc(g,E,S){var N=E?S(xn(g),!0):xn(g);return $e(N,Xt,new g.constructor)}function pc(g){return $i?Object($i.call(g)):{}}function mc(g,E){var S=E?Mr(g.buffer):g.buffer;return new g.constructor(S,g.byteOffset,g.length)}function yc(g,E){var S=-1,N=g.length;for(E||(E=Array(N));++S<N;)E[S]=g[S];return E}function wi(g,E,S,N){S||(S={});for(var at=-1,_=E.length;++at<_;){var dt=E[at],pt=N?N(S[dt],g[dt],dt,S,g):void 0;ea(S,dt,pt===void 0?g[dt]:pt)}return S}function wc(g,E){return wi(g,Qn(g),E)}function vc(g){return Ac(g,kr,Qn)}function Fn(g,E){var S=g.__data__;return xc(E)?S[typeof E=="string"?"string":"hash"]:S.map}function Ye(g,E){var S=fn(g,E);return fc(S)?S:void 0}var Qn=gn?cn(gn,Object):Dc,Xe=hc;(Le&&Xe(new Le(new ArrayBuffer(1)))!=x||de&&Xe(new de)!=h||Jt&&Xe(Jt.resolve())!=p||De&&Xe(new De)!=y||We&&Xe(new We)!=B)&&(Xe=function(g){var E=Fe.call(g),S=E==d?g.constructor:void 0,N=S?ae(S):void 0;if(N)switch(N){case Xi:return x;case Fr:return h;case _i:return p;case qi:return y;case Zi:return B}return E});function Ec(g){var E=g.length,S=g.constructor(E);return E&&typeof g[0]=="string"&&gt.call(g,"index")&&(S.index=g.index,S.input=g.input),S}function Mn(g){return typeof g.constructor=="function"&&!na(g)?uc(qt(g)):{}}function Bc(g,E,S,N){var at=g.constructor;switch(E){case C:return Mr(g);case o:case c:return new at(+g);case x:return Tr(g,N);case b:case D:case T:case P:case L:case U:case z:case J:case W:return mc(g,N);case h:return ss(g,N,S);case f:case v:return new at(g);case m:return os(g);case y:return dc(g,N,S);case w:return pc(g)}}function Cc(g,E){return E=E??i,!!E&&(typeof g=="number"||O.test(g))&&g>-1&&g%1==0&&g<E}function xc(g){var E=typeof g;return E=="string"||E=="number"||E=="symbol"||E=="boolean"?g!=="__proto__":g===null}function bc(g){return!!ne&&ne in g}function na(g){var E=g&&g.constructor,S=typeof E=="function"&&E.prototype||Vt;return g===S}function ae(g){if(g!=null){try{return re.call(g)}catch{}try{return g+""}catch{}}return""}function cs(g){return Qr(g,!0,!0)}function ra(g,E){return g===E||g!==g&&E!==E}function vi(g){return Sc(g)&&gt.call(g,"callee")&&(!en.call(g,"callee")||Fe.call(g)==a)}var Nr=Array.isArray;function Pr(g){return g!=null&&us(g.length)&&!Ei(g)}function Sc(g){return As(g)&&Pr(g)}var ls=nn||Ic;function Ei(g){var E=ln(g)?Fe.call(g):"";return E==u||E==A}function us(g){return typeof g=="number"&&g>-1&&g%1==0&&g<=i}function ln(g){var E=typeof g;return!!g&&(E=="object"||E=="function")}function As(g){return!!g&&typeof g=="object"}function kr(g){return Pr(g)?mi(g):gc(g)}function Dc(){return[]}function Ic(){return!1}e.exports=cs}(el,el.exports),el.exports;const Dt=()=>{const e=()=>Math.floor((1+Math.random())*65536).toString(16).substring(1);return e()+e()+"-"+e()+"-"+e()+"-"+e()+"-"+e()+e()+e()};var Et=(e=>(e.Frame="frame",e.Image="image",e.Illustration="illustration",e.Textbox="textbox",e))(Et||{}),Ms=(e=>(e.ThreeD="ThreeD",e.FreeDesign="FreeDesign",e.Print="Print",e))(Ms||{}),Ea=(e=>(e.Autosize="Autosize",e.Traditional="Traditional",e))(Ea||{}),Xd=(e=>(e.Pixel="px",e.Millimeter="mm",e.Centimeter="cm",e))(Xd||{}),Ts=(e=>(e.FileUpload="FileUpload",e.Option="Option",e.Text="Text",e))(Ts||{}),nl=(e=>(e.Font="Font",e.Frame="Frame",e.Illustration="Illustration",e.Image="Image",e.Model="Model",e.Material="Material",e.Color="Color",e.QuestionnaireCollateral="QuestionnaireCollateral",e.RequestCollateral="RequestCollateral",e.SignupCollateral="SignupCollateral",e.Video="Video",e.ColorProfile="ColorProfile",e))(nl||{}),j=(e=>(e.Information="Information",e.Bulk="Bulk",e.DigitalContent="DigitalContent",e.Finish="Finish",e.Frame="Frame",e.Illustration="Illustration",e.Introduction="Introduction",e.Material="Material",e.Model="Model",e.Module="Module",e.Picture="Picture",e.Photo="Photo",e.ProductOverlay="ProductOverlay",e.Question="Question",e.Shape="Shape",e.SilentIllustration="SilentIllustration",e.Text="Text",e))(j||{}),sn=(e=>(e.Color="Color",e.Colors="Colors",e.Selection="Selection",e.Selections="Selections",e.Text="Text",e.Upload="Upload",e))(sn||{}),Ns,$,_d,Si,qd,Zd,WA,$d,Ba={},tp=[],F2=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,rl=Array.isArray;function dr(e,t){for(var n in t)e[n]=t[n];return e}function ep(e){var t=e.parentNode;t&&t.removeChild(e)}function nr(e,t,n){var r,i,a,s={};for(a in t)a=="key"?r=t[a]:a=="ref"?i=t[a]:s[a]=t[a];if(arguments.length>2&&(s.children=arguments.length>3?Ns.call(arguments,2):n),typeof e=="function"&&e.defaultProps!=null)for(a in e.defaultProps)s[a]===void 0&&(s[a]=e.defaultProps[a]);return Ps(e,s,r,i,null)}function Ps(e,t,n,r,i){var a={type:e,props:t,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:i??++_d};return i==null&&$.vnode!=null&&$.vnode(a),a}function Q2(){return{current:null}}function ze(e){return e.children}function rr(e,t){this.props=e,this.context=t}function ks(e,t){if(t==null)return e.__?ks(e.__,e.__.__k.indexOf(e)+1):null;for(var n;t<e.__k.length;t++)if((n=e.__k[t])!=null&&n.__e!=null)return n.__e;return typeof e.type=="function"?ks(e):null}function np(e){var t,n;if((e=e.__)!=null&&e.__c!=null){for(e.__e=e.__c.base=null,t=0;t<e.__k.length;t++)if((n=e.__k[t])!=null&&n.__e!=null){e.__e=e.__c.base=n.__e;break}return np(e)}}function KA(e){(!e.__d&&(e.__d=!0)&&Si.push(e)&&!il.__r++||qd!==$.debounceRendering)&&((qd=$.debounceRendering)||Zd)(il)}function il(){var e,t,n,r,i,a,s,o,c;for(Si.sort(WA);e=Si.shift();)e.__d&&(t=Si.length,r=void 0,i=void 0,a=void 0,o=(s=(n=e).__v).__e,(c=n.__P)&&(r=[],i=[],(a=dr({},s)).__v=s.__v+1,XA(c,s,a,n.__n,c.ownerSVGElement!==void 0,s.__h!=null?[o]:null,r,o??ks(s),s.__h,i),lp(r,s,i),s.__e!=o&&np(s)),Si.length>t&&Si.sort(WA));il.__r=0}function rp(e,t,n,r,i,a,s,o,c,l,u){var A,h,f,d,p,m,y,v,w,B=0,C=r&&r.__k||tp,x=C.length,b=x,D=t.length;for(n.__k=[],A=0;A<D;A++)(d=n.__k[A]=(d=t[A])==null||typeof d=="boolean"||typeof d=="function"?null:typeof d=="string"||typeof d=="number"||typeof d=="bigint"?Ps(null,d,null,null,d):rl(d)?Ps(ze,{children:d},null,null,null):d.__b>0?Ps(d.type,d.props,d.key,d.ref?d.ref:null,d.__v):d)!=null?(d.__=n,d.__b=n.__b+1,(v=M2(d,C,y=A+B,b))===-1?f=Ba:(f=C[v]||Ba,C[v]=void 0,b--),XA(e,d,f,i,a,s,o,c,l,u),p=d.__e,(h=d.ref)&&f.ref!=h&&(f.ref&&_A(f.ref,null,d),u.push(h,d.__c||p,d)),p!=null&&(m==null&&(m=p),(w=f===Ba||f.__v===null)?v==-1&&B--:v!==y&&(v===y+1?B++:v>y?b>D-y?B+=v-y:B--:B=v<y&&v==y-1?v-y:0),y=A+B,typeof d.type!="function"||v===y&&f.__k!==d.__k?typeof d.type=="function"||v===y&&!w?d.__d!==void 0?(c=d.__d,d.__d=void 0):c=p.nextSibling:c=ap(e,p,c):c=ip(d,c,e),typeof n.type=="function"&&(n.__d=c))):(f=C[A])&&f.key==null&&f.__e&&(f.__e==c&&(c=ks(f)),qA(f,f,!1),C[A]=null);for(n.__e=m,A=x;A--;)C[A]!=null&&(typeof n.type=="function"&&C[A].__e!=null&&C[A].__e==n.__d&&(n.__d=C[A].__e.nextSibling),qA(C[A],C[A]))}function ip(e,t,n){for(var r,i=e.__k,a=0;i&&a<i.length;a++)(r=i[a])&&(r.__=e,t=typeof r.type=="function"?ip(r,t,n):ap(n,r.__e,t));return t}function pr(e,t){return t=t||[],e==null||typeof e=="boolean"||(rl(e)?e.some(function(n){pr(n,t)}):t.push(e)),t}function ap(e,t,n){return n==null||n.parentNode!==e?e.insertBefore(t,null):t==n&&t.parentNode!=null||e.insertBefore(t,n),t.nextSibling}function M2(e,t,n,r){var i=e.key,a=e.type,s=n-1,o=n+1,c=t[n];if(c===null||c&&i==c.key&&a===c.type)return n;if(r>(c!=null?1:0))for(;s>=0||o<t.length;){if(s>=0){if((c=t[s])&&i==c.key&&a===c.type)return s;s--}if(o<t.length){if((c=t[o])&&i==c.key&&a===c.type)return o;o++}}return-1}function T2(e,t,n,r,i){var a;for(a in n)a==="children"||a==="key"||a in t||al(e,a,null,n[a],r);for(a in t)i&&typeof t[a]!="function"||a==="children"||a==="key"||a==="value"||a==="checked"||n[a]===t[a]||al(e,a,t[a],n[a],r)}function sp(e,t,n){t[0]==="-"?e.setProperty(t,n??""):e[t]=n==null?"":typeof n!="number"||F2.test(t)?n:n+"px"}function al(e,t,n,r,i){var a;t:if(t==="style")if(typeof n=="string")e.style.cssText=n;else{if(typeof r=="string"&&(e.style.cssText=r=""),r)for(t in r)n&&t in n||sp(e.style,t,"");if(n)for(t in n)r&&n[t]===r[t]||sp(e.style,t,n[t])}else if(t[0]==="o"&&t[1]==="n")a=t!==(t=t.replace(/(PointerCapture)$|Capture$/,"$1")),t=t.toLowerCase()in e?t.toLowerCase().slice(2):t.slice(2),e.l||(e.l={}),e.l[t+a]=n,n?r||e.addEventListener(t,a?cp:op,a):e.removeEventListener(t,a?cp:op,a);else if(t!=="dangerouslySetInnerHTML"){if(i)t=t.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(t!=="width"&&t!=="height"&&t!=="href"&&t!=="list"&&t!=="form"&&t!=="tabIndex"&&t!=="download"&&t!=="rowSpan"&&t!=="colSpan"&&t in e)try{e[t]=n??"";break t}catch{}typeof n=="function"||(n==null||n===!1&&t[4]!=="-"?e.removeAttribute(t):e.setAttribute(t,n))}}function op(e){return this.l[e.type+!1]($.event?$.event(e):e)}function cp(e){return this.l[e.type+!0]($.event?$.event(e):e)}function XA(e,t,n,r,i,a,s,o,c,l){var u,A,h,f,d,p,m,y,v,w,B,C,x,b,D,T=t.type;if(t.constructor!==void 0)return null;n.__h!=null&&(c=n.__h,o=t.__e=n.__e,t.__h=null,a=[o]),(u=$.__b)&&u(t);t:if(typeof T=="function")try{if(y=t.props,v=(u=T.contextType)&&r[u.__c],w=u?v?v.props.value:u.__:r,n.__c?m=(A=t.__c=n.__c).__=A.__E:("prototype"in T&&T.prototype.render?t.__c=A=new T(y,w):(t.__c=A=new rr(y,w),A.constructor=T,A.render=P2),v&&v.sub(A),A.props=y,A.state||(A.state={}),A.context=w,A.__n=r,h=A.__d=!0,A.__h=[],A._sb=[]),A.__s==null&&(A.__s=A.state),T.getDerivedStateFromProps!=null&&(A.__s==A.state&&(A.__s=dr({},A.__s)),dr(A.__s,T.getDerivedStateFromProps(y,A.__s))),f=A.props,d=A.state,A.__v=t,h)T.getDerivedStateFromProps==null&&A.componentWillMount!=null&&A.componentWillMount(),A.componentDidMount!=null&&A.__h.push(A.componentDidMount);else{if(T.getDerivedStateFromProps==null&&y!==f&&A.componentWillReceiveProps!=null&&A.componentWillReceiveProps(y,w),!A.__e&&(A.shouldComponentUpdate!=null&&A.shouldComponentUpdate(y,A.__s,w)===!1||t.__v===n.__v)){for(t.__v!==n.__v&&(A.props=y,A.state=A.__s,A.__d=!1),t.__e=n.__e,t.__k=n.__k,t.__k.forEach(function(P){P&&(P.__=t)}),B=0;B<A._sb.length;B++)A.__h.push(A._sb[B]);A._sb=[],A.__h.length&&s.push(A);break t}A.componentWillUpdate!=null&&A.componentWillUpdate(y,A.__s,w),A.componentDidUpdate!=null&&A.__h.push(function(){A.componentDidUpdate(f,d,p)})}if(A.context=w,A.props=y,A.__P=e,A.__e=!1,C=$.__r,x=0,"prototype"in T&&T.prototype.render){for(A.state=A.__s,A.__d=!1,C&&C(t),u=A.render(A.props,A.state,A.context),b=0;b<A._sb.length;b++)A.__h.push(A._sb[b]);A._sb=[]}else do A.__d=!1,C&&C(t),u=A.render(A.props,A.state,A.context),A.state=A.__s;while(A.__d&&++x<25);A.state=A.__s,A.getChildContext!=null&&(r=dr(dr({},r),A.getChildContext())),h||A.getSnapshotBeforeUpdate==null||(p=A.getSnapshotBeforeUpdate(f,d)),rp(e,rl(D=u!=null&&u.type===ze&&u.key==null?u.props.children:u)?D:[D],t,n,r,i,a,s,o,c,l),A.base=t.__e,t.__h=null,A.__h.length&&s.push(A),m&&(A.__E=A.__=null)}catch(P){t.__v=null,(c||a!=null)&&(t.__e=o,t.__h=!!c,a[a.indexOf(o)]=null),$.__e(P,t,n)}else a==null&&t.__v===n.__v?(t.__k=n.__k,t.__e=n.__e):t.__e=N2(n.__e,t,n,r,i,a,s,c,l);(u=$.diffed)&&u(t)}function lp(e,t,n){for(var r=0;r<n.length;r++)_A(n[r],n[++r],n[++r]);$.__c&&$.__c(t,e),e.some(function(i){try{e=i.__h,i.__h=[],e.some(function(a){a.call(i)})}catch(a){$.__e(a,i.__v)}})}function N2(e,t,n,r,i,a,s,o,c){var l,u,A,h=n.props,f=t.props,d=t.type,p=0;if(d==="svg"&&(i=!0),a!=null){for(;p<a.length;p++)if((l=a[p])&&"setAttribute"in l==!!d&&(d?l.localName===d:l.nodeType===3)){e=l,a[p]=null;break}}if(e==null){if(d===null)return document.createTextNode(f);e=i?document.createElementNS("http://www.w3.org/2000/svg",d):document.createElement(d,f.is&&f),a=null,o=!1}if(d===null)h===f||o&&e.data===f||(e.data=f);else{if(a=a&&Ns.call(e.childNodes),u=(h=n.props||Ba).dangerouslySetInnerHTML,A=f.dangerouslySetInnerHTML,!o){if(a!=null)for(h={},p=0;p<e.attributes.length;p++)h[e.attributes[p].name]=e.attributes[p].value;(A||u)&&(A&&(u&&A.__html==u.__html||A.__html===e.innerHTML)||(e.innerHTML=A&&A.__html||""))}if(T2(e,f,h,i,o),A)t.__k=[];else if(rp(e,rl(p=t.props.children)?p:[p],t,n,r,i&&d!=="foreignObject",a,s,a?a[0]:n.__k&&ks(n,0),o,c),a!=null)for(p=a.length;p--;)a[p]!=null&&ep(a[p]);o||("value"in f&&(p=f.value)!==void 0&&(p!==e.value||d==="progress"&&!p||d==="option"&&p!==h.value)&&al(e,"value",p,h.value,!1),"checked"in f&&(p=f.checked)!==void 0&&p!==e.checked&&al(e,"checked",p,h.checked,!1))}return e}function _A(e,t,n){try{typeof e=="function"?e(t):e.current=t}catch(r){$.__e(r,n)}}function qA(e,t,n){var r,i;if($.unmount&&$.unmount(e),(r=e.ref)&&(r.current&&r.current!==e.__e||_A(r,null,t)),(r=e.__c)!=null){if(r.componentWillUnmount)try{r.componentWillUnmount()}catch(a){$.__e(a,t)}r.base=r.__P=null,e.__c=void 0}if(r=e.__k)for(i=0;i<r.length;i++)r[i]&&qA(r[i],t,n||typeof e.type!="function");n||e.__e==null||ep(e.__e),e.__=e.__e=e.__d=void 0}function P2(e,t,n){return this.constructor(e,n)}function Rs(e,t,n){var r,i,a,s;$.__&&$.__(e,t),i=(r=typeof n=="function")?null:n&&n.__k||t.__k,a=[],s=[],XA(t,e=(!r&&n||t).__k=nr(ze,null,[e]),i||Ba,Ba,t.ownerSVGElement!==void 0,!r&&n?[n]:i?null:t.firstChild?Ns.call(t.childNodes):null,a,!r&&n?n:i?i.__e:t.firstChild,r,s),lp(a,e,s)}function up(e,t){Rs(e,t,up)}function k2(e,t,n){var r,i,a,s,o=dr({},e.props);for(a in e.type&&e.type.defaultProps&&(s=e.type.defaultProps),t)a=="key"?r=t[a]:a=="ref"?i=t[a]:o[a]=t[a]===void 0&&s!==void 0?s[a]:t[a];return arguments.length>2&&(o.children=arguments.length>3?Ns.call(arguments,2):n),Ps(e.type,o,r||e.key,i||e.ref,null)}function R2(e,t){var n={__c:t="__cC"+$d++,__:e,Consumer:function(r,i){return r.children(i)},Provider:function(r){var i,a;return this.getChildContext||(i=[],(a={})[t]=this,this.getChildContext=function(){return a},this.shouldComponentUpdate=function(s){this.props.value!==s.value&&i.some(function(o){o.__e=!0,KA(o)})},this.sub=function(s){i.push(s);var o=s.componentWillUnmount;s.componentWillUnmount=function(){i.splice(i.indexOf(s),1),o&&o.call(s)}}),r.children}};return n.Provider.__=n.Consumer.contextType=n}Ns=tp.slice,$={__e:function(e,t,n,r){for(var i,a,s;t=t.__;)if((i=t.__c)&&!i.__)try{if((a=i.constructor)&&a.getDerivedStateFromError!=null&&(i.setState(a.getDerivedStateFromError(e)),s=i.__d),i.componentDidCatch!=null&&(i.componentDidCatch(e,r||{}),s=i.__d),s)return i.__E=i}catch(o){e=o}throw e}},_d=0,rr.prototype.setState=function(e,t){var n;n=this.__s!=null&&this.__s!==this.state?this.__s:this.__s=dr({},this.state),typeof e=="function"&&(e=e(dr({},n),this.props)),e&&dr(n,e),e!=null&&this.__v&&(t&&this._sb.push(t),KA(this))},rr.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),KA(this))},rr.prototype.render=ze,Si=[],Zd=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,WA=function(e,t){return e.__v.__b-t.__v.__b},il.__r=0,$d=0;var O2=0;function ut(e,t,n,r,i,a){var s,o,c={};for(o in t)o=="ref"?s=t[o]:c[o]=t[o];var l={type:e,props:c,key:n,ref:s,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:--O2,__source:i,__self:a};if(typeof e=="function"&&(s=e.defaultProps))for(o in s)c[o]===void 0&&(c[o]=s[o]);return $.vnode&&$.vnode(l),l}const U2=({backgroundColor:e,outlineColor:t,borderRadius:n,configuration:r,elements:i,height:a,maxHeight:s,maxWidth:o,outlineArea:c,position:l,preserveAspectRatio:u,viewBox:A,width:h})=>{var f;const d=n||0,p=2*((c==null?void 0:c.scale)||1),m=A||{x:0,y:0,width:h,height:a},y=`${m.x} ${m.y} ${m.width} ${m.height}`,v=Dt(),w=r.purpose===Ms.FreeDesign&&ut("defs",{children:ut("clipPath",{id:"viewboxClip",children:ut("rect",{width:m.width,height:m.height,rx:d})})}),B=(f=r.colorProfiles)==null?void 0:f.map((b,D)=>ut("color-profile",{name:b.name,xlinkHref:b.key,children:" "},D)),C=i.map(b=>({...b,_renderingConfiguration:r,mask:c?`url(#viewmask-${v})`:void 0})),x=Wh(C);return ut("svg",{xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",xmlSpace:"preserve",version:"1.1",preserveAspectRatio:u,width:h,height:a,style:{gridColumn:1,gridRow:1,maxWidth:o,maxHeight:s,position:l},viewBox:y,children:[B,w,!!e&&ut("rect",{id:"layout-background",width:m.width,height:m.height,fill:e,rx:d}),ut("g",{id:"element-group",clipPath:r.purpose===Ms.FreeDesign?"url(#viewboxClip)":void 0,children:x.map(b=>PF(b)).filter(b=>!!b)}),c&&ut("rect",{x:c.x,y:c.y,width:c.width,height:c.height,fill:"none",stroke:c.hidden?"none":t||"#aaaaaa",strokeWidth:p/2,strokeDasharray:`${p*2} ${p}`}),c&&ut("mask",{id:`viewmask-${v}`,children:[ut("rect",{x:m.x,y:m.y,width:m.width,height:m.height,fill:"black"}),ut("rect",{x:c.x,y:c.y,width:c.width,height:c.height,fill:"white"})]})]})},L2=(e,t,n,r,i)=>{const a=sl(i),s=n/2,o=r/2,c=e+s,l=t+o,u=Math.sin(a),A=Math.cos(a),h=s,f=s,d=-o,p=o,m=h*A-d*u,y=f*A-p*u,v=h*u+d*A,w=f*u+p*A,B=Math.max(Math.abs(m),Math.abs(y)),C=Math.max(Math.abs(v),Math.abs(w));return{minX:c-B,maxX:c+B,minY:l-C,maxY:l+C}},sl=e=>e*(Math.PI/180),Ap=e=>{const t=e.rotation||0,n=sl(t),r=Math.cos(n),i=-Math.sin(n);return ut("g",{mask:e.stepName||e.productOverlay?void 0:e.mask,children:ut("g",{transform:`
58
- matrix(1, 0, 0, 1, ${e.x}, ${e.y})
59
- matrix(1, 0, 0, 1, ${e.width/2}, ${e.height/2})
60
- matrix(${r}, ${-i}, ${i}, ${r}, 0, 0)
61
- matrix(1, 0, 0, 1, ${-e.width/2}, ${-e.height/2})
62
- `,children:ut("image",{xlinkHref:e.src,preserveAspectRatio:e.preserveAspectRatio,width:e.width,height:e.height})})})};var Wr,Ht,ZA,hp,Ca=0,fp=[],ol=[],gp=$.__b,dp=$.__r,pp=$.diffed,mp=$.__c,yp=$.unmount;function xa(e,t){$.__h&&$.__h(Ht,e,Ca||t),Ca=0;var n=Ht.__H||(Ht.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({__V:ol}),n.__[e]}function wp(e){return Ca=1,vp(Cp,e)}function vp(e,t,n){var r=xa(Wr++,2);if(r.t=e,!r.__c&&(r.__=[n?n(t):Cp(void 0,t),function(o){var c=r.__N?r.__N[0]:r.__[0],l=r.t(c,o);c!==l&&(r.__N=[l,r.__[1]],r.__c.setState({}))}],r.__c=Ht,!Ht.u)){var i=function(o,c,l){if(!r.__c.__H)return!0;var u=r.__c.__H.__.filter(function(h){return h.__c});if(u.every(function(h){return!h.__N}))return!a||a.call(this,o,c,l);var A=!1;return u.forEach(function(h){if(h.__N){var f=h.__[0];h.__=h.__N,h.__N=void 0,f!==h.__[0]&&(A=!0)}}),!(!A&&r.__c.props===o)&&(!a||a.call(this,o,c,l))};Ht.u=!0;var a=Ht.shouldComponentUpdate,s=Ht.componentWillUpdate;Ht.componentWillUpdate=function(o,c,l){if(this.__e){var u=a;a=void 0,i(o,c,l),a=u}s&&s.call(this,o,c,l)},Ht.shouldComponentUpdate=i}return r.__N||r.__}function Ep(e,t){var n=xa(Wr++,3);!$.__s&&eh(n.__H,t)&&(n.__=e,n.i=t,Ht.__H.__h.push(n))}function cl(e,t){var n=xa(Wr++,4);!$.__s&&eh(n.__H,t)&&(n.__=e,n.i=t,Ht.__h.push(n))}function Y2(e){return Ca=5,$A(function(){return{current:e}},[])}function H2(e,t,n){Ca=6,cl(function(){return typeof e=="function"?(e(t()),function(){return e(null)}):e?(e.current=t(),function(){return e.current=null}):void 0},n==null?n:n.concat(e))}function $A(e,t){var n=xa(Wr++,7);return eh(n.__H,t)?(n.__V=e(),n.i=t,n.__h=e,n.__V):n.__}function G2(e,t){return Ca=8,$A(function(){return e},t)}function V2(e){var t=Ht.context[e.__c],n=xa(Wr++,9);return n.c=e,t?(n.__==null&&(n.__=!0,t.sub(Ht)),t.props.value):e.__}function z2(e,t){$.useDebugValue&&$.useDebugValue(t?t(e):e)}function J2(){var e=xa(Wr++,11);if(!e.__){for(var t=Ht.__v;t!==null&&!t.__m&&t.__!==null;)t=t.__;var n=t.__m||(t.__m=[0,0]);e.__="P"+n[0]+"-"+n[1]++}return e.__}function j2(){for(var e;e=fp.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(ll),e.__H.__h.forEach(th),e.__H.__h=[]}catch(t){e.__H.__h=[],$.__e(t,e.__v)}}$.__b=function(e){Ht=null,gp&&gp(e)},$.__r=function(e){dp&&dp(e),Wr=0;var t=(Ht=e.__c).__H;t&&(ZA===Ht?(t.__h=[],Ht.__h=[],t.__.forEach(function(n){n.__N&&(n.__=n.__N),n.__V=ol,n.__N=n.i=void 0})):(t.__h.forEach(ll),t.__h.forEach(th),t.__h=[],Wr=0)),ZA=Ht},$.diffed=function(e){pp&&pp(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(fp.push(t)!==1&&hp===$.requestAnimationFrame||((hp=$.requestAnimationFrame)||W2)(j2)),t.__H.__.forEach(function(n){n.i&&(n.__H=n.i),n.__V!==ol&&(n.__=n.__V),n.i=void 0,n.__V=ol})),ZA=Ht=null},$.__c=function(e,t){t.some(function(n){try{n.__h.forEach(ll),n.__h=n.__h.filter(function(r){return!r.__||th(r)})}catch(r){t.some(function(i){i.__h&&(i.__h=[])}),t=[],$.__e(r,n.__v)}}),mp&&mp(e,t)},$.unmount=function(e){yp&&yp(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.forEach(function(r){try{ll(r)}catch(i){t=i}}),n.__H=void 0,t&&$.__e(t,n.__v))};var Bp=typeof requestAnimationFrame=="function";function W2(e){var t,n=function(){clearTimeout(r),Bp&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,100);Bp&&(t=requestAnimationFrame(n))}function ll(e){var t=Ht,n=e.__c;typeof n=="function"&&(e.__c=void 0,n()),Ht=t}function th(e){var t=Ht;e.__c=e.__(),Ht=t}function eh(e,t){return!e||e.length!==t.length||t.some(function(n,r){return n!==e[r]})}function Cp(e,t){return typeof t=="function"?t(e):t}function xp(e,t){for(var n in t)e[n]=t[n];return e}function nh(e,t){for(var n in e)if(n!=="__source"&&!(n in t))return!0;for(var r in t)if(r!=="__source"&&e[r]!==t[r])return!0;return!1}function rh(e,t){return e===t&&(e!==0||1/e==1/t)||e!=e&&t!=t}function ih(e){this.props=e}function K2(e,t){function n(i){var a=this.props.ref,s=a==i.ref;return!s&&a&&(a.call?a(null):a.current=null),t?!t(this.props,i)||!s:nh(this.props,i)}function r(i){return this.shouldComponentUpdate=n,nr(e,i)}return r.displayName="Memo("+(e.displayName||e.name)+")",r.prototype.isReactComponent=!0,r.__f=!0,r}(ih.prototype=new rr).isPureReactComponent=!0,ih.prototype.shouldComponentUpdate=function(e,t){return nh(this.props,e)||nh(this.state,t)};var bp=$.__b;$.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),bp&&bp(e)};var X2=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function _2(e){function t(n){var r=xp({},n);return delete r.ref,e(r,n.ref||null)}return t.$$typeof=X2,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName="ForwardRef("+(e.displayName||e.name)+")",t}var Sp=function(e,t){return e==null?null:pr(pr(e).map(t))},q2={map:Sp,forEach:Sp,count:function(e){return e?pr(e).length:0},only:function(e){var t=pr(e);if(t.length!==1)throw"Children.only";return t[0]},toArray:pr},Z2=$.__e;$.__e=function(e,t,n,r){if(e.then){for(var i,a=t;a=a.__;)if((i=a.__c)&&i.__c)return t.__e==null&&(t.__e=n.__e,t.__k=n.__k),i.__c(e,t)}Z2(e,t,n,r)};var Dp=$.unmount;function Ip(e,t,n){return e&&(e.__c&&e.__c.__H&&(e.__c.__H.__.forEach(function(r){typeof r.__c=="function"&&r.__c()}),e.__c.__H=null),(e=xp({},e)).__c!=null&&(e.__c.__P===n&&(e.__c.__P=t),e.__c=null),e.__k=e.__k&&e.__k.map(function(r){return Ip(r,t,n)})),e}function Fp(e,t,n){return e&&(e.__v=null,e.__k=e.__k&&e.__k.map(function(r){return Fp(r,t,n)}),e.__c&&e.__c.__P===t&&(e.__e&&n.insertBefore(e.__e,e.__d),e.__c.__e=!0,e.__c.__P=n)),e}function ul(){this.__u=0,this.t=null,this.__b=null}function Qp(e){var t=e.__.__c;return t&&t.__a&&t.__a(e)}function $2(e){var t,n,r;function i(a){if(t||(t=e()).then(function(s){n=s.default||s},function(s){r=s}),r)throw r;if(!n)throw t;return nr(n,a)}return i.displayName="Lazy",i.__f=!0,i}function Os(){this.u=null,this.o=null}$.unmount=function(e){var t=e.__c;t&&t.__R&&t.__R(),t&&e.__h===!0&&(e.type=null),Dp&&Dp(e)},(ul.prototype=new rr).__c=function(e,t){var n=t.__c,r=this;r.t==null&&(r.t=[]),r.t.push(n);var i=Qp(r.__v),a=!1,s=function(){a||(a=!0,n.__R=null,i?i(o):o())};n.__R=s;var o=function(){if(!--r.__u){if(r.state.__a){var l=r.state.__a;r.__v.__k[0]=Fp(l,l.__c.__P,l.__c.__O)}var u;for(r.setState({__a:r.__b=null});u=r.t.pop();)u.forceUpdate()}},c=t.__h===!0;r.__u++||c||r.setState({__a:r.__b=r.__v.__k[0]}),e.then(s,s)},ul.prototype.componentWillUnmount=function(){this.t=[]},ul.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var n=document.createElement("div"),r=this.__v.__k[0].__c;this.__v.__k[0]=Ip(this.__b,n,r.__O=r.__P)}this.__b=null}var i=t.__a&&nr(ze,null,e.fallback);return i&&(i.__h=null),[nr(ze,null,t.__a?null:e.children),i]};var Mp=function(e,t,n){if(++n[1]===n[0]&&e.o.delete(t),e.props.revealOrder&&(e.props.revealOrder[0]!=="t"||!e.o.size))for(n=e.u;n;){for(;n.length>3;)n.pop()();if(n[1]<n[0])break;e.u=n=n[2]}};function tb(e){return this.getChildContext=function(){return e.context},e.children}function eb(e){var t=this,n=e.i;t.componentWillUnmount=function(){Rs(null,t.l),t.l=null,t.i=null},t.i&&t.i!==n&&t.componentWillUnmount(),t.l||(t.i=n,t.l={nodeType:1,parentNode:n,childNodes:[],appendChild:function(r){this.childNodes.push(r),t.i.appendChild(r)},insertBefore:function(r,i){this.childNodes.push(r),t.i.appendChild(r)},removeChild:function(r){this.childNodes.splice(this.childNodes.indexOf(r)>>>1,1),t.i.removeChild(r)}}),Rs(nr(tb,{context:t.context},e.__v),t.l)}function nb(e,t){var n=nr(eb,{__v:e,i:t});return n.containerInfo=t,n}(Os.prototype=new rr).__a=function(e){var t=this,n=Qp(t.__v),r=t.o.get(e);return r[0]++,function(i){var a=function(){t.props.revealOrder?(r.push(i),Mp(t,e,r)):i()};n?n(a):a()}},Os.prototype.render=function(e){this.u=null,this.o=new Map;var t=pr(e.children);e.revealOrder&&e.revealOrder[0]==="b"&&t.reverse();for(var n=t.length;n--;)this.o.set(t[n],this.u=[1,0,this.u]);return e.children},Os.prototype.componentDidUpdate=Os.prototype.componentDidMount=function(){var e=this;this.o.forEach(function(t,n){Mp(e,n,t)})};var Tp=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.element")||60103,rb=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,ib=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,ab=/[A-Z0-9]/g,sb=typeof document<"u",ob=function(e){return(typeof Symbol<"u"&&typeof Symbol()=="symbol"?/fil|che|rad/:/fil|che|ra/).test(e)};function cb(e,t,n){return t.__k==null&&(t.textContent=""),Rs(e,t),typeof n=="function"&&n(),e?e.__c:null}function lb(e,t,n){return up(e,t),typeof n=="function"&&n(),e?e.__c:null}rr.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(e){Object.defineProperty(rr.prototype,e,{configurable:!0,get:function(){return this["UNSAFE_"+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})});var Np=$.event;function ub(){}function Ab(){return this.cancelBubble}function hb(){return this.defaultPrevented}$.event=function(e){return Np&&(e=Np(e)),e.persist=ub,e.isPropagationStopped=Ab,e.isDefaultPrevented=hb,e.nativeEvent=e};var ah,fb={enumerable:!1,configurable:!0,get:function(){return this.class}},Pp=$.vnode;$.vnode=function(e){typeof e.type=="string"&&function(t){var n=t.props,r=t.type,i={};for(var a in n){var s=n[a];if(!(a==="value"&&"defaultValue"in n&&s==null||sb&&a==="children"&&r==="noscript"||a==="class"||a==="className")){var o=a.toLowerCase();a==="defaultValue"&&"value"in n&&n.value==null?a="value":a==="download"&&s===!0?s="":o==="ondoubleclick"?a="ondblclick":o!=="onchange"||r!=="input"&&r!=="textarea"||ob(n.type)?o==="onfocus"?a="onfocusin":o==="onblur"?a="onfocusout":ib.test(a)?a=o:r.indexOf("-")===-1&&rb.test(a)?a=a.replace(ab,"-$&").toLowerCase():s===null&&(s=void 0):o=a="oninput",o==="oninput"&&i[a=o]&&(a="oninputCapture"),i[a]=s}}r=="select"&&i.multiple&&Array.isArray(i.value)&&(i.value=pr(n.children).forEach(function(c){c.props.selected=i.value.indexOf(c.props.value)!=-1})),r=="select"&&i.defaultValue!=null&&(i.value=pr(n.children).forEach(function(c){c.props.selected=i.multiple?i.defaultValue.indexOf(c.props.value)!=-1:i.defaultValue==c.props.value})),n.class&&!n.className?(i.class=n.class,Object.defineProperty(i,"className",fb)):(n.className&&!n.class||n.class&&n.className)&&(i.class=i.className=n.className),t.props=i}(e),e.$$typeof=Tp,Pp&&Pp(e)};var kp=$.__r;$.__r=function(e){kp&&kp(e),ah=e.__c};var Rp=$.diffed;$.diffed=function(e){Rp&&Rp(e);var t=e.props,n=e.__e;n!=null&&e.type==="textarea"&&"value"in t&&t.value!==n.value&&(n.value=t.value==null?"":t.value),ah=null};var gb={ReactCurrentDispatcher:{current:{readContext:function(e){return ah.__n[e.__c].props.value}}}};function db(e){return nr.bind(null,e)}function Al(e){return!!e&&e.$$typeof===Tp}function pb(e){return Al(e)&&e.type===ze}function mb(e){return Al(e)?k2.apply(null,arguments):e}function yb(e){return!!e.__k&&(Rs(null,e),!0)}function wb(e){return e&&(e.base||e.nodeType===1&&e)||null}var vb=function(e,t){return e(t)},Eb=function(e,t){return e(t)},Bb=ze;function Op(e){e()}function Cb(e){return e}function xb(){return[!1,Op]}var bb=cl,Sb=Al;function Db(e,t){var n=t(),r=wp({h:{__:n,v:t}}),i=r[0].h,a=r[1];return cl(function(){i.__=n,i.v=t,rh(i.__,t())||a({h:i})},[e,n,t]),Ep(function(){return rh(i.__,i.v())||a({h:i}),e(function(){rh(i.__,i.v())||a({h:i})})},[e]),n}var Ib={useState:wp,useId:J2,useReducer:vp,useEffect:Ep,useLayoutEffect:cl,useInsertionEffect:bb,useTransition:xb,useDeferredValue:Cb,useSyncExternalStore:Db,startTransition:Op,useRef:Y2,useImperativeHandle:H2,useMemo:$A,useCallback:G2,useContext:V2,useDebugValue:z2,version:"17.0.2",Children:q2,render:cb,hydrate:lb,unmountComponentAtNode:yb,createPortal:nb,createElement:nr,createContext:R2,createFactory:db,cloneElement:mb,createRef:Q2,Fragment:ze,isValidElement:Al,isElement:Sb,isFragment:pb,findDOMNode:wb,Component:rr,PureComponent:ih,memo:K2,forwardRef:_2,flushSync:Eb,unstable_batchedUpdates:vb,StrictMode:Bb,Suspense:ul,SuspenseList:Os,lazy:$2,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:gb};const Fb="data:image/png;base64,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",hl=256,Up=256,Qb=e=>{const t=`spiff-frame-${e.id}`,n=`spiff-frame-blur-${e.id}`,r=`spiff-frame-blur-edge-${e.id}`,i=`spiff-frame-focal-mask-${e.id}`,a=()=>e.disablePlaceholder&&!e.pattern?"":e.pattern?e.pattern.src:Fb;if(!a())return ut(Ib.Fragment,{});const s=h=>{var f,d;const p=((f=e.pattern)==null?void 0:f.x)||0,m=((d=e.pattern)==null?void 0:d.y)||0,y=e.pattern?e.pattern.width*e.pattern.scaleX+Math.abs(p):0,v=e.pattern?e.pattern.height*e.pattern.scaleY+Math.abs(m):0,w=e.dataWidth||y||hl,B=e.dataHeight||v||Up,C=e.pattern?e.pattern.width*e.pattern.scaleX:hl,x=e.pattern?e.pattern.height*e.pattern.scaleY:Up;return ut("g",{mask:e.stepName?void 0:e.mask,children:[ut("pattern",{patternUnits:e.pattern?void 0:"userSpaceOnUse",x:0,y:0,width:e.pattern?1:hl,height:e.pattern?1:hl,"data-frame-width":e.pattern?w:void 0,"data-frame-height":e.pattern?B:void 0,id:t,children:ut("image",{preserveAspectRatio:"none",x:p,y:m,width:C,height:x,xlinkHref:a()})}),h?ut(Mb,{path:e.path,width:e.width,height:e.height,focalBlurStrength:e.focalBlurStrength||1,focalBlurRadius:e.focalBlurRadius||10,blurFilterId:n,focalMaskId:i,blurEdgeClipId:r}):null]})},o=!!e.focalBlur&&!!e.pattern,c=e.rotation||0,l=sl(c),u=Math.cos(l),A=-Math.sin(l);return ut(ze,{children:[ut("defs",{children:s(o)}),ut("g",{mask:e.stepName?void 0:e.mask,children:ut("g",{transform:`
63
- matrix(1, 0, 0, 1, ${e.x}, ${e.y})
64
- matrix(1, 0, 0, 1, ${e.width/2}, ${e.height/2})
65
- matrix(${u}, ${-A}, ${A}, ${u}, 0, 0)
66
- matrix(1, 0, 0, 1, ${-e.width/2}, ${-e.height/2})
67
- matrix(${e.scaleX}, 0, 0, ${e.scaleY}, 0, 0)
68
- `,children:[ut("path",{filter:o?`url(#${n})`:void 0,mask:o?`url(#${r})`:void 0,d:e.path,style:{fill:`url(#${t})`,opacity:e.opacity}}),o?ut("path",{mask:`url(#${i})`,d:e.path,style:{fill:`url(#${t})`,opacity:e.opacity}}):void 0]})})]})},Mb=e=>{const{path:t,width:n,height:r,focalBlurStrength:i,focalBlurRadius:a,blurFilterId:s,focalMaskId:o,blurEdgeClipId:c}=e;return ut(ze,{children:[ut("filter",{id:s,children:ut("feGaussianBlur",{stdDeviation:i||0})}),ut("mask",{id:o,children:ut("circle",{cx:n/2,cy:r/2,r:a||0,fill:"white",filter:`url(#${s})`})}),ut("mask",{id:c,children:ut("path",{d:t,style:{fill:"white",opacity:1}})})]})};/*! https://mths.be/codepointat v0.2.0 by @mathias */String.prototype.codePointAt||function(){var e=function(){try{var n={},r=Object.defineProperty,i=r(n,n,n)&&r}catch{}return i}(),t=function(n){if(this==null)throw TypeError();var r=String(this),i=r.length,a=n?Number(n):0;if(a!=a&&(a=0),!(a<0||a>=i)){var s=r.charCodeAt(a),o;return s>=55296&&s<=56319&&i>a+1&&(o=r.charCodeAt(a+1),o>=56320&&o<=57343)?(s-55296)*1024+o-56320+65536:s}};e?e(String.prototype,"codePointAt",{value:t,configurable:!0,writable:!0}):String.prototype.codePointAt=t}();var sh=0,Lp=-3;function Us(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}function Tb(e,t){this.source=e,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=t,this.destLen=0,this.ltree=new Us,this.dtree=new Us}var Yp=new Us,Hp=new Us,oh=new Uint8Array(30),ch=new Uint16Array(30),Gp=new Uint8Array(30),Vp=new Uint16Array(30),Nb=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),zp=new Us,ir=new Uint8Array(288+32);function Jp(e,t,n,r){var i,a;for(i=0;i<n;++i)e[i]=0;for(i=0;i<30-n;++i)e[i+n]=i/n|0;for(a=r,i=0;i<30;++i)t[i]=a,a+=1<<e[i]}function Pb(e,t){var n;for(n=0;n<7;++n)e.table[n]=0;for(e.table[7]=24,e.table[8]=152,e.table[9]=112,n=0;n<24;++n)e.trans[n]=256+n;for(n=0;n<144;++n)e.trans[24+n]=n;for(n=0;n<8;++n)e.trans[24+144+n]=280+n;for(n=0;n<112;++n)e.trans[24+144+8+n]=144+n;for(n=0;n<5;++n)t.table[n]=0;for(t.table[5]=32,n=0;n<32;++n)t.trans[n]=n}var jp=new Uint16Array(16);function lh(e,t,n,r){var i,a;for(i=0;i<16;++i)e.table[i]=0;for(i=0;i<r;++i)e.table[t[n+i]]++;for(e.table[0]=0,a=0,i=0;i<16;++i)jp[i]=a,a+=e.table[i];for(i=0;i<r;++i)t[n+i]&&(e.trans[jp[t[n+i]]++]=i)}function kb(e){e.bitcount--||(e.tag=e.source[e.sourceIndex++],e.bitcount=7);var t=e.tag&1;return e.tag>>>=1,t}function ar(e,t,n){if(!t)return n;for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<<e.bitcount,e.bitcount+=8;var r=e.tag&65535>>>16-t;return e.tag>>>=t,e.bitcount-=t,r+n}function uh(e,t){for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<<e.bitcount,e.bitcount+=8;var n=0,r=0,i=0,a=e.tag;do r=2*r+(a&1),a>>>=1,++i,n+=t.table[i],r-=t.table[i];while(r>=0);return e.tag=a,e.bitcount-=i,t.trans[n+r]}function Rb(e,t,n){var r,i,a,s,o,c;for(r=ar(e,5,257),i=ar(e,5,1),a=ar(e,4,4),s=0;s<19;++s)ir[s]=0;for(s=0;s<a;++s){var l=ar(e,3,0);ir[Nb[s]]=l}for(lh(zp,ir,0,19),o=0;o<r+i;){var u=uh(e,zp);switch(u){case 16:var A=ir[o-1];for(c=ar(e,2,3);c;--c)ir[o++]=A;break;case 17:for(c=ar(e,3,3);c;--c)ir[o++]=0;break;case 18:for(c=ar(e,7,11);c;--c)ir[o++]=0;break;default:ir[o++]=u;break}}lh(t,ir,0,r),lh(n,ir,r,i)}function Wp(e,t,n){for(;;){var r=uh(e,t);if(r===256)return sh;if(r<256)e.dest[e.destLen++]=r;else{var i,a,s,o;for(r-=257,i=ar(e,oh[r],ch[r]),a=uh(e,n),s=e.destLen-ar(e,Gp[a],Vp[a]),o=s;o<s+i;++o)e.dest[e.destLen++]=e.dest[o]}}}function Ob(e){for(var t,n,r;e.bitcount>8;)e.sourceIndex--,e.bitcount-=8;if(t=e.source[e.sourceIndex+1],t=256*t+e.source[e.sourceIndex],n=e.source[e.sourceIndex+3],n=256*n+e.source[e.sourceIndex+2],t!==(~n&65535))return Lp;for(e.sourceIndex+=4,r=t;r;--r)e.dest[e.destLen++]=e.source[e.sourceIndex++];return e.bitcount=0,sh}function Ub(e,t){var n=new Tb(e,t),r,i,a;do{switch(r=kb(n),i=ar(n,2,0),i){case 0:a=Ob(n);break;case 1:a=Wp(n,Yp,Hp);break;case 2:Rb(n,n.ltree,n.dtree),a=Wp(n,n.ltree,n.dtree);break;default:a=Lp}if(a!==sh)throw new Error("Data error")}while(!r);return n.destLen<n.dest.length?typeof n.dest.slice=="function"?n.dest.slice(0,n.destLen):n.dest.subarray(0,n.destLen):n.dest}Pb(Yp,Hp),Jp(oh,ch,4,3),Jp(Gp,Vp,2,1),oh[28]=0,ch[28]=258;var Lb=Ub;function ba(e,t,n,r,i){return Math.pow(1-i,3)*e+3*Math.pow(1-i,2)*i*t+3*(1-i)*Math.pow(i,2)*n+Math.pow(i,3)*r}function mr(){this.x1=Number.NaN,this.y1=Number.NaN,this.x2=Number.NaN,this.y2=Number.NaN}mr.prototype.isEmpty=function(){return isNaN(this.x1)||isNaN(this.y1)||isNaN(this.x2)||isNaN(this.y2)},mr.prototype.addPoint=function(e,t){typeof e=="number"&&((isNaN(this.x1)||isNaN(this.x2))&&(this.x1=e,this.x2=e),e<this.x1&&(this.x1=e),e>this.x2&&(this.x2=e)),typeof t=="number"&&((isNaN(this.y1)||isNaN(this.y2))&&(this.y1=t,this.y2=t),t<this.y1&&(this.y1=t),t>this.y2&&(this.y2=t))},mr.prototype.addX=function(e){this.addPoint(e,null)},mr.prototype.addY=function(e){this.addPoint(null,e)},mr.prototype.addBezier=function(e,t,n,r,i,a,s,o){var c=[e,t],l=[n,r],u=[i,a],A=[s,o];this.addPoint(e,t),this.addPoint(s,o);for(var h=0;h<=1;h++){var f=6*c[h]-12*l[h]+6*u[h],d=-3*c[h]+9*l[h]-9*u[h]+3*A[h],p=3*l[h]-3*c[h];if(d===0){if(f===0)continue;var m=-p/f;0<m&&m<1&&(h===0&&this.addX(ba(c[h],l[h],u[h],A[h],m)),h===1&&this.addY(ba(c[h],l[h],u[h],A[h],m)));continue}var y=Math.pow(f,2)-4*p*d;if(!(y<0)){var v=(-f+Math.sqrt(y))/(2*d);0<v&&v<1&&(h===0&&this.addX(ba(c[h],l[h],u[h],A[h],v)),h===1&&this.addY(ba(c[h],l[h],u[h],A[h],v)));var w=(-f-Math.sqrt(y))/(2*d);0<w&&w<1&&(h===0&&this.addX(ba(c[h],l[h],u[h],A[h],w)),h===1&&this.addY(ba(c[h],l[h],u[h],A[h],w)))}}},mr.prototype.addQuad=function(e,t,n,r,i,a){var s=e+.6666666666666666*(n-e),o=t+2/3*(r-t),c=s+1/3*(i-e),l=o+1/3*(a-t);this.addBezier(e,t,s,o,c,l,i,a)};function ye(){this.commands=[],this.fill="black",this.stroke=null,this.strokeWidth=1}ye.prototype.moveTo=function(e,t){this.commands.push({type:"M",x:e,y:t})},ye.prototype.lineTo=function(e,t){this.commands.push({type:"L",x:e,y:t})},ye.prototype.curveTo=ye.prototype.bezierCurveTo=function(e,t,n,r,i,a){this.commands.push({type:"C",x1:e,y1:t,x2:n,y2:r,x:i,y:a})},ye.prototype.quadTo=ye.prototype.quadraticCurveTo=function(e,t,n,r){this.commands.push({type:"Q",x1:e,y1:t,x:n,y:r})},ye.prototype.close=ye.prototype.closePath=function(){this.commands.push({type:"Z"})},ye.prototype.extend=function(e){if(e.commands)e=e.commands;else if(e instanceof mr){var t=e;this.moveTo(t.x1,t.y1),this.lineTo(t.x2,t.y1),this.lineTo(t.x2,t.y2),this.lineTo(t.x1,t.y2),this.close();return}Array.prototype.push.apply(this.commands,e)},ye.prototype.getBoundingBox=function(){for(var e=new mr,t=0,n=0,r=0,i=0,a=0;a<this.commands.length;a++){var s=this.commands[a];switch(s.type){case"M":e.addPoint(s.x,s.y),t=r=s.x,n=i=s.y;break;case"L":e.addPoint(s.x,s.y),r=s.x,i=s.y;break;case"Q":e.addQuad(r,i,s.x1,s.y1,s.x,s.y),r=s.x,i=s.y;break;case"C":e.addBezier(r,i,s.x1,s.y1,s.x2,s.y2,s.x,s.y),r=s.x,i=s.y;break;case"Z":r=t,i=n;break;default:throw new Error("Unexpected path command "+s.type)}}return e.isEmpty()&&e.addPoint(0,0),e},ye.prototype.draw=function(e){e.beginPath();for(var t=0;t<this.commands.length;t+=1){var n=this.commands[t];n.type==="M"?e.moveTo(n.x,n.y):n.type==="L"?e.lineTo(n.x,n.y):n.type==="C"?e.bezierCurveTo(n.x1,n.y1,n.x2,n.y2,n.x,n.y):n.type==="Q"?e.quadraticCurveTo(n.x1,n.y1,n.x,n.y):n.type==="Z"&&e.closePath()}this.fill&&(e.fillStyle=this.fill,e.fill()),this.stroke&&(e.strokeStyle=this.stroke,e.lineWidth=this.strokeWidth,e.stroke())},ye.prototype.toPathData=function(e){e=e!==void 0?e:2;function t(s){return Math.round(s)===s?""+Math.round(s):s.toFixed(e)}function n(){for(var s=arguments,o="",c=0;c<arguments.length;c+=1){var l=s[c];l>=0&&c>0&&(o+=" "),o+=t(l)}return o}for(var r="",i=0;i<this.commands.length;i+=1){var a=this.commands[i];a.type==="M"?r+="M"+n(a.x,a.y):a.type==="L"?r+="L"+n(a.x,a.y):a.type==="C"?r+="C"+n(a.x1,a.y1,a.x2,a.y2,a.x,a.y):a.type==="Q"?r+="Q"+n(a.x1,a.y1,a.x,a.y):a.type==="Z"&&(r+="Z")}return r},ye.prototype.toSVG=function(e){var t='<path d="';return t+=this.toPathData(e),t+='"',this.fill&&this.fill!=="black"&&(this.fill===null?t+=' fill="none"':t+=' fill="'+this.fill+'"'),this.stroke&&(t+=' stroke="'+this.stroke+'" stroke-width="'+this.strokeWidth+'"'),t+="/>",t},ye.prototype.toDOMElement=function(e){var t=this.toPathData(e),n=document.createElementNS("http://www.w3.org/2000/svg","path");return n.setAttribute("d",t),n};function Kp(e){throw new Error(e)}function Xp(e,t){e||Kp(t)}var ht={fail:Kp,argument:Xp,assert:Xp},_p=32768,qp=2147483648,Sa={},K={},mt={};function Pn(e){return function(){return e}}K.BYTE=function(e){return ht.argument(e>=0&&e<=255,"Byte value should be between 0 and 255."),[e]},mt.BYTE=Pn(1),K.CHAR=function(e){return[e.charCodeAt(0)]},mt.CHAR=Pn(1),K.CHARARRAY=function(e){typeof e>"u"&&(e="",console.warn("Undefined CHARARRAY encountered and treated as an empty string. This is probably caused by a missing glyph name."));for(var t=[],n=0;n<e.length;n+=1)t[n]=e.charCodeAt(n);return t},mt.CHARARRAY=function(e){return typeof e>"u"?0:e.length},K.USHORT=function(e){return[e>>8&255,e&255]},mt.USHORT=Pn(2),K.SHORT=function(e){return e>=_p&&(e=-(2*_p-e)),[e>>8&255,e&255]},mt.SHORT=Pn(2),K.UINT24=function(e){return[e>>16&255,e>>8&255,e&255]},mt.UINT24=Pn(3),K.ULONG=function(e){return[e>>24&255,e>>16&255,e>>8&255,e&255]},mt.ULONG=Pn(4),K.LONG=function(e){return e>=qp&&(e=-(2*qp-e)),[e>>24&255,e>>16&255,e>>8&255,e&255]},mt.LONG=Pn(4),K.FIXED=K.ULONG,mt.FIXED=mt.ULONG,K.FWORD=K.SHORT,mt.FWORD=mt.SHORT,K.UFWORD=K.USHORT,mt.UFWORD=mt.USHORT,K.LONGDATETIME=function(e){return[0,0,0,0,e>>24&255,e>>16&255,e>>8&255,e&255]},mt.LONGDATETIME=Pn(8),K.TAG=function(e){return ht.argument(e.length===4,"Tag should be exactly 4 ASCII characters."),[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]},mt.TAG=Pn(4),K.Card8=K.BYTE,mt.Card8=mt.BYTE,K.Card16=K.USHORT,mt.Card16=mt.USHORT,K.OffSize=K.BYTE,mt.OffSize=mt.BYTE,K.SID=K.USHORT,mt.SID=mt.USHORT,K.NUMBER=function(e){return e>=-107&&e<=107?[e+139]:e>=108&&e<=1131?(e=e-108,[(e>>8)+247,e&255]):e>=-1131&&e<=-108?(e=-e-108,[(e>>8)+251,e&255]):e>=-32768&&e<=32767?K.NUMBER16(e):K.NUMBER32(e)},mt.NUMBER=function(e){return K.NUMBER(e).length},K.NUMBER16=function(e){return[28,e>>8&255,e&255]},mt.NUMBER16=Pn(3),K.NUMBER32=function(e){return[29,e>>24&255,e>>16&255,e>>8&255,e&255]},mt.NUMBER32=Pn(5),K.REAL=function(e){var t=e.toString(),n=/\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/.exec(t);if(n){var r=parseFloat("1e"+((n[2]?+n[2]:0)+n[1].length));t=(Math.round(e*r)/r).toString()}for(var i="",a=0,s=t.length;a<s;a+=1){var o=t[a];o==="e"?i+=t[++a]==="-"?"c":"b":o==="."?i+="a":o==="-"?i+="e":i+=o}i+=i.length&1?"f":"ff";for(var c=[30],l=0,u=i.length;l<u;l+=2)c.push(parseInt(i.substr(l,2),16));return c},mt.REAL=function(e){return K.REAL(e).length},K.NAME=K.CHARARRAY,mt.NAME=mt.CHARARRAY,K.STRING=K.CHARARRAY,mt.STRING=mt.CHARARRAY,Sa.UTF8=function(e,t,n){for(var r=[],i=n,a=0;a<i;a++,t+=1)r[a]=e.getUint8(t);return String.fromCharCode.apply(null,r)},Sa.UTF16=function(e,t,n){for(var r=[],i=n/2,a=0;a<i;a++,t+=2)r[a]=e.getUint16(t);return String.fromCharCode.apply(null,r)},K.UTF16=function(e){for(var t=[],n=0;n<e.length;n+=1){var r=e.charCodeAt(n);t[t.length]=r>>8&255,t[t.length]=r&255}return t},mt.UTF16=function(e){return e.length*2};var Ah={"x-mac-croatian":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®Š™´¨≠ŽØ∞±≤≥∆µ∂∑∏š∫ªºΩžø¿¡¬√ƒ≈ƫȅ ÀÃÕŒœĐ—“”‘’÷◊©⁄€‹›Æ»–·‚„‰ÂćÁčÈÍÎÏÌÓÔđÒÚÛÙıˆ˜¯πË˚¸Êæˇ","x-mac-cyrillic":"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°Ґ£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµґЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю","x-mac-gaelic":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØḂ±≤≥ḃĊċḊḋḞḟĠġṀæøṁṖṗɼƒſṠ«»… ÀÃÕŒœ–—“”‘’ṡẛÿŸṪ€‹›Ŷŷṫ·Ỳỳ⁊ÂÊÁËÈÍÎÏÌÓÔ♣ÒÚÛÙıÝýŴŵẄẅẀẁẂẃ","x-mac-greek":"Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦€ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ­","x-mac-icelandic":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüݰ¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-inuit":"ᐃᐄᐅᐆᐊᐋᐱᐲᐳᐴᐸᐹᑉᑎᑏᑐᑑᑕᑖᑦᑭᑮᑯᑰᑲᑳᒃᒋᒌᒍᒎᒐᒑ°ᒡᒥᒦ•¶ᒧ®©™ᒨᒪᒫᒻᓂᓃᓄᓅᓇᓈᓐᓯᓰᓱᓲᓴᓵᔅᓕᓖᓗᓘᓚᓛᓪᔨᔩᔪᔫᔭ… ᔮᔾᕕᕖᕗ–—“”‘’ᕘᕙᕚᕝᕆᕇᕈᕉᕋᕌᕐᕿᖀᖁᖂᖃᖄᖅᖏᖐᖑᖒᖓᖔᖕᙱᙲᙳᙴᙵᙶᖖᖠᖡᖢᖣᖤᖥᖦᕼŁł","x-mac-ce":"ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ",macintosh:"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-romanian":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ĂȘ∞±≤≥¥µ∂∑∏π∫ªºΩăș¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›Țț‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-turkish":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙˆ˜¯˘˙˚¸˝˛ˇ"};Sa.MACSTRING=function(e,t,n,r){var i=Ah[r];if(i!==void 0){for(var a="",s=0;s<n;s++){var o=e.getUint8(t+s);o<=127?a+=String.fromCharCode(o):a+=i[o&127]}return a}};var fl=typeof WeakMap=="function"&&new WeakMap,gl,Yb=function(e){if(!gl){gl={};for(var t in Ah)gl[t]=new String(t)}var n=gl[e];if(n!==void 0){if(fl){var r=fl.get(n);if(r!==void 0)return r}var i=Ah[e];if(i!==void 0){for(var a={},s=0;s<i.length;s++)a[i.charCodeAt(s)]=s+128;return fl&&fl.set(n,a),a}}};K.MACSTRING=function(e,t){var n=Yb(t);if(n!==void 0){for(var r=[],i=0;i<e.length;i++){var a=e.charCodeAt(i);if(a>=128&&(a=n[a],a===void 0))return;r[i]=a}return r}},mt.MACSTRING=function(e,t){var n=K.MACSTRING(e,t);return n!==void 0?n.length:0};function hh(e){return e>=-128&&e<=127}function Hb(e,t,n){for(var r=0,i=e.length;t<i&&r<64&&e[t]===0;)++t,++r;return n.push(128|r-1),t}function Gb(e,t,n){for(var r=0,i=e.length,a=t;a<i&&r<64;){var s=e[a];if(!hh(s)||s===0&&a+1<i&&e[a+1]===0)break;++a,++r}n.push(r-1);for(var o=t;o<a;++o)n.push(e[o]+256&255);return a}function Vb(e,t,n){for(var r=0,i=e.length,a=t;a<i&&r<64;){var s=e[a];if(s===0||hh(s)&&a+1<i&&hh(e[a+1]))break;++a,++r}n.push(64|r-1);for(var o=t;o<a;++o){var c=e[o];n.push(c+65536>>8&255,c+256&255)}return a}K.VARDELTAS=function(e){for(var t=0,n=[];t<e.length;){var r=e[t];r===0?t=Hb(e,t,n):r>=-128&&r<=127?t=Gb(e,t,n):t=Vb(e,t,n)}return n},K.INDEX=function(e){for(var t=1,n=[t],r=[],i=0;i<e.length;i+=1){var a=K.OBJECT(e[i]);Array.prototype.push.apply(r,a),t+=a.length,n.push(t)}if(r.length===0)return[0,0];for(var s=[],o=1+Math.floor(Math.log(t)/Math.log(2))/8|0,c=[void 0,K.BYTE,K.USHORT,K.UINT24,K.ULONG][o],l=0;l<n.length;l+=1){var u=c(n[l]);Array.prototype.push.apply(s,u)}return Array.prototype.concat(K.Card16(e.length),K.OffSize(o),s,r)},mt.INDEX=function(e){return K.INDEX(e).length},K.DICT=function(e){for(var t=[],n=Object.keys(e),r=n.length,i=0;i<r;i+=1){var a=parseInt(n[i],0),s=e[a];t=t.concat(K.OPERAND(s.value,s.type)),t=t.concat(K.OPERATOR(a))}return t},mt.DICT=function(e){return K.DICT(e).length},K.OPERATOR=function(e){return e<1200?[e]:[12,e-1200]},K.OPERAND=function(e,t){var n=[];if(Array.isArray(t))for(var r=0;r<t.length;r+=1)ht.argument(e.length===t.length,"Not enough arguments given for type"+t),n=n.concat(K.OPERAND(e[r],t[r]));else if(t==="SID")n=n.concat(K.NUMBER(e));else if(t==="offset")n=n.concat(K.NUMBER32(e));else if(t==="number")n=n.concat(K.NUMBER(e));else if(t==="real")n=n.concat(K.REAL(e));else throw new Error("Unknown operand type "+t);return n},K.OP=K.BYTE,mt.OP=mt.BYTE;var dl=typeof WeakMap=="function"&&new WeakMap;K.CHARSTRING=function(e){if(dl){var t=dl.get(e);if(t!==void 0)return t}for(var n=[],r=e.length,i=0;i<r;i+=1){var a=e[i];n=n.concat(K[a.type](a.value))}return dl&&dl.set(e,n),n},mt.CHARSTRING=function(e){return K.CHARSTRING(e).length},K.OBJECT=function(e){var t=K[e.type];return ht.argument(t!==void 0,"No encoding function for type "+e.type),t(e.value)},mt.OBJECT=function(e){var t=mt[e.type];return ht.argument(t!==void 0,"No sizeOf function for type "+e.type),t(e.value)},K.TABLE=function(e){for(var t=[],n=e.fields.length,r=[],i=[],a=0;a<n;a+=1){var s=e.fields[a],o=K[s.type];ht.argument(o!==void 0,"No encoding function for field type "+s.type+" ("+s.name+")");var c=e[s.name];c===void 0&&(c=s.value);var l=o(c);s.type==="TABLE"?(i.push(t.length),t=t.concat([0,0]),r.push(l)):t=t.concat(l)}for(var u=0;u<r.length;u+=1){var A=i[u],h=t.length;ht.argument(h<65536,"Table "+e.tableName+" too big."),t[A]=h>>8,t[A+1]=h&255,t=t.concat(r[u])}return t},mt.TABLE=function(e){for(var t=0,n=e.fields.length,r=0;r<n;r+=1){var i=e.fields[r],a=mt[i.type];ht.argument(a!==void 0,"No sizeOf function for field type "+i.type+" ("+i.name+")");var s=e[i.name];s===void 0&&(s=i.value),t+=a(s),i.type==="TABLE"&&(t+=2)}return t},K.RECORD=K.TABLE,mt.RECORD=mt.TABLE,K.LITERAL=function(e){return e},mt.LITERAL=function(e){return e.length};function Ne(e,t,n){if(t.length&&(t[0].name!=="coverageFormat"||t[0].value===1))for(var r=0;r<t.length;r+=1){var i=t[r];this[i.name]=i.value}if(this.tableName=e,this.fields=t,n)for(var a=Object.keys(n),s=0;s<a.length;s+=1){var o=a[s],c=n[o];this[o]!==void 0&&(this[o]=c)}}Ne.prototype.encode=function(){return K.TABLE(this)},Ne.prototype.sizeOf=function(){return mt.TABLE(this)};function Ls(e,t,n){n===void 0&&(n=t.length);var r=new Array(t.length+1);r[0]={name:e+"Count",type:"USHORT",value:n};for(var i=0;i<t.length;i++)r[i+1]={name:e+i,type:"USHORT",value:t[i]};return r}function fh(e,t,n){var r=t.length,i=new Array(r+1);i[0]={name:e+"Count",type:"USHORT",value:r};for(var a=0;a<r;a++)i[a+1]={name:e+a,type:"TABLE",value:n(t[a],a)};return i}function Ys(e,t,n){var r=t.length,i=[];i[0]={name:e+"Count",type:"USHORT",value:r};for(var a=0;a<r;a++)i=i.concat(n(t[a],a));return i}function pl(e){e.format===1?Ne.call(this,"coverageTable",[{name:"coverageFormat",type:"USHORT",value:1}].concat(Ls("glyph",e.glyphs))):e.format===2?Ne.call(this,"coverageTable",[{name:"coverageFormat",type:"USHORT",value:2}].concat(Ys("rangeRecord",e.ranges,function(t){return[{name:"startGlyphID",type:"USHORT",value:t.start},{name:"endGlyphID",type:"USHORT",value:t.end},{name:"startCoverageIndex",type:"USHORT",value:t.index}]}))):ht.assert(!1,"Coverage format must be 1 or 2.")}pl.prototype=Object.create(Ne.prototype),pl.prototype.constructor=pl;function ml(e){Ne.call(this,"scriptListTable",Ys("scriptRecord",e,function(t,n){var r=t.script,i=r.defaultLangSys;return ht.assert(!!i,"Unable to write GSUB: script "+t.tag+" has no default language system."),[{name:"scriptTag"+n,type:"TAG",value:t.tag},{name:"script"+n,type:"TABLE",value:new Ne("scriptTable",[{name:"defaultLangSys",type:"TABLE",value:new Ne("defaultLangSys",[{name:"lookupOrder",type:"USHORT",value:0},{name:"reqFeatureIndex",type:"USHORT",value:i.reqFeatureIndex}].concat(Ls("featureIndex",i.featureIndexes)))}].concat(Ys("langSys",r.langSysRecords,function(a,s){var o=a.langSys;return[{name:"langSysTag"+s,type:"TAG",value:a.tag},{name:"langSys"+s,type:"TABLE",value:new Ne("langSys",[{name:"lookupOrder",type:"USHORT",value:0},{name:"reqFeatureIndex",type:"USHORT",value:o.reqFeatureIndex}].concat(Ls("featureIndex",o.featureIndexes)))}]})))}]}))}ml.prototype=Object.create(Ne.prototype),ml.prototype.constructor=ml;function yl(e){Ne.call(this,"featureListTable",Ys("featureRecord",e,function(t,n){var r=t.feature;return[{name:"featureTag"+n,type:"TAG",value:t.tag},{name:"feature"+n,type:"TABLE",value:new Ne("featureTable",[{name:"featureParams",type:"USHORT",value:r.featureParams}].concat(Ls("lookupListIndex",r.lookupListIndexes)))}]}))}yl.prototype=Object.create(Ne.prototype),yl.prototype.constructor=yl;function wl(e,t){Ne.call(this,"lookupListTable",fh("lookup",e,function(n){var r=t[n.lookupType];return ht.assert(!!r,"Unable to write GSUB lookup type "+n.lookupType+" tables."),new Ne("lookupTable",[{name:"lookupType",type:"USHORT",value:n.lookupType},{name:"lookupFlag",type:"USHORT",value:n.lookupFlag}].concat(fh("subtable",n.subtables,r)))}))}wl.prototype=Object.create(Ne.prototype),wl.prototype.constructor=wl;var tt={Table:Ne,Record:Ne,Coverage:pl,ScriptList:ml,FeatureList:yl,LookupList:wl,ushortList:Ls,tableList:fh,recordList:Ys};function Zp(e,t){return e.getUint8(t)}function vl(e,t){return e.getUint16(t,!1)}function zb(e,t){return e.getInt16(t,!1)}function gh(e,t){return e.getUint32(t,!1)}function $p(e,t){var n=e.getInt16(t,!1),r=e.getUint16(t+2,!1);return n+r/65535}function Jb(e,t){for(var n="",r=t;r<t+4;r+=1)n+=String.fromCharCode(e.getInt8(r));return n}function jb(e,t,n){for(var r=0,i=0;i<n;i+=1)r<<=8,r+=e.getUint8(t+i);return r}function Wb(e,t,n){for(var r=[],i=t;i<n;i+=1)r.push(e.getUint8(i));return r}function Kb(e){for(var t="",n=0;n<e.length;n+=1)t+=String.fromCharCode(e[n]);return t}var Xb={byte:1,uShort:2,short:2,uLong:4,fixed:4,longDateTime:8,tag:4};function R(e,t){this.data=e,this.offset=t,this.relativeOffset=0}R.prototype.parseByte=function(){var e=this.data.getUint8(this.offset+this.relativeOffset);return this.relativeOffset+=1,e},R.prototype.parseChar=function(){var e=this.data.getInt8(this.offset+this.relativeOffset);return this.relativeOffset+=1,e},R.prototype.parseCard8=R.prototype.parseByte,R.prototype.parseUShort=function(){var e=this.data.getUint16(this.offset+this.relativeOffset);return this.relativeOffset+=2,e},R.prototype.parseCard16=R.prototype.parseUShort,R.prototype.parseSID=R.prototype.parseUShort,R.prototype.parseOffset16=R.prototype.parseUShort,R.prototype.parseShort=function(){var e=this.data.getInt16(this.offset+this.relativeOffset);return this.relativeOffset+=2,e},R.prototype.parseF2Dot14=function(){var e=this.data.getInt16(this.offset+this.relativeOffset)/16384;return this.relativeOffset+=2,e},R.prototype.parseULong=function(){var e=gh(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,e},R.prototype.parseOffset32=R.prototype.parseULong,R.prototype.parseFixed=function(){var e=$p(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,e},R.prototype.parseString=function(e){var t=this.data,n=this.offset+this.relativeOffset,r="";this.relativeOffset+=e;for(var i=0;i<e;i++)r+=String.fromCharCode(t.getUint8(n+i));return r},R.prototype.parseTag=function(){return this.parseString(4)},R.prototype.parseLongDateTime=function(){var e=gh(this.data,this.offset+this.relativeOffset+4);return e-=2082844800,this.relativeOffset+=8,e},R.prototype.parseVersion=function(e){var t=vl(this.data,this.offset+this.relativeOffset),n=vl(this.data,this.offset+this.relativeOffset+2);return this.relativeOffset+=4,e===void 0&&(e=4096),t+n/e/10},R.prototype.skip=function(e,t){t===void 0&&(t=1),this.relativeOffset+=Xb[e]*t},R.prototype.parseULongList=function(e){e===void 0&&(e=this.parseULong());for(var t=new Array(e),n=this.data,r=this.offset+this.relativeOffset,i=0;i<e;i++)t[i]=n.getUint32(r),r+=4;return this.relativeOffset+=e*4,t},R.prototype.parseOffset16List=R.prototype.parseUShortList=function(e){e===void 0&&(e=this.parseUShort());for(var t=new Array(e),n=this.data,r=this.offset+this.relativeOffset,i=0;i<e;i++)t[i]=n.getUint16(r),r+=2;return this.relativeOffset+=e*2,t},R.prototype.parseShortList=function(e){for(var t=new Array(e),n=this.data,r=this.offset+this.relativeOffset,i=0;i<e;i++)t[i]=n.getInt16(r),r+=2;return this.relativeOffset+=e*2,t},R.prototype.parseByteList=function(e){for(var t=new Array(e),n=this.data,r=this.offset+this.relativeOffset,i=0;i<e;i++)t[i]=n.getUint8(r++);return this.relativeOffset+=e,t},R.prototype.parseList=function(e,t){t||(t=e,e=this.parseUShort());for(var n=new Array(e),r=0;r<e;r++)n[r]=t.call(this);return n},R.prototype.parseList32=function(e,t){t||(t=e,e=this.parseULong());for(var n=new Array(e),r=0;r<e;r++)n[r]=t.call(this);return n},R.prototype.parseRecordList=function(e,t){t||(t=e,e=this.parseUShort());for(var n=new Array(e),r=Object.keys(t),i=0;i<e;i++){for(var a={},s=0;s<r.length;s++){var o=r[s],c=t[o];a[o]=c.call(this)}n[i]=a}return n},R.prototype.parseRecordList32=function(e,t){t||(t=e,e=this.parseULong());for(var n=new Array(e),r=Object.keys(t),i=0;i<e;i++){for(var a={},s=0;s<r.length;s++){var o=r[s],c=t[o];a[o]=c.call(this)}n[i]=a}return n},R.prototype.parseStruct=function(e){if(typeof e=="function")return e.call(this);for(var t=Object.keys(e),n={},r=0;r<t.length;r++){var i=t[r],a=e[i];n[i]=a.call(this)}return n},R.prototype.parseValueRecord=function(e){if(e===void 0&&(e=this.parseUShort()),e!==0){var t={};return e&1&&(t.xPlacement=this.parseShort()),e&2&&(t.yPlacement=this.parseShort()),e&4&&(t.xAdvance=this.parseShort()),e&8&&(t.yAdvance=this.parseShort()),e&16&&(t.xPlaDevice=void 0,this.parseShort()),e&32&&(t.yPlaDevice=void 0,this.parseShort()),e&64&&(t.xAdvDevice=void 0,this.parseShort()),e&128&&(t.yAdvDevice=void 0,this.parseShort()),t}},R.prototype.parseValueRecordList=function(){for(var e=this.parseUShort(),t=this.parseUShort(),n=new Array(t),r=0;r<t;r++)n[r]=this.parseValueRecord(e);return n},R.prototype.parsePointer=function(e){var t=this.parseOffset16();if(t>0)return new R(this.data,this.offset+t).parseStruct(e)},R.prototype.parsePointer32=function(e){var t=this.parseOffset32();if(t>0)return new R(this.data,this.offset+t).parseStruct(e)},R.prototype.parseListOfLists=function(e){for(var t=this.parseOffset16List(),n=t.length,r=this.relativeOffset,i=new Array(n),a=0;a<n;a++){var s=t[a];if(s===0){i[a]=void 0;continue}if(this.relativeOffset=s,e){for(var o=this.parseOffset16List(),c=new Array(o.length),l=0;l<o.length;l++)this.relativeOffset=s+o[l],c[l]=e.call(this);i[a]=c}else i[a]=this.parseUShortList()}return this.relativeOffset=r,i},R.prototype.parseCoverage=function(){var e=this.offset+this.relativeOffset,t=this.parseUShort(),n=this.parseUShort();if(t===1)return{format:1,glyphs:this.parseUShortList(n)};if(t===2){for(var r=new Array(n),i=0;i<n;i++)r[i]={start:this.parseUShort(),end:this.parseUShort(),index:this.parseUShort()};return{format:2,ranges:r}}throw new Error("0x"+e.toString(16)+": Coverage format must be 1 or 2.")},R.prototype.parseClassDef=function(){var e=this.offset+this.relativeOffset,t=this.parseUShort();if(t===1)return{format:1,startGlyph:this.parseUShort(),classes:this.parseUShortList()};if(t===2)return{format:2,ranges:this.parseRecordList({start:R.uShort,end:R.uShort,classId:R.uShort})};throw new Error("0x"+e.toString(16)+": ClassDef format must be 1 or 2.")},R.list=function(e,t){return function(){return this.parseList(e,t)}},R.list32=function(e,t){return function(){return this.parseList32(e,t)}},R.recordList=function(e,t){return function(){return this.parseRecordList(e,t)}},R.recordList32=function(e,t){return function(){return this.parseRecordList32(e,t)}},R.pointer=function(e){return function(){return this.parsePointer(e)}},R.pointer32=function(e){return function(){return this.parsePointer32(e)}},R.tag=R.prototype.parseTag,R.byte=R.prototype.parseByte,R.uShort=R.offset16=R.prototype.parseUShort,R.uShortList=R.prototype.parseUShortList,R.uLong=R.offset32=R.prototype.parseULong,R.uLongList=R.prototype.parseULongList,R.struct=R.prototype.parseStruct,R.coverage=R.prototype.parseCoverage,R.classDef=R.prototype.parseClassDef;var t1={reserved:R.uShort,reqFeatureIndex:R.uShort,featureIndexes:R.uShortList};R.prototype.parseScriptList=function(){return this.parsePointer(R.recordList({tag:R.tag,script:R.pointer({defaultLangSys:R.pointer(t1),langSysRecords:R.recordList({tag:R.tag,langSys:R.pointer(t1)})})}))||[]},R.prototype.parseFeatureList=function(){return this.parsePointer(R.recordList({tag:R.tag,feature:R.pointer({featureParams:R.offset16,lookupListIndexes:R.uShortList})}))||[]},R.prototype.parseLookupList=function(e){return this.parsePointer(R.list(R.pointer(function(){var t=this.parseUShort();ht.argument(1<=t&&t<=9,"GPOS/GSUB lookup type "+t+" unknown.");var n=this.parseUShort(),r=n&16;return{lookupType:t,lookupFlag:n,subtables:this.parseList(R.pointer(e[t])),markFilteringSet:r?this.parseUShort():void 0}})))||[]},R.prototype.parseFeatureVariationsList=function(){return this.parsePointer32(function(){var e=this.parseUShort(),t=this.parseUShort();ht.argument(e===1&&t<1,"GPOS/GSUB feature variations table unknown.");var n=this.parseRecordList32({conditionSetOffset:R.offset32,featureTableSubstitutionOffset:R.offset32});return n})||[]};var nt={getByte:Zp,getCard8:Zp,getUShort:vl,getCard16:vl,getShort:zb,getULong:gh,getFixed:$p,getTag:Jb,getOffset:jb,getBytes:Wb,bytesToString:Kb,Parser:R};function _b(e,t){t.parseUShort(),e.length=t.parseULong(),e.language=t.parseULong();var n;e.groupCount=n=t.parseULong(),e.glyphIndexMap={};for(var r=0;r<n;r+=1)for(var i=t.parseULong(),a=t.parseULong(),s=t.parseULong(),o=i;o<=a;o+=1)e.glyphIndexMap[o]=s,s++}function qb(e,t,n,r,i){e.length=t.parseUShort(),e.language=t.parseUShort();var a;e.segCount=a=t.parseUShort()>>1,t.skip("uShort",3),e.glyphIndexMap={};for(var s=new nt.Parser(n,r+i+14),o=new nt.Parser(n,r+i+16+a*2),c=new nt.Parser(n,r+i+16+a*4),l=new nt.Parser(n,r+i+16+a*6),u=r+i+16+a*8,A=0;A<a-1;A+=1)for(var h=void 0,f=s.parseUShort(),d=o.parseUShort(),p=c.parseShort(),m=l.parseUShort(),y=d;y<=f;y+=1)m!==0?(u=l.offset+l.relativeOffset-2,u+=m,u+=(y-d)*2,h=nt.getUShort(n,u),h!==0&&(h=h+p&65535)):h=y+p&65535,e.glyphIndexMap[y]=h}function Zb(e,t){var n={};n.version=nt.getUShort(e,t),ht.argument(n.version===0,"cmap table version should be 0."),n.numTables=nt.getUShort(e,t+2);for(var r=-1,i=n.numTables-1;i>=0;i-=1){var a=nt.getUShort(e,t+4+i*8),s=nt.getUShort(e,t+4+i*8+2);if(a===3&&(s===0||s===1||s===10)||a===0&&(s===0||s===1||s===2||s===3||s===4)){r=nt.getULong(e,t+4+i*8+4);break}}if(r===-1)throw new Error("No valid cmap sub-tables found.");var o=new nt.Parser(e,t+r);if(n.format=o.parseUShort(),n.format===12)_b(n,o);else if(n.format===4)qb(n,o,e,t,r);else throw new Error("Only format 4 and 12 cmap tables are supported (found format "+n.format+").");return n}function $b(e,t,n){e.segments.push({end:t,start:t,delta:-(t-n),offset:0,glyphIndex:n})}function tS(e){e.segments.push({end:65535,start:65535,delta:1,offset:0})}function eS(e){var t=!0,n;for(n=e.length-1;n>0;n-=1){var r=e.get(n);if(r.unicode>65535){console.log("Adding CMAP format 12 (needed!)"),t=!1;break}}var i=[{name:"version",type:"USHORT",value:0},{name:"numTables",type:"USHORT",value:t?1:2},{name:"platformID",type:"USHORT",value:3},{name:"encodingID",type:"USHORT",value:1},{name:"offset",type:"ULONG",value:t?12:12+8}];t||(i=i.concat([{name:"cmap12PlatformID",type:"USHORT",value:3},{name:"cmap12EncodingID",type:"USHORT",value:10},{name:"cmap12Offset",type:"ULONG",value:0}])),i=i.concat([{name:"format",type:"USHORT",value:4},{name:"cmap4Length",type:"USHORT",value:0},{name:"language",type:"USHORT",value:0},{name:"segCountX2",type:"USHORT",value:0},{name:"searchRange",type:"USHORT",value:0},{name:"entrySelector",type:"USHORT",value:0},{name:"rangeShift",type:"USHORT",value:0}]);var a=new tt.Table("cmap",i);for(a.segments=[],n=0;n<e.length;n+=1){for(var s=e.get(n),o=0;o<s.unicodes.length;o+=1)$b(a,s.unicodes[o],n);a.segments=a.segments.sort(function(v,w){return v.start-w.start})}tS(a);var c=a.segments.length,l=0,u=[],A=[],h=[],f=[],d=[],p=[];for(n=0;n<c;n+=1){var m=a.segments[n];m.end<=65535&&m.start<=65535?(u=u.concat({name:"end_"+n,type:"USHORT",value:m.end}),A=A.concat({name:"start_"+n,type:"USHORT",value:m.start}),h=h.concat({name:"idDelta_"+n,type:"SHORT",value:m.delta}),f=f.concat({name:"idRangeOffset_"+n,type:"USHORT",value:m.offset}),m.glyphId!==void 0&&(d=d.concat({name:"glyph_"+n,type:"USHORT",value:m.glyphId}))):l+=1,!t&&m.glyphIndex!==void 0&&(p=p.concat({name:"cmap12Start_"+n,type:"ULONG",value:m.start}),p=p.concat({name:"cmap12End_"+n,type:"ULONG",value:m.end}),p=p.concat({name:"cmap12Glyph_"+n,type:"ULONG",value:m.glyphIndex}))}if(a.segCountX2=(c-l)*2,a.searchRange=Math.pow(2,Math.floor(Math.log(c-l)/Math.log(2)))*2,a.entrySelector=Math.log(a.searchRange/2)/Math.log(2),a.rangeShift=a.segCountX2-a.searchRange,a.fields=a.fields.concat(u),a.fields.push({name:"reservedPad",type:"USHORT",value:0}),a.fields=a.fields.concat(A),a.fields=a.fields.concat(h),a.fields=a.fields.concat(f),a.fields=a.fields.concat(d),a.cmap4Length=14+u.length*2+2+A.length*2+h.length*2+f.length*2+d.length*2,!t){var y=16+p.length*4;a.cmap12Offset=12+2*2+4+a.cmap4Length,a.fields=a.fields.concat([{name:"cmap12Format",type:"USHORT",value:12},{name:"cmap12Reserved",type:"USHORT",value:0},{name:"cmap12Length",type:"ULONG",value:y},{name:"cmap12Language",type:"ULONG",value:0},{name:"cmap12nGroups",type:"ULONG",value:p.length/3}]),a.fields=a.fields.concat(p)}return a}var e1={parse:Zb,make:eS},El=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","266 ff","onedotenleader","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall","001.000","001.001","001.002","001.003","Black","Bold","Book","Light","Medium","Regular","Roman","Semibold"],nS=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","","endash","dagger","daggerdbl","periodcentered","","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","","questiondown","","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","","ring","cedilla","","hungarumlaut","ogonek","caron","emdash","","","","","","","","","","","","","","","","","AE","","ordfeminine","","","","","Lslash","Oslash","OE","ordmasculine","","","","","","ae","","","","dotlessi","","","lslash","oslash","oe","germandbls"],rS=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","","asuperior","bsuperior","centsuperior","dsuperior","esuperior","","","isuperior","","","lsuperior","msuperior","nsuperior","osuperior","","","rsuperior","ssuperior","tsuperior","","ff","fi","fl","ffi","ffl","parenleftinferior","","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdownsmall","centoldstyle","Lslashsmall","","","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","","Dotaccentsmall","","","Macronsmall","","","figuredash","hypheninferior","","","Ogoneksmall","Ringsmall","Cedillasmall","","","","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"],Di=[".notdef",".null","nonmarkingreturn","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","nonbreakingspace","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron","Lslash","lslash","Scaron","scaron","Zcaron","zcaron","brokenbar","Eth","eth","Yacute","yacute","Thorn","thorn","minus","multiply","onesuperior","twosuperior","threesuperior","onehalf","onequarter","threequarters","franc","Gbreve","gbreve","Idotaccent","Scedilla","scedilla","Cacute","cacute","Ccaron","ccaron","dcroat"];function n1(e){this.font=e}n1.prototype.charToGlyphIndex=function(e){var t=e.codePointAt(0),n=this.font.glyphs;if(n){for(var r=0;r<n.length;r+=1)for(var i=n.get(r),a=0;a<i.unicodes.length;a+=1)if(i.unicodes[a]===t)return r}return null};function r1(e){this.cmap=e}r1.prototype.charToGlyphIndex=function(e){return this.cmap.glyphIndexMap[e.codePointAt(0)]||0};function Bl(e,t){this.encoding=e,this.charset=t}Bl.prototype.charToGlyphIndex=function(e){var t=e.codePointAt(0),n=this.encoding[t];return this.charset.indexOf(n)};function dh(e){switch(e.version){case 1:this.names=Di.slice();break;case 2:this.names=new Array(e.numberOfGlyphs);for(var t=0;t<e.numberOfGlyphs;t++)e.glyphNameIndex[t]<Di.length?this.names[t]=Di[e.glyphNameIndex[t]]:this.names[t]=e.names[e.glyphNameIndex[t]-Di.length];break;case 2.5:this.names=new Array(e.numberOfGlyphs);for(var n=0;n<e.numberOfGlyphs;n++)this.names[n]=Di[n+e.glyphNameIndex[n]];break;case 3:this.names=[];break;default:this.names=[];break}}dh.prototype.nameToGlyphIndex=function(e){return this.names.indexOf(e)},dh.prototype.glyphIndexToName=function(e){return this.names[e]};function iS(e){for(var t,n=e.tables.cmap.glyphIndexMap,r=Object.keys(n),i=0;i<r.length;i+=1){var a=r[i],s=n[a];t=e.glyphs.get(s),t.addUnicode(parseInt(a))}for(var o=0;o<e.glyphs.length;o+=1)t=e.glyphs.get(o),e.cffEncoding?e.isCIDFont?t.name="gid"+o:t.name=e.cffEncoding.charset[o]:e.glyphNames.names&&(t.name=e.glyphNames.glyphIndexToName(o))}function aS(e){e._IndexToUnicodeMap={};for(var t=e.tables.cmap.glyphIndexMap,n=Object.keys(t),r=0;r<n.length;r+=1){var i=n[r],a=t[i];e._IndexToUnicodeMap[a]===void 0?e._IndexToUnicodeMap[a]={unicodes:[parseInt(i)]}:e._IndexToUnicodeMap[a].unicodes.push(parseInt(i))}}function sS(e,t){t.lowMemory?aS(e):iS(e)}function oS(e,t,n,r,i){e.beginPath(),e.moveTo(t,n),e.lineTo(r,i),e.stroke()}var Ii={line:oS};function cS(e,t){var n=t||new ye;return{configurable:!0,get:function(){return typeof n=="function"&&(n=n()),n},set:function(r){n=r}}}function pn(e){this.bindConstructorValues(e)}pn.prototype.bindConstructorValues=function(e){this.index=e.index||0,this.name=e.name||null,this.unicode=e.unicode||void 0,this.unicodes=e.unicodes||e.unicode!==void 0?[e.unicode]:[],"xMin"in e&&(this.xMin=e.xMin),"yMin"in e&&(this.yMin=e.yMin),"xMax"in e&&(this.xMax=e.xMax),"yMax"in e&&(this.yMax=e.yMax),"advanceWidth"in e&&(this.advanceWidth=e.advanceWidth),Object.defineProperty(this,"path",cS(this,e.path))},pn.prototype.addUnicode=function(e){this.unicodes.length===0&&(this.unicode=e),this.unicodes.push(e)},pn.prototype.getBoundingBox=function(){return this.path.getBoundingBox()},pn.prototype.getPath=function(e,t,n,r,i){e=e!==void 0?e:0,t=t!==void 0?t:0,n=n!==void 0?n:72;var a,s;r||(r={});var o=r.xScale,c=r.yScale;if(r.hinting&&i&&i.hinting&&(s=this.path&&i.hinting.exec(this,n)),s)a=i.hinting.getCommands(s),e=Math.round(e),t=Math.round(t),o=c=1;else{a=this.path.commands;var l=1/(this.path.unitsPerEm||1e3)*n;o===void 0&&(o=l),c===void 0&&(c=l)}for(var u=new ye,A=0;A<a.length;A+=1){var h=a[A];h.type==="M"?u.moveTo(e+h.x*o,t+-h.y*c):h.type==="L"?u.lineTo(e+h.x*o,t+-h.y*c):h.type==="Q"?u.quadraticCurveTo(e+h.x1*o,t+-h.y1*c,e+h.x*o,t+-h.y*c):h.type==="C"?u.curveTo(e+h.x1*o,t+-h.y1*c,e+h.x2*o,t+-h.y2*c,e+h.x*o,t+-h.y*c):h.type==="Z"&&u.closePath()}return u},pn.prototype.getContours=function(){if(this.points===void 0)return[];for(var e=[],t=[],n=0;n<this.points.length;n+=1){var r=this.points[n];t.push(r),r.lastPointOfContour&&(e.push(t),t=[])}return ht.argument(t.length===0,"There are still points left in the current contour."),e},pn.prototype.getMetrics=function(){for(var e=this.path.commands,t=[],n=[],r=0;r<e.length;r+=1){var i=e[r];i.type!=="Z"&&(t.push(i.x),n.push(i.y)),(i.type==="Q"||i.type==="C")&&(t.push(i.x1),n.push(i.y1)),i.type==="C"&&(t.push(i.x2),n.push(i.y2))}var a={xMin:Math.min.apply(null,t),yMin:Math.min.apply(null,n),xMax:Math.max.apply(null,t),yMax:Math.max.apply(null,n),leftSideBearing:this.leftSideBearing};return isFinite(a.xMin)||(a.xMin=0),isFinite(a.xMax)||(a.xMax=this.advanceWidth),isFinite(a.yMin)||(a.yMin=0),isFinite(a.yMax)||(a.yMax=0),a.rightSideBearing=this.advanceWidth-a.leftSideBearing-(a.xMax-a.xMin),a},pn.prototype.draw=function(e,t,n,r,i){this.getPath(t,n,r,i).draw(e)},pn.prototype.drawPoints=function(e,t,n,r){function i(A,h,f,d){e.beginPath();for(var p=0;p<A.length;p+=1)e.moveTo(h+A[p].x*d,f+A[p].y*d),e.arc(h+A[p].x*d,f+A[p].y*d,2,0,Math.PI*2,!1);e.closePath(),e.fill()}t=t!==void 0?t:0,n=n!==void 0?n:0,r=r!==void 0?r:24;for(var a=1/this.path.unitsPerEm*r,s=[],o=[],c=this.path,l=0;l<c.commands.length;l+=1){var u=c.commands[l];u.x!==void 0&&s.push({x:u.x,y:-u.y}),u.x1!==void 0&&o.push({x:u.x1,y:-u.y1}),u.x2!==void 0&&o.push({x:u.x2,y:-u.y2})}e.fillStyle="blue",i(s,t,n,a),e.fillStyle="red",i(o,t,n,a)},pn.prototype.drawMetrics=function(e,t,n,r){var i;t=t!==void 0?t:0,n=n!==void 0?n:0,r=r!==void 0?r:24,i=1/this.path.unitsPerEm*r,e.lineWidth=1,e.strokeStyle="black",Ii.line(e,t,-1e4,t,1e4),Ii.line(e,-1e4,n,1e4,n);var a=this.xMin||0,s=this.yMin||0,o=this.xMax||0,c=this.yMax||0,l=this.advanceWidth||0;e.strokeStyle="blue",Ii.line(e,t+a*i,-1e4,t+a*i,1e4),Ii.line(e,t+o*i,-1e4,t+o*i,1e4),Ii.line(e,-1e4,n+-s*i,1e4,n+-s*i),Ii.line(e,-1e4,n+-c*i,1e4,n+-c*i),e.strokeStyle="green",Ii.line(e,t+l*i,-1e4,t+l*i,1e4)};function Cl(e,t,n){Object.defineProperty(e,t,{get:function(){return e.path,e[n]},set:function(r){e[n]=r},enumerable:!0,configurable:!0})}function ph(e,t){if(this.font=e,this.glyphs={},Array.isArray(t))for(var n=0;n<t.length;n++){var r=t[n];r.path.unitsPerEm=e.unitsPerEm,this.glyphs[n]=r}this.length=t&&t.length||0}ph.prototype.get=function(e){if(this.glyphs[e]===void 0){this.font._push(e),typeof this.glyphs[e]=="function"&&(this.glyphs[e]=this.glyphs[e]());var t=this.glyphs[e],n=this.font._IndexToUnicodeMap[e];if(n)for(var r=0;r<n.unicodes.length;r++)t.addUnicode(n.unicodes[r]);this.font.cffEncoding?this.font.isCIDFont?t.name="gid"+e:t.name=this.font.cffEncoding.charset[e]:this.font.glyphNames.names&&(t.name=this.font.glyphNames.glyphIndexToName(e)),this.glyphs[e].advanceWidth=this.font._hmtxTableData[e].advanceWidth,this.glyphs[e].leftSideBearing=this.font._hmtxTableData[e].leftSideBearing}else typeof this.glyphs[e]=="function"&&(this.glyphs[e]=this.glyphs[e]());return this.glyphs[e]},ph.prototype.push=function(e,t){this.glyphs[e]=t,this.length++};function lS(e,t){return new pn({index:t,font:e})}function uS(e,t,n,r,i,a){return function(){var s=new pn({index:t,font:e});return s.path=function(){n(s,r,i);var o=a(e.glyphs,s);return o.unitsPerEm=e.unitsPerEm,o},Cl(s,"xMin","_xMin"),Cl(s,"xMax","_xMax"),Cl(s,"yMin","_yMin"),Cl(s,"yMax","_yMax"),s}}function AS(e,t,n,r){return function(){var i=new pn({index:t,font:e});return i.path=function(){var a=n(e,i,r);return a.unitsPerEm=e.unitsPerEm,a},i}}var sr={GlyphSet:ph,glyphLoader:lS,ttfGlyphLoader:uS,cffGlyphLoader:AS};function i1(e,t){if(e===t)return!0;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(var n=0;n<e.length;n+=1)if(!i1(e[n],t[n]))return!1;return!0}else return!1}function mh(e){var t;return e.length<1240?t=107:e.length<33900?t=1131:t=32768,t}function Kr(e,t,n){var r=[],i=[],a=nt.getCard16(e,t),s,o;if(a!==0){var c=nt.getByte(e,t+2);s=t+(a+1)*c+2;for(var l=t+3,u=0;u<a+1;u+=1)r.push(nt.getOffset(e,l,c)),l+=c;o=s+r[a]}else o=t+2;for(var A=0;A<r.length-1;A+=1){var h=nt.getBytes(e,s+r[A],s+r[A+1]);n&&(h=n(h)),i.push(h)}return{objects:i,startOffset:t,endOffset:o}}function hS(e,t){var n=[],r=nt.getCard16(e,t),i,a;if(r!==0){var s=nt.getByte(e,t+2);i=t+(r+1)*s+2;for(var o=t+3,c=0;c<r+1;c+=1)n.push(nt.getOffset(e,o,s)),o+=s;a=i+n[r]}else a=t+2;return{offsets:n,startOffset:t,endOffset:a}}function fS(e,t,n,r,i){var a=nt.getCard16(n,r),s=0;if(a!==0){var o=nt.getByte(n,r+2);s=r+(a+1)*o+2}var c=nt.getBytes(n,s+t[e],s+t[e+1]);return i&&(c=i(c)),c}function gS(e){for(var t="",n=15,r=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"];;){var i=e.parseByte(),a=i>>4,s=i&15;if(a===n||(t+=r[a],s===n))break;t+=r[s]}return parseFloat(t)}function dS(e,t){var n,r,i,a;if(t===28)return n=e.parseByte(),r=e.parseByte(),n<<8|r;if(t===29)return n=e.parseByte(),r=e.parseByte(),i=e.parseByte(),a=e.parseByte(),n<<24|r<<16|i<<8|a;if(t===30)return gS(e);if(t>=32&&t<=246)return t-139;if(t>=247&&t<=250)return n=e.parseByte(),(t-247)*256+n+108;if(t>=251&&t<=254)return n=e.parseByte(),-(t-251)*256-n-108;throw new Error("Invalid b0 "+t)}function pS(e){for(var t={},n=0;n<e.length;n+=1){var r=e[n][0],i=e[n][1],a=void 0;if(i.length===1?a=i[0]:a=i,t.hasOwnProperty(r)&&!isNaN(t[r]))throw new Error("Object "+t+" already has key "+r);t[r]=a}return t}function a1(e,t,n){t=t!==void 0?t:0;var r=new nt.Parser(e,t),i=[],a=[];for(n=n!==void 0?n:e.length;r.relativeOffset<n;){var s=r.parseByte();s<=21?(s===12&&(s=1200+r.parseByte()),i.push([s,a]),a=[]):a.push(dS(r,s))}return pS(i)}function Hs(e,t){return t<=390?t=El[t]:t=e[t-391],t}function s1(e,t,n){for(var r={},i,a=0;a<t.length;a+=1){var s=t[a];if(Array.isArray(s.type)){var o=[];o.length=s.type.length;for(var c=0;c<s.type.length;c++)i=e[s.op]!==void 0?e[s.op][c]:void 0,i===void 0&&(i=s.value!==void 0&&s.value[c]!==void 0?s.value[c]:null),s.type[c]==="SID"&&(i=Hs(n,i)),o[c]=i;r[s.name]=o}else i=e[s.op],i===void 0&&(i=s.value!==void 0?s.value:null),s.type==="SID"&&(i=Hs(n,i)),r[s.name]=i}return r}function mS(e,t){var n={};return n.formatMajor=nt.getCard8(e,t),n.formatMinor=nt.getCard8(e,t+1),n.size=nt.getCard8(e,t+2),n.offsetSize=nt.getCard8(e,t+3),n.startOffset=t,n.endOffset=t+4,n}var o1=[{name:"version",op:0,type:"SID"},{name:"notice",op:1,type:"SID"},{name:"copyright",op:1200,type:"SID"},{name:"fullName",op:2,type:"SID"},{name:"familyName",op:3,type:"SID"},{name:"weight",op:4,type:"SID"},{name:"isFixedPitch",op:1201,type:"number",value:0},{name:"italicAngle",op:1202,type:"number",value:0},{name:"underlinePosition",op:1203,type:"number",value:-100},{name:"underlineThickness",op:1204,type:"number",value:50},{name:"paintType",op:1205,type:"number",value:0},{name:"charstringType",op:1206,type:"number",value:2},{name:"fontMatrix",op:1207,type:["real","real","real","real","real","real"],value:[.001,0,0,.001,0,0]},{name:"uniqueId",op:13,type:"number"},{name:"fontBBox",op:5,type:["number","number","number","number"],value:[0,0,0,0]},{name:"strokeWidth",op:1208,type:"number",value:0},{name:"xuid",op:14,type:[],value:null},{name:"charset",op:15,type:"offset",value:0},{name:"encoding",op:16,type:"offset",value:0},{name:"charStrings",op:17,type:"offset",value:0},{name:"private",op:18,type:["number","offset"],value:[0,0]},{name:"ros",op:1230,type:["SID","SID","number"]},{name:"cidFontVersion",op:1231,type:"number",value:0},{name:"cidFontRevision",op:1232,type:"number",value:0},{name:"cidFontType",op:1233,type:"number",value:0},{name:"cidCount",op:1234,type:"number",value:8720},{name:"uidBase",op:1235,type:"number"},{name:"fdArray",op:1236,type:"offset"},{name:"fdSelect",op:1237,type:"offset"},{name:"fontName",op:1238,type:"SID"}],c1=[{name:"subrs",op:19,type:"offset",value:0},{name:"defaultWidthX",op:20,type:"number",value:0},{name:"nominalWidthX",op:21,type:"number",value:0}];function yS(e,t){var n=a1(e,0,e.byteLength);return s1(n,o1,t)}function l1(e,t,n,r){var i=a1(e,t,n);return s1(i,c1,r)}function u1(e,t,n,r){for(var i=[],a=0;a<n.length;a+=1){var s=new DataView(new Uint8Array(n[a]).buffer),o=yS(s,r);o._subrs=[],o._subrsBias=0,o._defaultWidthX=0,o._nominalWidthX=0;var c=o.private[0],l=o.private[1];if(c!==0&&l!==0){var u=l1(e,l+t,c,r);if(o._defaultWidthX=u.defaultWidthX,o._nominalWidthX=u.nominalWidthX,u.subrs!==0){var A=l+u.subrs,h=Kr(e,A+t);o._subrs=h.objects,o._subrsBias=mh(o._subrs)}o._privateDict=u}i.push(o)}return i}function wS(e,t,n,r){var i,a,s=new nt.Parser(e,t);n-=1;var o=[".notdef"],c=s.parseCard8();if(c===0)for(var l=0;l<n;l+=1)i=s.parseSID(),o.push(Hs(r,i));else if(c===1)for(;o.length<=n;){i=s.parseSID(),a=s.parseCard8();for(var u=0;u<=a;u+=1)o.push(Hs(r,i)),i+=1}else if(c===2)for(;o.length<=n;){i=s.parseSID(),a=s.parseCard16();for(var A=0;A<=a;A+=1)o.push(Hs(r,i)),i+=1}else throw new Error("Unknown charset format "+c);return o}function vS(e,t,n){var r,i={},a=new nt.Parser(e,t),s=a.parseCard8();if(s===0)for(var o=a.parseCard8(),c=0;c<o;c+=1)r=a.parseCard8(),i[r]=c;else if(s===1){var l=a.parseCard8();r=1;for(var u=0;u<l;u+=1)for(var A=a.parseCard8(),h=a.parseCard8(),f=A;f<=A+h;f+=1)i[f]=r,r+=1}else throw new Error("Unknown encoding format "+s);return new Bl(i,n)}function A1(e,t,n){var r,i,a,s,o=new ye,c=[],l=0,u=!1,A=!1,h=0,f=0,d,p,m,y;if(e.isCIDFont){var v=e.tables.cff.topDict._fdSelect[t.index],w=e.tables.cff.topDict._fdArray[v];d=w._subrs,p=w._subrsBias,m=w._defaultWidthX,y=w._nominalWidthX}else d=e.tables.cff.topDict._subrs,p=e.tables.cff.topDict._subrsBias,m=e.tables.cff.topDict._defaultWidthX,y=e.tables.cff.topDict._nominalWidthX;var B=m;function C(D,T){A&&o.closePath(),o.moveTo(D,T),A=!0}function x(){var D;D=c.length%2!==0,D&&!u&&(B=c.shift()+y),l+=c.length>>1,c.length=0,u=!0}function b(D){for(var T,P,L,U,z,J,W,Z,ot,lt,O,M,V=0;V<D.length;){var X=D[V];switch(V+=1,X){case 1:x();break;case 3:x();break;case 4:c.length>1&&!u&&(B=c.shift()+y,u=!0),f+=c.pop(),C(h,f);break;case 5:for(;c.length>0;)h+=c.shift(),f+=c.shift(),o.lineTo(h,f);break;case 6:for(;c.length>0&&(h+=c.shift(),o.lineTo(h,f),c.length!==0);)f+=c.shift(),o.lineTo(h,f);break;case 7:for(;c.length>0&&(f+=c.shift(),o.lineTo(h,f),c.length!==0);)h+=c.shift(),o.lineTo(h,f);break;case 8:for(;c.length>0;)r=h+c.shift(),i=f+c.shift(),a=r+c.shift(),s=i+c.shift(),h=a+c.shift(),f=s+c.shift(),o.curveTo(r,i,a,s,h,f);break;case 10:z=c.pop()+p,J=d[z],J&&b(J);break;case 11:return;case 12:switch(X=D[V],V+=1,X){case 35:r=h+c.shift(),i=f+c.shift(),a=r+c.shift(),s=i+c.shift(),W=a+c.shift(),Z=s+c.shift(),ot=W+c.shift(),lt=Z+c.shift(),O=ot+c.shift(),M=lt+c.shift(),h=O+c.shift(),f=M+c.shift(),c.shift(),o.curveTo(r,i,a,s,W,Z),o.curveTo(ot,lt,O,M,h,f);break;case 34:r=h+c.shift(),i=f,a=r+c.shift(),s=i+c.shift(),W=a+c.shift(),Z=s,ot=W+c.shift(),lt=s,O=ot+c.shift(),M=f,h=O+c.shift(),o.curveTo(r,i,a,s,W,Z),o.curveTo(ot,lt,O,M,h,f);break;case 36:r=h+c.shift(),i=f+c.shift(),a=r+c.shift(),s=i+c.shift(),W=a+c.shift(),Z=s,ot=W+c.shift(),lt=s,O=ot+c.shift(),M=lt+c.shift(),h=O+c.shift(),o.curveTo(r,i,a,s,W,Z),o.curveTo(ot,lt,O,M,h,f);break;case 37:r=h+c.shift(),i=f+c.shift(),a=r+c.shift(),s=i+c.shift(),W=a+c.shift(),Z=s+c.shift(),ot=W+c.shift(),lt=Z+c.shift(),O=ot+c.shift(),M=lt+c.shift(),Math.abs(O-h)>Math.abs(M-f)?h=O+c.shift():f=M+c.shift(),o.curveTo(r,i,a,s,W,Z),o.curveTo(ot,lt,O,M,h,f);break;default:console.log("Glyph "+t.index+": unknown operator 1200"+X),c.length=0}break;case 14:c.length>0&&!u&&(B=c.shift()+y,u=!0),A&&(o.closePath(),A=!1);break;case 18:x();break;case 19:case 20:x(),V+=l+7>>3;break;case 21:c.length>2&&!u&&(B=c.shift()+y,u=!0),f+=c.pop(),h+=c.pop(),C(h,f);break;case 22:c.length>1&&!u&&(B=c.shift()+y,u=!0),h+=c.pop(),C(h,f);break;case 23:x();break;case 24:for(;c.length>2;)r=h+c.shift(),i=f+c.shift(),a=r+c.shift(),s=i+c.shift(),h=a+c.shift(),f=s+c.shift(),o.curveTo(r,i,a,s,h,f);h+=c.shift(),f+=c.shift(),o.lineTo(h,f);break;case 25:for(;c.length>6;)h+=c.shift(),f+=c.shift(),o.lineTo(h,f);r=h+c.shift(),i=f+c.shift(),a=r+c.shift(),s=i+c.shift(),h=a+c.shift(),f=s+c.shift(),o.curveTo(r,i,a,s,h,f);break;case 26:for(c.length%2&&(h+=c.shift());c.length>0;)r=h,i=f+c.shift(),a=r+c.shift(),s=i+c.shift(),h=a,f=s+c.shift(),o.curveTo(r,i,a,s,h,f);break;case 27:for(c.length%2&&(f+=c.shift());c.length>0;)r=h+c.shift(),i=f,a=r+c.shift(),s=i+c.shift(),h=a+c.shift(),f=s,o.curveTo(r,i,a,s,h,f);break;case 28:T=D[V],P=D[V+1],c.push((T<<24|P<<16)>>16),V+=2;break;case 29:z=c.pop()+e.gsubrsBias,J=e.gsubrs[z],J&&b(J);break;case 30:for(;c.length>0&&(r=h,i=f+c.shift(),a=r+c.shift(),s=i+c.shift(),h=a+c.shift(),f=s+(c.length===1?c.shift():0),o.curveTo(r,i,a,s,h,f),c.length!==0);)r=h+c.shift(),i=f,a=r+c.shift(),s=i+c.shift(),f=s+c.shift(),h=a+(c.length===1?c.shift():0),o.curveTo(r,i,a,s,h,f);break;case 31:for(;c.length>0&&(r=h+c.shift(),i=f,a=r+c.shift(),s=i+c.shift(),f=s+c.shift(),h=a+(c.length===1?c.shift():0),o.curveTo(r,i,a,s,h,f),c.length!==0);)r=h,i=f+c.shift(),a=r+c.shift(),s=i+c.shift(),h=a+c.shift(),f=s+(c.length===1?c.shift():0),o.curveTo(r,i,a,s,h,f);break;default:X<32?console.log("Glyph "+t.index+": unknown operator "+X):X<247?c.push(X-139):X<251?(T=D[V],V+=1,c.push((X-247)*256+T+108)):X<255?(T=D[V],V+=1,c.push(-(X-251)*256-T-108)):(T=D[V],P=D[V+1],L=D[V+2],U=D[V+3],V+=4,c.push((T<<24|P<<16|L<<8|U)/65536))}}}return b(n),t.advanceWidth=B,o}function ES(e,t,n,r){var i=[],a,s=new nt.Parser(e,t),o=s.parseCard8();if(o===0)for(var c=0;c<n;c++){if(a=s.parseCard8(),a>=r)throw new Error("CFF table CID Font FDSelect has bad FD index value "+a+" (FD count "+r+")");i.push(a)}else if(o===3){var l=s.parseCard16(),u=s.parseCard16();if(u!==0)throw new Error("CFF Table CID Font FDSelect format 3 range has bad initial GID "+u);for(var A,h=0;h<l;h++){if(a=s.parseCard8(),A=s.parseCard16(),a>=r)throw new Error("CFF table CID Font FDSelect has bad FD index value "+a+" (FD count "+r+")");if(A>n)throw new Error("CFF Table CID Font FDSelect format 3 range has bad GID "+A);for(;u<A;u++)i.push(a);u=A}if(A!==n)throw new Error("CFF Table CID Font FDSelect format 3 range has bad final GID "+A)}else throw new Error("CFF Table CID Font FDSelect table has unsupported format "+o);return i}function BS(e,t,n,r){n.tables.cff={};var i=mS(e,t),a=Kr(e,i.endOffset,nt.bytesToString),s=Kr(e,a.endOffset),o=Kr(e,s.endOffset,nt.bytesToString),c=Kr(e,o.endOffset);n.gsubrs=c.objects,n.gsubrsBias=mh(n.gsubrs);var l=u1(e,t,s.objects,o.objects);if(l.length!==1)throw new Error("CFF table has too many fonts in 'FontSet' - count of fonts NameIndex.length = "+l.length);var u=l[0];if(n.tables.cff.topDict=u,u._privateDict&&(n.defaultWidthX=u._privateDict.defaultWidthX,n.nominalWidthX=u._privateDict.nominalWidthX),u.ros[0]!==void 0&&u.ros[1]!==void 0&&(n.isCIDFont=!0),n.isCIDFont){var A=u.fdArray,h=u.fdSelect;if(A===0||h===0)throw new Error("Font is marked as a CID font, but FDArray and/or FDSelect information is missing");A+=t;var f=Kr(e,A),d=u1(e,t,f.objects,o.objects);u._fdArray=d,h+=t,u._fdSelect=ES(e,h,n.numGlyphs,d.length)}var p=t+u.private[1],m=l1(e,p,u.private[0],o.objects);if(n.defaultWidthX=m.defaultWidthX,n.nominalWidthX=m.nominalWidthX,m.subrs!==0){var y=p+m.subrs,v=Kr(e,y);n.subrs=v.objects,n.subrsBias=mh(n.subrs)}else n.subrs=[],n.subrsBias=0;var w;r.lowMemory?(w=hS(e,t+u.charStrings),n.nGlyphs=w.offsets.length):(w=Kr(e,t+u.charStrings),n.nGlyphs=w.objects.length);var B=wS(e,t+u.charset,n.nGlyphs,o.objects);if(u.encoding===0?n.cffEncoding=new Bl(nS,B):u.encoding===1?n.cffEncoding=new Bl(rS,B):n.cffEncoding=vS(e,t+u.encoding,B),n.encoding=n.encoding||n.cffEncoding,n.glyphs=new sr.GlyphSet(n),r.lowMemory)n._push=function(b){var D=fS(b,w.offsets,e,t+u.charStrings);n.glyphs.push(b,sr.cffGlyphLoader(n,b,A1,D))};else for(var C=0;C<n.nGlyphs;C+=1){var x=w.objects[C];n.glyphs.push(C,sr.cffGlyphLoader(n,C,A1,x))}}function h1(e,t){var n,r=El.indexOf(e);return r>=0&&(n=r),r=t.indexOf(e),r>=0?n=r+El.length:(n=El.length+t.length,t.push(e)),n}function CS(){return new tt.Record("Header",[{name:"major",type:"Card8",value:1},{name:"minor",type:"Card8",value:0},{name:"hdrSize",type:"Card8",value:4},{name:"major",type:"Card8",value:1}])}function xS(e){var t=new tt.Record("Name INDEX",[{name:"names",type:"INDEX",value:[]}]);t.names=[];for(var n=0;n<e.length;n+=1)t.names.push({name:"name_"+n,type:"NAME",value:e[n]});return t}function f1(e,t,n){for(var r={},i=0;i<e.length;i+=1){var a=e[i],s=t[a.name];s!==void 0&&!i1(s,a.value)&&(a.type==="SID"&&(s=h1(s,n)),r[a.op]={name:a.name,type:a.type,value:s})}return r}function g1(e,t){var n=new tt.Record("Top DICT",[{name:"dict",type:"DICT",value:{}}]);return n.dict=f1(o1,e,t),n}function d1(e){var t=new tt.Record("Top DICT INDEX",[{name:"topDicts",type:"INDEX",value:[]}]);return t.topDicts=[{name:"topDict_0",type:"TABLE",value:e}],t}function bS(e){var t=new tt.Record("String INDEX",[{name:"strings",type:"INDEX",value:[]}]);t.strings=[];for(var n=0;n<e.length;n+=1)t.strings.push({name:"string_"+n,type:"STRING",value:e[n]});return t}function SS(){return new tt.Record("Global Subr INDEX",[{name:"subrs",type:"INDEX",value:[]}])}function DS(e,t){for(var n=new tt.Record("Charsets",[{name:"format",type:"Card8",value:0}]),r=0;r<e.length;r+=1){var i=e[r],a=h1(i,t);n.fields.push({name:"glyph_"+r,type:"SID",value:a})}return n}function IS(e){var t=[],n=e.path;t.push({name:"width",type:"NUMBER",value:e.advanceWidth});for(var r=0,i=0,a=0;a<n.commands.length;a+=1){var s=void 0,o=void 0,c=n.commands[a];if(c.type==="Q"){var l=.3333333333333333,u=2/3;c={type:"C",x:c.x,y:c.y,x1:Math.round(l*r+u*c.x1),y1:Math.round(l*i+u*c.y1),x2:Math.round(l*c.x+u*c.x1),y2:Math.round(l*c.y+u*c.y1)}}if(c.type==="M")s=Math.round(c.x-r),o=Math.round(c.y-i),t.push({name:"dx",type:"NUMBER",value:s}),t.push({name:"dy",type:"NUMBER",value:o}),t.push({name:"rmoveto",type:"OP",value:21}),r=Math.round(c.x),i=Math.round(c.y);else if(c.type==="L")s=Math.round(c.x-r),o=Math.round(c.y-i),t.push({name:"dx",type:"NUMBER",value:s}),t.push({name:"dy",type:"NUMBER",value:o}),t.push({name:"rlineto",type:"OP",value:5}),r=Math.round(c.x),i=Math.round(c.y);else if(c.type==="C"){var A=Math.round(c.x1-r),h=Math.round(c.y1-i),f=Math.round(c.x2-c.x1),d=Math.round(c.y2-c.y1);s=Math.round(c.x-c.x2),o=Math.round(c.y-c.y2),t.push({name:"dx1",type:"NUMBER",value:A}),t.push({name:"dy1",type:"NUMBER",value:h}),t.push({name:"dx2",type:"NUMBER",value:f}),t.push({name:"dy2",type:"NUMBER",value:d}),t.push({name:"dx",type:"NUMBER",value:s}),t.push({name:"dy",type:"NUMBER",value:o}),t.push({name:"rrcurveto",type:"OP",value:8}),r=Math.round(c.x),i=Math.round(c.y)}}return t.push({name:"endchar",type:"OP",value:14}),t}function FS(e){for(var t=new tt.Record("CharStrings INDEX",[{name:"charStrings",type:"INDEX",value:[]}]),n=0;n<e.length;n+=1){var r=e.get(n),i=IS(r);t.charStrings.push({name:r.name,type:"CHARSTRING",value:i})}return t}function QS(e,t){var n=new tt.Record("Private DICT",[{name:"dict",type:"DICT",value:{}}]);return n.dict=f1(c1,e,t),n}function MS(e,t){for(var n=new tt.Table("CFF ",[{name:"header",type:"RECORD"},{name:"nameIndex",type:"RECORD"},{name:"topDictIndex",type:"RECORD"},{name:"stringIndex",type:"RECORD"},{name:"globalSubrIndex",type:"RECORD"},{name:"charsets",type:"RECORD"},{name:"charStringsIndex",type:"RECORD"},{name:"privateDict",type:"RECORD"}]),r=1/t.unitsPerEm,i={version:t.version,fullName:t.fullName,familyName:t.familyName,weight:t.weightName,fontBBox:t.fontBBox||[0,0,0,0],fontMatrix:[r,0,0,r,0,0],charset:999,encoding:0,charStrings:999,private:[0,999]},a={},s=[],o,c=1;c<e.length;c+=1)o=e.get(c),s.push(o.name);var l=[];n.header=CS(),n.nameIndex=xS([t.postScriptName]);var u=g1(i,l);n.topDictIndex=d1(u),n.globalSubrIndex=SS(),n.charsets=DS(s,l),n.charStringsIndex=FS(e),n.privateDict=QS(a,l),n.stringIndex=bS(l);var A=n.header.sizeOf()+n.nameIndex.sizeOf()+n.topDictIndex.sizeOf()+n.stringIndex.sizeOf()+n.globalSubrIndex.sizeOf();return i.charset=A,i.encoding=0,i.charStrings=i.charset+n.charsets.sizeOf(),i.private[1]=i.charStrings+n.charStringsIndex.sizeOf(),u=g1(i,l),n.topDictIndex=d1(u),n}var p1={parse:BS,make:MS};function TS(e,t){var n={},r=new nt.Parser(e,t);return n.version=r.parseVersion(),n.fontRevision=Math.round(r.parseFixed()*1e3)/1e3,n.checkSumAdjustment=r.parseULong(),n.magicNumber=r.parseULong(),ht.argument(n.magicNumber===1594834165,"Font header has wrong magic number."),n.flags=r.parseUShort(),n.unitsPerEm=r.parseUShort(),n.created=r.parseLongDateTime(),n.modified=r.parseLongDateTime(),n.xMin=r.parseShort(),n.yMin=r.parseShort(),n.xMax=r.parseShort(),n.yMax=r.parseShort(),n.macStyle=r.parseUShort(),n.lowestRecPPEM=r.parseUShort(),n.fontDirectionHint=r.parseShort(),n.indexToLocFormat=r.parseShort(),n.glyphDataFormat=r.parseShort(),n}function NS(e){var t=Math.round(new Date().getTime()/1e3)+2082844800,n=t;return e.createdTimestamp&&(n=e.createdTimestamp+2082844800),new tt.Table("head",[{name:"version",type:"FIXED",value:65536},{name:"fontRevision",type:"FIXED",value:65536},{name:"checkSumAdjustment",type:"ULONG",value:0},{name:"magicNumber",type:"ULONG",value:1594834165},{name:"flags",type:"USHORT",value:0},{name:"unitsPerEm",type:"USHORT",value:1e3},{name:"created",type:"LONGDATETIME",value:n},{name:"modified",type:"LONGDATETIME",value:t},{name:"xMin",type:"SHORT",value:0},{name:"yMin",type:"SHORT",value:0},{name:"xMax",type:"SHORT",value:0},{name:"yMax",type:"SHORT",value:0},{name:"macStyle",type:"USHORT",value:0},{name:"lowestRecPPEM",type:"USHORT",value:0},{name:"fontDirectionHint",type:"SHORT",value:2},{name:"indexToLocFormat",type:"SHORT",value:0},{name:"glyphDataFormat",type:"SHORT",value:0}],e)}var m1={parse:TS,make:NS};function PS(e,t){var n={},r=new nt.Parser(e,t);return n.version=r.parseVersion(),n.ascender=r.parseShort(),n.descender=r.parseShort(),n.lineGap=r.parseShort(),n.advanceWidthMax=r.parseUShort(),n.minLeftSideBearing=r.parseShort(),n.minRightSideBearing=r.parseShort(),n.xMaxExtent=r.parseShort(),n.caretSlopeRise=r.parseShort(),n.caretSlopeRun=r.parseShort(),n.caretOffset=r.parseShort(),r.relativeOffset+=8,n.metricDataFormat=r.parseShort(),n.numberOfHMetrics=r.parseUShort(),n}function kS(e){return new tt.Table("hhea",[{name:"version",type:"FIXED",value:65536},{name:"ascender",type:"FWORD",value:0},{name:"descender",type:"FWORD",value:0},{name:"lineGap",type:"FWORD",value:0},{name:"advanceWidthMax",type:"UFWORD",value:0},{name:"minLeftSideBearing",type:"FWORD",value:0},{name:"minRightSideBearing",type:"FWORD",value:0},{name:"xMaxExtent",type:"FWORD",value:0},{name:"caretSlopeRise",type:"SHORT",value:1},{name:"caretSlopeRun",type:"SHORT",value:0},{name:"caretOffset",type:"SHORT",value:0},{name:"reserved1",type:"SHORT",value:0},{name:"reserved2",type:"SHORT",value:0},{name:"reserved3",type:"SHORT",value:0},{name:"reserved4",type:"SHORT",value:0},{name:"metricDataFormat",type:"SHORT",value:0},{name:"numberOfHMetrics",type:"USHORT",value:0}],e)}var y1={parse:PS,make:kS};function RS(e,t,n,r,i){for(var a,s,o=new nt.Parser(e,t),c=0;c<r;c+=1){c<n&&(a=o.parseUShort(),s=o.parseShort());var l=i.get(c);l.advanceWidth=a,l.leftSideBearing=s}}function OS(e,t,n,r,i){e._hmtxTableData={};for(var a,s,o=new nt.Parser(t,n),c=0;c<i;c+=1)c<r&&(a=o.parseUShort(),s=o.parseShort()),e._hmtxTableData[c]={advanceWidth:a,leftSideBearing:s}}function US(e,t,n,r,i,a,s){s.lowMemory?OS(e,t,n,r,i):RS(t,n,r,i,a)}function LS(e){for(var t=new tt.Table("hmtx",[]),n=0;n<e.length;n+=1){var r=e.get(n),i=r.advanceWidth||0,a=r.leftSideBearing||0;t.fields.push({name:"advanceWidth_"+n,type:"USHORT",value:i}),t.fields.push({name:"leftSideBearing_"+n,type:"SHORT",value:a})}return t}var w1={parse:US,make:LS};function YS(e){for(var t=new tt.Table("ltag",[{name:"version",type:"ULONG",value:1},{name:"flags",type:"ULONG",value:0},{name:"numTags",type:"ULONG",value:e.length}]),n="",r=12+e.length*4,i=0;i<e.length;++i){var a=n.indexOf(e[i]);a<0&&(a=n.length,n+=e[i]),t.fields.push({name:"offset "+i,type:"USHORT",value:r+a}),t.fields.push({name:"length "+i,type:"USHORT",value:e[i].length})}return t.fields.push({name:"stringPool",type:"CHARARRAY",value:n}),t}function HS(e,t){var n=new nt.Parser(e,t),r=n.parseULong();ht.argument(r===1,"Unsupported ltag table version."),n.skip("uLong",1);for(var i=n.parseULong(),a=[],s=0;s<i;s++){for(var o="",c=t+n.parseUShort(),l=n.parseUShort(),u=c;u<c+l;++u)o+=String.fromCharCode(e.getInt8(u));a.push(o)}return a}var v1={make:YS,parse:HS};function GS(e,t){var n={},r=new nt.Parser(e,t);return n.version=r.parseVersion(),n.numGlyphs=r.parseUShort(),n.version===1&&(n.maxPoints=r.parseUShort(),n.maxContours=r.parseUShort(),n.maxCompositePoints=r.parseUShort(),n.maxCompositeContours=r.parseUShort(),n.maxZones=r.parseUShort(),n.maxTwilightPoints=r.parseUShort(),n.maxStorage=r.parseUShort(),n.maxFunctionDefs=r.parseUShort(),n.maxInstructionDefs=r.parseUShort(),n.maxStackElements=r.parseUShort(),n.maxSizeOfInstructions=r.parseUShort(),n.maxComponentElements=r.parseUShort(),n.maxComponentDepth=r.parseUShort()),n}function VS(e){return new tt.Table("maxp",[{name:"version",type:"FIXED",value:20480},{name:"numGlyphs",type:"USHORT",value:e}])}var E1={parse:GS,make:VS},B1=["copyright","fontFamily","fontSubfamily","uniqueID","fullName","version","postScriptName","trademark","manufacturer","designer","description","manufacturerURL","designerURL","license","licenseURL","reserved","preferredFamily","preferredSubfamily","compatibleFullName","sampleText","postScriptFindFontName","wwsFamily","wwsSubfamily"],C1={0:"en",1:"fr",2:"de",3:"it",4:"nl",5:"sv",6:"es",7:"da",8:"pt",9:"no",10:"he",11:"ja",12:"ar",13:"fi",14:"el",15:"is",16:"mt",17:"tr",18:"hr",19:"zh-Hant",20:"ur",21:"hi",22:"th",23:"ko",24:"lt",25:"pl",26:"hu",27:"es",28:"lv",29:"se",30:"fo",31:"fa",32:"ru",33:"zh",34:"nl-BE",35:"ga",36:"sq",37:"ro",38:"cz",39:"sk",40:"si",41:"yi",42:"sr",43:"mk",44:"bg",45:"uk",46:"be",47:"uz",48:"kk",49:"az-Cyrl",50:"az-Arab",51:"hy",52:"ka",53:"mo",54:"ky",55:"tg",56:"tk",57:"mn-CN",58:"mn",59:"ps",60:"ks",61:"ku",62:"sd",63:"bo",64:"ne",65:"sa",66:"mr",67:"bn",68:"as",69:"gu",70:"pa",71:"or",72:"ml",73:"kn",74:"ta",75:"te",76:"si",77:"my",78:"km",79:"lo",80:"vi",81:"id",82:"tl",83:"ms",84:"ms-Arab",85:"am",86:"ti",87:"om",88:"so",89:"sw",90:"rw",91:"rn",92:"ny",93:"mg",94:"eo",128:"cy",129:"eu",130:"ca",131:"la",132:"qu",133:"gn",134:"ay",135:"tt",136:"ug",137:"dz",138:"jv",139:"su",140:"gl",141:"af",142:"br",143:"iu",144:"gd",145:"gv",146:"ga",147:"to",148:"el-polyton",149:"kl",150:"az",151:"nn"},zS={0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:5,11:1,12:4,13:0,14:6,15:0,16:0,17:0,18:0,19:2,20:4,21:9,22:21,23:3,24:29,25:29,26:29,27:29,28:29,29:0,30:0,31:4,32:7,33:25,34:0,35:0,36:0,37:0,38:29,39:29,40:0,41:5,42:7,43:7,44:7,45:7,46:7,47:7,48:7,49:7,50:4,51:24,52:23,53:7,54:7,55:7,56:7,57:27,58:7,59:4,60:4,61:4,62:4,63:26,64:9,65:9,66:9,67:13,68:13,69:11,70:10,71:12,72:17,73:16,74:14,75:15,76:18,77:19,78:20,79:22,80:30,81:0,82:0,83:0,84:4,85:28,86:28,87:28,88:0,89:0,90:0,91:0,92:0,93:0,94:0,128:0,129:0,130:0,131:0,132:0,133:0,134:0,135:7,136:4,137:26,138:0,139:0,140:0,141:0,142:0,143:28,144:0,145:0,146:0,147:0,148:6,149:0,150:0,151:0},x1={1078:"af",1052:"sq",1156:"gsw",1118:"am",5121:"ar-DZ",15361:"ar-BH",3073:"ar",2049:"ar-IQ",11265:"ar-JO",13313:"ar-KW",12289:"ar-LB",4097:"ar-LY",6145:"ary",8193:"ar-OM",16385:"ar-QA",1025:"ar-SA",10241:"ar-SY",7169:"aeb",14337:"ar-AE",9217:"ar-YE",1067:"hy",1101:"as",2092:"az-Cyrl",1068:"az",1133:"ba",1069:"eu",1059:"be",2117:"bn",1093:"bn-IN",8218:"bs-Cyrl",5146:"bs",1150:"br",1026:"bg",1027:"ca",3076:"zh-HK",5124:"zh-MO",2052:"zh",4100:"zh-SG",1028:"zh-TW",1155:"co",1050:"hr",4122:"hr-BA",1029:"cs",1030:"da",1164:"prs",1125:"dv",2067:"nl-BE",1043:"nl",3081:"en-AU",10249:"en-BZ",4105:"en-CA",9225:"en-029",16393:"en-IN",6153:"en-IE",8201:"en-JM",17417:"en-MY",5129:"en-NZ",13321:"en-PH",18441:"en-SG",7177:"en-ZA",11273:"en-TT",2057:"en-GB",1033:"en",12297:"en-ZW",1061:"et",1080:"fo",1124:"fil",1035:"fi",2060:"fr-BE",3084:"fr-CA",1036:"fr",5132:"fr-LU",6156:"fr-MC",4108:"fr-CH",1122:"fy",1110:"gl",1079:"ka",3079:"de-AT",1031:"de",5127:"de-LI",4103:"de-LU",2055:"de-CH",1032:"el",1135:"kl",1095:"gu",1128:"ha",1037:"he",1081:"hi",1038:"hu",1039:"is",1136:"ig",1057:"id",1117:"iu",2141:"iu-Latn",2108:"ga",1076:"xh",1077:"zu",1040:"it",2064:"it-CH",1041:"ja",1099:"kn",1087:"kk",1107:"km",1158:"quc",1159:"rw",1089:"sw",1111:"kok",1042:"ko",1088:"ky",1108:"lo",1062:"lv",1063:"lt",2094:"dsb",1134:"lb",1071:"mk",2110:"ms-BN",1086:"ms",1100:"ml",1082:"mt",1153:"mi",1146:"arn",1102:"mr",1148:"moh",1104:"mn",2128:"mn-CN",1121:"ne",1044:"nb",2068:"nn",1154:"oc",1096:"or",1123:"ps",1045:"pl",1046:"pt",2070:"pt-PT",1094:"pa",1131:"qu-BO",2155:"qu-EC",3179:"qu",1048:"ro",1047:"rm",1049:"ru",9275:"smn",4155:"smj-NO",5179:"smj",3131:"se-FI",1083:"se",2107:"se-SE",8251:"sms",6203:"sma-NO",7227:"sms",1103:"sa",7194:"sr-Cyrl-BA",3098:"sr",6170:"sr-Latn-BA",2074:"sr-Latn",1132:"nso",1074:"tn",1115:"si",1051:"sk",1060:"sl",11274:"es-AR",16394:"es-BO",13322:"es-CL",9226:"es-CO",5130:"es-CR",7178:"es-DO",12298:"es-EC",17418:"es-SV",4106:"es-GT",18442:"es-HN",2058:"es-MX",19466:"es-NI",6154:"es-PA",15370:"es-PY",10250:"es-PE",20490:"es-PR",3082:"es",1034:"es",21514:"es-US",14346:"es-UY",8202:"es-VE",2077:"sv-FI",1053:"sv",1114:"syr",1064:"tg",2143:"tzm",1097:"ta",1092:"tt",1098:"te",1054:"th",1105:"bo",1055:"tr",1090:"tk",1152:"ug",1058:"uk",1070:"hsb",1056:"ur",2115:"uz-Cyrl",1091:"uz",1066:"vi",1106:"cy",1160:"wo",1157:"sah",1144:"ii",1130:"yo"};function JS(e,t,n){switch(e){case 0:if(t===65535)return"und";if(n)return n[t];break;case 1:return C1[t];case 3:return x1[t]}}var yh="utf-16",jS={0:"macintosh",1:"x-mac-japanese",2:"x-mac-chinesetrad",3:"x-mac-korean",6:"x-mac-greek",7:"x-mac-cyrillic",9:"x-mac-devanagai",10:"x-mac-gurmukhi",11:"x-mac-gujarati",12:"x-mac-oriya",13:"x-mac-bengali",14:"x-mac-tamil",15:"x-mac-telugu",16:"x-mac-kannada",17:"x-mac-malayalam",18:"x-mac-sinhalese",19:"x-mac-burmese",20:"x-mac-khmer",21:"x-mac-thai",22:"x-mac-lao",23:"x-mac-georgian",24:"x-mac-armenian",25:"x-mac-chinesesimp",26:"x-mac-tibetan",27:"x-mac-mongolian",28:"x-mac-ethiopic",29:"x-mac-ce",30:"x-mac-vietnamese",31:"x-mac-extarabic"},WS={15:"x-mac-icelandic",17:"x-mac-turkish",18:"x-mac-croatian",24:"x-mac-ce",25:"x-mac-ce",26:"x-mac-ce",27:"x-mac-ce",28:"x-mac-ce",30:"x-mac-icelandic",37:"x-mac-romanian",38:"x-mac-ce",39:"x-mac-ce",40:"x-mac-ce",143:"x-mac-inuit",146:"x-mac-gaelic"};function b1(e,t,n){switch(e){case 0:return yh;case 1:return WS[n]||jS[t];case 3:if(t===1||t===10)return yh;break}}function KS(e,t,n){for(var r={},i=new nt.Parser(e,t),a=i.parseUShort(),s=i.parseUShort(),o=i.offset+i.parseUShort(),c=0;c<s;c++){var l=i.parseUShort(),u=i.parseUShort(),A=i.parseUShort(),h=i.parseUShort(),f=B1[h]||h,d=i.parseUShort(),p=i.parseUShort(),m=JS(l,A,n),y=b1(l,u,A);if(y!==void 0&&m!==void 0){var v=void 0;if(y===yh?v=Sa.UTF16(e,o+p,d):v=Sa.MACSTRING(e,o+p,d,y),v){var w=r[f];w===void 0&&(w=r[f]={}),w[m]=v}}}return a===1&&i.parseUShort(),r}function wh(e){var t={};for(var n in e)t[e[n]]=parseInt(n);return t}function S1(e,t,n,r,i,a){return new tt.Record("NameRecord",[{name:"platformID",type:"USHORT",value:e},{name:"encodingID",type:"USHORT",value:t},{name:"languageID",type:"USHORT",value:n},{name:"nameID",type:"USHORT",value:r},{name:"length",type:"USHORT",value:i},{name:"offset",type:"USHORT",value:a}])}function XS(e,t){var n=e.length,r=t.length-n+1;t:for(var i=0;i<r;i++)for(;i<r;i++){for(var a=0;a<n;a++)if(t[i+a]!==e[a])continue t;return i}return-1}function D1(e,t){var n=XS(e,t);if(n<0){n=t.length;for(var r=0,i=e.length;r<i;++r)t.push(e[r])}return n}function _S(e,t){var n,r=[],i={},a=wh(B1);for(var s in e){var o=a[s];if(o===void 0&&(o=s),n=parseInt(o),isNaN(n))throw new Error('Name table entry "'+s+'" does not exist, see nameTableNames for complete list.');i[n]=e[s],r.push(n)}for(var c=wh(C1),l=wh(x1),u=[],A=[],h=0;h<r.length;h++){n=r[h];var f=i[n];for(var d in f){var p=f[d],m=1,y=c[d],v=zS[y],w=b1(m,v,y),B=K.MACSTRING(p,w);B===void 0&&(m=0,y=t.indexOf(d),y<0&&(y=t.length,t.push(d)),v=4,B=K.UTF16(p));var C=D1(B,A);u.push(S1(m,v,y,n,B.length,C));var x=l[d];if(x!==void 0){var b=K.UTF16(p),D=D1(b,A);u.push(S1(3,1,x,n,b.length,D))}}}u.sort(function(L,U){return L.platformID-U.platformID||L.encodingID-U.encodingID||L.languageID-U.languageID||L.nameID-U.nameID});for(var T=new tt.Table("name",[{name:"format",type:"USHORT",value:0},{name:"count",type:"USHORT",value:u.length},{name:"stringOffset",type:"USHORT",value:6+u.length*12}]),P=0;P<u.length;P++)T.fields.push({name:"record_"+P,type:"RECORD",value:u[P]});return T.fields.push({name:"strings",type:"LITERAL",value:A}),T}var I1={parse:KS,make:_S},vh=[{begin:0,end:127},{begin:128,end:255},{begin:256,end:383},{begin:384,end:591},{begin:592,end:687},{begin:688,end:767},{begin:768,end:879},{begin:880,end:1023},{begin:11392,end:11519},{begin:1024,end:1279},{begin:1328,end:1423},{begin:1424,end:1535},{begin:42240,end:42559},{begin:1536,end:1791},{begin:1984,end:2047},{begin:2304,end:2431},{begin:2432,end:2559},{begin:2560,end:2687},{begin:2688,end:2815},{begin:2816,end:2943},{begin:2944,end:3071},{begin:3072,end:3199},{begin:3200,end:3327},{begin:3328,end:3455},{begin:3584,end:3711},{begin:3712,end:3839},{begin:4256,end:4351},{begin:6912,end:7039},{begin:4352,end:4607},{begin:7680,end:7935},{begin:7936,end:8191},{begin:8192,end:8303},{begin:8304,end:8351},{begin:8352,end:8399},{begin:8400,end:8447},{begin:8448,end:8527},{begin:8528,end:8591},{begin:8592,end:8703},{begin:8704,end:8959},{begin:8960,end:9215},{begin:9216,end:9279},{begin:9280,end:9311},{begin:9312,end:9471},{begin:9472,end:9599},{begin:9600,end:9631},{begin:9632,end:9727},{begin:9728,end:9983},{begin:9984,end:10175},{begin:12288,end:12351},{begin:12352,end:12447},{begin:12448,end:12543},{begin:12544,end:12591},{begin:12592,end:12687},{begin:43072,end:43135},{begin:12800,end:13055},{begin:13056,end:13311},{begin:44032,end:55215},{begin:55296,end:57343},{begin:67840,end:67871},{begin:19968,end:40959},{begin:57344,end:63743},{begin:12736,end:12783},{begin:64256,end:64335},{begin:64336,end:65023},{begin:65056,end:65071},{begin:65040,end:65055},{begin:65104,end:65135},{begin:65136,end:65279},{begin:65280,end:65519},{begin:65520,end:65535},{begin:3840,end:4095},{begin:1792,end:1871},{begin:1920,end:1983},{begin:3456,end:3583},{begin:4096,end:4255},{begin:4608,end:4991},{begin:5024,end:5119},{begin:5120,end:5759},{begin:5760,end:5791},{begin:5792,end:5887},{begin:6016,end:6143},{begin:6144,end:6319},{begin:10240,end:10495},{begin:40960,end:42127},{begin:5888,end:5919},{begin:66304,end:66351},{begin:66352,end:66383},{begin:66560,end:66639},{begin:118784,end:119039},{begin:119808,end:120831},{begin:1044480,end:1048573},{begin:65024,end:65039},{begin:917504,end:917631},{begin:6400,end:6479},{begin:6480,end:6527},{begin:6528,end:6623},{begin:6656,end:6687},{begin:11264,end:11359},{begin:11568,end:11647},{begin:19904,end:19967},{begin:43008,end:43055},{begin:65536,end:65663},{begin:65856,end:65935},{begin:66432,end:66463},{begin:66464,end:66527},{begin:66640,end:66687},{begin:66688,end:66735},{begin:67584,end:67647},{begin:68096,end:68191},{begin:119552,end:119647},{begin:73728,end:74751},{begin:119648,end:119679},{begin:7040,end:7103},{begin:7168,end:7247},{begin:7248,end:7295},{begin:43136,end:43231},{begin:43264,end:43311},{begin:43312,end:43359},{begin:43520,end:43615},{begin:65936,end:65999},{begin:66e3,end:66047},{begin:66208,end:66271},{begin:127024,end:127135}];function qS(e){for(var t=0;t<vh.length;t+=1){var n=vh[t];if(e>=n.begin&&e<n.end)return t}return-1}function ZS(e,t){var n={},r=new nt.Parser(e,t);n.version=r.parseUShort(),n.xAvgCharWidth=r.parseShort(),n.usWeightClass=r.parseUShort(),n.usWidthClass=r.parseUShort(),n.fsType=r.parseUShort(),n.ySubscriptXSize=r.parseShort(),n.ySubscriptYSize=r.parseShort(),n.ySubscriptXOffset=r.parseShort(),n.ySubscriptYOffset=r.parseShort(),n.ySuperscriptXSize=r.parseShort(),n.ySuperscriptYSize=r.parseShort(),n.ySuperscriptXOffset=r.parseShort(),n.ySuperscriptYOffset=r.parseShort(),n.yStrikeoutSize=r.parseShort(),n.yStrikeoutPosition=r.parseShort(),n.sFamilyClass=r.parseShort(),n.panose=[];for(var i=0;i<10;i++)n.panose[i]=r.parseByte();return n.ulUnicodeRange1=r.parseULong(),n.ulUnicodeRange2=r.parseULong(),n.ulUnicodeRange3=r.parseULong(),n.ulUnicodeRange4=r.parseULong(),n.achVendID=String.fromCharCode(r.parseByte(),r.parseByte(),r.parseByte(),r.parseByte()),n.fsSelection=r.parseUShort(),n.usFirstCharIndex=r.parseUShort(),n.usLastCharIndex=r.parseUShort(),n.sTypoAscender=r.parseShort(),n.sTypoDescender=r.parseShort(),n.sTypoLineGap=r.parseShort(),n.usWinAscent=r.parseUShort(),n.usWinDescent=r.parseUShort(),n.version>=1&&(n.ulCodePageRange1=r.parseULong(),n.ulCodePageRange2=r.parseULong()),n.version>=2&&(n.sxHeight=r.parseShort(),n.sCapHeight=r.parseShort(),n.usDefaultChar=r.parseUShort(),n.usBreakChar=r.parseUShort(),n.usMaxContent=r.parseUShort()),n}function $S(e){return new tt.Table("OS/2",[{name:"version",type:"USHORT",value:3},{name:"xAvgCharWidth",type:"SHORT",value:0},{name:"usWeightClass",type:"USHORT",value:0},{name:"usWidthClass",type:"USHORT",value:0},{name:"fsType",type:"USHORT",value:0},{name:"ySubscriptXSize",type:"SHORT",value:650},{name:"ySubscriptYSize",type:"SHORT",value:699},{name:"ySubscriptXOffset",type:"SHORT",value:0},{name:"ySubscriptYOffset",type:"SHORT",value:140},{name:"ySuperscriptXSize",type:"SHORT",value:650},{name:"ySuperscriptYSize",type:"SHORT",value:699},{name:"ySuperscriptXOffset",type:"SHORT",value:0},{name:"ySuperscriptYOffset",type:"SHORT",value:479},{name:"yStrikeoutSize",type:"SHORT",value:49},{name:"yStrikeoutPosition",type:"SHORT",value:258},{name:"sFamilyClass",type:"SHORT",value:0},{name:"bFamilyType",type:"BYTE",value:0},{name:"bSerifStyle",type:"BYTE",value:0},{name:"bWeight",type:"BYTE",value:0},{name:"bProportion",type:"BYTE",value:0},{name:"bContrast",type:"BYTE",value:0},{name:"bStrokeVariation",type:"BYTE",value:0},{name:"bArmStyle",type:"BYTE",value:0},{name:"bLetterform",type:"BYTE",value:0},{name:"bMidline",type:"BYTE",value:0},{name:"bXHeight",type:"BYTE",value:0},{name:"ulUnicodeRange1",type:"ULONG",value:0},{name:"ulUnicodeRange2",type:"ULONG",value:0},{name:"ulUnicodeRange3",type:"ULONG",value:0},{name:"ulUnicodeRange4",type:"ULONG",value:0},{name:"achVendID",type:"CHARARRAY",value:"XXXX"},{name:"fsSelection",type:"USHORT",value:0},{name:"usFirstCharIndex",type:"USHORT",value:0},{name:"usLastCharIndex",type:"USHORT",value:0},{name:"sTypoAscender",type:"SHORT",value:0},{name:"sTypoDescender",type:"SHORT",value:0},{name:"sTypoLineGap",type:"SHORT",value:0},{name:"usWinAscent",type:"USHORT",value:0},{name:"usWinDescent",type:"USHORT",value:0},{name:"ulCodePageRange1",type:"ULONG",value:0},{name:"ulCodePageRange2",type:"ULONG",value:0},{name:"sxHeight",type:"SHORT",value:0},{name:"sCapHeight",type:"SHORT",value:0},{name:"usDefaultChar",type:"USHORT",value:0},{name:"usBreakChar",type:"USHORT",value:0},{name:"usMaxContext",type:"USHORT",value:0}],e)}var Eh={parse:ZS,make:$S,unicodeRanges:vh,getUnicodeRange:qS};function tD(e,t){var n={},r=new nt.Parser(e,t);switch(n.version=r.parseVersion(),n.italicAngle=r.parseFixed(),n.underlinePosition=r.parseShort(),n.underlineThickness=r.parseShort(),n.isFixedPitch=r.parseULong(),n.minMemType42=r.parseULong(),n.maxMemType42=r.parseULong(),n.minMemType1=r.parseULong(),n.maxMemType1=r.parseULong(),n.version){case 1:n.names=Di.slice();break;case 2:n.numberOfGlyphs=r.parseUShort(),n.glyphNameIndex=new Array(n.numberOfGlyphs);for(var i=0;i<n.numberOfGlyphs;i++)n.glyphNameIndex[i]=r.parseUShort();n.names=[];for(var a=0;a<n.numberOfGlyphs;a++)if(n.glyphNameIndex[a]>=Di.length){var s=r.parseChar();n.names.push(r.parseString(s))}break;case 2.5:n.numberOfGlyphs=r.parseUShort(),n.offset=new Array(n.numberOfGlyphs);for(var o=0;o<n.numberOfGlyphs;o++)n.offset[o]=r.parseChar();break}return n}function eD(){return new tt.Table("post",[{name:"version",type:"FIXED",value:196608},{name:"italicAngle",type:"FIXED",value:0},{name:"underlinePosition",type:"FWORD",value:0},{name:"underlineThickness",type:"FWORD",value:0},{name:"isFixedPitch",type:"ULONG",value:0},{name:"minMemType42",type:"ULONG",value:0},{name:"maxMemType42",type:"ULONG",value:0},{name:"minMemType1",type:"ULONG",value:0},{name:"maxMemType1",type:"ULONG",value:0}])}var F1={parse:tD,make:eD},kn=new Array(9);kn[1]=function(){var e=this.offset+this.relativeOffset,t=this.parseUShort();if(t===1)return{substFormat:1,coverage:this.parsePointer(R.coverage),deltaGlyphId:this.parseUShort()};if(t===2)return{substFormat:2,coverage:this.parsePointer(R.coverage),substitute:this.parseOffset16List()};ht.assert(!1,"0x"+e.toString(16)+": lookup type 1 format must be 1 or 2.")},kn[2]=function(){var e=this.parseUShort();return ht.argument(e===1,"GSUB Multiple Substitution Subtable identifier-format must be 1"),{substFormat:e,coverage:this.parsePointer(R.coverage),sequences:this.parseListOfLists()}},kn[3]=function(){var e=this.parseUShort();return ht.argument(e===1,"GSUB Alternate Substitution Subtable identifier-format must be 1"),{substFormat:e,coverage:this.parsePointer(R.coverage),alternateSets:this.parseListOfLists()}},kn[4]=function(){var e=this.parseUShort();return ht.argument(e===1,"GSUB ligature table identifier-format must be 1"),{substFormat:e,coverage:this.parsePointer(R.coverage),ligatureSets:this.parseListOfLists(function(){return{ligGlyph:this.parseUShort(),components:this.parseUShortList(this.parseUShort()-1)}})}};var Da={sequenceIndex:R.uShort,lookupListIndex:R.uShort};kn[5]=function(){var e=this.offset+this.relativeOffset,t=this.parseUShort();if(t===1)return{substFormat:t,coverage:this.parsePointer(R.coverage),ruleSets:this.parseListOfLists(function(){var i=this.parseUShort(),a=this.parseUShort();return{input:this.parseUShortList(i-1),lookupRecords:this.parseRecordList(a,Da)}})};if(t===2)return{substFormat:t,coverage:this.parsePointer(R.coverage),classDef:this.parsePointer(R.classDef),classSets:this.parseListOfLists(function(){var i=this.parseUShort(),a=this.parseUShort();return{classes:this.parseUShortList(i-1),lookupRecords:this.parseRecordList(a,Da)}})};if(t===3){var n=this.parseUShort(),r=this.parseUShort();return{substFormat:t,coverages:this.parseList(n,R.pointer(R.coverage)),lookupRecords:this.parseRecordList(r,Da)}}ht.assert(!1,"0x"+e.toString(16)+": lookup type 5 format must be 1, 2 or 3.")},kn[6]=function(){var e=this.offset+this.relativeOffset,t=this.parseUShort();if(t===1)return{substFormat:1,coverage:this.parsePointer(R.coverage),chainRuleSets:this.parseListOfLists(function(){return{backtrack:this.parseUShortList(),input:this.parseUShortList(this.parseShort()-1),lookahead:this.parseUShortList(),lookupRecords:this.parseRecordList(Da)}})};if(t===2)return{substFormat:2,coverage:this.parsePointer(R.coverage),backtrackClassDef:this.parsePointer(R.classDef),inputClassDef:this.parsePointer(R.classDef),lookaheadClassDef:this.parsePointer(R.classDef),chainClassSet:this.parseListOfLists(function(){return{backtrack:this.parseUShortList(),input:this.parseUShortList(this.parseShort()-1),lookahead:this.parseUShortList(),lookupRecords:this.parseRecordList(Da)}})};if(t===3)return{substFormat:3,backtrackCoverage:this.parseList(R.pointer(R.coverage)),inputCoverage:this.parseList(R.pointer(R.coverage)),lookaheadCoverage:this.parseList(R.pointer(R.coverage)),lookupRecords:this.parseRecordList(Da)};ht.assert(!1,"0x"+e.toString(16)+": lookup type 6 format must be 1, 2 or 3.")},kn[7]=function(){var e=this.parseUShort();ht.argument(e===1,"GSUB Extension Substitution subtable identifier-format must be 1");var t=this.parseUShort(),n=new R(this.data,this.offset+this.parseULong());return{substFormat:1,lookupType:t,extension:kn[t].call(n)}},kn[8]=function(){var e=this.parseUShort();return ht.argument(e===1,"GSUB Reverse Chaining Contextual Single Substitution Subtable identifier-format must be 1"),{substFormat:e,coverage:this.parsePointer(R.coverage),backtrackCoverage:this.parseList(R.pointer(R.coverage)),lookaheadCoverage:this.parseList(R.pointer(R.coverage)),substitutes:this.parseUShortList()}};function nD(e,t){t=t||0;var n=new R(e,t),r=n.parseVersion(1);return ht.argument(r===1||r===1.1,"Unsupported GSUB table version."),r===1?{version:r,scripts:n.parseScriptList(),features:n.parseFeatureList(),lookups:n.parseLookupList(kn)}:{version:r,scripts:n.parseScriptList(),features:n.parseFeatureList(),lookups:n.parseLookupList(kn),variations:n.parseFeatureVariationsList()}}var Ia=new Array(9);Ia[1]=function(e){return e.substFormat===1?new tt.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new tt.Coverage(e.coverage)},{name:"deltaGlyphID",type:"USHORT",value:e.deltaGlyphId}]):new tt.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:2},{name:"coverage",type:"TABLE",value:new tt.Coverage(e.coverage)}].concat(tt.ushortList("substitute",e.substitute)))},Ia[2]=function(e){return ht.assert(e.substFormat===1,"Lookup type 2 substFormat must be 1."),new tt.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new tt.Coverage(e.coverage)}].concat(tt.tableList("seqSet",e.sequences,function(t){return new tt.Table("sequenceSetTable",tt.ushortList("sequence",t))})))},Ia[3]=function(e){return ht.assert(e.substFormat===1,"Lookup type 3 substFormat must be 1."),new tt.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new tt.Coverage(e.coverage)}].concat(tt.tableList("altSet",e.alternateSets,function(t){return new tt.Table("alternateSetTable",tt.ushortList("alternate",t))})))},Ia[4]=function(e){return ht.assert(e.substFormat===1,"Lookup type 4 substFormat must be 1."),new tt.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new tt.Coverage(e.coverage)}].concat(tt.tableList("ligSet",e.ligatureSets,function(t){return new tt.Table("ligatureSetTable",tt.tableList("ligature",t,function(n){return new tt.Table("ligatureTable",[{name:"ligGlyph",type:"USHORT",value:n.ligGlyph}].concat(tt.ushortList("component",n.components,n.components.length+1)))}))})))},Ia[6]=function(e){if(e.substFormat===1){var t=new tt.Table("chainContextTable",[{name:"substFormat",type:"USHORT",value:e.substFormat},{name:"coverage",type:"TABLE",value:new tt.Coverage(e.coverage)}].concat(tt.tableList("chainRuleSet",e.chainRuleSets,function(i){return new tt.Table("chainRuleSetTable",tt.tableList("chainRule",i,function(a){var s=tt.ushortList("backtrackGlyph",a.backtrack,a.backtrack.length).concat(tt.ushortList("inputGlyph",a.input,a.input.length+1)).concat(tt.ushortList("lookaheadGlyph",a.lookahead,a.lookahead.length)).concat(tt.ushortList("substitution",[],a.lookupRecords.length));return a.lookupRecords.forEach(function(o,c){s=s.concat({name:"sequenceIndex"+c,type:"USHORT",value:o.sequenceIndex}).concat({name:"lookupListIndex"+c,type:"USHORT",value:o.lookupListIndex})}),new tt.Table("chainRuleTable",s)}))})));return t}else if(e.substFormat===2)ht.assert(!1,"lookup type 6 format 2 is not yet supported.");else if(e.substFormat===3){var n=[{name:"substFormat",type:"USHORT",value:e.substFormat}];n.push({name:"backtrackGlyphCount",type:"USHORT",value:e.backtrackCoverage.length}),e.backtrackCoverage.forEach(function(i,a){n.push({name:"backtrackCoverage"+a,type:"TABLE",value:new tt.Coverage(i)})}),n.push({name:"inputGlyphCount",type:"USHORT",value:e.inputCoverage.length}),e.inputCoverage.forEach(function(i,a){n.push({name:"inputCoverage"+a,type:"TABLE",value:new tt.Coverage(i)})}),n.push({name:"lookaheadGlyphCount",type:"USHORT",value:e.lookaheadCoverage.length}),e.lookaheadCoverage.forEach(function(i,a){n.push({name:"lookaheadCoverage"+a,type:"TABLE",value:new tt.Coverage(i)})}),n.push({name:"substitutionCount",type:"USHORT",value:e.lookupRecords.length}),e.lookupRecords.forEach(function(i,a){n=n.concat({name:"sequenceIndex"+a,type:"USHORT",value:i.sequenceIndex}).concat({name:"lookupListIndex"+a,type:"USHORT",value:i.lookupListIndex})});var r=new tt.Table("chainContextTable",n);return r}ht.assert(!1,"lookup type 6 format must be 1, 2 or 3.")};function rD(e){return new tt.Table("GSUB",[{name:"version",type:"ULONG",value:65536},{name:"scripts",type:"TABLE",value:new tt.ScriptList(e.scripts)},{name:"features",type:"TABLE",value:new tt.FeatureList(e.features)},{name:"lookups",type:"TABLE",value:new tt.LookupList(e.lookups,Ia)}])}var Q1={parse:nD,make:rD};function iD(e,t){var n=new nt.Parser(e,t),r=n.parseULong();ht.argument(r===1,"Unsupported META table version."),n.parseULong(),n.parseULong();for(var i=n.parseULong(),a={},s=0;s<i;s++){var o=n.parseTag(),c=n.parseULong(),l=n.parseULong(),u=Sa.UTF8(e,t+c,l);a[o]=u}return a}function aD(e){var t=Object.keys(e).length,n="",r=16+t*12,i=new tt.Table("meta",[{name:"version",type:"ULONG",value:1},{name:"flags",type:"ULONG",value:0},{name:"offset",type:"ULONG",value:r},{name:"numTags",type:"ULONG",value:t}]);for(var a in e){var s=n.length;n+=e[a],i.fields.push({name:"tag "+a,type:"TAG",value:a}),i.fields.push({name:"offset "+a,type:"ULONG",value:r+s}),i.fields.push({name:"length "+a,type:"ULONG",value:e[a].length})}return i.fields.push({name:"stringPool",type:"CHARARRAY",value:n}),i}var M1={parse:iD,make:aD};function T1(e){return Math.log(e)/Math.log(2)|0}function Bh(e){for(;e.length%4!==0;)e.push(0);for(var t=0,n=0;n<e.length;n+=4)t+=(e[n]<<24)+(e[n+1]<<16)+(e[n+2]<<8)+e[n+3];return t%=Math.pow(2,32),t}function N1(e,t,n,r){return new tt.Record("Table Record",[{name:"tag",type:"TAG",value:e!==void 0?e:""},{name:"checkSum",type:"ULONG",value:t!==void 0?t:0},{name:"offset",type:"ULONG",value:n!==void 0?n:0},{name:"length",type:"ULONG",value:r!==void 0?r:0}])}function P1(e){var t=new tt.Table("sfnt",[{name:"version",type:"TAG",value:"OTTO"},{name:"numTables",type:"USHORT",value:0},{name:"searchRange",type:"USHORT",value:0},{name:"entrySelector",type:"USHORT",value:0},{name:"rangeShift",type:"USHORT",value:0}]);t.tables=e,t.numTables=e.length;var n=Math.pow(2,T1(t.numTables));t.searchRange=16*n,t.entrySelector=T1(n),t.rangeShift=t.numTables*16-t.searchRange;for(var r=[],i=[],a=t.sizeOf()+N1().sizeOf()*t.numTables;a%4!==0;)a+=1,i.push({name:"padding",type:"BYTE",value:0});for(var s=0;s<e.length;s+=1){var o=e[s];ht.argument(o.tableName.length===4,"Table name"+o.tableName+" is invalid.");var c=o.sizeOf(),l=N1(o.tableName,Bh(o.encode()),a,c);for(r.push({name:l.tag+" Table Record",type:"RECORD",value:l}),i.push({name:o.tableName+" table",type:"RECORD",value:o}),a+=c,ht.argument(!isNaN(a),"Something went wrong calculating the offset.");a%4!==0;)a+=1,i.push({name:"padding",type:"BYTE",value:0})}return r.sort(function(u,A){return u.value.tag>A.value.tag?1:-1}),t.fields=t.fields.concat(r),t.fields=t.fields.concat(i),t}function k1(e,t,n){for(var r=0;r<t.length;r+=1){var i=e.charToGlyphIndex(t[r]);if(i>0){var a=e.glyphs.get(i);return a.getMetrics()}}return n}function sD(e){for(var t=0,n=0;n<e.length;n+=1)t+=e[n];return t/e.length}function oD(e){for(var t=[],n=[],r=[],i=[],a=[],s=[],o=[],c,l=0,u=0,A=0,h=0,f=0,d=0;d<e.glyphs.length;d+=1){var p=e.glyphs.get(d),m=p.unicode|0;if(isNaN(p.advanceWidth))throw new Error("Glyph "+p.name+" ("+d+"): advanceWidth is not a number.");(c>m||c===void 0)&&m>0&&(c=m),l<m&&(l=m);var y=Eh.getUnicodeRange(m);if(y<32)u|=1<<y;else if(y<64)A|=1<<y-32;else if(y<96)h|=1<<y-64;else if(y<123)f|=1<<y-96;else throw new Error("Unicode ranges bits > 123 are reserved for internal usage");if(p.name!==".notdef"){var v=p.getMetrics();t.push(v.xMin),n.push(v.yMin),r.push(v.xMax),i.push(v.yMax),s.push(v.leftSideBearing),o.push(v.rightSideBearing),a.push(p.advanceWidth)}}var w={xMin:Math.min.apply(null,t),yMin:Math.min.apply(null,n),xMax:Math.max.apply(null,r),yMax:Math.max.apply(null,i),advanceWidthMax:Math.max.apply(null,a),advanceWidthAvg:sD(a),minLeftSideBearing:Math.min.apply(null,s),maxLeftSideBearing:Math.max.apply(null,s),minRightSideBearing:Math.min.apply(null,o)};w.ascender=e.ascender,w.descender=e.descender;var B=m1.make({flags:3,unitsPerEm:e.unitsPerEm,xMin:w.xMin,yMin:w.yMin,xMax:w.xMax,yMax:w.yMax,lowestRecPPEM:3,createdTimestamp:e.createdTimestamp}),C=y1.make({ascender:w.ascender,descender:w.descender,advanceWidthMax:w.advanceWidthMax,minLeftSideBearing:w.minLeftSideBearing,minRightSideBearing:w.minRightSideBearing,xMaxExtent:w.maxLeftSideBearing+(w.xMax-w.xMin),numberOfHMetrics:e.glyphs.length}),x=E1.make(e.glyphs.length),b=Eh.make(Object.assign({xAvgCharWidth:Math.round(w.advanceWidthAvg),usFirstCharIndex:c,usLastCharIndex:l,ulUnicodeRange1:u,ulUnicodeRange2:A,ulUnicodeRange3:h,ulUnicodeRange4:f,sTypoAscender:w.ascender,sTypoDescender:w.descender,sTypoLineGap:0,usWinAscent:w.yMax,usWinDescent:Math.abs(w.yMin),ulCodePageRange1:1,sxHeight:k1(e,"xyvw",{yMax:Math.round(w.ascender/2)}).yMax,sCapHeight:k1(e,"HIKLEFJMNTZBDPRAGOQSUVWXY",w).yMax,usDefaultChar:e.hasChar(" ")?32:0,usBreakChar:e.hasChar(" ")?32:0},e.tables.os2)),D=w1.make(e.glyphs),T=e1.make(e.glyphs),P=e.getEnglishName("fontFamily"),L=e.getEnglishName("fontSubfamily"),U=P+" "+L,z=e.getEnglishName("postScriptName");z||(z=P.replace(/\s/g,"")+"-"+L);var J={};for(var W in e.names)J[W]=e.names[W];J.uniqueID||(J.uniqueID={en:e.getEnglishName("manufacturer")+":"+U}),J.postScriptName||(J.postScriptName={en:z}),J.preferredFamily||(J.preferredFamily=e.names.fontFamily),J.preferredSubfamily||(J.preferredSubfamily=e.names.fontSubfamily);var Z=[],ot=I1.make(J,Z),lt=Z.length>0?v1.make(Z):void 0,O=F1.make(),M=p1.make(e.glyphs,{version:e.getEnglishName("version"),fullName:U,familyName:P,weightName:L,postScriptName:z,unitsPerEm:e.unitsPerEm,fontBBox:[0,w.yMin,w.ascender,w.advanceWidthMax]}),V=e.metas&&Object.keys(e.metas).length>0?M1.make(e.metas):void 0,X=[B,C,x,b,ot,T,O,M,D];lt&&X.push(lt),e.tables.gsub&&X.push(Q1.make(e.tables.gsub)),V&&X.push(V);for(var st=P1(X),Mt=st.encode(),yt=Bh(Mt),Se=st.fields,hn=!1,Xt=0;Xt<Se.length;Xt+=1)if(Se[Xt].name==="head table"){Se[Xt].value.checkSumAdjustment=2981146554-yt,hn=!0;break}if(!hn)throw new Error("Could not find head table with checkSum to adjust.");return st}var cD={make:P1,fontToTable:oD,computeCheckSum:Bh};function Ch(e,t){for(var n=0,r=e.length-1;n<=r;){var i=n+r>>>1,a=e[i].tag;if(a===t)return i;a<t?n=i+1:r=i-1}return-n-1}function R1(e,t){for(var n=0,r=e.length-1;n<=r;){var i=n+r>>>1,a=e[i];if(a===t)return i;a<t?n=i+1:r=i-1}return-n-1}function O1(e,t){for(var n,r=0,i=e.length-1;r<=i;){var a=r+i>>>1;n=e[a];var s=n.start;if(s===t)return n;s<t?r=a+1:i=a-1}if(r>0)return n=e[r-1],t>n.end?0:n}function Gs(e,t){this.font=e,this.tableName=t}Gs.prototype={searchTag:Ch,binSearch:R1,getTable:function(e){var t=this.font.tables[this.tableName];return!t&&e&&(t=this.font.tables[this.tableName]=this.createDefaultTable()),t},getScriptNames:function(){var e=this.getTable();return e?e.scripts.map(function(t){return t.tag}):[]},getDefaultScriptName:function(){var e=this.getTable();if(e){for(var t=!1,n=0;n<e.scripts.length;n++){var r=e.scripts[n].tag;if(r==="DFLT")return r;r==="latn"&&(t=!0)}if(t)return"latn"}},getScriptTable:function(e,t){var n=this.getTable(t);if(n){e=e||"DFLT";var r=n.scripts,i=Ch(n.scripts,e);if(i>=0)return r[i].script;if(t){var a={tag:e,script:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}};return r.splice(-1-i,0,a),a.script}}},getLangSysTable:function(e,t,n){var r=this.getScriptTable(e,n);if(r){if(!t||t==="dflt"||t==="DFLT")return r.defaultLangSys;var i=Ch(r.langSysRecords,t);if(i>=0)return r.langSysRecords[i].langSys;if(n){var a={tag:t,langSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]}};return r.langSysRecords.splice(-1-i,0,a),a.langSys}}},getFeatureTable:function(e,t,n,r){var i=this.getLangSysTable(e,t,r);if(i){for(var a,s=i.featureIndexes,o=this.font.tables[this.tableName].features,c=0;c<s.length;c++)if(a=o[s[c]],a.tag===n)return a.feature;if(r){var l=o.length;return ht.assert(l===0||n>=o[l-1].tag,"Features must be added in alphabetical order."),a={tag:n,feature:{params:0,lookupListIndexes:[]}},o.push(a),s.push(l),a.feature}}},getLookupTables:function(e,t,n,r,i){var a=this.getFeatureTable(e,t,n,i),s=[];if(a){for(var o,c=a.lookupListIndexes,l=this.font.tables[this.tableName].lookups,u=0;u<c.length;u++)o=l[c[u]],o.lookupType===r&&s.push(o);if(s.length===0&&i){o={lookupType:r,lookupFlag:0,subtables:[],markFilteringSet:void 0};var A=l.length;return l.push(o),c.push(A),[o]}}return s},getGlyphClass:function(e,t){switch(e.format){case 1:return e.startGlyph<=t&&t<e.startGlyph+e.classes.length?e.classes[t-e.startGlyph]:0;case 2:var n=O1(e.ranges,t);return n?n.classId:0}},getCoverageIndex:function(e,t){switch(e.format){case 1:var n=R1(e.glyphs,t);return n>=0?n:-1;case 2:var r=O1(e.ranges,t);return r?r.index+t-r.start:-1}},expandCoverage:function(e){if(e.format===1)return e.glyphs;for(var t=[],n=e.ranges,r=0;r<n.length;r++)for(var i=n[r],a=i.start,s=i.end,o=a;o<=s;o++)t.push(o);return t}};function Vs(e){Gs.call(this,e,"gpos")}Vs.prototype=Gs.prototype,Vs.prototype.init=function(){var e=this.getDefaultScriptName();this.defaultKerningTables=this.getKerningTables(e)},Vs.prototype.getKerningValue=function(e,t,n){for(var r=0;r<e.length;r++)for(var i=e[r].subtables,a=0;a<i.length;a++){var s=i[a],o=this.getCoverageIndex(s.coverage,t);if(!(o<0))switch(s.posFormat){case 1:for(var c=s.pairSets[o],l=0;l<c.length;l++){var u=c[l];if(u.secondGlyph===n)return u.value1&&u.value1.xAdvance||0}break;case 2:var A=this.getGlyphClass(s.classDef1,t),h=this.getGlyphClass(s.classDef2,n),f=s.classRecords[A][h];return f.value1&&f.value1.xAdvance||0}}return 0},Vs.prototype.getKerningTables=function(e,t){if(this.font.tables.gpos)return this.getLookupTables(e,t,"kern",2)};function mn(e){Gs.call(this,e,"gsub")}function lD(e,t){var n=e.length;if(n!==t.length)return!1;for(var r=0;r<n;r++)if(e[r]!==t[r])return!1;return!0}function xh(e,t,n){for(var r=e.subtables,i=0;i<r.length;i++){var a=r[i];if(a.substFormat===t)return a}if(n)return r.push(n),n}mn.prototype=Gs.prototype,mn.prototype.createDefaultTable=function(){return{version:1,scripts:[{tag:"DFLT",script:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}}],features:[],lookups:[]}},mn.prototype.getSingle=function(e,t,n){for(var r=[],i=this.getLookupTables(t,n,e,1),a=0;a<i.length;a++)for(var s=i[a].subtables,o=0;o<s.length;o++){var c=s[o],l=this.expandCoverage(c.coverage),u=void 0;if(c.substFormat===1){var A=c.deltaGlyphId;for(u=0;u<l.length;u++){var h=l[u];r.push({sub:h,by:h+A})}}else{var f=c.substitute;for(u=0;u<l.length;u++)r.push({sub:l[u],by:f[u]})}}return r},mn.prototype.getMultiple=function(e,t,n){for(var r=[],i=this.getLookupTables(t,n,e,2),a=0;a<i.length;a++)for(var s=i[a].subtables,o=0;o<s.length;o++){var c=s[o],l=this.expandCoverage(c.coverage),u=void 0;for(u=0;u<l.length;u++){var A=l[u],h=c.sequences[u];r.push({sub:A,by:h})}}return r},mn.prototype.getAlternates=function(e,t,n){for(var r=[],i=this.getLookupTables(t,n,e,3),a=0;a<i.length;a++)for(var s=i[a].subtables,o=0;o<s.length;o++)for(var c=s[o],l=this.expandCoverage(c.coverage),u=c.alternateSets,A=0;A<l.length;A++)r.push({sub:l[A],by:u[A]});return r},mn.prototype.getLigatures=function(e,t,n){for(var r=[],i=this.getLookupTables(t,n,e,4),a=0;a<i.length;a++)for(var s=i[a].subtables,o=0;o<s.length;o++)for(var c=s[o],l=this.expandCoverage(c.coverage),u=c.ligatureSets,A=0;A<l.length;A++)for(var h=l[A],f=u[A],d=0;d<f.length;d++){var p=f[d];r.push({sub:[h].concat(p.components),by:p.ligGlyph})}return r},mn.prototype.addSingle=function(e,t,n,r){var i=this.getLookupTables(n,r,e,1,!0)[0],a=xh(i,2,{substFormat:2,coverage:{format:1,glyphs:[]},substitute:[]});ht.assert(a.coverage.format===1,"Single: unable to modify coverage table format "+a.coverage.format);var s=t.sub,o=this.binSearch(a.coverage.glyphs,s);o<0&&(o=-1-o,a.coverage.glyphs.splice(o,0,s),a.substitute.splice(o,0,0)),a.substitute[o]=t.by},mn.prototype.addMultiple=function(e,t,n,r){ht.assert(t.by instanceof Array&&t.by.length>1,'Multiple: "by" must be an array of two or more ids');var i=this.getLookupTables(n,r,e,2,!0)[0],a=xh(i,1,{substFormat:1,coverage:{format:1,glyphs:[]},sequences:[]});ht.assert(a.coverage.format===1,"Multiple: unable to modify coverage table format "+a.coverage.format);var s=t.sub,o=this.binSearch(a.coverage.glyphs,s);o<0&&(o=-1-o,a.coverage.glyphs.splice(o,0,s),a.sequences.splice(o,0,0)),a.sequences[o]=t.by},mn.prototype.addAlternate=function(e,t,n,r){var i=this.getLookupTables(n,r,e,3,!0)[0],a=xh(i,1,{substFormat:1,coverage:{format:1,glyphs:[]},alternateSets:[]});ht.assert(a.coverage.format===1,"Alternate: unable to modify coverage table format "+a.coverage.format);var s=t.sub,o=this.binSearch(a.coverage.glyphs,s);o<0&&(o=-1-o,a.coverage.glyphs.splice(o,0,s),a.alternateSets.splice(o,0,0)),a.alternateSets[o]=t.by},mn.prototype.addLigature=function(e,t,n,r){var i=this.getLookupTables(n,r,e,4,!0)[0],a=i.subtables[0];a||(a={substFormat:1,coverage:{format:1,glyphs:[]},ligatureSets:[]},i.subtables[0]=a),ht.assert(a.coverage.format===1,"Ligature: unable to modify coverage table format "+a.coverage.format);var s=t.sub[0],o=t.sub.slice(1),c={ligGlyph:t.by,components:o},l=this.binSearch(a.coverage.glyphs,s);if(l>=0){for(var u=a.ligatureSets[l],A=0;A<u.length;A++)if(lD(u[A].components,o))return;u.push(c)}else l=-1-l,a.coverage.glyphs.splice(l,0,s),a.ligatureSets.splice(l,0,[c])},mn.prototype.getFeature=function(e,t,n){if(/ss\d\d/.test(e))return this.getSingle(e,t,n);switch(e){case"aalt":case"salt":return this.getSingle(e,t,n).concat(this.getAlternates(e,t,n));case"dlig":case"liga":case"rlig":return this.getLigatures(e,t,n);case"ccmp":return this.getMultiple(e,t,n).concat(this.getLigatures(e,t,n));case"stch":return this.getMultiple(e,t,n)}},mn.prototype.add=function(e,t,n,r){if(/ss\d\d/.test(e))return this.addSingle(e,t,n,r);switch(e){case"aalt":case"salt":return typeof t.by=="number"?this.addSingle(e,t,n,r):this.addAlternate(e,t,n,r);case"dlig":case"liga":case"rlig":return this.addLigature(e,t,n,r);case"ccmp":return t.by instanceof Array?this.addMultiple(e,t,n,r):this.addLigature(e,t,n,r)}};function uD(){return typeof window<"u"}function U1(e){for(var t=new ArrayBuffer(e.length),n=new Uint8Array(t),r=0;r<e.length;++r)n[r]=e[r];return t}function AD(e){for(var t=new Buffer(e.byteLength),n=new Uint8Array(e),r=0;r<t.length;++r)t[r]=n[r];return t}function zs(e,t){if(!e)throw t}function L1(e,t,n,r,i){var a;return(t&r)>0?(a=e.parseByte(),t&i||(a=-a),a=n+a):(t&i)>0?a=n:a=n+e.parseShort(),a}function Y1(e,t,n){var r=new nt.Parser(t,n);e.numberOfContours=r.parseShort(),e._xMin=r.parseShort(),e._yMin=r.parseShort(),e._xMax=r.parseShort(),e._yMax=r.parseShort();var i,a;if(e.numberOfContours>0){for(var s=e.endPointIndices=[],o=0;o<e.numberOfContours;o+=1)s.push(r.parseUShort());e.instructionLength=r.parseUShort(),e.instructions=[];for(var c=0;c<e.instructionLength;c+=1)e.instructions.push(r.parseByte());var l=s[s.length-1]+1;i=[];for(var u=0;u<l;u+=1)if(a=r.parseByte(),i.push(a),(a&8)>0)for(var A=r.parseByte(),h=0;h<A;h+=1)i.push(a),u+=1;if(ht.argument(i.length===l,"Bad flags."),s.length>0){var f=[],d;if(l>0){for(var p=0;p<l;p+=1)a=i[p],d={},d.onCurve=!!(a&1),d.lastPointOfContour=s.indexOf(p)>=0,f.push(d);for(var m=0,y=0;y<l;y+=1)a=i[y],d=f[y],d.x=L1(r,a,m,2,16),m=d.x;for(var v=0,w=0;w<l;w+=1)a=i[w],d=f[w],d.y=L1(r,a,v,4,32),v=d.y}e.points=f}else e.points=[]}else if(e.numberOfContours===0)e.points=[];else{e.isComposite=!0,e.points=[],e.components=[];for(var B=!0;B;){i=r.parseUShort();var C={glyphIndex:r.parseUShort(),xScale:1,scale01:0,scale10:0,yScale:1,dx:0,dy:0};(i&1)>0?(i&2)>0?(C.dx=r.parseShort(),C.dy=r.parseShort()):C.matchedPoints=[r.parseUShort(),r.parseUShort()]:(i&2)>0?(C.dx=r.parseChar(),C.dy=r.parseChar()):C.matchedPoints=[r.parseByte(),r.parseByte()],(i&8)>0?C.xScale=C.yScale=r.parseF2Dot14():(i&64)>0?(C.xScale=r.parseF2Dot14(),C.yScale=r.parseF2Dot14()):(i&128)>0&&(C.xScale=r.parseF2Dot14(),C.scale01=r.parseF2Dot14(),C.scale10=r.parseF2Dot14(),C.yScale=r.parseF2Dot14()),e.components.push(C),B=!!(i&32)}if(i&256){e.instructionLength=r.parseUShort(),e.instructions=[];for(var x=0;x<e.instructionLength;x+=1)e.instructions.push(r.parseByte())}}}function bh(e,t){for(var n=[],r=0;r<e.length;r+=1){var i=e[r],a={x:t.xScale*i.x+t.scale01*i.y+t.dx,y:t.scale10*i.x+t.yScale*i.y+t.dy,onCurve:i.onCurve,lastPointOfContour:i.lastPointOfContour};n.push(a)}return n}function hD(e){for(var t=[],n=[],r=0;r<e.length;r+=1){var i=e[r];n.push(i),i.lastPointOfContour&&(t.push(n),n=[])}return ht.argument(n.length===0,"There are still points left in the current contour."),t}function H1(e){var t=new ye;if(!e)return t;for(var n=hD(e),r=0;r<n.length;++r){var i=n[r],a=null,s=i[i.length-1],o=i[0];if(s.onCurve)t.moveTo(s.x,s.y);else if(o.onCurve)t.moveTo(o.x,o.y);else{var c={x:(s.x+o.x)*.5,y:(s.y+o.y)*.5};t.moveTo(c.x,c.y)}for(var l=0;l<i.length;++l)if(a=s,s=o,o=i[(l+1)%i.length],s.onCurve)t.lineTo(s.x,s.y);else{var u=o;a.onCurve||((s.x+a.x)*.5,(s.y+a.y)*.5),o.onCurve||(u={x:(s.x+o.x)*.5,y:(s.y+o.y)*.5}),t.quadraticCurveTo(s.x,s.y,u.x,u.y)}t.closePath()}return t}function G1(e,t){if(t.isComposite)for(var n=0;n<t.components.length;n+=1){var r=t.components[n],i=e.get(r.glyphIndex);if(i.getPath(),i.points){var a=void 0;if(r.matchedPoints===void 0)a=bh(i.points,r);else{if(r.matchedPoints[0]>t.points.length-1||r.matchedPoints[1]>i.points.length-1)throw Error("Matched points out of range in "+t.name);var s=t.points[r.matchedPoints[0]],o=i.points[r.matchedPoints[1]],c={xScale:r.xScale,scale01:r.scale01,scale10:r.scale10,yScale:r.yScale,dx:0,dy:0};o=bh([o],c)[0],c.dx=s.x-o.x,c.dy=s.y-o.y,a=bh(i.points,c)}t.points=t.points.concat(a)}}return H1(t.points)}function fD(e,t,n,r){for(var i=new sr.GlyphSet(r),a=0;a<n.length-1;a+=1){var s=n[a],o=n[a+1];s!==o?i.push(a,sr.ttfGlyphLoader(r,a,Y1,e,t+s,G1)):i.push(a,sr.glyphLoader(r,a))}return i}function gD(e,t,n,r){var i=new sr.GlyphSet(r);return r._push=function(a){var s=n[a],o=n[a+1];s!==o?i.push(a,sr.ttfGlyphLoader(r,a,Y1,e,t+s,G1)):i.push(a,sr.glyphLoader(r,a))},i}function dD(e,t,n,r,i){return i.lowMemory?gD(e,t,n,r):fD(e,t,n,r)}var V1={getPath:H1,parse:dD},z1,Fi,J1,Sh;function j1(e){this.font=e,this.getCommands=function(t){return V1.getPath(t).commands},this._fpgmState=this._prepState=void 0,this._errorState=0}function pD(e){return e}function W1(e){return Math.sign(e)*Math.round(Math.abs(e))}function mD(e){return Math.sign(e)*Math.round(Math.abs(e*2))/2}function yD(e){return Math.sign(e)*(Math.round(Math.abs(e)+.5)-.5)}function wD(e){return Math.sign(e)*Math.ceil(Math.abs(e))}function vD(e){return Math.sign(e)*Math.floor(Math.abs(e))}var K1=function(e){var t=this.srPeriod,n=this.srPhase,r=this.srThreshold,i=1;return e<0&&(e=-e,i=-1),e+=r-n,e=Math.trunc(e/t)*t,e+=n,e<0?n*i:e*i},or={x:1,y:0,axis:"x",distance:function(e,t,n,r){return(n?e.xo:e.x)-(r?t.xo:t.x)},interpolate:function(e,t,n,r){var i,a,s,o,c,l,u;if(!r||r===this){if(i=e.xo-t.xo,a=e.xo-n.xo,c=t.x-t.xo,l=n.x-n.xo,s=Math.abs(i),o=Math.abs(a),u=s+o,u===0){e.x=e.xo+(c+l)/2;return}e.x=e.xo+(c*o+l*s)/u;return}if(i=r.distance(e,t,!0,!0),a=r.distance(e,n,!0,!0),c=r.distance(t,t,!1,!0),l=r.distance(n,n,!1,!0),s=Math.abs(i),o=Math.abs(a),u=s+o,u===0){or.setRelative(e,e,(c+l)/2,r,!0);return}or.setRelative(e,e,(c*o+l*s)/u,r,!0)},normalSlope:Number.NEGATIVE_INFINITY,setRelative:function(e,t,n,r,i){if(!r||r===this){e.x=(i?t.xo:t.x)+n;return}var a=i?t.xo:t.x,s=i?t.yo:t.y,o=a+n*r.x,c=s+n*r.y;e.x=o+(e.y-c)/r.normalSlope},slope:0,touch:function(e){e.xTouched=!0},touched:function(e){return e.xTouched},untouch:function(e){e.xTouched=!1}},yr={x:0,y:1,axis:"y",distance:function(e,t,n,r){return(n?e.yo:e.y)-(r?t.yo:t.y)},interpolate:function(e,t,n,r){var i,a,s,o,c,l,u;if(!r||r===this){if(i=e.yo-t.yo,a=e.yo-n.yo,c=t.y-t.yo,l=n.y-n.yo,s=Math.abs(i),o=Math.abs(a),u=s+o,u===0){e.y=e.yo+(c+l)/2;return}e.y=e.yo+(c*o+l*s)/u;return}if(i=r.distance(e,t,!0,!0),a=r.distance(e,n,!0,!0),c=r.distance(t,t,!1,!0),l=r.distance(n,n,!1,!0),s=Math.abs(i),o=Math.abs(a),u=s+o,u===0){yr.setRelative(e,e,(c+l)/2,r,!0);return}yr.setRelative(e,e,(c*o+l*s)/u,r,!0)},normalSlope:0,setRelative:function(e,t,n,r,i){if(!r||r===this){e.y=(i?t.yo:t.y)+n;return}var a=i?t.xo:t.x,s=i?t.yo:t.y,o=a+n*r.x,c=s+n*r.y;e.y=c+r.normalSlope*(e.x-o)},slope:Number.POSITIVE_INFINITY,touch:function(e){e.yTouched=!0},touched:function(e){return e.yTouched},untouch:function(e){e.yTouched=!1}};Object.freeze(or),Object.freeze(yr);function Js(e,t){this.x=e,this.y=t,this.axis=void 0,this.slope=t/e,this.normalSlope=-e/t,Object.freeze(this)}Js.prototype.distance=function(e,t,n,r){return this.x*or.distance(e,t,n,r)+this.y*yr.distance(e,t,n,r)},Js.prototype.interpolate=function(e,t,n,r){var i,a,s,o,c,l,u;if(s=r.distance(e,t,!0,!0),o=r.distance(e,n,!0,!0),i=r.distance(t,t,!1,!0),a=r.distance(n,n,!1,!0),c=Math.abs(s),l=Math.abs(o),u=c+l,u===0){this.setRelative(e,e,(i+a)/2,r,!0);return}this.setRelative(e,e,(i*l+a*c)/u,r,!0)},Js.prototype.setRelative=function(e,t,n,r,i){r=r||this;var a=i?t.xo:t.x,s=i?t.yo:t.y,o=a+n*r.x,c=s+n*r.y,l=r.normalSlope,u=this.slope,A=e.x,h=e.y;e.x=(u*A-l*o+c-h)/(u-l),e.y=u*(e.x-A)+h},Js.prototype.touch=function(e){e.xTouched=!0,e.yTouched=!0};function js(e,t){var n=Math.sqrt(e*e+t*t);return e/=n,t/=n,e===1&&t===0?or:e===0&&t===1?yr:new Js(e,t)}function wr(e,t,n,r){this.x=this.xo=Math.round(e*64)/64,this.y=this.yo=Math.round(t*64)/64,this.lastPointOfContour=n,this.onCurve=r,this.prevPointOnContour=void 0,this.nextPointOnContour=void 0,this.xTouched=!1,this.yTouched=!1,Object.preventExtensions(this)}wr.prototype.nextTouched=function(e){for(var t=this.nextPointOnContour;!e.touched(t)&&t!==this;)t=t.nextPointOnContour;return t},wr.prototype.prevTouched=function(e){for(var t=this.prevPointOnContour;!e.touched(t)&&t!==this;)t=t.prevPointOnContour;return t};var Ws=Object.freeze(new wr(0,0)),ED={cvCutIn:17/16,deltaBase:9,deltaShift:.125,loop:1,minDis:1,autoFlip:!0};function Xr(e,t){switch(this.env=e,this.stack=[],this.prog=t,e){case"glyf":this.zp0=this.zp1=this.zp2=1,this.rp0=this.rp1=this.rp2=0;case"prep":this.fv=this.pv=this.dpv=or,this.round=W1}}j1.prototype.exec=function(e,t){if(typeof t!="number")throw new Error("Point size is not a number!");if(!(this._errorState>2)){var n=this.font,r=this._prepState;if(!r||r.ppem!==t){var i=this._fpgmState;if(!i){Xr.prototype=ED,i=this._fpgmState=new Xr("fpgm",n.tables.fpgm),i.funcs=[],i.font=n,I.DEBUG&&(console.log("---EXEC FPGM---"),i.step=-1);try{Fi(i)}catch(l){console.log("Hinting error in FPGM:"+l),this._errorState=3;return}}Xr.prototype=i,r=this._prepState=new Xr("prep",n.tables.prep),r.ppem=t;var a=n.tables.cvt;if(a)for(var s=r.cvt=new Array(a.length),o=t/n.unitsPerEm,c=0;c<a.length;c++)s[c]=a[c]*o;else r.cvt=[];I.DEBUG&&(console.log("---EXEC PREP---"),r.step=-1);try{Fi(r)}catch(l){this._errorState<2&&console.log("Hinting error in PREP:"+l),this._errorState=2}}if(!(this._errorState>1))try{return J1(e,r)}catch(l){this._errorState<1&&(console.log("Hinting error:"+l),console.log("Note: further hinting errors are silenced")),this._errorState=1;return}}},J1=function(e,t){var n=t.ppem/t.font.unitsPerEm,r=n,i=e.components,a,s,o;if(Xr.prototype=t,!i)o=new Xr("glyf",e.instructions),I.DEBUG&&(console.log("---EXEC GLYPH---"),o.step=-1),Sh(e,o,n,r),s=o.gZone;else{var c=t.font;s=[],a=[];for(var l=0;l<i.length;l++){var u=i[l],A=c.glyphs.get(u.glyphIndex);o=new Xr("glyf",A.instructions),I.DEBUG&&(console.log("---EXEC COMP "+l+"---"),o.step=-1),Sh(A,o,n,r);for(var h=Math.round(u.dx*n),f=Math.round(u.dy*r),d=o.gZone,p=o.contours,m=0;m<d.length;m++){var y=d[m];y.xTouched=y.yTouched=!1,y.xo=y.x=y.x+h,y.yo=y.y=y.y+f}var v=s.length;s.push.apply(s,d);for(var w=0;w<p.length;w++)a.push(p[w]+v)}e.instructions&&!o.inhibitGridFit&&(o=new Xr("glyf",e.instructions),o.gZone=o.z0=o.z1=o.z2=s,o.contours=a,s.push(new wr(0,0),new wr(Math.round(e.advanceWidth*n),0)),I.DEBUG&&(console.log("---EXEC COMPOSITE---"),o.step=-1),Fi(o),s.length-=2)}return s},Sh=function(e,t,n,r){for(var i=e.points||[],a=i.length,s=t.gZone=t.z0=t.z1=t.z2=[],o=t.contours=[],c,l=0;l<a;l++)c=i[l],s[l]=new wr(c.x*n,c.y*r,c.lastPointOfContour,c.onCurve);for(var u,A,h=0;h<a;h++)c=s[h],u||(u=c,o.push(h)),c.lastPointOfContour?(c.nextPointOnContour=u,u.prevPointOnContour=c,u=void 0):(A=s[h+1],c.nextPointOnContour=A,A.prevPointOnContour=c);if(!t.inhibitGridFit){if(I.DEBUG){console.log("PROCESSING GLYPH",t.stack);for(var f=0;f<a;f++)console.log(f,s[f].x,s[f].y)}if(s.push(new wr(0,0),new wr(Math.round(e.advanceWidth*n),0)),Fi(t),s.length-=2,I.DEBUG){console.log("FINISHED GLYPH",t.stack);for(var d=0;d<a;d++)console.log(d,s[d].x,s[d].y)}}},Fi=function(e){var t=e.prog;if(t){var n=t.length,r;for(e.ip=0;e.ip<n;e.ip++){if(I.DEBUG&&e.step++,r=z1[t[e.ip]],!r)throw new Error("unknown instruction: 0x"+Number(t[e.ip]).toString(16));r(e)}}};function xl(e){for(var t=e.tZone=new Array(e.gZone.length),n=0;n<t.length;n++)t[n]=new wr(0,0)}function X1(e,t){var n=e.prog,r=e.ip,i=1,a;do if(a=n[++r],a===88)i++;else if(a===89)i--;else if(a===64)r+=n[r+1]+1;else if(a===65)r+=2*n[r+1]+1;else if(a>=176&&a<=183)r+=a-176+1;else if(a>=184&&a<=191)r+=(a-184+1)*2;else if(t&&i===1&&a===27)break;while(i>0);e.ip=r}function _1(e,t){I.DEBUG&&console.log(t.step,"SVTCA["+e.axis+"]"),t.fv=t.pv=t.dpv=e}function q1(e,t){I.DEBUG&&console.log(t.step,"SPVTCA["+e.axis+"]"),t.pv=t.dpv=e}function Z1(e,t){I.DEBUG&&console.log(t.step,"SFVTCA["+e.axis+"]"),t.fv=e}function $1(e,t){var n=t.stack,r=n.pop(),i=n.pop(),a=t.z2[r],s=t.z1[i];I.DEBUG&&console.log("SPVTL["+e+"]",r,i);var o,c;e?(o=a.y-s.y,c=s.x-a.x):(o=s.x-a.x,c=s.y-a.y),t.pv=t.dpv=js(o,c)}function tm(e,t){var n=t.stack,r=n.pop(),i=n.pop(),a=t.z2[r],s=t.z1[i];I.DEBUG&&console.log("SFVTL["+e+"]",r,i);var o,c;e?(o=a.y-s.y,c=s.x-a.x):(o=s.x-a.x,c=s.y-a.y),t.fv=js(o,c)}function BD(e){var t=e.stack,n=t.pop(),r=t.pop();I.DEBUG&&console.log(e.step,"SPVFS[]",n,r),e.pv=e.dpv=js(r,n)}function CD(e){var t=e.stack,n=t.pop(),r=t.pop();I.DEBUG&&console.log(e.step,"SPVFS[]",n,r),e.fv=js(r,n)}function xD(e){var t=e.stack,n=e.pv;I.DEBUG&&console.log(e.step,"GPV[]"),t.push(n.x*16384),t.push(n.y*16384)}function bD(e){var t=e.stack,n=e.fv;I.DEBUG&&console.log(e.step,"GFV[]"),t.push(n.x*16384),t.push(n.y*16384)}function SD(e){e.fv=e.pv,I.DEBUG&&console.log(e.step,"SFVTPV[]")}function DD(e){var t=e.stack,n=t.pop(),r=t.pop(),i=t.pop(),a=t.pop(),s=t.pop(),o=e.z0,c=e.z1,l=o[n],u=o[r],A=c[i],h=c[a],f=e.z2[s];I.DEBUG&&console.log("ISECT[], ",n,r,i,a,s);var d=l.x,p=l.y,m=u.x,y=u.y,v=A.x,w=A.y,B=h.x,C=h.y,x=(d-m)*(w-C)-(p-y)*(v-B),b=d*y-p*m,D=v*C-w*B;f.x=(b*(v-B)-D*(d-m))/x,f.y=(b*(w-C)-D*(p-y))/x}function ID(e){e.rp0=e.stack.pop(),I.DEBUG&&console.log(e.step,"SRP0[]",e.rp0)}function FD(e){e.rp1=e.stack.pop(),I.DEBUG&&console.log(e.step,"SRP1[]",e.rp1)}function QD(e){e.rp2=e.stack.pop(),I.DEBUG&&console.log(e.step,"SRP2[]",e.rp2)}function MD(e){var t=e.stack.pop();switch(I.DEBUG&&console.log(e.step,"SZP0[]",t),e.zp0=t,t){case 0:e.tZone||xl(e),e.z0=e.tZone;break;case 1:e.z0=e.gZone;break;default:throw new Error("Invalid zone pointer")}}function TD(e){var t=e.stack.pop();switch(I.DEBUG&&console.log(e.step,"SZP1[]",t),e.zp1=t,t){case 0:e.tZone||xl(e),e.z1=e.tZone;break;case 1:e.z1=e.gZone;break;default:throw new Error("Invalid zone pointer")}}function ND(e){var t=e.stack.pop();switch(I.DEBUG&&console.log(e.step,"SZP2[]",t),e.zp2=t,t){case 0:e.tZone||xl(e),e.z2=e.tZone;break;case 1:e.z2=e.gZone;break;default:throw new Error("Invalid zone pointer")}}function PD(e){var t=e.stack.pop();switch(I.DEBUG&&console.log(e.step,"SZPS[]",t),e.zp0=e.zp1=e.zp2=t,t){case 0:e.tZone||xl(e),e.z0=e.z1=e.z2=e.tZone;break;case 1:e.z0=e.z1=e.z2=e.gZone;break;default:throw new Error("Invalid zone pointer")}}function kD(e){e.loop=e.stack.pop(),I.DEBUG&&console.log(e.step,"SLOOP[]",e.loop)}function RD(e){I.DEBUG&&console.log(e.step,"RTG[]"),e.round=W1}function OD(e){I.DEBUG&&console.log(e.step,"RTHG[]"),e.round=yD}function UD(e){var t=e.stack.pop();I.DEBUG&&console.log(e.step,"SMD[]",t),e.minDis=t/64}function LD(e){I.DEBUG&&console.log(e.step,"ELSE[]"),X1(e,!1)}function YD(e){var t=e.stack.pop();I.DEBUG&&console.log(e.step,"JMPR[]",t),e.ip+=t-1}function HD(e){var t=e.stack.pop();I.DEBUG&&console.log(e.step,"SCVTCI[]",t),e.cvCutIn=t/64}function GD(e){var t=e.stack;I.DEBUG&&console.log(e.step,"DUP[]"),t.push(t[t.length-1])}function Dh(e){I.DEBUG&&console.log(e.step,"POP[]"),e.stack.pop()}function VD(e){I.DEBUG&&console.log(e.step,"CLEAR[]"),e.stack.length=0}function zD(e){var t=e.stack,n=t.pop(),r=t.pop();I.DEBUG&&console.log(e.step,"SWAP[]"),t.push(n),t.push(r)}function JD(e){var t=e.stack;I.DEBUG&&console.log(e.step,"DEPTH[]"),t.push(t.length)}function jD(e){var t=e.stack,n=t.pop(),r=t.pop();I.DEBUG&&console.log(e.step,"LOOPCALL[]",n,r);var i=e.ip,a=e.prog;e.prog=e.funcs[n];for(var s=0;s<r;s++)Fi(e),I.DEBUG&&console.log(++e.step,s+1<r?"next loopcall":"done loopcall",s);e.ip=i,e.prog=a}function WD(e){var t=e.stack.pop();I.DEBUG&&console.log(e.step,"CALL[]",t);var n=e.ip,r=e.prog;e.prog=e.funcs[t],Fi(e),e.ip=n,e.prog=r,I.DEBUG&&console.log(++e.step,"returning from",t)}function KD(e){var t=e.stack,n=t.pop();I.DEBUG&&console.log(e.step,"CINDEX[]",n),t.push(t[t.length-n])}function XD(e){var t=e.stack,n=t.pop();I.DEBUG&&console.log(e.step,"MINDEX[]",n),t.push(t.splice(t.length-n,1)[0])}function _D(e){if(e.env!=="fpgm")throw new Error("FDEF not allowed here");var t=e.stack,n=e.prog,r=e.ip,i=t.pop(),a=r;for(I.DEBUG&&console.log(e.step,"FDEF[]",i);n[++r]!==45;);e.ip=r,e.funcs[i]=n.slice(a+1,r)}function em(e,t){var n=t.stack.pop(),r=t.z0[n],i=t.fv,a=t.pv;I.DEBUG&&console.log(t.step,"MDAP["+e+"]",n);var s=a.distance(r,Ws);e&&(s=t.round(s)),i.setRelative(r,Ws,s,a),i.touch(r),t.rp0=t.rp1=n}function nm(e,t){var n=t.z2,r=n.length-2,i,a,s;I.DEBUG&&console.log(t.step,"IUP["+e.axis+"]");for(var o=0;o<r;o++)i=n[o],!e.touched(i)&&(a=i.prevTouched(e),a!==i&&(s=i.nextTouched(e),a===s&&e.setRelative(i,i,e.distance(a,a,!1,!0),e,!0),e.interpolate(i,a,s,e)))}function rm(e,t){for(var n=t.stack,r=e?t.rp1:t.rp2,i=(e?t.z0:t.z1)[r],a=t.fv,s=t.pv,o=t.loop,c=t.z2;o--;){var l=n.pop(),u=c[l],A=s.distance(i,i,!1,!0);a.setRelative(u,u,A,s),a.touch(u),I.DEBUG&&console.log(t.step,(t.loop>1?"loop "+(t.loop-o)+": ":"")+"SHP["+(e?"rp1":"rp2")+"]",l)}t.loop=1}function im(e,t){var n=t.stack,r=e?t.rp1:t.rp2,i=(e?t.z0:t.z1)[r],a=t.fv,s=t.pv,o=n.pop(),c=t.z2[t.contours[o]],l=c;I.DEBUG&&console.log(t.step,"SHC["+e+"]",o);var u=s.distance(i,i,!1,!0);do l!==i&&a.setRelative(l,l,u,s),l=l.nextPointOnContour;while(l!==c)}function am(e,t){var n=t.stack,r=e?t.rp1:t.rp2,i=(e?t.z0:t.z1)[r],a=t.fv,s=t.pv,o=n.pop();I.DEBUG&&console.log(t.step,"SHZ["+e+"]",o);var c;switch(o){case 0:c=t.tZone;break;case 1:c=t.gZone;break;default:throw new Error("Invalid zone")}for(var l,u=s.distance(i,i,!1,!0),A=c.length-2,h=0;h<A;h++)l=c[h],a.setRelative(l,l,u,s)}function qD(e){for(var t=e.stack,n=e.loop,r=e.fv,i=t.pop()/64,a=e.z2;n--;){var s=t.pop(),o=a[s];I.DEBUG&&console.log(e.step,(e.loop>1?"loop "+(e.loop-n)+": ":"")+"SHPIX[]",s,i),r.setRelative(o,o,i),r.touch(o)}e.loop=1}function ZD(e){for(var t=e.stack,n=e.rp1,r=e.rp2,i=e.loop,a=e.z0[n],s=e.z1[r],o=e.fv,c=e.dpv,l=e.z2;i--;){var u=t.pop(),A=l[u];I.DEBUG&&console.log(e.step,(e.loop>1?"loop "+(e.loop-i)+": ":"")+"IP[]",u,n,"<->",r),o.interpolate(A,a,s,c),o.touch(A)}e.loop=1}function sm(e,t){var n=t.stack,r=n.pop()/64,i=n.pop(),a=t.z1[i],s=t.z0[t.rp0],o=t.fv,c=t.pv;o.setRelative(a,s,r,c),o.touch(a),I.DEBUG&&console.log(t.step,"MSIRP["+e+"]",r,i),t.rp1=t.rp0,t.rp2=i,e&&(t.rp0=i)}function $D(e){for(var t=e.stack,n=e.rp0,r=e.z0[n],i=e.loop,a=e.fv,s=e.pv,o=e.z1;i--;){var c=t.pop(),l=o[c];I.DEBUG&&console.log(e.step,(e.loop>1?"loop "+(e.loop-i)+": ":"")+"ALIGNRP[]",c),a.setRelative(l,r,0,s),a.touch(l)}e.loop=1}function t4(e){I.DEBUG&&console.log(e.step,"RTDG[]"),e.round=mD}function om(e,t){var n=t.stack,r=n.pop(),i=n.pop(),a=t.z0[i],s=t.fv,o=t.pv,c=t.cvt[r];I.DEBUG&&console.log(t.step,"MIAP["+e+"]",r,"(",c,")",i);var l=o.distance(a,Ws);e&&(Math.abs(l-c)<t.cvCutIn&&(l=c),l=t.round(l)),s.setRelative(a,Ws,l,o),t.zp0===0&&(a.xo=a.x,a.yo=a.y),s.touch(a),t.rp0=t.rp1=i}function e4(e){var t=e.prog,n=e.ip,r=e.stack,i=t[++n];I.DEBUG&&console.log(e.step,"NPUSHB[]",i);for(var a=0;a<i;a++)r.push(t[++n]);e.ip=n}function n4(e){var t=e.ip,n=e.prog,r=e.stack,i=n[++t];I.DEBUG&&console.log(e.step,"NPUSHW[]",i);for(var a=0;a<i;a++){var s=n[++t]<<8|n[++t];s&32768&&(s=-((s^65535)+1)),r.push(s)}e.ip=t}function r4(e){var t=e.stack,n=e.store;n||(n=e.store=[]);var r=t.pop(),i=t.pop();I.DEBUG&&console.log(e.step,"WS",r,i),n[i]=r}function i4(e){var t=e.stack,n=e.store,r=t.pop();I.DEBUG&&console.log(e.step,"RS",r);var i=n&&n[r]||0;t.push(i)}function a4(e){var t=e.stack,n=t.pop(),r=t.pop();I.DEBUG&&console.log(e.step,"WCVTP",n,r),e.cvt[r]=n/64}function s4(e){var t=e.stack,n=t.pop();I.DEBUG&&console.log(e.step,"RCVT",n),t.push(e.cvt[n]*64)}function cm(e,t){var n=t.stack,r=n.pop(),i=t.z2[r];I.DEBUG&&console.log(t.step,"GC["+e+"]",r),n.push(t.dpv.distance(i,Ws,e,!1)*64)}function lm(e,t){var n=t.stack,r=n.pop(),i=n.pop(),a=t.z1[r],s=t.z0[i],o=t.dpv.distance(s,a,e,e);I.DEBUG&&console.log(t.step,"MD["+e+"]",r,i,"->",o),t.stack.push(Math.round(o*64))}function o4(e){I.DEBUG&&console.log(e.step,"MPPEM[]"),e.stack.push(e.ppem)}function c4(e){I.DEBUG&&console.log(e.step,"FLIPON[]"),e.autoFlip=!0}function l4(e){var t=e.stack,n=t.pop(),r=t.pop();I.DEBUG&&console.log(e.step,"LT[]",n,r),t.push(r<n?1:0)}function u4(e){var t=e.stack,n=t.pop(),r=t.pop();I.DEBUG&&console.log(e.step,"LTEQ[]",n,r),t.push(r<=n?1:0)}function A4(e){var t=e.stack,n=t.pop(),r=t.pop();I.DEBUG&&console.log(e.step,"GT[]",n,r),t.push(r>n?1:0)}function h4(e){var t=e.stack,n=t.pop(),r=t.pop();I.DEBUG&&console.log(e.step,"GTEQ[]",n,r),t.push(r>=n?1:0)}function f4(e){var t=e.stack,n=t.pop(),r=t.pop();I.DEBUG&&console.log(e.step,"EQ[]",n,r),t.push(n===r?1:0)}function g4(e){var t=e.stack,n=t.pop(),r=t.pop();I.DEBUG&&console.log(e.step,"NEQ[]",n,r),t.push(n!==r?1:0)}function d4(e){var t=e.stack,n=t.pop();I.DEBUG&&console.log(e.step,"ODD[]",n),t.push(Math.trunc(n)%2?1:0)}function p4(e){var t=e.stack,n=t.pop();I.DEBUG&&console.log(e.step,"EVEN[]",n),t.push(Math.trunc(n)%2?0:1)}function m4(e){var t=e.stack.pop();I.DEBUG&&console.log(e.step,"IF[]",t),t||(X1(e,!0),I.DEBUG&&console.log(e.step,"EIF[]"))}function y4(e){I.DEBUG&&console.log(e.step,"EIF[]")}function w4(e){var t=e.stack,n=t.pop(),r=t.pop();I.DEBUG&&console.log(e.step,"AND[]",n,r),t.push(n&&r?1:0)}function v4(e){var t=e.stack,n=t.pop(),r=t.pop();I.DEBUG&&console.log(e.step,"OR[]",n,r),t.push(n||r?1:0)}function E4(e){var t=e.stack,n=t.pop();I.DEBUG&&console.log(e.step,"NOT[]",n),t.push(n?0:1)}function Ih(e,t){var n=t.stack,r=n.pop(),i=t.fv,a=t.pv,s=t.ppem,o=t.deltaBase+(e-1)*16,c=t.deltaShift,l=t.z0;I.DEBUG&&console.log(t.step,"DELTAP["+e+"]",r,n);for(var u=0;u<r;u++){var A=n.pop(),h=n.pop(),f=o+((h&240)>>4);if(f===s){var d=(h&15)-8;d>=0&&d++,I.DEBUG&&console.log(t.step,"DELTAPFIX",A,"by",d*c);var p=l[A];i.setRelative(p,p,d*c,a)}}}function B4(e){var t=e.stack,n=t.pop();I.DEBUG&&console.log(e.step,"SDB[]",n),e.deltaBase=n}function C4(e){var t=e.stack,n=t.pop();I.DEBUG&&console.log(e.step,"SDS[]",n),e.deltaShift=Math.pow(.5,n)}function x4(e){var t=e.stack,n=t.pop(),r=t.pop();I.DEBUG&&console.log(e.step,"ADD[]",n,r),t.push(r+n)}function b4(e){var t=e.stack,n=t.pop(),r=t.pop();I.DEBUG&&console.log(e.step,"SUB[]",n,r),t.push(r-n)}function S4(e){var t=e.stack,n=t.pop(),r=t.pop();I.DEBUG&&console.log(e.step,"DIV[]",n,r),t.push(r*64/n)}function D4(e){var t=e.stack,n=t.pop(),r=t.pop();I.DEBUG&&console.log(e.step,"MUL[]",n,r),t.push(r*n/64)}function I4(e){var t=e.stack,n=t.pop();I.DEBUG&&console.log(e.step,"ABS[]",n),t.push(Math.abs(n))}function F4(e){var t=e.stack,n=t.pop();I.DEBUG&&console.log(e.step,"NEG[]",n),t.push(-n)}function Q4(e){var t=e.stack,n=t.pop();I.DEBUG&&console.log(e.step,"FLOOR[]",n),t.push(Math.floor(n/64)*64)}function M4(e){var t=e.stack,n=t.pop();I.DEBUG&&console.log(e.step,"CEILING[]",n),t.push(Math.ceil(n/64)*64)}function bl(e,t){var n=t.stack,r=n.pop();I.DEBUG&&console.log(t.step,"ROUND[]"),n.push(t.round(r/64)*64)}function T4(e){var t=e.stack,n=t.pop(),r=t.pop();I.DEBUG&&console.log(e.step,"WCVTF[]",n,r),e.cvt[r]=n*e.ppem/e.font.unitsPerEm}function Fh(e,t){var n=t.stack,r=n.pop(),i=t.ppem,a=t.deltaBase+(e-1)*16,s=t.deltaShift;I.DEBUG&&console.log(t.step,"DELTAC["+e+"]",r,n);for(var o=0;o<r;o++){var c=n.pop(),l=n.pop(),u=a+((l&240)>>4);if(u===i){var A=(l&15)-8;A>=0&&A++;var h=A*s;I.DEBUG&&console.log(t.step,"DELTACFIX",c,"by",h),t.cvt[c]+=h}}}function N4(e){var t=e.stack.pop();I.DEBUG&&console.log(e.step,"SROUND[]",t),e.round=K1;var n;switch(t&192){case 0:n=.5;break;case 64:n=1;break;case 128:n=2;break;default:throw new Error("invalid SROUND value")}switch(e.srPeriod=n,t&48){case 0:e.srPhase=0;break;case 16:e.srPhase=.25*n;break;case 32:e.srPhase=.5*n;break;case 48:e.srPhase=.75*n;break;default:throw new Error("invalid SROUND value")}t&=15,t===0?e.srThreshold=0:e.srThreshold=(t/8-.5)*n}function P4(e){var t=e.stack.pop();I.DEBUG&&console.log(e.step,"S45ROUND[]",t),e.round=K1;var n;switch(t&192){case 0:n=Math.sqrt(2)/2;break;case 64:n=Math.sqrt(2);break;case 128:n=2*Math.sqrt(2);break;default:throw new Error("invalid S45ROUND value")}switch(e.srPeriod=n,t&48){case 0:e.srPhase=0;break;case 16:e.srPhase=.25*n;break;case 32:e.srPhase=.5*n;break;case 48:e.srPhase=.75*n;break;default:throw new Error("invalid S45ROUND value")}t&=15,t===0?e.srThreshold=0:e.srThreshold=(t/8-.5)*n}function k4(e){I.DEBUG&&console.log(e.step,"ROFF[]"),e.round=pD}function R4(e){I.DEBUG&&console.log(e.step,"RUTG[]"),e.round=wD}function O4(e){I.DEBUG&&console.log(e.step,"RDTG[]"),e.round=vD}function U4(e){var t=e.stack.pop();I.DEBUG&&console.log(e.step,"SCANCTRL[]",t)}function um(e,t){var n=t.stack,r=n.pop(),i=n.pop(),a=t.z2[r],s=t.z1[i];I.DEBUG&&console.log(t.step,"SDPVTL["+e+"]",r,i);var o,c;e?(o=a.y-s.y,c=s.x-a.x):(o=s.x-a.x,c=s.y-a.y),t.dpv=js(o,c)}function L4(e){var t=e.stack,n=t.pop(),r=0;I.DEBUG&&console.log(e.step,"GETINFO[]",n),n&1&&(r=35),n&32&&(r|=4096),t.push(r)}function Y4(e){var t=e.stack,n=t.pop(),r=t.pop(),i=t.pop();I.DEBUG&&console.log(e.step,"ROLL[]"),t.push(r),t.push(n),t.push(i)}function H4(e){var t=e.stack,n=t.pop(),r=t.pop();I.DEBUG&&console.log(e.step,"MAX[]",n,r),t.push(Math.max(r,n))}function G4(e){var t=e.stack,n=t.pop(),r=t.pop();I.DEBUG&&console.log(e.step,"MIN[]",n,r),t.push(Math.min(r,n))}function V4(e){var t=e.stack.pop();I.DEBUG&&console.log(e.step,"SCANTYPE[]",t)}function z4(e){var t=e.stack.pop(),n=e.stack.pop();switch(I.DEBUG&&console.log(e.step,"INSTCTRL[]",t,n),t){case 1:e.inhibitGridFit=!!n;return;case 2:e.ignoreCvt=!!n;return;default:throw new Error("invalid INSTCTRL[] selector")}}function _r(e,t){var n=t.stack,r=t.prog,i=t.ip;I.DEBUG&&console.log(t.step,"PUSHB["+e+"]");for(var a=0;a<e;a++)n.push(r[++i]);t.ip=i}function qr(e,t){var n=t.ip,r=t.prog,i=t.stack;I.DEBUG&&console.log(t.ip,"PUSHW["+e+"]");for(var a=0;a<e;a++){var s=r[++n]<<8|r[++n];s&32768&&(s=-((s^65535)+1)),i.push(s)}t.ip=n}function rt(e,t,n,r,i,a){var s=a.stack,o=e&&s.pop(),c=s.pop(),l=a.rp0,u=a.z0[l],A=a.z1[c],h=a.minDis,f=a.fv,d=a.dpv,p,m,y,v;m=p=d.distance(A,u,!0,!0),y=m>=0?1:-1,m=Math.abs(m),e&&(v=a.cvt[o],r&&Math.abs(m-v)<a.cvCutIn&&(m=v)),n&&m<h&&(m=h),r&&(m=a.round(m)),f.setRelative(A,u,y*m,d),f.touch(A),I.DEBUG&&console.log(a.step,(e?"MIRP[":"MDRP[")+(t?"M":"m")+(n?">":"_")+(r?"R":"_")+(i===0?"Gr":i===1?"Bl":i===2?"Wh":"")+"]",e?o+"("+a.cvt[o]+","+v+")":"",c,"(d =",p,"->",y*m,")"),a.rp1=a.rp0,a.rp2=c,t&&(a.rp0=c)}z1=[_1.bind(void 0,yr),_1.bind(void 0,or),q1.bind(void 0,yr),q1.bind(void 0,or),Z1.bind(void 0,yr),Z1.bind(void 0,or),$1.bind(void 0,0),$1.bind(void 0,1),tm.bind(void 0,0),tm.bind(void 0,1),BD,CD,xD,bD,SD,DD,ID,FD,QD,MD,TD,ND,PD,kD,RD,OD,UD,LD,YD,HD,void 0,void 0,GD,Dh,VD,zD,JD,KD,XD,void 0,void 0,void 0,jD,WD,_D,void 0,em.bind(void 0,0),em.bind(void 0,1),nm.bind(void 0,yr),nm.bind(void 0,or),rm.bind(void 0,0),rm.bind(void 0,1),im.bind(void 0,0),im.bind(void 0,1),am.bind(void 0,0),am.bind(void 0,1),qD,ZD,sm.bind(void 0,0),sm.bind(void 0,1),$D,t4,om.bind(void 0,0),om.bind(void 0,1),e4,n4,r4,i4,a4,s4,cm.bind(void 0,0),cm.bind(void 0,1),void 0,lm.bind(void 0,0),lm.bind(void 0,1),o4,void 0,c4,void 0,void 0,l4,u4,A4,h4,f4,g4,d4,p4,m4,y4,w4,v4,E4,Ih.bind(void 0,1),B4,C4,x4,b4,S4,D4,I4,F4,Q4,M4,bl.bind(void 0,0),bl.bind(void 0,1),bl.bind(void 0,2),bl.bind(void 0,3),void 0,void 0,void 0,void 0,T4,Ih.bind(void 0,2),Ih.bind(void 0,3),Fh.bind(void 0,1),Fh.bind(void 0,2),Fh.bind(void 0,3),N4,P4,void 0,void 0,k4,void 0,R4,O4,Dh,Dh,void 0,void 0,void 0,void 0,void 0,U4,um.bind(void 0,0),um.bind(void 0,1),L4,void 0,Y4,H4,G4,V4,z4,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,_r.bind(void 0,1),_r.bind(void 0,2),_r.bind(void 0,3),_r.bind(void 0,4),_r.bind(void 0,5),_r.bind(void 0,6),_r.bind(void 0,7),_r.bind(void 0,8),qr.bind(void 0,1),qr.bind(void 0,2),qr.bind(void 0,3),qr.bind(void 0,4),qr.bind(void 0,5),qr.bind(void 0,6),qr.bind(void 0,7),qr.bind(void 0,8),rt.bind(void 0,0,0,0,0,0),rt.bind(void 0,0,0,0,0,1),rt.bind(void 0,0,0,0,0,2),rt.bind(void 0,0,0,0,0,3),rt.bind(void 0,0,0,0,1,0),rt.bind(void 0,0,0,0,1,1),rt.bind(void 0,0,0,0,1,2),rt.bind(void 0,0,0,0,1,3),rt.bind(void 0,0,0,1,0,0),rt.bind(void 0,0,0,1,0,1),rt.bind(void 0,0,0,1,0,2),rt.bind(void 0,0,0,1,0,3),rt.bind(void 0,0,0,1,1,0),rt.bind(void 0,0,0,1,1,1),rt.bind(void 0,0,0,1,1,2),rt.bind(void 0,0,0,1,1,3),rt.bind(void 0,0,1,0,0,0),rt.bind(void 0,0,1,0,0,1),rt.bind(void 0,0,1,0,0,2),rt.bind(void 0,0,1,0,0,3),rt.bind(void 0,0,1,0,1,0),rt.bind(void 0,0,1,0,1,1),rt.bind(void 0,0,1,0,1,2),rt.bind(void 0,0,1,0,1,3),rt.bind(void 0,0,1,1,0,0),rt.bind(void 0,0,1,1,0,1),rt.bind(void 0,0,1,1,0,2),rt.bind(void 0,0,1,1,0,3),rt.bind(void 0,0,1,1,1,0),rt.bind(void 0,0,1,1,1,1),rt.bind(void 0,0,1,1,1,2),rt.bind(void 0,0,1,1,1,3),rt.bind(void 0,1,0,0,0,0),rt.bind(void 0,1,0,0,0,1),rt.bind(void 0,1,0,0,0,2),rt.bind(void 0,1,0,0,0,3),rt.bind(void 0,1,0,0,1,0),rt.bind(void 0,1,0,0,1,1),rt.bind(void 0,1,0,0,1,2),rt.bind(void 0,1,0,0,1,3),rt.bind(void 0,1,0,1,0,0),rt.bind(void 0,1,0,1,0,1),rt.bind(void 0,1,0,1,0,2),rt.bind(void 0,1,0,1,0,3),rt.bind(void 0,1,0,1,1,0),rt.bind(void 0,1,0,1,1,1),rt.bind(void 0,1,0,1,1,2),rt.bind(void 0,1,0,1,1,3),rt.bind(void 0,1,1,0,0,0),rt.bind(void 0,1,1,0,0,1),rt.bind(void 0,1,1,0,0,2),rt.bind(void 0,1,1,0,0,3),rt.bind(void 0,1,1,0,1,0),rt.bind(void 0,1,1,0,1,1),rt.bind(void 0,1,1,0,1,2),rt.bind(void 0,1,1,0,1,3),rt.bind(void 0,1,1,1,0,0),rt.bind(void 0,1,1,1,0,1),rt.bind(void 0,1,1,1,0,2),rt.bind(void 0,1,1,1,0,3),rt.bind(void 0,1,1,1,1,0),rt.bind(void 0,1,1,1,1,1),rt.bind(void 0,1,1,1,1,2),rt.bind(void 0,1,1,1,1,3)];function Fa(e){this.char=e,this.state={},this.activeState=null}function Qh(e,t,n){this.contextName=n,this.startIndex=e,this.endOffset=t}function J4(e,t,n){this.contextName=e,this.openRange=null,this.ranges=[],this.checkStart=t,this.checkEnd=n}function Rn(e,t){this.context=e,this.index=t,this.length=e.length,this.current=e[t],this.backtrack=e.slice(0,t),this.lookahead=e.slice(t+1)}function Sl(e){this.eventId=e,this.subscribers=[]}function j4(e){var t=this,n=["start","end","next","newToken","contextStart","contextEnd","insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD","updateContextsRanges"];n.forEach(function(i){Object.defineProperty(t.events,i,{value:new Sl(i)})}),e&&n.forEach(function(i){var a=e[i];typeof a=="function"&&t.events[i].subscribe(a)});var r=["insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD"];r.forEach(function(i){t.events[i].subscribe(t.updateContextsRanges)})}function ce(e){this.tokens=[],this.registeredContexts={},this.contextCheckers=[],this.events={},this.registeredModifiers=[],j4.call(this,e)}Fa.prototype.setState=function(e,t){return this.state[e]=t,this.activeState={key:e,value:this.state[e]},this.activeState},Fa.prototype.getState=function(e){return this.state[e]||null},ce.prototype.inboundIndex=function(e){return e>=0&&e<this.tokens.length},ce.prototype.composeRUD=function(e){var t=this,n=!0,r=e.map(function(a){return t[a[0]].apply(t,a.slice(1).concat(n))}),i=function(a){return typeof a=="object"&&a.hasOwnProperty("FAIL")};if(r.every(i))return{FAIL:"composeRUD: one or more operations hasn't completed successfully",report:r.filter(i)};this.dispatch("composeRUD",[r.filter(function(a){return!i(a)})])},ce.prototype.replaceRange=function(e,t,n,r){t=t!==null?t:this.tokens.length;var i=n.every(function(s){return s instanceof Fa});if(!isNaN(e)&&this.inboundIndex(e)&&i){var a=this.tokens.splice.apply(this.tokens,[e,t].concat(n));return r||this.dispatch("replaceToken",[e,t,n]),[a,n]}else return{FAIL:"replaceRange: invalid tokens or startIndex."}},ce.prototype.replaceToken=function(e,t,n){if(!isNaN(e)&&this.inboundIndex(e)&&t instanceof Fa){var r=this.tokens.splice(e,1,t);return n||this.dispatch("replaceToken",[e,t]),[r[0],t]}else return{FAIL:"replaceToken: invalid token or index."}},ce.prototype.removeRange=function(e,t,n){t=isNaN(t)?this.tokens.length:t;var r=this.tokens.splice(e,t);return n||this.dispatch("removeRange",[r,e,t]),r},ce.prototype.removeToken=function(e,t){if(!isNaN(e)&&this.inboundIndex(e)){var n=this.tokens.splice(e,1);return t||this.dispatch("removeToken",[n,e]),n}else return{FAIL:"removeToken: invalid token index."}},ce.prototype.insertToken=function(e,t,n){var r=e.every(function(i){return i instanceof Fa});return r?(this.tokens.splice.apply(this.tokens,[t,0].concat(e)),n||this.dispatch("insertToken",[e,t]),e):{FAIL:"insertToken: invalid token(s)."}},ce.prototype.registerModifier=function(e,t,n){this.events.newToken.subscribe(function(r,i){var a=[r,i],s=t===null||t.apply(this,a)===!0,o=[r,i];if(s){var c=n.apply(this,o);r.setState(e,c)}}),this.registeredModifiers.push(e)},Sl.prototype.subscribe=function(e){return typeof e=="function"?this.subscribers.push(e)-1:{FAIL:"invalid '"+this.eventId+"' event handler"}},Sl.prototype.unsubscribe=function(e){this.subscribers.splice(e,1)},Rn.prototype.setCurrentIndex=function(e){this.index=e,this.current=this.context[e],this.backtrack=this.context.slice(0,e),this.lookahead=this.context.slice(e+1)},Rn.prototype.get=function(e){switch(!0){case e===0:return this.current;case(e<0&&Math.abs(e)<=this.backtrack.length):return this.backtrack.slice(e)[0];case(e>0&&e<=this.lookahead.length):return this.lookahead[e-1];default:return null}},ce.prototype.rangeToText=function(e){if(e instanceof Qh)return this.getRangeTokens(e).map(function(t){return t.char}).join("")},ce.prototype.getText=function(){return this.tokens.map(function(e){return e.char}).join("")},ce.prototype.getContext=function(e){var t=this.registeredContexts[e];return t||null},ce.prototype.on=function(e,t){var n=this.events[e];return n?n.subscribe(t):null},ce.prototype.dispatch=function(e,t){var n=this,r=this.events[e];r instanceof Sl&&r.subscribers.forEach(function(i){i.apply(n,t||[])})},ce.prototype.registerContextChecker=function(e,t,n){if(this.getContext(e))return{FAIL:"context name '"+e+"' is already registered."};if(typeof t!="function")return{FAIL:"missing context start check."};if(typeof n!="function")return{FAIL:"missing context end check."};var r=new J4(e,t,n);return this.registeredContexts[e]=r,this.contextCheckers.push(r),r},ce.prototype.getRangeTokens=function(e){var t=e.startIndex+e.endOffset;return[].concat(this.tokens.slice(e.startIndex,t))},ce.prototype.getContextRanges=function(e){var t=this.getContext(e);return t?t.ranges:{FAIL:"context checker '"+e+"' is not registered."}},ce.prototype.resetContextsRanges=function(){var e=this.registeredContexts;for(var t in e)if(e.hasOwnProperty(t)){var n=e[t];n.ranges=[]}},ce.prototype.updateContextsRanges=function(){this.resetContextsRanges();for(var e=this.tokens.map(function(r){return r.char}),t=0;t<e.length;t++){var n=new Rn(e,t);this.runContextCheck(n)}this.dispatch("updateContextsRanges",[this.registeredContexts])},ce.prototype.setEndOffset=function(e,t){var n=this.getContext(t).openRange.startIndex,r=new Qh(n,e,t),i=this.getContext(t).ranges;return r.rangeId=t+"."+i.length,i.push(r),this.getContext(t).openRange=null,r},ce.prototype.runContextCheck=function(e){var t=this,n=e.index;this.contextCheckers.forEach(function(r){var i=r.contextName,a=t.getContext(i).openRange;if(!a&&r.checkStart(e)&&(a=new Qh(n,null,i),t.getContext(i).openRange=a,t.dispatch("contextStart",[i,n])),a&&r.checkEnd(e)){var s=n-a.startIndex+1,o=t.setEndOffset(s,i);t.dispatch("contextEnd",[i,o])}})},ce.prototype.tokenize=function(e){this.tokens=[],this.resetContextsRanges();var t=Array.from(e);this.dispatch("start");for(var n=0;n<t.length;n++){var r=t[n],i=new Rn(t,n);this.dispatch("next",[i]),this.runContextCheck(i);var a=new Fa(r);this.tokens.push(a),this.dispatch("newToken",[a,i])}return this.dispatch("end",[this.tokens]),this.tokens};function Zr(e){return/[\u0600-\u065F\u066A-\u06D2\u06FA-\u06FF]/.test(e)}function Am(e){return/[\u0630\u0690\u0621\u0631\u0661\u0671\u0622\u0632\u0672\u0692\u06C2\u0623\u0673\u0693\u06C3\u0624\u0694\u06C4\u0625\u0675\u0695\u06C5\u06E5\u0676\u0696\u06C6\u0627\u0677\u0697\u06C7\u0648\u0688\u0698\u06C8\u0689\u0699\u06C9\u068A\u06CA\u066B\u068B\u06CB\u068C\u068D\u06CD\u06FD\u068E\u06EE\u06FE\u062F\u068F\u06CF\u06EF]/.test(e)}function $r(e){return/[\u0600-\u0605\u060C-\u060E\u0610-\u061B\u061E\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED]/.test(e)}function Dl(e){return/[A-z]/.test(e)}function W4(e){return/\s/.test(e)}function yn(e){this.font=e,this.features={}}function Qi(e){this.id=e.id,this.tag=e.tag,this.substitution=e.substitution}function Ks(e,t){if(!e)return-1;switch(t.format){case 1:return t.glyphs.indexOf(e);case 2:for(var n=t.ranges,r=0;r<n.length;r++){var i=n[r];if(e>=i.start&&e<=i.end){var a=e-i.start;return i.index+a}}break;default:return-1}return-1}function K4(e,t){var n=Ks(e,t.coverage);return n===-1?null:e+t.deltaGlyphId}function X4(e,t){var n=Ks(e,t.coverage);return n===-1?null:t.substitute[n]}function Mh(e,t){for(var n=[],r=0;r<e.length;r++){var i=e[r],a=t.current;a=Array.isArray(a)?a[0]:a;var s=Ks(a,i);s!==-1&&n.push(s)}return n.length!==e.length?-1:n}function _4(e,t){var n=t.inputCoverage.length+t.lookaheadCoverage.length+t.backtrackCoverage.length;if(e.context.length<n)return[];var r=Mh(t.inputCoverage,e);if(r===-1)return[];var i=t.inputCoverage.length-1;if(e.lookahead.length<t.lookaheadCoverage.length)return[];for(var a=e.lookahead.slice(i);a.length&&$r(a[0].char);)a.shift();var s=new Rn(a,0),o=Mh(t.lookaheadCoverage,s),c=[].concat(e.backtrack);for(c.reverse();c.length&&$r(c[0].char);)c.shift();if(c.length<t.backtrackCoverage.length)return[];var l=new Rn(c,0),u=Mh(t.backtrackCoverage,l),A=r.length===t.inputCoverage.length&&o.length===t.lookaheadCoverage.length&&u.length===t.backtrackCoverage.length,h=[];if(A)for(var f=0;f<t.lookupRecords.length;f++)for(var d=t.lookupRecords[f],p=d.lookupListIndex,m=this.getLookupByIndex(p),y=0;y<m.subtables.length;y++){var v=m.subtables[y],w=this.getLookupMethod(m,v),B=this.getSubstitutionType(m,v);if(B==="12")for(var C=0;C<r.length;C++){var x=e.get(C),b=w(x);b&&h.push(b)}}return h}function q4(e,t){var n=e.current,r=Ks(n,t.coverage);if(r===-1)return null;for(var i,a=t.ligatureSets[r],s=0;s<a.length;s++){i=a[s];for(var o=0;o<i.components.length;o++){var c=e.lookahead[o],l=i.components[o];if(c!==l)break;if(o===i.components.length-1)return i}}return null}function Z4(e,t){var n=Ks(e,t.coverage);return n===-1?null:t.sequences[n]}yn.prototype.getDefaultScriptFeaturesIndexes=function(){for(var e=this.font.tables.gsub.scripts,t=0;t<e.length;t++){var n=e[t];if(n.tag==="DFLT")return n.script.defaultLangSys.featureIndexes}return[]},yn.prototype.getScriptFeaturesIndexes=function(e){var t=this.font.tables;if(!t.gsub)return[];if(!e)return this.getDefaultScriptFeaturesIndexes();for(var n=this.font.tables.gsub.scripts,r=0;r<n.length;r++){var i=n[r];if(i.tag===e&&i.script.defaultLangSys)return i.script.defaultLangSys.featureIndexes;var a=i.langSysRecords;if(a)for(var s=0;s<a.length;s++){var o=a[s];if(o.tag===e){var c=o.langSys;return c.featureIndexes}}}return this.getDefaultScriptFeaturesIndexes()},yn.prototype.mapTagsToFeatures=function(e,t){for(var n={},r=0;r<e.length;r++){var i=e[r].tag,a=e[r].feature;n[i]=a}this.features[t].tags=n},yn.prototype.getScriptFeatures=function(e){var t=this.features[e];if(this.features.hasOwnProperty(e))return t;var n=this.getScriptFeaturesIndexes(e);if(!n)return null;var r=this.font.tables.gsub;return t=n.map(function(i){return r.features[i]}),this.features[e]=t,this.mapTagsToFeatures(t,e),t},yn.prototype.getSubstitutionType=function(e,t){var n=e.lookupType.toString(),r=t.substFormat.toString();return n+r},yn.prototype.getLookupMethod=function(e,t){var n=this,r=this.getSubstitutionType(e,t);switch(r){case"11":return function(i){return K4.apply(n,[i,t])};case"12":return function(i){return X4.apply(n,[i,t])};case"63":return function(i){return _4.apply(n,[i,t])};case"41":return function(i){return q4.apply(n,[i,t])};case"21":return function(i){return Z4.apply(n,[i,t])};default:throw new Error("lookupType: "+e.lookupType+" - substFormat: "+t.substFormat+" is not yet supported")}},yn.prototype.lookupFeature=function(e){var t=e.contextParams,n=t.index,r=this.getFeature({tag:e.tag,script:e.script});if(!r)return new Error("font '"+this.font.names.fullName.en+"' doesn't support feature '"+e.tag+"' for script '"+e.script+"'.");for(var i=this.getFeatureLookups(r),a=[].concat(t.context),s=0;s<i.length;s++)for(var o=i[s],c=this.getLookupSubtables(o),l=0;l<c.length;l++){var u=c[l],A=this.getSubstitutionType(o,u),h=this.getLookupMethod(o,u),f=void 0;switch(A){case"11":f=h(t.current),f&&a.splice(n,1,new Qi({id:11,tag:e.tag,substitution:f}));break;case"12":f=h(t.current),f&&a.splice(n,1,new Qi({id:12,tag:e.tag,substitution:f}));break;case"63":f=h(t),Array.isArray(f)&&f.length&&a.splice(n,1,new Qi({id:63,tag:e.tag,substitution:f}));break;case"41":f=h(t),f&&a.splice(n,1,new Qi({id:41,tag:e.tag,substitution:f}));break;case"21":f=h(t.current),f&&a.splice(n,1,new Qi({id:21,tag:e.tag,substitution:f}));break}t=new Rn(a,n),!(Array.isArray(f)&&!f.length)&&(f=null)}return a.length?a:null},yn.prototype.supports=function(e){if(!e.script)return!1;this.getScriptFeatures(e.script);var t=this.features.hasOwnProperty(e.script);if(!e.tag)return t;var n=this.features[e.script].some(function(r){return r.tag===e.tag});return t&&n},yn.prototype.getLookupSubtables=function(e){return e.subtables||null},yn.prototype.getLookupByIndex=function(e){var t=this.font.tables.gsub.lookups;return t[e]||null},yn.prototype.getFeatureLookups=function(e){return e.lookupListIndexes.map(this.getLookupByIndex.bind(this))},yn.prototype.getFeature=function(e){if(!this.font)return{FAIL:"No font was found"};this.features.hasOwnProperty(e.script)||this.getScriptFeatures(e.script);var t=this.features[e.script];return t?t.tags[e.tag]?this.features[e.script].tags[e.tag]:null:{FAIL:"No feature for script "+e.script}};function $4(e){var t=e.current,n=e.get(-1);return n===null&&Zr(t)||!Zr(n)&&Zr(t)}function tI(e){var t=e.get(1);return t===null||!Zr(t)}var eI={startCheck:$4,endCheck:tI};function nI(e){var t=e.current,n=e.get(-1);return(Zr(t)||$r(t))&&!Zr(n)}function rI(e){var t=e.get(1);switch(!0){case t===null:return!0;case(!Zr(t)&&!$r(t)):var n=W4(t);if(!n)return!0;if(n){var r=!1;if(r=e.lookahead.some(function(i){return Zr(i)||$r(i)}),!r)return!0}break;default:return!1}}var iI={startCheck:nI,endCheck:rI};function aI(e,t,n){t[n].setState(e.tag,e.substitution)}function sI(e,t,n){t[n].setState(e.tag,e.substitution)}function oI(e,t,n){e.substitution.forEach(function(r,i){var a=t[n+i];a.setState(e.tag,r)})}function cI(e,t,n){var r=t[n];r.setState(e.tag,e.substitution.ligGlyph);for(var i=e.substitution.components.length,a=0;a<i;a++)r=t[n+a+1],r.setState("deleted",!0)}var hm={11:aI,12:sI,63:oI,41:cI};function Th(e,t,n){e instanceof Qi&&hm[e.id]&&hm[e.id](e,t,n)}function lI(e){for(var t=[].concat(e.backtrack),n=t.length-1;n>=0;n--){var r=t[n],i=Am(r),a=$r(r);if(!i&&!a)return!0;if(i)return!1}return!1}function uI(e){if(Am(e.current))return!1;for(var t=0;t<e.lookahead.length;t++){var n=e.lookahead[t],r=$r(n);if(!r)return!0}return!1}function AI(e){var t=this,n="arab",r=this.featuresTags[n],i=this.tokenizer.getRangeTokens(e);if(i.length!==1){var a=new Rn(i.map(function(o){return o.getState("glyphIndex")}),0),s=new Rn(i.map(function(o){return o.char}),0);i.forEach(function(o,c){if(!$r(o.char)){a.setCurrentIndex(c),s.setCurrentIndex(c);var l=0;lI(s)&&(l|=1),uI(s)&&(l|=2);var u;switch(l){case 1:u="fina";break;case 2:u="init";break;case 3:u="medi";break}if(r.indexOf(u)!==-1){var A=t.query.lookupFeature({tag:u,script:n,contextParams:a});if(A instanceof Error)return console.info(A.message);A.forEach(function(h,f){h instanceof Qi&&(Th(h,i,f),a.context[f]=h.substitution)})}}})}}function fm(e,t){var n=e.map(function(r){return r.activeState.value});return new Rn(n,t||0)}function hI(e){var t=this,n="arab",r=this.tokenizer.getRangeTokens(e),i=fm(r);i.context.forEach(function(a,s){i.setCurrentIndex(s);var o=t.query.lookupFeature({tag:"rlig",script:n,contextParams:i});o.length&&(o.forEach(function(c){return Th(c,r,s)}),i=fm(r))})}function fI(e){var t=e.current,n=e.get(-1);return n===null&&Dl(t)||!Dl(n)&&Dl(t)}function gI(e){var t=e.get(1);return t===null||!Dl(t)}var dI={startCheck:fI,endCheck:gI};function gm(e,t){var n=e.map(function(r){return r.activeState.value});return new Rn(n,t||0)}function pI(e){var t=this,n="latn",r=this.tokenizer.getRangeTokens(e),i=gm(r);i.context.forEach(function(a,s){i.setCurrentIndex(s);var o=t.query.lookupFeature({tag:"liga",script:n,contextParams:i});o.length&&(o.forEach(function(c){return Th(c,r,s)}),i=gm(r))})}function On(e){this.baseDir=e||"ltr",this.tokenizer=new ce,this.featuresTags={}}On.prototype.setText=function(e){this.text=e},On.prototype.contextChecks={latinWordCheck:dI,arabicWordCheck:eI,arabicSentenceCheck:iI};function Nh(e){var t=this.contextChecks[e+"Check"];return this.tokenizer.registerContextChecker(e,t.startCheck,t.endCheck)}function mI(){return Nh.call(this,"latinWord"),Nh.call(this,"arabicWord"),Nh.call(this,"arabicSentence"),this.tokenizer.tokenize(this.text)}function yI(){var e=this,t=this.tokenizer.getContextRanges("arabicSentence");t.forEach(function(n){var r=e.tokenizer.getRangeTokens(n);e.tokenizer.replaceRange(n.startIndex,n.endOffset,r.reverse())})}On.prototype.registerFeatures=function(e,t){var n=this,r=t.filter(function(i){return n.query.supports({script:e,tag:i})});this.featuresTags.hasOwnProperty(e)?this.featuresTags[e]=this.featuresTags[e].concat(r):this.featuresTags[e]=r},On.prototype.applyFeatures=function(e,t){if(!e)throw new Error("No valid font was provided to apply features");this.query||(this.query=new yn(e));for(var n=0;n<t.length;n++){var r=t[n];this.query.supports({script:r.script})&&this.registerFeatures(r.script,r.tags)}},On.prototype.registerModifier=function(e,t,n){this.tokenizer.registerModifier(e,t,n)};function Ph(){if(this.tokenizer.registeredModifiers.indexOf("glyphIndex")===-1)throw new Error("glyphIndex modifier is required to apply arabic presentation features.")}function wI(){var e=this,t="arab";if(this.featuresTags.hasOwnProperty(t)){Ph.call(this);var n=this.tokenizer.getContextRanges("arabicWord");n.forEach(function(r){AI.call(e,r)})}}function vI(){var e=this,t="arab";if(this.featuresTags.hasOwnProperty(t)){var n=this.featuresTags[t];if(n.indexOf("rlig")!==-1){Ph.call(this);var r=this.tokenizer.getContextRanges("arabicWord");r.forEach(function(i){hI.call(e,i)})}}}function EI(){var e=this,t="latn";if(this.featuresTags.hasOwnProperty(t)){var n=this.featuresTags[t];if(n.indexOf("liga")!==-1){Ph.call(this);var r=this.tokenizer.getContextRanges("latinWord");r.forEach(function(i){pI.call(e,i)})}}}On.prototype.checkContextReady=function(e){return!!this.tokenizer.getContext(e)},On.prototype.applyFeaturesToContexts=function(){this.checkContextReady("arabicWord")&&(wI.call(this),vI.call(this)),this.checkContextReady("latinWord")&&EI.call(this),this.checkContextReady("arabicSentence")&&yI.call(this)},On.prototype.processText=function(e){(!this.text||this.text!==e)&&(this.setText(e),mI.call(this),this.applyFeaturesToContexts())},On.prototype.getBidiText=function(e){return this.processText(e),this.tokenizer.getText()},On.prototype.getTextGlyphs=function(e){this.processText(e);for(var t=[],n=0;n<this.tokenizer.tokens.length;n++){var r=this.tokenizer.tokens[n];if(!r.state.deleted){var i=r.activeState.value;t.push(Array.isArray(i)?i[0]:i)}}return t};function Ot(e){e=e||{},e.tables=e.tables||{},e.empty||(zs(e.familyName,"When creating a new Font object, familyName is required."),zs(e.styleName,"When creating a new Font object, styleName is required."),zs(e.unitsPerEm,"When creating a new Font object, unitsPerEm is required."),zs(e.ascender,"When creating a new Font object, ascender is required."),zs(e.descender<=0,"When creating a new Font object, negative descender value is required."),this.names={fontFamily:{en:e.familyName||" "},fontSubfamily:{en:e.styleName||" "},fullName:{en:e.fullName||e.familyName+" "+e.styleName},postScriptName:{en:e.postScriptName||(e.familyName+e.styleName).replace(/\s/g,"")},designer:{en:e.designer||" "},designerURL:{en:e.designerURL||" "},manufacturer:{en:e.manufacturer||" "},manufacturerURL:{en:e.manufacturerURL||" "},license:{en:e.license||" "},licenseURL:{en:e.licenseURL||" "},version:{en:e.version||"Version 0.1"},description:{en:e.description||" "},copyright:{en:e.copyright||" "},trademark:{en:e.trademark||" "}},this.unitsPerEm=e.unitsPerEm||1e3,this.ascender=e.ascender,this.descender=e.descender,this.createdTimestamp=e.createdTimestamp,this.tables=Object.assign(e.tables,{os2:Object.assign({usWeightClass:e.weightClass||this.usWeightClasses.MEDIUM,usWidthClass:e.widthClass||this.usWidthClasses.MEDIUM,fsSelection:e.fsSelection||this.fsSelectionValues.REGULAR},e.tables.os2)})),this.supported=!0,this.glyphs=new sr.GlyphSet(this,e.glyphs||[]),this.encoding=new n1(this),this.position=new Vs(this),this.substitution=new mn(this),this.tables=this.tables||{},this._push=null,this._hmtxTableData={},Object.defineProperty(this,"hinting",{get:function(){if(this._hinting)return this._hinting;if(this.outlinesFormat==="truetype")return this._hinting=new j1(this)}})}Ot.prototype.hasChar=function(e){return this.encoding.charToGlyphIndex(e)!==null},Ot.prototype.charToGlyphIndex=function(e){return this.encoding.charToGlyphIndex(e)},Ot.prototype.charToGlyph=function(e){var t=this.charToGlyphIndex(e),n=this.glyphs.get(t);return n||(n=this.glyphs.get(0)),n},Ot.prototype.updateFeatures=function(e){return this.defaultRenderOptions.features.map(function(t){return t.script==="latn"?{script:"latn",tags:t.tags.filter(function(n){return e[n]})}:t})},Ot.prototype.stringToGlyphs=function(e,t){var n=this,r=new On,i=function(A){return n.charToGlyphIndex(A.char)};r.registerModifier("glyphIndex",null,i);var a=t?this.updateFeatures(t.features):this.defaultRenderOptions.features;r.applyFeatures(this,a);for(var s=r.getTextGlyphs(e),o=s.length,c=new Array(o),l=this.glyphs.get(0),u=0;u<o;u+=1)c[u]=this.glyphs.get(s[u])||l;return c},Ot.prototype.nameToGlyphIndex=function(e){return this.glyphNames.nameToGlyphIndex(e)},Ot.prototype.nameToGlyph=function(e){var t=this.nameToGlyphIndex(e),n=this.glyphs.get(t);return n||(n=this.glyphs.get(0)),n},Ot.prototype.glyphIndexToName=function(e){return this.glyphNames.glyphIndexToName?this.glyphNames.glyphIndexToName(e):""},Ot.prototype.getKerningValue=function(e,t){e=e.index||e,t=t.index||t;var n=this.position.defaultKerningTables;return n?this.position.getKerningValue(n,e,t):this.kerningPairs[e+","+t]||0},Ot.prototype.defaultRenderOptions={kerning:!0,features:[{script:"arab",tags:["init","medi","fina","rlig"]},{script:"latn",tags:["liga","rlig"]}]},Ot.prototype.forEachGlyph=function(e,t,n,r,i,a){t=t!==void 0?t:0,n=n!==void 0?n:0,r=r!==void 0?r:72,i=Object.assign({},this.defaultRenderOptions,i);var s=1/this.unitsPerEm*r,o=this.stringToGlyphs(e,i),c;if(i.kerning){var l=i.script||this.position.getDefaultScriptName();c=this.position.getKerningTables(l,i.language)}for(var u=0;u<o.length;u+=1){var A=o[u];if(a.call(this,A,t,n,r,i),A.advanceWidth&&(t+=A.advanceWidth*s),i.kerning&&u<o.length-1){var h=c?this.position.getKerningValue(c,A.index,o[u+1].index):this.getKerningValue(A,o[u+1]);t+=h*s}i.letterSpacing?t+=i.letterSpacing*r:i.tracking&&(t+=i.tracking/1e3*r)}return t},Ot.prototype.getPath=function(e,t,n,r,i){var a=new ye;return this.forEachGlyph(e,t,n,r,i,function(s,o,c,l){var u=s.getPath(o,c,l,i,this);a.extend(u)}),a},Ot.prototype.getPaths=function(e,t,n,r,i){var a=[];return this.forEachGlyph(e,t,n,r,i,function(s,o,c,l){var u=s.getPath(o,c,l,i,this);a.push(u)}),a},Ot.prototype.getAdvanceWidth=function(e,t,n){return this.forEachGlyph(e,0,0,t,n,function(){})},Ot.prototype.draw=function(e,t,n,r,i,a){this.getPath(t,n,r,i,a).draw(e)},Ot.prototype.drawPoints=function(e,t,n,r,i,a){this.forEachGlyph(t,n,r,i,a,function(s,o,c,l){s.drawPoints(e,o,c,l)})},Ot.prototype.drawMetrics=function(e,t,n,r,i,a){this.forEachGlyph(t,n,r,i,a,function(s,o,c,l){s.drawMetrics(e,o,c,l)})},Ot.prototype.getEnglishName=function(e){var t=this.names[e];if(t)return t.en},Ot.prototype.validate=function(){var e=this;function t(n){var r=e.getEnglishName(n);r&&r.trim().length>0}t("fontFamily"),t("weightName"),t("manufacturer"),t("copyright"),t("version"),this.unitsPerEm>0},Ot.prototype.toTables=function(){return cD.fontToTable(this)},Ot.prototype.toBuffer=function(){return console.warn("Font.toBuffer is deprecated. Use Font.toArrayBuffer instead."),this.toArrayBuffer()},Ot.prototype.toArrayBuffer=function(){for(var e=this.toTables(),t=e.encode(),n=new ArrayBuffer(t.length),r=new Uint8Array(n),i=0;i<t.length;i++)r[i]=t[i];return n},Ot.prototype.download=function(e){var t=this.getEnglishName("fontFamily"),n=this.getEnglishName("fontSubfamily");e=e||t.replace(/\s/g,"")+"-"+n+".otf";var r=this.toArrayBuffer();if(uD())if(window.URL=window.URL||window.webkitURL,window.URL){var i=new DataView(r),a=new Blob([i],{type:"font/opentype"}),s=document.createElement("a");s.href=window.URL.createObjectURL(a),s.download=e;var o=document.createEvent("MouseEvents");o.initEvent("click",!0,!1),s.dispatchEvent(o)}else console.warn("Font file could not be downloaded. Try using a different browser.");else{var c=require("fs"),l=AD(r);c.writeFileSync(e,l)}},Ot.prototype.fsSelectionValues={ITALIC:1,UNDERSCORE:2,NEGATIVE:4,OUTLINED:8,STRIKEOUT:16,BOLD:32,REGULAR:64,USER_TYPO_METRICS:128,WWS:256,OBLIQUE:512},Ot.prototype.usWidthClasses={ULTRA_CONDENSED:1,EXTRA_CONDENSED:2,CONDENSED:3,SEMI_CONDENSED:4,MEDIUM:5,SEMI_EXPANDED:6,EXPANDED:7,EXTRA_EXPANDED:8,ULTRA_EXPANDED:9},Ot.prototype.usWeightClasses={THIN:100,EXTRA_LIGHT:200,LIGHT:300,NORMAL:400,MEDIUM:500,SEMI_BOLD:600,BOLD:700,EXTRA_BOLD:800,BLACK:900};function dm(e,t){var n=JSON.stringify(e),r=256;for(var i in t){var a=parseInt(i);if(!(!a||a<256)){if(JSON.stringify(t[i])===n)return a;r<=a&&(r=a+1)}}return t[r]=e,r}function BI(e,t,n){var r=dm(t.name,n);return[{name:"tag_"+e,type:"TAG",value:t.tag},{name:"minValue_"+e,type:"FIXED",value:t.minValue<<16},{name:"defaultValue_"+e,type:"FIXED",value:t.defaultValue<<16},{name:"maxValue_"+e,type:"FIXED",value:t.maxValue<<16},{name:"flags_"+e,type:"USHORT",value:0},{name:"nameID_"+e,type:"USHORT",value:r}]}function CI(e,t,n){var r={},i=new nt.Parser(e,t);return r.tag=i.parseTag(),r.minValue=i.parseFixed(),r.defaultValue=i.parseFixed(),r.maxValue=i.parseFixed(),i.skip("uShort",1),r.name=n[i.parseUShort()]||{},r}function xI(e,t,n,r){for(var i=dm(t.name,r),a=[{name:"nameID_"+e,type:"USHORT",value:i},{name:"flags_"+e,type:"USHORT",value:0}],s=0;s<n.length;++s){var o=n[s].tag;a.push({name:"axis_"+e+" "+o,type:"FIXED",value:t.coordinates[o]<<16})}return a}function bI(e,t,n,r){var i={},a=new nt.Parser(e,t);i.name=r[a.parseUShort()]||{},a.skip("uShort",1),i.coordinates={};for(var s=0;s<n.length;++s)i.coordinates[n[s].tag]=a.parseFixed();return i}function SI(e,t){var n=new tt.Table("fvar",[{name:"version",type:"ULONG",value:65536},{name:"offsetToData",type:"USHORT",value:0},{name:"countSizePairs",type:"USHORT",value:2},{name:"axisCount",type:"USHORT",value:e.axes.length},{name:"axisSize",type:"USHORT",value:20},{name:"instanceCount",type:"USHORT",value:e.instances.length},{name:"instanceSize",type:"USHORT",value:4+e.axes.length*4}]);n.offsetToData=n.sizeOf();for(var r=0;r<e.axes.length;r++)n.fields=n.fields.concat(BI(r,e.axes[r],t));for(var i=0;i<e.instances.length;i++)n.fields=n.fields.concat(xI(i,e.instances[i],e.axes,t));return n}function DI(e,t,n){var r=new nt.Parser(e,t),i=r.parseULong();ht.argument(i===65536,"Unsupported fvar table version.");var a=r.parseOffset16();r.skip("uShort",1);for(var s=r.parseUShort(),o=r.parseUShort(),c=r.parseUShort(),l=r.parseUShort(),u=[],A=0;A<s;A++)u.push(CI(e,t+a+A*o,n));for(var h=[],f=t+a+s*o,d=0;d<c;d++)h.push(bI(e,f+d*l,u,n));return{axes:u,instances:h}}var II={make:SI,parse:DI},FI=function(){return{coverage:this.parsePointer(R.coverage),attachPoints:this.parseList(R.pointer(R.uShortList))}},QI=function(){var e=this.parseUShort();if(ht.argument(e===1||e===2||e===3,"Unsupported CaretValue table version."),e===1)return{coordinate:this.parseShort()};if(e===2)return{pointindex:this.parseShort()};if(e===3)return{coordinate:this.parseShort()}},MI=function(){return this.parseList(R.pointer(QI))},TI=function(){return{coverage:this.parsePointer(R.coverage),ligGlyphs:this.parseList(R.pointer(MI))}},NI=function(){return this.parseUShort(),this.parseList(R.pointer(R.coverage))};function PI(e,t){t=t||0;var n=new R(e,t),r=n.parseVersion(1);ht.argument(r===1||r===1.2||r===1.3,"Unsupported GDEF table version.");var i={version:r,classDef:n.parsePointer(R.classDef),attachList:n.parsePointer(FI),ligCaretList:n.parsePointer(TI),markAttachClassDef:n.parsePointer(R.classDef)};return r>=1.2&&(i.markGlyphSets=n.parsePointer(NI)),i}var kI={parse:PI},Un=new Array(10);Un[1]=function(){var e=this.offset+this.relativeOffset,t=this.parseUShort();if(t===1)return{posFormat:1,coverage:this.parsePointer(R.coverage),value:this.parseValueRecord()};if(t===2)return{posFormat:2,coverage:this.parsePointer(R.coverage),values:this.parseValueRecordList()};ht.assert(!1,"0x"+e.toString(16)+": GPOS lookup type 1 format must be 1 or 2.")},Un[2]=function(){var e=this.offset+this.relativeOffset,t=this.parseUShort();ht.assert(t===1||t===2,"0x"+e.toString(16)+": GPOS lookup type 2 format must be 1 or 2.");var n=this.parsePointer(R.coverage),r=this.parseUShort(),i=this.parseUShort();if(t===1)return{posFormat:t,coverage:n,valueFormat1:r,valueFormat2:i,pairSets:this.parseList(R.pointer(R.list(function(){return{secondGlyph:this.parseUShort(),value1:this.parseValueRecord(r),value2:this.parseValueRecord(i)}})))};if(t===2){var a=this.parsePointer(R.classDef),s=this.parsePointer(R.classDef),o=this.parseUShort(),c=this.parseUShort();return{posFormat:t,coverage:n,valueFormat1:r,valueFormat2:i,classDef1:a,classDef2:s,class1Count:o,class2Count:c,classRecords:this.parseList(o,R.list(c,function(){return{value1:this.parseValueRecord(r),value2:this.parseValueRecord(i)}}))}}},Un[3]=function(){return{error:"GPOS Lookup 3 not supported"}},Un[4]=function(){return{error:"GPOS Lookup 4 not supported"}},Un[5]=function(){return{error:"GPOS Lookup 5 not supported"}},Un[6]=function(){return{error:"GPOS Lookup 6 not supported"}},Un[7]=function(){return{error:"GPOS Lookup 7 not supported"}},Un[8]=function(){return{error:"GPOS Lookup 8 not supported"}},Un[9]=function(){return{error:"GPOS Lookup 9 not supported"}};function RI(e,t){t=t||0;var n=new R(e,t),r=n.parseVersion(1);return ht.argument(r===1||r===1.1,"Unsupported GPOS table version "+r),r===1?{version:r,scripts:n.parseScriptList(),features:n.parseFeatureList(),lookups:n.parseLookupList(Un)}:{version:r,scripts:n.parseScriptList(),features:n.parseFeatureList(),lookups:n.parseLookupList(Un),variations:n.parseFeatureVariationsList()}}var OI=new Array(10);function UI(e){return new tt.Table("GPOS",[{name:"version",type:"ULONG",value:65536},{name:"scripts",type:"TABLE",value:new tt.ScriptList(e.scripts)},{name:"features",type:"TABLE",value:new tt.FeatureList(e.features)},{name:"lookups",type:"TABLE",value:new tt.LookupList(e.lookups,OI)}])}var LI={parse:RI,make:UI};function YI(e){var t={};e.skip("uShort");var n=e.parseUShort();ht.argument(n===0,"Unsupported kern sub-table version."),e.skip("uShort",2);var r=e.parseUShort();e.skip("uShort",3);for(var i=0;i<r;i+=1){var a=e.parseUShort(),s=e.parseUShort(),o=e.parseShort();t[a+","+s]=o}return t}function HI(e){var t={};e.skip("uShort");var n=e.parseULong();n>1&&console.warn("Only the first kern subtable is supported."),e.skip("uLong");var r=e.parseUShort(),i=r&255;if(e.skip("uShort"),i===0){var a=e.parseUShort();e.skip("uShort",3);for(var s=0;s<a;s+=1){var o=e.parseUShort(),c=e.parseUShort(),l=e.parseShort();t[o+","+c]=l}}return t}function GI(e,t){var n=new nt.Parser(e,t),r=n.parseUShort();if(r===0)return YI(n);if(r===1)return HI(n);throw new Error("Unsupported kern table version ("+r+").")}var VI={parse:GI};function zI(e,t,n,r){for(var i=new nt.Parser(e,t),a=r?i.parseUShort:i.parseULong,s=[],o=0;o<n+1;o+=1){var c=a.call(i);r&&(c*=2),s.push(c)}return s}var JI={parse:zI};function jI(e,t){var n=require("fs");n.readFile(e,function(r,i){if(r)return t(r.message);t(null,U1(i))})}function WI(e,t){var n=new XMLHttpRequest;n.open("get",e,!0),n.responseType="arraybuffer",n.onload=function(){return n.response?t(null,n.response):t("Font could not be loaded: "+n.statusText)},n.onerror=function(){t("Font could not be loaded")},n.send()}function pm(e,t){for(var n=[],r=12,i=0;i<t;i+=1){var a=nt.getTag(e,r),s=nt.getULong(e,r+4),o=nt.getULong(e,r+8),c=nt.getULong(e,r+12);n.push({tag:a,checksum:s,offset:o,length:c,compression:!1}),r+=16}return n}function KI(e,t){for(var n=[],r=44,i=0;i<t;i+=1){var a=nt.getTag(e,r),s=nt.getULong(e,r+4),o=nt.getULong(e,r+8),c=nt.getULong(e,r+12),l=void 0;o<c?l="WOFF":l=!1,n.push({tag:a,offset:s,compression:l,compressedLength:o,length:c}),r+=20}return n}function he(e,t){if(t.compression==="WOFF"){var n=new Uint8Array(e.buffer,t.offset+2,t.compressedLength-2),r=new Uint8Array(t.length);if(Lb(n,r),r.byteLength!==t.length)throw new Error("Decompression error: "+t.tag+" decompressed length doesn't match recorded length");var i=new DataView(r.buffer,0);return{data:i,offset:0}}else return{data:e,offset:t.offset}}function kh(e,t){t=t??{};var n,r,i=new Ot({empty:!0}),a=new DataView(e,0),s,o=[],c=nt.getTag(a,0);if(c===String.fromCharCode(0,1,0,0)||c==="true"||c==="typ1")i.outlinesFormat="truetype",s=nt.getUShort(a,4),o=pm(a,s);else if(c==="OTTO")i.outlinesFormat="cff",s=nt.getUShort(a,4),o=pm(a,s);else if(c==="wOFF"){var l=nt.getTag(a,4);if(l===String.fromCharCode(0,1,0,0))i.outlinesFormat="truetype";else if(l==="OTTO")i.outlinesFormat="cff";else throw new Error("Unsupported OpenType flavor "+c);s=nt.getUShort(a,12),o=KI(a,s)}else throw new Error("Unsupported OpenType signature "+c);for(var u,A,h,f,d,p,m,y,v,w,B,C,x=0;x<s;x+=1){var b=o[x],D=void 0;switch(b.tag){case"cmap":D=he(a,b),i.tables.cmap=e1.parse(D.data,D.offset),i.encoding=new r1(i.tables.cmap);break;case"cvt ":D=he(a,b),C=new nt.Parser(D.data,D.offset),i.tables.cvt=C.parseShortList(b.length/2);break;case"fvar":A=b;break;case"fpgm":D=he(a,b),C=new nt.Parser(D.data,D.offset),i.tables.fpgm=C.parseByteList(b.length);break;case"head":D=he(a,b),i.tables.head=m1.parse(D.data,D.offset),i.unitsPerEm=i.tables.head.unitsPerEm,n=i.tables.head.indexToLocFormat;break;case"hhea":D=he(a,b),i.tables.hhea=y1.parse(D.data,D.offset),i.ascender=i.tables.hhea.ascender,i.descender=i.tables.hhea.descender,i.numberOfHMetrics=i.tables.hhea.numberOfHMetrics;break;case"hmtx":m=b;break;case"ltag":D=he(a,b),r=v1.parse(D.data,D.offset);break;case"maxp":D=he(a,b),i.tables.maxp=E1.parse(D.data,D.offset),i.numGlyphs=i.tables.maxp.numGlyphs;break;case"name":w=b;break;case"OS/2":D=he(a,b),i.tables.os2=Eh.parse(D.data,D.offset);break;case"post":D=he(a,b),i.tables.post=F1.parse(D.data,D.offset),i.glyphNames=new dh(i.tables.post);break;case"prep":D=he(a,b),C=new nt.Parser(D.data,D.offset),i.tables.prep=C.parseByteList(b.length);break;case"glyf":h=b;break;case"loca":v=b;break;case"CFF ":u=b;break;case"kern":y=b;break;case"GDEF":f=b;break;case"GPOS":d=b;break;case"GSUB":p=b;break;case"meta":B=b;break}}var T=he(a,w);if(i.tables.name=I1.parse(T.data,T.offset,r),i.names=i.tables.name,h&&v){var P=n===0,L=he(a,v),U=JI.parse(L.data,L.offset,i.numGlyphs,P),z=he(a,h);i.glyphs=V1.parse(z.data,z.offset,U,i,t)}else if(u){var J=he(a,u);p1.parse(J.data,J.offset,i,t)}else throw new Error("Font doesn't contain TrueType or CFF outlines.");var W=he(a,m);if(w1.parse(i,W.data,W.offset,i.numberOfHMetrics,i.numGlyphs,i.glyphs,t),sS(i,t),y){var Z=he(a,y);i.kerningPairs=VI.parse(Z.data,Z.offset)}else i.kerningPairs={};if(f){var ot=he(a,f);i.tables.gdef=kI.parse(ot.data,ot.offset)}if(d){var lt=he(a,d);i.tables.gpos=LI.parse(lt.data,lt.offset),i.position.init()}if(p){var O=he(a,p);i.tables.gsub=Q1.parse(O.data,O.offset)}if(A){var M=he(a,A);i.tables.fvar=II.parse(M.data,M.offset,i.names)}if(B){var V=he(a,B);i.tables.meta=M1.parse(V.data,V.offset),i.metas=i.tables.meta}return i}function XI(e,t,n){n=n??{};var r=typeof window>"u",i=r&&!n.isUrl?jI:WI;return new Promise(function(a,s){i(e,function(o,c){if(o){if(t)return t(o);s(o)}var l;try{l=kh(c,n)}catch(u){if(t)return t(u,null);s(u)}if(t)return t(null,l);a(l)})})}function _I(e,t){var n=require("fs"),r=n.readFileSync(e);return kh(U1(r),t)}var qI=Object.freeze({__proto__:null,Font:Ot,Glyph:pn,Path:ye,BoundingBox:mr,_parse:nt,parse:kh,load:XI,loadSync:_I}),mm=/[\s\n\\/='"\0<>]/,ym=/^(xlink|xmlns|xml)(:|[A-Z])/,ZI=/^accessK|^auto[A-Z]|^ch|^col|cont|cross|dateT|encT|form[A-Z]|frame|hrefL|inputM|maxL|minL|noV|playsI|readO|rowS|spellC|src[A-Z]|tabI|item[A-Z]/,$I=/^ac|^ali|arabic|basel|cap|clipPath$|clipRule$|color|dominant|enable|fill|flood|font|glyph[^R]|horiz|image|letter|lighting|marker[^WUH]|overline|panose|pointe|paint|rendering|shape|stop|strikethrough|stroke|text[^L]|transform|underline|unicode|units|^v[^i]|^w|^xH/,tF=/["&<]/;function Il(e){if(e.length===0||tF.test(e)===!1)return e;for(var t=0,n=0,r="",i="";n<e.length;n++){switch(e.charCodeAt(n)){case 34:i="&quot;";break;case 38:i="&amp;";break;case 60:i="&lt;";break;default:continue}n!==t&&(r+=e.slice(t,n)),r+=i,t=n+1}return n!==t&&(r+=e.slice(t,n)),r}var wm={},eF=new Set(["animation-iteration-count","border-image-outset","border-image-slice","border-image-width","box-flex","box-flex-group","box-ordinal-group","column-count","fill-opacity","flex","flex-grow","flex-negative","flex-order","flex-positive","flex-shrink","flood-opacity","font-weight","grid-column","grid-row","line-clamp","line-height","opacity","order","orphans","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","widows","z-index","zoom"]),nF=/[A-Z]/g;function rF(e){var t="";for(var n in e){var r=e[n];if(r!=null&&r!==""){var i=n[0]=="-"?n:wm[n]||(wm[n]=n.replace(nF,"-$&").toLowerCase()),a=";";typeof r!="number"||i.startsWith("--")||eF.has(i)||(a="px;"),t=t+i+":"+r+a}}return t||void 0}var Rh,Mi,Xs,Ti,vm=[],iF=Array.isArray,Oh=Object.assign;function aF(e,t){var n=$.__s;$.__s=!0,Rh=$.__b,Mi=$.diffed,Xs=$.__r,Ti=$.unmount;var r=nr(ze,null);r.__k=[e];try{return Qa(e,t||Bm,!1,void 0,r)}finally{$.__c&&$.__c(e,vm),$.__s=n,vm.length=0}}function Em(){this.__d=!0}var Bm={};function Cm(e,t){var n,r=e.type,i=!0;return e.__c?(i=!1,(n=e.__c).state=n.__s):n=new r(e.props,t),e.__c=n,n.__v=e,n.props=e.props,n.context=t,n.__d=!0,n.state==null&&(n.state=Bm),n.__s==null&&(n.__s=n.state),r.getDerivedStateFromProps?n.state=Oh({},n.state,r.getDerivedStateFromProps(n.props,n.state)):i&&n.componentWillMount?(n.componentWillMount(),n.state=n.__s!==n.state?n.__s:n.state):!i&&n.componentWillUpdate&&n.componentWillUpdate(),Xs&&Xs(e),n.render(n.props,n.state,t)}function Qa(e,t,n,r,i){if(e==null||e===!0||e===!1||e==="")return"";if(typeof e!="object")return typeof e=="function"?"":Il(e+"");if(iF(e)){var a="";i.__k=e;for(var s=0;s<e.length;s++){var o=e[s];o!=null&&typeof o!="boolean"&&(a+=Qa(o,t,n,r,i))}return a}if(e.constructor!==void 0)return"";e.__=i,Rh&&Rh(e);var c,l,u,A=e.type,h=e.props,f=t;if(typeof A=="function"){if(A===ze){if(h.UNSTABLE_comment)return"<!--"+Il(h.UNSTABLE_comment||"")+"-->";l=h.children}else{if((c=A.contextType)!=null){var d=t[c.__c];f=d?d.props.value:c.__}if(A.prototype&&typeof A.prototype.render=="function")l=Cm(e,f),u=e.__c;else{e.__c=u={__v:e,props:h,context:f,setState:Em,forceUpdate:Em,__d:!0,__h:[]};for(var p=0;u.__d&&p++<25;)u.__d=!1,Xs&&Xs(e),l=A.call(u,h,f);u.__d=!0}if(u.getChildContext!=null&&(t=Oh({},t,u.getChildContext())),(A.getDerivedStateFromError||u.componentDidCatch)&&$.errorBoundaries){var m="";l=l!=null&&l.type===ze&&l.key==null?l.props.children:l;try{return m=Qa(l,t,n,r,e)}catch(b){return A.getDerivedStateFromError&&(u.__s=A.getDerivedStateFromError(b)),u.componentDidCatch&&u.componentDidCatch(b,{}),u.__d&&(l=Cm(e,t),(u=e.__c).getChildContext!=null&&(t=Oh({},t,u.getChildContext())),m=Qa(l=l!=null&&l.type===ze&&l.key==null?l.props.children:l,t,n,r,e)),m}finally{Mi&&Mi(e),e.__=void 0,Ti&&Ti(e)}}}var y=Qa(l=l!=null&&l.type===ze&&l.key==null?l.props.children:l,t,n,r,e);return Mi&&Mi(e),e.__=void 0,Ti&&Ti(e),y}var v,w="<"+A,B="";for(var C in h){var x=h[C];switch(C){case"children":v=x;continue;case"key":case"ref":case"__self":case"__source":continue;case"htmlFor":if("for"in h)continue;C="for";break;case"className":if("class"in h)continue;C="class";break;case"defaultChecked":C="checked";break;case"defaultSelected":C="selected";break;case"defaultValue":case"value":switch(C="value",A){case"textarea":v=x;continue;case"select":r=x;continue;case"option":r!=x||"selected"in h||(w+=" selected")}break;case"dangerouslySetInnerHTML":B=x&&x.__html;continue;case"style":typeof x=="object"&&(x=rF(x));break;case"acceptCharset":C="accept-charset";break;case"httpEquiv":C="http-equiv";break;default:if(ym.test(C))C=C.replace(ym,"$1:$2").toLowerCase();else{if(mm.test(C))continue;C[4]!=="-"&&C!=="draggable"||x==null?n?$I.test(C)&&(C=C==="panose1"?"panose-1":C.replace(/([A-Z])/g,"-$1").toLowerCase()):ZI.test(C)&&(C=C.toLowerCase()):x+=""}}x!=null&&x!==!1&&typeof x!="function"&&(w=x===!0||x===""?w+" "+C:w+" "+C+'="'+Il(x+"")+'"')}if(mm.test(A))throw new Error(A+" is not a valid HTML tag name in "+w+">");return B||(typeof v=="string"?B=Il(v):v!=null&&v!==!1&&v!==!0&&(B=Qa(v,t,A==="svg"||A!=="foreignObject"&&n,r,e))),Mi&&Mi(e),e.__=void 0,Ti&&Ti(e),!B&&sF.has(A)?w+"/>":w+">"+B+"</"+A+">"}var sF=new Set(["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"]),oF=aF;let Uh,Lh;const xm=new Map,Yh=async e=>{const t=xm.get(e);if(t)return t;const n=(async()=>await(await Ma(e)).blob())();return xm.set(e,n),n};function cF(e){Uh=e}function lF(e){Lh=e}function Fl(){if(!Uh)throw new Error("DOM constructor is not registered. Please register it before calling this function.");return new Uh}function Ma(e,t){if(!Lh){if(typeof window<"u"&&window.fetch)return window.fetch(e,t);if(typeof global<"u"&&global.fetch)return global.fetch(e,t);throw new Error("Fetch implementation is not registered. Please register it before calling this function.")}return Lh(e,t)}const _s=e=>e.every(t=>t!=="undefined"),Ql=e=>_s([typeof document])?document.createElement(e):Fl().window.document.createElement(e),uF=(e,t)=>{if(_s([typeof document]))return document.createElementNS(e,t);const n=Fl().window.document.createElement(t);return n.setAttribute("xmlns",e),n},ti=()=>{if(_s([typeof DOMParser]))return new DOMParser;const e=Fl();return new e.window.DOMParser},Ml=(e,t)=>new Promise((n,r)=>{t?Yh(e).then(i=>{i.arrayBuffer().then(n).catch(r)}).catch(r):Ma(e).then(i=>{n(i.arrayBuffer())}).catch(i=>{r(i)})}),Ln=(e,t)=>new Promise((n,r)=>{t?Yh(e).then(i=>{i.text().then(n).catch(r)}).catch(r):Ma(e).then(i=>{n(i.text())}).catch(r)}),bm=e=>oF(e),Sm=async(e,t)=>{if(_s([typeof FontFace])){const n=e.names.fullName.en,r=new FontFace(n,`url(${t})`);return document.fonts.add(r),r.load()}},Tl=()=>{if(_s([typeof XMLSerializer]))return new XMLSerializer;const e=Fl();return new e.window.XMLSerializer},Dm=e=>btoa(e),Hh=e=>{function t(){const r=new Uint8Array(e),i=4;if(r.length>=i){let a=new Array(i);for(let s=0;s<i;s++)a[s]=new Uint8Array(e)[s].toString(16);switch(a.join("").toUpperCase()){case"89504E47":return"image/png";case"47494638":return"image/gif";case"25504446":return"application/pdf";case"FFD8FFDB":case"FFD8FFE0":return"image/jpeg";case"504B0304":return"application/zip";default:return null}}return null}return t()||"image/svg+xml"},Im=async e=>{const t=await Yh(e);return await fF(t)},AF=e=>{let t="";const n=e.byteLength;for(let r=0;r<n;r++)t+=String.fromCharCode(e[r]);return t},Fm=async e=>{const t=await Hh(e),n=new Uint8Array(e),r=AF(n),i=btoa(r);return`data:${t};base64,${i}`},hF=e=>{const t=e.replace(/\r?\n/g,""),n=t.indexOf(",");if(n===-1||n<=4)throw new TypeError("malformed data: URI");const r=t.substring(5,n).split(";");let i=!1;for(let s=1;s<r.length;s++)r[s]==="base64"&&(i=!0);const a=decodeURI(t.substring(n+1));return i?new Uint8Array(atob(a).split("").map(s=>s.charCodeAt(0))).buffer:new Uint8Array(a.split("").map(s=>s.charCodeAt(0))).buffer},fF=e=>new Promise((t,n)=>{const r=new FileReader;r.onload=function(i){const a=i.target;!a||!a.result?n():t(a.result.toString())},r.readAsDataURL(e)}),Qm=new Map;class gF{constructor(t){this.font=t,this.glyphsFromText=new Map,this.kerningValues=new Map,this.height=this.calculateApproximateHeight()}getFont(){return this.font}getGlyphs(t){const n=this.glyphsFromText.get(t);if(n)return n;const r=this.font.stringToGlyphs(t);return this.glyphsFromText.set(t,r),r}getApproximateHeight(){return this.height}getExactHeight(t){const n=this.font.stringToGlyphs(t);let r=0,i=0;return n.forEach(a=>{const s=a.getMetrics();r=Math.max(r,s.yMax),i=Math.min(i,s.yMin)}),r-i}getKerningValue(t,n){if(!t.name||!n.name)return;let r=this.kerningValues.get(t.name);r||(r=new Map,this.kerningValues.set(t.name,r));let i=r.get(n.name);return i||(i=this.font.getKerningValue(t,n),r.set(n.name,i)),i}calculateApproximateHeight(){const t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",n=this.font.stringToGlyphs(t);let r=0,i=0;return n.forEach(a=>{const s=a.getMetrics();r=Math.max(r,s.yMax),i=Math.min(i,s.yMin)}),r-i}}const dF=e=>e.substring(0,5).toLowerCase().trim()==="data:",Ni=async e=>{try{return ei(e).getFont()}catch{const t=dF(e)?Pi(e):Pi(await Im(e));return Mm(e,t),await Sm(t,e),t}},Pi=e=>{try{return ei(e).getFont()}catch{const t=hF(e),n=qI.parse(t);return Mm(e,n),n}},ei=e=>{const t=Qm.get(e);if(t)return t;throw new Error("Font metrics unavailable for font")},Mm=(e,t)=>{const n=new gF(t);return Qm.set(e,n),n},Nl=(e,t,n,r)=>Math.max(wF(e.join(`
69
- `),n,r),t),Tm=(e,t,n,r,i,a)=>{const s=(a||Vh)*i.getApproximateHeight(),o=t.split(`
70
- `);try{const c=o.flatMap(u=>Pl(u,e.width,r,i)),l=c.flatMap(u=>u.lines);return{lines:l,requiredHeight:c.flatMap(u=>u.lines).length*(r*s),fontSize:n,requiredWidth:Nl(l,e.width,r,i)}}catch{const c=t.split("");return{lines:c,requiredHeight:c.length*(r*s),fontSize:n,requiredWidth:Nl(c,e.width,r,i)}}},Pl=(e,t,n,r)=>{const i=ni(e,n,r);if(i<=t)return{lines:[e],width:i};if(!(e.indexOf(" ")>-1)){if(e.length<=1)throw new Error(`Character ${e} is wider than region`);const l=Math.floor(e.length/2),u=Pl(e.slice(0,l),t,n,r),A=Pl(e.slice(l),t,n,r);return{lines:[...u.lines,...A.lines],width:Math.max(u.width,A.width)}}const a=e.split(" "),s=[];let o=-1/0,c=0;for(;c<a.length;){const l=a[c];if(ni(l,n,r)>t){const u=Pl(l,t,n,r);s.push(...u.lines),o=Math.max(o,u.width),c++}else{const u=[l];o=Math.max(o,ni(l,n,r));let A=c+1,h=!0;for(;A<a.length&&h;){const f=a[A],d=ni(`${u.join(" ")} ${f}`,n,r);d<=t?(u.push(f),o=Math.max(o,d),A++):h=!1}s.push(u.join(" ")),c=A}}if(o<0)throw new Error(`No max width calculated for text: ${s}.`);return{lines:s,width:o}},pF=(e,t,n,r,i,a)=>{const s=(a??Vh)*t.getApproximateHeight(),o=1/n.unitsPerEm,c=Nm(e,o,t),l=e.length*s*o,u=r/c,A=i/l;return Math.min(A,u)},mF=(e,t,n,r)=>{var i;const a=ei(t.fontData.assetUrl),s=a.getFont(),o=t.fontSize/s.unitsPerEm;if(!n)return Tm(t,e,t.fontSize,o,a,r);let c;if(t.text?c=t.text.split(`
71
- `):c=((i=t.input)==null?void 0:i.split(`
72
- `))??[""],n.input===e&&t.width===n.width&&t.height===n.height&&t.lineHeight===n.lineHeight)return{lines:c,requiredHeight:t.height,requiredWidth:Nl(c,t.width,o,a),fontSize:t.fontSize};const l=t.width!==n.width!=(t.height!==n.height);return t.lineHeight===n.lineHeight&&!l&&n.input===e?{lines:c,requiredHeight:t.height,requiredWidth:Nl(c,t.width,o,a),fontSize:pF(c,a,s,t.width,t.height,r)}:Tm(t,e,t.fontSize,o,a,r)},yF=(e,t,n,r,i)=>{const a=ei(t.assetUrl).getFont();let s={...e},o={...e},c=Nm(r,n/a.unitsPerEm,ei(t.assetUrl));return c&&c<s.width&&(o.width=c,i==="left"?(o.left+=Math.sin(s.rotation*Math.PI/360)*(s.width-c),o.top+=Math.sin(s.rotation*Math.PI/180)*(c-s.width)/2):i==="right"?o.left+=s.width-c:o.left+=(s.width-c)/2,r&&vF(r,r).every(([l,u])=>l===u)&&(s=o)),s},Gh=1,ni=(e,t,n)=>{let r=0;const i=n.getGlyphs(e);return i.forEach((a,s)=>{if(a.advanceWidth&&(r+=a.advanceWidth),s<i.length-1){const o=n.getKerningValue(a,i[s+1]);r+=o||0}}),r*=t,r},wF=(e,t,n)=>{let r=0;const i=n.getGlyphs(e);return i.forEach((a,s)=>{if(a.advanceWidth&&(r=Math.max(r,a.advanceWidth)),s<i.length-1){const o=n.getKerningValue(a,i[s+1]);r=Math.max(r,o||0)}}),r*=t,r},Nm=(e,t,n)=>{let r=0;return e.forEach(i=>{r=Math.max(r,ni(i,t,n))}),r},Pm={stripControlCharacters:!0,vertical:!1,uppercase:!1},kl=(e,t=Pm)=>{const n={...Pm,...t};let r=e||"";return n.stripControlCharacters&&(r=r.replace(/^(?![\u000A\u000D])[\u0000-\u001F\u007F-\u009F]/g,"")),n.uppercase&&(r=r.toUpperCase()),n.vertical&&(r=r.split("").join(`
73
- `)),r},vF=(e,t)=>e.map((n,r)=>[n,t[r]]),EF=(e="center",t=!1)=>t?"center":e,km=e=>e==="left"?"start":e==="right"?"end":"middle",qs=(e,t,n)=>e.fontData?{...e,...(()=>{if(e.algorithm===Ea.Traditional){const r=mF(t,e,n,e.lineHeight);return{text:r.lines.join(`
74
- `),height:r.requiredHeight,width:r.requiredWidth,fontSize:r.fontSize,input:t}}else return{text:t}})()}:e,Vh=1.1,Rm=e=>{const t=Om(e.spotColor);return t?`${e.browserValue} ${t}`:e.browserValue},Om=e=>{if(!e)return"";if(e.profileName.includes("/")&&e.profileName.includes(".icc")){const t=e.profileName.replace(/\s/g,"-"),n=t.lastIndexOf("/");return`icc-named-color(${t.slice(n+1).slice(0,-4)}, ${e.namedColor})`}return`icc-named-color(${e.profileName}, ${e.namedColor})`},Um=e=>{const t=e.split(/[ ](?=[^)]*?(?:\(|$))/);if(t.length===0)return{browserValue:"#000000"};if(t.length===1)return{browserValue:t[0]};const n=t[1].match(/\(([^)]+)\)/gm);if(!n)throw new Error("Unhandled state of color value in SVG");const r=n[0].replace(/[() ]/g,"").split(",");return{browserValue:t[0],spotColor:{profileName:r[0],namedColor:r[1]}}},BF=e=>{var t;const n=(e.rotation||0)*Math.PI/180,r=Math.cos(n),i=-Math.sin(n),a=`text-path-${e.id}`,s=`text-fill-${e.id}`,o=e.x+(e.curved?0:e.width/2),c=e.y+(e.curved?0:e.height/2),l=(e.text||"").split(`
75
- `);if(e.curved&&!e.paths||!e.fontData)return null;const u=()=>{var A;return e.textFillImage?`url("#${s}")`:(A=e._renderingConfiguration)!=null&&A.spotColors&&e.fillSpotColorDefinition?`${e.fill} ${Om(e.fillSpotColorDefinition)}`:e.fill};return ut(ze,{children:[ut("defs",{children:[e.textFillImage&&ut("pattern",{id:s,patternUnits:"userSpaceOnUse",width:e.textFillImage.scale*e.textFillImage.width,height:e.textFillImage.scale*e.textFillImage.height,x:0,y:0,children:ut("image",{href:e.textFillImage.src,xlinkHref:e.textFillImage.src,width:e.textFillImage.scale*e.textFillImage.width,height:e.textFillImage.scale*e.textFillImage.height})}),ut("style",{type:"text/css",dangerouslySetInnerHTML:{__html:`
76
- @font-face {
77
- font-family: '${e.fontData.name}';
78
- src: url('${e.fontData.assetUrl}') format('truetype');
79
- }
80
- `}}),e.curved&&e.paths?ut("path",{id:a,d:e.paths[0]}):void 0]}),(t=e._renderingConfiguration)!=null&&t.debug?ut("rect",{stroke:"blue",fill:"none",x:e.x,y:e.y,width:e.width,height:e.height}):void 0,ut("g",{mask:e.stepName?void 0:e.mask,children:ut("g",{transform:`matrix(${r}, ${-i}, ${i}, ${r}, ${o}, ${c})`,children:ut("text",{xmlSpace:"preserve",fontFamily:`'${e.fontData.name}'`,fontSize:e.fontSize,fontStyle:"normal",fontWeight:"normal",fill:u(),style:{whiteSpace:"pre",userSelect:"none"},children:e.curved?ut(xF,{text:e.text||"",curvedPathId:a,align:e.align}):l.map((A,h)=>ut(CF,{align:e.vertical?"center":e.align,fontSize:e.fontSize,thisLineIdx:h,amountLines:l.length,text:A,textboxHeight:e.height,textboxWidth:e.width,lineHeight:e.lineHeight,vertical:e.vertical,verticalAlign:e.verticalAlign},h))})})})]})},CF=e=>{const t=()=>e.lineHeight!==void 0?e.lineHeight:Vh,n=()=>e.align==="left"?-e.textboxWidth/2:e.align==="right"?e.textboxWidth/2:0,r=()=>{const i=e.fontSize*t(),a=e.textboxHeight/2;if(e.verticalAlign==="top")return-a+e.fontSize*3/4+e.thisLineIdx*i;if(e.verticalAlign==="bottom"){const o=e.amountLines-1-e.thisLineIdx;return a-e.fontSize/4-o*i}const s=(e.amountLines-1)/2;return(e.thisLineIdx-s)*i+e.fontSize/4};return ut("tspan",{textAnchor:km(e.align),x:n(),y:`${r()}px`,children:e.text})},xF=e=>{const t=`#${e.curvedPathId}`;return ut("textPath",{startOffset:(()=>e.align==="left"?"0%":e.align==="right"?"100%":"50%")(),textAnchor:km(e.align),href:t,xlinkHref:t,children:e.text})};var Lm=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,bF=function(e,t){t=t||{};var n=1,r=1;function i(O){var M=O.match(/\n/g);M&&(n+=M.length);var V=O.lastIndexOf(`
81
- `);r=~V?O.length-V:r+O.length}function a(){var O={line:n,column:r};return function(M){return M.position=new s(O),d(),M}}function s(O){this.start=O,this.end={line:n,column:r},this.source=t.source}s.prototype.content=e;var o=[];function c(O){var M=new Error(t.source+":"+n+":"+r+": "+O);if(M.reason=O,M.filename=t.source,M.line=n,M.column=r,M.source=e,t.silent)o.push(M);else throw M}function l(){var O=h();return{type:"stylesheet",stylesheet:{source:t.source,rules:O,parsingErrors:o}}}function u(){return f(/^{\s*/)}function A(){return f(/^}/)}function h(){var O,M=[];for(d(),p(M);e.length&&e.charAt(0)!="}"&&(O=ot()||lt());)O!==!1&&(M.push(O),p(M));return M}function f(O){var M=O.exec(e);if(M){var V=M[0];return i(V),e=e.slice(V.length),M}}function d(){f(/^\s*/)}function p(O){var M;for(O=O||[];M=m();)M!==!1&&O.push(M);return O}function m(){var O=a();if(!(e.charAt(0)!="/"||e.charAt(1)!="*")){for(var M=2;e.charAt(M)!=""&&(e.charAt(M)!="*"||e.charAt(M+1)!="/");)++M;if(M+=2,e.charAt(M-1)==="")return c("End of comment missing");var V=e.slice(2,M-2);return r+=2,i(V),e=e.slice(M),r+=2,O({type:"comment",comment:V})}}function y(){var O=f(/^([^{]+)/);if(O)return vr(O[0]).replace(/\/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*\/+/g,"").replace(/"(?:\\"|[^"])*"|'(?:\\'|[^'])*'/g,function(M){return M.replace(/,/g,"‌")}).split(/\s*(?![^(]*\)),\s*/).map(function(M){return M.replace(/\u200C/g,",")})}function v(){var O=a(),M=f(/^(\*?[-#\/\*\\\w]+(\[[0-9a-z_-]+\])?)\s*/);if(M){if(M=vr(M[0]),!f(/^:\s*/))return c("property missing ':'");var V=f(/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^\)]*?\)|[^};])+)/),X=O({type:"declaration",property:M.replace(Lm,""),value:V?vr(V[0]).replace(Lm,""):""});return f(/^[;\s]*/),X}}function w(){var O=[];if(!u())return c("missing '{'");p(O);for(var M;M=v();)M!==!1&&(O.push(M),p(O));return A()?O:c("missing '}'")}function B(){for(var O,M=[],V=a();O=f(/^((\d+\.\d+|\.\d+|\d+)%?|[a-z]+)\s*/);)M.push(O[1]),f(/^,\s*/);if(M.length)return V({type:"keyframe",values:M,declarations:w()})}function C(){var O=a(),M=f(/^@([-\w]+)?keyframes\s*/);if(M){var V=M[1],M=f(/^([-\w]+)\s*/);if(!M)return c("@keyframes missing name");var X=M[1];if(!u())return c("@keyframes missing '{'");for(var st,Mt=p();st=B();)Mt.push(st),Mt=Mt.concat(p());return A()?O({type:"keyframes",name:X,vendor:V,keyframes:Mt}):c("@keyframes missing '}'")}}function x(){var O=a(),M=f(/^@supports *([^{]+)/);if(M){var V=vr(M[1]);if(!u())return c("@supports missing '{'");var X=p().concat(h());return A()?O({type:"supports",supports:V,rules:X}):c("@supports missing '}'")}}function b(){var O=a(),M=f(/^@host\s*/);if(M){if(!u())return c("@host missing '{'");var V=p().concat(h());return A()?O({type:"host",rules:V}):c("@host missing '}'")}}function D(){var O=a(),M=f(/^@media *([^{]+)/);if(M){var V=vr(M[1]);if(!u())return c("@media missing '{'");var X=p().concat(h());return A()?O({type:"media",media:V,rules:X}):c("@media missing '}'")}}function T(){var O=a(),M=f(/^@custom-media\s+(--[^\s]+)\s*([^{;]+);/);if(M)return O({type:"custom-media",name:vr(M[1]),media:vr(M[2])})}function P(){var O=a(),M=f(/^@page */);if(M){var V=y()||[];if(!u())return c("@page missing '{'");for(var X=p(),st;st=v();)X.push(st),X=X.concat(p());return A()?O({type:"page",selectors:V,declarations:X}):c("@page missing '}'")}}function L(){var O=a(),M=f(/^@([-\w]+)?document *([^{]+)/);if(M){var V=vr(M[1]),X=vr(M[2]);if(!u())return c("@document missing '{'");var st=p().concat(h());return A()?O({type:"document",document:X,vendor:V,rules:st}):c("@document missing '}'")}}function U(){var O=a(),M=f(/^@font-face\s*/);if(M){if(!u())return c("@font-face missing '{'");for(var V=p(),X;X=v();)V.push(X),V=V.concat(p());return A()?O({type:"font-face",declarations:V}):c("@font-face missing '}'")}}var z=Z("import"),J=Z("charset"),W=Z("namespace");function Z(O){var M=new RegExp("^@"+O+"\\s*([^;]+);");return function(){var V=a(),X=f(M);if(X){var st={type:O};return st[O]=X[1].trim(),V(st)}}}function ot(){if(e[0]=="@")return C()||D()||T()||x()||z()||J()||W()||L()||P()||b()||U()}function lt(){var O=a(),M=y();return M?(p(),O({type:"rule",selectors:M,declarations:w()})):c("selector missing")}return zh(l())};function vr(e){return e?e.replace(/^\s+|\s+$/g,""):""}function zh(e,t){var n=e&&typeof e.type=="string",r=n?e:t;for(var i in e){var a=e[i];Array.isArray(a)?a.forEach(function(s){zh(s,r)}):a&&typeof a=="object"&&zh(a,r)}return n&&Object.defineProperty(e,"parent",{configurable:!0,writable:!0,enumerable:!1,value:t||null}),e}var SF=bF;const DF=["altGlyph","circle","ellipse","path","polygon","polyline","rect","text","textPath","tref","tspan"],Ta=(e,t)=>{t(e),e.children.length>0&&Array.from(e.children).forEach(n=>Ta(n,t))},IF=(e,t)=>{try{return e.matches(t)}catch{return e.classList.contains(t.substring(1))}},Jh=(e,t=!1)=>{!t&&e.setAttribute("preserveAspectRatio","none");const n=[];Ta(e,r=>{var i;if(r.tagName==="script"){r.remove();return}if(r.tagName==="style"){try{(i=SF(r.innerHTML).stylesheet)==null||i.rules.forEach(a=>{n.push(a)}),r.remove()}catch(a){console.error(a)}return}}),Ta(e,r=>{n.forEach(i=>{var a;(a=i.selectors)==null||a.forEach(s=>{var o;IF(r,s)&&((o=i.declarations)==null||o.forEach(c=>{c.property&&c.value&&r.setAttribute(c.property,c.value)}))})})})},FF=e=>ti().parseFromString(e,"image/svg+xml").firstElementChild,QF=(e,t,n)=>{e.setAttribute("height",`${n}px`),e.setAttribute("width",`${t}px`)},MF=(e,t,n)=>{Ta(e,r=>{const i=r.attributes.getNamedItem("fill");i&&i.value!=="none"&&r.classList.forEach(s=>{if(s.startsWith("spiff-fill")){const o=t[s];o&&r.setAttribute("fill",n?Rm(o):o.browserValue)}});const a=r.attributes.getNamedItem("stroke");a&&a.value!=="none"&&r.classList.forEach(s=>{if(s.startsWith("spiff-stroke")){const o=t[s];o&&r.setAttribute("stroke",n?Rm(o):o.browserValue)}})})},TF=e=>Tl().serializeToString(e),jh=(e,t,n,r,i)=>{const a=FF(e);if(!a)throw new Error("Failed to read SVG.");return QF(a,t,n),MF(a,r,i),TF(a)},Na=async e=>{const t=/<svg.*?<\/svg>/s,n=e.match(t)||[],r=(n==null?void 0:n.length)>0?n[0]:"",i=ti().parseFromString(r,"image/svg+xml").firstElementChild;if(!i)throw new Error("Failed to read SVG.");Jh(i);const a={};Ta(i,o=>{DF.includes(o.tagName)&&!o.attributes.getNamedItem("fill")&&o.setAttribute("fill","black");const c=o.attributes.getNamedItem("fill");if(c&&c.value!=="none"){const u=Um(c.value),A=`spiff-fill-${u.browserValue.replace(/\W/g,"")}`;o.setAttribute("fill",u.browserValue),o.classList.add(A),a[A]=u}const l=o.attributes.getNamedItem("stroke");if(l&&l.value!=="none"){const u=Um(l.value),A=`spiff-stroke-${u.browserValue.replace(/\W/g,"")}`;o.classList.add(A),o.setAttribute("stroke",u.browserValue),a[A]=u}});const s=Tl().serializeToString(i);return{colors:a,svg:s}},NF=e=>{var t,n;if(e.cachedObjectURL&&!((t=e._renderingConfiguration)!=null&&t.omitCachedFields))return ut(Ap,{id:e.id,src:e.cachedObjectURL,x:e.x,y:e.y,width:e.width,height:e.height,rotation:e.rotation,preserveAspectRatio:"none",immutable:e.immutable,mask:e.stepName?void 0:e.mask});const r=e.rotation||0,i=sl(r),a=Math.cos(i),s=-Math.sin(i),o=`
82
- matrix(1, 0, 0, 1, ${e.x}, ${e.y})
83
- matrix(1, 0, 0, 1, ${e.width/2}, ${e.height/2})
84
- matrix(${a}, ${-s}, ${s}, ${a}, 0, 0)
85
- matrix(1, 0, 0, 1, ${-e.width/2}, ${-e.height/2})
86
- `;if(!e.svg)throw new Error(`Illustration element ${e.id} (stepName ${e.stepName}) lacked svg from src ${e.src} at render time.`);return ut("g",{mask:e.stepName?void 0:e.mask,children:ut("g",{transform:o,dangerouslySetInnerHTML:{__html:jh(e.svg,e.width,e.height,e.colors,(n=e._renderingConfiguration)==null?void 0:n.spotColors)}})})};class Ym{constructor(){this.id=Dt(),this.stateCallbacks=[],this.prevCommands=[],this.nextCommands=[]}registerStateCallback(t){this.stateCallbacks.push(t)}unregisterStateCallback(t){this.stateCallbacks.filter(n=>n!==t)}getState(){return this.state}runStateCallbacks(){this.stateCallbacks.forEach(t=>t())}apply(t,n){if(!this.state)throw new Error(`State not initialized for cc ${this.id}!`);this.state=this.commandReducer(this.state,t),this.runStateCallbacks(),this.nextCommands=[],n||this.prevCommands.push(t)}undo(){if(!this.state)return;const t=this.prevCommands.pop();if(!t)return;const n=t.undo();t.varying?this.state={...this.state,variation:n}:this.state={...this.state,transaction:n},this.nextCommands.push(t),this.runStateCallbacks()}redo(){if(!this.state)return;const t=this.nextCommands.pop();t&&(this.state=this.commandReducer(this.state,t),this.runStateCallbacks(),this.prevCommands.push(t))}flattenSequence(t,n){const r=this.prevCommands.filter(i=>i.sequenceId===t).pop();r&&(this.prevCommands=this.prevCommands.filter(i=>i.sequenceId!==t),r==null||r.overrideOldState(n),this.prevCommands.push(r))}getLayoutById(t){var n,r,i,a;if(!this.state)throw new Error(`State not initialized for cc ${this.id}!`);const s=(r=(n=this.state.transaction)==null?void 0:n.layouts)==null?void 0:r[t],o=(a=(i=this.state.variation)==null?void 0:i.layouts)==null?void 0:a[t],c=(s==null?void 0:s.layout)||(o==null?void 0:o.layout);if(!c)throw new Error(`No layout: ${t}`);const l=[...(s==null?void 0:s.elements)||[],...(o==null?void 0:o.elements)||[]];return this.getLayoutDataWithState(c,l)}getAllLayouts(){var t,n;if(!this.state)throw new Error(`State not initialized for cc ${this.id}!`);const r=[...Object.keys((t=this.state.transaction)==null?void 0:t.layouts),...Object.keys(((n=this.state.variation)==null?void 0:n.layouts)||{})];return[...new Set(r)].map(i=>this.getLayoutById(i))}getLayoutDataWithState(t,n){return{layoutState:{layout:t,elements:n},getComponentWithProps:r=>Rl(t,n,r)}}initialize(t,n){if(n){this.state={transaction:n};return}let r={serializableWorkflow:{steps:[]},layouts:{}};t.forEach(i=>{r=new Kh(i).apply(r)}),this.runStateCallbacks(),this.state={transaction:r}}commandReducer(t,n){if(n.varying){const r={layouts:{},serializableWorkflow:{steps:[]},...t.variation};return{...t,variation:n.apply(r)}}else{const r=t.transaction||{layouts:{},serializableWorkflow:{steps:[]}};return{...t,transaction:n.apply(r)}}}}const PF=e=>e.type==="image"?ut(Ap,{...e},e.id):e.type==="frame"?ut(Qb,{...e},e.id):e.type==="illustration"?ut(NF,{...e},e.id):e.type==="textbox"?ut(BF,{...e},e.id):null,Rl=(e,t,n)=>{const r=n.renderingConfiguration,i=r!=null&&r.removeExcludedElements?t.filter(a=>!a.excludeFromExport):t;return ut(U2,{preserveAspectRatio:void 0,elements:i,backgroundColor:e.transparentBackground?void 0:"white",width:n.width||e.width,height:n.height||e.height,viewBox:r!=null&&r.region?{x:r.region.left,y:r.region.top,width:r.region.width,height:r.region.height}:{x:0,y:0,width:e.width,height:e.height},configuration:r,outlineArea:n.outlineArea,maxHeight:n.maxHeight,maxWidth:n.maxWidth,position:n.position,borderRadius:n.borderRadius,outlineColor:n.outlineColor})};function Wh(e){return e.sort((t,n)=>{const r=t.layer||0,i=n.layer||0;if(r<i)return-1;if(r>i)return 1;const a=t.layerIndex||0,s=n.layerIndex||0;return a<s?-1:a>s?1:0})}class Pe extends Error{constructor(){super("Element not found!"),Object.setPrototypeOf(this,Pe.prototype)}}const we=(e,t)=>wn(e,t).elements.find(n=>n.id===e),wn=(e,t)=>{const n=Object.values(t).find(r=>r.elements.some(i=>i.id===e));if(!n)throw new Pe;return n},Yn=(e,t)=>{const n=[...t.elements.filter(i=>i.id!==e.id),e],r=Wh(n);return{layout:t.layout,elements:r,modificationID:Dt()}},ki=async(e,t)=>{const n=[...Object.keys(e.layouts),...Object.keys((t==null?void 0:t.layouts)||{})],r=[...new Set(n)];for(let i=0;i<r.length;i++){const a=r[i],s=e.layouts[a],o=t==null?void 0:t.layouts[a],c=s||o;await Promise.all(c.elements.map(async l=>{if(l.type==="illustration"){const u=l;if(u.src&&!u.svg){const A=await Ln(u.src),h=await Na(A);u.svg=jh(h.svg,u.width,u.height,u.colors)}}isNaN(l.x)&&(l.x=0),isNaN(l.y)&&(l.y=0),isNaN(l.width)&&(l.width=0),isNaN(l.height)&&(l.height=0),isNaN(l.rotation)&&(l.rotation=0)}))}};class le{undo(){if(!this.oldState)throw new Error("Cannot undo.");return this.oldState}overrideOldState(t){this.oldState=t}}class Hm extends le{constructor(t){super(),this.serializableWorkflow=t}apply(t){return this.oldState=t,{...t,serializableWorkflow:this.serializableWorkflow}}}class kF extends le{constructor(t,n,r){super(),this.id=t,this.x=n,this.y=r}apply(t){this.oldState=t;const n=we(this.id,Object.values(t.layouts));if(!n.id)throw new Pe;const r={...n,x:this.x,y:this.y},i=wn(n.id,Object.values(t.layouts)),a=Yn(r,i);return{...t,layouts:{...t.layouts,[i.layout.id]:a}}}}class RF extends le{constructor(t,n){super(),this.id=t,this.angle=n}apply(t){this.oldState=t;const n=we(this.id,Object.values(t.layouts));if(!n.id)throw new Pe;const r={...n,rotation:this.angle},i=wn(n.id,Object.values(t.layouts)),a=Yn(r,i);return{...t,layouts:{...t.layouts,[i.layout.id]:a}}}}class OF extends le{constructor(t,n,r){super(),this.id=t,this.width=Math.abs(n),this.height=Math.abs(r)}apply(t){this.oldState=t;const n=we(this.id,Object.values(t.layouts));if(!n.id)throw new Pe;let r={...n,width:this.width,height:this.height};if(n.type==="frame"){const s=r;s.scaleX=s.scaleX*this.width/n.width,s.scaleY=s.scaleY*this.height/n.height}else if(n.type==="textbox"){const s=r,o=(!s.algorithm||s.algorithm===Ea.Autosize?s.text:s.input)??"";r=qs(s,o,n)}const i=wn(n.id,Object.values(t.layouts)),a=Yn(r,i);return{...t,layouts:{...t.layouts,[i.layout.id]:a}}}}class $t extends le{constructor(t){super(),this.commands=t}apply(t){return this.oldState=t,this.commands.reduce((n,r)=>r.apply(n),t)}}class Kh extends le{constructor(t){super(),this.layout=t}apply(t){return this.oldState=t,{...t,layouts:{...t.layouts,[this.layout.id]:{elements:[],layout:{...this.layout},modificationID:Dt()}}}}}class ve extends le{constructor(t,n){super(),this.element=t,this.layout=n}apply(t){this.oldState=t,t.layouts[this.layout.id]||(t.layouts[this.layout.id]={layout:this.layout,elements:[],modificationID:""});const n=t.layouts[this.layout.id].elements;if(n.find(s=>s.id===this.element.id))throw new Error(`Failed to apply new ${this.element.type} element because ID ${this.element.id} already taken`);if(this.element.productOverlay||n.length===0){const s=[...n,this.element];return this.element.layerIndex===void 0&&(this.element.layerIndex=this.assignIndex(this.element,s)),{...t,layouts:{...t.layouts,[this.layout.id]:{...t.layouts[this.layout.id],elements:s,modificationID:Dt()}}}}const r=n[n.length-1],i=r.productOverlay?r:null;i&&n.pop();let a;if(this.element.layerIndex!==null&&this.element.layerIndex!==void 0)a=[...n,this.element].sort((s,o)=>s.layerIndex!==void 0&&o.layerIndex!==void 0?s.layerIndex-o.layerIndex:0);else{const s=this.assignIndex(this.element,n);this.element.layerIndex=s!==void 0?s:0,a=[...n,this.element]}return i&&a.push(i),{...t,layouts:{...t.layouts,[this.layout.id]:{...t.layouts[this.layout.id],elements:a,modificationID:Dt()}}}}assignIndex(t,n){var r;if(n.length===0)return 0;const i=(r=n.filter(a=>(a.layer||0)===(t.layer||0)).sort((a,s)=>(a.layerIndex||0)-(s.layerIndex||0))[n.length-1])==null?void 0:r.layerIndex;return i!==void 0?i+1:0}}class ri extends le{constructor(t){super(),this.id=t}apply(t){this.oldState=t;let n=!1;const r=Object.values(t.layouts).map(a=>(a.elements.filter(s=>s.id!==this.id).length!==a.elements.length&&(n=!0),{...a,elements:a.elements.filter(s=>s.id!==this.id),modificationID:Dt()}));n||console.log(`Failed to delete element ${this.id}`);const i={};return r.forEach(a=>{i[a.layout.id]=a}),{...t,layouts:i}}}class Gm extends le{constructor(t,n,r){super(),this.id=t,this.color=n,this.textFillSpotColor=r}apply(t){this.oldState=t;const n=we(this.id,Object.values(t.layouts));if(!n.id)throw new Pe;const r={...n,fill:this.color,fillSpotColorDefinition:this.textFillSpotColor,textFillImage:void 0},i=wn(n.id,Object.values(t.layouts)),a=Yn(r,i);return{...t,layouts:{...t.layouts,[i.layout.id]:a}}}}class Xh extends le{constructor(t,n){super(),this.id=t,this.imageFill=n}apply(t){this.oldState=t;const n=we(this.id,Object.values(t.layouts));if(!n.id)throw new Pe;const r={...n,textFillImage:this.imageFill},i=wn(n.id,Object.values(t.layouts)),a=Yn(r,i);return{...t,layouts:{...t.layouts,[i.layout.id]:a}}}}class Vm extends le{constructor(t,n){super(),this.id=t,this.size=n}apply(t){this.oldState=t;const n=we(this.id,Object.values(t.layouts));if(!n.id)throw new Pe;const r={...n,fontSize:this.size},i=wn(n.id,Object.values(t.layouts)),a=(!n.algorithm||n.algorithm===Ea.Autosize?n.text:n.input)??"",s=Yn(qs(r,a),i);return{...t,layouts:{...t.layouts,[i.layout.id]:s}}}}class _h extends le{constructor(t,n){super(),this.id=t,this.fontData=n}apply(t){this.oldState=t;const n=we(this.id,Object.values(t.layouts));if(!n.id)throw new Pe;const r={...n,fontData:this.fontData},i=wn(n.id,Object.values(t.layouts)),a=(!n.algorithm||n.algorithm===Ea.Autosize?n.text:n.input)??"",s=Yn(qs(r,a),i);return{...t,layouts:{...t.layouts,[i.layout.id]:s}}}}class UF extends le{constructor(t,n){super(),this.id=t,this.align=n}apply(t){this.oldState=t;const n=we(this.id,Object.values(t.layouts));if(!n.id)throw new Pe;const r={...n,align:this.align},i=wn(n.id,Object.values(t.layouts)),a=Yn(r,i);return{...t,layouts:{...t.layouts,[i.layout.id]:a}}}}class zm extends le{constructor(t,n,r){super(),this.id=t,this.imageData=n,this.offsets=r}apply(t){this.oldState=t;const n=wn(this.id,Object.values(t.layouts)),r=n.elements.findIndex(o=>o.id===this.id),i=n.elements[r].pattern,a=[...n.elements];a.splice(r,1,{...n.elements[r],pattern:{...i,src:this.imageData.src,x:this.offsets.x,y:this.offsets.y,width:this.imageData.width,height:this.imageData.height,scaleX:this.offsets.zoom,scaleY:this.offsets.zoom}});const s={...n,elements:a,modificationID:Dt()};return{...t,layouts:{...t.layouts,[n.layout.id]:s}}}}class Jm extends le{constructor(t,n){super(),this.id=t,this.text=n}apply(t){this.oldState=t;const n=we(this.id,Object.values(t.layouts));if(!n.id)throw new Pe;const r=wn(n.id,Object.values(t.layouts)),i=Yn(qs(n,this.text,n),r);return{...t,layouts:{...t.layouts,[r.layout.id]:i}}}}class qh extends le{constructor(t,n,r){super(),this.id=t,this.className=n,this.fill=r}apply(t){this.oldState=t;const n=we(this.id,Object.values(t.layouts));if(!n.id)throw new Pe;const r=n.colors||{},i=r[this.className];r[this.className]={browserValue:this.fill,spotColor:i==null?void 0:i.spotColor};const a={...n,colors:r},s=wn(n.id,Object.values(t.layouts)),o=Yn(a,s);return{...t,layouts:{...t.layouts,[s.layout.id]:o}}}}class LF extends le{constructor(t,n,r){super(),this.id=t,this.svgBody=n,this.objectURL=r}apply(t){this.oldState=t;const n=we(this.id,Object.values(t.layouts));if(!n.id)throw new Pe;const r={...n,svg:this.svgBody,cachedObjectURL:this.objectURL},i=wn(n.id,Object.values(t.layouts)),a=Yn(r,i);return{...t,layouts:{...t.layouts,[i.layout.id]:a}}}}class YF extends le{constructor(t){super(),this.id=t}apply(t){if(this.oldState=t,!we(this.id,Object.values(t.layouts)).id)throw new Pe;const n=Object.values(t.layouts).find(a=>a.elements.find(s=>s.id===this.id));if(!n)throw new Error("Layout missing from state!");const r=n.elements.findIndex(a=>a.id===this.id);n.elements.push(n.elements.splice(r,1)[0]);const i=[...n.elements];return i.forEach((a,s)=>a.layerIndex=s),{...t,layouts:{...t.layouts,[n.layout.id]:{...t.layouts[n.layout.id],elements:i,modificationID:Dt()}}}}}class HF extends le{constructor(t){super(),this.id=t}apply(t){this.oldState=t;const n=we(this.id,Object.values(t.layouts));if(!n.id)throw new Pe;const r=Object.values(t.layouts).find(o=>o.elements.find(c=>c.id===this.id));if(!r)throw new Error("Layout missing from state!");const i=r.elements.findIndex(o=>o.id===this.id);r.elements.splice(i,1),r.elements.unshift(n);const a=[...r.elements],s=a.splice(i,1)[0];return a.splice(i,0,s),a.forEach((o,c)=>o.layerIndex=c),{...t,layouts:{...t.layouts,[r.layout.id]:{...t.layouts[r.layout.id],elements:a,modificationID:Dt()}}}}}class GF extends le{constructor(t){super(),this.id=t}apply(t){if(this.oldState=t,!we(this.id,Object.values(t.layouts)).id)throw new Pe;const n=Object.values(t.layouts).find(o=>o.elements.find(c=>c.id===this.id));if(!n)throw new Error("Layout missing from state!");const r=n.elements.findIndex(o=>o.id===this.id),i=r+1,a=[...n.elements],s=a.splice(r,1)[0];return a.splice(i,0,s),a.forEach((o,c)=>o.layerIndex=c),{...t,layouts:{...t.layouts,[n.layout.id]:{...t.layouts[n.layout.id],elements:a,modificationID:Dt()}}}}}class VF extends le{constructor(t){super(),this.id=t}apply(t){if(this.oldState=t,!we(this.id,Object.values(t.layouts)).id)throw new Pe;const n=Object.values(t.layouts).find(o=>o.elements.find(c=>c.id===this.id));if(!n)throw new Error("Layout missing from state!");const r=n.elements.findIndex(o=>o.id===this.id),i=r-1,a=[...n.elements],s=a.splice(r,1)[0];return a.splice(i,0,s),a.forEach((o,c)=>o.layerIndex=c),{...t,layouts:{...t.layouts,[n.layout.id]:{...t.layouts[n.layout.id],elements:a,modificationID:Dt()}}}}}let Zh,$h;const ii=(e,t,n)=>{if(Zh!==void 0)return Zh(e,t,n);try{const r=Wm(!0);return jm(r),r.createCanvas(e,t,n)}catch{throw new Error("Canvas module not set")}},Zs=(e,t)=>{if($h!==void 0)return $h(e,t);try{const n=Wm(!0);return jm(n),n.loadImage(e,t)}catch{throw new Error("Canvas module not set")}};function jm(e){Zh=e==null?void 0:e.createCanvas,$h=e==null?void 0:e.loadImage}function Wm(e){try{if(document.createElement("canvas").getContext("2d"))return{createCanvas:(t,n,r)=>{const i=document.createElement("canvas");return t!=null&&(i.width=t),n!=null&&(i.height=n),i},loadImage:(t,n)=>new Promise((r,i)=>{const a=new Image;n!==!1&&(a.crossOrigin="anonymous"),a.onload=()=>{r(a)},a.onerror=i,a.src=t})}}catch(t){if(e)throw t}}let tf;function ef(){return tf===void 0&&(tf=DOMParser),tf}function It(e,t,n){const r=[];for(let i=0;i<n&&t+i<e.byteLength;i++)r.push(e.getUint8(t+i));return Pa(r)}function zF(e,t,n){const r=[];for(let i=0;i<n&&t+i<e.byteLength;i+=2)r.push(e.getUint16(t+i));return Pa(r)}function Pa(e){return e.map(t=>String.fromCharCode(t)).join("")}function Lt(){for(let e=1;e<arguments.length;e++)for(const t in arguments[e])arguments[0][t]=arguments[e][t];return arguments[0]}function Km(e,t,n){let r=!1;Object.defineProperty(e,t,{get(){return r||(r=!0,Object.defineProperty(e,t,{configurable:!0,enumerable:!0,value:n.apply(e),writable:!0})),e[t]},configurable:!0,enumerable:!0})}function Xm(e){if(typeof btoa<"u")return btoa(typeof e=="string"?e:Array.prototype.reduce.call(new Uint8Array(e),(t,n)=>t+String.fromCharCode(n),""));if(!(typeof Buffer>"u"))return typeof Buffer.from!==void 0?Buffer.from(e).toString("base64"):new Buffer(e).toString("base64")}function JF(e){const t=e.substring(e.indexOf(",")+1);if(e.indexOf(";base64")!==-1)return typeof atob<"u"?Uint8Array.from(atob(t),r=>r.charCodeAt(0)).buffer:typeof Buffer>"u"?void 0:typeof Buffer.from!==void 0?Buffer.from(t,"base64"):new Buffer(t,"base64");const n=decodeURIComponent(t);return typeof Buffer<"u"?typeof Buffer.from!==void 0?Buffer.from(n):new Buffer(n):Uint8Array.from(n,r=>r.charCodeAt(0)).buffer}let jF=class{constructor(e){if(WF(e))throw new Error("DataView: Passed buffer type is unsupported.");this.buffer=e,this.byteLength=this.buffer.length}getUint8(e){return this.buffer.readUInt8(e)}getUint16(e,t){return t?this.buffer.readUInt16LE(e):this.buffer.readUInt16BE(e)}getUint32(e,t){return t?this.buffer.readUInt32LE(e):this.buffer.readUInt32BE(e)}getInt32(e,t){return t?this.buffer.readInt32LE(e):this.buffer.readInt32BE(e)}};function WF(e){return typeof e!="object"||e.length===void 0||e.readUInt8===void 0||e.readUInt16LE===void 0||e.readUInt16BE===void 0||e.readUInt32LE===void 0||e.readUInt32BE===void 0||e.readInt32LE===void 0||e.readInt32BE===void 0}function Ee(e){return e.map(t=>String.fromCharCode(t)).join("")}function nf(e){if(e.length>=8){const t=Ee(e.slice(0,8));if(t==="ASCII\0\0\0")return Ee(e.slice(8));if(t==="JIS\0\0\0\0\0")return"[JIS encoded text]";if(t==="UNICODE\0")return"[Unicode encoded text]";if(t==="\0\0\0\0\0\0\0\0")return"[Undefined encoding]"}return"Undefined"}function Ol(e){return e[0][0]/e[0][1]+e[1][0]/e[1][1]/60+e[2][0]/e[2][1]/3600}const rf=18761,af=19789,Ri={BIG_ENDIAN:af,LITTLE_ENDIAN:rf,getByteOrder:KF};function KF(e,t){if(e.getUint16(t)===rf)return rf;if(e.getUint16(t)===af)return af;throw new Error("Illegal byte order value. Faulty image.")}const _m={isTiffFile:XF,findTiffOffsets:qF};function XF(e){return!!e&&e.byteLength>=4&&_F(e)}function _F(e){const t=e.getUint16(0)===Ri.LITTLE_ENDIAN;return e.getUint16(2,t)===42}function qF(){return{hasAppMarkers:!0,tiffHeaderOffset:0}}const qm={isJpegFile:g3,findJpegOffsets:d3},ZF=2,$F=65496,Zm=2,Sn=4,un=2,t3=2,e3=10,n3=18,$m=33,ty=79,ey=18,r3=8,sf="ICC_PROFILE\0",ny=Sn+sf.length,i3=ny+1,ry="MPF\0",iy=65472,ay=65474,a3=65476,s3=65499,o3=65501,c3=65498,sy=65504,of=65505,oy=65506,l3=65517,u3=65519,A3=65534,h3=65535,f3="JFIF",cf="Exif",cy="http://ns.adobe.com/xap/1.0/\0",ly="http://ns.adobe.com/xmp/extension/\0",uy="Photoshop 3.0";function g3(e){return!!e&&e.byteLength>=ZF&&e.getUint16(0)===$F}function d3(e){let t=Zm,n,r,i,a,s,o,c,l,u;for(;t+Sn+5<=e.byteLength;){if(p3(e,t))r=t+un;else if(m3(e,t))i=t+un;else if(v3(e,t))n=e.getUint16(t+un),a=t+t3;else if(E3(e,t))n=e.getUint16(t+un),s=t+e3;else if(B3(e,t))c||(c=[]),n=e.getUint16(t+un),c.push(S3(t,n));else if(x3(e,t))c||(c=[]),n=e.getUint16(t+un),c.push(D3(t,n));else if(I3(e,t))n=e.getUint16(t+un),o=t+n3;else if(y3(e,t)){n=e.getUint16(t+un);const A=t+ey,h=n-(ey-un),f=e.getUint8(t+ny),d=e.getUint8(t+i3);l||(l=[]),l.push({offset:A,length:h,chunkNumber:f,chunksTotal:d})}else if(w3(e,t))n=e.getUint16(t+un),u=t+r3;else if(F3(e,t))n=e.getUint16(t+un);else if(Q3(e,t)){t++;continue}else break;t+=un+n}return{hasAppMarkers:t>Zm,fileDataOffset:r||i,jfifDataOffset:a,tiffHeaderOffset:s,iptcDataOffset:o,xmpChunks:c,iccChunks:l,mpfDataOffset:u}}function p3(e,t){return e.getUint16(t)===iy}function m3(e,t){return e.getUint16(t)===ay}function y3(e,t){const n=sf.length;return e.getUint16(t)===oy&&It(e,t+Sn,n)===sf}function w3(e,t){const n=ry.length;return e.getUint16(t)===oy&&It(e,t+Sn,n)===ry}function v3(e,t){const n=cf.length;return e.getUint16(t)===sy&&It(e,t+Sn,n)===f3&&e.getUint8(t+Sn+n)===0}function E3(e,t){const n=cf.length;return e.getUint16(t)===of&&It(e,t+Sn,n)===cf&&e.getUint8(t+Sn+n)===0}function B3(e,t){return e.getUint16(t)===of&&C3(e,t)}function C3(e,t){const n=cy.length;return It(e,t+Sn,n)===cy}function x3(e,t){return e.getUint16(t)===of&&b3(e,t)}function b3(e,t){const n=ly.length;return It(e,t+Sn,n)===ly}function S3(e,t){return{dataOffset:e+$m,length:t-($m-un)}}function D3(e,t){return{dataOffset:e+ty,length:t-(ty-un)}}function I3(e,t){const n=uy.length;return e.getUint16(t)===l3&&It(e,t+Sn,n)===uy&&e.getUint8(t+Sn+n)===0}function F3(e,t){const n=e.getUint16(t);return n>=sy&&n<=u3||n===A3||n===iy||n===ay||n===a3||n===s3||n===o3||n===c3}function Q3(e,t){return e.getUint16(t)===h3}const Ay={isPngFile:N3,findPngOffsets:P3},lf=`‰PNG\r
87
- 
88
- `,Ul=4,cr=4,$s=0,Oi=Ul,qe=Ul+cr,uf="XML:com.adobe.xmp\0",M3="tEXt",hy="iTXt",fy="pHYs",gy="tIME",T3="eXIf";function N3(e){return!!e&&It(e,0,lf.length)===lf}function P3(e){const t={hasAppMarkers:!1};let n=lf.length;for(;n+Ul+cr<=e.byteLength;){if(k3(e,n))t.hasAppMarkers=!0,t.pngHeaderOffset=n+qe;else if(R3(e,n)){const r=Y3(e,n);r!==void 0&&(t.hasAppMarkers=!0,t.xmpChunks=[{dataOffset:r,length:e.getUint32(n+$s)-(r-(n+qe))}])}else if(O3(e,n)){t.hasAppMarkers=!0;const r=It(e,n+Oi,cr);t.pngTextChunks||(t.pngTextChunks=[]),t.pngTextChunks.push({length:e.getUint32(n+$s),type:r,offset:n+qe})}else U3(e,n)?(t.hasAppMarkers=!0,t.tiffHeaderOffset=n+qe):L3(e,n)&&(t.hasAppMarkers=!0,t.pngChunkOffsets||(t.pngChunkOffsets=[]),t.pngChunkOffsets.push(n+$s));n+=e.getUint32(n+$s)+Ul+cr+4}return t}function k3(e,t){const n="IHDR";return It(e,t+Oi,cr)===n}function R3(e,t){const n="iTXt";return It(e,t+Oi,cr)===n&&It(e,t+qe,uf.length)===uf}function O3(e,t){const n="tEXt",r="iTXt",i=It(e,t+Oi,cr);return i===n||i===r}function U3(e,t){return It(e,t+Oi,cr)===T3}function L3(e,t){const n=[fy,gy],r=It(e,t+Oi,cr);return n.includes(r)}function Y3(e,t){t+=qe+uf.length+1+1;let n=0;for(;n<2&&t<e.byteLength;)e.getUint8(t)===0&&n++,t++;if(!(n<2))return t}const dy={isHeicFile:H3,findHeicOffsets:G3};function H3(e){if(!e)return!1;const t="ftyp",n=4,r=["heic","heix","hevc","hevx","heim","heis","hevm","hevs","mif1"],i=4,a=It(e,n+t.length,i);return It(e,n,t.length)===t&&r.indexOf(a)!==-1}function G3(e){{const{offset:t,length:n}=V3(e);if(t===void 0)return{hasAppMarkers:!1};const r=Math.min(t+n,e.byteLength),{exifItemOffset:i,ilocOffset:a,colrOffset:s}=W3(e,t,r),o=K3(e,i,a,r),c=X3(e,s,r);return{hasAppMarkers:o!==void 0||c!==void 0,tiffHeaderOffset:o,iccChunks:c}}}function V3(e){let t=0;for(;t+4+4<=e.byteLength;){const n=py(e,t);if(n>=8&&It(e,t+4,4)==="meta")return{offset:t,length:n};t+=n}return{offset:void 0,length:0}}function py(e,t){const n=e.getUint32(t);return z3(n)?e.byteLength-t:J3(n)&&j3(e,t)?e.getUint32(t+12):n}function z3(e){return e===0}function J3(e){return e===1}function j3(e,t){return e.getUint32(t+8)===0}function W3(e,t,n){const r={ilocOffset:void 0,exifItemOffset:void 0,colrOffset:void 0};for(;t+4<=n&&(!r.ilocOffset||!r.exifItemOffset||!r.colrOffset);){const i=It(e,t,4);i==="iloc"?r.ilocOffset=t:i==="Exif"?r.exifItemOffset=t+-4:i==="colr"&&(r.colrOffset=t+-4),t++}return r}function K3(e,t,n,r){if(!n||!t||t+2>r)return;const i=e.getUint16(t);for(n+=12;n+16<=r;){if(e.getUint16(n)===i){const a=e.getUint32(n+8);if(a+4<=e.byteLength){const s=e.getUint32(a)+4;return a+s}}n+=16}}function X3(e,t,n){if(!t||t+12>n)return;const r=It(e,t+8,4);if(!(r!=="prof"&&r!=="rICC"))return[{offset:t+12,length:py(e,t)-12,chunkNumber:1,chunksTotal:1}]}const my={isWebpFile:_3,findOffsets:q3};function _3(e){const t="RIFF",n="WEBP";return!!e&&It(e,0,t.length)===t&&It(e,8,n.length)===n}function q3(e){const t="Exif\0\0";let n=12,r=!1,i,a,s;for(;n+8<e.byteLength;){const o=It(e,n,4),c=e.getUint32(n+4,!0);o==="EXIF"?(r=!0,It(e,n+8,t.length)===t?i=n+8+t.length:i=n+8):o==="XMP "?(r=!0,a=[{dataOffset:n+8,length:c}]):o==="ICCP"&&(r=!0,s=[{offset:n+8,length:c,chunkNumber:1,chunksTotal:1}]),n+=8+(c%2===0?c:c+1)}return{hasAppMarkers:r,tiffHeaderOffset:i,xmpChunks:a,iccChunks:s}}const Z3={parseAppMarkers:$3};function $3(e){if(_m.isTiffFile(e))return _m.findTiffOffsets();if(qm.isJpegFile(e))return qm.findJpegOffsets(e);if(Ay.isPngFile(e))return Ay.findPngOffsets(e);if(dy.isHeicFile(e))return dy.findHeicOffsets(e);if(my.isWebpFile(e))return my.findOffsets(e);throw new Error("Invalid image format")}const yy={1:1,2:1,3:2,4:4,5:8,7:1,9:4,10:8,13:4},Af={BYTE:1,ASCII:2,SHORT:3,LONG:4,RATIONAL:5,UNDEFINED:7,SLONG:9,SRATIONAL:10,IFD:13},q={getAsciiValue:tQ,getByteAt:wy,getAsciiAt:eQ,getShortAt:nQ,getLongAt:Ll,getRationalAt:rQ,getUndefinedAt:iQ,getSlongAt:hf,getSrationalAt:aQ,getIfdPointerAt:sQ,typeSizes:yy,tagTypes:Af,getTypeSize:oQ};function tQ(e){return e.map(t=>String.fromCharCode(t))}function wy(e,t){return e.getUint8(t)}function eQ(e,t){return e.getUint8(t)}function nQ(e,t,n){return e.getUint16(t,n===Ri.LITTLE_ENDIAN)}function Ll(e,t,n){return e.getUint32(t,n===Ri.LITTLE_ENDIAN)}function rQ(e,t,n){return[Ll(e,t,n),Ll(e,t+4,n)]}function iQ(e,t){return wy(e,t)}function hf(e,t,n){return e.getInt32(t,n===Ri.LITTLE_ENDIAN)}function aQ(e,t,n){return[hf(e,t,n),hf(e,t+4,n)]}function sQ(e,t,n){return Ll(e,t,n)}function oQ(e){if(Af[e]===void 0)throw new Error("No such type found.");return yy[Af[e]]}const Bt={ApertureValue:e=>Math.pow(Math.sqrt(2),e[0]/e[1]).toFixed(2),ColorSpace(e){return e===1?"sRGB":e===65535?"Uncalibrated":"Unknown"},ComponentsConfiguration(e){return e.map(t=>{if(t===49)return"Y";if(t===50)return"Cb";if(t===51)return"Cr";if(t===52)return"R";if(t===53)return"G";if(t===54)return"B"}).join("")},Contrast(e){return e===0?"Normal":e===1?"Soft":e===2?"Hard":"Unknown"},CustomRendered(e){return e===0?"Normal process":e===1?"Custom process":"Unknown"},ExposureMode(e){return e===0?"Auto exposure":e===1?"Manual exposure":e===2?"Auto bracket":"Unknown"},ExposureProgram(e){return e===0?"Undefined":e===1?"Manual":e===2?"Normal program":e===3?"Aperture priority":e===4?"Shutter priority":e===5?"Creative program":e===6?"Action program":e===7?"Portrait mode":e===8?"Landscape mode":e===9?"Bulb":"Unknown"},ExposureTime(e){return e[0]>=e[1]?`${Math.round(e[0]/e[1])}`:e[0]!==0?`1/${Math.round(e[1]/e[0])}`:`0/${e[1]}`},FNumber:e=>`f/${e[0]/e[1]}`,FocalLength:e=>e[0]/e[1]+" mm",FocalPlaneResolutionUnit(e){return e===2?"inches":e===3?"centimeters":"Unknown"},LightSource:e=>e===1?"Daylight":e===2?"Fluorescent":e===3?"Tungsten (incandescent light)":e===4?"Flash":e===9?"Fine weather":e===10?"Cloudy weather":e===11?"Shade":e===12?"Daylight fluorescent (D 5700 – 7100K)":e===13?"Day white fluorescent (N 4600 – 5400K)":e===14?"Cool white fluorescent (W 3900 – 4500K)":e===15?"White fluorescent (WW 3200 – 3700K)":e===17?"Standard light A":e===18?"Standard light B":e===19?"Standard light C":e===20?"D55":e===21?"D65":e===22?"D75":e===23?"D50":e===24?"ISO studio tungsten":e===255?"Other light source":"Unknown",MeteringMode(e){return e===1?"Average":e===2?"CenterWeightedAverage":e===3?"Spot":e===4?"MultiSpot":e===5?"Pattern":e===6?"Partial":e===255?"Other":"Unknown"},ResolutionUnit(e){return e===2?"inches":e===3?"centimeters":"Unknown"},Saturation(e){return e===0?"Normal":e===1?"Low saturation":e===2?"High saturation":"Unknown"},SceneCaptureType(e){return e===0?"Standard":e===1?"Landscape":e===2?"Portrait":e===3?"Night scene":"Unknown"},Sharpness(e){return e===0?"Normal":e===1?"Soft":e===2?"Hard":"Unknown"},ShutterSpeedValue(e){const t=Math.pow(2,e[0]/e[1]);return t<=1?`${Math.round(1/t)}`:`1/${Math.round(t)}`},WhiteBalance(e){return e===0?"Auto white balance":e===1?"Manual white balance":"Unknown"},XResolution:e=>""+Math.round(e[0]/e[1]),YResolution:e=>""+Math.round(e[0]/e[1])},cQ={11:"ProcessingSoftware",254:{name:"SubfileType",description:e=>({0:"Full-resolution image",1:"Reduced-resolution image",2:"Single page of multi-page image",3:"Single page of multi-page reduced-resolution image",4:"Transparency mask",5:"Transparency mask of reduced-resolution image",6:"Transparency mask of multi-page image",7:"Transparency mask of reduced-resolution multi-page image",65537:"Alternate reduced-resolution image",4294967295:"Invalid"})[e]||"Unknown"},255:{name:"OldSubfileType",description:e=>({0:"Full-resolution image",1:"Reduced-resolution image",2:"Single page of multi-page image"})[e]||"Unknown"},256:"ImageWidth",257:"ImageLength",258:"BitsPerSample",259:"Compression",262:"PhotometricInterpretation",263:{name:"Thresholding",description:e=>({1:"No dithering or halftoning",2:"Ordered dither or halfton",3:"Randomized dither"})[e]||"Unknown"},264:"CellWidth",265:"CellLength",266:{name:"FillOrder",description:e=>({1:"Normal",2:"Reversed"})[e]||"Unknown"},269:"DocumentName",270:"ImageDescription",271:"Make",272:"Model",273:"StripOffsets",274:{name:"Orientation",description:e=>e===1?"top-left":e===2?"top-right":e===3?"bottom-right":e===4?"bottom-left":e===5?"left-top":e===6?"right-top":e===7?"right-bottom":e===8?"left-bottom":"Undefined"},277:"SamplesPerPixel",278:"RowsPerStrip",279:"StripByteCounts",280:"MinSampleValue",281:"MaxSampleValue",282:{name:"XResolution",description:Bt.XResolution},283:{name:"YResolution",description:Bt.YResolution},284:"PlanarConfiguration",285:"PageName",286:{name:"XPosition",description:e=>""+Math.round(e[0]/e[1])},287:{name:"YPosition",description:e=>""+Math.round(e[0]/e[1])},290:{name:"GrayResponseUnit",description:e=>({1:"0.1",2:"0.001",3:"0.0001",4:"1e-05",5:"1e-06"})[e]||"Unknown"},296:{name:"ResolutionUnit",description:Bt.ResolutionUnit},297:"PageNumber",301:"TransferFunction",305:"Software",306:"DateTime",315:"Artist",316:"HostComputer",317:"Predictor",318:{name:"WhitePoint",description:e=>e.map(t=>`${t[0]}/${t[1]}`).join(", ")},319:{name:"PrimaryChromaticities",description:e=>e.map(t=>`${t[0]}/${t[1]}`).join(", ")},321:"HalftoneHints",322:"TileWidth",323:"TileLength",330:"A100DataOffset",332:{name:"InkSet",description:e=>({1:"CMYK",2:"Not CMYK"})[e]||"Unknown"},337:"TargetPrinter",338:{name:"ExtraSamples",description:e=>({0:"Unspecified",1:"Associated Alpha",2:"Unassociated Alpha"})[e]||"Unknown"},339:{name:"SampleFormat",description:e=>{const t={1:"Unsigned",2:"Signed",3:"Float",4:"Undefined",5:"Complex int",6:"Complex float"};return Array.isArray(e)?e.map(n=>t[n]||"Unknown").join(", "):"Unknown"}},513:"JPEGInterchangeFormat",514:"JPEGInterchangeFormatLength",529:{name:"YCbCrCoefficients",description:e=>e.map(t=>""+t[0]/t[1]).join("/")},530:"YCbCrSubSampling",531:{name:"YCbCrPositioning",description:e=>e===1?"centered":e===2?"co-sited":"undefined "+e},532:{name:"ReferenceBlackWhite",description:e=>e.map(t=>""+t[0]/t[1]).join(", ")},700:"ApplicationNotes",18246:"Rating",18249:"RatingPercent",33432:{name:"Copyright",description:e=>e.join("; ")},33550:"PixelScale",33723:"IPTC-NAA",33920:"IntergraphMatrix",33922:"ModelTiePoint",34118:"SEMInfo",34264:"ModelTransform",34377:"PhotoshopSettings",34665:"Exif IFD Pointer",34675:"ICC_Profile",34735:"GeoTiffDirectory",34736:"GeoTiffDoubleParams",34737:"GeoTiffAsciiParams",34853:"GPS Info IFD Pointer",40091:"XPTitle",40092:"XPComment",40093:"XPAuthor",40094:"XPKeywords",40095:"XPSubject",42112:"GDALMetadata",42113:"GDALNoData",50341:"PrintIM",50707:"DNGBackwardVersion",50708:"UniqueCameraModel",50709:"LocalizedCameraModel",50721:"ColorMatrix1",50722:"ColorMatrix2",50723:"CameraCalibration1",50724:"CameraCalibration2",50725:"ReductionMatrix1",50726:"ReductionMatrix2",50727:"AnalogBalance",50728:"AsShotNeutral",50729:"AsShotWhiteXY",50730:"BaselineExposure",50731:"BaselineNoise",50732:"BaselineSharpness",50734:"LinearResponseLimit",50735:"CameraSerialNumber",50736:"DNGLensInfo",50739:"ShadowScale",50741:{name:"MakerNoteSafety",description:e=>({0:"Unsafe",1:"Safe"})[e]||"Unknown"},50778:{name:"CalibrationIlluminant1",description:Bt.LightSource},50779:{name:"CalibrationIlluminant2",description:Bt.LightSource},50781:"RawDataUniqueID",50827:"OriginalRawFileName",50828:"OriginalRawFileData",50831:"AsShotICCProfile",50832:"AsShotPreProfileMatrix",50833:"CurrentICCProfile",50834:"CurrentPreProfileMatrix",50879:"ColorimetricReference",50885:"SRawType",50898:"PanasonicTitle",50899:"PanasonicTitle2",50931:"CameraCalibrationSig",50932:"ProfileCalibrationSig",50933:"ProfileIFD",50934:"AsShotProfileName",50936:"ProfileName",50937:"ProfileHueSatMapDims",50938:"ProfileHueSatMapData1",50939:"ProfileHueSatMapData2",50940:"ProfileToneCurve",50941:{name:"ProfileEmbedPolicy",description:e=>({0:"Allow Copying",1:"Embed if Used",2:"Never Embed",3:"No Restrictions"})[e]||"Unknown"},50942:"ProfileCopyright",50964:"ForwardMatrix1",50965:"ForwardMatrix2",50966:"PreviewApplicationName",50967:"PreviewApplicationVersion",50968:"PreviewSettingsName",50969:"PreviewSettingsDigest",50970:{name:"PreviewColorSpace",description:e=>({1:"Gray Gamma 2.2",2:"sRGB",3:"Adobe RGB",4:"ProPhoto RGB"})[e]||"Unknown"},50971:"PreviewDateTime",50972:"RawImageDigest",50973:"OriginalRawFileDigest",50981:"ProfileLookTableDims",50982:"ProfileLookTableData",51043:"TimeCodes",51044:"FrameRate",51058:"TStop",51081:"ReelName",51089:"OriginalDefaultFinalSize",51090:"OriginalBestQualitySize",51091:"OriginalDefaultCropSize",51105:"CameraLabel",51107:{name:"ProfileHueSatMapEncoding",description:e=>({0:"Linear",1:"sRGB"})[e]||"Unknown"},51108:{name:"ProfileLookTableEncoding",description:e=>({0:"Linear",1:"sRGB"})[e]||"Unknown"},51109:"BaselineExposureOffset",51110:{name:"DefaultBlackRender",description:e=>({0:"Auto",1:"None"})[e]||"Unknown"},51111:"NewRawImageDigest",51112:"RawToPreviewGain"},lQ={33434:{name:"ExposureTime",description:Bt.ExposureTime},33437:{name:"FNumber",description:Bt.FNumber},34850:{name:"ExposureProgram",description:Bt.ExposureProgram},34852:"SpectralSensitivity",34855:"ISOSpeedRatings",34856:{name:"OECF",description:()=>"[Raw OECF table data]"},34858:"TimeZoneOffset",34859:"SelfTimerMode",34864:{name:"SensitivityType",description:e=>({1:"Standard Output Sensitivity",2:"Recommended Exposure Index",3:"ISO Speed",4:"Standard Output Sensitivity and Recommended Exposure Index",5:"Standard Output Sensitivity and ISO Speed",6:"Recommended Exposure Index and ISO Speed",7:"Standard Output Sensitivity, Recommended Exposure Index and ISO Speed"})[e]||"Unknown"},34865:"StandardOutputSensitivity",34866:"RecommendedExposureIndex",34867:"ISOSpeed",34868:"ISOSpeedLatitudeyyy",34869:"ISOSpeedLatitudezzz",36864:{name:"ExifVersion",description:e=>Ee(e)},36867:"DateTimeOriginal",36868:"DateTimeDigitized",36873:"GooglePlusUploadCode",36880:"OffsetTime",36881:"OffsetTimeOriginal",36882:"OffsetTimeDigitized",37121:{name:"ComponentsConfiguration",description:Bt.ComponentsConfiguration},37122:"CompressedBitsPerPixel",37377:{name:"ShutterSpeedValue",description:Bt.ShutterSpeedValue},37378:{name:"ApertureValue",description:Bt.ApertureValue},37379:"BrightnessValue",37380:"ExposureBiasValue",37381:{name:"MaxApertureValue",description:e=>Math.pow(Math.sqrt(2),e[0]/e[1]).toFixed(2)},37382:{name:"SubjectDistance",description:e=>e[0]/e[1]+" m"},37383:{name:"MeteringMode",description:Bt.MeteringMode},37384:{name:"LightSource",description:Bt.LightSource},37385:{name:"Flash",description:e=>e===0?"Flash did not fire":e===1?"Flash fired":e===5?"Strobe return light not detected":e===7?"Strobe return light detected":e===9?"Flash fired, compulsory flash mode":e===13?"Flash fired, compulsory flash mode, return light not detected":e===15?"Flash fired, compulsory flash mode, return light detected":e===16?"Flash did not fire, compulsory flash mode":e===24?"Flash did not fire, auto mode":e===25?"Flash fired, auto mode":e===29?"Flash fired, auto mode, return light not detected":e===31?"Flash fired, auto mode, return light detected":e===32?"No flash function":e===65?"Flash fired, red-eye reduction mode":e===69?"Flash fired, red-eye reduction mode, return light not detected":e===71?"Flash fired, red-eye reduction mode, return light detected":e===73?"Flash fired, compulsory flash mode, red-eye reduction mode":e===77?"Flash fired, compulsory flash mode, red-eye reduction mode, return light not detected":e===79?"Flash fired, compulsory flash mode, red-eye reduction mode, return light detected":e===89?"Flash fired, auto mode, red-eye reduction mode":e===93?"Flash fired, auto mode, return light not detected, red-eye reduction mode":e===95?"Flash fired, auto mode, return light detected, red-eye reduction mode":"Unknown"},37386:{name:"FocalLength",description:Bt.FocalLength},37393:"ImageNumber",37394:{name:"SecurityClassification",description:e=>({C:"Confidential",R:"Restricted",S:"Secret",T:"Top Secret",U:"Unclassified"})[e]||"Unknown"},37395:"ImageHistory",37396:{name:"SubjectArea",description:e=>e.length===2?`Location; X: ${e[0]}, Y: ${e[1]}`:e.length===3?`Circle; X: ${e[0]}, Y: ${e[1]}, diameter: ${e[2]}`:e.length===4?`Rectangle; X: ${e[0]}, Y: ${e[1]}, width: ${e[2]}, height: ${e[3]}`:"Unknown"},37500:{name:"MakerNote",description:()=>"[Raw maker note data]"},37510:{name:"UserComment",description:nf},37520:"SubSecTime",37521:"SubSecTimeOriginal",37522:"SubSecTimeDigitized",37888:{name:"AmbientTemperature",description:e=>e[0]/e[1]+" °C"},37889:{name:"Humidity",description:e=>e[0]/e[1]+" %"},37890:{name:"Pressure",description:e=>e[0]/e[1]+" hPa"},37891:{name:"WaterDepth",description:e=>e[0]/e[1]+" m"},37892:{name:"Acceleration",description:e=>e[0]/e[1]+" mGal"},37893:{name:"CameraElevationAngle",description:e=>e[0]/e[1]+" °"},40960:{name:"FlashpixVersion",description:e=>e.map(t=>String.fromCharCode(t)).join("")},40961:{name:"ColorSpace",description:Bt.ColorSpace},40962:"PixelXDimension",40963:"PixelYDimension",40964:"RelatedSoundFile",40965:"Interoperability IFD Pointer",41483:"FlashEnergy",41484:{name:"SpatialFrequencyResponse",description:()=>"[Raw SFR table data]"},41486:"FocalPlaneXResolution",41487:"FocalPlaneYResolution",41488:{name:"FocalPlaneResolutionUnit",description:Bt.FocalPlaneResolutionUnit},41492:{name:"SubjectLocation",description:([e,t])=>`X: ${e}, Y: ${t}`},41493:"ExposureIndex",41495:{name:"SensingMethod",description:e=>e===1?"Undefined":e===2?"One-chip color area sensor":e===3?"Two-chip color area sensor":e===4?"Three-chip color area sensor":e===5?"Color sequential area sensor":e===7?"Trilinear sensor":e===8?"Color sequential linear sensor":"Unknown"},41728:{name:"FileSource",description:e=>e===3?"DSC":"Unknown"},41729:{name:"SceneType",description:e=>e===1?"A directly photographed image":"Unknown"},41730:{name:"CFAPattern",description:()=>"[Raw CFA pattern table data]"},41985:{name:"CustomRendered",description:Bt.CustomRendered},41986:{name:"ExposureMode",description:Bt.ExposureMode},41987:{name:"WhiteBalance",description:Bt.WhiteBalance},41988:{name:"DigitalZoomRatio",description:e=>e[0]===0?"Digital zoom was not used":""+e[0]/e[1]},41989:{name:"FocalLengthIn35mmFilm",description:e=>e===0?"Unknown":e},41990:{name:"SceneCaptureType",description:Bt.SceneCaptureType},41991:{name:"GainControl",description:e=>e===0?"None":e===1?"Low gain up":e===2?"High gain up":e===3?"Low gain down":e===4?"High gain down":"Unknown"},41992:{name:"Contrast",description:Bt.Contrast},41993:{name:"Saturation",description:Bt.Saturation},41994:{name:"Sharpness",description:Bt.Sharpness},41995:{name:"DeviceSettingDescription",description:()=>"[Raw device settings table data]"},41996:{name:"SubjectDistanceRange",description:e=>e===1?"Macro":e===2?"Close view":e===3?"Distant view":"Unknown"},42016:"ImageUniqueID",42032:"CameraOwnerName",42033:"BodySerialNumber",42034:{name:"LensSpecification",description:e=>{const t=`${e[0][0]/e[0][1]}-${e[1][0]/e[1][1]} mm`;return e[3][1]===0?`${t} f/?`:`${t} f/${1/(e[2][1]/e[2][1]/(e[3][0]/e[3][1]))}`}},42035:"LensMake",42036:"LensModel",42037:"LensSerialNumber",42080:{name:"CompositeImage",description:e=>({1:"Not a Composite Image",2:"General Composite Image",3:"Composite Image Captured While Shooting"})[e]||"Unknown"},42081:"SourceImageNumberOfCompositeImage",42082:"SourceExposureTimesOfCompositeImage",42240:"Gamma",59932:"Padding",59933:"OffsetSchema",65e3:"OwnerName",65001:"SerialNumber",65002:"Lens",65100:"RawFile",65101:"Converter",65102:"WhiteBalance",65105:"Exposure",65106:"Shadows",65107:"Brightness",65108:"Contrast",65109:"Saturation",65110:"Sharpness",65111:"Smoothness",65112:"MoireFilter"},uQ={0:{name:"GPSVersionID",description:e=>e[0]===2&&e[1]===2&&e[2]===0&&e[3]===0?"Version 2.2":"Unknown"},1:{name:"GPSLatitudeRef",description:e=>{const t=e.join("");return t==="N"?"North latitude":t==="S"?"South latitude":"Unknown"}},2:{name:"GPSLatitude",description:Ol},3:{name:"GPSLongitudeRef",description:e=>{const t=e.join("");return t==="E"?"East longitude":t==="W"?"West longitude":"Unknown"}},4:{name:"GPSLongitude",description:Ol},5:{name:"GPSAltitudeRef",description:e=>e===0?"Sea level":e===1?"Sea level reference (negative value)":"Unknown"},6:{name:"GPSAltitude",description:e=>e[0]/e[1]+" m"},7:{name:"GPSTimeStamp",description:e=>e.map(([t,n])=>{const r=t/n;return/^\d(\.|$)/.test(`${r}`)?`0${r}`:r}).join(":")},8:"GPSSatellites",9:{name:"GPSStatus",description:e=>{const t=e.join("");return t==="A"?"Measurement in progress":t==="V"?"Measurement Interoperability":"Unknown"}},10:{name:"GPSMeasureMode",description:e=>{const t=e.join("");return t==="2"?"2-dimensional measurement":t==="3"?"3-dimensional measurement":"Unknown"}},11:"GPSDOP",12:{name:"GPSSpeedRef",description:e=>{const t=e.join("");return t==="K"?"Kilometers per hour":t==="M"?"Miles per hour":t==="N"?"Knots":"Unknown"}},13:"GPSSpeed",14:{name:"GPSTrackRef",description:e=>{const t=e.join("");return t==="T"?"True direction":t==="M"?"Magnetic direction":"Unknown"}},15:"GPSTrack",16:{name:"GPSImgDirectionRef",description:e=>{const t=e.join("");return t==="T"?"True direction":t==="M"?"Magnetic direction":"Unknown"}},17:"GPSImgDirection",18:"GPSMapDatum",19:{name:"GPSDestLatitudeRef",description:e=>{const t=e.join("");return t==="N"?"North latitude":t==="S"?"South latitude":"Unknown"}},20:{name:"GPSDestLatitude",description:e=>e[0][0]/e[0][1]+e[1][0]/e[1][1]/60+e[2][0]/e[2][1]/3600},21:{name:"GPSDestLongitudeRef",description:e=>{const t=e.join("");return t==="E"?"East longitude":t==="W"?"West longitude":"Unknown"}},22:{name:"GPSDestLongitude",description:e=>e[0][0]/e[0][1]+e[1][0]/e[1][1]/60+e[2][0]/e[2][1]/3600},23:{name:"GPSDestBearingRef",description:e=>{const t=e.join("");return t==="T"?"True direction":t==="M"?"Magnetic direction":"Unknown"}},24:"GPSDestBearing",25:{name:"GPSDestDistanceRef",description:e=>{const t=e.join("");return t==="K"?"Kilometers":t==="M"?"Miles":t==="N"?"Knots":"Unknown"}},26:"GPSDestDistance",27:{name:"GPSProcessingMethod",description:nf},28:{name:"GPSAreaInformation",description:nf},29:"GPSDateStamp",30:{name:"GPSDifferential",description:e=>e===0?"Measurement without differential correction":e===1?"Differential correction applied":"Unknown"},31:"GPSHPositioningError"},AQ={1:"InteroperabilityIndex",2:{name:"InteroperabilityVersion",description:e=>Ee(e)},4096:"RelatedImageFileFormat",4097:"RelatedImageWidth",4098:"RelatedImageHeight"},hQ={45056:{name:"MPFVersion",description:e=>Ee(e)},45057:"NumberOfImages",45058:"MPEntry",45059:"ImageUIDList",45060:"TotalFrames"},vy=Lt({},cQ,lQ),ai={"0th":vy,exif:vy,gps:uQ,interoperability:AQ,mpf:hQ},Ey="Exif IFD Pointer",By="GPS Info IFD Pointer",Cy="Interoperability IFD Pointer",fQ={1:q.getByteAt,2:q.getAsciiAt,3:q.getShortAt,4:q.getLongAt,5:q.getRationalAt,7:q.getUndefinedAt,9:q.getSlongAt,10:q.getSrationalAt,13:q.getIfdPointerAt},xy={read:gQ,readMpf:wQ};function gQ(e,t,n){const r=Ri.getByteOrder(e,t);let i=dQ(e,t,r,n);return i=pQ(i,e,t,r,n),i=mQ(i,e,t,r,n),i=yQ(i,e,t,r,n),i}function dQ(e,t,n,r){return ka(e,"0th",t,by(e,t,n),n,r)}function by(e,t,n){return t+q.getLongAt(e,t+4,n)}function pQ(e,t,n,r,i){return e[Ey]!==void 0?Lt(e,ka(t,"exif",n,n+e[Ey].value,r,i)):e}function mQ(e,t,n,r,i){return e[By]!==void 0?Lt(e,ka(t,"gps",n,n+e[By].value,r,i)):e}function yQ(e,t,n,r,i){return e[Cy]!==void 0?Lt(e,ka(t,"interoperability",n,n+e[Cy].value,r,i)):e}function wQ(e,t,n){const r=Ri.getByteOrder(e,t),i=ka(e,"mpf",t,by(e,t,r),r,n);return vQ(e,t,i,r)}function vQ(e,t,n,r){if(!n.MPEntry)return n;const i=[];for(let a=0;a<Math.ceil(n.MPEntry.value.length/16);a++){i[a]={};const s=to(n.MPEntry.value,a*16,q.getTypeSize("LONG"),r);i[a].ImageFlags=EQ(s),i[a].ImageFormat=BQ(s),i[a].ImageType=CQ(s);const o=to(n.MPEntry.value,a*16+4,q.getTypeSize("LONG"),r);i[a].ImageSize={value:o,description:""+o};const c=xQ(a)?0:to(n.MPEntry.value,a*16+8,q.getTypeSize("LONG"),r)+t;i[a].ImageOffset={value:c,description:""+c};const l=to(n.MPEntry.value,a*16+12,q.getTypeSize("SHORT"),r);i[a].DependentImage1EntryNumber={value:l,description:""+l};const u=to(n.MPEntry.value,a*16+14,q.getTypeSize("SHORT"),r);i[a].DependentImage2EntryNumber={value:u,description:""+u},i[a].image=e.buffer.slice(c,c+o),Km(i[a],"base64",function(){return Xm(this.image)})}return n.Images=i,n}function to(e,t,n,r){if(r===Ri.LITTLE_ENDIAN){let a=0;for(let s=0;s<n;s++)a+=e[t+s]<<8*s;return a}let i=0;for(let a=0;a<n;a++)i+=e[t+a]<<8*(n-1-a);return i}function EQ(e){const t=[e>>31&1,e>>30&1,e>>29&1],n=[];return t[0]&&n.push("Dependent Parent Image"),t[1]&&n.push("Dependent Child Image"),t[2]&&n.push("Representative Image"),{value:t,description:n.join(", ")||"None"}}function BQ(e){const t=e>>24&7;return{value:t,description:t===0?"JPEG":"Unknown"}}function CQ(e){const t=e&16777215;return{value:t,description:{196608:"Baseline MP Primary Image",65537:"Large Thumbnail (VGA equivalent)",65538:"Large Thumbnail (Full HD equivalent)",131073:"Multi-Frame Image (Panorama)",131074:"Multi-Frame Image (Disparity)",131075:"Multi-Frame Image (Multi-Angle)",0:"Undefined"}[t]||"Unknown"}}function xQ(e){return e===0}function ka(e,t,n,r,i,a){const s=q.getTypeSize("SHORT"),o=12,c={},l=bQ(e,r,i);r+=s;for(let u=0;u<l&&!(r+o>e.byteLength);u++){const A=SQ(e,t,n,r,i,a);A!==void 0&&(c[A.name]={id:A.id,value:A.value,description:A.description}),r+=o}if(r<e.byteLength-q.getTypeSize("LONG")){const u=q.getLongAt(e,r,i);u!==0&&(c.Thumbnail=ka(e,t,n,n+u,i,!0))}return c}function bQ(e,t,n){return t+q.getTypeSize("SHORT")<=e.byteLength?q.getShortAt(e,t,n):0}function SQ(e,t,n,r,i,a){const s=q.getTypeSize("SHORT"),o=s+q.getTypeSize("SHORT"),c=o+q.getTypeSize("LONG"),l=q.getShortAt(e,r,i),u=q.getShortAt(e,r+s,i),A=q.getLongAt(e,r+o,i);let h;if(q.typeSizes[u]===void 0||!a&&ai[t][l]===void 0)return;if(DQ(u,A))h=Sy(e,r+c,u,A,i);else{const p=q.getLongAt(e,r+c,i);if(IQ(e,n,p,u,A)){const m=l===33723;h=Sy(e,n+p,u,A,i,m)}else h="<faulty value>"}u===q.tagTypes.ASCII&&(h=FQ(h),h=QQ(h));let f=`undefined-${l}`,d=h;if(ai[t][l]!==void 0)if(ai[t][l].name!==void 0&&ai[t][l].description!==void 0){f=ai[t][l].name;try{d=ai[t][l].description(h)}catch{d=Dy(h)}}else u===q.tagTypes.RATIONAL||u===q.tagTypes.SRATIONAL?(f=ai[t][l],d=""+h[0]/h[1]):(f=ai[t][l],d=Dy(h));return{id:l,name:f,value:h,description:d}}function DQ(e,t){return q.typeSizes[e]*t<=q.getTypeSize("LONG")}function Sy(e,t,n,r,i,a=!1){let s=[];a&&(r=r*q.typeSizes[n],n=q.tagTypes.BYTE);for(let o=0;o<r;o++)s.push(fQ[n](e,t,i)),t+=q.typeSizes[n];return n===q.tagTypes.ASCII?s=q.getAsciiValue(s):s.length===1&&(s=s[0]),s}function IQ(e,t,n,r,i){return t+n+q.typeSizes[r]*i<=e.byteLength}function FQ(e){const t=[];let n=0;for(let r=0;r<e.length;r++){if(e[r]==="\0"){n++;continue}t[n]===void 0&&(t[n]=""),t[n]+=e[r]}return t}function QQ(e){try{return e.map(t=>decodeURIComponent(escape(t)))}catch{return e}}function Dy(e){return e instanceof Array?e.join(", "):e}const MQ={read:TQ};function TQ(e,t){const n=NQ(e,t),r=OQ(e,t,n);return{"Bits Per Sample":PQ(e,t,n),"Image Height":kQ(e,t,n),"Image Width":RQ(e,t,n),"Color Components":r,Subsampling:r&&UQ(e,t,r.value,n)}}function NQ(e,t){return q.getShortAt(e,t)}function PQ(e,t,n){if(2+1>n)return;const r=q.getByteAt(e,t+2);return{value:r,description:""+r}}function kQ(e,t,n){if(3+2>n)return;const r=q.getShortAt(e,t+3);return{value:r,description:`${r}px`}}function RQ(e,t,n){if(5+2>n)return;const r=q.getShortAt(e,t+5);return{value:r,description:`${r}px`}}function OQ(e,t,n){if(7+1>n)return;const r=q.getByteAt(e,t+7);return{value:r,description:""+r}}function UQ(e,t,n,r){if(8+3*n>r)return;const i=[];for(let a=0;a<n;a++){const s=t+8+a*3;i.push([q.getByteAt(e,s),q.getByteAt(e,s+1),q.getByteAt(e,s+2)])}return{value:i,description:i.length>1?LQ(i)+YQ(i):""}}function LQ(e){const t={1:"Y",2:"Cb",3:"Cr",4:"I",5:"Q"};return e.map(n=>t[n[0]]).join("")}function YQ(e){const t={17:"4:4:4 (1 1)",18:"4:4:0 (1 2)",20:"4:4:1 (1 4)",33:"4:2:2 (2 1)",34:"4:2:0 (2 2)",36:"4:2:1 (2 4)",65:"4:1:1 (4 1)",66:"4:1:0 (4 2)"};return e.length===0||e[0][1]===void 0||t[e[0][1]]===void 0?"":t[e[0][1]]}const HQ={read:GQ};function GQ(e,t){const n=VQ(e,t),r=XQ(e,t,n),i=_Q(e,t,n),a={"JFIF Version":zQ(e,t,n),"Resolution Unit":JQ(e,t,n),XResolution:WQ(e,t,n),YResolution:KQ(e,t,n),"JFIF Thumbnail Width":r,"JFIF Thumbnail Height":i};if(r!==void 0&&i!==void 0){const s=qQ(e,t,3*r.value*i.value,n);s&&(a["JFIF Thumbnail"]=s)}for(const s in a)a[s]===void 0&&delete a[s];return a}function VQ(e,t){return q.getShortAt(e,t)}function zQ(e,t,n){if(7+2>n)return;const r=q.getByteAt(e,t+7),i=q.getByteAt(e,t+7+1);return{value:r*256+i,description:r+"."+i}}function JQ(e,t,n){if(9+1>n)return;const r=q.getByteAt(e,t+9);return{value:r,description:jQ(r)}}function jQ(e){return e===0?"None":e===1?"inches":e===2?"cm":"Unknown"}function WQ(e,t,n){if(10+2>n)return;const r=q.getShortAt(e,t+10);return{value:r,description:""+r}}function KQ(e,t,n){if(12+2>n)return;const r=q.getShortAt(e,t+12);return{value:r,description:""+r}}function XQ(e,t,n){if(14+1>n)return;const r=q.getByteAt(e,t+14);return{value:r,description:`${r}px`}}function _Q(e,t,n){if(15+1>n)return;const r=q.getByteAt(e,t+15);return{value:r,description:`${r}px`}}function qQ(e,t,n,r){return n===0||16+n>r?void 0:{value:e.buffer.slice(t+16,t+16+n),description:"<24-bit RGB pixel data>"}}const si={iptc:{256:{name:"Model Version",description:e=>((e[0]<<8)+e[1]).toString()},261:{name:"Destination",repeatable:!0},276:{name:"File Format",description:e=>((e[0]<<8)+e[1]).toString()},278:{name:"File Format Version",description:e=>((e[0]<<8)+e[1]).toString()},286:"Service Identifier",296:"Envelope Number",306:"Product ID",316:"Envelope Priority",326:{name:"Date Sent",description:ff},336:{name:"Time Sent",description:gf},346:{name:"Coded Character Set",description:Iy,encoding_name:Iy},356:"UNO",376:{name:"ARM Identifier",description:e=>((e[0]<<8)+e[1]).toString()},378:{name:"ARM Version",description:e=>((e[0]<<8)+e[1]).toString()},512:{name:"Record Version",description:e=>((e[0]<<8)+e[1]).toString()},515:"Object Type Reference",516:"Object Attribute Reference",517:"Object Name",519:"Edit Status",520:{name:"Editorial Update",description:e=>Ee(e)==="01"?"Additional Language":"Unknown"},522:"Urgency",524:{name:"Subject Reference",repeatable:!0,description:e=>{const t=Ee(e).split(":");return t[2]+(t[3]?"/"+t[3]:"")+(t[4]?"/"+t[4]:"")}},527:"Category",532:{name:"Supplemental Category",repeatable:!0},534:"Fixture Identifier",537:{name:"Keywords",repeatable:!0},538:{name:"Content Location Code",repeatable:!0},539:{name:"Content Location Name",repeatable:!0},542:"Release Date",547:"Release Time",549:"Expiration Date",550:"Expiration Time",552:"Special Instructions",554:{name:"Action Advised",description:e=>{const t=Ee(e);return t==="01"?"Object Kill":t==="02"?"Object Replace":t==="03"?"Object Append":t==="04"?"Object Reference":"Unknown"}},557:{name:"Reference Service",repeatable:!0},559:{name:"Reference Date",repeatable:!0},562:{name:"Reference Number",repeatable:!0},567:{name:"Date Created",description:ff},572:{name:"Time Created",description:gf},574:{name:"Digital Creation Date",description:ff},575:{name:"Digital Creation Time",description:gf},577:"Originating Program",582:"Program Version",587:{name:"Object Cycle",description:e=>{const t=Ee(e);return t==="a"?"morning":t==="p"?"evening":t==="b"?"both":"Unknown"}},592:{name:"By-line",repeatable:!0},597:{name:"By-line Title",repeatable:!0},602:"City",604:"Sub-location",607:"Province/State",612:"Country/Primary Location Code",613:"Country/Primary Location Name",615:"Original Transmission Reference",617:"Headline",622:"Credit",627:"Source",628:"Copyright Notice",630:{name:"Contact",repeatable:!0},632:"Caption/Abstract",634:{name:"Writer/Editor",repeatable:!0},637:{name:"Rasterized Caption",description:e=>e},642:"Image Type",643:{name:"Image Orientation",description:e=>{const t=Ee(e);return t==="P"?"Portrait":t==="L"?"Landscape":t==="S"?"Square":"Unknown"}},647:"Language Identifier",662:{name:"Audio Type",description:e=>{const t=Ee(e),n=t.charAt(0),r=t.charAt(1);let i="";return n==="1"?i+="Mono":n==="2"&&(i+="Stereo"),r==="A"?i+=", actuality":r==="C"?i+=", question and answer session":r==="M"?i+=", music, transmitted by itself":r==="Q"?i+=", response to a question":r==="R"?i+=", raw sound":r==="S"?i+=", scener":r==="V"?i+=", voicer":r==="W"&&(i+=", wrap"),i!==""?i:t}},663:{name:"Audio Sampling Rate",description:e=>parseInt(Ee(e),10)+" Hz"},664:{name:"Audio Sampling Resolution",description:e=>{const t=parseInt(Ee(e),10);return t+(t===1?" bit":" bits")}},665:{name:"Audio Duration",description:e=>{const t=Ee(e);return t.length>=6?t.substr(0,2)+":"+t.substr(2,2)+":"+t.substr(4,2):t}},666:"Audio Outcue",698:"Short Document ID",699:"Unique Document ID",700:"Owner ID",712:{name:e=>e.length===2?"ObjectData Preview File Format":"Record 2 destination",description:e=>{if(e.length===2){const t=(e[0]<<8)+e[1];return t===0?"No ObjectData":t===1?"IPTC-NAA Digital Newsphoto Parameter Record":t===2?"IPTC7901 Recommended Message Format":t===3?"Tagged Image File Format (Adobe/Aldus Image data)":t===4?"Illustrator (Adobe Graphics data)":t===5?"AppleSingle (Apple Computer Inc)":t===6?"NAA 89-3 (ANPA 1312)":t===7?"MacBinary II":t===8?"IPTC Unstructured Character Oriented File Format (UCOFF)":t===9?"United Press International ANPA 1312 variant":t===10?"United Press International Down-Load Message":t===11?"JPEG File Interchange (JFIF)":t===12?"Photo-CD Image-Pac (Eastman Kodak)":t===13?"Microsoft Bit Mapped Graphics File [*.BMP]":t===14?"Digital Audio File [*.WAV] (Microsoft & Creative Labs)":t===15?"Audio plus Moving Video [*.AVI] (Microsoft)":t===16?"PC DOS/Windows Executable Files [*.COM][*.EXE]":t===17?"Compressed Binary File [*.ZIP] (PKWare Inc)":t===18?"Audio Interchange File Format AIFF (Apple Computer Inc)":t===19?"RIFF Wave (Microsoft Corporation)":t===20?"Freehand (Macromedia/Aldus)":t===21?'Hypertext Markup Language "HTML" (The Internet Society)':t===22?"MPEG 2 Audio Layer 2 (Musicom), ISO/IEC":t===23?"MPEG 2 Audio Layer 3, ISO/IEC":t===24?"Portable Document File (*.PDF) Adobe":t===25?"News Industry Text Format (NITF)":t===26?"Tape Archive (*.TAR)":t===27?"Tidningarnas Telegrambyrå NITF version (TTNITF DTD)":t===28?"Ritzaus Bureau NITF version (RBNITF DTD)":t===29?"Corel Draw [*.CDR]":`Unknown format ${t}`}return Ee(e)}},713:{name:"ObjectData Preview File Format Version",description:(e,t)=>{const n={"00":{"00":"1"},"01":{"01":"1","02":"2","03":"3","04":"4"},"02":{"04":"4"},"03":{"01":"5.0","02":"6.0"},"04":{"01":"1.40"},"05":{"01":"2"},"06":{"01":"1"},11:{"01":"1.02"},20:{"01":"3.1","02":"4.0","03":"5.0","04":"5.5"},21:{"02":"2.0"}},r=Ee(e);if(t["ObjectData Preview File Format"]){const i=Ee(t["ObjectData Preview File Format"].value);if(n[i]&&n[i][r])return n[i][r]}return r}},714:"ObjectData Preview Data",1802:{name:"Size Mode",description:e=>e[0].toString()},1812:{name:"Max Subfile Size",description:e=>{let t=0;for(let n=0;n<e.length;n++)t=(t<<8)+e[n];return t.toString()}},1882:{name:"ObjectData Size Announced",description:e=>{let t=0;for(let n=0;n<e.length;n++)t=(t<<8)+e[n];return t.toString()}},1887:{name:"Maximum ObjectData Size",description:e=>{let t=0;for(let n=0;n<e.length;n++)t=(t<<8)+e[n];return t.toString()}}}};function ff(e){const t=Ee(e);return t.length>=8?t.substr(0,4)+"-"+t.substr(4,2)+"-"+t.substr(6,2):t}function gf(e){const t=Ee(e);let n=t;return t.length>=6&&(n=t.substr(0,2)+":"+t.substr(2,2)+":"+t.substr(4,2),t.length===11&&(n+=t.substr(6,1)+t.substr(7,2)+":"+t.substr(9,2))),n}function Iy(e){const t=Ee(e);return t==="\x1B%G"?"UTF-8":t==="\x1B%5"?"Windows-1252":t==="\x1B%/G"?"UTF-8 Level 1":t==="\x1B%/H"?"UTF-8 Level 2":t==="\x1B%/I"?"UTF-8 Level 3":t==="\x1B/A"?"ISO-8859-1":t==="\x1B/B"?"ISO-8859-2":t==="\x1B/C"?"ISO-8859-3":t==="\x1B/D"?"ISO-8859-4":t==="\x1B/@"?"ISO-8859-5":t==="\x1B/G"?"ISO-8859-6":t==="\x1B/F"?"ISO-8859-7":t==="\x1B/H"?"ISO-8859-8":"Unknown"}const ZQ={get:$Q};function $Q(){if(typeof TextDecoder<"u")return TextDecoder}const tM=5,Fy={decode:eM,TAG_HEADER_SIZE:tM};function eM(e,t){const n=ZQ.get();if(typeof n<"u"&&e!==void 0)try{return new n(e).decode(Uint8Array.from(t))}catch{}const r=t.map(i=>String.fromCharCode(i)).join("");return nM(r)}function nM(e){try{return decodeURIComponent(escape(e))}catch{return e}}const rM=943868237,Qy=4,df=Qy+8,iM=1028,My=5,Ty={read:aM};function aM(e,t,n){try{if(Array.isArray(e))return Ny(new DataView(Uint8Array.from(e).buffer),{size:e.length},0,n);const{naaBlock:r,dataOffset:i}=sM(e,t);return Ny(e,r,i,n)}catch{return{}}}function sM(e,t){for(;t+df<=e.byteLength;){const n=oM(e,t);if(cM(n))return{naaBlock:n,dataOffset:t+df};t+=df+n.size+lM(n)}throw new Error("No IPTC NAA resource block.")}function oM(e,t){if(e.getUint32(t,!1)!==rM)throw new Error("Not an IPTC resource block.");return{type:e.getUint16(t+Qy),size:e.getUint16(t+10)}}function cM(e){return e.type===iM}function lM(e){return e.size%2!==0?1:0}function Ny(e,t,n,r){const i={};let a;const s=n+t.size;for(;n<s&&n<e.byteLength;){const{tag:o,tagSize:c}=uM(e,n,i,a,r);if(o===null)break;o&&("encoding"in o&&(a=o.encoding),i[o.name]===void 0||o.repeatable===void 0?i[o.name]={id:o.id,value:o.value,description:o.description}:(i[o.name]instanceof Array||(i[o.name]=[{id:i[o.name].id,value:i[o.name].value,description:i[o.name].description}]),i[o.name].push({id:o.id,value:o.value,description:o.description}))),n+=My+c}return i}function uM(e,t,n,r,i){if(AM(e,t))return{tag:null,tagSize:0};const a=e.getUint16(t+1),s=e.getUint16(t+3);if(!i&&!si.iptc[a])return{tag:void 0,tagSize:s};const o=hM(e,t+My,s),c={id:a,name:fM(si.iptc[a],a,o),value:o,description:pM(si.iptc[a],o,n,r)};return wM(a)&&(c.repeatable=!0),vM(a)&&(c.encoding=si.iptc[a].encoding_name(o)),{tag:c,tagSize:s}}function AM(e,t){return e.getUint8(t)!==28}function hM(e,t,n){const r=[];for(let i=0;i<n;i++)r.push(e.getUint8(t+i));return r}function fM(e,t,n){return e?gM(e)?e:dM(e)?e.name(n):e.name:`undefined-${t}`}function gM(e){return typeof e=="string"}function dM(e){return typeof e.name=="function"}function pM(e,t,n,r){if(yM(e))try{return e.description(t,n)}catch{}return mM(e,t)?Fy.decode(r,t):t}function mM(e,t){return e&&t instanceof Array}function yM(e){return e&&e.description!==void 0}function wM(e){return si.iptc[e]&&si.iptc[e].repeatable}function vM(e){return si.iptc[e]&&si.iptc[e].encoding_name!==void 0}const Yl={"tiff:Orientation"(e){return e==="1"?"Horizontal (normal)":e==="2"?"Mirror horizontal":e==="3"?"Rotate 180":e==="4"?"Mirror vertical":e==="5"?"Mirror horizontal and rotate 270 CW":e==="6"?"Rotate 90 CW":e==="7"?"Mirror horizontal and rotate 90 CW":e==="8"?"Rotate 270 CW":e},"tiff:ResolutionUnit":e=>Bt.ResolutionUnit(parseInt(e,10)),"tiff:XResolution":e=>Ra(Bt.XResolution,e),"tiff:YResolution":e=>Ra(Bt.YResolution,e),"exif:ApertureValue":e=>Ra(Bt.ApertureValue,e),"exif:GPSLatitude":ky,"exif:GPSLongitude":ky,"exif:FNumber":e=>Ra(Bt.FNumber,e),"exif:FocalLength":e=>Ra(Bt.FocalLength,e),"exif:FocalPlaneResolutionUnit":e=>Bt.FocalPlaneResolutionUnit(parseInt(e,10)),"exif:ColorSpace":e=>Bt.ColorSpace(EM(e)),"exif:ComponentsConfiguration"(e,t){if(/^\d, \d, \d, \d$/.test(t)){const n=t.split(", ").map(r=>r.charCodeAt(0));return Bt.ComponentsConfiguration(n)}return t},"exif:Contrast":e=>Bt.Contrast(parseInt(e,10)),"exif:CustomRendered":e=>Bt.CustomRendered(parseInt(e,10)),"exif:ExposureMode":e=>Bt.ExposureMode(parseInt(e,10)),"exif:ExposureProgram":e=>Bt.ExposureProgram(parseInt(e,10)),"exif:ExposureTime"(e){return Py(e)?Bt.ExposureTime(e.split("/").map(t=>parseInt(t,10))):e},"exif:MeteringMode":e=>Bt.MeteringMode(parseInt(e,10)),"exif:Saturation":e=>Bt.Saturation(parseInt(e,10)),"exif:SceneCaptureType":e=>Bt.SceneCaptureType(parseInt(e,10)),"exif:Sharpness":e=>Bt.Sharpness(parseInt(e,10)),"exif:ShutterSpeedValue":e=>Ra(Bt.ShutterSpeedValue,e),"exif:WhiteBalance":e=>Bt.WhiteBalance(parseInt(e,10))};function Ra(e,t){return Py(t)?e(t.split("/")):t}function EM(e){return e.substring(0,2)==="0x"?parseInt(e.substring(2),16):parseInt(e,10)}function Py(e){return/^-?\d+\/-?\d+$/.test(e)}function ky(e){const[t,n]=e.split(",");if(t!==void 0&&n!==void 0){const r=parseFloat(t),i=parseFloat(n),a=n.charAt(n.length-1);if(!Number.isNaN(r)&&!Number.isNaN(i))return""+(r+i/60)+a}return e}const BM={get:CM};function CM(){if(typeof DOMParser<"u")return new DOMParser;try{return new(__non_webpack_require__("@xmldom/xmldom")).DOMParser({errorHandler:{error:()=>{throw new Error("Faulty XML")}}})}catch{return}}const Ry={read:xM};function xM(e,t){const n={};if(typeof e=="string")return Hl(n,e),n;const[r,i]=bM(e,t),a=Hl(n,r);if(i){const s=Hl(n,i);!a&&!s&&(delete n._raw,Hl(n,pf(e,t)))}return n}function bM(e,t){if(t.length===0)return[];const n=[pf(e,t.slice(0,1))];return t.length>1&&n.push(pf(e,t.slice(1))),n}function pf(e,t){const n=t.reduce((a,s)=>a+s.length,0),r=new Uint8Array(n);let i=0;for(let a=0;a<t.length;a++){const s=t[a],o=e.buffer.slice(s.dataOffset,s.dataOffset+s.length);r.set(new Uint8Array(o),i),i+=s.length}return new DataView(r.buffer)}function Hl(e,t){try{const{doc:n,raw:r}=SM(t);e._raw=(e._raw||"")+r;const i=Oy(n);return Lt(e,Ly(Uy(i,!0))),!0}catch{return!1}}function SM(e){const t=BM.get();if(!t)throw console.warn("Warning: DOMParser is not available. It is needed to be able to parse XMP tags."),new Error;const n=typeof e=="string"?e:It(e,0,e.byteLength),r=t.parseFromString(DM(n),"application/xml");if(r.documentElement.nodeName==="parsererror")throw new Error(r.documentElement.textContent);return{doc:r,raw:n}}function DM(e){return e.replace(/^.+(<\?xpacket begin)/,"$1").replace(/(<\?xpacket end=".*"\?>).+$/,"$1")}function Oy(e){for(let t=0;t<e.childNodes.length;t++){if(e.childNodes[t].tagName==="x:xmpmeta")return Oy(e.childNodes[t]);if(e.childNodes[t].tagName==="rdf:RDF")return e.childNodes[t]}throw new Error}function Uy(e,t=!1){const n=IM(e);return FM(n)?t?{}:QM(n[0]):MM(n)}function IM(e){const t=[];for(let n=0;n<e.childNodes.length;n++)t.push(e.childNodes[n]);return t}function FM(e){return e.length===1&&e[0].nodeName==="#text"}function QM(e){return e.nodeValue}function MM(e){const t={};return e.forEach(n=>{if(TM(n)){const r=NM(n);t[n.nodeName]!==void 0?(Array.isArray(t[n.nodeName])||(t[n.nodeName]=[t[n.nodeName]]),t[n.nodeName].push(r)):t[n.nodeName]=r}}),t}function TM(e){return e.nodeName&&e.nodeName!=="#text"}function NM(e){return{attributes:PM(e),value:Uy(e)}}function PM(e){const t={};for(let n=0;n<e.attributes.length;n++)t[e.attributes[n].nodeName]=decodeURIComponent(escape(e.attributes[n].value));return t}function Ly(e){const t={};if(typeof e=="string")return e;for(const n in e){let r=e[n];Array.isArray(r)||(r=[r]),r.forEach(i=>{Lt(t,mf(i.attributes)),typeof i.value=="object"&&Lt(t,Yy(i.value))})}return t}function mf(e){const t={};for(const n in e)kM(n)&&(t[Vl(n)]={value:e[n],attributes:{},description:Er(e[n],n)});return t}function kM(e){return e!=="rdf:parseType"&&!Gl(e)}function Gl(e){return e.split(":")[0]==="xmlns"}function Vl(e){return/^MicrosoftPhoto(_\d+_)?:Rating$/i.test(e)?"RatingPercent":e.split(":")[1]}function Er(e,t=void 0){if(Array.isArray(e)){const n=RM(e);return t&&typeof Yl[t]=="function"?Yl[t](e,n):n}if(typeof e=="object")return OM(e);try{return t&&typeof Yl[t]=="function"?Yl[t](e):decodeURIComponent(escape(e))}catch{return e}}function RM(e){return e.map(t=>t.value!==void 0?Er(t.value):Er(t)).join(", ")}function OM(e){const t=[];for(const n in e)t.push(`${UM(n)}: ${Er(e[n].value)}`);return t.join("; ")}function UM(e){return e==="CiAdrCity"?"CreatorCity":e==="CiAdrCtry"?"CreatorCountry":e==="CiAdrExtadr"?"CreatorAddress":e==="CiAdrPcode"?"CreatorPostalCode":e==="CiAdrRegion"?"CreatorRegion":e==="CiEmailWork"?"CreatorWorkEmail":e==="CiTelWork"?"CreatorWorkPhone":e==="CiUrlWork"?"CreatorWorkUrl":e}function Yy(e){const t={};for(const n in e)Gl(n)||(t[Vl(n)]=LM(e[n],n));return t}function LM(e,t){return Hy(e)?Gy(e,t):Vy(e)?zy(e,t):Jy(e)?jy(e,t):GM(e)?VM(e,t):Ky(e,t)}function Hy(e){return e.attributes["rdf:parseType"]==="Resource"&&e.value["rdf:value"]!==void 0||e.value["rdf:Description"]!==void 0&&e.value["rdf:Description"].value["rdf:value"]!==void 0}function Gy(e,t){const n=eo(e);e.value["rdf:Description"]!==void 0&&(e=e.value["rdf:Description"]),Lt(n,eo(e),YM(e));const r=HM(e);return{value:r,attributes:n,description:Er(r,t)}}function eo(e){const t={};for(const n in e.attributes)n!=="rdf:parseType"&&n!=="rdf:resource"&&!Gl(n)&&(t[Vl(n)]=e.attributes[n]);return t}function YM(e){const t={};for(const n in e.value)n!=="rdf:value"&&!Gl(n)&&(t[Vl(n)]=e.value[n].value);return t}function HM(e){return Xy(e.value["rdf:value"])||e.value["rdf:value"].value}function Vy(e){return e.attributes["rdf:parseType"]==="Resource"||e.value["rdf:Description"]!==void 0&&e.value["rdf:Description"].value["rdf:value"]===void 0}function zy(e,t){const n={value:{},attributes:{}};return e.value["rdf:Description"]!==void 0&&(Lt(n.value,mf(e.value["rdf:Description"].attributes)),Lt(n.attributes,eo(e)),e=e.value["rdf:Description"]),Lt(n.value,Yy(e.value)),n.description=Er(n.value,t),n}function Jy(e){return Object.keys(e.value).length===0&&e.attributes["xml:lang"]===void 0&&e.attributes["rdf:resource"]===void 0}function jy(e,t){const n=mf(e.attributes);return{value:n,attributes:{},description:Er(n,t)}}function GM(e){return Wy(e.value)!==void 0}function Wy(e){return e["rdf:Bag"]||e["rdf:Seq"]||e["rdf:Alt"]}function VM(e,t){let n=Wy(e.value).value["rdf:li"];const r=eo(e),i=[];return n===void 0?n=[]:Array.isArray(n)||(n=[n]),n.forEach(a=>{i.push(zM(a))}),{value:i,attributes:r,description:Er(i,t)}}function zM(e){return Hy(e)?Gy(e):Vy(e)?zy(e).value:Jy(e)?jy(e).value:Ky(e)}function Ky(e,t){const n=Xy(e)||Ly(e.value);return{value:n,attributes:eo(e),description:Er(n,t)}}function Xy(e){return e.attributes&&e.attributes["rdf:resource"]}const _y={desc:{name:"ICC Description"},cprt:{name:"ICC Copyright"},dmdd:{name:"ICC Device Model Description"},vued:{name:"ICC Viewing Conditions Description"},dmnd:{name:"ICC Device Manufacturer for Display"},tech:{name:"Technology"}},qy={4:{name:"Preferred CMM type",value:(e,t)=>It(e,t,4),description:e=>e!==null?yf(e):""},8:{name:"Profile Version",value:(e,t)=>e.getUint8(t).toString(10)+"."+(e.getUint8(t+1)>>4).toString(10)+"."+(e.getUint8(t+1)%16).toString(10)},12:{name:"Profile/Device class",value:(e,t)=>It(e,t,4),description:e=>{switch(e.toLowerCase()){case"scnr":return"Input Device profile";case"mntr":return"Display Device profile";case"prtr":return"Output Device profile";case"link":return"DeviceLink profile";case"abst":return"Abstract profile";case"spac":return"ColorSpace profile";case"nmcl":return"NamedColor profile";case"cenc":return"ColorEncodingSpace profile";case"mid ":return"MultiplexIdentification profile";case"mlnk":return"MultiplexLink profile";case"mvis":return"MultiplexVisualization profile";default:return e}}},16:{name:"Color Space",value:(e,t)=>It(e,t,4)},20:{name:"Connection Space",value:(e,t)=>It(e,t,4)},24:{name:"ICC Profile Date",value:(e,t)=>JM(e,t).toISOString()},36:{name:"ICC Signature",value:(e,t)=>jM(e.buffer.slice(t,t+4))},40:{name:"Primary Platform",value:(e,t)=>It(e,t,4),description:e=>yf(e)},48:{name:"Device Manufacturer",value:(e,t)=>It(e,t,4),description:e=>yf(e)},52:{name:"Device Model Number",value:(e,t)=>It(e,t,4)},64:{name:"Rendering Intent",value:(e,t)=>e.getUint32(t),description:e=>{switch(e){case 0:return"Perceptual";case 1:return"Relative Colorimetric";case 2:return"Saturation";case 3:return"Absolute Colorimetric";default:return e}}},80:{name:"Profile Creator",value:(e,t)=>It(e,t,4)}};function JM(e,t){const n=e.getUint16(t),r=e.getUint16(t+2)-1,i=e.getUint16(t+4),a=e.getUint16(t+6),s=e.getUint16(t+8),o=e.getUint16(t+10);return new Date(Date.UTC(n,r,i,a,s,o))}function jM(e){return String.fromCharCode.apply(null,new Uint8Array(e))}function yf(e){switch(e.toLowerCase()){case"appl":return"Apple";case"adbe":return"Adobe";case"msft":return"Microsoft";case"sunw":return"Sun Microsystems";case"sgi":return"Silicon Graphics";case"tgnt":return"Taligent";default:return e}}const Zy={read:eT},WM=84,KM=128,XM="acsp",_M="desc",qM="mluc",ZM="text",$M="sig ",tT=12;function eT(e,t){try{const n=t.reduce((s,o)=>s+o.length,0),r=new Uint8Array(n);let i=0;const a=nT(e);for(let s=1;s<=t.length;s++){const o=t.find(u=>u.chunkNumber===s);if(!o)throw new Error(`ICC chunk ${s} not found`);const c=a.slice(o.offset,o.offset+o.length),l=new Uint8Array(c);r.set(l,i),i+=l.length}return aT(new DataView(r.buffer))}catch{return{}}}function nT(e){return Array.isArray(e)?new DataView(Uint8Array.from(e).buffer).buffer:e.buffer}function rT(e){return e.length<KM+4}function iT(e,t){return e.length<t+tT}function aT(e){const t=e.buffer,n=e.getUint32();if(e.byteLength!==n)throw new Error("ICC profile length not matching");if(e.length<WM)throw new Error("ICC profile too short");const r={},i=Object.keys(qy);for(let o=0;o<i.length;o++){const c=i[o],l=qy[c],u=l.value(e,parseInt(c,10));let A=u;l.description&&(A=l.description(u)),r[l.name]={value:u,description:A}}if(zl(t.slice(36,40))!==XM)throw new Error("ICC profile: missing signature");if(rT(t))return r;const a=e.getUint32(128);let s=132;for(let o=0;o<a;o++){if(iT(t,s))return r;const c=It(e,s,4),l=e.getUint32(s+4),u=e.getUint32(s+8);if(l>t.length)return r;const A=It(e,l,4);if(A===_M){const h=e.getUint32(l+8);if(h>u)return r;const f=zl(t.slice(l+12,l+h+11));no(r,c,f)}else if(A===qM){const h=e.getUint32(l+8),f=e.getUint32(l+12);let d=l+16;const p=[];for(let m=0;m<h;m++){const y=It(e,d+0,2),v=It(e,d+2,2),w=e.getUint32(d+4),B=e.getUint32(d+8),C=zF(e,l+B,w);p.push({languageCode:y,countryCode:v,text:C}),d+=f}if(h===1)no(r,c,p[0].text);else{const m={};for(let y=0;y<p.length;y++)m[`${p[y].languageCode}-${p[y].countryCode}`]=p[y].text;no(r,c,m)}}else if(A===ZM){const h=zl(t.slice(l+8,l+u-7));no(r,c,h)}else if(A===$M){const h=zl(t.slice(l+8,l+12));no(r,c,h)}s=s+12}return r}function zl(e){return String.fromCharCode.apply(null,new Uint8Array(e))}function no(e,t,n){_y[t]?e[_y[t].name]={value:n,description:n}:e[t]={value:n,description:n}}const sT={read:oT};function oT(e,t){return{"Image Width":cT(e,t),"Image Height":lT(e,t),"Bit Depth":uT(e,t),"Color Type":AT(e,t),Compression:hT(e,t),Filter:fT(e,t),Interlace:gT(e,t)}}function cT(e,t){if(t+0+4>e.byteLength)return;const n=q.getLongAt(e,t);return{value:n,description:`${n}px`}}function lT(e,t){if(t+4+4>e.byteLength)return;const n=q.getLongAt(e,t+4);return{value:n,description:`${n}px`}}function uT(e,t){if(t+8+1>e.byteLength)return;const n=q.getByteAt(e,t+8);return{value:n,description:`${n}`}}function AT(e,t){const n={0:"Grayscale",2:"RGB",3:"Palette",4:"Grayscale with Alpha",6:"RGB with Alpha"};if(t+9+1>e.byteLength)return;const r=q.getByteAt(e,t+9);return{value:r,description:n[r]||"Unknown"}}function hT(e,t){if(t+10+1>e.byteLength)return;const n=q.getByteAt(e,t+10);return{value:n,description:n===0?"Deflate/Inflate":"Unknown"}}function fT(e,t){if(t+11+1>e.byteLength)return;const n=q.getByteAt(e,t+11);return{value:n,description:n===0?"Adaptive":"Unknown"}}function gT(e,t){const n={0:"Noninterlaced",1:"Adam7 Interlace"};if(t+12+1>e.byteLength)return;const r=q.getByteAt(e,t+12);return{value:r,description:n[r]||"Unknown"}}const dT={read:yT},wf="STATE_KEYWORD",vf="STATE_COMPRESSION",Ef="STATE_LANG",$y="STATE_TRANSLATED_KEYWORD",pT="STATE_TEXT",mT=2;function yT(e,t){return t.reduce((n,{offset:r,length:i,type:a})=>{const{name:s,value:o,description:c}=wT(e,r,i,a);return s&&(n[s]={value:o,description:c}),n},{})}function wT(e,t,n,r){const i=[],a=[],s=[];let o=wf;for(let l=0;l<n&&t+l<e.byteLength;l++){if(o===vf){if(e.getUint8(t+l)!==0)return{};l+=mT,o=tw(r,o)}const u=e.getUint8(t+l);u===0?o=tw(r,o):o===wf?i.push(u):o===Ef?a.push(u):o===$y||s.push(u)}const c=Pa(s);return{name:vT(r,a,i),value:c,description:r===hy?Fy.decode("UTF-8",s):c}}function tw(e,t){return t===wf&&e===hy?vf:t===vf?Ef:t===Ef?$y:pT}function vT(e,t,n){const r=Pa(n);if(e===M3||t.length===0)return r;const i=Pa(t);return`${r} (${i})`}const ET={read:BT};function BT(e,t){const n={};for(let r=0;r<t.length;r++){const i=q.getLongAt(e,t[r]+$s),a=It(e,t[r]+Oi,cr);a===fy?(n["Pixels Per Unit X"]=CT(e,t[r],i),n["Pixels Per Unit Y"]=xT(e,t[r],i),n["Pixel Units"]=bT(e,t[r],i)):a===gy&&(n["Modify Date"]=ST(e,t[r],i))}return n}function CT(e,t,n){if(!Jl(e,t,n,0,4))return;const r=q.getLongAt(e,t+qe+0);return{value:r,description:""+r}}function xT(e,t,n){if(!Jl(e,t,n,4,4))return;const r=q.getLongAt(e,t+qe+4);return{value:r,description:""+r}}function bT(e,t,n){if(!Jl(e,t,n,8,1))return;const r=q.getByteAt(e,t+qe+8);return{value:r,description:r===1?"meters":"Unknown"}}function ST(e,t,n){if(!Jl(e,t,n,0,7))return;const r=q.getShortAt(e,t+qe),i=q.getByteAt(e,t+qe+2),a=q.getByteAt(e,t+qe+3),s=q.getByteAt(e,t+qe+4),o=q.getByteAt(e,t+qe+5),c=q.getByteAt(e,t+qe+6);return{value:[r,i,a,s,o,c],description:`${Oa(r,4)}-${Oa(i,2)}-${Oa(a,2)} ${Oa(s,2)}:${Oa(o,2)}:${Oa(c,2)}`}}function Jl(e,t,n,r,i){return r+i<=n&&t+qe+r+i<=e.byteLength}function Oa(e,t){return`${"0".repeat(t-(""+e).length)}${e}`}const DT=[6,7,99],IT={get:FT};function FT(e,t,n){if(QT(t)){t.type="image/jpeg";const r=n+t.JPEGInterchangeFormat.value;t.image=e.buffer.slice(r,r+t.JPEGInterchangeFormatLength.value),Km(t,"base64",function(){return Xm(this.image)})}return t}function QT(e){return e&&(e.Compression===void 0||DT.includes(e.Compression.value))&&e.JPEGInterchangeFormat&&e.JPEGInterchangeFormat.value&&e.JPEGInterchangeFormatLength&&e.JPEGInterchangeFormatLength.value}function ew(e){this.name="MetadataMissingError",this.message=e||"No Exif data",this.stack=new Error().stack}ew.prototype=new Error;const nw={MetadataMissingError:ew},MT={load:TT,loadView:rw,errors:nw};function TT(e,t){return NT(e)?PT(e,t).then(n=>Bf(n,t)):HT(e)?GT(e).then(n=>Bf(n,t)):Bf(e,t)}function NT(e){return typeof e=="string"}function PT(e,t){return/^https?:\/\//.test(e)?typeof fetch<"u"?kT(e,t):RT(e,t):UT(e)?Promise.resolve(JF(e)):LT(e,t)}function kT(e,{length:t}={}){const n={method:"GET"};return Number.isInteger(t)&&t>=0&&(n.headers={range:`bytes=0-${t-1}`}),fetch(e,n).then(r=>r.arrayBuffer())}function RT(e,{length:t}={}){return new Promise((n,r)=>{const i={};Number.isInteger(t)&&t>=0&&(i.headers={range:`bytes=0-${t-1}`}),OT(e)(e,i,a=>{if(a.statusCode>=200&&a.statusCode<=299){const s=[];a.on("data",o=>s.push(Buffer.from(o))),a.on("error",o=>r(o)),a.on("end",()=>n(Buffer.concat(s)))}else r(`Could not fetch file: ${a.statusCode} ${a.statusMessage}`),a.resume()}).on("error",a=>r(a))})}function OT(e){return/^https:\/\//.test(e)?__non_webpack_require__("https").get:__non_webpack_require__("http").get}function UT(e){return/^data:[^;,]*(;base64)?,/.test(e)}function LT(e,{length:t}={}){return new Promise((n,r)=>{const i=YT();i.open(e,(a,s)=>{a?r(a):i.stat(e,(o,c)=>{if(o)r(o);else{const l=Math.min(c.size,t!==void 0?t:c.size),u=Buffer.alloc(l),A={buffer:u,length:l};i.read(s,A,h=>{h?r(h):i.close(s,f=>{f&&console.warn(`Could not close file ${e}:`,f),n(u)})})}})})})}function YT(){try{return __non_webpack_require__("fs")}catch{return}}function HT(e){return typeof window<"u"&&typeof File<"u"&&e instanceof File}function GT(e){return new Promise((t,n)=>{const r=new FileReader;r.onload=i=>t(i.target.result),r.onerror=()=>n(r.error),r.readAsArrayBuffer(e)})}function Bf(e,t){return VT(e)&&(e=new Uint8Array(e).buffer),rw(zT(e),t)}function VT(e){try{return Buffer.isBuffer(e)}catch{return!1}}function zT(e){try{return new DataView(e)}catch{return new jF(e)}}function rw(e,{expanded:t=!1,includeUnknown:n=!1}={expanded:!1,includeUnknown:!1}){let r=!1,i={};const{fileDataOffset:a,jfifDataOffset:s,tiffHeaderOffset:o,iptcDataOffset:c,xmpChunks:l,iccChunks:u,mpfDataOffset:A,pngHeaderOffset:h,pngTextChunks:f,pngChunkOffsets:d}=Z3.parseAppMarkers(e);if(JT(a)){r=!0;const m=MQ.read(e,a);t?i.file=m:i=Lt({},i,m)}if(jT(s)){r=!0;const m=HQ.read(e,s);t?i.jfif=m:i=Lt({},i,m)}if(WT(o)){r=!0;const m=xy.read(e,o,n);if(m.Thumbnail&&(i.Thumbnail=m.Thumbnail,delete m.Thumbnail),t?(i.exif=m,KT(i)):i=Lt({},i,m),m["IPTC-NAA"]&&!iw(c)){const y=Ty.read(m["IPTC-NAA"].value,0,n);t?i.iptc=y:i=Lt({},i,y)}if(m.ApplicationNotes&&!aw(l)){const y=Ry.read(Pa(m.ApplicationNotes.value));t?i.xmp=y:(delete y._raw,i=Lt({},i,y))}if(m.ICC_Profile&&!sw(u)){const y=Zy.read(m.ICC_Profile.value,[{offset:0,length:m.ICC_Profile.value.length,chunkNumber:1,chunksTotal:1}]);t?i.icc=y:i=Lt({},i,y)}}if(iw(c)){r=!0;const m=Ty.read(e,c,n);t?i.iptc=m:i=Lt({},i,m)}if(aw(l)){r=!0;const m=Ry.read(e,l);t?i.xmp=m:(delete m._raw,i=Lt({},i,m))}if(sw(u)){r=!0;const m=Zy.read(e,u);t?i.icc=m:i=Lt({},i,m)}if(XT(A)){r=!0;const m=xy.readMpf(e,A,n);t?i.mpf=m:i=Lt({},i,m)}if(_T(h)){r=!0;const m=sT.read(e,h);t?(i.png=i.png?Lt({},i.png,m):m,i.pngFile=m):i=Lt({},i,m)}if(qT(f)){r=!0;const m=dT.read(e,f);t?(i.png=i.png?Lt({},i.png,m):m,i.pngText=m):i=Lt({},i,m)}if(ZT(d)){r=!0;const m=ET.read(e,d);t?i.png=i.png?Lt({},i.png,m):m:i=Lt({},i,m)}const p=IT.get(e,i.Thumbnail,o);if(p?(r=!0,i.Thumbnail=p):delete i.Thumbnail,!r)throw new nw.MetadataMissingError;return i}function JT(e){return e!==void 0}function jT(e){return e!==void 0}function WT(e){return e!==void 0}function KT(e){if(e.exif){if(e.exif.GPSLatitude&&e.exif.GPSLatitudeRef)try{e.gps=e.gps||{},e.gps.Latitude=Ol(e.exif.GPSLatitude.value),e.exif.GPSLatitudeRef.value.join("")==="S"&&(e.gps.Latitude=-e.gps.Latitude)}catch{}if(e.exif.GPSLongitude&&e.exif.GPSLongitudeRef)try{e.gps=e.gps||{},e.gps.Longitude=Ol(e.exif.GPSLongitude.value),e.exif.GPSLongitudeRef.value.join("")==="W"&&(e.gps.Longitude=-e.gps.Longitude)}catch{}if(e.exif.GPSAltitude&&e.exif.GPSAltitudeRef)try{e.gps=e.gps||{},e.gps.Altitude=e.exif.GPSAltitude.value[0]/e.exif.GPSAltitude.value[1],e.exif.GPSAltitudeRef.value===1&&(e.gps.Altitude=-e.gps.Altitude)}catch{}}}function iw(e){return e!==void 0}function aw(e){return Array.isArray(e)&&e.length>0}function sw(e){return Array.isArray(e)&&e.length>0}function XT(e){return e!==void 0}function _T(e){return e!==void 0}function qT(e){return e!==void 0}function ZT(e){return e!==void 0}let jl=null;const $T=e=>new Promise(t=>{var n;if(Hh(e)!=="image/jpeg")return t(1);const r=(n=MT.load(e).Orientation)==null?void 0:n.value;return t(r?Number(r):1)}),t8=async()=>{if(jl!==null)return!jl;const e=await Zs("data:image/jpeg;base64,/9j/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAYAAAAAAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIAAIAAwMBEQACEQEDEQH/xABRAAEAAAAAAAAAAAAAAAAAAAAKEAEBAQADAQEAAAAAAAAAAAAGBQQDCAkCBwEBAAAAAAAAAAAAAAAAAAAAABEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEQMRAD8AG8T9NfSMEVMhQvoP3fFiRZ+MTHDifa/95OFSZU5OzRzxkyejv8ciEfhSceSXGjS8eSdLnZc2HDm4M3BxcXwH/9k=");return jl=e.width===2&&e.height===3,!jl},e8=e=>{const t=e.naturalWidth/e.naturalHeight;return e.naturalHeight<=8192&&e.naturalWidth<=8192?[e.naturalWidth,e.naturalHeight]:e.naturalHeight>e.naturalWidth?[t*8192,8192]:[8192,8192/t]},n8=async e=>{var t;const n=await Fm(e),r=await Zs(n),[i,a]=e8(r);if(!await t8()){const A=ii(i,a);return(t=A.getContext("2d"))==null||t.drawImage(r,0,0,i,a),A}const s=await $T(e),[o,c]=s>4?[a,i]:[i,a],l=ii(o,c),u=l.getContext("2d");switch(s){case 2:u.translate(o,0),u.scale(-1,1);break;case 3:u.translate(o,c),u.rotate(Math.PI);break;case 4:u.translate(0,c),u.scale(1,-1);break;case 5:u.rotate(-.5*Math.PI),u.scale(-1,1);break;case 6:u.rotate(-.5*Math.PI),u.translate(-o,0);break;case 7:u.rotate(-.5*Math.PI),u.translate(-o,c),u.scale(1,-1);break;case 8:u.rotate(.5*Math.PI),u.translate(0,-c);break}return u.drawImage(r,0,0,o,c),l},ro=async e=>{const t=await n8(e);return Hh(e)==="image/jpeg"?{dataUrl:t.toDataURL("image/jpeg",1),height:t.height,width:t.width}:{dataUrl:t.toDataURL(),height:t.height,width:t.width}},io=e=>{const t=e.variants;if(t){if(t.length===1)return t[0];if(e.defaultVariant!==void 0)return t.find(n=>n.id===e.defaultVariant)}},Ui=new Map,Wl=new Map,ow=async(e,t)=>{if(!t){if(!e)throw new Error("No region or src supplied. Cannot construct frame!");return Cf(e)}return Ln(t)},Cf=e=>{const t=e.width,n=e.height,r=t/n,i=Math.max(t,512),a=i/r;return`<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 ${i} ${a}'>
89
- <path id="target-path" d='M0 0 h ${i} v ${a} h ${-i} Z' />
90
- </svg>
91
- `},r8=(e,t)=>{var n;if(!t)return;const r=((n=t.variants)==null?void 0:n.find(i=>i.id===e.frameVariantId))||io(t);if(!r)throw new Error(`No variant with ID: ${e.frameVariantId}`);if(!r.asset)throw new Error(`No asset for variant with ID: ${e.frameVariantId}`);return r},ao=async e=>{const t=ti().parseFromString(e,"image/svg+xml"),n=t.querySelector("svg");if(!n)throw new Error("Malformed frame SVG: <svg> tag not found");const r=n.getAttribute("viewBox");if(!r)throw new Error("SVG missing viewBox.");const i=r.split(" "),a=parseFloat(i[3])||1,s=parseFloat(i[2])||1,o=t.getElementById("target-path"),c=t.getElementsByClassName("st0").item(0);if(o){const l=o.getAttribute("d");if(!l)throw new Error("Malformed frame SVG: 'd' attribute not found on target element");const u={path:l,width:s,height:a};return Wl.set(l,u),u}if(c){const l=c.getAttribute("d");if(!l)throw new Error("Malformed frame SVG: 'd' attribute not found on target element");const u={path:l,width:s,height:a};return Wl.set(l,u),u}throw new Error("Malformed frame SVG")},xf=(e,t,n)=>{const r=t.width>=t.height,i=e.width>=e.height,a=t.width/2,s=t.height/2,o=r?t.height:t.width,c=i?e.width:e.height,l=o/c,u=(n==null?void 0:n.scale)||l,A=a-e.width/2*u,h=(n==null?void 0:n.left)||A,f=s-e.height/2*u,d=(n==null?void 0:n.top)||f;return{x:h,y:d,zoom:u}},bf=async e=>{if(Ui.has(e))return Ui.get(e);if(e.endsWith("svg")){const t=await cw(e),n=t.width,r=t.height,i={src:e,width:n,height:r,aspect:n/r};return Ui.set(e,i),i}else{const t=await Ml(e),n=await ro(t),r={src:e,width:n.width,height:n.height,aspect:n.width/n.height};return Ui.set(e,r),r}},cw=async e=>{const t=await Ln(e);return i8(t)},i8=e=>{const t=ti().parseFromString(e,"image/svg+xml").querySelector("svg");if(!t)throw new Error("No svg tag found, this svg must be malformed!");const n=t.getAttribute("viewBox"),r=t.getAttribute("width"),i=t.getAttribute("height"),a=n?n==null?void 0:n.split(" ").map(s=>Number(s)):[0,0,Number(r),Number(i)];if(!a)throw new Error("No viewbox or width/height values detected on SVG file!");return{width:a[2],height:a[3]}},Sf=(e,t,n,r,i)=>{if(t.some(u=>u==null))throw new Error(`Failed to autosize lines: ${t.join(", ")}`);let a=t.map(u=>u.split(`
92
- `)).flat(),s=a.length,o=a.map(u=>ni(u,r,i));const c=i.getApproximateHeight()*r;let l=!0;for(;l;){if(c+(s-1)*n>e.height)return[null,null];const u=Math.max(...o);if(u<=e.width)return[a,u];const A=o.reduce((p,m,y,v)=>m>v[p]?y:p,0),h=a[A];let f=!1,d=h.length;for(;!f&&d>-1;){d=h.lastIndexOf(" ",d-1);const p=[h.slice(0,d),h.slice(d+1)],m=p.map(y=>ni(y,r,i));m[0]<=e.width&&(a=[...a.slice(0,A),...p,...a.slice(A+1)],o=[...o.slice(0,A),...m,...o.slice(A+1)],s+=1,f=!0)}f||(l=!1)}return[null,null]},so=(e,t,n,r,i)=>{let a,s;const o=ei(t.assetUrl),c=o.getFont();if(i.size){const h=e/c.unitsPerEm;return[a,s]=Sf(n,r,e,h,o),[i.size,a,s]}const l=6;let u=l-Gh;if(r.length>0){let h=r,f=0;for(;(!i.maxSize||u<=i.maxSize)&&h;)u+=Gh,f=u/c.unitsPerEm,[h,s]=Sf(n,r,u,f,o)}u>l&&(u-=Gh),i.minSize&&u<i.minSize&&(u=i.minSize);const A=u/c.unitsPerEm;return[a,s]=Sf(n,r,u,A,o),[u,a,s]};var Kl={exports:{}},oo={exports:{}};(function(){var e,t,n,r,i,a;typeof performance<"u"&&performance!==null&&performance.now?oo.exports=function(){return performance.now()}:typeof process<"u"&&process!==null&&process.hrtime?(oo.exports=function(){return(e()-i)/1e6},t=process.hrtime,e=function(){var s;return s=t(),s[0]*1e9+s[1]},r=e(),a=process.uptime()*1e9,i=r-a):Date.now?(oo.exports=function(){return Date.now()-n},n=Date.now()):(oo.exports=function(){return new Date().getTime()-n},n=new Date().getTime())}).call(va);for(var a8=oo.exports,s8=a8,Br=typeof window>"u"?va:window,Xl=["moz","webkit"],Ua="AnimationFrame",La=Br["request"+Ua],co=Br["cancel"+Ua]||Br["cancelRequest"+Ua],lo=0;!La&&lo<Xl.length;lo++)La=Br[Xl[lo]+"Request"+Ua],co=Br[Xl[lo]+"Cancel"+Ua]||Br[Xl[lo]+"CancelRequest"+Ua];if(!La||!co){var Df=0,lw=0,Li=[],o8=1e3/60;La=function(e){if(Li.length===0){var t=s8(),n=Math.max(0,o8-(t-Df));Df=n+t,setTimeout(function(){var r=Li.slice(0);Li.length=0;for(var i=0;i<r.length;i++)if(!r[i].cancelled)try{r[i].callback(Df)}catch(a){setTimeout(function(){throw a},0)}},Math.round(n))}return Li.push({handle:++lw,callback:e,cancelled:!1}),lw},co=function(e){for(var t=0;t<Li.length;t++)Li[t].handle===e&&(Li[t].cancelled=!0)}}Kl.exports=function(e){return La.call(Br,e)},Kl.exports.cancel=function(){co.apply(Br,arguments)},Kl.exports.polyfill=function(e){e||(e=Br),e.requestAnimationFrame=La,e.cancelAnimationFrame=co};var c8=Kl.exports;const If=Kd(c8);var l8=function(e){this.ok=!1,this.alpha=1,e.charAt(0)=="#"&&(e=e.substr(1,6)),e=e.replace(/ /g,""),e=e.toLowerCase();var t={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dodgerblue:"1e90ff",feldspar:"d19275",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgrey:"d3d3d3",lightgreen:"90ee90",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslateblue:"8470ff",lightslategray:"778899",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"00ff00",limegreen:"32cd32",linen:"faf0e6",magenta:"ff00ff",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370d8",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"d87093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"ff0000",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",violetred:"d02090",wheat:"f5deb3",white:"ffffff",whitesmoke:"f5f5f5",yellow:"ffff00",yellowgreen:"9acd32"};e=t[e]||e;for(var n=[{re:/^rgba\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3}),\s*((?:\d?\.)?\d)\)$/,example:["rgba(123, 234, 45, 0.8)","rgba(255,234,245,1.0)"],process:function(c){return[parseInt(c[1]),parseInt(c[2]),parseInt(c[3]),parseFloat(c[4])]}},{re:/^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/,example:["rgb(123, 234, 45)","rgb(255,234,245)"],process:function(c){return[parseInt(c[1]),parseInt(c[2]),parseInt(c[3])]}},{re:/^([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,example:["#00ff00","336699"],process:function(c){return[parseInt(c[1],16),parseInt(c[2],16),parseInt(c[3],16)]}},{re:/^([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,example:["#fb0","f0f"],process:function(c){return[parseInt(c[1]+c[1],16),parseInt(c[2]+c[2],16),parseInt(c[3]+c[3],16)]}}],r=0;r<n.length;r++){var i=n[r].re,a=n[r].process,s=i.exec(e);if(s){var o=a(s);this.r=o[0],this.g=o[1],this.b=o[2],o.length>3&&(this.alpha=o[3]),this.ok=!0}}this.r=this.r<0||isNaN(this.r)?0:this.r>255?255:this.r,this.g=this.g<0||isNaN(this.g)?0:this.g>255?255:this.g,this.b=this.b<0||isNaN(this.b)?0:this.b>255?255:this.b,this.alpha=this.alpha<0?0:this.alpha>1||isNaN(this.alpha)?1:this.alpha,this.toRGB=function(){return"rgb("+this.r+", "+this.g+", "+this.b+")"},this.toRGBA=function(){return"rgba("+this.r+", "+this.g+", "+this.b+", "+this.alpha+")"},this.toHex=function(){var c=this.r.toString(16),l=this.g.toString(16),u=this.b.toString(16);return c.length==1&&(c="0"+c),l.length==1&&(l="0"+l),u.length==1&&(u="0"+u),"#"+c+l+u},this.getHelpXML=function(){for(var c=new Array,l=0;l<n.length;l++)for(var u=n[l].example,A=0;A<u.length;A++)c[c.length]=u[A];for(var h in t)c[c.length]=h;var f=document.createElement("ul");f.setAttribute("id","rgbcolor-examples");for(var l=0;l<c.length;l++)try{var d=document.createElement("li"),p=new RGBColor(c[l]),m=document.createElement("div");m.style.cssText="margin: 3px; border: 1px solid black; background:"+p.toHex()+"; color:"+p.toHex(),m.appendChild(document.createTextNode("test"));var y=document.createTextNode(" "+c[l]+" -> "+p.toRGB()+" -> "+p.toHex());d.appendChild(m),d.appendChild(y),f.appendChild(d)}catch{}return f}};const Ff=Kd(l8);/*! *****************************************************************************
93
- Copyright (c) Microsoft Corporation.
94
-
95
- Permission to use, copy, modify, and/or distribute this software for any
96
- purpose with or without fee is hereby granted.
97
-
98
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
99
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
100
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
101
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
102
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
103
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
104
- PERFORMANCE OF THIS SOFTWARE.
105
- ***************************************************************************** */var uw=function(e,t){return(uw=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[i]=r[i])})(e,t)};function Aw(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}uw(e,t),e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}function u8(e){var t="";Array.isArray(e)||(e=[e]);for(var n=0;n<e.length;n++){var r=e[n];if(r.type===H.CLOSE_PATH)t+="z";else if(r.type===H.HORIZ_LINE_TO)t+=(r.relative?"h":"H")+r.x;else if(r.type===H.VERT_LINE_TO)t+=(r.relative?"v":"V")+r.y;else if(r.type===H.MOVE_TO)t+=(r.relative?"m":"M")+r.x+" "+r.y;else if(r.type===H.LINE_TO)t+=(r.relative?"l":"L")+r.x+" "+r.y;else if(r.type===H.CURVE_TO)t+=(r.relative?"c":"C")+r.x1+" "+r.y1+" "+r.x2+" "+r.y2+" "+r.x+" "+r.y;else if(r.type===H.SMOOTH_CURVE_TO)t+=(r.relative?"s":"S")+r.x2+" "+r.y2+" "+r.x+" "+r.y;else if(r.type===H.QUAD_TO)t+=(r.relative?"q":"Q")+r.x1+" "+r.y1+" "+r.x+" "+r.y;else if(r.type===H.SMOOTH_QUAD_TO)t+=(r.relative?"t":"T")+r.x+" "+r.y;else{if(r.type!==H.ARC)throw new Error('Unexpected command type "'+r.type+'" at index '+n+".");t+=(r.relative?"a":"A")+r.rX+" "+r.rY+" "+r.xRot+" "+ +r.lArcFlag+" "+ +r.sweepFlag+" "+r.x+" "+r.y}}return t}function Qf(e,t){var n=e[0],r=e[1];return[n*Math.cos(t)-r*Math.sin(t),n*Math.sin(t)+r*Math.cos(t)]}function Hn(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var n=0;n<e.length;n++)if(typeof e[n]!="number")throw new Error("assertNumbers arguments["+n+"] is not a number. "+typeof e[n]+" == typeof "+e[n]);return!0}var oi=Math.PI;function Mf(e,t,n){e.lArcFlag=e.lArcFlag===0?0:1,e.sweepFlag=e.sweepFlag===0?0:1;var r=e.rX,i=e.rY,a=e.x,s=e.y;r=Math.abs(e.rX),i=Math.abs(e.rY);var o=Qf([(t-a)/2,(n-s)/2],-e.xRot/180*oi),c=o[0],l=o[1],u=Math.pow(c,2)/Math.pow(r,2)+Math.pow(l,2)/Math.pow(i,2);1<u&&(r*=Math.sqrt(u),i*=Math.sqrt(u)),e.rX=r,e.rY=i;var A=Math.pow(r,2)*Math.pow(l,2)+Math.pow(i,2)*Math.pow(c,2),h=(e.lArcFlag!==e.sweepFlag?1:-1)*Math.sqrt(Math.max(0,(Math.pow(r,2)*Math.pow(i,2)-A)/A)),f=r*l/i*h,d=-i*c/r*h,p=Qf([f,d],e.xRot/180*oi);e.cX=p[0]+(t+a)/2,e.cY=p[1]+(n+s)/2,e.phi1=Math.atan2((l-d)/i,(c-f)/r),e.phi2=Math.atan2((-l-d)/i,(-c-f)/r),e.sweepFlag===0&&e.phi2>e.phi1&&(e.phi2-=2*oi),e.sweepFlag===1&&e.phi2<e.phi1&&(e.phi2+=2*oi),e.phi1*=180/oi,e.phi2*=180/oi}function hw(e,t,n){Hn(e,t,n);var r=e*e+t*t-n*n;if(0>r)return[];if(r===0)return[[e*n/(e*e+t*t),t*n/(e*e+t*t)]];var i=Math.sqrt(r);return[[(e*n+t*i)/(e*e+t*t),(t*n-e*i)/(e*e+t*t)],[(e*n-t*i)/(e*e+t*t),(t*n+e*i)/(e*e+t*t)]]}var Be,Cr=Math.PI/180;function fw(e,t,n){return(1-n)*e+n*t}function gw(e,t,n,r){return e+Math.cos(r/180*oi)*t+Math.sin(r/180*oi)*n}function dw(e,t,n,r){var i=1e-6,a=t-e,s=n-t,o=3*a+3*(r-n)-6*s,c=6*(s-a),l=3*a;return Math.abs(o)<i?[-l/c]:function(u,A,h){h===void 0&&(h=1e-6);var f=u*u/4-A;if(f<-h)return[];if(f<=h)return[-u/2];var d=Math.sqrt(f);return[-u/2-d,-u/2+d]}(c/o,l/o,i)}function pw(e,t,n,r,i){var a=1-i;return e*(a*a*a)+t*(3*a*a*i)+n*(3*a*i*i)+r*(i*i*i)}(function(e){function t(){return i(function(o,c,l){return o.relative&&(o.x1!==void 0&&(o.x1+=c),o.y1!==void 0&&(o.y1+=l),o.x2!==void 0&&(o.x2+=c),o.y2!==void 0&&(o.y2+=l),o.x!==void 0&&(o.x+=c),o.y!==void 0&&(o.y+=l),o.relative=!1),o})}function n(){var o=NaN,c=NaN,l=NaN,u=NaN;return i(function(A,h,f){return A.type&H.SMOOTH_CURVE_TO&&(A.type=H.CURVE_TO,o=isNaN(o)?h:o,c=isNaN(c)?f:c,A.x1=A.relative?h-o:2*h-o,A.y1=A.relative?f-c:2*f-c),A.type&H.CURVE_TO?(o=A.relative?h+A.x2:A.x2,c=A.relative?f+A.y2:A.y2):(o=NaN,c=NaN),A.type&H.SMOOTH_QUAD_TO&&(A.type=H.QUAD_TO,l=isNaN(l)?h:l,u=isNaN(u)?f:u,A.x1=A.relative?h-l:2*h-l,A.y1=A.relative?f-u:2*f-u),A.type&H.QUAD_TO?(l=A.relative?h+A.x1:A.x1,u=A.relative?f+A.y1:A.y1):(l=NaN,u=NaN),A})}function r(){var o=NaN,c=NaN;return i(function(l,u,A){if(l.type&H.SMOOTH_QUAD_TO&&(l.type=H.QUAD_TO,o=isNaN(o)?u:o,c=isNaN(c)?A:c,l.x1=l.relative?u-o:2*u-o,l.y1=l.relative?A-c:2*A-c),l.type&H.QUAD_TO){o=l.relative?u+l.x1:l.x1,c=l.relative?A+l.y1:l.y1;var h=l.x1,f=l.y1;l.type=H.CURVE_TO,l.x1=((l.relative?0:u)+2*h)/3,l.y1=((l.relative?0:A)+2*f)/3,l.x2=(l.x+2*h)/3,l.y2=(l.y+2*f)/3}else o=NaN,c=NaN;return l})}function i(o){var c=0,l=0,u=NaN,A=NaN;return function(h){if(isNaN(u)&&!(h.type&H.MOVE_TO))throw new Error("path must start with moveto");var f=o(h,c,l,u,A);return h.type&H.CLOSE_PATH&&(c=u,l=A),h.x!==void 0&&(c=h.relative?c+h.x:h.x),h.y!==void 0&&(l=h.relative?l+h.y:h.y),h.type&H.MOVE_TO&&(u=c,A=l),f}}function a(o,c,l,u,A,h){return Hn(o,c,l,u,A,h),i(function(f,d,p,m){var y=f.x1,v=f.x2,w=f.relative&&!isNaN(m),B=f.x!==void 0?f.x:w?0:d,C=f.y!==void 0?f.y:w?0:p;function x(X){return X*X}f.type&H.HORIZ_LINE_TO&&c!==0&&(f.type=H.LINE_TO,f.y=f.relative?0:p),f.type&H.VERT_LINE_TO&&l!==0&&(f.type=H.LINE_TO,f.x=f.relative?0:d),f.x!==void 0&&(f.x=f.x*o+C*l+(w?0:A)),f.y!==void 0&&(f.y=B*c+f.y*u+(w?0:h)),f.x1!==void 0&&(f.x1=f.x1*o+f.y1*l+(w?0:A)),f.y1!==void 0&&(f.y1=y*c+f.y1*u+(w?0:h)),f.x2!==void 0&&(f.x2=f.x2*o+f.y2*l+(w?0:A)),f.y2!==void 0&&(f.y2=v*c+f.y2*u+(w?0:h));var b=o*u-c*l;if(f.xRot!==void 0&&(o!==1||c!==0||l!==0||u!==1))if(b===0)delete f.rX,delete f.rY,delete f.xRot,delete f.lArcFlag,delete f.sweepFlag,f.type=H.LINE_TO;else{var D=f.xRot*Math.PI/180,T=Math.sin(D),P=Math.cos(D),L=1/x(f.rX),U=1/x(f.rY),z=x(P)*L+x(T)*U,J=2*T*P*(L-U),W=x(T)*L+x(P)*U,Z=z*u*u-J*c*u+W*c*c,ot=J*(o*u+c*l)-2*(z*l*u+W*o*c),lt=z*l*l-J*o*l+W*o*o,O=(Math.atan2(ot,Z-lt)+Math.PI)%Math.PI/2,M=Math.sin(O),V=Math.cos(O);f.rX=Math.abs(b)/Math.sqrt(Z*x(V)+ot*M*V+lt*x(M)),f.rY=Math.abs(b)/Math.sqrt(Z*x(M)-ot*M*V+lt*x(V)),f.xRot=180*O/Math.PI}return f.sweepFlag!==void 0&&0>b&&(f.sweepFlag=+!f.sweepFlag),f})}function s(){return function(o){var c={};for(var l in o)c[l]=o[l];return c}}e.ROUND=function(o){function c(l){return Math.round(l*o)/o}return o===void 0&&(o=1e13),Hn(o),function(l){return l.x1!==void 0&&(l.x1=c(l.x1)),l.y1!==void 0&&(l.y1=c(l.y1)),l.x2!==void 0&&(l.x2=c(l.x2)),l.y2!==void 0&&(l.y2=c(l.y2)),l.x!==void 0&&(l.x=c(l.x)),l.y!==void 0&&(l.y=c(l.y)),l.rX!==void 0&&(l.rX=c(l.rX)),l.rY!==void 0&&(l.rY=c(l.rY)),l}},e.TO_ABS=t,e.TO_REL=function(){return i(function(o,c,l){return o.relative||(o.x1!==void 0&&(o.x1-=c),o.y1!==void 0&&(o.y1-=l),o.x2!==void 0&&(o.x2-=c),o.y2!==void 0&&(o.y2-=l),o.x!==void 0&&(o.x-=c),o.y!==void 0&&(o.y-=l),o.relative=!0),o})},e.NORMALIZE_HVZ=function(o,c,l){return o===void 0&&(o=!0),c===void 0&&(c=!0),l===void 0&&(l=!0),i(function(u,A,h,f,d){if(isNaN(f)&&!(u.type&H.MOVE_TO))throw new Error("path must start with moveto");return c&&u.type&H.HORIZ_LINE_TO&&(u.type=H.LINE_TO,u.y=u.relative?0:h),l&&u.type&H.VERT_LINE_TO&&(u.type=H.LINE_TO,u.x=u.relative?0:A),o&&u.type&H.CLOSE_PATH&&(u.type=H.LINE_TO,u.x=u.relative?f-A:f,u.y=u.relative?d-h:d),u.type&H.ARC&&(u.rX===0||u.rY===0)&&(u.type=H.LINE_TO,delete u.rX,delete u.rY,delete u.xRot,delete u.lArcFlag,delete u.sweepFlag),u})},e.NORMALIZE_ST=n,e.QT_TO_C=r,e.INFO=i,e.SANITIZE=function(o){o===void 0&&(o=0),Hn(o);var c=NaN,l=NaN,u=NaN,A=NaN;return i(function(h,f,d,p,m){var y=Math.abs,v=!1,w=0,B=0;if(h.type&H.SMOOTH_CURVE_TO&&(w=isNaN(c)?0:f-c,B=isNaN(l)?0:d-l),h.type&(H.CURVE_TO|H.SMOOTH_CURVE_TO)?(c=h.relative?f+h.x2:h.x2,l=h.relative?d+h.y2:h.y2):(c=NaN,l=NaN),h.type&H.SMOOTH_QUAD_TO?(u=isNaN(u)?f:2*f-u,A=isNaN(A)?d:2*d-A):h.type&H.QUAD_TO?(u=h.relative?f+h.x1:h.x1,A=h.relative?d+h.y1:h.y2):(u=NaN,A=NaN),h.type&H.LINE_COMMANDS||h.type&H.ARC&&(h.rX===0||h.rY===0||!h.lArcFlag)||h.type&H.CURVE_TO||h.type&H.SMOOTH_CURVE_TO||h.type&H.QUAD_TO||h.type&H.SMOOTH_QUAD_TO){var C=h.x===void 0?0:h.relative?h.x:h.x-f,x=h.y===void 0?0:h.relative?h.y:h.y-d;w=isNaN(u)?h.x1===void 0?w:h.relative?h.x:h.x1-f:u-f,B=isNaN(A)?h.y1===void 0?B:h.relative?h.y:h.y1-d:A-d;var b=h.x2===void 0?0:h.relative?h.x:h.x2-f,D=h.y2===void 0?0:h.relative?h.y:h.y2-d;y(C)<=o&&y(x)<=o&&y(w)<=o&&y(B)<=o&&y(b)<=o&&y(D)<=o&&(v=!0)}return h.type&H.CLOSE_PATH&&y(f-p)<=o&&y(d-m)<=o&&(v=!0),v?[]:h})},e.MATRIX=a,e.ROTATE=function(o,c,l){c===void 0&&(c=0),l===void 0&&(l=0),Hn(o,c,l);var u=Math.sin(o),A=Math.cos(o);return a(A,u,-u,A,c-c*A+l*u,l-c*u-l*A)},e.TRANSLATE=function(o,c){return c===void 0&&(c=0),Hn(o,c),a(1,0,0,1,o,c)},e.SCALE=function(o,c){return c===void 0&&(c=o),Hn(o,c),a(o,0,0,c,0,0)},e.SKEW_X=function(o){return Hn(o),a(1,0,Math.atan(o),1,0,0)},e.SKEW_Y=function(o){return Hn(o),a(1,Math.atan(o),0,1,0,0)},e.X_AXIS_SYMMETRY=function(o){return o===void 0&&(o=0),Hn(o),a(-1,0,0,1,o,0)},e.Y_AXIS_SYMMETRY=function(o){return o===void 0&&(o=0),Hn(o),a(1,0,0,-1,0,o)},e.A_TO_C=function(){return i(function(o,c,l){return H.ARC===o.type?function(u,A,h){var f,d,p,m;u.cX||Mf(u,A,h);for(var y=Math.min(u.phi1,u.phi2),v=Math.max(u.phi1,u.phi2)-y,w=Math.ceil(v/90),B=new Array(w),C=A,x=h,b=0;b<w;b++){var D=fw(u.phi1,u.phi2,b/w),T=fw(u.phi1,u.phi2,(b+1)/w),P=T-D,L=4/3*Math.tan(P*Cr/4),U=[Math.cos(D*Cr)-L*Math.sin(D*Cr),Math.sin(D*Cr)+L*Math.cos(D*Cr)],z=U[0],J=U[1],W=[Math.cos(T*Cr),Math.sin(T*Cr)],Z=W[0],ot=W[1],lt=[Z+L*Math.sin(T*Cr),ot-L*Math.cos(T*Cr)],O=lt[0],M=lt[1];B[b]={relative:u.relative,type:H.CURVE_TO};var V=function(X,st){var Mt=Qf([X*u.rX,st*u.rY],u.xRot),yt=Mt[0],Se=Mt[1];return[u.cX+yt,u.cY+Se]};f=V(z,J),B[b].x1=f[0],B[b].y1=f[1],d=V(O,M),B[b].x2=d[0],B[b].y2=d[1],p=V(Z,ot),B[b].x=p[0],B[b].y=p[1],u.relative&&(B[b].x1-=C,B[b].y1-=x,B[b].x2-=C,B[b].y2-=x,B[b].x-=C,B[b].y-=x),C=(m=[B[b].x,B[b].y])[0],x=m[1]}return B}(o,o.relative?0:c,o.relative?0:l):o})},e.ANNOTATE_ARCS=function(){return i(function(o,c,l){return o.relative&&(c=0,l=0),H.ARC===o.type&&Mf(o,c,l),o})},e.CLONE=s,e.CALCULATE_BOUNDS=function(){var o=function(h){var f={};for(var d in h)f[d]=h[d];return f},c=t(),l=r(),u=n(),A=i(function(h,f,d){var p=u(l(c(o(h))));function m(M){M>A.maxX&&(A.maxX=M),M<A.minX&&(A.minX=M)}function y(M){M>A.maxY&&(A.maxY=M),M<A.minY&&(A.minY=M)}if(p.type&H.DRAWING_COMMANDS&&(m(f),y(d)),p.type&H.HORIZ_LINE_TO&&m(p.x),p.type&H.VERT_LINE_TO&&y(p.y),p.type&H.LINE_TO&&(m(p.x),y(p.y)),p.type&H.CURVE_TO){m(p.x),y(p.y);for(var v=0,w=dw(f,p.x1,p.x2,p.x);v<w.length;v++)0<(O=w[v])&&1>O&&m(pw(f,p.x1,p.x2,p.x,O));for(var B=0,C=dw(d,p.y1,p.y2,p.y);B<C.length;B++)0<(O=C[B])&&1>O&&y(pw(d,p.y1,p.y2,p.y,O))}if(p.type&H.ARC){m(p.x),y(p.y),Mf(p,f,d);for(var x=p.xRot/180*Math.PI,b=Math.cos(x)*p.rX,D=Math.sin(x)*p.rX,T=-Math.sin(x)*p.rY,P=Math.cos(x)*p.rY,L=p.phi1<p.phi2?[p.phi1,p.phi2]:-180>p.phi2?[p.phi2+360,p.phi1+360]:[p.phi2,p.phi1],U=L[0],z=L[1],J=function(M){var V=M[0],X=M[1],st=180*Math.atan2(X,V)/Math.PI;return st<U?st+360:st},W=0,Z=hw(T,-b,0).map(J);W<Z.length;W++)(O=Z[W])>U&&O<z&&m(gw(p.cX,b,T,O));for(var ot=0,lt=hw(P,-D,0).map(J);ot<lt.length;ot++){var O;(O=lt[ot])>U&&O<z&&y(gw(p.cY,D,P,O))}}return h});return A.minX=1/0,A.maxX=-1/0,A.minY=1/0,A.maxY=-1/0,A}})(Be||(Be={}));var Gn,mw=function(){function e(){}return e.prototype.round=function(t){return this.transform(Be.ROUND(t))},e.prototype.toAbs=function(){return this.transform(Be.TO_ABS())},e.prototype.toRel=function(){return this.transform(Be.TO_REL())},e.prototype.normalizeHVZ=function(t,n,r){return this.transform(Be.NORMALIZE_HVZ(t,n,r))},e.prototype.normalizeST=function(){return this.transform(Be.NORMALIZE_ST())},e.prototype.qtToC=function(){return this.transform(Be.QT_TO_C())},e.prototype.aToC=function(){return this.transform(Be.A_TO_C())},e.prototype.sanitize=function(t){return this.transform(Be.SANITIZE(t))},e.prototype.translate=function(t,n){return this.transform(Be.TRANSLATE(t,n))},e.prototype.scale=function(t,n){return this.transform(Be.SCALE(t,n))},e.prototype.rotate=function(t,n,r){return this.transform(Be.ROTATE(t,n,r))},e.prototype.matrix=function(t,n,r,i,a,s){return this.transform(Be.MATRIX(t,n,r,i,a,s))},e.prototype.skewX=function(t){return this.transform(Be.SKEW_X(t))},e.prototype.skewY=function(t){return this.transform(Be.SKEW_Y(t))},e.prototype.xSymmetry=function(t){return this.transform(Be.X_AXIS_SYMMETRY(t))},e.prototype.ySymmetry=function(t){return this.transform(Be.Y_AXIS_SYMMETRY(t))},e.prototype.annotateArcs=function(){return this.transform(Be.ANNOTATE_ARCS())},e}(),A8=function(e){return e===" "||e===" "||e==="\r"||e===`
106
- `},yw=function(e){return"0".charCodeAt(0)<=e.charCodeAt(0)&&e.charCodeAt(0)<="9".charCodeAt(0)},h8=function(e){function t(){var n=e.call(this)||this;return n.curNumber="",n.curCommandType=-1,n.curCommandRelative=!1,n.canParseCommandOrComma=!0,n.curNumberHasExp=!1,n.curNumberHasExpDigits=!1,n.curNumberHasDecimal=!1,n.curArgs=[],n}return Aw(t,e),t.prototype.finish=function(n){if(n===void 0&&(n=[]),this.parse(" ",n),this.curArgs.length!==0||!this.canParseCommandOrComma)throw new SyntaxError("Unterminated command at the path end.");return n},t.prototype.parse=function(n,r){var i=this;r===void 0&&(r=[]);for(var a=function(A){r.push(A),i.curArgs.length=0,i.canParseCommandOrComma=!0},s=0;s<n.length;s++){var o=n[s],c=!(this.curCommandType!==H.ARC||this.curArgs.length!==3&&this.curArgs.length!==4||this.curNumber.length!==1||this.curNumber!=="0"&&this.curNumber!=="1"),l=yw(o)&&(this.curNumber==="0"&&o==="0"||c);if(!yw(o)||l)if(o!=="e"&&o!=="E")if(o!=="-"&&o!=="+"||!this.curNumberHasExp||this.curNumberHasExpDigits)if(o!=="."||this.curNumberHasExp||this.curNumberHasDecimal||c){if(this.curNumber&&this.curCommandType!==-1){var u=Number(this.curNumber);if(isNaN(u))throw new SyntaxError("Invalid number ending at "+s);if(this.curCommandType===H.ARC){if(this.curArgs.length===0||this.curArgs.length===1){if(0>u)throw new SyntaxError('Expected positive number, got "'+u+'" at index "'+s+'"')}else if((this.curArgs.length===3||this.curArgs.length===4)&&this.curNumber!=="0"&&this.curNumber!=="1")throw new SyntaxError('Expected a flag, got "'+this.curNumber+'" at index "'+s+'"')}this.curArgs.push(u),this.curArgs.length===f8[this.curCommandType]&&(H.HORIZ_LINE_TO===this.curCommandType?a({type:H.HORIZ_LINE_TO,relative:this.curCommandRelative,x:u}):H.VERT_LINE_TO===this.curCommandType?a({type:H.VERT_LINE_TO,relative:this.curCommandRelative,y:u}):this.curCommandType===H.MOVE_TO||this.curCommandType===H.LINE_TO||this.curCommandType===H.SMOOTH_QUAD_TO?(a({type:this.curCommandType,relative:this.curCommandRelative,x:this.curArgs[0],y:this.curArgs[1]}),H.MOVE_TO===this.curCommandType&&(this.curCommandType=H.LINE_TO)):this.curCommandType===H.CURVE_TO?a({type:H.CURVE_TO,relative:this.curCommandRelative,x1:this.curArgs[0],y1:this.curArgs[1],x2:this.curArgs[2],y2:this.curArgs[3],x:this.curArgs[4],y:this.curArgs[5]}):this.curCommandType===H.SMOOTH_CURVE_TO?a({type:H.SMOOTH_CURVE_TO,relative:this.curCommandRelative,x2:this.curArgs[0],y2:this.curArgs[1],x:this.curArgs[2],y:this.curArgs[3]}):this.curCommandType===H.QUAD_TO?a({type:H.QUAD_TO,relative:this.curCommandRelative,x1:this.curArgs[0],y1:this.curArgs[1],x:this.curArgs[2],y:this.curArgs[3]}):this.curCommandType===H.ARC&&a({type:H.ARC,relative:this.curCommandRelative,rX:this.curArgs[0],rY:this.curArgs[1],xRot:this.curArgs[2],lArcFlag:this.curArgs[3],sweepFlag:this.curArgs[4],x:this.curArgs[5],y:this.curArgs[6]})),this.curNumber="",this.curNumberHasExpDigits=!1,this.curNumberHasExp=!1,this.curNumberHasDecimal=!1,this.canParseCommandOrComma=!0}if(!A8(o))if(o===","&&this.canParseCommandOrComma)this.canParseCommandOrComma=!1;else if(o!=="+"&&o!=="-"&&o!==".")if(l)this.curNumber=o,this.curNumberHasDecimal=!1;else{if(this.curArgs.length!==0)throw new SyntaxError("Unterminated command at index "+s+".");if(!this.canParseCommandOrComma)throw new SyntaxError('Unexpected character "'+o+'" at index '+s+". Command cannot follow comma");if(this.canParseCommandOrComma=!1,o!=="z"&&o!=="Z")if(o==="h"||o==="H")this.curCommandType=H.HORIZ_LINE_TO,this.curCommandRelative=o==="h";else if(o==="v"||o==="V")this.curCommandType=H.VERT_LINE_TO,this.curCommandRelative=o==="v";else if(o==="m"||o==="M")this.curCommandType=H.MOVE_TO,this.curCommandRelative=o==="m";else if(o==="l"||o==="L")this.curCommandType=H.LINE_TO,this.curCommandRelative=o==="l";else if(o==="c"||o==="C")this.curCommandType=H.CURVE_TO,this.curCommandRelative=o==="c";else if(o==="s"||o==="S")this.curCommandType=H.SMOOTH_CURVE_TO,this.curCommandRelative=o==="s";else if(o==="q"||o==="Q")this.curCommandType=H.QUAD_TO,this.curCommandRelative=o==="q";else if(o==="t"||o==="T")this.curCommandType=H.SMOOTH_QUAD_TO,this.curCommandRelative=o==="t";else{if(o!=="a"&&o!=="A")throw new SyntaxError('Unexpected character "'+o+'" at index '+s+".");this.curCommandType=H.ARC,this.curCommandRelative=o==="a"}else r.push({type:H.CLOSE_PATH}),this.canParseCommandOrComma=!0,this.curCommandType=-1}else this.curNumber=o,this.curNumberHasDecimal=o==="."}else this.curNumber+=o,this.curNumberHasDecimal=!0;else this.curNumber+=o;else this.curNumber+=o,this.curNumberHasExp=!0;else this.curNumber+=o,this.curNumberHasExpDigits=this.curNumberHasExp}return r},t.prototype.transform=function(n){return Object.create(this,{parse:{value:function(r,i){i===void 0&&(i=[]);for(var a=0,s=Object.getPrototypeOf(this).parse.call(this,r);a<s.length;a++){var o=s[a],c=n(o);Array.isArray(c)?i.push.apply(i,c):i.push(c)}return i}}})},t}(mw),H=function(e){function t(n){var r=e.call(this)||this;return r.commands=typeof n=="string"?t.parse(n):n,r}return Aw(t,e),t.prototype.encode=function(){return t.encode(this.commands)},t.prototype.getBounds=function(){var n=Be.CALCULATE_BOUNDS();return this.transform(n),n},t.prototype.transform=function(n){for(var r=[],i=0,a=this.commands;i<a.length;i++){var s=n(a[i]);Array.isArray(s)?r.push.apply(r,s):r.push(s)}return this.commands=r,this},t.encode=function(n){return u8(n)},t.parse=function(n){var r=new h8,i=[];return r.parse(n,i),r.finish(i),i},t.CLOSE_PATH=1,t.MOVE_TO=2,t.HORIZ_LINE_TO=4,t.VERT_LINE_TO=8,t.LINE_TO=16,t.CURVE_TO=32,t.SMOOTH_CURVE_TO=64,t.QUAD_TO=128,t.SMOOTH_QUAD_TO=256,t.ARC=512,t.LINE_COMMANDS=t.LINE_TO|t.HORIZ_LINE_TO|t.VERT_LINE_TO,t.DRAWING_COMMANDS=t.HORIZ_LINE_TO|t.VERT_LINE_TO|t.LINE_TO|t.CURVE_TO|t.SMOOTH_CURVE_TO|t.QUAD_TO|t.SMOOTH_QUAD_TO|t.ARC,t}(mw),f8=((Gn={})[H.MOVE_TO]=2,Gn[H.LINE_TO]=2,Gn[H.HORIZ_LINE_TO]=1,Gn[H.VERT_LINE_TO]=1,Gn[H.CLOSE_PATH]=0,Gn[H.QUAD_TO]=4,Gn[H.SMOOTH_QUAD_TO]=2,Gn[H.CURVE_TO]=6,Gn[H.SMOOTH_CURVE_TO]=4,Gn[H.ARC]=7,Gn);function _l(e){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_l=function(t){return typeof t}:_l=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_l(e)}function g8(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var d8=[512,512,456,512,328,456,335,512,405,328,271,456,388,335,292,512,454,405,364,328,298,271,496,456,420,388,360,335,312,292,273,512,482,454,428,405,383,364,345,328,312,298,284,271,259,496,475,456,437,420,404,388,374,360,347,335,323,312,302,292,282,273,265,512,497,482,468,454,441,428,417,405,394,383,373,364,354,345,337,328,320,312,305,298,291,284,278,271,265,259,507,496,485,475,465,456,446,437,428,420,412,404,396,388,381,374,367,360,354,347,341,335,329,323,318,312,307,302,297,292,287,282,278,273,269,265,261,512,505,497,489,482,475,468,461,454,447,441,435,428,422,417,411,405,399,394,389,383,378,373,368,364,359,354,350,345,341,337,332,328,324,320,316,312,309,305,301,298,294,291,287,284,281,278,274,271,268,265,262,259,257,507,501,496,491,485,480,475,470,465,460,456,451,446,442,437,433,428,424,420,416,412,408,404,400,396,392,388,385,381,377,374,370,367,363,360,357,354,350,347,344,341,338,335,332,329,326,323,320,318,315,312,310,307,304,302,299,297,294,292,289,287,285,282,280,278,275,273,271,269,267,265,263,261,259],p8=[9,11,12,13,13,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24];function m8(e,t,n,r,i){if(typeof e=="string"&&(e=document.getElementById(e)),!e||_l(e)!=="object"||!("getContext"in e))throw new TypeError("Expecting canvas with `getContext` method in processCanvasRGB(A) calls!");var a=e.getContext("2d");try{return a.getImageData(t,n,r,i)}catch(s){throw new Error("unable to access image data: "+s)}}function y8(e,t,n,r,i,a){if(!(isNaN(a)||a<1)){a|=0;var s=m8(e,t,n,r,i);s=w8(s,t,n,r,i,a),e.getContext("2d").putImageData(s,t,n)}}function w8(e,t,n,r,i,a){for(var s=e.data,o=2*a+1,c=r-1,l=i-1,u=a+1,A=u*(u+1)/2,h=new ww,f=h,d,p=1;p<o;p++)f=f.next=new ww,p===u&&(d=f);f.next=h;for(var m=null,y=null,v=0,w=0,B=d8[a],C=p8[a],x=0;x<i;x++){f=h;for(var b=s[w],D=s[w+1],T=s[w+2],P=s[w+3],L=0;L<u;L++)f.r=b,f.g=D,f.b=T,f.a=P,f=f.next;for(var U=0,z=0,J=0,W=0,Z=u*b,ot=u*D,lt=u*T,O=u*P,M=A*b,V=A*D,X=A*T,st=A*P,Mt=1;Mt<u;Mt++){var yt=w+((c<Mt?c:Mt)<<2),Se=s[yt],hn=s[yt+1],Xt=s[yt+2],Dn=s[yt+3],Ze=u-Mt;M+=(f.r=Se)*Ze,V+=(f.g=hn)*Ze,X+=(f.b=Xt)*Ze,st+=(f.a=Dn)*Ze,U+=Se,z+=hn,J+=Xt,W+=Dn,f=f.next}m=h,y=d;for(var $e=0;$e<r;$e++){var on=st*B>>C;if(s[w+3]=on,on!==0){var fn=255/on;s[w]=(M*B>>C)*fn,s[w+1]=(V*B>>C)*fn,s[w+2]=(X*B>>C)*fn}else s[w]=s[w+1]=s[w+2]=0;M-=Z,V-=ot,X-=lt,st-=O,Z-=m.r,ot-=m.g,lt-=m.b,O-=m.a;var _t=$e+a+1;_t=v+(_t<c?_t:c)<<2,U+=m.r=s[_t],z+=m.g=s[_t+1],J+=m.b=s[_t+2],W+=m.a=s[_t+3],M+=U,V+=z,X+=J,st+=W,m=m.next;var Je=y,cn=Je.r,xn=Je.g,_n=Je.b,qn=Je.a;Z+=cn,ot+=xn,lt+=_n,O+=qn,U-=cn,z-=xn,J-=_n,W-=qn,y=y.next,w+=4}v+=r}for(var Vt=0;Vt<r;Vt++){w=Vt<<2;var zt=s[w],ne=s[w+1],re=s[w+2],gt=s[w+3],Fe=u*zt,bn=u*ne,Oe=u*re,je=u*gt,Ue=A*zt,qt=A*ne,tn=A*re,en=A*gt;f=h;for(var Zn=0;Zn<u;Zn++)f.r=zt,f.g=ne,f.b=re,f.a=gt,f=f.next;for(var gn=r,nn=0,dn=0,Le=0,de=0,Jt=1;Jt<=a;Jt++){w=gn+Vt<<2;var De=u-Jt;Ue+=(f.r=zt=s[w])*De,qt+=(f.g=ne=s[w+1])*De,tn+=(f.b=re=s[w+2])*De,en+=(f.a=gt=s[w+3])*De,de+=zt,nn+=ne,dn+=re,Le+=gt,f=f.next,Jt<l&&(gn+=r)}w=Vt,m=h,y=d;for(var We=0;We<i;We++){var Ct=w<<2;s[Ct+3]=gt=en*B>>C,gt>0?(gt=255/gt,s[Ct]=(Ue*B>>C)*gt,s[Ct+1]=(qt*B>>C)*gt,s[Ct+2]=(tn*B>>C)*gt):s[Ct]=s[Ct+1]=s[Ct+2]=0,Ue-=Fe,qt-=bn,tn-=Oe,en-=je,Fe-=m.r,bn-=m.g,Oe-=m.b,je-=m.a,Ct=Vt+((Ct=We+u)<l?Ct:l)*r<<2,Ue+=de+=m.r=s[Ct],qt+=nn+=m.g=s[Ct+1],tn+=dn+=m.b=s[Ct+2],en+=Le+=m.a=s[Ct+3],m=m.next,Fe+=zt=y.r,bn+=ne=y.g,Oe+=re=y.b,je+=gt=y.a,de-=zt,nn-=ne,dn-=re,Le-=gt,y=y.next,w+=r}}return e}var ww=function e(){g8(this,e),this.r=0,this.g=0,this.b=0,this.a=0,this.next=null};function Ya(e){return e.replace(/(?!\u3000)\s+/gm," ")}function v8(e){return e.replace(/^[\n \t]+/,"")}function E8(e){return e.replace(/[\n \t]+$/,"")}function vn(e){const t=e.match(/-?(\d+(?:\.\d*(?:[eE][+-]?\d+)?)?|\.\d+)(?=\D|$)/gm);return t?t.map(parseFloat):[]}function B8(e){const t=vn(e);return[t[0]||0,t[1]||0,t[2]||0,t[3]||0,t[4]||0,t[5]||0]}const C8=/^[A-Z-]+$/;function x8(e){return C8.test(e)?e.toLowerCase():e}function vw(e){const t=/url\(('([^']+)'|"([^"]+)"|([^'")]+))\)/.exec(e);return t&&(t[2]||t[3]||t[4])||""}function b8(e){if(!e.startsWith("rgb"))return e;let t=3;return e.replace(/\d+(\.\d+)?/g,(n,r)=>t--&&r?String(Math.round(parseFloat(n))):n)}const S8=/(\[[^\]]+\])/g,D8=/(#[^\s+>~.[:]+)/g,I8=/(\.[^\s+>~.[:]+)/g,F8=/(::[^\s+>~.[:]+|:first-line|:first-letter|:before|:after)/gi,Q8=/(:[\w-]+\([^)]*\))/gi,M8=/(:[^\s+>~.[:]+)/g,T8=/([^\s+>~.[:]+)/g;function Yi(e,t){const n=t.exec(e);return n?[e.replace(t," "),n.length]:[e,0]}function N8(e){const t=[0,0,0];let n=e.replace(/:not\(([^)]*)\)/g," $1 ").replace(/{[\s\S]*/gm," "),r=0;return[n,r]=Yi(n,S8),t[1]+=r,[n,r]=Yi(n,D8),t[0]+=r,[n,r]=Yi(n,I8),t[1]+=r,[n,r]=Yi(n,F8),t[2]+=r,[n,r]=Yi(n,Q8),t[1]+=r,[n,r]=Yi(n,M8),t[1]+=r,n=n.replace(/[*\s+>~]/g," ").replace(/[#.]/g," "),[n,r]=Yi(n,T8),t[2]+=r,t.join("")}const Ha=1e-8;function Ew(e){return Math.sqrt(Math.pow(e[0],2)+Math.pow(e[1],2))}function Tf(e,t){return(e[0]*t[0]+e[1]*t[1])/(Ew(e)*Ew(t))}function Bw(e,t){return(e[0]*t[1]<e[1]*t[0]?-1:1)*Math.acos(Tf(e,t))}function Cw(e){return e*e*e}function xw(e){return 3*e*e*(1-e)}function bw(e){return 3*e*(1-e)*(1-e)}function Sw(e){return(1-e)*(1-e)*(1-e)}function Dw(e){return e*e}function Iw(e){return 2*e*(1-e)}function Fw(e){return(1-e)*(1-e)}const Qw=class Fc{constructor(t,n,r){Q(this,"document"),Q(this,"name"),Q(this,"value"),Q(this,"isNormalizedColor",!1),this.document=t,this.name=n,this.value=r}static empty(t){return new Fc(t,"EMPTY","")}split(t=" "){const{document:n,name:r}=this;return Ya(this.getString()).trim().split(t).map(i=>new Fc(n,r,i))}hasValue(t){const n=this.value;return n!==null&&n!==""&&(t||n!==0)&&typeof n<"u"}isString(t){const{value:n}=this,r=typeof n=="string";return!r||!t?r:t.test(n)}isUrlDefinition(){return this.isString(/^url\(/)}isPixels(){if(!this.hasValue())return!1;const t=this.getString();switch(!0){case t.endsWith("px"):case/^[0-9]+$/.test(t):return!0;default:return!1}}setValue(t){return this.value=t,this}getValue(t){return typeof t>"u"||this.hasValue()?this.value:t}getNumber(t){if(!this.hasValue())return typeof t>"u"?0:parseFloat(t);const{value:n}=this;let r=parseFloat(n);return this.isString(/%$/)&&(r/=100),r}getString(t){return typeof t>"u"||this.hasValue()?typeof this.value>"u"?"":String(this.value):String(t)}getColor(t){let n=this.getString(t);return this.isNormalizedColor||(this.isNormalizedColor=!0,n=b8(n),this.value=n),n}getDpi(){return 96}getRem(){return this.document.rootEmSize}getEm(){return this.document.emSize}getUnits(){return this.getString().replace(/[0-9.-]/g,"")}getPixels(t,n=!1){if(!this.hasValue())return 0;const[r,i]=typeof t=="boolean"?[void 0,t]:[t],{viewPort:a}=this.document.screen;switch(!0){case this.isString(/vmin$/):return this.getNumber()/100*Math.min(a.computeSize("x"),a.computeSize("y"));case this.isString(/vmax$/):return this.getNumber()/100*Math.max(a.computeSize("x"),a.computeSize("y"));case this.isString(/vw$/):return this.getNumber()/100*a.computeSize("x");case this.isString(/vh$/):return this.getNumber()/100*a.computeSize("y");case this.isString(/rem$/):return this.getNumber()*this.getRem();case this.isString(/em$/):return this.getNumber()*this.getEm();case this.isString(/ex$/):return this.getNumber()*this.getEm()/2;case this.isString(/px$/):return this.getNumber();case this.isString(/pt$/):return this.getNumber()*this.getDpi()*(1/72);case this.isString(/pc$/):return this.getNumber()*15;case this.isString(/cm$/):return this.getNumber()*this.getDpi()/2.54;case this.isString(/mm$/):return this.getNumber()*this.getDpi()/25.4;case this.isString(/in$/):return this.getNumber()*this.getDpi();case(this.isString(/%$/)&&i):return this.getNumber()*this.getEm();case this.isString(/%$/):return this.getNumber()*a.computeSize(r);default:{const s=this.getNumber();return n&&s<1?s*a.computeSize(r):s}}}getMilliseconds(){return this.hasValue()?this.isString(/ms$/)?this.getNumber():this.getNumber()*1e3:0}getRadians(){if(!this.hasValue())return 0;switch(!0){case this.isString(/deg$/):return this.getNumber()*(Math.PI/180);case this.isString(/grad$/):return this.getNumber()*(Math.PI/200);case this.isString(/rad$/):return this.getNumber();default:return this.getNumber()*(Math.PI/180)}}getDefinition(){const t=this.getString(),n=/#([^)'"]+)/.exec(t),r=(n==null?void 0:n[1])||t;return this.document.definitions[r]}getFillStyleDefinition(t,n){let r=this.getDefinition();if(!r)return null;if(typeof r.createGradient=="function"&&"getBoundingBox"in t)return r.createGradient(this.document.ctx,t,n);if(typeof r.createPattern=="function"){if(r.getHrefAttribute().hasValue()){const i=r.getAttribute("patternTransform");r=r.getHrefAttribute().getDefinition(),r&&i.hasValue()&&r.getAttribute("patternTransform",!0).setValue(i.value)}if(r)return r.createPattern(this.document.ctx,t,n)}return null}getTextBaseline(){if(!this.hasValue())return null;const t=this.getString();return Fc.textBaselineMapping[t]||null}addOpacity(t){let n=this.getColor();const r=n.length;let i=0;for(let a=0;a<r&&(n[a]===","&&i++,i!==3);a++);if(t.hasValue()&&this.isString()&&i!==3){const a=new Ff(n);a.ok&&(a.alpha=t.getNumber(),n=a.toRGBA())}return new Fc(this.document,this.name,n)}};Q(Qw,"textBaselineMapping",{baseline:"alphabetic","before-edge":"top","text-before-edge":"top",middle:"middle",central:"middle","after-edge":"bottom","text-after-edge":"bottom",ideographic:"ideographic",alphabetic:"alphabetic",hanging:"hanging",mathematical:"alphabetic"});let ft=Qw;class uo{constructor(){Q(this,"viewPorts",[])}clear(){this.viewPorts=[]}setCurrent(t,n){this.viewPorts.push({width:t,height:n})}removeCurrent(){this.viewPorts.pop()}getRoot(){const[t]=this.viewPorts;return t||Mw()}getCurrent(){const{viewPorts:t}=this;return t[t.length-1]||Mw()}get width(){return this.getCurrent().width}get height(){return this.getCurrent().height}computeSize(t){return typeof t=="number"?t:t==="x"?this.width:t==="y"?this.height:Math.sqrt(Math.pow(this.width,2)+Math.pow(this.height,2))/Math.sqrt(2)}}Q(uo,"DEFAULT_VIEWPORT_WIDTH",800),Q(uo,"DEFAULT_VIEWPORT_HEIGHT",600);function Mw(){return{width:uo.DEFAULT_VIEWPORT_WIDTH,height:uo.DEFAULT_VIEWPORT_HEIGHT}}class Wt{constructor(t,n){Q(this,"x"),Q(this,"y"),this.x=t,this.y=n}static parse(t,n=0){const[r=n,i=n]=vn(t);return new Wt(r,i)}static parseScale(t,n=1){const[r=n,i=r]=vn(t);return new Wt(r,i)}static parsePath(t){const n=vn(t),r=n.length,i=[];for(let a=0;a<r;a+=2)i.push(new Wt(n[a],n[a+1]));return i}angleTo(t){return Math.atan2(t.y-this.y,t.x-this.x)}applyTransform(t){const{x:n,y:r}=this,i=n*t[0]+r*t[2]+t[4],a=n*t[1]+r*t[3]+t[5];this.x=i,this.y=a}}class P8{constructor(t){Q(this,"screen"),Q(this,"working",!1),Q(this,"events",[]),Q(this,"eventElements",[]),this.screen=t,this.onClick=this.onClick.bind(this),this.onMouseMove=this.onMouseMove.bind(this)}isWorking(){return this.working}start(){if(this.working)return;const{screen:t,onClick:n,onMouseMove:r}=this,i=t.ctx.canvas;i.onclick=n,i.onmousemove=r,this.working=!0}stop(){if(!this.working)return;const t=this.screen.ctx.canvas;this.working=!1,t.onclick=null,t.onmousemove=null}hasEvents(){return this.working&&this.events.length>0}runEvents(){if(!this.working)return;const{screen:t,events:n,eventElements:r}=this,{style:i}=t.ctx.canvas;let a;i&&(i.cursor=""),n.forEach(({run:s},o)=>{for(a=r[o];a;)s(a),a=a.parent}),this.events=[],this.eventElements=[]}checkPath(t,n){if(!this.working||!n)return;const{events:r,eventElements:i}=this;r.forEach(({x:a,y:s},o)=>{!i[o]&&n.isPointInPath&&n.isPointInPath(a,s)&&(i[o]=t)})}checkBoundingBox(t,n){if(!this.working||!n)return;const{events:r,eventElements:i}=this;r.forEach(({x:a,y:s},o)=>{!i[o]&&n.isPointInBox(a,s)&&(i[o]=t)})}mapXY(t,n){const{window:r,ctx:i}=this.screen,a=new Wt(t,n);let s=i.canvas;for(;s;)a.x-=s.offsetLeft,a.y-=s.offsetTop,s=s.offsetParent;return r!=null&&r.scrollX&&(a.x+=r.scrollX),r!=null&&r.scrollY&&(a.y+=r.scrollY),a}onClick(t){const{x:n,y:r}=this.mapXY(t.clientX,t.clientY);this.events.push({type:"onclick",x:n,y:r,run(i){i.onClick&&i.onClick()}})}onMouseMove(t){const{x:n,y:r}=this.mapXY(t.clientX,t.clientY);this.events.push({type:"onmousemove",x:n,y:r,run(i){i.onMouseMove&&i.onMouseMove()}})}}const Tw=typeof window<"u"?window:null,Nw=typeof fetch<"u"?fetch.bind(void 0):void 0,Ao=class fB{constructor(t,{fetch:n=Nw,window:r=Tw}={}){if(Q(this,"ctx"),Q(this,"window"),Q(this,"fetch"),Q(this,"viewPort",new uo),Q(this,"mouse",new P8(this)),Q(this,"animations",[]),Q(this,"readyPromise"),Q(this,"resolveReady"),Q(this,"waits",[]),Q(this,"frameDuration",0),Q(this,"isReadyLock",!1),Q(this,"isFirstRender",!0),Q(this,"intervalId",null),this.ctx=t,this.window=r,!n)throw new Error("Can't find 'fetch' in 'globalThis', please provide it via options");this.fetch=n}wait(t){this.waits.push(t)}ready(){return this.readyPromise?this.readyPromise:Promise.resolve()}isReady(){if(this.isReadyLock)return!0;const t=this.waits.every(n=>n());return t&&(this.waits=[],this.resolveReady&&this.resolveReady()),this.isReadyLock=t,t}setDefaults(t){t.strokeStyle="rgba(0,0,0,0)",t.lineCap="butt",t.lineJoin="miter",t.miterLimit=4}setViewBox({document:t,ctx:n,aspectRatio:r,width:i,desiredWidth:a,height:s,desiredHeight:o,minX:c=0,minY:l=0,refX:u,refY:A,clip:h=!1,clipX:f=0,clipY:d=0}){const p=Ya(r).replace(/^defer\s/,""),[m,y]=p.split(" "),v=m||"xMidYMid",w=y||"meet",B=i/a,C=s/o,x=Math.min(B,C),b=Math.max(B,C);let D=a,T=o;w==="meet"&&(D*=x,T*=x),w==="slice"&&(D*=b,T*=b);const P=new ft(t,"refX",u),L=new ft(t,"refY",A),U=P.hasValue()&&L.hasValue();if(U&&n.translate(-x*P.getPixels("x"),-x*L.getPixels("y")),h){const z=x*f,J=x*d;n.beginPath(),n.moveTo(z,J),n.lineTo(i,J),n.lineTo(i,s),n.lineTo(z,s),n.closePath(),n.clip()}if(!U){const z=w==="meet"&&x===C,J=w==="slice"&&b===C,W=w==="meet"&&x===B,Z=w==="slice"&&b===B;v.startsWith("xMid")&&(z||J)&&n.translate(i/2-D/2,0),v.endsWith("YMid")&&(W||Z)&&n.translate(0,s/2-T/2),v.startsWith("xMax")&&(z||J)&&n.translate(i-D,0),v.endsWith("YMax")&&(W||Z)&&n.translate(0,s-T)}switch(!0){case v==="none":n.scale(B,C);break;case w==="meet":n.scale(x,x);break;case w==="slice":n.scale(b,b);break}n.translate(-c,-l)}start(t,{enableRedraw:n=!1,ignoreMouse:r=!1,ignoreAnimation:i=!1,ignoreDimensions:a=!1,ignoreClear:s=!1,forceRedraw:o,scaleWidth:c,scaleHeight:l,offsetX:u,offsetY:A}={}){const{mouse:h}=this,f=1e3/fB.FRAMERATE;if(this.isReadyLock=!1,this.frameDuration=f,this.readyPromise=new Promise(v=>{this.resolveReady=v}),this.isReady()&&this.render(t,a,s,c,l,u,A),!n)return;let d=Date.now(),p=d,m=0;const y=()=>{d=Date.now(),m=d-p,m>=f&&(p=d-m%f,this.shouldUpdate(i,o)&&(this.render(t,a,s,c,l,u,A),h.runEvents())),this.intervalId=If(y)};r||h.start(),this.intervalId=If(y)}stop(){this.intervalId&&(If.cancel(this.intervalId),this.intervalId=null),this.mouse.stop()}shouldUpdate(t,n){if(!t){const{frameDuration:r}=this;if(this.animations.reduce((i,a)=>a.update(r)||i,!1))return!0}return!!(typeof n=="function"&&n()||!this.isReadyLock&&this.isReady()||this.mouse.hasEvents())}render(t,n,r,i,a,s,o){const{viewPort:c,ctx:l,isFirstRender:u}=this,A=l.canvas;c.clear(),A.width&&A.height&&c.setCurrent(A.width,A.height);const h=t.getStyle("width"),f=t.getStyle("height");!n&&(u||typeof i!="number"&&typeof a!="number")&&(h.hasValue()&&(A.width=h.getPixels("x"),A.style&&(A.style.width=`${A.width}px`)),f.hasValue()&&(A.height=f.getPixels("y"),A.style&&(A.style.height=`${A.height}px`)));let d=A.clientWidth||A.width,p=A.clientHeight||A.height;if(n&&h.hasValue()&&f.hasValue()&&(d=h.getPixels("x"),p=f.getPixels("y")),c.setCurrent(d,p),typeof s=="number"&&t.getAttribute("x",!0).setValue(s),typeof o=="number"&&t.getAttribute("y",!0).setValue(o),typeof i=="number"||typeof a=="number"){const m=vn(t.getAttribute("viewBox").getString());let y=0,v=0;if(typeof i=="number"){const B=t.getStyle("width");B.hasValue()?y=B.getPixels("x")/i:m[2]&&!isNaN(m[2])&&(y=m[2]/i)}if(typeof a=="number"){const B=t.getStyle("height");B.hasValue()?v=B.getPixels("y")/a:m[3]&&!isNaN(m[3])&&(v=m[3]/a)}y||(y=v),v||(v=y),t.getAttribute("width",!0).setValue(i),t.getAttribute("height",!0).setValue(a);const w=t.getStyle("transform",!0,!0);w.setValue(`${w.getString()} scale(${1/y}, ${1/v})`)}r||l.clearRect(0,0,d,p),t.render(l),u&&(this.isFirstRender=!1)}};Q(Ao,"defaultWindow",Tw),Q(Ao,"defaultFetch",Nw),Q(Ao,"FRAMERATE",30),Q(Ao,"MAX_VIRTUAL_PIXELS",3e4);let Nf=Ao;const{defaultFetch:k8}=Nf,R8=typeof DOMParser<"u"?DOMParser:void 0;class Pf{constructor({fetch:t=k8,DOMParser:n=R8}={}){if(Q(this,"fetch"),Q(this,"DOMParser"),!t)throw new Error("Can't find 'fetch' in 'globalThis', please provide it via options");if(!n)throw new Error("Can't find 'DOMParser' in 'globalThis', please provide it via options");this.fetch=t,this.DOMParser=n}async parse(t){return t.startsWith("<")?this.parseFromString(t):this.load(t)}parseFromString(t){const n=new this.DOMParser;try{return this.checkDocument(n.parseFromString(t,"image/svg+xml"))}catch{return this.checkDocument(n.parseFromString(t,"text/xml"))}}checkDocument(t){const n=t.getElementsByTagName("parsererror")[0];if(n)throw new Error(n.textContent||"Unknown parse error");return t}async load(t){const n=await(await this.fetch(t)).text();return this.parseFromString(n)}}class O8{constructor(t,n){Q(this,"type","translate"),Q(this,"point"),this.point=Wt.parse(n)}apply(t){const{x:n,y:r}=this.point;t.translate(n||0,r||0)}unapply(t){const{x:n,y:r}=this.point;t.translate(-1*n||0,-1*r||0)}applyToPoint(t){const{x:n,y:r}=this.point;t.applyTransform([1,0,0,1,n||0,r||0])}}class U8{constructor(t,n,r){Q(this,"type","rotate"),Q(this,"angle"),Q(this,"originX"),Q(this,"originY"),Q(this,"cx"),Q(this,"cy");const i=vn(n);this.angle=new ft(t,"angle",i[0]),this.originX=r[0],this.originY=r[1],this.cx=i[1]||0,this.cy=i[2]||0}apply(t){const{cx:n,cy:r,originX:i,originY:a,angle:s}=this,o=n+i.getPixels("x"),c=r+a.getPixels("y");t.translate(o,c),t.rotate(s.getRadians()),t.translate(-o,-c)}unapply(t){const{cx:n,cy:r,originX:i,originY:a,angle:s}=this,o=n+i.getPixels("x"),c=r+a.getPixels("y");t.translate(o,c),t.rotate(-1*s.getRadians()),t.translate(-o,-c)}applyToPoint(t){const{cx:n,cy:r,angle:i}=this,a=i.getRadians();t.applyTransform([1,0,0,1,n||0,r||0]),t.applyTransform([Math.cos(a),Math.sin(a),-Math.sin(a),Math.cos(a),0,0]),t.applyTransform([1,0,0,1,-n||0,-r||0])}}class L8{constructor(t,n,r){Q(this,"type","scale"),Q(this,"scale"),Q(this,"originX"),Q(this,"originY");const i=Wt.parseScale(n);(i.x===0||i.y===0)&&(i.x=Ha,i.y=Ha),this.scale=i,this.originX=r[0],this.originY=r[1]}apply(t){const{scale:{x:n,y:r},originX:i,originY:a}=this,s=i.getPixels("x"),o=a.getPixels("y");t.translate(s,o),t.scale(n,r||n),t.translate(-s,-o)}unapply(t){const{scale:{x:n,y:r},originX:i,originY:a}=this,s=i.getPixels("x"),o=a.getPixels("y");t.translate(s,o),t.scale(1/n,1/r||n),t.translate(-s,-o)}applyToPoint(t){const{x:n,y:r}=this.scale;t.applyTransform([n||0,0,0,r||0,0,0])}}class Pw{constructor(t,n,r){Q(this,"type","matrix"),Q(this,"matrix"),Q(this,"originX"),Q(this,"originY"),this.matrix=B8(n),this.originX=r[0],this.originY=r[1]}apply(t){const{originX:n,originY:r,matrix:i}=this,a=n.getPixels("x"),s=r.getPixels("y");t.translate(a,s),t.transform(i[0],i[1],i[2],i[3],i[4],i[5]),t.translate(-a,-s)}unapply(t){const{originX:n,originY:r,matrix:i}=this,a=i[0],s=i[2],o=i[4],c=i[1],l=i[3],u=i[5],A=0,h=0,f=1,d=1/(a*(l*f-u*h)-s*(c*f-u*A)+o*(c*h-l*A)),p=n.getPixels("x"),m=r.getPixels("y");t.translate(p,m),t.transform(d*(l*f-u*h),d*(u*A-c*f),d*(o*h-s*f),d*(a*f-o*A),d*(s*u-o*l),d*(o*c-a*u)),t.translate(-p,-m)}applyToPoint(t){t.applyTransform(this.matrix)}}class kw extends Pw{constructor(t,n,r){super(t,n,r),Q(this,"type","skew"),Q(this,"angle"),this.angle=new ft(t,"angle",n)}}class Y8 extends kw{constructor(t,n,r){super(t,n,r),Q(this,"type","skewX"),this.matrix=[1,0,Math.tan(this.angle.getRadians()),1,0,0]}}class H8 extends kw{constructor(t,n,r){super(t,n,r),Q(this,"type","skewY"),this.matrix=[1,Math.tan(this.angle.getRadians()),0,1,0,0]}}function G8(e){return Ya(e).trim().replace(/\)([a-zA-Z])/g,") $1").replace(/\)(\s?,\s?)/g,") ").split(/\s(?=[a-z])/)}function V8(e){const[t="",n=""]=e.split("(");return[t.trim(),n.trim().replace(")","")]}const Rw=class V0{constructor(t,n,r){Q(this,"document"),Q(this,"transforms",[]),this.document=t,G8(n).forEach(i=>{if(i==="none")return;const[a,s]=V8(i),o=V0.transformTypes[a];o&&this.transforms.push(new o(this.document,s,r))})}static fromElement(t,n){const r=n.getStyle("transform",!1,!0);if(r.hasValue()){const[i,a=i]=n.getStyle("transform-origin",!1,!0).split();if(i&&a){const s=[i,a];return new V0(t,r.getString(),s)}}return null}apply(t){this.transforms.forEach(n=>n.apply(t))}unapply(t){this.transforms.forEach(n=>n.unapply(t))}applyToPoint(t){this.transforms.forEach(n=>n.applyToPoint(t))}};Q(Rw,"transformTypes",{translate:O8,rotate:U8,scale:L8,matrix:Pw,skewX:Y8,skewY:H8});let kf=Rw;const Ow=class z0{constructor(t,n,r=!1){if(Q(this,"document"),Q(this,"node"),Q(this,"captureTextNodes"),Q(this,"type",""),Q(this,"attributes",{}),Q(this,"styles",{}),Q(this,"stylesSpecificity",{}),Q(this,"animationFrozen",!1),Q(this,"animationFrozenValue",""),Q(this,"parent",null),Q(this,"children",[]),this.document=t,this.node=n,this.captureTextNodes=r,!n||n.nodeType!==1)return;Array.from(n.attributes).forEach(s=>{const o=x8(s.nodeName);this.attributes[o]=new ft(t,o,s.value)}),this.addStylesFromStyleDefinition(),this.getAttribute("style").hasValue()&&this.getAttribute("style").getString().split(";").map(s=>s.trim()).forEach(s=>{if(!s)return;const[o,c]=s.split(":").map(l=>l.trim());o&&(this.styles[o]=new ft(t,o,c))});const{definitions:i}=t,a=this.getAttribute("id");a.hasValue()&&(i[a.getString()]||(i[a.getString()]=this)),Array.from(n.childNodes).forEach(s=>{if(s.nodeType===1)this.addChild(s);else if(r&&(s.nodeType===3||s.nodeType===4)){const o=t.createTextNode(s);o.getText().length>0&&this.addChild(o)}})}getAttribute(t,n=!1){const r=this.attributes[t];if(!r&&n){const i=new ft(this.document,t,"");return this.attributes[t]=i,i}return r||ft.empty(this.document)}getHrefAttribute(){let t;for(const n in this.attributes)if(n==="href"||n.endsWith(":href")){t=this.attributes[n];break}return t||ft.empty(this.document)}getStyle(t,n=!1,r=!1){const i=this.styles[t];if(i)return i;const a=this.getAttribute(t);if(a.hasValue())return this.styles[t]=a,a;if(!r){const{parent:s}=this;if(s){const o=s.getStyle(t);if(o.hasValue())return o}}if(n){const s=new ft(this.document,t,"");return this.styles[t]=s,s}return ft.empty(this.document)}render(t){if(!(this.getStyle("display").getString()==="none"||this.getStyle("visibility").getString()==="hidden")){if(t.save(),this.getStyle("mask").hasValue()){const n=this.getStyle("mask").getDefinition();n&&(this.applyEffects(t),n.apply(t,this))}else if(this.getStyle("filter").getValue("none")!=="none"){const n=this.getStyle("filter").getDefinition();n&&(this.applyEffects(t),n.apply(t,this))}else this.setContext(t),this.renderChildren(t),this.clearContext(t);t.restore()}}setContext(t){}applyEffects(t){const n=kf.fromElement(this.document,this);n&&n.apply(t);const r=this.getStyle("clip-path",!1,!0);if(r.hasValue()){const i=r.getDefinition();i&&i.apply(t)}}clearContext(t){}renderChildren(t){this.children.forEach(n=>{n.render(t)})}addChild(t){const n=t instanceof z0?t:this.document.createElement(t);n.parent=this,z0.ignoreChildTypes.includes(n.type)||this.children.push(n)}matchesSelector(t){var n;const{node:r}=this;if(!r)return!1;if(typeof r.matches=="function")return r.matches(t);const i=(n=r.getAttribute)==null?void 0:n.call(r,"class");return!i||i===""?!1:i.split(" ").some(a=>`.${a}`===t)}addStylesFromStyleDefinition(){const{styles:t,stylesSpecificity:n}=this.document;let r;for(const i in t)if(!i.startsWith("@")&&this.matchesSelector(i)){const a=t[i],s=n[i];if(a)for(const o in a){let c=this.stylesSpecificity[o];typeof c>"u"&&(c="000"),s&&s>=c&&(r=a[o],r&&(this.styles[o]=r),this.stylesSpecificity[o]=s)}}}removeStyles(t,n){return n.reduce((r,i)=>{const a=t.getStyle(i);if(!a.hasValue())return r;const s=a.getString();return a.setValue(""),[...r,[i,s]]},[])}restoreStyles(t,n){n.forEach(([r,i])=>{t.getStyle(r,!0).setValue(i)})}isFirstChild(){var t;return((t=this.parent)==null?void 0:t.children.indexOf(this))===0}};Q(Ow,"ignoreChildTypes",["title"]);let fe=Ow;class z8 extends fe{constructor(t,n,r){super(t,n,r)}}function J8(e){const t=e.trim();return/^('|")/.test(t)?t:`"${t}"`}function j8(e){return typeof process>"u"?e:e.trim().split(",").map(J8).join(",")}function W8(e){if(!e)return"";const t=e.trim().toLowerCase();switch(t){case"normal":case"italic":case"oblique":case"inherit":case"initial":case"unset":return t;default:return/^oblique\s+(-|)\d+deg$/.test(t)?t:""}}function K8(e){if(!e)return"";const t=e.trim().toLowerCase();switch(t){case"normal":case"bold":case"lighter":case"bolder":case"inherit":case"initial":case"unset":return t;default:return/^[\d.]+$/.test(t)?t:""}}const ql=class hs{constructor(t,n,r,i,a,s){Q(this,"fontFamily"),Q(this,"fontSize"),Q(this,"fontStyle"),Q(this,"fontWeight"),Q(this,"fontVariant");const o=s?typeof s=="string"?hs.parse(s):s:{};this.fontFamily=a||o.fontFamily,this.fontSize=i||o.fontSize,this.fontStyle=t||o.fontStyle,this.fontWeight=r||o.fontWeight,this.fontVariant=n||o.fontVariant}static parse(t="",n){let r="",i="",a="",s="",o="";const c=Ya(t).trim().split(" "),l={fontSize:!1,fontStyle:!1,fontWeight:!1,fontVariant:!1};return c.forEach(u=>{switch(!0){case(!l.fontStyle&&hs.styles.includes(u)):u!=="inherit"&&(r=u),l.fontStyle=!0;break;case(!l.fontVariant&&hs.variants.includes(u)):u!=="inherit"&&(i=u),l.fontStyle=!0,l.fontVariant=!0;break;case(!l.fontWeight&&hs.weights.includes(u)):u!=="inherit"&&(a=u),l.fontStyle=!0,l.fontVariant=!0,l.fontWeight=!0;break;case!l.fontSize:u!=="inherit"&&(s=u.split("/")[0]||""),l.fontStyle=!0,l.fontVariant=!0,l.fontWeight=!0,l.fontSize=!0;break;default:u!=="inherit"&&(o+=u)}}),new hs(r,i,a,s,o,n)}toString(){return[W8(this.fontStyle),this.fontVariant,K8(this.fontWeight),this.fontSize,j8(this.fontFamily)].join(" ").trim()}};Q(ql,"styles","normal|italic|oblique|inherit"),Q(ql,"variants","normal|small-caps|inherit"),Q(ql,"weights","normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900|inherit");let Ga=ql;class Vn{constructor(t=Number.NaN,n=Number.NaN,r=Number.NaN,i=Number.NaN){Q(this,"x1"),Q(this,"y1"),Q(this,"x2"),Q(this,"y2"),this.x1=t,this.y1=n,this.x2=r,this.y2=i,this.addPoint(t,n),this.addPoint(r,i)}get x(){return this.x1}get y(){return this.y1}get width(){return this.x2-this.x1}get height(){return this.y2-this.y1}addPoint(t,n){typeof t<"u"&&((isNaN(this.x1)||isNaN(this.x2))&&(this.x1=t,this.x2=t),t<this.x1&&(this.x1=t),t>this.x2&&(this.x2=t)),typeof n<"u"&&((isNaN(this.y1)||isNaN(this.y2))&&(this.y1=n,this.y2=n),n<this.y1&&(this.y1=n),n>this.y2&&(this.y2=n))}addX(t){this.addPoint(t,0)}addY(t){this.addPoint(0,t)}addBoundingBox(t){if(!t)return;const{x1:n,y1:r,x2:i,y2:a}=t;this.addPoint(n,r),this.addPoint(i,a)}sumCubic(t,n,r,i,a){return Math.pow(1-t,3)*n+3*Math.pow(1-t,2)*t*r+3*(1-t)*Math.pow(t,2)*i+Math.pow(t,3)*a}bezierCurveAdd(t,n,r,i,a){const s=6*n-12*r+6*i,o=-3*n+9*r-9*i+3*a,c=3*r-3*n;if(o===0){if(s===0)return;const h=-c/s;0<h&&h<1&&(t?this.addX(this.sumCubic(h,n,r,i,a)):this.addY(this.sumCubic(h,n,r,i,a)));return}const l=Math.pow(s,2)-4*c*o;if(l<0)return;const u=(-s+Math.sqrt(l))/(2*o);0<u&&u<1&&(t?this.addX(this.sumCubic(u,n,r,i,a)):this.addY(this.sumCubic(u,n,r,i,a)));const A=(-s-Math.sqrt(l))/(2*o);0<A&&A<1&&(t?this.addX(this.sumCubic(A,n,r,i,a)):this.addY(this.sumCubic(A,n,r,i,a)))}addBezierCurve(t,n,r,i,a,s,o,c){this.addPoint(t,n),this.addPoint(o,c),this.bezierCurveAdd(!0,t,r,a,o),this.bezierCurveAdd(!1,n,i,s,c)}addQuadraticCurve(t,n,r,i,a,s){const o=t+.6666666666666666*(r-t),c=n+2/3*(i-n),l=o+1/3*(a-t),u=c+1/3*(s-n);this.addBezierCurve(t,n,o,l,c,u,a,s)}isPointInBox(t,n){const{x1:r,y1:i,x2:a,y2:s}=this;return r<=t&&t<=a&&i<=n&&n<=s}}class Hi extends fe{constructor(){super(...arguments),Q(this,"modifiedEmSizeStack",!1)}calculateOpacity(){let t=1,n=this;for(;n;){const r=n.getStyle("opacity",!1,!0);r.hasValue(!0)&&(t*=r.getNumber()),n=n.parent}return t}setContext(t,n=!1){if(!n){const r=this.getStyle("fill"),i=this.getStyle("fill-opacity"),a=this.getStyle("stroke"),s=this.getStyle("stroke-opacity");if(r.isUrlDefinition()){const f=r.getFillStyleDefinition(this,i);f&&(t.fillStyle=f)}else if(r.hasValue()){r.getString()==="currentColor"&&r.setValue(this.getStyle("color").getColor());const f=r.getColor();f!=="inherit"&&(t.fillStyle=f==="none"?"rgba(0,0,0,0)":f)}if(i.hasValue()){const f=new ft(this.document,"fill",t.fillStyle).addOpacity(i).getColor();t.fillStyle=f}if(a.isUrlDefinition()){const f=a.getFillStyleDefinition(this,s);f&&(t.strokeStyle=f)}else if(a.hasValue()){a.getString()==="currentColor"&&a.setValue(this.getStyle("color").getColor());const f=a.getString();f!=="inherit"&&(t.strokeStyle=f==="none"?"rgba(0,0,0,0)":f)}if(s.hasValue()){const f=new ft(this.document,"stroke",t.strokeStyle).addOpacity(s).getString();t.strokeStyle=f}const o=this.getStyle("stroke-width");if(o.hasValue()){const f=o.getPixels();t.lineWidth=f||Ha}const c=this.getStyle("stroke-linecap"),l=this.getStyle("stroke-linejoin"),u=this.getStyle("stroke-miterlimit"),A=this.getStyle("stroke-dasharray"),h=this.getStyle("stroke-dashoffset");if(c.hasValue()&&(t.lineCap=c.getString()),l.hasValue()&&(t.lineJoin=l.getString()),u.hasValue()&&(t.miterLimit=u.getNumber()),A.hasValue()&&A.getString()!=="none"){const f=vn(A.getString());typeof t.setLineDash<"u"?t.setLineDash(f):typeof t.webkitLineDash<"u"?t.webkitLineDash=f:typeof t.mozDash<"u"&&!(f.length===1&&f[0]===0)&&(t.mozDash=f);const d=h.getPixels();typeof t.lineDashOffset<"u"?t.lineDashOffset=d:typeof t.webkitLineDashOffset<"u"?t.webkitLineDashOffset=d:typeof t.mozDashOffset<"u"&&(t.mozDashOffset=d)}}if(this.modifiedEmSizeStack=!1,typeof t.font<"u"){const r=this.getStyle("font"),i=this.getStyle("font-style"),a=this.getStyle("font-variant"),s=this.getStyle("font-weight"),o=this.getStyle("font-size"),c=this.getStyle("font-family"),l=new Ga(i.getString(),a.getString(),s.getString(),o.hasValue()?`${o.getPixels(!0)}px`:"",c.getString(),Ga.parse(r.getString(),t.font));i.setValue(l.fontStyle),a.setValue(l.fontVariant),s.setValue(l.fontWeight),o.setValue(l.fontSize),c.setValue(l.fontFamily),t.font=l.toString(),o.isPixels()&&(this.document.emSize=o.getPixels(),this.modifiedEmSizeStack=!0)}n||(this.applyEffects(t),t.globalAlpha=this.calculateOpacity())}clearContext(t){super.clearContext(t),this.modifiedEmSizeStack&&this.document.popEmSize()}}class ci extends Hi{constructor(t,n,r){super(t,n,new.target===ci?!0:r),Q(this,"type","text"),Q(this,"x",0),Q(this,"y",0),Q(this,"leafTexts",[]),Q(this,"textChunkStart",0),Q(this,"minX",Number.POSITIVE_INFINITY),Q(this,"maxX",Number.NEGATIVE_INFINITY),Q(this,"measureCache",-1)}setContext(t,n=!1){super.setContext(t,n);const r=this.getStyle("dominant-baseline").getTextBaseline()||this.getStyle("alignment-baseline").getTextBaseline();r&&(t.textBaseline=r)}initializeCoordinates(){this.x=0,this.y=0,this.leafTexts=[],this.textChunkStart=0,this.minX=Number.POSITIVE_INFINITY,this.maxX=Number.NEGATIVE_INFINITY}getBoundingBox(t){if(this.type!=="text")return this.getTElementBoundingBox(t);this.initializeCoordinates(),this.adjustChildCoordinatesRecursive(t);let n=null;return this.children.forEach((r,i)=>{const a=this.getChildBoundingBox(t,this,this,i);n?n.addBoundingBox(a):n=a}),n}getFontSize(){const{document:t,parent:n}=this,r=Ga.parse(t.ctx.font).fontSize;return n.getStyle("font-size").getNumber(r)}getTElementBoundingBox(t){const n=this.getFontSize();return new Vn(this.x,this.y-n,this.x+this.measureText(t),this.y)}getGlyph(t,n,r){var i;const a=n[r];let s;if(t.isArabic){const o=n.length,c=n[r-1],l=n[r+1];let u="isolated";(r===0||c===" ")&&r<o-1&&l!==" "&&(u="terminal"),r>0&&c!==" "&&r<o-1&&l!==" "&&(u="medial"),r>0&&c!==" "&&(r===o-1||l===" ")&&(u="initial"),s=((i=t.arabicGlyphs[a])==null?void 0:i[u])||t.glyphs[a]}else s=t.glyphs[a];return s||(s=t.missingGlyph),s}getText(){return""}getTextFromNode(t){const n=t||this.node,r=Array.from(n.parentNode.childNodes),i=r.indexOf(n),a=r.length-1;let s=Ya(n.textContent||"");return i===0&&(s=v8(s)),i===a&&(s=E8(s)),s}renderChildren(t){if(this.type!=="text"){this.renderTElementChildren(t);return}this.initializeCoordinates(),this.adjustChildCoordinatesRecursive(t),this.children.forEach((r,i)=>{this.renderChild(t,this,this,i)});const{mouse:n}=this.document.screen;n.isWorking()&&n.checkBoundingBox(this,this.getBoundingBox(t))}renderTElementChildren(t){const{document:n,parent:r}=this,i=this.getText(),a=r.getStyle("font-family").getDefinition();if(a!=null&&a.fontFace){const{unitsPerEm:c}=a.fontFace,l=Ga.parse(n.ctx.font),u=r.getStyle("font-size").getNumber(l.fontSize),A=r.getStyle("font-style").getString(l.fontStyle),h=u/c,f=a.isRTL?i.split("").reverse().join(""):i,d=vn(r.getAttribute("dx").getString()),p=f.length;for(let m=0;m<p;m++){const y=this.getGlyph(a,f,m);t.translate(this.x,this.y),t.scale(h,-h);const v=t.lineWidth;t.lineWidth=t.lineWidth*c/u,A==="italic"&&t.transform(1,0,.4,1,0,0),y.render(t),A==="italic"&&t.transform(1,0,-.4,1,0,0),t.lineWidth=v,t.scale(1/h,-1/h),t.translate(-this.x,-this.y),this.x+=u*(y.horizAdvX||a.horizAdvX)/c,typeof d[m]<"u"&&!isNaN(d[m])&&(this.x+=d[m])}return}const{x:s,y:o}=this;t.fillStyle&&t.fillText(i,s,o),t.strokeStyle&&t.strokeText(i,s,o)}applyAnchoring(){if(this.textChunkStart>=this.leafTexts.length)return;const t=this.leafTexts[this.textChunkStart],n=t.getStyle("text-anchor").getString("start"),r=!1;let i=0;n==="start"&&!r||n==="end"&&r?i=t.x-this.minX:n==="end"&&!r||n==="start"&&r?i=t.x-this.maxX:i=t.x-(this.minX+this.maxX)/2;for(let a=this.textChunkStart;a<this.leafTexts.length;a++)this.leafTexts[a].x+=i;this.minX=Number.POSITIVE_INFINITY,this.maxX=Number.NEGATIVE_INFINITY,this.textChunkStart=this.leafTexts.length}adjustChildCoordinatesRecursive(t){this.children.forEach((n,r)=>{this.adjustChildCoordinatesRecursiveCore(t,this,this,r)}),this.applyAnchoring()}adjustChildCoordinatesRecursiveCore(t,n,r,i){const a=r.children[i];a.children.length>0?a.children.forEach((s,o)=>{n.adjustChildCoordinatesRecursiveCore(t,n,a,o)}):this.adjustChildCoordinates(t,n,r,i)}adjustChildCoordinates(t,n,r,i){const a=r.children[i];if(typeof a.measureText!="function")return a;t.save(),a.setContext(t,!0);const s=a.getAttribute("x"),o=a.getAttribute("y"),c=a.getAttribute("dx"),l=a.getAttribute("dy"),u=a.getStyle("font-family").getDefinition(),A=!!(u!=null&&u.isRTL);i===0&&(s.hasValue()||s.setValue(a.getInheritedAttribute("x")),o.hasValue()||o.setValue(a.getInheritedAttribute("y")),c.hasValue()||c.setValue(a.getInheritedAttribute("dx")),l.hasValue()||l.setValue(a.getInheritedAttribute("dy")));const h=a.measureText(t);return A&&(n.x-=h),s.hasValue()?(n.applyAnchoring(),a.x=s.getPixels("x"),c.hasValue()&&(a.x+=c.getPixels("x"))):(c.hasValue()&&(n.x+=c.getPixels("x")),a.x=n.x),n.x=a.x,A||(n.x+=h),o.hasValue()?(a.y=o.getPixels("y"),l.hasValue()&&(a.y+=l.getPixels("y"))):(l.hasValue()&&(n.y+=l.getPixels("y")),a.y=n.y),n.y=a.y,n.leafTexts.push(a),n.minX=Math.min(n.minX,a.x,a.x+h),n.maxX=Math.max(n.maxX,a.x,a.x+h),a.clearContext(t),t.restore(),a}getChildBoundingBox(t,n,r,i){const a=r.children[i];if(typeof a.getBoundingBox!="function")return null;const s=a.getBoundingBox(t);return s&&a.children.forEach((o,c)=>{const l=n.getChildBoundingBox(t,n,a,c);s.addBoundingBox(l)}),s}renderChild(t,n,r,i){const a=r.children[i];a.render(t),a.children.forEach((s,o)=>{n.renderChild(t,n,a,o)})}measureText(t){const{measureCache:n}=this;if(~n)return n;const r=this.getText(),i=this.measureTargetText(t,r);return this.measureCache=i,i}measureTargetText(t,n){if(!n.length)return 0;const{parent:r}=this,i=r.getStyle("font-family").getDefinition();if(i){const s=this.getFontSize(),o=i.isRTL?n.split("").reverse().join(""):n,c=vn(r.getAttribute("dx").getString()),l=o.length;let u=0;for(let A=0;A<l;A++){const h=this.getGlyph(i,o,A);u+=(h.horizAdvX||i.horizAdvX)*s/i.fontFace.unitsPerEm,typeof c[A]<"u"&&!isNaN(c[A])&&(u+=c[A])}return u}if(!t.measureText)return n.length*10;t.save(),this.setContext(t,!0);const{width:a}=t.measureText(n);return this.clearContext(t),t.restore(),a}getInheritedAttribute(t){let n=this;for(;n instanceof ci&&n.isFirstChild()&&n.parent;){const r=n.parent.getAttribute(t);if(r.hasValue(!0))return r.getString("0");n=n.parent}return null}}class Zl extends ci{constructor(t,n,r){super(t,n,new.target===Zl?!0:r),Q(this,"type","tspan"),Q(this,"text"),this.text=this.children.length>0?"":this.getTextFromNode()}getText(){return this.text}}class X8 extends Zl{constructor(){super(...arguments),Q(this,"type","textNode")}}class xt extends H{constructor(t){super(t.replace(/([+\-.])\s+/gm,"$1").replace(/[^MmZzLlHhVvCcSsQqTtAae\d\s.,+-].*/g,"")),Q(this,"control",new Wt(0,0)),Q(this,"start",new Wt(0,0)),Q(this,"current",new Wt(0,0)),Q(this,"command",null),Q(this,"commands",[]),Q(this,"i",-1),Q(this,"previousCommand",null),Q(this,"points",[]),Q(this,"angles",[])}reset(){this.i=-1,this.command=null,this.previousCommand=null,this.start=new Wt(0,0),this.control=new Wt(0,0),this.current=new Wt(0,0),this.points=[],this.angles=[]}isEnd(){const{i:t,commands:n}=this;return t>=n.length-1}next(){const t=this.commands[++this.i];return this.previousCommand=this.command,this.command=t,t}getPoint(t="x",n="y"){const r=new Wt(this.command[t],this.command[n]);return this.makeAbsolute(r)}getAsControlPoint(t,n){const r=this.getPoint(t,n);return this.control=r,r}getAsCurrentPoint(t,n){const r=this.getPoint(t,n);return this.current=r,r}getReflectedControlPoint(){const t=this.previousCommand.type;if(t!==H.CURVE_TO&&t!==H.SMOOTH_CURVE_TO&&t!==H.QUAD_TO&&t!==H.SMOOTH_QUAD_TO)return this.current;const{current:{x:n,y:r},control:{x:i,y:a}}=this;return new Wt(2*n-i,2*r-a)}makeAbsolute(t){if(this.command.relative){const{x:n,y:r}=this.current;t.x+=n,t.y+=r}return t}addMarker(t,n,r){const{points:i,angles:a}=this;r&&a.length>0&&!a[a.length-1]&&(a[a.length-1]=i[i.length-1].angleTo(r)),this.addMarkerAngle(t,n?n.angleTo(t):null)}addMarkerAngle(t,n){this.points.push(t),this.angles.push(n)}getMarkerPoints(){return this.points}getMarkerAngles(){const{angles:t}=this,n=t.length;for(let r=0;r<n;r++)if(!t[r]){for(let i=r+1;i<n;i++)if(t[i]){t[r]=t[i];break}}return t}}class Nt extends Hi{constructor(t,n,r){super(t,n,r),Q(this,"type","path"),Q(this,"pathParser"),this.pathParser=new xt(this.getAttribute("d").getString())}path(t){const{pathParser:n}=this,r=new Vn;for(n.reset(),t&&t.beginPath();!n.isEnd();)switch(n.next().type){case xt.MOVE_TO:this.pathM(t,r);break;case xt.LINE_TO:this.pathL(t,r);break;case xt.HORIZ_LINE_TO:this.pathH(t,r);break;case xt.VERT_LINE_TO:this.pathV(t,r);break;case xt.CURVE_TO:this.pathC(t,r);break;case xt.SMOOTH_CURVE_TO:this.pathS(t,r);break;case xt.QUAD_TO:this.pathQ(t,r);break;case xt.SMOOTH_QUAD_TO:this.pathT(t,r);break;case xt.ARC:this.pathA(t,r);break;case xt.CLOSE_PATH:this.pathZ(t,r);break}return r}getBoundingBox(t){return this.path()}getMarkers(){const{pathParser:t}=this,n=t.getMarkerPoints(),r=t.getMarkerAngles();return!n||!r?null:n.map((i,a)=>[i,r[a]])}renderChildren(t){this.path(t),this.document.screen.mouse.checkPath(this,t);const n=this.getStyle("fill-rule");t.fillStyle!==""&&(n.getString("inherit")!=="inherit"?t.fill(n.getString()):t.fill()),t.strokeStyle!==""&&(this.getAttribute("vector-effect").getString()==="non-scaling-stroke"?(t.save(),t.setTransform(1,0,0,1,0,0),t.stroke(),t.restore()):t.stroke());const r=this.getMarkers();if(r){const i=r.length-1,a=this.getStyle("marker-start"),s=this.getStyle("marker-mid"),o=this.getStyle("marker-end");if(a.isUrlDefinition()){const c=a.getDefinition(),[l,u]=r[0];c&&c.render(t,l,u===null?void 0:u)}if(s.isUrlDefinition()){const c=s.getDefinition();for(let l=1;l<i;l++){const[u,A]=r[l];c&&c.render(t,u,A===null?void 0:A)}}if(o.isUrlDefinition()){const c=o.getDefinition(),[l,u]=r[i];c&&c.render(t,l,u===null?void 0:u)}}}static pathM(t){const n=t.getAsCurrentPoint();return t.start=t.current,{point:n}}pathM(t,n){const{pathParser:r}=this,{point:i}=Nt.pathM(r),{x:a,y:s}=i;r.addMarker(i),n.addPoint(a,s),t&&t.moveTo(a,s)}static pathL(t){const{current:n}=t,r=t.getAsCurrentPoint();return{current:n,point:r}}pathL(t,n){const{pathParser:r}=this,{current:i,point:a}=Nt.pathL(r),{x:s,y:o}=a;r.addMarker(a,i),n.addPoint(s,o),t&&t.lineTo(s,o)}static pathH(t){const{current:n,command:r}=t,i=new Wt((r!=null&&r.relative?n.x:0)+r.x,n.y);return t.current=i,{current:n,point:i}}pathH(t,n){const{pathParser:r}=this,{current:i,point:a}=Nt.pathH(r),{x:s,y:o}=a;r.addMarker(a,i),n.addPoint(s,o),t&&t.lineTo(s,o)}static pathV(t){const{current:n,command:r}=t,i=new Wt(n.x,(r.relative?n.y:0)+r.y);return t.current=i,{current:n,point:i}}pathV(t,n){const{pathParser:r}=this,{current:i,point:a}=Nt.pathV(r),{x:s,y:o}=a;r.addMarker(a,i),n.addPoint(s,o),t&&t.lineTo(s,o)}static pathC(t){const{current:n}=t,r=t.getPoint("x1","y1"),i=t.getAsControlPoint("x2","y2"),a=t.getAsCurrentPoint();return{current:n,point:r,controlPoint:i,currentPoint:a}}pathC(t,n){const{pathParser:r}=this,{current:i,point:a,controlPoint:s,currentPoint:o}=Nt.pathC(r);r.addMarker(o,s,a),n.addBezierCurve(i.x,i.y,a.x,a.y,s.x,s.y,o.x,o.y),t&&t.bezierCurveTo(a.x,a.y,s.x,s.y,o.x,o.y)}static pathS(t){const{current:n}=t,r=t.getReflectedControlPoint(),i=t.getAsControlPoint("x2","y2"),a=t.getAsCurrentPoint();return{current:n,point:r,controlPoint:i,currentPoint:a}}pathS(t,n){const{pathParser:r}=this,{current:i,point:a,controlPoint:s,currentPoint:o}=Nt.pathS(r);r.addMarker(o,s,a),n.addBezierCurve(i.x,i.y,a.x,a.y,s.x,s.y,o.x,o.y),t&&t.bezierCurveTo(a.x,a.y,s.x,s.y,o.x,o.y)}static pathQ(t){const{current:n}=t,r=t.getAsControlPoint("x1","y1"),i=t.getAsCurrentPoint();return{current:n,controlPoint:r,currentPoint:i}}pathQ(t,n){const{pathParser:r}=this,{current:i,controlPoint:a,currentPoint:s}=Nt.pathQ(r);r.addMarker(s,a,a),n.addQuadraticCurve(i.x,i.y,a.x,a.y,s.x,s.y),t&&t.quadraticCurveTo(a.x,a.y,s.x,s.y)}static pathT(t){const{current:n}=t,r=t.getReflectedControlPoint();t.control=r;const i=t.getAsCurrentPoint();return{current:n,controlPoint:r,currentPoint:i}}pathT(t,n){const{pathParser:r}=this,{current:i,controlPoint:a,currentPoint:s}=Nt.pathT(r);r.addMarker(s,a,a),n.addQuadraticCurve(i.x,i.y,a.x,a.y,s.x,s.y),t&&t.quadraticCurveTo(a.x,a.y,s.x,s.y)}static pathA(t){const{current:n,command:r}=t;let{rX:i,rY:a,xRot:s,lArcFlag:o,sweepFlag:c}=r;const l=s*(Math.PI/180),u=t.getAsCurrentPoint(),A=new Wt(Math.cos(l)*(n.x-u.x)/2+Math.sin(l)*(n.y-u.y)/2,-Math.sin(l)*(n.x-u.x)/2+Math.cos(l)*(n.y-u.y)/2),h=Math.pow(A.x,2)/Math.pow(i,2)+Math.pow(A.y,2)/Math.pow(a,2);h>1&&(i*=Math.sqrt(h),a*=Math.sqrt(h));let f=(o===c?-1:1)*Math.sqrt((Math.pow(i,2)*Math.pow(a,2)-Math.pow(i,2)*Math.pow(A.y,2)-Math.pow(a,2)*Math.pow(A.x,2))/(Math.pow(i,2)*Math.pow(A.y,2)+Math.pow(a,2)*Math.pow(A.x,2)));isNaN(f)&&(f=0);const d=new Wt(f*i*A.y/a,f*-a*A.x/i),p=new Wt((n.x+u.x)/2+Math.cos(l)*d.x-Math.sin(l)*d.y,(n.y+u.y)/2+Math.sin(l)*d.x+Math.cos(l)*d.y),m=Bw([1,0],[(A.x-d.x)/i,(A.y-d.y)/a]),y=[(A.x-d.x)/i,(A.y-d.y)/a],v=[(-A.x-d.x)/i,(-A.y-d.y)/a];let w=Bw(y,v);return Tf(y,v)<=-1&&(w=Math.PI),Tf(y,v)>=1&&(w=0),{currentPoint:u,rX:i,rY:a,sweepFlag:c,xAxisRotation:l,centp:p,a1:m,ad:w}}pathA(t,n){const{pathParser:r}=this,{currentPoint:i,rX:a,rY:s,sweepFlag:o,xAxisRotation:c,centp:l,a1:u,ad:A}=Nt.pathA(r),h=1-o?1:-1,f=u+h*(A/2),d=new Wt(l.x+a*Math.cos(f),l.y+s*Math.sin(f));if(r.addMarkerAngle(d,f-h*Math.PI/2),r.addMarkerAngle(i,f-h*Math.PI),n.addPoint(i.x,i.y),t&&!isNaN(u)&&!isNaN(A)){const p=a>s?a:s,m=a>s?1:a/s,y=a>s?s/a:1;t.translate(l.x,l.y),t.rotate(c),t.scale(m,y),t.arc(0,0,p,u,u+A,!!(1-o)),t.scale(1/m,1/y),t.rotate(-c),t.translate(-l.x,-l.y)}}static pathZ(t){t.current=t.start}pathZ(t,n){Nt.pathZ(this.pathParser),t&&n.x1!==n.x2&&n.y1!==n.y2&&t.closePath()}}class ho extends Hi{constructor(){super(...arguments),Q(this,"type","svg"),Q(this,"root",!1)}setContext(t){var n;const{document:r}=this,{screen:i,window:a}=r,s=t.canvas;if(i.setDefaults(t),"style"in s&&typeof t.font<"u"&&a&&typeof a.getComputedStyle<"u"){t.font=a.getComputedStyle(s).getPropertyValue("font");const v=new ft(r,"fontSize",Ga.parse(t.font).fontSize);v.hasValue()&&(r.rootEmSize=v.getPixels("y"),r.emSize=r.rootEmSize)}this.getAttribute("x").hasValue()||this.getAttribute("x",!0).setValue(0),this.getAttribute("y").hasValue()||this.getAttribute("y",!0).setValue(0);let{width:o,height:c}=i.viewPort;this.getStyle("width").hasValue()||this.getStyle("width",!0).setValue("100%"),this.getStyle("height").hasValue()||this.getStyle("height",!0).setValue("100%"),this.getStyle("color").hasValue()||this.getStyle("color",!0).setValue("black");const l=this.getAttribute("refX"),u=this.getAttribute("refY"),A=this.getAttribute("viewBox"),h=A.hasValue()?vn(A.getString()):null,f=!this.root&&this.getStyle("overflow").getValue("hidden")!=="visible";let d=0,p=0,m=0,y=0;h&&(d=h[0],p=h[1]),this.root||(o=this.getStyle("width").getPixels("x"),c=this.getStyle("height").getPixels("y"),this.type==="marker"&&(m=d,y=p,d=0,p=0)),i.viewPort.setCurrent(o,c),this.node&&(!this.parent||((n=this.node.parentNode)==null?void 0:n.nodeName)==="foreignObject")&&this.getStyle("transform",!1,!0).hasValue()&&!this.getStyle("transform-origin",!1,!0).hasValue()&&this.getStyle("transform-origin",!0,!0).setValue("50% 50%"),super.setContext(t),t.translate(this.getAttribute("x").getPixels("x"),this.getAttribute("y").getPixels("y")),h&&(o=h[2],c=h[3]),r.setViewBox({ctx:t,aspectRatio:this.getAttribute("preserveAspectRatio").getString(),width:i.viewPort.width,desiredWidth:o,height:i.viewPort.height,desiredHeight:c,minX:d,minY:p,refX:l.getValue(),refY:u.getValue(),clip:f,clipX:m,clipY:y}),h&&(i.viewPort.removeCurrent(),i.viewPort.setCurrent(o,c))}clearContext(t){super.clearContext(t),this.document.screen.viewPort.removeCurrent()}resize(t,n=t,r=!1){const i=this.getAttribute("width",!0),a=this.getAttribute("height",!0),s=this.getAttribute("viewBox"),o=this.getAttribute("style"),c=i.getNumber(0),l=a.getNumber(0);if(r)if(typeof r=="string")this.getAttribute("preserveAspectRatio",!0).setValue(r);else{const u=this.getAttribute("preserveAspectRatio");u.hasValue()&&u.setValue(u.getString().replace(/^\s*(\S.*\S)\s*$/,"$1"))}if(i.setValue(t),a.setValue(n),s.hasValue()||s.setValue(`0 0 ${c||t} ${l||n}`),o.hasValue()){const u=this.getStyle("width"),A=this.getStyle("height");u.hasValue()&&u.setValue(`${t}px`),A.hasValue()&&A.setValue(`${n}px`)}}}class Uw extends Nt{constructor(){super(...arguments),Q(this,"type","rect")}path(t){const n=this.getAttribute("x").getPixels("x"),r=this.getAttribute("y").getPixels("y"),i=this.getStyle("width",!1,!0).getPixels("x"),a=this.getStyle("height",!1,!0).getPixels("y"),s=this.getAttribute("rx"),o=this.getAttribute("ry");let c=s.getPixels("x"),l=o.getPixels("y");if(s.hasValue()&&!o.hasValue()&&(l=c),o.hasValue()&&!s.hasValue()&&(c=l),c=Math.min(c,i/2),l=Math.min(l,a/2),t){const u=4*((Math.sqrt(2)-1)/3);t.beginPath(),a>0&&i>0&&(t.moveTo(n+c,r),t.lineTo(n+i-c,r),t.bezierCurveTo(n+i-c+u*c,r,n+i,r+l-u*l,n+i,r+l),t.lineTo(n+i,r+a-l),t.bezierCurveTo(n+i,r+a-l+u*l,n+i-c+u*c,r+a,n+i-c,r+a),t.lineTo(n+c,r+a),t.bezierCurveTo(n+c-u*c,r+a,n,r+a-l+u*l,n,r+a-l),t.lineTo(n,r+l),t.bezierCurveTo(n,r+l-u*l,n+c-u*c,r,n+c,r),t.closePath())}return new Vn(n,r,n+i,r+a)}getMarkers(){return null}}class _8 extends Nt{constructor(){super(...arguments),Q(this,"type","circle")}path(t){const n=this.getAttribute("cx").getPixels("x"),r=this.getAttribute("cy").getPixels("y"),i=this.getAttribute("r").getPixels();return t&&i>0&&(t.beginPath(),t.arc(n,r,i,0,Math.PI*2,!1),t.closePath()),new Vn(n-i,r-i,n+i,r+i)}getMarkers(){return null}}class q8 extends Nt{constructor(){super(...arguments),Q(this,"type","ellipse")}path(t){const n=4*((Math.sqrt(2)-1)/3),r=this.getAttribute("rx").getPixels("x"),i=this.getAttribute("ry").getPixels("y"),a=this.getAttribute("cx").getPixels("x"),s=this.getAttribute("cy").getPixels("y");return t&&r>0&&i>0&&(t.beginPath(),t.moveTo(a+r,s),t.bezierCurveTo(a+r,s+n*i,a+n*r,s+i,a,s+i),t.bezierCurveTo(a-n*r,s+i,a-r,s+n*i,a-r,s),t.bezierCurveTo(a-r,s-n*i,a-n*r,s-i,a,s-i),t.bezierCurveTo(a+n*r,s-i,a+r,s-n*i,a+r,s),t.closePath()),new Vn(a-r,s-i,a+r,s+i)}getMarkers(){return null}}class Z8 extends Nt{constructor(){super(...arguments),Q(this,"type","line")}getPoints(){return[new Wt(this.getAttribute("x1").getPixels("x"),this.getAttribute("y1").getPixels("y")),new Wt(this.getAttribute("x2").getPixels("x"),this.getAttribute("y2").getPixels("y"))]}path(t){const[{x:n,y:r},{x:i,y:a}]=this.getPoints();return t&&(t.beginPath(),t.moveTo(n,r),t.lineTo(i,a)),new Vn(n,r,i,a)}getMarkers(){const[t,n]=this.getPoints(),r=t.angleTo(n);return[[t,r],[n,r]]}}class Lw extends Nt{constructor(t,n,r){super(t,n,r),Q(this,"type","polyline"),Q(this,"points",[]),this.points=Wt.parsePath(this.getAttribute("points").getString())}path(t){const{points:n}=this,[{x:r,y:i}]=n,a=new Vn(r,i);return t&&(t.beginPath(),t.moveTo(r,i)),n.forEach(({x:s,y:o})=>{a.addPoint(s,o),t&&t.lineTo(s,o)}),a}getMarkers(){const{points:t}=this,n=t.length-1,r=[];return t.forEach((i,a)=>{a!==n&&r.push([i,i.angleTo(t[a+1])])}),r.length>0&&r.push([t[t.length-1],r[r.length-1][1]]),r}}class $8 extends Lw{constructor(){super(...arguments),Q(this,"type","polygon")}path(t){const n=super.path(t),[{x:r,y:i}]=this.points;return t&&(t.lineTo(r,i),t.closePath()),n}}class tN extends fe{constructor(){super(...arguments),Q(this,"type","pattern")}createPattern(t,n,r){const i=this.getStyle("width").getPixels("x",!0),a=this.getStyle("height").getPixels("y",!0),s=this.getAttribute("data-frame-width"),o=this.getAttribute("data-frame-height"),c=s.hasValue()?s.getPixels("x",!0):i,l=o.hasValue()?o.getPixels("y",!0):a,u=s.hasValue()&&o.hasValue(),A=new ho(this.document,void 0);A.attributes.viewBox=new ft(this.document,"viewBox",this.getAttribute("viewBox").getValue()),A.attributes.width=new ft(this.document,"width",`${c}px`),A.attributes.height=new ft(this.document,"height",`${l}px`),A.attributes.transform=new ft(this.document,"transform",this.getAttribute("patternTransform").getValue()),A.children=this.children;const h=this.document.createCanvas(c,l),f=h.getContext("2d");f.imageSmoothingEnabled=!0,f.imageSmoothingQuality="high";const d=this.getAttribute("x"),p=this.getAttribute("y");d.hasValue()&&p.hasValue()&&f.translate(d.getPixels("x",!0),p.getPixels("y",!0)),r.hasValue()?this.styles["fill-opacity"]=r:Reflect.deleteProperty(this.styles,"fill-opacity");for(let m=-1;m<=1;m++)for(let y=-1;y<=1;y++)f.save(),A.attributes.x=new ft(this.document,"x",m*h.width),A.attributes.y=new ft(this.document,"y",y*h.height),A.render(f),f.restore();return t.createPattern(h,u?"no-repeat":"repeat")}}class eN extends fe{constructor(){super(...arguments),Q(this,"type","marker")}render(t,n,r){if(!n)return;const{x:i,y:a}=n,s=this.getAttribute("orient").getString("auto"),o=this.getAttribute("markerUnits").getString("strokeWidth");t.translate(i,a),s==="auto"&&r&&t.rotate(r),o==="strokeWidth"&&t.scale(t.lineWidth,t.lineWidth),t.save();const c=new ho(this.document);c.type=this.type,c.attributes.viewBox=new ft(this.document,"viewBox",this.getAttribute("viewBox").getValue()),c.attributes.refX=new ft(this.document,"refX",this.getAttribute("refX").getValue()),c.attributes.refY=new ft(this.document,"refY",this.getAttribute("refY").getValue()),c.attributes.width=new ft(this.document,"width",this.getAttribute("markerWidth").getValue()),c.attributes.height=new ft(this.document,"height",this.getAttribute("markerHeight").getValue()),c.attributes.overflow=new ft(this.document,"overflow",this.getAttribute("overflow").getValue()),c.attributes.fill=new ft(this.document,"fill",this.getAttribute("fill").getColor("black")),c.attributes.stroke=new ft(this.document,"stroke",this.getAttribute("stroke").getValue("none")),c.children=this.children,c.render(t),t.restore(),o==="strokeWidth"&&t.scale(1/t.lineWidth,1/t.lineWidth),s==="auto"&&r&&t.rotate(-r),t.translate(-i,-a)}}class nN extends fe{constructor(){super(...arguments),Q(this,"type","defs")}render(){}}class Rf extends Hi{constructor(){super(...arguments),Q(this,"type","g")}getBoundingBox(t){const n=new Vn;return this.children.forEach(r=>{r instanceof Nt&&n.addBoundingBox(r.getBoundingBox(t))}),n}}class Yw extends fe{constructor(t,n,r){super(t,n,r),Q(this,"attributesToInherit",["gradientUnits"]),Q(this,"stops",[]);const{stops:i,children:a}=this;a.forEach(s=>{s.type==="stop"&&i.push(s)})}getGradientUnits(){return this.getAttribute("gradientUnits").getString("objectBoundingBox")}createGradient(t,n,r){let i=this;this.getHrefAttribute().hasValue()&&(i=this.getHrefAttribute().getDefinition(),this.inheritStopContainer(i));const{stops:a}=i,s=this.getGradient(t,n);if(!s)return this.addParentOpacity(r,a[a.length-1].color);if(a.forEach(o=>{s.addColorStop(o.offset,this.addParentOpacity(r,o.color))}),this.getAttribute("gradientTransform").hasValue()){const{document:o}=this,{MAX_VIRTUAL_PIXELS:c}=Nf,{viewPort:l}=o.screen,u=l.getRoot(),A=new Uw(o);A.attributes.x=new ft(o,"x",-c/3),A.attributes.y=new ft(o,"y",-c/3),A.attributes.width=new ft(o,"width",c),A.attributes.height=new ft(o,"height",c);const h=new Rf(o);h.attributes.transform=new ft(o,"transform",this.getAttribute("gradientTransform").getValue()),h.children=[A];const f=new ho(o);f.attributes.x=new ft(o,"x",0),f.attributes.y=new ft(o,"y",0),f.attributes.width=new ft(o,"width",u.width),f.attributes.height=new ft(o,"height",u.height),f.children=[h];const d=o.createCanvas(u.width,u.height),p=d.getContext("2d");return p.fillStyle=s,f.render(p),p.createPattern(d,"no-repeat")}return s}inheritStopContainer(t){this.attributesToInherit.forEach(n=>{!this.getAttribute(n).hasValue()&&t.getAttribute(n).hasValue()&&this.getAttribute(n,!0).setValue(t.getAttribute(n).getValue())})}addParentOpacity(t,n){return t.hasValue()?new ft(this.document,"color",n).addOpacity(t).getColor():n}}class rN extends Yw{constructor(t,n,r){super(t,n,r),Q(this,"type","linearGradient"),this.attributesToInherit.push("x1","y1","x2","y2")}getGradient(t,n){const r=this.getGradientUnits()==="objectBoundingBox",i=r?n.getBoundingBox(t):null;if(r||!i)return null;!this.getAttribute("x1").hasValue()&&!this.getAttribute("y1").hasValue()&&!this.getAttribute("x2").hasValue()&&!this.getAttribute("y2").hasValue()&&(this.getAttribute("x1",!0).setValue(0),this.getAttribute("y1",!0).setValue(0),this.getAttribute("x2",!0).setValue(1),this.getAttribute("y2",!0).setValue(0));const a=r?i.x+i.width*this.getAttribute("x1").getNumber():this.getAttribute("x1").getPixels("x"),s=r?i.y+i.height*this.getAttribute("y1").getNumber():this.getAttribute("y1").getPixels("y"),o=r?i.x+i.width*this.getAttribute("x2").getNumber():this.getAttribute("x2").getPixels("x"),c=r?i.y+i.height*this.getAttribute("y2").getNumber():this.getAttribute("y2").getPixels("y");return a===o&&s===c?null:t.createLinearGradient(a,s,o,c)}}class iN extends Yw{constructor(t,n,r){super(t,n,r),Q(this,"type","radialGradient"),this.attributesToInherit.push("cx","cy","r","fx","fy","fr")}getGradient(t,n){const r=this.getGradientUnits()==="objectBoundingBox",i=n.getBoundingBox(t);if(r&&!i)return null;this.getAttribute("cx").hasValue()||this.getAttribute("cx",!0).setValue("50%"),this.getAttribute("cy").hasValue()||this.getAttribute("cy",!0).setValue("50%"),this.getAttribute("r").hasValue()||this.getAttribute("r",!0).setValue("50%");const a=r?i.x+i.width*this.getAttribute("cx").getNumber():this.getAttribute("cx").getPixels("x"),s=r?i.y+i.height*this.getAttribute("cy").getNumber():this.getAttribute("cy").getPixels("y");let o=a,c=s;this.getAttribute("fx").hasValue()&&(o=r?i.x+i.width*this.getAttribute("fx").getNumber():this.getAttribute("fx").getPixels("x")),this.getAttribute("fy").hasValue()&&(c=r?i.y+i.height*this.getAttribute("fy").getNumber():this.getAttribute("fy").getPixels("y"));const l=r?(i.width+i.height)/2*this.getAttribute("r").getNumber():this.getAttribute("r").getPixels(),u=this.getAttribute("fr").getPixels();return t.createRadialGradient(o,c,u,a,s,l)}}class aN extends fe{constructor(t,n,r){super(t,n,r),Q(this,"type","stop"),Q(this,"offset"),Q(this,"color");const i=Math.max(0,Math.min(1,this.getAttribute("offset").getNumber())),a=this.getStyle("stop-opacity");let s=this.getStyle("stop-color",!0);s.getString()===""&&s.setValue("#000"),a.hasValue()&&(s=s.addOpacity(a)),this.offset=i,this.color=s.getColor()}}class Of extends fe{constructor(t,n,r){super(t,n,r),Q(this,"type","animate"),Q(this,"begin"),Q(this,"maxDuration"),Q(this,"from"),Q(this,"to"),Q(this,"values"),Q(this,"duration",0),Q(this,"initialValue"),Q(this,"initialUnits",""),Q(this,"removed",!1),Q(this,"frozen",!1),t.screen.animations.push(this),this.begin=this.getAttribute("begin").getMilliseconds(),this.maxDuration=this.begin+this.getAttribute("dur").getMilliseconds(),this.from=this.getAttribute("from"),this.to=this.getAttribute("to"),this.values=new ft(t,"values",null);const i=this.getAttribute("values");i.hasValue()&&this.values.setValue(i.getString().split(";"))}getProperty(){var t,n;const r=this.getAttribute("attributeType").getString(),i=this.getAttribute("attributeName").getString();return r==="CSS"?(t=this.parent)==null?void 0:t.getStyle(i,!0):(n=this.parent)==null?void 0:n.getAttribute(i,!0)}calcValue(){const{initialUnits:t}=this,{progress:n,from:r,to:i}=this.getProgress();let a=r.getNumber()+(i.getNumber()-r.getNumber())*n;return t==="%"&&(a*=100),`${a}${t}`}update(t){const{parent:n}=this,r=this.getProperty();if(!r)return!1;if(this.initialValue||(this.initialValue=r.getString(),this.initialUnits=r.getUnits()),this.duration>this.maxDuration){const a=this.getAttribute("fill").getString("remove");if(this.getAttribute("repeatCount").getString()==="indefinite"||this.getAttribute("repeatDur").getString()==="indefinite")this.duration=0;else if(a==="freeze"&&!this.frozen)this.frozen=!0,n&&r&&(n.animationFrozen=!0,n.animationFrozenValue=r.getString());else if(a==="remove"&&!this.removed)return this.removed=!0,n&&r&&r.setValue(n.animationFrozen?n.animationFrozenValue:this.initialValue),!0;return!1}this.duration+=t;let i=!1;if(this.begin<this.duration){let a=this.calcValue();const s=this.getAttribute("type");s.hasValue()&&(a=`${s.getString()}(${a})`),r.setValue(a),i=!0}return i}getProgress(){const{document:t,values:n}=this;let r=(this.duration-this.begin)/(this.maxDuration-this.begin),i,a;if(n.hasValue()){const s=r*(n.getValue().length-1),o=Math.floor(s),c=Math.ceil(s);let l;l=n.getValue()[o],i=new ft(t,"from",l?parseFloat(l):0),l=n.getValue()[c],a=new ft(t,"to",l?parseFloat(l):0),r=(s-o)/(c-o)}else i=this.from,a=this.to;return{progress:r,from:i,to:a}}}class sN extends Of{constructor(){super(...arguments),Q(this,"type","animateColor")}calcValue(){const{progress:t,from:n,to:r}=this.getProgress(),i=new Ff(n.getColor()),a=new Ff(r.getColor());if(i.ok&&a.ok){const s=i.r+(a.r-i.r)*t,o=i.g+(a.g-i.g)*t,c=i.b+(a.b-i.b)*t;return`rgb(${Math.floor(s)}, ${Math.floor(o)}, ${Math.floor(c)})`}return this.getAttribute("from").getColor()}}class oN extends Of{constructor(){super(...arguments),Q(this,"type","animateTransform")}calcValue(){const{progress:t,from:n,to:r}=this.getProgress(),i=vn(n.getString()),a=vn(r.getString());return i.map((s,o)=>{const c=a[o];return s+(c-s)*t}).join(" ")}}class Hw extends fe{constructor(t,n,r){super(t,n,r),Q(this,"type","font-face"),Q(this,"ascent"),Q(this,"descent"),Q(this,"unitsPerEm"),this.ascent=this.getAttribute("ascent").getNumber(),this.descent=this.getAttribute("descent").getNumber(),this.unitsPerEm=this.getAttribute("units-per-em").getNumber()}}class Uf extends Nt{constructor(t,n,r){super(t,n,r),Q(this,"type","glyph"),Q(this,"horizAdvX"),Q(this,"unicode"),Q(this,"arabicForm"),this.horizAdvX=this.getAttribute("horiz-adv-x").getNumber(),this.unicode=this.getAttribute("unicode").getString(),this.arabicForm=this.getAttribute("arabic-form").getString()}}class Gw extends Uf{constructor(){super(...arguments),Q(this,"type","missing-glyph"),Q(this,"horizAdvX",0)}}class cN extends fe{constructor(t,n,r){super(t,n,r),Q(this,"type","font"),Q(this,"isArabic",!1),Q(this,"missingGlyph"),Q(this,"glyphs",{}),Q(this,"arabicGlyphs",{}),Q(this,"horizAdvX"),Q(this,"isRTL",!1),Q(this,"fontFace"),this.horizAdvX=this.getAttribute("horiz-adv-x").getNumber();const{definitions:i}=t,{children:a}=this;for(const s of a)if(s instanceof Hw){this.fontFace=s;const o=s.getStyle("font-family");o.hasValue()&&(i[o.getString()]=this)}else if(s instanceof Gw)this.missingGlyph=s;else if(s instanceof Uf)if(s.arabicForm){this.isRTL=!0,this.isArabic=!0;const o=this.arabicGlyphs[s.unicode];typeof o>"u"?this.arabicGlyphs[s.unicode]={[s.arabicForm]:s}:o[s.arabicForm]=s}else this.glyphs[s.unicode]=s}render(){}}class lN extends ci{constructor(){super(...arguments),Q(this,"type","tref")}getText(){const t=this.getHrefAttribute().getDefinition();if(t){const n=t.children[0];if(n)return n.getText()}return""}}class uN extends ci{constructor(t,n,r){super(t,n,r),Q(this,"type","a"),Q(this,"hasText"),Q(this,"text");const{childNodes:i}=n,a=i[0],s=i.length>0&&Array.from(i).every(o=>o.nodeType===3);this.hasText=s,this.text=s?this.getTextFromNode(a):""}getText(){return this.text}renderChildren(t){if(this.hasText){super.renderChildren(t);const{document:n,x:r,y:i}=this,{mouse:a}=n.screen,s=new ft(n,"fontSize",Ga.parse(n.ctx.font).fontSize);a.isWorking()&&a.checkBoundingBox(this,new Vn(r,i-s.getPixels("y"),r+this.measureText(t),i))}else if(this.children.length>0){const n=new Rf(this.document);n.children=this.children,n.parent=this,n.render(t)}}onClick(){const{window:t}=this.document;t&&t.open(this.getHrefAttribute().getString())}onMouseMove(){const t=this.document.ctx;t.canvas.style.cursor="pointer"}}class AN extends ci{constructor(t,n,r){super(t,n,r),Q(this,"type","textPath"),Q(this,"textWidth",0),Q(this,"textHeight",0),Q(this,"pathLength",-1),Q(this,"glyphInfo",null),Q(this,"text"),Q(this,"dataArray"),Q(this,"letterSpacingCache",[]),Q(this,"equidistantCache",null),Q(this,"measuresCache",new Map([["",0]]));const i=this.getHrefAttribute().getDefinition();this.text=this.getTextFromNode(),this.dataArray=this.parsePathData(i)}getText(){return this.text}path(t){const{dataArray:n}=this;t&&t.beginPath(),n.forEach(({type:r,points:i})=>{switch(r){case xt.LINE_TO:t&&t.lineTo(i[0],i[1]);break;case xt.MOVE_TO:t&&t.moveTo(i[0],i[1]);break;case xt.CURVE_TO:t&&t.bezierCurveTo(i[0],i[1],i[2],i[3],i[4],i[5]);break;case xt.QUAD_TO:t&&t.quadraticCurveTo(i[0],i[1],i[2],i[3]);break;case xt.ARC:{const[a,s,o,c,l,u,A,h]=i,f=o>c?o:c,d=o>c?1:o/c,p=o>c?c/o:1;t&&(t.translate(a,s),t.rotate(A),t.scale(d,p),t.arc(0,0,f,l,l+u,!!(1-h)),t.scale(1/d,1/p),t.rotate(-A),t.translate(-a,-s));break}case xt.CLOSE_PATH:t&&t.closePath();break}})}renderChildren(t){var n;this.setTextData(t),t.save();const r=(n=this.parent)==null?void 0:n.getStyle("text-decoration").getString(),i=this.getFontSize(),{glyphInfo:a}=this,s=t.fillStyle;r==="underline"&&t.beginPath(),a.forEach((o,c)=>{const{p0:l,p1:u,rotation:A,text:h}=o;t.save(),t.translate(l.x,l.y),t.rotate(A),t.fillStyle&&t.fillText(h,0,0),t.strokeStyle&&t.strokeText(h,0,0),t.restore(),r==="underline"&&(c===0&&t.moveTo(l.x,l.y+i/8),t.lineTo(u.x,u.y+i/5))}),r==="underline"&&(t.lineWidth=i/20,t.strokeStyle=s,t.stroke(),t.closePath()),t.restore()}getLetterSpacingAt(t=0){return this.letterSpacingCache[t]||0}findSegmentToFitChar(t,n,r,i,a,s,o,c,l){let u=s,A=this.measureText(t,c);c===" "&&n==="justify"&&r<i&&(A+=(i-r)/a),l>-1&&(u+=this.getLetterSpacingAt(l));const h=this.textHeight/20,f=this.getEquidistantPointOnPath(u,h,0),d=this.getEquidistantPointOnPath(u+A,h,0),p={p0:f,p1:d},m=f&&d?Math.atan2(d.y-f.y,d.x-f.x):0;if(o){const y=Math.cos(Math.PI/2+m)*o,v=Math.cos(-m)*o;p.p0={...f,distance:f.distance||0,x:f.x+y,y:f.y+v},p.p1={...d,distance:d.distance||0,x:d.x+y,y:d.y+v}}return u+=A,{offset:u,segment:p,rotation:m}}measureText(t,n){const{measuresCache:r}=this,i=n||this.getText();if(r.has(i))return r.get(i);const a=this.measureTargetText(t,i);return r.set(i,a),a}setTextData(t){var n,r,i;if(this.glyphInfo)return;const a=this.getText(),s=a.split(""),o=a.split(" ").length-1,c=(n=this.parent)==null?void 0:n.getAttribute("dx").split().map(x=>x.getPixels("x")),l=(r=this.parent)==null?void 0:r.getAttribute("dy").getPixels("y"),u=this.getAttribute("text-anchor").getString("start"),A=this.getStyle("letter-spacing"),h=(i=this.parent)==null?void 0:i.getStyle("letter-spacing");let f=0;!A.hasValue()||A.getValue()==="inherit"?f=h.getPixels():A.hasValue()&&A.getValue()!=="initial"&&A.getValue()!=="unset"&&(f=A.getPixels());const d=[],p=a.length;this.letterSpacingCache=d;for(let x=0;x<p;x++)d.push(typeof c[x]<"u"?c[x]:f);const m=d.reduce((x,b,D)=>D===0?0:x+b||0,0),y=this.measureText(t),v=Math.max(y+m,0);this.textWidth=y,this.textHeight=this.getFontSize(),this.glyphInfo=[];const w=this.getPathLength(),B=this.getAttribute("startOffset").getNumber(0)*w;let C=0;(u==="middle"||u==="center")&&(C=-v/2),(u==="end"||u==="right")&&(C=-v),C+=B,s.forEach((x,b)=>{const{offset:D,segment:T,rotation:P}=this.findSegmentToFitChar(t,u,v,w,o,C,l,x,b);C=D,!(!T.p0||!T.p1)&&this.glyphInfo.push({text:s[b],p0:T.p0,p1:T.p1,rotation:P})})}parsePathData(t){if(this.pathLength=-1,!t)return[];const n=[],{pathParser:r}=t;for(r.reset();!r.isEnd();){const{current:i}=r,a=i?i.x:0,s=i?i.y:0,o=r.next();let c=o.type,l=[];switch(o.type){case xt.MOVE_TO:this.pathM(r,l);break;case xt.LINE_TO:c=this.pathL(r,l);break;case xt.HORIZ_LINE_TO:c=this.pathH(r,l);break;case xt.VERT_LINE_TO:c=this.pathV(r,l);break;case xt.CURVE_TO:this.pathC(r,l);break;case xt.SMOOTH_CURVE_TO:c=this.pathS(r,l);break;case xt.QUAD_TO:this.pathQ(r,l);break;case xt.SMOOTH_QUAD_TO:c=this.pathT(r,l);break;case xt.ARC:l=this.pathA(r);break;case xt.CLOSE_PATH:Nt.pathZ(r);break}o.type!==xt.CLOSE_PATH?n.push({type:c,points:l,start:{x:a,y:s},pathLength:this.calcLength(a,s,c,l)}):n.push({type:xt.CLOSE_PATH,points:[],pathLength:0})}return n}pathM(t,n){const{x:r,y:i}=Nt.pathM(t).point;n.push(r,i)}pathL(t,n){const{x:r,y:i}=Nt.pathL(t).point;return n.push(r,i),xt.LINE_TO}pathH(t,n){const{x:r,y:i}=Nt.pathH(t).point;return n.push(r,i),xt.LINE_TO}pathV(t,n){const{x:r,y:i}=Nt.pathV(t).point;return n.push(r,i),xt.LINE_TO}pathC(t,n){const{point:r,controlPoint:i,currentPoint:a}=Nt.pathC(t);n.push(r.x,r.y,i.x,i.y,a.x,a.y)}pathS(t,n){const{point:r,controlPoint:i,currentPoint:a}=Nt.pathS(t);return n.push(r.x,r.y,i.x,i.y,a.x,a.y),xt.CURVE_TO}pathQ(t,n){const{controlPoint:r,currentPoint:i}=Nt.pathQ(t);n.push(r.x,r.y,i.x,i.y)}pathT(t,n){const{controlPoint:r,currentPoint:i}=Nt.pathT(t);return n.push(r.x,r.y,i.x,i.y),xt.QUAD_TO}pathA(t){let{rX:n,rY:r,sweepFlag:i,xAxisRotation:a,centp:s,a1:o,ad:c}=Nt.pathA(t);return i===0&&c>0&&(c-=2*Math.PI),i===1&&c<0&&(c+=2*Math.PI),[s.x,s.y,n,r,o,c,a,i]}calcLength(t,n,r,i){let a=0,s=null,o=null,c=0;switch(r){case xt.LINE_TO:return this.getLineLength(t,n,i[0],i[1]);case xt.CURVE_TO:for(a=0,s=this.getPointOnCubicBezier(0,t,n,i[0],i[1],i[2],i[3],i[4],i[5]),c=.01;c<=1;c+=.01)o=this.getPointOnCubicBezier(c,t,n,i[0],i[1],i[2],i[3],i[4],i[5]),a+=this.getLineLength(s.x,s.y,o.x,o.y),s=o;return a;case xt.QUAD_TO:for(a=0,s=this.getPointOnQuadraticBezier(0,t,n,i[0],i[1],i[2],i[3]),c=.01;c<=1;c+=.01)o=this.getPointOnQuadraticBezier(c,t,n,i[0],i[1],i[2],i[3]),a+=this.getLineLength(s.x,s.y,o.x,o.y),s=o;return a;case xt.ARC:{a=0;const l=i[4],u=i[5],A=i[4]+u;let h=Math.PI/180;if(Math.abs(l-A)<h&&(h=Math.abs(l-A)),s=this.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],l,0),u<0)for(c=l-h;c>A;c-=h)o=this.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],c,0),a+=this.getLineLength(s.x,s.y,o.x,o.y),s=o;else for(c=l+h;c<A;c+=h)o=this.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],c,0),a+=this.getLineLength(s.x,s.y,o.x,o.y),s=o;return o=this.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],A,0),a+=this.getLineLength(s.x,s.y,o.x,o.y),a}}return 0}getPointOnLine(t,n,r,i,a,s=n,o=r){const c=(a-r)/(i-n+Ha);let l=Math.sqrt(t*t/(1+c*c));i<n&&(l*=-1);let u=c*l,A=null;if(i===n)A={x:s,y:o+u};else if((o-r)/(s-n+Ha)===c)A={x:s+l,y:o+u};else{let h=0,f=0;const d=this.getLineLength(n,r,i,a);if(d<Ha)return null;let p=(s-n)*(i-n)+(o-r)*(a-r);p/=d*d,h=n+p*(i-n),f=r+p*(a-r);const m=this.getLineLength(s,o,h,f),y=Math.sqrt(t*t-m*m);l=Math.sqrt(y*y/(1+c*c)),i<n&&(l*=-1),u=c*l,A={x:h+l,y:f+u}}return A}getPointOnPath(t){const n=this.getPathLength();let r=0,i=null;if(t<-5e-5||t-5e-5>n)return null;const{dataArray:a}=this;for(const s of a){if(s&&(s.pathLength<5e-5||r+s.pathLength+5e-5<t)){r+=s.pathLength;continue}const o=t-r;let c=0;switch(s.type){case xt.LINE_TO:i=this.getPointOnLine(o,s.start.x,s.start.y,s.points[0],s.points[1],s.start.x,s.start.y);break;case xt.ARC:{const l=s.points[4],u=s.points[5],A=s.points[4]+u;if(c=l+o/s.pathLength*u,u<0&&c<A||u>=0&&c>A)break;i=this.getPointOnEllipticalArc(s.points[0],s.points[1],s.points[2],s.points[3],c,s.points[6]);break}case xt.CURVE_TO:c=o/s.pathLength,c>1&&(c=1),i=this.getPointOnCubicBezier(c,s.start.x,s.start.y,s.points[0],s.points[1],s.points[2],s.points[3],s.points[4],s.points[5]);break;case xt.QUAD_TO:c=o/s.pathLength,c>1&&(c=1),i=this.getPointOnQuadraticBezier(c,s.start.x,s.start.y,s.points[0],s.points[1],s.points[2],s.points[3]);break}if(i)return i;break}return null}getLineLength(t,n,r,i){return Math.sqrt((r-t)*(r-t)+(i-n)*(i-n))}getPathLength(){return this.pathLength===-1&&(this.pathLength=this.dataArray.reduce((t,n)=>n.pathLength>0?t+n.pathLength:t,0)),this.pathLength}getPointOnCubicBezier(t,n,r,i,a,s,o,c,l){const u=c*Cw(t)+s*xw(t)+i*bw(t)+n*Sw(t),A=l*Cw(t)+o*xw(t)+a*bw(t)+r*Sw(t);return{x:u,y:A}}getPointOnQuadraticBezier(t,n,r,i,a,s,o){const c=s*Dw(t)+i*Iw(t)+n*Fw(t),l=o*Dw(t)+a*Iw(t)+r*Fw(t);return{x:c,y:l}}getPointOnEllipticalArc(t,n,r,i,a,s){const o=Math.cos(s),c=Math.sin(s),l={x:r*Math.cos(a),y:i*Math.sin(a)};return{x:t+(l.x*o-l.y*c),y:n+(l.x*c+l.y*o)}}buildEquidistantCache(t,n){const r=this.getPathLength(),i=n||.25,a=t||r/100;if(!this.equidistantCache||this.equidistantCache.step!==a||this.equidistantCache.precision!==i){this.equidistantCache={step:a,precision:i,points:[]};let s=0;for(let o=0;o<=r;o+=i){const c=this.getPointOnPath(o),l=this.getPointOnPath(o+i);!c||!l||(s+=this.getLineLength(c.x,c.y,l.x,l.y),s>=a&&(this.equidistantCache.points.push({x:c.x,y:c.y,distance:o}),s-=a))}}}getEquidistantPointOnPath(t,n,r){if(this.buildEquidistantCache(n,r),t<0||t-this.getPathLength()>5e-5)return null;const i=Math.round(t/this.getPathLength()*(this.equidistantCache.points.length-1));return this.equidistantCache.points[i]||null}}const hN=/^\s*data:(([^/,;]+\/[^/,;]+)(?:;([^,;=]+=[^,;=]+))?)?(?:;(base64))?,(.*)$/i;class fN extends Hi{constructor(t,n,r){super(t,n,r),Q(this,"type","image"),Q(this,"loaded",!1),Q(this,"image");const i=this.getHrefAttribute().getString();if(!i)return;const a=i.endsWith(".svg")||/^\s*data:image\/svg\+xml/i.test(i);t.images.push(this),a?this.loadSvg(i):this.loadImage(i)}async loadImage(t){try{const n=await this.document.createImage(t);this.image=n}catch(n){console.error(`Error while loading image "${t}":`,n)}this.loaded=!0}async loadSvg(t){const n=hN.exec(t);if(n){const r=n[5];r&&(n[4]==="base64"?this.image=atob(r):this.image=decodeURIComponent(r))}else try{const r=await(await this.document.fetch(t)).text();this.image=r}catch(r){console.error(`Error while loading image "${t}":`,r)}this.loaded=!0}renderChildren(t){const{document:n,image:r,loaded:i}=this,a=this.getAttribute("x").getPixels("x"),s=this.getAttribute("y").getPixels("y"),o=this.getStyle("width").getPixels("x"),c=this.getStyle("height").getPixels("y");if(!(!i||!r||!o||!c)){if(t.save(),t.translate(a,s),typeof r=="string"){const l=n.pith.forkString(t,r,{ignoreMouse:!0,ignoreAnimation:!0,ignoreDimensions:!0,ignoreClear:!0,offsetX:0,offsetY:0,scaleWidth:o,scaleHeight:c}),{documentElement:u}=l.document;u&&(u.parent=this),l.resize(o,c,this.getAttribute("preserveAspectRatio").getString()),l.render()}else n.setViewBox({ctx:t,aspectRatio:this.getAttribute("preserveAspectRatio").getString(),width:o,desiredWidth:r.width,height:c,desiredHeight:r.height}),this.loaded&&(!("complete"in r)||r.complete)&&t.drawImage(r,0,0);t.restore()}}getBoundingBox(){const t=this.getAttribute("x").getPixels("x"),n=this.getAttribute("y").getPixels("y"),r=this.getStyle("width").getPixels("x"),i=this.getStyle("height").getPixels("y");return new Vn(t,n,t+r,n+i)}}class gN extends Hi{constructor(){super(...arguments),Q(this,"type","symbol")}render(t){}}class dN{constructor(t){Q(this,"document"),Q(this,"loaded",!1),this.document=t,t.fonts.push(this)}async load(t,n){try{const{document:r}=this,i=(await r.pith.parser.load(n)).getElementsByTagName("font");Array.from(i).forEach(a=>{const s=r.createElement(a);r.definitions[t]=s})}catch(r){console.error(`Error while loading font "${n}":`,r)}this.loaded=!0}}class Vw extends fe{constructor(t,n,r){super(t,n,r),Q(this,"type","style"),Ya(Array.from(n.childNodes).map(i=>i.textContent).join("").replace(/(\/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+\/)|(^[\s]*\/\/.*)/gm,"").replace(/@import.*;/g,"")).split("}").forEach(i=>{const a=i.trim();if(!a)return;const s=a.split("{"),o=s[0].split(","),c=s[1].split(";");o.forEach(l=>{const u=l.trim();if(!u)return;const A=t.styles[u]||{};if(c.forEach(h=>{const f=h.indexOf(":"),d=h.substr(0,f).trim(),p=h.substr(f+1,h.length-f).trim();d&&p&&(A[d]=new ft(t,d,p))}),t.styles[u]=A,t.stylesSpecificity[u]=N8(u),u==="@font-face"){const h=A["font-family"].getString().replace(/"|'/g,"");A.src.getString().split(",").forEach(f=>{if(f.indexOf('format("svg")')>0){const d=vw(f);d&&new dN(t).load(h,d)}})}})})}}Q(Vw,"parseExternalUrl",vw);class pN extends Hi{constructor(){super(...arguments),Q(this,"type","use"),Q(this,"cachedElement")}setContext(t){super.setContext(t);const n=this.getAttribute("x"),r=this.getAttribute("y");n.hasValue()&&t.translate(n.getPixels("x"),0),r.hasValue()&&t.translate(0,r.getPixels("y"))}path(t){const{element:n}=this;n&&n.path(t)}renderChildren(t){const{document:n,element:r}=this;if(r){let i=r;if(r.type==="symbol"&&(i=new ho(n),i.attributes.viewBox=new ft(n,"viewBox",r.getAttribute("viewBox").getString()),i.attributes.preserveAspectRatio=new ft(n,"preserveAspectRatio",r.getAttribute("preserveAspectRatio").getString()),i.attributes.overflow=new ft(n,"overflow",r.getAttribute("overflow").getString()),i.children=r.children,r.styles.opacity=new ft(n,"opacity",this.calculateOpacity())),i.type==="svg"){const s=this.getStyle("width",!1,!0),o=this.getStyle("height",!1,!0);s.hasValue()&&(i.attributes.width=new ft(n,"width",s.getString())),o.hasValue()&&(i.attributes.height=new ft(n,"height",o.getString()))}const a=i.parent;i.parent=this,i.render(t),i.parent=a}}getBoundingBox(t){const{element:n}=this;return n?n.getBoundingBox(t):null}elementTransform(){const{document:t,element:n}=this;return n?kf.fromElement(t,n):null}get element(){return this.cachedElement||(this.cachedElement=this.getHrefAttribute().getDefinition()),this.cachedElement}}function $l(e,t,n,r,i,a){return e[n*r*4+t*4+a]}function tu(e,t,n,r,i,a,s){e[n*r*4+t*4+a]=s}function Ce(e,t,n){return e[t]*n}function xr(e,t,n,r){return t+Math.cos(e)*n+Math.sin(e)*r}class zw extends fe{constructor(t,n,r){super(t,n,r),Q(this,"type","feColorMatrix"),Q(this,"matrix"),Q(this,"includeOpacity");let i=vn(this.getAttribute("values").getString());switch(this.getAttribute("type").getString("matrix")){case"saturate":{const a=i[0];i=[.213+.787*a,.715-.715*a,.072-.072*a,0,0,.213-.213*a,.715+.285*a,.072-.072*a,0,0,.213-.213*a,.715-.715*a,.072+.928*a,0,0,0,0,0,1,0,0,0,0,0,1];break}case"hueRotate":{const a=i[0]*Math.PI/180;i=[xr(a,.213,.787,-.213),xr(a,.715,-.715,-.715),xr(a,.072,-.072,.928),0,0,xr(a,.213,-.213,.143),xr(a,.715,.285,.14),xr(a,.072,-.072,-.283),0,0,xr(a,.213,-.213,-.787),xr(a,.715,-.715,.715),xr(a,.072,.928,.072),0,0,0,0,0,1,0,0,0,0,0,1];break}case"luminanceToAlpha":i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,.2125,.7154,.0721,0,0,0,0,0,0,1];break}this.matrix=i,this.includeOpacity=this.getAttribute("includeOpacity").hasValue()}apply(t,n,r,i,a){const{includeOpacity:s,matrix:o}=this,c=t.getImageData(0,0,i,a);for(let l=0;l<a;l++)for(let u=0;u<i;u++){const A=$l(c.data,u,l,i,a,0),h=$l(c.data,u,l,i,a,1),f=$l(c.data,u,l,i,a,2),d=$l(c.data,u,l,i,a,3);let p=Ce(o,0,A)+Ce(o,1,h)+Ce(o,2,f)+Ce(o,3,d)+Ce(o,4,1),m=Ce(o,5,A)+Ce(o,6,h)+Ce(o,7,f)+Ce(o,8,d)+Ce(o,9,1),y=Ce(o,10,A)+Ce(o,11,h)+Ce(o,12,f)+Ce(o,13,d)+Ce(o,14,1),v=Ce(o,15,A)+Ce(o,16,h)+Ce(o,17,f)+Ce(o,18,d)+Ce(o,19,1);s&&(p=0,m=0,y=0,v*=d/255),tu(c.data,u,l,i,a,0,p),tu(c.data,u,l,i,a,1,m),tu(c.data,u,l,i,a,2,y),tu(c.data,u,l,i,a,3,v)}t.clearRect(0,0,i,a),t.putImageData(c,0,0)}}const Jw=class gB extends fe{constructor(){super(...arguments),Q(this,"type","mask")}apply(t,n){const{document:r}=this;let i=this.getAttribute("x").getPixels("x"),a=this.getAttribute("y").getPixels("y"),s=this.getStyle("width").getPixels("x"),o=this.getStyle("height").getPixels("y");if(!s&&!o){const f=new Vn;this.children.forEach(d=>{d instanceof Nt&&f.addBoundingBox(d.getBoundingBox(t))}),i=Math.floor(f.x1),a=Math.floor(f.y1),s=Math.floor(f.width),o=Math.floor(f.height)}const c=this.removeStyles(n,gB.ignoreStyles),l=r.createCanvas(i+s,a+o),u=l.getContext("2d");r.screen.setDefaults(u),this.renderChildren(u),new zw(r,{nodeType:1,childNodes:[],attributes:[{nodeName:"type",value:"luminanceToAlpha"},{nodeName:"includeOpacity",value:"true"}]}).apply(u,0,0,i+s,a+o);const A=r.createCanvas(i+s,a+o),h=A.getContext("2d");r.screen.setDefaults(h),n.render(h),h.globalCompositeOperation="destination-in",h.fillStyle=u.createPattern(l,"no-repeat"),h.fillRect(0,0,i+s,a+o),t.fillStyle=h.createPattern(A,"no-repeat"),t.fillRect(0,0,i+s,a+o),this.restoreStyles(n,c)}render(t){}};Q(Jw,"ignoreStyles",["mask","transform","clip-path"]);let mN=Jw;const jw=()=>{};class yN extends fe{constructor(){super(...arguments),Q(this,"type","clipPath")}apply(t){const{document:n}=this,r=Reflect.getPrototypeOf(t),{beginPath:i,closePath:a}=t;r&&(r.beginPath=jw,r.closePath=jw),Reflect.apply(i,t,[]),this.children.forEach(s=>{if(!("path"in s))return;let o="elementTransform"in s?s.elementTransform():null;o||(o=kf.fromElement(n,s)),o&&o.apply(t),s.path(t),r&&(r.closePath=a),o&&o.unapply(t)}),Reflect.apply(a,t,[]),t.clip(),r&&(r.beginPath=i,r.closePath=a)}render(t){}}class Lf extends fe{constructor(t,n,r){super(t,n,r),Q(this,"type","feGaussianBlur"),Q(this,"extraFilterDistance"),Q(this,"blurRadius"),this.blurRadius=Math.floor(this.getAttribute("stdDeviation").getNumber()),this.extraFilterDistance=this.blurRadius}apply(t,n,r,i,a){const{document:s,blurRadius:o}=this,c=s.window?s.window.document.body:null,l=t.canvas;l.id=s.getUniqueId(),c&&(l.style.display="none",c.appendChild(l)),y8(l,n,r,i,a,o),c&&c.removeChild(l)}}const Ww=class dB extends fe{constructor(){super(...arguments),Q(this,"type","filter")}apply(t,n){const{document:r,children:i}=this,a="getBoundingBox"in n?n.getBoundingBox(t):null;if(!a)return;let s=0,o=0;i.forEach(y=>{if(!(y instanceof Lf))return;const v=y.extraFilterDistance||0;s=Math.max(s,v),o=Math.max(o,v)});const c=Math.floor(a.width),l=Math.floor(a.height),u=c+2*s,A=l+2*o;if(Number.isNaN(u)||Number.isNaN(A)||u<1||A<1)return;const h=Math.floor(a.x),f=Math.floor(a.y),d=this.removeStyles(n,dB.ignoreStyles),p=r.createCanvas(u,A),m=p.getContext("2d");r.screen.setDefaults(m),m.translate(-h+s,-f+o),n.render(m),i.forEach(y=>{y instanceof Lf&&typeof y.apply=="function"&&y.apply(m,0,0,u,A)}),t.drawImage(p,0,0,u,A,h-s,f-o,u,A),this.restoreStyles(n,d)}render(t){}};Q(Ww,"ignoreStyles",["filter","transform","clip-path"]);let wN=Ww;class vN extends fe{constructor(t,n,r){super(t,n,r),Q(this,"type","feDropShadow"),this.addStylesFromStyleDefinition()}apply(t,n,r,i,a){}}class EN extends fe{constructor(){super(...arguments),Q(this,"type","feMorphology")}apply(t,n,r,i,a){}}class BN extends fe{constructor(){super(...arguments),Q(this,"type","feComposite")}apply(t,n,r,i,a){}}class CN extends fe{constructor(){super(...arguments),Q(this,"type","title")}}class xN extends fe{constructor(){super(...arguments),Q(this,"type","desc")}}const bN={svg:ho,rect:Uw,circle:_8,ellipse:q8,line:Z8,polyline:Lw,polygon:$8,path:Nt,pattern:tN,marker:eN,defs:nN,linearGradient:rN,radialGradient:iN,stop:aN,animate:Of,animateColor:sN,animateTransform:oN,font:cN,"font-face":Hw,"missing-glyph":Gw,glyph:Uf,text:ci,tspan:Zl,tref:lN,a:uN,textPath:AN,image:fN,g:Rf,symbol:gN,style:Vw,use:pN,mask:mN,clipPath:yN,filter:wN,feDropShadow:vN,feMorphology:EN,feComposite:BN,feColorMatrix:zw,feGaussianBlur:Lf,title:CN,desc:xN};function SN(e,t){const n=document.createElement("canvas");return n.width=e,n.height=t,n}async function DN(e,t=!1){const n=document.createElement("img");return t&&(n.crossOrigin="Anonymous"),new Promise((r,i)=>{n.onload=()=>{r(n)},n.onerror=(a,s,o,c,l)=>{i(l)},n.src=e})}const Yf=12,eu=class Lu{constructor(t,{rootEmSize:n=Yf,emSize:r=Yf,createCanvas:i=Lu.createCanvas,createImage:a=Lu.createImage,anonymousCrossOrigin:s}={}){Q(this,"pith"),Q(this,"rootEmSize"),Q(this,"documentElement"),Q(this,"screen"),Q(this,"createCanvas"),Q(this,"createImage"),Q(this,"definitions",{}),Q(this,"styles",{}),Q(this,"stylesSpecificity",{}),Q(this,"images",[]),Q(this,"fonts",[]),Q(this,"emSizeStack",[]),Q(this,"uniqueId",0),this.pith=t,this.screen=t.screen,this.rootEmSize=n,this.emSize=r,this.createCanvas=i,this.createImage=this.bindCreateImage(a,s),this.screen.wait(()=>this.isImagesLoaded()),this.screen.wait(()=>this.isFontsLoaded())}bindCreateImage(t,n){return typeof n=="boolean"?(r,i)=>t(r,typeof i=="boolean"?i:n):t}get window(){return this.screen.window}get fetch(){return this.screen.fetch}get ctx(){return this.screen.ctx}get emSize(){const{emSizeStack:t}=this;return t[t.length-1]||Yf}set emSize(t){const{emSizeStack:n}=this;n.push(t)}popEmSize(){const{emSizeStack:t}=this;t.pop()}getUniqueId(){return`pith${++this.uniqueId}`}isImagesLoaded(){return this.images.every(t=>t.loaded)}isFontsLoaded(){return this.fonts.every(t=>t.loaded)}createDocumentElement(t){const n=this.createElement(t.documentElement,"svg");return n.root=!0,n.addStylesFromStyleDefinition(),this.documentElement=n,n}createElement(t,n){const r=n||t.nodeName.replace(/^[^:]+:/,""),i=Lu.elementTypes[r];return i?new i(this,t):new z8(this,t)}createTextNode(t){return new X8(this,t)}setViewBox(t){this.screen.setViewBox({document:this,...t})}};Q(eu,"createCanvas",SN),Q(eu,"createImage",DN),Q(eu,"elementTypes",bN);let IN=eu;class Va{constructor(t,n,r={}){Q(this,"parser"),Q(this,"screen"),Q(this,"document"),Q(this,"documentElement"),Q(this,"options"),this.parser=new Pf(r),this.screen=new Nf(t,r),this.options=r;const i=new IN(this,r),a=i.createDocumentElement(n);this.document=i,this.documentElement=a}static async from(t,n,r={}){const i=await new Pf(r).parse(n);return new Va(t,i,r)}static fromString(t,n,r={}){const i=new Pf(r).parseFromString(n);return new Va(t,i,r)}fork(t,n,r={}){return Va.from(t,n,{...this.options,...r})}forkString(t,n,r={}){return Va.fromString(t,n,{...this.options,...r})}ready(){return this.screen.ready()}isReady(){return this.screen.isReady()}async render(t={}){this.start({enableRedraw:!0,ignoreAnimation:!0,ignoreMouse:!0,...t}),await this.ready(),this.stop()}start(t={}){const{documentElement:n,screen:r,options:i}=this;r.start(n,{enableRedraw:!0,...i,...t})}stop(){this.screen.stop()}resize(t,n=t,r=!1){this.documentElement.resize(t,n,r)}}const fo=(e,t)=>{const n=e.layoutState.elements.filter(i=>i.layer===t),r=Math.max(...n.map(i=>i.layerIndex).filter(i=>i!==void 0));return Math.max(r,0)+1},Kw=async e=>new Promise(t=>{Ln(e).then(n=>{t(n)}).catch(n=>console.error(n))}),Gi=async e=>{const t=async u=>new Promise((A,h)=>{try{if(!(URL&&URL.createObjectURL))throw new Error("Environment incapable of generating ObjectURL");u.toBlob(f=>{if(!f)throw u.width===0||u.height===0?new Error(`Canvas dimensions are invalid (${u.width},${u.height})`):u.width*u.height>=268435456?new Error(`Canvas dimensions exceed device limit (${u.width},${u.height})`):new Error("Couldn't generate object URL for Illustration, the blob was undefined!");A(URL.createObjectURL(f))})}catch(f){h(f)}}),n=ti().parseFromString(e,"image/svg+xml").firstElementChild;if(!n)throw new Error("Failed to read SVG");const r=new XMLSerializer().serializeToString(n),i=ii(1,1),a=i.getContext("2d"),s=await Va.from(a,r,{anonymousCrossOrigin:!0,ignoreDimensions:!1,createCanvas:ii,createImage:Zs,DOMParser:ef(),fetch:Ma}),o=n.getAttribute("width"),c=n.getAttribute("height"),l=2048;if(c&&o){const u=parseFloat(c),A=parseFloat(o)/u;A>1?s.resize(l,l/A):s.resize(l*A,l)}else s.resize(l,l);return await s.render(),await t(i)},go=async(e,t,n,r)=>{const i=e.layoutState.layout.useEditableArea&&e.layoutState.layout.editableArea||{width:e.layoutState.layout.width,height:e.layoutState.layout.height,x:0,y:0},a=i.width<i.height?i.width:i.height,s=e.layoutState.layout.useEditableArea?a/1.3:a/2,o={top:i.y+i.height/2-s/2,left:i.x+i.width/2-s/2,width:s,height:s,rotation:0,panelId:e.layoutState.layout.panelId};if(n&&t===Et.Illustration){const c=await Na(await Kw(n)),l=ti().parseFromString(c.svg,"image/svg+xml").firstElementChild.getAttribute("viewBox");if(!l)throw new Error("SVG missing viewBox.");const u=o.height,A=l.split(" "),h=parseFloat(A[2])||1,f=parseFloat(A[3])||1,d=h/f;o.height=o.width/d,o.top+=(u-o.height)/2}if(n&&t===Et.Image){const c=o.height,l=await Ml(n),u=await ro(l),A=u.width/u.height;o.height=o.width/A,o.top+=(c-o.height)/2}if(n&&t===Et.Textbox&&r!=null&&r.text&&r!=null&&r.fontScale){await Ni(n);const c=ei(n),l=ni(r.text,r==null?void 0:r.fontScale,c);o.width=Math.min(l,i.width*.85),o.left=i.x+i.width/2-o.width/2}return o};class FN{static async getFrame(t,n){const r=await ow(n.region,n.src),i=await ao(r),a=n.region||await go(t,Et.Frame);return{id:Dt(),x:a.left,y:a.top,width:a.width,height:a.height,layer:a.layer||0,layerIndex:a.layerIndex||fo(t,a.layer||0),rotation:a.rotation,scaleX:a.width/i.width,scaleY:a.height/i.height,path:i.path,dataWidth:i.width,dataHeight:i.height,type:Et.Frame,disablePlaceholder:n.configuration.disablePlaceholder,focalBlur:n.configuration.focalBlur,focalBlurStrength:n.configuration.focalBlurStrength,focalBlurRadius:n.configuration.focalBlurRadius,forceImageCover:n.configuration.forceImageCover,pattern:void 0,immutable:a.immutable}}static async getImage(t,n){const r=n.region||await go(t,Et.Image,n.src);return{id:Dt(),src:n.src,type:Et.Image,y:r.top,x:r.left,rotation:r.rotation,width:r.width,height:r.height,layer:r.layer||0,layerIndex:r.layerIndex||fo(t,r.layer||0),immutable:r.immutable,preserveAspectRatio:"none"}}static async getTextbox(t,n){var r;const{configuration:i,fontSrc:a,designInputStep:s}=n,o=await Ni(a),c={assetUrl:a,name:o.names.fullName.en},l=(s==null?void 0:s.text)||i.defaultText||"",u=i.replaceableText?i.replaceableText.replace("{{}}",l):l,A=kl(u,{vertical:i.vertical,uppercase:i.uppercase}),h=n.region||await go(t,Et.Textbox,a,{text:A,fontScale:i.size?i.size/o.unitsPerEm:void 0}),f=qs({id:Dt(),type:Et.Textbox,x:h.left,y:h.top,width:h.width,height:h.height,align:EF(i.textAlign,i.vertical),curved:i.curved,fill:(s==null?void 0:s.color)||i.colour||"#000000",fontData:c,layer:h.layer||0,layerIndex:h.layerIndex||fo(t,h.layer||0),paths:i.paths,rotation:h.rotation,vertical:i.vertical,verticalAlign:i.verticalAlign||"middle",algorithm:Ea.Traditional,fontSize:i.size||Math.max(Math.round(h.height*.025),1),text:A,input:l},A),d=yF({...h,height:f.height},c,f.fontSize,((r=f==null?void 0:f.text)==null?void 0:r.split(`
107
- `))||[],f.align);return{...f,x:d.left,y:d.top+(h.height-d.height)/2,width:d.width,height:d.height}}static async getShape(t,n){const r=`
108
- <svg
109
- xmlns="http://www.w3.org/2000/svg"
110
- xmlnsXlink="http://www.w3.org/1999/xlink"
111
- xmlSpace="preserve"
112
- preserveAspectRatio="none"
113
- version="1.1"
114
- width="1"
115
- height="1"
116
- viewBox="0 0 1 1"
117
- >
118
- <rect
119
- x="0"
120
- y="0"
121
- width="1"
122
- height="1"
123
- class="spiff-fill-shape"
124
- fill="${n.color}"
125
- />
126
- </svg>
127
- `,i={};i["spiff-fill-shape"]={browserValue:n.color};const a=n.region||await go(t,Et.Illustration),s=Dt();return{stepRegion:n.region,colors:i,id:s,svg:r,type:Et.Illustration,y:a.top,x:a.left,rotation:a.rotation,width:a.width,height:a.height,layer:a.layer||0,layerIndex:a.layerIndex||fo(t,a.layer||0),immutable:a.immutable}}static async getIllustration(t,n){const r=n.region||await go(t,Et.Illustration,n.src),i=await Na(await Kw(n.src)),a=await Gi(i.svg),s=Dt();return{cachedObjectURL:a,stepRegion:n.region,colors:i.colors,id:s,src:n.src,svg:i.svg,type:Et.Illustration,y:r.top,x:r.left,rotation:r.rotation,width:r.width,height:r.height,layer:r.layer||0,layerIndex:r.layerIndex||fo(t,r.layer||0),immutable:r.immutable}}}class Xw extends Error{constructor(t){super(t),this.name=this.constructor.name}}class po extends Xw{constructor(t){super(`ConfigurationError - ${t}`)}}class mo extends po{constructor(t){super(`Option not Configured: ${t.stepTitle}`),this.optionId=(t==null?void 0:t.optionId)||"N/A"}}class ke extends po{constructor(t){super(`Panel not Found: ${t.panelId}`),this.panelId=(t==null?void 0:t.panelId)||"N/A"}}class li extends po{constructor(t){super(`Asset not found for variant: ${t.name}`),this.variant=t}}class za extends po{constructor(t){super(`Resource not found for asset: ${t.name}`),this.asset=t}}class yo extends po{constructor(t,n){super(`Workflow Misconfiguration: ${t.stepName} - ${n}`),this.step=t}}class nu extends Xw{constructor(t){super(`ImplementationError - ${t}`)}}class ge extends nu{constructor(t){super(`Unhandled Behavior Encountered: ${t}`)}}class Ja extends nu{constructor(t){super(`Parsing Error: ${t}`)}}class Gt extends nu{constructor(t){super(`Client Error: ${t}`)}}class ru extends nu{constructor(t){super(`Resource Generation Failed: ${t}`)}}class QN{get(t){return localStorage.getItem(t)||void 0}set(t,n){localStorage.setItem(t,n)}remove(t){localStorage.removeItem(t)}getMap(t){const n=this.get(t);if(n)return new Map(JSON.parse(n))}setMap(t,n){const r=JSON.stringify([...n.entries()]);this.set(t,r)}}class _w{constructor(){this.storage=new Map}get(t){return this.storage.get(t)||void 0}set(t,n){this.storage.set(t,n)}remove(t){this.storage.delete(t)}getMap(t){const n=this.get(t);if(n)return new Map(JSON.parse(n))}setMap(t,n){const r=JSON.stringify([...n.entries()]);this.set(t,r)}}const vt=(()=>{try{return localStorage?new QN:new _w}catch{return console.warn("Local storage was unavilable due to browser security settings. Using in-memory storage instead."),new _w}})();function MN(e){return new gr(function(t,n){var r=Ar(t,[]);return new Ut(function(i){var a,s=!1;return Promise.resolve(r).then(function(o){return e(o,t.getContext())}).then(t.setContext).then(function(){s||(a=n(t).subscribe({next:i.next.bind(i),error:i.error.bind(i),complete:i.complete.bind(i)}))}).catch(i.error.bind(i)),function(){s=!0,a&&a.unsubscribe()}})})}function qw(e){return new gr(function(t,n){return new Ut(function(r){var i,a,s;try{i=n(t).subscribe({next:function(o){if(o.errors&&(s=e({graphQLErrors:o.errors,response:o,operation:t,forward:n}),s)){a=s.subscribe({next:r.next.bind(r),error:r.error.bind(r),complete:r.complete.bind(r)});return}r.next(o)},error:function(o){if(s=e({operation:t,networkError:o,graphQLErrors:o&&o.result&&o.result.errors,forward:n}),s){a=s.subscribe({next:r.next.bind(r),error:r.error.bind(r),complete:r.complete.bind(r)});return}r.error(o)},complete:function(){s||r.complete.bind(r)()}})}catch(o){e({networkError:o,operation:t,forward:n}),r.error(o)}return function(){i&&i.unsubscribe(),a&&i.unsubscribe()}})})}(function(e){He(t,e);function t(n){var r=e.call(this)||this;return r.link=qw(n),r}return t.prototype.request=function(n,r){return this.link.request(n,r)},t})(gr);class TN{constructor(){this.defaultServerUrl="https://api.spiff.com.au",this.defaultServicesApiUrl="https://services.spiff.com.au",this.defaultHubUrl="https://hub.spiff.com.au",this.serverUrl=this.defaultServerUrl,this.servicesApiUrl=this.defaultServicesApiUrl,this.hubUrl=this.defaultHubUrl,this.serverUrlCallbacks=[]}getServerUrl(){return this.serverUrl}getServicesApiUrl(){return this.servicesApiUrl}getHubUrl(){return this.hubUrl}setServerUrl(t){this.serverUrl=t,this.serverUrlCallbacks.forEach(n=>n())}setServicesApiUrl(t){this.servicesApiUrl=t}setHubUrl(t){this.hubUrl=t}addServerUrlCallback(t){this.serverUrlCallbacks.push(t)}}const wo=new TN;let Zw;const ja=e=>{Zw=e};let $w;const Hf=e=>{$w=e};let tv;const ev=e=>{tv=e};let nv;const NN=e=>{nv=e},PN=()=>new Promise(e=>{const t=wo.getHubUrl(),n=r=>{r.origin===t&&(window.removeEventListener("message",n),e(r.data))};window.parent!==window&&(window.addEventListener("message",n,!1),window.parent.postMessage("ready",t))}),kN=async()=>{const e={applicationKey:nv,bundleOwnerId:$w,customerToken:tv,transactionOwnerId:Zw};return typeof window<"u"&&(window.location.href.includes("/workflows/product/")||window.location.href.includes("hub=true"))?{...await PN(),...e}:e};class RN{constructor(){this.shadowGraphqlClient=this.constructShadowGraphqlClient(),wo.addServerUrlCallback(()=>{this.shadowGraphqlClient=this.constructShadowGraphqlClient()})}getShadowGraphqlClient(){return this.shadowGraphqlClient}constructShadowGraphqlClient(){const t=Vg({uri:`${wo.getServerUrl()}/graphql`,fetch}),n=MN(async(s,o)=>{const{headers:c}=o,l=c||{},u=await kN(),A=o.bearer??u.bearer,h=o.partnerId??u.partnerId,f=o.activeIntegration??u.activeIntegration,d=o.transactionOwnerId??u.transactionOwnerId,p=o.customerToken??u.customerToken,m=o.applicationKey??u.applicationKey,y=o.bundleOwnerId??u.bundleOwnerId;return A&&(l.Authorization=`Bearer ${A}`),h&&(l.partnerId=h),f&&(l.activeIntegration=f),d&&(l.transactionOwnerId=d),p&&(l.customerToken=p),m&&(l["X-Application-Key"]=m),y&&(l.bundleOwnerId=y),{headers:l}}),r=qw(({operation:s,graphQLErrors:o,networkError:c})=>{const l=o||[];c&&console.log("GraphQL Network error"),l.forEach(()=>console.log("GraphQL Error: "+s.operationName))});function i(){return{read(s=null){return s},merge(s,o){return o||s||null}}}const a=new A2({addTypename:!1,typePolicies:{Transaction:{fields:{bulkEmailAddress:i(),transactionOwnerId:i(),customLogoLink:i(),workflowFooterLogoLink:i(),workflowState:i(),bulkSourceUrl:i(),externalDesignProductId:i(),externalDesignProductVariantId:i(),externalCartProductId:i(),externalCartProductVariantId:i(),lastSyncedAt:i(),lineItem:i()}},WorkflowProduct:{fields:{isPresent:i()}},Product:{fields:{imageUrl:i(),overlayImageUrl:i(),preloadImageUrl:i(),weight:i(),conversionConfiguration:i(),bulkConfiguration:i()}}}});return new y2({link:qC([r,n,t]),cache:a,name:"Core"})}}const bt=new RN,ON=ct`
1
+ (function(m,y){typeof exports=="object"&&typeof module<"u"?y(exports,require("@apollo/client/core"),require("@spiffcommerce/papyrus"),require("@apollo/client/link/context"),require("@apollo/client/link/error"),require("pith"),require("lodash.debounce"),require("lodash.isequal"),require("lodash.clonedeep"),require("qrcode"),require("unicode-default-word-boundary"),require("svg-path-bbox")):typeof define=="function"&&define.amd?define(["exports","@apollo/client/core","@spiffcommerce/papyrus","@apollo/client/link/context","@apollo/client/link/error","pith","lodash.debounce","lodash.isequal","lodash.clonedeep","qrcode","unicode-default-word-boundary","svg-path-bbox"],y):(m=typeof globalThis<"u"?globalThis:m||self,y(m.Core={},m.core,m.papyrus,m.context,m.error,m.pith,m.debounce,m.isEqual,m.cloneDeep,m.qrcode,m.unicodeDefaultWordBoundary,m.svgPathBbox))})(this,function(m,y,s,oA,sA,qe,Ze,$e,ee,_e,Se,ye){"use strict";class et extends Error{constructor(e){super(e),this.name=this.constructor.name}}class te extends et{constructor(e){super(`ConfigurationError - ${e}`)}}class Ae extends te{constructor(e){super(`Option not Configured: ${e.stepTitle}`),this.optionId=(e==null?void 0:e.optionId)||"N/A"}}class k extends te{constructor(e){super(`Panel not Found: ${e.panelId}`),this.panelId=(e==null?void 0:e.panelId)||"N/A"}}class z extends te{constructor(e){super(`Asset not found for variant: ${e.name}`),this.variant=e}}class W extends te{constructor(e){super(`Resource not found for asset: ${e.name}`),this.asset=e}}class ae extends te{constructor(e,t){super(`Workflow Misconfiguration: ${e.stepName} - ${t}`),this.step=e}}class Ee extends et{constructor(e){super(`ImplementationError - ${e}`)}}class v extends Ee{constructor(e){super(`Unhandled Behavior Encountered: ${e}`)}}class X extends Ee{constructor(e){super(`Parsing Error: ${e}`)}}class U extends Ee{constructor(e){super(`Client Error: ${e}`)}}class he extends Ee{constructor(e){super(`Resource Generation Failed: ${e}`)}}class rA{get(e){return localStorage.getItem(e)||void 0}set(e,t){localStorage.setItem(e,t)}remove(e){localStorage.removeItem(e)}getMap(e){const t=this.get(e);if(t)return new Map(JSON.parse(t))}setMap(e,t){const A=JSON.stringify([...t.entries()]);this.set(e,A)}}class tt{constructor(){this.storage=new Map}get(e){return this.storage.get(e)||void 0}set(e,t){this.storage.set(e,t)}remove(e){this.storage.delete(e)}getMap(e){const t=this.get(e);if(t)return new Map(JSON.parse(t))}setMap(e,t){const A=JSON.stringify([...t.entries()]);this.set(e,A)}}const P=(()=>{try{return localStorage?new rA:new tt}catch{return console.warn("Local storage was unavilable due to browser security settings. Using in-memory storage instead."),new tt}})();class cA{constructor(){this.defaultServerUrl="https://api.spiff.com.au",this.defaultServicesApiUrl="https://services.spiff.com.au",this.defaultHubUrl="https://hub.spiff.com.au",this.serverUrl=this.defaultServerUrl,this.servicesApiUrl=this.defaultServicesApiUrl,this.hubUrl=this.defaultHubUrl,this.serverUrlCallbacks=[]}getServerUrl(){return this.serverUrl}getServicesApiUrl(){return this.servicesApiUrl}getHubUrl(){return this.hubUrl}setServerUrl(e){this.serverUrl=e,this.serverUrlCallbacks.forEach(t=>t())}setServicesApiUrl(e){this.servicesApiUrl=e}setHubUrl(e){this.hubUrl=e}addServerUrlCallback(e){this.serverUrlCallbacks.push(e)}}const ne=new cA;let At;const q=l=>{At=l};let at;const Ye=l=>{at=l};let nt;const it=l=>{nt=l};let ot;const gA=l=>{ot=l},lA=()=>new Promise(l=>{const e=ne.getHubUrl(),t=A=>{A.origin===e&&(window.removeEventListener("message",t),l(A.data))};window.parent!==window&&(window.addEventListener("message",t,!1),window.parent.postMessage("ready",e))}),BA=async()=>{const l={applicationKey:ot,bundleOwnerId:at,customerToken:nt,transactionOwnerId:At};return typeof window<"u"&&(window.location.href.includes("/workflows/product/")||window.location.href.includes("hub=true"))?{...await lA(),...l}:l};class dA{constructor(){this.shadowGraphqlClient=this.constructShadowGraphqlClient(),ne.addServerUrlCallback(()=>{this.shadowGraphqlClient=this.constructShadowGraphqlClient()})}getShadowGraphqlClient(){return this.shadowGraphqlClient}constructShadowGraphqlClient(){const e=y.createHttpLink({uri:`${ne.getServerUrl()}/graphql`,fetch}),t=oA.setContext(async(i,o)=>{const{headers:r}=o,g=r||{},c=await BA(),d=o.bearer??c.bearer,B=o.partnerId??c.partnerId,w=o.activeIntegration??c.activeIntegration,E=o.transactionOwnerId??c.transactionOwnerId,C=o.customerToken??c.customerToken,h=o.applicationKey??c.applicationKey,Q=o.bundleOwnerId??c.bundleOwnerId;return d&&(g.Authorization=`Bearer ${d}`),B&&(g.partnerId=B),w&&(g.activeIntegration=w),E&&(g.transactionOwnerId=E),C&&(g.customerToken=C),h&&(g["X-Application-Key"]=h),Q&&(g.bundleOwnerId=Q),{headers:g}}),A=sA.onError(({operation:i,graphQLErrors:o,networkError:r})=>{const g=o||[];r&&console.log("GraphQL Network error"),g.forEach(()=>console.log("GraphQL Error: "+i.operationName))});function a(){return{read(i=null){return i},merge(i,o){return o||i||null}}}const n=new y.InMemoryCache({addTypename:!1,typePolicies:{Transaction:{fields:{bulkEmailAddress:a(),transactionOwnerId:a(),customLogoLink:a(),workflowFooterLogoLink:a(),workflowState:a(),bulkSourceUrl:a(),externalDesignProductId:a(),externalDesignProductVariantId:a(),externalCartProductId:a(),externalCartProductVariantId:a(),lastSyncedAt:a(),lineItem:a()}},WorkflowProduct:{fields:{isPresent:a()}},Product:{fields:{imageUrl:a(),overlayImageUrl:a(),preloadImageUrl:a(),weight:a(),conversionConfiguration:a(),bulkConfiguration:a()}}}});return new y.ApolloClient({link:y.from([A,t,e]),cache:n,name:"Core"})}}const R=new dA,wA=y.gql`
128
2
  fragment AssetMetadataFields on Asset {
129
3
  metadata {
130
4
  key
131
5
  value
132
6
  }
133
7
  }
134
- `,iu=e=>ct`
135
- ${e&&ON||""}
8
+ `,Ce=l=>y.gql`
9
+ ${l&&wA||""}
136
10
  fragment AssetFields on Asset {
137
11
  name
138
12
  key
@@ -144,16 +18,16 @@ this in the docs: http://dev.apollodata.com/core/fragments.html#unique-names`):s
144
18
  name
145
19
  link
146
20
  }
147
- ${e&&"...AssetMetadataFields"||""}
21
+ ${l&&"...AssetMetadataFields"||""}
148
22
  }
149
- `,UN=ct`
150
- ${iu(!1)}
23
+ `,EA=y.gql`
24
+ ${Ce(!1)}
151
25
  query GetAssets($keys: [String]!) {
152
26
  assets(keys: $keys) {
153
27
  ...AssetFields
154
28
  }
155
29
  }
156
- `,Gf=ct`
30
+ `,Ne=y.gql`
157
31
  fragment MaterialFields on Material {
158
32
  id
159
33
  name
@@ -194,14 +68,14 @@ this in the docs: http://dev.apollodata.com/core/fragments.html#unique-names`):s
194
68
  fileLink
195
69
  }
196
70
  }
197
- `,LN=ct`
198
- ${Gf}
71
+ `,hA=y.gql`
72
+ ${Ne}
199
73
  query GetMaterials($ids: [String]) {
200
74
  materials(id: $ids) {
201
75
  ...MaterialFields
202
76
  }
203
77
  }
204
- `,YN=ct`
78
+ `,CA=y.gql`
205
79
  mutation CreateAsset($name: String!, $type: String!, $mimeType: String!, $anonymous: Boolean, $temporary: Boolean) {
206
80
  assetCreate(name: $name, type: $type, mimeType: $mimeType, anonymous: $anonymous, temporary: $temporary) {
207
81
  uploadUrl
@@ -215,7 +89,7 @@ this in the docs: http://dev.apollodata.com/core/fragments.html#unique-names`):s
215
89
  }
216
90
  }
217
91
  }
218
- `,rv=async e=>(await bt.getShadowGraphqlClient().query({query:UN,errorPolicy:"all",fetchPolicy:"no-cache",variables:{keys:e}})).data.assets,HN=async e=>(await bt.getShadowGraphqlClient().query({query:LN,errorPolicy:"all",fetchPolicy:"no-cache",variables:{ids:e}})).data.materials,GN=async(e,t,n,r,i)=>{var s;return(s=(await bt.getShadowGraphqlClient().mutate({mutation:YN,errorPolicy:"all",fetchPolicy:"no-cache",variables:{name:e,type:t,mimeType:n,anonymous:r,temporary:i}})).data)==null?void 0:s.assetCreate};class VN{constructor(){this.cache=new Map,this.materialCache=new Map,this.loadImageAsFileInfo=async t=>{const n=await t.arrayBuffer(),r=await ro(n),i=(a,s)=>{const o=atob(a.split(",")[1]),c=[];for(let l=0;l<o.length;l++)c.push(o.charCodeAt(l));return new Blob([new Uint8Array(c)],{type:s})};return{name:t.name.substring(t.name.lastIndexOf("/")+1),blob:i(r.dataUrl,t.type)}}}async getLocalOrFromServer(t){if(this.cache.has(t)){const i=this.cache.get(t);if(!i)throw new ge("Failed to get asset from cache!");return i}const r=(async()=>(await rv([t]))[0])();return this.cache.set(t,r),r}cacheAsset(t){if(!t.key)throw new ge("Asset has no key!");this.cache.has(t.key)||this.cache.set(t.key,Promise.resolve(t))}cacheMaterial(t){if(!t.id)throw new ge("Material has no id!");this.materialCache.has(t.id)||this.materialCache.set(t.id,Promise.resolve(t))}async getMaterialLocalOrFromServer(t){if(this.materialCache.has(t))return this.materialCache.get(t);const r=(async()=>(await HN([t]))[0])();return this.materialCache.set(t,r),r}async uploadAssetWithProgress(t,n,r,i,a){const s=await this.dispatchCreateAssetRequest(t,n,i,a);if(!s)throw new Error("Failed to create asset.");return await new Promise((o,c)=>{const l=new XMLHttpRequest;l.open("PUT",s.assetResponse.uploadUrl,!0),l.setRequestHeader("Content-Type",s.mimeType),l.setRequestHeader("Cache-Control","public,max-age=31536000,immutable"),l.upload.onprogress=u=>{u.lengthComputable&&r(u.loaded*100/u.total)},l.onload=()=>{const u=s.assetResponse.asset;Vf.add(s.assetResponse.asset),o(u)},l.onerror=c,l.send(t.blob)}),s.assetResponse.asset}async uploadFile(t,n){const r=!(t.type==="image/svg+xml"||t.type==="application/pdf"),i=r?nl.Image:nl.Illustration;if(r){const a=await this.loadImageAsFileInfo(t);return await this.uploadAssetWithProgress(a,i,n,!0)}else{const a={name:t.name,blob:new Blob([t],{type:t.type})};return await Re.uploadAssetWithProgress(a,i,n,!0)}}removePersistedAsset(t){Vf.remove(t)}getPersistedAssets(){return Vf.list()}async dispatchCreateAssetRequest(t,n,r,i){const a=t.blob.type?t.blob.type:this.guessMIME(t.name),s=await GN(t.name,n,a,r,i);if(s)return{assetResponse:s,mimeType:a}}guessMIME(t){const n=t.split(".").pop();switch(n){case"glb":return"model/gltf-binary";case"ttf":return"font/ttf";case"mkv":return"video/x-matroska";default:throw new ge("Unexpected mimetype: "+n)}}}const vo="persistentAssets";class Vf{static add(t){if(!t.fileLink){console.error("Failed to find cdn link on asset, cannot persist!");return}const n=new Map;n.set(t.key||"",t.fileLink);const r=vt.getMap(vo);r&&r.forEach((i,a)=>{n.set(a,i)}),vt.setMap(vo,n)}static remove(t){const n=vt.getMap(vo);if(!n)return;const r=Array.from(n.entries()).find(i=>i[0]===t);r&&(n.delete(r[0]),vt.setMap(vo,n))}static list(){const t=vt.getMap(vo);return t?Array.from(t.entries()).map(n=>({assetKey:n[0],src:n[1]})):[]}}const Re=new VN;class zN{constructor(){this.cache={}}get(t){const n=JSON.stringify(t);return this.cache[n]}set(t,n){const r=JSON.stringify(t);return this.cache[r]=n,n}}const Eo=new zN,iv=ct`
92
+ `,st=async l=>(await R.getShadowGraphqlClient().query({query:EA,errorPolicy:"all",fetchPolicy:"no-cache",variables:{keys:l}})).data.assets,QA=async l=>(await R.getShadowGraphqlClient().query({query:hA,errorPolicy:"all",fetchPolicy:"no-cache",variables:{ids:l}})).data.materials,mA=async(l,e,t,A,a)=>{var i;return(i=(await R.getShadowGraphqlClient().mutate({mutation:CA,errorPolicy:"all",fetchPolicy:"no-cache",variables:{name:l,type:e,mimeType:t,anonymous:A,temporary:a}})).data)==null?void 0:i.assetCreate};class uA{constructor(){this.cache=new Map,this.materialCache=new Map,this.loadImageAsFileInfo=async e=>{const t=await e.arrayBuffer(),A=await s.getAttributesFromArrayBuffer(t),a=(n,i)=>{const o=atob(n.split(",")[1]),r=[];for(let g=0;g<o.length;g++)r.push(o.charCodeAt(g));return new Blob([new Uint8Array(r)],{type:i})};return{name:e.name.substring(e.name.lastIndexOf("/")+1),blob:a(A.dataUrl,e.type)}}}async getLocalOrFromServer(e){if(this.cache.has(e)){const a=this.cache.get(e);if(!a)throw new v("Failed to get asset from cache!");return a}const A=(async()=>(await st([e]))[0])();return this.cache.set(e,A),A}cacheAsset(e){if(!e.key)throw new v("Asset has no key!");this.cache.has(e.key)||this.cache.set(e.key,Promise.resolve(e))}cacheMaterial(e){if(!e.id)throw new v("Material has no id!");this.materialCache.has(e.id)||this.materialCache.set(e.id,Promise.resolve(e))}async getMaterialLocalOrFromServer(e){if(this.materialCache.has(e))return this.materialCache.get(e);const A=(async()=>(await QA([e]))[0])();return this.materialCache.set(e,A),A}async uploadAssetWithProgress(e,t,A,a,n){const i=await this.dispatchCreateAssetRequest(e,t,a,n);if(!i)throw new Error("Failed to create asset.");return await new Promise((o,r)=>{const g=new XMLHttpRequest;g.open("PUT",i.assetResponse.uploadUrl,!0),g.setRequestHeader("Content-Type",i.mimeType),g.setRequestHeader("Cache-Control","public,max-age=31536000,immutable"),g.upload.onprogress=c=>{c.lengthComputable&&A(c.loaded*100/c.total)},g.onload=()=>{const c=i.assetResponse.asset;Pe.add(i.assetResponse.asset),o(c)},g.onerror=r,g.send(e.blob)}),i.assetResponse.asset}async uploadFile(e,t){const A=!(e.type==="image/svg+xml"||e.type==="application/pdf"),a=A?s.AssetType.Image:s.AssetType.Illustration;if(A){const n=await this.loadImageAsFileInfo(e);return await this.uploadAssetWithProgress(n,a,t,!0)}else{const n={name:e.name,blob:new Blob([e],{type:e.type})};return await b.uploadAssetWithProgress(n,a,t,!0)}}removePersistedAsset(e){Pe.remove(e)}getPersistedAssets(){return Pe.list()}async dispatchCreateAssetRequest(e,t,A,a){const n=e.blob.type?e.blob.type:this.guessMIME(e.name),i=await mA(e.name,t,n,A,a);if(i)return{assetResponse:i,mimeType:n}}guessMIME(e){const t=e.split(".").pop();switch(t){case"glb":return"model/gltf-binary";case"ttf":return"font/ttf";case"mkv":return"video/x-matroska";default:throw new v("Unexpected mimetype: "+t)}}}const ie="persistentAssets";class Pe{static add(e){if(!e.fileLink){console.error("Failed to find cdn link on asset, cannot persist!");return}const t=new Map;t.set(e.key||"",e.fileLink);const A=P.getMap(ie);A&&A.forEach((a,n)=>{t.set(n,a)}),P.setMap(ie,t)}static remove(e){const t=P.getMap(ie);if(!t)return;const A=Array.from(t.entries()).find(a=>a[0]===e);A&&(t.delete(A[0]),P.setMap(ie,t))}static list(){const e=P.getMap(ie);return e?Array.from(e.entries()).map(t=>({assetKey:t[0],src:t[1]})):[]}}const b=new uA;class IA{constructor(){this.cache={}}get(e){const t=JSON.stringify(e);return this.cache[t]}set(e,t){const A=JSON.stringify(e);return this.cache[A]=t,t}}const oe=new IA,rt=y.gql`
219
93
  fragment OptionFields on Option {
220
94
  id
221
95
  name
@@ -255,16 +129,16 @@ this in the docs: http://dev.apollodata.com/core/fragments.html#unique-names`):s
255
129
  ...AssetFields
256
130
  }
257
131
  }
258
- `,JN=ct`
259
- ${iu(!1)}
260
- ${Gf}
261
- ${iv}
132
+ `,DA=y.gql`
133
+ ${Ce(!1)}
134
+ ${Ne}
135
+ ${rt}
262
136
  query GetOptions($ids: [String]!) {
263
137
  options(ids: $ids) {
264
138
  ...OptionFields
265
139
  }
266
140
  }
267
- `,jN=async e=>{const t=await bt.getShadowGraphqlClient().query({query:JN,errorPolicy:"all",fetchPolicy:"no-cache",variables:{ids:e}});return t.data.options.forEach(n=>{var r,i;(r=n.defaultVariant)!=null&&r.asset&&Re.cacheAsset(n.defaultVariant.asset),n.colorProfile&&Re.cacheAsset(n.colorProfile),(i=n.variants)==null||i.forEach(a=>{a.asset&&Re.cacheAsset(a.asset),a.displayImage&&Re.cacheAsset(a.displayImage),a.thumbnail&&Re.cacheAsset(a.thumbnail),a.material&&Re.cacheMaterial(a.material)})}),t.data.options},WN=async(e,t)=>(await t).find(r=>r.id===e),KN=async e=>{const t=e.map(s=>Eo.get({id:s})),n=e.filter((s,o)=>t[o]===void 0);if(n.length===0)return Promise.all(t);const r=jN(n),i=n.map(s=>Eo.set({id:s},WN(s,r))),a=t.filter(s=>s!==void 0);return await Promise.all(a.concat(i))};class XN{constructor(){this.getDisplayImageSource=t=>{var n;if(t){const r=(n=t.displayImage)==null?void 0:n.fileLink;if(r)return r}},this.getSelectedVariant=(t,n)=>{var r;if(!(!t||n.length===0))return(r=t.variants)==null?void 0:r.find(i=>i.id===n[0])}}async getOption(t){return(async()=>{const i=(await KN([t]))[0];if(i)return i})()}async getAssetTileImageForVariant(t){var i,a;const n=t.thumbnail;if(n){const s=(i=n.versions)==null?void 0:i.find(c=>c.name==="thumbnail"),o=n.fileLink;return(s==null?void 0:s.link)||o}const r=t.asset;if(r){const s=(a=r.versions)==null?void 0:a.find(c=>c.name==="thumbnail"),o=r.fileLink;return(s==null?void 0:s.link)||o}return t.material?t.material.id:""}getDefaultVariant(t){const n=t.variants;if(n){if(n.length===1)return n[0];if(t.defaultVariant!==void 0)return n.find(r=>{var i;return r.id===((i=t.defaultVariant)==null?void 0:i.id)})}}}const En=new XN;var av=(e=>(e[e.Orbit=0]="Orbit",e[e.Pan=1]="Pan",e))(av||{}),sv=(e=>(e.PerVariation="PerVariation",e.BaseProduct="BaseProduct",e))(sv||{}),ov=(e=>(e.Manual="Manual",e.OnStart="OnStart",e.OnQuit="OnQuit",e.OnEnd="OnEnd",e))(ov||{}),cv=(e=>(e.Email="Email",e.FirstName="FirstName",e.LastName="LastName",e.Phone="Phone",e))(cv||{}),Bo=(e=>(e.Owner="Owner",e.Approver="Approver",e.Editor="Editor",e.Viewer="Viewer",e))(Bo||{});const lv=ct`
141
+ `,fA=async l=>{const e=await R.getShadowGraphqlClient().query({query:DA,errorPolicy:"all",fetchPolicy:"no-cache",variables:{ids:l}});return e.data.options.forEach(t=>{var A,a;(A=t.defaultVariant)!=null&&A.asset&&b.cacheAsset(t.defaultVariant.asset),t.colorProfile&&b.cacheAsset(t.colorProfile),(a=t.variants)==null||a.forEach(n=>{n.asset&&b.cacheAsset(n.asset),n.displayImage&&b.cacheAsset(n.displayImage),n.thumbnail&&b.cacheAsset(n.thumbnail),n.material&&b.cacheMaterial(n.material)})}),e.data.options},pA=async(l,e)=>(await e).find(A=>A.id===l),FA=async l=>{const e=l.map(i=>oe.get({id:i})),t=l.filter((i,o)=>e[o]===void 0);if(t.length===0)return Promise.all(e);const A=fA(t),a=t.map(i=>oe.set({id:i},pA(i,A))),n=e.filter(i=>i!==void 0);return await Promise.all(n.concat(a))};class MA{constructor(){this.getDisplayImageSource=e=>{var t;if(e){const A=(t=e.displayImage)==null?void 0:t.fileLink;if(A)return A}},this.getSelectedVariant=(e,t)=>{var A;if(!(!e||t.length===0))return(A=e.variants)==null?void 0:A.find(a=>a.id===t[0])}}async getOption(e){return(async()=>{const a=(await FA([e]))[0];if(a)return a})()}async getAssetTileImageForVariant(e){var a,n;const t=e.thumbnail;if(t){const i=(a=t.versions)==null?void 0:a.find(r=>r.name==="thumbnail"),o=t.fileLink;return(i==null?void 0:i.link)||o}const A=e.asset;if(A){const i=(n=A.versions)==null?void 0:n.find(r=>r.name==="thumbnail"),o=A.fileLink;return(i==null?void 0:i.link)||o}return e.material?e.material.id:""}getDefaultVariant(e){const t=e.variants;if(t){if(t.length===1)return t[0];if(e.defaultVariant!==void 0)return t.find(A=>{var a;return A.id===((a=e.defaultVariant)==null?void 0:a.id)})}}}const J=new MA;var ct=(l=>(l[l.Orbit=0]="Orbit",l[l.Pan=1]="Pan",l))(ct||{}),gt=(l=>(l.PerVariation="PerVariation",l.BaseProduct="BaseProduct",l))(gt||{}),lt=(l=>(l.Manual="Manual",l.OnStart="OnStart",l.OnQuit="OnQuit",l.OnEnd="OnEnd",l))(lt||{}),Bt=(l=>(l.Email="Email",l.FirstName="FirstName",l.LastName="LastName",l.Phone="Phone",l))(Bt||{}),se=(l=>(l.Owner="Owner",l.Approver="Approver",l.Editor="Editor",l.Viewer="Viewer",l))(se||{});const dt=y.gql`
268
142
  mutation CreateTransaction(
269
143
  $integrationProductId: String
270
144
  $externalIntegrationId: String
@@ -358,7 +232,7 @@ this in the docs: http://dev.apollodata.com/core/fragments.html#unique-names`):s
358
232
  }
359
233
  }
360
234
  }
361
- `,_N=ct`
235
+ `,SA=y.gql`
362
236
  mutation CreateTransactions($inputs: [TransactionCreateInput]!) {
363
237
  transactionCreateMany(inputs: $inputs) {
364
238
  id
@@ -438,7 +312,7 @@ this in the docs: http://dev.apollodata.com/core/fragments.html#unique-names`):s
438
312
  }
439
313
  }
440
314
  }
441
- `,qN=ct`
315
+ `,yA=y.gql`
442
316
  mutation ClaimTransaction($id: String!) {
443
317
  transactionClaim(id: $id) {
444
318
  id
@@ -518,7 +392,7 @@ this in the docs: http://dev.apollodata.com/core/fragments.html#unique-names`):s
518
392
  }
519
393
  }
520
394
  }
521
- `,au=ct`
395
+ `,Qe=y.gql`
522
396
  query ReadTransactions($ids: [String]!) {
523
397
  transactions(ids: $ids) {
524
398
  bulk
@@ -605,25 +479,25 @@ this in the docs: http://dev.apollodata.com/core/fragments.html#unique-names`):s
605
479
  }
606
480
  }
607
481
  }
608
- `,ZN=ct`
482
+ `,YA=y.gql`
609
483
  mutation UpdateTransactionWorkflowState($id: String!, $workflowState: String!) {
610
484
  transactionUpdate(id: $id, workflowState: $workflowState) {
611
485
  id
612
486
  }
613
487
  }
614
- `,$N=ct`
488
+ `,NA=y.gql`
615
489
  mutation UpdateTransactionWorkflowId($id: String!, $workflowId: String!) {
616
490
  transactionUpdate(id: $id, workflowId: $workflowId) {
617
491
  id
618
492
  }
619
493
  }
620
- `,tP=ct`
494
+ `,PA=y.gql`
621
495
  mutation UpdateVariationRecords($transactionId: String!, $updates: [VariationRecordUpdateInput]!) {
622
496
  variationRecordsUpdate(transactionId: $transactionId, updates: $updates) {
623
497
  recordNumber
624
498
  }
625
499
  }
626
- `;ct`
500
+ `;y.gql`
627
501
  query ReadTransactionForDesignCreation($id: String!) {
628
502
  transactions(ids: [$id]) {
629
503
  id
@@ -675,75 +549,14 @@ this in the docs: http://dev.apollodata.com/core/fragments.html#unique-names`):s
675
549
  bulkEmailAddress
676
550
  }
677
551
  }
678
- `;const uv=ct`
552
+ `;const wt=y.gql`
679
553
  query ReadWorkflowStates($ids: [String]!) {
680
554
  transactions(ids: $ids) {
681
555
  id
682
556
  workflowState
683
557
  }
684
558
  }
685
- `;var An=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Wa(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var su={exports:{}},Co={exports:{}};(function(){var e,t,n,r,i,a;typeof performance<"u"&&performance!==null&&performance.now?Co.exports=function(){return performance.now()}:typeof process<"u"&&process!==null&&process.hrtime?(Co.exports=function(){return(e()-i)/1e6},t=process.hrtime,e=function(){var s;return s=t(),s[0]*1e9+s[1]},r=e(),a=process.uptime()*1e9,i=r-a):Date.now?(Co.exports=function(){return Date.now()-n},n=Date.now()):(Co.exports=function(){return new Date().getTime()-n},n=new Date().getTime())}).call(An);for(var eP=Co.exports,nP=eP,br=typeof window>"u"?An:window,ou=["moz","webkit"],Ka="AnimationFrame",Xa=br["request"+Ka],xo=br["cancel"+Ka]||br["cancelRequest"+Ka],bo=0;!Xa&&bo<ou.length;bo++)Xa=br[ou[bo]+"Request"+Ka],xo=br[ou[bo]+"Cancel"+Ka]||br[ou[bo]+"CancelRequest"+Ka];if(!Xa||!xo){var zf=0,Av=0,Vi=[],rP=1e3/60;Xa=function(e){if(Vi.length===0){var t=nP(),n=Math.max(0,rP-(t-zf));zf=n+t,setTimeout(function(){var r=Vi.slice(0);Vi.length=0;for(var i=0;i<r.length;i++)if(!r[i].cancelled)try{r[i].callback(zf)}catch(a){setTimeout(function(){throw a},0)}},Math.round(n))}return Vi.push({handle:++Av,callback:e,cancelled:!1}),Av},xo=function(e){for(var t=0;t<Vi.length;t++)Vi[t].handle===e&&(Vi[t].cancelled=!0)}}su.exports=function(e){return Xa.call(br,e)},su.exports.cancel=function(){xo.apply(br,arguments)},su.exports.polyfill=function(e){e||(e=br),e.requestAnimationFrame=Xa,e.cancelAnimationFrame=xo};var iP=su.exports;const Jf=Wa(iP);var aP=function(e){this.ok=!1,this.alpha=1,e.charAt(0)=="#"&&(e=e.substr(1,6)),e=e.replace(/ /g,""),e=e.toLowerCase();var t={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dodgerblue:"1e90ff",feldspar:"d19275",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgrey:"d3d3d3",lightgreen:"90ee90",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslateblue:"8470ff",lightslategray:"778899",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"00ff00",limegreen:"32cd32",linen:"faf0e6",magenta:"ff00ff",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370d8",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"d87093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"ff0000",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",violetred:"d02090",wheat:"f5deb3",white:"ffffff",whitesmoke:"f5f5f5",yellow:"ffff00",yellowgreen:"9acd32"};e=t[e]||e;for(var n=[{re:/^rgba\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3}),\s*((?:\d?\.)?\d)\)$/,example:["rgba(123, 234, 45, 0.8)","rgba(255,234,245,1.0)"],process:function(c){return[parseInt(c[1]),parseInt(c[2]),parseInt(c[3]),parseFloat(c[4])]}},{re:/^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/,example:["rgb(123, 234, 45)","rgb(255,234,245)"],process:function(c){return[parseInt(c[1]),parseInt(c[2]),parseInt(c[3])]}},{re:/^([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,example:["#00ff00","336699"],process:function(c){return[parseInt(c[1],16),parseInt(c[2],16),parseInt(c[3],16)]}},{re:/^([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,example:["#fb0","f0f"],process:function(c){return[parseInt(c[1]+c[1],16),parseInt(c[2]+c[2],16),parseInt(c[3]+c[3],16)]}}],r=0;r<n.length;r++){var i=n[r].re,a=n[r].process,s=i.exec(e);if(s){var o=a(s);this.r=o[0],this.g=o[1],this.b=o[2],o.length>3&&(this.alpha=o[3]),this.ok=!0}}this.r=this.r<0||isNaN(this.r)?0:this.r>255?255:this.r,this.g=this.g<0||isNaN(this.g)?0:this.g>255?255:this.g,this.b=this.b<0||isNaN(this.b)?0:this.b>255?255:this.b,this.alpha=this.alpha<0?0:this.alpha>1||isNaN(this.alpha)?1:this.alpha,this.toRGB=function(){return"rgb("+this.r+", "+this.g+", "+this.b+")"},this.toRGBA=function(){return"rgba("+this.r+", "+this.g+", "+this.b+", "+this.alpha+")"},this.toHex=function(){var c=this.r.toString(16),l=this.g.toString(16),u=this.b.toString(16);return c.length==1&&(c="0"+c),l.length==1&&(l="0"+l),u.length==1&&(u="0"+u),"#"+c+l+u},this.getHelpXML=function(){for(var c=new Array,l=0;l<n.length;l++)for(var u=n[l].example,A=0;A<u.length;A++)c[c.length]=u[A];for(var h in t)c[c.length]=h;var f=document.createElement("ul");f.setAttribute("id","rgbcolor-examples");for(var l=0;l<c.length;l++)try{var d=document.createElement("li"),p=new RGBColor(c[l]),m=document.createElement("div");m.style.cssText="margin: 3px; border: 1px solid black; background:"+p.toHex()+"; color:"+p.toHex(),m.appendChild(document.createTextNode("test"));var y=document.createTextNode(" "+c[l]+" -> "+p.toRGB()+" -> "+p.toHex());d.appendChild(m),d.appendChild(y),f.appendChild(d)}catch{}return f}};const jf=Wa(aP);/*! *****************************************************************************
686
- Copyright (c) Microsoft Corporation.
687
-
688
- Permission to use, copy, modify, and/or distribute this software for any
689
- purpose with or without fee is hereby granted.
690
-
691
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
692
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
693
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
694
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
695
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
696
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
697
- PERFORMANCE OF THIS SOFTWARE.
698
- ***************************************************************************** */var hv=function(e,t){return(hv=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[i]=r[i])})(e,t)};function fv(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}hv(e,t),e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}function sP(e){var t="";Array.isArray(e)||(e=[e]);for(var n=0;n<e.length;n++){var r=e[n];if(r.type===G.CLOSE_PATH)t+="z";else if(r.type===G.HORIZ_LINE_TO)t+=(r.relative?"h":"H")+r.x;else if(r.type===G.VERT_LINE_TO)t+=(r.relative?"v":"V")+r.y;else if(r.type===G.MOVE_TO)t+=(r.relative?"m":"M")+r.x+" "+r.y;else if(r.type===G.LINE_TO)t+=(r.relative?"l":"L")+r.x+" "+r.y;else if(r.type===G.CURVE_TO)t+=(r.relative?"c":"C")+r.x1+" "+r.y1+" "+r.x2+" "+r.y2+" "+r.x+" "+r.y;else if(r.type===G.SMOOTH_CURVE_TO)t+=(r.relative?"s":"S")+r.x2+" "+r.y2+" "+r.x+" "+r.y;else if(r.type===G.QUAD_TO)t+=(r.relative?"q":"Q")+r.x1+" "+r.y1+" "+r.x+" "+r.y;else if(r.type===G.SMOOTH_QUAD_TO)t+=(r.relative?"t":"T")+r.x+" "+r.y;else{if(r.type!==G.ARC)throw new Error('Unexpected command type "'+r.type+'" at index '+n+".");t+=(r.relative?"a":"A")+r.rX+" "+r.rY+" "+r.xRot+" "+ +r.lArcFlag+" "+ +r.sweepFlag+" "+r.x+" "+r.y}}return t}function Wf(e,t){var n=e[0],r=e[1];return[n*Math.cos(t)-r*Math.sin(t),n*Math.sin(t)+r*Math.cos(t)]}function zn(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var n=0;n<e.length;n++)if(typeof e[n]!="number")throw new Error("assertNumbers arguments["+n+"] is not a number. "+typeof e[n]+" == typeof "+e[n]);return!0}var ui=Math.PI;function Kf(e,t,n){e.lArcFlag=e.lArcFlag===0?0:1,e.sweepFlag=e.sweepFlag===0?0:1;var r=e.rX,i=e.rY,a=e.x,s=e.y;r=Math.abs(e.rX),i=Math.abs(e.rY);var o=Wf([(t-a)/2,(n-s)/2],-e.xRot/180*ui),c=o[0],l=o[1],u=Math.pow(c,2)/Math.pow(r,2)+Math.pow(l,2)/Math.pow(i,2);1<u&&(r*=Math.sqrt(u),i*=Math.sqrt(u)),e.rX=r,e.rY=i;var A=Math.pow(r,2)*Math.pow(l,2)+Math.pow(i,2)*Math.pow(c,2),h=(e.lArcFlag!==e.sweepFlag?1:-1)*Math.sqrt(Math.max(0,(Math.pow(r,2)*Math.pow(i,2)-A)/A)),f=r*l/i*h,d=-i*c/r*h,p=Wf([f,d],e.xRot/180*ui);e.cX=p[0]+(t+a)/2,e.cY=p[1]+(n+s)/2,e.phi1=Math.atan2((l-d)/i,(c-f)/r),e.phi2=Math.atan2((-l-d)/i,(-c-f)/r),e.sweepFlag===0&&e.phi2>e.phi1&&(e.phi2-=2*ui),e.sweepFlag===1&&e.phi2<e.phi1&&(e.phi2+=2*ui),e.phi1*=180/ui,e.phi2*=180/ui}function gv(e,t,n){zn(e,t,n);var r=e*e+t*t-n*n;if(0>r)return[];if(r===0)return[[e*n/(e*e+t*t),t*n/(e*e+t*t)]];var i=Math.sqrt(r);return[[(e*n+t*i)/(e*e+t*t),(t*n-e*i)/(e*e+t*t)],[(e*n-t*i)/(e*e+t*t),(t*n+e*i)/(e*e+t*t)]]}var xe,Sr=Math.PI/180;function dv(e,t,n){return(1-n)*e+n*t}function pv(e,t,n,r){return e+Math.cos(r/180*ui)*t+Math.sin(r/180*ui)*n}function mv(e,t,n,r){var i=1e-6,a=t-e,s=n-t,o=3*a+3*(r-n)-6*s,c=6*(s-a),l=3*a;return Math.abs(o)<i?[-l/c]:function(u,A,h){h===void 0&&(h=1e-6);var f=u*u/4-A;if(f<-h)return[];if(f<=h)return[-u/2];var d=Math.sqrt(f);return[-u/2-d,-u/2+d]}(c/o,l/o,i)}function yv(e,t,n,r,i){var a=1-i;return e*(a*a*a)+t*(3*a*a*i)+n*(3*a*i*i)+r*(i*i*i)}(function(e){function t(){return i(function(o,c,l){return o.relative&&(o.x1!==void 0&&(o.x1+=c),o.y1!==void 0&&(o.y1+=l),o.x2!==void 0&&(o.x2+=c),o.y2!==void 0&&(o.y2+=l),o.x!==void 0&&(o.x+=c),o.y!==void 0&&(o.y+=l),o.relative=!1),o})}function n(){var o=NaN,c=NaN,l=NaN,u=NaN;return i(function(A,h,f){return A.type&G.SMOOTH_CURVE_TO&&(A.type=G.CURVE_TO,o=isNaN(o)?h:o,c=isNaN(c)?f:c,A.x1=A.relative?h-o:2*h-o,A.y1=A.relative?f-c:2*f-c),A.type&G.CURVE_TO?(o=A.relative?h+A.x2:A.x2,c=A.relative?f+A.y2:A.y2):(o=NaN,c=NaN),A.type&G.SMOOTH_QUAD_TO&&(A.type=G.QUAD_TO,l=isNaN(l)?h:l,u=isNaN(u)?f:u,A.x1=A.relative?h-l:2*h-l,A.y1=A.relative?f-u:2*f-u),A.type&G.QUAD_TO?(l=A.relative?h+A.x1:A.x1,u=A.relative?f+A.y1:A.y1):(l=NaN,u=NaN),A})}function r(){var o=NaN,c=NaN;return i(function(l,u,A){if(l.type&G.SMOOTH_QUAD_TO&&(l.type=G.QUAD_TO,o=isNaN(o)?u:o,c=isNaN(c)?A:c,l.x1=l.relative?u-o:2*u-o,l.y1=l.relative?A-c:2*A-c),l.type&G.QUAD_TO){o=l.relative?u+l.x1:l.x1,c=l.relative?A+l.y1:l.y1;var h=l.x1,f=l.y1;l.type=G.CURVE_TO,l.x1=((l.relative?0:u)+2*h)/3,l.y1=((l.relative?0:A)+2*f)/3,l.x2=(l.x+2*h)/3,l.y2=(l.y+2*f)/3}else o=NaN,c=NaN;return l})}function i(o){var c=0,l=0,u=NaN,A=NaN;return function(h){if(isNaN(u)&&!(h.type&G.MOVE_TO))throw new Error("path must start with moveto");var f=o(h,c,l,u,A);return h.type&G.CLOSE_PATH&&(c=u,l=A),h.x!==void 0&&(c=h.relative?c+h.x:h.x),h.y!==void 0&&(l=h.relative?l+h.y:h.y),h.type&G.MOVE_TO&&(u=c,A=l),f}}function a(o,c,l,u,A,h){return zn(o,c,l,u,A,h),i(function(f,d,p,m){var y=f.x1,v=f.x2,w=f.relative&&!isNaN(m),B=f.x!==void 0?f.x:w?0:d,C=f.y!==void 0?f.y:w?0:p;function x(X){return X*X}f.type&G.HORIZ_LINE_TO&&c!==0&&(f.type=G.LINE_TO,f.y=f.relative?0:p),f.type&G.VERT_LINE_TO&&l!==0&&(f.type=G.LINE_TO,f.x=f.relative?0:d),f.x!==void 0&&(f.x=f.x*o+C*l+(w?0:A)),f.y!==void 0&&(f.y=B*c+f.y*u+(w?0:h)),f.x1!==void 0&&(f.x1=f.x1*o+f.y1*l+(w?0:A)),f.y1!==void 0&&(f.y1=y*c+f.y1*u+(w?0:h)),f.x2!==void 0&&(f.x2=f.x2*o+f.y2*l+(w?0:A)),f.y2!==void 0&&(f.y2=v*c+f.y2*u+(w?0:h));var b=o*u-c*l;if(f.xRot!==void 0&&(o!==1||c!==0||l!==0||u!==1))if(b===0)delete f.rX,delete f.rY,delete f.xRot,delete f.lArcFlag,delete f.sweepFlag,f.type=G.LINE_TO;else{var D=f.xRot*Math.PI/180,T=Math.sin(D),P=Math.cos(D),L=1/x(f.rX),U=1/x(f.rY),z=x(P)*L+x(T)*U,J=2*T*P*(L-U),W=x(T)*L+x(P)*U,Z=z*u*u-J*c*u+W*c*c,ot=J*(o*u+c*l)-2*(z*l*u+W*o*c),lt=z*l*l-J*o*l+W*o*o,O=(Math.atan2(ot,Z-lt)+Math.PI)%Math.PI/2,M=Math.sin(O),V=Math.cos(O);f.rX=Math.abs(b)/Math.sqrt(Z*x(V)+ot*M*V+lt*x(M)),f.rY=Math.abs(b)/Math.sqrt(Z*x(M)-ot*M*V+lt*x(V)),f.xRot=180*O/Math.PI}return f.sweepFlag!==void 0&&0>b&&(f.sweepFlag=+!f.sweepFlag),f})}function s(){return function(o){var c={};for(var l in o)c[l]=o[l];return c}}e.ROUND=function(o){function c(l){return Math.round(l*o)/o}return o===void 0&&(o=1e13),zn(o),function(l){return l.x1!==void 0&&(l.x1=c(l.x1)),l.y1!==void 0&&(l.y1=c(l.y1)),l.x2!==void 0&&(l.x2=c(l.x2)),l.y2!==void 0&&(l.y2=c(l.y2)),l.x!==void 0&&(l.x=c(l.x)),l.y!==void 0&&(l.y=c(l.y)),l.rX!==void 0&&(l.rX=c(l.rX)),l.rY!==void 0&&(l.rY=c(l.rY)),l}},e.TO_ABS=t,e.TO_REL=function(){return i(function(o,c,l){return o.relative||(o.x1!==void 0&&(o.x1-=c),o.y1!==void 0&&(o.y1-=l),o.x2!==void 0&&(o.x2-=c),o.y2!==void 0&&(o.y2-=l),o.x!==void 0&&(o.x-=c),o.y!==void 0&&(o.y-=l),o.relative=!0),o})},e.NORMALIZE_HVZ=function(o,c,l){return o===void 0&&(o=!0),c===void 0&&(c=!0),l===void 0&&(l=!0),i(function(u,A,h,f,d){if(isNaN(f)&&!(u.type&G.MOVE_TO))throw new Error("path must start with moveto");return c&&u.type&G.HORIZ_LINE_TO&&(u.type=G.LINE_TO,u.y=u.relative?0:h),l&&u.type&G.VERT_LINE_TO&&(u.type=G.LINE_TO,u.x=u.relative?0:A),o&&u.type&G.CLOSE_PATH&&(u.type=G.LINE_TO,u.x=u.relative?f-A:f,u.y=u.relative?d-h:d),u.type&G.ARC&&(u.rX===0||u.rY===0)&&(u.type=G.LINE_TO,delete u.rX,delete u.rY,delete u.xRot,delete u.lArcFlag,delete u.sweepFlag),u})},e.NORMALIZE_ST=n,e.QT_TO_C=r,e.INFO=i,e.SANITIZE=function(o){o===void 0&&(o=0),zn(o);var c=NaN,l=NaN,u=NaN,A=NaN;return i(function(h,f,d,p,m){var y=Math.abs,v=!1,w=0,B=0;if(h.type&G.SMOOTH_CURVE_TO&&(w=isNaN(c)?0:f-c,B=isNaN(l)?0:d-l),h.type&(G.CURVE_TO|G.SMOOTH_CURVE_TO)?(c=h.relative?f+h.x2:h.x2,l=h.relative?d+h.y2:h.y2):(c=NaN,l=NaN),h.type&G.SMOOTH_QUAD_TO?(u=isNaN(u)?f:2*f-u,A=isNaN(A)?d:2*d-A):h.type&G.QUAD_TO?(u=h.relative?f+h.x1:h.x1,A=h.relative?d+h.y1:h.y2):(u=NaN,A=NaN),h.type&G.LINE_COMMANDS||h.type&G.ARC&&(h.rX===0||h.rY===0||!h.lArcFlag)||h.type&G.CURVE_TO||h.type&G.SMOOTH_CURVE_TO||h.type&G.QUAD_TO||h.type&G.SMOOTH_QUAD_TO){var C=h.x===void 0?0:h.relative?h.x:h.x-f,x=h.y===void 0?0:h.relative?h.y:h.y-d;w=isNaN(u)?h.x1===void 0?w:h.relative?h.x:h.x1-f:u-f,B=isNaN(A)?h.y1===void 0?B:h.relative?h.y:h.y1-d:A-d;var b=h.x2===void 0?0:h.relative?h.x:h.x2-f,D=h.y2===void 0?0:h.relative?h.y:h.y2-d;y(C)<=o&&y(x)<=o&&y(w)<=o&&y(B)<=o&&y(b)<=o&&y(D)<=o&&(v=!0)}return h.type&G.CLOSE_PATH&&y(f-p)<=o&&y(d-m)<=o&&(v=!0),v?[]:h})},e.MATRIX=a,e.ROTATE=function(o,c,l){c===void 0&&(c=0),l===void 0&&(l=0),zn(o,c,l);var u=Math.sin(o),A=Math.cos(o);return a(A,u,-u,A,c-c*A+l*u,l-c*u-l*A)},e.TRANSLATE=function(o,c){return c===void 0&&(c=0),zn(o,c),a(1,0,0,1,o,c)},e.SCALE=function(o,c){return c===void 0&&(c=o),zn(o,c),a(o,0,0,c,0,0)},e.SKEW_X=function(o){return zn(o),a(1,0,Math.atan(o),1,0,0)},e.SKEW_Y=function(o){return zn(o),a(1,Math.atan(o),0,1,0,0)},e.X_AXIS_SYMMETRY=function(o){return o===void 0&&(o=0),zn(o),a(-1,0,0,1,o,0)},e.Y_AXIS_SYMMETRY=function(o){return o===void 0&&(o=0),zn(o),a(1,0,0,-1,0,o)},e.A_TO_C=function(){return i(function(o,c,l){return G.ARC===o.type?function(u,A,h){var f,d,p,m;u.cX||Kf(u,A,h);for(var y=Math.min(u.phi1,u.phi2),v=Math.max(u.phi1,u.phi2)-y,w=Math.ceil(v/90),B=new Array(w),C=A,x=h,b=0;b<w;b++){var D=dv(u.phi1,u.phi2,b/w),T=dv(u.phi1,u.phi2,(b+1)/w),P=T-D,L=4/3*Math.tan(P*Sr/4),U=[Math.cos(D*Sr)-L*Math.sin(D*Sr),Math.sin(D*Sr)+L*Math.cos(D*Sr)],z=U[0],J=U[1],W=[Math.cos(T*Sr),Math.sin(T*Sr)],Z=W[0],ot=W[1],lt=[Z+L*Math.sin(T*Sr),ot-L*Math.cos(T*Sr)],O=lt[0],M=lt[1];B[b]={relative:u.relative,type:G.CURVE_TO};var V=function(X,st){var Mt=Wf([X*u.rX,st*u.rY],u.xRot),yt=Mt[0],Se=Mt[1];return[u.cX+yt,u.cY+Se]};f=V(z,J),B[b].x1=f[0],B[b].y1=f[1],d=V(O,M),B[b].x2=d[0],B[b].y2=d[1],p=V(Z,ot),B[b].x=p[0],B[b].y=p[1],u.relative&&(B[b].x1-=C,B[b].y1-=x,B[b].x2-=C,B[b].y2-=x,B[b].x-=C,B[b].y-=x),C=(m=[B[b].x,B[b].y])[0],x=m[1]}return B}(o,o.relative?0:c,o.relative?0:l):o})},e.ANNOTATE_ARCS=function(){return i(function(o,c,l){return o.relative&&(c=0,l=0),G.ARC===o.type&&Kf(o,c,l),o})},e.CLONE=s,e.CALCULATE_BOUNDS=function(){var o=function(h){var f={};for(var d in h)f[d]=h[d];return f},c=t(),l=r(),u=n(),A=i(function(h,f,d){var p=u(l(c(o(h))));function m(M){M>A.maxX&&(A.maxX=M),M<A.minX&&(A.minX=M)}function y(M){M>A.maxY&&(A.maxY=M),M<A.minY&&(A.minY=M)}if(p.type&G.DRAWING_COMMANDS&&(m(f),y(d)),p.type&G.HORIZ_LINE_TO&&m(p.x),p.type&G.VERT_LINE_TO&&y(p.y),p.type&G.LINE_TO&&(m(p.x),y(p.y)),p.type&G.CURVE_TO){m(p.x),y(p.y);for(var v=0,w=mv(f,p.x1,p.x2,p.x);v<w.length;v++)0<(O=w[v])&&1>O&&m(yv(f,p.x1,p.x2,p.x,O));for(var B=0,C=mv(d,p.y1,p.y2,p.y);B<C.length;B++)0<(O=C[B])&&1>O&&y(yv(d,p.y1,p.y2,p.y,O))}if(p.type&G.ARC){m(p.x),y(p.y),Kf(p,f,d);for(var x=p.xRot/180*Math.PI,b=Math.cos(x)*p.rX,D=Math.sin(x)*p.rX,T=-Math.sin(x)*p.rY,P=Math.cos(x)*p.rY,L=p.phi1<p.phi2?[p.phi1,p.phi2]:-180>p.phi2?[p.phi2+360,p.phi1+360]:[p.phi2,p.phi1],U=L[0],z=L[1],J=function(M){var V=M[0],X=M[1],st=180*Math.atan2(X,V)/Math.PI;return st<U?st+360:st},W=0,Z=gv(T,-b,0).map(J);W<Z.length;W++)(O=Z[W])>U&&O<z&&m(pv(p.cX,b,T,O));for(var ot=0,lt=gv(P,-D,0).map(J);ot<lt.length;ot++){var O;(O=lt[ot])>U&&O<z&&y(pv(p.cY,D,P,O))}}return h});return A.minX=1/0,A.maxX=-1/0,A.minY=1/0,A.maxY=-1/0,A}})(xe||(xe={}));var Jn,wv=function(){function e(){}return e.prototype.round=function(t){return this.transform(xe.ROUND(t))},e.prototype.toAbs=function(){return this.transform(xe.TO_ABS())},e.prototype.toRel=function(){return this.transform(xe.TO_REL())},e.prototype.normalizeHVZ=function(t,n,r){return this.transform(xe.NORMALIZE_HVZ(t,n,r))},e.prototype.normalizeST=function(){return this.transform(xe.NORMALIZE_ST())},e.prototype.qtToC=function(){return this.transform(xe.QT_TO_C())},e.prototype.aToC=function(){return this.transform(xe.A_TO_C())},e.prototype.sanitize=function(t){return this.transform(xe.SANITIZE(t))},e.prototype.translate=function(t,n){return this.transform(xe.TRANSLATE(t,n))},e.prototype.scale=function(t,n){return this.transform(xe.SCALE(t,n))},e.prototype.rotate=function(t,n,r){return this.transform(xe.ROTATE(t,n,r))},e.prototype.matrix=function(t,n,r,i,a,s){return this.transform(xe.MATRIX(t,n,r,i,a,s))},e.prototype.skewX=function(t){return this.transform(xe.SKEW_X(t))},e.prototype.skewY=function(t){return this.transform(xe.SKEW_Y(t))},e.prototype.xSymmetry=function(t){return this.transform(xe.X_AXIS_SYMMETRY(t))},e.prototype.ySymmetry=function(t){return this.transform(xe.Y_AXIS_SYMMETRY(t))},e.prototype.annotateArcs=function(){return this.transform(xe.ANNOTATE_ARCS())},e}(),oP=function(e){return e===" "||e===" "||e==="\r"||e===`
699
- `},vv=function(e){return"0".charCodeAt(0)<=e.charCodeAt(0)&&e.charCodeAt(0)<="9".charCodeAt(0)},cP=function(e){function t(){var n=e.call(this)||this;return n.curNumber="",n.curCommandType=-1,n.curCommandRelative=!1,n.canParseCommandOrComma=!0,n.curNumberHasExp=!1,n.curNumberHasExpDigits=!1,n.curNumberHasDecimal=!1,n.curArgs=[],n}return fv(t,e),t.prototype.finish=function(n){if(n===void 0&&(n=[]),this.parse(" ",n),this.curArgs.length!==0||!this.canParseCommandOrComma)throw new SyntaxError("Unterminated command at the path end.");return n},t.prototype.parse=function(n,r){var i=this;r===void 0&&(r=[]);for(var a=function(A){r.push(A),i.curArgs.length=0,i.canParseCommandOrComma=!0},s=0;s<n.length;s++){var o=n[s],c=!(this.curCommandType!==G.ARC||this.curArgs.length!==3&&this.curArgs.length!==4||this.curNumber.length!==1||this.curNumber!=="0"&&this.curNumber!=="1"),l=vv(o)&&(this.curNumber==="0"&&o==="0"||c);if(!vv(o)||l)if(o!=="e"&&o!=="E")if(o!=="-"&&o!=="+"||!this.curNumberHasExp||this.curNumberHasExpDigits)if(o!=="."||this.curNumberHasExp||this.curNumberHasDecimal||c){if(this.curNumber&&this.curCommandType!==-1){var u=Number(this.curNumber);if(isNaN(u))throw new SyntaxError("Invalid number ending at "+s);if(this.curCommandType===G.ARC){if(this.curArgs.length===0||this.curArgs.length===1){if(0>u)throw new SyntaxError('Expected positive number, got "'+u+'" at index "'+s+'"')}else if((this.curArgs.length===3||this.curArgs.length===4)&&this.curNumber!=="0"&&this.curNumber!=="1")throw new SyntaxError('Expected a flag, got "'+this.curNumber+'" at index "'+s+'"')}this.curArgs.push(u),this.curArgs.length===lP[this.curCommandType]&&(G.HORIZ_LINE_TO===this.curCommandType?a({type:G.HORIZ_LINE_TO,relative:this.curCommandRelative,x:u}):G.VERT_LINE_TO===this.curCommandType?a({type:G.VERT_LINE_TO,relative:this.curCommandRelative,y:u}):this.curCommandType===G.MOVE_TO||this.curCommandType===G.LINE_TO||this.curCommandType===G.SMOOTH_QUAD_TO?(a({type:this.curCommandType,relative:this.curCommandRelative,x:this.curArgs[0],y:this.curArgs[1]}),G.MOVE_TO===this.curCommandType&&(this.curCommandType=G.LINE_TO)):this.curCommandType===G.CURVE_TO?a({type:G.CURVE_TO,relative:this.curCommandRelative,x1:this.curArgs[0],y1:this.curArgs[1],x2:this.curArgs[2],y2:this.curArgs[3],x:this.curArgs[4],y:this.curArgs[5]}):this.curCommandType===G.SMOOTH_CURVE_TO?a({type:G.SMOOTH_CURVE_TO,relative:this.curCommandRelative,x2:this.curArgs[0],y2:this.curArgs[1],x:this.curArgs[2],y:this.curArgs[3]}):this.curCommandType===G.QUAD_TO?a({type:G.QUAD_TO,relative:this.curCommandRelative,x1:this.curArgs[0],y1:this.curArgs[1],x:this.curArgs[2],y:this.curArgs[3]}):this.curCommandType===G.ARC&&a({type:G.ARC,relative:this.curCommandRelative,rX:this.curArgs[0],rY:this.curArgs[1],xRot:this.curArgs[2],lArcFlag:this.curArgs[3],sweepFlag:this.curArgs[4],x:this.curArgs[5],y:this.curArgs[6]})),this.curNumber="",this.curNumberHasExpDigits=!1,this.curNumberHasExp=!1,this.curNumberHasDecimal=!1,this.canParseCommandOrComma=!0}if(!oP(o))if(o===","&&this.canParseCommandOrComma)this.canParseCommandOrComma=!1;else if(o!=="+"&&o!=="-"&&o!==".")if(l)this.curNumber=o,this.curNumberHasDecimal=!1;else{if(this.curArgs.length!==0)throw new SyntaxError("Unterminated command at index "+s+".");if(!this.canParseCommandOrComma)throw new SyntaxError('Unexpected character "'+o+'" at index '+s+". Command cannot follow comma");if(this.canParseCommandOrComma=!1,o!=="z"&&o!=="Z")if(o==="h"||o==="H")this.curCommandType=G.HORIZ_LINE_TO,this.curCommandRelative=o==="h";else if(o==="v"||o==="V")this.curCommandType=G.VERT_LINE_TO,this.curCommandRelative=o==="v";else if(o==="m"||o==="M")this.curCommandType=G.MOVE_TO,this.curCommandRelative=o==="m";else if(o==="l"||o==="L")this.curCommandType=G.LINE_TO,this.curCommandRelative=o==="l";else if(o==="c"||o==="C")this.curCommandType=G.CURVE_TO,this.curCommandRelative=o==="c";else if(o==="s"||o==="S")this.curCommandType=G.SMOOTH_CURVE_TO,this.curCommandRelative=o==="s";else if(o==="q"||o==="Q")this.curCommandType=G.QUAD_TO,this.curCommandRelative=o==="q";else if(o==="t"||o==="T")this.curCommandType=G.SMOOTH_QUAD_TO,this.curCommandRelative=o==="t";else{if(o!=="a"&&o!=="A")throw new SyntaxError('Unexpected character "'+o+'" at index '+s+".");this.curCommandType=G.ARC,this.curCommandRelative=o==="a"}else r.push({type:G.CLOSE_PATH}),this.canParseCommandOrComma=!0,this.curCommandType=-1}else this.curNumber=o,this.curNumberHasDecimal=o==="."}else this.curNumber+=o,this.curNumberHasDecimal=!0;else this.curNumber+=o;else this.curNumber+=o,this.curNumberHasExp=!0;else this.curNumber+=o,this.curNumberHasExpDigits=this.curNumberHasExp}return r},t.prototype.transform=function(n){return Object.create(this,{parse:{value:function(r,i){i===void 0&&(i=[]);for(var a=0,s=Object.getPrototypeOf(this).parse.call(this,r);a<s.length;a++){var o=s[a],c=n(o);Array.isArray(c)?i.push.apply(i,c):i.push(c)}return i}}})},t}(wv),G=function(e){function t(n){var r=e.call(this)||this;return r.commands=typeof n=="string"?t.parse(n):n,r}return fv(t,e),t.prototype.encode=function(){return t.encode(this.commands)},t.prototype.getBounds=function(){var n=xe.CALCULATE_BOUNDS();return this.transform(n),n},t.prototype.transform=function(n){for(var r=[],i=0,a=this.commands;i<a.length;i++){var s=n(a[i]);Array.isArray(s)?r.push.apply(r,s):r.push(s)}return this.commands=r,this},t.encode=function(n){return sP(n)},t.parse=function(n){var r=new cP,i=[];return r.parse(n,i),r.finish(i),i},t.CLOSE_PATH=1,t.MOVE_TO=2,t.HORIZ_LINE_TO=4,t.VERT_LINE_TO=8,t.LINE_TO=16,t.CURVE_TO=32,t.SMOOTH_CURVE_TO=64,t.QUAD_TO=128,t.SMOOTH_QUAD_TO=256,t.ARC=512,t.LINE_COMMANDS=t.LINE_TO|t.HORIZ_LINE_TO|t.VERT_LINE_TO,t.DRAWING_COMMANDS=t.HORIZ_LINE_TO|t.VERT_LINE_TO|t.LINE_TO|t.CURVE_TO|t.SMOOTH_CURVE_TO|t.QUAD_TO|t.SMOOTH_QUAD_TO|t.ARC,t}(wv),lP=((Jn={})[G.MOVE_TO]=2,Jn[G.LINE_TO]=2,Jn[G.HORIZ_LINE_TO]=1,Jn[G.VERT_LINE_TO]=1,Jn[G.CLOSE_PATH]=0,Jn[G.QUAD_TO]=4,Jn[G.SMOOTH_QUAD_TO]=2,Jn[G.CURVE_TO]=6,Jn[G.SMOOTH_CURVE_TO]=4,Jn[G.ARC]=7,Jn);function cu(e){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?cu=function(t){return typeof t}:cu=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},cu(e)}function uP(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var AP=[512,512,456,512,328,456,335,512,405,328,271,456,388,335,292,512,454,405,364,328,298,271,496,456,420,388,360,335,312,292,273,512,482,454,428,405,383,364,345,328,312,298,284,271,259,496,475,456,437,420,404,388,374,360,347,335,323,312,302,292,282,273,265,512,497,482,468,454,441,428,417,405,394,383,373,364,354,345,337,328,320,312,305,298,291,284,278,271,265,259,507,496,485,475,465,456,446,437,428,420,412,404,396,388,381,374,367,360,354,347,341,335,329,323,318,312,307,302,297,292,287,282,278,273,269,265,261,512,505,497,489,482,475,468,461,454,447,441,435,428,422,417,411,405,399,394,389,383,378,373,368,364,359,354,350,345,341,337,332,328,324,320,316,312,309,305,301,298,294,291,287,284,281,278,274,271,268,265,262,259,257,507,501,496,491,485,480,475,470,465,460,456,451,446,442,437,433,428,424,420,416,412,408,404,400,396,392,388,385,381,377,374,370,367,363,360,357,354,350,347,344,341,338,335,332,329,326,323,320,318,315,312,310,307,304,302,299,297,294,292,289,287,285,282,280,278,275,273,271,269,267,265,263,261,259],hP=[9,11,12,13,13,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24];function fP(e,t,n,r,i){if(typeof e=="string"&&(e=document.getElementById(e)),!e||cu(e)!=="object"||!("getContext"in e))throw new TypeError("Expecting canvas with `getContext` method in processCanvasRGB(A) calls!");var a=e.getContext("2d");try{return a.getImageData(t,n,r,i)}catch(s){throw new Error("unable to access image data: "+s)}}function gP(e,t,n,r,i,a){if(!(isNaN(a)||a<1)){a|=0;var s=fP(e,t,n,r,i);s=dP(s,t,n,r,i,a),e.getContext("2d").putImageData(s,t,n)}}function dP(e,t,n,r,i,a){for(var s=e.data,o=2*a+1,c=r-1,l=i-1,u=a+1,A=u*(u+1)/2,h=new Ev,f=h,d,p=1;p<o;p++)f=f.next=new Ev,p===u&&(d=f);f.next=h;for(var m=null,y=null,v=0,w=0,B=AP[a],C=hP[a],x=0;x<i;x++){f=h;for(var b=s[w],D=s[w+1],T=s[w+2],P=s[w+3],L=0;L<u;L++)f.r=b,f.g=D,f.b=T,f.a=P,f=f.next;for(var U=0,z=0,J=0,W=0,Z=u*b,ot=u*D,lt=u*T,O=u*P,M=A*b,V=A*D,X=A*T,st=A*P,Mt=1;Mt<u;Mt++){var yt=w+((c<Mt?c:Mt)<<2),Se=s[yt],hn=s[yt+1],Xt=s[yt+2],Dn=s[yt+3],Ze=u-Mt;M+=(f.r=Se)*Ze,V+=(f.g=hn)*Ze,X+=(f.b=Xt)*Ze,st+=(f.a=Dn)*Ze,U+=Se,z+=hn,J+=Xt,W+=Dn,f=f.next}m=h,y=d;for(var $e=0;$e<r;$e++){var on=st*B>>C;if(s[w+3]=on,on!==0){var fn=255/on;s[w]=(M*B>>C)*fn,s[w+1]=(V*B>>C)*fn,s[w+2]=(X*B>>C)*fn}else s[w]=s[w+1]=s[w+2]=0;M-=Z,V-=ot,X-=lt,st-=O,Z-=m.r,ot-=m.g,lt-=m.b,O-=m.a;var _t=$e+a+1;_t=v+(_t<c?_t:c)<<2,U+=m.r=s[_t],z+=m.g=s[_t+1],J+=m.b=s[_t+2],W+=m.a=s[_t+3],M+=U,V+=z,X+=J,st+=W,m=m.next;var Je=y,cn=Je.r,xn=Je.g,_n=Je.b,qn=Je.a;Z+=cn,ot+=xn,lt+=_n,O+=qn,U-=cn,z-=xn,J-=_n,W-=qn,y=y.next,w+=4}v+=r}for(var Vt=0;Vt<r;Vt++){w=Vt<<2;var zt=s[w],ne=s[w+1],re=s[w+2],gt=s[w+3],Fe=u*zt,bn=u*ne,Oe=u*re,je=u*gt,Ue=A*zt,qt=A*ne,tn=A*re,en=A*gt;f=h;for(var Zn=0;Zn<u;Zn++)f.r=zt,f.g=ne,f.b=re,f.a=gt,f=f.next;for(var gn=r,nn=0,dn=0,Le=0,de=0,Jt=1;Jt<=a;Jt++){w=gn+Vt<<2;var De=u-Jt;Ue+=(f.r=zt=s[w])*De,qt+=(f.g=ne=s[w+1])*De,tn+=(f.b=re=s[w+2])*De,en+=(f.a=gt=s[w+3])*De,de+=zt,nn+=ne,dn+=re,Le+=gt,f=f.next,Jt<l&&(gn+=r)}w=Vt,m=h,y=d;for(var We=0;We<i;We++){var Ct=w<<2;s[Ct+3]=gt=en*B>>C,gt>0?(gt=255/gt,s[Ct]=(Ue*B>>C)*gt,s[Ct+1]=(qt*B>>C)*gt,s[Ct+2]=(tn*B>>C)*gt):s[Ct]=s[Ct+1]=s[Ct+2]=0,Ue-=Fe,qt-=bn,tn-=Oe,en-=je,Fe-=m.r,bn-=m.g,Oe-=m.b,je-=m.a,Ct=Vt+((Ct=We+u)<l?Ct:l)*r<<2,Ue+=de+=m.r=s[Ct],qt+=nn+=m.g=s[Ct+1],tn+=dn+=m.b=s[Ct+2],en+=Le+=m.a=s[Ct+3],m=m.next,Fe+=zt=y.r,bn+=ne=y.g,Oe+=re=y.b,je+=gt=y.a,de-=zt,nn-=ne,dn-=re,Le-=gt,y=y.next,w+=r}}return e}var Ev=function e(){uP(this,e),this.r=0,this.g=0,this.b=0,this.a=0,this.next=null};function _a(e){return e.replace(/(?!\u3000)\s+/gm," ")}function pP(e){return e.replace(/^[\n \t]+/,"")}function mP(e){return e.replace(/[\n \t]+$/,"")}function Bn(e){const t=e.match(/-?(\d+(?:\.\d*(?:[eE][+-]?\d+)?)?|\.\d+)(?=\D|$)/gm);return t?t.map(parseFloat):[]}function yP(e){const t=Bn(e);return[t[0]||0,t[1]||0,t[2]||0,t[3]||0,t[4]||0,t[5]||0]}const wP=/^[A-Z-]+$/;function vP(e){return wP.test(e)?e.toLowerCase():e}function Bv(e){const t=/url\(('([^']+)'|"([^"]+)"|([^'")]+))\)/.exec(e);return t&&(t[2]||t[3]||t[4])||""}function EP(e){if(!e.startsWith("rgb"))return e;let t=3;return e.replace(/\d+(\.\d+)?/g,(r,i)=>t--&&i?String(Math.round(parseFloat(r))):r)}const BP=/(\[[^\]]+\])/g,CP=/(#[^\s+>~.[:]+)/g,xP=/(\.[^\s+>~.[:]+)/g,bP=/(::[^\s+>~.[:]+|:first-line|:first-letter|:before|:after)/gi,SP=/(:[\w-]+\([^)]*\))/gi,DP=/(:[^\s+>~.[:]+)/g,IP=/([^\s+>~.[:]+)/g;function zi(e,t){const n=t.exec(e);return n?[e.replace(t," "),n.length]:[e,0]}function FP(e){const t=[0,0,0];let n=e.replace(/:not\(([^)]*)\)/g," $1 ").replace(/{[\s\S]*/gm," "),r=0;return[n,r]=zi(n,BP),t[1]+=r,[n,r]=zi(n,CP),t[0]+=r,[n,r]=zi(n,xP),t[1]+=r,[n,r]=zi(n,bP),t[2]+=r,[n,r]=zi(n,SP),t[1]+=r,[n,r]=zi(n,DP),t[1]+=r,n=n.replace(/[*\s+>~]/g," ").replace(/[#.]/g," "),[n,r]=zi(n,IP),t[2]+=r,t.join("")}const qa=1e-8;function Cv(e){return Math.sqrt(Math.pow(e[0],2)+Math.pow(e[1],2))}function Xf(e,t){return(e[0]*t[0]+e[1]*t[1])/(Cv(e)*Cv(t))}function xv(e,t){return(e[0]*t[1]<e[1]*t[0]?-1:1)*Math.acos(Xf(e,t))}function bv(e){return e*e*e}function Sv(e){return 3*e*e*(1-e)}function Dv(e){return 3*e*(1-e)*(1-e)}function Iv(e){return(1-e)*(1-e)*(1-e)}function Fv(e){return e*e}function Qv(e){return 2*e*(1-e)}function Mv(e){return(1-e)*(1-e)}const Wi=class Wi{constructor(t,n,r){F(this,"document");F(this,"name");F(this,"value");F(this,"isNormalizedColor",!1);this.document=t,this.name=n,this.value=r}static empty(t){return new Wi(t,"EMPTY","")}split(t=" "){const{document:n,name:r}=this;return _a(this.getString()).trim().split(t).map(i=>new Wi(n,r,i))}hasValue(t){const n=this.value;return n!==null&&n!==""&&(t||n!==0)&&typeof n<"u"}isString(t){const{value:n}=this,r=typeof n=="string";return!r||!t?r:t.test(n)}isUrlDefinition(){return this.isString(/^url\(/)}isPixels(){if(!this.hasValue())return!1;const t=this.getString();switch(!0){case t.endsWith("px"):case/^[0-9]+$/.test(t):return!0;default:return!1}}setValue(t){return this.value=t,this}getValue(t){return typeof t>"u"||this.hasValue()?this.value:t}getNumber(t){if(!this.hasValue())return typeof t>"u"?0:parseFloat(t);const{value:n}=this;let r=parseFloat(n);return this.isString(/%$/)&&(r/=100),r}getString(t){return typeof t>"u"||this.hasValue()?typeof this.value>"u"?"":String(this.value):String(t)}getColor(t){let n=this.getString(t);return this.isNormalizedColor||(this.isNormalizedColor=!0,n=EP(n),this.value=n),n}getDpi(){return 96}getRem(){return this.document.rootEmSize}getEm(){return this.document.emSize}getUnits(){return this.getString().replace(/[0-9.-]/g,"")}getPixels(t,n=!1){if(!this.hasValue())return 0;const[r,i]=typeof t=="boolean"?[void 0,t]:[t],{viewPort:a}=this.document.screen;switch(!0){case this.isString(/vmin$/):return this.getNumber()/100*Math.min(a.computeSize("x"),a.computeSize("y"));case this.isString(/vmax$/):return this.getNumber()/100*Math.max(a.computeSize("x"),a.computeSize("y"));case this.isString(/vw$/):return this.getNumber()/100*a.computeSize("x");case this.isString(/vh$/):return this.getNumber()/100*a.computeSize("y");case this.isString(/rem$/):return this.getNumber()*this.getRem();case this.isString(/em$/):return this.getNumber()*this.getEm();case this.isString(/ex$/):return this.getNumber()*this.getEm()/2;case this.isString(/px$/):return this.getNumber();case this.isString(/pt$/):return this.getNumber()*this.getDpi()*(1/72);case this.isString(/pc$/):return this.getNumber()*15;case this.isString(/cm$/):return this.getNumber()*this.getDpi()/2.54;case this.isString(/mm$/):return this.getNumber()*this.getDpi()/25.4;case this.isString(/in$/):return this.getNumber()*this.getDpi();case(this.isString(/%$/)&&i):return this.getNumber()*this.getEm();case this.isString(/%$/):return this.getNumber()*a.computeSize(r);default:{const s=this.getNumber();return n&&s<1?s*a.computeSize(r):s}}}getMilliseconds(){return this.hasValue()?this.isString(/ms$/)?this.getNumber():this.getNumber()*1e3:0}getRadians(){if(!this.hasValue())return 0;switch(!0){case this.isString(/deg$/):return this.getNumber()*(Math.PI/180);case this.isString(/grad$/):return this.getNumber()*(Math.PI/200);case this.isString(/rad$/):return this.getNumber();default:return this.getNumber()*(Math.PI/180)}}getDefinition(){const t=this.getString(),n=/#([^)'"]+)/.exec(t),r=(n==null?void 0:n[1])||t;return this.document.definitions[r]}getFillStyleDefinition(t,n){let r=this.getDefinition();if(!r)return null;if(typeof r.createGradient=="function"&&"getBoundingBox"in t)return r.createGradient(this.document.ctx,t,n);if(typeof r.createPattern=="function"){if(r.getHrefAttribute().hasValue()){const i=r.getAttribute("patternTransform");r=r.getHrefAttribute().getDefinition(),r&&i.hasValue()&&r.getAttribute("patternTransform",!0).setValue(i.value)}if(r)return r.createPattern(this.document.ctx,t,n)}return null}getTextBaseline(){if(!this.hasValue())return null;const t=this.getString();return Wi.textBaselineMapping[t]||null}addOpacity(t){let n=this.getColor();const r=n.length;let i=0;for(let a=0;a<r&&(n[a]===","&&i++,i!==3);a++);if(t.hasValue()&&this.isString()&&i!==3){const a=new jf(n);a.ok&&(a.alpha=t.getNumber(),n=a.toRGBA())}return new Wi(this.document,this.name,n)}};F(Wi,"textBaselineMapping",{baseline:"alphabetic","before-edge":"top","text-before-edge":"top",middle:"middle",central:"middle","after-edge":"bottom","text-after-edge":"bottom",ideographic:"ideographic",alphabetic:"alphabetic",hanging:"hanging",mathematical:"alphabetic"});let At=Wi;class So{constructor(){F(this,"viewPorts",[])}clear(){this.viewPorts=[]}setCurrent(t,n){this.viewPorts.push({width:t,height:n})}removeCurrent(){this.viewPorts.pop()}getRoot(){const[t]=this.viewPorts;return t||Tv()}getCurrent(){const{viewPorts:t}=this,n=t[t.length-1];return n||Tv()}get width(){return this.getCurrent().width}get height(){return this.getCurrent().height}computeSize(t){return typeof t=="number"?t:t==="x"?this.width:t==="y"?this.height:Math.sqrt(Math.pow(this.width,2)+Math.pow(this.height,2))/Math.sqrt(2)}}F(So,"DEFAULT_VIEWPORT_WIDTH",800),F(So,"DEFAULT_VIEWPORT_HEIGHT",600);function Tv(){return{width:So.DEFAULT_VIEWPORT_WIDTH,height:So.DEFAULT_VIEWPORT_HEIGHT}}class Kt{constructor(t,n){F(this,"x");F(this,"y");this.x=t,this.y=n}static parse(t,n=0){const[r=n,i=n]=Bn(t);return new Kt(r,i)}static parseScale(t,n=1){const[r=n,i=r]=Bn(t);return new Kt(r,i)}static parsePath(t){const n=Bn(t),r=n.length,i=[];for(let a=0;a<r;a+=2)i.push(new Kt(n[a],n[a+1]));return i}angleTo(t){return Math.atan2(t.y-this.y,t.x-this.x)}applyTransform(t){const{x:n,y:r}=this,i=n*t[0]+r*t[2]+t[4],a=n*t[1]+r*t[3]+t[5];this.x=i,this.y=a}}class QP{constructor(t){F(this,"screen");F(this,"working",!1);F(this,"events",[]);F(this,"eventElements",[]);this.screen=t,this.onClick=this.onClick.bind(this),this.onMouseMove=this.onMouseMove.bind(this)}isWorking(){return this.working}start(){if(this.working)return;const{screen:t,onClick:n,onMouseMove:r}=this,i=t.ctx.canvas;i.onclick=n,i.onmousemove=r,this.working=!0}stop(){if(!this.working)return;const t=this.screen.ctx.canvas;this.working=!1,t.onclick=null,t.onmousemove=null}hasEvents(){return this.working&&this.events.length>0}runEvents(){if(!this.working)return;const{screen:t,events:n,eventElements:r}=this,{style:i}=t.ctx.canvas;let a;i&&(i.cursor=""),n.forEach(({run:s},o)=>{for(a=r[o];a;)s(a),a=a.parent}),this.events=[],this.eventElements=[]}checkPath(t,n){if(!this.working||!n)return;const{events:r,eventElements:i}=this;r.forEach(({x:a,y:s},o)=>{!i[o]&&n.isPointInPath&&n.isPointInPath(a,s)&&(i[o]=t)})}checkBoundingBox(t,n){if(!this.working||!n)return;const{events:r,eventElements:i}=this;r.forEach(({x:a,y:s},o)=>{!i[o]&&n.isPointInBox(a,s)&&(i[o]=t)})}mapXY(t,n){const{window:r,ctx:i}=this.screen,a=new Kt(t,n);let s=i.canvas;for(;s;)a.x-=s.offsetLeft,a.y-=s.offsetTop,s=s.offsetParent;return r!=null&&r.scrollX&&(a.x+=r.scrollX),r!=null&&r.scrollY&&(a.y+=r.scrollY),a}onClick(t){const{x:n,y:r}=this.mapXY(t.clientX,t.clientY);this.events.push({type:"onclick",x:n,y:r,run(i){i.onClick&&i.onClick()}})}onMouseMove(t){const{x:n,y:r}=this.mapXY(t.clientX,t.clientY);this.events.push({type:"onmousemove",x:n,y:r,run(i){i.onMouseMove&&i.onMouseMove()}})}}const Nv=typeof window<"u"?window:null,Pv=typeof fetch<"u"?fetch.bind(void 0):void 0,Ki=class Ki{constructor(t,{fetch:n=Pv,window:r=Nv}={}){F(this,"ctx");F(this,"window");F(this,"fetch");F(this,"viewPort",new So);F(this,"mouse",new QP(this));F(this,"animations",[]);F(this,"readyPromise");F(this,"resolveReady");F(this,"waits",[]);F(this,"frameDuration",0);F(this,"isReadyLock",!1);F(this,"isFirstRender",!0);F(this,"intervalId",null);if(this.ctx=t,this.window=r,!n)throw new Error("Can't find 'fetch' in 'globalThis', please provide it via options");this.fetch=n}wait(t){this.waits.push(t)}ready(){return this.readyPromise?this.readyPromise:Promise.resolve()}isReady(){if(this.isReadyLock)return!0;const t=this.waits.every(n=>n());return t&&(this.waits=[],this.resolveReady&&this.resolveReady()),this.isReadyLock=t,t}setDefaults(t){t.strokeStyle="rgba(0,0,0,0)",t.lineCap="butt",t.lineJoin="miter",t.miterLimit=4}setViewBox({document:t,ctx:n,aspectRatio:r,width:i,desiredWidth:a,height:s,desiredHeight:o,minX:c=0,minY:l=0,refX:u,refY:A,clip:h=!1,clipX:f=0,clipY:d=0}){const p=_a(r).replace(/^defer\s/,""),[m,y]=p.split(" "),v=m||"xMidYMid",w=y||"meet",B=i/a,C=s/o,x=Math.min(B,C),b=Math.max(B,C);let D=a,T=o;w==="meet"&&(D*=x,T*=x),w==="slice"&&(D*=b,T*=b);const P=new At(t,"refX",u),L=new At(t,"refY",A),U=P.hasValue()&&L.hasValue();if(U&&n.translate(-x*P.getPixels("x"),-x*L.getPixels("y")),h){const z=x*f,J=x*d;n.beginPath(),n.moveTo(z,J),n.lineTo(i,J),n.lineTo(i,s),n.lineTo(z,s),n.closePath(),n.clip()}if(!U){const z=w==="meet"&&x===C,J=w==="slice"&&b===C,W=w==="meet"&&x===B,Z=w==="slice"&&b===B;v.startsWith("xMid")&&(z||J)&&n.translate(i/2-D/2,0),v.endsWith("YMid")&&(W||Z)&&n.translate(0,s/2-T/2),v.startsWith("xMax")&&(z||J)&&n.translate(i-D,0),v.endsWith("YMax")&&(W||Z)&&n.translate(0,s-T)}switch(!0){case v==="none":n.scale(B,C);break;case w==="meet":n.scale(x,x);break;case w==="slice":n.scale(b,b);break}n.translate(-c,-l)}start(t,{enableRedraw:n=!1,ignoreMouse:r=!1,ignoreAnimation:i=!1,ignoreDimensions:a=!1,ignoreClear:s=!1,forceRedraw:o,scaleWidth:c,scaleHeight:l,offsetX:u,offsetY:A}={}){const{mouse:h}=this,f=1e3/Ki.FRAMERATE;if(this.isReadyLock=!1,this.frameDuration=f,this.readyPromise=new Promise(v=>{this.resolveReady=v}),this.isReady()&&this.render(t,a,s,c,l,u,A),!n)return;let d=Date.now(),p=d,m=0;const y=()=>{d=Date.now(),m=d-p,m>=f&&(p=d-m%f,this.shouldUpdate(i,o)&&(this.render(t,a,s,c,l,u,A),h.runEvents())),this.intervalId=Jf(y)};r||h.start(),this.intervalId=Jf(y)}stop(){this.intervalId&&(Jf.cancel(this.intervalId),this.intervalId=null),this.mouse.stop()}shouldUpdate(t,n){if(!t){const{frameDuration:r}=this;if(this.animations.reduce((a,s)=>s.update(r)||a,!1))return!0}return!!(typeof n=="function"&&n()||!this.isReadyLock&&this.isReady()||this.mouse.hasEvents())}render(t,n,r,i,a,s,o){const{viewPort:c,ctx:l,isFirstRender:u}=this,A=l.canvas;c.clear(),A.width&&A.height&&c.setCurrent(A.width,A.height);const h=t.getStyle("width"),f=t.getStyle("height");!n&&(u||typeof i!="number"&&typeof a!="number")&&(h.hasValue()&&(A.width=h.getPixels("x"),A.style&&(A.style.width=`${A.width}px`)),f.hasValue()&&(A.height=f.getPixels("y"),A.style&&(A.style.height=`${A.height}px`)));let d=A.clientWidth||A.width,p=A.clientHeight||A.height;if(n&&h.hasValue()&&f.hasValue()&&(d=h.getPixels("x"),p=f.getPixels("y")),c.setCurrent(d,p),typeof s=="number"&&t.getAttribute("x",!0).setValue(s),typeof o=="number"&&t.getAttribute("y",!0).setValue(o),typeof i=="number"||typeof a=="number"){const m=Bn(t.getAttribute("viewBox").getString());let y=0,v=0;if(typeof i=="number"){const B=t.getStyle("width");B.hasValue()?y=B.getPixels("x")/i:m[2]&&!isNaN(m[2])&&(y=m[2]/i)}if(typeof a=="number"){const B=t.getStyle("height");B.hasValue()?v=B.getPixels("y")/a:m[3]&&!isNaN(m[3])&&(v=m[3]/a)}y||(y=v),v||(v=y),t.getAttribute("width",!0).setValue(i),t.getAttribute("height",!0).setValue(a);const w=t.getStyle("transform",!0,!0);w.setValue(`${w.getString()} scale(${1/y}, ${1/v})`)}r||l.clearRect(0,0,d,p),t.render(l),u&&(this.isFirstRender=!1)}};F(Ki,"defaultWindow",Nv),F(Ki,"defaultFetch",Pv),F(Ki,"FRAMERATE",30),F(Ki,"MAX_VIRTUAL_PIXELS",3e4);let Do=Ki;const{defaultFetch:MP}=Do,TP=typeof DOMParser<"u"?DOMParser:void 0;class _f{constructor({fetch:t=MP,DOMParser:n=TP}={}){F(this,"fetch");F(this,"DOMParser");if(!t)throw new Error("Can't find 'fetch' in 'globalThis', please provide it via options");if(!n)throw new Error("Can't find 'DOMParser' in 'globalThis', please provide it via options");this.fetch=t,this.DOMParser=n}async parse(t){return t.startsWith("<")?this.parseFromString(t):this.load(t)}parseFromString(t){const n=new this.DOMParser;try{return this.checkDocument(n.parseFromString(t,"image/svg+xml"))}catch{return this.checkDocument(n.parseFromString(t,"text/xml"))}}checkDocument(t){const n=t.getElementsByTagName("parsererror")[0];if(n)throw new Error(n.textContent||"Unknown parse error");return t}async load(t){const r=await(await this.fetch(t)).text();return this.parseFromString(r)}}class NP{constructor(t,n){F(this,"type","translate");F(this,"point");this.point=Kt.parse(n)}apply(t){const{x:n,y:r}=this.point;t.translate(n||0,r||0)}unapply(t){const{x:n,y:r}=this.point;t.translate(-1*n||0,-1*r||0)}applyToPoint(t){const{x:n,y:r}=this.point;t.applyTransform([1,0,0,1,n||0,r||0])}}class PP{constructor(t,n,r){F(this,"type","rotate");F(this,"angle");F(this,"originX");F(this,"originY");F(this,"cx");F(this,"cy");const i=Bn(n);this.angle=new At(t,"angle",i[0]),this.originX=r[0],this.originY=r[1],this.cx=i[1]||0,this.cy=i[2]||0}apply(t){const{cx:n,cy:r,originX:i,originY:a,angle:s}=this,o=n+i.getPixels("x"),c=r+a.getPixels("y");t.translate(o,c),t.rotate(s.getRadians()),t.translate(-o,-c)}unapply(t){const{cx:n,cy:r,originX:i,originY:a,angle:s}=this,o=n+i.getPixels("x"),c=r+a.getPixels("y");t.translate(o,c),t.rotate(-1*s.getRadians()),t.translate(-o,-c)}applyToPoint(t){const{cx:n,cy:r,angle:i}=this,a=i.getRadians();t.applyTransform([1,0,0,1,n||0,r||0]),t.applyTransform([Math.cos(a),Math.sin(a),-Math.sin(a),Math.cos(a),0,0]),t.applyTransform([1,0,0,1,-n||0,-r||0])}}class kP{constructor(t,n,r){F(this,"type","scale");F(this,"scale");F(this,"originX");F(this,"originY");const i=Kt.parseScale(n);(i.x===0||i.y===0)&&(i.x=qa,i.y=qa),this.scale=i,this.originX=r[0],this.originY=r[1]}apply(t){const{scale:{x:n,y:r},originX:i,originY:a}=this,s=i.getPixels("x"),o=a.getPixels("y");t.translate(s,o),t.scale(n,r||n),t.translate(-s,-o)}unapply(t){const{scale:{x:n,y:r},originX:i,originY:a}=this,s=i.getPixels("x"),o=a.getPixels("y");t.translate(s,o),t.scale(1/n,1/r||n),t.translate(-s,-o)}applyToPoint(t){const{x:n,y:r}=this.scale;t.applyTransform([n||0,0,0,r||0,0,0])}}let kv=class{constructor(t,n,r){F(this,"type","matrix");F(this,"matrix");F(this,"originX");F(this,"originY");this.matrix=yP(n),this.originX=r[0],this.originY=r[1]}apply(t){const{originX:n,originY:r,matrix:i}=this,a=n.getPixels("x"),s=r.getPixels("y");t.translate(a,s),t.transform(i[0],i[1],i[2],i[3],i[4],i[5]),t.translate(-a,-s)}unapply(t){const{originX:n,originY:r,matrix:i}=this,a=i[0],s=i[2],o=i[4],c=i[1],l=i[3],u=i[5],A=0,h=0,f=1,d=1/(a*(l*f-u*h)-s*(c*f-u*A)+o*(c*h-l*A)),p=n.getPixels("x"),m=r.getPixels("y");t.translate(p,m),t.transform(d*(l*f-u*h),d*(u*A-c*f),d*(o*h-s*f),d*(a*f-o*A),d*(s*u-o*l),d*(o*c-a*u)),t.translate(-p,-m)}applyToPoint(t){t.applyTransform(this.matrix)}};class Rv extends kv{constructor(n,r,i){super(n,r,i);F(this,"type","skew");F(this,"angle");this.angle=new At(n,"angle",r)}}class RP extends Rv{constructor(n,r,i){super(n,r,i);F(this,"type","skewX");this.matrix=[1,0,Math.tan(this.angle.getRadians()),1,0,0]}}class OP extends Rv{constructor(n,r,i){super(n,r,i);F(this,"type","skewY");this.matrix=[1,Math.tan(this.angle.getRadians()),0,1,0,0]}}function UP(e){return _a(e).trim().replace(/\)([a-zA-Z])/g,") $1").replace(/\)(\s?,\s?)/g,") ").split(/\s(?=[a-z])/)}function LP(e){const[t="",n=""]=e.split("(");return[t.trim(),n.trim().replace(")","")]}const zo=class zo{constructor(t,n,r){F(this,"document");F(this,"transforms",[]);this.document=t,UP(n).forEach(a=>{if(a==="none")return;const[s,o]=LP(a),c=zo.transformTypes[s];c&&this.transforms.push(new c(this.document,o,r))})}static fromElement(t,n){const r=n.getStyle("transform",!1,!0);if(r.hasValue()){const[i,a=i]=n.getStyle("transform-origin",!1,!0).split();if(i&&a){const s=[i,a];return new zo(t,r.getString(),s)}}return null}apply(t){this.transforms.forEach(n=>n.apply(t))}unapply(t){this.transforms.forEach(n=>n.unapply(t))}applyToPoint(t){this.transforms.forEach(n=>n.applyToPoint(t))}};F(zo,"transformTypes",{translate:NP,rotate:PP,scale:kP,matrix:kv,skewX:RP,skewY:OP});let Io=zo;const Jo=class Jo{constructor(t,n,r=!1){F(this,"document");F(this,"node");F(this,"captureTextNodes");F(this,"type","");F(this,"attributes",{});F(this,"styles",{});F(this,"stylesSpecificity",{});F(this,"animationFrozen",!1);F(this,"animationFrozenValue","");F(this,"parent",null);F(this,"children",[]);if(this.document=t,this.node=n,this.captureTextNodes=r,!n||n.nodeType!==1)return;Array.from(n.attributes).forEach(s=>{const o=vP(s.nodeName);this.attributes[o]=new At(t,o,s.value)}),this.addStylesFromStyleDefinition(),this.getAttribute("style").hasValue()&&this.getAttribute("style").getString().split(";").map(o=>o.trim()).forEach(o=>{if(!o)return;const[c,l]=o.split(":").map(u=>u.trim());c&&(this.styles[c]=new At(t,c,l))});const{definitions:i}=t,a=this.getAttribute("id");a.hasValue()&&(i[a.getString()]||(i[a.getString()]=this)),Array.from(n.childNodes).forEach(s=>{if(s.nodeType===1)this.addChild(s);else if(r&&(s.nodeType===3||s.nodeType===4)){const o=t.createTextNode(s);o.getText().length>0&&this.addChild(o)}})}getAttribute(t,n=!1){const r=this.attributes[t];if(!r&&n){const i=new At(this.document,t,"");return this.attributes[t]=i,i}return r||At.empty(this.document)}getHrefAttribute(){let t;for(const n in this.attributes)if(n==="href"||n.endsWith(":href")){t=this.attributes[n];break}return t||At.empty(this.document)}getStyle(t,n=!1,r=!1){const i=this.styles[t];if(i)return i;const a=this.getAttribute(t);if(a.hasValue())return this.styles[t]=a,a;if(!r){const{parent:s}=this;if(s){const o=s.getStyle(t);if(o.hasValue())return o}}if(n){const s=new At(this.document,t,"");return this.styles[t]=s,s}return At.empty(this.document)}render(t){if(!(this.getStyle("display").getString()==="none"||this.getStyle("visibility").getString()==="hidden")){if(t.save(),this.getStyle("mask").hasValue()){const n=this.getStyle("mask").getDefinition();n&&(this.applyEffects(t),n.apply(t,this))}else if(this.getStyle("filter").getValue("none")!=="none"){const n=this.getStyle("filter").getDefinition();n&&(this.applyEffects(t),n.apply(t,this))}else this.setContext(t),this.renderChildren(t),this.clearContext(t);t.restore()}}setContext(t){}applyEffects(t){const n=Io.fromElement(this.document,this);n&&n.apply(t);const r=this.getStyle("clip-path",!1,!0);if(r.hasValue()){const i=r.getDefinition();i&&i.apply(t)}}clearContext(t){}renderChildren(t){this.children.forEach(n=>{n.render(t)})}addChild(t){const n=t instanceof Jo?t:this.document.createElement(t);n.parent=this,Jo.ignoreChildTypes.includes(n.type)||this.children.push(n)}matchesSelector(t){var i;const{node:n}=this;if(!n)return!1;if(typeof n.matches=="function")return n.matches(t);const r=(i=n.getAttribute)==null?void 0:i.call(n,"class");return!r||r===""?!1:r.split(" ").some(a=>`.${a}`===t)}addStylesFromStyleDefinition(){const{styles:t,stylesSpecificity:n}=this.document;let r;for(const i in t)if(!i.startsWith("@")&&this.matchesSelector(i)){const a=t[i],s=n[i];if(a)for(const o in a){let c=this.stylesSpecificity[o];typeof c>"u"&&(c="000"),s&&s>=c&&(r=a[o],r&&(this.styles[o]=r),this.stylesSpecificity[o]=s)}}}removeStyles(t,n){return n.reduce((i,a)=>{const s=t.getStyle(a);if(!s.hasValue())return i;const o=s.getString();return s.setValue(""),[...i,[a,o]]},[])}restoreStyles(t,n){n.forEach(([r,i])=>{t.getStyle(r,!0).setValue(i)})}isFirstChild(){var t;return((t=this.parent)==null?void 0:t.children.indexOf(this))===0}};F(Jo,"ignoreChildTypes",["title"]);let te=Jo;class YP extends te{constructor(t,n,r){super(t,n,r)}}function HP(e){const t=e.trim();return/^('|")/.test(t)?t:`"${t}"`}function GP(e){return typeof process>"u"?e:e.trim().split(",").map(HP).join(",")}function VP(e){if(!e)return"";const t=e.trim().toLowerCase();switch(t){case"normal":case"italic":case"oblique":case"inherit":case"initial":case"unset":return t;default:return/^oblique\s+(-|)\d+deg$/.test(t)?t:""}}function zP(e){if(!e)return"";const t=e.trim().toLowerCase();switch(t){case"normal":case"bold":case"lighter":case"bolder":case"inherit":case"initial":case"unset":return t;default:return/^[\d.]+$/.test(t)?t:""}}const ur=class ur{constructor(t,n,r,i,a,s){F(this,"fontFamily");F(this,"fontSize");F(this,"fontStyle");F(this,"fontWeight");F(this,"fontVariant");const o=s?typeof s=="string"?ur.parse(s):s:{};this.fontFamily=a||o.fontFamily,this.fontSize=i||o.fontSize,this.fontStyle=t||o.fontStyle,this.fontWeight=r||o.fontWeight,this.fontVariant=n||o.fontVariant}static parse(t="",n){let r="",i="",a="",s="",o="";const c=_a(t).trim().split(" "),l={fontSize:!1,fontStyle:!1,fontWeight:!1,fontVariant:!1};return c.forEach(u=>{switch(!0){case(!l.fontStyle&&ur.styles.includes(u)):u!=="inherit"&&(r=u),l.fontStyle=!0;break;case(!l.fontVariant&&ur.variants.includes(u)):u!=="inherit"&&(i=u),l.fontStyle=!0,l.fontVariant=!0;break;case(!l.fontWeight&&ur.weights.includes(u)):u!=="inherit"&&(a=u),l.fontStyle=!0,l.fontVariant=!0,l.fontWeight=!0;break;case!l.fontSize:u!=="inherit"&&(s=u.split("/")[0]||""),l.fontStyle=!0,l.fontVariant=!0,l.fontWeight=!0,l.fontSize=!0;break;default:u!=="inherit"&&(o+=u)}}),new ur(r,i,a,s,o,n)}toString(){return[VP(this.fontStyle),this.fontVariant,zP(this.fontWeight),this.fontSize,GP(this.fontFamily)].join(" ").trim()}};F(ur,"styles","normal|italic|oblique|inherit"),F(ur,"variants","normal|small-caps|inherit"),F(ur,"weights","normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900|inherit");let Ai=ur;class jn{constructor(t=Number.NaN,n=Number.NaN,r=Number.NaN,i=Number.NaN){F(this,"x1");F(this,"y1");F(this,"x2");F(this,"y2");this.x1=t,this.y1=n,this.x2=r,this.y2=i,this.addPoint(t,n),this.addPoint(r,i)}get x(){return this.x1}get y(){return this.y1}get width(){return this.x2-this.x1}get height(){return this.y2-this.y1}addPoint(t,n){typeof t<"u"&&((isNaN(this.x1)||isNaN(this.x2))&&(this.x1=t,this.x2=t),t<this.x1&&(this.x1=t),t>this.x2&&(this.x2=t)),typeof n<"u"&&((isNaN(this.y1)||isNaN(this.y2))&&(this.y1=n,this.y2=n),n<this.y1&&(this.y1=n),n>this.y2&&(this.y2=n))}addX(t){this.addPoint(t,0)}addY(t){this.addPoint(0,t)}addBoundingBox(t){if(!t)return;const{x1:n,y1:r,x2:i,y2:a}=t;this.addPoint(n,r),this.addPoint(i,a)}sumCubic(t,n,r,i,a){return Math.pow(1-t,3)*n+3*Math.pow(1-t,2)*t*r+3*(1-t)*Math.pow(t,2)*i+Math.pow(t,3)*a}bezierCurveAdd(t,n,r,i,a){const s=6*n-12*r+6*i,o=-3*n+9*r-9*i+3*a,c=3*r-3*n;if(o===0){if(s===0)return;const h=-c/s;0<h&&h<1&&(t?this.addX(this.sumCubic(h,n,r,i,a)):this.addY(this.sumCubic(h,n,r,i,a)));return}const l=Math.pow(s,2)-4*c*o;if(l<0)return;const u=(-s+Math.sqrt(l))/(2*o);0<u&&u<1&&(t?this.addX(this.sumCubic(u,n,r,i,a)):this.addY(this.sumCubic(u,n,r,i,a)));const A=(-s-Math.sqrt(l))/(2*o);0<A&&A<1&&(t?this.addX(this.sumCubic(A,n,r,i,a)):this.addY(this.sumCubic(A,n,r,i,a)))}addBezierCurve(t,n,r,i,a,s,o,c){this.addPoint(t,n),this.addPoint(o,c),this.bezierCurveAdd(!0,t,r,a,o),this.bezierCurveAdd(!1,n,i,s,c)}addQuadraticCurve(t,n,r,i,a,s){const o=t+.6666666666666666*(r-t),c=n+2/3*(i-n),l=o+1/3*(a-t),u=c+1/3*(s-n);this.addBezierCurve(t,n,o,l,c,u,a,s)}isPointInBox(t,n){const{x1:r,y1:i,x2:a,y2:s}=this;return r<=t&&t<=a&&i<=n&&n<=s}}class Ji extends te{constructor(){super(...arguments);F(this,"modifiedEmSizeStack",!1)}calculateOpacity(){let n=1,r=this;for(;r;){const i=r.getStyle("opacity",!1,!0);i.hasValue(!0)&&(n*=i.getNumber()),r=r.parent}return n}setContext(n,r=!1){if(!r){const i=this.getStyle("fill"),a=this.getStyle("fill-opacity"),s=this.getStyle("stroke"),o=this.getStyle("stroke-opacity");if(i.isUrlDefinition()){const d=i.getFillStyleDefinition(this,a);d&&(n.fillStyle=d)}else if(i.hasValue()){i.getString()==="currentColor"&&i.setValue(this.getStyle("color").getColor());const d=i.getColor();d!=="inherit"&&(n.fillStyle=d==="none"?"rgba(0,0,0,0)":d)}if(a.hasValue()){const d=new At(this.document,"fill",n.fillStyle).addOpacity(a).getColor();n.fillStyle=d}if(s.isUrlDefinition()){const d=s.getFillStyleDefinition(this,o);d&&(n.strokeStyle=d)}else if(s.hasValue()){s.getString()==="currentColor"&&s.setValue(this.getStyle("color").getColor());const d=s.getString();d!=="inherit"&&(n.strokeStyle=d==="none"?"rgba(0,0,0,0)":d)}if(o.hasValue()){const d=new At(this.document,"stroke",n.strokeStyle).addOpacity(o).getString();n.strokeStyle=d}const c=this.getStyle("stroke-width");if(c.hasValue()){const d=c.getPixels();n.lineWidth=d||qa}const l=this.getStyle("stroke-linecap"),u=this.getStyle("stroke-linejoin"),A=this.getStyle("stroke-miterlimit"),h=this.getStyle("stroke-dasharray"),f=this.getStyle("stroke-dashoffset");if(l.hasValue()&&(n.lineCap=l.getString()),u.hasValue()&&(n.lineJoin=u.getString()),A.hasValue()&&(n.miterLimit=A.getNumber()),h.hasValue()&&h.getString()!=="none"){const d=Bn(h.getString());typeof n.setLineDash<"u"?n.setLineDash(d):typeof n.webkitLineDash<"u"?n.webkitLineDash=d:typeof n.mozDash<"u"&&!(d.length===1&&d[0]===0)&&(n.mozDash=d);const p=f.getPixels();typeof n.lineDashOffset<"u"?n.lineDashOffset=p:typeof n.webkitLineDashOffset<"u"?n.webkitLineDashOffset=p:typeof n.mozDashOffset<"u"&&(n.mozDashOffset=p)}}if(this.modifiedEmSizeStack=!1,typeof n.font<"u"){const i=this.getStyle("font"),a=this.getStyle("font-style"),s=this.getStyle("font-variant"),o=this.getStyle("font-weight"),c=this.getStyle("font-size"),l=this.getStyle("font-family"),u=new Ai(a.getString(),s.getString(),o.getString(),c.hasValue()?`${c.getPixels(!0)}px`:"",l.getString(),Ai.parse(i.getString(),n.font));a.setValue(u.fontStyle),s.setValue(u.fontVariant),o.setValue(u.fontWeight),c.setValue(u.fontSize),l.setValue(u.fontFamily),n.font=u.toString(),c.isPixels()&&(this.document.emSize=c.getPixels(),this.modifiedEmSizeStack=!0)}r||(this.applyEffects(n),n.globalAlpha=this.calculateOpacity())}clearContext(n){super.clearContext(n),this.modifiedEmSizeStack&&this.document.popEmSize()}}class hi extends Ji{constructor(n,r,i){super(n,r,new.target===hi?!0:i);F(this,"type","text");F(this,"x",0);F(this,"y",0);F(this,"leafTexts",[]);F(this,"textChunkStart",0);F(this,"minX",Number.POSITIVE_INFINITY);F(this,"maxX",Number.NEGATIVE_INFINITY);F(this,"measureCache",-1)}setContext(n,r=!1){super.setContext(n,r);const i=this.getStyle("dominant-baseline").getTextBaseline()||this.getStyle("alignment-baseline").getTextBaseline();i&&(n.textBaseline=i)}initializeCoordinates(){this.x=0,this.y=0,this.leafTexts=[],this.textChunkStart=0,this.minX=Number.POSITIVE_INFINITY,this.maxX=Number.NEGATIVE_INFINITY}getBoundingBox(n){if(this.type!=="text")return this.getTElementBoundingBox(n);this.initializeCoordinates(),this.adjustChildCoordinatesRecursive(n);let r=null;return this.children.forEach((i,a)=>{const s=this.getChildBoundingBox(n,this,this,a);r?r.addBoundingBox(s):r=s}),r}getFontSize(){const{document:n,parent:r}=this,i=Ai.parse(n.ctx.font).fontSize;return r.getStyle("font-size").getNumber(i)}getTElementBoundingBox(n){const r=this.getFontSize();return new jn(this.x,this.y-r,this.x+this.measureText(n),this.y)}getGlyph(n,r,i){var o;const a=r[i];let s;if(n.isArabic){const c=r.length,l=r[i-1],u=r[i+1];let A="isolated";(i===0||l===" ")&&i<c-1&&u!==" "&&(A="terminal"),i>0&&l!==" "&&i<c-1&&u!==" "&&(A="medial"),i>0&&l!==" "&&(i===c-1||u===" ")&&(A="initial"),s=((o=n.arabicGlyphs[a])==null?void 0:o[A])||n.glyphs[a]}else s=n.glyphs[a];return s||(s=n.missingGlyph),s}getText(){return""}getTextFromNode(n){const r=n||this.node,i=Array.from(r.parentNode.childNodes),a=i.indexOf(r),s=i.length-1;let o=_a(r.textContent||"");return a===0&&(o=pP(o)),a===s&&(o=mP(o)),o}renderChildren(n){if(this.type!=="text"){this.renderTElementChildren(n);return}this.initializeCoordinates(),this.adjustChildCoordinatesRecursive(n),this.children.forEach((i,a)=>{this.renderChild(n,this,this,a)});const{mouse:r}=this.document.screen;r.isWorking()&&r.checkBoundingBox(this,this.getBoundingBox(n))}renderTElementChildren(n){const{document:r,parent:i}=this,a=this.getText(),s=i.getStyle("font-family").getDefinition();if(s!=null&&s.fontFace){const{unitsPerEm:l}=s.fontFace,u=Ai.parse(r.ctx.font),A=i.getStyle("font-size").getNumber(u.fontSize),h=i.getStyle("font-style").getString(u.fontStyle),f=A/l,d=s.isRTL?a.split("").reverse().join(""):a,p=Bn(i.getAttribute("dx").getString()),m=d.length;for(let y=0;y<m;y++){const v=this.getGlyph(s,d,y);n.translate(this.x,this.y),n.scale(f,-f);const w=n.lineWidth;n.lineWidth=n.lineWidth*l/A,h==="italic"&&n.transform(1,0,.4,1,0,0),v.render(n),h==="italic"&&n.transform(1,0,-.4,1,0,0),n.lineWidth=w,n.scale(1/f,-1/f),n.translate(-this.x,-this.y),this.x+=A*(v.horizAdvX||s.horizAdvX)/l,typeof p[y]<"u"&&!isNaN(p[y])&&(this.x+=p[y])}return}const{x:o,y:c}=this;n.fillStyle&&n.fillText(a,o,c),n.strokeStyle&&n.strokeText(a,o,c)}applyAnchoring(){if(this.textChunkStart>=this.leafTexts.length)return;const n=this.leafTexts[this.textChunkStart],r=n.getStyle("text-anchor").getString("start"),i=!1;let a=0;r==="start"&&!i||r==="end"&&i?a=n.x-this.minX:r==="end"&&!i||r==="start"&&i?a=n.x-this.maxX:a=n.x-(this.minX+this.maxX)/2;for(let s=this.textChunkStart;s<this.leafTexts.length;s++)this.leafTexts[s].x+=a;this.minX=Number.POSITIVE_INFINITY,this.maxX=Number.NEGATIVE_INFINITY,this.textChunkStart=this.leafTexts.length}adjustChildCoordinatesRecursive(n){this.children.forEach((r,i)=>{this.adjustChildCoordinatesRecursiveCore(n,this,this,i)}),this.applyAnchoring()}adjustChildCoordinatesRecursiveCore(n,r,i,a){const s=i.children[a];s.children.length>0?s.children.forEach((o,c)=>{r.adjustChildCoordinatesRecursiveCore(n,r,s,c)}):this.adjustChildCoordinates(n,r,i,a)}adjustChildCoordinates(n,r,i,a){const s=i.children[a];if(typeof s.measureText!="function")return s;n.save(),s.setContext(n,!0);const o=s.getAttribute("x"),c=s.getAttribute("y"),l=s.getAttribute("dx"),u=s.getAttribute("dy"),A=s.getStyle("font-family").getDefinition(),h=!!(A!=null&&A.isRTL);a===0&&(o.hasValue()||o.setValue(s.getInheritedAttribute("x")),c.hasValue()||c.setValue(s.getInheritedAttribute("y")),l.hasValue()||l.setValue(s.getInheritedAttribute("dx")),u.hasValue()||u.setValue(s.getInheritedAttribute("dy")));const f=s.measureText(n);return h&&(r.x-=f),o.hasValue()?(r.applyAnchoring(),s.x=o.getPixels("x"),l.hasValue()&&(s.x+=l.getPixels("x"))):(l.hasValue()&&(r.x+=l.getPixels("x")),s.x=r.x),r.x=s.x,h||(r.x+=f),c.hasValue()?(s.y=c.getPixels("y"),u.hasValue()&&(s.y+=u.getPixels("y"))):(u.hasValue()&&(r.y+=u.getPixels("y")),s.y=r.y),r.y=s.y,r.leafTexts.push(s),r.minX=Math.min(r.minX,s.x,s.x+f),r.maxX=Math.max(r.maxX,s.x,s.x+f),s.clearContext(n),n.restore(),s}getChildBoundingBox(n,r,i,a){const s=i.children[a];if(typeof s.getBoundingBox!="function")return null;const o=s.getBoundingBox(n);return o&&s.children.forEach((c,l)=>{const u=r.getChildBoundingBox(n,r,s,l);o.addBoundingBox(u)}),o}renderChild(n,r,i,a){const s=i.children[a];s.render(n),s.children.forEach((o,c)=>{r.renderChild(n,r,s,c)})}measureText(n){const{measureCache:r}=this;if(~r)return r;const i=this.getText(),a=this.measureTargetText(n,i);return this.measureCache=a,a}measureTargetText(n,r){if(!r.length)return 0;const{parent:i}=this,a=i.getStyle("font-family").getDefinition();if(a){const o=this.getFontSize(),c=a.isRTL?r.split("").reverse().join(""):r,l=Bn(i.getAttribute("dx").getString()),u=c.length;let A=0;for(let h=0;h<u;h++){const f=this.getGlyph(a,c,h);A+=(f.horizAdvX||a.horizAdvX)*o/a.fontFace.unitsPerEm,typeof l[h]<"u"&&!isNaN(l[h])&&(A+=l[h])}return A}if(!n.measureText)return r.length*10;n.save(),this.setContext(n,!0);const{width:s}=n.measureText(r);return this.clearContext(n),n.restore(),s}getInheritedAttribute(n){let r=this;for(;r instanceof hi&&r.isFirstChild()&&r.parent;){const i=r.parent.getAttribute(n);if(i.hasValue(!0))return i.getString("0");r=r.parent}return null}}class lu extends hi{constructor(n,r,i){super(n,r,new.target===lu?!0:i);F(this,"type","tspan");F(this,"text");this.text=this.children.length>0?"":this.getTextFromNode()}getText(){return this.text}}class JP extends lu{constructor(){super(...arguments);F(this,"type","textNode")}}class St extends G{constructor(n){super(n.replace(/([+\-.])\s+/gm,"$1").replace(/[^MmZzLlHhVvCcSsQqTtAae\d\s.,+-].*/g,""));F(this,"control",new Kt(0,0));F(this,"start",new Kt(0,0));F(this,"current",new Kt(0,0));F(this,"command",null);F(this,"commands",[]);F(this,"i",-1);F(this,"previousCommand",null);F(this,"points",[]);F(this,"angles",[])}reset(){this.i=-1,this.command=null,this.previousCommand=null,this.start=new Kt(0,0),this.control=new Kt(0,0),this.current=new Kt(0,0),this.points=[],this.angles=[]}isEnd(){const{i:n,commands:r}=this;return n>=r.length-1}next(){const n=this.commands[++this.i];return this.previousCommand=this.command,this.command=n,n}getPoint(n="x",r="y"){const i=new Kt(this.command[n],this.command[r]);return this.makeAbsolute(i)}getAsControlPoint(n,r){const i=this.getPoint(n,r);return this.control=i,i}getAsCurrentPoint(n,r){const i=this.getPoint(n,r);return this.current=i,i}getReflectedControlPoint(){const n=this.previousCommand.type;if(n!==G.CURVE_TO&&n!==G.SMOOTH_CURVE_TO&&n!==G.QUAD_TO&&n!==G.SMOOTH_QUAD_TO)return this.current;const{current:{x:r,y:i},control:{x:a,y:s}}=this;return new Kt(2*r-a,2*i-s)}makeAbsolute(n){if(this.command.relative){const{x:r,y:i}=this.current;n.x+=r,n.y+=i}return n}addMarker(n,r,i){const{points:a,angles:s}=this;i&&s.length>0&&!s[s.length-1]&&(s[s.length-1]=a[a.length-1].angleTo(i)),this.addMarkerAngle(n,r?r.angleTo(n):null)}addMarkerAngle(n,r){this.points.push(n),this.angles.push(r)}getMarkerPoints(){return this.points}getMarkerAngles(){const{angles:n}=this,r=n.length;for(let i=0;i<r;i++)if(!n[i]){for(let a=i+1;a<r;a++)if(n[a]){n[i]=n[a];break}}return n}}class Pt extends Ji{constructor(n,r,i){super(n,r,i);F(this,"type","path");F(this,"pathParser");this.pathParser=new St(this.getAttribute("d").getString())}path(n){const{pathParser:r}=this,i=new jn;for(r.reset(),n&&n.beginPath();!r.isEnd();)switch(r.next().type){case St.MOVE_TO:this.pathM(n,i);break;case St.LINE_TO:this.pathL(n,i);break;case St.HORIZ_LINE_TO:this.pathH(n,i);break;case St.VERT_LINE_TO:this.pathV(n,i);break;case St.CURVE_TO:this.pathC(n,i);break;case St.SMOOTH_CURVE_TO:this.pathS(n,i);break;case St.QUAD_TO:this.pathQ(n,i);break;case St.SMOOTH_QUAD_TO:this.pathT(n,i);break;case St.ARC:this.pathA(n,i);break;case St.CLOSE_PATH:this.pathZ(n,i);break}return i}getBoundingBox(n){return this.path()}getMarkers(){const{pathParser:n}=this,r=n.getMarkerPoints(),i=n.getMarkerAngles();return!r||!i?null:r.map((s,o)=>[s,i[o]])}renderChildren(n){this.path(n),this.document.screen.mouse.checkPath(this,n);const r=this.getStyle("fill-rule");n.fillStyle!==""&&(r.getString("inherit")!=="inherit"?n.fill(r.getString()):n.fill()),n.strokeStyle!==""&&(this.getAttribute("vector-effect").getString()==="non-scaling-stroke"?(n.save(),n.setTransform(1,0,0,1,0,0),n.stroke(),n.restore()):n.stroke());const i=this.getMarkers();if(i){const a=i.length-1,s=this.getStyle("marker-start"),o=this.getStyle("marker-mid"),c=this.getStyle("marker-end");if(s.isUrlDefinition()){const l=s.getDefinition(),[u,A]=i[0];l&&l.render(n,u,A===null?void 0:A)}if(o.isUrlDefinition()){const l=o.getDefinition();for(let u=1;u<a;u++){const[A,h]=i[u];l&&l.render(n,A,h===null?void 0:h)}}if(c.isUrlDefinition()){const l=c.getDefinition(),[u,A]=i[a];l&&l.render(n,u,A===null?void 0:A)}}}static pathM(n){const r=n.getAsCurrentPoint();return n.start=n.current,{point:r}}pathM(n,r){const{pathParser:i}=this,{point:a}=Pt.pathM(i),{x:s,y:o}=a;i.addMarker(a),r.addPoint(s,o),n&&n.moveTo(s,o)}static pathL(n){const{current:r}=n,i=n.getAsCurrentPoint();return{current:r,point:i}}pathL(n,r){const{pathParser:i}=this,{current:a,point:s}=Pt.pathL(i),{x:o,y:c}=s;i.addMarker(s,a),r.addPoint(o,c),n&&n.lineTo(o,c)}static pathH(n){const{current:r,command:i}=n,a=new Kt((i!=null&&i.relative?r.x:0)+i.x,r.y);return n.current=a,{current:r,point:a}}pathH(n,r){const{pathParser:i}=this,{current:a,point:s}=Pt.pathH(i),{x:o,y:c}=s;i.addMarker(s,a),r.addPoint(o,c),n&&n.lineTo(o,c)}static pathV(n){const{current:r,command:i}=n,a=new Kt(r.x,(i.relative?r.y:0)+i.y);return n.current=a,{current:r,point:a}}pathV(n,r){const{pathParser:i}=this,{current:a,point:s}=Pt.pathV(i),{x:o,y:c}=s;i.addMarker(s,a),r.addPoint(o,c),n&&n.lineTo(o,c)}static pathC(n){const{current:r}=n,i=n.getPoint("x1","y1"),a=n.getAsControlPoint("x2","y2"),s=n.getAsCurrentPoint();return{current:r,point:i,controlPoint:a,currentPoint:s}}pathC(n,r){const{pathParser:i}=this,{current:a,point:s,controlPoint:o,currentPoint:c}=Pt.pathC(i);i.addMarker(c,o,s),r.addBezierCurve(a.x,a.y,s.x,s.y,o.x,o.y,c.x,c.y),n&&n.bezierCurveTo(s.x,s.y,o.x,o.y,c.x,c.y)}static pathS(n){const{current:r}=n,i=n.getReflectedControlPoint(),a=n.getAsControlPoint("x2","y2"),s=n.getAsCurrentPoint();return{current:r,point:i,controlPoint:a,currentPoint:s}}pathS(n,r){const{pathParser:i}=this,{current:a,point:s,controlPoint:o,currentPoint:c}=Pt.pathS(i);i.addMarker(c,o,s),r.addBezierCurve(a.x,a.y,s.x,s.y,o.x,o.y,c.x,c.y),n&&n.bezierCurveTo(s.x,s.y,o.x,o.y,c.x,c.y)}static pathQ(n){const{current:r}=n,i=n.getAsControlPoint("x1","y1"),a=n.getAsCurrentPoint();return{current:r,controlPoint:i,currentPoint:a}}pathQ(n,r){const{pathParser:i}=this,{current:a,controlPoint:s,currentPoint:o}=Pt.pathQ(i);i.addMarker(o,s,s),r.addQuadraticCurve(a.x,a.y,s.x,s.y,o.x,o.y),n&&n.quadraticCurveTo(s.x,s.y,o.x,o.y)}static pathT(n){const{current:r}=n,i=n.getReflectedControlPoint();n.control=i;const a=n.getAsCurrentPoint();return{current:r,controlPoint:i,currentPoint:a}}pathT(n,r){const{pathParser:i}=this,{current:a,controlPoint:s,currentPoint:o}=Pt.pathT(i);i.addMarker(o,s,s),r.addQuadraticCurve(a.x,a.y,s.x,s.y,o.x,o.y),n&&n.quadraticCurveTo(s.x,s.y,o.x,o.y)}static pathA(n){const{current:r,command:i}=n;let{rX:a,rY:s,xRot:o,lArcFlag:c,sweepFlag:l}=i;const u=o*(Math.PI/180),A=n.getAsCurrentPoint(),h=new Kt(Math.cos(u)*(r.x-A.x)/2+Math.sin(u)*(r.y-A.y)/2,-Math.sin(u)*(r.x-A.x)/2+Math.cos(u)*(r.y-A.y)/2),f=Math.pow(h.x,2)/Math.pow(a,2)+Math.pow(h.y,2)/Math.pow(s,2);f>1&&(a*=Math.sqrt(f),s*=Math.sqrt(f));let d=(c===l?-1:1)*Math.sqrt((Math.pow(a,2)*Math.pow(s,2)-Math.pow(a,2)*Math.pow(h.y,2)-Math.pow(s,2)*Math.pow(h.x,2))/(Math.pow(a,2)*Math.pow(h.y,2)+Math.pow(s,2)*Math.pow(h.x,2)));isNaN(d)&&(d=0);const p=new Kt(d*a*h.y/s,d*-s*h.x/a),m=new Kt((r.x+A.x)/2+Math.cos(u)*p.x-Math.sin(u)*p.y,(r.y+A.y)/2+Math.sin(u)*p.x+Math.cos(u)*p.y),y=xv([1,0],[(h.x-p.x)/a,(h.y-p.y)/s]),v=[(h.x-p.x)/a,(h.y-p.y)/s],w=[(-h.x-p.x)/a,(-h.y-p.y)/s];let B=xv(v,w);return Xf(v,w)<=-1&&(B=Math.PI),Xf(v,w)>=1&&(B=0),{currentPoint:A,rX:a,rY:s,sweepFlag:l,xAxisRotation:u,centp:m,a1:y,ad:B}}pathA(n,r){const{pathParser:i}=this,{currentPoint:a,rX:s,rY:o,sweepFlag:c,xAxisRotation:l,centp:u,a1:A,ad:h}=Pt.pathA(i),f=1-c?1:-1,d=A+f*(h/2),p=new Kt(u.x+s*Math.cos(d),u.y+o*Math.sin(d));if(i.addMarkerAngle(p,d-f*Math.PI/2),i.addMarkerAngle(a,d-f*Math.PI),r.addPoint(a.x,a.y),n&&!isNaN(A)&&!isNaN(h)){const m=s>o?s:o,y=s>o?1:s/o,v=s>o?o/s:1;n.translate(u.x,u.y),n.rotate(l),n.scale(y,v),n.arc(0,0,m,A,A+h,!!(1-c)),n.scale(1/y,1/v),n.rotate(-l),n.translate(-u.x,-u.y)}}static pathZ(n){n.current=n.start}pathZ(n,r){Pt.pathZ(this.pathParser),n&&r.x1!==r.x2&&r.y1!==r.y2&&n.closePath()}}class Fo extends Ji{constructor(){super(...arguments);F(this,"type","svg");F(this,"root",!1)}setContext(n){var v;const{document:r}=this,{screen:i,window:a}=r,s=n.canvas;if(i.setDefaults(n),"style"in s&&typeof n.font<"u"&&a&&typeof a.getComputedStyle<"u"){n.font=a.getComputedStyle(s).getPropertyValue("font");const w=new At(r,"fontSize",Ai.parse(n.font).fontSize);w.hasValue()&&(r.rootEmSize=w.getPixels("y"),r.emSize=r.rootEmSize)}this.getAttribute("x").hasValue()||this.getAttribute("x",!0).setValue(0),this.getAttribute("y").hasValue()||this.getAttribute("y",!0).setValue(0);let{width:o,height:c}=i.viewPort;this.getStyle("width").hasValue()||this.getStyle("width",!0).setValue("100%"),this.getStyle("height").hasValue()||this.getStyle("height",!0).setValue("100%"),this.getStyle("color").hasValue()||this.getStyle("color",!0).setValue("black");const l=this.getAttribute("refX"),u=this.getAttribute("refY"),A=this.getAttribute("viewBox"),h=A.hasValue()?Bn(A.getString()):null,f=!this.root&&this.getStyle("overflow").getValue("hidden")!=="visible";let d=0,p=0,m=0,y=0;h&&(d=h[0],p=h[1]),this.root||(o=this.getStyle("width").getPixels("x"),c=this.getStyle("height").getPixels("y"),this.type==="marker"&&(m=d,y=p,d=0,p=0)),i.viewPort.setCurrent(o,c),this.node&&(!this.parent||((v=this.node.parentNode)==null?void 0:v.nodeName)==="foreignObject")&&this.getStyle("transform",!1,!0).hasValue()&&!this.getStyle("transform-origin",!1,!0).hasValue()&&this.getStyle("transform-origin",!0,!0).setValue("50% 50%"),super.setContext(n),n.translate(this.getAttribute("x").getPixels("x"),this.getAttribute("y").getPixels("y")),h&&(o=h[2],c=h[3]),r.setViewBox({ctx:n,aspectRatio:this.getAttribute("preserveAspectRatio").getString(),width:i.viewPort.width,desiredWidth:o,height:i.viewPort.height,desiredHeight:c,minX:d,minY:p,refX:l.getValue(),refY:u.getValue(),clip:f,clipX:m,clipY:y}),h&&(i.viewPort.removeCurrent(),i.viewPort.setCurrent(o,c))}clearContext(n){super.clearContext(n),this.document.screen.viewPort.removeCurrent()}resize(n,r=n,i=!1){const a=this.getAttribute("width",!0),s=this.getAttribute("height",!0),o=this.getAttribute("viewBox"),c=this.getAttribute("style"),l=a.getNumber(0),u=s.getNumber(0);if(i)if(typeof i=="string")this.getAttribute("preserveAspectRatio",!0).setValue(i);else{const A=this.getAttribute("preserveAspectRatio");A.hasValue()&&A.setValue(A.getString().replace(/^\s*(\S.*\S)\s*$/,"$1"))}if(a.setValue(n),s.setValue(r),o.hasValue()||o.setValue(`0 0 ${l||n} ${u||r}`),c.hasValue()){const A=this.getStyle("width"),h=this.getStyle("height");A.hasValue()&&A.setValue(`${n}px`),h.hasValue()&&h.setValue(`${r}px`)}}}class Ov extends Pt{constructor(){super(...arguments);F(this,"type","rect")}path(n){const r=this.getAttribute("x").getPixels("x"),i=this.getAttribute("y").getPixels("y"),a=this.getStyle("width",!1,!0).getPixels("x"),s=this.getStyle("height",!1,!0).getPixels("y"),o=this.getAttribute("rx"),c=this.getAttribute("ry");let l=o.getPixels("x"),u=c.getPixels("y");if(o.hasValue()&&!c.hasValue()&&(u=l),c.hasValue()&&!o.hasValue()&&(l=u),l=Math.min(l,a/2),u=Math.min(u,s/2),n){const A=4*((Math.sqrt(2)-1)/3);n.beginPath(),s>0&&a>0&&(n.moveTo(r+l,i),n.lineTo(r+a-l,i),n.bezierCurveTo(r+a-l+A*l,i,r+a,i+u-A*u,r+a,i+u),n.lineTo(r+a,i+s-u),n.bezierCurveTo(r+a,i+s-u+A*u,r+a-l+A*l,i+s,r+a-l,i+s),n.lineTo(r+l,i+s),n.bezierCurveTo(r+l-A*l,i+s,r,i+s-u+A*u,r,i+s-u),n.lineTo(r,i+u),n.bezierCurveTo(r,i+u-A*u,r+l-A*l,i,r+l,i),n.closePath())}return new jn(r,i,r+a,i+s)}getMarkers(){return null}}class jP extends Pt{constructor(){super(...arguments);F(this,"type","circle")}path(n){const r=this.getAttribute("cx").getPixels("x"),i=this.getAttribute("cy").getPixels("y"),a=this.getAttribute("r").getPixels();return n&&a>0&&(n.beginPath(),n.arc(r,i,a,0,Math.PI*2,!1),n.closePath()),new jn(r-a,i-a,r+a,i+a)}getMarkers(){return null}}class WP extends Pt{constructor(){super(...arguments);F(this,"type","ellipse")}path(n){const r=4*((Math.sqrt(2)-1)/3),i=this.getAttribute("rx").getPixels("x"),a=this.getAttribute("ry").getPixels("y"),s=this.getAttribute("cx").getPixels("x"),o=this.getAttribute("cy").getPixels("y");return n&&i>0&&a>0&&(n.beginPath(),n.moveTo(s+i,o),n.bezierCurveTo(s+i,o+r*a,s+r*i,o+a,s,o+a),n.bezierCurveTo(s-r*i,o+a,s-i,o+r*a,s-i,o),n.bezierCurveTo(s-i,o-r*a,s-r*i,o-a,s,o-a),n.bezierCurveTo(s+r*i,o-a,s+i,o-r*a,s+i,o),n.closePath()),new jn(s-i,o-a,s+i,o+a)}getMarkers(){return null}}class KP extends Pt{constructor(){super(...arguments);F(this,"type","line")}getPoints(){return[new Kt(this.getAttribute("x1").getPixels("x"),this.getAttribute("y1").getPixels("y")),new Kt(this.getAttribute("x2").getPixels("x"),this.getAttribute("y2").getPixels("y"))]}path(n){const[{x:r,y:i},{x:a,y:s}]=this.getPoints();return n&&(n.beginPath(),n.moveTo(r,i),n.lineTo(a,s)),new jn(r,i,a,s)}getMarkers(){const[n,r]=this.getPoints(),i=n.angleTo(r);return[[n,i],[r,i]]}}class Uv extends Pt{constructor(n,r,i){super(n,r,i);F(this,"type","polyline");F(this,"points",[]);this.points=Kt.parsePath(this.getAttribute("points").getString())}path(n){const{points:r}=this,[{x:i,y:a}]=r,s=new jn(i,a);return n&&(n.beginPath(),n.moveTo(i,a)),r.forEach(({x:o,y:c})=>{s.addPoint(o,c),n&&n.lineTo(o,c)}),s}getMarkers(){const{points:n}=this,r=n.length-1,i=[];return n.forEach((a,s)=>{s!==r&&i.push([a,a.angleTo(n[s+1])])}),i.length>0&&i.push([n[n.length-1],i[i.length-1][1]]),i}}class XP extends Uv{constructor(){super(...arguments);F(this,"type","polygon")}path(n){const r=super.path(n),[{x:i,y:a}]=this.points;return n&&(n.lineTo(i,a),n.closePath()),r}}class _P extends te{constructor(){super(...arguments);F(this,"type","pattern")}createPattern(n,r,i){const a=this.getStyle("width").getPixels("x",!0),s=this.getStyle("height").getPixels("y",!0),o=this.getAttribute("data-frame-width"),c=this.getAttribute("data-frame-height"),l=o.hasValue()?o.getPixels("x",!0):a,u=c.hasValue()?c.getPixels("y",!0):s,A=o.hasValue()&&c.hasValue(),h=new Fo(this.document,void 0);h.attributes.viewBox=new At(this.document,"viewBox",this.getAttribute("viewBox").getValue()),h.attributes.width=new At(this.document,"width",`${l}px`),h.attributes.height=new At(this.document,"height",`${u}px`),h.attributes.transform=new At(this.document,"transform",this.getAttribute("patternTransform").getValue()),h.children=this.children;const f=this.document.createCanvas(l,u),d=f.getContext("2d");d.imageSmoothingEnabled=!0,d.imageSmoothingQuality="high";const p=this.getAttribute("x"),m=this.getAttribute("y");p.hasValue()&&m.hasValue()&&d.translate(p.getPixels("x",!0),m.getPixels("y",!0)),i.hasValue()?this.styles["fill-opacity"]=i:Reflect.deleteProperty(this.styles,"fill-opacity");for(let v=-1;v<=1;v++)for(let w=-1;w<=1;w++)d.save(),h.attributes.x=new At(this.document,"x",v*f.width),h.attributes.y=new At(this.document,"y",w*f.height),h.render(d),d.restore();return n.createPattern(f,A?"no-repeat":"repeat")}}class qP extends te{constructor(){super(...arguments);F(this,"type","marker")}render(n,r,i){if(!r)return;const{x:a,y:s}=r,o=this.getAttribute("orient").getString("auto"),c=this.getAttribute("markerUnits").getString("strokeWidth");n.translate(a,s),o==="auto"&&i&&n.rotate(i),c==="strokeWidth"&&n.scale(n.lineWidth,n.lineWidth),n.save();const l=new Fo(this.document);l.type=this.type,l.attributes.viewBox=new At(this.document,"viewBox",this.getAttribute("viewBox").getValue()),l.attributes.refX=new At(this.document,"refX",this.getAttribute("refX").getValue()),l.attributes.refY=new At(this.document,"refY",this.getAttribute("refY").getValue()),l.attributes.width=new At(this.document,"width",this.getAttribute("markerWidth").getValue()),l.attributes.height=new At(this.document,"height",this.getAttribute("markerHeight").getValue()),l.attributes.overflow=new At(this.document,"overflow",this.getAttribute("overflow").getValue()),l.attributes.fill=new At(this.document,"fill",this.getAttribute("fill").getColor("black")),l.attributes.stroke=new At(this.document,"stroke",this.getAttribute("stroke").getValue("none")),l.children=this.children,l.render(n),n.restore(),c==="strokeWidth"&&n.scale(1/n.lineWidth,1/n.lineWidth),o==="auto"&&i&&n.rotate(-i),n.translate(-a,-s)}}class ZP extends te{constructor(){super(...arguments);F(this,"type","defs")}render(){}}class qf extends Ji{constructor(){super(...arguments);F(this,"type","g")}getBoundingBox(n){const r=new jn;return this.children.forEach(i=>{i instanceof Pt&&r.addBoundingBox(i.getBoundingBox(n))}),r}}class Lv extends te{constructor(n,r,i){super(n,r,i);F(this,"attributesToInherit",["gradientUnits"]);F(this,"stops",[]);const{stops:a,children:s}=this;s.forEach(o=>{o.type==="stop"&&a.push(o)})}getGradientUnits(){return this.getAttribute("gradientUnits").getString("objectBoundingBox")}createGradient(n,r,i){let a=this;this.getHrefAttribute().hasValue()&&(a=this.getHrefAttribute().getDefinition(),this.inheritStopContainer(a));const{stops:s}=a,o=this.getGradient(n,r);if(!o)return this.addParentOpacity(i,s[s.length-1].color);if(s.forEach(c=>{o.addColorStop(c.offset,this.addParentOpacity(i,c.color))}),this.getAttribute("gradientTransform").hasValue()){const{document:c}=this,{MAX_VIRTUAL_PIXELS:l}=Do,{viewPort:u}=c.screen,A=u.getRoot(),h=new Ov(c);h.attributes.x=new At(c,"x",-l/3),h.attributes.y=new At(c,"y",-l/3),h.attributes.width=new At(c,"width",l),h.attributes.height=new At(c,"height",l);const f=new qf(c);f.attributes.transform=new At(c,"transform",this.getAttribute("gradientTransform").getValue()),f.children=[h];const d=new Fo(c);d.attributes.x=new At(c,"x",0),d.attributes.y=new At(c,"y",0),d.attributes.width=new At(c,"width",A.width),d.attributes.height=new At(c,"height",A.height),d.children=[f];const p=c.createCanvas(A.width,A.height),m=p.getContext("2d");return m.fillStyle=o,d.render(m),m.createPattern(p,"no-repeat")}return o}inheritStopContainer(n){this.attributesToInherit.forEach(r=>{!this.getAttribute(r).hasValue()&&n.getAttribute(r).hasValue()&&this.getAttribute(r,!0).setValue(n.getAttribute(r).getValue())})}addParentOpacity(n,r){return n.hasValue()?new At(this.document,"color",r).addOpacity(n).getColor():r}}class $P extends Lv{constructor(n,r,i){super(n,r,i);F(this,"type","linearGradient");this.attributesToInherit.push("x1","y1","x2","y2")}getGradient(n,r){const i=this.getGradientUnits()==="objectBoundingBox",a=i?r.getBoundingBox(n):null;if(i||!a)return null;!this.getAttribute("x1").hasValue()&&!this.getAttribute("y1").hasValue()&&!this.getAttribute("x2").hasValue()&&!this.getAttribute("y2").hasValue()&&(this.getAttribute("x1",!0).setValue(0),this.getAttribute("y1",!0).setValue(0),this.getAttribute("x2",!0).setValue(1),this.getAttribute("y2",!0).setValue(0));const s=i?a.x+a.width*this.getAttribute("x1").getNumber():this.getAttribute("x1").getPixels("x"),o=i?a.y+a.height*this.getAttribute("y1").getNumber():this.getAttribute("y1").getPixels("y"),c=i?a.x+a.width*this.getAttribute("x2").getNumber():this.getAttribute("x2").getPixels("x"),l=i?a.y+a.height*this.getAttribute("y2").getNumber():this.getAttribute("y2").getPixels("y");return s===c&&o===l?null:n.createLinearGradient(s,o,c,l)}}class tk extends Lv{constructor(n,r,i){super(n,r,i);F(this,"type","radialGradient");this.attributesToInherit.push("cx","cy","r","fx","fy","fr")}getGradient(n,r){const i=this.getGradientUnits()==="objectBoundingBox",a=r.getBoundingBox(n);if(i&&!a)return null;this.getAttribute("cx").hasValue()||this.getAttribute("cx",!0).setValue("50%"),this.getAttribute("cy").hasValue()||this.getAttribute("cy",!0).setValue("50%"),this.getAttribute("r").hasValue()||this.getAttribute("r",!0).setValue("50%");const s=i?a.x+a.width*this.getAttribute("cx").getNumber():this.getAttribute("cx").getPixels("x"),o=i?a.y+a.height*this.getAttribute("cy").getNumber():this.getAttribute("cy").getPixels("y");let c=s,l=o;this.getAttribute("fx").hasValue()&&(c=i?a.x+a.width*this.getAttribute("fx").getNumber():this.getAttribute("fx").getPixels("x")),this.getAttribute("fy").hasValue()&&(l=i?a.y+a.height*this.getAttribute("fy").getNumber():this.getAttribute("fy").getPixels("y"));const u=i?(a.width+a.height)/2*this.getAttribute("r").getNumber():this.getAttribute("r").getPixels(),A=this.getAttribute("fr").getPixels();return n.createRadialGradient(c,l,A,s,o,u)}}class ek extends te{constructor(n,r,i){super(n,r,i);F(this,"type","stop");F(this,"offset");F(this,"color");const a=Math.max(0,Math.min(1,this.getAttribute("offset").getNumber())),s=this.getStyle("stop-opacity");let o=this.getStyle("stop-color",!0);o.getString()===""&&o.setValue("#000"),s.hasValue()&&(o=o.addOpacity(s)),this.offset=a,this.color=o.getColor()}}class Zf extends te{constructor(n,r,i){super(n,r,i);F(this,"type","animate");F(this,"begin");F(this,"maxDuration");F(this,"from");F(this,"to");F(this,"values");F(this,"duration",0);F(this,"initialValue");F(this,"initialUnits","");F(this,"removed",!1);F(this,"frozen",!1);n.screen.animations.push(this),this.begin=this.getAttribute("begin").getMilliseconds(),this.maxDuration=this.begin+this.getAttribute("dur").getMilliseconds(),this.from=this.getAttribute("from"),this.to=this.getAttribute("to"),this.values=new At(n,"values",null);const a=this.getAttribute("values");a.hasValue()&&this.values.setValue(a.getString().split(";"))}getProperty(){var i,a;const n=this.getAttribute("attributeType").getString(),r=this.getAttribute("attributeName").getString();return n==="CSS"?(i=this.parent)==null?void 0:i.getStyle(r,!0):(a=this.parent)==null?void 0:a.getAttribute(r,!0)}calcValue(){const{initialUnits:n}=this,{progress:r,from:i,to:a}=this.getProgress();let s=i.getNumber()+(a.getNumber()-i.getNumber())*r;return n==="%"&&(s*=100),`${s}${n}`}update(n){const{parent:r}=this,i=this.getProperty();if(!i)return!1;if(this.initialValue||(this.initialValue=i.getString(),this.initialUnits=i.getUnits()),this.duration>this.maxDuration){const s=this.getAttribute("fill").getString("remove");if(this.getAttribute("repeatCount").getString()==="indefinite"||this.getAttribute("repeatDur").getString()==="indefinite")this.duration=0;else if(s==="freeze"&&!this.frozen)this.frozen=!0,r&&i&&(r.animationFrozen=!0,r.animationFrozenValue=i.getString());else if(s==="remove"&&!this.removed)return this.removed=!0,r&&i&&i.setValue(r.animationFrozen?r.animationFrozenValue:this.initialValue),!0;return!1}this.duration+=n;let a=!1;if(this.begin<this.duration){let s=this.calcValue();const o=this.getAttribute("type");o.hasValue()&&(s=`${o.getString()}(${s})`),i.setValue(s),a=!0}return a}getProgress(){const{document:n,values:r}=this;let i=(this.duration-this.begin)/(this.maxDuration-this.begin),a,s;if(r.hasValue()){const o=i*(r.getValue().length-1),c=Math.floor(o),l=Math.ceil(o);let u;u=r.getValue()[c],a=new At(n,"from",u?parseFloat(u):0),u=r.getValue()[l],s=new At(n,"to",u?parseFloat(u):0),i=(o-c)/(l-c)}else a=this.from,s=this.to;return{progress:i,from:a,to:s}}}class nk extends Zf{constructor(){super(...arguments);F(this,"type","animateColor")}calcValue(){const{progress:n,from:r,to:i}=this.getProgress(),a=new jf(r.getColor()),s=new jf(i.getColor());if(a.ok&&s.ok){const o=a.r+(s.r-a.r)*n,c=a.g+(s.g-a.g)*n,l=a.b+(s.b-a.b)*n;return`rgb(${Math.floor(o)}, ${Math.floor(c)}, ${Math.floor(l)})`}return this.getAttribute("from").getColor()}}class rk extends Zf{constructor(){super(...arguments);F(this,"type","animateTransform")}calcValue(){const{progress:n,from:r,to:i}=this.getProgress(),a=Bn(r.getString()),s=Bn(i.getString());return a.map((c,l)=>{const u=s[l];return c+(u-c)*n}).join(" ")}}class Yv extends te{constructor(n,r,i){super(n,r,i);F(this,"type","font-face");F(this,"ascent");F(this,"descent");F(this,"unitsPerEm");this.ascent=this.getAttribute("ascent").getNumber(),this.descent=this.getAttribute("descent").getNumber(),this.unitsPerEm=this.getAttribute("units-per-em").getNumber()}}class $f extends Pt{constructor(n,r,i){super(n,r,i);F(this,"type","glyph");F(this,"horizAdvX");F(this,"unicode");F(this,"arabicForm");this.horizAdvX=this.getAttribute("horiz-adv-x").getNumber(),this.unicode=this.getAttribute("unicode").getString(),this.arabicForm=this.getAttribute("arabic-form").getString()}}class Hv extends $f{constructor(){super(...arguments);F(this,"type","missing-glyph");F(this,"horizAdvX",0)}}class ik extends te{constructor(n,r,i){super(n,r,i);F(this,"type","font");F(this,"isArabic",!1);F(this,"missingGlyph");F(this,"glyphs",{});F(this,"arabicGlyphs",{});F(this,"horizAdvX");F(this,"isRTL",!1);F(this,"fontFace");this.horizAdvX=this.getAttribute("horiz-adv-x").getNumber();const{definitions:a}=n,{children:s}=this;for(const o of s)if(o instanceof Yv){this.fontFace=o;const c=o.getStyle("font-family");c.hasValue()&&(a[c.getString()]=this)}else if(o instanceof Hv)this.missingGlyph=o;else if(o instanceof $f)if(o.arabicForm){this.isRTL=!0,this.isArabic=!0;const c=this.arabicGlyphs[o.unicode];typeof c>"u"?this.arabicGlyphs[o.unicode]={[o.arabicForm]:o}:c[o.arabicForm]=o}else this.glyphs[o.unicode]=o}render(){}}class ak extends hi{constructor(){super(...arguments);F(this,"type","tref")}getText(){const n=this.getHrefAttribute().getDefinition();if(n){const r=n.children[0];if(r)return r.getText()}return""}}class sk extends hi{constructor(n,r,i){super(n,r,i);F(this,"type","a");F(this,"hasText");F(this,"text");const{childNodes:a}=r,s=a[0],o=a.length>0&&Array.from(a).every(c=>c.nodeType===3);this.hasText=o,this.text=o?this.getTextFromNode(s):""}getText(){return this.text}renderChildren(n){if(this.hasText){super.renderChildren(n);const{document:r,x:i,y:a}=this,{mouse:s}=r.screen,o=new At(r,"fontSize",Ai.parse(r.ctx.font).fontSize);s.isWorking()&&s.checkBoundingBox(this,new jn(i,a-o.getPixels("y"),i+this.measureText(n),a))}else if(this.children.length>0){const r=new qf(this.document);r.children=this.children,r.parent=this,r.render(n)}}onClick(){const{window:n}=this.document;n&&n.open(this.getHrefAttribute().getString())}onMouseMove(){const n=this.document.ctx;n.canvas.style.cursor="pointer"}}class ok extends hi{constructor(n,r,i){super(n,r,i);F(this,"type","textPath");F(this,"textWidth",0);F(this,"textHeight",0);F(this,"pathLength",-1);F(this,"glyphInfo",null);F(this,"text");F(this,"dataArray");F(this,"letterSpacingCache",[]);F(this,"equidistantCache",null);F(this,"measuresCache",new Map([["",0]]));const a=this.getHrefAttribute().getDefinition();this.text=this.getTextFromNode(),this.dataArray=this.parsePathData(a)}getText(){return this.text}path(n){const{dataArray:r}=this;n&&n.beginPath(),r.forEach(({type:i,points:a})=>{switch(i){case St.LINE_TO:n&&n.lineTo(a[0],a[1]);break;case St.MOVE_TO:n&&n.moveTo(a[0],a[1]);break;case St.CURVE_TO:n&&n.bezierCurveTo(a[0],a[1],a[2],a[3],a[4],a[5]);break;case St.QUAD_TO:n&&n.quadraticCurveTo(a[0],a[1],a[2],a[3]);break;case St.ARC:{const[s,o,c,l,u,A,h,f]=a,d=c>l?c:l,p=c>l?1:c/l,m=c>l?l/c:1;n&&(n.translate(s,o),n.rotate(h),n.scale(p,m),n.arc(0,0,d,u,u+A,!!(1-f)),n.scale(1/p,1/m),n.rotate(-h),n.translate(-s,-o));break}case St.CLOSE_PATH:n&&n.closePath();break}})}renderChildren(n){var o;this.setTextData(n),n.save();const r=(o=this.parent)==null?void 0:o.getStyle("text-decoration").getString(),i=this.getFontSize(),{glyphInfo:a}=this,s=n.fillStyle;r==="underline"&&n.beginPath(),a.forEach((c,l)=>{const{p0:u,p1:A,rotation:h,text:f}=c;n.save(),n.translate(u.x,u.y),n.rotate(h),n.fillStyle&&n.fillText(f,0,0),n.strokeStyle&&n.strokeText(f,0,0),n.restore(),r==="underline"&&(l===0&&n.moveTo(u.x,u.y+i/8),n.lineTo(A.x,A.y+i/5))}),r==="underline"&&(n.lineWidth=i/20,n.strokeStyle=s,n.stroke(),n.closePath()),n.restore()}getLetterSpacingAt(n=0){return this.letterSpacingCache[n]||0}findSegmentToFitChar(n,r,i,a,s,o,c,l,u){let A=o,h=this.measureText(n,l);l===" "&&r==="justify"&&i<a&&(h+=(a-i)/s),u>-1&&(A+=this.getLetterSpacingAt(u));const f=this.textHeight/20,d=this.getEquidistantPointOnPath(A,f,0),p=this.getEquidistantPointOnPath(A+h,f,0),m={p0:d,p1:p},y=d&&p?Math.atan2(p.y-d.y,p.x-d.x):0;if(c){const v=Math.cos(Math.PI/2+y)*c,w=Math.cos(-y)*c;m.p0={...d,distance:d.distance||0,x:d.x+v,y:d.y+w},m.p1={...p,distance:p.distance||0,x:p.x+v,y:p.y+w}}return A+=h,{offset:A,segment:m,rotation:y}}measureText(n,r){const{measuresCache:i}=this,a=r||this.getText();if(i.has(a))return i.get(a);const s=this.measureTargetText(n,a);return i.set(a,s),s}setTextData(n){var B,C,x;if(this.glyphInfo)return;const r=this.getText(),i=r.split(""),a=r.split(" ").length-1,s=(B=this.parent)==null?void 0:B.getAttribute("dx").split().map(b=>b.getPixels("x")),o=(C=this.parent)==null?void 0:C.getAttribute("dy").getPixels("y"),c=this.getAttribute("text-anchor").getString("start"),l=this.getStyle("letter-spacing"),u=(x=this.parent)==null?void 0:x.getStyle("letter-spacing");let A=0;!l.hasValue()||l.getValue()==="inherit"?A=u.getPixels():l.hasValue()&&l.getValue()!=="initial"&&l.getValue()!=="unset"&&(A=l.getPixels());const h=[],f=r.length;this.letterSpacingCache=h;for(let b=0;b<f;b++)h.push(typeof s[b]<"u"?s[b]:A);const d=h.reduce((b,D,T)=>T===0?0:b+D||0,0),p=this.measureText(n),m=Math.max(p+d,0);this.textWidth=p,this.textHeight=this.getFontSize(),this.glyphInfo=[];const y=this.getPathLength(),v=this.getAttribute("startOffset").getNumber(0)*y;let w=0;(c==="middle"||c==="center")&&(w=-m/2),(c==="end"||c==="right")&&(w=-m),w+=v,i.forEach((b,D)=>{const{offset:T,segment:P,rotation:L}=this.findSegmentToFitChar(n,c,m,y,a,w,o,b,D);w=T,!(!P.p0||!P.p1)&&this.glyphInfo.push({text:i[D],p0:P.p0,p1:P.p1,rotation:L})})}parsePathData(n){if(this.pathLength=-1,!n)return[];const r=[],{pathParser:i}=n;for(i.reset();!i.isEnd();){const{current:a}=i,s=a?a.x:0,o=a?a.y:0,c=i.next();let l=c.type,u=[];switch(c.type){case St.MOVE_TO:this.pathM(i,u);break;case St.LINE_TO:l=this.pathL(i,u);break;case St.HORIZ_LINE_TO:l=this.pathH(i,u);break;case St.VERT_LINE_TO:l=this.pathV(i,u);break;case St.CURVE_TO:this.pathC(i,u);break;case St.SMOOTH_CURVE_TO:l=this.pathS(i,u);break;case St.QUAD_TO:this.pathQ(i,u);break;case St.SMOOTH_QUAD_TO:l=this.pathT(i,u);break;case St.ARC:u=this.pathA(i);break;case St.CLOSE_PATH:Pt.pathZ(i);break}c.type!==St.CLOSE_PATH?r.push({type:l,points:u,start:{x:s,y:o},pathLength:this.calcLength(s,o,l,u)}):r.push({type:St.CLOSE_PATH,points:[],pathLength:0})}return r}pathM(n,r){const{x:i,y:a}=Pt.pathM(n).point;r.push(i,a)}pathL(n,r){const{x:i,y:a}=Pt.pathL(n).point;return r.push(i,a),St.LINE_TO}pathH(n,r){const{x:i,y:a}=Pt.pathH(n).point;return r.push(i,a),St.LINE_TO}pathV(n,r){const{x:i,y:a}=Pt.pathV(n).point;return r.push(i,a),St.LINE_TO}pathC(n,r){const{point:i,controlPoint:a,currentPoint:s}=Pt.pathC(n);r.push(i.x,i.y,a.x,a.y,s.x,s.y)}pathS(n,r){const{point:i,controlPoint:a,currentPoint:s}=Pt.pathS(n);return r.push(i.x,i.y,a.x,a.y,s.x,s.y),St.CURVE_TO}pathQ(n,r){const{controlPoint:i,currentPoint:a}=Pt.pathQ(n);r.push(i.x,i.y,a.x,a.y)}pathT(n,r){const{controlPoint:i,currentPoint:a}=Pt.pathT(n);return r.push(i.x,i.y,a.x,a.y),St.QUAD_TO}pathA(n){let{rX:r,rY:i,sweepFlag:a,xAxisRotation:s,centp:o,a1:c,ad:l}=Pt.pathA(n);return a===0&&l>0&&(l-=2*Math.PI),a===1&&l<0&&(l+=2*Math.PI),[o.x,o.y,r,i,c,l,s,a]}calcLength(n,r,i,a){let s=0,o=null,c=null,l=0;switch(i){case St.LINE_TO:return this.getLineLength(n,r,a[0],a[1]);case St.CURVE_TO:for(s=0,o=this.getPointOnCubicBezier(0,n,r,a[0],a[1],a[2],a[3],a[4],a[5]),l=.01;l<=1;l+=.01)c=this.getPointOnCubicBezier(l,n,r,a[0],a[1],a[2],a[3],a[4],a[5]),s+=this.getLineLength(o.x,o.y,c.x,c.y),o=c;return s;case St.QUAD_TO:for(s=0,o=this.getPointOnQuadraticBezier(0,n,r,a[0],a[1],a[2],a[3]),l=.01;l<=1;l+=.01)c=this.getPointOnQuadraticBezier(l,n,r,a[0],a[1],a[2],a[3]),s+=this.getLineLength(o.x,o.y,c.x,c.y),o=c;return s;case St.ARC:{s=0;const u=a[4],A=a[5],h=a[4]+A;let f=Math.PI/180;if(Math.abs(u-h)<f&&(f=Math.abs(u-h)),o=this.getPointOnEllipticalArc(a[0],a[1],a[2],a[3],u,0),A<0)for(l=u-f;l>h;l-=f)c=this.getPointOnEllipticalArc(a[0],a[1],a[2],a[3],l,0),s+=this.getLineLength(o.x,o.y,c.x,c.y),o=c;else for(l=u+f;l<h;l+=f)c=this.getPointOnEllipticalArc(a[0],a[1],a[2],a[3],l,0),s+=this.getLineLength(o.x,o.y,c.x,c.y),o=c;return c=this.getPointOnEllipticalArc(a[0],a[1],a[2],a[3],h,0),s+=this.getLineLength(o.x,o.y,c.x,c.y),s}}return 0}getPointOnLine(n,r,i,a,s,o=r,c=i){const l=(s-i)/(a-r+qa);let u=Math.sqrt(n*n/(1+l*l));a<r&&(u*=-1);let A=l*u,h=null;if(a===r)h={x:o,y:c+A};else if((c-i)/(o-r+qa)===l)h={x:o+u,y:c+A};else{let f=0,d=0;const p=this.getLineLength(r,i,a,s);if(p<qa)return null;let m=(o-r)*(a-r)+(c-i)*(s-i);m/=p*p,f=r+m*(a-r),d=i+m*(s-i);const y=this.getLineLength(o,c,f,d),v=Math.sqrt(n*n-y*y);u=Math.sqrt(v*v/(1+l*l)),a<r&&(u*=-1),A=l*u,h={x:f+u,y:d+A}}return h}getPointOnPath(n){const r=this.getPathLength();let i=0,a=null;if(n<-5e-5||n-5e-5>r)return null;const{dataArray:s}=this;for(const o of s){if(o&&(o.pathLength<5e-5||i+o.pathLength+5e-5<n)){i+=o.pathLength;continue}const c=n-i;let l=0;switch(o.type){case St.LINE_TO:a=this.getPointOnLine(c,o.start.x,o.start.y,o.points[0],o.points[1],o.start.x,o.start.y);break;case St.ARC:{const u=o.points[4],A=o.points[5],h=o.points[4]+A;if(l=u+c/o.pathLength*A,A<0&&l<h||A>=0&&l>h)break;a=this.getPointOnEllipticalArc(o.points[0],o.points[1],o.points[2],o.points[3],l,o.points[6]);break}case St.CURVE_TO:l=c/o.pathLength,l>1&&(l=1),a=this.getPointOnCubicBezier(l,o.start.x,o.start.y,o.points[0],o.points[1],o.points[2],o.points[3],o.points[4],o.points[5]);break;case St.QUAD_TO:l=c/o.pathLength,l>1&&(l=1),a=this.getPointOnQuadraticBezier(l,o.start.x,o.start.y,o.points[0],o.points[1],o.points[2],o.points[3]);break}if(a)return a;break}return null}getLineLength(n,r,i,a){return Math.sqrt((i-n)*(i-n)+(a-r)*(a-r))}getPathLength(){return this.pathLength===-1&&(this.pathLength=this.dataArray.reduce((n,r)=>r.pathLength>0?n+r.pathLength:n,0)),this.pathLength}getPointOnCubicBezier(n,r,i,a,s,o,c,l,u){const A=l*bv(n)+o*Sv(n)+a*Dv(n)+r*Iv(n),h=u*bv(n)+c*Sv(n)+s*Dv(n)+i*Iv(n);return{x:A,y:h}}getPointOnQuadraticBezier(n,r,i,a,s,o,c){const l=o*Fv(n)+a*Qv(n)+r*Mv(n),u=c*Fv(n)+s*Qv(n)+i*Mv(n);return{x:l,y:u}}getPointOnEllipticalArc(n,r,i,a,s,o){const c=Math.cos(o),l=Math.sin(o),u={x:i*Math.cos(s),y:a*Math.sin(s)};return{x:n+(u.x*c-u.y*l),y:r+(u.x*l+u.y*c)}}buildEquidistantCache(n,r){const i=this.getPathLength(),a=r||.25,s=n||i/100;if(!this.equidistantCache||this.equidistantCache.step!==s||this.equidistantCache.precision!==a){this.equidistantCache={step:s,precision:a,points:[]};let o=0;for(let c=0;c<=i;c+=a){const l=this.getPointOnPath(c),u=this.getPointOnPath(c+a);!l||!u||(o+=this.getLineLength(l.x,l.y,u.x,u.y),o>=s&&(this.equidistantCache.points.push({x:l.x,y:l.y,distance:c}),o-=s))}}}getEquidistantPointOnPath(n,r,i){if(this.buildEquidistantCache(r,i),n<0||n-this.getPathLength()>5e-5)return null;const a=Math.round(n/this.getPathLength()*(this.equidistantCache.points.length-1));return this.equidistantCache.points[a]||null}}const ck=/^\s*data:(([^/,;]+\/[^/,;]+)(?:;([^,;=]+=[^,;=]+))?)?(?:;(base64))?,(.*)$/i;class lk extends Ji{constructor(n,r,i){super(n,r,i);F(this,"type","image");F(this,"loaded",!1);F(this,"image");const a=this.getHrefAttribute().getString();if(!a)return;const s=a.endsWith(".svg")||/^\s*data:image\/svg\+xml/i.test(a);n.images.push(this),s?this.loadSvg(a):this.loadImage(a)}async loadImage(n){try{const r=await this.document.createImage(n);this.image=r}catch(r){console.error(`Error while loading image "${n}":`,r)}this.loaded=!0}async loadSvg(n){const r=ck.exec(n);if(r){const i=r[5];i&&(r[4]==="base64"?this.image=atob(i):this.image=decodeURIComponent(i))}else try{const a=await(await this.document.fetch(n)).text();this.image=a}catch(i){console.error(`Error while loading image "${n}":`,i)}this.loaded=!0}renderChildren(n){const{document:r,image:i,loaded:a}=this,s=this.getAttribute("x").getPixels("x"),o=this.getAttribute("y").getPixels("y"),c=this.getStyle("width").getPixels("x"),l=this.getStyle("height").getPixels("y");if(!(!a||!i||!c||!l)){if(n.save(),n.translate(s,o),typeof i=="string"){const u=r.pith.forkString(n,i,{ignoreMouse:!0,ignoreAnimation:!0,ignoreDimensions:!0,ignoreClear:!0,offsetX:0,offsetY:0,scaleWidth:c,scaleHeight:l}),{documentElement:A}=u.document;A&&(A.parent=this),u.resize(c,l,this.getAttribute("preserveAspectRatio").getString()),u.render()}else r.setViewBox({ctx:n,aspectRatio:this.getAttribute("preserveAspectRatio").getString(),width:c,desiredWidth:i.width,height:l,desiredHeight:i.height}),this.loaded&&(!("complete"in i)||i.complete)&&n.drawImage(i,0,0);n.restore()}}getBoundingBox(){const n=this.getAttribute("x").getPixels("x"),r=this.getAttribute("y").getPixels("y"),i=this.getStyle("width").getPixels("x"),a=this.getStyle("height").getPixels("y");return new jn(n,r,n+i,r+a)}}class uk extends Ji{constructor(){super(...arguments);F(this,"type","symbol")}render(n){}}class Ak{constructor(t){F(this,"document");F(this,"loaded",!1);this.document=t,t.fonts.push(this)}async load(t,n){try{const{document:r}=this,a=(await r.pith.parser.load(n)).getElementsByTagName("font");Array.from(a).forEach(s=>{const o=r.createElement(s);r.definitions[t]=o})}catch(r){console.error(`Error while loading font "${n}":`,r)}this.loaded=!0}}class Gv extends te{constructor(n,r,i){super(n,r,i);F(this,"type","style");_a(Array.from(r.childNodes).map(o=>o.textContent).join("").replace(/(\/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+\/)|(^[\s]*\/\/.*)/gm,"").replace(/@import.*;/g,"")).split("}").forEach(o=>{const c=o.trim();if(!c)return;const l=c.split("{"),u=l[0].split(","),A=l[1].split(";");u.forEach(h=>{const f=h.trim();if(!f)return;const d=n.styles[f]||{};if(A.forEach(p=>{const m=p.indexOf(":"),y=p.substr(0,m).trim(),v=p.substr(m+1,p.length-m).trim();y&&v&&(d[y]=new At(n,y,v))}),n.styles[f]=d,n.stylesSpecificity[f]=FP(f),f==="@font-face"){const p=d["font-family"].getString().replace(/"|'/g,"");d.src.getString().split(",").forEach(y=>{if(y.indexOf('format("svg")')>0){const v=Bv(y);v&&new Ak(n).load(p,v)}})}})})}}F(Gv,"parseExternalUrl",Bv);class hk extends Ji{constructor(){super(...arguments);F(this,"type","use");F(this,"cachedElement")}setContext(n){super.setContext(n);const r=this.getAttribute("x"),i=this.getAttribute("y");r.hasValue()&&n.translate(r.getPixels("x"),0),i.hasValue()&&n.translate(0,i.getPixels("y"))}path(n){const{element:r}=this;r&&r.path(n)}renderChildren(n){const{document:r,element:i}=this;if(i){let a=i;if(i.type==="symbol"&&(a=new Fo(r),a.attributes.viewBox=new At(r,"viewBox",i.getAttribute("viewBox").getString()),a.attributes.preserveAspectRatio=new At(r,"preserveAspectRatio",i.getAttribute("preserveAspectRatio").getString()),a.attributes.overflow=new At(r,"overflow",i.getAttribute("overflow").getString()),a.children=i.children,i.styles.opacity=new At(r,"opacity",this.calculateOpacity())),a.type==="svg"){const o=this.getStyle("width",!1,!0),c=this.getStyle("height",!1,!0);o.hasValue()&&(a.attributes.width=new At(r,"width",o.getString())),c.hasValue()&&(a.attributes.height=new At(r,"height",c.getString()))}const s=a.parent;a.parent=this,a.render(n),a.parent=s}}getBoundingBox(n){const{element:r}=this;return r?r.getBoundingBox(n):null}elementTransform(){const{document:n,element:r}=this;return r?Io.fromElement(n,r):null}get element(){return this.cachedElement||(this.cachedElement=this.getHrefAttribute().getDefinition()),this.cachedElement}}function uu(e,t,n,r,i,a){return e[n*r*4+t*4+a]}function Au(e,t,n,r,i,a,s){e[n*r*4+t*4+a]=s}function be(e,t,n){return e[t]*n}function Dr(e,t,n,r){return t+Math.cos(e)*n+Math.sin(e)*r}class Vv extends te{constructor(n,r,i){super(n,r,i);F(this,"type","feColorMatrix");F(this,"matrix");F(this,"includeOpacity");let a=Bn(this.getAttribute("values").getString());switch(this.getAttribute("type").getString("matrix")){case"saturate":{const s=a[0];a=[.213+.787*s,.715-.715*s,.072-.072*s,0,0,.213-.213*s,.715+.285*s,.072-.072*s,0,0,.213-.213*s,.715-.715*s,.072+.928*s,0,0,0,0,0,1,0,0,0,0,0,1];break}case"hueRotate":{const s=a[0]*Math.PI/180;a=[Dr(s,.213,.787,-.213),Dr(s,.715,-.715,-.715),Dr(s,.072,-.072,.928),0,0,Dr(s,.213,-.213,.143),Dr(s,.715,.285,.14),Dr(s,.072,-.072,-.283),0,0,Dr(s,.213,-.213,-.787),Dr(s,.715,-.715,.715),Dr(s,.072,.928,.072),0,0,0,0,0,1,0,0,0,0,0,1];break}case"luminanceToAlpha":a=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,.2125,.7154,.0721,0,0,0,0,0,0,1];break}this.matrix=a,this.includeOpacity=this.getAttribute("includeOpacity").hasValue()}apply(n,r,i,a,s){const{includeOpacity:o,matrix:c}=this,l=n.getImageData(0,0,a,s);for(let u=0;u<s;u++)for(let A=0;A<a;A++){const h=uu(l.data,A,u,a,s,0),f=uu(l.data,A,u,a,s,1),d=uu(l.data,A,u,a,s,2),p=uu(l.data,A,u,a,s,3);let m=be(c,0,h)+be(c,1,f)+be(c,2,d)+be(c,3,p)+be(c,4,1),y=be(c,5,h)+be(c,6,f)+be(c,7,d)+be(c,8,p)+be(c,9,1),v=be(c,10,h)+be(c,11,f)+be(c,12,d)+be(c,13,p)+be(c,14,1),w=be(c,15,h)+be(c,16,f)+be(c,17,d)+be(c,18,p)+be(c,19,1);o&&(m=0,y=0,v=0,w*=p/255),Au(l.data,A,u,a,s,0,m),Au(l.data,A,u,a,s,1,y),Au(l.data,A,u,a,s,2,v),Au(l.data,A,u,a,s,3,w)}n.clearRect(0,0,a,s),n.putImageData(l,0,0)}}const ku=class ku extends te{constructor(){super(...arguments);F(this,"type","mask")}apply(n,r){const{document:i}=this;let a=this.getAttribute("x").getPixels("x"),s=this.getAttribute("y").getPixels("y"),o=this.getStyle("width").getPixels("x"),c=this.getStyle("height").getPixels("y");if(!o&&!c){const d=new jn;this.children.forEach(p=>{p instanceof Pt&&d.addBoundingBox(p.getBoundingBox(n))}),a=Math.floor(d.x1),s=Math.floor(d.y1),o=Math.floor(d.width),c=Math.floor(d.height)}const l=this.removeStyles(r,ku.ignoreStyles),u=i.createCanvas(a+o,s+c),A=u.getContext("2d");i.screen.setDefaults(A),this.renderChildren(A),new Vv(i,{nodeType:1,childNodes:[],attributes:[{nodeName:"type",value:"luminanceToAlpha"},{nodeName:"includeOpacity",value:"true"}]}).apply(A,0,0,a+o,s+c);const h=i.createCanvas(a+o,s+c),f=h.getContext("2d");i.screen.setDefaults(f),r.render(f),f.globalCompositeOperation="destination-in",f.fillStyle=A.createPattern(u,"no-repeat"),f.fillRect(0,0,a+o,s+c),n.fillStyle=f.createPattern(h,"no-repeat"),n.fillRect(0,0,a+o,s+c),this.restoreStyles(r,l)}render(n){}};F(ku,"ignoreStyles",["mask","transform","clip-path"]);let t0=ku;const zv=()=>{};class fk extends te{constructor(){super(...arguments);F(this,"type","clipPath")}apply(n){const{document:r}=this,i=Reflect.getPrototypeOf(n),{beginPath:a,closePath:s}=n;i&&(i.beginPath=zv,i.closePath=zv),Reflect.apply(a,n,[]),this.children.forEach(o=>{if(!("path"in o))return;let c="elementTransform"in o?o.elementTransform():null;c||(c=Io.fromElement(r,o)),c&&c.apply(n),o.path(n),i&&(i.closePath=s),c&&c.unapply(n)}),Reflect.apply(s,n,[]),n.clip(),i&&(i.beginPath=a,i.closePath=s)}render(n){}}class e0 extends te{constructor(n,r,i){super(n,r,i);F(this,"type","feGaussianBlur");F(this,"extraFilterDistance");F(this,"blurRadius");this.blurRadius=Math.floor(this.getAttribute("stdDeviation").getNumber()),this.extraFilterDistance=this.blurRadius}apply(n,r,i,a,s){const{document:o,blurRadius:c}=this,l=o.window?o.window.document.body:null,u=n.canvas;u.id=o.getUniqueId(),l&&(u.style.display="none",l.appendChild(u)),gP(u,r,i,a,s,c),l&&l.removeChild(u)}}const Ru=class Ru extends te{constructor(){super(...arguments);F(this,"type","filter")}apply(n,r){const{document:i,children:a}=this,s="getBoundingBox"in r?r.getBoundingBox(n):null;if(!s)return;let o=0,c=0;a.forEach(v=>{if(!(v instanceof e0))return;const w=v.extraFilterDistance||0;o=Math.max(o,w),c=Math.max(c,w)});const l=Math.floor(s.width),u=Math.floor(s.height),A=l+2*o,h=u+2*c;if(Number.isNaN(A)||Number.isNaN(h)||A<1||h<1)return;const f=Math.floor(s.x),d=Math.floor(s.y),p=this.removeStyles(r,Ru.ignoreStyles),m=i.createCanvas(A,h),y=m.getContext("2d");i.screen.setDefaults(y),y.translate(-f+o,-d+c),r.render(y),a.forEach(v=>{v instanceof e0&&typeof v.apply=="function"&&v.apply(y,0,0,A,h)}),n.drawImage(m,0,0,A,h,f-o,d-c,A,h),this.restoreStyles(r,p)}render(n){}};F(Ru,"ignoreStyles",["filter","transform","clip-path"]);let n0=Ru;class gk extends te{constructor(n,r,i){super(n,r,i);F(this,"type","feDropShadow");this.addStylesFromStyleDefinition()}apply(n,r,i,a,s){}}class dk extends te{constructor(){super(...arguments);F(this,"type","feMorphology")}apply(n,r,i,a,s){}}class pk extends te{constructor(){super(...arguments);F(this,"type","feComposite")}apply(n,r,i,a,s){}}class mk extends te{constructor(){super(...arguments);F(this,"type","title")}}class yk extends te{constructor(){super(...arguments);F(this,"type","desc")}}const wk={svg:Fo,rect:Ov,circle:jP,ellipse:WP,line:KP,polyline:Uv,polygon:XP,path:Pt,pattern:_P,marker:qP,defs:ZP,linearGradient:$P,radialGradient:tk,stop:ek,animate:Zf,animateColor:nk,animateTransform:rk,font:ik,"font-face":Yv,"missing-glyph":Hv,glyph:$f,text:hi,tspan:lu,tref:ak,a:sk,textPath:ok,image:lk,g:qf,symbol:uk,style:Gv,use:hk,mask:t0,clipPath:fk,filter:n0,feDropShadow:gk,feMorphology:dk,feComposite:pk,feColorMatrix:Vv,feGaussianBlur:e0,title:mk,desc:yk};function vk(e,t){const n=document.createElement("canvas");return n.width=e,n.height=t,n}async function Ek(e,t=!1){const n=document.createElement("img");return t&&(n.crossOrigin="Anonymous"),new Promise((r,i)=>{n.onload=()=>{r(n)},n.onerror=(a,s,o,c,l)=>{i(l)},n.src=e})}const r0=12,pi=class pi{constructor(t,{rootEmSize:n=r0,emSize:r=r0,createCanvas:i=pi.createCanvas,createImage:a=pi.createImage,anonymousCrossOrigin:s}={}){F(this,"pith");F(this,"rootEmSize");F(this,"documentElement");F(this,"screen");F(this,"createCanvas");F(this,"createImage");F(this,"definitions",{});F(this,"styles",{});F(this,"stylesSpecificity",{});F(this,"images",[]);F(this,"fonts",[]);F(this,"emSizeStack",[]);F(this,"uniqueId",0);this.pith=t,this.screen=t.screen,this.rootEmSize=n,this.emSize=r,this.createCanvas=i,this.createImage=this.bindCreateImage(a,s),this.screen.wait(()=>this.isImagesLoaded()),this.screen.wait(()=>this.isFontsLoaded())}bindCreateImage(t,n){return typeof n=="boolean"?(r,i)=>t(r,typeof i=="boolean"?i:n):t}get window(){return this.screen.window}get fetch(){return this.screen.fetch}get ctx(){return this.screen.ctx}get emSize(){const{emSizeStack:t}=this;return t[t.length-1]||r0}set emSize(t){const{emSizeStack:n}=this;n.push(t)}popEmSize(){const{emSizeStack:t}=this;t.pop()}getUniqueId(){return`pith${++this.uniqueId}`}isImagesLoaded(){return this.images.every(t=>t.loaded)}isFontsLoaded(){return this.fonts.every(t=>t.loaded)}createDocumentElement(t){const n=this.createElement(t.documentElement,"svg");return n.root=!0,n.addStylesFromStyleDefinition(),this.documentElement=n,n}createElement(t,n){const r=n||t.nodeName.replace(/^[^:]+:/,""),i=pi.elementTypes[r];return i?new i(this,t):new YP(this,t)}createTextNode(t){return new JP(this,t)}setViewBox(t){this.screen.setViewBox({document:this,...t})}};F(pi,"createCanvas",vk),F(pi,"createImage",Ek),F(pi,"elementTypes",wk);let i0=pi;class ji{constructor(t,n,r={}){F(this,"parser");F(this,"screen");F(this,"document");F(this,"documentElement");F(this,"options");this.parser=new _f(r),this.screen=new Do(t,r),this.options=r;const i=new i0(this,r),a=i.createDocumentElement(n);this.document=i,this.documentElement=a}static async from(t,n,r={}){const a=await new _f(r).parse(n);return new ji(t,a,r)}static fromString(t,n,r={}){const a=new _f(r).parseFromString(n);return new ji(t,a,r)}fork(t,n,r={}){return ji.from(t,n,{...this.options,...r})}forkString(t,n,r={}){return ji.fromString(t,n,{...this.options,...r})}ready(){return this.screen.ready()}isReady(){return this.screen.isReady()}async render(t={}){this.start({enableRedraw:!0,ignoreAnimation:!0,ignoreMouse:!0,...t}),await this.ready(),this.stop()}start(t={}){const{documentElement:n,screen:r,options:i}=this;r.start(n,{enableRedraw:!0,...i,...t})}stop(){this.screen.stop()}resize(t,n=t,r=!1){this.documentElement.resize(t,n,r)}}const a0=e=>{const t=[];for(const n of e.steps)switch(n.type){case j.DigitalContent:n.data.varyUpload&&t.push({stepName:n.stepName,stepType:n.type,aspectType:sn.Upload});break;case j.Frame:const i=n.data;i.varySelection&&n.option&&t.push({stepName:n.stepName,stepType:n.type,aspectType:sn.Selection}),i.varyUpload&&t.push({stepName:n.stepName,stepType:n.type,aspectType:sn.Upload});break;case j.Illustration:const a=n.data;a.varySelection&&n.option&&t.push({stepName:n.stepName,stepType:n.type,aspectType:sn.Selection}),a.varyColors&&a.colorPickerEnabled&&t.push({stepName:n.stepName,stepType:n.type,aspectType:sn.Colors});break;case j.Material:n.data.varySelection&&t.push({stepName:n.stepName,stepType:n.type,aspectType:sn.Selection});break;case j.Model:n.data.varySelection&&t.push({stepName:n.stepName,stepType:n.type,aspectType:sn.Selection});break;case j.Picture:n.data.varySelection&&t.push({stepName:n.stepName,stepType:n.type,aspectType:sn.Selection});break;case j.Question:n.data.varySelections&&t.push({stepName:n.stepName,stepType:n.type,aspectType:sn.Selections});break;case j.Shape:n.data.varySelection&&t.push({stepName:n.stepName,stepType:n.type,aspectType:sn.Selection});break;case j.Text:const A=n.data;A.varyText&&t.push({stepName:n.stepName,stepType:n.type,aspectType:sn.Text}),A.varySelection&&n.option&&t.push({stepName:n.stepName,stepType:n.type,aspectType:sn.Selection}),A.varyColor&&A.colorPickerEnabled&&t.push({stepName:n.stepName,stepType:n.type,aspectType:sn.Color});break}return t},Qo=[j.SilentIllustration,j.ProductOverlay],Bk=async(e,t,n)=>{var i;const r=[];e.introduction&&r.push({name:"Introduction",title:e.name,renderableSteps:[{type:j.Introduction,stepName:"Introduction",stepTitle:e.name,helpText:e.introduction,data:{},conditions:[]}],silentSteps:[]});for(const a of e.steps){if(t.bulkScene){let o=!1;switch(a.type){case j.DigitalContent:a.data.varyUpload&&(o=!0);break;case j.Frame:{const c=a.data;c.varyUpload&&(c.varySelection||!a.option)&&(o=!0)}break;case j.Illustration:{const c=a.data;(c.varySelection||!a.option||(a.option.variants||[]).length===1)&&(c.varyColors||!c.colorPickerEnabled)&&(o=!0)}break;case j.Material:a.data.varySelection&&(o=!0);break;case j.Model:a.data.varySelection&&(o=!0);break;case j.Picture:a.data.varySelection&&(o=!0);break;case j.Question:a.data.varySelections&&(o=!0);break;case j.Shape:a.data.varySelection&&(o=!0);break;case j.Text:{const c=a.data;(c.varySelection||!a.option||(a.option.variants||[]).length===1)&&(c.varyColor||!c.colorPickerEnabled||!c.colorOption)&&c.varyText&&(o=!0)}break}if(o)continue}const s=Ck(a.stepName,e.stepGroups);if(!s)r.push({name:a.stepName,title:a.stepTitle,renderableSteps:Qo.includes(a.type)?[]:[a],silentSteps:Qo.includes(a.type)?[a]:[]});else{const o=r.find(c=>c.name===s.name);o?Qo.includes(a.type)?o.silentSteps.push(a):o.renderableSteps.push(a):r.push({name:s.name,title:s.name,renderableSteps:Qo.includes(a.type)?[]:[a],silentSteps:Qo.includes(a.type)?[a]:[]})}}if(t.bulkScene){const a=(i=n==null?void 0:n.product)==null?void 0:i.bulkConfiguration;r.push({name:"Bulk",title:(a==null?void 0:a.sceneTitle)??t.bulkSceneTitle,renderableSteps:[{type:j.Bulk,stepName:"Bulk",stepTitle:(a==null?void 0:a.stepTitle)??t.bulkSceneTitle,helpText:a==null?void 0:a.helpText,data:{aspects:a0(e)},conditions:[]}],silentSteps:[]})}return t.finishScene&&r.push({name:"Finish",title:t.finishSceneTitle,renderableSteps:[{type:j.Finish,stepName:"Finish",stepTitle:t.finishSceneTitle,helpText:"",data:{modelAnimation:e.finalizeStepConfig?e.finalizeStepConfig.modelAnimation:void 0,lookAtAnimation:e.finalizeStepConfig?e.finalizeStepConfig.lookAtAnimation:void 0},conditions:[]}],silentSteps:[]}),r},Ck=(e,t)=>t.find(n=>n.stepNames.includes(e)),Za=(e,t)=>(e.conditions||[]).every(n=>{const r=t[n.targetStepName];if(r&&r.selectedVariants){const i=r.selectedVariants;return n.requiredVariantSelections.some(a=>i.find(s=>s.id===a)!==void 0)}return!1}),xk=(e,t)=>{const n={name:e.name,title:e.title,renderableSteps:e.renderableSteps.filter(r=>Za(r,t)),silentSteps:e.silentSteps.filter(r=>Za(r,t))};return n.silentSteps.length===0&&n.renderableSteps.length===0?null:n},Mo=(e,t)=>e.map(n=>xk(n,t)).filter(n=>n!==null),bk=async(e,t)=>{var a;const n=Mo(e,t),r=[];for(const s of n)for(const o of s.renderableSteps)if(o.type===j.Model||o.type===j.Material||o.type===j.Picture||o.type===j.Shape){const c=(((a=o.option)==null?void 0:a.variants)||[]).length;c&&c>1&&r.push(o.stepName)}else r.push(o.stepName);const i=n.filter(s=>s.renderableSteps.filter(c=>r.includes(c.stepName)).length>0);for(const s of i)s.renderableSteps=s.renderableSteps.filter(o=>r.includes(o.stepName));return i};class s0{constructor(){this.timestamp=Date.now()}}class o0{constructor(t){this.queue=[],this.activePromise=void 0,this.queueMaxSize=void 0,this.queueMaxSize=t}enqueue(t){if(this.queue.push(t),this.queueMaxSize!==void 0&&this.queue.length>this.queueMaxSize){const n=this.queue.length-1;for(let r=0;r<n;++r)this.queue.shift()}this.activePromise||(this.activePromise=this.dequeue())}hasActivePromise(){return!!this.activePromise}getRemainingQueueSize(){return this.queue.length}async finalize(){return this.activePromise?this.activePromise:Promise.resolve()}async dequeue(){const t=this.queue.shift();if(!t){this.activePromise=void 0;return}try{await t.execute()}catch(n){console.log(n)}finally{await this.dequeue()}}}var Sk="Expected a function",Jv=0/0,Dk="[object Symbol]",Ik=/^\s+|\s+$/g,Fk=/^[-+]0x[0-9a-f]+$/i,Qk=/^0b[01]+$/i,Mk=/^0o[0-7]+$/i,Tk=parseInt,Nk=typeof An=="object"&&An&&An.Object===Object&&An,Pk=typeof self=="object"&&self&&self.Object===Object&&self,kk=Nk||Pk||Function("return this")(),Rk=Object.prototype,Ok=Rk.toString,Uk=Math.max,Lk=Math.min,c0=function(){return kk.Date.now()};function Yk(e,t,n){var r,i,a,s,o,c,l=0,u=!1,A=!1,h=!0;if(typeof e!="function")throw new TypeError(Sk);t=jv(t)||0,l0(n)&&(u=!!n.leading,A="maxWait"in n,a=A?Uk(jv(n.maxWait)||0,t):a,h="trailing"in n?!!n.trailing:h);function f(x){var b=r,D=i;return r=i=void 0,l=x,s=e.apply(D,b),s}function d(x){return l=x,o=setTimeout(y,t),u?f(x):s}function p(x){var b=x-c,D=x-l,T=t-b;return A?Lk(T,a-D):T}function m(x){var b=x-c,D=x-l;return c===void 0||b>=t||b<0||A&&D>=a}function y(){var x=c0();if(m(x))return v(x);o=setTimeout(y,p(x))}function v(x){return o=void 0,h&&r?f(x):(r=i=void 0,s)}function w(){o!==void 0&&clearTimeout(o),l=0,r=c=i=o=void 0}function B(){return o===void 0?s:v(c0())}function C(){var x=c0(),b=m(x);if(r=arguments,i=this,c=x,b){if(o===void 0)return d(c);if(A)return o=setTimeout(y,t),f(c)}return o===void 0&&(o=setTimeout(y,t)),s}return C.cancel=w,C.flush=B,C}function l0(e){var t=typeof e;return!!e&&(t=="object"||t=="function")}function Hk(e){return!!e&&typeof e=="object"}function Gk(e){return typeof e=="symbol"||Hk(e)&&Ok.call(e)==Dk}function jv(e){if(typeof e=="number")return e;if(Gk(e))return Jv;if(l0(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=l0(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=e.replace(Ik,"");var n=Qk.test(e);return n||Mk.test(e)?Tk(e.slice(2),n?2:8):Fk.test(e)?Jv:+e}var Vk=Yk;const Wv=Wa(Vk);var hu={exports:{}};hu.exports,function(e,t){var n=200,r="__lodash_hash_undefined__",i=1,a=2,s=9007199254740991,o="[object Arguments]",c="[object Array]",l="[object AsyncFunction]",u="[object Boolean]",A="[object Date]",h="[object Error]",f="[object Function]",d="[object GeneratorFunction]",p="[object Map]",m="[object Number]",y="[object Null]",v="[object Object]",w="[object Promise]",B="[object Proxy]",C="[object RegExp]",x="[object Set]",b="[object String]",D="[object Symbol]",T="[object Undefined]",P="[object WeakMap]",L="[object ArrayBuffer]",U="[object DataView]",z="[object Float32Array]",J="[object Float64Array]",W="[object Int8Array]",Z="[object Int16Array]",ot="[object Int32Array]",lt="[object Uint8Array]",O="[object Uint8ClampedArray]",M="[object Uint16Array]",V="[object Uint32Array]",X=/[\\^$.*+?()[\]{}|]/g,st=/^\[object .+?Constructor\]$/,Mt=/^(?:0|[1-9]\d*)$/,yt={};yt[z]=yt[J]=yt[W]=yt[Z]=yt[ot]=yt[lt]=yt[O]=yt[M]=yt[V]=!0,yt[o]=yt[c]=yt[L]=yt[u]=yt[U]=yt[A]=yt[h]=yt[f]=yt[p]=yt[m]=yt[v]=yt[C]=yt[x]=yt[b]=yt[P]=!1;var Se=typeof An=="object"&&An&&An.Object===Object&&An,hn=typeof self=="object"&&self&&self.Object===Object&&self,Xt=Se||hn||Function("return this")(),Dn=t&&!t.nodeType&&t,Ze=Dn&&!0&&e&&!e.nodeType&&e,$e=Ze&&Ze.exports===Dn,on=$e&&Se.process,fn=function(){try{return on&&on.binding&&on.binding("util")}catch{}}(),_t=fn&&fn.isTypedArray;function Je(g,E){for(var S=-1,N=g==null?0:g.length,at=0,_=[];++S<N;){var dt=g[S];E(dt,S,g)&&(_[at++]=dt)}return _}function cn(g,E){for(var S=-1,N=E.length,at=g.length;++S<N;)g[at+S]=E[S];return g}function xn(g,E){for(var S=-1,N=g==null?0:g.length;++S<N;)if(E(g[S],S,g))return!0;return!1}function _n(g,E){for(var S=-1,N=Array(g);++S<g;)N[S]=E(S);return N}function qn(g){return function(E){return g(E)}}function Vt(g,E){return g.has(E)}function zt(g,E){return g==null?void 0:g[E]}function ne(g){var E=-1,S=Array(g.size);return g.forEach(function(N,at){S[++E]=[at,N]}),S}function re(g,E){return function(S){return g(E(S))}}function gt(g){var E=-1,S=Array(g.size);return g.forEach(function(N){S[++E]=N}),S}var Fe=Array.prototype,bn=Function.prototype,Oe=Object.prototype,je=Xt["__core-js_shared__"],Ue=bn.toString,qt=Oe.hasOwnProperty,tn=function(){var g=/[^.]+$/.exec(je&&je.keys&&je.keys.IE_PROTO||"");return g?"Symbol(src)_1."+g:""}(),en=Oe.toString,Zn=RegExp("^"+Ue.call(qt).replace(X,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),gn=$e?Xt.Buffer:void 0,nn=Xt.Symbol,dn=Xt.Uint8Array,Le=Oe.propertyIsEnumerable,de=Fe.splice,Jt=nn?nn.toStringTag:void 0,De=Object.getOwnPropertySymbols,We=gn?gn.isBuffer:void 0,Ct=re(Object.keys,Object),Xi=Qn(Xt,"DataView"),Fr=Qn(Xt,"Map"),_i=Qn(Xt,"Promise"),qi=Qn(Xt,"Set"),Zi=Qn(Xt,"WeakMap"),$n=Qn(Object,"create"),$i=ae(Xi),Ke=ae(Fr),jo=ae(_i),Wo=ae(qi),Ko=ae(Zi),as=nn?nn.prototype:void 0,ta=as?as.valueOf:void 0;function Yt(g){var E=-1,S=g==null?0:g.length;for(this.clear();++E<S;){var N=g[E];this.set(N[0],N[1])}}function Xo(){this.__data__=$n?$n(null):{},this.size=0}function _o(g){var E=this.has(g)&&delete this.__data__[g];return this.size-=E?1:0,E}function qo(g){var E=this.__data__;if($n){var S=E[g];return S===r?void 0:S}return qt.call(E,g)?E[g]:void 0}function Zo(g){var E=this.__data__;return $n?E[g]!==void 0:qt.call(E,g)}function $o(g,E){var S=this.__data__;return this.size+=this.has(g)?0:1,S[g]=$n&&E===void 0?r:E,this}Yt.prototype.clear=Xo,Yt.prototype.delete=_o,Yt.prototype.get=qo,Yt.prototype.has=Zo,Yt.prototype.set=$o;function ie(g){var E=-1,S=g==null?0:g.length;for(this.clear();++E<S;){var N=g[E];this.set(N[0],N[1])}}function tc(){this.__data__=[],this.size=0}function ec(g){var E=this.__data__,S=yi(E,g);if(S<0)return!1;var N=E.length-1;return S==N?E.pop():de.call(E,S,1),--this.size,!0}function nc(g){var E=this.__data__,S=yi(E,g);return S<0?void 0:E[S][1]}function rc(g){return yi(this.__data__,g)>-1}function ic(g,E){var S=this.__data__,N=yi(S,g);return N<0?(++this.size,S.push([g,E])):S[N][1]=E,this}ie.prototype.clear=tc,ie.prototype.delete=ec,ie.prototype.get=nc,ie.prototype.has=rc,ie.prototype.set=ic;function pe(g){var E=-1,S=g==null?0:g.length;for(this.clear();++E<S;){var N=g[E];this.set(N[0],N[1])}}function ac(){this.size=0,this.__data__={hash:new Yt,map:new(Fr||ie),string:new Yt}}function sc(g){var E=Ye(this,g).delete(g);return this.size-=E?1:0,E}function oc(g){return Ye(this,g).get(g)}function cc(g){return Ye(this,g).has(g)}function lc(g,E){var S=Ye(this,g),N=S.size;return S.set(g,E),this.size+=S.size==N?0:1,this}pe.prototype.clear=ac,pe.prototype.delete=sc,pe.prototype.get=oc,pe.prototype.has=cc,pe.prototype.set=lc;function mi(g){var E=-1,S=g==null?0:g.length;for(this.__data__=new pe;++E<S;)this.add(g[E])}function ea(g){return this.__data__.set(g,r),this}function tr(g){return this.__data__.has(g)}mi.prototype.add=mi.prototype.push=ea,mi.prototype.has=tr;function In(g){var E=this.__data__=new ie(g);this.size=E.size}function Qr(){this.__data__=new ie,this.size=0}function uc(g){var E=this.__data__,S=E.delete(g);return this.size=E.size,S}function Ac(g){return this.__data__.get(g)}function hc(g){return this.__data__.has(g)}function fc(g,E){var S=this.__data__;if(S instanceof ie){var N=S.__data__;if(!Fr||N.length<n-1)return N.push([g,E]),this.size=++S.size,this;S=this.__data__=new pe(N)}return S.set(g,E),this.size=S.size,this}In.prototype.clear=Qr,In.prototype.delete=uc,In.prototype.get=Ac,In.prototype.has=hc,In.prototype.set=fc;function gc(g,E){var S=vi(g),N=!S&&ra(g),at=!S&&!N&&Pr(g),_=!S&&!N&&!at&&As(g),dt=S||N||at||_,pt=dt?_n(g.length,String):[],se=pt.length;for(var Ft in g)(E||qt.call(g,Ft))&&!(dt&&(Ft=="length"||at&&(Ft=="offset"||Ft=="parent")||_&&(Ft=="buffer"||Ft=="byteLength"||Ft=="byteOffset")||Bc(Ft,se)))&&pt.push(Ft);return pt}function yi(g,E){for(var S=g.length;S--;)if(cs(g[S][0],E))return S;return-1}function Mr(g,E,S){var N=E(g);return vi(g)?N:cn(N,S(g))}function Tr(g){return g==null?g===void 0?T:y:Jt&&Jt in Object(g)?Xe(g):na(g)}function ss(g){return ln(g)&&Tr(g)==o}function os(g,E,S,N,at){return g===E?!0:g==null||E==null||!ln(g)&&!ln(E)?g!==g&&E!==E:dc(g,E,S,N,os,at)}function dc(g,E,S,N,at,_){var dt=vi(g),pt=vi(E),se=dt?c:Mn(g),Ft=pt?c:Mn(E);se=se==o?v:se,Ft=Ft==o?v:Ft;var Qe=se==v,_e=Ft==v,ue=se==Ft;if(ue&&Pr(g)){if(!Pr(E))return!1;dt=!0,Qe=!1}if(ue&&!Qe)return _||(_=new In),dt||As(g)?wi(g,E,S,N,at,_):wc(g,E,se,S,N,at,_);if(!(S&i)){var Ie=Qe&&qt.call(g,"__wrapped__"),Ae=_e&&qt.call(E,"__wrapped__");if(Ie||Ae){var Bi=Ie?g.value():g,Rr=Ae?E.value():E;return _||(_=new In),at(Bi,Rr,S,N,_)}}return ue?(_||(_=new In),vc(g,E,S,N,at,_)):!1}function pc(g){if(!us(g)||xc(g))return!1;var E=ls(g)?Zn:st;return E.test(ae(g))}function mc(g){return ln(g)&&Ei(g.length)&&!!yt[Tr(g)]}function yc(g){if(!bc(g))return Ct(g);var E=[];for(var S in Object(g))qt.call(g,S)&&S!="constructor"&&E.push(S);return E}function wi(g,E,S,N,at,_){var dt=S&i,pt=g.length,se=E.length;if(pt!=se&&!(dt&&se>pt))return!1;var Ft=_.get(g);if(Ft&&_.get(E))return Ft==E;var Qe=-1,_e=!0,ue=S&a?new mi:void 0;for(_.set(g,E),_.set(E,g);++Qe<pt;){var Ie=g[Qe],Ae=E[Qe];if(N)var Bi=dt?N(Ae,Ie,Qe,E,g,_):N(Ie,Ae,Qe,g,E,_);if(Bi!==void 0){if(Bi)continue;_e=!1;break}if(ue){if(!xn(E,function(Rr,ia){if(!Vt(ue,ia)&&(Ie===Rr||at(Ie,Rr,S,N,_)))return ue.push(ia)})){_e=!1;break}}else if(!(Ie===Ae||at(Ie,Ae,S,N,_))){_e=!1;break}}return _.delete(g),_.delete(E),_e}function wc(g,E,S,N,at,_,dt){switch(S){case U:if(g.byteLength!=E.byteLength||g.byteOffset!=E.byteOffset)return!1;g=g.buffer,E=E.buffer;case L:return!(g.byteLength!=E.byteLength||!_(new dn(g),new dn(E)));case u:case A:case m:return cs(+g,+E);case h:return g.name==E.name&&g.message==E.message;case C:case b:return g==E+"";case p:var pt=ne;case x:var se=N&i;if(pt||(pt=gt),g.size!=E.size&&!se)return!1;var Ft=dt.get(g);if(Ft)return Ft==E;N|=a,dt.set(g,E);var Qe=wi(pt(g),pt(E),N,at,_,dt);return dt.delete(g),Qe;case D:if(ta)return ta.call(g)==ta.call(E)}return!1}function vc(g,E,S,N,at,_){var dt=S&i,pt=Fn(g),se=pt.length,Ft=Fn(E),Qe=Ft.length;if(se!=Qe&&!dt)return!1;for(var _e=se;_e--;){var ue=pt[_e];if(!(dt?ue in E:qt.call(E,ue)))return!1}var Ie=_.get(g);if(Ie&&_.get(E))return Ie==E;var Ae=!0;_.set(g,E),_.set(E,g);for(var Bi=dt;++_e<se;){ue=pt[_e];var Rr=g[ue],ia=E[ue];if(N)var hB=dt?N(ia,Rr,ue,E,g,_):N(Rr,ia,ue,g,E,_);if(!(hB===void 0?Rr===ia||at(Rr,ia,S,N,_):hB)){Ae=!1;break}Bi||(Bi=ue=="constructor")}if(Ae&&!Bi){var Ou=g.constructor,Uu=E.constructor;Ou!=Uu&&"constructor"in g&&"constructor"in E&&!(typeof Ou=="function"&&Ou instanceof Ou&&typeof Uu=="function"&&Uu instanceof Uu)&&(Ae=!1)}return _.delete(g),_.delete(E),Ae}function Fn(g){return Mr(g,kr,Ec)}function Ye(g,E){var S=g.__data__;return Cc(E)?S[typeof E=="string"?"string":"hash"]:S.map}function Qn(g,E){var S=zt(g,E);return pc(S)?S:void 0}function Xe(g){var E=qt.call(g,Jt),S=g[Jt];try{g[Jt]=void 0;var N=!0}catch{}var at=en.call(g);return N&&(E?g[Jt]=S:delete g[Jt]),at}var Ec=De?function(g){return g==null?[]:(g=Object(g),Je(De(g),function(E){return Le.call(g,E)}))}:Dc,Mn=Tr;(Xi&&Mn(new Xi(new ArrayBuffer(1)))!=U||Fr&&Mn(new Fr)!=p||_i&&Mn(_i.resolve())!=w||qi&&Mn(new qi)!=x||Zi&&Mn(new Zi)!=P)&&(Mn=function(g){var E=Tr(g),S=E==v?g.constructor:void 0,N=S?ae(S):"";if(N)switch(N){case $i:return U;case Ke:return p;case jo:return w;case Wo:return x;case Ko:return P}return E});function Bc(g,E){return E=E??s,!!E&&(typeof g=="number"||Mt.test(g))&&g>-1&&g%1==0&&g<E}function Cc(g){var E=typeof g;return E=="string"||E=="number"||E=="symbol"||E=="boolean"?g!=="__proto__":g===null}function xc(g){return!!tn&&tn in g}function bc(g){var E=g&&g.constructor,S=typeof E=="function"&&E.prototype||Oe;return g===S}function na(g){return en.call(g)}function ae(g){if(g!=null){try{return Ue.call(g)}catch{}try{return g+""}catch{}}return""}function cs(g,E){return g===E||g!==g&&E!==E}var ra=ss(function(){return arguments}())?ss:function(g){return ln(g)&&qt.call(g,"callee")&&!Le.call(g,"callee")},vi=Array.isArray;function Nr(g){return g!=null&&Ei(g.length)&&!ls(g)}var Pr=We||Ic;function Sc(g,E){return os(g,E)}function ls(g){if(!us(g))return!1;var E=Tr(g);return E==f||E==d||E==l||E==B}function Ei(g){return typeof g=="number"&&g>-1&&g%1==0&&g<=s}function us(g){var E=typeof g;return g!=null&&(E=="object"||E=="function")}function ln(g){return g!=null&&typeof g=="object"}var As=_t?qn(_t):mc;function kr(g){return Nr(g)?gc(g):yc(g)}function Dc(){return[]}function Ic(){return!1}e.exports=Sc}(hu,hu.exports);var zk=hu.exports;const Kv=Wa(zk);function Xv(e,t,n,r){const i=n.width*e.zoom,a=n.height*e.zoom;if(r){const o=e,c=Math.max(t.width/n.width,t.height/n.height);o.zoom=Math.max(c,e.zoom);const l=n.width*o.zoom,u=n.height*o.zoom;return o.x=fu(e.x,t.width-l,0),o.y=fu(e.y,t.height-u,0),o}const s=e;return s.x=fu(s.x,-i,t.width),s.y=fu(s.y,-a,t.height),s}function fu(e,t,n){return Math.min(Math.max(e,t),n)}class _v{constructor(t){this.minZoomScale=[.03],this.maxZoomScale=[20],this._debouncedUpdateFrameOffsets=Wv(this.updateFrameOffsets,200),this.targetElements=[],this.onFrameDataChangeListeners=[],this.onZoomChangeListeners=[],this.forceImageCover=t}connectWorkflowManager(t,n){n&&t.addStepSpecificStorageCallback(async r=>{if(r){const i=r;if(i.currentFrameSources){let a=!1;for(let s=0;s<i.currentFrameSources.length;s++){const o=i.currentFrameSources[s],c=await ao(o);Kv(c,this.frameData)||(this.frameData||(this.frameData=new Array(i.currentFrameSources.length)),this.frameData[s]=c,a=!0)}a&&(this.onFrameDataChangeListeners.forEach(s=>s(this.frameData)),this.frameData&&this.imageData&&(this.recalculateOffsets(this.imageData),this.updateOffsets(this.offsets),this.recalculateZoomLimits(this.imageData,this.frameData)))}}},n),this.workflowManager=t,this.stepName=n}setTargetElements(t){this.targetElements=t}getFrameData(){return this.frameData}setFrameData(t){if(!t){this.frameData=void 0;return}t.forEach((n,r)=>{const i=Wl.get(n);i&&(this.frameData||(this.frameData=new Array(t.length)),this.frameData[r]=i)})}getImageData(){return this.imageData}getOffsets(){return this.offsets}setOffsets(t){this.offsets=t}setZoom(t,n,r,i){if(this.imageData&&this.offsets&&this.frameData){(!this.offsets||this.offsets.length!==this.frameData.length)&&(this.offsets=new Array(this.frameData.length));const a=this.frameData.map((s,o)=>{const c=(n[o]-this.offsets[o].x)/this.offsets[o].zoom,l=(r[o]-this.offsets[o].y)/this.offsets[o].zoom,u=n[o]-c*t[o],A=r[o]-l*t[o];return{x:u,y:A,zoom:this.imageData.width*t[o]/this.imageData.width}});this.updateOffsets(a,i),this.onZoomChangeListeners.forEach(s=>s(t))}}setPatternData(t){this.imageData=t,t&&this.frameData&&(this.recalculateOffsets(t),this.updateOffsets(this.offsets,void 0,!0)),this.imageData&&this.frameData&&this.recalculateZoomLimits(this.imageData,this.frameData)}updateOffsets(t,n,r){const i=this.imageData;if(!i||!this.frameData)return;if(this.frameData.length!==t.length)throw new ge("Frame data and offsets are not the same length. This is a bug. Please report it.");if(!this.offsets.some((s,o)=>!(t[o].x===s.x&&t[o].y===s.y&&t[o].zoom===s.zoom))&&!r){n&&n();return}(!this.offsets||this.offsets.length!==this.frameData.length)&&(this.offsets=new Array(this.frameData.length)),this.frameData.forEach((s,o)=>{this.offsets[o]=Xv(t[o],s,this.imageData,this.forceImageCover)}),this._debouncedUpdateFrameOffsets(this.offsets,i,this.frameData,this.targetElements,n)}onFrameDataChanged(t){t(this.frameData),this.onFrameDataChangeListeners.push(t)}onZoom(t){this.onZoomChangeListeners.push(t)}updateFrameOffsets(t,n,r,i,a){if(!r||r.length===0||r.some(o=>!o))throw new ge("Frame data not set. This is a bug");if(!this.workflowManager)throw new ge("No workflow manager set, cannot update offsets.");const s=this.workflowManager.getCommandDispatcher();i.forEach((o,c)=>{s(new zm(o,n,t[c]))}),this.stepName&&this.workflowManager.updateStorage(this.stepName,{frameOffsetsList:t}),a&&a()}recalculateZoomLimits(t,n){(this.minZoomScale.length!==n.length||this.maxZoomScale.length!==n.length)&&(this.minZoomScale=new Array(n.length),this.maxZoomScale=new Array(n.length)),n.forEach((r,i)=>{const a=Math.max(r.width/t.width,r.height/t.height);this.forceImageCover?(this.minZoomScale[i]=a,this.maxZoomScale[i]=a*2.5):(this.minZoomScale[i]=a/10,this.maxZoomScale[i]=a*2.5)})}recalculateOffsets(t){this.frameData&&((!this.offsets||this.offsets.length!==this.frameData.length)&&(this.offsets=new Array(this.frameData.length)),this.frameData.forEach((n,r)=>{this.offsets[r]=xf(t,n)}),this._debouncedUpdateFrameOffsets(this.offsets,t,this.frameData,this.targetElements))}}var gu={exports:{}};gu.exports,function(e,t){var n=200,r="__lodash_hash_undefined__",i=9007199254740991,a="[object Arguments]",s="[object Array]",o="[object Boolean]",c="[object Date]",l="[object Error]",u="[object Function]",A="[object GeneratorFunction]",h="[object Map]",f="[object Number]",d="[object Object]",p="[object Promise]",m="[object RegExp]",y="[object Set]",v="[object String]",w="[object Symbol]",B="[object WeakMap]",C="[object ArrayBuffer]",x="[object DataView]",b="[object Float32Array]",D="[object Float64Array]",T="[object Int8Array]",P="[object Int16Array]",L="[object Int32Array]",U="[object Uint8Array]",z="[object Uint8ClampedArray]",J="[object Uint16Array]",W="[object Uint32Array]",Z=/[\\^$.*+?()[\]{}|]/g,ot=/\w*$/,lt=/^\[object .+?Constructor\]$/,O=/^(?:0|[1-9]\d*)$/,M={};M[a]=M[s]=M[C]=M[x]=M[o]=M[c]=M[b]=M[D]=M[T]=M[P]=M[L]=M[h]=M[f]=M[d]=M[m]=M[y]=M[v]=M[w]=M[U]=M[z]=M[J]=M[W]=!0,M[l]=M[u]=M[B]=!1;var V=typeof An=="object"&&An&&An.Object===Object&&An,X=typeof self=="object"&&self&&self.Object===Object&&self,st=V||X||Function("return this")(),Mt=t&&!t.nodeType&&t,yt=Mt&&!0&&e&&!e.nodeType&&e,Se=yt&&yt.exports===Mt;function hn(g,E){return g.set(E[0],E[1]),g}function Xt(g,E){return g.add(E),g}function Dn(g,E){for(var S=-1,N=g?g.length:0;++S<N&&E(g[S],S,g)!==!1;);return g}function Ze(g,E){for(var S=-1,N=E.length,at=g.length;++S<N;)g[at+S]=E[S];return g}function $e(g,E,S,N){var at=-1,_=g?g.length:0;for(N&&_&&(S=g[++at]);++at<_;)S=E(S,g[at],at,g);return S}function on(g,E){for(var S=-1,N=Array(g);++S<g;)N[S]=E(S);return N}function fn(g,E){return g==null?void 0:g[E]}function _t(g){var E=!1;if(g!=null&&typeof g.toString!="function")try{E=!!(g+"")}catch{}return E}function Je(g){var E=-1,S=Array(g.size);return g.forEach(function(N,at){S[++E]=[at,N]}),S}function cn(g,E){return function(S){return g(E(S))}}function xn(g){var E=-1,S=Array(g.size);return g.forEach(function(N){S[++E]=N}),S}var _n=Array.prototype,qn=Function.prototype,Vt=Object.prototype,zt=st["__core-js_shared__"],ne=function(){var g=/[^.]+$/.exec(zt&&zt.keys&&zt.keys.IE_PROTO||"");return g?"Symbol(src)_1."+g:""}(),re=qn.toString,gt=Vt.hasOwnProperty,Fe=Vt.toString,bn=RegExp("^"+re.call(gt).replace(Z,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Oe=Se?st.Buffer:void 0,je=st.Symbol,Ue=st.Uint8Array,qt=cn(Object.getPrototypeOf,Object),tn=Object.create,en=Vt.propertyIsEnumerable,Zn=_n.splice,gn=Object.getOwnPropertySymbols,nn=Oe?Oe.isBuffer:void 0,dn=cn(Object.keys,Object),Le=Ye(st,"DataView"),de=Ye(st,"Map"),Jt=Ye(st,"Promise"),De=Ye(st,"Set"),We=Ye(st,"WeakMap"),Ct=Ye(Object,"create"),Xi=ae(Le),Fr=ae(de),_i=ae(Jt),qi=ae(De),Zi=ae(We),$n=je?je.prototype:void 0,$i=$n?$n.valueOf:void 0;function Ke(g){var E=-1,S=g?g.length:0;for(this.clear();++E<S;){var N=g[E];this.set(N[0],N[1])}}function jo(){this.__data__=Ct?Ct(null):{}}function Wo(g){return this.has(g)&&delete this.__data__[g]}function Ko(g){var E=this.__data__;if(Ct){var S=E[g];return S===r?void 0:S}return gt.call(E,g)?E[g]:void 0}function as(g){var E=this.__data__;return Ct?E[g]!==void 0:gt.call(E,g)}function ta(g,E){var S=this.__data__;return S[g]=Ct&&E===void 0?r:E,this}Ke.prototype.clear=jo,Ke.prototype.delete=Wo,Ke.prototype.get=Ko,Ke.prototype.has=as,Ke.prototype.set=ta;function Yt(g){var E=-1,S=g?g.length:0;for(this.clear();++E<S;){var N=g[E];this.set(N[0],N[1])}}function Xo(){this.__data__=[]}function _o(g){var E=this.__data__,S=tr(E,g);if(S<0)return!1;var N=E.length-1;return S==N?E.pop():Zn.call(E,S,1),!0}function qo(g){var E=this.__data__,S=tr(E,g);return S<0?void 0:E[S][1]}function Zo(g){return tr(this.__data__,g)>-1}function $o(g,E){var S=this.__data__,N=tr(S,g);return N<0?S.push([g,E]):S[N][1]=E,this}Yt.prototype.clear=Xo,Yt.prototype.delete=_o,Yt.prototype.get=qo,Yt.prototype.has=Zo,Yt.prototype.set=$o;function ie(g){var E=-1,S=g?g.length:0;for(this.clear();++E<S;){var N=g[E];this.set(N[0],N[1])}}function tc(){this.__data__={hash:new Ke,map:new(de||Yt),string:new Ke}}function ec(g){return Fn(this,g).delete(g)}function nc(g){return Fn(this,g).get(g)}function rc(g){return Fn(this,g).has(g)}function ic(g,E){return Fn(this,g).set(g,E),this}ie.prototype.clear=tc,ie.prototype.delete=ec,ie.prototype.get=nc,ie.prototype.has=rc,ie.prototype.set=ic;function pe(g){this.__data__=new Yt(g)}function ac(){this.__data__=new Yt}function sc(g){return this.__data__.delete(g)}function oc(g){return this.__data__.get(g)}function cc(g){return this.__data__.has(g)}function lc(g,E){var S=this.__data__;if(S instanceof Yt){var N=S.__data__;if(!de||N.length<n-1)return N.push([g,E]),this;S=this.__data__=new ie(N)}return S.set(g,E),this}pe.prototype.clear=ac,pe.prototype.delete=sc,pe.prototype.get=oc,pe.prototype.has=cc,pe.prototype.set=lc;function mi(g,E){var S=Nr(g)||vi(g)?on(g.length,String):[],N=S.length,at=!!N;for(var _ in g)(E||gt.call(g,_))&&!(at&&(_=="length"||Cc(_,N)))&&S.push(_);return S}function ea(g,E,S){var N=g[E];(!(gt.call(g,E)&&ra(N,S))||S===void 0&&!(E in g))&&(g[E]=S)}function tr(g,E){for(var S=g.length;S--;)if(ra(g[S][0],E))return S;return-1}function In(g,E){return g&&wi(E,kr(E),g)}function Qr(g,E,S,N,at,_,dt){var pt;if(N&&(pt=_?N(g,at,_,dt):N(g)),pt!==void 0)return pt;if(!ln(g))return g;var se=Nr(g);if(se){if(pt=Ec(g),!E)return yc(g,pt)}else{var Ft=Xe(g),Qe=Ft==u||Ft==A;if(ls(g))return yi(g,E);if(Ft==d||Ft==a||Qe&&!_){if(_t(g))return _?g:{};if(pt=Mn(Qe?{}:g),!E)return wc(g,In(pt,g))}else{if(!M[Ft])return _?g:{};pt=Bc(g,Ft,Qr,E)}}dt||(dt=new pe);var _e=dt.get(g);if(_e)return _e;if(dt.set(g,pt),!se)var ue=S?vc(g):kr(g);return Dn(ue||g,function(Ie,Ae){ue&&(Ae=Ie,Ie=g[Ae]),ea(pt,Ae,Qr(Ie,E,S,N,Ae,g,dt))}),pt}function uc(g){return ln(g)?tn(g):{}}function Ac(g,E,S){var N=E(g);return Nr(g)?N:Ze(N,S(g))}function hc(g){return Fe.call(g)}function fc(g){if(!ln(g)||bc(g))return!1;var E=Ei(g)||_t(g)?bn:lt;return E.test(ae(g))}function gc(g){if(!na(g))return dn(g);var E=[];for(var S in Object(g))gt.call(g,S)&&S!="constructor"&&E.push(S);return E}function yi(g,E){if(E)return g.slice();var S=new g.constructor(g.length);return g.copy(S),S}function Mr(g){var E=new g.constructor(g.byteLength);return new Ue(E).set(new Ue(g)),E}function Tr(g,E){var S=E?Mr(g.buffer):g.buffer;return new g.constructor(S,g.byteOffset,g.byteLength)}function ss(g,E,S){var N=E?S(Je(g),!0):Je(g);return $e(N,hn,new g.constructor)}function os(g){var E=new g.constructor(g.source,ot.exec(g));return E.lastIndex=g.lastIndex,E}function dc(g,E,S){var N=E?S(xn(g),!0):xn(g);return $e(N,Xt,new g.constructor)}function pc(g){return $i?Object($i.call(g)):{}}function mc(g,E){var S=E?Mr(g.buffer):g.buffer;return new g.constructor(S,g.byteOffset,g.length)}function yc(g,E){var S=-1,N=g.length;for(E||(E=Array(N));++S<N;)E[S]=g[S];return E}function wi(g,E,S,N){S||(S={});for(var at=-1,_=E.length;++at<_;){var dt=E[at],pt=N?N(S[dt],g[dt],dt,S,g):void 0;ea(S,dt,pt===void 0?g[dt]:pt)}return S}function wc(g,E){return wi(g,Qn(g),E)}function vc(g){return Ac(g,kr,Qn)}function Fn(g,E){var S=g.__data__;return xc(E)?S[typeof E=="string"?"string":"hash"]:S.map}function Ye(g,E){var S=fn(g,E);return fc(S)?S:void 0}var Qn=gn?cn(gn,Object):Dc,Xe=hc;(Le&&Xe(new Le(new ArrayBuffer(1)))!=x||de&&Xe(new de)!=h||Jt&&Xe(Jt.resolve())!=p||De&&Xe(new De)!=y||We&&Xe(new We)!=B)&&(Xe=function(g){var E=Fe.call(g),S=E==d?g.constructor:void 0,N=S?ae(S):void 0;if(N)switch(N){case Xi:return x;case Fr:return h;case _i:return p;case qi:return y;case Zi:return B}return E});function Ec(g){var E=g.length,S=g.constructor(E);return E&&typeof g[0]=="string"&&gt.call(g,"index")&&(S.index=g.index,S.input=g.input),S}function Mn(g){return typeof g.constructor=="function"&&!na(g)?uc(qt(g)):{}}function Bc(g,E,S,N){var at=g.constructor;switch(E){case C:return Mr(g);case o:case c:return new at(+g);case x:return Tr(g,N);case b:case D:case T:case P:case L:case U:case z:case J:case W:return mc(g,N);case h:return ss(g,N,S);case f:case v:return new at(g);case m:return os(g);case y:return dc(g,N,S);case w:return pc(g)}}function Cc(g,E){return E=E??i,!!E&&(typeof g=="number"||O.test(g))&&g>-1&&g%1==0&&g<E}function xc(g){var E=typeof g;return E=="string"||E=="number"||E=="symbol"||E=="boolean"?g!=="__proto__":g===null}function bc(g){return!!ne&&ne in g}function na(g){var E=g&&g.constructor,S=typeof E=="function"&&E.prototype||Vt;return g===S}function ae(g){if(g!=null){try{return re.call(g)}catch{}try{return g+""}catch{}}return""}function cs(g){return Qr(g,!0,!0)}function ra(g,E){return g===E||g!==g&&E!==E}function vi(g){return Sc(g)&&gt.call(g,"callee")&&(!en.call(g,"callee")||Fe.call(g)==a)}var Nr=Array.isArray;function Pr(g){return g!=null&&us(g.length)&&!Ei(g)}function Sc(g){return As(g)&&Pr(g)}var ls=nn||Ic;function Ei(g){var E=ln(g)?Fe.call(g):"";return E==u||E==A}function us(g){return typeof g=="number"&&g>-1&&g%1==0&&g<=i}function ln(g){var E=typeof g;return!!g&&(E=="object"||E=="function")}function As(g){return!!g&&typeof g=="object"}function kr(g){return Pr(g)?mi(g):gc(g)}function Dc(){return[]}function Ic(){return!1}e.exports=cs}(gu,gu.exports);var Jk=gu.exports;const To=Wa(Jk);class qv{constructor(t,n,r){this.processRegion=async i=>{var c,l,u,A;const a=this.layouts.find(h=>h.panelId===i.panelId);if(!a)throw new ke(i);let s="";if(this.configuration.type===j.ProductOverlay){let h="";if((c=this.product)!=null&&c.overlayImageUrl&&(h=this.product.overlayImageUrl),s=h,!h)throw new yo(this.configuration,"Couldn't find an asset for product overlay step")}const o=this.evaluateAssetType();if(o===Et.Image){const h=this.configuration.type===j.SilentIllustration?(l=this.configuration.data.asset)==null?void 0:l.fileLink:(u=this.product)==null?void 0:u.overlayImageUrl;if(!h)throw new Error("Undefined raster silent step source");const f={stepName:this.configuration.stepName,id:Dt(),src:h,type:o,y:i.top,x:i.left,width:i.width,height:i.height,layer:i.layer,layerIndex:i.layerIndex,immutable:i.immutable,productOverlay:this.configuration.type===j.ProductOverlay?!0:void 0,rotation:i.rotation,excludeFromExport:this.configuration.data.excludeFromPrint,preserveAspectRatio:"none"};return{regionElement:{id:f.id,region:i},command:new ve(f,a)}}else{const h=this.configuration.type===j.SilentIllustration?(A=this.configuration.data.asset)==null?void 0:A.fileLink:s,d=await Na(await(async()=>new Promise((m,y)=>{if(!h){y("Undefined vector silent step source");return}Ln(h).then(v=>{m(v)}).catch(v=>console.error(v))}))()),p={stepName:this.configuration.stepName,id:Dt(),cachedObjectURL:await Gi(d.svg),src:h,svg:d.svg,colors:d.colors,type:o,y:i.top,x:i.left,width:i.width,height:i.height,layer:i.layer,layerIndex:i.layerIndex,rotation:i.rotation,immutable:i.immutable,productOverlay:this.configuration.type===j.ProductOverlay?!0:void 0,excludeFromExport:this.configuration.data.excludeFromPrint};return{regionElement:{id:p.id,region:i},command:new ve(p,a)}}},this.configuration=t,this.layouts=n,this.product=r||void 0}async trigger(){if(!this.configuration.data.regions)throw new yo(this.configuration,"Missing regions.");if(this.configuration.type===j.SilentIllustration){const t=this.configuration.data.regions.map(this.processRegion);return Promise.all(t)}else return this.configuration.type===j.ProductOverlay?Promise.all(this.configuration.data.regions.map(t=>{if(!this.layouts.find(r=>t.panelId===r.panelId))throw new ke(t);return this.processRegion(t)})):Promise.reject("Unknown silent step. This is a bug")}evaluateAssetType(){var n,r,i;const t=this.configuration.type===j.ProductOverlay&&((n=this.product)!=null&&n.overlayImageUrl)?this.product.overlayImageUrl.toLowerCase():(i=(r=this.configuration.data.asset)==null?void 0:r.fileLink)==null?void 0:i.toLowerCase().split("?")[0];return t!=null&&t.startsWith("data:image/png")||t!=null&&t.endsWith(".jpeg")||t!=null&&t.endsWith(".jpg")||t!=null&&t.endsWith(".png")?Et.Image:(t!=null&&t.endsWith(".svg")||t!=null&&t.startsWith("image/svg+xml"),Et.Illustration)}}var jk=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then},Zv={},Cn={};let u0;const Wk=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];Cn.getSymbolSize=function(t){if(!t)throw new Error('"version" cannot be null or undefined');if(t<1||t>40)throw new Error('"version" should be in range from 1 to 40');return t*4+17},Cn.getSymbolTotalCodewords=function(t){return Wk[t]},Cn.getBCHDigit=function(e){let t=0;for(;e!==0;)t++,e>>>=1;return t},Cn.setToSJISFunction=function(t){if(typeof t!="function")throw new Error('"toSJISFunc" is not a valid function.');u0=t},Cn.isKanjiModeEnabled=function(){return typeof u0<"u"},Cn.toSJIS=function(t){return u0(t)};var du={};(function(e){e.L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2};function t(n){if(typeof n!="string")throw new Error("Param is not a string");switch(n.toLowerCase()){case"l":case"low":return e.L;case"m":case"medium":return e.M;case"q":case"quartile":return e.Q;case"h":case"high":return e.H;default:throw new Error("Unknown EC Level: "+n)}}e.isValid=function(r){return r&&typeof r.bit<"u"&&r.bit>=0&&r.bit<4},e.from=function(r,i){if(e.isValid(r))return r;try{return t(r)}catch{return i}}})(du);function $v(){this.buffer=[],this.length=0}$v.prototype={get:function(e){const t=Math.floor(e/8);return(this.buffer[t]>>>7-e%8&1)===1},put:function(e,t){for(let n=0;n<t;n++)this.putBit((e>>>t-n-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(e){const t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}};var Kk=$v;function No(e){if(!e||e<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=e,this.data=new Uint8Array(e*e),this.reservedBit=new Uint8Array(e*e)}No.prototype.set=function(e,t,n,r){const i=e*this.size+t;this.data[i]=n,r&&(this.reservedBit[i]=!0)},No.prototype.get=function(e,t){return this.data[e*this.size+t]},No.prototype.xor=function(e,t,n){this.data[e*this.size+t]^=n},No.prototype.isReserved=function(e,t){return this.reservedBit[e*this.size+t]};var Xk=No,tE={};(function(e){const t=Cn.getSymbolSize;e.getRowColCoords=function(r){if(r===1)return[];const i=Math.floor(r/7)+2,a=t(r),s=a===145?26:Math.ceil((a-13)/(2*i-2))*2,o=[a-7];for(let c=1;c<i-1;c++)o[c]=o[c-1]-s;return o.push(6),o.reverse()},e.getPositions=function(r){const i=[],a=e.getRowColCoords(r),s=a.length;for(let o=0;o<s;o++)for(let c=0;c<s;c++)o===0&&c===0||o===0&&c===s-1||o===s-1&&c===0||i.push([a[o],a[c]]);return i}})(tE);var eE={};const _k=Cn.getSymbolSize,nE=7;eE.getPositions=function(t){const n=_k(t);return[[0,0],[n-nE,0],[0,n-nE]]};var rE={};(function(e){e.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};const t={N1:3,N2:3,N3:40,N4:10};e.isValid=function(i){return i!=null&&i!==""&&!isNaN(i)&&i>=0&&i<=7},e.from=function(i){return e.isValid(i)?parseInt(i,10):void 0},e.getPenaltyN1=function(i){const a=i.size;let s=0,o=0,c=0,l=null,u=null;for(let A=0;A<a;A++){o=c=0,l=u=null;for(let h=0;h<a;h++){let f=i.get(A,h);f===l?o++:(o>=5&&(s+=t.N1+(o-5)),l=f,o=1),f=i.get(h,A),f===u?c++:(c>=5&&(s+=t.N1+(c-5)),u=f,c=1)}o>=5&&(s+=t.N1+(o-5)),c>=5&&(s+=t.N1+(c-5))}return s},e.getPenaltyN2=function(i){const a=i.size;let s=0;for(let o=0;o<a-1;o++)for(let c=0;c<a-1;c++){const l=i.get(o,c)+i.get(o,c+1)+i.get(o+1,c)+i.get(o+1,c+1);(l===4||l===0)&&s++}return s*t.N2},e.getPenaltyN3=function(i){const a=i.size;let s=0,o=0,c=0;for(let l=0;l<a;l++){o=c=0;for(let u=0;u<a;u++)o=o<<1&2047|i.get(l,u),u>=10&&(o===1488||o===93)&&s++,c=c<<1&2047|i.get(u,l),u>=10&&(c===1488||c===93)&&s++}return s*t.N3},e.getPenaltyN4=function(i){let a=0;const s=i.data.length;for(let c=0;c<s;c++)a+=i.data[c];return Math.abs(Math.ceil(a*100/s/5)-10)*t.N4};function n(r,i,a){switch(r){case e.Patterns.PATTERN000:return(i+a)%2===0;case e.Patterns.PATTERN001:return i%2===0;case e.Patterns.PATTERN010:return a%3===0;case e.Patterns.PATTERN011:return(i+a)%3===0;case e.Patterns.PATTERN100:return(Math.floor(i/2)+Math.floor(a/3))%2===0;case e.Patterns.PATTERN101:return i*a%2+i*a%3===0;case e.Patterns.PATTERN110:return(i*a%2+i*a%3)%2===0;case e.Patterns.PATTERN111:return(i*a%3+(i+a)%2)%2===0;default:throw new Error("bad maskPattern:"+r)}}e.applyMask=function(i,a){const s=a.size;for(let o=0;o<s;o++)for(let c=0;c<s;c++)a.isReserved(c,o)||a.xor(c,o,n(i,c,o))},e.getBestMask=function(i,a){const s=Object.keys(e.Patterns).length;let o=0,c=1/0;for(let l=0;l<s;l++){a(l),e.applyMask(l,i);const u=e.getPenaltyN1(i)+e.getPenaltyN2(i)+e.getPenaltyN3(i)+e.getPenaltyN4(i);e.applyMask(l,i),u<c&&(c=u,o=l)}return o}})(rE);var pu={};const fi=du,mu=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],yu=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];pu.getBlocksCount=function(t,n){switch(n){case fi.L:return mu[(t-1)*4+0];case fi.M:return mu[(t-1)*4+1];case fi.Q:return mu[(t-1)*4+2];case fi.H:return mu[(t-1)*4+3];default:return}},pu.getTotalCodewordsCount=function(t,n){switch(n){case fi.L:return yu[(t-1)*4+0];case fi.M:return yu[(t-1)*4+1];case fi.Q:return yu[(t-1)*4+2];case fi.H:return yu[(t-1)*4+3];default:return}};var iE={},wu={};const Po=new Uint8Array(512),vu=new Uint8Array(256);(function(){let t=1;for(let n=0;n<255;n++)Po[n]=t,vu[t]=n,t<<=1,t&256&&(t^=285);for(let n=255;n<512;n++)Po[n]=Po[n-255]})(),wu.log=function(t){if(t<1)throw new Error("log("+t+")");return vu[t]},wu.exp=function(t){return Po[t]},wu.mul=function(t,n){return t===0||n===0?0:Po[vu[t]+vu[n]]},function(e){const t=wu;e.mul=function(r,i){const a=new Uint8Array(r.length+i.length-1);for(let s=0;s<r.length;s++)for(let o=0;o<i.length;o++)a[s+o]^=t.mul(r[s],i[o]);return a},e.mod=function(r,i){let a=new Uint8Array(r);for(;a.length-i.length>=0;){const s=a[0];for(let c=0;c<i.length;c++)a[c]^=t.mul(i[c],s);let o=0;for(;o<a.length&&a[o]===0;)o++;a=a.slice(o)}return a},e.generateECPolynomial=function(r){let i=new Uint8Array([1]);for(let a=0;a<r;a++)i=e.mul(i,new Uint8Array([1,t.exp(a)]));return i}}(iE);const aE=iE;function A0(e){this.genPoly=void 0,this.degree=e,this.degree&&this.initialize(this.degree)}A0.prototype.initialize=function(t){this.degree=t,this.genPoly=aE.generateECPolynomial(this.degree)},A0.prototype.encode=function(t){if(!this.genPoly)throw new Error("Encoder not initialized");const n=new Uint8Array(t.length+this.degree);n.set(t);const r=aE.mod(n,this.genPoly),i=this.degree-r.length;if(i>0){const a=new Uint8Array(this.degree);return a.set(r,i),a}return r};var qk=A0,sE={},gi={},h0={};h0.isValid=function(t){return!isNaN(t)&&t>=1&&t<=40};var lr={};const oE="[0-9]+",Zk="[A-Z $%*+\\-./:]+";let ko="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";ko=ko.replace(/u/g,"\\u");const $k="(?:(?![A-Z0-9 $%*+\\-./:]|"+ko+`)(?:.|[\r
700
- ]))+`;lr.KANJI=new RegExp(ko,"g"),lr.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),lr.BYTE=new RegExp($k,"g"),lr.NUMERIC=new RegExp(oE,"g"),lr.ALPHANUMERIC=new RegExp(Zk,"g");const tR=new RegExp("^"+ko+"$"),eR=new RegExp("^"+oE+"$"),nR=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");lr.testKanji=function(t){return tR.test(t)},lr.testNumeric=function(t){return eR.test(t)},lr.testAlphanumeric=function(t){return nR.test(t)},function(e){const t=h0,n=lr;e.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},e.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},e.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},e.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},e.MIXED={bit:-1},e.getCharCountIndicator=function(a,s){if(!a.ccBits)throw new Error("Invalid mode: "+a);if(!t.isValid(s))throw new Error("Invalid version: "+s);return s>=1&&s<10?a.ccBits[0]:s<27?a.ccBits[1]:a.ccBits[2]},e.getBestModeForData=function(a){return n.testNumeric(a)?e.NUMERIC:n.testAlphanumeric(a)?e.ALPHANUMERIC:n.testKanji(a)?e.KANJI:e.BYTE},e.toString=function(a){if(a&&a.id)return a.id;throw new Error("Invalid mode")},e.isValid=function(a){return a&&a.bit&&a.ccBits};function r(i){if(typeof i!="string")throw new Error("Param is not a string");switch(i.toLowerCase()){case"numeric":return e.NUMERIC;case"alphanumeric":return e.ALPHANUMERIC;case"kanji":return e.KANJI;case"byte":return e.BYTE;default:throw new Error("Unknown mode: "+i)}}e.from=function(a,s){if(e.isValid(a))return a;try{return r(a)}catch{return s}}}(gi),function(e){const t=Cn,n=pu,r=du,i=gi,a=h0,s=7973,o=t.getBCHDigit(s);function c(h,f,d){for(let p=1;p<=40;p++)if(f<=e.getCapacity(p,d,h))return p}function l(h,f){return i.getCharCountIndicator(h,f)+4}function u(h,f){let d=0;return h.forEach(function(p){const m=l(p.mode,f);d+=m+p.getBitsLength()}),d}function A(h,f){for(let d=1;d<=40;d++)if(u(h,d)<=e.getCapacity(d,f,i.MIXED))return d}e.from=function(f,d){return a.isValid(f)?parseInt(f,10):d},e.getCapacity=function(f,d,p){if(!a.isValid(f))throw new Error("Invalid QR Code version");typeof p>"u"&&(p=i.BYTE);const m=t.getSymbolTotalCodewords(f),y=n.getTotalCodewordsCount(f,d),v=(m-y)*8;if(p===i.MIXED)return v;const w=v-l(p,f);switch(p){case i.NUMERIC:return Math.floor(w/10*3);case i.ALPHANUMERIC:return Math.floor(w/11*2);case i.KANJI:return Math.floor(w/13);case i.BYTE:default:return Math.floor(w/8)}},e.getBestVersionForData=function(f,d){let p;const m=r.from(d,r.M);if(Array.isArray(f)){if(f.length>1)return A(f,m);if(f.length===0)return 1;p=f[0]}else p=f;return c(p.mode,p.getLength(),m)},e.getEncodedBits=function(f){if(!a.isValid(f)||f<7)throw new Error("Invalid QR Code version");let d=f<<12;for(;t.getBCHDigit(d)-o>=0;)d^=s<<t.getBCHDigit(d)-o;return f<<12|d}}(sE);var cE={};const f0=Cn,lE=1335,rR=21522,uE=f0.getBCHDigit(lE);cE.getEncodedBits=function(t,n){const r=t.bit<<3|n;let i=r<<10;for(;f0.getBCHDigit(i)-uE>=0;)i^=lE<<f0.getBCHDigit(i)-uE;return(r<<10|i)^rR};var AE={};const iR=gi;function $a(e){this.mode=iR.NUMERIC,this.data=e.toString()}$a.getBitsLength=function(t){return 10*Math.floor(t/3)+(t%3?t%3*3+1:0)},$a.prototype.getLength=function(){return this.data.length},$a.prototype.getBitsLength=function(){return $a.getBitsLength(this.data.length)},$a.prototype.write=function(t){let n,r,i;for(n=0;n+3<=this.data.length;n+=3)r=this.data.substr(n,3),i=parseInt(r,10),t.put(i,10);const a=this.data.length-n;a>0&&(r=this.data.substr(n),i=parseInt(r,10),t.put(i,a*3+1))};var aR=$a;const sR=gi,g0=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function ts(e){this.mode=sR.ALPHANUMERIC,this.data=e}ts.getBitsLength=function(t){return 11*Math.floor(t/2)+6*(t%2)},ts.prototype.getLength=function(){return this.data.length},ts.prototype.getBitsLength=function(){return ts.getBitsLength(this.data.length)},ts.prototype.write=function(t){let n;for(n=0;n+2<=this.data.length;n+=2){let r=g0.indexOf(this.data[n])*45;r+=g0.indexOf(this.data[n+1]),t.put(r,11)}this.data.length%2&&t.put(g0.indexOf(this.data[n]),6)};var oR=ts,cR=function(t){for(var n=[],r=t.length,i=0;i<r;i++){var a=t.charCodeAt(i);if(a>=55296&&a<=56319&&r>i+1){var s=t.charCodeAt(i+1);s>=56320&&s<=57343&&(a=(a-55296)*1024+s-56320+65536,i+=1)}if(a<128){n.push(a);continue}if(a<2048){n.push(a>>6|192),n.push(a&63|128);continue}if(a<55296||a>=57344&&a<65536){n.push(a>>12|224),n.push(a>>6&63|128),n.push(a&63|128);continue}if(a>=65536&&a<=1114111){n.push(a>>18|240),n.push(a>>12&63|128),n.push(a>>6&63|128),n.push(a&63|128);continue}n.push(239,191,189)}return new Uint8Array(n).buffer};const lR=cR,uR=gi;function es(e){this.mode=uR.BYTE,typeof e=="string"&&(e=lR(e)),this.data=new Uint8Array(e)}es.getBitsLength=function(t){return t*8},es.prototype.getLength=function(){return this.data.length},es.prototype.getBitsLength=function(){return es.getBitsLength(this.data.length)},es.prototype.write=function(e){for(let t=0,n=this.data.length;t<n;t++)e.put(this.data[t],8)};var AR=es;const hR=gi,fR=Cn;function ns(e){this.mode=hR.KANJI,this.data=e}ns.getBitsLength=function(t){return t*13},ns.prototype.getLength=function(){return this.data.length},ns.prototype.getBitsLength=function(){return ns.getBitsLength(this.data.length)},ns.prototype.write=function(e){let t;for(t=0;t<this.data.length;t++){let n=fR.toSJIS(this.data[t]);if(n>=33088&&n<=40956)n-=33088;else if(n>=57408&&n<=60351)n-=49472;else throw new Error("Invalid SJIS character: "+this.data[t]+`
701
- Make sure your charset is UTF-8`);n=(n>>>8&255)*192+(n&255),e.put(n,13)}};var gR=ns,hE={exports:{}};(function(e){var t={single_source_shortest_paths:function(n,r,i){var a={},s={};s[r]=0;var o=t.PriorityQueue.make();o.push(r,0);for(var c,l,u,A,h,f,d,p,m;!o.empty();){c=o.pop(),l=c.value,A=c.cost,h=n[l]||{};for(u in h)h.hasOwnProperty(u)&&(f=h[u],d=A+f,p=s[u],m=typeof s[u]>"u",(m||p>d)&&(s[u]=d,o.push(u,d),a[u]=l))}if(typeof i<"u"&&typeof s[i]>"u"){var y=["Could not find a path from ",r," to ",i,"."].join("");throw new Error(y)}return a},extract_shortest_path_from_predecessor_list:function(n,r){for(var i=[],a=r;a;)i.push(a),n[a],a=n[a];return i.reverse(),i},find_path:function(n,r,i){var a=t.single_source_shortest_paths(n,r,i);return t.extract_shortest_path_from_predecessor_list(a,i)},PriorityQueue:{make:function(n){var r=t.PriorityQueue,i={},a;n=n||{};for(a in r)r.hasOwnProperty(a)&&(i[a]=r[a]);return i.queue=[],i.sorter=n.sorter||r.default_sorter,i},default_sorter:function(n,r){return n.cost-r.cost},push:function(n,r){var i={value:n,cost:r};this.queue.push(i),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};e.exports=t})(hE);var dR=hE.exports;(function(e){const t=gi,n=aR,r=oR,i=AR,a=gR,s=lr,o=Cn,c=dR;function l(y){return unescape(encodeURIComponent(y)).length}function u(y,v,w){const B=[];let C;for(;(C=y.exec(w))!==null;)B.push({data:C[0],index:C.index,mode:v,length:C[0].length});return B}function A(y){const v=u(s.NUMERIC,t.NUMERIC,y),w=u(s.ALPHANUMERIC,t.ALPHANUMERIC,y);let B,C;return o.isKanjiModeEnabled()?(B=u(s.BYTE,t.BYTE,y),C=u(s.KANJI,t.KANJI,y)):(B=u(s.BYTE_KANJI,t.BYTE,y),C=[]),v.concat(w,B,C).sort(function(b,D){return b.index-D.index}).map(function(b){return{data:b.data,mode:b.mode,length:b.length}})}function h(y,v){switch(v){case t.NUMERIC:return n.getBitsLength(y);case t.ALPHANUMERIC:return r.getBitsLength(y);case t.KANJI:return a.getBitsLength(y);case t.BYTE:return i.getBitsLength(y)}}function f(y){return y.reduce(function(v,w){const B=v.length-1>=0?v[v.length-1]:null;return B&&B.mode===w.mode?(v[v.length-1].data+=w.data,v):(v.push(w),v)},[])}function d(y){const v=[];for(let w=0;w<y.length;w++){const B=y[w];switch(B.mode){case t.NUMERIC:v.push([B,{data:B.data,mode:t.ALPHANUMERIC,length:B.length},{data:B.data,mode:t.BYTE,length:B.length}]);break;case t.ALPHANUMERIC:v.push([B,{data:B.data,mode:t.BYTE,length:B.length}]);break;case t.KANJI:v.push([B,{data:B.data,mode:t.BYTE,length:l(B.data)}]);break;case t.BYTE:v.push([{data:B.data,mode:t.BYTE,length:l(B.data)}])}}return v}function p(y,v){const w={},B={start:{}};let C=["start"];for(let x=0;x<y.length;x++){const b=y[x],D=[];for(let T=0;T<b.length;T++){const P=b[T],L=""+x+T;D.push(L),w[L]={node:P,lastCount:0},B[L]={};for(let U=0;U<C.length;U++){const z=C[U];w[z]&&w[z].node.mode===P.mode?(B[z][L]=h(w[z].lastCount+P.length,P.mode)-h(w[z].lastCount,P.mode),w[z].lastCount+=P.length):(w[z]&&(w[z].lastCount=P.length),B[z][L]=h(P.length,P.mode)+4+t.getCharCountIndicator(P.mode,v))}}C=D}for(let x=0;x<C.length;x++)B[C[x]].end=0;return{map:B,table:w}}function m(y,v){let w;const B=t.getBestModeForData(y);if(w=t.from(v,B),w!==t.BYTE&&w.bit<B.bit)throw new Error('"'+y+'" cannot be encoded with mode '+t.toString(w)+`.
702
- Suggested mode is: `+t.toString(B));switch(w===t.KANJI&&!o.isKanjiModeEnabled()&&(w=t.BYTE),w){case t.NUMERIC:return new n(y);case t.ALPHANUMERIC:return new r(y);case t.KANJI:return new a(y);case t.BYTE:return new i(y)}}e.fromArray=function(v){return v.reduce(function(w,B){return typeof B=="string"?w.push(m(B,null)):B.data&&w.push(m(B.data,B.mode)),w},[])},e.fromString=function(v,w){const B=A(v,o.isKanjiModeEnabled()),C=d(B),x=p(C,w),b=c.find_path(x.map,"start","end"),D=[];for(let T=1;T<b.length-1;T++)D.push(x.table[b[T]].node);return e.fromArray(f(D))},e.rawSplit=function(v){return e.fromArray(A(v,o.isKanjiModeEnabled()))}})(AE);const Eu=Cn,d0=du,pR=Kk,mR=Xk,yR=tE,wR=eE,p0=rE,m0=pu,vR=qk,Bu=sE,ER=cE,BR=gi,y0=AE;function CR(e,t){const n=e.size,r=wR.getPositions(t);for(let i=0;i<r.length;i++){const a=r[i][0],s=r[i][1];for(let o=-1;o<=7;o++)if(!(a+o<=-1||n<=a+o))for(let c=-1;c<=7;c++)s+c<=-1||n<=s+c||(o>=0&&o<=6&&(c===0||c===6)||c>=0&&c<=6&&(o===0||o===6)||o>=2&&o<=4&&c>=2&&c<=4?e.set(a+o,s+c,!0,!0):e.set(a+o,s+c,!1,!0))}}function xR(e){const t=e.size;for(let n=8;n<t-8;n++){const r=n%2===0;e.set(n,6,r,!0),e.set(6,n,r,!0)}}function bR(e,t){const n=yR.getPositions(t);for(let r=0;r<n.length;r++){const i=n[r][0],a=n[r][1];for(let s=-2;s<=2;s++)for(let o=-2;o<=2;o++)s===-2||s===2||o===-2||o===2||s===0&&o===0?e.set(i+s,a+o,!0,!0):e.set(i+s,a+o,!1,!0)}}function SR(e,t){const n=e.size,r=Bu.getEncodedBits(t);let i,a,s;for(let o=0;o<18;o++)i=Math.floor(o/3),a=o%3+n-8-3,s=(r>>o&1)===1,e.set(i,a,s,!0),e.set(a,i,s,!0)}function w0(e,t,n){const r=e.size,i=ER.getEncodedBits(t,n);let a,s;for(a=0;a<15;a++)s=(i>>a&1)===1,a<6?e.set(a,8,s,!0):a<8?e.set(a+1,8,s,!0):e.set(r-15+a,8,s,!0),a<8?e.set(8,r-a-1,s,!0):a<9?e.set(8,15-a-1+1,s,!0):e.set(8,15-a-1,s,!0);e.set(r-8,8,1,!0)}function DR(e,t){const n=e.size;let r=-1,i=n-1,a=7,s=0;for(let o=n-1;o>0;o-=2)for(o===6&&o--;;){for(let c=0;c<2;c++)if(!e.isReserved(i,o-c)){let l=!1;s<t.length&&(l=(t[s]>>>a&1)===1),e.set(i,o-c,l),a--,a===-1&&(s++,a=7)}if(i+=r,i<0||n<=i){i-=r,r=-r;break}}}function IR(e,t,n){const r=new pR;n.forEach(function(c){r.put(c.mode.bit,4),r.put(c.getLength(),BR.getCharCountIndicator(c.mode,e)),c.write(r)});const i=Eu.getSymbolTotalCodewords(e),a=m0.getTotalCodewordsCount(e,t),s=(i-a)*8;for(r.getLengthInBits()+4<=s&&r.put(0,4);r.getLengthInBits()%8!==0;)r.putBit(0);const o=(s-r.getLengthInBits())/8;for(let c=0;c<o;c++)r.put(c%2?17:236,8);return FR(r,e,t)}function FR(e,t,n){const r=Eu.getSymbolTotalCodewords(t),i=m0.getTotalCodewordsCount(t,n),a=r-i,s=m0.getBlocksCount(t,n),o=r%s,c=s-o,l=Math.floor(r/s),u=Math.floor(a/s),A=u+1,h=l-u,f=new vR(h);let d=0;const p=new Array(s),m=new Array(s);let y=0;const v=new Uint8Array(e.buffer);for(let b=0;b<s;b++){const D=b<c?u:A;p[b]=v.slice(d,d+D),m[b]=f.encode(p[b]),d+=D,y=Math.max(y,D)}const w=new Uint8Array(r);let B=0,C,x;for(C=0;C<y;C++)for(x=0;x<s;x++)C<p[x].length&&(w[B++]=p[x][C]);for(C=0;C<h;C++)for(x=0;x<s;x++)w[B++]=m[x][C];return w}function QR(e,t,n,r){let i;if(Array.isArray(e))i=y0.fromArray(e);else if(typeof e=="string"){let l=t;if(!l){const u=y0.rawSplit(e);l=Bu.getBestVersionForData(u,n)}i=y0.fromString(e,l||40)}else throw new Error("Invalid data");const a=Bu.getBestVersionForData(i,n);if(!a)throw new Error("The amount of data is too big to be stored in a QR Code");if(!t)t=a;else if(t<a)throw new Error(`
703
- The chosen QR Code version cannot contain this amount of data.
704
- Minimum version required to store current data is: `+a+`.
705
- `);const s=IR(t,n,i),o=Eu.getSymbolSize(t),c=new mR(o);return CR(c,t),xR(c),bR(c,t),w0(c,n,0),t>=7&&SR(c,t),DR(c,s),isNaN(r)&&(r=p0.getBestMask(c,w0.bind(null,c,n))),p0.applyMask(r,c),w0(c,n,r),{modules:c,version:t,errorCorrectionLevel:n,maskPattern:r,segments:i}}Zv.create=function(t,n){if(typeof t>"u"||t==="")throw new Error("No input text");let r=d0.M,i,a;return typeof n<"u"&&(r=d0.from(n.errorCorrectionLevel,d0.M),i=Bu.from(n.version),a=p0.from(n.maskPattern),n.toSJISFunc&&Eu.setToSJISFunction(n.toSJISFunc)),QR(t,i,r,a)};var fE={},v0={};(function(e){function t(n){if(typeof n=="number"&&(n=n.toString()),typeof n!="string")throw new Error("Color should be defined as hex string");let r=n.slice().replace("#","").split("");if(r.length<3||r.length===5||r.length>8)throw new Error("Invalid hex color: "+n);(r.length===3||r.length===4)&&(r=Array.prototype.concat.apply([],r.map(function(a){return[a,a]}))),r.length===6&&r.push("F","F");const i=parseInt(r.join(""),16);return{r:i>>24&255,g:i>>16&255,b:i>>8&255,a:i&255,hex:"#"+r.slice(0,6).join("")}}e.getOptions=function(r){r||(r={}),r.color||(r.color={});const i=typeof r.margin>"u"||r.margin===null||r.margin<0?4:r.margin,a=r.width&&r.width>=21?r.width:void 0,s=r.scale||4;return{width:a,scale:a?4:s,margin:i,color:{dark:t(r.color.dark||"#000000ff"),light:t(r.color.light||"#ffffffff")},type:r.type,rendererOpts:r.rendererOpts||{}}},e.getScale=function(r,i){return i.width&&i.width>=r+i.margin*2?i.width/(r+i.margin*2):i.scale},e.getImageWidth=function(r,i){const a=e.getScale(r,i);return Math.floor((r+i.margin*2)*a)},e.qrToImageData=function(r,i,a){const s=i.modules.size,o=i.modules.data,c=e.getScale(s,a),l=Math.floor((s+a.margin*2)*c),u=a.margin*c,A=[a.color.light,a.color.dark];for(let h=0;h<l;h++)for(let f=0;f<l;f++){let d=(h*l+f)*4,p=a.color.light;if(h>=u&&f>=u&&h<l-u&&f<l-u){const m=Math.floor((h-u)/c),y=Math.floor((f-u)/c);p=A[o[m*s+y]?1:0]}r[d++]=p.r,r[d++]=p.g,r[d++]=p.b,r[d]=p.a}}})(v0),function(e){const t=v0;function n(i,a,s){i.clearRect(0,0,a.width,a.height),a.style||(a.style={}),a.height=s,a.width=s,a.style.height=s+"px",a.style.width=s+"px"}function r(){try{return document.createElement("canvas")}catch{throw new Error("You need to specify a canvas element")}}e.render=function(a,s,o){let c=o,l=s;typeof c>"u"&&(!s||!s.getContext)&&(c=s,s=void 0),s||(l=r()),c=t.getOptions(c);const u=t.getImageWidth(a.modules.size,c),A=l.getContext("2d"),h=A.createImageData(u,u);return t.qrToImageData(h.data,a,c),n(A,l,u),A.putImageData(h,0,0),l},e.renderToDataURL=function(a,s,o){let c=o;typeof c>"u"&&(!s||!s.getContext)&&(c=s,s=void 0),c||(c={});const l=e.render(a,s,c),u=c.type||"image/png",A=c.rendererOpts||{};return l.toDataURL(u,A.quality)}}(fE);var gE={};const MR=v0;function dE(e,t){const n=e.a/255,r=t+'="'+e.hex+'"';return n<1?r+" "+t+'-opacity="'+n.toFixed(2).slice(1)+'"':r}function E0(e,t,n){let r=e+t;return typeof n<"u"&&(r+=" "+n),r}function TR(e,t,n){let r="",i=0,a=!1,s=0;for(let o=0;o<e.length;o++){const c=Math.floor(o%t),l=Math.floor(o/t);!c&&!a&&(a=!0),e[o]?(s++,o>0&&c>0&&e[o-1]||(r+=a?E0("M",c+n,.5+l+n):E0("m",i,0),i=0,a=!1),c+1<t&&e[o+1]||(r+=E0("h",s),s=0)):i++}return r}gE.render=function(t,n,r){const i=MR.getOptions(n),a=t.modules.size,s=t.modules.data,o=a+i.margin*2,c=i.color.light.a?"<path "+dE(i.color.light,"fill")+' d="M0 0h'+o+"v"+o+'H0z"/>':"",l="<path "+dE(i.color.dark,"stroke")+' d="'+TR(s,a,i.margin)+'"/>',u='viewBox="0 0 '+o+" "+o+'"',h='<svg xmlns="http://www.w3.org/2000/svg" '+(i.width?'width="'+i.width+'" height="'+i.width+'" ':"")+u+' shape-rendering="crispEdges">'+c+l+`</svg>
706
- `;return typeof r=="function"&&r(null,h),h};const NR=jk,B0=Zv,pE=fE,PR=gE;function C0(e,t,n,r,i){const a=[].slice.call(arguments,1),s=a.length,o=typeof a[s-1]=="function";if(!o&&!NR())throw new Error("Callback required as last argument");if(o){if(s<2)throw new Error("Too few arguments provided");s===2?(i=n,n=t,t=r=void 0):s===3&&(t.getContext&&typeof i>"u"?(i=r,r=void 0):(i=r,r=n,n=t,t=void 0))}else{if(s<1)throw new Error("Too few arguments provided");return s===1?(n=t,t=r=void 0):s===2&&!t.getContext&&(r=n,n=t,t=void 0),new Promise(function(c,l){try{const u=B0.create(n,r);c(e(u,t,r))}catch(u){l(u)}})}try{const c=B0.create(n,r);i(null,e(c,t,r))}catch(c){i(c)}}B0.create,C0.bind(null,pE.render),C0.bind(null,pE.renderToDataURL);var mE=C0.bind(null,function(e,t,n){return PR.render(e,n)});const yE=async e=>{const t=`${wo.getServicesApiUrl()}/shortener`;try{return(await(await fetch(t,{method:"POST",body:JSON.stringify({longUrl:e}),headers:{"Content-Type":"application/json"}})).json()).shortUrl}catch(n){throw console.error(n),new ru("Failed to shorten URL, see console.")}};class wE{async poll(){try{if(await this.predicate()){this.onSuccess(),this.pollingId>-1&&window.clearInterval(this.pollingId);return}}catch{}this.attempts+=1,this.attempts<this.maxAttempts?this.pollingId=window.setTimeout(this.poll.bind(this),this.interval):this.onFailure()}constructor(t,n,r,i=3e3,a=10){this.onSuccess=n,this.onFailure=r,this.predicate=t,this.attempts=0,this.pollingId=-1,this.interval=i,this.maxAttempts=a,this.poll()}}class kR{async init(t,n,r){return r&&await this.reload(t,n,r),null}async reload(t,n,r){const i=n.getSerializedStep(t.stepName,r.serializableWorkflow.steps),c=Object.values(r.layouts).map(l=>l.elements).flat().filter(l=>l.stepName===t.stepName).map(l=>({id:l.id,region:l.stepRegion}));await n.setSelectionsAndElements(t.stepName,[],c,async()=>{var A,h;const l=(A=i==null?void 0:i.storage)==null?void 0:A.videoShortUrl,u=(h=i==null?void 0:i.storage)==null?void 0:h.videoUrl;n.updateStorage(t.stepName,{videoShortUrl:l,videoUrl:u})})}async regenerateQRCode(t,n,r,i,a,s,o,c,l){if(!n&&r!==""&&i===""){const u=async()=>{var B,C;const v=(await rv([r]))[0],w=(C=(B=v==null?void 0:v.versions)==null?void 0:B.find(x=>x.name==="mpeg4"))==null?void 0:C.link;return{asset:v,link:w}},A=await new Promise((v,w)=>{new wE(async()=>!!(await u()).link,async()=>{const B=await u();if(!B.link||!B.link)throw new za(B.asset);v({rel:"mpeg4",href:B.link})},()=>{w("Poller timed out with 40 attempts @ 3 second interval")},3e3,40)});t.forEach(v=>c(new ri(v.id)));const h=s.data.baseUrl.slice(0,4)==="http"?"":"https://",f=new URL(h+s.data.baseUrl);f.searchParams.append("video",btoa(JSON.stringify([A]))),f.pathname=f.pathname+(f.pathname.slice(-1)==="/"?"":"/");const d=f.toString();if(d.length>=2e3)throw new ru("Cannot create QR code, URL too long.");const p=await yE(d);if(o(p),!s.data||!s.data.regions)throw new yo(s,"Missing regions.");const m=await this.regionElements(s),y=await this.command(p,m,a,s.stepName);y&&(y.command&&a.getCommandDispatcher()(y.command),y.followup&&await y.followup()),await a.setSelectionsAndElements(s.stepName,[],m,async()=>{a.updateStorage(s.stepName,{videoShortUrl:p,videoUrl:i}),l(!1)})}else l(!1)}async regionElements(t){const n=r=>({id:Dt(),region:r});return t.data.regions.map(n)}async command(t,n,r,i){const a=r.getLayouts(),o=`data:image/svg+xml;base64,${btoa(await mE(t,{type:"svg"}))}`,c=n.map(l=>{const u=l.region,A=a.find(h=>h.panelId===(u==null?void 0:u.panelId));if(!A&&u)throw new ke(u);if(A&&!u)throw new Error("Region not found");if(!A||!u)throw new Error("Neither a region or layout found!");return new ve({stepRegion:u,stepName:i,id:l.id,src:o,type:Et.Image,y:u.top,x:u.left,width:u.width,height:u.height,rotation:0},A)});return{command:new $t(c),followup:async()=>{}}}}const vE=new kR;class RR{constructor(){this.frameSourceSvg=async(t,n)=>{if(!t)return Cf(n);const r=t.asset;if(!r)throw new li(t);const i=r.fileLink;if(i)return Ln(i);throw new za(r)}}async init(t,n,r){if(r)return await this.reload(t,n,r),null;if(n.setMandatoryFulfilled(t.stepName,!1),n.markStepsAsInitialised([t.stepName]),t.option&&t.option.variants&&t.option.variants.length>0){const i=t.option,a=En.getDefaultVariant(i);return a?this.selectVariantCommand(t,a,[],n,void 0,t.data.placeholderImageUrl):null}return this.selectVariantCommand(t,void 0,[],n,void 0,t.data.placeholderImageUrl)}async reload(t,n,r){var l;const i=n.getSerializedStep(t.stepName,r.serializableWorkflow.steps),c=Object.values(r.layouts).map(u=>u.elements).flat().filter(u=>u.stepName===t.stepName).map(u=>({id:u.id,region:u.stepRegion}));if(!t.option||(t.option.variants||[]).length===0){const u=t.data.regions.map(A=>Cf(A));n.updateStorage(t.stepName,{currentFrameSources:u})}if(i){const u=async()=>{var f,d,p,m;const A=(f=i.storage)==null?void 0:f.framePatternSrc,h=(d=i.storage)==null?void 0:d.frameOffsetsList;if(n.updateMetadata(t.stepName,{frameOffsetsList:h,framePatternSrc:A}),A){const y=(p=n.getStepSpecificServices(t.stepName))==null?void 0:p.frameService;if(!y)throw new Error("Frame service unavailable, cannot load pattern!");await this.loadPatternFromString(A,y),n.updateMetadata(t.stepName,{image:A}),n.updateStorage(t.stepName,{framePatternSrc:A})}if(h!=null&&h.some(y=>y.zoom)){const y=(m=n.getStepSpecificServices(t.stepName))==null?void 0:m.frameService;if(!y)throw new Error("Frame service unavailable, cannot load pattern!");y.updateOffsets(h)}n.setMandatoryFulfilled(t.stepName,!0)};if(i.selectedVariants&&i.selectedVariants.length>0){const A=i.selectedVariants[0].id;if(t.option&&A){const h=(l=t.option.variants)==null?void 0:l.find(f=>f.id===A);h&&await n.setSelectionsAndElements(t.stepName,[h],c,async()=>{const f=await Promise.all(t.data.regions.map(d=>this.frameSourceSvg(h,d)));n.updateStorage(t.stepName,{currentFrameSources:f}),await u()})}}else await n.setSelectionsAndElements(t.stepName,[],c,u)}}selectImage(t,n,r){r.setEditedStatus(t.stepName,!0),(n.fileLink||"").endsWith("pdf")?r.addPoller(new wE(async()=>{var c;const s=(c=(await Re.getLocalOrFromServer(n.key||"")).versions)==null?void 0:c.find(l=>l.name==="svg");return s?(await fetch(s.link)).status===200:!1},()=>{Re.getLocalOrFromServer(n.key||"").then(a=>{this.loadPatternFromAsset(a,t,r)})},()=>{throw new ru("Failed to resolve transcoded PDF")})):this.loadPatternFromAsset(n,t,r)}async selectVariant(t,n,r,i,a){const s=await this.selectVariantCommand(t,n,r,i,a);s&&(s.command&&i.getCommandDispatcher()(s.command),s.followup&&await s.followup())}getCreateElementCommand(t,n,r,i){return new ve({id:t,type:Et.Frame,x:n.left,y:n.top,width:n.width,height:n.height,layer:n.layer,layerIndex:n.layerIndex,rotation:n.rotation,scaleX:n.width/i.frameData.width,scaleY:n.height/i.frameData.height,path:i.frameData.path,dataWidth:i.frameData.width,dataHeight:i.frameData.height,stepRegion:n,stepName:i.stepName,disablePlaceholder:i.disablePlaceholder,focalBlur:i.focalBlur,focalBlurStrength:i.focalBlurStrength,focalBlurRadius:i.focalBlurRadius,pattern:i.pattern,immutable:n.immutable},r)}async loadPatternFromString(t,n){if(t.endsWith("svg")){const r=await cw(t),i=r.width,a=r.height,s={src:t,width:i,height:a,aspect:i/a};Ui.set(t,s),n.setPatternData(s)}else{const r=await Ml(t),i=await ro(r),a={src:t,width:i.width,height:i.height,aspect:i.width/i.height};Ui.set(t,a),n.setPatternData(a)}}async selectVariantCommand(t,n,r,i,a,s){var h;const o=(h=i.getStepSpecificServices(t.stepName))==null?void 0:h.frameService;if(!o)throw new Error("Frame service unavailable, cannot load pattern!");const c=await Promise.all(t.data.regions.map(f=>this.frameSourceSvg(n,f)));a&&a(!0);const l=await Promise.all(t.data.regions.map(async(f,d)=>{const p=await ao(c[d]),m=o.getImageData(),y=r.map(b=>new ri(b.id)),v=m?xf(m,p):void 0,w=m?{id:Dt(),src:m.src,x:(v==null?void 0:v.x)||0,y:(v==null?void 0:v.y)||0,width:m.width,height:m.height,scaleX:(v==null?void 0:v.zoom)||1,scaleY:(v==null?void 0:v.zoom)||1,rotation:0}:void 0,B=Dt(),x=i.getLayouts().find(b=>b.panelId===f.panelId);if(!x)throw new ke(f);return{command:this.getCreateElementCommand(B,f,x,{frameData:p,pattern:w,disablePlaceholder:t.data.disablePlaceholder,focalBlur:t.data.focalBlur,focalBlurStrength:t.data.focalBlurStrength,focalBlurRadius:t.data.focalBlurRadius,stepName:t.stepName}),regionEl:{id:B,region:f},removeExistingCommands:y}})),u=l.map(f=>f.command),A=l.map(f=>f.removeExistingCommands).flat();return{command:new $t([...u,...A]),followup:async()=>{a&&a(!1),await i.setSelectionsAndElements(t.stepName,n?[n]:[],[...l.map(f=>f.regionEl)],async()=>{var f;if(i.updateStorage(t.stepName,{currentFrameSources:c}),s){const d=(f=i.getStepSpecificServices(t.stepName))==null?void 0:f.frameService;if(!d)throw new Error("Frame service unavailable, cannot load pattern!");await this.loadPatternFromString(s,d)}})}}}patternSource(t){var i;const n=(i=t.versions)==null?void 0:i.find(a=>a.name==="svg");if(n)return n.link;const r=t.fileLink;if(r)return r;throw new za(t)}async loadPatternFromAsset(t,n,r){var o;const i=this.patternSource(t),a=r.markUpdatePending(),s=(o=r.getStepSpecificServices(n.stepName))==null?void 0:o.frameService;if(!s)throw new Error("Frame service unavailable, cannot load pattern!");await this.loadPatternFromString(i,s),r.updateMetadata(n.stepName,{image:i}),r.updateStorage(n.stepName,{framePatternSrc:i}),r.markUpdateCompleted(a)}}const Cu=new RR;class OR{async getIllustrationBody(t){return new Promise(n=>{Ln(t).then(r=>{n(r)}).catch(r=>console.error(r))})}getCreateElementCommand(t,n,r,i){return new ve({stepRegion:n,stepName:i.stepName,colors:i.svg.colors,id:t,src:i.src,svg:i.svg.svg,cachedObjectURL:i.objectURL,type:Et.Illustration,y:n.top,x:n.left,rotation:n.rotation,width:n.width,height:n.height,layer:n.layer,layerIndex:n.layerIndex,immutable:n.immutable},r)}getColors(t,n){const r=n.getRegionElements(t.stepName)||[];if(r.length===0)return[];try{return we(r[0].id,n.getAllLayoutData()).colors}catch{return[]}}async init(t,n,r){const i=t.option;if(!i)return null;if(r)return this.reload(t,n,r);{const a=En.getDefaultVariant(i);if(a)return await this.selectVariantCommand(t,a,[],()=>{},n)}return null}async reload(t,n,r){var l;const i=n.getSerializedStep(t.stepName,r.serializableWorkflow.steps),o=Object.values(r.layouts).map(u=>u.elements).flat().filter(u=>u.stepName===t.stepName),c=t.option;if(i!=null&&i.selectedVariants){const u=i.selectedVariants[0].id;if(c&&u){const A=(l=c.variants)==null?void 0:l.find(h=>h.id===u);if(A){const h=o.map(f=>({id:f.id,region:f.stepRegion}));await n.setSelectionsAndElements(t.stepName,[A],h,async()=>{var f;n.updateMetadata(t.stepName,{colors:(f=i.storage)==null?void 0:f.colors}),n.setMandatoryFulfilled(t.stepName,!0)})}}else throw new Error("Required illustration variant no longer available")}return null}async availableColors(t,n){var i;const r=t.data.colorOption;return r?r?(i=r.variants)==null?void 0:i.map(a=>({fill:a.color,stroke:a.color,variant:a})):[]:[]}async changeColorsCommand(t,n,r,i,a){var u;const s={};for(const[A,h]of a.entries())s[A]={browserValue:h,spotColor:(u=s[A])==null?void 0:u.spotColor};const o=jh(t,n,r,s),c=await Gi(o),l=[];for(const A of i){for(const[h,f]of a.entries())l.push(new qh(A,h,f));l.push(new LF(A,o,c))}return new $t(l)}async changeColors(t,n,r,i,a){var f,d;if(n.length===0)return;const s=we(n[0].id,i().map(p=>p.layoutState)),o={...s.colors},c={};Object.entries(o).forEach(([p,m])=>{const y={browserValue:m.browserValue},v=m.spotColor;v&&(y.spotColor={profileName:v.profileName,namedColor:v.namedColor}),c[p]=y});for(const[p,m]of a.entries())o[p]={browserValue:m,spotColor:(f=o[p])==null?void 0:f.spotColor},c[p]={browserValue:m};let l=Array.from(Object.values(o)).map(p=>p.browserValue);const u=t.data.colorOption;u&&((d=u.variants)==null||d.forEach(p=>{l=l.map(m=>{var y;return m.toLowerCase()===((y=p.color)==null?void 0:y.toLowerCase())?p.name:m})})),r.updateMetadata(t.stepName,{colors:l});const A=new Map;if(Object.entries(o).forEach(([p,m])=>{A.set(p,m.browserValue)}),!s.svg)throw new Error("Colors changed before SVG loaded. This should never happen!");const h=await this.changeColorsCommand(s.svg,s.width,s.height,n.map(p=>p.id),A);r.updateStorage(t.stepName,{colors:c}),r.getCommandDispatcher()(h)}async selectVariant(t,n,r,i,a){const s=await this.selectVariantCommand(t,n,r,i,a);s&&(s.command&&a.getCommandDispatcher()(s.command),s.followup&&await s.followup())}async selectVariantCommand(t,n,r,i,a){var y;if(!t.data||!t.data.regions)throw new yo(t,"Missing regions.");i(!0);const s=r.map(v=>new ri(v.id));a.setMandatoryFulfilled(t.stepName,!1);const o=n.asset;if(!o)throw new li(n);const c=o.fileLink;if(!c)throw new za(o);const l=await Na(await this.getIllustrationBody(c)),u=await Gi(l.svg),A=v=>{const w=a.getLayouts().find(C=>C.panelId===v.panelId);if(!w)throw new ke(v);const B=Dt();return{regionElement:{id:B,region:v},command:this.getCreateElementCommand(B,v,w,{stepName:t.stepName,src:c,objectURL:u,svg:l})}},h=t.data.regions.map(A),d=[...h.map(v=>v.command),...s];let p=Array.from(Object.values(l.colors)).map(v=>v.browserValue);const m=t.data.colorOption;return m&&((y=m.variants)==null||y.forEach(v=>{p=p.map(w=>{var B;return w.toLowerCase()===((B=v.color)==null?void 0:B.toLowerCase())?v.name:w})})),a.updateMetadata(t.stepName,{colors:p}),{command:new $t(d),followup:async()=>{await a.setSelectionsAndElements(t.stepName,[n],h.map(v=>v.regionElement),async()=>{a.setMandatoryFulfilled(t.stepName,!0),i(!1)})}}}}const Ro=new OR;class UR{async init(t,n,r){const i=t.option;if(!i)throw new mo(t);if(r)await this.reload(t,n,r);else{const a=En.getDefaultVariant(i);if(a)return await this.selectVariantLambda(t,a,n,()=>{})}return null}async reload(t,n,r){var l;const i=n.getSerializedStep(t.stepName,r.serializableWorkflow.steps),o=Object.values(r.layouts).map(u=>u.elements).flat().filter(u=>u.stepName===t.stepName),c=t.option;if(!c)throw new mo(t);if(i!=null&&i.selectedVariants){const u=i.selectedVariants[0].id;if(u){const A=(l=c.variants)==null?void 0:l.find(h=>h.id===u);if(A){const h=A.material,f=o.map(d=>({id:d.id,region:d.stepRegion}));await n.setSelectionsAndElements(t.stepName,[A],f,async()=>{const d=n.getModelContainer();if(d){const p=t.data.targetMaterials.map(m=>d.applyMaterialVariant(m,c.id||"",h||{}));Promise.all(p).then(()=>n.setMandatoryFulfilled(t.stepName,!0))}})}}}}async selectVariant(t,n,r,i){const a=await this.selectVariantLambda(t,n,r,i);a&&(a.command&&r.getCommandDispatcher()(a.command),a.followup&&await a.followup())}async selectVariantLambda(t,n,r,i){const a=r.getModelContainer();i(!0);const s=n.material;if(!s)throw i(!1),new li(n);return{command:void 0,followup:async()=>{await r.setSelectionsAndElements(t.stepName,[n],[],async()=>{try{a&&t.data.targetMaterials.forEach(o=>{t.option&&a.applyMaterialVariant(o,t.option.id||"",s)}),r.setMandatoryFulfilled(t.stepName,!0)}finally{i(!1)}})}}}}const x0=new UR;class LR{async init(t,n,r){const i=t.option;if(!i)throw new mo(t);if(r)await this.reload(t,n,r);else{const a=En.getDefaultVariant(i);if(a)return await this.selectVariantLambda(t,a,n,()=>{})}return null}async reload(t,n,r){var l;const i=n.getSerializedStep(t.stepName,r.serializableWorkflow.steps),o=Object.values(r.layouts).map(u=>u.elements).flat().filter(u=>u.stepName===t.stepName),c=t.option;if(i!=null&&i.selectedVariants){const u=i.selectedVariants[0].id;if(c&&u){const A=(l=c.variants)==null?void 0:l.find(h=>h.id===u);if(A){const h=o.map(f=>({id:f.id,region:f.stepRegion}));await n.setSelectionsAndElements(t.stepName,[A],h,async()=>{var d;const f=n.getModelContainer();if(f&&t.option){const p=(d=A.asset)==null?void 0:d.fileLink;if(!p)throw new li(A);await f.applyModelVariant(t.option.id||"",{model:p,contextService:n.getLayoutPreviewService()},t.data.replaceProductModel||!1),n.setMandatoryFulfilled(t.stepName,!0)}})}}}}async selectVariant(t,n,r,i){const a=await this.selectVariantLambda(t,n,r,i);a&&(a.command&&r.getCommandDispatcher()(a.command),a.followup&&await a.followup())}async selectVariantLambda(t,n,r,i){var s;i(!0);const a=(s=n.asset)==null?void 0:s.fileLink;if(!a)throw new li(n);return{command:void 0,followup:async()=>{await r.setSelectionsAndElements(t.stepName,[n],[],async()=>{try{const o=r.getModelContainer();o&&t.option&&o.applyModelVariant(t.option.id||"",{model:a,contextService:r.getLayoutPreviewService()},t.data.replaceProductModel||!1),r.setMandatoryFulfilled(t.stepName,!0)}finally{i(!1)}})}}}}const b0=new LR;var S0={},xu={},bu={};Object.defineProperty(bu,"__esModule",{value:!0}),bu.extendedPictographic=/^[\u00A9\u00AE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9-\u21AA\u231A-\u231B\u2328\u2388\u23CF\u23E9-\u23EC\u23ED-\u23EE\u23EF\u23F0\u23F1-\u23F2\u23F3\u23F8-\u23FA\u24C2\u25AA-\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2601\u2602-\u2603\u2604\u2605\u2607-\u260D\u260E\u260F-\u2610\u2611\u2612\u2614-\u2615\u2616-\u2617\u2618\u2619-\u261C\u261D\u261E-\u261F\u2620\u2621\u2622-\u2623\u2624-\u2625\u2626\u2627-\u2629\u262A\u262B-\u262D\u262E\u262F\u2630-\u2637\u2638-\u2639\u263A\u263B-\u263F\u2640\u2641\u2642\u2643-\u2647\u2648-\u2653\u2654-\u265E\u265F\u2660\u2661-\u2662\u2663\u2664\u2665-\u2666\u2667\u2668\u2669-\u267A\u267B\u267C-\u267D\u267E\u267F\u2680-\u2685\u2690-\u2691\u2692\u2693\u2694\u2695\u2696-\u2697\u2698\u2699\u269A\u269B-\u269C\u269D-\u269F\u26A0-\u26A1\u26A2-\u26A6\u26A7\u26A8-\u26A9\u26AA-\u26AB\u26AC-\u26AF\u26B0-\u26B1\u26B2-\u26BC\u26BD-\u26BE\u26BF-\u26C3\u26C4-\u26C5\u26C6-\u26C7\u26C8\u26C9-\u26CD\u26CE\u26CF\u26D0\u26D1\u26D2\u26D3\u26D4\u26D5-\u26E8\u26E9\u26EA\u26EB-\u26EF\u26F0-\u26F1\u26F2-\u26F3\u26F4\u26F5\u26F6\u26F7-\u26F9\u26FA\u26FB-\u26FC\u26FD\u26FE-\u2701\u2702\u2703-\u2704\u2705\u2708-\u270C\u270D\u270E\u270F\u2710-\u2711\u2712\u2714\u2716\u271D\u2721\u2728\u2733-\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2765-\u2767\u2795-\u2797\u27A1\u27B0\u27BF\u2934-\u2935\u2B05-\u2B07\u2B1B-\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299\u{01F000}-\u{01F003}\u{01F004}\u{01F005}-\u{01F0CE}\u{01F0CF}\u{01F0D0}-\u{01F0FF}\u{01F10D}-\u{01F10F}\u{01F12F}\u{01F16C}-\u{01F16F}\u{01F170}-\u{01F171}\u{01F17E}-\u{01F17F}\u{01F18E}\u{01F191}-\u{01F19A}\u{01F1AD}-\u{01F1E5}\u{01F201}-\u{01F202}\u{01F203}-\u{01F20F}\u{01F21A}\u{01F22F}\u{01F232}-\u{01F23A}\u{01F23C}-\u{01F23F}\u{01F249}-\u{01F24F}\u{01F250}-\u{01F251}\u{01F252}-\u{01F2FF}\u{01F300}-\u{01F30C}\u{01F30D}-\u{01F30E}\u{01F30F}\u{01F310}\u{01F311}\u{01F312}\u{01F313}-\u{01F315}\u{01F316}-\u{01F318}\u{01F319}\u{01F31A}\u{01F31B}\u{01F31C}\u{01F31D}-\u{01F31E}\u{01F31F}-\u{01F320}\u{01F321}\u{01F322}-\u{01F323}\u{01F324}-\u{01F32C}\u{01F32D}-\u{01F32F}\u{01F330}-\u{01F331}\u{01F332}-\u{01F333}\u{01F334}-\u{01F335}\u{01F336}\u{01F337}-\u{01F34A}\u{01F34B}\u{01F34C}-\u{01F34F}\u{01F350}\u{01F351}-\u{01F37B}\u{01F37C}\u{01F37D}\u{01F37E}-\u{01F37F}\u{01F380}-\u{01F393}\u{01F394}-\u{01F395}\u{01F396}-\u{01F397}\u{01F398}\u{01F399}-\u{01F39B}\u{01F39C}-\u{01F39D}\u{01F39E}-\u{01F39F}\u{01F3A0}-\u{01F3C4}\u{01F3C5}\u{01F3C6}\u{01F3C7}\u{01F3C8}\u{01F3C9}\u{01F3CA}\u{01F3CB}-\u{01F3CE}\u{01F3CF}-\u{01F3D3}\u{01F3D4}-\u{01F3DF}\u{01F3E0}-\u{01F3E3}\u{01F3E4}\u{01F3E5}-\u{01F3F0}\u{01F3F1}-\u{01F3F2}\u{01F3F3}\u{01F3F4}\u{01F3F5}\u{01F3F6}\u{01F3F7}\u{01F3F8}-\u{01F3FA}\u{01F400}-\u{01F407}\u{01F408}\u{01F409}-\u{01F40B}\u{01F40C}-\u{01F40E}\u{01F40F}-\u{01F410}\u{01F411}-\u{01F412}\u{01F413}\u{01F414}\u{01F415}\u{01F416}\u{01F417}-\u{01F429}\u{01F42A}\u{01F42B}-\u{01F43E}\u{01F43F}\u{01F440}\u{01F441}\u{01F442}-\u{01F464}\u{01F465}\u{01F466}-\u{01F46B}\u{01F46C}-\u{01F46D}\u{01F46E}-\u{01F4AC}\u{01F4AD}\u{01F4AE}-\u{01F4B5}\u{01F4B6}-\u{01F4B7}\u{01F4B8}-\u{01F4EB}\u{01F4EC}-\u{01F4ED}\u{01F4EE}\u{01F4EF}\u{01F4F0}-\u{01F4F4}\u{01F4F5}\u{01F4F6}-\u{01F4F7}\u{01F4F8}\u{01F4F9}-\u{01F4FC}\u{01F4FD}\u{01F4FE}\u{01F4FF}-\u{01F502}\u{01F503}\u{01F504}-\u{01F507}\u{01F508}\u{01F509}\u{01F50A}-\u{01F514}\u{01F515}\u{01F516}-\u{01F52B}\u{01F52C}-\u{01F52D}\u{01F52E}-\u{01F53D}\u{01F546}-\u{01F548}\u{01F549}-\u{01F54A}\u{01F54B}-\u{01F54E}\u{01F54F}\u{01F550}-\u{01F55B}\u{01F55C}-\u{01F567}\u{01F568}-\u{01F56E}\u{01F56F}-\u{01F570}\u{01F571}-\u{01F572}\u{01F573}-\u{01F579}\u{01F57A}\u{01F57B}-\u{01F586}\u{01F587}\u{01F588}-\u{01F589}\u{01F58A}-\u{01F58D}\u{01F58E}-\u{01F58F}\u{01F590}\u{01F591}-\u{01F594}\u{01F595}-\u{01F596}\u{01F597}-\u{01F5A3}\u{01F5A4}\u{01F5A5}\u{01F5A6}-\u{01F5A7}\u{01F5A8}\u{01F5A9}-\u{01F5B0}\u{01F5B1}-\u{01F5B2}\u{01F5B3}-\u{01F5BB}\u{01F5BC}\u{01F5BD}-\u{01F5C1}\u{01F5C2}-\u{01F5C4}\u{01F5C5}-\u{01F5D0}\u{01F5D1}-\u{01F5D3}\u{01F5D4}-\u{01F5DB}\u{01F5DC}-\u{01F5DE}\u{01F5DF}-\u{01F5E0}\u{01F5E1}\u{01F5E2}\u{01F5E3}\u{01F5E4}-\u{01F5E7}\u{01F5E8}\u{01F5E9}-\u{01F5EE}\u{01F5EF}\u{01F5F0}-\u{01F5F2}\u{01F5F3}\u{01F5F4}-\u{01F5F9}\u{01F5FA}\u{01F5FB}-\u{01F5FF}\u{01F600}\u{01F601}-\u{01F606}\u{01F607}-\u{01F608}\u{01F609}-\u{01F60D}\u{01F60E}\u{01F60F}\u{01F610}\u{01F611}\u{01F612}-\u{01F614}\u{01F615}\u{01F616}\u{01F617}\u{01F618}\u{01F619}\u{01F61A}\u{01F61B}\u{01F61C}-\u{01F61E}\u{01F61F}\u{01F620}-\u{01F625}\u{01F626}-\u{01F627}\u{01F628}-\u{01F62B}\u{01F62C}\u{01F62D}\u{01F62E}-\u{01F62F}\u{01F630}-\u{01F633}\u{01F634}\u{01F635}\u{01F636}\u{01F637}-\u{01F640}\u{01F641}-\u{01F644}\u{01F645}-\u{01F64F}\u{01F680}\u{01F681}-\u{01F682}\u{01F683}-\u{01F685}\u{01F686}\u{01F687}\u{01F688}\u{01F689}\u{01F68A}-\u{01F68B}\u{01F68C}\u{01F68D}\u{01F68E}\u{01F68F}\u{01F690}\u{01F691}-\u{01F693}\u{01F694}\u{01F695}\u{01F696}\u{01F697}\u{01F698}\u{01F699}-\u{01F69A}\u{01F69B}-\u{01F6A1}\u{01F6A2}\u{01F6A3}\u{01F6A4}-\u{01F6A5}\u{01F6A6}\u{01F6A7}-\u{01F6AD}\u{01F6AE}-\u{01F6B1}\u{01F6B2}\u{01F6B3}-\u{01F6B5}\u{01F6B6}\u{01F6B7}-\u{01F6B8}\u{01F6B9}-\u{01F6BE}\u{01F6BF}\u{01F6C0}\u{01F6C1}-\u{01F6C5}\u{01F6C6}-\u{01F6CA}\u{01F6CB}\u{01F6CC}\u{01F6CD}-\u{01F6CF}\u{01F6D0}\u{01F6D1}-\u{01F6D2}\u{01F6D3}-\u{01F6D4}\u{01F6D5}\u{01F6D6}-\u{01F6D7}\u{01F6D8}-\u{01F6DF}\u{01F6E0}-\u{01F6E5}\u{01F6E6}-\u{01F6E8}\u{01F6E9}\u{01F6EA}\u{01F6EB}-\u{01F6EC}\u{01F6ED}-\u{01F6EF}\u{01F6F0}\u{01F6F1}-\u{01F6F2}\u{01F6F3}\u{01F6F4}-\u{01F6F6}\u{01F6F7}-\u{01F6F8}\u{01F6F9}\u{01F6FA}\u{01F6FB}-\u{01F6FC}\u{01F6FD}-\u{01F6FF}\u{01F774}-\u{01F77F}\u{01F7D5}-\u{01F7DF}\u{01F7E0}-\u{01F7EB}\u{01F7EC}-\u{01F7FF}\u{01F80C}-\u{01F80F}\u{01F848}-\u{01F84F}\u{01F85A}-\u{01F85F}\u{01F888}-\u{01F88F}\u{01F8AE}-\u{01F8FF}\u{01F90C}\u{01F90D}-\u{01F90F}\u{01F910}-\u{01F918}\u{01F919}-\u{01F91E}\u{01F91F}\u{01F920}-\u{01F927}\u{01F928}-\u{01F92F}\u{01F930}\u{01F931}-\u{01F932}\u{01F933}-\u{01F93A}\u{01F93C}-\u{01F93E}\u{01F93F}\u{01F940}-\u{01F945}\u{01F947}-\u{01F94B}\u{01F94C}\u{01F94D}-\u{01F94F}\u{01F950}-\u{01F95E}\u{01F95F}-\u{01F96B}\u{01F96C}-\u{01F970}\u{01F971}\u{01F972}\u{01F973}-\u{01F976}\u{01F977}-\u{01F978}\u{01F979}\u{01F97A}\u{01F97B}\u{01F97C}-\u{01F97F}\u{01F980}-\u{01F984}\u{01F985}-\u{01F991}\u{01F992}-\u{01F997}\u{01F998}-\u{01F9A2}\u{01F9A3}-\u{01F9A4}\u{01F9A5}-\u{01F9AA}\u{01F9AB}-\u{01F9AD}\u{01F9AE}-\u{01F9AF}\u{01F9B0}-\u{01F9B9}\u{01F9BA}-\u{01F9BF}\u{01F9C0}\u{01F9C1}-\u{01F9C2}\u{01F9C3}-\u{01F9CA}\u{01F9CB}\u{01F9CC}\u{01F9CD}-\u{01F9CF}\u{01F9D0}-\u{01F9E6}\u{01F9E7}-\u{01F9FF}\u{01FA00}-\u{01FA6F}\u{01FA70}-\u{01FA73}\u{01FA74}\u{01FA75}-\u{01FA77}\u{01FA78}-\u{01FA7A}\u{01FA7B}-\u{01FA7F}\u{01FA80}-\u{01FA82}\u{01FA83}-\u{01FA86}\u{01FA87}-\u{01FA8F}\u{01FA90}-\u{01FA95}\u{01FA96}-\u{01FAA8}\u{01FAA9}-\u{01FAAF}\u{01FAB0}-\u{01FAB6}\u{01FAB7}-\u{01FABF}\u{01FAC0}-\u{01FAC2}\u{01FAC3}-\u{01FACF}\u{01FAD0}-\u{01FAD6}\u{01FAD7}-\u{01FAFF}\u{01FC00}-\u{01FFFD}]/u,bu.WORD_BREAK_PROPERTY=[[0,0],[10,1],[11,2],[13,3],[14,0],[32,4],[33,0],[34,5],[35,0],[39,6],[40,0],[44,7],[45,0],[46,8],[47,0],[48,9],[58,10],[59,7],[60,0],[65,11],[91,0],[95,12],[96,0],[97,11],[123,0],[133,2],[134,0],[170,11],[171,0],[173,13],[174,0],[181,11],[182,0],[183,10],[184,0],[186,11],[187,0],[192,11],[215,0],[216,11],[247,0],[248,11],[728,0],[734,11],[768,14],[880,11],[885,0],[886,11],[888,0],[890,11],[894,7],[895,11],[896,0],[902,11],[903,10],[904,11],[907,0],[908,11],[909,0],[910,11],[930,0],[931,11],[1014,0],[1015,11],[1154,0],[1155,14],[1162,11],[1328,0],[1329,11],[1367,0],[1369,11],[1373,0],[1374,11],[1375,10],[1376,11],[1417,7],[1418,11],[1419,0],[1425,14],[1470,0],[1471,14],[1472,0],[1473,14],[1475,0],[1476,14],[1478,0],[1479,14],[1480,0],[1488,15],[1515,0],[1519,15],[1523,11],[1524,10],[1525,0],[1536,13],[1542,0],[1548,7],[1550,0],[1552,14],[1563,0],[1564,13],[1565,0],[1568,11],[1611,14],[1632,9],[1642,0],[1643,9],[1644,7],[1645,0],[1646,11],[1648,14],[1649,11],[1748,0],[1749,11],[1750,14],[1757,13],[1758,0],[1759,14],[1765,11],[1767,14],[1769,0],[1770,14],[1774,11],[1776,9],[1786,11],[1789,0],[1791,11],[1792,0],[1807,13],[1808,11],[1809,14],[1810,11],[1840,14],[1867,0],[1869,11],[1958,14],[1969,11],[1970,0],[1984,9],[1994,11],[2027,14],[2036,11],[2038,0],[2040,7],[2041,0],[2042,11],[2043,0],[2045,14],[2046,0],[2048,11],[2070,14],[2074,11],[2075,14],[2084,11],[2085,14],[2088,11],[2089,14],[2094,0],[2112,11],[2137,14],[2140,0],[2144,11],[2155,0],[2208,11],[2229,0],[2230,11],[2248,0],[2259,14],[2274,13],[2275,14],[2308,11],[2362,14],[2365,11],[2366,14],[2384,11],[2385,14],[2392,11],[2402,14],[2404,0],[2406,9],[2416,0],[2417,11],[2433,14],[2436,0],[2437,11],[2445,0],[2447,11],[2449,0],[2451,11],[2473,0],[2474,11],[2481,0],[2482,11],[2483,0],[2486,11],[2490,0],[2492,14],[2493,11],[2494,14],[2501,0],[2503,14],[2505,0],[2507,14],[2510,11],[2511,0],[2519,14],[2520,0],[2524,11],[2526,0],[2527,11],[2530,14],[2532,0],[2534,9],[2544,11],[2546,0],[2556,11],[2557,0],[2558,14],[2559,0],[2561,14],[2564,0],[2565,11],[2571,0],[2575,11],[2577,0],[2579,11],[2601,0],[2602,11],[2609,0],[2610,11],[2612,0],[2613,11],[2615,0],[2616,11],[2618,0],[2620,14],[2621,0],[2622,14],[2627,0],[2631,14],[2633,0],[2635,14],[2638,0],[2641,14],[2642,0],[2649,11],[2653,0],[2654,11],[2655,0],[2662,9],[2672,14],[2674,11],[2677,14],[2678,0],[2689,14],[2692,0],[2693,11],[2702,0],[2703,11],[2706,0],[2707,11],[2729,0],[2730,11],[2737,0],[2738,11],[2740,0],[2741,11],[2746,0],[2748,14],[2749,11],[2750,14],[2758,0],[2759,14],[2762,0],[2763,14],[2766,0],[2768,11],[2769,0],[2784,11],[2786,14],[2788,0],[2790,9],[2800,0],[2809,11],[2810,14],[2816,0],[2817,14],[2820,0],[2821,11],[2829,0],[2831,11],[2833,0],[2835,11],[2857,0],[2858,11],[2865,0],[2866,11],[2868,0],[2869,11],[2874,0],[2876,14],[2877,11],[2878,14],[2885,0],[2887,14],[2889,0],[2891,14],[2894,0],[2901,14],[2904,0],[2908,11],[2910,0],[2911,11],[2914,14],[2916,0],[2918,9],[2928,0],[2929,11],[2930,0],[2946,14],[2947,11],[2948,0],[2949,11],[2955,0],[2958,11],[2961,0],[2962,11],[2966,0],[2969,11],[2971,0],[2972,11],[2973,0],[2974,11],[2976,0],[2979,11],[2981,0],[2984,11],[2987,0],[2990,11],[3002,0],[3006,14],[3011,0],[3014,14],[3017,0],[3018,14],[3022,0],[3024,11],[3025,0],[3031,14],[3032,0],[3046,9],[3056,0],[3072,14],[3077,11],[3085,0],[3086,11],[3089,0],[3090,11],[3113,0],[3114,11],[3130,0],[3133,11],[3134,14],[3141,0],[3142,14],[3145,0],[3146,14],[3150,0],[3157,14],[3159,0],[3160,11],[3163,0],[3168,11],[3170,14],[3172,0],[3174,9],[3184,0],[3200,11],[3201,14],[3204,0],[3205,11],[3213,0],[3214,11],[3217,0],[3218,11],[3241,0],[3242,11],[3252,0],[3253,11],[3258,0],[3260,14],[3261,11],[3262,14],[3269,0],[3270,14],[3273,0],[3274,14],[3278,0],[3285,14],[3287,0],[3294,11],[3295,0],[3296,11],[3298,14],[3300,0],[3302,9],[3312,0],[3313,11],[3315,0],[3328,14],[3332,11],[3341,0],[3342,11],[3345,0],[3346,11],[3387,14],[3389,11],[3390,14],[3397,0],[3398,14],[3401,0],[3402,14],[3406,11],[3407,0],[3412,11],[3415,14],[3416,0],[3423,11],[3426,14],[3428,0],[3430,9],[3440,0],[3450,11],[3456,0],[3457,14],[3460,0],[3461,11],[3479,0],[3482,11],[3506,0],[3507,11],[3516,0],[3517,11],[3518,0],[3520,11],[3527,0],[3530,14],[3531,0],[3535,14],[3541,0],[3542,14],[3543,0],[3544,14],[3552,0],[3558,9],[3568,0],[3570,14],[3572,0],[3633,14],[3634,0],[3636,14],[3643,0],[3655,14],[3663,0],[3664,9],[3674,0],[3761,14],[3762,0],[3764,14],[3773,0],[3784,14],[3790,0],[3792,9],[3802,0],[3840,11],[3841,0],[3864,14],[3866,0],[3872,9],[3882,0],[3893,14],[3894,0],[3895,14],[3896,0],[3897,14],[3898,0],[3902,14],[3904,11],[3912,0],[3913,11],[3949,0],[3953,14],[3973,0],[3974,14],[3976,11],[3981,14],[3992,0],[3993,14],[4029,0],[4038,14],[4039,0],[4139,14],[4159,0],[4160,9],[4170,0],[4182,14],[4186,0],[4190,14],[4193,0],[4194,14],[4197,0],[4199,14],[4206,0],[4209,14],[4213,0],[4226,14],[4238,0],[4239,14],[4240,9],[4250,14],[4254,0],[4256,11],[4294,0],[4295,11],[4296,0],[4301,11],[4302,0],[4304,11],[4347,0],[4348,11],[4681,0],[4682,11],[4686,0],[4688,11],[4695,0],[4696,11],[4697,0],[4698,11],[4702,0],[4704,11],[4745,0],[4746,11],[4750,0],[4752,11],[4785,0],[4786,11],[4790,0],[4792,11],[4799,0],[4800,11],[4801,0],[4802,11],[4806,0],[4808,11],[4823,0],[4824,11],[4881,0],[4882,11],[4886,0],[4888,11],[4955,0],[4957,14],[4960,0],[4992,11],[5008,0],[5024,11],[5110,0],[5112,11],[5118,0],[5121,11],[5741,0],[5743,11],[5760,4],[5761,11],[5787,0],[5792,11],[5867,0],[5870,11],[5881,0],[5888,11],[5901,0],[5902,11],[5906,14],[5909,0],[5920,11],[5938,14],[5941,0],[5952,11],[5970,14],[5972,0],[5984,11],[5997,0],[5998,11],[6001,0],[6002,14],[6004,0],[6068,14],[6100,0],[6109,14],[6110,0],[6112,9],[6122,0],[6155,14],[6158,13],[6159,0],[6160,9],[6170,0],[6176,11],[6265,0],[6272,11],[6277,14],[6279,11],[6313,14],[6314,11],[6315,0],[6320,11],[6390,0],[6400,11],[6431,0],[6432,14],[6444,0],[6448,14],[6460,0],[6470,9],[6480,0],[6608,9],[6618,0],[6656,11],[6679,14],[6684,0],[6741,14],[6751,0],[6752,14],[6781,0],[6783,14],[6784,9],[6794,0],[6800,9],[6810,0],[6832,14],[6849,0],[6912,14],[6917,11],[6964,14],[6981,11],[6988,0],[6992,9],[7002,0],[7019,14],[7028,0],[7040,14],[7043,11],[7073,14],[7086,11],[7088,9],[7098,11],[7142,14],[7156,0],[7168,11],[7204,14],[7224,0],[7232,9],[7242,0],[7245,11],[7248,9],[7258,11],[7294,0],[7296,11],[7305,0],[7312,11],[7355,0],[7357,11],[7360,0],[7376,14],[7379,0],[7380,14],[7401,11],[7405,14],[7406,11],[7412,14],[7413,11],[7415,14],[7418,11],[7419,0],[7424,11],[7616,14],[7674,0],[7675,14],[7680,11],[7958,0],[7960,11],[7966,0],[7968,11],[8006,0],[8008,11],[8014,0],[8016,11],[8024,0],[8025,11],[8026,0],[8027,11],[8028,0],[8029,11],[8030,0],[8031,11],[8062,0],[8064,11],[8117,0],[8118,11],[8125,0],[8126,11],[8127,0],[8130,11],[8133,0],[8134,11],[8141,0],[8144,11],[8148,0],[8150,11],[8156,0],[8160,11],[8173,0],[8178,11],[8181,0],[8182,11],[8189,0],[8192,4],[8199,0],[8200,4],[8203,0],[8204,14],[8205,16],[8206,13],[8208,0],[8216,8],[8218,0],[8228,8],[8229,0],[8231,10],[8232,2],[8234,13],[8239,12],[8240,0],[8255,12],[8257,0],[8260,7],[8261,0],[8276,12],[8277,0],[8287,4],[8288,13],[8293,0],[8294,13],[8304,0],[8305,11],[8306,0],[8319,11],[8320,0],[8336,11],[8349,0],[8400,14],[8433,0],[8450,11],[8451,0],[8455,11],[8456,0],[8458,11],[8468,0],[8469,11],[8470,0],[8473,11],[8478,0],[8484,11],[8485,0],[8486,11],[8487,0],[8488,11],[8489,0],[8490,11],[8494,0],[8495,11],[8506,0],[8508,11],[8512,0],[8517,11],[8522,0],[8526,11],[8527,0],[8544,11],[8585,0],[9398,11],[9450,0],[11264,11],[11311,0],[11312,11],[11359,0],[11360,11],[11493,0],[11499,11],[11503,14],[11506,11],[11508,0],[11520,11],[11558,0],[11559,11],[11560,0],[11565,11],[11566,0],[11568,11],[11624,0],[11631,11],[11632,0],[11647,14],[11648,11],[11671,0],[11680,11],[11687,0],[11688,11],[11695,0],[11696,11],[11703,0],[11704,11],[11711,0],[11712,11],[11719,0],[11720,11],[11727,0],[11728,11],[11735,0],[11736,11],[11743,0],[11744,14],[11776,0],[11823,11],[11824,0],[12288,4],[12289,0],[12293,11],[12294,0],[12330,14],[12336,0],[12337,17],[12342,0],[12347,11],[12349,0],[12441,14],[12443,17],[12445,0],[12448,17],[12539,0],[12540,17],[12544,0],[12549,11],[12592,0],[12593,11],[12687,0],[12704,11],[12736,0],[12784,17],[12800,0],[13008,17],[13055,0],[13056,17],[13144,0],[40960,11],[42125,0],[42192,11],[42238,0],[42240,11],[42509,0],[42512,11],[42528,9],[42538,11],[42540,0],[42560,11],[42607,14],[42611,0],[42612,14],[42622,0],[42623,11],[42654,14],[42656,11],[42736,14],[42738,0],[42760,11],[42944,0],[42946,11],[42955,0],[42997,11],[43010,14],[43011,11],[43014,14],[43015,11],[43019,14],[43020,11],[43043,14],[43048,0],[43052,14],[43053,0],[43072,11],[43124,0],[43136,14],[43138,11],[43188,14],[43206,0],[43216,9],[43226,0],[43232,14],[43250,11],[43256,0],[43259,11],[43260,0],[43261,11],[43263,14],[43264,9],[43274,11],[43302,14],[43310,0],[43312,11],[43335,14],[43348,0],[43360,11],[43389,0],[43392,14],[43396,11],[43443,14],[43457,0],[43471,11],[43472,9],[43482,0],[43493,14],[43494,0],[43504,9],[43514,0],[43520,11],[43561,14],[43575,0],[43584,11],[43587,14],[43588,11],[43596,14],[43598,0],[43600,9],[43610,0],[43643,14],[43646,0],[43696,14],[43697,0],[43698,14],[43701,0],[43703,14],[43705,0],[43710,14],[43712,0],[43713,14],[43714,0],[43744,11],[43755,14],[43760,0],[43762,11],[43765,14],[43767,0],[43777,11],[43783,0],[43785,11],[43791,0],[43793,11],[43799,0],[43808,11],[43815,0],[43816,11],[43823,0],[43824,11],[43882,0],[43888,11],[44003,14],[44011,0],[44012,14],[44014,0],[44016,9],[44026,0],[44032,11],[55204,0],[55216,11],[55239,0],[55243,11],[55292,0],[64256,11],[64263,0],[64275,11],[64280,0],[64285,15],[64286,14],[64287,15],[64297,0],[64298,15],[64311,0],[64312,15],[64317,0],[64318,15],[64319,0],[64320,15],[64322,0],[64323,15],[64325,0],[64326,15],[64336,11],[64434,0],[64467,11],[64830,0],[64848,11],[64912,0],[64914,11],[64968,0],[65008,11],[65020,0],[65024,14],[65040,7],[65041,0],[65043,10],[65044,7],[65045,0],[65056,14],[65072,0],[65075,12],[65077,0],[65101,12],[65104,7],[65105,0],[65106,8],[65107,0],[65108,7],[65109,10],[65110,0],[65136,11],[65141,0],[65142,11],[65277,0],[65279,13],[65280,0],[65287,8],[65288,0],[65292,7],[65293,0],[65294,8],[65295,0],[65296,9],[65306,10],[65307,7],[65308,0],[65313,11],[65339,0],[65343,12],[65344,0],[65345,11],[65371,0],[65382,17],[65438,14],[65440,11],[65471,0],[65474,11],[65480,0],[65482,11],[65488,0],[65490,11],[65496,0],[65498,11],[65501,0],[65529,13],[65532,0],[65536,11],[65548,0],[65549,11],[65575,0],[65576,11],[65595,0],[65596,11],[65598,0],[65599,11],[65614,0],[65616,11],[65630,0],[65664,11],[65787,0],[65856,11],[65909,0],[66045,14],[66046,0],[66176,11],[66205,0],[66208,11],[66257,0],[66272,14],[66273,0],[66304,11],[66336,0],[66349,11],[66379,0],[66384,11],[66422,14],[66427,0],[66432,11],[66462,0],[66464,11],[66500,0],[66504,11],[66512,0],[66513,11],[66518,0],[66560,11],[66718,0],[66720,9],[66730,0],[66736,11],[66772,0],[66776,11],[66812,0],[66816,11],[66856,0],[66864,11],[66916,0],[67072,11],[67383,0],[67392,11],[67414,0],[67424,11],[67432,0],[67584,11],[67590,0],[67592,11],[67593,0],[67594,11],[67638,0],[67639,11],[67641,0],[67644,11],[67645,0],[67647,11],[67670,0],[67680,11],[67703,0],[67712,11],[67743,0],[67808,11],[67827,0],[67828,11],[67830,0],[67840,11],[67862,0],[67872,11],[67898,0],[67968,11],[68024,0],[68030,11],[68032,0],[68096,11],[68097,14],[68100,0],[68101,14],[68103,0],[68108,14],[68112,11],[68116,0],[68117,11],[68120,0],[68121,11],[68150,0],[68152,14],[68155,0],[68159,14],[68160,0],[68192,11],[68221,0],[68224,11],[68253,0],[68288,11],[68296,0],[68297,11],[68325,14],[68327,0],[68352,11],[68406,0],[68416,11],[68438,0],[68448,11],[68467,0],[68480,11],[68498,0],[68608,11],[68681,0],[68736,11],[68787,0],[68800,11],[68851,0],[68864,11],[68900,14],[68904,0],[68912,9],[68922,0],[69248,11],[69290,0],[69291,14],[69293,0],[69296,11],[69298,0],[69376,11],[69405,0],[69415,11],[69416,0],[69424,11],[69446,14],[69457,0],[69552,11],[69573,0],[69600,11],[69623,0],[69632,14],[69635,11],[69688,14],[69703,0],[69734,9],[69744,0],[69759,14],[69763,11],[69808,14],[69819,0],[69821,13],[69822,0],[69837,13],[69838,0],[69840,11],[69865,0],[69872,9],[69882,0],[69888,14],[69891,11],[69927,14],[69941,0],[69942,9],[69952,0],[69956,11],[69957,14],[69959,11],[69960,0],[69968,11],[70003,14],[70004,0],[70006,11],[70007,0],[70016,14],[70019,11],[70067,14],[70081,11],[70085,0],[70089,14],[70093,0],[70094,14],[70096,9],[70106,11],[70107,0],[70108,11],[70109,0],[70144,11],[70162,0],[70163,11],[70188,14],[70200,0],[70206,14],[70207,0],[70272,11],[70279,0],[70280,11],[70281,0],[70282,11],[70286,0],[70287,11],[70302,0],[70303,11],[70313,0],[70320,11],[70367,14],[70379,0],[70384,9],[70394,0],[70400,14],[70404,0],[70405,11],[70413,0],[70415,11],[70417,0],[70419,11],[70441,0],[70442,11],[70449,0],[70450,11],[70452,0],[70453,11],[70458,0],[70459,14],[70461,11],[70462,14],[70469,0],[70471,14],[70473,0],[70475,14],[70478,0],[70480,11],[70481,0],[70487,14],[70488,0],[70493,11],[70498,14],[70500,0],[70502,14],[70509,0],[70512,14],[70517,0],[70656,11],[70709,14],[70727,11],[70731,0],[70736,9],[70746,0],[70750,14],[70751,11],[70754,0],[70784,11],[70832,14],[70852,11],[70854,0],[70855,11],[70856,0],[70864,9],[70874,0],[71040,11],[71087,14],[71094,0],[71096,14],[71105,0],[71128,11],[71132,14],[71134,0],[71168,11],[71216,14],[71233,0],[71236,11],[71237,0],[71248,9],[71258,0],[71296,11],[71339,14],[71352,11],[71353,0],[71360,9],[71370,0],[71453,14],[71468,0],[71472,9],[71482,0],[71680,11],[71724,14],[71739,0],[71840,11],[71904,9],[71914,0],[71935,11],[71943,0],[71945,11],[71946,0],[71948,11],[71956,0],[71957,11],[71959,0],[71960,11],[71984,14],[71990,0],[71991,14],[71993,0],[71995,14],[71999,11],[72e3,14],[72001,11],[72002,14],[72004,0],[72016,9],[72026,0],[72096,11],[72104,0],[72106,11],[72145,14],[72152,0],[72154,14],[72161,11],[72162,0],[72163,11],[72164,14],[72165,0],[72192,11],[72193,14],[72203,11],[72243,14],[72250,11],[72251,14],[72255,0],[72263,14],[72264,0],[72272,11],[72273,14],[72284,11],[72330,14],[72346,0],[72349,11],[72350,0],[72384,11],[72441,0],[72704,11],[72713,0],[72714,11],[72751,14],[72759,0],[72760,14],[72768,11],[72769,0],[72784,9],[72794,0],[72818,11],[72848,0],[72850,14],[72872,0],[72873,14],[72887,0],[72960,11],[72967,0],[72968,11],[72970,0],[72971,11],[73009,14],[73015,0],[73018,14],[73019,0],[73020,14],[73022,0],[73023,14],[73030,11],[73031,14],[73032,0],[73040,9],[73050,0],[73056,11],[73062,0],[73063,11],[73065,0],[73066,11],[73098,14],[73103,0],[73104,14],[73106,0],[73107,14],[73112,11],[73113,0],[73120,9],[73130,0],[73440,11],[73459,14],[73463,0],[73648,11],[73649,0],[73728,11],[74650,0],[74752,11],[74863,0],[74880,11],[75076,0],[77824,11],[78895,0],[78896,13],[78905,0],[82944,11],[83527,0],[92160,11],[92729,0],[92736,11],[92767,0],[92768,9],[92778,0],[92880,11],[92910,0],[92912,14],[92917,0],[92928,11],[92976,14],[92983,0],[92992,11],[92996,0],[93008,9],[93018,0],[93027,11],[93048,0],[93053,11],[93072,0],[93760,11],[93824,0],[93952,11],[94027,0],[94031,14],[94032,11],[94033,14],[94088,0],[94095,14],[94099,11],[94112,0],[94176,11],[94178,0],[94179,11],[94180,14],[94181,0],[94192,14],[94194,0],[110592,17],[110593,0],[110948,17],[110952,0],[113664,11],[113771,0],[113776,11],[113789,0],[113792,11],[113801,0],[113808,11],[113818,0],[113821,14],[113823,0],[113824,13],[113828,0],[119141,14],[119146,0],[119149,14],[119155,13],[119163,14],[119171,0],[119173,14],[119180,0],[119210,14],[119214,0],[119362,14],[119365,0],[119808,11],[119893,0],[119894,11],[119965,0],[119966,11],[119968,0],[119970,11],[119971,0],[119973,11],[119975,0],[119977,11],[119981,0],[119982,11],[119994,0],[119995,11],[119996,0],[119997,11],[120004,0],[120005,11],[120070,0],[120071,11],[120075,0],[120077,11],[120085,0],[120086,11],[120093,0],[120094,11],[120122,0],[120123,11],[120127,0],[120128,11],[120133,0],[120134,11],[120135,0],[120138,11],[120145,0],[120146,11],[120486,0],[120488,11],[120513,0],[120514,11],[120539,0],[120540,11],[120571,0],[120572,11],[120597,0],[120598,11],[120629,0],[120630,11],[120655,0],[120656,11],[120687,0],[120688,11],[120713,0],[120714,11],[120745,0],[120746,11],[120771,0],[120772,11],[120780,0],[120782,9],[120832,0],[121344,14],[121399,0],[121403,14],[121453,0],[121461,14],[121462,0],[121476,14],[121477,0],[121499,14],[121504,0],[121505,14],[121520,0],[122880,14],[122887,0],[122888,14],[122905,0],[122907,14],[122914,0],[122915,14],[122917,0],[122918,14],[122923,0],[123136,11],[123181,0],[123184,14],[123191,11],[123198,0],[123200,9],[123210,0],[123214,11],[123215,0],[123584,11],[123628,14],[123632,9],[123642,0],[124928,11],[125125,0],[125136,14],[125143,0],[125184,11],[125252,14],[125259,11],[125260,0],[125264,9],[125274,0],[126464,11],[126468,0],[126469,11],[126496,0],[126497,11],[126499,0],[126500,11],[126501,0],[126503,11],[126504,0],[126505,11],[126515,0],[126516,11],[126520,0],[126521,11],[126522,0],[126523,11],[126524,0],[126530,11],[126531,0],[126535,11],[126536,0],[126537,11],[126538,0],[126539,11],[126540,0],[126541,11],[126544,0],[126545,11],[126547,0],[126548,11],[126549,0],[126551,11],[126552,0],[126553,11],[126554,0],[126555,11],[126556,0],[126557,11],[126558,0],[126559,11],[126560,0],[126561,11],[126563,0],[126564,11],[126565,0],[126567,11],[126571,0],[126572,11],[126579,0],[126580,11],[126584,0],[126585,11],[126589,0],[126590,11],[126591,0],[126592,11],[126602,0],[126603,11],[126620,0],[126625,11],[126628,0],[126629,11],[126634,0],[126635,11],[126652,0],[127280,11],[127306,0],[127312,11],[127338,0],[127344,11],[127370,0],[127462,18],[127488,0],[127995,14],[128e3,0],[130032,9],[130042,0],[917505,13],[917506,0],[917536,14],[917632,0],[917760,14],[918e3,0]];/*!
707
- * Copyright (c) 2019 Eddie Antonio Santos
708
- *
709
- * Permission is hereby granted, free of charge, to any person obtaining a copy
710
- * of this software and associated documentation files (the "Software"), to deal
711
- * in the Software without restriction, including without limitation the rights
712
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
713
- * copies of the Software, and to permit persons to whom the Software is
714
- * furnished to do so, subject to the following conditions:
715
- *
716
- * The above copyright notice and this permission notice shall be included in all
717
- * copies or substantial portions of the Software.
718
- *
719
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
720
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
721
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
722
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
723
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
724
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
725
- * SOFTWARE.
726
- */Object.defineProperty(xu,"__esModule",{value:!0});const Su=bu;function*YR(e){if(e.length===0)return;let t,n=0,r,i=19,a=19,s=l(0),o=0;do{if(t=n,n=c(n),[r,i,a,s]=[i,a,s,l(n)],i===19){yield t;continue}if(a===20){yield t;break}if(!(i===3&&a===1)){if(i===2||i==3||i===1){yield t;continue}if(a===2||a===3||a===1){yield t;continue}if(i===0&&(a===14||a===13)&&s===16){for(let f=0;f<2;f++)[t,n]=[n,c(n)];[i,a,s]=[s,l(t),l(n)]}if(!(i===16&&u(t))&&!(i===4&&a==4)){for(;a===13||a===14||a===16;)[t,n]=[n,c(n)],[a,s]=[s,l(n)];if(a===20){yield t;break}for(;s===13||s===14||s===16;)n=c(n),s=l(n);if(!(A(i)&&A(a))&&!(A(i)&&A(s)&&(a===10||h(a)))&&!(A(r)&&A(a)&&(i===10||h(i)))&&!(i===15&&a===6)&&!(i===15&&a===5&&s===15)&&!(r===15&&i===5&&a===15)&&!(i===9&&a===9)&&!(A(i)&&a===9)&&!(i===9&&A(a))&&!(r===9&&a===9&&(i===7||h(i)))&&!(i===9&&s===9&&(a===7||h(a)))&&!(i===17&&a===17)&&!((A(i)||i===9||i===17||i===12)&&a===12)&&!((A(a)||a===9||a===17)&&i===12)){if(a===18){if(o+=1,o%2==1)continue}else o=0;yield t}}}}while(t<e.length);function c(f){return f>=e.length?e.length:EE(e[f])?f+2:f+1}function l(f){return f<0?19:f>=e.length?20:EE(e[f])?D0(e[f]+e[f+1]):D0(e[f])}function u(f){return Su.extendedPictographic.test(e.substring(f,f+2))}function A(f){return f===11||f===15}function h(f){return f===8||f===6}}xu.findBoundaries=YR;function EE(e){let t=e.charCodeAt(0);return t>=55296&&t<=56319}function D0(e){let t=e.codePointAt(0);return I0(t,0,Su.WORD_BREAK_PROPERTY.length-1)}xu.property=D0;function I0(e,t,n){if(n<t)return 0;let r=t+~~((n-t)/2),i=Su.WORD_BREAK_PROPERTY[r],a=Su.WORD_BREAK_PROPERTY[r+1],s=a?a[0]:1/0;return e<i[0]?I0(e,t,r-1):e>=s?I0(e,r+1,n):i[1]}/*!
727
- * Copyright (c) 2019 Eddie Antonio Santos
728
- *
729
- * Permission is hereby granted, free of charge, to any person obtaining a copy
730
- * of this software and associated documentation files (the "Software"), to deal
731
- * in the Software without restriction, including without limitation the rights
732
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
733
- * copies of the Software, and to permit persons to whom the Software is
734
- * furnished to do so, subject to the following conditions:
735
- *
736
- * The above copyright notice and this permission notice shall be included in all
737
- * copies or substantial portions of the Software.
738
- *
739
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
740
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
741
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
742
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
743
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
744
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
745
- * SOFTWARE.
746
- */Object.defineProperty(S0,"__esModule",{value:!0});const BE=xu;function HR(e){return Array.from(CE(e)).map(n=>n.text).filter(VR)}var F0=S0.split=HR;function*CE(e){let t=Array.from(BE.findBoundaries(e));if(t.length!=0)for(let n=0;n<t.length-1;n++){let r=t[n],i=t[n+1];yield new GR(e,r,i)}}S0.findSpans=CE;class GR{constructor(t,n,r){this._source=t,this.start=n,this.end=r}get text(){return this._source.substring(this.start,this.end)}get length(){return this.end-this.start}}function VR(e){return!Array.from(e).map(BE.property).every(t=>t===3||t===1||t===2||t===4)}class zR{async init(t,n,r){if(r)await this.reload(t,n,r);else return n.updateMetadata(t.stepName,{text:""}),this.changeTextCommand(t,"",n,"",()=>{});return null}async reload(t,n,r){const i=n.getSerializedStep(t.stepName,r.serializableWorkflow.steps),c=Object.values(r.layouts).map(l=>l.elements).flat().filter(l=>l.stepName===t.stepName).map(l=>({id:l.id,region:l.stepRegion}));await n.setSelectionsAndElements(t.stepName,[],c,async()=>{var l,u;n.updateStorage(t.stepName,{text:(l=i==null?void 0:i.storage)==null?void 0:l.text}),n.setMandatoryFulfilled(t.stepName,((u=i==null?void 0:i.storage)==null?void 0:u.text)!=="")})}async changeText(t,n,r,i,a){const s=await this.changeTextCommand(t,n,r,i,a);s&&(s.command&&r.getCommandDispatcher()(s.command),s.followup&&await s.followup())}async changeTextCommand(t,n,r,i,a){var u;const s=r.getRegionElements(t.stepName),o=(u=r.getStepSpecificServices(t.stepName))==null?void 0:u.module;if(!o)return console.error("Missing module."),null;const c=r.getProfanities();if(!this.validateInput(t,n,c,a))return r.setMandatoryFulfilled(t.stepName,!1),console.error(i),null;if(r.setMandatoryFulfilled(t.stepName,n!==""),!t.data||!t.data.regions||t.data.regions.length<=0)return console.error("Missing configuration."),null;r.updateStorage(t.stepName,{text:n});const l=(A,h,f)=>{const d=f||Dt(),m=r.getLayouts().find(v=>v.panelId===h.panelId);if(!m)return console.error(`Can not find layout for region: ${h.panelId}`),null;const y=[];return f&&y.push(new ri(d)),y.push(new ve({stepRegion:h,stepName:t.stepName,colors:{},id:d,svg:A,type:Et.Illustration,y:h.top,x:h.left,rotation:h.rotation,width:h.width,height:h.height,layer:h.layer,layerIndex:h.layerIndex,immutable:h.immutable},m)),{id:d,region:h,command:new $t(y)}};if(s.length>0){const h=s.map(f=>{if(!f.region)return null;const d=o.svgPrint(n,f.region);return l(d,f.region,f.id)}).filter(f=>!!f).filter(f=>!!f).map(f=>f&&f.command);return{command:new $t(h),followup:async()=>{}}}else{const A=t.data.regions.map(f=>l(o.svgPrint(n,f),f)),h=A.filter(f=>!!f).map(f=>f&&f.command);return{command:new $t(h),followup:async()=>{const f=A.filter(d=>d).map(d=>d&&{id:d.id,region:d.region});await r.setSelectionsAndElements(t.stepName,[],f)}}}}validateInput(t,n,r,i){if(t.data&&t.data.maxLength){const s=t.data.maxLength;if(n.length>s)return i("Too many characters."),!1}if(!/^$|^[a-zA-Z0-9 ]+$/.test(n))return i("Unsupported characters."),!1;const a=F0(n.toLowerCase());for(const s of a)for(const o in r){const c=r[o].toLowerCase().replace(/\s/g,"");if(s===c)return i("Blocked profanity."),!1}return i(""),!0}}const xE=new zR;class JR{async init(t,n,r){const i=t.option;if(!i)return null;if(r)await this.reload(t,n,r);else if(i.defaultVariant)return n.markStepsAsInitialised([t.stepName]),this.selectVariantCommand(t,i.defaultVariant,n,()=>{});return n.markStepsAsInitialised([t.stepName]),null}async reload(t,n,r){var l;const i=n.getSerializedStep(t.stepName,r.serializableWorkflow.steps),o=Object.values(r.layouts).map(u=>u.elements).flat().filter(u=>u.stepName===t.stepName),c=t.option;if(i!=null&&i.selectedVariants){const u=i.selectedVariants[0].id;if(c&&u){const A=(l=c.variants)==null?void 0:l.find(h=>h.id===u);if(A){const h=o.map(f=>({id:f.id,region:f.stepRegion}));await n.setSelectionsAndElements(t.stepName,[A],h,async()=>{n.setMandatoryFulfilled(t.stepName,!0)})}}}}async selectVariant(t,n,r,i){const a=await this.selectVariantCommand(t,n,r,i);a&&(a.command&&r.getCommandDispatcher()(a.command),a.followup&&await a.followup())}async selectVariantCommand(t,n,r,i){const a=n.asset;if(!a)throw new li(n);const s=a==null?void 0:a.fileLink;if(!s)return console.error("No URL for picture!"),null;i(!0),r.setMandatoryFulfilled(t.stepName,!1);const c=r.getRegionElements(t.stepName).map(A=>new ri(A.id)),l=A=>{const f=r.getLayouts().find(p=>p.panelId===A.panelId);if(!f)throw new ke(A);const d=Dt();return{regionElement:{id:d,region:A},command:new ve({stepName:t.stepName,stepRegion:A,id:d,src:s,type:Et.Image,y:A.top,x:A.left,rotation:A.rotation,width:A.width,height:A.height,layer:A.layer,layerIndex:A.layerIndex,immutable:A.immutable,preserveAspectRatio:"none"},f)}},u=t.data.regions.map(l);return{command:new $t([...c,...u.map(A=>A.command)]),followup:async()=>{await r.setSelectionsAndElements(t.stepName,[n],u.map(A=>A.regionElement),async()=>{r.setMandatoryFulfilled(t.stepName,!0),i(!1)})}}}}const Q0=new JR;class jR{async init(t,n,r){const i=t.option;if(!i)return null;if(r)await this.reload(t,n,r);else{const a=i.variants;if(En.getDefaultVariant(i)){const o=a==null?void 0:a.find(c=>{var l;return c.id===((l=i.defaultVariant)==null?void 0:l.id)});return this.selectVariantLambda(t,(o==null?void 0:o.id)||"",n)}}return null}async reload(t,n,r){var s;const i=n.getSerializedStep(t.stepName,r.serializableWorkflow.steps),a=t.option;if(i!=null&&i.selectedVariants){const o=i.selectedVariants[0].id;if(a&&o){const c=(s=a.variants)==null?void 0:s.find(l=>l.id===o);c&&await n.setSelectionsAndElements(t.stepName,[c],[])}}}async selectVariant(t,n,r){await r.getInitializationPromise();const i=await this.selectVariantLambda(t,n,r);i&&(i.command&&r.getCommandDispatcher()(i.command),i.followup&&await i.followup())}async selectVariantLambda(t,n,r){const i=t.option;if(!i)return null;const a=i.variants;if(!a)return null;const s=a.length>1?a.find(o=>o.id===n):a[0];if(!s)throw new Error("Failed to find selected variant in step variants, this should never happen!");return{command:void 0,followup:async()=>{await r.setSelectionsAndElements(t.stepName,[s],[],async()=>{r.setMandatoryFulfilled(t.stepName,!0)})}}}}const M0=new jR;class WR{constructor(){this.shapeFillId="spiff-fill-shape"}async availableColours(t){var r;const n=t.option;return n?((r=n.variants)==null?void 0:r.map(i=>({fill:i.color,stroke:i.color,variant:i})))||[]:[]}setCustomColor(t,n,r){const i=r.getLayouts(),s=(r.getRegionElements(n.stepName)||[]).map(o=>{const c=o.region;if(!i.find(u=>u.panelId===(c==null?void 0:c.panelId)))throw new ke(c);return new qh(o.id,this.shapeFillId,t)}).filter(o=>!!o);r.getCommandDispatcher()(new $t(s)),r.updateStorage(n.stepName,{colour:t})}async init(t,n,r){const i=t.option;if(!i)throw new mo(t);if(r)await this.reload(t,n,r);else{const a=En.getDefaultVariant(i);return a?this.selectVariantCommand(t,{fill:a.color,stroke:a.color,variant:a},[],n):null}return null}async selectVariant(t,n,r,i){const a=await this.selectVariantCommand(t,n,r,i);a&&(a.command&&i.getCommandDispatcher()(a.command),a.followup&&await a.followup())}async reload(t,n,r){var l;const i=n.getSerializedStep(t.stepName,r.serializableWorkflow.steps),o=Object.values(r.layouts).map(u=>u.elements).flat().filter(u=>u.stepName===t.stepName),c=t.option;if(i!=null&&i.selectedVariants){const u=i.selectedVariants[0].id;if(c&&u){const A=(l=c.variants)==null?void 0:l.find(h=>h.id===u);if(A){const h=o.map(f=>({id:f.id,region:f.stepRegion}));await n.setSelectionsAndElements(t.stepName,[A],h,async()=>{var f;n.updateStorage(t.stepName,{colour:((f=i==null?void 0:i.storage)==null?void 0:f.colour)||""}),n.setMandatoryFulfilled(t.stepName,!0)})}}}}async selectVariantCommand(t,n,r,i){var c;const a=i.getLayouts(),s=(c=i.getStepStorage(t.stepName))==null?void 0:c.colour,o=()=>{var l,u;if(((l=n.variant)==null?void 0:l.color)==="#custom")return s||"#FFFFFF";if((u=n.variant)!=null&&u.color)return n.variant.color;throw new Error("Failed to resolve color for shape step.")};if(r.length>0){const l=A=>{const h=A.region;if(!a.find(p=>p.panelId===(h==null?void 0:h.panelId)))throw new ke(h);const d=o();return new qh(A.id,this.shapeFillId,d)},u=r.map(l).filter(A=>!!A);return{command:new $t(u),followup:async()=>{await i.setSelectionsAndElements(t.stepName,n.variant?[n.variant]:[],r),i.updateStorage(t.stepName,{colour:o()})}}}else{const l=f=>{const d=a.find(w=>w.panelId===f.panelId);if(!d)throw new ke(f);const p=o(),m=`
559
+ `,Re=l=>{const e=[];for(const t of l.steps)switch(t.type){case s.StepType.DigitalContent:t.data.varyUpload&&e.push({stepName:t.stepName,stepType:t.type,aspectType:s.StepAspectType.Upload});break;case s.StepType.Frame:const a=t.data;a.varySelection&&t.option&&e.push({stepName:t.stepName,stepType:t.type,aspectType:s.StepAspectType.Selection}),a.varyUpload&&e.push({stepName:t.stepName,stepType:t.type,aspectType:s.StepAspectType.Upload});break;case s.StepType.Illustration:const n=t.data;n.varySelection&&t.option&&e.push({stepName:t.stepName,stepType:t.type,aspectType:s.StepAspectType.Selection}),n.varyColors&&n.colorPickerEnabled&&e.push({stepName:t.stepName,stepType:t.type,aspectType:s.StepAspectType.Colors});break;case s.StepType.Material:t.data.varySelection&&e.push({stepName:t.stepName,stepType:t.type,aspectType:s.StepAspectType.Selection});break;case s.StepType.Model:t.data.varySelection&&e.push({stepName:t.stepName,stepType:t.type,aspectType:s.StepAspectType.Selection});break;case s.StepType.Picture:t.data.varySelection&&e.push({stepName:t.stepName,stepType:t.type,aspectType:s.StepAspectType.Selection});break;case s.StepType.Question:t.data.varySelections&&e.push({stepName:t.stepName,stepType:t.type,aspectType:s.StepAspectType.Selections});break;case s.StepType.Shape:t.data.varySelection&&e.push({stepName:t.stepName,stepType:t.type,aspectType:s.StepAspectType.Selection});break;case s.StepType.Text:const d=t.data;d.varyText&&e.push({stepName:t.stepName,stepType:t.type,aspectType:s.StepAspectType.Text}),d.varySelection&&t.option&&e.push({stepName:t.stepName,stepType:t.type,aspectType:s.StepAspectType.Selection}),d.varyColor&&d.colorPickerEnabled&&e.push({stepName:t.stepName,stepType:t.type,aspectType:s.StepAspectType.Color});break}return e},re=[s.StepType.SilentIllustration,s.StepType.ProductOverlay],RA=async(l,e,t)=>{var a;const A=[];l.introduction&&A.push({name:"Introduction",title:l.name,renderableSteps:[{type:s.StepType.Introduction,stepName:"Introduction",stepTitle:l.name,helpText:l.introduction,data:{},conditions:[]}],silentSteps:[]});for(const n of l.steps){if(e.bulkScene){let o=!1;switch(n.type){case s.StepType.DigitalContent:n.data.varyUpload&&(o=!0);break;case s.StepType.Frame:{const r=n.data;r.varyUpload&&(r.varySelection||!n.option)&&(o=!0)}break;case s.StepType.Illustration:{const r=n.data;(r.varySelection||!n.option||(n.option.variants||[]).length===1)&&(r.varyColors||!r.colorPickerEnabled)&&(o=!0)}break;case s.StepType.Material:n.data.varySelection&&(o=!0);break;case s.StepType.Model:n.data.varySelection&&(o=!0);break;case s.StepType.Picture:n.data.varySelection&&(o=!0);break;case s.StepType.Question:n.data.varySelections&&(o=!0);break;case s.StepType.Shape:n.data.varySelection&&(o=!0);break;case s.StepType.Text:{const r=n.data;(r.varySelection||!n.option||(n.option.variants||[]).length===1)&&(r.varyColor||!r.colorPickerEnabled||!r.colorOption)&&r.varyText&&(o=!0)}break}if(o)continue}const i=xA(n.stepName,l.stepGroups);if(!i)A.push({name:n.stepName,title:n.stepTitle,renderableSteps:re.includes(n.type)?[]:[n],silentSteps:re.includes(n.type)?[n]:[]});else{const o=A.find(r=>r.name===i.name);o?re.includes(n.type)?o.silentSteps.push(n):o.renderableSteps.push(n):A.push({name:i.name,title:i.name,renderableSteps:re.includes(n.type)?[]:[n],silentSteps:re.includes(n.type)?[n]:[]})}}if(e.bulkScene){const n=(a=t==null?void 0:t.product)==null?void 0:a.bulkConfiguration;A.push({name:"Bulk",title:(n==null?void 0:n.sceneTitle)??e.bulkSceneTitle,renderableSteps:[{type:s.StepType.Bulk,stepName:"Bulk",stepTitle:(n==null?void 0:n.stepTitle)??e.bulkSceneTitle,helpText:n==null?void 0:n.helpText,data:{aspects:Re(l)},conditions:[]}],silentSteps:[]})}return e.finishScene&&A.push({name:"Finish",title:e.finishSceneTitle,renderableSteps:[{type:s.StepType.Finish,stepName:"Finish",stepTitle:e.finishSceneTitle,helpText:"",data:{modelAnimation:l.finalizeStepConfig?l.finalizeStepConfig.modelAnimation:void 0,lookAtAnimation:l.finalizeStepConfig?l.finalizeStepConfig.lookAtAnimation:void 0},conditions:[]}],silentSteps:[]}),A},xA=(l,e)=>e.find(t=>t.stepNames.includes(l)),Z=(l,e)=>(l.conditions||[]).every(t=>{const A=e[t.targetStepName];if(A&&A.selectedVariants){const a=A.selectedVariants;return t.requiredVariantSelections.some(n=>a.find(i=>i.id===n)!==void 0)}return!1}),HA=(l,e)=>{const t={name:l.name,title:l.title,renderableSteps:l.renderableSteps.filter(A=>Z(A,e)),silentSteps:l.silentSteps.filter(A=>Z(A,e))};return t.silentSteps.length===0&&t.renderableSteps.length===0?null:t},$=(l,e)=>l.map(t=>HA(t,e)).filter(t=>t!==null),UA=async(l,e)=>{var n;const t=$(l,e),A=[];for(const i of t)for(const o of i.renderableSteps)if(o.type===s.StepType.Model||o.type===s.StepType.Material||o.type===s.StepType.Picture||o.type===s.StepType.Shape){const r=(((n=o.option)==null?void 0:n.variants)||[]).length;r&&r>1&&A.push(o.stepName)}else A.push(o.stepName);const a=t.filter(i=>i.renderableSteps.filter(r=>A.includes(r.stepName)).length>0);for(const i of a)i.renderableSteps=i.renderableSteps.filter(o=>A.includes(o.stepName));return a};class xe{constructor(){this.timestamp=Date.now()}}class He{constructor(e){this.queue=[],this.activePromise=void 0,this.queueMaxSize=void 0,this.queueMaxSize=e}enqueue(e){if(this.queue.push(e),this.queueMaxSize!==void 0&&this.queue.length>this.queueMaxSize){const t=this.queue.length-1;for(let A=0;A<t;++A)this.queue.shift()}this.activePromise||(this.activePromise=this.dequeue())}hasActivePromise(){return!!this.activePromise}getRemainingQueueSize(){return this.queue.length}async finalize(){return this.activePromise?this.activePromise:Promise.resolve()}async dequeue(){const e=this.queue.shift();if(!e){this.activePromise=void 0;return}try{await e.execute()}catch(t){console.log(t)}finally{await this.dequeue()}}}function Et(l,e,t,A){const a=t.width*l.zoom,n=t.height*l.zoom;if(A){const o=l,r=Math.max(e.width/t.width,e.height/t.height);o.zoom=Math.max(r,l.zoom);const g=t.width*o.zoom,c=t.height*o.zoom;return o.x=me(l.x,e.width-g,0),o.y=me(l.y,e.height-c,0),o}const i=l;return i.x=me(i.x,-a,e.width),i.y=me(i.y,-n,e.height),i}function me(l,e,t){return Math.min(Math.max(l,e),t)}class ht{constructor(e){this.minZoomScale=[.03],this.maxZoomScale=[20],this._debouncedUpdateFrameOffsets=Ze(this.updateFrameOffsets,200),this.targetElements=[],this.onFrameDataChangeListeners=[],this.onZoomChangeListeners=[],this.forceImageCover=e}connectWorkflowManager(e,t){t&&e.addStepSpecificStorageCallback(async A=>{if(A){const a=A;if(a.currentFrameSources){let n=!1;for(let i=0;i<a.currentFrameSources.length;i++){const o=a.currentFrameSources[i],r=await s.getFrameData(o);$e(r,this.frameData)||(this.frameData||(this.frameData=new Array(a.currentFrameSources.length)),this.frameData[i]=r,n=!0)}n&&(this.onFrameDataChangeListeners.forEach(i=>i(this.frameData)),this.frameData&&this.imageData&&(this.recalculateOffsets(this.imageData),this.updateOffsets(this.offsets),this.recalculateZoomLimits(this.imageData,this.frameData)))}}},t),this.workflowManager=e,this.stepName=t}setTargetElements(e){this.targetElements=e}getFrameData(){return this.frameData}setFrameData(e){if(!e){this.frameData=void 0;return}e.forEach((t,A)=>{const a=s.frameDataCache.get(t);a&&(this.frameData||(this.frameData=new Array(e.length)),this.frameData[A]=a)})}getImageData(){return this.imageData}getOffsets(){return this.offsets}setOffsets(e){this.offsets=e}setZoom(e,t,A,a){if(this.imageData&&this.offsets&&this.frameData){(!this.offsets||this.offsets.length!==this.frameData.length)&&(this.offsets=new Array(this.frameData.length));const n=this.frameData.map((i,o)=>{const r=(t[o]-this.offsets[o].x)/this.offsets[o].zoom,g=(A[o]-this.offsets[o].y)/this.offsets[o].zoom,c=t[o]-r*e[o],d=A[o]-g*e[o];return{x:c,y:d,zoom:this.imageData.width*e[o]/this.imageData.width}});this.updateOffsets(n,a),this.onZoomChangeListeners.forEach(i=>i(e))}}setPatternData(e){this.imageData=e,e&&this.frameData&&(this.recalculateOffsets(e),this.updateOffsets(this.offsets,void 0,!0)),this.imageData&&this.frameData&&this.recalculateZoomLimits(this.imageData,this.frameData)}updateOffsets(e,t,A){const a=this.imageData;if(!a||!this.frameData)return;if(this.frameData.length!==e.length)throw new v("Frame data and offsets are not the same length. This is a bug. Please report it.");if(!this.offsets.some((i,o)=>!(e[o].x===i.x&&e[o].y===i.y&&e[o].zoom===i.zoom))&&!A){t&&t();return}(!this.offsets||this.offsets.length!==this.frameData.length)&&(this.offsets=new Array(this.frameData.length)),this.frameData.forEach((i,o)=>{this.offsets[o]=Et(e[o],i,this.imageData,this.forceImageCover)}),this._debouncedUpdateFrameOffsets(this.offsets,a,this.frameData,this.targetElements,t)}onFrameDataChanged(e){e(this.frameData),this.onFrameDataChangeListeners.push(e)}onZoom(e){this.onZoomChangeListeners.push(e)}updateFrameOffsets(e,t,A,a,n){if(!A||A.length===0||A.some(o=>!o))throw new v("Frame data not set. This is a bug");if(!this.workflowManager)throw new v("No workflow manager set, cannot update offsets.");const i=this.workflowManager.getCommandDispatcher();a.forEach((o,r)=>{i(new s.UpdateFramePattern(o,t,e[r]))}),this.stepName&&this.workflowManager.updateStorage(this.stepName,{frameOffsetsList:e}),n&&n()}recalculateZoomLimits(e,t){(this.minZoomScale.length!==t.length||this.maxZoomScale.length!==t.length)&&(this.minZoomScale=new Array(t.length),this.maxZoomScale=new Array(t.length)),t.forEach((A,a)=>{const n=Math.max(A.width/e.width,A.height/e.height);this.forceImageCover?(this.minZoomScale[a]=n,this.maxZoomScale[a]=n*2.5):(this.minZoomScale[a]=n/10,this.maxZoomScale[a]=n*2.5)})}recalculateOffsets(e){this.frameData&&((!this.offsets||this.offsets.length!==this.frameData.length)&&(this.offsets=new Array(this.frameData.length)),this.frameData.forEach((t,A)=>{this.offsets[A]=s.calculateOffsets(e,t)}),this._debouncedUpdateFrameOffsets(this.offsets,e,this.frameData,this.targetElements))}}class Ct{constructor(e,t,A){this.processRegion=async a=>{var r,g,c,d;const n=this.layouts.find(B=>B.panelId===a.panelId);if(!n)throw new k(a);let i="";if(this.configuration.type===s.StepType.ProductOverlay){let B="";if((r=this.product)!=null&&r.overlayImageUrl&&(B=this.product.overlayImageUrl),i=B,!B)throw new ae(this.configuration,"Couldn't find an asset for product overlay step")}const o=this.evaluateAssetType();if(o===s.LayoutElementType.Image){const B=this.configuration.type===s.StepType.SilentIllustration?(g=this.configuration.data.asset)==null?void 0:g.fileLink:(c=this.product)==null?void 0:c.overlayImageUrl;if(!B)throw new Error("Undefined raster silent step source");const w={stepName:this.configuration.stepName,id:s.generate(),src:B,type:o,y:a.top,x:a.left,width:a.width,height:a.height,layer:a.layer,layerIndex:a.layerIndex,immutable:a.immutable,productOverlay:this.configuration.type===s.StepType.ProductOverlay?!0:void 0,rotation:a.rotation,excludeFromExport:this.configuration.data.excludeFromPrint,preserveAspectRatio:"none"};return{regionElement:{id:w.id,region:a},command:new s.CreateElementCommand(w,n)}}else{const B=this.configuration.type===s.StepType.SilentIllustration?(d=this.configuration.data.asset)==null?void 0:d.fileLink:i,w=async()=>new Promise((h,Q)=>{if(!B){Q("Undefined vector silent step source");return}s.fetchAsString(B).then(u=>{h(u)}).catch(u=>console.error(u))}),E=await s.generateSVGWithUnknownColors(await w()),C={stepName:this.configuration.stepName,id:s.generate(),cachedObjectURL:await s.svgObjectURL(E.svg),src:B,svg:E.svg,colors:E.colors,type:o,y:a.top,x:a.left,width:a.width,height:a.height,layer:a.layer,layerIndex:a.layerIndex,rotation:a.rotation,immutable:a.immutable,productOverlay:this.configuration.type===s.StepType.ProductOverlay?!0:void 0,excludeFromExport:this.configuration.data.excludeFromPrint};return{regionElement:{id:C.id,region:a},command:new s.CreateElementCommand(C,n)}}},this.configuration=e,this.layouts=t,this.product=A||void 0}async trigger(){if(!this.configuration.data.regions)throw new ae(this.configuration,"Missing regions.");if(this.configuration.type===s.StepType.SilentIllustration){const e=this.configuration.data.regions.map(this.processRegion);return Promise.all(e)}else return this.configuration.type===s.StepType.ProductOverlay?Promise.all(this.configuration.data.regions.map(e=>{if(!this.layouts.find(A=>e.panelId===A.panelId))throw new k(e);return this.processRegion(e)})):Promise.reject("Unknown silent step. This is a bug")}evaluateAssetType(){var t,A,a;const e=this.configuration.type===s.StepType.ProductOverlay&&((t=this.product)!=null&&t.overlayImageUrl)?this.product.overlayImageUrl.toLowerCase():(a=(A=this.configuration.data.asset)==null?void 0:A.fileLink)==null?void 0:a.toLowerCase().split("?")[0];return e!=null&&e.startsWith("data:image/png")||e!=null&&e.endsWith(".jpeg")||e!=null&&e.endsWith(".jpg")||e!=null&&e.endsWith(".png")?s.LayoutElementType.Image:(e!=null&&e.endsWith(".svg")||e!=null&&e.startsWith("image/svg+xml"),s.LayoutElementType.Illustration)}}const Qt=async l=>{const e=`${ne.getServicesApiUrl()}/shortener`;try{return(await(await fetch(e,{method:"POST",body:JSON.stringify({longUrl:l}),headers:{"Content-Type":"application/json"}})).json()).shortUrl}catch(t){throw console.error(t),new he("Failed to shorten URL, see console.")}};class mt{async poll(){try{if(await this.predicate()){this.onSuccess(),this.pollingId>-1&&window.clearInterval(this.pollingId);return}}catch{}this.attempts+=1,this.attempts<this.maxAttempts?this.pollingId=window.setTimeout(this.poll.bind(this),this.interval):this.onFailure()}constructor(e,t,A,a=3e3,n=10){this.onSuccess=t,this.onFailure=A,this.predicate=e,this.attempts=0,this.pollingId=-1,this.interval=a,this.maxAttempts=n,this.poll()}}class vA{async init(e,t,A){return A&&await this.reload(e,t,A),null}async reload(e,t,A){const a=t.getSerializedStep(e.stepName,A.serializableWorkflow.steps),r=Object.values(A.layouts).map(g=>g.elements).flat().filter(g=>g.stepName===e.stepName).map(g=>({id:g.id,region:g.stepRegion}));await t.setSelectionsAndElements(e.stepName,[],r,async()=>{var d,B;const g=(d=a==null?void 0:a.storage)==null?void 0:d.videoShortUrl,c=(B=a==null?void 0:a.storage)==null?void 0:B.videoUrl;t.updateStorage(e.stepName,{videoShortUrl:g,videoUrl:c})})}async regenerateQRCode(e,t,A,a,n,i,o,r,g){if(!t&&A!==""&&a===""){const c=async()=>{var I,f;const u=(await st([A]))[0],D=(f=(I=u==null?void 0:u.versions)==null?void 0:I.find(M=>M.name==="mpeg4"))==null?void 0:f.link;return{asset:u,link:D}},d=await new Promise((u,D)=>{new mt(async()=>!!(await c()).link,async()=>{const I=await c();if(!I.link||!I.link)throw new W(I.asset);u({rel:"mpeg4",href:I.link})},()=>{D("Poller timed out with 40 attempts @ 3 second interval")},3e3,40)});e.forEach(u=>r(new s.DeleteElementCommand(u.id)));const B=i.data.baseUrl.slice(0,4)==="http"?"":"https://",w=new URL(B+i.data.baseUrl);w.searchParams.append("video",btoa(JSON.stringify([d]))),w.pathname=w.pathname+(w.pathname.slice(-1)==="/"?"":"/");const E=w.toString();if(E.length>=2e3)throw new he("Cannot create QR code, URL too long.");const C=await Qt(E);if(o(C),!i.data||!i.data.regions)throw new ae(i,"Missing regions.");const h=await this.regionElements(i),Q=await this.command(C,h,n,i.stepName);Q&&(Q.command&&n.getCommandDispatcher()(Q.command),Q.followup&&await Q.followup()),await n.setSelectionsAndElements(i.stepName,[],h,async()=>{n.updateStorage(i.stepName,{videoShortUrl:C,videoUrl:a}),g(!1)})}else g(!1)}async regionElements(e){const t=A=>({id:s.generate(),region:A});return e.data.regions.map(t)}async command(e,t,A,a){const n=A.getLayouts(),o=`data:image/svg+xml;base64,${btoa(await _e.toString(e,{type:"svg"}))}`,r=t.map(g=>{const c=g.region,d=n.find(B=>B.panelId===(c==null?void 0:c.panelId));if(!d&&c)throw new k(c);if(d&&!c)throw new Error("Region not found");if(!d||!c)throw new Error("Neither a region or layout found!");return new s.CreateElementCommand({stepRegion:c,stepName:a,id:g.id,src:o,type:s.LayoutElementType.Image,y:c.top,x:c.left,width:c.width,height:c.height,rotation:0},d)});return{command:new s.GroupCommand(r),followup:async()=>{}}}}const ut=new vA;class GA{constructor(){this.frameSourceSvg=async(e,t)=>{if(!e)return s.generateDefaultRectangleFrameSvg(t);const A=e.asset;if(!A)throw new z(e);const a=A.fileLink;if(a)return s.fetchAsString(a);throw new W(A)}}async init(e,t,A){if(A)return await this.reload(e,t,A),null;if(t.setMandatoryFulfilled(e.stepName,!1),t.markStepsAsInitialised([e.stepName]),e.option&&e.option.variants&&e.option.variants.length>0){const a=e.option,n=J.getDefaultVariant(a);return n?this.selectVariantCommand(e,n,[],t,void 0,e.data.placeholderImageUrl):null}return this.selectVariantCommand(e,void 0,[],t,void 0,e.data.placeholderImageUrl)}async reload(e,t,A){var g;const a=t.getSerializedStep(e.stepName,A.serializableWorkflow.steps),r=Object.values(A.layouts).map(c=>c.elements).flat().filter(c=>c.stepName===e.stepName).map(c=>({id:c.id,region:c.stepRegion}));if(!e.option||(e.option.variants||[]).length===0){const c=e.data.regions.map(d=>s.generateDefaultRectangleFrameSvg(d));t.updateStorage(e.stepName,{currentFrameSources:c})}if(a){const c=async()=>{var w,E,C,h;const d=(w=a.storage)==null?void 0:w.framePatternSrc,B=(E=a.storage)==null?void 0:E.frameOffsetsList;if(t.updateMetadata(e.stepName,{frameOffsetsList:B,framePatternSrc:d}),d){const Q=(C=t.getStepSpecificServices(e.stepName))==null?void 0:C.frameService;if(!Q)throw new Error("Frame service unavailable, cannot load pattern!");await this.loadPatternFromString(d,Q),t.updateMetadata(e.stepName,{image:d}),t.updateStorage(e.stepName,{framePatternSrc:d})}if(B!=null&&B.some(Q=>Q.zoom)){const Q=(h=t.getStepSpecificServices(e.stepName))==null?void 0:h.frameService;if(!Q)throw new Error("Frame service unavailable, cannot load pattern!");Q.updateOffsets(B)}t.setMandatoryFulfilled(e.stepName,!0)};if(a.selectedVariants&&a.selectedVariants.length>0){const d=a.selectedVariants[0].id;if(e.option&&d){const B=(g=e.option.variants)==null?void 0:g.find(w=>w.id===d);B&&await t.setSelectionsAndElements(e.stepName,[B],r,async()=>{const w=await Promise.all(e.data.regions.map(E=>this.frameSourceSvg(B,E)));t.updateStorage(e.stepName,{currentFrameSources:w}),await c()})}}else await t.setSelectionsAndElements(e.stepName,[],r,c)}}selectImage(e,t,A){A.setEditedStatus(e.stepName,!0),(t.fileLink||"").endsWith("pdf")?A.addPoller(new mt(async()=>{var r;const i=(r=(await b.getLocalOrFromServer(t.key||"")).versions)==null?void 0:r.find(g=>g.name==="svg");return i?(await fetch(i.link)).status===200:!1},()=>{b.getLocalOrFromServer(t.key||"").then(n=>{this.loadPatternFromAsset(n,e,A)})},()=>{throw new he("Failed to resolve transcoded PDF")})):this.loadPatternFromAsset(t,e,A)}async selectVariant(e,t,A,a,n){const i=await this.selectVariantCommand(e,t,A,a,n);i&&(i.command&&a.getCommandDispatcher()(i.command),i.followup&&await i.followup())}getCreateElementCommand(e,t,A,a){return new s.CreateElementCommand({id:e,type:s.LayoutElementType.Frame,x:t.left,y:t.top,width:t.width,height:t.height,layer:t.layer,layerIndex:t.layerIndex,rotation:t.rotation,scaleX:t.width/a.frameData.width,scaleY:t.height/a.frameData.height,path:a.frameData.path,dataWidth:a.frameData.width,dataHeight:a.frameData.height,stepRegion:t,stepName:a.stepName,disablePlaceholder:a.disablePlaceholder,focalBlur:a.focalBlur,focalBlurStrength:a.focalBlurStrength,focalBlurRadius:a.focalBlurRadius,pattern:a.pattern,immutable:t.immutable},A)}async loadPatternFromString(e,t){if(e.endsWith("svg")){const A=await s.GetSVGDimensions(e),a=A.width,n=A.height,i={src:e,width:a,height:n,aspect:a/n};s.patternImageDataCache.set(e,i),t.setPatternData(i)}else{const A=await s.fetchAsArrayBuffer(e),a=await s.getAttributesFromArrayBuffer(A),n={src:e,width:a.width,height:a.height,aspect:a.width/a.height};s.patternImageDataCache.set(e,n),t.setPatternData(n)}}async selectVariantCommand(e,t,A,a,n,i){var B;const o=(B=a.getStepSpecificServices(e.stepName))==null?void 0:B.frameService;if(!o)throw new Error("Frame service unavailable, cannot load pattern!");const r=await Promise.all(e.data.regions.map(w=>this.frameSourceSvg(t,w)));n&&n(!0);const g=await Promise.all(e.data.regions.map(async(w,E)=>{const C=await s.getFrameData(r[E]),h=o.getImageData(),Q=A.map(p=>new s.DeleteElementCommand(p.id)),u=h?s.calculateOffsets(h,C):void 0,D=h?{id:s.generate(),src:h.src,x:(u==null?void 0:u.x)||0,y:(u==null?void 0:u.y)||0,width:h.width,height:h.height,scaleX:(u==null?void 0:u.zoom)||1,scaleY:(u==null?void 0:u.zoom)||1,rotation:0}:void 0,I=s.generate(),M=a.getLayouts().find(p=>p.panelId===w.panelId);if(!M)throw new k(w);return{command:this.getCreateElementCommand(I,w,M,{frameData:C,pattern:D,disablePlaceholder:e.data.disablePlaceholder,focalBlur:e.data.focalBlur,focalBlurStrength:e.data.focalBlurStrength,focalBlurRadius:e.data.focalBlurRadius,stepName:e.stepName}),regionEl:{id:I,region:w},removeExistingCommands:Q}})),c=g.map(w=>w.command),d=g.map(w=>w.removeExistingCommands).flat();return{command:new s.GroupCommand([...c,...d]),followup:async()=>{n&&n(!1),await a.setSelectionsAndElements(e.stepName,t?[t]:[],[...g.map(w=>w.regionEl)],async()=>{var w;if(a.updateStorage(e.stepName,{currentFrameSources:r}),i){const E=(w=a.getStepSpecificServices(e.stepName))==null?void 0:w.frameService;if(!E)throw new Error("Frame service unavailable, cannot load pattern!");await this.loadPatternFromString(i,E)}})}}}patternSource(e){var a;const t=(a=e.versions)==null?void 0:a.find(n=>n.name==="svg");if(t)return t.link;const A=e.fileLink;if(A)return A;throw new W(e)}async loadPatternFromAsset(e,t,A){var o;const a=this.patternSource(e),n=A.markUpdatePending(),i=(o=A.getStepSpecificServices(t.stepName))==null?void 0:o.frameService;if(!i)throw new Error("Frame service unavailable, cannot load pattern!");await this.loadPatternFromString(a,i),A.updateMetadata(t.stepName,{image:a}),A.updateStorage(t.stepName,{framePatternSrc:a}),A.markUpdateCompleted(n)}}const ue=new GA;class kA{async getIllustrationBody(e){return new Promise(t=>{s.fetchAsString(e).then(A=>{t(A)}).catch(A=>console.error(A))})}getCreateElementCommand(e,t,A,a){return new s.CreateElementCommand({stepRegion:t,stepName:a.stepName,colors:a.svg.colors,id:e,src:a.src,svg:a.svg.svg,cachedObjectURL:a.objectURL,type:s.LayoutElementType.Illustration,y:t.top,x:t.left,rotation:t.rotation,width:t.width,height:t.height,layer:t.layer,layerIndex:t.layerIndex,immutable:t.immutable},A)}getColors(e,t){const A=t.getRegionElements(e.stepName)||[];if(A.length===0)return[];try{return s.findElement(A[0].id,t.getAllLayoutData()).colors}catch{return[]}}async init(e,t,A){const a=e.option;if(!a)return null;if(A)return this.reload(e,t,A);{const n=J.getDefaultVariant(a);if(n)return await this.selectVariantCommand(e,n,[],()=>{},t)}return null}async reload(e,t,A){var g;const a=t.getSerializedStep(e.stepName,A.serializableWorkflow.steps),o=Object.values(A.layouts).map(c=>c.elements).flat().filter(c=>c.stepName===e.stepName),r=e.option;if(a!=null&&a.selectedVariants){const c=a.selectedVariants[0].id;if(r&&c){const d=(g=r.variants)==null?void 0:g.find(B=>B.id===c);if(d){const B=o.map(w=>({id:w.id,region:w.stepRegion}));await t.setSelectionsAndElements(e.stepName,[d],B,async()=>{var w;t.updateMetadata(e.stepName,{colors:(w=a.storage)==null?void 0:w.colors}),t.setMandatoryFulfilled(e.stepName,!0)})}}else throw new Error("Required illustration variant no longer available")}return null}async availableColors(e,t){var a;const A=e.data.colorOption;return A?A?(a=A.variants)==null?void 0:a.map(n=>({fill:n.color,stroke:n.color,variant:n})):[]:[]}async changeColorsCommand(e,t,A,a,n){var c;const i={};for(const[d,B]of n.entries())i[d]={browserValue:B,spotColor:(c=i[d])==null?void 0:c.spotColor};const o=s.modifySVGWithElementProperties(e,t,A,i),r=await s.svgObjectURL(o),g=[];for(const d of a){for(const[B,w]of n.entries())g.push(new s.IllustrationColorCommand(d,B,w));g.push(new s.IllustrationCacheCommand(d,o,r))}return new s.GroupCommand(g)}async changeColors(e,t,A,a,n){var w,E;if(t.length===0)return;const i=s.findElement(t[0].id,a().map(C=>C.layoutState)),o={...i.colors},r={};Object.entries(o).forEach(([C,h])=>{const Q={browserValue:h.browserValue},u=h.spotColor;u&&(Q.spotColor={profileName:u.profileName,namedColor:u.namedColor}),r[C]=Q});for(const[C,h]of n.entries())o[C]={browserValue:h,spotColor:(w=o[C])==null?void 0:w.spotColor},r[C]={browserValue:h};let g=Array.from(Object.values(o)).map(C=>C.browserValue);const c=e.data.colorOption;c&&((E=c.variants)==null||E.forEach(C=>{g=g.map(h=>{var Q;return h.toLowerCase()===((Q=C.color)==null?void 0:Q.toLowerCase())?C.name:h})})),A.updateMetadata(e.stepName,{colors:g});const d=new Map;if(Object.entries(o).forEach(([C,h])=>{d.set(C,h.browserValue)}),!i.svg)throw new Error("Colors changed before SVG loaded. This should never happen!");const B=await this.changeColorsCommand(i.svg,i.width,i.height,t.map(C=>C.id),d);A.updateStorage(e.stepName,{colors:r}),A.getCommandDispatcher()(B)}async selectVariant(e,t,A,a,n){const i=await this.selectVariantCommand(e,t,A,a,n);i&&(i.command&&n.getCommandDispatcher()(i.command),i.followup&&await i.followup())}async selectVariantCommand(e,t,A,a,n){var Q;if(!e.data||!e.data.regions)throw new ae(e,"Missing regions.");a(!0);const i=A.map(u=>new s.DeleteElementCommand(u.id));n.setMandatoryFulfilled(e.stepName,!1);const o=t.asset;if(!o)throw new z(t);const r=o.fileLink;if(!r)throw new W(o);const g=await s.generateSVGWithUnknownColors(await this.getIllustrationBody(r)),c=await s.svgObjectURL(g.svg),d=u=>{const D=n.getLayouts().find(f=>f.panelId===u.panelId);if(!D)throw new k(u);const I=s.generate();return{regionElement:{id:I,region:u},command:this.getCreateElementCommand(I,u,D,{stepName:e.stepName,src:r,objectURL:c,svg:g})}},B=e.data.regions.map(d),E=[...B.map(u=>u.command),...i];let C=Array.from(Object.values(g.colors)).map(u=>u.browserValue);const h=e.data.colorOption;return h&&((Q=h.variants)==null||Q.forEach(u=>{C=C.map(D=>{var I;return D.toLowerCase()===((I=u.color)==null?void 0:I.toLowerCase())?u.name:D})})),n.updateMetadata(e.stepName,{colors:C}),{command:new s.GroupCommand(E),followup:async()=>{await n.setSelectionsAndElements(e.stepName,[t],B.map(u=>u.regionElement),async()=>{n.setMandatoryFulfilled(e.stepName,!0),a(!1)})}}}}const ce=new kA;class bA{async init(e,t,A){const a=e.option;if(!a)throw new Ae(e);if(A)await this.reload(e,t,A);else{const n=J.getDefaultVariant(a);if(n)return await this.selectVariantLambda(e,n,t,()=>{})}return null}async reload(e,t,A){var g;const a=t.getSerializedStep(e.stepName,A.serializableWorkflow.steps),o=Object.values(A.layouts).map(c=>c.elements).flat().filter(c=>c.stepName===e.stepName),r=e.option;if(!r)throw new Ae(e);if(a!=null&&a.selectedVariants){const c=a.selectedVariants[0].id;if(c){const d=(g=r.variants)==null?void 0:g.find(B=>B.id===c);if(d){const B=d.material,w=o.map(E=>({id:E.id,region:E.stepRegion}));await t.setSelectionsAndElements(e.stepName,[d],w,async()=>{const E=t.getModelContainer();if(E){const C=e.data.targetMaterials.map(h=>E.applyMaterialVariant(h,r.id||"",B||{}));Promise.all(C).then(()=>t.setMandatoryFulfilled(e.stepName,!0))}})}}}}async selectVariant(e,t,A,a){const n=await this.selectVariantLambda(e,t,A,a);n&&(n.command&&A.getCommandDispatcher()(n.command),n.followup&&await n.followup())}async selectVariantLambda(e,t,A,a){const n=A.getModelContainer();a(!0);const i=t.material;if(!i)throw a(!1),new z(t);return{command:void 0,followup:async()=>{await A.setSelectionsAndElements(e.stepName,[t],[],async()=>{try{n&&e.data.targetMaterials.forEach(o=>{e.option&&n.applyMaterialVariant(o,e.option.id||"",i)}),A.setMandatoryFulfilled(e.stepName,!0)}finally{a(!1)}})}}}}const Ue=new bA;class JA{async init(e,t,A){const a=e.option;if(!a)throw new Ae(e);if(A)await this.reload(e,t,A);else{const n=J.getDefaultVariant(a);if(n)return await this.selectVariantLambda(e,n,t,()=>{})}return null}async reload(e,t,A){var g;const a=t.getSerializedStep(e.stepName,A.serializableWorkflow.steps),o=Object.values(A.layouts).map(c=>c.elements).flat().filter(c=>c.stepName===e.stepName),r=e.option;if(a!=null&&a.selectedVariants){const c=a.selectedVariants[0].id;if(r&&c){const d=(g=r.variants)==null?void 0:g.find(B=>B.id===c);if(d){const B=o.map(w=>({id:w.id,region:w.stepRegion}));await t.setSelectionsAndElements(e.stepName,[d],B,async()=>{var E;const w=t.getModelContainer();if(w&&e.option){const C=(E=d.asset)==null?void 0:E.fileLink;if(!C)throw new z(d);await w.applyModelVariant(e.option.id||"",{model:C,contextService:t.getLayoutPreviewService()},e.data.replaceProductModel||!1),t.setMandatoryFulfilled(e.stepName,!0)}})}}}}async selectVariant(e,t,A,a){const n=await this.selectVariantLambda(e,t,A,a);n&&(n.command&&A.getCommandDispatcher()(n.command),n.followup&&await n.followup())}async selectVariantLambda(e,t,A,a){var i;a(!0);const n=(i=t.asset)==null?void 0:i.fileLink;if(!n)throw new z(t);return{command:void 0,followup:async()=>{await A.setSelectionsAndElements(e.stepName,[t],[],async()=>{try{const o=A.getModelContainer();o&&e.option&&o.applyModelVariant(e.option.id||"",{model:n,contextService:A.getLayoutPreviewService()},e.data.replaceProductModel||!1),A.setMandatoryFulfilled(e.stepName,!0)}finally{a(!1)}})}}}}const ve=new JA;class TA{async init(e,t,A){if(A)await this.reload(e,t,A);else return t.updateMetadata(e.stepName,{text:""}),this.changeTextCommand(e,"",t,"",()=>{});return null}async reload(e,t,A){const a=t.getSerializedStep(e.stepName,A.serializableWorkflow.steps),r=Object.values(A.layouts).map(g=>g.elements).flat().filter(g=>g.stepName===e.stepName).map(g=>({id:g.id,region:g.stepRegion}));await t.setSelectionsAndElements(e.stepName,[],r,async()=>{var g,c;t.updateStorage(e.stepName,{text:(g=a==null?void 0:a.storage)==null?void 0:g.text}),t.setMandatoryFulfilled(e.stepName,((c=a==null?void 0:a.storage)==null?void 0:c.text)!=="")})}async changeText(e,t,A,a,n){const i=await this.changeTextCommand(e,t,A,a,n);i&&(i.command&&A.getCommandDispatcher()(i.command),i.followup&&await i.followup())}async changeTextCommand(e,t,A,a,n){var c;const i=A.getRegionElements(e.stepName),o=(c=A.getStepSpecificServices(e.stepName))==null?void 0:c.module;if(!o)return console.error("Missing module."),null;const r=A.getProfanities();if(!this.validateInput(e,t,r,n))return A.setMandatoryFulfilled(e.stepName,!1),console.error(a),null;if(A.setMandatoryFulfilled(e.stepName,t!==""),!e.data||!e.data.regions||e.data.regions.length<=0)return console.error("Missing configuration."),null;A.updateStorage(e.stepName,{text:t});const g=(d,B,w)=>{const E=w||s.generate(),h=A.getLayouts().find(u=>u.panelId===B.panelId);if(!h)return console.error(`Can not find layout for region: ${B.panelId}`),null;const Q=[];return w&&Q.push(new s.DeleteElementCommand(E)),Q.push(new s.CreateElementCommand({stepRegion:B,stepName:e.stepName,colors:{},id:E,svg:d,type:s.LayoutElementType.Illustration,y:B.top,x:B.left,rotation:B.rotation,width:B.width,height:B.height,layer:B.layer,layerIndex:B.layerIndex,immutable:B.immutable},h)),{id:E,region:B,command:new s.GroupCommand(Q)}};if(i.length>0){const B=i.map(w=>{if(!w.region)return null;const E=o.svgPrint(t,w.region);return g(E,w.region,w.id)}).filter(w=>!!w).filter(w=>!!w).map(w=>w&&w.command);return{command:new s.GroupCommand(B),followup:async()=>{}}}else{const d=e.data.regions.map(w=>g(o.svgPrint(t,w),w)),B=d.filter(w=>!!w).map(w=>w&&w.command);return{command:new s.GroupCommand(B),followup:async()=>{const w=d.filter(E=>E).map(E=>E&&{id:E.id,region:E.region});await A.setSelectionsAndElements(e.stepName,[],w)}}}}validateInput(e,t,A,a){if(e.data&&e.data.maxLength){const i=e.data.maxLength;if(t.length>i)return a("Too many characters."),!1}if(!/^$|^[a-zA-Z0-9 ]+$/.test(t))return a("Unsupported characters."),!1;const n=Se.split(t.toLowerCase());for(const i of n)for(const o in A){const r=A[o].toLowerCase().replace(/\s/g,"");if(i===r)return a("Blocked profanity."),!1}return a(""),!0}}const It=new TA;class LA{async init(e,t,A){const a=e.option;if(!a)return null;if(A)await this.reload(e,t,A);else if(a.defaultVariant)return t.markStepsAsInitialised([e.stepName]),this.selectVariantCommand(e,a.defaultVariant,t,()=>{});return t.markStepsAsInitialised([e.stepName]),null}async reload(e,t,A){var g;const a=t.getSerializedStep(e.stepName,A.serializableWorkflow.steps),o=Object.values(A.layouts).map(c=>c.elements).flat().filter(c=>c.stepName===e.stepName),r=e.option;if(a!=null&&a.selectedVariants){const c=a.selectedVariants[0].id;if(r&&c){const d=(g=r.variants)==null?void 0:g.find(B=>B.id===c);if(d){const B=o.map(w=>({id:w.id,region:w.stepRegion}));await t.setSelectionsAndElements(e.stepName,[d],B,async()=>{t.setMandatoryFulfilled(e.stepName,!0)})}}}}async selectVariant(e,t,A,a){const n=await this.selectVariantCommand(e,t,A,a);n&&(n.command&&A.getCommandDispatcher()(n.command),n.followup&&await n.followup())}async selectVariantCommand(e,t,A,a){const n=t.asset;if(!n)throw new z(t);const i=n==null?void 0:n.fileLink;if(!i)return console.error("No URL for picture!"),null;a(!0),A.setMandatoryFulfilled(e.stepName,!1);const r=A.getRegionElements(e.stepName).map(d=>new s.DeleteElementCommand(d.id)),g=d=>{const w=A.getLayouts().find(C=>C.panelId===d.panelId);if(!w)throw new k(d);const E=s.generate();return{regionElement:{id:E,region:d},command:new s.CreateElementCommand({stepName:e.stepName,stepRegion:d,id:E,src:i,type:s.LayoutElementType.Image,y:d.top,x:d.left,rotation:d.rotation,width:d.width,height:d.height,layer:d.layer,layerIndex:d.layerIndex,immutable:d.immutable,preserveAspectRatio:"none"},w)}},c=e.data.regions.map(g);return{command:new s.GroupCommand([...r,...c.map(d=>d.command)]),followup:async()=>{await A.setSelectionsAndElements(e.stepName,[t],c.map(d=>d.regionElement),async()=>{A.setMandatoryFulfilled(e.stepName,!0),a(!1)})}}}}const Ge=new LA;class OA{async init(e,t,A){const a=e.option;if(!a)return null;if(A)await this.reload(e,t,A);else{const n=a.variants;if(J.getDefaultVariant(a)){const o=n==null?void 0:n.find(r=>{var g;return r.id===((g=a.defaultVariant)==null?void 0:g.id)});return this.selectVariantLambda(e,(o==null?void 0:o.id)||"",t)}}return null}async reload(e,t,A){var i;const a=t.getSerializedStep(e.stepName,A.serializableWorkflow.steps),n=e.option;if(a!=null&&a.selectedVariants){const o=a.selectedVariants[0].id;if(n&&o){const r=(i=n.variants)==null?void 0:i.find(g=>g.id===o);r&&await t.setSelectionsAndElements(e.stepName,[r],[])}}}async selectVariant(e,t,A){await A.getInitializationPromise();const a=await this.selectVariantLambda(e,t,A);a&&(a.command&&A.getCommandDispatcher()(a.command),a.followup&&await a.followup())}async selectVariantLambda(e,t,A){const a=e.option;if(!a)return null;const n=a.variants;if(!n)return null;const i=n.length>1?n.find(o=>o.id===t):n[0];if(!i)throw new Error("Failed to find selected variant in step variants, this should never happen!");return{command:void 0,followup:async()=>{await A.setSelectionsAndElements(e.stepName,[i],[],async()=>{A.setMandatoryFulfilled(e.stepName,!0)})}}}}const ke=new OA;class zA{constructor(){this.shapeFillId="spiff-fill-shape"}async availableColours(e){var A;const t=e.option;return t?((A=t.variants)==null?void 0:A.map(a=>({fill:a.color,stroke:a.color,variant:a})))||[]:[]}setCustomColor(e,t,A){const a=A.getLayouts(),i=(A.getRegionElements(t.stepName)||[]).map(o=>{const r=o.region;if(!a.find(c=>c.panelId===(r==null?void 0:r.panelId)))throw new k(r);return new s.IllustrationColorCommand(o.id,this.shapeFillId,e)}).filter(o=>!!o);A.getCommandDispatcher()(new s.GroupCommand(i)),A.updateStorage(t.stepName,{colour:e})}async init(e,t,A){const a=e.option;if(!a)throw new Ae(e);if(A)await this.reload(e,t,A);else{const n=J.getDefaultVariant(a);return n?this.selectVariantCommand(e,{fill:n.color,stroke:n.color,variant:n},[],t):null}return null}async selectVariant(e,t,A,a){const n=await this.selectVariantCommand(e,t,A,a);n&&(n.command&&a.getCommandDispatcher()(n.command),n.followup&&await n.followup())}async reload(e,t,A){var g;const a=t.getSerializedStep(e.stepName,A.serializableWorkflow.steps),o=Object.values(A.layouts).map(c=>c.elements).flat().filter(c=>c.stepName===e.stepName),r=e.option;if(a!=null&&a.selectedVariants){const c=a.selectedVariants[0].id;if(r&&c){const d=(g=r.variants)==null?void 0:g.find(B=>B.id===c);if(d){const B=o.map(w=>({id:w.id,region:w.stepRegion}));await t.setSelectionsAndElements(e.stepName,[d],B,async()=>{var w;t.updateStorage(e.stepName,{colour:((w=a==null?void 0:a.storage)==null?void 0:w.colour)||""}),t.setMandatoryFulfilled(e.stepName,!0)})}}}}async selectVariantCommand(e,t,A,a){var r;const n=a.getLayouts(),i=(r=a.getStepStorage(e.stepName))==null?void 0:r.colour,o=()=>{var g,c;if(((g=t.variant)==null?void 0:g.color)==="#custom")return i||"#FFFFFF";if((c=t.variant)!=null&&c.color)return t.variant.color;throw new Error("Failed to resolve color for shape step.")};if(A.length>0){const g=d=>{const B=d.region;if(!n.find(C=>C.panelId===(B==null?void 0:B.panelId)))throw new k(B);const E=o();return new s.IllustrationColorCommand(d.id,this.shapeFillId,E)},c=A.map(g).filter(d=>!!d);return{command:new s.GroupCommand(c),followup:async()=>{await a.setSelectionsAndElements(e.stepName,t.variant?[t.variant]:[],A),a.updateStorage(e.stepName,{colour:o()})}}}else{const g=w=>{const E=n.find(D=>D.panelId===w.panelId);if(!E)throw new k(w);const C=o(),h=`
747
560
  <svg
748
561
  xmlns="http://www.w3.org/2000/svg"
749
562
  xmlnsXlink="http://www.w3.org/1999/xlink"
@@ -760,16 +573,16 @@ Minimum version required to store current data is: `+a+`.
760
573
  width="1"
761
574
  height="1"
762
575
  class="${this.shapeFillId}"
763
- fill="${p}"
576
+ fill="${C}"
764
577
  />
765
578
  </svg>
766
- `,y={};y[this.shapeFillId]={browserValue:p};const v=Dt();return{id:v,region:f,command:new ve({stepRegion:f,stepName:t.stepName,colors:y,id:v,svg:m,type:Et.Illustration,y:f.top,x:f.left,rotation:f.rotation,width:f.width,height:f.height,layer:f.layer,layerIndex:f.layerIndex,immutable:f.immutable,excludeFromExport:t.data.excludeFromPrint},d)}},u=t.data.regions.map(l),A=u.filter(f=>!!f).map(f=>f==null?void 0:f.command),h=u.filter(f=>!!f).map(f=>({id:f.id,region:f.region}));return{command:new $t(A),followup:async()=>{await i.setSelectionsAndElements(t.stepName,n.variant?[n.variant]:[],h,async()=>{i.updateStorage(t.stepName,{colour:o()})})}}}}}const rs=new WR;class KR{constructor(){this.latestToast=null,this.toastType=null,this.toastCallbacks=[]}addToastCallback(t){t({toastMessage:this.latestToast,toastType:this.toastType}),this.toastCallbacks.push(t)}setLatestToast(t,n){this.latestToast=t,this.toastType=n,this.onToastChange()}onToastChange(){this.toastCallbacks.forEach(t=>t({toastMessage:this.latestToast,toastType:this.toastType}))}}const bE=new KR,T0=30;class Du extends Error{constructor(t){super(t),Object.setPrototypeOf(this,new.target.prototype),this.name=Du.name}}const XR=["‘","’","“","”",`
767
- `];class Iu extends Error{constructor(t){super(t),Object.setPrototypeOf(this,new.target.prototype),this.name=Iu.name}}class _R{constructor(){this.cachedColors=new Map,this.filterUnsupportedCharacters=(t,n)=>{let r=t.replace(/(\r\n|\r|(\u00a9|\u00ae|[\u2000-\u2017]|[\u201E-\u3300]]|\ud83c[\ud000-\udfff]|\ud83d[\ud000-\udfff]|\ud83e[\ud000-\udfff]))/gm,"");const i=[],a=n?ei(n.assetUrl):void 0;if(a){const s=r.split("").filter(c=>!XR.includes(c)).join(""),o=s.split("").map(c=>a.getFont().charToGlyph(c));for(let c=0;c<o.length;c++)o[c].name===".notdef"&&i.push(String.fromCharCode(s.charCodeAt(c)))}for(let s=0;s<i.length;s++)r=r.replaceAll(i[s],"");return r},this.textAlign=t=>t.vertical?"center":t.textAlign||"center",this.getErrorsForText=(t,n,r)=>{const i=[];n.data&&n.data.maxLength&&t.length>n.data.maxLength&&i.push({localizationKey:"workflow.steps.text.characterLimit"});const a=r.getProfanities(),s=F0(t.toLowerCase());for(const c of s)for(const l in a){const u=a[l].toLowerCase().replace(/\s/g,"");if(c===u){i.push({localizationKey:"workflow.steps.text.blockedProfanity"});break}}return!n.data.allowNewlines&&(t.includes(`
768
- `)||t.includes("\r"))&&i.push({localizationKey:"workflow.steps.text.multipleLines"}),i}}async init(t,n,r){var a,s,o;const i=t.option;if(!i)return null;if(r)await this.reload(t,n,r);else{const c=this.getDefaultImageFillVariant(t.data),l=(a=c==null?void 0:c.asset)==null?void 0:a.fileLink,u=l?await bf(l):void 0,A=u?{src:u.src,height:u.height,width:u.width,scale:t.data.imageFillScale||1}:void 0;n.updateStorage(t.stepName,{inputText:t.data.defaultText||"",color:((s=await this.getDefaultColorVariant(t.data))==null?void 0:s.color)||await this.getDefaultColor(t.data),fillImage:A}),n.updateMetadata(t.stepName,{text:t.data.defaultText||"",color:((o=await this.getDefaultColorVariant(t.data))==null?void 0:o.name)||await this.getDefaultColor(t.data),fillImage:c==null?void 0:c.name});const h=En.getDefaultVariant(i);if(h)return this.selectVariantCommand(t,h,{},[],n,()=>{},()=>{},A)}return null}findLayoutElements(t,n){return t.getRegionElements(n.stepName).map(a=>we(a.id,t.getAllLayoutData()))}availableFillColors(t){var i;const n=this.cachedColors.get(t.stepName);if(n)return n;const r=t.data.colorOption;if(r){const a=((i=r.variants)==null?void 0:i.map(s=>({fill:s.color,stroke:s.color,variant:s})))||[];return this.cachedColors.set(t.stepName,a),a}return[]}async changeFillColor(t,n,r,i){var c;if(!t.data||!t.data.regions)return;const a=i.getCommandDispatcher();n.variant?i.updateMetadata(t.stepName,{color:n.variant.name}):i.updateMetadata(t.stepName,{color:n.fill});const s=t.data.colorOption,o=s?this.createTextFillSpotColor(s,n.variant):void 0;s?i.updateStorage(t.stepName,{color:n.fill,colorProfileAssetKey:(c=s.colorProfile)==null?void 0:c.key}):i.updateStorage(t.stepName,{color:n.fill});for(const l of r){if(!n.fill)throw new Error("Fill not set on new color selection!");const u=new Gm(l.id,n.fill,o);a(u)}}async availableFillImages(t){var r,i;const n=t.data.imageFillOption;if(n){const a=((i=(r=n.variants)==null?void 0:r.map(s=>{var o;return(o=s.asset)==null?void 0:o.fileLink}))==null?void 0:i.filter(s=>!!s))||[];return Promise.all(a.map(async s=>{const o=await bf(s);return{src:s,width:o.width,height:o.height,scale:t.data.imageFillScale||1}}))}return Promise.resolve([])}async changeFillImage(t,n,r,i){var o,c;if(!t.data||!t.data.regions)return;const a=i.getCommandDispatcher(),s=(c=(o=t.option)==null?void 0:o.variants)==null?void 0:c.find(l=>{var u;return((u=l.asset)==null?void 0:u.fileLink)===n.src});i.updateMetadata(t.stepName,{fillImage:s==null?void 0:s.name}),i.updateStorage(t.stepName,{fillImage:n});for(const l of r){const u=new Xh(l.id,n);a(u)}}getProcessedInput(t,n,r){const i=r?t:this.injectReplaceableText(t,n);return kl(i,{vertical:n.vertical,uppercase:n.uppercase})}updateInputText(t,n,r,i){const a=i.getStepStorage(r.stepName),s=this.getProcessedInput(t,r.data,!!a.customiseAllText),o={command:void 0,helperText:"",errors:this.getErrorsForText(t,r,i)};if(o.errors.length>0)return o.helperText=o.errors[0].localizationKey,o;const c=(r.data.maxLength-s.length).toString();o.helperText=`${c} characters remaining`;const l=i.getTransaction().bulk&&r.data.varyText||!1,u=[],A=new Map,h=new Map;for(const f of n){if(!f.fontData)throw new ge("Failed to resolve font data for text.");const[d,p]=so(f.fontSize,f.fontData,{left:f.x,top:f.y,width:f.width,height:f.height,rotation:f.rotation,panelId:""},[s],{size:r.data.size,minSize:r.data.minSize,maxSize:r.data.maxSize});A.set(f.id,d),h.set(f.id,p);const m=r.data.curved?s:(p||[]).join(`
769
- `);u.push(this.generateTextChangeCommandsForRegion(d,r.data,f.id,m,l))}return!r.data.curved&&n.length>0&&!Array.from(h.values()).every(d=>d)?(o.errors.push({localizationKey:"workflow.steps.text.doesNotFit"}),o):(i.updateStorage(r.stepName,{text:t}),i.updateMetadata(r.stepName,{text:s}),a.defaultCleared&&i.setMandatoryFulfilled(r.stepName,!0),o.command=new $t(u),o.command.varying=l,o)}async selectVariant(t,n,r,i,a){const s=await this.selectVariantCommand(t,n,r.getStepStorage(t.stepName)||{},r.getRegionElements(t.stepName),r,i,a);s&&(s.command&&r.getCommandDispatcher()(s.command),s.followup&&await s.followup())}createTextFillSpotColor(t,n){const r=t.colorProfile;if(r){const i=(r.name||"").replace(/\s/g,"-"),a=i.lastIndexOf("/"),o=i.slice(a+1).slice(0,-4);if(!n.namedColor)throw new Error("variant named color not set!");return{profileName:o,namedColor:n.namedColor}}}async reload(t,n,r){var l,u,A;const i=n.getSerializedStep(t.stepName,r.serializableWorkflow.steps),o=Object.values(r.layouts).map(h=>h.elements).flat().filter(h=>h.stepName===t.stepName),c=t.option;if(i!=null&&i.selectedVariants){const h=i.selectedVariants[0].id;if(c&&h){const f=(l=c.variants)==null?void 0:l.find(d=>d.id===h);if(f){const d=await this.fontDataFromVariant(f),p=o.map(w=>({id:w.id,region:w.stepRegion})),m=(u=i.storage)==null?void 0:u.color,y=(A=i.storage)==null?void 0:A.text;await n.setSelectionsAndElements(t.stepName,[f],p,async()=>{n.updateMetadata(t.stepName,{color:m,text:y}),n.updateStorage(t.stepName,{text:y,inputText:y});const w=o.map(C=>new _h(C.id,d)),B=new $t(w);n.getCommandDispatcher()(B),n.setMandatoryFulfilled(t.stepName,!0)});const{command:v}=Wn.updateInputText(y||"",o,t,n);v&&n.getCommandDispatcher()(v)}}}}async getDefaultColorVariant(t){const n=t.colorOption;if(n)return En.getDefaultVariant(n)}async getDefaultColor(t){const n=t.colorOption;if(!n)return;const r=En.getDefaultVariant(n);return r==null?void 0:r.color}getDefaultImageFillVariant(t){const n=t.imageFillOption;if(n)return En.getDefaultVariant(n)}async fontDataFromVariant(t){const n=t.asset;if(!n)throw new li(t);const r=n.fileLink;if(!r)throw new za(n);const i=await Ni(r);return{assetUrl:r,name:i.names.fullName.en}}async selectVariantCommand(t,n,r,i,a,s,o,c){var A;const l=a.markUpdatePending(),u=await this.fontDataFromVariant(n);if(i.length>0){const h=i.map(p=>new _h(p.id,u));if(c){const p=i.map(m=>new Xh(m.id,c));h.push(...p)}const f=await this.changeInputTextWithRegion(t,t.data.size||T0,u,r.text||"",r,a,!!r.customiseAllText,s,o);return f&&h.push(f),{command:new $t(h),followup:async()=>{a.markUpdateCompleted(l),await a.setSelectionsAndElements(t.stepName,[n],i)}}}else{const h=await this.createTextboxRegions(t.stepName,n,t.data,u,r,a),f=await this.changeInputTextWithRegion(t,t.data.size||T0,u,((A=h[0])==null?void 0:A.newElement.input)||r.text||t.data.defaultText||"",r,a,!!r.customiseAllText,s,o),d=h.flatMap(m=>m.commands);if(c){const m=h.map(y=>new Xh(y.regionElement.id,c));d.push(...m)}return f&&d.push(f),{command:new $t(d),followup:async()=>{a.markUpdateCompleted(l)}}}}injectReplaceableText(t,n){return n.replaceableText?n.replaceableText.replace("{{}}",t):t}async createTextboxRegions(t,n,r,i,a,s){if(!r||!r.regions)throw new Error("Step data not supplied");const o=s.getTransaction().bulk&&r.varyText||!1,c=o?"":a.text||r.defaultText||"",l=this.getProcessedInput(c,r,!1),u=async h=>{var m;const d=s.getLayouts().find(y=>y.panelId===h.panelId),p=Dt();try{if(!d)throw new Iu("Failed to find layout for region: "+h.panelId);const y=r.colorOption;let v;if(y&&y.variants){const z=y.variants.find(J=>{var W;return J.id===((W=y.defaultVariant)==null?void 0:W.id)})||y.variants[0];v=this.createTextFillSpotColor(y,z),s.updateStorage(t,{colorProfileAssetKey:(m=y.colorProfile)==null?void 0:m.key})}const w=await this.getDefaultColor(r),B=w||"#000000",C={stepRegion:h,stepName:t,align:this.textAlign(r),fill:a.color?a.color:B,fontSize:r.size||T0,fontData:i,id:p,layer:h.layer,layerIndex:h.layerIndex,rotation:h.rotation,text:l,input:c,type:Et.Textbox,vertical:r.vertical,x:h.left,y:h.top,height:h.height,width:h.width,immutable:h.immutable,verticalAlign:r.verticalAlign||"middle",curved:r.curved,paths:r.paths,fillSpotColorDefinition:v},x=[],b=new Map,D=new Map;if(!C.fontData)throw new ge("Failed to resolve font data for text.");const[T,P]=so(C.fontSize,C.fontData,{left:C.x,top:C.y,width:C.width,height:C.height,rotation:C.rotation,panelId:""},[l],{size:r.size,minSize:r.minSize,maxSize:r.maxSize});b.set(C.id,T),D.set(C.id,P);const L=r.curved||r.vertical?l:(P||[]).join(`
770
- `);x.push(this.generateTextChangeCommandsForRegion(T,r,C.id,L,o));const U=new ve(C,d);return U.varying=o,{regionElement:{id:p,region:h},commands:[U,...x],newElement:C,fontData:i}}catch(y){throw console.log(y),new Du("Error adding font to region")}},A=await Promise.all(r.regions.map(u)).catch(h=>{throw h instanceof Du?(bE.setLatestToast("Failed to load font.",Yo.Error),h):h instanceof Iu?h:new Error(h)});return await s.setSelectionsAndElements(t,[n],A.map(h=>h.regionElement),async()=>{s.updateMetadata(t,{text:c}),s.updateStorage(t,{text:c})}),A}generateTextChangeCommandsForRegion(t,n,r,i,a){const s=[],o=new Jm(r,i);if(o.varying=a,s.push(o),!n.size){const l=new Vm(r,t);l.varying=a,s.push(l)}const c=new $t(s);return c.varying=a,c}async changeInputTextWithRegion(t,n,r,i,a,s,o,c,l,u){const A=(i||"").replace(/^(?![\u000A\u000D])[\u0000-\u001F\u007F-\u009F]/g,""),h=this.getProcessedInput(A,t.data,o),f=s.getRegionElements(t.stepName),d=new Map,p=new Map;for(const C of f)if(C.region){const[x,b]=so(n,r,C.region,[h],{size:t.data.size,minSize:t.data.minSize,maxSize:t.data.maxSize});d.set(C.id,x),p.set(C.id,b)}const y=(()=>{if(t.data&&t.data.maxLength&&h.length>t.data.maxLength)return u&&u(!0),{info:"0"};const C=s.getProfanities(),x=F0(h.toLowerCase());for(const b of x)for(const D in C){const T=C[D].toLowerCase().replace(/\s/g,"");if(b===T)return c(!0),{error:"Blocked profanity."}}return!t.data.vertical&&!t.data.allowNewlines&&(h.includes(`
771
- `)||h.includes("\r"))?(c(!0),{error:"Cannot span multiple lines."}):!t.data.curved&&!Array.from(p.values()).every(D=>D)?(c(!0),{error:"Does not fit."}):(c(!1),{info:(t.data.maxLength-h.length).toString()})})();if(y.error){l(y.error);return}if(l(`${y.info} characters remaining`||""),u)return;s.updateStorage(t.stepName,{text:A}),s.updateMetadata(t.stepName,{text:this.injectReplaceableText(A,t.data)});const v=s.getTransaction().bulk&&t.data.varyText||!1;a.defaultCleared&&s.setMandatoryFulfilled(t.stepName,!0);const w=[];for(const C of f){const x=t.data.curved?h:(p.get(C.id)||[]).join(`
772
- `);w.push(this.generateTextChangeCommandsForRegion(d.get(C.id)||1,t.data,C.id,x,v))}const B=new $t(w);return B.varying=v,B}}const Wn=new _R;class N0{}const qR="data:application/font-woff;base64,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",ZR=`<?xml version="1.0" encoding="iso-8859-1"?>
579
+ `,Q={};Q[this.shapeFillId]={browserValue:C};const u=s.generate();return{id:u,region:w,command:new s.CreateElementCommand({stepRegion:w,stepName:e.stepName,colors:Q,id:u,svg:h,type:s.LayoutElementType.Illustration,y:w.top,x:w.left,rotation:w.rotation,width:w.width,height:w.height,layer:w.layer,layerIndex:w.layerIndex,immutable:w.immutable,excludeFromExport:e.data.excludeFromPrint},E)}},c=e.data.regions.map(g),d=c.filter(w=>!!w).map(w=>w==null?void 0:w.command),B=c.filter(w=>!!w).map(w=>({id:w.id,region:w.region}));return{command:new s.GroupCommand(d),followup:async()=>{await a.setSelectionsAndElements(e.stepName,t.variant?[t.variant]:[],B,async()=>{a.updateStorage(e.stepName,{colour:o()})})}}}}}const _=new zA;class jA{constructor(){this.latestToast=null,this.toastType=null,this.toastCallbacks=[]}addToastCallback(e){e({toastMessage:this.latestToast,toastType:this.toastType}),this.toastCallbacks.push(e)}setLatestToast(e,t){this.latestToast=e,this.toastType=t,this.onToastChange()}onToastChange(){this.toastCallbacks.forEach(e=>e({toastMessage:this.latestToast,toastType:this.toastType}))}}const Dt=new jA,be=30;class Ie extends Error{constructor(e){super(e),Object.setPrototypeOf(this,new.target.prototype),this.name=Ie.name}}const KA=["‘","’","“","”",`
580
+ `];class De extends Error{constructor(e){super(e),Object.setPrototypeOf(this,new.target.prototype),this.name=De.name}}class VA{constructor(){this.cachedColors=new Map,this.filterUnsupportedCharacters=(e,t)=>{let A=e.replace(/(\r\n|\r|(\u00a9|\u00ae|[\u2000-\u2017]|[\u201E-\u3300]]|\ud83c[\ud000-\udfff]|\ud83d[\ud000-\udfff]|\ud83e[\ud000-\udfff]))/gm,"");const a=[],n=t?s.getFontMetrics(t.assetUrl):void 0;if(n){const i=A.split("").filter(r=>!KA.includes(r)).join(""),o=i.split("").map(r=>n.getFont().charToGlyph(r));for(let r=0;r<o.length;r++)o[r].name===".notdef"&&a.push(String.fromCharCode(i.charCodeAt(r)))}for(let i=0;i<a.length;i++)A=A.replaceAll(a[i],"");return A},this.textAlign=e=>e.vertical?"center":e.textAlign||"center",this.getErrorsForText=(e,t,A)=>{const a=[];t.data&&t.data.maxLength&&e.length>t.data.maxLength&&a.push({localizationKey:"workflow.steps.text.characterLimit"});const n=A.getProfanities(),i=Se.split(e.toLowerCase());for(const r of i)for(const g in n){const c=n[g].toLowerCase().replace(/\s/g,"");if(r===c){a.push({localizationKey:"workflow.steps.text.blockedProfanity"});break}}return!t.data.allowNewlines&&(e.includes(`
581
+ `)||e.includes("\r"))&&a.push({localizationKey:"workflow.steps.text.multipleLines"}),a}}async init(e,t,A){var n,i,o;const a=e.option;if(!a)return null;if(A)await this.reload(e,t,A);else{const r=this.getDefaultImageFillVariant(e.data),g=(n=r==null?void 0:r.asset)==null?void 0:n.fileLink,c=g?await s.getPatternImageData(g):void 0,d=c?{src:c.src,height:c.height,width:c.width,scale:e.data.imageFillScale||1}:void 0;t.updateStorage(e.stepName,{inputText:e.data.defaultText||"",color:((i=await this.getDefaultColorVariant(e.data))==null?void 0:i.color)||await this.getDefaultColor(e.data),fillImage:d}),t.updateMetadata(e.stepName,{text:e.data.defaultText||"",color:((o=await this.getDefaultColorVariant(e.data))==null?void 0:o.name)||await this.getDefaultColor(e.data),fillImage:r==null?void 0:r.name});const B=J.getDefaultVariant(a);if(B)return this.selectVariantCommand(e,B,{},[],t,()=>{},()=>{},d)}return null}findLayoutElements(e,t){return e.getRegionElements(t.stepName).map(n=>s.findElement(n.id,e.getAllLayoutData()))}availableFillColors(e){var a;const t=this.cachedColors.get(e.stepName);if(t)return t;const A=e.data.colorOption;if(A){const n=((a=A.variants)==null?void 0:a.map(i=>({fill:i.color,stroke:i.color,variant:i})))||[];return this.cachedColors.set(e.stepName,n),n}return[]}async changeFillColor(e,t,A,a){var r;if(!e.data||!e.data.regions)return;const n=a.getCommandDispatcher();t.variant?a.updateMetadata(e.stepName,{color:t.variant.name}):a.updateMetadata(e.stepName,{color:t.fill});const i=e.data.colorOption,o=i?this.createTextFillSpotColor(i,t.variant):void 0;i?a.updateStorage(e.stepName,{color:t.fill,colorProfileAssetKey:(r=i.colorProfile)==null?void 0:r.key}):a.updateStorage(e.stepName,{color:t.fill});for(const g of A){if(!t.fill)throw new Error("Fill not set on new color selection!");const c=new s.FontColorCommand(g.id,t.fill,o);n(c)}}async availableFillImages(e){var A,a;const t=e.data.imageFillOption;if(t){const n=((a=(A=t.variants)==null?void 0:A.map(i=>{var o;return(o=i.asset)==null?void 0:o.fileLink}))==null?void 0:a.filter(i=>!!i))||[];return Promise.all(n.map(async i=>{const o=await s.getPatternImageData(i);return{src:i,width:o.width,height:o.height,scale:e.data.imageFillScale||1}}))}return Promise.resolve([])}async changeFillImage(e,t,A,a){var o,r;if(!e.data||!e.data.regions)return;const n=a.getCommandDispatcher(),i=(r=(o=e.option)==null?void 0:o.variants)==null?void 0:r.find(g=>{var c;return((c=g.asset)==null?void 0:c.fileLink)===t.src});a.updateMetadata(e.stepName,{fillImage:i==null?void 0:i.name}),a.updateStorage(e.stepName,{fillImage:t});for(const g of A){const c=new s.FontImageFillCommand(g.id,t);n(c)}}getProcessedInput(e,t,A){const a=A?e:this.injectReplaceableText(e,t);return s.applyTextTransformations(a,{vertical:t.vertical,uppercase:t.uppercase})}updateInputText(e,t,A,a){const n=a.getStepStorage(A.stepName),i=this.getProcessedInput(e,A.data,!!n.customiseAllText),o={command:void 0,helperText:"",errors:this.getErrorsForText(e,A,a)};if(o.errors.length>0)return o.helperText=o.errors[0].localizationKey,o;const r=(A.data.maxLength-i.length).toString();o.helperText=`${r} characters remaining`;const g=a.getTransaction().bulk&&A.data.varyText||!1,c=[],d=new Map,B=new Map;for(const w of t){if(!w.fontData)throw new v("Failed to resolve font data for text.");const[E,C]=s.determineCorrectFontSizeAndLines(w.fontSize,w.fontData,{left:w.x,top:w.y,width:w.width,height:w.height,rotation:w.rotation,panelId:""},[i],{size:A.data.size,minSize:A.data.minSize,maxSize:A.data.maxSize});d.set(w.id,E),B.set(w.id,C);const h=A.data.curved?i:(C||[]).join(`
582
+ `);c.push(this.generateTextChangeCommandsForRegion(E,A.data,w.id,h,g))}return!A.data.curved&&t.length>0&&!Array.from(B.values()).every(E=>E)?(o.errors.push({localizationKey:"workflow.steps.text.doesNotFit"}),o):(a.updateStorage(A.stepName,{text:e}),a.updateMetadata(A.stepName,{text:i}),n.defaultCleared&&a.setMandatoryFulfilled(A.stepName,!0),o.command=new s.GroupCommand(c),o.command.varying=g,o)}async selectVariant(e,t,A,a,n){const i=await this.selectVariantCommand(e,t,A.getStepStorage(e.stepName)||{},A.getRegionElements(e.stepName),A,a,n);i&&(i.command&&A.getCommandDispatcher()(i.command),i.followup&&await i.followup())}createTextFillSpotColor(e,t){const A=e.colorProfile;if(A){const a=(A.name||"").replace(/\s/g,"-"),n=a.lastIndexOf("/"),o=a.slice(n+1).slice(0,-4);if(!t.namedColor)throw new Error("variant named color not set!");return{profileName:o,namedColor:t.namedColor}}}async reload(e,t,A){var g,c,d;const a=t.getSerializedStep(e.stepName,A.serializableWorkflow.steps),o=Object.values(A.layouts).map(B=>B.elements).flat().filter(B=>B.stepName===e.stepName),r=e.option;if(a!=null&&a.selectedVariants){const B=a.selectedVariants[0].id;if(r&&B){const w=(g=r.variants)==null?void 0:g.find(E=>E.id===B);if(w){const E=await this.fontDataFromVariant(w),C=o.map(D=>({id:D.id,region:D.stepRegion})),h=(c=a.storage)==null?void 0:c.color,Q=(d=a.storage)==null?void 0:d.text;await t.setSelectionsAndElements(e.stepName,[w],C,async()=>{t.updateMetadata(e.stepName,{color:h,text:Q}),t.updateStorage(e.stepName,{text:Q,inputText:Q});const D=o.map(f=>new s.FontSourceCommand(f.id,E)),I=new s.GroupCommand(D);t.getCommandDispatcher()(I),t.setMandatoryFulfilled(e.stepName,!0)});const{command:u}=T.updateInputText(Q||"",o,e,t);u&&t.getCommandDispatcher()(u)}}}}async getDefaultColorVariant(e){const t=e.colorOption;if(t)return J.getDefaultVariant(t)}async getDefaultColor(e){const t=e.colorOption;if(!t)return;const A=J.getDefaultVariant(t);return A==null?void 0:A.color}getDefaultImageFillVariant(e){const t=e.imageFillOption;if(t)return J.getDefaultVariant(t)}async fontDataFromVariant(e){const t=e.asset;if(!t)throw new z(e);const A=t.fileLink;if(!A)throw new W(t);const a=await s.loadFontFromExternalUrl(A);return{assetUrl:A,name:a.names.fullName.en}}async selectVariantCommand(e,t,A,a,n,i,o,r){var d;const g=n.markUpdatePending(),c=await this.fontDataFromVariant(t);if(a.length>0){const B=a.map(C=>new s.FontSourceCommand(C.id,c));if(r){const C=a.map(h=>new s.FontImageFillCommand(h.id,r));B.push(...C)}const w=await this.changeInputTextWithRegion(e,e.data.size||be,c,A.text||"",A,n,!!A.customiseAllText,i,o);return w&&B.push(w),{command:new s.GroupCommand(B),followup:async()=>{n.markUpdateCompleted(g),await n.setSelectionsAndElements(e.stepName,[t],a)}}}else{const B=await this.createTextboxRegions(e.stepName,t,e.data,c,A,n),w=await this.changeInputTextWithRegion(e,e.data.size||be,c,((d=B[0])==null?void 0:d.newElement.input)||A.text||e.data.defaultText||"",A,n,!!A.customiseAllText,i,o),E=B.flatMap(h=>h.commands);if(r){const h=B.map(Q=>new s.FontImageFillCommand(Q.regionElement.id,r));E.push(...h)}return w&&E.push(w),{command:new s.GroupCommand(E),followup:async()=>{n.markUpdateCompleted(g)}}}}injectReplaceableText(e,t){return t.replaceableText?t.replaceableText.replace("{{}}",e):e}async createTextboxRegions(e,t,A,a,n,i){if(!A||!A.regions)throw new Error("Step data not supplied");const o=i.getTransaction().bulk&&A.varyText||!1,r=o?"":n.text||A.defaultText||"",g=this.getProcessedInput(r,A,!1),c=async B=>{var h;const E=i.getLayouts().find(Q=>Q.panelId===B.panelId),C=s.generate();try{if(!E)throw new De("Failed to find layout for region: "+B.panelId);const Q=A.colorOption;let u;if(Q&&Q.variants){const G=Q.variants.find(j=>{var K;return j.id===((K=Q.defaultVariant)==null?void 0:K.id)})||Q.variants[0];u=this.createTextFillSpotColor(Q,G),i.updateStorage(e,{colorProfileAssetKey:(h=Q.colorProfile)==null?void 0:h.key})}const D=await this.getDefaultColor(A),I=D||"#000000",f={stepRegion:B,stepName:e,align:this.textAlign(A),fill:n.color?n.color:I,fontSize:A.size||be,fontData:a,id:C,layer:B.layer,layerIndex:B.layerIndex,rotation:B.rotation,text:g,input:r,type:s.LayoutElementType.Textbox,vertical:A.vertical,x:B.left,y:B.top,height:B.height,width:B.width,immutable:B.immutable,verticalAlign:A.verticalAlign||"middle",curved:A.curved,paths:A.paths,fillSpotColorDefinition:u},M=[],p=new Map,F=new Map;if(!f.fontData)throw new v("Failed to resolve font data for text.");const[S,Y]=s.determineCorrectFontSizeAndLines(f.fontSize,f.fontData,{left:f.x,top:f.y,width:f.width,height:f.height,rotation:f.rotation,panelId:""},[g],{size:A.size,minSize:A.minSize,maxSize:A.maxSize});p.set(f.id,S),F.set(f.id,Y);const x=A.curved||A.vertical?g:(Y||[]).join(`
583
+ `);M.push(this.generateTextChangeCommandsForRegion(S,A,f.id,x,o));const N=new s.CreateElementCommand(f,E);return N.varying=o,{regionElement:{id:C,region:B},commands:[N,...M],newElement:f,fontData:a}}catch(Q){throw console.log(Q),new Ie("Error adding font to region")}},d=await Promise.all(A.regions.map(c)).catch(B=>{throw B instanceof Ie?(Dt.setLatestToast("Failed to load font.",ge.Error),B):B instanceof De?B:new Error(B)});return await i.setSelectionsAndElements(e,[t],d.map(B=>B.regionElement),async()=>{i.updateMetadata(e,{text:r}),i.updateStorage(e,{text:r})}),d}generateTextChangeCommandsForRegion(e,t,A,a,n){const i=[],o=new s.TextChangeCommand(A,a);if(o.varying=n,i.push(o),!t.size){const g=new s.FontSizeCommand(A,e);g.varying=n,i.push(g)}const r=new s.GroupCommand(i);return r.varying=n,r}async changeInputTextWithRegion(e,t,A,a,n,i,o,r,g,c){const d=(a||"").replace(/^(?![\u000A\u000D])[\u0000-\u001F\u007F-\u009F]/g,""),B=this.getProcessedInput(d,e.data,o),w=i.getRegionElements(e.stepName),E=new Map,C=new Map;for(const f of w)if(f.region){const[M,p]=s.determineCorrectFontSizeAndLines(t,A,f.region,[B],{size:e.data.size,minSize:e.data.minSize,maxSize:e.data.maxSize});E.set(f.id,M),C.set(f.id,p)}const Q=(()=>{if(e.data&&e.data.maxLength&&B.length>e.data.maxLength)return c&&c(!0),{info:"0"};const f=i.getProfanities(),M=Se.split(B.toLowerCase());for(const p of M)for(const F in f){const S=f[F].toLowerCase().replace(/\s/g,"");if(p===S)return r(!0),{error:"Blocked profanity."}}return!e.data.vertical&&!e.data.allowNewlines&&(B.includes(`
584
+ `)||B.includes("\r"))?(r(!0),{error:"Cannot span multiple lines."}):!e.data.curved&&!Array.from(C.values()).every(F=>F)?(r(!0),{error:"Does not fit."}):(r(!1),{info:(e.data.maxLength-B.length).toString()})})();if(Q.error){g(Q.error);return}if(g(`${Q.info} characters remaining`||""),c)return;i.updateStorage(e.stepName,{text:d}),i.updateMetadata(e.stepName,{text:this.injectReplaceableText(d,e.data)});const u=i.getTransaction().bulk&&e.data.varyText||!1;n.defaultCleared&&i.setMandatoryFulfilled(e.stepName,!0);const D=[];for(const f of w){const M=e.data.curved?B:(C.get(f.id)||[]).join(`
585
+ `);D.push(this.generateTextChangeCommandsForRegion(E.get(f.id)||1,e.data,f.id,M,u))}const I=new s.GroupCommand(D);return I.varying=u,I}}const T=new VA;class Je{}const WA="data:application/font-woff;base64,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",XA=`<?xml version="1.0" encoding="iso-8859-1"?>
773
586
  <!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
774
587
  <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
775
588
  width="289.691px" height="204.059px" viewBox="0 0 289.691 204.059" enable-background="new 0 0 289.691 204.059"
@@ -2030,7 +1843,7 @@ IfnI8vaNAAAAAElFTkSuQmCC" transform="matrix(0.13 0.0141 -0.0141 0.1301 104.926 1
2030
1843
  </g>
2031
1844
  </svg>
2032
1845
 
2033
- `;var SE={},Fu={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0},$R=[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279];function tO(e){return e===10||e===13||e===8232||e===8233||e===32||e===9||e===11||e===12||e===160||e>=5760&&$R.indexOf(e)>=0}function eO(e){switch(e|32){case 109:case 122:case 108:case 104:case 118:case 99:case 115:case 113:case 116:case 97:case 114:return!0}return!1}function nO(e){return(e|32)===97}function is(e){return e>=48&&e<=57}function rO(e){return e>=48&&e<=57||e===43||e===45||e===46}function iO(e){this.index=0,this.path=e,this.max=e.length,this.result=[],this.param=0,this.err="",this.segmentStart=0,this.data=[]}function Qu(e){for(;e.index<e.max&&tO(e.path.charCodeAt(e.index));)e.index++}function aO(e){var t=e.path.charCodeAt(e.index);if(t===48){e.param=0,e.index++;return}if(t===49){e.param=1,e.index++;return}e.err="SvgPath: arc flag can be 0 or 1 only (at pos "+e.index+")"}function sO(e){var t=e.index,n=t,r=e.max,i=!1,a=!1,s=!1,o=!1,c;if(n>=r){e.err="SvgPath: missed param (at pos "+n+")";return}if(c=e.path.charCodeAt(n),(c===43||c===45)&&(n++,c=n<r?e.path.charCodeAt(n):0),!is(c)&&c!==46){e.err="SvgPath: param should start with 0..9 or `.` (at pos "+n+")";return}if(c!==46){if(i=c===48,n++,c=n<r?e.path.charCodeAt(n):0,i&&n<r&&c&&is(c)){e.err="SvgPath: numbers started with `0` such as `09` are illegal (at pos "+t+")";return}for(;n<r&&is(e.path.charCodeAt(n));)n++,a=!0;c=n<r?e.path.charCodeAt(n):0}if(c===46){for(o=!0,n++;is(e.path.charCodeAt(n));)n++,s=!0;c=n<r?e.path.charCodeAt(n):0}if(c===101||c===69){if(o&&!a&&!s){e.err="SvgPath: invalid float exponent (at pos "+n+")";return}if(n++,c=n<r?e.path.charCodeAt(n):0,(c===43||c===45)&&n++,n<r&&is(e.path.charCodeAt(n)))for(;n<r&&is(e.path.charCodeAt(n));)n++;else{e.err="SvgPath: invalid float exponent (at pos "+n+")";return}}e.index=n,e.param=parseFloat(e.path.slice(t,n))+0}function P0(e){var t,n;t=e.path[e.segmentStart],n=t.toLowerCase();var r=e.data;if(n==="m"&&r.length>2&&(e.result.push([t,r[0],r[1]]),r=r.slice(2),n="l",t=t==="m"?"l":"L"),n==="r")e.result.push([t].concat(r));else for(;r.length>=Fu[n]&&(e.result.push([t].concat(r.splice(0,Fu[n]))),!!Fu[n]););}function oO(e){var t=e.max,n,r,i,a,s;if(e.segmentStart=e.index,n=e.path.charCodeAt(e.index),r=nO(n),!eO(n)){e.err="SvgPath: bad command "+e.path[e.index]+" (at pos "+e.index+")";return}if(a=Fu[e.path[e.index].toLowerCase()],e.index++,Qu(e),e.data=[],!a){P0(e);return}for(i=!1;;){for(s=a;s>0;s--){if(r&&(s===3||s===4)?aO(e):sO(e),e.err.length){P0(e);return}e.data.push(e.param),Qu(e),i=!1,e.index<t&&e.path.charCodeAt(e.index)===44&&(e.index++,Qu(e),i=!0)}if(!i&&(e.index>=e.max||!rO(e.path.charCodeAt(e.index))))break}P0(e)}var cO=function(t){var n=new iO(t),r=n.max;for(Qu(n);n.index<r&&!n.err.length;)oO(n);return n.result.length&&("mM".indexOf(n.result[0][0])<0?(n.err="SvgPath: string should start with `M` or `m`",n.result=[]):n.result[0][0]="M"),{err:n.err,segments:n.result}};function lO(e,t){return[e[0]*t[0]+e[2]*t[1],e[1]*t[0]+e[3]*t[1],e[0]*t[2]+e[2]*t[3],e[1]*t[2]+e[3]*t[3],e[0]*t[4]+e[2]*t[5]+e[4],e[1]*t[4]+e[3]*t[5]+e[5]]}function Kn(){if(!(this instanceof Kn))return new Kn;this.queue=[],this.cache=null}Kn.prototype.matrix=function(e){return e[0]===1&&e[1]===0&&e[2]===0&&e[3]===1&&e[4]===0&&e[5]===0?this:(this.cache=null,this.queue.push(e),this)},Kn.prototype.translate=function(e,t){return(e!==0||t!==0)&&(this.cache=null,this.queue.push([1,0,0,1,e,t])),this},Kn.prototype.scale=function(e,t){return(e!==1||t!==1)&&(this.cache=null,this.queue.push([e,0,0,t,0,0])),this},Kn.prototype.rotate=function(e,t,n){var r,i,a;return e!==0&&(this.translate(t,n),r=e*Math.PI/180,i=Math.cos(r),a=Math.sin(r),this.queue.push([i,a,-a,i,0,0]),this.cache=null,this.translate(-t,-n)),this},Kn.prototype.skewX=function(e){return e!==0&&(this.cache=null,this.queue.push([1,0,Math.tan(e*Math.PI/180),1,0,0])),this},Kn.prototype.skewY=function(e){return e!==0&&(this.cache=null,this.queue.push([1,Math.tan(e*Math.PI/180),0,1,0,0])),this},Kn.prototype.toArray=function(){if(this.cache)return this.cache;if(!this.queue.length)return this.cache=[1,0,0,1,0,0],this.cache;if(this.cache=this.queue[0],this.queue.length===1)return this.cache;for(var e=1;e<this.queue.length;e++)this.cache=lO(this.cache,this.queue[e]);return this.cache},Kn.prototype.calc=function(e,t,n){var r;return this.queue.length?(this.cache||(this.cache=this.toArray()),r=this.cache,[e*r[0]+t*r[2]+(n?0:r[4]),e*r[1]+t*r[3]+(n?0:r[5])]):[e,t]};var DE=Kn,uO=DE,AO={matrix:!0,scale:!0,rotate:!0,translate:!0,skewX:!0,skewY:!0},hO=/\s*(matrix|translate|scale|rotate|skewX|skewY)\s*\(\s*(.+?)\s*\)[\s,]*/,fO=/[\s,]+/,gO=function(t){var n=new uO,r,i;return t.split(hO).forEach(function(a){if(a.length){if(typeof AO[a]<"u"){r=a;return}switch(i=a.split(fO).map(function(s){return+s||0}),r){case"matrix":i.length===6&&n.matrix(i);return;case"scale":i.length===1?n.scale(i[0],i[0]):i.length===2&&n.scale(i[0],i[1]);return;case"rotate":i.length===1?n.rotate(i[0],0,0):i.length===3&&n.rotate(i[0],i[1],i[2]);return;case"translate":i.length===1?n.translate(i[0],0):i.length===2&&n.translate(i[0],i[1]);return;case"skewX":i.length===1&&n.skewX(i[0]);return;case"skewY":i.length===1&&n.skewY(i[0]);return}}}),n},Oo=Math.PI*2;function IE(e,t,n,r){var i=e*r-t*n<0?-1:1,a=e*n+t*r;return a>1&&(a=1),a<-1&&(a=-1),i*Math.acos(a)}function dO(e,t,n,r,i,a,s,o,c,l){var u=l*(e-n)/2+c*(t-r)/2,A=-c*(e-n)/2+l*(t-r)/2,h=s*s,f=o*o,d=u*u,p=A*A,m=h*f-h*p-f*d;m<0&&(m=0),m/=h*p+f*d,m=Math.sqrt(m)*(i===a?-1:1);var y=m*s/o*A,v=m*-o/s*u,w=l*y-c*v+(e+n)/2,B=c*y+l*v+(t+r)/2,C=(u-y)/s,x=(A-v)/o,b=(-u-y)/s,D=(-A-v)/o,T=IE(1,0,C,x),P=IE(C,x,b,D);return a===0&&P>0&&(P-=Oo),a===1&&P<0&&(P+=Oo),[w,B,T,P]}function pO(e,t){var n=1.3333333333333333*Math.tan(t/4),r=Math.cos(e),i=Math.sin(e),a=Math.cos(e+t),s=Math.sin(e+t);return[r,i,r-i*n,i+r*n,a+s*n,s-a*n,a,s]}var mO=function(t,n,r,i,a,s,o,c,l){var u=Math.sin(l*Oo/360),A=Math.cos(l*Oo/360),h=A*(t-r)/2+u*(n-i)/2,f=-u*(t-r)/2+A*(n-i)/2;if(h===0&&f===0)return[];if(o===0||c===0)return[];o=Math.abs(o),c=Math.abs(c);var d=h*h/(o*o)+f*f/(c*c);d>1&&(o*=Math.sqrt(d),c*=Math.sqrt(d));var p=dO(t,n,r,i,a,s,o,c,u,A),m=[],y=p[2],v=p[3],w=Math.max(Math.ceil(Math.abs(v)/(Oo/4)),1);v/=w;for(var B=0;B<w;B++)m.push(pO(y,v)),y+=v;return m.map(function(C){for(var x=0;x<C.length;x+=2){var b=C[x+0],D=C[x+1];b*=o,D*=c;var T=A*b-u*D,P=u*b+A*D;C[x+0]=T+p[0],C[x+1]=P+p[1]}return C})},Uo=1e-10,FE=Math.PI/180;function Lo(e,t,n){if(!(this instanceof Lo))return new Lo(e,t,n);this.rx=e,this.ry=t,this.ax=n}Lo.prototype.transform=function(e){var t=Math.cos(this.ax*FE),n=Math.sin(this.ax*FE),r=[this.rx*(e[0]*t+e[2]*n),this.rx*(e[1]*t+e[3]*n),this.ry*(-e[0]*n+e[2]*t),this.ry*(-e[1]*n+e[3]*t)],i=r[0]*r[0]+r[2]*r[2],a=r[1]*r[1]+r[3]*r[3],s=((r[0]-r[3])*(r[0]-r[3])+(r[2]+r[1])*(r[2]+r[1]))*((r[0]+r[3])*(r[0]+r[3])+(r[2]-r[1])*(r[2]-r[1])),o=(i+a)/2;if(s<Uo*o)return this.rx=this.ry=Math.sqrt(o),this.ax=0,this;var c=r[0]*r[1]+r[2]*r[3];s=Math.sqrt(s);var l=o+s/2,u=o-s/2;return this.ax=Math.abs(c)<Uo&&Math.abs(l-a)<Uo?90:Math.atan(Math.abs(c)>Math.abs(l-a)?(l-i)/c:c/(l-a))*180/Math.PI,this.ax>=0?(this.rx=Math.sqrt(l),this.ry=Math.sqrt(u)):(this.ax+=90,this.rx=Math.sqrt(u),this.ry=Math.sqrt(l)),this},Lo.prototype.isDegenerate=function(){return this.rx<Uo*this.ry||this.ry<Uo*this.rx};var yO=Lo,wO=cO,vO=gO,di=DE,EO=mO,BO=yO;function ee(e){if(!(this instanceof ee))return new ee(e);var t=wO(e);this.segments=t.segments,this.err=t.err,this.__stack=[]}ee.from=function(e){if(typeof e=="string")return new ee(e);if(e instanceof ee){var t=new ee("");return t.err=e.err,t.segments=e.segments.map(function(n){return n.slice()}),t.__stack=e.__stack.map(function(n){return di().matrix(n.toArray())}),t}throw new Error("SvgPath.from: invalid param type "+e)},ee.prototype.__matrix=function(e){var t=this,n;e.queue.length&&this.iterate(function(r,i,a,s){var o,c,l,u;switch(r[0]){case"v":o=e.calc(0,r[1],!0),c=o[0]===0?["v",o[1]]:["l",o[0],o[1]];break;case"V":o=e.calc(a,r[1],!1),c=o[0]===e.calc(a,s,!1)[0]?["V",o[1]]:["L",o[0],o[1]];break;case"h":o=e.calc(r[1],0,!0),c=o[1]===0?["h",o[0]]:["l",o[0],o[1]];break;case"H":o=e.calc(r[1],s,!1),c=o[1]===e.calc(a,s,!1)[1]?["H",o[0]]:["L",o[0],o[1]];break;case"a":case"A":var A=e.toArray(),h=BO(r[1],r[2],r[3]).transform(A);if(A[0]*A[3]-A[1]*A[2]<0&&(r[5]=r[5]?"0":"1"),o=e.calc(r[6],r[7],r[0]==="a"),r[0]==="A"&&r[6]===a&&r[7]===s||r[0]==="a"&&r[6]===0&&r[7]===0){c=[r[0]==="a"?"l":"L",o[0],o[1]];break}h.isDegenerate()?c=[r[0]==="a"?"l":"L",o[0],o[1]]:c=[r[0],h.rx,h.ry,h.ax,r[4],r[5],o[0],o[1]];break;case"m":u=i>0,o=e.calc(r[1],r[2],u),c=["m",o[0],o[1]];break;default:for(l=r[0],c=[l],u=l.toLowerCase()===l,n=1;n<r.length;n+=2)o=e.calc(r[n],r[n+1],u),c.push(o[0],o[1])}t.segments[i]=c},!0)},ee.prototype.__evaluateStack=function(){var e,t;if(this.__stack.length){if(this.__stack.length===1){this.__matrix(this.__stack[0]),this.__stack=[];return}for(e=di(),t=this.__stack.length;--t>=0;)e.matrix(this.__stack[t].toArray());this.__matrix(e),this.__stack=[]}},ee.prototype.toString=function(){var e="",t="",n=!1;this.__evaluateStack();for(var r=0,i=this.segments.length;r<i;r++){var a=this.segments[r],s=a[0];s!==t||s==="m"||s==="M"?(s==="m"&&t==="z"&&(e+=" "),e+=s,n=!1):n=!0;for(var o=1;o<a.length;o++){var c=a[o];o===1?n&&c>=0&&(e+=" "):c>=0&&(e+=" "),e+=c}t=s}return e},ee.prototype.translate=function(e,t){return this.__stack.push(di().translate(e,t||0)),this},ee.prototype.scale=function(e,t){return this.__stack.push(di().scale(e,!t&&t!==0?e:t)),this},ee.prototype.rotate=function(e,t,n){return this.__stack.push(di().rotate(e,t||0,n||0)),this},ee.prototype.skewX=function(e){return this.__stack.push(di().skewX(e)),this},ee.prototype.skewY=function(e){return this.__stack.push(di().skewY(e)),this},ee.prototype.matrix=function(e){return this.__stack.push(di().matrix(e)),this},ee.prototype.transform=function(e){return e.trim()?(this.__stack.push(vO(e)),this):this},ee.prototype.round=function(e){var t=0,n=0,r=0,i=0,a;return e=e||0,this.__evaluateStack(),this.segments.forEach(function(s){var o=s[0].toLowerCase()===s[0];switch(s[0]){case"H":case"h":o&&(s[1]+=r),r=s[1]-s[1].toFixed(e),s[1]=+s[1].toFixed(e);return;case"V":case"v":o&&(s[1]+=i),i=s[1]-s[1].toFixed(e),s[1]=+s[1].toFixed(e);return;case"Z":case"z":r=t,i=n;return;case"M":case"m":o&&(s[1]+=r,s[2]+=i),r=s[1]-s[1].toFixed(e),i=s[2]-s[2].toFixed(e),t=r,n=i,s[1]=+s[1].toFixed(e),s[2]=+s[2].toFixed(e);return;case"A":case"a":o&&(s[6]+=r,s[7]+=i),r=s[6]-s[6].toFixed(e),i=s[7]-s[7].toFixed(e),s[1]=+s[1].toFixed(e),s[2]=+s[2].toFixed(e),s[3]=+s[3].toFixed(e+2),s[6]=+s[6].toFixed(e),s[7]=+s[7].toFixed(e);return;default:a=s.length,o&&(s[a-2]+=r,s[a-1]+=i),r=s[a-2]-s[a-2].toFixed(e),i=s[a-1]-s[a-1].toFixed(e),s.forEach(function(c,l){l&&(s[l]=+s[l].toFixed(e))});return}}),this},ee.prototype.iterate=function(e,t){var n=this.segments,r={},i=!1,a=0,s=0,o=0,c=0,l,u,A;if(t||this.__evaluateStack(),n.forEach(function(h,f){var d=e(h,f,a,s);Array.isArray(d)&&(r[f]=d,i=!0);var p=h[0]===h[0].toLowerCase();switch(h[0]){case"m":case"M":a=h[1]+(p?a:0),s=h[2]+(p?s:0),o=a,c=s;return;case"h":case"H":a=h[1]+(p?a:0);return;case"v":case"V":s=h[1]+(p?s:0);return;case"z":case"Z":a=o,s=c;return;default:a=h[h.length-2]+(p?a:0),s=h[h.length-1]+(p?s:0)}}),!i)return this;for(A=[],l=0;l<n.length;l++)if(typeof r[l]<"u")for(u=0;u<r[l].length;u++)A.push(r[l][u]);else A.push(n[l]);return this.segments=A,this},ee.prototype.abs=function(){return this.iterate(function(e,t,n,r){var i=e[0],a=i.toUpperCase(),s;if(i!==a)switch(e[0]=a,i){case"v":e[1]+=r;return;case"a":e[6]+=n,e[7]+=r;return;default:for(s=1;s<e.length;s++)e[s]+=s%2?n:r}},!0),this},ee.prototype.rel=function(){return this.iterate(function(e,t,n,r){var i=e[0],a=i.toLowerCase(),s;if(i!==a&&!(t===0&&i==="M"))switch(e[0]=a,i){case"V":e[1]-=r;return;case"A":e[6]-=n,e[7]-=r;return;default:for(s=1;s<e.length;s++)e[s]-=s%2?n:r}},!0),this},ee.prototype.unarc=function(){return this.iterate(function(e,t,n,r){var i,a,s,o=[],c=e[0];return c!=="A"&&c!=="a"?null:(c==="a"?(a=n+e[6],s=r+e[7]):(a=e[6],s=e[7]),i=EO(n,r,a,s,e[4],e[5],e[1],e[2],e[3]),i.length===0?[[e[0]==="a"?"l":"L",e[6],e[7]]]:(i.forEach(function(l){o.push(["C",l[2],l[3],l[4],l[5],l[6],l[7]])}),o))}),this},ee.prototype.unshort=function(){var e=this.segments,t,n,r,i,a;return this.iterate(function(s,o,c,l){var u=s[0],A=u.toUpperCase(),h;o&&(A==="T"?(h=u==="t",r=e[o-1],r[0]==="Q"?(t=r[1]-c,n=r[2]-l):r[0]==="q"?(t=r[1]-r[3],n=r[2]-r[4]):(t=0,n=0),i=-t,a=-n,h||(i+=c,a+=l),e[o]=[h?"q":"Q",i,a,s[1],s[2]]):A==="S"&&(h=u==="s",r=e[o-1],r[0]==="C"?(t=r[3]-c,n=r[4]-l):r[0]==="c"?(t=r[3]-r[5],n=r[4]-r[6]):(t=0,n=0),i=-t,a=-n,h||(i+=c,a+=l),e[o]=[h?"c":"C",i,a,s[1],s[2],s[3],s[4]]))}),this};var CO=ee,xO=CO;(function(e){e.__esModule=!0;var t=xO,n=1e-8;function r(s){var o=Math.min(s[0],s[2]),c=Math.max(s[0],s[2]);if(s[1]>s[0]?s[2]>=s[1]:s[2]<=s[1])return[o,c];var l=(s[0]*s[2]-s[1]*s[1])/(s[0]-2*s[1]+s[2]);return l<o?[l,c]:[o,l]}function i(s){var o=s[0]-3*s[1]+3*s[2]-s[3];if(Math.abs(o)<n)return s[0]===s[3]&&s[0]===s[1]?[s[0],s[3]]:r([s[0],-.5*s[0]+1.5*s[1],s[0]-3*s[1]+3*s[2]]);var c=-s[0]*s[2]+s[0]*s[3]-s[1]*s[2]-s[1]*s[3]+s[1]*s[1]+s[2]*s[2];if(c<=0)return[Math.min(s[0],s[3]),Math.max(s[0],s[3])];for(var l=Math.sqrt(c),u=Math.min(s[0],s[3]),A=Math.max(s[0],s[3]),h=s[0]-2*s[1]+s[2],f=(h+l)/o,d=1;d<=2;f=(h-l)/o,d++)if(f>0&&f<1){var p=s[0]*(1-f)*(1-f)*(1-f)+s[1]*3*(1-f)*(1-f)*f+s[2]*3*(1-f)*f*f+s[3]*f*f*f;p<u&&(u=p),p>A&&(A=p)}return[u,A]}function a(s){var o=[1/0,1/0],c=[-1/0,-1/0];return t(s).abs().unarc().unshort().iterate(function(l,u,A,h){switch(l[0]){case"M":{o[0]>l[1]&&(o[0]=l[1]),o[1]>l[2]&&(o[1]=l[2]),c[0]<l[1]&&(c[0]=l[1]),c[1]<l[2]&&(c[1]=l[2]);break}case"H":{o[0]>l[1]&&(o[0]=l[1]),c[0]<l[1]&&(c[0]=l[1]);break}case"V":{o[1]>l[1]&&(o[1]=l[1]),c[1]<l[1]&&(c[1]=l[1]);break}case"L":{o[0]>l[1]&&(o[0]=l[1]),o[1]>l[2]&&(o[1]=l[2]),c[0]<l[1]&&(c[0]=l[1]),c[1]<l[2]&&(c[1]=l[2]);break}case"C":{var f=i([A,l[1],l[3],l[5]]);o[0]>f[0]&&(o[0]=f[0]),c[0]<f[1]&&(c[0]=f[1]);var d=i([h,l[2],l[4],l[6]]);o[1]>d[0]&&(o[1]=d[0]),c[1]<d[1]&&(c[1]=d[1]);break}case"Q":{var p=r([A,l[1],l[3]]);o[0]>p[0]&&(o[0]=p[0]),c[0]<p[1]&&(c[0]=p[1]);var m=r([h,l[2],l[4]]);o[1]>m[0]&&(o[1]=m[0]),c[1]<m[1]&&(c[1]=m[1]);break}}},!0),[o[0],o[1],c[0],c[1]]}e.default=a})(SE);var bO=SE.default;const k0=Wa(bO),Tt=e=>uF("http://www.w3.org/2000/svg",e),R0=(e,t)=>{const n=Tt("rect");return n.setAttribute("height",`${e}`),n.setAttribute("width",`${t}`),n},SO=()=>{const e=Tt("svg");return e.setAttribute("xmlns","http://www.w3.org/2000/svg"),e.setAttribute("xmlns:xlink","http://www.w3.org/1999/xlink"),e.setAttribute("version","1.1"),e},DO=e=>{const t=Tt("use");return t.setAttribute("xlink:href",e),t.setAttribute("href",e),t};function QE(e){const t=SO(),n=/viewBox="0 0 (.+?) (.+?)"/.exec(e)||["0","0"],r=parseFloat(n[1]),i=parseFloat(n[2]);return t.setAttribute("height",`${i}`),t.setAttribute("width",`${r}`),[t,i,r]}const IO=(e,t,n)=>{const r=Tt("g");e.appendChild(r),r.setAttribute("id",n),r.innerHTML=t};function ME(e,t,n){const r=Dt();IO(t,n,`bgdef-${r}`),e.appendChild(DO(`#bgdef-${r}`))}const TE=(e,t,n,r)=>{const i=Ql("filter");i.setAttribute("id",r),i.setAttribute("height","200%"),i.setAttribute("width","200%"),i.setAttribute("x","-50%"),i.setAttribute("y","-50%");const a=Ql("feOffset");i.appendChild(a),a.setAttribute("result","offOut"),a.setAttribute("in","SourceAlpha"),a.setAttribute("dx",`${e}`),a.setAttribute("dy",`${t}`);const s=Ql("feGaussianBlur");i.appendChild(s),s.setAttribute("result","blurOut"),s.setAttribute("in","offOut"),s.setAttribute("stdDeviation",`${n}`);const o=Ql("feBlend");return i.appendChild(o),o.setAttribute("in","SourceGraphic"),o.setAttribute("in2","blurOut"),o.setAttribute("mode","normal"),i},NE=e=>{let t=e;return t=t.replace(/feoffset/gi,"feOffset"),t=t.replace(/fegaussianblur/gi,"feGaussianBlur"),t=t.replace(/feblend/gi,"feBlend"),t=t.replace(/lineargradient/gi,"linearGradient"),t=t.replace(/stddeviation/gi,"stdDeviation"),t};function O0(e,t,n,r,i,a){const s=i||1,o=a||1,c={x:t[0],y:t[1],width:t[2]-t[0],height:t[3]-t[1]};if(c.width<=0)return;const l=FO(c.height,c.width,n*s,r*o),u=(r-l*c.width)/2-l*c.x,A=(n-l*c.height)/2-l*c.y;e.setAttribute("transform",`translate(${u} ${A}) scale(${l} ${l})`)}function FO(e,t,n,r){const i=n/e,a=r/t;return i>1&&a>1?Math.min(i,a):i>1&&a<1?a:i<1&&a>1?i:Math.min(i,a)}const PE={m:["x","y"],z:[],l:["x","y"],h:["x"],v:["y"],c:["x1","y1","x2","y2","x","y"],s:["x2","y2","x","y"],q:["x1","y1","x","y"],t:["x","y"],a:["rx","ry","xRotation","largeArc","sweep","x","y"]};class U0{constructor(t){const n=Array.from(t.querySelectorAll("path"));this.paths=n.map(r=>{const i=r.getAttribute("d")||"",a=this.parsePath(i);return{pathElement:r,pathData:a}})}transform(t){for(const n of this.paths)n.pathData=this.runTransformer(n.pathData,t);this.update()}encodePath(t){let n="";const i=a=>{const s=[],o=a.relative?a.type:a.type.toUpperCase();let c=n!==o;const l=PE[a.type];c&&(s.push(o),n=o);for(const u of l){const A=a[u];let h;switch(typeof A){case"boolean":h=A|0;break;case"number":h=(A*100|0)/100;break;default:throw new Ja("Failed to encode path.")}c||s.push(" "),s.push(h),c=!1}return s.join("")};return t.map(i).join("")}parsePath(t){const n=/([mzlhvcsqta])([^mzlhvcsqta]*)/gi,r=/-?[0-9]*\.?[0-9]+(?:e[-+]?\d+)?/gi,i=[];let a;for(n.lastIndex=0;a=n.exec(t);){const s=a[1].toLowerCase(),o=(a[2].match(r)||[]).map(parseFloat),c=s===a[1],l=PE[s];if(o.length<l.length)throw new Ja(`Path type "${s}" given ${o.length} arguments, expected ${l.length}.`);if(l.length>0){if(o.length%l.length!==0)throw new Ja(`Path type "${s}" given ${o.length} arguments, not divisible by ${l.length}`);for(let u=0;u<o.length/l.length;u++){const A={type:s,relative:c};for(let h=0;h<l.length;h++)A[l[h]]=o[u*l.length+h];i.push(A)}}else i.push({type:s,relative:c})}return i}runTransformer(t,n){const r=[["x1","y1"],["x2","y2"],["x","y"]],i=a=>{for(let s=0;s<r.length;s++){const[o,c]=r[s];if(o in a&&c in a){const l=[a[o],a[c]],u=n(l);if(u.length<2)throw new Ja("Transformer must return at least 2 points.");a[o]=u[0],a[c]=u[1]}}return a};return this.transformPath(t,i)}transformPath(t,n){const r=[];for(let i=0;i<t.length;i++){const a=JSON.parse(JSON.stringify(t[i])),s=n(a);Array.isArray(s)?r.push(...s):s&&r.push(s)}return r}update(){for(const{pathElement:t,pathData:n}of this.paths){const r=this.encodePath(n);t.setAttribute("d",r)}}}class QO extends N0{constructor(){super(...arguments),this.moduleName="Favourites"}svgPreview(t){return this.svg(t)}svgPrint(t){return this.svg(t)}svg(t){const n=Pi(qR),i=t!==""?(s=>s.charAt(0).toUpperCase()+s.substr(1).toLowerCase())(t):"",a=n.getPath(i,0,72,72);return this.brandSvg(a,ZR)}brandSvg(t,n){const r=t.toSVG(2),i=t.getBoundingBox(),a=i.x2-i.x1,s=t.toPathData(3),o=()=>{const C=Tt("g"),x=Tt("defs");C.appendChild(x),x.appendChild(TE(3,7,4,"shadow"));const b=Tt("g");C.appendChild(b),b.setAttribute("filter","url(#shadow)"),b.innerHTML=r;const D=Tt("g");C.appendChild(D),D.setAttribute("fill","red"),D.setAttribute("stroke","red"),D.setAttribute("stroke-width","9"),D.innerHTML=r;const T=Tt("g");C.appendChild(T),T.setAttribute("fill","#9d2621"),T.setAttribute("transform","translate(1,1)"),T.innerHTML=r;const P=Tt("g");return C.appendChild(P),P.setAttribute("fill","yellow"),P.innerHTML=r,new U0(C).transform(([U,z])=>[U,z+(a/2-U)**2/(a*2.9)]),C},[c,l,u]=QE(n);if(!c)return"";const A=Tt("defs");c.appendChild(A),ME(c,A,n);const h=l*.23,f=u*.94,d=u*.04,p=l*.53,m=Tt("g");c.appendChild(m),m.setAttribute("transform",`translate(${d} ${p}) rotate(-21)`);const y=R0(h,f);y.setAttribute("opacity","0"),m.appendChild(y);const v=Tt("g");m.appendChild(v);const w=o();v.appendChild(w);const B=k0(s);return O0(v,B,h,f),NE(c.outerHTML)}}const MO="data:application/octet-stream;base64,AAEAAAAPAIAAAwBwRkZUTYPq+1wAAOjIAAAAHEdERUYA4AB5AADfmAAAACRHUE9TS5tfuQAA5DwAAASKR1NVQiMzLFQAAN+8AAAEfk9TLzJp7a5lAAABeAAAAGBjbWFw0xjbSAAABIgAAAJwZ2FzcP//AAMAAN+QAAAACGdseWbwDKFSAAAIVAAAz+xoZWFkEhAn1wAAAPwAAAA2aGhlYQarAo0AAAE0AAAAJGhtdHht1RNRAAAB2AAAArBsb2Nh+CbEtgAABvgAAAFabWF4cADzANMAAAFYAAAAIG5hbWXa9+qFAADYQAAAAjFwb3N0jPH63wAA2nQAAAUZAAEAAAABAAARfaMVXw889QALA+gAAAAA1+lypQAAAADX6XKl/zH/FgPtApIAAAAIAAIAAAAAAAAAAQAAA4r/JgAAA7P/Mf8HA+0AAQAAAAAAAAAAAAAAAAAAAKwAAQAAAKwA0AAFAAAAAAACAAAAAQABAAAAQAAAAAAAAAAEAisBkAAFAAACigK7AAAAjAKKArsAAAHfADEBAgAAAAAAAAAAAAAAAAAAAANQAAAAAAAAAAAAAABYWFhYAEAACvsCA4r/JgAAAokA5QAAAAEAAAAAAaQCfwAAACAAAwH0AAAAAAAAAU0AAAAAAAAAAAAAAN4AAAH3ACIB4AAwAbYALwHsADABTwAwASsALQHZADEBpQAtATkAMAGCAC8B/gAvAdAALQJXAC0B2gAtAdUALwGWADIB5wAvAb4AMgG+ABsA5wAtAbcAMAFZADECQwAoAd8ALwELAC8CAAAoAUb/7AE1//kBKv/3ATL/9gFC//gA7AAeAVH/9QFC//sAm//7ALn/OgFo//sAsv//AeL//gE7//4BSv/4AWb/xwFG//gBAAACAUn/6ACxAAQBRP/9AUkABQHT//UBhAABAUz/1AFi//cA3gAAA2EAIgKfACICKwAwAigAMAIBADAC1gAwAhkAMAKuADACMAAtAr4ALQLiAC0CGwAtArkALQJtAC0CjwAtAhAAMAKyADACJAAwAfMAMAH1ADAClgAxAm8ALwJkAC8C4wAvAxcALwJUAC8C7AAvAr8ALwNxAC8DNwAvAoQALQMAAC0DiQAtAxAALQKSAC0CsQAtAq0ALwMQAC8C0wAyA3MAMgKTADICdAAyAtwAMgLaADICOQAyAp4AMgLsADICQwAyAyYAMgJZADIDAAAyAxwAMgLoADIC4wAyAtQAMgN1ADIDMAAyAp8AMgKDADICJgAtAhkALQKzAC0C1QAtAh8ALQKtAC0CeAAwAuYAMAKkADACLAAxAoIAMQI9ADECBgAxAv4AKAMiACgDQwAvAfUALwGyAC4CEwAvAnIALwHWAC8CmAAvAnEALwKMACIC9QAvAsUAMAK5ADEDJAAvAeQAAQIyAAgCDAAGAeEAAAKEAAUB///8AgkAAAH6ACgChwApAoAAJQK2AC4CNv/3AYD/MgIV/9ABoAAAAboAAgISAAQBdgAWAk4ACAGPAA8DEQAGAycAAQOz//4B+QAlAasAHQH2AC4AAAADAAAAAwAAABwAAQAAAAABagADAAEAAAAcAAQBTgAAADQAIAAEABQAAAAKAA0AIABaAHoAoADFAM8A1gDdAOUA7wD2AP0A//AB8AbwDfBV8FvwXfBm8Hb7Av//AAAAAAAKAA0AIABBAGEAoADAAMcA0QDYAN8A5wDxAPgA//AB8APwCPAP8FfwXfBf8Gn7AP//AAD/+f/3/+X/xf+//5oAAAAAAAAAAAAAAAAAAAAA/zkQOhA5EDgQNxA2EDUQNBAyBakAAQAAAAAAAAAAAAAAAAAAACYAMABAAEoAVABgAHAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAGAAYABgAGAAYACAAKAAoACgAKAA4ADgAOAA4AEwAUABQAFAAUABQAFAAaABoAGgAaAB4AMgAgACAAIAAgACAAIAAiACQAJAAkACQAKAAoACgAKAAtAC4ALgAuAC4ALgAuADQANAA0ADQAOAAAAQYAAAEAAAAAAAAAAQIDAAAEAAAAAAAAAAAAAAAAAAAAAQAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8AAAAAAAAgISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OQAAAAAABgYIChMUGiAgICAgICIkJCQkKCgoKC0uLi4uLjQ0NDQAAAAAAAAAMgAAAAAAAAAUAAAAAAAAAAAAAAAAAAAALgAAAAAAAAAAAAA6BgYUAAAAAAAAAAAAADgAAAAAAKqrAAAAAAAGCgYKCg4ODg4UFAAUGhoaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAMwBMAF+Ad4CSALGA0oDngQOBI4E7gWaBhYGcAa6Bz4Hlgf6CEgIlgjuCXoJ3AoeCogK+gtmC7oMJgyEDPYNkg38DkAOjg76DzgP3hBGEJQQ/hFkEaASABJYEqoS9hNwE8QURhScFJwVXBYAFrQXfBgkGPIZhhpSGwgb0hyeHTYeCB7eH84geCEwIfIilCMgI9gkmCV2JkInFCe0KIwpXipCK0Ar9CzqLfIvBC/UMLoxfDIeMsozijQCNJw1WDXqNnI3JjfQOFo5BDmCOhg6rDs8O+o8kj2MPkY/Ej+6QFhBEkHEQnhDAEOyRFJE9kW0RmZHGEfgSHZJVkpOSxBLpkwiTNZNfE38Tq5PWFAgUPpRvlJ4UzhT/FSeVXpWPFb6V7hYhFlGWhpa9lvQXKxdWl4qXtZfmGBaYOxhqmI6Y05khmW8ZpxnUGf2AAAAAgAi//kB7QKFACgAOQAAJRQWBgcGJy4BJyY/AS4CBwYHBgcGJyY3Njc+Azc2HgIHBhUHBic2FzY3NgciBw4BBw4CHgEBugUBAw0cEBcDBwUDEzYsEB0LBw0aMToUDUMOPlNbHx0kCAMDARoZwk0vAw4ZGgUMElkdAQICAQhMBRsQBxoDAhMPHT0iBgcBAQMSCjFhAwRXPIocZnteBgYTIygQBQLCv2UCEDNLiQEKDos7AQMJBwYAAAMAMP//AeACgAAhADEARgAAAR4FBgcOBAcGBwYmJyY3Ejc2Nz4BHgEXFg4BBzYmJyYGDwEGBw4BFjMyNhM+AScmBwYHDgEPARYyNjI+BAF8AgcRDg4HBAkBBRkiPyYdJT5SAgEJRVwWIw8yOzQMDxIzRRkFHhY7GRoeDQMCEhcnVy4kAyYQDiASFB4GBQEFDg4VExYTEgFRAQQOEh8mNx8FDyoiIwcGAQEZMRgpATaDIhAHBAkoITFeRsgmVw8IAgYGTEkNFAoZASkfZw4GAwgcIEoVFAEBAgMFBwkAAAAAAQAv//8B7wKMAEYAADMiLgEnLgY3Njc2NzY3NhcWFQYHBiIuAicwLgMGBw4GBw4BHgI+Azc+AxceAhUOAQcOArYDECAKAgYUDhMHBQcLHTpxNytEJhgBEQsRCwcFAQYECwsUDAIHFxgjIScRFg4LGBoWDw4HCAYRCxcPDRQHAzUXEhoxAgkIAQURFiQqOiE0QopcLAoQKxwmHwoGCQoNAQkFBwMBBAEDEBQkLEImL04uIAsCBQsHCgYbDwsCAhMZDBpFDgsNCgACADD//QH7AogAHQAvAAABHgMHDgUHBi4DNSY2NzY3PgE3Njc2Ez4BLgEnJg4CDwEOARceATYBiyUyEQcFAhAcLThOLC9CJxYHAw4XBAIQRh4YMzgaHxkKHBYTIxYQBAQoQQcGRWACeQk0QEccFUJaWE82BggHDBcQCSpJUg8IO6g6Lw8Q/mZPd0UlBQUNGRsJCl7JHxwUQAAAAAABADD/+gHjAosAPAAAAS4BIgcGBxc2FxYHBgcGIwcGBwYXFjYWFx4BBxQOAwcGJyYnLgE2NzY3BgcGJyY+ATc2Fx4EBwYBtgY3MRdHFSwZDw8GBhcUEUEdBQk0DSEYCA8PBAEEBw0IPSk8HQwDCws5RhUGIQ8JAwoHM5wmOBwQBAEBAiYBAQNhPQEBDg4XFQUFBlYtRAUBAwEECBsOAQMICAkDFQcLMBRKTCK+ZQQBBhELFhAEJRAEDA0QCgYYAAABAC3//wHgAoYASQAAAR4CDgEHDgIiLgEjJgcUBxQOAQcyFx4BFxYGIwYHFDEGBxQOByMiLgEnJjY3NjcGJyIuBCcmNz4DPwE2FgHDDQ4CBQMBBA0NEw8WByEwARMgDTEKCxcDBRgaHzUuDAMBAwMFBwkNBwQLFQMFKB0gNRUPAwcGBgQEARgLAQcJBwMCNNQCYgcRCgwDAQQDAgEBAQMBAQEsTSABAQ8QExsBBgGEXwQVBxEGDQUGAgISEBy6Ulp/BAEBAgICAQEPGwQJBgUBARcOAAEAMf/9Ad4ChwBVAAABDgQHDgEeAhcWNzY3Jjc2ND4EMxYXMh4DBwYHFAcGBwYnKgEuAjc2NwYHDgInJicuAzY3Njc2NzY3NhcWBwYHDgEuAjU0JyYBawQOKio6GhgUBhIVCRgbBQkbBwEEBAoLEQphFAEDCQQEBAgYAQgFCR0BBg4KCAEBAhsWERcuFyESAwkVDAELEB9CaTQmPRwSBAQQCw0KBAQBCwIYAgYfK1EyLkoqHQsBAh8GDQkbAQQKCQsHBgUGAQQJDwwgBwkLXhMeAwYLGA8KDiENCQoJBQUUAgsnLk8sNEGIUCgGCi8fJh8IBAELCg4BAQEYAAEALf/+Af0CgwBdAAABHgMUDgIxDgIHBgcUDgQjKgEuAicmNjc2JyYHBgcGBw4HIyIuAScmNjc+AT8BND4DFx4DFA4CMQ4CBwYXFhcWNz4BPwE+BAHhCAsGAgIDAgEjMA4yCgMCBgkRCwEFDAoKAgQVEwMLRw4NBx0IAQIBAwQHCg0JBAsWAwUnHRIwEBAEDA4XDAgLBgICAwIBGCcOBAUmMgoEEi4PDgEEDA4WAn0DCQkNCgwHCAFWeiiYUgYfCxUIBwQHEAoVfEgKAQwEBBNmQAUWChIIDAUEAhMQHcBUM4EnJwIHEggJBgMJCQ0KDAcIATxfJg4BCQQBCjJ7JSQCBxIICQAAAAEAMP//Ab4CgAA5AAABFgYHIiMGBwYHFDEWFzAWMh4EBhUOAQciJyYnJjY3MjM2NzY3JiMwJiIuBDQ3PgE3FhcWAbwBHCMJCkYVMAkSBAUCBgMFAgMBBBoYaxAhAgEbIwgLDS0fMQoCBQIGAwUCAgEFGhhrECECYBMmAaw/lVABAQEBAgIEBQgJBhkTAgIEFRMnAnSHWoABAQIDAwYHCgUZEwIEAgUAAAEAL///AhoCfwBNAAABPgM/AQYHMCMGJyY+ATc+ARceBBcWFQYHBicmJw4EBw4GIy4ENzQ+ATc+AxYXFgcGBwYHBhcWNz4DASAHEg8OBARSEgM6CQUHEQsUmDAKGw8QCwUXASIHChUUBAsiHyUNAQEHCxYbKhoHFC4hGAQCEQ8BBA0NFAkYBAIICwINJSsNAQ8SFwGPFzElHgcIAQQMHhAbEgQHAQYBAgEDAwILGiYGAQEBBQYVTFuWVAIJGRcbFAwBAhAbOScGFTIQAQUJBgEFDh4NDhIKNggJKQVEUl8AAQAv//gCVgKLAFcAAAEOAQ8BMD4FNz4BHgIXFBYOAgcGBx4CFxYXHgEGBw4BLgYnLgEnDgQHDgIHBiY3PgE3PgE/AQ4EJy4BNjc+ARceAwYBLQsiCwwTISs0NDoZAwgYFBUGAQMHFBChXAMNOCUXDQcKDBYIEA8ODgsMBwkBDUwDAQYODQ8FBgkPEyAuAwMqGA4YBQQBBQ8OFgkQAhMQHmImAgUMBwECMhlbISETHycpJR0HAQEBBhIOAgQNDQ8GQFwMKHIyFwwHGSMNBQIEBw0KEAoOAROXEwIGFBYkEhZLJwsUHiQjqUssURISAQQNBQUGBh4iEiMzEAEDCw8aAAEALQAAAaEChABDAAAlFgcOAw8BDgEqASYjJiMiBwYHBisBIiMqAS4CJyY2Nz4FPwE+BBceAxQOAjEUDgEHBgc+ARcWAZoGAwEEBAQBAQQMDQoMATIMGFsOKAMEAQQBAgYQDQwCBS4fCRQUFBANBAMBBAwOFwwICwYCAwIDJTAOFxw0gh4aVg8SBgwIBgECBQcDBggBBAEEBxAKG71ZFzYwMCYeCAgCBhIJCAYDCQoMCgwIBwFWeSlDiAYBBwYAAAEALf/zAoYCiwByAAABDgMPAQ4EBxwBBgcGJy4BNzY3Njc2NzY1NAcGJyY2NzY3NhYHBgcGFjc+ATc2NzYWBw4DBwY3Mj4CNz4DNzYWBwIHBhcWIwYnJjY3Njc2JgYHDgIHBgcOAQcGJicmNz4DNzY3NiYBPwgTEA8EBQMMHhcVAQgHFikRFQYTQBMMBAIBDRwXDgERMzchKQcGIQUBCgc6GCkkGBgIAw0KCgIFBQIEIisLDQ0XFgwcFA1aCggHBjEzCAcaFh0CAQUPDA8nJwYSAwITER4wBAgmCREJCgUVBAQEAc0DDRAQBQYEETk+YDAJGjUKIQ4GMSyKojcgCwsGAgkIEBAKKBAvDAcrGhU+CAkHBj4VJgYEHxgKHxkYAw8BAyIrCgsLDwcBAycm/v9BOE9EASMexTtOHgcKBA4QP1AdOkQyMgYLFxcwdBo1HB4NMRgLGwAAAQAt//8CIwKCAFUAAAEeAQ4BBzAOAQcGBxQVDgQHKgEuAjUuAic0LgEnBgcGBw4BJyIuAScmNjc+BT8BPgQXNhcWFx4BFx4CFz4CNz4BPwE0PgMCBg4OAQMBJS8NKQ0CAwcJEQwDBxMPDAEIEAgDAwEZFhoPBBsgBAwWBAYlHAgTERIPCwQDAQIJCxEKHQ4GAQIOAgEHCwQCCQgCCysQEAMLDhgCdwIVHA4GVnkof2oCBBAPFwoJAQUJEw0Gebs5BQsLBD9EUpcoKwIDFREdwFMYNTAvJh0ICAEGDQoIAQIeDAkNaAsGPGAeCRoZCS19KCgCBxALCAACAC///wHoAn8AHwA7AAABHgEHDgIHDgYnLgM3PgQ3PgQXNiYHDgUPAQ4BBwYXFBcWFxY3Njc+AgFrNUgDAg1SQwEFEBEcHScTJjQXBwcCBhsjQigCCRweKyoEFhcGDQwLCgcCAjtCBwMBAQQHDx8YEyhBHQJ+AVBQHGXgRgEFDgsOBgMGCCw6RSMIHlZSaCkDCRcSD6wvHQoDCAkKCQcCAkunMhgKCwUQChYHBhImlHgAAAACADL//QHvAoIAGgAtAAABFgYHDgMjJw4BBwYnLgE1Jz4CNzY3PgEHNiYnJicmBw4BDwE6AT4EAbo1DTYZQjo0DxAVGAIENxMUAQZJNhkPGChwICkBHwYJNRYMIAsKDA0ZEBgUGAJnJp1EHioRCAFDaho8AwIdDg5M6IM4HxMfB+4vVQwDAQgxGlIdHAMECA0SAAAAAgAv//kB6AKBAC8AVwAAAR4BBw4EBxYXFhcWBwYHBicmJwYHDgYnLgM3PgQ3PgQXNiYHDgMPAQ4BBwYXFBcWFxY3Njc2Ny4BLwEmNhcWFx4CFz4BAWs1SAMBAg0UKBoSFQgGCQsFBhIUGx8DAwEFEBEcHScTJjQXBwcCBhsjQigCCRweKyoEFhcIEw8NBAQ8QQcDAQEEBw8fGBMNDRMVAQIBFQwOFQIJCgQaIQKAAlFPCB5QT2grHB0LDBUSCAMKCQ4pBAICBQ4LDgUEBggsO0YiCR1YUmkpAwkYEg6tLx4LAw0NDQQES6gyGQoLBRALFQcGEg0SKEENDRcXAwMmBBIRCDyEAAAAAgAy//0B7wKDACUANQAAARYGBwYHFhcWFxYXFgYPAQYmLwEmJwYHBicuATUnPgI3Njc+AQc2JicmJyYHDgEPATI+AgG6NQ02Nl0RIhMmCgUFBAQFEiYODjw4LQQENRMUAQZJNhkPGChwICkBHwYJNRYMIAsKFhgpJwJoJp5DQxYwPiMgCQsPFwcHEAIJCSrBjDk8AwIdDg5N54M5HxMfB+4vVA0DAQcxGVMcHQMKGQABABv//QHPAoIAPwAANxY3NicmJyYnJjc+ARYXFgcGBwYnLgQnJgcOAhceBBcWBgcGJicmNz4CFx4CBg8BDgEfAR4BF94bECscFRscCRc0E0VCFT8FAh4MDggLCAQFAQ4iDhYDEQYgDxcNBAsfLjJ8LUkhBx0rFxARAQQEEgYBAwIFGwtbAw8jVUQtLiJgShscAw4sQh4KAwUCCA0IDgIfDAUmOCAKPB4vJhEwahweBCA2axorGAgGFRcRBiAMGQcGDxABAAAAAAEALQAAAeQCgQAxAAABFgcGBwYmLwEmJwYHBgcUDgcjIi4BJyY2NzY3ByIOASMuATc+AT8BNhYXFgHeBgYLIQgeDAsdKEsVLwwDAQMDBgcJDQcECxYDBSkeHzJEBAsdCxISCQUYCgk97ikbAmANEB4FAQICAgMBsD6HYQMVCBEHDQUGAgISERy+VFd8BgIDASUWDRACAggDBgQAAAEAMP//AgUCgQAuAAABDgEHDgQeARceAT4CNz4BNz4BFx4BBwYCBwYHBgcGJicmJyY2Nz4BFx4BAQEKOgYCBQwKBwEODQMLIB8nEBNHChMfGRYNCgNWGjI2KT8jPBEVAQEyHhknIR8PAh8XpxEEDyooMSYfBQEBCBg+LTbzGCocBQU0Fgr+9UB/LSMGAxocIiw811tOQAEBPQAAAAEAMf/xAbYCggA4AAA3PgI3PgIXHgEPAQYHDgMHDgEHBicuAScuAT4BPwE+AzU+AT8BPgEfARYHFA4CBw4BB5IPX1sBBhAaDw4MAQEDIgEaFicTIikdOyYUCgcCAQECAQEBDg8OAQQDAgojDAwjCgYHCwYHDQSRFNjWAwsPCQYGGgsLIFEBQDVWJkM/IUYWDCA6FDMtJwwMFmJdTwMGDgUEEgwDAw8yAhsgOx8oijEAAQAo//oChgKBAGEAABMOAQcOAhUGNzY3PgE3ND4HNzYWFx4BDgIHBgcOBR4CMxY+ATc+Ajc+BjcyHgEXFgYHBgcOAwcGJyYnDgYnLgE3Njc+ARceAf0FGxAFER0CNB8XDj8JBgMGAwcFBgcEESEGAgEBBgYGQAcBBQIDAQEDBQkFESMWCQMsJQUBCAMJBwwPCQMJEwQFCRJILgYUIDEcMSIWAgIEDxAZGB8ONiEWMyIOHRUYHgIxEUEsEDWBLGE1IFo60BIBDgUNBgoHBwUCCQwRBhAOGBISwjMIGhEYEBIMDAYCMTUdCpd9CwMVBxEICwUBAQsKFzAyzZITJikdAwUiGB8DBhQQFQkIBhCEYe9WJRsBASsAAAEAL//sAfwCgQA+AAAlDgEHBicuAT4BPwE+AT8BJicmNzY3Nh4BHwE+ATc+ARceAgYHDgUPAR4EFx4BDgEHBiYnLgEnAQsDORc+LhAMBQkFBRFOHx8dEBgBAykOGQwEKQ9YCw8pCQcMCQoPBxYaHBoVBgYDCRgTEQIDAwEMCxUbCQkkDuoDYChzGAgcHBsICB56Li5qL0EUJwcCGBoOhhN+DREHCAQOFyMTCB4jJyQdCAkIHEo8NwgMGBwWBQcMDQ1pLwABAC///gGjAo8AKAAAEy4BJy4BNzYXHgEfAT4GFxYHBgcOAhUOAScuAT4BPwE+ATeSAjUUEgURKCYNIAoJDiQWHBQVFAkpFwSOHicaCTgSBwcBBAECDCgOASchmykkPQwWOxVfJiUXPSctGxgIAgc/C/gzb2oCGwYTBhYVFAYGKWIdAAABACgAAAH6AoEATAAANzYXHgcGFQ4GJiMmBwYnJicmNz4BPwEmJzAqAS4GNTQ+BDsBNh4CFx4BBxQOBgcGBw4BB7ByLwYWEBcOEwkMAgMMDBMNFgoVAncnMyAiDA4cFphCQRB3CwcNCQ4JCgYEBgwNDgsDBBhKSEAOGQ0DAwIGAwkEDAMGCU6GHGwEBAEBAQIDBQcKDQkMEgwIBAEBAQIBAgICGh1BMs9PTgIDAgEEBAcIDAcLEQsHAwICAQQGBQcaGwYMCAsFDAUPAwcKWbUuAAAAAAL/6//+AV0BtwAtAEkAAAEOAQcGFRQXFgcOAScuAicuAicmBwYHBicmJyY3PgE3PgI3NhcWNzYXHgEHPgInJgYPAQ4DDwEGFx4CNz4FNwFRDjELAwcDAgUjEAgKAwIBAgEBAgcWKCcgFQ4bDAYrIgQPMxs4KgUFEBgVCMAdLA0JDBkKChsqFg4CAgIEAwkKBgYOCwsIBgIBXxp+OxESGRsMCBAPBgMKBQcCBQYCBQoiBQUOCRQmQiVrJQYSLA4eIwUFDwgIIvUvakQLBQoICBpBODEODhcJBgcCAQIJCwwLCQIAAAL/+P/+AR4CfAAqAEIAAAEWBw4BBw4CJyIuAScmNQcGBwYmNz4BPwE2NzYWFxYPATY3NhcWFxYXFgc+AScuAQcOAQ8BDgEPARYGFjM+AzcBGAYFBjUkAgojFAMJFAUCAwUhGBYBAicdXgsWEh8GDA5HCQIcHwkGCQQGcBwXBAIKCgcOBAQaHgIDAQEKCgYNCwoCAV0mLjuPJgMKDgQDDwwFAQQiAQEeGiO5Te4cCwcLCRQkqwoDHhAFCAoMDvYvgxUMCgIBDQYGJ2cgIAEQEQEKDQ4FAAAAAAH/9gABATMBrQA2AAABFhcUBwYuAjEmBw4EBw4BHgI3Njc+AhceARUOAQcGByInIi4FNzY3Njc2NzYBHxIBDAkQBgcNHAMKHx0mEA4ICBMRCBgPAhIQDQ8QASUQJy8cEQEFDwwQBwUEBxInTSQmMQGSERkTBwcEBgwPDAEGFx85Ih8wGA8EAQERAxsKAQEXDBEvCRgCCwMLDRcbJRUiLFw9HQoMAAAAAAL/9f/9AZkCfAAxAEIAAAE2HgEHDgEHDgQfARYGJyYnJicmJyYiBhUGBwYuAScmPgE3PgE3NhYfATY3Njc2AzYnJgcGBw4BFxY3Njc+ATcBZg4cCQ8GLwsDLCQKAgEBBCgaAQELBAIBAQEFGyIUKx8CARMjFB1EIBAYBAQZBhsKHoMHCAoaHSAPIAMDFQkHHjMKAnYGDyMcCWsgCHRmLDMODyAeDwEBBxAKAwEHASIIBRErHR1XVyEuMgIBBQMDQQ47Ezj+yCEKDRgZRR9rFhINBQgiayQAAAL/9//9AUQBqQAkADgAAAEWBgcOAQ8BBgcGFjc2Nz4BFx4BFQcGBwYHBiYnJjY3PgE3NhYHNicmBg8BDgMPAQYWPwE+AgE7CBYtHlsfHgcCAxoYIxoHGg8KCgEBBw0VK2ocHgIeHm0sJz9SFw0HEQYGDBsWEwUGCw0ODhkrEAFzH1MoGyEDAwgbFBwBAScKDAcEEgcHCw4YDhsIHSBXTUlqBwceYi8KBgEDAwYZHBoJCBkOBAMLJhcAAAAAAQAe//8BtAKAAEgAAAEeAQcOASciLgMiDgEHBgcGBw4CBxcWFxYXFhcWBw4BDwEGJyYnBw4DFQ4BJicmNzY3NjcmJy4BNzY3Nhc3Njc+ARcWAYoYEgwMIggBCwcNCw4LDAUVEQMCAQQDAhQNCwkFAwEDBAMHAgEUJwUQJAwUCQwEGRoHEwYEFhAmFwcPAQkLGwkXDhEZGE8rFgJwCiASDwIFBAICAQMHBBcrBwQDCQsEAwEFBAYEBAoLCAwCAhcDAQJtI0wnPwERDwMGDy0iW0RpBAIGJA4XAwIDISkmJCYFAgAAAv/0/zoBTgGlAEgAagAAAR4FDgMxBgcOAQcOAgcOAycuAicmNjc2FxYXFjc2NzY3NiYHBgcGJicuATc2NzY3PgU/AT4FFgc2LgEjIiYOAgcOAw8BBhY7AT4BPwE+Az8BPgE3AR0KEQsHAwEBAgIDBB0JKAEBCg8GBxIeLBkhKgwFBg0SGB4FBRAOGBILCgECARIXFE8TEgQHBBMQFgcOCwoHBQECAgcWFyAfIhECBgUBBAoVFh4QDxkNCAECAw4ICQseCAkIFBEOBAMIDAMBmwUNDQ8NDwsNBgkOXB6PCQclLg8QHSYUAwMVEAwPJgsNEAMCBwYKLx4tAQEBFw0NEBsZQxwaLSYgCxINCgcFAQECBQ8NDgYDVgwOAgIKDyIXFzInIAkJFxYCGQwLCyEhHgkKESoMAAAAAf/6//0BNwJ7AEMAAAEGBwYfARYGJy4BNSY2PwE2NzQ2NzYuASMiBwYHDgEPAQ4BJyYnND4BNzY3Njc+Ajc2FhUWBwYHFDIxPgEXHgEfARYBLB8HCQYDAhMYGBMBDAYGBQIPAgEEBgITGBgWBSACCQMZEiEDAQYBBSkRUQkLFA0TIgEXES4BEjETCxIEAxMBNGkjLywkDxsCAyQmFUgZGRYGATgIBwgDFBQqCoEWPQ8QAwQmCBQlCi2KOMkZFhgCBRMRGDQldQETEwQCDgUGIAAAAAAC//oAAADGAgMAJAAsAAATHgMcAQ4BMTAOAQcGFRQWDgMjIicmNjc+Az8BPgMeAQ4BLgE2iAcLBgMCARYeBx0BAQMHDQocCgcPEQYRDw0DBAIGGykbCw4dHAoNAY4BBgYIBggEBTZMGV80AxMHDQUFGBF4NRQwKCIJCgQKDXELHR0NCh0dAAAAAv85/zkA2QIGACYALgAAExYHBgcOAQcOAQ8BBgcOAScmJyY3Njc2FxY2PwE2Nz4BNT4BNz4CHgEOAS4BNqURAwELAj0LCBoICREkG04kKQQBBw0bEh8SGwgIDhMFRgUiCAkeGBwLDB0cCwwBiwoXBycFwCYdTRgYLSUdDhEUIBAPGgMCEggKCwsSQRDeAg9fDA4FcgocHg4KHB4AAf/6//YBRwJ8AEsAACUUDgUxIjEGJyYnJicGBw4FIyIuAScmNjc+AT8BPgQXHgMOAzEUDgEHNjc2FxYHBgcWFx4BHwEeARceARUBRgIEBQUFAgEdHBsfETkTBAEDAgcJEAwECxYDBSkeEjMQEAEDDQ4XDAgMBQMBAgIDJTAOUgcoDg8dEVMMCAkYCAgHLwMICDEFCggHBQMCEhIRKBZjRSMFHwsVBwcCEhEcvVQyfycmAgcRCQgGAwkJDQoMBwcBU3cnPQUaIygcEDoWDhAkCgoIJgIHDgMAAf/+AAEBBQJ8ACgAABMeAxQOAgcUDgMHBgcOBSMiLgEnJjY3PgE/ATQ+A+oICwUCAgMCAQ8XGRsINAoBAwIGCRELBAsVAwUpHRIyEBAEDA4WAnYDCQoMCgwHBwEBIjc9RBqVUQUfCxUHBwISERy9UzJ/JyYCBhIICQAAAAH//f/yAd8BngBxAAABFgcOAgcOAR4BFRQGBwYnJjc+AT8BNjc2Jg8BDgEHDgEXFgcGBxQHMDEGBzAHIiMGIicmJyY3PgE/ATY3NiYPAQ4BBw4BFxYHDgEHIiYvAS4BJzU0Njc+AR8CPgUWFxYXPgM/AT4EAao0DQEOFggGBAECEBEoCwgMAhIHCAYIBAkHBxQaFBMkAwIEAwcCBAUBAQEECQUfCQgLAhIIBwYJBAoGBxQaFBMkAwIFAxEMCA4DBAcHAU8XCxgHBg4BAwwMExEWCicCAwkIBgICAgcXFSABkBRABS1FGhYyISICDhoBAykfQg9EGhsSHQ4MAQEGGyAejSAXEgkHAQEEAgECAQMjH0IPRBsaEh4NDAEBBhsgHo0gFxILDwEFAwIHGgoKOvUUCwIEBA4BBAoICAQCBRMsBQsIBgIBAgUOBQQAAf/9//0BMwGlAEIAAAEeAhQHDgIHDgEeARUWDgEHBicmNz4BPwE2NzYmDwEOAQcOARcWBw4BBwYmLwEuASc1JjY3PgEfAj4FFgEHEhUEAQEPFQgGBAEDAQYQDSkLCQoDEQgIBQkECgcHFRsUEyQEAgUCEgwIDwQDCAgBAU8XDBkHBg8BBAwMExIXAZ4IGRsRBwUuRRoWMiEjAggREAEDKh5DDkUbGxIdDgwBAQcbIR6OIBcSCw8BAQUDAgcaCgo69xULAwUEDQEDCgkIBAEAAAL/9wAAATcBpgAbADAAAAEUDgMHDgQnLgE3PgQ3PgI3NhYHNiYHDgEPAQ4CBwYfAR4BPwE+AQE2AQoTKx4CBhYZJxU4LQYBAxEXLRwFETMZJzpPAg4RCRMEBR0mCgIBAgEEFggJJzgBQgcYR0JRHwIGEAsGAgdLMgYTOTZHHAUQGwIBMj0fEQcEEgYHI141GAsJBREGBgYfnQAAAAL/xv8yAU0BqAAsAEUAABMyFgcUDgMHDgInJicGBw4FJyIuAScmNjc+AT8BPgQXFhc2FzYuAQcOAw8BDgMHBh8BHgE/AT4B9CQ1AQEMEyodBBE4Hx4VHgYBAwEHCRALAwsVAwUnHhEwEA8BBAsOFgwXAxckAwUNCgUMCAcCAhUgEAgBAQEBAxQICCU5AY8xLgsQRztNHAUOEwQFEGYzBR8KFQgHAQISEBy8UzF+JiYCBxEICQYIFwtnExUDBAIJCAgCAxk8OSMPCwkFDwYFBRyTAAAAAv/3/yIBVAG1ACwAQAAAATYWFRQHBgcGAgcyPgEzFhUWBwYHBicmNTQ2Nw4BLgInJjc2NzY3Nhc+Agc2BwYHDgEPARQVFhcWNzY3PgIBJxIbAggPGmEOAwgSBR0BIhseHBEPFA0FDyggHwYEAxBYFhpALgIGFEcDEhEiHyMDAgEDCxcIBh0qDQGkARMVBwgeIDn+6F0DBAIaGBQPCAgODBoWeisBAwILJBwWGYBlGQ0hLgMKEGwjAgIqJmEeHgUFBwYUEQUIIms/AAAAAQACAAABLwGqACMAAAEWDgIvASIGDwEOAQ8BDgEnLgEnNSYSNzYXMh4CFxU+ARYBLAINExIDHhgoCAkTGQMEAxYYEBEBAkgKEhwIDQYDARBBOAGDERUFAwIDIBARJW0kJB8fAgIYCwwoAQEaKwIICQoDAxcTEAAAAf/nAAIBPwGqADwAAAEeAQcGBwYnLgQ1JgcOARcWFxYGBwYmJyY3PgEXHgEGDwEOAR8BHgM3Mz4BPwE2JyYnJicmNz4BAQ0YGQQEGAsKBQkGBAQLGhIFFUUEAyAlJmUjOBMGMhoRDgMEDgUBAgIDCwsLBAQGDAMDIAwEJxQHEicVWgGaCyoUFAYDAgIFCAYJARQIBS8fWycgRBITARYkRBkmCAUVEAUVBxEEBAYIAgEBAQQCAhI1FDUaGT0xGxAAAQAE//0BJAJ7ADoAAAEeAQcOASciJwYHBgcUDgQjIi4BJyY2NzY3JicmNjc+AR8BFjM3PgQXHgMOAzEUBxYBBhAOAgMfJAkKIRAzCwQCBgkPCgQKEwIEKR0SGRcHDQEJBxwKCgQGFQEECw0VCwcKBQIBAgIDDRUCDQUNDRQhAwFUMJdRBR8LFQgHARIQHL5UM0QEAwggEAwKAQEBNwIGEgkJBgIJCQwKDAcIAR4DAAAB//z/9wFiAakANQAAARYHBgcOBAcGJyYxJgcwDgMHBiYnJjc2Nz4BFx4BBwYHDgIWNzI+Azc+Ajc2AUAiFU0JAQMDBQwKJhEBBQ0KCA0PCRcsCwkBBEQUHxcdCw0vEAMJDwYQAQUPDhUJCCofByABnQ0qoj0MKh8fEgIILgIHDQoHCQUBAhcUEiVLpjAlAgEmFVsrCR0+JwEBCA4fFhRoRw00AAEABf//AVQBqgAtAAABHgEHDgEHDgMHDgEuATc2NzY3PgEzNx4BBxUOAgcGFxY3Njc2Nz4BNz4BAUMNBAUFKhQPFyIoFBcvJhYCBz8FCQkVBgcSEQECChcMHgIBDQECHiAMSQIJKAGgBhUOFHEpHSo3Kg4PBRIwJFu1DgsKCgEBEwoKChg2IVQ/HwYBARZAGLwEFg0AAAAAAf/0//0B6QGmAFAAAAEWBwYHDgEHBicmJw4GJy4BNzY3PgEXMhYHDgEHBgcGNzY3PgI3Njc+Ajc2FhcWBgcGBwYHBhYXFj4BNz4DNz4GMzYB4AkcPScLOSsoGxIBAQQMDRUTGgssGRMsHQwYERMYCgUXDSoCAioaEwggHQQBAgYHEAgOGgUDBgs2BwEDCAERDR4SBwMZFxYDAQcDBwYKDAcVAY0TPIdhHDUEAxYPFQIEDQsOBgUECldAnTgZEgEdFwsrHF9BPyIWOxhURwgBAwoNDwQGCAsPFRuAIgULGy8BASAjEwhAPTgHAQ4FCwUHBAIAAAEAAf/4AXgBqgA0AAABHgIHDgEPARYXFgYHBi4BLwEGBwYnLgE+AT8BPgE/ASYnJjU0PgMeAh8BPgM3NgFYCBEHDws8GBhICQcFEAsVDQVJBUg0JAoKAgQDAw5AGhohEhkECA4TEg8FBTAJHRwZBRgBogMSIBQQQhoZfhIMJAwJBAkHhwNcQg0EERIQBgUUTh0eQx0pDQYMDAoCCBYIClcKHx8dBiEAAAH/0/9FAWwBqwBXAAABFgcOAQ8BBgcOCAcGJyYnJicmNhcWFxY+Ajc+ATcwJhUGBw4CJyoBLgInJjY3Njc+BBcWBwYHDgEHBhcWNz4CNz4CNz4DFgFGJRgFDQMEQxMBCggNDREUFxwQERI7EQEBCywdCQ8OFRMLBAoWAwEGDAUQIhACBxUQEQMGERorEwUIEAsTBxcMAw0MKgYXDgUIDi0pDgchEwYBAwgJDwGlEzAMIQoLsj4FIxcnHCQZGA4DAgIKJgMCHi8KAwoGAREOCBI+DgEBCAwFDA4CBgoWDxxrP2kXCAkOBAQGCzAKFxdbEUgVBgIEOEkgElUrCAECBwMBAAAAAf/2//wBXwGkADYAAAEeAQcGBw4BBw4BDwEWFx4CFRQOAScmBwYHBicmNDc+BT8BJiIGIyIuAjc+AT8BPgEBNxIWAQEgAgUCOFMNDj4fERYRDRUMYSMuHRoMCQsFHScuLCQLDBIoIgMIDxYMAQEOBgcenwGhARoRHh4CCAI4ZBYVAwUCCRQQEBcJAg0CAgcGDgsjFAYkLjYzKQ0NAgIDBhALDxQCAwYBAAAAAAQAIv8sA0oCiQAtAEQAbgB/AAABNh4BBxQOAwcOAicmJwYHDgUjIi4BJyY2Nz4BPwE+BBcWFzYXNiYHDgMPAQ4CBwYfAR4BPwE+ASUGFxQWBgcGJy4BJyY/AS4CBwYHBgcGJyY3Njc+BDc2HgIHBhUHNgciBw4BBw4CHgE3Nhc2AvEXKBoBAQwTKh0EETgfHhUeBgEDAQcIEAwDCxUDBSgdETEPDwEECw4WDBcDFyQEDRAFDAgHAgIbJgsCAQEBAxQICCU5/tUZBQUBAw0cEBcDBwUDEzYsEB0LBw0aMToUDUMKK0JCRxkdJAgDAwFoGRoFDBJZHQECAgEICU0vAwGJARQsHwkURTxNHAQPEwUEEGYzBR4LFQcHAhIRHLtTMn4mJgIGEggIBggWC2gdEQcCCAkHAwIhWDIWCgkFEAYFBR2TXsBCBRwQBxoEAhIPHjwiBggBAgMSCjFhAwRXPIsUS2NYQgQGEyMoEAUCrIoCCQ+KOwEECQcGAQEPMwAAAAQAIv8uAsYCkgApADEAVwBoAAABFgcGBw4BBw4DDwEGBw4BJyYnJjc2NzYXFjY/ATY3PgE1PgI3PgIOAS4BPgEWATcuAQcGBwYHBicmNzY3PgQ3NgcUDwEGFxQWBgcGJy4BJyYnNhc2NzYHBgcOAQcOAh4BApURAwELAj0LBQ4OCwQDESQbTiQpBAEHDRsSHxIbCAgOEwVGAhEXBQkePRUfFwEVHxf+oQMcUhcdCwcNGjE6FA1DCitCQkcZTAEDGhkFBQEDDRwQFwMHbk0vAw4ZGgUMElkdAQICAQgBgAoXBycFwCUTLSYiCgksJh0OERQgEQ8ZAwISCAsKCxJCD94DBjE6CQ0FPxkEEiAZBBP+mSIJBwIDEwoxYQQEVjyLFEtjWEIFDlcIH8HAQgUbEQcaBAISDx61AQ8zSooBAQkOizsBBAkHBQACADD/+gKtAosAPAB5AAABHgEHDgEnJicGBwYHDgUHIi4BJyY+Ajc2NyYnJjY3PgEfARYzNz4EFx4DFA4CMRQHFiciJgYHBgcXNhcWBwYHBiMHBgcGFxY2FhceAQcUDgMHBicmJy4BNjc2NwYHBicmPgE3NhceBAcGAo4QDgEDICQICiERMgsBBAIGCBAKAwsTAgIJEhsOEhoXBw4BCQccCgoEBhYBAwsNFQsICgQCAwIDDBTSBjcxF0cVLBkPDwYGFxQRQR0FCDMNIRgIDw8EAQQHDQg9KTwdDAMLCzlGFQYhDwkDCgcznCY4HBAEAQECEwQNDRUgAgEBVDGWUQUfCxUIBwECEhANQ1NhKTREAwMJHxEMCgEBATYDBhIJCQYCCQkMCwsIBwEeAxICAQNhPQEBDg4XFQUFBlYtRAUBAwEECBsOAQMICAkDFQgKMBRKTCO9ZQQBBhELFhAEJRADDQ0PCwYYAAACADD//ALzAo4ARwCCAAABHgEHDgEnMC4CKgEOAQcGBwYHDgEHFxYXFhcWFxYHDgEPAQYnIicHDgMHDgEmJyY3Njc2NyYnLgE3Njc2Fzc2Nz4BFxYFNhcWBwYHBiMHBgcGFxY2MhceAQcUDgEHBicmJy4BNjc2NwYHBicmPgE3NhceBAcGJyImBgcGBwLIGBIMCyMICwcOCg4LDAUVEQMCAQcCFA4LCAUEAQIDAwcBAhQnBBEjDBMJCwEDGRoHEwUEFRAlFwcPAQgLGwoXDREZF08rFv5OGQ8PBgYXFBFBHQUIMw0hGAgPDwQDEQ09KTwdDAMLCzlGFQYhDwkDCgcznCY4HBAEAQErBjcxF0cVAnEJIBIQAgYDAgMDBwUXKggEBBIFAwEEBAYEBAoLCAwDAhYDAm0kSyc/AhAPAgYPLSFcRGkEAwUkDhcEAQMiKSYlJgQD8QEODhcVBQUGVi1EBQEDBQccDgIIEQUVCAowFEpMI71lBAEGEQsWEAQlEAMNDQ8LBhgBAgECYj0AAAAAAwAw/zQCJQKMACgAMABrAAABFgcGBw4BBw4BDwEGBw4BJy4BJyY3Njc2FxY2PwE2Nz4BNz4CNz4CHgEOAS4BNgMGJyYnLgE2NzY3BgcGJyY+ATc2Fx4EBwYjIiYiBwYHMzYXFgcGBwYjBwYHBhcWNhYXHgEHFA4BAewRAgEKATcKCBcICA8jGk4kFBgDAgcMGxIgEhoICA4RBD8BARAUBggeHhwLDR0cCw3iPSk8HQwDCws5RhUGIQ8JAwoHM5wmOBwQBAEBKwY3MRdHFSwZDw8GBhcUEUEdBQk0DSEYCA8PBAMRAY4KFwcnBcImHU4YGS0mHhERCRsOEQ8aBAIRCAwLCxJCEOACBzE7CQ4GcgocHg4KHB7+FhUHCzAUSkwivmUFAQURChcPBSUQBAwNEAoHFwIDYT4BDg8WFQUFBlcsRAUBAwEECBsOAggSAAAAAgAw//cCuAKLAFUAkAAAJRQOBTEGMQYnJicmJwYHDgUjIi4BJyY2Nz4FPwE+BBceAw4DMTAOAQc2NzYXFgcGBxYXHgcfAR4BFx4BFwEiJgYHBgcXNhcWBwYHBiMHBgcGFxY2FhceAQcUDgEHBicmJy4BNjc2NwYHBicmPgE3NhceBAcGArcCBAUFBAMBHRwbHxE5EwQBAwIGChAMBAsWAwUpHgkUExMPDAQDAQQMDhcNCAsGAgECAgMkMQ5SBygODx0QUwsIAwgHBwcGBQQBAQcvAwgIAf7/BjcxF0cVLBkPDwYGFxQRQR0FCDMNIRgIDw8EAxENPSk8HQwDCws5RhUGIQ8JAwoHM5wmOBwQBAEBMgUKCAcFBAEBEhMRJxdjRSMGHwoVCAcCExAdvVQXNTAvJh0ICAIGEggJBgMJCgwKDAcIVHYoPgUaIygcEDoWDgYNCwsJCAcEAgEIJgMGDgQB8gIBA2E9AQEODhcVBQUGVi1EBQEDAQQIGw4CCBEFFQgKMBRKTCO9ZQQBBhELFhAEJRADDQ0PCwYYAAIAMP/8AnICjgAnAGQAAAEeAxQOAxUiDgEHBgcOBSMiLgEnJjY3PgE/ATQ+AwciJiIHBgczNhcWBwYHBiMHBgcGFxY2FhceAQcUDgMHBicmJy4BNjc2NwYHBicmPgE3NhceBAcGAlcHCgYDAQICAgEkMQ00CgEDAgYJEQsECxUDBSkdEjIQEAQMDhaUBjcxF0cVLBkPDwYGFxQRQR0FCDMNIRgIDw8EAQQHDQg9KTwdDAMLCzlGFQYhDwkDCgcznCY4HBAEAQECdAMHCQoKCgkGBgFVeCiVUQUfCxQIBwISERy9UzJ/JyYCBhIICVECA2E+AQ4PFhUFBQZWLUQFAQMBBAgbDgEDCQcJAxUHCzAUSkwivmUFAQURChcQBCUQBAwNEAoHFwAAAwAw//sCmQKMADYATACHAAABFgcOAQcOBCciLgMnJiMHBhQOBCMGJjc+Az8BNjc2FhcWDwE2NzYXFhcWFxYHPgEnLgEHBgcOAQ8BFgYWNzI+AjcDIiYiBwYHFzYXFgcGBwYjBwYHBhcWNhYXHgEHFA4BBwYnJicuATY3NjcGBwYnJj4BNzYXHgQHBgKSBgUGNCQBBA0OFwwBBAsJCgICAQIBAgMHBwwGGBcBAQoQHBBdDBYRHwYND0YIAxsfCQcIBQZxHRYEAgkLDg4aHwICAQIKCgYOCwkDZwY3MRdHFSwZDw8GBhcUEUEdBQgzDSEYCA8PBAMRDT0pPB0MAwsLOUYVBiEPCQMKBzOcJjgcEAQBAQFeJi47jiYCBAoGBQMBBAYMCAUEAwEJBQgFBAEfGQ49UmMp7hwMBgoKFCSrCgQdEAUICgsP9i+DFQ0JAgIYJ2cgIAEQEQEKDg0FAbMBA2E9AQEODhcVBQUGVi1EBQEDAQQIGw4CCBEFFQgKMBRKTCO9ZQQBBhELFhAEJRADDQ0QCgYYAAAAAgAt//8CqwKGADwAfwAAAR4BBw4BJyYnBgcGBw4HIyIuAScmNjc2NyYnJjY3PgEfATIzNz4EFx4DDgMxFAcWJw4BIiYjJgcUBxQOAQcyFx4BFxYGIwYHFDEGBxQOByMiLgEnJjY3NjcGJyImLwEmNz4DPwE2FhceAQcCjRAOAgMfJAkKIRAzCwECAQMEBwgMCAQKEwIEKR0SGRcHDQEJBxwKCgQGFQEECw0VCwcKBQIBAgIDDRWwBhcTJgchMAETIA0xCgsXAwUYGh81LgwDAQMDBQcJDQcECxUDBSgdIDUVDwcPBQQYCwEHCQcDAjTUJhUKBgIPBQwNFSACAQFUMZdQBhQLEQkLBgQCEREcvVQ0RAMDCR8QDAoBATYCBxIICgYCCQkNCgwHBwEfAh8FBAIBAwEBASxMIQEBDxASHAEGAYRfBBQIEQYNBQYCAhIQHLpSWn8EAQUCAg8cAwkGBQEBFw4WDBkHAAAAAAIALf/+ArECiABHAIoAAAEGBwYfARYGJy4CJzQ+Aj8BNjc0Njc2LgIjIgcGBw4BDwEOAScmJyY+Ajc2NzY3PgI3NhYVFAcGBxQzPgEXHgEfARYlBjEUDgEHMhceARcWBiMGBxQxBgcUDgcjIi4BJyY2NzY3BiciJi8BJjc+Az8BNhYXHgEPAQ4BIiYjJgKmHgcJBQQBEhgREwcBBQcHAgMFAg4CAQIEBAETGBkVBSADCAQYEiEDAQIBBAEGKRBRCgsUDBQiFhEvARMxEwsSAwQT/ngBEyANMQoLFwMFGBofNS4MAwEDAwUHCQ0HBAsVAwUoHSA1FQ8HDwUEGAsBBwkHAwI01CYVCgYFBhcTJgchATRoIy8sJQ4bAgITHxkNJyUiCgoWBgE4CAUIAwIUFSkKgRc8DxADBCUFFgwbCi2KOMkYFxgCBRQQGDQldQETEwQCDgUGINECASxNIAEBDxATGwEGAYRfBBUHEQYNBQYCAhIQHLpSWn8EAQUCAg8bBAkGBQEBFw4WDBkHBgUEAgEAAAAAAgAt//YCvAKGAEoAkAAAJRQOBTEGJyYnJicGBxQOBCMiLgEnJjY3PgE/AT4EFx4DFA4CMQ4CBzY3NhcWBwYHFhceAR8BHgIXHgEVAQYVFA4BBzIXHgEXFgYjBgcUMQYHFA4HIyIuAScmNjc2NwYnIi4EJyY3PgM/ATYWFx4BDwEOASImIyYCuwIEBQUFAx0dGx4RORMFAwIHCRELBAsWAwUpHhIzEBABAwwPFwwIDAUCAgMCASQxDlMHKA0QHhBTDAcJGQgIBRQZBwcJ/m8BEyANMQoLFwMFGBofNS4MAwEDAwUHCQ0HBAsVAwUoHSA1FQ8DBwYGBAQBGAsBBwkHAwI01CYVCgYFBhcTJgchMQUKCAYFBAISEhInFmRFJAUfCxUHBwITEBy+UzN/JiYDBhEJCAYCCQoMCwsIBwFTdig+BBojJx0POhYPECQKCQYRFQUHDgMB8gEBASxMIQEBDxASHAEGAYRfBBQIEQYNBQYCAhIQHLpSWn8EAQECAgIBAQ8cAwkGBQEBFw4WDBkHBgUEAgEAAAAAAgAt//8CcgKHACYAaQAAAR4DFA4CFSIOAQcGBw4FIyIuAScmNjc+AT8BPgQFFAcUDgEHMhceARcWBiMGBxQxBgcUDgcjIi4BJyY2NzY3BiciJi8BJjc+Az8BNhYXHgEPAQ4BIiYjJgJXCAsFAgIDAgEkMQ00CgEDAgYJEQsECxUDBSkdEjIQEAEDDA4X/t4BEyANMQoLFwMFGBofNS4MAwEDAwUHCQ0HBAsVAwUoHSA1FQ8HDwUEGAsBBwkHAwI01CYVCgYFBhcTJgchAnQDCQoMCgwHBwFVeCiVUQUfCxQIBwISERy9UzJ/JyYCBhIICVIBAQEsTCEBAQ8QEhwBBgGEXwQUBxIGDQUGAgISEBy6Ulp/BAEFAgIPHAMJBgUBARcOFgwZBwYFBAIBAAAAAAMALf//ApsChgA0AEoAjwAAARYHDgEHFA4FJyIuAycmNQcUDgMjBiY3PgE/ATY3NhYXFg8BNjc2FxYXFhcWBz4BJy4BBw4BDwEOAQ8BFgYWNz4BNwMGFRQOAQcyFx4BFxYGIwYHFDEGBxQOByMiLgEnJjY3NjcGJyImLwEmNz4DPwE2FhceAgYPAQ4BIiYjJgKVBgUGNSQCBwcMDBIJAQQKCQoDAgMBBQgOChgWAQInHV4LFhIfBgwORwgDHB8IBwkEBnAcFwQCCgoHDgQEGh4CAwEBCgoJFwbyARMgDTEKCxcDBRgaHzUuDAMBAwMFBwkNBwQLFQMFKB0gNRUPBw8FBBgLAQcJBwMCNNQmDQ4BAwMCBhcTJgchAWEnLjqPJgECBgUHAgICAQQGDAcFAQUDBAwIBwEeGiO5Te4cCwcLChMkqwoDHhEECAoMD/UvgxUMCgIBDQYGJ2cgIAIPEgEBFwwBtgEBASxMIQEBDxASHAEGAYRfBBQIEQYNBQYCAhIQHLpSWn8EAQUCAg8cAwkGBQEBFw4WBxAMCgMCBQQCAQAAAAIALf//AuAChAA6AJkAAAEeAQcOAScmJwYHBgcUDgQHIi4BJyY2NzY3JicmNjc+AR8BMjM3PgQXHgMOAzEUBxYnHgMUDgIxDgIHBgcUDgQjIi4BJyY2NzYnJgcGBwYHFA4FIyIuAScmNjc+BT8BND4DFx4DFA4CMQ4CBwYXFhcWNz4BPwE0PgMCwRAOAgIgJAgKIREyDAQCBggQCgMLEwIEKR0SGhcHDgEJBxwKCgQGFgEDCw0VCwcKBQIBAgIDDRXaCAsGAgIDAgEjMA4yCgMCBgkRCwQLFgMEFRMDC0cODQcdCAMCBAYKDwoECxYDBScdCBQSEg8MAwQEDA4XDAgLBgICAwIBGCcOBAUmMgoEEi4PDwQMDhYCDwQNDRUgAgEBVDGXUAYeCxUIBwECEhAcvVQ0RAMDCR8RDAkBATYCBxIJCQYCCQkMCwsIBwEfAm0DCQkNCgwHCAFWeiiZUQYfCxUIBwISERV8RwsBDAQEE2ZABRsJFQcLBAITEB3AVBg2MDAmHggIAgcSCAkGAwkJDQoMBwgBPF8mDgEJBAEKMnslJAIHEggJAAAAAgAt//8DUAKEAEkApwAAAR4BBw4BJyIuAyIOAgcGBwYHDgIHFxYXFhcWFxYHDgEPAQYnJicHDgMVDgEmJyY3Njc2NyYnLgE3Njc2Fzc2Nz4BFxYlHgMUDgIxDgIHBgcUDgQjKgEuAicmNjc2JyYHBgcGBw4HIyIuAScmNjc+AT8BND4DFx4DFA4CMQ4CBwYXFhcWNz4BPwE0PgMDJhgSDAsjCAEJBgsKDAoLCgQWEQMCAQMEAhQOCwgFAwEDBAMGAgIUJwQRJAwUCQwEGRoHEwYEFhAnGAcOAQgLGwoXDREZGE8rF/7PCAsGAgIDAgEjMA4yCgMCBgkRCwEFDAoKAgQVEwMLRw4NBx0IAQIBAwQHCg0JBAsWAwUnHRIwEBAEDA4XDAgLBgICAwIBGCcOBAUmMgoEEi4PDwQMDhYCcAkgEhABBQMCAgIBAwYFFisHBQMICwUCAgQEBgQECgsIDAIDFgMBAm0kSyc/AREPAwYPLSFcQ2kEAwYkDhcDAQMiKSYkJgUDBgMJCQ0KDAcIAVZ6KJhSBh8LFQgHBAcQChV8RwsBDAQEE2ZABRYKEggMBQQCExAdwFQzgScnAgcSCAkGAwkJDQoMBwgBPF8mDgEJBAEKMnslJAIHEggJAAAAAgAw//8CigKBADsAeQAAAR4BBw4BJyInBgcGBxQOBSMiLgEnJjY3NjcmJyY2Nz4BHwEyFzc+BBceAw4DMRQHFiciIwYHBgcwFDEWFzAyHgUGFQ4BByYnJicmNjc2MzY3NjcmIzAuBzQ3PgM3FhcWFxYGAmsQDgICICQICiIQMwsDAgQGCQ0JAwsTAgQpHRIaGAcNAQkHHAoKBAYWAQMLDRULBwoFAgECAgMNFecJCkYVMAkSBAUCBgMFAgMBBBoYaxAhAgEbIwgLDS0fMQoCBAMEAwUCAwEBAgoPEAxrECEBARwCEgUNDBUhAwFTMZdRBhgLEwkKBAESEBy+VDRDBAMIIBAMCgEBATcCBhIJCQUDCAoMCgwHCAEeAhKrQJRQAgEBAQEDBAUHCQYaEwIBAQQVEygBAXSHWYABAQEBAgMDBgcJBQ0RCgQBAwMEFhMmAAAAAAMAMP8rApACfwAuAEcAgQAAATYWBxQOAwcOAicmJwYHDgUjIi4BJyY2Nz4DPwE+BBcWFzYXNiYHDgMPAQ4EBwYXFR4BPwE+AQUwFjIeBAYVDgEHIicmJyY2NzIzNjc2NyYjMC4GNDc+ATcWFxYXFgYHIiMGBwYHFDEWAjckNQEBDBMrHAQROB8eFR4GAQMCBgkQCwMLFQMFJx0LHRgVBgYBBAsOFgwXAxckBA0QBQwIBwICERwQDAQBAQEEFAgIJTn+rgUCBgMFAgMBBBoYaxAhAgEbIwgLDS0fMQoCBQIGAwUCAgEFGhhrECEBARwjCQtFFTAJEgGIATEuBxdDPU0cBA8TBQQQZjMFHgsVBwcCEhEcu1MfSz81Dw8CBhIICAYIFgtoHREHAggJBwMCFDIqLBkMCgkFEAYFBR2ToQECAgQFCAkGGRMCAgQVEycCdIdagAEBAQEDAwYHCgYYEwIEAgQWEyYBrD+VUAEBAAAAAgAw//4C4wKAAEkAhAAAAR4BBw4BJzAuAioBDgEHBgcGBw4BBxcWFxYXFhcWBw4DByMGJyYnBw4DBw4BJicmNzY3NjcmJy4BNzY3Nhc3Njc+ARcWAQYHMBQxFhcwMh4FBhUOAQcmJyYnJjY3NjM2NzY3JiM0Ii4FNDc+ATcWFxYXFgYHIiMGArgYEgwLIwgLBw4KDgsMBRYQAwICBgITDgsIBgMBAgQBBAMDAQETJwURIwwVCAwBAxoZBxMFBRUQJxcIDgEIDBsJFw4RGRhOKxf+bDAJEgQFAgYDBQIDAQQaGGsQIQIBGyMICw0tHzEKAgUCBgMFAgIBBRoYaxAhAQEcIwkKRgJvCiASDwIFBAIDAwcEFysHBAQSBQMBBQQGAwUKCwUJBQQBFwMBAm0jTCc/AREOAgYPLSJbRGkEAwUkDhcDAgMhKSYkJgUC/sSUUAIBAQEBAwQFBwkGGRQCAQEEFRQnAQF0h1mAAQEBAgIEBQcKBhkSAgMDBBUUJgGrAAAAAAMAMP84AhECggApADEAbQAAARYHBgcOAQcOAQ8BBgcOAScuAScmNzY3NhcWMj4BPwE2Nz4BNT4BNz4CHgEOAS4BNgMOAQcmJyYnJjY3MjM2NzY3JicwIi4FNDc+AjcWFxYXFgYjBiMGBwYHMBQVFjMwHgYGAdsRAwEKAjoLCBgJCBAkG04jFBgCAgcNGxIfCxIPCwMDDhIERAQiBwkeGhwLDB0cCwzGBBoYaxAhAgEbIwgLDS0fMQoCBQIGAwUCAgEDEBQQaxAhAQEcIwkLRRUwCRIEBQIGAwUCAwEBjgoYByYGwSUdThgYLSYdDxAKHA4QDxoEAhIFCgsEBRJCD98DDmAMDgVwChweDgscHv44GRMDAQIDFhMnAnSHWYABAQECAgQGBwkGERQHAQMCBRUTJwGrP5VQAQEBAQEBAgQFCAkAAAIAMP//Ak8CgAAoAGMAAAEeAxQOAjEiDgEHBgcOBSMiLgEnJjY3PgM/AT4EAQYHMBQxFhcwMh4FBhUOAQcmJyYnJjY3NjM2NzY3JiMwLgY0Nz4BNxYXFhcWBgciIwYCNAgLBQICAwIBJDENNAoBAwIGCRELBAsVAwUpHQwcGRYGBwEDDA4X/ugwCRIEBQIGAwUCAwEEGhhrECECARsjCAsNLR8xCgIFAgYDBQICAQUaGGsQIQEBHCMJC0UCdQMJCgwKDAcIVXgolVEFHwsVBwcCEhEcvVMgSz81EA8CBhIICf7AlFACAQEBAQMEBQcJBhoTAgEBBBUTKAEBdIdZgAEBAQEDBAUHCgYZEgIDAwQWEyYBqwAAAAADADH//wJ4AoAAKwBBAH4AAAEWBw4CBw4CJyIuAScmNQcGBwYmNz4BPwE2NzYWFxYPATY3NhcWFxYXFgc+AScuAQcGBw4BDwEUBhY3PgM3JwYHMBQxFhcwMh4FBhUOAgcmJyYnJj4BNzYzNjc2NyYjMC4GNDc+ATcWFxYXFgYHIiMGAnIGBQQYKhkCCiMUAwkUBQICBiEYFgECJx1eDBYRHwYMDkcJAhwfCQYJBAdxHBcEAgoKDw4aHgICAQoKBg0LCgLsMAkSBAUCBgMFAgMBAw8UEGsQIQIBCB4YCAsNLR8xCgIFAgYDBQICAQUaGGsQIQEBHCMJCkYBXycuJFhZGgMKDgQDDwwFAQUhAQEeGiO5Te4cCwcLChMkqwoDHhEECAoMD/UvgxUMCgIDFydnICACDxIBAQoNDgTGlFACAQEBAQMEBQcJBhIUBwIBAQQVCxgYAQF0h1mAAQEBAQMEBQcKBhkSAgMDBBYTJgGrAAIAL///AvACgAA7AIcAAAEeAQcOAScmIwYHBgcUDgUjIi4BJyY2NzY3JicmNjc+AR8BMhc3PgQXHgMOAzEUBxYnBicmJw4EBw4EJy4ENzQ+ATcwPgUyFhcWBwYHBgcGFxY3PgM3PgE/AQYHMCMGJyY2Nz4BFx4DFxYVBgLREA4CAiAkCAohETIMAwIEBgkNCQMLEwIEKR0SGhgHDQEJBxwKCgQGFgEDCw0VCwcKBQIBAgIDDRXVBwoVFAQLIh8lDQEDERs2IwcULiEYBAIRDwEFBAgHCQoLBRgEAggLAg0lKw0BDxIXCQsfCgpSEgM6CQcTEhSYMAsjDxEGFwECDwUNDBUhAwFTMZdRBhgLEgkLBAIRERu+VDRDBAMIIBAMCgEBATcCBhIJCQUDCAoMCgwHCAEeAgwBAQEFBhVMW5ZUBRAqHxkBAQIQGzknBhUyEAIEBAUDAwMDDh4NDhIKNggJKQVEUWAcJU0UFAEEDB4XJAYHAQYBAwIDAwsaJgAAAAIAL///Ay0CgABKAJkAAAEeAQcOASciLgMOAgcGBwYHDgEHFxYXFhcWFxYHDgMVBwYnIicHDgMVDgImJyY3Njc2NyYnLgE3Njc2Fzc2Nz4BFxYFJicOBAcOBCciLgM3ND4BNz4DMhcWBwYHBgcGFxY3PgU3PgM/AQYHMCMGJyY2Nz4BFx4GFxYVBgcGAwMYEgwMIggBCwYOCw4LDAQWEQMCAQcCFA4LCAUDAQMEAgQDAwEUJwQRJAwUCQwDEBQSBRMGBBYQJhcHDwEJCxsJGA0RGRhPKxf+9hUUBAsiHyUNAQMRGzYjBxQuIRgEAhEPAQQNDRQJGAQCCAsCDSUrDQEICg0NDwYHEg8OBARSEgM6CQcTEhSYMAgTDQ4JCggDFwEiBwJwCSATDwIGAwIDAQEDBgUXKggEBBIFAwEFAwYEBAoLBQkGAwEBFgMCbCRLJz8CDA8DAwQQLCJcQ2kEAwUlDRgDAQMhKSYlJgUDXQIEBRVNWpdTBRAqHxkBAxAbOScGFTIQAQUJBQUOHg4NEgo2CAoqAyIvPDk5FBcxJB4ICAEEDB4XJAYHAQYBAQIBAQIDAQsbJQYBAAAAAAIAL//+At8CgQBEAIsAAAEGBwYfARYGJy4BJzQ2PwE2Nz4BNzYuAiMiBwYHDgEPAQ4CJyYnJj4BNzY3Njc+Ajc2FhUUBwYHFDM+ARceAR8BFicmJw4EBw4EJyIuAzc0PgE3PgMyFxYHBgcGBwYXFjc+Ajc+AT8BBgcwBwYnJjY3NjIXHgMXFhUGBwYC1B8GCQUEARIYGRIBDAYGBQEBDgIBAgQEARMZGBUFIQIIAg0TDCEDAQIFAQYpEFEKChUMFCIWES8BEzAUCxIDBBP6FRQECyIeJg0BAxEbNiMHFC4hGAQCEQ8BBA0NFAkYBAIICwINJSsNARcfCwsfCgpSEgM6CQcTEhSYMAsjDxEGFwEiBwE0aSIvLCUOGwIDJCYVRxoZFgYBOAgFCAMCFBUpCoEXPAoOBgIEJQkUJQotijjJGBcYAgUUEBg0JXUBExMEAg4FBiDFAgQFFU1al1MFESkgGAECEBs6JgcVMhABBAoFBg0eDg0TCjUICikFaoMkJU0VFAIDAQseFiQHBwUBAwIEAwobJQYCAAIAL//2AvECgABNAJQAACUUDgUxBicmJyYnBgcOBSMiLgEnJjY3PgU/AT4EFx4DDgMxDgIHNjc2FxYHBgcWFx4BHwEeARceARUBJicOBAcOBCciLgM3ND4BNz4DFhcWBwYHBgcGFxY3PgI3PgE/AQYHMAcGJyY2NzYyFx4DFxYVBgcGAvACBAUFBQMdHRseETkTBAEDAgcJEQsECxYDBSkeCBUSExAMBAMBAw0OFwwIDAUDAQICAwEkMA9TBygNEB0RUwwICBkICAcvAwgI/vYVFAQLIh8lDQEDERs2IwcULiEYBAIRDwEEDQ0UCRgEAggLAg0lKw0BFx8LCx8KClISAzoJBxMSFJgwCyMPEQYXASIHMQYJCAcFBAISEhInF2NFJAUfChUIBwITEB29VBc1LzAlHggIAgYSCAgGAgkKDAoMBwgBU3YoPgUaIygcEDoWDxAkCQoIJgMHDQQB6AEFBRVNWpdUBRApIBgBAhAbOiYHFTIPAgQKBQEFDR4ODhIKNQkJKQVphCQlTRQVAgMBCx4WJAcHBQIDAQQDCxolBwEAAAIAL///ArMCfwAoAHEAAAEeAw4DMTAOAQcGBxQOBCMiLgEnJjY3PgM/AT4EByYnDgQHDgYnIi4DNzQ+ATc+AzIXFgcGBwYHBhcWNz4CNz4BPwEGBzAjBicmNjc+ARceAxcWFQYHBgKYCAsGAgECAgMlMA4zCwMCBwkQCwQLFgMFKR4LHRkWBgYBAw0NF6cVFAQLIh8lDQEBBwsWGyoaBxQuIRgEAhEPAQQNDRQJGAQCCAsCDSUrDQEXHwsLHwoKUhIDOgkHExIUmDALIw8RBhcBIgcCdAIJCgwKDAcIVXgolVEFHwsVBwcCEhEcvVMgSz81EA8CBhIICF8CBAUVTVqXUwMIGhYcEw0BAxAbOScGFTIQAQUJBQUOHg4NEgo2CAoqBWmDJSVNFBQBBAweFyQGBwEGAQMCBAILGyUGAQAAAwAv//8C1AKBADQASgCSAAABFgcOAgciDgUnLgInJiMHBhQOAyMGJjc+AT8BNjc2FhcWDwE2NzYXFhcWFxYHPgEnLgEHDgEPAQ4BDwEWBhY3MjY3AyYnDgQHDgQnLgQ3ND4BNz4DFhcWBwYHBgcGFxY3PgM3PgE/AQYHMCMGJyY2Nz4BFx4DFxYVBgcGAs0GBQMZKhgBAgYICw0RCQMKFAQCAQIBAwYIDQcZFgECJx5dDBYRHwYND0cJAxsfCQcIBQZxHRYEAgkLBw4EBBkfAgIBAgoKCRcHbxUUBAsiHyUNAQMRGzYjBxQuIRgEAhEPAQQNDRQJGAQCCAsCDSUrDQEPEhcJCx8KClISAzoJBxMSFJgwCyMPEQYXASIHAV4mLiVYWRoCBwUGAwICAQIPDQUEAwMJBwgFAR8ZI7lN7hwMBgoKFCSrCwMdEAUICgsP9i+DFQ0JAgENBgYnZyAgARARARgLAbABBQYVTFuWVAUQKh8ZAQECEBs5JwYVMhABBQkGAQUOHg0OEgo2CAkpBURRYBwlTRQUAQQMHhckBgcBBgEDAgMDCxomBgEAAAAAAgAv//gDPwKLADwAkgAAAR4BBw4BJyYnBgcGBw4GIyIuAScmPgE3NjcmJyY2Nz4BHwEyMzc+BBceAxQOAjEUBxYBFhceAQYHDgEuBicuAScOAgcOAgcGJjc+ATc+AT8BDgQnLgE2Nz4BFzIeAgYHDgEPATA+BTcyNh4CFxQWDgIHBgceAgMhEA4CAyAjCQohEDMLAQMBBAYJDgkDChMDAhAiExEaFwcOAQoHGwoLAwcVAQMMDRULBwoFAQMCAwwV/n0XDQcKDBYIEA8ODgsMBwkBDUwDBA0dCAYJDxMgLgMDKhgOGAUEAQUPDhYJEAITEB5iJgIFDAcBBwsiCwwTISs0NDoZAwgYFBUGAQMHFBChXAMNOAIPBQwNFSACAQFUMZdQBhgMEgkKBQIRERJkgDc0RAMDCR8QDAoBATYCBxIICgYCCQkNCgwHBwEfAv5pGAsIGCQNBAMEBw0LEAkOAhKXEwQQNh4VSycMEx4jI6lLLVATEgIEDAUFBQceIhIiNBEDDA4bEBlbICETHyYpJR4HAQEGEg4BBQ0MEAY/XQspcgAAAwAv/y8DVAKLAC4ARgCfAAABNhYHFA4DBw4CJyYnBgcOBSMiLgEnJjY3PgM/AT4EFxYXNhc2JgcOAw8BDgMHBh8BHgE/AT4BBRYXHgEGBw4BLgUnLgEnDgQHDgIHBiY3PgE3PgE/AQ4EJy4BNjc+ARcyHgIGBw4BDwEwPgU3PgEeAhccAg4DBwYHHgIC+iU1AQEMFCocBRE4Hh8UHgYBAwIGCRALBAsVAwUoHQscGRUGBgEDDA4WDBcCGCQDDBAGCwkHAQIWIBAHAgEBAQQUCAglOP6WFw0HCgwWCBMPEgwPCAsBDUwDAQYODQ8FBgkPEyAuAwMqGA4YBQQBBQ8OFgkQAhMQHmImAgUMBwEHCyILDBMhKzQ0OhkDCBgUFQYCBQoRC6FcAw04AYwBMS4JFEU8TRwEDxMFBBBmMwUeCxUHBwISERy7Ux9LPzUPDwIGEggIBggWC2gdEQcCCAkHAwIZPTgkDwoJBRAGBQUdk30YCwgYJA0FAQQNCxILEQESlxMBBhQWJBMVSycMEx4kIqlMLFESEgEFDAUFBQceIhIiNBEDDA4bEBhbISETHycpJB4HAQECBhIOAQIHCAoKCgU/XAwpcQAAAgAv/z8DXQKLAFgAsQAAARYHDgMPAQYHDggnJicmJyY2FxYXFj4CNz4BNzAmFQYHDgMnIi4DJyY2NzY3PgQXFgcGBw4BBwYXFjc+ATc+Azc+AxYBFhceAQYHDgEuBScuAScOAgcOAwcGJjc+ATc+Az8BDgQnLgE+ATc+ARcyHgIGBw4BDwEwPgU3PgEeAhcUFg4CBwYHHgIDOCUYBAgGBQEBQxMBDQgRDhgXICISOxEBAQsrHggQDhQUCwMKFwMCBQ0DCxMZDAIIFBERAwYRGisTBggPDBIHGA0DDA0qBRcNBQgWRxUIFw4QBQECCQkO/mgXDQcKDBYIEw8SDA8ICwENTAMEDR0IBQgFEA8gLgMDKhgJEAsIAQIBBQ8OFgkMBwgQDB5iJgIFDAcBBwsiCwwTISs0NDoZAwgYFBUGAQMHFBChXAMNOAGfEzAHExEPBASyPgQsFy8dJxgTBQIKJgMCHi8KAwoGAREOCBI+DgEBCAwECAwHAQEGChYPHGs/aRcICQ4EBAYLMAoXF1sRSBUGAgZrNBI8JCIGAQIHAwH+1xcMCBgkDQUBBA0LEgsRARKYEgQQNh4TNx8hCRMeJCOoTBw1JR0HBwEFDAUFBQUUGRoNIjQRAwsPGw8ZWyEhEx8nKSQeBwEBAQcSDgEFDQwQBj9cDClxAAAAAAMALf80AqUCfwAtADgAegAAARYHBgcOAgcOAw8BBgcOAScmJyY3Njc2FxY2PwE2Nz4BNz4ENz4BFzYeAQcOAicuATYBJiMiBwYHIisBBiMwIi4GJyY2Nz4BPwE+BBceAxQOAjEUDgEHBgc2MhcWFxYHDgEPAQ4CLgECchEEAQsCHSIIBQ8NDAMDESQcTiMpBAIIDRoTHxEbCAkOEwRGAQEHDAwLBAkeCw0cCwYFEBMKDgsN/vkyDBhbDigDBAEEAQIHBggICAYFAQUuHxI1EREBBAwOFwwICwYCAwIDJTAOFxw0gh4aCQYDAQgDAwQMDQoMAYYKFwcnB1ptHBMtJiIKCSwmHQ4RFCARDxkDAhIICwoLEkIP3gMDFiAgGwYNBQh6ChwPCg0EAwUdHf4TBQcBBQEBAQMEBQgKBhu8WTOBJycCBhIICQYDCQoMCwwHBwFWeihDiQcGBhYPEgoSAwQGBgEBAwAAAAMALf80AyICiwAtADgAoQAAARYHBgcOAgcOBQ8BBgcOAScmJyY3Njc2FxY2PwE2Nz4CNz4BNz4BFzYeAQcOAicuATYHNiYGBw4BBwYHBgcGJicmNz4CNzY3NiYHDgEPAQ4EBxYHBicuATc2NzY3Njc2NTQHBicmNjc2NzYWBwYHBhY3PgE3Njc2FgcOATEGPwE+Ajc+Ajc2FgcCBwYXFiMGJyY2NzYC7hEEAQoCHSMIBAoJCggHAQIRJBtOJCkEAggNGhMfERsJCA4TAyUiAQQjCAkeCw0cCwYEERMKDgsN5wEFDwwYQgkSAwQiHjAECCYLFQsHFQQEBBEMIQsLAwweFxUBARAWKREVBhNAEwwEAgENHBcOAREzNyEpBwYhBQEKBzoYKSQYGAgGIAUFBAIiKwsREiAQHBQNWgoIBwYxMwgHGhYdAYYKFwcnB1ptHA4fHR0YEgUFLCYdDhEUIBEPGQMCEggLCgsSQgt0bQQOXw0NBQh6ChwPCg0EAwUdHUgICgQOHHYqOkReDAsXFzB0IEIjETEYCxoFAx0NDQQROT5gMEwWIQ4GMSyKojcgCwsGAQkHEBAKKBAvDAcrGhU+CAkHBj4VJgYEHxgSSw8BAQIiKwoPDg8BAycm/v9BOE9EASMexTtOAAAAAAIALf/1A34CjQBFAK8AAAEGBwYfARYGJy4BNSY2PwE2NzQ+Ai4BIyIHBgcOAQ8BDgEnJicmPgE3Njc2Nz4CNzYWFRQHBgciFjM+ARceAx8BFiUCBwYXFgciJyY2NzY3NiYGBw4BBwYHBgcGJicmNz4CNzY3NiYHDgEPAQ4EBxYHBicuATc2NzY3Njc2NTQHBicmNjc2NzYWBwYHBhY3PgE3Njc2FgcOAgcGNzI+Ajc+Ajc2FgNyHgcJBgMBEhgZEgEMBgYFAggHAwUFAhMYGBYFIAMIAxkSIQMBAgUCBSkRUQkLFAwUIhYRLgEBARIxEwcMCAYBAhP+/FoKCAcGMTMIBxoWHQIBBQ8MGEIJEgMEIh4wBAgmCxULBxUEBAQRDCELCwMMHhcVAQEQFikRFQYTQBMMBAIBDRwXDgERMzchKQcGIQUBCgc6GCkkGBgIBBEPAgUFAgQiKwsREiAQHBQBNWoiLi0kDhwDAiUmFEgZGhUGAxseDAkCFBQqCoEWPBAQAwUlCBQmCS2KOMoYFhgDBBMRGDMmdQETFAQCBwcHAgMftf8AQTlPQwEiHsY6Th4HCgQNHHYqO0RdDQsXGDBzIEMjETAZChsFAx0NDQUROD5gMUsXIA4FMiuKojcgDAsFAgkIEBEJKRAuDAgrGhU/BwoIBT8VJQcEIBcOKSMEDgECIysJDw4PAgImAAAAAAIALf/4A98CjwBIALYAAAEeAQcOAScwLgMOAgcGBwYHDgIHFxYXFhcWFxYHDgEPAQYnIicHDgMVDgEmJyY3Njc2NyYnLgE3Njc2Fzc2Nz4BFxYFAgcGFxYjBicmNjc2NzYmBgcOAQcGBwYHBiYnJjc+Ajc2NzYmBw4BDwEOBAccAQYHBicuATc2NzY3Njc2NTQHBicmNjc2NzYWBwYHBhY3PgE3Njc2FgcOAgcGNzI3PgM3PgI3NhYDtBgTDAsjCAsHDgoOCwwFFRADAQIDAwIUDgsIBQQBAwQDBgICEycEESEMEggLAxkaBxMEBBMPJBcIDgIICxsJFw0QGBhNLBb+2loKCAcGMTMIBxoWHQIBBQ8MGEIJEgMEIh4wBAgmCxULBxUEBAQRDCELCwMMHhcVAQgHFikRFQYTQBMMBAIBDRwXDgERMzchKQcGIQUBCgc6GCkkGBgIBBEPAgUFAgIBFxofCRESIBAcFAJ2CSASEAIFAwICAQEDBwUXKwcFAwkKBQIBBQMGBAQKCwgMAwIXAwJuJEsoPwERDwIFDy0iXERqAwMFJA4XBAIDIiknJScEAmz+/0E5T0MBIh/FO04dBwsEDhx2KjpFXQwLFxcwdCBCIxEwGQsaBQMdDQ0EETk+YDEIGjUKIQ4GMSuKojgfDAsFAgkIEBEKKBAvCwgrGhU+CAkHBj4VJgYEHxgNKiMDDwEBARcbHggODw8BAiYAAAAAAgAt//8DCwKEAD0AkgAAAR4BBw4BJyYjBgcGBw4GIyIuAScmPgI3NjcmJyY2Nz4BHwEyFzc+BBceAxQOAjEUBxYnHgEOAQcwDgEHBgcUFQ4EByoBLgI1LgInLgEnBgcGBw4BJy4CJyY2Nz4DPwE+BBc2FxYXHgEXHgMXPgE3PgM/ATQ+AwLtEA4CAyAjCQohETILAQMBBAYJDgkDChQCAgoSGg8RGhcHDgEKBxsKCwMHFQEDDA0VCwcKBQEDAgMMFeEODgEDASUvDSgOAgMHCREMAwcTDwwBCBAIAQUBGRYaDwQbIAQMFgQGJRwLGxgVBgYBAgkLEQodDgYBAg8BAQUFCQMCEQIHFxYVBgcDCw4YAg8FDQwVIQMBUzGXUQYYCxIJCwQCERENQ1NhKTNEBAMIIBAMCgEBATcCBhIJCQUDCAoMCgwHCAEeAmcCFRwOBlZ5KH9pAwQQDxcKCQEFCRMNBnm7OQcWAj9DU5YpKwIBAhURHcBUH0w/Ng8PAgUNCggBAh0NCQ1oCwUqMkYZCTELHEk/NhAQAgcQCwgAAAACAC3//wN9AoMASQCdAAABHgEHDgEnIi4DIg4BBwYHBgcOAQcXFhcWFxYXFgcOAw8BBicmJwcOAxUOASYnJjc2NzY3JicuATc2NzYXNzY3PgEXFgUeAQ4BBzAOAQcGBxQVDgQHKgEuAjUuAic0LgMnBgcGBw4BJy4CJyY2Nz4BPwE+BBc2FxYXHgIXHgIXPgE3PgE/ATQ+AwNSGBIMCyMIAQoHDgoOCwwFFhEDAgEHAhQOCwgFAwEDBAIEAwIBARQnBBEkDBQJDAMaGQgTBgQWECcXCA4BCAsbChcNEhgYTysX/sgODgEDASUvDSgOAgMHCREMAwcTDwwBCBAIAQIBAgEZFhoPBBsgBAwWBAYlHBEvEA8BAgkLEQodDgYBAgcIAQEHCwQCEQILKxAQAwsOGAJyCSASEAEFBAEDAQMHBRcqBwUDEgYCAgQEBgQECgsFCQUEAQEWAwECbSRLJz8BEQ8DBg8tIVxDaQQDBiQOFwMBAyIpJiQmBQMDAhUcDgZWeSh/aQMEEA8XCgkBBQkTDQZ5uzkDBwYGBwI/Q1OWKSsCAQIVER3AVDJ/JyYCBQ0KCAECHQ0JCzc1CQY8YB4KMAstfSgoAgcQCwgAAwAv//4DdgKDAEcAaQCBAAABHgEHDgEnNC4DDgIHBgcGBw4BBxcWFxYXFhcWBw4BDwEGJyInBw4DFQ4BJicmNzY3NjcmJy4BNzY3Nhc3Njc+ARcWJR4BBw4EBw4GJy4DNz4ENz4EFzYmBw4BDwEOAQcGFxQXFhcWNzY3PgIDSxgTDAsjCAsHDgoODAsFFREDAQIGAhQOCwgFAwEDBAIHAQIUJwQRIgwTCAsEGRkIEwUEFA8mGAcPAQgLGwkXDREYGE4rF/40NUgDAQQUIEEqAQUQERwdJxMmNBcHBwIGGyNCKAIJHB4rKgQWFw0fCQo7QgcDAQEEBw8fGBMoQR0CcwkfEw8DBQEDAgIBAQMGBRgqCAQEEgUCAgQEBgMECgwIDAICFwMCbSRMJz8BEQ8CBg8sIlxEaQQDBSQOFwQBAiEpJyQoBQIHAVFPCilqZXksAgQPCg8FAwUJKzpGIgkdV1JoKQIKFxIOqy8cCgUZCglLpzIZCgoFEQoVBwYSJpR4AAAAAAMAL//8AyECfwAzAFUAbQAAAR4BBwYHDgIHDgMPARYXHgEVFAYnJgcGBwYnJjQ3PgE/ASYiBiMiLgI3PgE/ATYyJR4BBw4EBw4GJy4DNz4ENz4EFzYmBw4BDwEOAQcGFxQXFhcWNzY3PgIC+RIWAQEgAgMCAiM9IxkFBT4fGh4bE2EjLh0aDAkLCm4zMxIoIgMIDxYMAQEOBgYfn/6HNUgDAQQUIEEqAQUQERwdJxMmNBcHBwIGGyNCKAIJHB4rKgQWFw0fCQo7QgcDAQEEBw8fGBMoQR0BoQIaEB8eAgQEASRDLiMICAMEBRQXGBgCDQEDBwYPCiMUDoI6OgMCAgcPDA8TAwIH2wFQUAopamR6LAEFDgsOBgMGCCw6RSMIHlZSaCkDCRgRD6wvHQoGGQkKS6cyGAoLBRAKFgcGEiaUeAAAAAQAMv8WAuQCgAAvAEcAYwBzAAABMhYVFAcGBw4CBzI+AzMWFxQHBgcGJyYnNDY3DgEuAicmNzY3Njc2Fz4CBzYHBgcOBQcVFBcWFxY3Njc+AicOAycjDgEHBicuATUnPgM3Njc+ARcWBgc2JicmJyYHDgEPATI+AgK2ExoCCA8NMz8JAQMJCAkDHQEhHB4cEQ4BFA0FDyggHwYEBBBXFhpALwEGFEcDEhIhDhcOCwUDAQEBAgsYBwccKg23GUI6NA8QFRgCBDcTFAEFKTkmEQ8YKHArNQ1zKQEfBgk1FgwgCwoWGCknAZkTFAcJHiAch8pBAQMCAQEaGRMQCAcODBoVeysCAgEMJBwWGYBlGA4gLQMJEWwiAgMoEiglJB0XBgcEBgcFFBEFCCJrPkEfKhEIAUJrGjsDAR0ODjucl1wlHxMfBxsmnQ8uVQ0CAQgxGVMcHQMKGQAAAwAy//wDjgKEAFgAcgCDAAABFgcGBw4BBwYnJicOBicuATc2Nz4BMx4BBw4BBwYHBjc2Nz4CNz4JNzYWFxYGBwYHDgQUHgIXFjY3PgI3PgYzNiUWBgcOAycjBgcGJy4BNSc+Ajc2Nz4BBzYmJyYnJgcOAQ8BPgQDhQkcPScMOCsoGxIBAQQNDBUTGgwrGRMsHA0XEhMYCgUXDSoCAioaEwggHQQBBAIEAwUDBQQGAg4bBQMGCzcGAQQCAwECAwcFEyQNAyUgBAEHAggGCgwHFf48NQ02GUI6NA8QKgUENxMUAQZJNhkPGChwICkBHwYJNRYMIAsKERMiGiIBjBM8h2AdNQQDFhAUAQUNCg4GBQQKVkCdORgSARwXDCodX0BAIxU7GFRHCAEIAwcEBgQFBAMBBggLDhYbgCEFEgsPCwwIBwQBAjcgB2NSCAEOBQsFBwQCzSaeQx4rEAkBh0A7AwEdDg5N6II5HxMfB+4vVA0DAQcwGlIdHQEBBgsXAAAAAwAy//0CyAKFACAAOgBKAAABFgYmIycmBg8BDgEPAQ4BJy4BJzUmEjc2Fx4BHwE+ARYFDgMjJwYHBicuATUnPgI3Njc+ARcWBgc2JicmJyYHDgEPATI+AgLFAhcZBh4XKQgJExsEAwQXGBAQAQFKCxMbDRABARBCN/7pGUI6NA8QKgUENxMUAQZJNhkPGChwKzUNcykBHwYJNRYMIAsKFhgpJwF9FRcBAwEgEBElbSMkHx8CAhkLCykBABorAgIRCAgXExExHioRCAGHQDwEAR0ODk3ngzgfEx8HGyadEC9VDAMBCDEZUx0cAgoaAAAAAwAy//8C5wKFADsAVQBnAAABHgEHDgEnJiMGBwYHDgYjIi4BJyY2NzY3JicmNjc+AR8BMhc3PgQXHgMUDgIxFAcWJRYGBw4DJyMGBwYnLgE1Jz4CNzY3PgEHNiYnJicmBw4BDwE2Mj4DAskQDgIDICMJCiEQMwsBAwEEBgkOCQMKEwMEKh0RGhcHDgEKBxsKCwMHFQEDDA0VCwcKBQEDAgMMFf73NQ02GUI6NA8QKgUENxMUAQZJNhkPGChwICkBHwYJNRYMIAsKDg8dFRsaAg8FDQwVIQMBUzGXUQYYCxIJCwQCEREbvlQ0QwQDCCAQDAoBAQE3AgYSCQkFAwgKDAoMBwgBHgJZJ51DHisQCQGHQDsDAR0ODk3ngzkfEx4I7i9UDQICBzEZUh0dAQMIDBUAAAADADL/QwL/AoUAVgBsAH4AAAEWBw4BDwEGBw4IJyYnJicmNhcWFxY+Ajc+ATcwJgcGBw4CJyIuAycmNjc2Nz4EFxYHBgcOAwcGFxY3PgE3PgI3PgMWBQYjBgcGJy4BNSc+Ajc2Nz4BFxYGBzYmJyYnJgcOAQ8BMj4EAtolGAYMBANDEwENBxIOGBcgIhI7EQEBCywdCBAOFBQLBAkXAwEBBQ0FDyMPAggUERAEBhIaKxIGCA8MEgcYDQINBhISEAIXDQUIFkcVCCESBwECCQkP/tlOmioFBDcTFAEGSTYZDxgocCs1DXMpAR8GCTUWDCALCg4PHRUbGgGjEzAMIQoLsj4ELBcvHScYEwUCCiYDAh4vCgMKBgERDggSPg4BAQgMBQwOAQEGChYPHGs/aRcICQ4EBAYLMAoXCyQnJAlIFQcDBms0ElUrCAECBwMBRGGHQDsDAR0ODk3ngzgfEx8HGyadEC9VDQIBCDEZUxwdAQMIDBUAAAAAAwAy//oC/wKEADUATwBfAAABFgcGBw4EBwYnJgciFSIOAwcGJicmNzY3PgEXHgEHBgcOAhY3Mj4DNz4CNzYFDgMnIwYHBicuATUnPgI3Njc+ARcWBgc2JicmJyYHDgEPAT4DAt0hFE0JAgMCBgwJJhMDDQEBCQgNEAkXLAsJAgNFFB4YHQoNLw8DCQ8GDwIEDw8UCQkqHggg/u8ZQjo0DxAqBQQ3ExQBBkk2GQ8YKHArNQ1zKQEfBgk1FgwgCwoWGCknAZ8MK6I8DSofHxICBi8HDQEKBgkGAQEXExImSqYwJQECJhVbKwkdPSgBAQgPHxUUaEcNNEkeKxEIAYdAOwMBHQ4OTeeDOR8SHwgbJ50PL1QNAgIHMRlTHB0BAgoZAAAAAAQAMv/8AmUCggAiAC0ASABbAAABHgQOAjEwDgEHBgcUFhQOAiMiJyY2Nz4BPwE+Ax4BBw4CJy4BNicWBgcOAycjBgcGJy4BNSc+Azc2Nz4BBzYmJyYnJgcOAQ8BNjI+BAIoBwoGAwEBAQIWHQgcAQEEBw0KHAkIDxEKHQoKAQcaKRwKBwQREwoOCg5oNQ02GUI6NA8QKgUENxMUAQUpOSYRDxgocCApAR8GCTUWDCALCgwNGRAYFBgBjwEGBggGCAQFNkwaXzMDEwcNBQUXEng1IFAYGQMLDXAKHQ8JDQMDBR0dcSaeQx4rEAkBh0A7AwEdDg47nJdcJh8THwfuL1QNAwEHMRlSHR0BAgUIDBMAAwAy//4DZQKGAEkAYwB2AAABHgEHDgEnMC4CKgEOAQcGBwYHDgEHFxYXFhcWFxYHDgMHIwYnJicHDgMHDgEmJyY3Njc2NyYnLgE3Njc2Fzc2Nz4BFxYFFgYHDgMnIwYHBicuATUnPgI3Njc+AQc2JicmJyYHDgMPATI+AwM6GBIMCyMICwcOCg4LDAUWEQICAgYCEw4LCAUEAQIEAQQEAgEBEygEESMMFQgMAQMaGQcTBQUVECcXCA4BCAwbCRcOERkYTisX/pQ1DTYZQjo0DxAqBQQ3ExQBBkk2GQ8YKHAgKQEfBgk1FggSEQ4EBBETIhoiAm8KIBIPAgUEAgMDBwQXKwcEBBIFAwEFBAYDBQoLBQkFBAEXAwECbSNMJz8BEQ4CBg8tIltEaQQDBSQOFwMCAyEpJiQmBQINJp1DHyoRCAGHQDsDAR0ODk3ngzgfEx8H7S5VDQIBCDEQLiomCwwBBgwXAAAAAwAy//4C5gKDAEMAXgBuAAABBgcGHwEWBicuATUmNj8BNjc0Njc2LgEjIgcGBw4BDwEOAScmJzQ+ATc2NzY3PgI3NhYVFgcGBxQyMT4BFx4BHwEWARYGBw4DIycOAQcGJy4BNSc+Ajc2Nz4BBzYmJyYnJgcOAQ8BMj4CAtsfBwkGAwITGBgTAQwGBgUCDwIBBAYCExgYFgUgAgkDGRIhAwEGAQUpEVEJCxQNEyIBFxEuARIxEwsSBAMT/tU1DTYZQjo0DxAVGAIENxMUAQZJNhkPGChwICkBHwYJNRYMIAsKFhgpJwE0aCMvLCUOGwIDJCYVRxoZFgYBOAgHCAMUFSkKgRc8DxADBCUJFCUKLYo4yRgXGAIFFBAYNCV1ARMTBAIOBQYgARAmnUQeKhEIAUNqGjwDAh0ODkzogzgfEx8H7i9VDAMBCDEZUx0cAgoaAAAAAAQAMv86AmYCgwAmAC4ARQBVAAABFgcGBw4BBw4BDwEGBw4BJyYnJjc2NzYXFjY/ATY3PgE3PgE3PgIeAQ4BLgE2BwYjBgcGJy4BNSc+Azc2Nz4BFxYGJw4BDwEyPgI3NiYnJicmAjIRAwELAT0LCRkJCRAkHE4jKgMCCAwbEx4SGwgIDxMERgEEIwgIHxgcCw0dHAsNdk6aKgUENxMUAQUpOSYRDxgocCs1DcQMIAsKFhgpJxQpAR8GCTUBjAoXBycFwCUdThgYLCYdDhEUIBEPGQMCEggLCgsSQg/eAw5fDQ0FcgocHg4KHR2XYYdAOwMBHQ4OO5yXXCUgEh8HGyadWxlTHB0DChkVLlUNAgEIAAAAAAMAMv/5AvcCggBHAGEAcwAAJRYHBicmJyYnBgcUDgQjIi4BJyY2Nz4DPwE+BBceAw4DMQ4CBzY3NhcWBwYHFhceAx8BHgEXHgEVARYGBw4DJyMGBwYnLgE1Jz4CNzY3PgEHNiYnJicmBw4BDwE2Mj4DAvUCGh0dGx4RORMFAwIHCRELBAsWAwUpHgseGRYGBwEDDQ4XDAgMBQMBAgMCASQxDlIIKA0QHhBTDAgFDg0KBAMHLgQHCf7GNQ02GUI6NA8QKgUENxMUAQZJNhkPGChwICkBHwYJNRYMIAsKDg8dFRsaNBkQEhISJxZkRSQFHwoVCAcCExAdvVMgTD81DxACBhIICAYCCQoMCgwHCAFTdig+BRkiKB0POhYPChYRDgQECCYDBw0EAjAmnkMeKxAJAYdAOwMBHQ4OTeeDOR8THwfuL1QNAwEHMRlSHR0BBAcMFQADADL//AKxAoIAKABCAFQAAAEeAxQOAjEOBAcGBw4FIyIuAScmNjc+AT8BPgQHFgYHDgMnIwYHBicuATUnPgI3Njc+AQc2JicmJyYHDgEPATYyPgMClggLBQICAwIBDxcZGwg0CgEDAgYJEQsECxUDBSkdEjIQEAEDDA4WzzUNNhlCOjQPECoFBDcTFAEGSTYZDxgocCApAR8GCTUWDCALCg4PHRUbGgJ0AwkJDQoMBwcBIzc9RBmWUQUfChUIBwITEBy9UzN+JyYCBhIICRMmnkMeKxAJAYdAOwMBHQ4OTeeDOR8THwfuL1QNAwEHMRlSHR0BBAcMFQAAAAADADL//AMOAoIANgBQAGEAAAEeAhUGBw4BBw4DDwEWFx4CFxQOAScmBwYHBicmNDc+AT8BLgEOASMiLgI3PgE/AT4BJRYGBw4DJyMGBwYnLgE1Jz4CNzY3PgEHNiYnJicmBw4BDwE+BALmDBIJAiACBAIkPCMaBAU+HhIWEAEOFA1gIy4dGg0ICwlvMzIOIBYXAwgPFg0BAQ4HBh6f/uo1DTYZQjo0DxAqBQQ3ExQBBkk2GQ8YKHAgKQEfBgk1FgwgCwoREyIaIgGkAQ0UCh4fAgcCJEMtIwgJAgUDCBUPEBcJAg0CAgcHDwokEw6DOjoBAQEBAgcQCw8UAgMGAcAmnkMeKxAJAYdAOwMBHQ4OTeeDOR8THwfuL1QNAwEHMRlSHR0BAQYLFwAAAAADADL/+AMiAogANABPAF8AAAEeAgcOAQ8BFhcWBgcGLgEvAQYHBicuAT4BPwE+Az8BJicmNTQ2NzYeAh8BPgI3NiUWBgcOAyMnDgEHBicuATUnPgI3Njc+AQc2JicmJyYHDgEPATI+AgMBCRAIDws8GBhICAgFEAsVDQVKBEkzJAoKAgQDAwghIyEKCiERGRETCRIPBAYvDSglBxj+zTUNNhlCOjQPEBUYAgQ3ExQBBkk2GQ8YKHAgKQEfBgk1FgwgCwoWGCknAaEDEiATEEMZGn4RDCUMCQQJB4cDXEIOBBASEQUFDSkpJgwMQx0pDg0ZAgIJFggKVw0sKgkgxCadRB4qEQgBQ2oaPAMCHQ4NTeiDOB8THwfuL1UMAwEIMRpSHRwCChoAAAMAMv/+AvwCgwAvAEkAXQAAAR4BBw4BBw4DBw4BLgE3Njc2Nz4DOwEeAQ8BDgIHBhcWNzY3Njc+ATc+ASUWBgcOAy8BBgcGJy4BNSc+Ajc2Nz4BBzYmJyYnJgcOBQ8BPgMC6wwFBQUqFA8XIycVFi8mFgIHPwUJBQ0KCQMCExEBAQEKGAweAwENAQIeIAxJAgko/t01DTYZQjo0DxAqBQQ3ExQBBkk2GQ8YKHAgKQEfBgk1FgYMDQwKCAICFhgpJwGfBhUOFHEpHSo2Kw4OBhIxI1u1DwoHCAQCARMKCQsYNiFUPx8GAQEWQBi8BRUNwCaeQx4qEQkBAYhAOwMBHQ4OTeiCOR8THwfuL1QNAwEHMAwfHiAbFQcGAQIKGQAAAAQAMv//As4ChQAuAEQAXwBwAAABFgcOAQcUDgUnLgInJiMHBgcGJjc+AT8BNjc2FhcWDwE2NzYXFhcWFxYHPgEnLgEHBgcOAQ8BFgYWNzI+AjcDFgYHDgMjJw4BBwYnLgE1Jz4CNzY3PgEHNiYnJicmBw4BDwEyPgMCyAUEBjUkAgcHDA0RCQMJFQQCAQIGIBgWAQInHV4LFhIfBgwORwgDHB8IBwgFBnAcFwQDCQsODhoeAwIBAgoLBQ4LCQOYNQ02GUI6NA8QFRgCBDcTFAEGSTYZDxgocCApAR8GCTUWDCALChETIhoiAV4mLjuOJgECBwUGAwICAQIPDQUEIgEBHxkjuU3uHAwGCgoUJKsKBB0QBQgKCw/2L4MVDQkCAhgnZyAgARARAQoODQUB9SadRB4qEQgBQ2oaPAMBHg4NTeiDOB8THwfuL1UMAwEIMRpSHRwBBgwXAAAAAAMAMv/9AtACiABEAF4AbgAAARYHDgIHDgEeARcUBgcGJyY3PgM/ATY3NiYPAQ4BBw4BFxYHDgEHIi4CLwEuATUnJjY3PgEeAR8CPgUWBw4DJyMGBwYnLgE1Jz4CNzY3PgEXFgYHNiYnJicmBw4BDwE+AwKaNQsBDxUIBgQBAwERESkMCQsBCAoJBAMGCAQKBwcVGhUTJAQCBAMSDAUKBwYBAQgIAQFQFggQDAkDAg8BBAwMExIX5BlCOjQPECoFBDcTFAEGSTYZDxgocCs1DXMpAR8GCTUWDCALChYYKScBnhg8BS5FGhYyISMCDhoCAykfQgojJSILCxIdDgwBAQcbIR6OIBcSCxABAgMDAQEHGgoKOvcVBwYBAwICDgIDCggJBAE9HisRCAGHQDsDAR0ODk3ngzkfEh8IGyedDy9UDQICBzEZUxwdAQIKGQAAAAMAMv/zA3kCgwCCAJwArAAAARYHFA4CBw4BHgEVFA4DBwYnJjc+Bz8BNjc2Jg8BDgEHDgEXFgcGBwYHIxUGBzAHIiMOAScmJyY3PgM/ATY3NiYPAQ4CBw4BFxYHDgEHIi4CLwEuASc1NDY3PgEeAR8CPgUWFxYXPgM/AT4EBQ4DIycGBwYnLgE1Jz4CNzY3PgEXFgYHNiYnJicmBw4BDwEyPgIDRDQNCgwRBQYFAQICBQcMBygKCAsBAwUFBQYEBAEBBggECQcHFBoUEiUDAgQDBgEBAQQFAQEBBAkEIAkICwIICgkDBAUJBAoGBw4WEA4TJAMCBQMRDAUJBwUBAgcHAVAWBw8MCQMCDgEECwwTERYKKAEDCQgGAgICBxcVIP50GUI6NA8QKgUENxMUAQZJNhkPGChwKzUNcykBHwYJNRYMIAsKFhgpJwGSFEEEHyU0FRUyISMCBAsLCAYBAikeQgYQEhUUFBANAwQSHQ4MAQEGGyEdjSAYEQkHAQEBAwIBAgEBAyQfQgkjJCILCxIdDgwBAQQRFhYejSAYEQsPAQEEAwEBBxoKCjr1FAcGAgMBAg4BBAkICQQCBRMtBgoIBwECAgUNBgQ4HioRCAGHQDwDAh0ODkzogzgfEx8HGyadEC9VDAMBCDEZUx0cAgoaAAAABAAy/ygDFgKDAC8ARABqAHoAAAEUDgMHDgInJicGBw4FIyIuAScmNjc+Az8BPgQXFhc2NzYeAQc2JgcOAQ8BDgIHBh8BHgE/AT4BJQYHFhcWFxYXFgYPAQYmLwEmJwYHBicuATUnPgI3Njc+ARcWBgc2JicmJyYHDgEPATI+AgMVAQoTKRwEETcfHhUdBQECAgYIEAsECxUEBSUbCxsXFAYGAQMMDRYMFwMYFhcoG0sDDQ8JEgQFGyQKAgEBAQQUCAgkN/7mNl0RIhMmCgUFBAQFEiYODjw4LQQENRMUAQZJNhkPGChwKzUNcykBHwYJNRYMIAsKFhgpJwEsBxZEPU0dBQ4UBAQQZzMFHwoVCAcCEhAcvFMgSz81EA8CBhIICQYHFwsBARMsKRwRBwQQBgYhWDMWCgkFEAUFBR2UbUMWMD4jIAkLDxcHBxACCQkqwYw5PAMCHQ4OTeeDOR8THwcbJp4PL1QNAwEHMRlTHB0DChkAAwAy//4DZgKIAEkAcQCFAAABHgEHDgEnMC4CIg4CBwYHBgcOAQcXFhcWFxYXFgcOAw8BBicmJwcOAxUOASYnJjc2NzY3JicuATc2NzYXNzY3PgEXFgUWBgcGBxYXFhcWFxYGDwEOAS4BLwEmJwYHBicuATUnPgI3Njc+AQc2JicmJyYHDgUPATI+AgM6GRMMCyIJCwcOCg4LDAUVDwMCAQYCEw4LCQUDAgIDAgQDAgEBEycEESELEgcLAxkaBxMEAxMPIxcIDgIICxsJFw0QFxdOKxf+lDUNNjZdESITJgoFBQQEBQoYFRIGBTw4LQQENRMUAQZJNhkPGChwICkBHwYJNRYGDQwMCggCAhYYKScCdwggEhADBQQBAwEDBwUXKwcFBBIFAgEFAwYDBQoLBQkFBAEBFwIBAW0kTCdAAREPAgUPLSJcRGoDAwUkDhgEAQIhKiYlKQQCEiedQ0MWMD4jIAkMDhgHBwoGBQgEBCnCjTg8AwEdDg5N6IM4IBIfCO8vVQ0CAgcxCx8fIBsVBgYDChkAAAAABAAy/zQCpAKBACkAMQBYAGgAAAEWBwYHDgEHDgMPAQYHDgEnJicmNzY3NhcWNj8BNjc+ATc+ATc+ARc2HgEOAS4BNgEmJwYHBicuATUnPgM3Njc+ARcWBgcGBxYXFhcWFxYGDwEGJicDDgEPATI+Ajc2JicmJyYCcREEAQsBPQsGDg0MAwQQJBxOIyoDAggNGhMfERsICA8TBEYBBCMICR4LDRwLDR0cCw3+2Dw4LQQENRMUAQUpOSYRDxgocCs1DTY2XBAiEyYKBQUEBAUSJg4oDCALChYYKScUKQEfBgk1AYYKFwcnBcAlEy0mIgoJLCYdDhEUIBEPGQMCEggLCgsSQg/eAw5fDQ0FCHoKHB4OCh0d/h8qwYw5PAQBHQ4OO5yXXCYfEx8HGyaeQ0MWMD4jIAkLDxcHBxACCQH2GlIdHQMKGRUvVA0DAQcAAAAAAgAt//8CmwKBADgAbgAAAR4BBw4BJyYjBgcGBw4GIyIuAScmNjc2NyYnJjc2NzYXNz4EFx4DFA4CMRQHFicGIi4CMSYnBgcGBxQOByMiLgEnJjY3NjcHDgIjIiY3PgM3MzYWFxYXFgcGAn0PDgEDICMJCiERMgsBAwIDBgkOCQMKFAIEKR0SGhcHGhMMIAwMFgEDDAwVDAcKBQEDAgMMFcUGDxENCh0oSxUvDAMBAwMGBwkNBwQLFgMFKR4fMkQECx0LEhIJAw0NDAMEPe4pGwkGBgsCDwUNDBUhAwFTMZdRBhgLEgkLBAIRERu+VDRDBAMLIRQJAwE3AgYSCQkFAwgKDAoMBwgBHgIPAQICAQQBsD+HYAQVBxIGDQUHAgITERy+U1d8BQECAiYWCAwHBAEIAwUEFA4PHwAAAAIALf/+AugCggBLAH0AAAEeAQcOASciLgIqAQ4BBwYHBgcOAQcXFhcWFxYXFgcOBTEHBiciJwcOAxUOASYnJjc2NzY3JicuATc2NzYXNzY3PgEXFgcGLgExJicGBwYHFA4HIyIuAScmNjc2NwcOAiciJjc+AT8BNhYXFhcWBwYCvRgTDAwiCAELBw0LDgsMBBYRAgICBgIUDQsJBQMBAwQBAwIDAgEBEygEESIMFAgMAxoZCBMGBBUPJhcIDgEICxsJFw4RGBhOKxf3CB4XHShLFS8MAwEDAwYHCQ0HBAsWAwUpHh8yRAQLHQsSEgkFGAoJPe4pGwkGBgsCcQkgEhACBgMCAwMHBRcqCAQEEgUDAQUDBgQECgsEBgUEAwIBFgMCbSRLJz8CEA8CBg8tIVxEaQQDBSQOFwQBAyIpJiQnBQJYAgMDBAGwP4dgBBUHEgcMBQcCAhMQHb5TV3wFAQIDASYVDREBAggDBQQUDg8fAAAAAAIALf//AqwCgABHAHkAAAEGBwYfARYGJy4BNSY2PwE2NzQ+Ai4BIyIHBgcOAQ8BDgEnJic0PgE3Njc2Nz4ENzYWFRYHBgcUMDM+ARceAx8BFicGLgExJiMGBwYHFA4HIyIuAScmNjc2NwcOAiMuATc+AT8BNhYXFhcWBwYCoR8HCQYDAhMYGRIBDAYGBQIIBwMFBQITGBgWBSACCQMZEiEDAQYBBSkRUQYFDAkNCBMiARcRLgESMRMHDAgGAgET+QgeFx0oSxUvDAMBAwMGBwkNBwQLFgMFKR4fMkQECx0LEhIJBRgKCT3uKRsJBgYLATdoIy8sJQ4bAgMkJhVHGhkWBgIcHQ0IAxQVKQqBFzwPEAMEJQkUJQotijjJDw4WCgsBBRQQGDQldQESFAQBBwcHAwIgxAECBASwPodhAxUIEQcMBgYCAhMQHb1UV3wFAQIDASYVDRACAggDBgMUDg8fAAAAAgAt//YCswKDAEkAfQAAJRYHMCMGJyYnJicGBw4FIyIuAScmNjc+Az8BPgQXHgMUDgIxFA4BBzY3NhcWBwYHFhceAx8BHgEXHgEXAwYuAzEmJwYHBgcUDgcjIi4BJyY2NzY3ByIOASMiJjc+AT8BNhYXFhcWBwYCsAIZAR0cGx8RORMEAQMCBgkRDAMMFgMFKR8LHRoWBgYBBAwOFw0ICwYCAwIDJDEOUgcoDhAeEFMLCAYODAsDAwcvAwgIAf4GDxENCh0oSxUvDAMBAwMGBwkNBwQLFgMFKR0gMkQECx0LEhIJBRgKCT3uKRsJBgYLMRkQEhISJxdjRSQFHwoVCAcCExAdvVQfTD81EA8CBhIICAYCCQoMCgwHCAFTdig+BRojKBwQOhYPChYRDgQECCYDBw0EAe4BAQECAQQBsD6HYQMVCBEHDQUGAgISERy+VFd8BgIDJhYNEAICCAQFBBQNEB8AAAAAAgAt//8CbgKBACwAYAAAAR4DDgMxFA4BBwYHDgYjIi4BJyY+ATc+AT8BND4GMgcGLgExJiMGBwYHFA4HIyIuAScmNjc2NwcOAiMuATc+AzM3NhYXFhcWBwYCUwcMBQMBAgIDJC8NMgkBAgIDBgoOCgQLFgMDDx8TEjAPEAEEBAcHCgsOmggeFx0oSxUvDAMBAwMGBwkNBwQLFgMFKR0gMkQECx0LEhIJAw0NDAMEPe4pGwkGBgsCdgMJCQwLDAcHAVV4KJdQBhgMEgkKBAISEBNjgTcyfycmAQIHBgkGBgNZAQMDBK8/h2AEFQgRBwwFBwICExAdvVRXfAUBAgMBJhUIDQcEAQgDBgMUDg8fAAADAC3//wKTAoAAKgBDAHUAAAEWBw4BBw4CJy4CJyYjBwYHBiY3PgE/ATY3NhYXFg8BNjc2FxYXFhcWBz4CJy4BByIOAg8BDgEPARQGFjcyNjcDBi4BMSYjBgcGBxQOByMiLgEnJjY3NjcHDgIjLgE3PgE/ATYWFxYXFgcGAo0GBQY0JAMKIxMDChQEAgECBiEYFgECJx1eDBYRHwYND0cJAxsfCQcIBQZxFBgFAgIKCgQJBwYBAhkfAgIBCgoJFwdiCB4XHShLFS8MAwEDAwYHCQ0HBAsWAwUpHh8yRAQLHQsSEgkFGAoJPe4pGwkGBgsBXiYuO44mBAoNAwECEAwFBCIBAR8ZI7lN7hwMBwsKFCSrCwMdEAUICQwP9SBePQsNCQIGCAcCAydnICABEBEBGAsBsQECBASwPodhAxUIEQcMBgYCAhMQHb1UV3wFAQIDASYVDRACAggDBgMUDg8fAAAAAAIAMP//Au8CgQA7AGsAAAEeAQcOAScmIwYHBgcOBiMiLgEnJjY3NjcmJyY2Nz4BHwEyFzc+BBceAxQOAjEUBxYnHgEHDgIHBgcGBwYmJyYnJjY3PgEXHgEHDgEHDgQeARceAT4CNz4BNz4BAtAQDgEDICQICiERMgsBAwIEBQkOCQMLEwIEKR0SGhcHDgEJBxwKCgQGFgEDCw0VCwgJBQIDAgMNFegWDQoIKS8TMjYpPyM8ERUBATIeGSchHw8PCjoGAgUMCgcBDg0DCyAfJxATRwoTHwIPBQ0MFSEDAVMxl1EGGAsSCQsEAhERG75UNEMEAwggEAwKAQEBNwIGEgkJBQMICgwKDAcIAR4CagUzFxWDjTB+LiMFAxobIyw81lxOQAEBPiAYphIEDisnMiYeBQECCRc+LjX0FyscAAAAAgAw//0C2wJ/ADoAaQAAAR4BBwYHBicuBDUmBw4BFxYXFgYHBiYnJjc+ARceAQYPAQ4BHwEeATM3PgE/ATYnJicmJyY3PgEnHgEHBgIHBgcGBwYmJyYnJjY3PgEXMhYHDgEHDgQeARceAT4CNz4BNz4BAqkYGQQEGAsKBQkGBAQLGhIFFUUEAyAlJmUjOBMGMhoRDgMEDgUBAgIEFgkJBgwDAyAMBCcUBxInFVqkFg0KA1YaMjYpPyM8ERUBATIeGSchHw8PCjoGAgUMCgcBDg0DCyAfJxATRwoTHwGXCyoUFAYDAgIFCAYJARQIBS8eXCcgRBEUARcjRBkmCAUVEAUVBxEEBAoHAQEEAgISNRQ1Ghk9MRsQ0gUzFwr+9UB/LSMFAxkcIiw811tOQAE+IRemEgQPKicyJh8EAQIIGD4uNfMYKxsAAAIAMP/+A2QCgABLAH8AAAEeAQcOAScwLgIqAQ4BBwYHBgcOAgcXFhcWFxYXFgcOAwcjBicmJwcOAxUOAiYnJjc2NzY3JicuATc2NzYXNzY3PgEXFiUeAQcOAgcGBwYHBiYnJicmNjc+ARcyFgcOAQcOBB4BFx4BPgI3PgU3PgEDORgSDAsjCAsHDgoOCwwFFhECAgIDBAIUDgsIBQQBAgQBBAQCAQETKAQRIwwVCA0CERMSBRMFBRUQJxcIDgEIDBsJFw4RGRhOKxf+vRYNCggpLxIzNik/IzwRFQEBMh4ZJyEfDw8KOgYCBQwKBwEODQQKIB8nEAkVERMPDwQTHwJvCiASDwIFBAIDAwcEFysHBAMJCwQDAQUEBgMFCgsFCQUEARcDAQJtI0wnPwENDwMEBA8tIltEaQQDBSQOFwMCAyEpJiQmBQIDBTMXFoOMMH8tIwUDGRwiLDzXW05AAT4hF6YSBA8qJzImHwQBAggYPi4ZQjxAMysLKxsAAgAx//ACogKCADwAewAAAR4BBw4BJyInBgcGBxQOBCMiLgEnJj4CNzY3JicmNDc+ARczFjM3PgQXHgMUDgIVBgcWJwYHDgMHDgEHBicuAScuAT4BPwE+BDU+AT8BPgEfARYHFA4CBw4FFQc+Ajc+AxceAQcCgxAOAQMfIwoJIBAwCgMCBggPCwMKFAMCCRAaDREZFwcOCQccCgoEBhUBAwsNFQsHCgUCAwICAQwVygMiARoWJxMiKR07JhQKBwIBAQIBAQEJDQwJAQQDAgojDAwjCgYHCwYDBgUFBAMBD19bAQQLEBQMDgwBAhIEDQ0UIgMBVDGYUQUfCxUICAESEA1DVGEqM0UDAwgfEQwKAQE3AgYSCQoGAggKDAoMBwcBAR4CKSBRAkA0VyVEPiJFFgsgOhQzLSgMCxJITkk0AwUPBAURDAMDDjICHCA6HxMyMzUuJAoLFNjWBAcNCwEEBRsLAAACADH/7gJ2AoAAOgBzAAABHgEHBgcGJy4EJyYHDgEXFhcWBgcGJicmNz4BFx4BBg8BDgEfAR4BNzM+AT8BNicmJyYnJjc+AScGBw4EBw4BBwYnLgEnLgE+AT8BPgI1PgE/AT4BHwEWBxQOAgcOAQ8BPgI3PgIXHgEHAkQYGQQEGAsKBggGBAQBChoSBRVFBAMgJSZlIzgSBzIaEQ0CBA4FAQICBBYJCQYMAwMgDAQnFAgSKBVabgMiAhESGR4PIikdOyYUCgcCAQECAQEBFRYBBAMCCiMMDCMKBgcLBgcNBAMPX1sBBhAaDw4MAQGXCyoUFAYDAwEGBwYJARQIBS8eXCcgRBEUARcjRBkmCAUVEAUVBxEEBAkIAQEFAQISNRQ1Gho8MRsQlCBRBCkrOkEfQz8iRRYLIDsTNC0nDAsdjH0CBQ8EBREMAgMPMgIbITofKIoxMBPZ1gMLDwkHBRsKAAAAAAIAMf/zAwwChQBHAIQAAAEeAQcOAScwLgMOAgcGBwYHDgEHFxYXFhcWFxYHDgEPAQYnIicHDgMHDgEmJyY3Njc2NyYnLgE3Njc2Fzc2Nz4BFxYFBgcOAwcOAgcGJy4BJy4BPgE/AT4ENT4BPwE+AR8BFgcUDgIHDgMPAT4CNz4CFx4BBwLhGBMMCyMICwcOCg4LDAUVEAMCAgYCFA4LCAYDAQMEAwYCAhMnBBEiDBMHCwEDGRoHEwUDFQ4lFwgOAggLGwoXDRAYGE4rF/7mAyIBGhYnExgkGBQ7JhQKBwIBAQIBAQEJDQwJAQQDAgojDAwjCgYHCwYECQYFAgEPX1sBBhAaDw4MAQJ0CR8TDwMFBAEDAQEDBwUXKwcEBBIGAgEFAwYEBAoLCAwDAhYCAm0kTCc/AREPAgYPLCJcRGkEAwUkDhcEAQIhKiYlJwQCPCBRAUE0ViYvPiAXRRYLIToTNC0nDAsSSE5JNAMGDgUEEgsCAw8yAhshOh8ZTEdAFBMU2NYDCw8JBwUbCgAAAAACADH/7gJcAoAAKABoAAABHgMUDgIxMA4BBwYHFA4EIyIuAScmNjc+Az8BPgQHBgcOAwcOAQcGJy4BJy4BPgE/AT4ENT4BPwE+AR8BFgcUDgIHDgUVBz4DNz4DFx4BBwJACAsGAgMCAyQxDjMLAwIHCRALBAsWAgUoHgsdGRYGBgEEDA0XgQMiARoWJxMiKR07JhQKBwIBAQIBAQEJDQwJAQQDAgojDAwjCgYHCwYDBgUFBAMBC0JCOQIECxAUDA4MAQJ1AgkKDAoMBwhVeCiVUQUfCxUHBwISERy9UyBLPzUQDwIGEggIQCBRAUE0ViZDPyJFFgsgOxM0LScMCxJITkk0AwUPBAURDAIDDzICGyE6HxMyMzUuJAoKD5CahwUIDAsBBAUbCgAAAAACACj/+wNzAoIAOwCgAAABHgEHDgEnIicGBwYHDgYjIi4BJyY2NzY3JicmNjc+AR8BMhc3ND4DFx4DDgMxFAcWJxYGBwYHDgMHBicmJw4GJy4BNzY3PgEzHgEHDgEHDgIVBjc2Nz4BNzQ+Bzc2FhceAQ4BBwYHDgUeAhcWPgE3PgY3PgY3OgEWA1UQDgIDHyQICyEQMwsBAgIEBgkNCQQKEwIEKR0SGhgHDQEJBxwKCgQGFgQLDRULBwoFAgECAgMNFc8FCRJILgYUIDEcMSIWAgIEDxAZGB8ONiEWMyIOHRUYHgwFGxAFER0CNB8XDj8JBgMGAwcFBgcEESEGAwEGBwdABwEFAgMBAQMFCQURIxYJAgwOEREOCwIBCAMJBwwPCQMJEwIQBQ0MFSEDAVMxl1EGGAsSCgoEARIQHL5UNEMEAwggEAwKAQEBNwIGEgkJBQMICgwKDAcIAR4CSBYxMc6SEicpHAMGIxcfAgcUDxYJBwYPhGLuViUbASsjEkAsETWBK2I1IVk60BMBDgQNBgsGCAUCCQwRCBIaFhbCNAcbERcQEwwLBgECMTUdCSkxOTcwIQYCFQcSBwsFAQsAAgAo//sD6QKCAEcAqgAAAR4BBw4BJyIuAyIOAQcGBwYHDgEHFxYXFhcWFxYHDgEPAQYnJicHDgMVDgEmJyY3Njc2NyYnLgE3Njc2Fzc2Nz4BFxYFFgYHBgcOAwcGJyYnDgYnLgE3Njc+ATMeAQcOAQcOAhUGNzY3PgE3ND4HNzYWFx4BDgIHBgcOBR4CFxY+ATc+Ajc+Bzc6ARYDvxgSDAsjCAELBg4KDgwMBBYRAwIBBwIUDgsIBQMBAwQDBgICFCcEESQMFAkMBBkZCBMGBBYQJxgHDgEICxsKFw0RGRhPKxf+1QUJEkguBhQgMRwxIhYCAgQPEBkYHw42IRYzIg4dFRgeDAUbEAURHQI0HxcOPwkGAwYDBwUGBwQRIQYCAQEGBgZABwEFAgMBAQMFCQURIxYJAywlBQEGAwcGCgoNCAMJEwJvCSASDwIFBAEDAQMHBRYrBwUDEgYCAgQEBgQECgsIDAIDFgMBAm0kSyc/AREPAwYPLSFcQ2kEAwYkDhcDAQMiKSYkJgUDHRYxMc6SEicpHAMGIxcfAgcUDxYJBwYPhGLuViUbASsjEkAsETWBK2I1IVk60BMBDgQNBgsGCAUCCQwRBw8OGBMRwjQHGxEXEBMMCwYBAjE1HQqYfAwDEAgPCAoGBQELAAAAAAMAL/8vAyoCgwAsAEMAggAAATYWFRQOAwcOAicmJwYHFA4EIyIuAScmNjc+AT8BPgQXFhc2FzYmBw4DDwEOAgcGHwEeAT8BPgElFhceAQYHBiYnLgEvAQ4CBwYnLgE+AT8BPgU/ASYnJjc2NzYeAR8BPgE3PgEXHgIGBw4FBwLQJTQCCxQqHQQROB4fFB4HAwIGCRALBAsVAwUoHRExDxABAwwNFwwXAhclAw0PBgsJBwIBHCYLAgEBAQQTCQgkOf59QwcFAwsPFRsJCSQODgIdJQ8+LhAMBQkFBQgZHR8cFwYHHRAYAQMpDhkMBCkPWAsPKQkHDAkKDwcWGhwaFQYBjAExLgcXQz1NHAQPEwUEEGYzBR4LFQcHAhIRHLtTMn4mJgIGEggIBggWC2gdEQcCCAkHAwIhWDIWCgkFEAYFBR2TU80cESAjBwYLDQ1qLi8CLkEachcIHB0aCAkNKiwwKiIKCmovQRUmBwIYGg2HE34NEQcIBA4XIhMIHyMnJBwJAAACAC///QJyAo4AOgBlAAABHgEHDgEnIicGBwYHDgUjIi4BJyY2NzY3JicmNjc+AR8BMhc3PgQXHgMUDgIxFAcWJxYHBgcOAhUOAScuAT4BPwE+AT8BLgEnLgE3NhceAR8BPggCVBANAQMgIwkKIREyCwEDAgcIDwsDChQCBCkeERoXBw4BCgcbCgsDBhYBAwwNFAwHCgUBAwIDDBXVKRcEjh4nGgk4EgcHAQQBAgwoDg8CNRQSBREoJg0gCgkMGxMXEBMQEA8CEAUNDBUhAwFTMZdRBR8KFQgIARIQHL5UNEMEAwggEAwKAQEBNwIGEgkJBQMICgwKDAcIAR4CYwc/C/g0bmoCGwYTBhUWFAYGKWIdHSGaKiQ9DBY7FV8mJRMuIiYbGxEOBQAAAAADAC7//AHhAo0AJAAsAFMAAAEeBA4CMTAOAQcGFRwCDgIjIicmNjc+Az8BPgMeAQ4BLgE2JxYHBgcOAhUOAScuAT8BPgE/AS4BJy4BNzYXHgEfAT4GAaAHCgYDAQEBAhYeCB0EBw0KHAkHDxEHEQ8NBAQBBxsrHAoNHhwKDiUpFASFGyQVCDgTCwUEBAklDQ4DPBYSCBAoKA4kCwsNIRUaEhUUAY8CBgYHBwcFBTZMGV8zAxQGDgQFGBJ3NRQwJyIKCQQKDnMLHB4NCxwehgY/C/41cGoCGwgRCigQDylkHh0hmCkkPA0XOhReJSUYPigvGxgKAAAAAAIAL///AuICkABJAHcAAAEeAQcOAScwLgIqAQ4BBwYHBgcOAQcXFhcWFxYXFgcOAQ8BBicmJwcOBAcOAiYnJjc2NzY3JicuATc2NzYXNzY3PgEXFiEWBwYHDgIVDgEnLgE+AT8BPgE/AS4BJy4BNzYXHgMfAT4JArcYEgwLIwgLBw4KDgsMBRYRAwIBBwIUDgsIBQMBAwQDBgICFCcEESQJEQsHCAEDEBMSBhIFBBYQJxcIDgEICxsKFw0SGRdPKxf+1ikXBI4eJxoJOBIHBwEEAQIMKA4PAjUUEgURKCYIExAOAwQLGBIVDxIODw4OAm8KIBIPAgUEAgMDBwQXKwcEBBIFAwEFBAYDBQoLCAwCAhcDAQJtHTgyIigFDQ8DBAQPLSJbRGkEAwUkDhcDAgMhKSYkJgUCBz8L+DNvagIbBhMGFhUUBgYpYh0dIZspJD0MFjsNMTMwDw8RKh8jGhsTEAkFAAAAAAIAL//+AmcCkABFAG4AAAEGBwYfARYGJy4BJzQ2PwE2Nz4DLgEjIgcGBw4CDwEOAScmJyY+ATc2NzY3PgM3NhYXFAcGBxQyMT4BFx4BHwEWAxYHBgcOAhUOAScuAT4BPwE+AT8BLgEnLgE3NhceAR8BPgYCXB8GCQUEARMYGBIBCwYGBgEBBwgCBAUCExkYFQQSEQEIBBgTIQIBAgUBBSkRUQcIDg8JFCEBFxAvARMwEwsSBAMU7ikXBI4eJxoJOBIHBwEEAQIMKA4PAjUUEgURKCYNIAoJDiQWHBQVFAE0aCMvLCUOGwIDJCYVRxoZFgYCHB0NCAMUFSkGQ0oPPA8QAwQlCRQlCi2KOMkTERgLAgUUEBg0JXUBExMEAg4FBiABHwg/Cvkzb2kCGwYSBxUVFAYHKGIdHSGbKSU9DBU7FGAlJhc+Jy0bFwgAAgAv//0CMgKOACsAWQAAAR4DFA4CMQ4CBwYHDgUjIi4BJyY+ATc+BT8BND4DBxYHBgcOAhUOAScuAT4BPwE+AT8BLgEnLgE3NhceAx8BPgkCFwgLBQICAwIBJDENNAoBAwIGCRELBAsVAwMQIRMJExMTDwwDBAQMDhaRKRcEjh4nGgk4EgcHAQQBAgwoDg8CNRQSBREoJggTEA4DBAsYEhUPEg4PDg4CdAMICgwLCwcIAVV3KJZQBh4LFQgHAhMQE2OANxc1Ly8mHQgIAgcRCQgFBz8L+DRuagIbBhMGFRYUBgYpYh0dIZoqJD0MFjsNMTMwDw8RKh8jGhsTEAkEAAIAL//2AnUCjgBQAH4AACUWDgUxMCMGJyYnJicGBw4FIyIuAScmNjc+AT8BPgQXHgMUDgIxFA4BBzY3NhcWBwYHFhceAR8BHgIXHgUVAxYHBgcOAhUOAScuAT4BPwE+AT8BLgEnLgE3NhceAx8BPgkCdAEDBAUFBAMBHRwbHxE5EwQBAwIGChAMAwwWAwUpHhMyEBABBAwOFw0ICwYCAwIDJDEOUgcoDhAeEFMLCAkYCAgFFBoGBAUEAgEB+ykXBI4eJxoJOBIHBwEEAQIMKA4PAjUUEgURKCYIExAOAwQLGBIVDxIODw4OMQUKBwcFBAISEhInFmRFJAUfCxUHBwITEBy+UzN/JiYDBhEJCAYCCQoMCwsIBwFTdig+BBojJx0POhYPECQKCQYRFQUDBwUFAwMBAkMHPwv4NG5qAhsGEwYVFhQGBiliHR0hmiokPQwWOw0xMzAPDxEqHyMaGxMQCQQAAwAv//0CVQKOACsAQwBuAAABFgcOAgcOAiciLgEnJicHBgcGJjc+AT8BNjc2FhcWDwE2NzYXFhcWFxYHPgEnLgEHDgEPAQ4BDwEWBhY3PgM3AxYHBgcOAhUOAScuAT4BPwE+AT8BLgEnLgE3NhceAR8BPggCTwUEBBkqGAMKIhQDChQEAgECBiAYFgEBJx5eCxYSHwYMDkcIAxwfCAcIBQZwHBcEAwkLBg4EBBoeAwIBAgoKBg4LCQNgKRcEjh4nGgk4EgcHAQQBAgwoDg8CNRQSBREoJg0gCgkMGxMXEBMQEA8BYCcuJFhZGgMKDgQDDwwFAQUhAQEeGiO5Te4cCwcLCRQkqwoDHhAFCAoMD/UvgxUMCgIBDQYGJ2cgIAEQEgEBCg0OBAH/Bz8L+DRuagIbBhMGFRYUBgYpYh0dIZoqJD0MFjsVXyYlEy4iJhsbEQ4FAAMAIv/9A28CiQBHAHEAggAAAR4BBw4BJyIuAw4CBwYHBgcOAQcXFhcWFxYXFgcOAQ8BBicmJwcOAxUOASYnJjc2NzY3JicuATc2NzYXNzY3PgEXFiU2HgIHBhUHBhcUFgYHBicuAScmPwEuAgcGBwYHBicmNzY3PgQDNgciBw4BBw4CHgEzNhc2A0MYEwsLIwgBCwcNCw4LDAQVEAMBAgYCFA4LCAYDAQMEAgcBAhMoAxIgDBIHCwMZGgcTBAMUDiQYBw8CCAsbCRgMEBgXTisX/nEdJAgDAwEaGQUFAQMNHBAXAwcFAxM2LBAdCwcNGjE6FA1DCitCQkcHGRoFDBJZHQECAgEICU0vAwJ3CR8TDwMFAwICAQEDBwUXKwgEBBIFAgEFAwYEBAoLCA0CAhcCAQFtJEwnQAERDwIFDy0iXERqAwMFJA4YAwICISomJSgDAgQGEyMoEAUCwr9DBBwQBxoDAhMPHT0iBgcCAgMSCjFhAwRXPIoVS2NYQv7piQEKDos7AQMJBwYCEDMAAAACAC//PwMZAo0AVgCYAAABFgcOAQ8BBgcOCCcmJyY1JjYXFhcWPgI3PgE3MiYVBgcOAiciLgUnJjY3Njc+BBcWBwYHDgEHBhcWNz4BNz4CNzQ+AhYlDgQHDgEeAjc+Ajc+AxceAQcOAQcOAiMmJy4GNzY3Njc2NzYXFhUGBwYiLgInMC4DBgL0JRgGDQMEQhMCDAgRDxcYHyISOxIBDCwdCRANFRQKBAoWAwECBQ0FECIPAQULDA4MCgIGERorEwYIDwsTBxgNAwwNKgYWDQUIFkcVCCATBwMICg7+fAQOKik3GBYOCxgaCw4VCgoGEQsXDxQVAQM1FxIaMR0mFwIGFA4TBwUHCx06cTcrRCYYARELEQsHBQEGBAsLFAGfEzAMIQoLsj4ELBcvHScYEwUCCiYDAh4vCgMKBgERDggSPg4BAQgMBQwOAQECAwkKEgscaz9pFwgJDgQEBgswChcXWxFIFQYCBms0ElUrCAECBwMBgQEIIS1VNC9OLh8LAQEKCgwHGg8LAgIlExpFDgsMCwIRAQURFiQqOiE0Q4lcLQoPKxwmHgoHCQoNAQkFCAIBAAAAAgAw//wCsQKOAEUAggAAAQYHBh8BFgYnLgEnND4CPwE2NzQ2NzYuASMiBwYHDgEPAQ4BJyYnND4BNzY3Njc+Ajc2FhUWBwYHFDIxPgEXHgEfARYnIi4BIgYHBgczNhcWBwYHBiMHBgcGFxY2FhceAQcUDgEHBicmJy4BNjc2NwYHBicmPgE3NhceBAcGAqYfBwgFAwITGBgSAQQHBwMCBgEPAgEEBgISGRgVBiACCQMZEiEDAQYBBSkRUQoKFQwUIQEXEC8BEzATCxIEAxP6BxoZHSAORxUsGQ8PBgYXFBFBHQUIMw0hGAgPDwQDEQ09KTwdDAMLCzlGFQYhDwkDCgcznCY4HBAEAQEBNGgjLywlDhsCAyQmDSclIgoKFgYBOAgHCAMUFSkKgRc8DxADBCUJFCUKLYo4yRgXGAIFFBAYNCV1ARMTBAIOBQYg0QEBAQJhPgEODxYVBQUGVi1EBQEDAQQIGw4CCBIEFQcLMBRKTCK+ZQUBBREKFxAEJRAEDA0QCgcXAAACADH//QLtAocAWACAAAABDgQHDgEeAhcWNzY3Jjc+BDMWFzIeAwcGBxYHDgIHBiciLgM3NjcGBw4CJyYnLgM2NzY3Njc2NzYXFgcGBw4BLgU1MCcmBRYOAi8BIgYPAQ4BDwEOAScuBT0BJhI3NhcyHgIXFT4BFgFrBA4qKjoaGBQGEhUJGBsFCRsHAQEICxYOYRQBAwkEBAQIGQEBAQMHAgkdAQYOCggBAQIbFhEXLhchEgMJFQwBCxAfQmk0Jj0cEgQEEAYLCAYEAwICAQsBWwINExIDHhgoCAkTGQMEAxYYCAsHBQIBAkgLERwIDQYDARBBOAIXAQceK1EyLkoqHgoBAh8GDQgcAgYRDAsFBgEECQ8MIAgICwsgPggfAwEGCxcQCg4hDQoJCQUFEwMKJy9PLDRAiFEoBgovHyYfCQMCAwUHCAcGAQEZoxEVBQMCAyARECZtIyQfHwIBBggKCggDAikBARorAggKCQMEFxQQAAAEAC//LAMJAn8AMABHAG0AhQAAATYWBxQOAwcOAicmJwYHDgUjIi4BJyY2Nz4FPwE+BBcWFzYXNiYHDgMPAQ4CBwYfAR4BPwE+AQEyHgIHDgYHDgYnLgM3PgQ3PgQXNiYHDgEPAQ4BBwYXFBcWFxY3Njc+AgKwJDUBAQwTKh0EETgfHhUeBgEDAQcJEAsDCxUDBSceCBMSEg8MAwMBBAsOFgwXAxckBA0QBQwIBwICHCULAgEBAQMUCAglOf6zGSskEwEBAQkNGSEzHwEFEBEcHScTJjQXBwcCBhsjQigCCRweKyoEFhcNHwkKO0IHAwEBBAcPHxgTKEEdAYkBMS4HF0M9TRwEDxMFBBBmMwUeCxUHBwISERy7Uxc0MC4mHQgIAgYSCAgGCBYLaB0RBwIICQcDAiFYMhYKCQUQBgUFHZMBihMlQCkFFjw+VExSIAEFDgsOBgMGCCw6RSMIHlZSaCkDCRgRD6wvHQoGGQkKS6cyGAoLBRAKFgcGEiaUeAADAAH//wJXAn8AKgBHAIMAAAEWFxYHDgEHDgInIi4BJyY1BwYHBiY3PgE/ATY3NhYXFg8BNjc2FxYXFgM+AicuAQcOAw8BDgMPARYGFjc+AzcBHgEHDgEnJiMGBwYHFA4FIyIuAScmNjc2NyYnJjY3PgEfATIXNz4EFx4DDgMxFAcWARgGAwYFBjUkAgojFAMJFAUCAwUhGBYBAicdXgsWEh8GDA5HCQIcHwkGCWYUGAUCAgoKBAkHBgECEBkLBwEBAQEKCgYNCwoCAY0QDgICICQJCSIQMgwDAgQGCQ0JAwsTAgQpHRIaGAcNAQkHHAoKBAYWAQMLDRULBwoFAgECAgMNFQF/DxAnLTuPJgMKDgQDDwwFAQUhAQEeGiO5Te4cCwcLCRQkqwoDHhAFCAr+8CFdPgsMCgIBBgcHAwIZPDQsDA0BEBIBAQoNDgQBmQUNDBUhAwFTMZdRBhgLEgkLBAIRERu+VDRDBAMIIBAMCgEBATcCBhIJCQUDCAoMCgwHCAEeAgAAAAMACP//AmgCfQAqAEIAaAAAARYXFgcOAQcOAicuAicmMQcGBwYmNz4BPwE2NzYWFxYPATY3NhcWFxYDPgEnLgEHIg4CDwEOAQ8BFgYWNzI2NwEWDgIvASIGDwEOAQ8BDgEnLgU9ASYSNzYXHgEfAT4BFgEfBgMGBQY1JAIKIxQDCRQFAgMFIRgWAQInHV4LFhIfBgwORwkCHB8JBglmHBcEAgoKBAkHBgECGh4CAwEBCgoJFwYBtwINExIDHhgoCAkTGQMEAxYYBwwHBQIBAkgLERwNEAEBEEE4AX4PESYuO44nAwoNAwECDw0FBCIBAR8ZI7lN7hwMBgoKFCSrCwMdEAUICv7wL4MVDQkCBggHAgMnZyAgARARARgLARcRFQUDAgMgEBElbSQkHx8CAQYJCgoIAgMoAQEaKwIBEAgIFxMQAAMABv//AtICgAAqAEQAkAAAARYXFgcOAQcOAicuAicmMQcGBwYmNz4BPwE2NzYWFxYPATY3NhcWFxYDPgEnLgEHDgEPAQ4DDwEWBhY3Mj4CNwEeAQcOASciLgMOAgcGBwYHDgEHFxYXFhcWFxYHDgMVBwYnIicHDgMVDgMmJyY3Njc2NyYnLgE3Njc2Fzc2Nz4BFxYBHQYDBgUGNSQCCiMUAwkUBQIDBSEYFgECJx1eCxYSHwYMDkcJAhwfCQYJZhwXBAIKCgcOBAQQGQsHAQEBAQoKBg0LCgIB+BgSDAsjCAELBg4KDgwMBBYRAwIBBwIUDgsIBQMBAwQCBAMDARQnBBEkDBQJDAIMDw8OBBMGBBYQJxgHDgEICxsKFw0SGBhPKxcBfg8RJi47jicDCg0DAQIPDQUEIgEBHxkjuU3uHAwGCgoUJKsLAx0QBQgK/vAvgxUNCQIBDQYGGD0zLQwNARARAQoODQUB+wkgEhACBgMCAwEBAwYFFyoIBAQSBQMBBQMGBAQKCwUJBQQBARYDAmwkSyc/AQsOBQEEAxAsIlxDaQQDBSUNGAMBAyEpJiUmBQMAAAAABAAA/zEB/AJ7ACoARgBzAH4AADciLgEnJjEHBgciJjc+AT8BNjc2FhcWDwE2NzYXFhcWFxYXFgcOAQcOAicWBhY3Mj4CPwE+AScuAQcOAw8BDgMHARYHBgcOAgcOAQ8BBgcOAScmJyY3Njc2Fx4BPgM/ATY3PgE3PgI3PgIeAQcOAicuATZ/AwkUBQIDBSEYFgECJx1eCxYSHwYMDkcJAhwfCQYJBAYDBgUGNSQCCiMnAQEKCgYNCwoCAxwXBAIKCgQJBwYBAhAZCwcBAVsRAwELAh0iCQgaCAkRJBtOJCkEAQcNGxIfBw4MCwgGAgEOEwVGAQERFwUJHhgdCgYEERIKDgsMAgIQDAUEIgEeGSO5Tu0cDAcLChQkqwsDHhEECAoMDxEmLjuOJgQKDWwBEBEBCg4NBQUvghUNCQEBBgcIAgMYPTMsDQEMChcHJwdabRwdThgYLCYdDhEUIBEPGQMCEgQCBAYIBwMCEkIP3gMGMToJDQVyChwPCg0EAwUdHQAAAAMABf//AooCfQAuAEoAfgAAARYHDgEHFA4FJy4CJyYxBwYHBiY3PgE/ATY3NhYXFg8BNjc2FxYXFhcWBz4BJy4BByIOAg8BDgMPARYGFjcyPgI3AR4BBwYHDgEHDgMPARYXHgIVFAYnJgcGBwYnJjQ3PgE/ASYiBiMiLgI3PgE/ATYyASUGBQY1JAIHBwwMEgkDCRQFAgMFIRgWAQInHV4LFhIfBgwORwkCHB8JBgkEBnAcFwQCCgoECQcGAQIQGQsHAQEBAQoKBg0LCgIBsxIWAQEgAgUCIzwkGQUFPh8RFhEbE2EjLR4aDAkMCW4zMxIoIgMIDxYMAQEOBgcenwFeJi47jiYBAgcFBgMCAgECDw0FBCIBAR8ZI7lN7hwMBgoKFCSrCgQdEAUICgsP9i+DFQ0JAgYIBwIDGD0zLQwNARARAQoODQUBMAIaEB4fAgcCJEMtIwkIAgUDCBUQFxkDDQICCAYPCiMUDoI6OgMCAgcQCw8UAgMGAAAAA//7//kCdAKCADAAQwB+AAABNh4BBw4BBw4CBw4BFBYfARYGJyYnJicmNSYHBgcGJicmNjc+ATc2Fh8BNjc2NzYDNicmBwYHDgEXFjc2Nz4DNyUeAQcOASciJwYHBgcUDgQjIi4BJyY2NzY3JicmNjc+AR8BMjM3PgQXHgMOAzEUBxYBYw0dCQ4GLQoDKiIEAwMBAQEFKBoCAQoFAwIFGyIfPwMDKh4cQyAQGAMEGAcZCh19BggKGhwfDx4FAxUJBhIiFhAEAYYQDgEDICMJCiARMQsEAgYIDwsDChQCBCgcEhkXBw4BCQccCgoEBhUBAwwNFQsHCgUCAQICAw0VAnsGDiMcCmsgCHVnFg4fGRUFBiAfDgEBBxAKAwEIIwgILyssjzIvMwMBBAMDQQ47FDj+xiIJDRgbRCBsFhENBQgWPTcxDuoFDQwVIQMBVDGXUQUfChYHCAESEBy+VDNFAwMIIBAMCgEBNgMGEgkJBgIICgwKDAcIAR4CAAAD/////gLbAoMAJwA7AIQAABM2FhcWBgcOAw8BBgcGFjc2Nz4BFx4BFQcGBwYHBiYnJjY3PgIXNicmBg8BDgEPAQYUFjY/AT4CAR4BBw4BJzAuAw4CBwYHBgcOAQcXFhcWFxYXFgcOAQ8BBiciJwcOAwcOAiYnJjc2NzY3JicuATc2NzYXNzY3PgEXFtYnPwcIFi0TNC4pDAwHAgMaGCMaBxoPCgoBAQcNFStqHB4CHhRDRDAXDQcRBgYTLQ0OBwwNBgYZKxAByRgTDAsjCAsHDgoOCwwFFRADAgEHAhQOCwgGAwEDBAMGAgITJwQRIgsTCAsBAhATEwUTBQMVDiUXCA4CCAsbChcNEBgYTisXAaMGHhceVCgRGg0IAQEIGhUcAQEnCgwHBBIHBwoPGA4bCRwgWEwxVDF1LwoGAQMCCjMVFQ8QBQECAgomFwFRCR8TDwMFBAEDAQEDBwUXKwcEBBIGAgEFAwYEBAoLCAwDAhYCAm0kTCc/AQ0PBAMFDywiXERpBAMFJA4XBAECISomJScEAgAAAAACACj//gJmAoUARwCEAAATBgcOAQcXFhcWFxYXFgcOAQ8BBiciJwcOAxUOASYnJjc2NzY3JicuATc2NzYXNzY3PgEXFhceAQcOAScwLgMOAgcGBR4BBw4DJyInBgcGBw4FIyIuAScmNjc2NyYnLgE3Njc2Fzc+BhceAw4DMQYHFvQDAgEGAhQOCwgFBAEDBAIHAQITJwQSIAsSCAoDGRkIEwQDEw4kGAcPAggLGwkXDRAYFk4rFxQZEwwLIgkLBw4KDgsMBRUBRRAOAgEHDxwTCQohEDILAQMCBwgPCwMKEwMEKR0SGRcHDgEMDBkODhUBAQYHCwsQCAcKBQIBAgMCAQwVAeUHBQMTBQIBBAMGBAQKCwgNAgIXAgJuJEwnQAERDwIFDy0iXERqAwMFJA4YBAECISonJSgEAgcJHxMPAwUDAgIBAQMHBRgDBA0NCBERCgIBUzCWUQUfChUICAISEBy8VDNEAwMGIAsMCgUBNgEECwgLBAMDAwgKDAoMBwcBHgMAAgAp//4CeAKEAEsAjgAAARYXFgcOBSMVBiciJwcOAxUOASYnJjc2NzY3JicuATc2NzYXNzY3PgEXFhceAQcOAScwLgIqAQ4BBwYHBgcOAQcXFhcWBQYHBh8BFgYnLgEnNDY/ATY3MDY3Ni4BIyIHBgcOAQ8BDgEnJicmPgE3Njc2Nz4CNzYWFRQHBgcwFz4BFx4BHwEWASQDAQMEAQMCAgIBARMoBBEhCxMHCwMZGgcTBAQTDiUYBw8CCAsbChcMERgXTSwWFRgTDAsiCQsHDgoOCwwFFRACAgIGAhQOCwgBTx8GCQYDARIYGRIBDAYGBQIPAQEEBQITGBkVBSADCAQYEiEDAQIFAQYpEFEKCxQMFCIWES8BEzETCxIDBBMBrAMECgwDBwUEAwIBFgICbSRMJ0ABEQ8CBQ8tIlxEagMDBSQOGAMCAyIpJyUoBAIICR8TDwMFAwIDBAYFGCsHBAQSBgIBBAR8aiIuLSQOHAMCJSYUSBkaFQc4CQYJAhQUKQuBFjwQEAMFJQgUJgktijjKGBYYAwQTERgzJnUBExQEAw0GBh8AAAMAJf/+AmQCgwAvAEkAkQAAARYHDgEHDgInIi4BJyYjBwYUDgIjBiY3PgI/ATY3NhYXFg8BNjc2FxYXFhcWBz4BJy4BBw4BDwEOAxUHFgYWMz4DNwMWFxYHDgEPAQYnIicHDgMVDgEmJyY3Njc2NyYnLgE3Njc2Fzc2Nz4BFxYXHgEHDgEnIi4DDgIHBgcGBw4BBxcWFxYCXgUEBzQkAwoiFAMKFAQCAQIBBgcPCRgXAgEPIRVdDBYSHwYMDkcIAxsgCAcIBQZxHRYDAwkLBg8DBBEYDAcBAQIKCgYOCwkDxgMBAwQDBgICEycEESILEwgLAxkaBxQFBBQOJRcIDgIICxsKFwwRGBdOKxcVGBILCyMIAQsHDQsOCwwEFRECAgIGAhQOCwgBYiYuO48mAwoNAwMPDQUEBAQMCAcBHhoTWoc17hwLBwsJFCSrCgQdEAUICgwO9i+DFQ0JAgENBgYZPDMtDA0BEBEBCg0OBQEyAwQKDAgMAgMWAgJtJEwnPwERDwIFECwiXERpBAMFJA4XBAIDIikmJSgFAgcJIBIQAgUDAgIBAQMGBRgrBwQEEgUDAQQEAAAAAgAu//YCjAKAAEsAlQAAARYXFgcOAwcVBicmJwcOAxUOASYnJjc2NzY3JicuATc2NzYXNzY3PgIXFhceAQcOAScwLgIqAQ4BBwYHBgcOAgcXFhcWARQOBTEGJyYnJicGBxQOBCMiLgEnJjY3PgE/AT4EFx4DDgMxDgIHNjc2FxYHBgcWFx4BHwEeARceARUBLQMBAwQBBAMDARQnBBEiDBQICwMaGQgTBQQVDyUXBw8BCAsbCRcNERkPLjccFxUYEgwLIgkLBw4KDgsMBRURAgICAwMCFA4LCAFjAgQFBQUDHR0bHhE5EwUDAgcJEQsECxYDBSkeEjMQEAEDDQ4XDAgMBQMBAgMCASQxDlMHKA0QHhBTDAgIGQgIBy4EBwkBqgQECgsFCQUEAQEWAgEBbCRMJz8BEQ8CBg8sIlxEaQQDBSQOFwQBAiEpJhkiEAMDBwofEw8CBQMCAwMHBRcrBwQDCQsEAwEFA/6BBQoIBwUEAhISEicXY0UjBh8KFQgHAhMQHb1UMn8mJwIGEggJBwIJCgwKDAcIAVN2KD4FGiMoHBA6Fg4RJAkKCCYDBw0EAAAAAAT/9v8xAk8CCABCAF4AigCSAAAlDgIHDgIHBicuAicmNjc2FxYXFjc2NzY3NiIjBgcGJicuATc2NzY3PgE/AT4FFhceBQ4DMQYHPgI1PgE/ATYmLwEmDgEHDgEPAQYWNzM+ATcBFgcUBw4BBw4BDwEGBw4BJyYnJjc2NzYWMh4CFxY2PwE2Nz4BNz4BNz4CHgEOAS4BNgEnAx8WAQENEQYvSx0lCwUGDRIYHgUFEA4YEgsKAQIBEhcUTxMSBAcEExAWDx0GBwIHFhcgHyIPChELBwMBAQICAwSgDSITCAwDAwEFBAMHFzAZGCAEBAMOCAkLHggBgRICCQEwCAcUBwcOIRpGJCIGAwYMGAIKAwoFDQQOGgUGCw8DNwEDHAcIHhYdCwsdHAwMvQpfRwUGJy0PbQgDFRANDicKDhADAwcGCy8dLgEYDQ0RGxlDHBotJSEWIQUFAgYPDQ0GAgcFDQ0PDQ8LDQcIDqEQPy0BEioMDAwNAQICBSglJFEXFhcXAQEZDAEnCRcIJwXEJh1PGRktKB8TDw4hEg8bBQEBBAIFAgYOCgoPRw/jAg5iDQ4HbQkcHg8JHB4ABP8x/yEBkQH7AC8ANwBmAHEAABMOAQcOAQ8BBgcOAScuAicmNzY3NhceAT4DPwE2Nz4BNz4CNz4BFzAxFgcGLgI+AR4BBhcWBxQHDgEHDgEPAQYHDgEnJicmNzY3NjIeAxcWNj8BNjc+ATc+Ajc+ARcyNx4BDgEuATc+ApcBOgoIGAkIECMbTiQNFAsCAggMGxIfBw8LCwgGAQIOEgRCAQIPFgYIHgwRAwEEHAwNHB0LDKYSAggBLQgGEwYHDSEZRSUiBwMGCxkDBwUJBg0EDhkGBQoPAzMBAQ0RBQgdDAEWDg0MHB0MBgQPEwEpBsElHU4YGSwnHQ8QBhISChAPGgMDEgQCBAcIBwIDEkIP4AIHMTsIDgUHChcIUQocHg4KHB4mCRcIJwXFJh1QGRguKCAUDg0iERAbBQEBAwIFAgUOCgoPRw/kAgcyPAkOBwZvBBweDwkbDwoPBAAAA//P/zoCJQIVAFQAhACMAAABDgIHDggnJicmJyY2FxYXFj4CNz4BNzQmFQYHDgInIi4DJyY2NzY3PgQXFgcGBw4BBwYXFjc+ATc+Ajc+AhcWBw4BBzcWBwYHDgEHDgMPAQYHDgEnJicmNzY3MjYeAhcWNj8BNjc+Ajc+ATc+ARcwNh4BDgEuATYBNgcYLgkBDQcRDxcYHyMSOxEBAQssHQkPDhUTCwQKFgMBBgwFECIQAgcVEBEDBhEaKxMFCBALEwcXDAMNDCoGFw4FCBZHFQchEwYCBxcLJRgFDQO6EgEBCAEtBwQLCQkDAwwhGUYlIgYEBwsYBwIOAxEEDhkGBQsOAhsZAQMaBwgeDAgdDAwcHA0MASAUP4IcAywXMB0nFxMGAwknAgIeLwoDCQYBEQ4HEz0OAQEBCA0FDA4CAQUKFw8ba0BoGAcJDwQEBgwvCxcXWhFJFAYCBms0ElUrBwMFCQgTMAwhC3YIGAcnBsQmEy4nIwoJLiggFA4NIhEQGwUCBQEGAgUOCgoPRwt3cAMPYg0OBwZ0CRweDwgcHgAC/////wIZAn4APAB4AAABDgEnJicGBwYHFA4EIyIuAScmNjc2NyYnJjY3PgEfATIzNz4GFx4DDgMxFAcWFx4BNx4BBw4BJyYjBgcGBxQOBSMiLgEnJjY3NjcmJyY2Nz4BHwEyFzc0PgMXHgMOAzEUBxYBHQMfJAkKIRAzCwQCBgkPCgQKEwIEKR0SGRcHDQEJBxwKCgQGFQECBQcLCxAIBwoFAgECAgMNFQYQDtsQDgICICQICyEQMwsDAgQGCQ0JBAoTAgQpHRIaGAcNAQkHHAoKBAYWBAsNFQsHCgUCAQICAw0VAfMVIAIBAVQxl1AGHgsVCAgCEhAcvVQ0RAMDCR8QDAoBATYBBAsICwQEBAIJCQwLDAcHAR8CAgUMDwUNDBUhAwFTMZdRBhgLEgkLBAIRERu+VDNEBAMIIBAMCgEBATcCBhIJCQUDCAoMCgwHCAEeAgAAAAIAAv/+AoIChABIAIMAAAEeAQcOASciLgMiDgIHBgcGBw4BBxcWFxYXFhcWBw4BDwEGJyInBw4DFQ4BJicmNzY3NjcmJy4BNzY3Nhc3Njc+ARcWBQ4BJyYjBgcGBw4FIyIuAScmNjc2NyYnJjY3PgEzFxYzNz4EFx4DDgMxFAcWFx4BAlcYEwwLIggBCQYMCQwLCgoEFg8DAgEHARMOCwkFAwEDAwMGAgITJwQSIQsSCAsDGRoHEwQEEw8kFwgOAggKGwoXDRAYF04rF/7ZAiAjCQohDzIKAQMCBggPCwMKFAIFKBwSGRcHDgEJBxsKCwMHFQEDCw0VCwcKBQIBAgIDDBUGEA4CdgkfEw8DBQMBAwEBBAYFFysHBAQTBQIBBAQGAwQKDAgMAgMWAgJtJEwnQAERDwIFDy0iXERqAwMFJA4XBAIDIiknJSgEAooVIQIBUzGYUQUfChUICAESEBy+VDREAwMIIBAMCgEBNwIGEgkJBQIJCQwKDAcIAR8CAQUNAAACAAT//gIOAoAASgCFAAABBgcGHwEWBicuASc0PgI/ATY3MDY3Ni4CIyIHBgcOAw8BDgEnJicmPgE3Njc2Nz4CNzYWFxQHBgcwFjU+ARceAx8BFicOAScmIwYHBgcOBSMiLgEnJjY3NjcmJyY2Nz4BHwEyMzc+BBceAw4DMRQHFhceAQIDHwYJBQQBEhgZEgEFBwcCAgYBDwIBAgQEARMZGBUDDA0LAQgEGBMgAwECBQEFKRFRCgoVDBQhARcQLwETMBMHDQgGAQEU8gIgIwkKIBAwCgEDAgYIDwsDChQCBSccERkXBw4BCQcbCgsDBhUBAwsNFQsICgUCAQICAwwVBhAOATVoIy8tJA4cAwIlJg0nJSEKCxUHOAkFBwQBFBQpBSwzMws8EA8CBSUJFCUJLYo5yRgWGAMEExEYMyZ1AQESFAQCBwcHAgMfmxUhAgFTMpdRBR8LFQgIARIQHL5UNEQEAwgfEQwKAQE3AgYSCQoGAggKDAoMBwgBHgICBQwAAAAAAwAW//4BnQKCADoAXQBlAAABDgEnJiMGBwYHDgUjIi4BJyY2NzY3JicmNDc+ATMXMhc3PgQXHgMUDgIxFAcWFx4BFx4EDgIxMA4BBwYXFBYUDgIjBicmNjc+AT8BPgMeAQ4BLgE2ASwDHyQJCSAPMAkBAwIGCA8KBAoUAgUmGxEZGAcNCQcbCgsDBxQBAwsNFQsHCgUCAgIDDBUGEA4lCAoGBAEBAQEUGwYZAgEDBg0KHAsICw4JGgkIAgYaNhsLDh0cCg0B9hQiAgFUMZhRBR8KFggIARIQHL5VNEQDAwggEAwKAQE3AgcSCQoGAggKDAoMBwgBHgICBA1xAgUGBwcHBQU3TRlgNAMTBw0GBQEXEHk2IFIYGQQKD24KHR0NCh0dAAIACP/2AigCfABJAIYAACUWBzAVBicmJyYnBgcOBSciLgEnJjY3PgM/ATQ+AxceAxQOAjEUDgMHNjc2FxYHBgcWFx4BHwEeARceARUDDgEnJiMGBwYHFA4EIyIuAScmNjc2NyYnJjY3PgEfATIXNz4GFx4DDgMxFAcWFx4BAiUDGh0dGx4SORIFAQMCBgkRCwQMFQQFKR8LHRoWBgcEDA4XDQgLBgIDAgMPFxkbCVIIJw4QHhBTCwgJGQgIBi8DCAn/Ax8kCQohEDMLBAIGCQ8KBAoTAgQpHRIZFwcNAQkHHAoKBAYVAQIFBwsLEAgHCgUCAQICAw0VBhAOMRkPARITESgWY0UjBh4LFQgHAQISERy9VCBLPzYPDwIGEggJBgMJCgwKDAcIASI1PUMaPgUaIygcEDoVDxEjCgoIJgIHDgQBvRUhAwFTMZdRBR8KFQgIAhERG75UNEMEAwggEAwKAQEBNwEECggMBAMDAwgKDAoMBwgBHgICBQ0AAgAP//8B2wKBACoAZQAAAR4DFA4DMQ4EBwYHDgUjIi4BJyY+ATc+AT8BPgQHDgEnJicGBwYHDgUjIi4BJyY2NzY3JicmNjc+ARczFjM3PgQXHgMOAzEUBxYXHgEBwAcKBgQBAgICAQ4WGRkJMQkBAgIGCRALBAsWAwQPHxMRMA8PAQMMDhaMAiAjCQogEDAKAQMCBggPCwMKFAIFJxwRGRcHDgEJBxsKCwMHFAEDDAwVCwgKBQIBAgIDDBUGEA4CdgIHCQoKCQoGBgIiNz5FGZZRBh4LFQgHAhIQEmSBNzKAJicCBhIICYcVIQIBAVQxmFEFHwsVCAgCERAcvlU0RAMDCCAQDAoBATcCBhIJCgYCCAoMCgwHCAEeAgIFDAAAAwAG//4DBgJ+AEcAhADBAAABBgcGHwEWBicuASc0Nj8BNjcwNjc2LgEjIgcGBw4CDwEOAScmJyY+Ajc2NzY3PgM3NhYXFAcGBxY1PgEXHgMfARYlDgEnJicGBwYHFA4EIyIuAScmNjc2NyYnJjY3PgEfATIzNz4GFx4DDgMxFAcWFx4BFw4BJyYjBgcGBxQOBSMiLgEnJjY3NjcmJyY2Nz4BHwEyFzc0PgMXHgMUDgMVFAcWFx4BAvsfBgkFBAESGBkSAQsGBwUBDwIBBAUCExkYFQQSEAIIBBgTIAMBAQIEAQYoEVEHCA4PCRQhARcQLwETMBQGDQgGAQEU/h4DHyQJCiEQMwsEAgYJDwoEChMCBCkdEhkXBw0BCQccCgoEBhUBAgUHCwsQCAcKBQIBAgIDDRUGEA73AiAkCAshEDMLAwIEBgkNCQQKEwIEKR0SGhgHDQEJBxwKCgQGFgQLDRULBwkFAwEDAgINFQYQDgE1aCMvLSQOHAMCJSYVRxoZFQc5CAYJAxUUKQdCSg88EA8CBSUEFg0bCiyKOckSERgMAgQTEBg0JnUBARIUBAIGCAcCAiCaFSACAQFUMZdQBh4LFQgIAhIQHL1UNEQDAwkfEAwKAQE2AQQLCAsEBAQCCQkMCwwHBwEfAgIFDA8VIQMBUzGXUQYYCxIJCwQCEREbvlQ0QwQDCCAQDAoBAQE3AgYSCQkFAgcJCgoKCQYGAQEeAgIFDQAABAAB//wD7QKMACcAPQCFAM8AABM2FhceAQ4BBw4BDwEGBwYWMzY3PgEXHgEVBwYHBgcGJicmNjc+Ahc2Jy4BDgEPAQ4BDwEGFBY2PwE+AiUWFxYHDgEPAQYnIicHDgMVDgEmJyY3Njc2NyYnLgE3Njc2Fzc2Nz4BFxYXHgEHDgEnIi4CIg4CBwYHBgcOAQcXMhcWJR4BBw4BJyIuAw4CBwYHBgcOAQcXFhcWFxYXFgcOAQ8BBicmJwcOAxUOAiYnJjc2NzY3JicuATc2NzYXNzY3PgIXFtgnPwcDAQkeGB5bHx4HAgMaGCMaBxoPCgoBAQcNFStqHB4CHhRDRDAXDQQKCQkCAhMtDQ4HDA0GBhkrEAFtBAEDAwIGAgISJwQSHQoQBwgDGBoHFAMCEQwhGAgOAwcKGwoXCw8XFkwrFxUYFAsKIwgBCwcOCg4LCwUUDwICAQYBEw4LCQFwGBQMCiMIAQsHDgoOCwwEFQ8CAgEGAhQOCwgGAwEDAwIGAgITJwQRHwsRBgoCEBMSBRQEAhINIhcIDwIIChsJFwwQFw8sNxwXAaAHHhgNHykvFhshAwMIGhUbASgKCwYFEgcGCw4ZDhsJHR9YTTBVMHUwCgMCAQMBAQozFRUPEAUBAgIKJheUBAQKCwgNAgIYAQFuJEwoQAEREAEGDi0iXEVrAgMEJQ4XBQICIionJioCAQcIHxMQBAUDAQMBBAcFGCwHBQMTBQIEA8UIHxMQAwUDAQIBAQQHBRgrBwUDEwUCAQQDBgMECgwIDAMCFwEBAW4kTCg/AQ0QBAMEDi0iXERrAwMEJQ0YBQECIionGSMSAgIABf/9//4DlgKGAC0AQwBuAIUAzQAAEzYeAhcWBgcOAQ8BBgcGFjc2Nz4DFx4FFQcGBwYHBiYnJjY3PgIXNicuAQ4BDwEOAQ8BBhQWNj8BPgIlFgcOAQcOAicuAicmIwcGBwYmNz4BPwE2NzYWFxYPATY3NhcWFxYXFgc+AicuAQcOAQ8BDgEPARYGFjcyNjcDBgcOAQcXFhcWFxYXFgcOAQ8BBiciJwcOAxUOASYnJjc2NzY3JicuATc2NzYXNzY3PgEXFhceAQcOASciLgIqAQ4BBwbUFCUdFAMIFi0eWx8eBwIDGhgjGgMJDA8JBAgEAgEBAQEHDRUrahweAh4UQ0QwFw0ECgkJAgITLQ0OBwwNBgYZKxACqwUEBjUkAwoiFAMKFAQCAQIGIBgWAQEoHV4LFhIfBgwORwgDHB8IBwgFBnATGAYCAwkLBg4EBBoeAwIBAgoKChYH8gMCAQYCFA4LCAUEAQMEAgYCAhMnBBEgCxIHCwMYGggTBAMTDiMXCA4DCAsbCRcNEBcXTSsXFRgTCwsjCAELBg4KDwsLBRUBogQFDhQLH1MoGyEDAwgbFBwBAScECAYBBAIGBwcGBQECCw4YDhsIHSBXTTFUMXUvCgQCAgIBAgk0FBUQEAQBAgELJhdBJi47jicDCg0DAQIPDQUEIgEBHxkjuU3uHAwGCgoUJKsKBB0QBQgKCw/2IV0+Cw0JAgENBgYnZyAgARARARgLAXIIBAQSBQIBBQMGAwUJDAgMAwIXAgJuJEwnQAEQEAIFDy0iXERqAwMFJA4YBAECIiknJSkEAgcJHxMPAwUDAgIEBwUXAAACACX//gK4AocASACVAAABFhcWBw4BDwEGJyInBw4DFQ4BJicmNzY3NjcmJy4BNzY3Nhc3Njc+ARcWFx4BBw4BJyIuAyIOAgcGBwYHDgEHFxYXFiUeAQcOAScwLgIqAQ4BBwYHBgcOAgcXFhcWFxYXFgcOAwcVBiciJwcOAxUOASYnJjc2NzY3JicuATc2NzYXNzY3PgMXFgEbAwEDAwMGAgETJwQSHwsSBwoDGRkIEwQDEg4jGAcPAggKGwkYDBAXF00rFxQZEwsLIwgBCQYLCgwKCwoEFQ8DAgEGAhQOCwgBdxkSCwsjCAsHDgoPCwsFFRADAQIDAwIUDgsIBQQBAwQCAwMDARMoBBEhCxIICwMZGgcTBAQTDiUYBw8CCAsbCRgMEBgMHyUrFRcBrwQECgsIDQICFwIBbSVMJz8BERABBg8tIV1EagMDBSQOGAQBAiIqJiYoAwIHCR8SEAMFAgICAQIDBgUYKwcEBBMFAgEEA8MJHxMPAwUDAgMEBwUXKwcFAwgLBQIBBAQGAwQKDAUJBQQBARYCAm4kSyg/AREPAQYPLSJcRGkEAwUkDhcEAgMiKScSHRMJAgIAAAAAAwAd//4BxgKCAEkAbQB5AAABBiciJwcOAxUOASYnJjc2NzY3JicuATc2NzYXNzY3PgEXFhceAQcOASciLgIqAQ4BBwYHBgcOAQcXFhcWFxYXFgcOAyM3HgMcAQ4BMRQOAQcGFxQWFA4DIwYnJjY3PgE/AT4DHgEHDgMnLgE2ARIUJwQRIgwTCAsDGhkHFAUEFA8lFwcPAQgLGwkXDREYF08rFhUYEgsLIwgBCwcNCw4LDAQWEAMCAQYCEw4LCQUDAQMEAQQDAwF1BwoGBAECFRsHGwEBAgQHDAgcCggNDwobCQkCBhorGwsHAwsODwcOCg0BdRcDAm0kTCc/AREPAgYPLCJcRGkEAwUkDhcEAQIhKiYlJwUCBwofEw8CBQMCAwQGBRcrBwUDEwUCAQUDBwMECgsGCAYEHQIFBggGCAQFATZNGV80AxAHCwYHAgEXEHo1IFEYGQQKDnAKHQ8HCwYBAwUcHgAAAgAu//4CRgKFAEkAcAAAARYXFgcOAQ8BBiciJwcOAxUOASYnJjc2NzY3JicuATc2NzYXNzY3PgEXFhceAQcOASciLgMOAgcGBwYHDgMHFxYXFiUeAxQOAjEUDgEHBgcOBSMiLgEnJjY3PgE/ATQ+AwEnAwEDBAIGAgITJwQRIQsSBwsDGRkIEwQDEw4kFwgOAgcLGwkYDBAYF00rFxUYEwwLIggBCwcOCg4LDAQVEAMBAQMCAgIUDgsIAQoICwUCAgMDJDENNAoBAwIGCRELBAsVAwUpHRIyEBAEDA4WAa0DBAoMCAwCAxYCAW0kTCdAAREPAgUPLSJcRGoDAwUkDhgEAQIhKiYmKAQCBwkfExACBQMCAgEBBAYFGCsHBQIHBggEAgEEBMcDCQoMCgwHBwFVeCeWUQUfCxQIBwISERy9UzJ/JyYCBhIICQAAABAAxgABAAAAAAABAAkAFAABAAAAAAACAAcALgABAAAAAAADABYAZAABAAAAAAAEAAkAjwABAAAAAAAFACIA3wABAAAAAAAGABABJAABAAAAAAAQAAkBSQABAAAAAAARAAcBYwADAAEECQABABIAAAADAAEECQACAA4AHgADAAEECQADACwANgADAAEECQAEABIAewADAAEECQAFAEQAmQADAAEECQAGACABAgADAAEECQAQABIBNQADAAEECQARAA4BUwBNAGEAbAB0AGUAcwBlAHIAcwAATWFsdGVzZXJzAABSAGUAZwB1AGwAYQByAABSZWd1bGFyAAAxAC4AMAAwADIAOwBNAGEAbAB0AGUAcwBlAHIAcwBSAGUAZwB1AGwAYQByAAAxLjAwMjtNYWx0ZXNlcnNSZWd1bGFyAABNAGEAbAB0AGUAcwBlAHIAcwAATWFsdGVzZXJzAABWAGUAcgBzAGkAbwBuACAAMQAuADAAMAAyADsARgBvAG4AdABzAGUAbABmACAATQBhAGsAZQByACAAMgAuADMALgA1AABWZXJzaW9uIDEuMDAyO0ZvbnRzZWxmIE1ha2VyIDIuMy41AABNAGEAbAB0AGUAcwBlAHIAcwBSAGUAZwB1AGwAYQByAABNYWx0ZXNlcnNSZWd1bGFyAABNAGEAbAB0AGUAcwBlAHIAcwAATWFsdGVzZXJzAABSAGUAZwB1AGwAYQByAABSZWd1bGFyAAAAAAACAAAAAAAA/4MAMgAAAAAAAAAAAAAAAAAAAAAAAAAAAKwAAAABAAIBAgEDAAMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQCsAQQBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMBFAEVARYBFwEYARkBGgEbARwBHQEeAR8BIAEhASIBIwEkASUBJgEnASgBKQEqASsBLAEtAS4BLwEwATEBMgEzATQBNQE2ATcBOAE5AToBOwE8AT0BPgE/AUABQQFCAUMBRAFFAUYBRwFIAUkBSgFLAUwBTQFOAU8BUAFRAVIBUwFUAVUBVgFXAVgBWQFaAVsBXAFdAV4BXwFgAWEBYgFjAWQBZQFmAWcBaAFpAWoBawFsAW0BbgFvAXABcQFyAXMBdAljb250cm9sTEYJY29udHJvbENSB0FwLmxpZ2EHQWoubGlnYQdFdC5saWdhB0VmLmxpZ2EHRWoubGlnYQdFay5saWdhB0VsLmxpZ2EHRWIubGlnYQdGdC5saWdhB0ZoLmxpZ2EHRmsubGlnYQdGbC5saWdhB0ZiLmxpZ2EHSHQubGlnYQdIZi5saWdhB0l0LmxpZ2EHSXAubGlnYQdJZi5saWdhB0lqLmxpZ2EHSWwubGlnYQdJYi5saWdhB0p0LmxpZ2EHSmYubGlnYQdKaC5saWdhB0prLmxpZ2EHSmwubGlnYQdKYi5saWdhB0t0LmxpZ2EHS3AubGlnYQdLeS5saWdhB0xqLmxpZ2EHTWoubGlnYQdNaC5saWdhB01mLmxpZ2EHTnQubGlnYQdOZi5saWdhB09mLmxpZ2EHT3oubGlnYQdQcS5saWdhB1B3LmxpZ2EHUHIubGlnYQdQdC5saWdhB1B5LmxpZ2EHUHUubGlnYQdQaS5saWdhB1BmLmxpZ2EHUGgubGlnYQdQai5saWdhB1BrLmxpZ2EHUGwubGlnYQdQei5saWdhB1B4LmxpZ2EHUHYubGlnYQdQYi5saWdhB1BuLmxpZ2EHUG0ubGlnYQdScC5saWdhB1JmLmxpZ2EHUmoubGlnYQdUdC5saWdhB1RmLmxpZ2EHVGgubGlnYQdUay5saWdhB1RsLmxpZ2EHVGIubGlnYQdVdC5saWdhB1VzLmxpZ2EHVWYubGlnYQdWdC5saWdhB1ZzLmxpZ2EHVmYubGlnYQdWbC5saWdhB1d0LmxpZ2EHV2YubGlnYQdYcC5saWdhB1l0LmxpZ2EHWWkubGlnYQdZZi5saWdhB1loLmxpZ2EHWWwubGlnYQdZay5saWdhB1liLmxpZ2EHQWYubGlnYQdDeS5saWdhB0VoLmxpZ2EHR3IubGlnYQdPcC5saWdhB2J0LmxpZ2EHYnIubGlnYQdiZi5saWdhB2JqLmxpZ2EHYnoubGlnYQdkdC5saWdhB2VmLmxpZ2EHZnQubGlnYQdmaC5saWdhB2ZiLmxpZ2EHZmsubGlnYQdnai5saWdhB2pqLmxpZ2EHeWoubGlnYQd0dC5saWdhB3RmLmxpZ2EHdGgubGlnYQd0aS5saWdhB3RrLmxpZ2EHdGwubGlnYQh0dGgubGlnYQhlZmYubGlnYQhlZmIubGlnYQdmZi5saWdhB2ZpLmxpZ2EHZmwubGlnYQAAAAAAAAH//wACAAEAAAAMAAAAHAAAAAIAAgADADoAAQA7AKsAAgAEAAAAAgAAAAEAAAAKAB4ALAABbGF0bgAIAAQAAAAA//8AAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQQIAB0AQABaAGQAngDIANIA5AEWAUgBYgFsAYYBmAGyAkQCXgKQAqoCzALeAugDIgNMA1YDdAOuA7gDwgP+AAMACAAOABQAjQACACUAPAACACkAOwACAC8AAQAEAI4AAgA4AAcAEAAWABwAIgAoAC4ANACPAAIAJwBCAAIAIQBBAAIAKwBAAAIAKgA/AAIAKQA+AAIAJQA9AAIAMwAFAAwAEgAYAB4AJABHAAIAIQBGAAIAKwBFAAIAKgBEAAIAJwBDAAIAMwABAAQAkAACADEAAgAGAAwASQACACUASAACADMABgAOABQAGgAgACYALABPAAIAIQBOAAIAKwBNAAIAKQBMAAIAJQBLAAIALwBKAAIAMwAGAA4AFAAaACAAJgAsAFUAAgAhAFQAAgArAFMAAgAqAFIAAgAnAFEAAgAlAFAAAgAzAAMACAAOABQAWAACADgAVwACAC8AVgACADMAAQAEAFkAAgApAAMACAAOABQAXAACACUAWwACACcAWgACACkAAgAGAAwAXgACACUAXQACADMAAwAIAA4AFACRAAIALwBgAAIAOQBfAAIAJQASACYALAAyADgAPgBEAEoAUABWAFwAYgBoAG4AdAB6AIAAhgCMAHIAAgAsAHEAAgAtAHAAAgAhAG8AAgA1AG4AAgA3AG0AAgA5AGwAAgArAGsAAgAqAGoAAgApAGkAAgAnAGgAAgAlAGcAAgAoAGYAAgA0AGUAAgA4AGQAAgAzAGMAAgAxAGIAAgA2AGEAAgAwAAMACAAOABQAdQACACkAdAACACUAcwACAC8ABgAOABQAGgAgACYALAB7AAIAIQB6AAIAKwB5AAIAKgB4AAIAJwB3AAIAJQB2AAIAMwADAAgADgAUAH4AAgAlAH0AAgAyAHwAAgAzAAQACgAQABYAHACCAAIAKwCBAAIAJQCAAAIAMgB/AAIAMwACAAYADACEAAIAJQCDAAIAMwABAAQAhQACAC8ABwAQABYAHAAiACgALgA0AIwAAgAhAIsAAgAqAIoAAgArAIkAAgAnAIgAAgAlAIcAAgAoAIYAAgAzAAUADAASABgAHgAkAJYAAgA5AJUAAgApAJQAAgAlAJMAAgAxAJIAAgAzAAEABACXAAIAMwADAAgAEAAYAKgAAwAlACEApwADACUAJQCYAAIAJQAHABAAFgAcACIAKAAuADQAqwACACsAqgACACgAqQACACUAnAACACoAmwACACEAmgACACcAmQACADMAAQAEAJ0AAgApAAEABACeAAIAKQAHABAAGAAeACQAKgAwADYApgADADMAJwClAAIAKwCkAAIAKgCjAAIAKACiAAIAJwChAAIAJQCgAAIAMwABAAQAnwACACkAAQAdAAYACAAKAAsADAANAA4ADwAQABEAEgATABQAFQAXABkAGgAbABwAHQAeACEAIwAkACUAJgApADMAOAAAAAEAAAAKAB4ALAABbGF0bgAIAAQAAAAA//8AAQAAAAFrZXJuAAgAAAABAAAAAQAEAAIAAAABAAgAAQPGAAQAAABEAJIAnADSAOABIgEoATYBPAFKAVABXgFkAW4BfAGKAawBsgHAAcYB1AHiAewB/gIIAhYCSAJiAnAChgKcAqoCvALKAtAC6gL0AvoDAAMKAxADGgMgAyYDLAMyAzgDOAMyAz4DRANOAz4DVANaA2ADIANmA2wDcgN4A34DiAOOA5gDngOkA7IDvAACAC7//AA3//IADQAl/+oAKP/8ACn/9AAq//AAK//6ACz//gAt//4AMf/qADP//AA0//wANf/+ADb/+AA5//QAAwAt//wALv/8ADb//AAQACT//AAl/+wAJv/6ACf//AAp/+wAKv/0ACv/+gAs//gALf/8AC//7gAx//gAMv/0ADT/9gA3/+oAOP/6ADn/5AABADf/+gADADX//AA3/+gAOf/6AAEALv/2AAMAKP/8ACn/6AAy/+QAAQAu//IAAwAo/+4AL//2ADX/5gABACT/8AACABgAAgAoAAQAAwAo//4ALv/wADL/+AADACf/9gAv/+4Ao//sAAgAKf/qACv/9AAu//wAL//uADH/7gAy//IAN//mAJX/9AABADYADgADACAABAAjAAQAM//4AAEAMv/8AAMAJv/+ACr/+AA3//4AAwAo//gALv/0AJn/7AACACMAAgAl/+wABAAk//wAL//8ADT/9AA4//4AAgAt//IAq//iAAMAJf/sACb/+AA3//wADAAk//wAJv/+ACj/+gAp/+AAK//+ACz/9gAt//wAL//qADH/7AAy//IAN//cAKP/4gAGACQAAgAl/9oAK//yAC//4gAx/+gAMv/8AAMAKQB+ADL/7ACeAIgABQAg//wAIv/4ACb//AAu//YANQAEAAUAKf/0ACr/+AAv//QAM//mAKP/3gADACEAHAAkAAIALv/4AAQAJf/0AC3//gAv//wAmf/8AAMAJP/wACf/+AAp/+4AAQAk//oABgAg//QAIf/wACj/9gAu/+wAL//0ADP/9AACACH//gA3//IAAQApAEIAAQAnACgAAgAzADQAqgAoAAEAMwA0AAIAMwAyAKEARgABADL/6gABADMALAABACkANAABAJoAGAABADMAMgABACkAOAABADMAMAACACUAEgAzAC4AAQApAHgAAQApADYAAQAzAC4AAQAzADgAAQAzAEIAAQAzAEwAAQAz//IAAQAnAEgAAgAl/+4Amv/oAAEAKQBiAAIAKQBaAJ4AUAABACkAVgABAKEARAADADMANgCaABIAogBKAAIAJwAsAKEARgACAC3/8gA3/+oAAQBEAAYABwAIAAkACgAMABEAFAAVABgAHQAgACEAIgAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOQA8AD0APgBIAEkASwBMAE0AUABRAFkAWgBcAF4AXwBhAGgAagB+AIEAhACIAI0AkQCYAJoAnQCeAJ8AoAChAKkAqgAAAAAAAQAAAADUGBYRAAAAANfpcqUAAAAA1+lypQ==";class TO extends N0{constructor(t,n){super(),this.moduleName="Maltesers",this.shortLength=5,this.indicator=r=>r?1:0,this.backgroundSvg=t,this.backgroundShortSvg=n}svgPreview(t){return this.svg(t)}svgPrint(t){return this.svg(t)}svg(t){const n=Pi(MO),i=t!==""?(c=>c.charAt(0).toUpperCase()+c.substr(1).toLowerCase())(t):"",a=n.getPath(i,0,72,72),s=t.length<this.shortLength,o=s?this.backgroundShortSvg:this.backgroundSvg;return this.brandSvg(a,o,s)}brandSvg(t,n,r){const i=t.toSVG(2),a=t.getBoundingBox(),s=a.y2-a.y1,o=a.x2-a.x1,c=t.toPathData(3),l=()=>{const b=Tt("g"),D=Tt("g");b.appendChild(D),D.setAttribute("stroke","#5C1A0D"),D.setAttribute("stroke-width","4"),D.setAttribute("transform","translate(1,1)"),D.innerHTML=i;const T=Tt("g");b.appendChild(T),T.setAttribute("fill","#FFE386"),T.setAttribute("transform","translate(1,1)"),T.innerHTML=i;const P=Tt("g");b.appendChild(P),P.setAttribute("fill","white"),P.innerHTML=i;const L=new U0(b);return L.transform(([U,z])=>[U,z+((o-U)*z)**2/(o*5e4)]),L.transform(([U,z])=>[U,z+(o/3-U)**2/o*this.indicator(U<o/3)]),L.transform(([U,z])=>[U-(s-z)*(o-U)/800,z]),b},[u,A,h]=QE(n);if(!u)return"";const f=Tt("defs");u.appendChild(f),ME(u,f,n);let d,p,m,y;r?(d=A*.25*(1+.1),p=h/2*(1+.1),m=h*.22,y=A*.32):(d=A*.22*(1+.1),p=h*.8,m=h*.067,y=A*.33);const v=Tt("g");u.appendChild(v),v.setAttribute("transform",`translate(${m} ${y}) rotate(-10)`);const w=R0(d,p);w.setAttribute("opacity","0"),v.appendChild(w);const B=Tt("g");v.appendChild(B);const C=l();B.appendChild(C);const x=k0(c);return O0(B,x,d,p),u.outerHTML}}const NO="data:application/octet-stream;base64,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DOYNZA3mDlQOyg88D54QEBCGEQARchHsEmIS1BOWFAwUghTwFWIV1BaiFxQXkhgEGMYZdBomGtQbfhwYHL4dYB3+HpgfPh/oIJYhPCHmIpQjRiPsJJolSCXuJpQnQifoKJIpRAAmAAn/8QAK//sADP/7AA3/+wAO//sAD//7ABD/+wAR//sAEv/7ABP/+wAU//sAFf/xABb/8QAZ//sAHf/2AB7/+wAf//sAIP/xACH/+wAi//sAI//7ACT/+wAl//EAJv/2ACf/8QAo//sAKf/2ACr/+wAr//sALP/sAC3/7AAu/+IAL//dADD/9gAx/+wAMv/7ADP/+wA0//YAKwAG//EACP/nAAn/4gAK/9MAC//iAAz/9gAN/+IADv/sAA//4gAQ/9gAEf/iABL/1QAT//EAFP/nABX/8QAW/9gAMf/TADL/pgAz//MANP/nADX/8QA2//EAN//7ADj/7gA5//YAOv/7ADv/2AA8//EAPf/2AD7/9gA///EAQP/sAEH/+wBC/+wAQ//xAET/7ABF/+wARv/2AEf/3QBI/90ASf/EAEr/zgBL//YAKwAG//YAB//2AAn/3QAL/+wADP/sAA3/8QAO//YAD//sABD/8QAR/+wAEv/iABP/5wAU/+wAFf/dABb/7AAX/78AMf/YADL/sAAz/+IANP/iADX/8QA2/+cAN//xADj/3QA5/+wAOv/2ADv/4gA8//EAPf/xAD7/8QA///YAQP/YAEH/9gBC/+cAQ//sAET/7ABF/+wARv/xAEf/zgBI/9MASf/OAEr/zgBL/+wAKgAG//YAB//iAAj/4gAK/+IADP/dAA3/ugAO/+IAD//iABD/5wAR/+IAEv/dABP/yQAU/90AFf+mABb/0wAx/5gAMv/YADP/4gA0/9MANf/xADb/7AA3/+wAOP/iADn/7AA6//EAO//dADz/5wA9/+wAPv/sAD//5wBA/9gAQf/sAEL/zgBD/+wARP/YAEX/tQBG/90AR/+hAEj/oQBJ/8QASv+DAEv/7AAqAAb/8QAH/90ACP/YAAn/oQAL/8kADP/iAA3/sAAO/+cAD//YABD/4gAR/90AEv/bABP/4gAU/+IAFf/TABb/5wAg/+QAMf/nADL/3AAz//QANP/rADX/9AA2//IAN//4ADj/8AA5//QAOv/1ADv/7AA8/+oAPf/7AD7/9wA///IAQP/tAEH/+wBC/+IAQ//2AET/4wBF/7YARv/vAEf/pgBK/6MAS//yACYAB//TAAj/8QAK/84ADP/dAA3/9gAO//EAD//dABD/pgAR/8kAEv+6ABP/7AAU/90AFf/OADH/xAAy/5IAM//sADT/3QA1/+cANv/xADf/9gA4/90AO/9WADz/5wA9//EAPv/sAD//5wBA/84AQf/dAEL/0wBD/+cARP/nAEX/5wBG/+cAR//dAEj/2ABJ/7oASv/JAEv/4gAsAAb/+wAH//sACP/xAAn/zgAK/+cAC//dAAz/9gAN/9gADv/tAA//7AAQ/+kAEf/rABL/3QAT/90AFP/hABX/3QAW/90AMf/nADL/vwAz/+cANP/nADX/8QA2//EAN//sADj/5wA5//YAOv/2ADv/4gA8//EAPf/2AD7/+wA///sAQP/2AEH/+wBC/+wAQ//7AET/7ABF/9MARv/7AEf/yQBI/84ASf+wAEr/xABL/+cADgAG//sACf/xAAv/7AAN//sADv/7AA8AAAAR//EAEv/0ABP/9gAU//EAFf/xABb/7AAx//YAQP/2ACkABv/7AAf/9gAI//sACf/iAAr/5wAL/+wADP/vAA3/3QAO//sAD//qABD/8QAR/+wAEv/nABP/8QAU/+cAFf/iABb/7AAx/+cAMv/vADP//AA0/+cANf/7ADb//gA4//EAOf/8ADr//AA7/+kAPP/6AD3//QA+//4AP//7AEL/6gBD//0ARP/2AEX/7ABG//EAR//YAEj/4gBJ/+wASv/LAEv//AAsAAb/+wAH//EACP/2AAn/0wAK/+IAC//JAAz/5wAN/90ADv/iAA//7AAQ/+cAEf/sABL/3QAT/9MAFP/iABX/zgAW/+cAMf/YADL/xAAz/+wANP/dADX/6AA2//EAN//xADj/4wA5//EAOv/2ADv/7AA8/+wAPf/sAD7/9gA//+wAQP/iAEH/8QBC/90AQ//nAET/5wBF/8QARv/mAEf/xABI/8kASf+1AEr/rQBL/+IALAAG//sAB//7AAj/9gAJ/9MACv/2AAv/ugAM/+kADf/dAA7/9gAP/+wAEP/2ABH/8AAS//EAE//2ABT/5wAV/9gAFv/sADH/vwAy/9UAM//eADT/3wA1//EANv/xADf/9gA4/+IAOf/xADr/9gA7/+wAPP/xAD3/9gA+//EAP//2AED/2ABB//EAQv/nAEP/9gBE/+cARf/TAEb/8QBH/9gASP/YAEn/xgBK/78AS//xACsABv/7AAf/9gAI/+wACf/TAAr/5wAL/90ADP/lAA3/zgAO/90AD//dABD/7AAR/+IAEv/iABP/2AAU/+IAFf/JABb/5wAx/90AMv/EADP/6wA0/+EANf/wADb/8AA4/9wAOf/dADr/7AA7/9gAPP/sAD3/5wA+/+wAP//iAED/0wBB/+IAQv/YAEP/4gBE/84ARf/JAEb/4gBH/8kASP/OAEn/vwBK/8kAS//TACwABv/7AAf/3wAI/+cACf+wAAr/4wAL/8kADP/dAA3/xwAO/+cAD//dABD/7AAR/+cAEv/iABP/yQAU/9cAFf+/ABb/4gAa/+kAMf/YADL/uwAz/+EANP/dADb/6wA3//MAOP/lADn/8QA6//IAO//eADz/5wA9/+4APv/zAD//8ABA/+IAQf/2AEL/6gBD//YARP/kAEX/zABG/+8AR/+0AEj/uwBJ/64ASv+vAEv/5QAsAAb/+wAH/90ACP/nAAn/4gAK/9MAC//nAAz/3QAN//YADv/eAA//3QAQ/7AAEf/OABL/sAAT//sAFP/dABX/0wAW/9MAMf/iADL/iAAz//YANP/OADX/9gA2//EAN//xADj/0wA5//YAOv/zADv/gAA8//EAPf/7AD7/+wA///YAQP/OAEH/7gBC/84AQ//2AET/2ABF//sARv/2AEf/5wBI/+cASf/TAEr/4gBL/+wALAAG//sAB//2AAj/8QAJ/9gACv/nAAv/3QAM/+IADf/dAA7/4gAP/+IAEP/nABH/5wAS/9gAE//YABT/3QAV/84AFv/sADH/5wAy/78AM//nADT/2AA1/+cANv/nADf/7AA4/90AOf/sADr/7AA7/+cAPP/sAD3/8QA+/+wAP//xAED/4gBB//EAQv/dAEP/5wBE/+IARf/YAEb/5wBH/78ASP/HAEn/sABK/7UAS//dACsABv/xAAf/8QAI/+IACf/dAAr/0wAL/+IADP/iAA3/3QAO/+cAD//dABD/zgAR/9MAEv/EABP/0wAU/84AFv/dADH/4gAy/6EAM//jADT/3QA1/+wANv/sADf/5wA4/90AOf/nADr/8QA7/78APP/xAD3/9gA+/+wAP//nAED/3QBB/+cAQv/nAEP/5wBE/+IARf/OAEb/3QBH/8QASP/JAEn/lwBK/7oAS//YACkABv/sAAf/0wAI/90ACf/OAAr/3QAM/90ADf/EAA7/5wAP/9gAEP/YABH/3QAS/9MAE//YABT/4gAV/90AMf/sADL/wAAz/+8ANP/kADX/6wA2//AAN//2ADj/5AA5//EAOv/uADv/1gA8//QAPf/2AD7/8QA///AAQP/dAEH/7ABD/+gARP/YAEX/1QBG/+wAR/+3AEj/wwBJ/7UASv+wAEv/5gAeAAf/zgAi/+4AI//5ACT/7wAy/9AAM//pADT/sQA1/+sANv/nADf/5gA4/7oAOf/vADr/9wA7/9AAPP/sAD3/6wA+/+YAP//sAED/uwBB/+kAQv+7AEP/5ABE/9QARf+6AEb/0ABH/34ASP+SAEn/zQBK/5sAS//nABwAF//RACT//wAy/9EAM//uADT/5wA1/+8ANv/3ADf/7gA4/+gAOf/3ADr/+wA7/9oAPP/vAD3/9wA+/+4AP//vAED/4QBB//cAQv/nAEP/7wBE/+4ARf/QAEb/9wBH/8EASP/MAEn/wwBK/7sAS//nABwAF//QABv/+QAy/8EAM//zADT/6wA1//sANv/zADf/+wA4/+8AOf/zADr//gA7/+EAPP/vAD3/9wA+//kAP//3AED/4gBB//kAQv/jAEP/8wBE/+YARf/VAEb/+QBH/84ASP/JAEn/twBK/8EAS//rAB8ABv/7ABL/3wAX/8kAJf/5ACv/7wAy/7oAM//zADT/6wA1/+8ANv/uADf/8wA4/+oAOf/vADr/7wA7/9QAPP/5AD3//gA+//EAP//vAED/4wBB//MAQv/mAEP/7gBE/+cARf/XAEb/6wBH/8kASP/JAEn/twBK/7cAS//nACAABv/7ACQAAgAl/+8AJ//5AC3//gAv//4AMv/oADP//QA0/+sANf/7ADb/+gA3//sAOP/jADn/9wA6//oAO//kADz//wA9//0APv/+AD8AAABA/+gAQf/7AEL/6ABD//sARP/sAEX/8QBG//sAR//qAEj/6wBJ/+cASv/qAEv/+QAbAAb/+wAl/+8AMv+5ADP/+wA0/+8ANf/7ADb/+wA3//0AOP/vADn/+wA6AAAAO/+7ADz//gA9//4APv/7AED/7ABB//4AQv/nAEP/+QBE//kARf/7AEb/+QBH//MASP/rAEn/4gBK/+8AS//7AB0ABv/2ABf/zgAl/+8AMv+3ADP/9wA0/+sANf/3ADb/8QA3//kAOP/uADn/8wA6//sAO//YADz/8wA9/+4APv/3AD//8wBA/+MAQf/3AEL/6QBD/+8ARP/nAEX/1ABG/+8AR//JAEj/zABJ/6YASv/JAEv/3AAcAAb/+wAX//MAJf/7ADL/6wAz//4ANP/uADX/+wA2//4AN//+ADj/8wA5//0AOv/+ADv/7gA8//4APf/+AD7/+wA///4AQP/uAEL/9wBD//4ARP/+AEX/+QBG//4AR//uAEj/9wBJ/+4ASv/zAEv//gAYAAb/+wAx//YAMv/rADP//wA0//MANf//ADYAAQA3//8AOP/zADv/6AA8//4APf/+AD4AAQBA/+4AQf//AEL/8wBD//4ARP/4AEX//QBH/+wASP/3AEn/7ABK//EASwABABwABv/2ABf/4QAy/8oAM//9ADT/+QA1//4ANv/7ADf//gA4//MAOf/+ADr//wA7/+EAPP/7AD3//gA+//4AP//+AED/7wBB//4AQv/zAEP//gBE//sARf/7AEb//gBH/+8ASP/5AEn/2gBK//oAS//+AB0ABv/nABf/5wAx/7AAMv/hADP/7gA0/7QANf/rADb/5wA3/+4AOP+sADn/6wA6//kAO/+3ADz/6gA9/+8APv/nAD//5wBA/6wAQf/uAEL/rgBD/+cARP+8AEX/3ABG/9oAR//cAEj/0QBJ/9oASv/RAEv/7wAeAAb/9gAX//cAI//9ADH/vwAy/+4AM//5ADT/2gA1//4ANv/3ADf/+wA4/9oAOf/3ADr/+wA7/+cAPP/7AD3/+QA+//cAP//5AED/1ABB//sAQv/cAEP/9wBE/+8ARf/JAEb/6wBH/8QASP++AEn/5wBK/8EAS//+ABwAF//7ADH/7AAy/+QAM//+ADT/7gA1//4ANgAAADf//QA4//cAOf/7ADr//gA7/+4APP/+AD3//gA+//0AP//7AED/7wBB//4AQv/uAEP//gBE//cARf/7AEb/+QBH/+gASP/vAEn/6wBK/+gAS//+AB4ABv/7ABf/8wAa//4AHf/3ACX/9wAq//4AMf/2ADL/5AAz//0ANP/zADX/+wA2//4AN//+ADj/+QA7/+4APf/+AD7/+wA///4AQP/2AEH/+gBC/+4AQ//7AET/+QBF//sARv/+AEf/8wBI/+8ASf/zAEr/6wBL//4AHQAG//EAJP/3ADH/7AAy/7sAM//sADT/4wA1/+8ANv/vADf/9wA4/+QAOf/qADr/9wA7/98APP/vAD3/9wA+/+sAP//uAED/4wBB/+4AQv/mAEP/7wBE/+IARf/VAEb/7gBH/8MASP/GAEn/uwBK/7oAS//fABwABv/sACT//gAy/54AM//rADT/6gA1//EANv/rADf/9wA4/+MAOf/oADr/9wA7/64APP/sAD3/8QA+/+wAP//sAED/4QBB//MAQv/oAEP/5ABE/9gARf/kAEb/7gBH/9EASP/QAEn/uwBK/8QAS//zADAAF//3ABj//wAZ/+kAGv//ABv//QAc//4AHf/pAB7/+wAf//8AIP/iACH//gAi//8AI//+ACT//wAl/+IAJ//uACj//gAp/+cAKv/hACv/+QAs/8MALf/QAC7/5AAv/8wAMP//ADL/4QAz//4ANP/jADX/9wA3//kAOP/fADn/9wA7/+IAPP/5AD3/+gA+//EAP//6AED/2gBB/+8AQv/aAET/7wBF/9cARv/qAEf/xgBI/7sASf/qAEr/tABL//sAHQAG/+cAF//oACT/+gAy/+IAM//xADT/zAA1/+8ANv/sADf/+gA4/8wAOf/3ADr/8wA7/8kAPP/uAD3/7wA+/+wAP//rAED/yQBB//cAQv/MAEP/+ABE/9QARf/KAEb/2gBH/8EASP/EAEn/4gBK/7cAS//vAB0ABv/xABv/+QAl/+4AMv+8ADP/7wA0/9wANf/zADb/6AA3//cAOP/hADn/5gA6//MAO//aADz/6QA9//MAPv/pAD//6wBA/+MAQf/3AEL/2gBD/+kARP/rAEX/1ABG/+kAR//JAEj/zABJ/7QASv+7AEv/5wAbAAb/9gAy/6YAM//9ADT/0wA1//oANv/+ADf//QA4/9UAOf/3ADr//wA7/7kAPP/6AD3//gA+//sAP//7AED/0ABB//oAQv/XAEP/+QBE/+IARf/zAEb/9wBH/+8ASP/vAEn/6gBK/+cAS//6ABwABv/7ACQAAgAy/9UAM//7ADT/7wA1//cANv/9ADf//wA4/+4AOf/7ADr//wA7/+sAPP/+AD3//gA+//0AP//6AED/7gBB//sAQv/sAEP/+wBE/+8ARf/7AEb//QBH/+8ASP/qAEn/3wBK//gAS//+ABwABv/nABf/lQAy/4IAM//3ADT/wQA1/+kANv/nADf/+gA4/8QAOf/oADr/6wA7/5UAPP/uAD3/+wA+//cAP//vAED/wQBB/+8AQv/DAEP/5wBE/84ARf/uAEb/7gBH/+kASP/pAEn/zgBK/+4AS//7ADMABv/sABf/owAY//kAGf/XABr//gAb//4AHP/5AB3/0AAe//gAIP+tACH/8wAi//4AJP/+ACX/0AAm//kAJ//MACj//gAp/9oAKv/+ACv//gAs/+MALf/zAC7/3AAv//cAMP/7ADL/jwAz/+oANP/CADX/7wA2/+oAN//3ADj/xgA5/+sAOv/6ADv/qgA8/+sAPf/7AD7/7wA//+8AQP++AEH/7gBC/8MAQ//qAET/1QBF/+sARv/pAEf/6ABI/+cASf/iAEr/2gBL/+4AHAAG/+cAF//hADL/1AAz/+sANP+wADX/6wA2/+QAN//jADj/qgA5/+cAOv/jADv/ugA8/+cAPf/vAD7/2gA//+kAQP+uAEH/7wBC/64AQ//kAET/uwBF/9oARv/aAEf/zABI/84ASf/TAEr/zQBL/+sAHwAG/+IAF/+lACP//gAk//sAL//uADL/hwAz/+8ANP+sADX/+AA2/9wAN//6ADj/uQA5/+4AOv/vADv/hAA8/+gAPf/pAD7/5wA//+YAQP+wAEH/6QBC/7oAQ//vAET/zgBF/+gARv/oAEf/2gBI/+YASf/QAEr/4gBL/+kAHAAG//sAF//+ADL/5wAz//sANP/kADX/+wA2//8AN//7ADj/4QA5//4AOv//ADv/6wA8//sAPf/+AD7//gA///sAQP/hAEH/+wBC/9oAQ//+AET/7wBF//sARv/6AEf/6QBI//kASf/rAEr/6QBL//sAMAAG/+wAB//YAAj/3QAJ/9MACv+/AAv/yQAM/+IADf/YAA7/7AAP/9MAEP/JABH/5wAS/+IAE//OABT/4gAV/+wAFv/nACD/WwAh/+wAIv/xACP/8QAk//YAJf/xADL/oQAz/+wANP/nADX/7AA2//sAN//2ADj/9gA5//sAO/+PADz/7AA9//YAPv/sAD//8QBA/+IAQf/nAEL/7ABD/+IARP/JAEX/zgBG/+cAR/+/AEj/xABJ/5IASv+/AEv/4gArAAb/9gAI/8QACf+cAAr/zAAL/5QADP+6AA3/xAAO/+oAD//BABD/zgAR/78AEv+7ABP/2AAU/78AFf+mABcAAgAk/+cAMf+mADL/2AAz/+cANP+7ADX/5gA2//MAN//zADj/sQA5/+oAOv/rADz/6AA9/+gAPv/mAD//5wBA/7oAQf/4AEL/twBD/+gARP/OAEX/sQBG/88AR/+EAEj/lwBJ/9AASv+NAEv/9wAsAAb/9gAH/+oACP/nAAn/xAAK/+gAC//TAAz/3QAN/9gADv/lAA//5wAQ/+IAEf/aABL/3AAT/9MAFP/bABX/xAAk//EAMf/YADL/zQAz/+wANP/kADX/9wA2//MAN//9ADj/4wA5//cAOv/3ADv/5gA8//4APf/9AD7/7gA//+4AQP/kAEH/+QBC/+YAQ//vAET/6QBF/9oARv/vAEf/zgBI/88ASf/QAEr/uQBL//kAKwAG//YAB//qAAj/7AAJ/9gACv/uAAv/4gAM/+IADf/dAA7/9AAP/+IAEP/eABH/5gAS/+IAE//TABT/3QAV/90AJP/2ADH/7AAy/74AM//uADT/3wA1//oANv/xADj/5wA5/+8AOv/5ADv/2AA8/+0APf/9AD7/8wA///EAQP/rAEH/+ABC/+QAQ//3AET/5gBF/9AARv/zAEf/xgBI/80ASf++AEr/twBL/+gAKgAH//EACP/xAAn/0wAK/+YAC//YAAz/5wAN/9gADv/oAA//5wAQ/+IAEf/iABP/2AAU/90AFf/dACT/+wAx/+wAMv+7ADP/9wA0/+QANf/rADb/5wA3//EAOP/kADn/+QA6//YAO//aADz/9wA9//4APv/uAD//8QBA/+cAQf/vAEL/4wBD/+sARP/cAEX/0ABG/+sAR//CAEj/xABJ/7QASv+6AEv/6AAmAAf/9gAI//EACf/sAAr/9gAM/+cADv/6AA//8QAQ//EAEf/vABL/4QAT//EAFP/iABX/5wAy/+kAM//9ADT/5wA1//sANv/9ADf//gA4/+sAOf/+ADoAAQA7/+gAPP/9AD3/9wA+//0AP//9AED/6wBBAAEAQv/pAEP/+QBE/+wARgACAEf/6QBI/+8ASf/nAEr/6wBL//sAKQAH//sACP/xAAn/5wAK/+4AC//2AAz/4gAN//sADv/1AA//8QAQ/90AEf/kABL/4gAT/+wAFP/YABX/3QAx//YAMv+5ADP/+AA0/+MANf/3ADb/+AA3//kAOP/iADn/+gA6//0AO//OADz//QA9//4APv/5AD///ABA/+YAQv/jAEP/9wBE/+YARf/vAEb//gBH/+cASP/vAEn/0QBK/+YAS//9ACgAB//2AAj/4gAJ/90ACv/sAAv/4gAM/+gADf/iAA7/9QAP/+gAEP/dABH/4AAS/+YAE//OABT/4gAV/90AJP/7ADH/9gAy/8EAM//vADT/3wA2//QAN//4ADj/4wA5/+kAOv/6ADv/0QA8/+YAPf/zAD7/6QA///EAQP/qAEL/3ABD/+gARP/fAEb/+ABH/7sASP+7AEn/rwBK/68AS//jACcACP/xAAn/7AAK//gADP/2AA7/9wAP//YAEP/xABH/5wAS/+cAE//xABT/7AAV/+UAMf/2ADL/6AAz//kANP/qADX/+wA2//oAN//7ADj/6wA5//cAOv//ADv/4wA8//sAPf/+AD7/+wA///oAQP/sAEH/+gBC/+MAQ//5AET/7wBF/+oARv/7AEf/4wBI/+wASf/jAEr/6gBL//4AJgAH//sACP/7AAn/5wAK//oADP/2AA7/9gAP//YAEP/xABH/8QAS//IAE//xABT/5wAV//EAMv/nADP/+wA0//EANf/9ADb//gA3//4AOP/uADn/+wA6//4AO//oAD0AAAA+//sAP//+AED/7wBB//4AQv/qAEP//wBE//EARf/3AEb/+wBH/+YASP/3AEn/2gBK/+QAS//7ACkAB//2AAj/9gAJ/90ACv/yAAz/8QAO//EAD//wABD/6gAR/+wAEv/mABP/9AAU/+wAFf/rABf/zgAx//YAMv/OADP/7wA0/+oANf/5ADb//gA3//0AOP/oADn/+QA6//0AO//YADz//gA9//8APv/6AD//+QBA/+4AQf/5AEL/4wBD//gARP/qAEX/+QBG//oAR//pAEj/6QBJ/9UASv/rAEv/+gAqAAf/sgAI/8kACf+wAAr/ugAL/7UADP+1AA3/3QAO/+QAD/+6ABD/sgAR/7UAEv+xABP/4gAU/6sAFf+mADH/lwAy/9oAM//jADT/qwA1/+IANv/iADf/4wA4/5oAOf/XADr/7gA7/7QAPP/kAD3/6wA+/+4AP//mAED/rQBB/+8AQv+qAEP/6gBE/74ARf/XAEb/2gBH/9AASP/SAEn/1QBK/80AS//qACsAB//nAAj/8QAJ/6YACv/sAAv/nAAM/90ADf+6AA7/9gAP/+IAEP/sABH/3QAS/9oAE//sABT/3QAV/8QAJP/+ADH/pgAy/+sAM//vADT/ygA1//0ANv/zADf/+wA4/9MAOf/vADr/+wA7/9gAPP/3AD3/9wA+//EAP//7AED/1QBB//cAQv/PAEP/8wBE/+YARf+7AEb/5wBH/7UASP/JAEn/2gBK/6UAS//zACkAB//2AAn/7AAK//kAC//sAAz/9gAO//oAD//2ABD/7AAR/+cAEv/vABP/9gAU//EAFf/sABcAAQAx/+YAMv/pADP/+QA0/+oANf/zADb/+wA3//oAOP/nADn/9wA6//4AO//uADz/+QA9//oAPv/7AD//+QBA/+8AQf/3AEL/6QBD//oARP/sAEX/8wBG//gAR//pAEj/6QBJ/+MASv/nAEv//QAqAAf/9gAI//sACf/sAAr/9wAL/+wADP/7AA7/+gAP//EAEP/2ABH/7AAS//EAE//2ABT/9gAV/+QAFwABADH/8QAy/+kAM//3ADT/6QA1//kANv/5ADf/+QA4/+8AOf/6ADr//gA7/+8APP/7AD3/+gA+//oAP//4AED/7wBB//sAQv/rAEP//QBE/+8ARf/3AEb/+gBH/+4ASP/rAEn/4QBK/+wAS//5ACsAB//xAAj/4gAJ/9gACv/sAAv/2AAM//YADf/iAA7/8QAP/90AEP/iABH/0wAS/+IAE//JABT/4gAV/94AJP/7ADH/3QAy/7QAM//pADT/4QA1/+wANv/vADf/6gA4/+IAOf/qADr/+gA7/9oAPP/pAD3/6wA+/+wAP//pAED/4QBB/+sAQv/cAEP/6wBE/+IARf/JAEb/7gBH/7wASP/BAEn/pgBK/7UAS//kACwAB//iAAj/5wAJ/+IACv/OAAv/2AAM/+cADf/nAA7/8AAP/90AEP+6ABH/xAAS/9cAE//XABT/2AAV/9gAG//3ACT/+wAx/+IAMv+gADP/6QA0/+MANf/mADb/7wA3/+sAOP/aADn/6AA6//YAO/+xADz/6wA9/+4APv/oAD//7wBA/9oAQf/oAEL/1wBD/+MARP/aAEX/2ABG/+cAR//PAEj/yQBJ/7kASv/BAEv/6AApAAf/8QAI/+wACf/OAAr/6gAL/84ADP/nAA3/2AAO//YAD//fABD/4gAR/9gAEv/lABP/5wAU/+IAFf/YADH/4gAy/+cAM//3ADT/2gA1//gANv/5ADf/+wA4/9wAOf/3ADr//gA7/+MAPP/3AD3//QA+//cAP//3AED/1QBC/9UAQ//9AET/6QBF/+EARv/pAEf/ugBI/8QASf/aAEr/wgBL//sAKwAH/8kACP/YAAn/xAAK/9MAC/+/AAz/yQAN/9gADv/nAA//xAAQ/7oAEf+1ABL/wQAT/9gAFP+6ABX/vwAk//sAMf+/ADL/2gAz/+gANP/KADX/6QA2/+kAN//oADj/xgA5/+QAOv/nADv/uQA8/+wAPf/uAD7/6QA//+cAQP/GAEH/7ABC/8kAQ//mAET/2ABF/84ARv/VAEf/wQBI/7wASf/GAEr/tABL/+8AKwAH//EACP/2AAn/yQAK/+oAC//TAAz/3QAN/+cADv/sAA//4gAQ/+IAEf/YABL/3wAT/90AFP/dABX/2AAk//sAMf/nADL/xgAz//MANP/iADX/7wA2/+4AN//3ADj/4wA5/+kAOv/vADv/1wA8/+4APf/zAD7/6gA//+0AQP/kAEH/9wBC/98AQ//qAET/5wBF/9AARv/vAEf/yQBI/9AASf/PAEr/xABL/+8AKQAH/+cACP/sAAn/5wAK/+kAC//dAAz/2AAO/+wAD//XABD/qwAR/8kAEv/AABP/9gAU/9MAFf/OADH/2AAy/7AAM//5ADT/2gA1//0ANv/6ADf//gA4/98AOf/3ADr//QA7/8YAPP/7AD3//gA+//gAP//4AED/1QBB//0AQv/VAEP/+ABE/+MARf/zAEb/+QBH/+4ASP/zAEn/4gBK/+cAS//zACkACP/2AAn/5wAK//QAC//sAAz/+wAN//4ADv/2AA//5QAQ/+wAEf/nABL/8wAT//EAFP/nABX/3QAx/+QAMv/KADP/+QA0/+wANf/6ADb/+gA3//sAOP/vADn/+gA6AAAAO//hADz//wA9//0APv/5AD///gBA/+wAQf/7AEL/7ABD//sARP/vAEX/9wBG//sAR//zAEj/6gBJ/+EASv/jAEv/+wArAAf/zgAI/84ACf/YAAr/ygAL/9gADP/JAA3/+wAO/9kAD//JABD/ogAR/7oAEv+5ABP/5wAU/8QAFf+9ACT/+wAx/7oAMv+FADP/+wA0/7sANf/qADb/6wA3/+wAOP++ADn/5gA6/+8AO/+iADz/6AA9/+oAPv/sAD//7wBA/8MAQf/mAEL/uwBD/+YARP/KAEX/6QBG/+8AR//jAEj/3wBJ/9MASv/hAEv/6wApAAf/zgAI/84ACf/TAAv/2AAM/84ADv/eAA//xAAQ/7AAEf/TABL/sQAT/+wAFP/FABX/yQAk//sAMf/JADL/lQAz//MANP/BADX/+QA2//MAN//3ADj/xgA5//sAOv/3ADv/pQA8/+8APf/+AD7/7gA//+oAQP/DAEH/7gBC/8QAQ//vAET/0ABF/+4ARv/uAEf/6QBI/+QASf/aAEr/5gBL//cAKgAH/8QACP/OAAn/pgAL/7oADP+rAA3/3QAO/+cAD/+5ABD/twAR/8QAEv+zABP/0wAU/7AAFf+cACT/+wAx/6EAMv/aADP/4wA0/7cANf/4ADb/4wA3//0AOP+3ADn/7gA6/+8AO/+7ADz/7gA9//EAPv/jAD//6ABA/7oAQf/zAEL/uQBD/+sARP/OAEX/3wBG/+EAR//aAEj/2ABJ/9gASv/MAEv/7gAsAAf/yQAI/84ACf/JAAr/wgAL/8kADP/JAA3//gAO/8kAD/+6ABD/jQAR/7oAEv+gABP/4gAU/7UAFf+6AB7/8QAk//sAMf+1ADL/lwAz/+8ANP+7ADX/5gA2/+4AN//uADj/uQA5/+gAOv/3ADv/hAA8/+8APf/sAD7/7AA//+oAQP+6AEH/7ABC/7kAQ//pAET/ygBF/+8ARv/vAEf/6ABI/+kASf/fAEr/5ABL//EAJgAH//YACf/iAAr/7AAL/+cADP/iAA3//wAO//UAD//nABD/7AAR/+IAEv/gABP/7AAU/90AFf/TADH/4gAy/+sAM//+ADT/6AA1//4ANgAEADf//wA4/9wAOf/6ADv/5gA8//8APf//AD///QBA/+MAQf//AEMAAABE/+8ARf/4AEb/+wBH//cASP/rAEn/6QBK/+kAS//9AAIAAQAGAEsAAAAAAAAAAQAAAADUGBYRAAAAANmXsTQAAAAA2ZexNA==";class PO extends N0{constructor(){super(...arguments),this.moduleName="Vegemite"}svgPreview(t,n){return this.svgElement(t,n)}svgPrint(t,n){return this.svgElement(t,n)}svgElement(t,n){const r=Pi(NO),a=t!==""?(w=>w.charAt(0).toUpperCase()+w.substr(1).toLowerCase())(t):"",s=r.getPath(a,0,72,72),o=s.toSVG(2),c=s.getBoundingBox(),l=c.x2-c.x1,u=s.toPathData(3),A=()=>{const w=Tt("g");w.classList.add("module-text-group");const B=Tt("defs");w.appendChild(B),B.appendChild(TE(0,2,2,"shadow"));const C=Tt("path");C.setAttribute("d",u),C.setAttribute("stroke","black"),C.setAttribute("stroke-width","3"),B.appendChild(C);const x=Tt("g");x.classList.add("module-layer0"),w.appendChild(x),x.setAttribute("filter","url(#shadow)"),x.innerHTML=C.outerHTML;const b=Tt("g");b.classList.add("module-layer1"),w.appendChild(b),b.setAttribute("stroke-width","3"),b.setAttribute("stroke","rgb(45,41,38)"),b.setAttribute("fill","rgb(45,41,38)"),b.setAttribute("transform","translate(0.5,0)"),b.innerHTML=o;const D=Tt("g");D.classList.add("module-layer2"),w.appendChild(D),D.setAttribute("fill","rgb(255,209,0)"),D.setAttribute("transform","translate(1,-0.1)"),D.innerHTML=o;const T=Tt("g");return T.classList.add("module-layer3"),w.appendChild(T),T.setAttribute("fill","white"),T.innerHTML=o,new U0(w).transform(([L,U])=>[L,U+(l/2-L)**2/(l*6)]),w},h=Tt("g");h.classList.add("module-root");const f=Tt("defs");h.appendChild(f);const d=Tt("g");d.classList.add("module-bounds"),h.appendChild(d);const p=R0(n.height,n.width);p.setAttribute("opacity","0"),d.appendChild(p);const m=Tt("g");m.classList.add("module-text-enclosure"),h.appendChild(m);const y=A();m.appendChild(y);const v=k0(u);return O0(m,v,n.height,n.width,.35,.65),NE(h.outerHTML)}}async function kE(e){if(e==="Favourites")return new QO;if(e==="Maltesers"){const t=Ln("https://assets.spiff.com.au/public/modules/img/MaltesersBackground.svg"),n=Ln("https://assets.spiff.com.au/public/modules/img/MaltesersBackgroundShort.svg"),r=await Promise.all([t,n]);return new TO(r[0],r[1])}if(e==="Vegemite")return new PO;throw new ge(`Failed to resolve Module, Module ${e} not found`)}var Yo=(e=>(e.Error="Error",e.Warning="Warning",e.Info="Info",e))(Yo||{});const kO=1e3;class RE extends s0{constructor(t){super(),this.createdAt=new Date,this.update=t}async execute(){await this.update(),await new Promise(t=>{window.setTimeout(()=>{t()},kO)})}}class RO{constructor(t,n,r,i,a,s,o,c,l,u,A=!1,h,f=!1){this.workflowStatePromiseQueue=new o0(1),this.variationRecords=[],this.initialized=!1,this.readOnly=!1,this.isReloadedTransaction=!1,this.render3DScene=()=>{var m;if(!this.previewService)return;const d=this.getCommandContext().getAllLayouts(),p=(m=this.getLayoutPreviewService())==null?void 0:m.getAll();if(p)for(const[,y]of p)y.render(this.getWorkflow(),d,this.getCurrentVariationRecord(),this.getProduct().overlayImageUrl)},this.updateTransaction=a,this.commandContext=i,this.reloadedState=u,this.transaction=s,this.readOnly=A,this.confirmedDesign=!1,this.editedSteps={},this.informationResults=[],this.mandatorySteps={},this.pendingUpdates=[],this.selectionCost=0,this.workflow=t,this.stepSpecificServices={},this.profanityFilter=n,this.pollers=[],this.allScenes=[],this.layouts=r,this.product=o,this.previewService=c,this.modelContainer=h,this.stepElements={},this.stepInitialised={},this.stepMetadata={},this.stepSelections={},this.storage={},this.confirmCallbacks=[],this.editedCallbacks=[],this.elementsCallbacks=[],this.informationResultCallbacks=[],this.initCallbacks=[],this.mandatoryCallbacks=[],this.makingAdjustmentsCallback=[],this.metadataCallbacks=[],this.selectionCallbacks=[],this.stepSpecificStorageCallbacks={},this.storageCallbacks=[],this.currentVariationRecordCallbacks=[],this.variationRecordCallbacks=[],this.invalidModelVariants=[],this.currentAdjustingStepId="",this.renderableContextService=l,this.currentVariationRecord=null,this.isReloadedTransaction=f,this.initializationPromise=this.initializeDefaultWorkflowState(t,s),this.initializationPromise.then(()=>{this.initialized=!0}),this.initializationPromise.catch(d=>{throw console.error(d),this.initialized=!1,new Error("Workflow initialization failed due to an error. See console.")}),this.initializationPromise.finally(()=>this.getCommandContext().registerStateCallback(()=>{this.updateStateWithServer(),this.render3DScene()}))}async initializeDefaultWorkflowState(t,n){const r=()=>{var A,h;const c=this.workflow.finalizeStepConfig;if(!c)return;const l=c.lookAtAnimation,u=c.modelAnimation;l&&((A=this.previewService)==null||A.executeCameraAnimation(l)),u&&((h=this.modelContainer)==null||h.executeAnimation(u))};this.reloadedState&&this.reloadedState.serializableWorkflow.steps.forEach(c=>{this.storage[c.stepName]=c.storage||{}}),this.allScenes=await Bk(t,{bulkScene:n.bulk||!1,bulkSceneTitle:"workflow.steps.bulk.title",finishScene:!0,finishSceneTitle:"workflow.steps.finish.confirmDesign"},n);const a=Mo(this.allScenes,this.stepSelections).map(c=>c.silentSteps).flat(),{stepElements:s,commands:o}=await this.stepElementsForIntroducedSilentSteps(a,!!this.reloadedState);this.commandContext.apply(new $t(o),!0),this.stepElements={...this.stepElements,...s},await this.ensureStepsAreLoaded(),!this.isReloadedTransaction&&this.updateStateWithServer(),this.render3DScene(),this.reloadedState&&r()}getProduct(){return this.product}getInitializationPromise(){return this.initializationPromise}isInitialized(){return this.initialized}addVariationRecord(t){const n=this.variationRecords.reduce((i,a)=>a.recordNumber>i?a.recordNumber:i,0),r={...t,recordNumber:n+1};return this.variationRecords.push(r),this.onVariationRecordsChange(),r}removeVariationRecord(t){if(this.variationRecords=this.variationRecords.filter(n=>n.recordNumber!==t),this.variationRecords.forEach((n,r)=>n.recordNumber=r+1),this.currentVariationRecord&&this.currentVariationRecord.recordNumber===t){const n=this.currentVariationRecord.recordNumber,r=n>1?this.variationRecords[n-2]:this.variationRecords[0];this.setCurrentVariationRecord(r||null)}return this.onVariationRecordsChange(),this.variationRecords}setVariationRecords(t){this.variationRecords=t,this.onVariationRecordsChange(),t.length===0?this.setCurrentVariationRecord(null):this.setCurrentVariationRecord(t[0])}setCurrentVariationRecord(t){if(this.currentVariationRecord=t,this.onCurrentVariationRecordChange(),t){const n=this.variationRecords.find(r=>r.recordNumber===t.recordNumber);n&&(n.values=t.values,this.onVariationRecordsChange())}}addConfirmCallback(t){t(this.confirmedDesign),this.confirmCallbacks.push(t)}addEditedCallback(t){t(this.editedSteps),this.editedCallbacks.push(t)}addElementsCallback(t){t(this.stepElements),this.elementsCallbacks.push(t)}addInformationResultCallback(t){t(this.informationResults),this.informationResultCallbacks.push(t)}addInitCallback(t){t(this.stepInitialised),this.initCallbacks.push(t)}addMandatoryCallback(t){t(this.mandatorySteps),this.mandatoryCallbacks.push(t)}addMetadataCallback(t){t(this.stepMetadata),this.metadataCallbacks.push(t)}async addSelectionCallback(t){t({invalidModelVariants:this.invalidModelVariants,selectionCost:this.selectionCost,selections:this.stepSelections,traversableScenes:await this.traversableScenes()}),this.selectionCallbacks.push(t)}addStepSpecificStorageCallback(t,n){Object.keys(this.storage).includes(n)||(this.storage[n]={}),t(this.storage[n]),Object.keys(this.stepSpecificStorageCallbacks).includes(n)||(this.stepSpecificStorageCallbacks[n]=[]),this.stepSpecificStorageCallbacks[n].push(t)}addStorageCallback(t){t(this.storage),this.storageCallbacks.push(t)}addMakingAdjustmentsCallback(t){t(this.currentAdjustingStepId),this.makingAdjustmentsCallback.push(t)}addCurrentVariationCallback(t){t(this.currentVariationRecord),this.currentVariationRecordCallbacks.push(t)}addVariationRecordsCallback(t){t(this.variationRecords),this.variationRecordCallbacks.push(t)}addPoller(t){this.pollers.push(t)}getLayouts(){return this.layouts}getAllLayoutData(){return this.commandContext.getAllLayouts().map(t=>t.layoutState)}getLayoutPreviewService(){return this.renderableContextService}getInformationResults(){return this.informationResults}getPreviewService(){return this.previewService}getProfanities(){return this.profanityFilter}getCommandContext(){return this.commandContext}getRegionElements(t){return this.stepElements[t]||[]}getStepSpecificServices(t){return this.stepSpecificServices[t]}getTransaction(){return this.transaction}getTransactionCustomer(){return this.ownerCustomer}setTransactionCustomer(t){this.ownerCustomer=t}setTransactionCustomerDetails(t){this.ownerCustomer={...this.ownerCustomer,emailAddress:t.email}}getModelContainer(){return this.modelContainer}setModelContainer(t){(!t||this.previewService&&this.previewService.getAllModels().includes(t))&&(this.modelContainer=t,t.metadata&&t.metadata instanceof Map&&this.modelContainer.metadata.set("workflowManager",this))}setTransaction(t){this.transaction=t}getWorkflow(){return this.workflow}getCommandDispatcher(){return t=>this.commandContext.apply(t,!this.initialized)}getWorkflowSelections(){const t={};return this.workflow.steps.forEach(n=>{const r=this.stepSelections[n.stepName];r&&r.selectedVariants&&r.selectedVariants.length>0&&(t[n.stepName]={selections:r.selectedVariants})}),t}markStepsAsInitialised(t){const n={...this.stepInitialised};t.forEach(r=>{n[r]=!0}),this.stepInitialised=n,this.onInitChange()}getUpdatesPending(){return this.pendingUpdates.length>0}markUpdateCompleted(t){this.pendingUpdates=this.pendingUpdates.filter(n=>n!==t)}markUpdatePending(){const t=Dt();return this.pendingUpdates=[...this.pendingUpdates,t],t}setEditedStatus(t,n){this.editedSteps={...this.editedSteps,[t]:n},this.onEditedChange()}setInformationResults(t){this.informationResults=[...t],this.onInformationResultChange()}setCurrentAdjustingStepId(t){this.currentAdjustingStepId=t,this.onMakingAdjustmentsChange()}setMandatoryFulfilled(t,n){this.mandatorySteps[t]!==n&&(this.mandatorySteps={...this.mandatorySteps,[t]:n},this.onMandatoryChange())}toggleDesignConfirmed(){this.confirmedDesign=!this.confirmedDesign,this.onConfirmChange()}toggleMakingAdjustmentsCallback(t){t(this.mandatorySteps),this.mandatoryCallbacks.push(t)}async injectIntoPreviewService(t){if(this.modelContainer)throw new Error("You must eject from the preview service before injecting again.");if(this.previewService=t,!this.getProduct().modelUrl||!this.previewService)return;const n=t.loadModel({model:this.getProduct().modelUrl,contextService:this.getLayoutPreviewService()});this.setModelContainer(n),await n.getInitializationPromise(),this.render3DScene()}ejectFromPreviewService(){if(this.modelContainer){if(!this.modelContainer.dispose)throw new Error("This feature is not supported in the current preview service.");this.modelContainer.dispose(),this.modelContainer=void 0}this.previewService=void 0}updateStorage(t,n){const r={...this.storage,[t]:{...this.storage[t],...n}};if(!Kv(r,this.storage)){this.storage=r;const i=new Hm(this.constructSerializableWorkflow());this.commandContext.apply(i,!0),this.onStepSpecificStorageChange(t),this.onStorageChange()}}constructSerializableWorkflow(){const t=[];return this.allScenes.forEach(n=>{n.renderableSteps.forEach(r=>{var a,s;const i={stepName:r.stepName};i.storage=this.storage[r.stepName],i.selectedVariants=(s=(a=this.stepSelections[r.stepName])==null?void 0:a.selectedVariants)==null?void 0:s.map(o=>({id:o.id,priceModifier:o.priceModifier})),t.push(i)})}),{steps:t}}updateStateWithServer(){if(this.readOnly)return;const t=this.serialize();this.workflowStatePromiseQueue.enqueue(new RE(async()=>{await this.updateTransaction({variables:{id:this.transaction.id,workflowState:t.transaction}})}))}async updateStateWithServerImmediate(){if(this.readOnly)return;const t=this.serialize();return new RE(async()=>{await this.updateTransaction({variables:{id:this.transaction.id,workflowState:t.transaction}})}).execute()}serialize(){const t=this.getCommandContext().getState();if(!t)throw new ge("Attempted to serialize state before it was initialized.");const n=JSON.stringify(this.dehydrateState(To(t.transaction))),r=t.variation;if(!r)return{transaction:n};const i={layouts:{},serializableWorkflow:{steps:[]},...To(r)||{}},a=JSON.stringify(this.dehydrateState(i));return{transaction:n,variation:a}}dehydrateState(t){for(const n of Object.values(t.layouts).map(r=>r.elements).flat())n.type==="illustration"&&(delete n.cachedObjectURL,n.src&&delete n.svg);return t}async outstandingRequestsPromise(){return this.workflowStatePromiseQueue.finalize()}updateMetadata(t,n){this.stepMetadata={...this.stepMetadata,[t]:{...this.stepMetadata[t],...n}},this.onMetadataChange()}removeElements(t){const n=(r,i)=>Object.keys(r).reduce((a,s)=>{const o=[...r[s]||[]];return i.forEach(c=>{const l=o.findIndex(u=>u.id===c.id);l>-1&&o.splice(l,1)}),a[s]=o,a},{});this.stepElements=n(this.stepElements,t)}getInvalidCanvasRegions(){return this.workflow.steps.reduce((t,n)=>(Za(n,this.stepSelections)||this.stepElements[n.stepName]&&this.stepElements[n.stepName].forEach(r=>t.push(r)),t),[])}getInvalidModelVariants(){return this.workflow.steps.reduce((t,n)=>{var r;return n.type==="Model"&&((r=n.option)!=null&&r.id)&&!Za(n,this.stepSelections)&&t.push(n.option.id),t},[])}async stepElementsForIntroducedSilentSteps(t,n){const r=this.product;if(!r)return Promise.resolve({stepElements:{},commands:[]});const i=async(l,u,A)=>{if(l.type===j.SilentIllustration){const h=await new qv(l,u).trigger();return{step:l,results:h}}else if(l.type===j.ProductOverlay){const h=await new qv(l,u,A).trigger();return{step:l,results:h}}return Promise.reject("Unknown silent step. This is a bug")},a=t.filter(l=>!this.stepInitialised[l.stepName]),s={stepElements:{},commands:[]},o=[];for(const l of a)this.markStepsAsInitialised([l.stepName]),n||o.push(i(l,this.layouts,r));const c=await Promise.all(o);for(const l of c)s.stepElements[l.step.stepName]=l.results.map(u=>u.regionElement),s.commands=[...s.commands,...l.results.map(u=>u.command)];return s}getStepStorage(t){return this.storage[t]}getMetadata(t){return this.stepMetadata[t]}getWorkflowMetadata(){return this.stepMetadata}getSerializedStep(t,n){return n.find(r=>r.stepName===t)}getCurrentVariationRecord(){return this.currentVariationRecord||void 0}getVariationRecords(){return this.variationRecords}async reset(){this.commandContext.getAllLayouts().forEach(n=>n.layoutState.elements.forEach(r=>{this.getCommandDispatcher()(new ri(r.id))})),this.stepElements={},this.stepInitialised={},this.stepMetadata={},this.stepSelections={},this.storage={},this.currentVariationRecord=null,await this.ensureStepsAreLoaded()}async setSelectionsAndElements(t,n,r,i){var w;const a=this.stepSelections;this.stepSelections={...this.stepSelections,[t]:{selectedVariants:n}},this.selectionCost=Object.values(this.stepSelections).reduce((B,C)=>B+C.selectedVariants.map(x=>x.priceModifier||0).reduce((x,b)=>x+b,0),0),this.workflow.steps.forEach(B=>{Za(B,this.stepSelections)||(this.stepInitialised[B.stepName]=!1,delete this.stepMetadata[B.stepName],delete this.stepSelections[B.stepName],delete this.storage[B.stepName])});const s=this.allScenes,o=Mo(s,a),c=Mo(s,this.stepSelections),l=o.map(B=>B.silentSteps).flat(),A=c.map(B=>B.silentSteps).flat().filter(B=>!l.some(C=>C.stepName===B.stepName));l.forEach(B=>{Za(B,this.stepSelections)||(this.stepInitialised[B.stepName]=!1)}),this.invalidModelVariants=this.getInvalidModelVariants();const h=this.getInvalidCanvasRegions(),{stepElements:f,commands:d}=await this.stepElementsForIntroducedSilentSteps(A,!1);this.stepElements={...this.stepElements,...f,[t]:r},this.removeElements(h);const p=this.workflow.steps.find(B=>B.stepName===t);if((p==null?void 0:p.type)===j.Frame){const B=this.getStepSpecificServices(t);(w=B==null?void 0:B.frameService)==null||w.setTargetElements(r.map(C=>C.id))}const m=h.map(B=>new ri(B.id)),y=new Hm(this.constructSerializableWorkflow()),v=[...d,...m,y];v.length>0&&this.commandContext.apply(new $t(v),!0),await this.ensureStepsAreLoaded(),this.onElementsChange(),await this.onSelectionChange(),i&&await i()}async ensureStepsAreLoaded(){var c,l;const n=Mo(this.allScenes,this.stepSelections).map(u=>u.renderableSteps),r=[],i=n.flat();for(const u of i)if(!this.stepInitialised[u.stepName])switch(this.stepInitialised[u.stepName]=!0,u.type){case j.Bulk:this.updateStorage("Bulk",((l=(c=this.reloadedState)==null?void 0:c.serializableWorkflow.steps.find(A=>A.stepName==="Bulk"))==null?void 0:l.storage)||{});break;case j.DigitalContent:r.push(vE.init(u,this,this.reloadedState));break;case j.Frame:case j.Photo:{const A=new _v(u.data.forceImageCover);A.connectWorkflowManager(this,u.stepName),this.stepSpecificServices[u.stepName]={frameService:A},r.push(Cu.init(u,this,this.reloadedState))}break;case j.Illustration:r.push(Ro.init(u,this,this.reloadedState));break;case j.Material:r.push(x0.init(u,this,this.reloadedState));break;case j.Model:r.push(b0.init(u,this,this.reloadedState));break;case j.Module:this.stepSpecificServices[u.stepName]={module:await kE(u.data.module)},r.push(xE.init(u,this,this.reloadedState));break;case j.Picture:r.push(Q0.init(u,this,this.reloadedState));break;case j.Question:r.push(M0.init(u,this,this.reloadedState));break;case j.Shape:r.push(rs.init(u,this,this.reloadedState));break;case j.Text:r.push(Wn.init(u,this,this.reloadedState));break}const a=(await Promise.allSettled(r)).map(u=>{if(u.status==="rejected")throw new Error(`Step initialization failed: ${u.reason}`);return u.value}),s=a.filter(u=>!!u&&!!u.command).map(u=>u.command),o=a.filter(u=>!!u&&!!u.followup).map(u=>u.followup);s&&s.length>0&&this.commandContext.apply(new $t(s),!0);for(const u of o)await u();o.length>0&&await this.ensureStepsAreLoaded(),this.onInitChange()}onConfirmChange(){this.confirmCallbacks.forEach(t=>t(this.confirmedDesign))}onEditedChange(){this.editedCallbacks.forEach(t=>t(this.editedSteps))}onElementsChange(){this.elementsCallbacks.forEach(t=>t(this.stepElements))}onInformationResultChange(){this.informationResultCallbacks.forEach(t=>t(this.informationResults))}onInitChange(){this.initCallbacks.forEach(t=>t(this.stepInitialised))}onMakingAdjustmentsChange(){this.makingAdjustmentsCallback.forEach(t=>{t(this.currentAdjustingStepId)})}onMandatoryChange(){this.mandatoryCallbacks.forEach(t=>t(this.mandatorySteps))}onMetadataChange(){this.metadataCallbacks.forEach(t=>{t(this.stepMetadata)})}async onSelectionChange(){const t=await this.traversableScenes();for(const n of this.selectionCallbacks)n({invalidModelVariants:this.invalidModelVariants,selectionCost:this.selectionCost,selections:this.stepSelections,traversableScenes:t})}onStepSpecificStorageChange(t){Object.keys(this.stepSpecificStorageCallbacks).includes(t)||(this.stepSpecificStorageCallbacks[t]=[]),this.stepSpecificStorageCallbacks[t].forEach(n=>n(this.storage[t]))}onStorageChange(){this.storageCallbacks.forEach(t=>t(this.storage))}onCurrentVariationRecordChange(){this.currentVariationRecordCallbacks.forEach(t=>{t(this.currentVariationRecord)})}onVariationRecordsChange(){this.variationRecordCallbacks.forEach(t=>{t(this.variationRecords)}),this.render3DScene()}traversableScenes(){return bk(this.allScenes,this.stepSelections)}}class Ir{constructor(t){this.variantData=t}getType(){var t;return(t=this.variantData.asset)==null?void 0:t.type}getId(){return this.variantData.id}getName(){return this.variantData.name}getPriceFormatted(t,n){return this.variantData.priceModifier.toLocaleString(t||"en-US",{style:"currency",currency:"USD",...n})}getPrice(){return this.variantData.priceModifier}getAsset(){var t,n,r;return(r=(n=(t=this.variantData.asset)==null?void 0:t.versions)==null?void 0:n.find(i=>i.name==="cdn"))==null?void 0:r.link}getAssetResource(){return this.variantData.asset}getThumbnail(){var r,i,a,s;const t=(a=(i=(r=this.variantData.thumbnail)==null?void 0:r.versions)==null?void 0:i.find(o=>o.name==="thumbnail"))==null?void 0:a.link,n=(s=this.variantData.thumbnail)==null?void 0:s.fileLink;return t||n}getDisplayImage(){var t,n,r;return(r=(n=(t=this.variantData.displayImage)==null?void 0:t.versions)==null?void 0:n.find(i=>i.name==="medium"))==null?void 0:r.link}getColor(){return this.variantData.color}isDefault(){return!!this.variantData.default}getResource(){return this.variantData}isEnabled(){return this.variantData.enabled}}const OE=class J0{constructor(t,n){this.manager=t,this.step=n}setUpdateState(t){J0.updateState.set(this.step.stepName,t)}getUpdateState(){return!!J0.updateState.get(this.step.stepName)}getCurrentVariant(){const n=this.manager.getWorkflowSelections()[this.step.stepName],r=n==null?void 0:n.selections[0];if(r)return new Ir(r)}getAvailableVariants(){var n,r;return(((r=(n=this.step.option)==null?void 0:n.variants)==null?void 0:r.filter(i=>i.enabled))||[]).map(i=>new Ir(i))}getAllVariants(){var n;return(((n=this.step.option)==null?void 0:n.variants)||[]).map(r=>new Ir(r))}getId(){return this.step.stepName}getName(){return this.step.stepTitle}getHelpText(){return this.step.helpText}getType(){return this.step.type}getRaw(){return this.step}getTags(){return this.step.tags||[]}hasTag(t){var n;return((n=this.step.tags)==null?void 0:n.includes(t))||!1}executeAnimations(){const t=this.manager.getPreviewService(),n=this.manager.getModelContainer(),r=this.step.data.modelAnimation,i=this.step.data.lookAtAnimation;t&&i&&t.executeCameraAnimation(i),n&&r&&n.executeAnimation(r)}};OE.updateState=new Map;let Xn=OE;const UE=ct`
1846
+ `,H=l=>s.createElementNS("http://www.w3.org/2000/svg",l),Te=(l,e)=>{const t=H("rect");return t.setAttribute("height",`${l}`),t.setAttribute("width",`${e}`),t},qA=()=>{const l=H("svg");return l.setAttribute("xmlns","http://www.w3.org/2000/svg"),l.setAttribute("xmlns:xlink","http://www.w3.org/1999/xlink"),l.setAttribute("version","1.1"),l},ZA=l=>{const e=H("use");return e.setAttribute("xlink:href",l),e.setAttribute("href",l),e};function ft(l){const e=qA(),t=/viewBox="0 0 (.+?) (.+?)"/.exec(l)||["0","0"],A=parseFloat(t[1]),a=parseFloat(t[2]);return e.setAttribute("height",`${a}`),e.setAttribute("width",`${A}`),[e,a,A]}const $A=(l,e,t)=>{const A=H("g");l.appendChild(A),A.setAttribute("id",t),A.innerHTML=e};function pt(l,e,t){const A=s.generate();$A(e,t,`bgdef-${A}`),l.appendChild(ZA(`#bgdef-${A}`))}const Ft=(l,e,t,A)=>{const a=s.createElement("filter");a.setAttribute("id",A),a.setAttribute("height","200%"),a.setAttribute("width","200%"),a.setAttribute("x","-50%"),a.setAttribute("y","-50%");const n=s.createElement("feOffset");a.appendChild(n),n.setAttribute("result","offOut"),n.setAttribute("in","SourceAlpha"),n.setAttribute("dx",`${l}`),n.setAttribute("dy",`${e}`);const i=s.createElement("feGaussianBlur");a.appendChild(i),i.setAttribute("result","blurOut"),i.setAttribute("in","offOut"),i.setAttribute("stdDeviation",`${t}`);const o=s.createElement("feBlend");return a.appendChild(o),o.setAttribute("in","SourceGraphic"),o.setAttribute("in2","blurOut"),o.setAttribute("mode","normal"),a},Mt=l=>{let e=l;return e=e.replace(/feoffset/gi,"feOffset"),e=e.replace(/fegaussianblur/gi,"feGaussianBlur"),e=e.replace(/feblend/gi,"feBlend"),e=e.replace(/lineargradient/gi,"linearGradient"),e=e.replace(/stddeviation/gi,"stdDeviation"),e};function Le(l,e,t,A,a,n){const i=a||1,o=n||1,r={x:e[0],y:e[1],width:e[2]-e[0],height:e[3]-e[1]};if(r.width<=0)return;const g=_A(r.height,r.width,t*i,A*o),c=(A-g*r.width)/2-g*r.x,d=(t-g*r.height)/2-g*r.y;l.setAttribute("transform",`translate(${c} ${d}) scale(${g} ${g})`)}function _A(l,e,t,A){const a=t/l,n=A/e;return a>1&&n>1?Math.min(a,n):a>1&&n<1?n:a<1&&n>1?a:Math.min(a,n)}const St={m:["x","y"],z:[],l:["x","y"],h:["x"],v:["y"],c:["x1","y1","x2","y2","x","y"],s:["x2","y2","x","y"],q:["x1","y1","x","y"],t:["x","y"],a:["rx","ry","xRotation","largeArc","sweep","x","y"]};class Oe{constructor(e){const t=Array.from(e.querySelectorAll("path"));this.paths=t.map(A=>{const a=A.getAttribute("d")||"",n=this.parsePath(a);return{pathElement:A,pathData:n}})}transform(e){for(const t of this.paths)t.pathData=this.runTransformer(t.pathData,e);this.update()}encodePath(e){let t="";const a=n=>{const i=[],o=n.relative?n.type:n.type.toUpperCase();let r=t!==o;const g=St[n.type];r&&(i.push(o),t=o);for(const c of g){const d=n[c];let B;switch(typeof d){case"boolean":B=d|0;break;case"number":B=(d*100|0)/100;break;default:throw new X("Failed to encode path.")}r||i.push(" "),i.push(B),r=!1}return i.join("")};return e.map(a).join("")}parsePath(e){const t=/([mzlhvcsqta])([^mzlhvcsqta]*)/gi,A=/-?[0-9]*\.?[0-9]+(?:e[-+]?\d+)?/gi,a=[];let n;for(t.lastIndex=0;n=t.exec(e);){const i=n[1].toLowerCase(),o=(n[2].match(A)||[]).map(parseFloat),r=i===n[1],g=St[i];if(o.length<g.length)throw new X(`Path type "${i}" given ${o.length} arguments, expected ${g.length}.`);if(g.length>0){if(o.length%g.length!==0)throw new X(`Path type "${i}" given ${o.length} arguments, not divisible by ${g.length}`);for(let c=0;c<o.length/g.length;c++){const d={type:i,relative:r};for(let B=0;B<g.length;B++)d[g[B]]=o[c*g.length+B];a.push(d)}}else a.push({type:i,relative:r})}return a}runTransformer(e,t){const A=[["x1","y1"],["x2","y2"],["x","y"]],a=n=>{for(let i=0;i<A.length;i++){const[o,r]=A[i];if(o in n&&r in n){const g=[n[o],n[r]],c=t(g);if(c.length<2)throw new X("Transformer must return at least 2 points.");n[o]=c[0],n[r]=c[1]}}return n};return this.transformPath(e,a)}transformPath(e,t){const A=[];for(let a=0;a<e.length;a++){const n=JSON.parse(JSON.stringify(e[a])),i=t(n);Array.isArray(i)?A.push(...i):i&&A.push(i)}return A}update(){for(const{pathElement:e,pathData:t}of this.paths){const A=this.encodePath(t);e.setAttribute("d",A)}}}class ea extends Je{constructor(){super(...arguments),this.moduleName="Favourites"}svgPreview(e){return this.svg(e)}svgPrint(e){return this.svg(e)}svg(e){const t=s.loadFontFromDataUrl(WA),a=e!==""?(i=>i.charAt(0).toUpperCase()+i.substr(1).toLowerCase())(e):"",n=t.getPath(a,0,72,72);return this.brandSvg(n,XA)}brandSvg(e,t){const A=e.toSVG(2),a=e.getBoundingBox(),n=a.x2-a.x1,i=e.toPathData(3),o=()=>{const f=H("g"),M=H("defs");f.appendChild(M),M.appendChild(Ft(3,7,4,"shadow"));const p=H("g");f.appendChild(p),p.setAttribute("filter","url(#shadow)"),p.innerHTML=A;const F=H("g");f.appendChild(F),F.setAttribute("fill","red"),F.setAttribute("stroke","red"),F.setAttribute("stroke-width","9"),F.innerHTML=A;const S=H("g");f.appendChild(S),S.setAttribute("fill","#9d2621"),S.setAttribute("transform","translate(1,1)"),S.innerHTML=A;const Y=H("g");return f.appendChild(Y),Y.setAttribute("fill","yellow"),Y.innerHTML=A,new Oe(f).transform(([N,G])=>[N,G+(n/2-N)**2/(n*2.9)]),f},[r,g,c]=ft(t);if(!r)return"";const d=H("defs");r.appendChild(d),pt(r,d,t);const B=g*.23,w=c*.94,E=c*.04,C=g*.53,h=H("g");r.appendChild(h),h.setAttribute("transform",`translate(${E} ${C}) rotate(-21)`);const Q=Te(B,w);Q.setAttribute("opacity","0"),h.appendChild(Q);const u=H("g");h.appendChild(u);const D=o();u.appendChild(D);const I=ye(i);return Le(u,I,B,w),Mt(r.outerHTML)}}const ta="data:application/octet-stream;base64,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ZWxmIE1ha2VyIDIuMy41AABNAGEAbAB0AGUAcwBlAHIAcwBSAGUAZwB1AGwAYQByAABNYWx0ZXNlcnNSZWd1bGFyAABNAGEAbAB0AGUAcwBlAHIAcwAATWFsdGVzZXJzAABSAGUAZwB1AGwAYQByAABSZWd1bGFyAAAAAAACAAAAAAAA/4MAMgAAAAAAAAAAAAAAAAAAAAAAAAAAAKwAAAABAAIBAgEDAAMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQCsAQQBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMBFAEVARYBFwEYARkBGgEbARwBHQEeAR8BIAEhASIBIwEkASUBJgEnASgBKQEqASsBLAEtAS4BLwEwATEBMgEzATQBNQE2ATcBOAE5AToBOwE8AT0BPgE/AUABQQFCAUMBRAFFAUYBRwFIAUkBSgFLAUwBTQFOAU8BUAFRAVIBUwFUAVUBVgFXAVgBWQFaAVsBXAFdAV4BXwFgAWEBYgFjAWQBZQFmAWcBaAFpAWoBawFsAW0BbgFvAXABcQFyAXMBdAljb250cm9sTEYJY29udHJvbENSB0FwLmxpZ2EHQWoubGlnYQdFdC5saWdhB0VmLmxpZ2EHRWoubGlnYQdFay5saWdhB0VsLmxpZ2EHRWIubGlnYQdGdC5saWdhB0ZoLmxpZ2EHRmsubGlnYQdGbC5saWdhB0ZiLmxpZ2EHSHQubGlnYQdIZi5saWdhB0l0LmxpZ2EHSXAubGlnYQdJZi5saWdhB0lqLmxpZ2EHSWwubGlnYQdJYi5saWdhB0p0LmxpZ2EHSmYubGlnYQdKaC5saWdhB0prLmxpZ2EHSmwubGlnYQdKYi5saWdhB0t0LmxpZ2EHS3AubGlnYQdLeS5saWdhB0xqLmxpZ2EHTWoubGlnYQdNaC5saWdhB01mLmxpZ2EHTnQubGlnYQdOZi5saWdhB09mLmxpZ2EHT3oubGlnYQdQcS5saWdhB1B3LmxpZ2EHUHIubGlnYQdQdC5saWdhB1B5LmxpZ2EHUHUubGlnYQdQaS5saWdhB1BmLmxpZ2EHUGgubGlnYQdQai5saWdhB1BrLmxpZ2EHUGwubGlnYQdQei5saWdhB1B4LmxpZ2EHUHYubGlnYQdQYi5saWdhB1BuLmxpZ2EHUG0ubGlnYQdScC5saWdhB1JmLmxpZ2EHUmoubGlnYQdUdC5saWdhB1RmLmxpZ2EHVGgubGlnYQdUay5saWdhB1RsLmxpZ2EHVGIubGlnYQdVdC5saWdhB1VzLmxpZ2EHVWYubGlnYQdWdC5saWdhB1ZzLmxpZ2EHVmYubGlnYQdWbC5saWdhB1d0LmxpZ2EHV2YubGlnYQdYcC5saWdhB1l0LmxpZ2EHWWkubGlnYQdZZi5saWdhB1loLmxpZ2EHWWwubGlnYQdZay5saWdhB1liLmxpZ2EHQWYubGlnYQdDeS5saWdhB0VoLmxpZ2EHR3IubGlnYQdPcC5saWdhB2J0LmxpZ2EHYnIubGlnYQdiZi5saWdhB2JqLmxpZ2EHYnoubGlnYQdkdC5saWdhB2VmLmxpZ2EHZnQubGlnYQdmaC5saWdhB2ZiLmxpZ2EHZmsubGlnYQdnai5saWdhB2pqLmxpZ2EHeWoubGlnYQd0dC5saWdhB3RmLmxpZ2EHdGgubGlnYQd0aS5saWdhB3RrLmxpZ2EHdGwubGlnYQh0dGgubGlnYQhlZmYubGlnYQhlZmIubGlnYQdmZi5saWdhB2ZpLmxpZ2EHZmwubGlnYQAAAAAAAAH//wACAAEAAAAMAAAAHAAAAAIAAgADADoAAQA7AKsAAgAEAAAAAgAAAAEAAAAKAB4ALAABbGF0bgAIAAQAAAAA//8AAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQQIAB0AQABaAGQAngDIANIA5AEWAUgBYgFsAYYBmAGyAkQCXgKQAqoCzALeAugDIgNMA1YDdAOuA7gDwgP+AAMACAAOABQAjQACACUAPAACACkAOwACAC8AAQAEAI4AAgA4AAcAEAAWABwAIgAoAC4ANACPAAIAJwBCAAIAIQBBAAIAKwBAAAIAKgA/AAIAKQA+AAIAJQA9AAIAMwAFAAwAEgAYAB4AJABHAAIAIQBGAAIAKwBFAAIAKgBEAAIAJwBDAAIAMwABAAQAkAACADEAAgAGAAwASQACACUASAACADMABgAOABQAGgAgACYALABPAAIAIQBOAAIAKwBNAAIAKQBMAAIAJQBLAAIALwBKAAIAMwAGAA4AFAAaACAAJgAsAFUAAgAhAFQAAgArAFMAAgAqAFIAAgAnAFEAAgAlAFAAAgAzAAMACAAOABQAWAACADgAVwACAC8AVgACADMAAQAEAFkAAgApAAMACAAOABQAXAACACUAWwACACcAWgACACkAAgAGAAwAXgACACUAXQACADMAAwAIAA4AFACRAAIALwBgAAIAOQBfAAIAJQASACYALAAyADgAPgBEAEoAUABWAFwAYgBoAG4AdAB6AIAAhgCMAHIAAgAsAHEAAgAtAHAAAgAhAG8AAgA1AG4AAgA3AG0AAgA5AGwAAgArAGsAAgAqAGoAAgApAGkAAgAnAGgAAgAlAGcAAgAoAGYAAgA0AGUAAgA4AGQAAgAzAGMAAgAxAGIAAgA2AGEAAgAwAAMACAAOABQAdQACACkAdAACACUAcwACAC8ABgAOABQAGgAgACYALAB7AAIAIQB6AAIAKwB5AAIAKgB4AAIAJwB3AAIAJQB2AAIAMwADAAgADgAUAH4AAgAlAH0AAgAyAHwAAgAzAAQACgAQABYAHACCAAIAKwCBAAIAJQCAAAIAMgB/AAIAMwACAAYADACEAAIAJQCDAAIAMwABAAQAhQACAC8ABwAQABYAHAAiACgALgA0AIwAAgAhAIsAAgAqAIoAAgArAIkAAgAnAIgAAgAlAIcAAgAoAIYAAgAzAAUADAASABgAHgAkAJYAAgA5AJUAAgApAJQAAgAlAJMAAgAxAJIAAgAzAAEABACXAAIAMwADAAgAEAAYAKgAAwAlACEApwADACUAJQCYAAIAJQAHABAAFgAcACIAKAAuADQAqwACACsAqgACACgAqQACACUAnAACACoAmwACACEAmgACACcAmQACADMAAQAEAJ0AAgApAAEABACeAAIAKQAHABAAGAAeACQAKgAwADYApgADADMAJwClAAIAKwCkAAIAKgCjAAIAKACiAAIAJwChAAIAJQCgAAIAMwABAAQAnwACACkAAQAdAAYACAAKAAsADAANAA4ADwAQABEAEgATABQAFQAXABkAGgAbABwAHQAeACEAIwAkACUAJgApADMAOAAAAAEAAAAKAB4ALAABbGF0bgAIAAQAAAAA//8AAQAAAAFrZXJuAAgAAAABAAAAAQAEAAIAAAABAAgAAQPGAAQAAABEAJIAnADSAOABIgEoATYBPAFKAVABXgFkAW4BfAGKAawBsgHAAcYB1AHiAewB/gIIAhYCSAJiAnAChgKcAqoCvALKAtAC6gL0AvoDAAMKAxADGgMgAyYDLAMyAzgDOAMyAz4DRANOAz4DVANaA2ADIANmA2wDcgN4A34DiAOOA5gDngOkA7IDvAACAC7//AA3//IADQAl/+oAKP/8ACn/9AAq//AAK//6ACz//gAt//4AMf/qADP//AA0//wANf/+ADb/+AA5//QAAwAt//wALv/8ADb//AAQACT//AAl/+wAJv/6ACf//AAp/+wAKv/0ACv/+gAs//gALf/8AC//7gAx//gAMv/0ADT/9gA3/+oAOP/6ADn/5AABADf/+gADADX//AA3/+gAOf/6AAEALv/2AAMAKP/8ACn/6AAy/+QAAQAu//IAAwAo/+4AL//2ADX/5gABACT/8AACABgAAgAoAAQAAwAo//4ALv/wADL/+AADACf/9gAv/+4Ao//sAAgAKf/qACv/9AAu//wAL//uADH/7gAy//IAN//mAJX/9AABADYADgADACAABAAjAAQAM//4AAEAMv/8AAMAJv/+ACr/+AA3//4AAwAo//gALv/0AJn/7AACACMAAgAl/+wABAAk//wAL//8ADT/9AA4//4AAgAt//IAq//iAAMAJf/sACb/+AA3//wADAAk//wAJv/+ACj/+gAp/+AAK//+ACz/9gAt//wAL//qADH/7AAy//IAN//cAKP/4gAGACQAAgAl/9oAK//yAC//4gAx/+gAMv/8AAMAKQB+ADL/7ACeAIgABQAg//wAIv/4ACb//AAu//YANQAEAAUAKf/0ACr/+AAv//QAM//mAKP/3gADACEAHAAkAAIALv/4AAQAJf/0AC3//gAv//wAmf/8AAMAJP/wACf/+AAp/+4AAQAk//oABgAg//QAIf/wACj/9gAu/+wAL//0ADP/9AACACH//gA3//IAAQApAEIAAQAnACgAAgAzADQAqgAoAAEAMwA0AAIAMwAyAKEARgABADL/6gABADMALAABACkANAABAJoAGAABADMAMgABACkAOAABADMAMAACACUAEgAzAC4AAQApAHgAAQApADYAAQAzAC4AAQAzADgAAQAzAEIAAQAzAEwAAQAz//IAAQAnAEgAAgAl/+4Amv/oAAEAKQBiAAIAKQBaAJ4AUAABACkAVgABAKEARAADADMANgCaABIAogBKAAIAJwAsAKEARgACAC3/8gA3/+oAAQBEAAYABwAIAAkACgAMABEAFAAVABgAHQAgACEAIgAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOQA8AD0APgBIAEkASwBMAE0AUABRAFkAWgBcAF4AXwBhAGgAagB+AIEAhACIAI0AkQCYAJoAnQCeAJ8AoAChAKkAqgAAAAAAAQAAAADUGBYRAAAAANfpcqUAAAAA1+lypQ==";class Aa extends Je{constructor(e,t){super(),this.moduleName="Maltesers",this.shortLength=5,this.indicator=A=>A?1:0,this.backgroundSvg=e,this.backgroundShortSvg=t}svgPreview(e){return this.svg(e)}svgPrint(e){return this.svg(e)}svg(e){const t=s.loadFontFromDataUrl(ta),a=e!==""?(r=>r.charAt(0).toUpperCase()+r.substr(1).toLowerCase())(e):"",n=t.getPath(a,0,72,72),i=e.length<this.shortLength,o=i?this.backgroundShortSvg:this.backgroundSvg;return this.brandSvg(n,o,i)}brandSvg(e,t,A){const a=e.toSVG(2),n=e.getBoundingBox(),i=n.y2-n.y1,o=n.x2-n.x1,r=e.toPathData(3),g=()=>{const p=H("g"),F=H("g");p.appendChild(F),F.setAttribute("stroke","#5C1A0D"),F.setAttribute("stroke-width","4"),F.setAttribute("transform","translate(1,1)"),F.innerHTML=a;const S=H("g");p.appendChild(S),S.setAttribute("fill","#FFE386"),S.setAttribute("transform","translate(1,1)"),S.innerHTML=a;const Y=H("g");p.appendChild(Y),Y.setAttribute("fill","white"),Y.innerHTML=a;const x=new Oe(p);return x.transform(([N,G])=>[N,G+((o-N)*G)**2/(o*5e4)]),x.transform(([N,G])=>[N,G+(o/3-N)**2/o*this.indicator(N<o/3)]),x.transform(([N,G])=>[N-(i-G)*(o-N)/800,G]),p},[c,d,B]=ft(t);if(!c)return"";const w=H("defs");c.appendChild(w),pt(c,w,t);let E,C,h,Q;A?(E=d*.25*(1+.1),C=B/2*(1+.1),h=B*.22,Q=d*.32):(E=d*.22*(1+.1),C=B*.8,h=B*.067,Q=d*.33);const u=H("g");c.appendChild(u),u.setAttribute("transform",`translate(${h} ${Q}) rotate(-10)`);const D=Te(E,C);D.setAttribute("opacity","0"),u.appendChild(D);const I=H("g");u.appendChild(I);const f=g();I.appendChild(f);const M=ye(r);return Le(I,M,E,C),c.outerHTML}}const aa="data:application/octet-stream;base64,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DOYNZA3mDlQOyg88D54QEBCGEQARchHsEmIS1BOWFAwUghTwFWIV1BaiFxQXkhgEGMYZdBomGtQbfhwYHL4dYB3+HpgfPh/oIJYhPCHmIpQjRiPsJJolSCXuJpQnQifoKJIpRAAmAAn/8QAK//sADP/7AA3/+wAO//sAD//7ABD/+wAR//sAEv/7ABP/+wAU//sAFf/xABb/8QAZ//sAHf/2AB7/+wAf//sAIP/xACH/+wAi//sAI//7ACT/+wAl//EAJv/2ACf/8QAo//sAKf/2ACr/+wAr//sALP/sAC3/7AAu/+IAL//dADD/9gAx/+wAMv/7ADP/+wA0//YAKwAG//EACP/nAAn/4gAK/9MAC//iAAz/9gAN/+IADv/sAA//4gAQ/9gAEf/iABL/1QAT//EAFP/nABX/8QAW/9gAMf/TADL/pgAz//MANP/nADX/8QA2//EAN//7ADj/7gA5//YAOv/7ADv/2AA8//EAPf/2AD7/9gA///EAQP/sAEH/+wBC/+wAQ//xAET/7ABF/+wARv/2AEf/3QBI/90ASf/EAEr/zgBL//YAKwAG//YAB//2AAn/3QAL/+wADP/sAA3/8QAO//YAD//sABD/8QAR/+wAEv/iABP/5wAU/+wAFf/dABb/7AAX/78AMf/YADL/sAAz/+IANP/iADX/8QA2/+cAN//xADj/3QA5/+wAOv/2ADv/4gA8//EAPf/xAD7/8QA///YAQP/YAEH/9gBC/+cAQ//sAET/7ABF/+wARv/xAEf/zgBI/9MASf/OAEr/zgBL/+wAKgAG//YAB//iAAj/4gAK/+IADP/dAA3/ugAO/+IAD//iABD/5wAR/+IAEv/dABP/yQAU/90AFf+mABb/0wAx/5gAMv/YADP/4gA0/9MANf/xADb/7AA3/+wAOP/iADn/7AA6//EAO//dADz/5wA9/+wAPv/sAD//5wBA/9gAQf/sAEL/zgBD/+wARP/YAEX/tQBG/90AR/+hAEj/oQBJ/8QASv+DAEv/7AAqAAb/8QAH/90ACP/YAAn/oQAL/8kADP/iAA3/sAAO/+cAD//YABD/4gAR/90AEv/bABP/4gAU/+IAFf/TABb/5wAg/+QAMf/nADL/3AAz//QANP/rADX/9AA2//IAN//4ADj/8AA5//QAOv/1ADv/7AA8/+oAPf/7AD7/9wA///IAQP/tAEH/+wBC/+IAQ//2AET/4wBF/7YARv/vAEf/pgBK/6MAS//yACYAB//TAAj/8QAK/84ADP/dAA3/9gAO//EAD//dABD/pgAR/8kAEv+6ABP/7AAU/90AFf/OADH/xAAy/5IAM//sADT/3QA1/+cANv/xADf/9gA4/90AO/9WADz/5wA9//EAPv/sAD//5wBA/84AQf/dAEL/0wBD/+cARP/nAEX/5wBG/+cAR//dAEj/2ABJ/7oASv/JAEv/4gAsAAb/+wAH//sACP/xAAn/zgAK/+cAC//dAAz/9gAN/9gADv/tAA//7AAQ/+kAEf/rABL/3QAT/90AFP/hABX/3QAW/90AMf/nADL/vwAz/+cANP/nADX/8QA2//EAN//sADj/5wA5//YAOv/2ADv/4gA8//EAPf/2AD7/+wA///sAQP/2AEH/+wBC/+wAQ//7AET/7ABF/9MARv/7AEf/yQBI/84ASf+wAEr/xABL/+cADgAG//sACf/xAAv/7AAN//sADv/7AA8AAAAR//EAEv/0ABP/9gAU//EAFf/xABb/7AAx//YAQP/2ACkABv/7AAf/9gAI//sACf/iAAr/5wAL/+wADP/vAA3/3QAO//sAD//qABD/8QAR/+wAEv/nABP/8QAU/+cAFf/iABb/7AAx/+cAMv/vADP//AA0/+cANf/7ADb//gA4//EAOf/8ADr//AA7/+kAPP/6AD3//QA+//4AP//7AEL/6gBD//0ARP/2AEX/7ABG//EAR//YAEj/4gBJ/+wASv/LAEv//AAsAAb/+wAH//EACP/2AAn/0wAK/+IAC//JAAz/5wAN/90ADv/iAA//7AAQ/+cAEf/sABL/3QAT/9MAFP/iABX/zgAW/+cAMf/YADL/xAAz/+wANP/dADX/6AA2//EAN//xADj/4wA5//EAOv/2ADv/7AA8/+wAPf/sAD7/9gA//+wAQP/iAEH/8QBC/90AQ//nAET/5wBF/8QARv/mAEf/xABI/8kASf+1AEr/rQBL/+IALAAG//sAB//7AAj/9gAJ/9MACv/2AAv/ugAM/+kADf/dAA7/9gAP/+wAEP/2ABH/8AAS//EAE//2ABT/5wAV/9gAFv/sADH/vwAy/9UAM//eADT/3wA1//EANv/xADf/9gA4/+IAOf/xADr/9gA7/+wAPP/xAD3/9gA+//EAP//2AED/2ABB//EAQv/nAEP/9gBE/+cARf/TAEb/8QBH/9gASP/YAEn/xgBK/78AS//xACsABv/7AAf/9gAI/+wACf/TAAr/5wAL/90ADP/lAA3/zgAO/90AD//dABD/7AAR/+IAEv/iABP/2AAU/+IAFf/JABb/5wAx/90AMv/EADP/6wA0/+EANf/wADb/8AA4/9wAOf/dADr/7AA7/9gAPP/sAD3/5wA+/+wAP//iAED/0wBB/+IAQv/YAEP/4gBE/84ARf/JAEb/4gBH/8kASP/OAEn/vwBK/8kAS//TACwABv/7AAf/3wAI/+cACf+wAAr/4wAL/8kADP/dAA3/xwAO/+cAD//dABD/7AAR/+cAEv/iABP/yQAU/9cAFf+/ABb/4gAa/+kAMf/YADL/uwAz/+EANP/dADb/6wA3//MAOP/lADn/8QA6//IAO//eADz/5wA9/+4APv/zAD//8ABA/+IAQf/2AEL/6gBD//YARP/kAEX/zABG/+8AR/+0AEj/uwBJ/64ASv+vAEv/5QAsAAb/+wAH/90ACP/nAAn/4gAK/9MAC//nAAz/3QAN//YADv/eAA//3QAQ/7AAEf/OABL/sAAT//sAFP/dABX/0wAW/9MAMf/iADL/iAAz//YANP/OADX/9gA2//EAN//xADj/0wA5//YAOv/zADv/gAA8//EAPf/7AD7/+wA///YAQP/OAEH/7gBC/84AQ//2AET/2ABF//sARv/2AEf/5wBI/+cASf/TAEr/4gBL/+wALAAG//sAB//2AAj/8QAJ/9gACv/nAAv/3QAM/+IADf/dAA7/4gAP/+IAEP/nABH/5wAS/9gAE//YABT/3QAV/84AFv/sADH/5wAy/78AM//nADT/2AA1/+cANv/nADf/7AA4/90AOf/sADr/7AA7/+cAPP/sAD3/8QA+/+wAP//xAED/4gBB//EAQv/dAEP/5wBE/+IARf/YAEb/5wBH/78ASP/HAEn/sABK/7UAS//dACsABv/xAAf/8QAI/+IACf/dAAr/0wAL/+IADP/iAA3/3QAO/+cAD//dABD/zgAR/9MAEv/EABP/0wAU/84AFv/dADH/4gAy/6EAM//jADT/3QA1/+wANv/sADf/5wA4/90AOf/nADr/8QA7/78APP/xAD3/9gA+/+wAP//nAED/3QBB/+cAQv/nAEP/5wBE/+IARf/OAEb/3QBH/8QASP/JAEn/lwBK/7oAS//YACkABv/sAAf/0wAI/90ACf/OAAr/3QAM/90ADf/EAA7/5wAP/9gAEP/YABH/3QAS/9MAE//YABT/4gAV/90AMf/sADL/wAAz/+8ANP/kADX/6wA2//AAN//2ADj/5AA5//EAOv/uADv/1gA8//QAPf/2AD7/8QA///AAQP/dAEH/7ABD/+gARP/YAEX/1QBG/+wAR/+3AEj/wwBJ/7UASv+wAEv/5gAeAAf/zgAi/+4AI//5ACT/7wAy/9AAM//pADT/sQA1/+sANv/nADf/5gA4/7oAOf/vADr/9wA7/9AAPP/sAD3/6wA+/+YAP//sAED/uwBB/+kAQv+7AEP/5ABE/9QARf+6AEb/0ABH/34ASP+SAEn/zQBK/5sAS//nABwAF//RACT//wAy/9EAM//uADT/5wA1/+8ANv/3ADf/7gA4/+gAOf/3ADr/+wA7/9oAPP/vAD3/9wA+/+4AP//vAED/4QBB//cAQv/nAEP/7wBE/+4ARf/QAEb/9wBH/8EASP/MAEn/wwBK/7sAS//nABwAF//QABv/+QAy/8EAM//zADT/6wA1//sANv/zADf/+wA4/+8AOf/zADr//gA7/+EAPP/vAD3/9wA+//kAP//3AED/4gBB//kAQv/jAEP/8wBE/+YARf/VAEb/+QBH/84ASP/JAEn/twBK/8EAS//rAB8ABv/7ABL/3wAX/8kAJf/5ACv/7wAy/7oAM//zADT/6wA1/+8ANv/uADf/8wA4/+oAOf/vADr/7wA7/9QAPP/5AD3//gA+//EAP//vAED/4wBB//MAQv/mAEP/7gBE/+cARf/XAEb/6wBH/8kASP/JAEn/twBK/7cAS//nACAABv/7ACQAAgAl/+8AJ//5AC3//gAv//4AMv/oADP//QA0/+sANf/7ADb/+gA3//sAOP/jADn/9wA6//oAO//kADz//wA9//0APv/+AD8AAABA/+gAQf/7AEL/6ABD//sARP/sAEX/8QBG//sAR//qAEj/6wBJ/+cASv/qAEv/+QAbAAb/+wAl/+8AMv+5ADP/+wA0/+8ANf/7ADb/+wA3//0AOP/vADn/+wA6AAAAO/+7ADz//gA9//4APv/7AED/7ABB//4AQv/nAEP/+QBE//kARf/7AEb/+QBH//MASP/rAEn/4gBK/+8AS//7AB0ABv/2ABf/zgAl/+8AMv+3ADP/9wA0/+sANf/3ADb/8QA3//kAOP/uADn/8wA6//sAO//YADz/8wA9/+4APv/3AD//8wBA/+MAQf/3AEL/6QBD/+8ARP/nAEX/1ABG/+8AR//JAEj/zABJ/6YASv/JAEv/3AAcAAb/+wAX//MAJf/7ADL/6wAz//4ANP/uADX/+wA2//4AN//+ADj/8wA5//0AOv/+ADv/7gA8//4APf/+AD7/+wA///4AQP/uAEL/9wBD//4ARP/+AEX/+QBG//4AR//uAEj/9wBJ/+4ASv/zAEv//gAYAAb/+wAx//YAMv/rADP//wA0//MANf//ADYAAQA3//8AOP/zADv/6AA8//4APf/+AD4AAQBA/+4AQf//AEL/8wBD//4ARP/4AEX//QBH/+wASP/3AEn/7ABK//EASwABABwABv/2ABf/4QAy/8oAM//9ADT/+QA1//4ANv/7ADf//gA4//MAOf/+ADr//wA7/+EAPP/7AD3//gA+//4AP//+AED/7wBB//4AQv/zAEP//gBE//sARf/7AEb//gBH/+8ASP/5AEn/2gBK//oAS//+AB0ABv/nABf/5wAx/7AAMv/hADP/7gA0/7QANf/rADb/5wA3/+4AOP+sADn/6wA6//kAO/+3ADz/6gA9/+8APv/nAD//5wBA/6wAQf/uAEL/rgBD/+cARP+8AEX/3ABG/9oAR//cAEj/0QBJ/9oASv/RAEv/7wAeAAb/9gAX//cAI//9ADH/vwAy/+4AM//5ADT/2gA1//4ANv/3ADf/+wA4/9oAOf/3ADr/+wA7/+cAPP/7AD3/+QA+//cAP//5AED/1ABB//sAQv/cAEP/9wBE/+8ARf/JAEb/6wBH/8QASP++AEn/5wBK/8EAS//+ABwAF//7ADH/7AAy/+QAM//+ADT/7gA1//4ANgAAADf//QA4//cAOf/7ADr//gA7/+4APP/+AD3//gA+//0AP//7AED/7wBB//4AQv/uAEP//gBE//cARf/7AEb/+QBH/+gASP/vAEn/6wBK/+gAS//+AB4ABv/7ABf/8wAa//4AHf/3ACX/9wAq//4AMf/2ADL/5AAz//0ANP/zADX/+wA2//4AN//+ADj/+QA7/+4APf/+AD7/+wA///4AQP/2AEH/+gBC/+4AQ//7AET/+QBF//sARv/+AEf/8wBI/+8ASf/zAEr/6wBL//4AHQAG//EAJP/3ADH/7AAy/7sAM//sADT/4wA1/+8ANv/vADf/9wA4/+QAOf/qADr/9wA7/98APP/vAD3/9wA+/+sAP//uAED/4wBB/+4AQv/mAEP/7wBE/+IARf/VAEb/7gBH/8MASP/GAEn/uwBK/7oAS//fABwABv/sACT//gAy/54AM//rADT/6gA1//EANv/rADf/9wA4/+MAOf/oADr/9wA7/64APP/sAD3/8QA+/+wAP//sAED/4QBB//MAQv/oAEP/5ABE/9gARf/kAEb/7gBH/9EASP/QAEn/uwBK/8QAS//zADAAF//3ABj//wAZ/+kAGv//ABv//QAc//4AHf/pAB7/+wAf//8AIP/iACH//gAi//8AI//+ACT//wAl/+IAJ//uACj//gAp/+cAKv/hACv/+QAs/8MALf/QAC7/5AAv/8wAMP//ADL/4QAz//4ANP/jADX/9wA3//kAOP/fADn/9wA7/+IAPP/5AD3/+gA+//EAP//6AED/2gBB/+8AQv/aAET/7wBF/9cARv/qAEf/xgBI/7sASf/qAEr/tABL//sAHQAG/+cAF//oACT/+gAy/+IAM//xADT/zAA1/+8ANv/sADf/+gA4/8wAOf/3ADr/8wA7/8kAPP/uAD3/7wA+/+wAP//rAED/yQBB//cAQv/MAEP/+ABE/9QARf/KAEb/2gBH/8EASP/EAEn/4gBK/7cAS//vAB0ABv/xABv/+QAl/+4AMv+8ADP/7wA0/9wANf/zADb/6AA3//cAOP/hADn/5gA6//MAO//aADz/6QA9//MAPv/pAD//6wBA/+MAQf/3AEL/2gBD/+kARP/rAEX/1ABG/+kAR//JAEj/zABJ/7QASv+7AEv/5wAbAAb/9gAy/6YAM//9ADT/0wA1//oANv/+ADf//QA4/9UAOf/3ADr//wA7/7kAPP/6AD3//gA+//sAP//7AED/0ABB//oAQv/XAEP/+QBE/+IARf/zAEb/9wBH/+8ASP/vAEn/6gBK/+cAS//6ABwABv/7ACQAAgAy/9UAM//7ADT/7wA1//cANv/9ADf//wA4/+4AOf/7ADr//wA7/+sAPP/+AD3//gA+//0AP//6AED/7gBB//sAQv/sAEP/+wBE/+8ARf/7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ABX/3QAx//YAMv+5ADP/+AA0/+MANf/3ADb/+AA3//kAOP/iADn/+gA6//0AO//OADz//QA9//4APv/5AD///ABA/+YAQv/jAEP/9wBE/+YARf/vAEb//gBH/+cASP/vAEn/0QBK/+YAS//9ACgAB//2AAj/4gAJ/90ACv/sAAv/4gAM/+gADf/iAA7/9QAP/+gAEP/dABH/4AAS/+YAE//OABT/4gAV/90AJP/7ADH/9gAy/8EAM//vADT/3wA2//QAN//4ADj/4wA5/+kAOv/6ADv/0QA8/+YAPf/zAD7/6QA///EAQP/qAEL/3ABD/+gARP/fAEb/+ABH/7sASP+7AEn/rwBK/68AS//jACcACP/xAAn/7AAK//gADP/2AA7/9wAP//YAEP/xABH/5wAS/+cAE//xABT/7AAV/+UAMf/2ADL/6AAz//kANP/qADX/+wA2//oAN//7ADj/6wA5//cAOv//ADv/4wA8//sAPf/+AD7/+wA///oAQP/sAEH/+gBC/+MAQ//5AET/7wBF/+oARv/7AEf/4wBI/+wASf/jAEr/6gBL//4AJgAH//sACP/7AAn/5wAK//oADP/2AA7/9gAP//YAEP/xABH/8QAS//IAE//xABT/5wAV//EAMv/nADP/+wA0//EANf/9ADb//gA3//4AOP/uADn/+wA6//4AO//oAD0AAAA+//sAP//+AED/7wBB//4AQv/qAEP//wBE//EARf/3AEb/+wBH/+YASP/3AEn/2gBK/+QAS//7ACkAB//2AAj/9gAJ/90ACv/yAAz/8QAO//EAD//wABD/6gAR/+wAEv/mABP/9AAU/+wAFf/rABf/zgAx//YAMv/OADP/7wA0/+oANf/5ADb//gA3//0AOP/oADn/+QA6//0AO//YADz//gA9//8APv/6AD//+QBA/+4AQf/5AEL/4wBD//gARP/qAEX/+QBG//oAR//pAEj/6QBJ/9UASv/rAEv/+gAqAAf/sgAI/8kACf+wAAr/ugAL/7UADP+1AA3/3QAO/+QAD/+6ABD/sgAR/7UAEv+xABP/4gAU/6sAFf+mADH/lwAy/9oAM//jADT/qwA1/+IANv/iADf/4wA4/5oAOf/XADr/7gA7/7QAPP/kAD3/6wA+/+4AP//mAED/rQBB/+8AQv+qAEP/6gBE/74ARf/XAEb/2gBH/9AASP/SAEn/1QBK/80AS//qACsAB//nAAj/8QAJ/6YACv/sAAv/nAAM/90ADf+6AA7/9gAP/+IAEP/sABH/3QAS/9oAE//sABT/3QAV/8QAJP/+ADH/pgAy/+sAM//vADT/ygA1//0ANv/zADf/+wA4/9MAOf/vADr/+wA7/9gAPP/3AD3/9wA+//EAP//7AED/1QBB//cAQv/PAEP/8wBE/+YARf+7AEb/5wBH/7UASP/JAEn/2gBK/6UAS//zACkAB//2AAn/7AAK//kAC//sAAz/9gAO//oAD//2ABD/7AAR/+cAEv/vABP/9gAU//EAFf/sABcAAQAx/+YAMv/pADP/+QA0/+oANf/zADb/+wA3//oAOP/nADn/9wA6//4AO//uADz/+QA9//oAPv/7AD//+QBA/+8AQf/3AEL/6QBD//oARP/sAEX/8wBG//gAR//pAEj/6QBJ/+MASv/nAEv//QAqAAf/9gAI//sACf/sAAr/9wAL/+wADP/7AA7/+gAP//EAEP/2ABH/7AAS//EAE//2ABT/9gAV/+QAFwABADH/8QAy/+kAM//3ADT/6QA1//kANv/5ADf/+QA4/+8AOf/6ADr//gA7/+8APP/7AD3/+gA+//oAP//4AED/7wBB//sAQv/rAEP//QBE/+8ARf/3AEb/+gBH/+4ASP/rAEn/4QBK/+wAS//5ACsAB//xAAj/4gAJ/9gACv/sAAv/2AAM//YADf/iAA7/8QAP/90AEP/iABH/0wAS/+IAE//JABT/4gAV/94AJP/7ADH/3QAy/7QAM//pADT/4QA1/+wANv/vADf/6gA4/+IAOf/qADr/+gA7/9oAPP/pAD3/6wA+/+wAP//pAED/4QBB/+sAQv/cAEP/6wBE/+IARf/JAEb/7gBH/7wASP/BAEn/pgBK/7UAS//kACwAB//iAAj/5wAJ/+IACv/OAAv/2AAM/+cADf/nAA7/8AAP/90AEP+6ABH/xAAS/9cAE//XABT/2AAV/9gAG//3ACT/+wAx/+IAMv+gADP/6QA0/+MANf/mADb/7wA3/+sAOP/aADn/6AA6//YAO/+xADz/6wA9/+4APv/oAD//7wBA/9oAQf/oAEL/1wBD/+MARP/aAEX/2ABG/+cAR//PAEj/yQBJ/7kASv/BAEv/6AApAAf/8QAI/+wACf/OAAr/6gAL/84ADP/nAA3/2AAO//YAD//fABD/4gAR/9gAEv/lABP/5wAU/+IAFf/YADH/4gAy/+cAM//3ADT/2gA1//gANv/5ADf/+wA4/9wAOf/3ADr//gA7/+MAPP/3AD3//QA+//cAP//3AED/1QBC/9UAQ//9AET/6QBF/+EARv/pAEf/ugBI/8QASf/aAEr/wgBL//sAKwAH/8kACP/YAAn/xAAK/9MAC/+/AAz/yQAN/9gADv/nAA//xAAQ/7oAEf+1ABL/wQAT/9gAFP+6ABX/vwAk//sAMf+/ADL/2gAz/+gANP/KADX/6QA2/+kAN//oADj/xgA5/+QAOv/nADv/uQA8/+wAPf/uAD7/6QA//+cAQP/GAEH/7ABC/8kAQ//mAET/2ABF/84ARv/VAEf/wQBI/7wASf/GAEr/tABL/+8AKwAH//EACP/2AAn/yQAK/+oAC//TAAz/3QAN/+cADv/sAA//4gAQ/+IAEf/YABL/3wAT/90AFP/dABX/2AAk//sAMf/nADL/xgAz//MANP/iADX/7wA2/+4AN//3ADj/4wA5/+kAOv/vADv/1wA8/+4APf/zAD7/6gA//+0AQP/kAEH/9wBC/98AQ//qAET/5wBF/9AARv/vAEf/yQBI/9AASf/PAEr/xABL/+8AKQAH/+cACP/sAAn/5wAK/+kAC//dAAz/2AAO/+wAD//XABD/qwAR/8kAEv/AABP/9gAU/9MAFf/OADH/2AAy/7AAM//5ADT/2gA1//0ANv/6ADf//gA4/98AOf/3ADr//QA7/8YAPP/7AD3//gA+//gAP//4AED/1QBB//0AQv/VAEP/+ABE/+MARf/zAEb/+QBH/+4ASP/zAEn/4gBK/+cAS//zACkACP/2AAn/5wAK//QAC//sAAz/+wAN//4ADv/2AA//5QAQ/+wAEf/nABL/8wAT//EAFP/nABX/3QAx/+QAMv/KADP/+QA0/+wANf/6ADb/+gA3//sAOP/vADn/+gA6AAAAO//hADz//wA9//0APv/5AD///gBA/+wAQf/7AEL/7ABD//sARP/vAEX/9wBG//sAR//zAEj/6gBJ/+EASv/jAEv/+wArAAf/zgAI/84ACf/YAAr/ygAL/9gADP/JAA3/+wAO/9kAD//JABD/ogAR/7oAEv+5ABP/5wAU/8QAFf+9ACT/+wAx/7oAMv+FADP/+wA0/7sANf/qADb/6wA3/+wAOP++ADn/5gA6/+8AO/+iADz/6AA9/+oAPv/sAD//7wBA/8MAQf/mAEL/uwBD/+YARP/KAEX/6QBG/+8AR//jAEj/3wBJ/9MASv/hAEv/6wApAAf/zgAI/84ACf/TAAv/2AAM/84ADv/eAA//xAAQ/7AAEf/TABL/sQAT/+wAFP/FABX/yQAk//sAMf/JADL/lQAz//MANP/BADX/+QA2//MAN//3ADj/xgA5//sAOv/3ADv/pQA8/+8APf/+AD7/7gA//+oAQP/DAEH/7gBC/8QAQ//vAET/0ABF/+4ARv/uAEf/6QBI/+QASf/aAEr/5gBL//cAKgAH/8QACP/OAAn/pgAL/7oADP+rAA3/3QAO/+cAD/+5ABD/twAR/8QAEv+zABP/0wAU/7AAFf+cACT/+wAx/6EAMv/aADP/4wA0/7cANf/4ADb/4wA3//0AOP+3ADn/7gA6/+8AO/+7ADz/7gA9//EAPv/jAD//6ABA/7oAQf/zAEL/uQBD/+sARP/OAEX/3wBG/+EAR//aAEj/2ABJ/9gASv/MAEv/7gAsAAf/yQAI/84ACf/JAAr/wgAL/8kADP/JAA3//gAO/8kAD/+6ABD/jQAR/7oAEv+gABP/4gAU/7UAFf+6AB7/8QAk//sAMf+1ADL/lwAz/+8ANP+7ADX/5gA2/+4AN//uADj/uQA5/+gAOv/3ADv/hAA8/+8APf/sAD7/7AA//+oAQP+6AEH/7ABC/7kAQ//pAET/ygBF/+8ARv/vAEf/6ABI/+kASf/fAEr/5ABL//EAJgAH//YACf/iAAr/7AAL/+cADP/iAA3//wAO//UAD//nABD/7AAR/+IAEv/gABP/7AAU/90AFf/TADH/4gAy/+sAM//+ADT/6AA1//4ANgAEADf//wA4/9wAOf/6ADv/5gA8//8APf//AD///QBA/+MAQf//AEMAAABE/+8ARf/4AEb/+wBH//cASP/rAEn/6QBK/+kAS//9AAIAAQAGAEsAAAAAAAAAAQAAAADUGBYRAAAAANmXsTQAAAAA2ZexNA==";class na extends Je{constructor(){super(...arguments),this.moduleName="Vegemite"}svgPreview(e,t){return this.svgElement(e,t)}svgPrint(e,t){return this.svgElement(e,t)}svgElement(e,t){const A=s.loadFontFromDataUrl(aa),n=e!==""?(D=>D.charAt(0).toUpperCase()+D.substr(1).toLowerCase())(e):"",i=A.getPath(n,0,72,72),o=i.toSVG(2),r=i.getBoundingBox(),g=r.x2-r.x1,c=i.toPathData(3),d=()=>{const D=H("g");D.classList.add("module-text-group");const I=H("defs");D.appendChild(I),I.appendChild(Ft(0,2,2,"shadow"));const f=H("path");f.setAttribute("d",c),f.setAttribute("stroke","black"),f.setAttribute("stroke-width","3"),I.appendChild(f);const M=H("g");M.classList.add("module-layer0"),D.appendChild(M),M.setAttribute("filter","url(#shadow)"),M.innerHTML=f.outerHTML;const p=H("g");p.classList.add("module-layer1"),D.appendChild(p),p.setAttribute("stroke-width","3"),p.setAttribute("stroke","rgb(45,41,38)"),p.setAttribute("fill","rgb(45,41,38)"),p.setAttribute("transform","translate(0.5,0)"),p.innerHTML=o;const F=H("g");F.classList.add("module-layer2"),D.appendChild(F),F.setAttribute("fill","rgb(255,209,0)"),F.setAttribute("transform","translate(1,-0.1)"),F.innerHTML=o;const S=H("g");return S.classList.add("module-layer3"),D.appendChild(S),S.setAttribute("fill","white"),S.innerHTML=o,new Oe(D).transform(([x,N])=>[x,N+(g/2-x)**2/(g*6)]),D},B=H("g");B.classList.add("module-root");const w=H("defs");B.appendChild(w);const E=H("g");E.classList.add("module-bounds"),B.appendChild(E);const C=Te(t.height,t.width);C.setAttribute("opacity","0"),E.appendChild(C);const h=H("g");h.classList.add("module-text-enclosure"),B.appendChild(h);const Q=d();h.appendChild(Q);const u=ye(c);return Le(h,u,t.height,t.width,.35,.65),Mt(B.outerHTML)}}async function yt(l){if(l==="Favourites")return new ea;if(l==="Maltesers"){const e=s.fetchAsString("https://assets.spiff.com.au/public/modules/img/MaltesersBackground.svg"),t=s.fetchAsString("https://assets.spiff.com.au/public/modules/img/MaltesersBackgroundShort.svg"),A=await Promise.all([e,t]);return new Aa(A[0],A[1])}if(l==="Vegemite")return new na;throw new v(`Failed to resolve Module, Module ${l} not found`)}var ge=(l=>(l.Error="Error",l.Warning="Warning",l.Info="Info",l))(ge||{});const ia=1e3;class Yt extends xe{constructor(e){super(),this.createdAt=new Date,this.update=e}async execute(){await this.update(),await new Promise(e=>{window.setTimeout(()=>{e()},ia)})}}class oa{constructor(e,t,A,a,n,i,o,r,g,c,d=!1,B,w=!1){this.workflowStatePromiseQueue=new He(1),this.variationRecords=[],this.initialized=!1,this.readOnly=!1,this.isReloadedTransaction=!1,this.render3DScene=()=>{var h;if(!this.previewService)return;const E=this.getCommandContext().getAllLayouts(),C=(h=this.getLayoutPreviewService())==null?void 0:h.getAll();if(C)for(const[,Q]of C)Q.render(this.getWorkflow(),E,this.getCurrentVariationRecord(),this.getProduct().overlayImageUrl)},this.updateTransaction=n,this.commandContext=a,this.reloadedState=c,this.transaction=i,this.readOnly=d,this.confirmedDesign=!1,this.editedSteps={},this.informationResults=[],this.mandatorySteps={},this.pendingUpdates=[],this.selectionCost=0,this.workflow=e,this.stepSpecificServices={},this.profanityFilter=t,this.pollers=[],this.allScenes=[],this.layouts=A,this.product=o,this.previewService=r,this.modelContainer=B,this.stepElements={},this.stepInitialised={},this.stepMetadata={},this.stepSelections={},this.storage={},this.confirmCallbacks=[],this.editedCallbacks=[],this.elementsCallbacks=[],this.informationResultCallbacks=[],this.initCallbacks=[],this.mandatoryCallbacks=[],this.makingAdjustmentsCallback=[],this.metadataCallbacks=[],this.selectionCallbacks=[],this.stepSpecificStorageCallbacks={},this.storageCallbacks=[],this.currentVariationRecordCallbacks=[],this.variationRecordCallbacks=[],this.invalidModelVariants=[],this.currentAdjustingStepId="",this.renderableContextService=g,this.currentVariationRecord=null,this.isReloadedTransaction=w,this.initializationPromise=this.initializeDefaultWorkflowState(e,i),this.initializationPromise.then(()=>{this.initialized=!0}),this.initializationPromise.catch(E=>{throw console.error(E),this.initialized=!1,new Error("Workflow initialization failed due to an error. See console.")}),this.initializationPromise.finally(()=>this.getCommandContext().registerStateCallback(()=>{this.updateStateWithServer(),this.render3DScene()}))}async initializeDefaultWorkflowState(e,t){const A=()=>{var d,B;const r=this.workflow.finalizeStepConfig;if(!r)return;const g=r.lookAtAnimation,c=r.modelAnimation;g&&((d=this.previewService)==null||d.executeCameraAnimation(g)),c&&((B=this.modelContainer)==null||B.executeAnimation(c))};this.reloadedState&&this.reloadedState.serializableWorkflow.steps.forEach(r=>{this.storage[r.stepName]=r.storage||{}}),this.allScenes=await RA(e,{bulkScene:t.bulk||!1,bulkSceneTitle:"workflow.steps.bulk.title",finishScene:!0,finishSceneTitle:"workflow.steps.finish.confirmDesign"},t);const n=$(this.allScenes,this.stepSelections).map(r=>r.silentSteps).flat(),{stepElements:i,commands:o}=await this.stepElementsForIntroducedSilentSteps(n,!!this.reloadedState);this.commandContext.apply(new s.GroupCommand(o),!0),this.stepElements={...this.stepElements,...i},await this.ensureStepsAreLoaded(),!this.isReloadedTransaction&&this.updateStateWithServer(),this.render3DScene(),this.reloadedState&&A()}getProduct(){return this.product}getInitializationPromise(){return this.initializationPromise}isInitialized(){return this.initialized}addVariationRecord(e){const t=this.variationRecords.reduce((a,n)=>n.recordNumber>a?n.recordNumber:a,0),A={...e,recordNumber:t+1};return this.variationRecords.push(A),this.onVariationRecordsChange(),A}removeVariationRecord(e){if(this.variationRecords=this.variationRecords.filter(t=>t.recordNumber!==e),this.variationRecords.forEach((t,A)=>t.recordNumber=A+1),this.currentVariationRecord&&this.currentVariationRecord.recordNumber===e){const t=this.currentVariationRecord.recordNumber,A=t>1?this.variationRecords[t-2]:this.variationRecords[0];this.setCurrentVariationRecord(A||null)}return this.onVariationRecordsChange(),this.variationRecords}setVariationRecords(e){this.variationRecords=e,this.onVariationRecordsChange(),e.length===0?this.setCurrentVariationRecord(null):this.setCurrentVariationRecord(e[0])}setCurrentVariationRecord(e){if(this.currentVariationRecord=e,this.onCurrentVariationRecordChange(),e){const t=this.variationRecords.find(A=>A.recordNumber===e.recordNumber);t&&(t.values=e.values,this.onVariationRecordsChange())}}addConfirmCallback(e){e(this.confirmedDesign),this.confirmCallbacks.push(e)}addEditedCallback(e){e(this.editedSteps),this.editedCallbacks.push(e)}addElementsCallback(e){e(this.stepElements),this.elementsCallbacks.push(e)}addInformationResultCallback(e){e(this.informationResults),this.informationResultCallbacks.push(e)}addInitCallback(e){e(this.stepInitialised),this.initCallbacks.push(e)}addMandatoryCallback(e){e(this.mandatorySteps),this.mandatoryCallbacks.push(e)}addMetadataCallback(e){e(this.stepMetadata),this.metadataCallbacks.push(e)}async addSelectionCallback(e){e({invalidModelVariants:this.invalidModelVariants,selectionCost:this.selectionCost,selections:this.stepSelections,traversableScenes:await this.traversableScenes()}),this.selectionCallbacks.push(e)}addStepSpecificStorageCallback(e,t){Object.keys(this.storage).includes(t)||(this.storage[t]={}),e(this.storage[t]),Object.keys(this.stepSpecificStorageCallbacks).includes(t)||(this.stepSpecificStorageCallbacks[t]=[]),this.stepSpecificStorageCallbacks[t].push(e)}addStorageCallback(e){e(this.storage),this.storageCallbacks.push(e)}addMakingAdjustmentsCallback(e){e(this.currentAdjustingStepId),this.makingAdjustmentsCallback.push(e)}addCurrentVariationCallback(e){e(this.currentVariationRecord),this.currentVariationRecordCallbacks.push(e)}addVariationRecordsCallback(e){e(this.variationRecords),this.variationRecordCallbacks.push(e)}addPoller(e){this.pollers.push(e)}getLayouts(){return this.layouts}getAllLayoutData(){return this.commandContext.getAllLayouts().map(e=>e.layoutState)}getLayoutPreviewService(){return this.renderableContextService}getInformationResults(){return this.informationResults}getPreviewService(){return this.previewService}getProfanities(){return this.profanityFilter}getCommandContext(){return this.commandContext}getRegionElements(e){return this.stepElements[e]||[]}getStepSpecificServices(e){return this.stepSpecificServices[e]}getTransaction(){return this.transaction}getTransactionCustomer(){return this.ownerCustomer}setTransactionCustomer(e){this.ownerCustomer=e}setTransactionCustomerDetails(e){this.ownerCustomer={...this.ownerCustomer,emailAddress:e.email}}getModelContainer(){return this.modelContainer}setModelContainer(e){(!e||this.previewService&&this.previewService.getAllModels().includes(e))&&(this.modelContainer=e,e.metadata&&e.metadata instanceof Map&&this.modelContainer.metadata.set("workflowManager",this))}setTransaction(e){this.transaction=e}getWorkflow(){return this.workflow}getCommandDispatcher(){return e=>this.commandContext.apply(e,!this.initialized)}getWorkflowSelections(){const e={};return this.workflow.steps.forEach(t=>{const A=this.stepSelections[t.stepName];A&&A.selectedVariants&&A.selectedVariants.length>0&&(e[t.stepName]={selections:A.selectedVariants})}),e}markStepsAsInitialised(e){const t={...this.stepInitialised};e.forEach(A=>{t[A]=!0}),this.stepInitialised=t,this.onInitChange()}getUpdatesPending(){return this.pendingUpdates.length>0}markUpdateCompleted(e){this.pendingUpdates=this.pendingUpdates.filter(t=>t!==e)}markUpdatePending(){const e=s.generate();return this.pendingUpdates=[...this.pendingUpdates,e],e}setEditedStatus(e,t){this.editedSteps={...this.editedSteps,[e]:t},this.onEditedChange()}setInformationResults(e){this.informationResults=[...e],this.onInformationResultChange()}setCurrentAdjustingStepId(e){this.currentAdjustingStepId=e,this.onMakingAdjustmentsChange()}setMandatoryFulfilled(e,t){this.mandatorySteps[e]!==t&&(this.mandatorySteps={...this.mandatorySteps,[e]:t},this.onMandatoryChange())}toggleDesignConfirmed(){this.confirmedDesign=!this.confirmedDesign,this.onConfirmChange()}toggleMakingAdjustmentsCallback(e){e(this.mandatorySteps),this.mandatoryCallbacks.push(e)}async injectIntoPreviewService(e){if(this.modelContainer)throw new Error("You must eject from the preview service before injecting again.");if(this.previewService=e,!this.getProduct().modelUrl||!this.previewService)return;const t=e.loadModel({model:this.getProduct().modelUrl,contextService:this.getLayoutPreviewService()});this.setModelContainer(t),$(this.allScenes,this.stepSelections).filter(n=>n).map(n=>n.renderableSteps).flat().filter(n=>n.type===s.StepType.Model||n.type===s.StepType.Material).forEach(n=>{var r,g,c;if(!((r=n.option)!=null&&r.id)){console.error(`Failed to read option id from step: ${n.stepName}`);return}const i=((g=this.stepSelections[n.stepName])==null?void 0:g.selectedVariants)||[];if(i.length===0)return;const o=i[0];if(n.type===s.StepType.Model){const d=(c=o.asset)==null?void 0:c.fileLink;if(!d){console.error(`Failed to read model url from variant: ${o.id} for step: ${n.stepName}`);return}const B=n.data;this.modelContainer.applyModelVariant(n.option.id,{model:d,contextService:this.getLayoutPreviewService()},B.replaceProductModel)}else{const d=o.material;if(!d){console.error(`Failed to read material from variant: ${o.id} for step: ${n.stepName}`);return}n.data.targetMaterials.forEach(w=>{this.modelContainer.applyMaterialVariant(w,n.option.id,d)})}}),await t.getInitializationPromise(),this.render3DScene()}ejectFromPreviewService(){if(this.modelContainer){if(!this.modelContainer.dispose)throw new Error("This feature is not supported in the current preview service.");this.modelContainer.dispose(),this.modelContainer=void 0}this.previewService=void 0}updateStorage(e,t){const A={...this.storage,[e]:{...this.storage[e],...t}};if(!$e(A,this.storage)){this.storage=A;const a=new s.UpdateWorkflowStateCommand(this.constructSerializableWorkflow());this.commandContext.apply(a,!0),this.onStepSpecificStorageChange(e),this.onStorageChange()}}constructSerializableWorkflow(){const e=[];return this.allScenes.forEach(t=>{t.renderableSteps.forEach(A=>{var n,i;const a={stepName:A.stepName};a.storage=this.storage[A.stepName],a.selectedVariants=(i=(n=this.stepSelections[A.stepName])==null?void 0:n.selectedVariants)==null?void 0:i.map(o=>({id:o.id,priceModifier:o.priceModifier})),e.push(a)})}),{steps:e}}updateStateWithServer(){if(this.readOnly)return;const e=this.serialize();this.workflowStatePromiseQueue.enqueue(new Yt(async()=>{await this.updateTransaction({variables:{id:this.transaction.id,workflowState:e.transaction}})}))}async updateStateWithServerImmediate(){if(this.readOnly)return;const e=this.serialize();return new Yt(async()=>{await this.updateTransaction({variables:{id:this.transaction.id,workflowState:e.transaction}})}).execute()}serialize(){const e=this.getCommandContext().getState();if(!e)throw new v("Attempted to serialize state before it was initialized.");const t=JSON.stringify(this.dehydrateState(ee(e.transaction))),A=e.variation;if(!A)return{transaction:t};const a={layouts:{},serializableWorkflow:{steps:[]},...ee(A)||{}},n=JSON.stringify(this.dehydrateState(a));return{transaction:t,variation:n}}dehydrateState(e){for(const t of Object.values(e.layouts).map(A=>A.elements).flat())t.type==="illustration"&&(delete t.cachedObjectURL,t.src&&delete t.svg);return e}async outstandingRequestsPromise(){return this.workflowStatePromiseQueue.finalize()}updateMetadata(e,t){this.stepMetadata={...this.stepMetadata,[e]:{...this.stepMetadata[e],...t}},this.onMetadataChange()}removeElements(e){const t=(A,a)=>Object.keys(A).reduce((n,i)=>{const o=[...A[i]||[]];return a.forEach(r=>{const g=o.findIndex(c=>c.id===r.id);g>-1&&o.splice(g,1)}),n[i]=o,n},{});this.stepElements=t(this.stepElements,e)}getInvalidCanvasRegions(){return this.workflow.steps.reduce((e,t)=>(Z(t,this.stepSelections)||this.stepElements[t.stepName]&&this.stepElements[t.stepName].forEach(A=>e.push(A)),e),[])}getInvalidModelVariants(){return this.workflow.steps.reduce((e,t)=>{var A;return t.type==="Model"&&((A=t.option)!=null&&A.id)&&!Z(t,this.stepSelections)&&e.push(t.option.id),e},[])}async stepElementsForIntroducedSilentSteps(e,t){const A=this.product;if(!A)return Promise.resolve({stepElements:{},commands:[]});const a=async(g,c,d)=>{if(g.type===s.StepType.SilentIllustration){const B=await new Ct(g,c).trigger();return{step:g,results:B}}else if(g.type===s.StepType.ProductOverlay){const B=await new Ct(g,c,d).trigger();return{step:g,results:B}}return Promise.reject("Unknown silent step. This is a bug")},n=e.filter(g=>!this.stepInitialised[g.stepName]),i={stepElements:{},commands:[]},o=[];for(const g of n)this.markStepsAsInitialised([g.stepName]),t||o.push(a(g,this.layouts,A));const r=await Promise.all(o);for(const g of r)i.stepElements[g.step.stepName]=g.results.map(c=>c.regionElement),i.commands=[...i.commands,...g.results.map(c=>c.command)];return i}getStepStorage(e){return this.storage[e]}getMetadata(e){return this.stepMetadata[e]}getWorkflowMetadata(){return this.stepMetadata}getSerializedStep(e,t){return t.find(A=>A.stepName===e)}getCurrentVariationRecord(){return this.currentVariationRecord||void 0}getVariationRecords(){return this.variationRecords}async reset(){this.commandContext.getAllLayouts().forEach(t=>t.layoutState.elements.forEach(A=>{this.getCommandDispatcher()(new s.DeleteElementCommand(A.id))})),this.stepElements={},this.stepInitialised={},this.stepMetadata={},this.stepSelections={},this.storage={},this.currentVariationRecord=null,await this.ensureStepsAreLoaded()}async setSelectionsAndElements(e,t,A,a){var D;const n=this.stepSelections;this.stepSelections={...this.stepSelections,[e]:{selectedVariants:t}},this.selectionCost=Object.values(this.stepSelections).reduce((I,f)=>I+f.selectedVariants.map(M=>M.priceModifier||0).reduce((M,p)=>M+p,0),0),this.workflow.steps.forEach(I=>{Z(I,this.stepSelections)||(this.stepInitialised[I.stepName]=!1,delete this.stepMetadata[I.stepName],delete this.stepSelections[I.stepName],delete this.storage[I.stepName])});const i=this.allScenes,o=$(i,n),r=$(i,this.stepSelections),g=o.map(I=>I.silentSteps).flat(),d=r.map(I=>I.silentSteps).flat().filter(I=>!g.some(f=>f.stepName===I.stepName));g.forEach(I=>{Z(I,this.stepSelections)||(this.stepInitialised[I.stepName]=!1)}),this.invalidModelVariants=this.getInvalidModelVariants();const B=this.getInvalidCanvasRegions(),{stepElements:w,commands:E}=await this.stepElementsForIntroducedSilentSteps(d,!1);this.stepElements={...this.stepElements,...w,[e]:A},this.removeElements(B);const C=this.workflow.steps.find(I=>I.stepName===e);if((C==null?void 0:C.type)===s.StepType.Frame){const I=this.getStepSpecificServices(e);(D=I==null?void 0:I.frameService)==null||D.setTargetElements(A.map(f=>f.id))}const h=B.map(I=>new s.DeleteElementCommand(I.id)),Q=new s.UpdateWorkflowStateCommand(this.constructSerializableWorkflow()),u=[...E,...h,Q];u.length>0&&this.commandContext.apply(new s.GroupCommand(u),!0),await this.ensureStepsAreLoaded(),this.onElementsChange(),await this.onSelectionChange(),a&&await a()}async ensureStepsAreLoaded(){var r,g;const t=$(this.allScenes,this.stepSelections).map(c=>c.renderableSteps),A=[],a=t.flat();for(const c of a)if(!this.stepInitialised[c.stepName])switch(this.stepInitialised[c.stepName]=!0,c.type){case s.StepType.Bulk:this.updateStorage("Bulk",((g=(r=this.reloadedState)==null?void 0:r.serializableWorkflow.steps.find(d=>d.stepName==="Bulk"))==null?void 0:g.storage)||{});break;case s.StepType.DigitalContent:A.push(ut.init(c,this,this.reloadedState));break;case s.StepType.Frame:case s.StepType.Photo:{const d=new ht(c.data.forceImageCover);d.connectWorkflowManager(this,c.stepName),this.stepSpecificServices[c.stepName]={frameService:d},A.push(ue.init(c,this,this.reloadedState))}break;case s.StepType.Illustration:A.push(ce.init(c,this,this.reloadedState));break;case s.StepType.Material:A.push(Ue.init(c,this,this.reloadedState));break;case s.StepType.Model:A.push(ve.init(c,this,this.reloadedState));break;case s.StepType.Module:this.stepSpecificServices[c.stepName]={module:await yt(c.data.module)},A.push(It.init(c,this,this.reloadedState));break;case s.StepType.Picture:A.push(Ge.init(c,this,this.reloadedState));break;case s.StepType.Question:A.push(ke.init(c,this,this.reloadedState));break;case s.StepType.Shape:A.push(_.init(c,this,this.reloadedState));break;case s.StepType.Text:A.push(T.init(c,this,this.reloadedState));break}const n=(await Promise.allSettled(A)).map(c=>{if(c.status==="rejected")throw new Error(`Step initialization failed: ${c.reason}`);return c.value}),i=n.filter(c=>!!c&&!!c.command).map(c=>c.command),o=n.filter(c=>!!c&&!!c.followup).map(c=>c.followup);i&&i.length>0&&this.commandContext.apply(new s.GroupCommand(i),!0);for(const c of o)await c();o.length>0&&await this.ensureStepsAreLoaded(),this.onInitChange()}onConfirmChange(){this.confirmCallbacks.forEach(e=>e(this.confirmedDesign))}onEditedChange(){this.editedCallbacks.forEach(e=>e(this.editedSteps))}onElementsChange(){this.elementsCallbacks.forEach(e=>e(this.stepElements))}onInformationResultChange(){this.informationResultCallbacks.forEach(e=>e(this.informationResults))}onInitChange(){this.initCallbacks.forEach(e=>e(this.stepInitialised))}onMakingAdjustmentsChange(){this.makingAdjustmentsCallback.forEach(e=>{e(this.currentAdjustingStepId)})}onMandatoryChange(){this.mandatoryCallbacks.forEach(e=>e(this.mandatorySteps))}onMetadataChange(){this.metadataCallbacks.forEach(e=>{e(this.stepMetadata)})}async onSelectionChange(){const e=await this.traversableScenes();for(const t of this.selectionCallbacks)t({invalidModelVariants:this.invalidModelVariants,selectionCost:this.selectionCost,selections:this.stepSelections,traversableScenes:e})}onStepSpecificStorageChange(e){Object.keys(this.stepSpecificStorageCallbacks).includes(e)||(this.stepSpecificStorageCallbacks[e]=[]),this.stepSpecificStorageCallbacks[e].forEach(t=>t(this.storage[e]))}onStorageChange(){this.storageCallbacks.forEach(e=>e(this.storage))}onCurrentVariationRecordChange(){this.currentVariationRecordCallbacks.forEach(e=>{e(this.currentVariationRecord)})}onVariationRecordsChange(){this.variationRecordCallbacks.forEach(e=>{e(this.variationRecords)}),this.render3DScene()}traversableScenes(){return UA(this.allScenes,this.stepSelections)}}class O{constructor(e){this.variantData=e}getType(){var e;return(e=this.variantData.asset)==null?void 0:e.type}getId(){return this.variantData.id}getName(){return this.variantData.name}getPriceFormatted(e,t){return this.variantData.priceModifier.toLocaleString(e||"en-US",{style:"currency",currency:"USD",...t})}getPrice(){return this.variantData.priceModifier}getAsset(){var e,t,A;return(A=(t=(e=this.variantData.asset)==null?void 0:e.versions)==null?void 0:t.find(a=>a.name==="cdn"))==null?void 0:A.link}getAssetResource(){return this.variantData.asset}getThumbnail(){var A,a,n,i;const e=(n=(a=(A=this.variantData.thumbnail)==null?void 0:A.versions)==null?void 0:a.find(o=>o.name==="thumbnail"))==null?void 0:n.link,t=(i=this.variantData.thumbnail)==null?void 0:i.fileLink;return e||t}getDisplayImage(){var e,t,A;return(A=(t=(e=this.variantData.displayImage)==null?void 0:e.versions)==null?void 0:t.find(a=>a.name==="medium"))==null?void 0:A.link}getColor(){return this.variantData.color}isDefault(){return!!this.variantData.default}getResource(){return this.variantData}isEnabled(){return this.variantData.enabled}}const Nt=class Xe{constructor(e,t){this.manager=e,this.step=t}setUpdateState(e){Xe.updateState.set(this.step.stepName,e)}getUpdateState(){return!!Xe.updateState.get(this.step.stepName)}getCurrentVariant(){const t=this.manager.getWorkflowSelections()[this.step.stepName],A=t==null?void 0:t.selections[0];if(A)return new O(A)}getAvailableVariants(){var t,A;return(((A=(t=this.step.option)==null?void 0:t.variants)==null?void 0:A.filter(a=>a.enabled))||[]).map(a=>new O(a))}getAllVariants(){var t;return(((t=this.step.option)==null?void 0:t.variants)||[]).map(A=>new O(A))}getId(){return this.step.stepName}getName(){return this.step.stepTitle}getHelpText(){return this.step.helpText}getType(){return this.step.type}getRaw(){return this.step}getTags(){return this.step.tags||[]}hasTag(e){var t;return((t=this.step.tags)==null?void 0:t.includes(e))||!1}executeAnimations(){const e=this.manager.getPreviewService(),t=this.manager.getModelContainer(),A=this.step.data.modelAnimation,a=this.step.data.lookAtAnimation;e&&a&&e.executeCameraAnimation(a),t&&A&&t.executeAnimation(A)}};Nt.updateState=new Map;let L=Nt;const Pt=y.gql`
2034
1847
  mutation AddTransactionStakeholder($id: String!, $type: String!, $details: CustomerDetailsInput!) {
2035
1848
  transactionAddStakeholder(id: $id, details: $details, type: $type) {
2036
1849
  id
@@ -2044,13 +1857,13 @@ IfnI8vaNAAAAAElFTkSuQmCC" transform="matrix(0.13 0.0141 -0.0141 0.1301 104.926 1
2044
1857
  }
2045
1858
  }
2046
1859
  }
2047
- `,OO=ct`
1860
+ `,sa=y.gql`
2048
1861
  mutation UpdateDesignName($transactionId: String!, $designName: String!) {
2049
1862
  transactionUpdate(id: $transactionId, designName: $designName) {
2050
1863
  id
2051
1864
  }
2052
1865
  }
2053
- `;class LE extends Xn{constructor(t,n){super(t,n),this.transaction=this.manager.getTransaction()}selectVariant(){throw new Error("Bulk step does not support variants.")}async setDesignName(t){await bt.getShadowGraphqlClient().mutate({mutation:OO,variables:{transactionId:this.manager.getTransaction().id,designName:t}});const n=this.manager.getTransaction();this.manager.setTransaction({...n,designName:t})}addVariationRecord(){const t=this.manager.addVariationRecord({transactionId:this.transaction.id,values:[]});return this.manager.setCurrentVariationRecord(t),t}updateBulkIsConnected(t){this.manager.updateStorage(this.getId(),{bulkIsConnected:t})}openBulkSourceUrl(){window.open(this.transaction.bulkSourceUrl,"_blank")}async sendGoogleSheetLinkToEmail(t){await bt.getShadowGraphqlClient().mutate({mutation:UE,variables:{id:this.transaction.id,details:{emailAddress:t},type:"Owner"}}),this.openBulkSourceUrl()}deleteVariationRecord(t){this.manager.removeVariationRecord(t)}getAspects(){return this.step.data.aspects}}class YE extends Xn{constructor(t,n){super(t,n)}async selectVariant(t){if(this.getCurrentVariant()!==t)return Ro.selectVariant(this.step,t.getResource(),this.manager.getRegionElements(this.step.stepName)||[],n=>this.setUpdateState(n),this.manager)}getColors(){const t=this.manager.getRegionElements(this.step.stepName)||[];if(t.length!==0)try{return we(t[0].id,this.manager.getAllLayoutData()).colors}catch(n){console.error(n)}}setColor(t,n){const r=new Map;return r.set(t,n),Ro.changeColors(this.step,this.manager.getRegionElements(this.step.stepName),this.manager,()=>this.manager.getCommandContext().getAllLayouts(),r)}async getColorOption(){return this.step.data.colorOption}getAvailableColors(){return this.step.data.colorPickerEnabled?Ro.availableColors(this.step,this.manager):Promise.resolve([])}hasVaryingSelection(){return this.step.data.varySelection}hasVaryingColors(){return this.step.data.varyColors}isColorPickerEnabled(){return this.step.data.colorPickerEnabled}}class HE extends Xn{constructor(t,n){super(t,n)}selectVariant(t){return x0.selectVariant(this.step,t.getResource(),this.manager,n=>this.setUpdateState(n))}}class GE extends Xn{constructor(t,n){super(t,n)}selectVariant(t){return b0.selectVariant(this.step,t.getResource(),this.manager,n=>this.setUpdateState(n))}}class VE extends Xn{constructor(t,n){super(t,n)}selectVariant(t){return Q0.selectVariant(this.step,t.getResource(),this.manager,n=>this.setUpdateState(n))}}class zE extends Xn{constructor(t,n){super(t,n)}async selectVariant(t){if(!t.getId())throw new Error("Unable to select variant with a null ID");await M0.selectVariant(this.step,t.getId(),this.manager)}getDisplayType(){var t;return(t=this.step.option)==null?void 0:t.displayType}}class JE extends Xn{constructor(t,n){super(t,n)}selectVariant(t){const n=t.getResource();return rs.selectVariant(this.step,{fill:n.color,stroke:n.color,variant:n},this.manager.getRegionElements(this.step.stepName)||[],this.manager)}setColor(t){return rs.selectVariant(this.step,t,this.manager.getRegionElements(this.step.stepName)||[],this.manager)}getColors(){return rs.availableColours(this.step)}setCustomColor(t){var n;if(((n=this.getCurrentVariant())==null?void 0:n.getColor())!=="#custom")throw new Error("Custom colors can only be set on a non-custom variant. Please add a custom variant to the step.");return rs.setCustomColor(t,this.step,this.manager)}getCustomColor(){var n,r;const t=(n=this.manager.getStepStorage(this.step.stepName))==null?void 0:n.colour;if(((r=this.getCurrentVariant())==null?void 0:r.getColor())!=="#custom")throw new Error("Custom colors can only be set on a non-custom variant. Please add a custom variant to the step.");if(!t)throw new Error("Color not available on step. Set a default on the workflow to fix this.");return t}}class jE extends Xn{constructor(t,n){super(t,n)}async selectVariant(t){Wn.selectVariant(this.step,t.getResource(),this.manager,n=>{if(n)this.manager.setInformationResults([...this.manager.getInformationResults(),{message:"An issue has occured with test",messageType:Yo.Error,stepID:this.step.stepName}]);else{const r=this.manager.getInformationResults().filter(i=>i.stepID!==this.step.stepName);this.manager.setInformationResults(r)}},()=>{})}getAvailableFillColors(){return this.step.data.colorPickerEnabled?Wn.availableFillColors(this.step):[]}async setFillColor(t){const n=this.manager.getRegionElements(this.step.stepName);await Wn.changeFillColor(this.step,t,n,this.manager)}getFillColor(){var t;return((t=this.manager.getStepStorage(this.step.stepName))==null?void 0:t.color)||"#000000"}getAvailableFillImages(){return Wn.availableFillImages(this.step)}async setFillImage(t){const n=this.manager.getRegionElements(this.step.stepName);await Wn.changeFillImage(this.step,t,n,this.manager)}getFillImage(){var t;return(t=this.manager.getStepStorage(this.step.stepName))==null?void 0:t.fillImage}setFullTextCustomization(t){var s;const n=((s=this.manager.getStepStorage(this.step.stepName))==null?void 0:s.inputText)||"",r=this.step.data.replaceableText!==void 0?this.step.data.replaceableText.replace("{{}}",n):n,i=t?r:this.step.data.defaultText;return this.manager.updateStorage(this.step.stepName,{customiseAllText:t,text:i,defaultCleared:!1}),this.setText(i)}setText(t){var f,d;const n={input:t},r=Wn.findLayoutElements(this.manager,this.step),i=Wn.filterUnsupportedCharacters(t,(f=r[0])==null?void 0:f.fontData);!!this.step.data&&!!this.step.data.maxLength&&i.length>this.step.data.maxLength||(n.input=i);const s=r.length<=0,o=s?{inputText:i,text:i}:{inputText:i};if(this.manager.updateStorage(this.step.stepName,o),this.manager.updateMetadata(this.step.stepName,{text:i}),s)return n;const{command:c,errors:l,helperText:u}=Wn.updateInputText(i,r,this.step,this.manager);c&&this.manager.getCommandDispatcher()(c);const A=this.manager.getInformationResults(),h=(d=l[0])==null?void 0:d.localizationKey;if(h)this.manager.setInformationResults([...A,{message:`${h} - ${this.step.stepTitle}`,messageType:Yo.Error,stepID:this.step.stepName}]);else{const p=A.filter(m=>m.stepID!==this.step.stepName);this.manager.setInformationResults(p)}return n.helperText=h||u,n.errorText=h,n}getText(){var n;const t=this.step.data.defaultText;return((n=this.manager.getStepStorage(this.step.stepName))==null?void 0:n.text)||t||""}isReplaceable(){return this.step.data.userCanReplaceText}clearDefaultTextIfNecessary(){const t=this.manager.getStepStorage(this.step.stepName);if(!(t!=null&&t.defaultCleared)&&this.step.data.deleteDefaultOnFocus){const n=this.setText("");return this.manager.updateStorage(this.step.stepName,{defaultCleared:!0,inputText:""}),n}}hasVaryingText(){return this.step.data.varyText}hasVaryingColor(){return this.step.data.varyColor}hasVaryingSelection(){return this.step.data.varySelection}hasColorPicker(){return this.step.data.colorPickerEnabled}getRegions(){return this.step.data.regions}getCharacterLimit(){return this.step.data.maxLength}getCharactersRemaining(){const t=this.step.data.maxLength;if(t===void 0)return;const n=this.getText();return t-n.length}}class WE extends Xn{constructor(t,n){super(t,n)}async selectVariant(){}getContent(){return this.step.data.content}}class Ho{static get(t,n){switch(n.type){case j.Information:return new WE(t,n);case j.Question:return new zE(t,n);case j.Text:return new jE(t,n);case j.Illustration:return new YE(t,n);case j.Picture:return new VE(t,n);case j.Shape:return new JE(t,n);case j.Material:return new HE(t,n);case j.Model:return new GE(t,n);case j.Frame:return new AB(t,n);case j.Bulk:return new LE(t,n);default:throw new ge(`Step type ${n.type} not yet supported in Core SDK`)}}}const KE=ct`
1866
+ `;class Rt extends L{constructor(e,t){super(e,t),this.transaction=this.manager.getTransaction()}selectVariant(){throw new Error("Bulk step does not support variants.")}async setDesignName(e){await R.getShadowGraphqlClient().mutate({mutation:sa,variables:{transactionId:this.manager.getTransaction().id,designName:e}});const t=this.manager.getTransaction();this.manager.setTransaction({...t,designName:e})}addVariationRecord(){const e=this.manager.addVariationRecord({transactionId:this.transaction.id,values:[]});return this.manager.setCurrentVariationRecord(e),e}updateBulkIsConnected(e){this.manager.updateStorage(this.getId(),{bulkIsConnected:e})}openBulkSourceUrl(){window.open(this.transaction.bulkSourceUrl,"_blank")}async sendGoogleSheetLinkToEmail(e){await R.getShadowGraphqlClient().mutate({mutation:Pt,variables:{id:this.transaction.id,details:{emailAddress:e},type:"Owner"}}),this.openBulkSourceUrl()}deleteVariationRecord(e){this.manager.removeVariationRecord(e)}getAspects(){return this.step.data.aspects}}class xt extends L{constructor(e,t){super(e,t)}async selectVariant(e){if(this.getCurrentVariant()!==e)return ce.selectVariant(this.step,e.getResource(),this.manager.getRegionElements(this.step.stepName)||[],t=>this.setUpdateState(t),this.manager)}getColors(){const e=this.manager.getRegionElements(this.step.stepName)||[];if(e.length!==0)try{return s.findElement(e[0].id,this.manager.getAllLayoutData()).colors}catch(t){console.error(t)}}setColor(e,t){const A=new Map;return A.set(e,t),ce.changeColors(this.step,this.manager.getRegionElements(this.step.stepName),this.manager,()=>this.manager.getCommandContext().getAllLayouts(),A)}async getColorOption(){return this.step.data.colorOption}getAvailableColors(){return this.step.data.colorPickerEnabled?ce.availableColors(this.step,this.manager):Promise.resolve([])}hasVaryingSelection(){return this.step.data.varySelection}hasVaryingColors(){return this.step.data.varyColors}isColorPickerEnabled(){return this.step.data.colorPickerEnabled}}class Ht extends L{constructor(e,t){super(e,t)}selectVariant(e){return Ue.selectVariant(this.step,e.getResource(),this.manager,t=>this.setUpdateState(t))}}class Ut extends L{constructor(e,t){super(e,t)}selectVariant(e){return ve.selectVariant(this.step,e.getResource(),this.manager,t=>this.setUpdateState(t))}}class vt extends L{constructor(e,t){super(e,t)}selectVariant(e){return Ge.selectVariant(this.step,e.getResource(),this.manager,t=>this.setUpdateState(t))}}class Gt extends L{constructor(e,t){super(e,t)}async selectVariant(e){if(!e.getId())throw new Error("Unable to select variant with a null ID");await ke.selectVariant(this.step,e.getId(),this.manager)}getDisplayType(){var e;return(e=this.step.option)==null?void 0:e.displayType}}class kt extends L{constructor(e,t){super(e,t)}selectVariant(e){const t=e.getResource();return _.selectVariant(this.step,{fill:t.color,stroke:t.color,variant:t},this.manager.getRegionElements(this.step.stepName)||[],this.manager)}setColor(e){return _.selectVariant(this.step,e,this.manager.getRegionElements(this.step.stepName)||[],this.manager)}getColors(){return _.availableColours(this.step)}setCustomColor(e){var t;if(((t=this.getCurrentVariant())==null?void 0:t.getColor())!=="#custom")throw new Error("Custom colors can only be set on a non-custom variant. Please add a custom variant to the step.");return _.setCustomColor(e,this.step,this.manager)}getCustomColor(){var t,A;const e=(t=this.manager.getStepStorage(this.step.stepName))==null?void 0:t.colour;if(((A=this.getCurrentVariant())==null?void 0:A.getColor())!=="#custom")throw new Error("Custom colors can only be set on a non-custom variant. Please add a custom variant to the step.");if(!e)throw new Error("Color not available on step. Set a default on the workflow to fix this.");return e}}class bt extends L{constructor(e,t){super(e,t)}async selectVariant(e){T.selectVariant(this.step,e.getResource(),this.manager,t=>{if(t)this.manager.setInformationResults([...this.manager.getInformationResults(),{message:"An issue has occured with test",messageType:ge.Error,stepID:this.step.stepName}]);else{const A=this.manager.getInformationResults().filter(a=>a.stepID!==this.step.stepName);this.manager.setInformationResults(A)}},()=>{})}getAvailableFillColors(){return this.step.data.colorPickerEnabled?T.availableFillColors(this.step):[]}async setFillColor(e){const t=this.manager.getRegionElements(this.step.stepName);await T.changeFillColor(this.step,e,t,this.manager)}getFillColor(){var e;return((e=this.manager.getStepStorage(this.step.stepName))==null?void 0:e.color)||"#000000"}getAvailableFillImages(){return T.availableFillImages(this.step)}async setFillImage(e){const t=this.manager.getRegionElements(this.step.stepName);await T.changeFillImage(this.step,e,t,this.manager)}getFillImage(){var e;return(e=this.manager.getStepStorage(this.step.stepName))==null?void 0:e.fillImage}setFullTextCustomization(e){var i;const t=((i=this.manager.getStepStorage(this.step.stepName))==null?void 0:i.inputText)||"",A=this.step.data.replaceableText!==void 0?this.step.data.replaceableText.replace("{{}}",t):t,a=e?A:this.step.data.defaultText;return this.manager.updateStorage(this.step.stepName,{customiseAllText:e,text:a,defaultCleared:!1}),this.setText(a)}setText(e){var w,E;const t={input:e},A=T.findLayoutElements(this.manager,this.step),a=T.filterUnsupportedCharacters(e,(w=A[0])==null?void 0:w.fontData);!!this.step.data&&!!this.step.data.maxLength&&a.length>this.step.data.maxLength||(t.input=a);const i=A.length<=0,o=i?{inputText:a,text:a}:{inputText:a};if(this.manager.updateStorage(this.step.stepName,o),this.manager.updateMetadata(this.step.stepName,{text:a}),i)return t;const{command:r,errors:g,helperText:c}=T.updateInputText(a,A,this.step,this.manager);r&&this.manager.getCommandDispatcher()(r);const d=this.manager.getInformationResults(),B=(E=g[0])==null?void 0:E.localizationKey;if(B)this.manager.setInformationResults([...d,{message:`${B} - ${this.step.stepTitle}`,messageType:ge.Error,stepID:this.step.stepName}]);else{const C=d.filter(h=>h.stepID!==this.step.stepName);this.manager.setInformationResults(C)}return t.helperText=B||c,t.errorText=B,t}getText(){var t;const e=this.step.data.defaultText;return((t=this.manager.getStepStorage(this.step.stepName))==null?void 0:t.text)||e||""}isReplaceable(){return this.step.data.userCanReplaceText}clearDefaultTextIfNecessary(){const e=this.manager.getStepStorage(this.step.stepName);if(!(e!=null&&e.defaultCleared)&&this.step.data.deleteDefaultOnFocus){const t=this.setText("");return this.manager.updateStorage(this.step.stepName,{defaultCleared:!0,inputText:""}),t}}hasVaryingText(){return this.step.data.varyText}hasVaryingColor(){return this.step.data.varyColor}hasVaryingSelection(){return this.step.data.varySelection}hasColorPicker(){return this.step.data.colorPickerEnabled}getRegions(){return this.step.data.regions}getCharacterLimit(){return this.step.data.maxLength}getCharactersRemaining(){const e=this.step.data.maxLength;if(e===void 0)return;const t=this.getText();return e-t.length}}class Jt extends L{constructor(e,t){super(e,t)}async selectVariant(){}getContent(){return this.step.data.content}}class le{static get(e,t){switch(t.type){case s.StepType.Information:return new Jt(e,t);case s.StepType.Question:return new Gt(e,t);case s.StepType.Text:return new bt(e,t);case s.StepType.Illustration:return new xt(e,t);case s.StepType.Picture:return new vt(e,t);case s.StepType.Shape:return new kt(e,t);case s.StepType.Material:return new Ht(e,t);case s.StepType.Model:return new Ut(e,t);case s.StepType.Frame:return new iA(e,t);case s.StepType.Bulk:return new Rt(e,t);default:throw new v(`Step type ${t.type} not yet supported in Core SDK`)}}}const Tt=y.gql`
2054
1867
  fragment CreateDesignTransaction on Transaction {
2055
1868
  id
2056
1869
  bulk
@@ -2067,8 +1880,8 @@ IfnI8vaNAAAAAElFTkSuQmCC" transform="matrix(0.13 0.0141 -0.0141 0.1301 104.926 1
2067
1880
  workflowViewerLink
2068
1881
  workflowViewerReadOnlyLink
2069
1882
  }
2070
- `,UO=ct`
2071
- ${KE}
1883
+ `,ra=y.gql`
1884
+ ${Tt}
2072
1885
  mutation CreateDesign(
2073
1886
  $name: String!
2074
1887
  $layouts: [LayoutInput]!
@@ -2099,8 +1912,8 @@ IfnI8vaNAAAAAElFTkSuQmCC" transform="matrix(0.13 0.0141 -0.0141 0.1301 104.926 1
2099
1912
  }
2100
1913
  }
2101
1914
  }
2102
- `,LO=ct`
2103
- ${KE}
1915
+ `,ca=y.gql`
1916
+ ${Tt}
2104
1917
  mutation CreateDesigns($inputs: [DesignCreateInput]!) {
2105
1918
  designCreateMany(inputs: $inputs) {
2106
1919
  id
@@ -2113,7 +1926,7 @@ IfnI8vaNAAAAAElFTkSuQmCC" transform="matrix(0.13 0.0141 -0.0141 0.1301 104.926 1
2113
1926
  }
2114
1927
  }
2115
1928
  }
2116
- `,YO=async e=>{var n;return(n=(await bt.getShadowGraphqlClient().mutate({mutation:UO,errorPolicy:"all",fetchPolicy:"no-cache",variables:{name:e.name,layouts:e.layouts,workflowId:e.workflowId,transactionId:e.transactionId,previewImage:e.previewImage,useThreeDimPreview:e.useThreeDimPreview,metadata:e.metadata,selectedVariants:e.selectedVariants}})).data)==null?void 0:n.designCreate},HO=async e=>{var n;return(n=(await bt.getShadowGraphqlClient().mutate({mutation:LO,errorPolicy:"all",fetchPolicy:"no-cache",variables:{inputs:e.map(r=>({name:r.name,layouts:r.layouts,workflowId:r.workflowId,transactionId:r.transactionId,previewImage:r.previewImage,useThreeDimPreview:r.useThreeDimPreview,metadata:r.metadata,selectedVariants:r.selectedVariants}))}})).data)==null?void 0:n.designCreateMany},L0=(e,t,n)=>{const r=a=>{const s={};if(a.type==="Frame"){const o=e[a.stepName],c=a.data;if(!o||c.hideImageInCart&&n)return s;s[`${a.stepTitle} image`]=o.image}if(a.type==="Illustration"){const o=e[a.stepName],c=a.data;if(!o||c.hideColorsInCart&&n||!o.colors)return s;if(o.colors.length>0){const l=o.colors.join(", ").toUpperCase();s[`${a.stepTitle} colors`]=l}}if(a.type==="Module"){const o=e[a.stepName],c=a.data;if(!o||c.hideTextInCart&&n)return s;s[`${a.stepTitle} text`]=o.text}if(a.type==="Text"){const o=e[a.stepName];if(!o)return s;const c=a.data;(!c.hideTextInCart||!n)&&(s[`${a.stepTitle} text`]=o.text),o.color&&(!c.hideColorInCart||!n)&&(s[`${a.stepTitle} color`]=o.color)}return s},i={};return t.steps.forEach(a=>{Object.assign(i,r(a))}),i},GO=(e,t,n,r)=>{const i={};let a;if(n){a=L0(n,t,!1);for(const s of Object.keys(a))i[s]={value:a[s],priceModifier:0}}else if(r){a=r;for(const s of Object.keys(a))i[s]={value:a[s],priceModifier:0}}for(const s of Object.keys(e)){const o=e[s],c=t.steps.find(l=>l.stepTitle===s);if(o.length===1)i[`${c==null?void 0:c.stepTitle} selection`]={value:o[0].name,priceModifier:o[0].priceModifier};else if(o.length>1)for(let l=0;l<o.length;l++)i[`${c==null?void 0:c.stepTitle} selection ${l+1}`]={value:o[l].name,priceModifier:o[l].priceModifier}}return i},XE=(e,t,n,r,i,a,s,o,c,l)=>{const A=(vt.getMap("transactionOwnerIds")||new Map).get(e.id),h={baseCost:n,designProductId:e.externalDesignProductId,designProductVariantId:e.externalDesignProductVariantId,event:"onComplete",exportedData:a,externalCartProductId:e.externalCartProductId,externalCartProductVariantId:e.externalCartProductVariantId,lineItemImageUrl:s||"",optionsCost:r,processExecutionId:l,transactionId:e.id,transactionOwnerId:A,weight:t.weight,workflowViewerLink:e.workflowViewerLink||"",workflowViewerReadOnlyLink:e.workflowViewerReadOnlyLink||""};return i&&(h.metadata=i),o&&(h.selectedVariants=o),c&&(h.sku=c),h},VO=(e,t,n,r)=>{const i=(t.basePrice||0)*(e.variationsCount||0),a=e.priceModifierTotal||0,s={items:{value:e.variationsCount?`${e.variationsCount}`:"0",priceModifier:0}};return XE(e,t,i,a,void 0,s,n,void 0,void 0,r)},_E=async(e,t,n,r,i,a,s,o)=>{const c=t.basePrice||0,l=e.priceModifierTotal||0,u=GO(r,n,void 0,a);return XE(e,t,c,l,a,u,s,r,i,o)},qE=async(e,t,n,r,i,a,s,o,c,l)=>{var D;await(async()=>{var U;if(l!==void 0)return l;await e.outstandingRequestsPromise();const P=await bt.getShadowGraphqlClient().query({query:uv,variables:{ids:[i.id]},fetchPolicy:"no-cache",errorPolicy:"all"}),L=(U=P.data)==null?void 0:U.transactions[0].workflowState;return P.errors?(P.errors.forEach(z=>{P.errors&&console.log("Server Error:",z.message)}),null):L??null})()||(console.warn("State mismatch detected. Uploading known state explicitly"),console.warn("State Object:",JSON.stringify(r())),await e.updateStateWithServerImmediate(r),console.log("Server state is undefined @ Workflow completion"));const h=e.getPreviewService(),f=(D=t==null?void 0:t.finalizeStepConfig)==null?void 0:D.lookAtAnimation,d=h&&h.getSceneInitializationProgress()===100&&t.showModelOnFinishStep&&!!f,p=c&&L0(c,t,!0),m=c&&L0(c,t,!1),y=async T=>{const P={};let L=0;if(Object.keys(a).length>0)for(const U of Object.keys(a)){const z=a[U],J=t.steps.find(W=>W.stepName===U);for(let W=0;W<z.selections.length;++W){const Z=z.selections[W];if(J&&(!T||J.option&&(J.option.variants||[]).length>1&&!J.data.hideSelectionInCart&&!J.data.hideSelectionsInCart)){const ot=J.stepTitle;P[ot]?P[ot].push({id:Z.id||"",name:Z.name,priceModifier:Z.priceModifier}):P[ot]=[{id:Z.id||"",name:Z.name,priceModifier:Z.priceModifier}]}L+=Z.priceModifier}}return[P,L]},[v]=await y(!0),w=Object.fromEntries(Object.keys(v).map(T=>[T,v[T].map(P=>P.id)])),[B]=await y(!1),C=Object.fromEntries(Object.keys(B).map(T=>[T,B[T].map(P=>P.id)])),x=await o(d);return{designDetails:(()=>{const T={name:s,layouts:n.map(P=>({index:P.index,panelId:P.panelId})),workflowId:t.id,transactionId:i.id,useThreeDimPreview:!!d,previewImage:x};if(m){const P=[];for(const[L,U]of Object.entries(m))P.push({key:L,value:U});T.metadata=P}if(w){const P=[];for(const[L,U]of Object.entries(C))P.push({key:L,ids:U});T.selectedVariants=P}return T})(),cartSelectionsWithPrices:v,cartMetadata:p}},ZE=async(e,t,n,r,i,a,s,o,c,l,u,A,h)=>{var w,B,C;c("workflow.steps.finish.finalize.buildingLayouts");const{designDetails:f,cartSelectionsWithPrices:d,cartMetadata:p}=await qE(e,t,n,r,a,s,o,A,h);c("workflow.steps.finish.finalize.creatingDesign"),a.bulk&&await l(u);const m=await YO(f),y=(w=m==null?void 0:m.transaction)==null?void 0:w.previewImageLink;if(!(m!=null&&m.transaction))throw new Error("Failed to create design");c("workflow.steps.finish.finalize.updatingTransaction");const v=m.transaction;return a.bulk?VO(v,i,y,(B=m==null?void 0:m.processExecution)==null?void 0:B.id):await _E(v,i,t,d,m==null?void 0:m.sku,p,y,(C=m==null?void 0:m.processExecution)==null?void 0:C.id)},zO=async(e,t)=>{t("workflow.steps.finish.finalize.buildingLayouts"),await Promise.all(e.map(async s=>{await s.workflowManager.outstandingRequestsPromise()}));const r=await(async()=>{var c;const o=await bt.getShadowGraphqlClient().query({query:uv,variables:{ids:e.map(l=>l.transaction.id)},fetchPolicy:"no-cache",errorPolicy:"all"});return o.errors?(o.errors.forEach(l=>{o.errors&&console.log("Server Error:",l.message)}),null):(c=o.data)!=null&&c.transactions?o.data.transactions.map(l=>l.workflowState??null):null})(),i=await Promise.all(e.map(async(s,o)=>await qE(s.workflowManager,s.workflow,s.layouts,s.getReducerState,s.transaction,s.workflowSelections,s.designName,()=>Promise.resolve(void 0),s.workflowMetadata,r?r[o]:void 0)));t("workflow.steps.finish.finalize.creatingDesign");const a=await HO(i.map(s=>s.designDetails));if(!a)throw new Error("Failed to create designs");return t("workflow.steps.finish.finalize.updatingTransaction"),Promise.all(a.map(async(s,o)=>{var A;const c=e[o],l=i[o],u=s.transaction;return await _E(u,c.product,c.workflow,l.cartSelectionsWithPrices,s.sku,l.cartMetadata,void 0,(A=s.processExecution)==null?void 0:A.id)}))};class JO{constructor(){this.localPersistenceKey="designTransactions",this.storageMethod="Local",this.designSavedListeners=[]}attachSaveListener(t){this.designSavedListeners.push(t)}detachSaveListener(t){this.designSavedListeners=this.designSavedListeners.filter(n=>n!==t)}async getSavedDesigns(){if(this.storageMethod==="Local"){const t=vt.get(this.localPersistenceKey);return t?JSON.parse(t):[]}throw new ge("Unexpected storage method requested")}async getSavedDesignByTransaction(t){return(await this.getSavedDesigns()).find(r=>r.transactionId===t)}async addDesign(t){const r=(await this.getSavedDesigns()).filter(i=>i.transactionId!==t.transactionId);r.unshift(t),await this.setDesigns(r),this.designSavedListeners.forEach(i=>i(t))}async renameDesign(t,n){const r=await this.getSavedDesigns(),i=r.find(a=>a.transactionId===t);if(!i)throw new Error(`No saved design for transaction ${t}.`);i.title=n,await this.setDesigns(r)}async removeDesign(t){const n=await this.getSavedDesigns();await this.setDesigns(n.filter(r=>r.transactionId!==t))}async setDesigns(t){if(this.storageMethod==="Local"){vt.set(this.localPersistenceKey,JSON.stringify(t));return}throw new ge("Unexpected storage method requested")}}const Mu=new JO;class Go{constructor(t,n){var i;if(this.renderableScenes=[],this.renderableSceneCallbacks=[],this.debouncedSavedDesignUpdate=Wv(async()=>{await Mu.getSavedDesignByTransaction(this.getWorkflowManager().getTransaction().id)&&this.save()},2500),this.getCanvasObjectURLAsync=async a=>new Promise((s,o)=>{try{a.toBlob(c=>{if(c){const l=URL.createObjectURL(c);s(l)}})}catch(c){o(c)}}),!n.workflow)throw new Error("No Workflow ID provided.");this.client=t;const r=n.layouts;this.commandContext=new Ym,this.commandContext.initialize(r,n.reloadedState),this.isReadOnly=n.transaction.isOrdered||!!n.readOnly,this.workflowManager=new RO(n.workflow,((i=n.product.profanities)==null?void 0:i.map(a=>a.word))||[],r,this.commandContext,a=>{try{this.debouncedSavedDesignUpdate()}catch{console.error("Failed to update saved design details.")}return n.stateMutationFunc(a)},n.transaction,n.product,n.previewService,n.renderableContextService,n.reloadedState,n.readOnly,n.modelContainer,n.isReloadedTransaction),this.workflowManager.addSelectionCallback(a=>{const s=a.traversableScenes.map(o=>{const c=o.renderableSteps.map(l=>l.stepName);return{id:o.name,title:o.title,renderableSteps:c}});this.renderableScenes=s,this.renderableSceneCallbacks.forEach(o=>o(s))})}getClient(){return this.client}getIsReadOnly(){return this.isReadOnly}getCommandContext(){return this.commandContext}getWorkflowManager(){return this.workflowManager}async updateVariationRecords(t){await bt.getShadowGraphqlClient().mutate({mutation:tP,variables:{transactionId:this.workflowManager.getTransaction().id,updates:t.map(n=>({recordNumber:n.recordNumber,values:n.values.map(r=>({aspect:r.aspect,stepName:r.stepName,value:r.value}))}))}})}async createPreviewImage(t,n){var v,w;const r=this.workflowManager.getWorkflow(),i=(v=r==null?void 0:r.finalizeStepConfig)==null?void 0:v.lookAtAnimation;if(t){if(!i)throw new Error("Failed to generate cart preview image!");return await((w=this.workflowManager.getPreviewService())==null?void 0:w.renderSceneScreenshot(512,i))||""}let a=2048;n&&n<=2048&&(a=n);const s=ii(a,a),o=this.commandContext.getAllLayouts(),c=r.defaultPreviewPanelIndex||0,l=r.panels[c],u=o.find(B=>{var C;return((C=B.layoutState)==null?void 0:C.layout.panelId)===(l==null?void 0:l.name)})||o[0],A=u.layoutState.layout.previewRegion?{x:u.layoutState.layout.previewRegion.left,y:u.layoutState.layout.previewRegion.top,width:u.layoutState.layout.previewRegion.width,height:u.layoutState.layout.previewRegion.height}:{x:0,y:0,width:u.layoutState.layout.width,height:u.layoutState.layout.height},h=this.commandContext.getLayoutById(u.layoutState.layout.id),f=s.getContext("2d");if(!f)throw new ru("Failed to obtain 2D context for preview image creation");const d=Rl(h.layoutState.layout,h.layoutState.elements,{renderingConfiguration:{purpose:Ms.Print,region:{left:A.x,top:A.y,width:A.width,height:A.height}}}),p=bm(d);await(await ji.from(f,p,{anonymousCrossOrigin:!0,ignoreDimensions:!1,createCanvas:ii,createImage:Zs,DOMParser:ef(),fetch:Ma})).render();const y=await this.getCanvasObjectURLAsync(s);return s.toDataURL(y)}getStepById(t){const n=this.getWorkflowManager().getWorkflow().steps.find(r=>r.stepName===t);if(!(!n||!this.stepHasHandle(n)))return Ho.get(this.getWorkflowManager(),n)}getSteps(){return this.getScenes().flatMap(t=>this.getStepsByScene(t))}getScenes(){return this.getWorkflowManager().getWorkflow().stepGroups.map(n=>({id:n.id,name:n.name,stepIds:n.stepNames}))}getSelectionPriceSubunits(){const t=this.getWorkflowManager().getWorkflowSelections();let n=0;return Object.values(t).forEach(r=>{n+=r.selections.map(i=>i.priceModifier).reduce((i,a)=>i+a)}),n}getBasePriceSubunits(){return this.getWorkflowManager().getProduct().basePrice||0}getTotalPriceSubunits(){return this.getBasePriceSubunits()+this.getSelectionPriceSubunits()}getBulkStep(){if(this.getWorkflowManager().getTransaction().bulk){const t=this.getWorkflowManager().getProduct().bulkConfiguration,n={type:j.Bulk,stepName:"Bulk",stepTitle:(t==null?void 0:t.stepTitle)??"workflow.steps.bulk.title",helpText:t==null?void 0:t.helpText,data:{aspects:a0(this.getWorkflowManager().getWorkflow())},conditions:[]};return Ho.get(this.getWorkflowManager(),n)}}getStepByName(t){const n=this.getWorkflowManager().getWorkflow().steps.find(r=>r.stepTitle===t);if(!(!n||!this.stepHasHandle(n)))return Ho.get(this.getWorkflowManager(),n)}getStepsByType(t){return this.getWorkflowManager().getWorkflow().steps.filter(n=>n.type===t).map(n=>Ho.get(this.getWorkflowManager(),n))}getStepsByScene(t){if(!this.getWorkflowManager().getWorkflow().stepGroups.find(r=>r.name===t.name))throw new Error("Given scene is not present on workflow! Be careful when persisting scenes that you only use them with the relevant workflow.");return t.stepIds.map(r=>this.getWorkflowManager().getWorkflow().steps.find(i=>i.stepName===r)).filter(r=>this.stepHasHandle(r)).map(r=>Ho.get(this.getWorkflowManager(),r))}async attachCustomerDetails(t){return this.assignCustomerDetails({emailAddress:t.email})}async assignCustomerDetails(t){var i,a,s;const r=(s=(a=(i=(await bt.getShadowGraphqlClient().mutate({mutation:UE,variables:{id:this.getWorkflowManager().getTransaction().id,details:t,type:"Owner"}})).data)==null?void 0:i.transactionAddStakeholder)==null?void 0:a.stakeholders)==null?void 0:s.find(o=>{var c;return((c=o.customer)==null?void 0:c.emailAddress)===t.emailAddress});if(r!=null&&r.customer){this.getWorkflowManager().setTransactionCustomer(r.customer);const o=vt.getMap("transactionCustomerIds")||new Map;o.set(this.getWorkflowManager().getTransaction().id,r.customer.id),vt.setMap("transactionCustomerIds",o)}}attachRenderableSceneListener(t){this.renderableSceneCallbacks.push(t),t(this.renderableScenes)}detachRenderableSceneListener(t){this.renderableSceneCallbacks=this.renderableSceneCallbacks.filter(n=>n!==t)}async save(t){if(!this.getCommandContext().getState())throw new ge("State undefined!");const i={title:await(async()=>{var c;if(t)return t;const a=this.getWorkflowManager().getTransaction().id,o=(c=(await Mu.getSavedDesigns()).find(l=>l.transactionId===a))==null?void 0:c.title;return o||"My design"})(),thumbnail:await this.createPreviewImage(!1,256),transactionId:this.getWorkflowManager().getTransaction().id,productId:this.getWorkflowManager().getProduct().id,integrationProductId:this.getWorkflowManager().getTransaction().integrationProduct.id,workflowName:this.getWorkflowManager().getWorkflow().name,workflowId:this.getWorkflowManager().getWorkflow().id,lastEdited:new Date};return await Mu.addDesign(i),i}async copy(){var o;const t=To(this.getCommandContext().getState());if(!t)throw new ge("Internal state is undefined! Cannot copy experience!");const n=JSON.stringify(t.transaction),r=this.getWorkflowManager().getWorkflow(),i=new lB({}),a=(o=this.getWorkflowManager().getTransaction().integrationProduct)==null?void 0:o.id;if(!a)throw new ge("Integration product id is undefined!");return await i.initFromIntegrationProduct(a),await i.getWorkflowExperience(r.id,n,void 0)}async onDesignFinished(t,n=!0){return ZE(this.workflowManager,this.workflowManager.getWorkflow(),this.workflowManager.getLayouts(),()=>this.commandContext.getState(),this.workflowManager.getProduct(),this.workflowManager.getTransaction(),this.workflowManager.getWorkflowSelections(),this.workflowManager.getWorkflow().name,t||(()=>{}),r=>this.updateVariationRecords(r),this.workflowManager.getVariationRecords(),r=>n?this.createPreviewImage(r):Promise.resolve(void 0),this.workflowManager.getWorkflowMetadata())}stepHasHandle(t){return t.type!==j.SilentIllustration&&t.type!==j.ProductOverlay}getExportedData(){var i;const t=new Map,n=this.getWorkflowManager().getWorkflowMetadata(),r=this.getWorkflowManager().getWorkflowSelections();return Object.keys(n).forEach(a=>{const s=this.workflowManager.getWorkflow().steps.find(c=>c.stepName===a);if(!s)return;t.has(s.stepTitle)||t.set(s.stepTitle,{});const o=n[a];Object.keys(o).forEach(c=>{t.get(s.stepTitle)[c]=o[c]})}),(i=Object.keys(r))==null||i.forEach(a=>{const s=this.workflowManager.getWorkflow().steps.find(o=>o.stepName===a);s&&(t.has(s.stepTitle)||t.set(s.stepTitle,{}),t.get(s.stepTitle).selection=r[a].selections[0].name)}),t}}const jO=["altGlyph","circle","ellipse","path","polygon","polyline","rect","text","textPath","tref","tspan"],WO=async(e,t,n)=>{const r=t.data,i=n.data.baseUrl,a=r.assetUrl.replace("localhost","localstack"),s=i.slice(0,4)==="http"?"":"https://",o=new URL(s+i);o.searchParams.append("video",Dm(JSON.stringify([{href:a}]))),o.pathname=o.pathname+(o.pathname.slice(-1)==="/"?"":"/");const c=o.toString(),u=`data:image/svg+xml;base64,${Dm(await mE(c,{type:"svg"}))}`,A=f=>{const d=e.find(m=>m.panelId===f.panelId);if(!d)throw new ke(f);const p=Dt();return new ve({id:p,src:u,type:Et.Image,y:f.top,x:f.left,width:f.width,height:f.height,rotation:0},d)},h=n.data.regions;try{return h.map(A)}catch(f){return console.error(f),[]}},KO=async(e,t,n,r)=>{const i=n.data,a=i.assetUrl,s=await bf(a);try{const o=r8(i,r.option);o&&(t[r.stepName]={selectedVariants:[o]});const c=async l=>{var p;const u=await ow(l||{width:1,height:1},(p=o==null?void 0:o.asset)==null?void 0:p.fileLink),A=await ao(u),h=Dt(),f=e.find(m=>m.panelId===l.panelId);if(!f)throw new ke(l);const d=xf(s,A,{scale:i.scale,left:i.x,top:i.y});return[new ve({id:h,path:A.path,dataWidth:A.width,dataHeight:A.height,type:Et.Frame,focalBlur:r.data.focalBlur,focalBlurStrength:r.data.focalBlurStrength,focalBlurRadius:r.data.focalBlurRadius,forceImageCover:r.data.forceImageCover,x:l.left,y:l.top,width:l.width,height:l.height,layer:l.layer,layerIndex:l.layerIndex,rotation:l.rotation,scaleX:l.width/A.width,scaleY:l.height/A.height,pattern:void 0},f),new zm(h,s,d)]};return(await Promise.all(r.data.regions.map(l=>c(l)))).flat()}catch(o){return console.error(o),[]}},XO=async(e,t,n,r)=>{var C,x;const i=n.data,a=r.option;if(!a)return console.error(`No option for step ${r.stepName}.`),[];const s=((C=a.variants)==null?void 0:C.find(b=>b.id===i.illustrationVariantId))||io(a);if(!s)return console.error(`No variant with ID: ${i.illustrationVariantId}`),[];if(!s.asset)return console.error(`No asset for variant with ID: ${i.illustrationVariantId}`),[];t[r.stepName]={selectedVariants:[s]};const o=(x=s.asset)==null?void 0:x.fileLink;if(!o)return console.error(`No asset link for variant with ID: ${i.illustrationVariantId}`),[];const c=await Ln(o),l=/<svg.*?<\/svg>/s,u=c.match(l)||[],A=(u==null?void 0:u.length)>0?u[0]:"",d=ti().parseFromString(A,"image/svg+xml").firstElementChild;if(!d)return console.error("Failed to read SVG."),[];Jh(d);const p={};Ta(d,b=>{jO.includes(b.tagName)&&!b.attributes.getNamedItem("fill")&&b.setAttribute("fill","#000000");const D=b.attributes.getNamedItem("fill");if(D&&D.value!=="none"){const P=D.value,U=`spiff-fill-${P.replace(/\W/g,"")}`;b.classList.add(U),p[U]={browserValue:P}}const T=b.attributes.getNamedItem("stroke");if(T&&T.value!=="none"){const P=T.value,U=`spiff-stroke-${P.replace(/\W/g,"")}`;b.classList.add(U),p[U]={browserValue:P}}});const y=Tl().serializeToString(d),v=i.colors;if(v){for(const[b,D]of Object.entries(p))for(const T of Object.keys(v))if(D.browserValue===T){p[b]={browserValue:v[T]};break}}const w=b=>{const D=e.find(P=>P.panelId===b.panelId);if(!D)throw new ke(b);const T=Dt();return new ve({colors:p,id:T,svg:y,type:Et.Illustration,y:b.top,x:b.left,rotation:b.rotation,width:b.width,height:b.height,layer:b.layer,layerIndex:b.layerIndex,immutable:b.immutable},D)},B=r.data.regions;try{return B.map(w)}catch(b){return console.error(b),[]}},_O=async(e,t,n)=>{const r=await kE(n.data.module),i=t.data,a=(o,c)=>{const l=e.find(A=>A.panelId===c.panelId);if(!l)throw new ke(c);const u=Dt();return new ve({colors:{},id:u,svg:o,type:Et.Illustration,y:c.top,x:c.left,rotation:c.rotation,width:c.width,height:c.height,layer:c.layer,layerIndex:c.layerIndex},l)},s=n.data.regions;try{return s.map(o=>a(r.svgPrint(i.text,o),o))}catch(o){return console.error(o),[]}},qO=async(e,t,n,r)=>{var u,A;const i=n.data,a=r.option;if(!a)return console.error(`No option for step ${r.stepName}.`),[];const s=((u=a.variants)==null?void 0:u.find(h=>h.id===i.pictureVariantId))||io(a);if(!s)return console.error(`No variant with ID: ${i.pictureVariantId}`),[];if(!s.asset)return console.error(`No asset for variant with ID: ${i.pictureVariantId}`),[];t[r.stepName]={selectedVariants:[s]};const o=(A=s.asset)==null?void 0:A.fileLink;if(!o)return console.error(`No asset link for variant with ID: ${i.pictureVariantId}`),[];const c=h=>{const f=e.find(p=>p.panelId===h.panelId);if(!f)throw new ke(h);const d=Dt();return new ve({id:d,src:o,type:Et.Image,y:h.top,x:h.left,rotation:h.rotation,width:h.width,height:h.height,layer:h.layer,layerIndex:h.layerIndex,immutable:h.immutable,preserveAspectRatio:"none"},f)},l=r.data.regions;try{return l.map(c)}catch(h){return console.error(h),[]}},ZO=async(e,t,n,r)=>{var l;const i=n.data,a=r.option;if(!a)return console.error(`No option for step ${r.stepName}.`),[];const s=((l=a.variants)==null?void 0:l.find(u=>u.id===i.colorVariantId))||io(a);if(!s)return console.error(`No variant with ID: ${i.colorVariantId}`),[];t[r.stepName]={selectedVariants:[s]};const o=u=>{const A=e.find(m=>m.panelId===u.panelId);if(!A)throw new ke(u);const h=`
1929
+ `,ga=async l=>{var t;return(t=(await R.getShadowGraphqlClient().mutate({mutation:ra,errorPolicy:"all",fetchPolicy:"no-cache",variables:{name:l.name,layouts:l.layouts,workflowId:l.workflowId,transactionId:l.transactionId,previewImage:l.previewImage,useThreeDimPreview:l.useThreeDimPreview,metadata:l.metadata,selectedVariants:l.selectedVariants}})).data)==null?void 0:t.designCreate},la=async l=>{var t;return(t=(await R.getShadowGraphqlClient().mutate({mutation:ca,errorPolicy:"all",fetchPolicy:"no-cache",variables:{inputs:l.map(A=>({name:A.name,layouts:A.layouts,workflowId:A.workflowId,transactionId:A.transactionId,previewImage:A.previewImage,useThreeDimPreview:A.useThreeDimPreview,metadata:A.metadata,selectedVariants:A.selectedVariants}))}})).data)==null?void 0:t.designCreateMany},ze=(l,e,t)=>{const A=n=>{const i={};if(n.type==="Frame"){const o=l[n.stepName],r=n.data;if(!o||!o.image||r.hideImageInCart&&t)return i;i[`${n.stepTitle} image`]=o.image}if(n.type==="Illustration"){const o=l[n.stepName],r=n.data;if(!o||r.hideColorsInCart&&t||!o.colors)return i;if(o.colors.length>0){const g=o.colors.join(", ").toUpperCase();i[`${n.stepTitle} colors`]=g}}if(n.type==="Module"){const o=l[n.stepName],r=n.data;if(!o||o.text===void 0||o.text===null||r.hideTextInCart&&t)return i;i[`${n.stepTitle} text`]=o.text}if(n.type==="Text"){const o=l[n.stepName];if(!o)return i;const r=n.data;(!r.hideTextInCart||!t&&o.text!==void 0&&o.text!==null)&&(i[`${n.stepTitle} text`]=o.text),o.color&&(!r.hideColorInCart||!t)&&(i[`${n.stepTitle} color`]=o.color)}return i},a={};return e.steps.forEach(n=>{Object.assign(a,A(n))}),a},Ba=(l,e,t,A)=>{const a={};let n;if(t){n=ze(t,e,!1);for(const i of Object.keys(n))a[i]={value:n[i],priceModifier:0}}else if(A){n=A;for(const i of Object.keys(n))a[i]={value:n[i],priceModifier:0}}for(const i of Object.keys(l)){const o=l[i],r=e.steps.find(g=>g.stepTitle===i);if(o.length===1)a[`${r==null?void 0:r.stepTitle} selection`]={value:o[0].name,priceModifier:o[0].priceModifier};else if(o.length>1)for(let g=0;g<o.length;g++)a[`${r==null?void 0:r.stepTitle} selection ${g+1}`]={value:o[g].name,priceModifier:o[g].priceModifier}}return a},Lt=(l,e,t,A,a,n,i,o,r,g)=>{const d=(P.getMap("transactionOwnerIds")||new Map).get(l.id),B={baseCost:t,designProductId:l.externalDesignProductId,designProductVariantId:l.externalDesignProductVariantId,event:"onComplete",exportedData:n,externalCartProductId:l.externalCartProductId,externalCartProductVariantId:l.externalCartProductVariantId,lineItemImageUrl:i||"",optionsCost:A,processExecutionId:g,transactionId:l.id,transactionOwnerId:d,weight:e.weight,workflowViewerLink:l.workflowViewerLink||"",workflowViewerReadOnlyLink:l.workflowViewerReadOnlyLink||""};return a&&(B.metadata=a),o&&(B.selectedVariants=o),r&&(B.sku=r),B},da=(l,e,t,A)=>{const a=(e.basePrice||0)*(l.variationsCount||0),n=l.priceModifierTotal||0,i={items:{value:l.variationsCount?`${l.variationsCount}`:"0",priceModifier:0}};return Lt(l,e,a,n,void 0,i,t,void 0,void 0,A)},Ot=async(l,e,t,A,a,n,i,o)=>{const r=e.basePrice||0,g=l.priceModifierTotal||0,c=Ba(A,t,void 0,n);return Lt(l,e,r,g,n,c,i,A,a,o)},zt=async(l,e,t,A,a,n,i,o,r,g)=>{var F;await(async()=>{var N;if(g!==void 0)return g;await l.outstandingRequestsPromise();const Y=await R.getShadowGraphqlClient().query({query:wt,variables:{ids:[a.id]},fetchPolicy:"no-cache",errorPolicy:"all"}),x=(N=Y.data)==null?void 0:N.transactions[0].workflowState;return Y.errors?(Y.errors.forEach(G=>{Y.errors&&console.log("Server Error:",G.message)}),null):x??null})()||(console.warn("State mismatch detected. Uploading known state explicitly"),console.warn("State Object:",JSON.stringify(A())),await l.updateStateWithServerImmediate(A),console.log("Server state is undefined @ Workflow completion"));const B=l.getPreviewService(),w=(F=e==null?void 0:e.finalizeStepConfig)==null?void 0:F.lookAtAnimation,E=B&&B.getSceneInitializationProgress()===100&&e.showModelOnFinishStep&&!!w,C=r&&ze(r,e,!0),h=r&&ze(r,e,!1),Q=async S=>{const Y={};let x=0;if(Object.keys(n).length>0)for(const N of Object.keys(n)){const G=n[N],j=e.steps.find(K=>K.stepName===N);for(let K=0;K<G.selections.length;++K){const V=G.selections[K];if(j&&(!S||j.option&&(j.option.variants||[]).length>1&&!j.data.hideSelectionInCart&&!j.data.hideSelectionsInCart)){const We=j.stepTitle;Y[We]?Y[We].push({id:V.id||"",name:V.name,priceModifier:V.priceModifier}):Y[We]=[{id:V.id||"",name:V.name,priceModifier:V.priceModifier}]}x+=V.priceModifier}}return[Y,x]},[u]=await Q(!0),D=Object.fromEntries(Object.keys(u).map(S=>[S,u[S].map(Y=>Y.id)])),[I]=await Q(!1),f=Object.fromEntries(Object.keys(I).map(S=>[S,I[S].map(Y=>Y.id)])),M=await o(E);return{designDetails:(()=>{const S={name:i,layouts:t.map(Y=>({index:Y.index,panelId:Y.panelId})),workflowId:e.id,transactionId:a.id,useThreeDimPreview:!!E,previewImage:M};if(h){const Y=[];for(const[x,N]of Object.entries(h))Y.push({key:x,value:N});S.metadata=Y}if(D){const Y=[];for(const[x,N]of Object.entries(f))Y.push({key:x,ids:N});S.selectedVariants=Y}return S})(),cartSelectionsWithPrices:u,cartMetadata:C}},jt=async(l,e,t,A,a,n,i,o,r,g,c,d,B)=>{var D,I,f;r("workflow.steps.finish.finalize.buildingLayouts");const{designDetails:w,cartSelectionsWithPrices:E,cartMetadata:C}=await zt(l,e,t,A,n,i,o,d,B);r("workflow.steps.finish.finalize.creatingDesign"),n.bulk&&await g(c);const h=await ga(w),Q=(D=h==null?void 0:h.transaction)==null?void 0:D.previewImageLink;if(!(h!=null&&h.transaction))throw new Error("Failed to create design");r("workflow.steps.finish.finalize.updatingTransaction");const u=h.transaction;return n.bulk?da(u,a,Q,(I=h==null?void 0:h.processExecution)==null?void 0:I.id):await Ot(u,a,e,E,h==null?void 0:h.sku,C,Q,(f=h==null?void 0:h.processExecution)==null?void 0:f.id)},wa=async(l,e)=>{e("workflow.steps.finish.finalize.buildingLayouts"),await Promise.all(l.map(async i=>{await i.workflowManager.outstandingRequestsPromise()}));const A=await(async()=>{var r;const o=await R.getShadowGraphqlClient().query({query:wt,variables:{ids:l.map(g=>g.transaction.id)},fetchPolicy:"no-cache",errorPolicy:"all"});return o.errors?(o.errors.forEach(g=>{o.errors&&console.log("Server Error:",g.message)}),null):(r=o.data)!=null&&r.transactions?o.data.transactions.map(g=>g.workflowState??null):null})(),a=await Promise.all(l.map(async(i,o)=>await zt(i.workflowManager,i.workflow,i.layouts,i.getReducerState,i.transaction,i.workflowSelections,i.designName,()=>Promise.resolve(void 0),i.workflowMetadata,A?A[o]:void 0)));e("workflow.steps.finish.finalize.creatingDesign");const n=await la(a.map(i=>i.designDetails));if(!n)throw new Error("Failed to create designs");return e("workflow.steps.finish.finalize.updatingTransaction"),Promise.all(n.map(async(i,o)=>{var d;const r=l[o],g=a[o],c=i.transaction;return await Ot(c,r.product,r.workflow,g.cartSelectionsWithPrices,i.sku,g.cartMetadata,void 0,(d=i.processExecution)==null?void 0:d.id)}))};class Ea{constructor(){this.localPersistenceKey="designTransactions",this.storageMethod="Local",this.designSavedListeners=[]}attachSaveListener(e){this.designSavedListeners.push(e)}detachSaveListener(e){this.designSavedListeners=this.designSavedListeners.filter(t=>t!==e)}async getSavedDesigns(){if(this.storageMethod==="Local"){const e=P.get(this.localPersistenceKey);return e?JSON.parse(e):[]}throw new v("Unexpected storage method requested")}async getSavedDesignByTransaction(e){return(await this.getSavedDesigns()).find(A=>A.transactionId===e)}async addDesign(e){const A=(await this.getSavedDesigns()).filter(a=>a.transactionId!==e.transactionId);A.unshift(e),await this.setDesigns(A),this.designSavedListeners.forEach(a=>a(e))}async renameDesign(e,t){const A=await this.getSavedDesigns(),a=A.find(n=>n.transactionId===e);if(!a)throw new Error(`No saved design for transaction ${e}.`);a.title=t,await this.setDesigns(A)}async removeDesign(e){const t=await this.getSavedDesigns();await this.setDesigns(t.filter(A=>A.transactionId!==e))}async setDesigns(e){if(this.storageMethod==="Local"){P.set(this.localPersistenceKey,JSON.stringify(e));return}throw new v("Unexpected storage method requested")}}const fe=new Ea;class Be{constructor(e,t){var a;if(this.renderableScenes=[],this.renderableSceneCallbacks=[],this.debouncedSavedDesignUpdate=Ze(async()=>{await fe.getSavedDesignByTransaction(this.getWorkflowManager().getTransaction().id)&&this.save()},2500),this.getCanvasObjectURLAsync=async n=>new Promise((i,o)=>{try{n.toBlob(r=>{if(r){const g=URL.createObjectURL(r);i(g)}})}catch(r){o(r)}}),!t.workflow)throw new Error("No Workflow ID provided.");this.client=e;const A=t.layouts;this.commandContext=new s.CommandContext,this.commandContext.initialize(A,t.reloadedState),this.isReadOnly=t.transaction.isOrdered||!!t.readOnly,this.workflowManager=new oa(t.workflow,((a=t.product.profanities)==null?void 0:a.map(n=>n.word))||[],A,this.commandContext,n=>{try{this.debouncedSavedDesignUpdate()}catch{console.error("Failed to update saved design details.")}return t.stateMutationFunc(n)},t.transaction,t.product,t.previewService,t.renderableContextService,t.reloadedState,t.readOnly,t.modelContainer,t.isReloadedTransaction),this.workflowManager.addSelectionCallback(n=>{const i=n.traversableScenes.map(o=>{const r=o.renderableSteps.map(g=>g.stepName);return{id:o.name,title:o.title,renderableSteps:r}});this.renderableScenes=i,this.renderableSceneCallbacks.forEach(o=>o(i))})}getClient(){return this.client}getIsReadOnly(){return this.isReadOnly}getCommandContext(){return this.commandContext}getWorkflowManager(){return this.workflowManager}async updateVariationRecords(e){await R.getShadowGraphqlClient().mutate({mutation:PA,variables:{transactionId:this.workflowManager.getTransaction().id,updates:e.map(t=>({recordNumber:t.recordNumber,values:t.values.map(A=>({aspect:A.aspect,stepName:A.stepName,value:A.value}))}))}})}async createPreviewImage(e,t){var u,D;const A=this.workflowManager.getWorkflow(),a=(u=A==null?void 0:A.finalizeStepConfig)==null?void 0:u.lookAtAnimation;if(e){if(!a)throw new Error("Failed to generate cart preview image!");return await((D=this.workflowManager.getPreviewService())==null?void 0:D.renderSceneScreenshot(512,a))||""}let n=2048;t&&t<=2048&&(n=t);const i=s.createCanvas(n,n),o=this.commandContext.getAllLayouts(),r=A.defaultPreviewPanelIndex||0,g=A.panels[r],c=o.find(I=>{var f;return((f=I.layoutState)==null?void 0:f.layout.panelId)===(g==null?void 0:g.name)})||o[0],d=c.layoutState.layout.previewRegion?{x:c.layoutState.layout.previewRegion.left,y:c.layoutState.layout.previewRegion.top,width:c.layoutState.layout.previewRegion.width,height:c.layoutState.layout.previewRegion.height}:{x:0,y:0,width:c.layoutState.layout.width,height:c.layoutState.layout.height},B=this.commandContext.getLayoutById(c.layoutState.layout.id),w=i.getContext("2d");if(!w)throw new he("Failed to obtain 2D context for preview image creation");const E=s.getSvgElement(B.layoutState.layout,B.layoutState.elements,{renderingConfiguration:{purpose:s.LayoutRenderingPurpose.Print,region:{left:d.x,top:d.y,width:d.width,height:d.height}}}),C=s.renderPapyrusComponentAsString(E);await(await qe.Pith.from(w,C,{anonymousCrossOrigin:!0,ignoreDimensions:!1,createCanvas:s.createCanvas,createImage:s.loadImage,DOMParser:s.getDomParser(),fetch:s.fetch})).render();const Q=await this.getCanvasObjectURLAsync(i);return i.toDataURL(Q)}getStepById(e){const t=this.getWorkflowManager().getWorkflow().steps.find(A=>A.stepName===e);if(!(!t||!this.stepHasHandle(t)))return le.get(this.getWorkflowManager(),t)}getSteps(){return this.getScenes().flatMap(e=>this.getStepsByScene(e))}getScenes(){return this.getWorkflowManager().getWorkflow().stepGroups.map(t=>({id:t.id,name:t.name,stepIds:t.stepNames}))}getSelectionPriceSubunits(){const e=this.getWorkflowManager().getWorkflowSelections();let t=0;return Object.values(e).forEach(A=>{t+=A.selections.map(a=>a.priceModifier).reduce((a,n)=>a+n)}),t}getBasePriceSubunits(){return this.getWorkflowManager().getProduct().basePrice||0}getTotalPriceSubunits(){return this.getBasePriceSubunits()+this.getSelectionPriceSubunits()}getBulkStep(){if(this.getWorkflowManager().getTransaction().bulk){const e=this.getWorkflowManager().getProduct().bulkConfiguration,t={type:s.StepType.Bulk,stepName:"Bulk",stepTitle:(e==null?void 0:e.stepTitle)??"workflow.steps.bulk.title",helpText:e==null?void 0:e.helpText,data:{aspects:Re(this.getWorkflowManager().getWorkflow())},conditions:[]};return le.get(this.getWorkflowManager(),t)}}getStepByName(e){const t=this.getWorkflowManager().getWorkflow().steps.find(A=>A.stepTitle===e);if(!(!t||!this.stepHasHandle(t)))return le.get(this.getWorkflowManager(),t)}getStepsByType(e){return this.getWorkflowManager().getWorkflow().steps.filter(t=>t.type===e).map(t=>le.get(this.getWorkflowManager(),t))}getStepsByScene(e){if(!this.getWorkflowManager().getWorkflow().stepGroups.find(A=>A.name===e.name))throw new Error("Given scene is not present on workflow! Be careful when persisting scenes that you only use them with the relevant workflow.");return e.stepIds.map(A=>this.getWorkflowManager().getWorkflow().steps.find(a=>a.stepName===A)).filter(A=>this.stepHasHandle(A)).map(A=>le.get(this.getWorkflowManager(),A))}async attachCustomerDetails(e){return this.assignCustomerDetails({emailAddress:e.email})}async assignCustomerDetails(e){var a,n,i;const A=(i=(n=(a=(await R.getShadowGraphqlClient().mutate({mutation:Pt,variables:{id:this.getWorkflowManager().getTransaction().id,details:e,type:"Owner"}})).data)==null?void 0:a.transactionAddStakeholder)==null?void 0:n.stakeholders)==null?void 0:i.find(o=>{var r;return((r=o.customer)==null?void 0:r.emailAddress)===e.emailAddress});if(A!=null&&A.customer){this.getWorkflowManager().setTransactionCustomer(A.customer);const o=P.getMap("transactionCustomerIds")||new Map;o.set(this.getWorkflowManager().getTransaction().id,A.customer.id),P.setMap("transactionCustomerIds",o)}}attachRenderableSceneListener(e){this.renderableSceneCallbacks.push(e),e(this.renderableScenes)}detachRenderableSceneListener(e){this.renderableSceneCallbacks=this.renderableSceneCallbacks.filter(t=>t!==e)}async save(e){if(!this.getCommandContext().getState())throw new v("State undefined!");const a={title:await(async()=>{var r;if(e)return e;const n=this.getWorkflowManager().getTransaction().id,o=(r=(await fe.getSavedDesigns()).find(g=>g.transactionId===n))==null?void 0:r.title;return o||"My design"})(),thumbnail:await this.createPreviewImage(!1,256),transactionId:this.getWorkflowManager().getTransaction().id,productId:this.getWorkflowManager().getProduct().id,integrationProductId:this.getWorkflowManager().getTransaction().integrationProduct.id,workflowName:this.getWorkflowManager().getWorkflow().name,workflowId:this.getWorkflowManager().getWorkflow().id,lastEdited:new Date};return await fe.addDesign(a),a}async copy(){var o;const e=ee(this.getCommandContext().getState());if(!e)throw new v("Internal state is undefined! Cannot copy experience!");const t=JSON.stringify(e.transaction),A=this.getWorkflowManager().getWorkflow(),a=new aA({}),n=(o=this.getWorkflowManager().getTransaction().integrationProduct)==null?void 0:o.id;if(!n)throw new v("Integration product id is undefined!");return await a.initFromIntegrationProduct(n),await a.getWorkflowExperience(A.id,t,void 0)}async onDesignFinished(e,t=!0){return jt(this.workflowManager,this.workflowManager.getWorkflow(),this.workflowManager.getLayouts(),()=>this.commandContext.getState(),this.workflowManager.getProduct(),this.workflowManager.getTransaction(),this.workflowManager.getWorkflowSelections(),this.workflowManager.getWorkflow().name,e||(()=>{}),A=>this.updateVariationRecords(A),this.workflowManager.getVariationRecords(),A=>t?this.createPreviewImage(A):Promise.resolve(void 0),this.workflowManager.getWorkflowMetadata())}stepHasHandle(e){return e.type!==s.StepType.SilentIllustration&&e.type!==s.StepType.ProductOverlay}getExportedData(){var a;const e=new Map,t=this.getWorkflowManager().getWorkflowMetadata(),A=this.getWorkflowManager().getWorkflowSelections();return Object.keys(t).forEach(n=>{const i=this.workflowManager.getWorkflow().steps.find(r=>r.stepName===n);if(!i)return;e.has(i.stepTitle)||e.set(i.stepTitle,{});const o=t[n];Object.keys(o).forEach(r=>{e.get(i.stepTitle)[r]=o[r]})}),(a=Object.keys(A))==null||a.forEach(n=>{const i=this.workflowManager.getWorkflow().steps.find(o=>o.stepName===n);i&&(e.has(i.stepTitle)||e.set(i.stepTitle,{}),e.get(i.stepTitle).selection=A[n].selections[0].name)}),e}}const ha=["altGlyph","circle","ellipse","path","polygon","polyline","rect","text","textPath","tref","tspan"],Ca=async(l,e,t)=>{const A=e.data,a=t.data.baseUrl,n=A.assetUrl.replace("localhost","localstack"),i=a.slice(0,4)==="http"?"":"https://",o=new URL(i+a);o.searchParams.append("video",s.toBase64(JSON.stringify([{href:n}]))),o.pathname=o.pathname+(o.pathname.slice(-1)==="/"?"":"/");const r=o.toString(),c=`data:image/svg+xml;base64,${s.toBase64(await _e.toString(r,{type:"svg"}))}`,d=w=>{const E=l.find(h=>h.panelId===w.panelId);if(!E)throw new k(w);const C=s.generate();return new s.CreateElementCommand({id:C,src:c,type:s.LayoutElementType.Image,y:w.top,x:w.left,width:w.width,height:w.height,rotation:0},E)},B=t.data.regions;try{return B.map(d)}catch(w){return console.error(w),[]}},Qa=async(l,e,t,A)=>{const a=t.data,n=a.assetUrl,i=await s.getPatternImageData(n);try{const o=s.getVariant(a,A.option);o&&(e[A.stepName]={selectedVariants:[o]});const r=async g=>{var C;const c=await s.generateFrameSVG(g||{width:1,height:1},(C=o==null?void 0:o.asset)==null?void 0:C.fileLink),d=await s.getFrameData(c),B=s.generate(),w=l.find(h=>h.panelId===g.panelId);if(!w)throw new k(g);const E=s.calculateOffsets(i,d,{scale:a.scale,left:a.x,top:a.y});return[new s.CreateElementCommand({id:B,path:d.path,dataWidth:d.width,dataHeight:d.height,type:s.LayoutElementType.Frame,focalBlur:A.data.focalBlur,focalBlurStrength:A.data.focalBlurStrength,focalBlurRadius:A.data.focalBlurRadius,forceImageCover:A.data.forceImageCover,x:g.left,y:g.top,width:g.width,height:g.height,layer:g.layer,layerIndex:g.layerIndex,rotation:g.rotation,scaleX:g.width/d.width,scaleY:g.height/d.height,pattern:void 0},w),new s.UpdateFramePattern(B,i,E)]};return(await Promise.all(A.data.regions.map(g=>r(g)))).flat()}catch(o){return console.error(o),[]}},ma=async(l,e,t,A)=>{var f,M;const a=t.data,n=A.option;if(!n)return console.error(`No option for step ${A.stepName}.`),[];const i=((f=n.variants)==null?void 0:f.find(p=>p.id===a.illustrationVariantId))||s.getDefaultVariant(n);if(!i)return console.error(`No variant with ID: ${a.illustrationVariantId}`),[];if(!i.asset)return console.error(`No asset for variant with ID: ${a.illustrationVariantId}`),[];e[A.stepName]={selectedVariants:[i]};const o=(M=i.asset)==null?void 0:M.fileLink;if(!o)return console.error(`No asset link for variant with ID: ${a.illustrationVariantId}`),[];const r=await s.fetchAsString(o),g=/<svg.*?<\/svg>/s,c=r.match(g)||[],d=(c==null?void 0:c.length)>0?c[0]:"",E=s.domParser().parseFromString(d,"image/svg+xml").firstElementChild;if(!E)return console.error("Failed to read SVG."),[];s.sanitizeSvgTree(E);const C={};s.traverse(E,p=>{ha.includes(p.tagName)&&!p.attributes.getNamedItem("fill")&&p.setAttribute("fill","#000000");const F=p.attributes.getNamedItem("fill");if(F&&F.value!=="none"){const Y=F.value,N=`spiff-fill-${Y.replace(/\W/g,"")}`;p.classList.add(N),C[N]={browserValue:Y}}const S=p.attributes.getNamedItem("stroke");if(S&&S.value!=="none"){const Y=S.value,N=`spiff-stroke-${Y.replace(/\W/g,"")}`;p.classList.add(N),C[N]={browserValue:Y}}});const Q=s.xmlSerializer().serializeToString(E),u=a.colors;if(u){for(const[p,F]of Object.entries(C))for(const S of Object.keys(u))if(F.browserValue===S){C[p]={browserValue:u[S]};break}}const D=p=>{const F=l.find(Y=>Y.panelId===p.panelId);if(!F)throw new k(p);const S=s.generate();return new s.CreateElementCommand({colors:C,id:S,svg:Q,type:s.LayoutElementType.Illustration,y:p.top,x:p.left,rotation:p.rotation,width:p.width,height:p.height,layer:p.layer,layerIndex:p.layerIndex,immutable:p.immutable},F)},I=A.data.regions;try{return I.map(D)}catch(p){return console.error(p),[]}},ua=async(l,e,t)=>{const A=await yt(t.data.module),a=e.data,n=(o,r)=>{const g=l.find(d=>d.panelId===r.panelId);if(!g)throw new k(r);const c=s.generate();return new s.CreateElementCommand({colors:{},id:c,svg:o,type:s.LayoutElementType.Illustration,y:r.top,x:r.left,rotation:r.rotation,width:r.width,height:r.height,layer:r.layer,layerIndex:r.layerIndex},g)},i=t.data.regions;try{return i.map(o=>n(A.svgPrint(a.text,o),o))}catch(o){return console.error(o),[]}},Ia=async(l,e,t,A)=>{var c,d;const a=t.data,n=A.option;if(!n)return console.error(`No option for step ${A.stepName}.`),[];const i=((c=n.variants)==null?void 0:c.find(B=>B.id===a.pictureVariantId))||s.getDefaultVariant(n);if(!i)return console.error(`No variant with ID: ${a.pictureVariantId}`),[];if(!i.asset)return console.error(`No asset for variant with ID: ${a.pictureVariantId}`),[];e[A.stepName]={selectedVariants:[i]};const o=(d=i.asset)==null?void 0:d.fileLink;if(!o)return console.error(`No asset link for variant with ID: ${a.pictureVariantId}`),[];const r=B=>{const w=l.find(C=>C.panelId===B.panelId);if(!w)throw new k(B);const E=s.generate();return new s.CreateElementCommand({id:E,src:o,type:s.LayoutElementType.Image,y:B.top,x:B.left,rotation:B.rotation,width:B.width,height:B.height,layer:B.layer,layerIndex:B.layerIndex,immutable:B.immutable,preserveAspectRatio:"none"},w)},g=A.data.regions;try{return g.map(r)}catch(B){return console.error(B),[]}},Da=async(l,e,t,A)=>{var g;const a=t.data,n=A.option;if(!n)return console.error(`No option for step ${A.stepName}.`),[];const i=((g=n.variants)==null?void 0:g.find(c=>c.id===a.colorVariantId))||s.getDefaultVariant(n);if(!i)return console.error(`No variant with ID: ${a.colorVariantId}`),[];e[A.stepName]={selectedVariants:[i]};const o=c=>{const d=l.find(h=>h.panelId===c.panelId);if(!d)throw new k(c);const B=`
2117
1930
  <svg
2118
1931
  xmlns="http://www.w3.org/2000/svg"
2119
1932
  xmlnsXlink="http://www.w3.org/1999/xlink"
@@ -2130,11 +1943,11 @@ IfnI8vaNAAAAAElFTkSuQmCC" transform="matrix(0.13 0.0141 -0.0141 0.1301 104.926 1
2130
1943
  width="1"
2131
1944
  height="1"
2132
1945
  class="spiff-fill-shape"
2133
- fill="${s==null?void 0:s.color}"
1946
+ fill="${i==null?void 0:i.color}"
2134
1947
  />
2135
1948
  </svg>
2136
- `,d={"spiff-fill-shape":{browserValue:s.color||"#000000"}},p=Dt();return new ve({colors:d,id:p,svg:h,type:Et.Illustration,y:u.top,x:u.left,rotation:u.rotation,width:u.width,height:u.height,layer:u.layer,layerIndex:u.layerIndex,immutable:u.immutable},A)},c=r.data.regions;try{return c.map(o)}catch(u){return console.error(u),[]}},$O=async(e,t,n)=>{const r=[],a=(()=>{var l,u;return t.type===j.ProductOverlay?n||((l=t.data.asset)==null?void 0:l.fileLink)||"":((u=t.data.asset)==null?void 0:u.fileLink)||""})(),o=(()=>a.endsWith(".jpeg")||a.endsWith(".jpg")||a.endsWith(".png")?Et.Image:(a.endsWith(".svg"),Et.Illustration))(),c=t.data.regions;if(o==="image")try{c.forEach(l=>{const u=e.find(h=>h.panelId===l.panelId);if(!u)throw new ke(l);const A={id:Dt(),src:a,type:o,y:l.top,x:l.left,width:l.width,height:l.height,layer:l.layer,layerIndex:l.layerIndex,productOverlay:t.type===j.ProductOverlay?!0:void 0,scaleX:1,scaleY:1,rotation:l.rotation,excludeFromExport:t.data.excludeFromPrint,preserveAspectRatio:"none"};r.push(new ve(A,u))})}catch(l){console.error(l)}else{console.log(`fetching ${a}`);const l=await Ln(a),u=A=>{const h=/<svg.*?<\/svg>/s,f=A.match(h)||[],d=(f==null?void 0:f.length)>0?f[0]:"",y=ti().parseFromString(d,"image/svg+xml").firstElementChild;if(!y)throw new Ja("Failed to read SVG.");return Jh(y),Tl().serializeToString(y)};c.forEach(A=>{const h=e.find(d=>d.panelId===A.panelId);if(!h)throw new ke(A);const f={id:Dt(),src:a,asset_key:a,svg:u(l),colors:{},type:o,y:A.top,x:A.left,width:A.width,height:A.height,layer:A.layer,layerIndex:A.layerIndex,scaleX:1,scaleY:1,rotation:A.rotation,productOverlay:t.type===j.ProductOverlay?!0:void 0,excludeFromExport:t.data.excludeFromPrint};r.push(new ve(f,h))})}return r},t5=async(e,t,n,r)=>{const i=[],a=n.data,s=30,o=m=>m.vertical?"center":m.textAlign||"center",c=()=>{var w;const m=r.option;if(!m)return;const y=((w=m.variants)==null?void 0:w.find(B=>B.id===a.fontVariantId))||io(m);if(!y||!y.asset)return;t[r.stepName]={selectedVariants:[y]};const v=y.asset.fileLink;if(v)return v},u=await(async()=>{const m=c();if(!m)return;console.log(`fetching ${m}`);const y=await Ml(m),v=await Fm(y),w=Pi(v);return await Sm(w,m),{assetUrl:m,name:w.names.fullName.en}})(),A=r.data.replaceableText?r.data.replaceableText.replace("{{}}",a.text):a.text,h=kl(A,{vertical:r.data.vertical,uppercase:r.data.uppercase}),f=async m=>{const y=m.colorOption;if(!y)return;const v=En.getDefaultVariant(y);return v==null?void 0:v.color},d=a.color||await f(r.data),p=r.data.regions;for(const m of p){const y=e.find(w=>w.panelId===m.panelId);if(!y)continue;const v={stepName:n.name,id:Dt(),align:o(r.data),curved:r.data.curved,fill:a.color||d||"#000000",fontData:u,fontSize:r.data.size||s,height:m.height,layer:m.layer,layerIndex:m.layerIndex,paths:r.data.paths,rotation:m.rotation,text:h,type:Et.Textbox,vertical:r.data.vertical,verticalAlign:r.data.verticalAlign||"middle",width:m.width,x:m.left,y:m.top};if(u){const[w,B]=so(r.data.size||s,u,m,[kl(h,{vertical:r.data.vertical,uppercase:r.data.uppercase})],{size:r.data.size,minSize:r.data.minSize,maxSize:r.data.maxSize});i.push(new ve({...v,fontSize:w,text:v.curved?v.text:(B||[]).join(`
2137
- `)},y))}else i.push(new ve(v,y))}return i},e5=(e,t)=>e.conditions?e.conditions.every(n=>{const r=t[n.targetStepName];if(r&&r.selectedVariants){const i=r.selectedVariants;return n.requiredVariantSelections.some(a=>i.find(s=>s.id===a)!==void 0)}return!1}):!0,$E=async(e,t,n,r)=>{const i=[],a={};for(const s of e){const o=t.steps.find(c=>c.stepName===s.name);if(o)switch(o.type){case j.DigitalContent:i.push(...await WO(n,s,o));break;case j.Frame:case j.Photo:i.push(...await KO(n,a,s,o));break;case j.Illustration:i.push(...await XO(n,a,s,o));break;case j.Module:i.push(...await _O(n,s,o));break;case j.Picture:i.push(...await qO(n,a,s,o));break;case j.Shape:i.push(...await ZO(n,a,s,o));break;case j.Text:i.push(...await t5(n,a,s,o));break}}for(const s of t.steps)s.type!==j.SilentIllustration&&s.type!==j.ProductOverlay||e5(s,a)&&i.push(...await $O(n,s,r));return i};class Tu{constructor(t){this.handleCompleteRender=null;const n=new Map;t.forEach(r=>n.set(r.id,new r5(r.id,r.name,this))),this.layouts=n}setCompleteRenderCallback(t){this.handleCompleteRender=t,t(Array.from(this.layouts.values()))}onCompleteRender(){this.handleCompleteRender&&this.handleCompleteRender(Array.from(this.layouts.values()))}getAll(){return this.layouts}}let Nu;const n5=()=>(Nu!==void 0||(Nu=!!ii(500,500).getContext("webgl2")),Nu);class r5{constructor(t,n,r){this.hasSetStaticContext=!1,this.interactiveDirty=!1,this.staticCtxDirty=!1,this.lastRequestedRenderArguments=void 0,this.lastCompletedStaticRender=void 0,this.lastModificationID=void 0,this.renderQueue=new o0(2),this.id=t,this.name=n,this.service=r}getID(){return this.id}getName(){return this.name}getStaticContext(){return this.textureCtx}setStaticContext(t){if(this.textureCtx=t,this.lastRequestedRenderArguments){const{workflow:n,layouts:r,variationRecord:i,productOverlayImageUrl:a}=this.lastRequestedRenderArguments;this.render(n,r,i,a)}}getStaticContextDirty(){return this.staticCtxDirty}setStaticContextDirty(t){this.staticCtxDirty=t}getInteractiveCanvasDirty(){return this.interactiveDirty}setInteractiveCanvasDirty(t){this.interactiveDirty=t}markLastCompletedStaticRender(){this.lastCompletedStaticRender=Date.now(),this.service.onCompleteRender()}getLastCompletedStaticRender(){return this.lastCompletedStaticRender}getLastModificationID(){return this.lastModificationID}async render(t,n,r,i){const a=To(n);this.lastRequestedRenderArguments={workflow:t,layouts:a,variationRecord:r,productOverlayImageUrl:i};const s=this.getStaticContext();if(!s){this.markLastCompletedStaticRender(),this.setStaticContextDirty(!1);return}this.renderQueue.enqueue(new i5(this.getID(),s,n5(),()=>{this.markLastCompletedStaticRender(),this.setStaticContextDirty(!0)},t,a,r,i))}}class i5 extends s0{constructor(t,n,r,i,a,s,o,c){super(),this.layoutId=t,this.ctx=n,this.nonPOTSupport=r,this.onRender=i,this.workflow=a,this.layouts=s,this.variationRecord=o,this.productOverlayImageUrl=c}getDynamicTextureResolution(){return this.getIsMobile()||!this.offscreenRenderingSupported()?{width:1024,height:1024}:{width:2048,height:2048}}getIsMobile(){return window.innerWidth<=480}offscreenRenderingSupported(){return navigator.userAgent.includes("SamsungBrowser")?!1:!!window.Worker&&!!window.OffscreenCanvas}resizeFit(t,n=4096){const r=n/t.width,i=n/t.height,a=Math.min(r,i);return a>1?t:{width:t.width*a,height:t.height*a}}async execute(){const t=this.layouts.find(h=>h.layoutState.layout.id===this.layoutId);if(!t)return;const n=t.layoutState.elements||[];if(this.variationRecord){const h=this.variationRecord.values.map(p=>({stepName:p.stepName,stepAspectType:p.aspect,value:p.value})),f=await eB(tB(h,this.workflow),this.workflow,this.layouts.map(p=>p.layoutState.layout),this.productOverlayImageUrl),d=f==null?void 0:f.layouts[t.layoutState.layout.id];((d==null?void 0:d.elements)||[]).forEach(p=>{const m=n.find(y=>y.stepName===p.stepName);m&&m.type===Et.Textbox?(m.text=p.text,m.fontSize=p.fontSize):n.push(p)}),Wh(n)}const r=t.layoutState.layout.width,i=t.layoutState.layout.height,a=this.getDynamicTextureResolution().width,s=this.getDynamicTextureResolution().height;let o,c;if(this.nonPOTSupport){const h=a/s;r/i<h?(o=a,c=i*(a/r)):(o=r*(s/i),c=s);const d=this.resizeFit({width:o,height:c});o=d.width,c=d.height}else o=this.getDynamicTextureResolution().width,c=this.getDynamicTextureResolution().height;const l=Rl(t.layoutState.layout,n,{renderingConfiguration:{purpose:Ms.ThreeD}}),u=bm(l),A=await ji.from(this.ctx,u,{anonymousCrossOrigin:!0,ignoreDimensions:!this.nonPOTSupport,ignoreAnimation:!0,ignoreClear:!0,ignoreMouse:!0,enableRedraw:!1,createCanvas:ii,createImage:Zs,DOMParser:ef(),fetch:Ma});A.resize(o,c),await A.render(),this.onRender()}}const tB=(e,t)=>{const n=[];return e.forEach(r=>{const i=t.steps.find(a=>a.stepName===r.stepName);(i==null?void 0:i.type)===j.Text&&r.stepAspectType==="Text"&&n.push({name:i.stepName,data:{text:r.value}})}),n},eB=async(e,t,n,r)=>{let i={serializableWorkflow:{steps:[]},layouts:{}};i=new $t(n.map(c=>new Kh(c))).apply(i);const s=await $E(e,t,n,r);return new $t(s).apply(i)},a5=ct`
1949
+ `,E={"spiff-fill-shape":{browserValue:i.color||"#000000"}},C=s.generate();return new s.CreateElementCommand({colors:E,id:C,svg:B,type:s.LayoutElementType.Illustration,y:c.top,x:c.left,rotation:c.rotation,width:c.width,height:c.height,layer:c.layer,layerIndex:c.layerIndex,immutable:c.immutable},d)},r=A.data.regions;try{return r.map(o)}catch(c){return console.error(c),[]}},fa=async(l,e,t)=>{const A=[],n=(()=>{var g,c;return e.type===s.StepType.ProductOverlay?t||((g=e.data.asset)==null?void 0:g.fileLink)||"":((c=e.data.asset)==null?void 0:c.fileLink)||""})(),o=(()=>n.endsWith(".jpeg")||n.endsWith(".jpg")||n.endsWith(".png")?s.LayoutElementType.Image:(n.endsWith(".svg"),s.LayoutElementType.Illustration))(),r=e.data.regions;if(o==="image")try{r.forEach(g=>{const c=l.find(B=>B.panelId===g.panelId);if(!c)throw new k(g);const d={id:s.generate(),src:n,type:o,y:g.top,x:g.left,width:g.width,height:g.height,layer:g.layer,layerIndex:g.layerIndex,productOverlay:e.type===s.StepType.ProductOverlay?!0:void 0,scaleX:1,scaleY:1,rotation:g.rotation,excludeFromExport:e.data.excludeFromPrint,preserveAspectRatio:"none"};A.push(new s.CreateElementCommand(d,c))})}catch(g){console.error(g)}else{console.log(`fetching ${n}`);const g=await s.fetchAsString(n),c=d=>{const B=/<svg.*?<\/svg>/s,w=d.match(B)||[],E=(w==null?void 0:w.length)>0?w[0]:"",Q=s.domParser().parseFromString(E,"image/svg+xml").firstElementChild;if(!Q)throw new X("Failed to read SVG.");return s.sanitizeSvgTree(Q),s.xmlSerializer().serializeToString(Q)};r.forEach(d=>{const B=l.find(E=>E.panelId===d.panelId);if(!B)throw new k(d);const w={id:s.generate(),src:n,asset_key:n,svg:c(g),colors:{},type:o,y:d.top,x:d.left,width:d.width,height:d.height,layer:d.layer,layerIndex:d.layerIndex,scaleX:1,scaleY:1,rotation:d.rotation,productOverlay:e.type===s.StepType.ProductOverlay?!0:void 0,excludeFromExport:e.data.excludeFromPrint};A.push(new s.CreateElementCommand(w,B))})}return A},pa=async(l,e,t,A)=>{const a=[],n=t.data,i=30,o=h=>h.vertical?"center":h.textAlign||"center",r=()=>{var D;const h=A.option;if(!h)return;const Q=((D=h.variants)==null?void 0:D.find(I=>I.id===n.fontVariantId))||s.getDefaultVariant(h);if(!Q||!Q.asset)return;e[A.stepName]={selectedVariants:[Q]};const u=Q.asset.fileLink;if(u)return u},c=await(async()=>{const h=r();if(!h)return;console.log(`fetching ${h}`);const Q=await s.fetchAsArrayBuffer(h),u=await s.arrayBufferToDataUrl(Q),D=s.loadFontFromDataUrl(u);return await s.loadFontFaceSet(D,h),{assetUrl:h,name:D.names.fullName.en}})(),d=A.data.replaceableText?A.data.replaceableText.replace("{{}}",n.text):n.text,B=s.applyTextTransformations(d,{vertical:A.data.vertical,uppercase:A.data.uppercase}),w=async h=>{const Q=h.colorOption;if(!Q)return;const u=J.getDefaultVariant(Q);return u==null?void 0:u.color},E=n.color||await w(A.data),C=A.data.regions;for(const h of C){const Q=l.find(D=>D.panelId===h.panelId);if(!Q)continue;const u={stepName:t.name,id:s.generate(),align:o(A.data),curved:A.data.curved,fill:n.color||E||"#000000",fontData:c,fontSize:A.data.size||i,height:h.height,layer:h.layer,layerIndex:h.layerIndex,paths:A.data.paths,rotation:h.rotation,text:B,type:s.LayoutElementType.Textbox,vertical:A.data.vertical,verticalAlign:A.data.verticalAlign||"middle",width:h.width,x:h.left,y:h.top};if(c){const[D,I]=s.determineCorrectFontSizeAndLines(A.data.size||i,c,h,[s.applyTextTransformations(B,{vertical:A.data.vertical,uppercase:A.data.uppercase})],{size:A.data.size,minSize:A.data.minSize,maxSize:A.data.maxSize});a.push(new s.CreateElementCommand({...u,fontSize:D,text:u.curved?u.text:(I||[]).join(`
1950
+ `)},Q))}else a.push(new s.CreateElementCommand(u,Q))}return a},Fa=(l,e)=>l.conditions?l.conditions.every(t=>{const A=e[t.targetStepName];if(A&&A.selectedVariants){const a=A.selectedVariants;return t.requiredVariantSelections.some(n=>a.find(i=>i.id===n)!==void 0)}return!1}):!0,Kt=async(l,e,t,A)=>{const a=[],n={};for(const i of l){const o=e.steps.find(r=>r.stepName===i.name);if(o)switch(o.type){case s.StepType.DigitalContent:a.push(...await Ca(t,i,o));break;case s.StepType.Frame:case s.StepType.Photo:a.push(...await Qa(t,n,i,o));break;case s.StepType.Illustration:a.push(...await ma(t,n,i,o));break;case s.StepType.Module:a.push(...await ua(t,i,o));break;case s.StepType.Picture:a.push(...await Ia(t,n,i,o));break;case s.StepType.Shape:a.push(...await Da(t,n,i,o));break;case s.StepType.Text:a.push(...await pa(t,n,i,o));break}}for(const i of e.steps)i.type!==s.StepType.SilentIllustration&&i.type!==s.StepType.ProductOverlay||Fa(i,n)&&a.push(...await fa(t,i,A));return a};class pe{constructor(e){this.handleCompleteRender=null;const t=new Map;e.forEach(A=>t.set(A.id,new Sa(A.id,A.name,this))),this.layouts=t}setCompleteRenderCallback(e){this.handleCompleteRender=e,e(Array.from(this.layouts.values()))}onCompleteRender(){this.handleCompleteRender&&this.handleCompleteRender(Array.from(this.layouts.values()))}getAll(){return this.layouts}}let Fe;const Ma=()=>(Fe!==void 0||(Fe=!!s.createCanvas().getContext("webgl2")),Fe);class Sa{constructor(e,t,A){this.hasSetStaticContext=!1,this.interactiveDirty=!1,this.staticCtxDirty=!1,this.lastRequestedRenderArguments=void 0,this.lastCompletedStaticRender=void 0,this.lastModificationID=void 0,this.renderQueue=new He(2),this.id=e,this.name=t,this.service=A}getID(){return this.id}getName(){return this.name}getStaticContext(){return this.textureCtx}setStaticContext(e){if(this.textureCtx=e,this.lastRequestedRenderArguments){const{workflow:t,layouts:A,variationRecord:a,productOverlayImageUrl:n}=this.lastRequestedRenderArguments;this.render(t,A,a,n)}}getStaticContextDirty(){return this.staticCtxDirty}setStaticContextDirty(e){this.staticCtxDirty=e}getInteractiveCanvasDirty(){return this.interactiveDirty}setInteractiveCanvasDirty(e){this.interactiveDirty=e}markLastCompletedStaticRender(){this.lastCompletedStaticRender=Date.now(),this.service.onCompleteRender()}getLastCompletedStaticRender(){return this.lastCompletedStaticRender}getLastModificationID(){return this.lastModificationID}async render(e,t,A,a){const n=ee(t);this.lastRequestedRenderArguments={workflow:e,layouts:n,variationRecord:A,productOverlayImageUrl:a};const i=this.getStaticContext();if(!i){this.markLastCompletedStaticRender(),this.setStaticContextDirty(!1);return}this.renderQueue.enqueue(new ya(this.getID(),i,Ma(),()=>{this.markLastCompletedStaticRender(),this.setStaticContextDirty(!0)},e,n,A,a))}}class ya extends xe{constructor(e,t,A,a,n,i,o,r){super(),this.layoutId=e,this.ctx=t,this.nonPOTSupport=A,this.onRender=a,this.workflow=n,this.layouts=i,this.variationRecord=o,this.productOverlayImageUrl=r}getDynamicTextureResolution(){return this.getIsMobile()||!this.offscreenRenderingSupported()?{width:1024,height:1024}:{width:2048,height:2048}}getIsMobile(){return window.innerWidth<=480}offscreenRenderingSupported(){return navigator.userAgent.includes("SamsungBrowser")?!1:!!window.Worker&&!!window.OffscreenCanvas}resizeFit(e,t=4096){const A=t/e.width,a=t/e.height,n=Math.min(A,a);return n>1?e:{width:e.width*n,height:e.height*n}}async execute(){const e=this.layouts.find(B=>B.layoutState.layout.id===this.layoutId);if(!e)return;const t=e.layoutState.elements||[];if(this.variationRecord){const B=this.variationRecord.values.map(C=>({stepName:C.stepName,stepAspectType:C.aspect,value:C.value})),w=await Wt(Vt(B,this.workflow),this.workflow,this.layouts.map(C=>C.layoutState.layout),this.productOverlayImageUrl),E=w==null?void 0:w.layouts[e.layoutState.layout.id];((E==null?void 0:E.elements)||[]).forEach(C=>{const h=t.find(Q=>Q.stepName===C.stepName);h&&h.type===s.LayoutElementType.Textbox?(h.text=C.text,h.fontSize=C.fontSize):t.push(C)}),s.sortElementsByLayersWithIndex(t)}const A=e.layoutState.layout.width,a=e.layoutState.layout.height,n=this.getDynamicTextureResolution().width,i=this.getDynamicTextureResolution().height;let o,r;if(this.nonPOTSupport){const B=n/i;A/a<B?(o=n,r=a*(n/A)):(o=A*(i/a),r=i);const E=this.resizeFit({width:o,height:r});o=E.width,r=E.height}else o=this.getDynamicTextureResolution().width,r=this.getDynamicTextureResolution().height;const g=s.getSvgElement(e.layoutState.layout,t,{renderingConfiguration:{purpose:s.LayoutRenderingPurpose.ThreeD}}),c=s.renderPapyrusComponentAsString(g),d=await qe.Pith.from(this.ctx,c,{anonymousCrossOrigin:!0,ignoreDimensions:!this.nonPOTSupport,ignoreAnimation:!0,ignoreClear:!0,ignoreMouse:!0,enableRedraw:!1,createCanvas:s.createCanvas,createImage:s.loadImage,DOMParser:s.getDomParser(),fetch:s.fetch});d.resize(o,r),await d.render(),this.onRender()}}const Vt=(l,e)=>{const t=[];return l.forEach(A=>{const a=e.steps.find(n=>n.stepName===A.stepName);(a==null?void 0:a.type)===s.StepType.Text&&A.stepAspectType==="Text"&&t.push({name:a.stepName,data:{text:A.value}})}),t},Wt=async(l,e,t,A)=>{let a={serializableWorkflow:{steps:[]},layouts:{}};a=new s.GroupCommand(t.map(r=>new s.CreateLayoutCommand(r))).apply(a);const i=await Kt(l,e,t,A);return new s.GroupCommand(i).apply(a)},Ya=y.gql`
2138
1951
  fragment ProductCollectionProductFields on Product {
2139
1952
  id
2140
1953
  basePrice
@@ -2169,8 +1982,8 @@ IfnI8vaNAAAAAElFTkSuQmCC" transform="matrix(0.13 0.0141 -0.0141 0.1301 104.926 1
2169
1982
  name
2170
1983
  }
2171
1984
  }
2172
- `,nB=ct`
2173
- ${a5}
1985
+ `,Xt=y.gql`
1986
+ ${Ya}
2174
1987
  fragment ProductCollectionFields on ProductCollection {
2175
1988
  id
2176
1989
  name
@@ -2216,8 +2029,8 @@ IfnI8vaNAAAAAElFTkSuQmCC" transform="matrix(0.13 0.0141 -0.0141 0.1301 104.926 1
2216
2029
  }
2217
2030
  }
2218
2031
  }
2219
- `,s5=ct`
2220
- ${nB}
2032
+ `,Na=y.gql`
2033
+ ${Xt}
2221
2034
  query GetBundle($id: String!) {
2222
2035
  bundles(ids: [$id]) {
2223
2036
  id
@@ -2238,7 +2051,7 @@ IfnI8vaNAAAAAElFTkSuQmCC" transform="matrix(0.13 0.0141 -0.0141 0.1301 104.926 1
2238
2051
  }
2239
2052
  }
2240
2053
  }
2241
- `,o5=ct`
2054
+ `,Pa=y.gql`
2242
2055
  query GetBundleStakeholders($id: String!) {
2243
2056
  bundles(ids: [$id]) {
2244
2057
  id
@@ -2258,7 +2071,7 @@ IfnI8vaNAAAAAElFTkSuQmCC" transform="matrix(0.13 0.0141 -0.0141 0.1301 104.926 1
2258
2071
  }
2259
2072
  }
2260
2073
  }
2261
- `,c5=ct`
2074
+ `,Ra=y.gql`
2262
2075
  query GetBundlesForCustomer($id: String!) {
2263
2076
  customers(ids: [$id]) {
2264
2077
  bundleStakeholders {
@@ -2279,8 +2092,8 @@ IfnI8vaNAAAAAElFTkSuQmCC" transform="matrix(0.13 0.0141 -0.0141 0.1301 104.926 1
2279
2092
  }
2280
2093
  }
2281
2094
  }
2282
- `,l5=ct`
2283
- ${nB}
2095
+ `,xa=y.gql`
2096
+ ${Xt}
2284
2097
  mutation CreateBundle($collectionId: String) {
2285
2098
  bundleCreate(collectionId: $collectionId) {
2286
2099
  id
@@ -2298,25 +2111,25 @@ IfnI8vaNAAAAAElFTkSuQmCC" transform="matrix(0.13 0.0141 -0.0141 0.1301 104.926 1
2298
2111
  }
2299
2112
  }
2300
2113
  }
2301
- `,u5=ct`
2114
+ `,Ha=y.gql`
2302
2115
  mutation UpdateBundle($id: String!, $name: String, $metadata: [MetadataInput!], $bundleStateData: String) {
2303
2116
  bundleUpdate(id: $id, name: $name, metadata: $metadata, bundleStateData: $bundleStateData) {
2304
2117
  id
2305
2118
  }
2306
2119
  }
2307
- `,A5=ct`
2120
+ `,Ua=y.gql`
2308
2121
  mutation BundleAddTransaction($id: String!, $transactionId: String!) {
2309
2122
  bundleAddTransaction(id: $id, transactionId: $transactionId) {
2310
2123
  id
2311
2124
  }
2312
2125
  }
2313
- `,h5=ct`
2126
+ `,va=y.gql`
2314
2127
  mutation BundleAddTransactions($id: String!, $transactionIds: [String!]!, $transactionOwnerIds: [String!]) {
2315
2128
  bundleAddTransactions(id: $id, transactionIds: $transactionIds, transactionOwnerIds: $transactionOwnerIds) {
2316
2129
  id
2317
2130
  }
2318
2131
  }
2319
- `,f5=ct`
2132
+ `,Ga=y.gql`
2320
2133
  mutation BundleRemoveTransaction(
2321
2134
  $id: String!
2322
2135
  $transactionId: String!
@@ -2331,7 +2144,7 @@ IfnI8vaNAAAAAElFTkSuQmCC" transform="matrix(0.13 0.0141 -0.0141 0.1301 104.926 1
2331
2144
  id
2332
2145
  }
2333
2146
  }
2334
- `,g5=ct`
2147
+ `,ka=y.gql`
2335
2148
  mutation BundleRemoveTransactions(
2336
2149
  $id: String!
2337
2150
  $transactionIds: [String!]!
@@ -2346,7 +2159,7 @@ IfnI8vaNAAAAAElFTkSuQmCC" transform="matrix(0.13 0.0141 -0.0141 0.1301 104.926 1
2346
2159
  id
2347
2160
  }
2348
2161
  }
2349
- `,d5=ct`
2162
+ `,ba=y.gql`
2350
2163
  mutation BundleAddStakeholder($id: String!, $details: CustomerDetailsInput!, $type: String!) {
2351
2164
  bundleAddStakeholder(id: $id, details: $details, type: $type) {
2352
2165
  id
@@ -2366,7 +2179,7 @@ IfnI8vaNAAAAAElFTkSuQmCC" transform="matrix(0.13 0.0141 -0.0141 0.1301 104.926 1
2366
2179
  }
2367
2180
  }
2368
2181
  }
2369
- `,p5=ct`
2182
+ `,Ja=y.gql`
2370
2183
  mutation BundleUpdateStakeholders($id: String!, $input: [BundleStakeholderInput!]!) {
2371
2184
  bundleUpdateStakeholders(id: $id, input: $input) {
2372
2185
  id
@@ -2386,13 +2199,13 @@ IfnI8vaNAAAAAElFTkSuQmCC" transform="matrix(0.13 0.0141 -0.0141 0.1301 104.926 1
2386
2199
  }
2387
2200
  }
2388
2201
  }
2389
- `,m5=ct`
2202
+ `,Ta=y.gql`
2390
2203
  mutation BundleUpdateTransactionOrder($id: String!, $transactionIds: [String!]!) {
2391
2204
  bundleUpdateTransactionOrder(id: $id, transactionIds: $transactionIds) {
2392
2205
  id
2393
2206
  }
2394
2207
  }
2395
- `;class y5{constructor(t){this.handleCache={},this.bundle=t}async getHandle(t){if(this.handleCache[t.name])return this.handleCache[t.name];const n=await this.createHandle(t);return this.handleCache[t.name]=n,n}async getHandles(){var n;if(!((n=this.bundle.getProductCollection())!=null&&n.getResource().globalPropertyConfiguration))return[];const t=this.bundle.getProductCollection().getResource().globalPropertyConfiguration;return Promise.all(t.aspects.map(r=>this.getHandle(r)))}applyConditionsFromState(t,n){return n?t.filter(r=>this.aspectConditionsSatisfied(r.getRawProperty(),n)):t}aspectConditionsSatisfied(t,n){return!t.conditions||t.conditions.length===0?!0:t.conditions.some(r=>{const i=n.aspects.find(a=>a.name===r.targetAspectName);return i?r.requiredVariantSelections.some(a=>a===i.value):!1})}async createHandle(t){switch(t.type){case Ts.FileUpload:return new w5(this.bundle,t);case Ts.Option:{const n=t.entityId?await En.getOption(t.entityId):void 0;return(n==null?void 0:n.type)==="Color"?new E5(this.bundle,t,n):new rB(this.bundle,t,n)}case Ts.Text:return new v5(this.bundle,t)}}}class Pu{constructor(t,n){this.bundle=t,this.property=n}getName(){return this.property.name}getTitle(){return this.property.title}getDescription(){return this.property.description}getType(){return this.property.type}getRawProperty(){return this.property}getSharedSteps(t){return(t??this.bundle.getWorkflowExperiences()).flatMap(i=>i.getSteps().filter(a=>{var s;return(s=a.getRaw().globalPropertyAspectConfigurations)==null?void 0:s.some(o=>{var c,l;return o.globalPropertyConfigurationId===((l=(c=this.bundle.getProductCollection())==null?void 0:c.getResource().globalPropertyConfiguration)==null?void 0:l.id)&&o.aspectName===this.property.name})}))}}class w5 extends Pu{constructor(t,n){super(t,n)}async selectImage(t){await Promise.all([this.bundle.getGlobalPropertyStateManager().setAspect(this.property.name,t.key),this.applyImageSelection(t)])}async applyGlobalState(t){const n=this.bundle.getGlobalPropertyStateManager().getAspect(this.property.name);if(!n)return Promise.resolve();const r=await Re.getLocalOrFromServer(n);return r?this.applyImageSelection(r,t):Promise.resolve()}async applyImageSelection(t,n){const i=this.getSharedSteps(n).map(a=>a.selectImage(t));await Promise.all(i)}}class v5 extends Pu{constructor(t,n){super(t,n)}getText(){const t=this.bundle.getGlobalPropertyStateManager().getAspect(this.property.name);return t||""}async setText(t){await Promise.all([this.bundle.getGlobalPropertyStateManager().setAspect(this.property.name,t),this.applyTextSelection(t)])}async applyGlobalState(t){const n=this.bundle.getGlobalPropertyStateManager().getAspect(this.property.name);if(!n)return Promise.resolve();await this.applyTextSelection(n,t)}async applyTextSelection(t,n){const i=this.getSharedSteps(n).map(a=>{a.setText(t)});await Promise.all(i)}}class rB extends Pu{constructor(t,n,r){super(t,n),this.optionResource=r}getCurrentVariant(){var n,r;if(!this.optionResource)return;const t=this.bundle.getGlobalPropertyStateManager().getAspect(this.property.name);if(t){const i=(r=this.optionResource.variants)==null?void 0:r.find(a=>a.id===t);return i?new Ir(i):void 0}else{const i=(n=this.optionResource.variants)==null?void 0:n.find(a=>{var s,o;return a.id===((o=(s=this.optionResource)==null?void 0:s.defaultVariant)==null?void 0:o.id)});return i?new Ir(i):void 0}}getAvailableVariants(){var n,r;return(((r=(n=this.optionResource)==null?void 0:n.variants)==null?void 0:r.filter(i=>i.enabled))||[]).map(i=>new Ir(i))}getAllVariants(){var n;return(((n=this.optionResource)==null?void 0:n.variants)||[]).map(r=>new Ir(r))}async selectVariant(t){await Promise.all([this.bundle.getGlobalPropertyStateManager().setAspect(this.property.name,t.getId()),this.applyVariantSelection(t)])}async applyGlobalState(t){var i,a;const n=this.bundle.getGlobalPropertyStateManager().getAspect(this.property.name);if(!n)return Promise.resolve();const r=(a=(i=this.optionResource)==null?void 0:i.variants)==null?void 0:a.find(s=>s.id===n);return r?this.applyVariantSelection(new Ir(r),t):Promise.resolve()}async applyVariantSelection(t,n){const i=this.getSharedSteps(n).map(a=>a.selectVariant(t));await Promise.all(i)}}class E5 extends rB{constructor(t,n,r){super(t,n,r)}setCustomColor(t){this.getSharedSteps().forEach(r=>r.setCustomColor(t))}getCustomColor(){return this.getSharedSteps()[0].getCustomColor()}}const B5=ct`
2208
+ `;class La{constructor(e){this.handleCache={},this.bundle=e}async getHandle(e){if(this.handleCache[e.name])return this.handleCache[e.name];const t=await this.createHandle(e);return this.handleCache[e.name]=t,t}async getHandles(){var t;if(!((t=this.bundle.getProductCollection())!=null&&t.getResource().globalPropertyConfiguration))return[];const e=this.bundle.getProductCollection().getResource().globalPropertyConfiguration;return Promise.all(e.aspects.map(A=>this.getHandle(A)))}applyConditionsFromState(e,t){return t?e.filter(A=>this.aspectConditionsSatisfied(A.getRawProperty(),t)):e}aspectConditionsSatisfied(e,t){return!e.conditions||e.conditions.length===0?!0:e.conditions.some(A=>{const a=t.aspects.find(n=>n.name===A.targetAspectName);return a?A.requiredVariantSelections.some(n=>n===a.value):!1})}async createHandle(e){switch(e.type){case s.AspectType.FileUpload:return new Oa(this.bundle,e);case s.AspectType.Option:{const t=e.entityId?await J.getOption(e.entityId):void 0;return(t==null?void 0:t.type)==="Color"?new ja(this.bundle,e,t):new qt(this.bundle,e,t)}case s.AspectType.Text:return new za(this.bundle,e)}}}class Me{constructor(e,t){this.bundle=e,this.property=t}getName(){return this.property.name}getTitle(){return this.property.title}getDescription(){return this.property.description}getType(){return this.property.type}getRawProperty(){return this.property}getSharedSteps(e){return(e??this.bundle.getWorkflowExperiences()).flatMap(a=>a.getSteps().filter(n=>{var i;return(i=n.getRaw().globalPropertyAspectConfigurations)==null?void 0:i.some(o=>{var r,g;return o.globalPropertyConfigurationId===((g=(r=this.bundle.getProductCollection())==null?void 0:r.getResource().globalPropertyConfiguration)==null?void 0:g.id)&&o.aspectName===this.property.name})}))}}class Oa extends Me{constructor(e,t){super(e,t)}async selectImage(e){await Promise.all([this.bundle.getGlobalPropertyStateManager().setAspect(this.property.name,e.key),this.applyImageSelection(e)])}async applyGlobalState(e){const t=this.bundle.getGlobalPropertyStateManager().getAspect(this.property.name);if(!t)return Promise.resolve();const A=await b.getLocalOrFromServer(t);return A?this.applyImageSelection(A,e):Promise.resolve()}async applyImageSelection(e,t){const a=this.getSharedSteps(t).map(n=>n.selectImage(e));await Promise.all(a)}}class za extends Me{constructor(e,t){super(e,t)}getText(){const e=this.bundle.getGlobalPropertyStateManager().getAspect(this.property.name);return e||""}async setText(e){await Promise.all([this.bundle.getGlobalPropertyStateManager().setAspect(this.property.name,e),this.applyTextSelection(e)])}async applyGlobalState(e){const t=this.bundle.getGlobalPropertyStateManager().getAspect(this.property.name);if(!t)return Promise.resolve();await this.applyTextSelection(t,e)}async applyTextSelection(e,t){const a=this.getSharedSteps(t).map(n=>{n.setText(e)});await Promise.all(a)}}class qt extends Me{constructor(e,t,A){super(e,t),this.optionResource=A}getCurrentVariant(){var t,A;if(!this.optionResource)return;const e=this.bundle.getGlobalPropertyStateManager().getAspect(this.property.name);if(e){const a=(A=this.optionResource.variants)==null?void 0:A.find(n=>n.id===e);return a?new O(a):void 0}else{const a=(t=this.optionResource.variants)==null?void 0:t.find(n=>{var i,o;return n.id===((o=(i=this.optionResource)==null?void 0:i.defaultVariant)==null?void 0:o.id)});return a?new O(a):void 0}}getAvailableVariants(){var t,A;return(((A=(t=this.optionResource)==null?void 0:t.variants)==null?void 0:A.filter(a=>a.enabled))||[]).map(a=>new O(a))}getAllVariants(){var t;return(((t=this.optionResource)==null?void 0:t.variants)||[]).map(A=>new O(A))}async selectVariant(e){await Promise.all([this.bundle.getGlobalPropertyStateManager().setAspect(this.property.name,e.getId()),this.applyVariantSelection(e)])}async applyGlobalState(e){var a,n;const t=this.bundle.getGlobalPropertyStateManager().getAspect(this.property.name);if(!t)return Promise.resolve();const A=(n=(a=this.optionResource)==null?void 0:a.variants)==null?void 0:n.find(i=>i.id===t);return A?this.applyVariantSelection(new O(A),e):Promise.resolve()}async applyVariantSelection(e,t){const a=this.getSharedSteps(t).map(n=>n.selectVariant(e));await Promise.all(a)}}class ja extends qt{constructor(e,t,A){super(e,t,A)}setCustomColor(e){this.getSharedSteps().forEach(A=>A.setCustomColor(e))}getCustomColor(){return this.getSharedSteps()[0].getCustomColor()}}const Ka=y.gql`
2396
2209
  mutation CreateGlobalPropertyState($bundleId: String!) {
2397
2210
  globalPropertyStateCreate(bundleId: $bundleId) {
2398
2211
  id
@@ -2402,7 +2215,7 @@ IfnI8vaNAAAAAElFTkSuQmCC" transform="matrix(0.13 0.0141 -0.0141 0.1301 104.926 1
2402
2215
  }
2403
2216
  }
2404
2217
  }
2405
- `,C5=ct`
2218
+ `,Va=y.gql`
2406
2219
  mutation UpdateGlobalPropertyState($id: String!, $aspects: [GlobalPropertyStateAspectInput]!) {
2407
2220
  globalPropertyStateUpdate(id: $id, aspects: $aspects) {
2408
2221
  id
@@ -2412,7 +2225,7 @@ IfnI8vaNAAAAAElFTkSuQmCC" transform="matrix(0.13 0.0141 -0.0141 0.1301 104.926 1
2412
2225
  }
2413
2226
  }
2414
2227
  }
2415
- `,x5=ct`
2228
+ `,Wa=y.gql`
2416
2229
  query GetGlobalPropertyState($bundleId: String!) {
2417
2230
  globalPropertyState(bundleId: $bundleId) {
2418
2231
  id
@@ -2422,29 +2235,26 @@ IfnI8vaNAAAAAElFTkSuQmCC" transform="matrix(0.13 0.0141 -0.0141 0.1301 104.926 1
2422
2235
  }
2423
2236
  }
2424
2237
  }
2425
- `;class b5{constructor(t,n){this.bundleId=t,this.initPromise=this.getOrCreateGlobalPropertyState().then(r=>{this.globalPropertyState=r}),this.onGlobalPropertyStateChange=n}getInitializationPromise(){return this.initPromise}getGlobalPropertyState(){return this.globalPropertyState}getAspect(t){if(!this.globalPropertyState)throw new Error("Global property state not initialized");const n=this.globalPropertyState.aspects.find(r=>r.name===t);if(n)return n.value}async setAspect(t,n){if(!this.globalPropertyState)throw new Error("Global property state not initialized");const r=To(this.globalPropertyState),i=this.globalPropertyState.aspects.find(a=>a.name===t);i?i.value=n:this.globalPropertyState.aspects.push({name:t,value:n}),await this.updateGlobalPropertyState(),await this.onGlobalPropertyStateChange(r,this.globalPropertyState)}async updateGlobalPropertyState(){var n;if(!this.globalPropertyState)throw new Error("Global property state not initialized");const t=await bt.getShadowGraphqlClient().mutate({mutation:C5,variables:{id:this.globalPropertyState.id,aspects:this.globalPropertyState.aspects}});if((n=t.data)!=null&&n.globalPropertyStateUpdate)this.globalPropertyState=t.data.globalPropertyStateUpdate;else throw new Error("Unable to update global property state")}async getOrCreateGlobalPropertyState(){var r;const t=await bt.getShadowGraphqlClient().query({query:x5,errorPolicy:"all",fetchPolicy:"no-cache",variables:{bundleId:this.bundleId}});if(t.data.globalPropertyState&&t.data.globalPropertyState.id)return t.data.globalPropertyState;const n=await bt.getShadowGraphqlClient().mutate({mutation:B5,variables:{bundleId:this.bundleId}});if((r=n.data)!=null&&r.globalPropertyStateCreate&&n.data.globalPropertyStateCreate.id)return n.data.globalPropertyStateCreate;throw new Error(`Unable to create global property state for bundle: ${this.bundleId}`)}}class S5{constructor(t){this.setState(t)}setState(t){t&&(this.state=JSON.parse(t))}applyStateToWorkflowExperience(t){var i,a;if(!this.state||!((i=t==null?void 0:t.getWorkflowManager())!=null&&i.getModelContainer()))return;const n=(a=this.state.transactions.find(s=>s.transactionId===t.getWorkflowManager().getTransaction().id&&s.transform))==null?void 0:a.transform;if(!n)return;const r=t.getWorkflowManager().getModelContainer();r.position=n.position,r.rotation={x:n.rotation.x*Math.PI/180,y:n.rotation.y*Math.PI/180,z:n.rotation.z*Math.PI/180},r.scale=n.scale}setWorkflowExperienceTransform(t,n){var s;if(!((s=t==null?void 0:t.getWorkflowManager())!=null&&s.getModelContainer()))return;const r=t.getWorkflowManager().getModelContainer();r.position=n.position,r.rotation={x:n.rotation.x*Math.PI/180,y:n.rotation.y*Math.PI/180,z:n.rotation.z*Math.PI/180},r.scale=n.scale;const i=t.getWorkflowManager().getTransaction().id;this.state?this.state.transactions||(this.state.transactions=[]):this.state={transactions:[]};const a=this.state.transactions.find(o=>o.transactionId===i);a?a.transform=n:this.state.transactions.push({transactionId:i,transform:n})}removeStateForTransaction(t){if(!this.state||!this.state.transactions)return;const n=this.state.transactions.findIndex(r=>r.transactionId===t);n!==-1&&this.state.transactions.splice(n,1)}getSerializedState(){if(this.state)return JSON.stringify(this.state)}}class iB{constructor(t){this.collection=t}getId(){return this.collection.id}getName(){return this.collection.name}getProducts(){return this.collection.products.map(t=>new aB(t))}getResource(){return this.collection}}class aB{constructor(t){this.product=t}getId(){return this.product.id}getName(){return this.product.name}getIntegrationByType(t){const r=(this.product.integrationProducts||[]).find(i=>{var a,s;return!!((a=i.integration)!=null&&a.type)&&((s=i.integration)==null?void 0:s.type)===t});if(!r)throw new Error("Failed to find requested integration type on product. This is generally due to a configuration error");return r}getIntegrations(){return this.product.integrationProducts||[]}getResource(){return this.product}}class sB{constructor(t,n,r,i){var a,s,o;this.eventListeners=new Map,this.workflowExperiences=[],this.client=t,this.id=n.id,this.name=n.name||"",this.metadata=new Map(((a=n.metadata)==null?void 0:a.map(c=>[c.key,c.value]))||[]),this.productCollection=n.productCollection,this.bundleStateManager=new S5(n.bundleStateData),this.globalConfiguration=(s=this.productCollection)==null?void 0:s.globalPropertyConfiguration,this.globalPropertyStateManager=new b5(this.id,this.checkConditionalHandlesChanged.bind(this)),this.globalPropertyHandleService=new y5(this),this.setPreviewService(r),this.initializationPromise=this.loadExistingBundles(((o=n.transactions)==null?void 0:o.map(c=>c.id))||[],i)}getInitializationPromise(){return this.initializationPromise}addEventListener(t,n){this.eventListeners.set(t,[...this.eventListeners.get(t)||[],n])}removeEventListener(t,n){const r=this.eventListeners.get(t)||[],i=r.indexOf(n);i>-1&&r.splice(i,1)}getClient(){return this.client}getId(){return this.id}getName(){return this.name}setName(t){return this.name=t,this.updateBundle()}getMetadata(){return new Map(this.metadata)}setMetadata(t){return this.metadata=new Map(t),this.updateBundle()}setNameAndMetadata(t,n){return this.name=t,this.metadata=new Map(n),this.updateBundle()}hasGlobalProperties(){return!!this.globalConfiguration&&this.globalConfiguration.aspects.length>0}async getGlobalProperties(){return this.globalPropertyHandleService.applyConditionsFromState(await this.globalPropertyHandleService.getHandles(),this.getGlobalPropertyStateManager().getGlobalPropertyState())}getGlobalPropertyStateManager(){return this.globalPropertyStateManager}async getGlobalPropertyTotalSubunits(){return(await this.globalPropertyHandleService.getHandles()).filter(r=>r.getType()===Ts.Option).map(r=>{var i;return((i=r.getCurrentVariant())==null?void 0:i.getPrice())||0}).reduce((r,i)=>r+i,0)}getTotalSubunits(){return this.workflowExperiences.map(t=>t.getTotalPriceSubunits()).reduce((t,n)=>t+n,0)}getProductCollection(){return this.productCollection?new iB(this.productCollection):void 0}async addWorkflowExperience(t){await this.appendWorkflowExperience(t),await this.injectExperienceIntoPreviewService(t);const n=await this.getGlobalProperties();await Promise.all(n.map(r=>r.applyGlobalState([t])))}async addWorkflowExperiences(t){const n=t.map(s=>s.getWorkflowManager().getTransaction().id),r=n.map(s=>this.workflowExperiences.find(o=>o.getWorkflowManager().getTransaction().id===s));if(r.some(s=>!!s))throw new Error("Unable to add transaction to bundle - Already Exists: "+r.filter(s=>!!s).map(s=>s==null?void 0:s.getWorkflowManager().getTransaction().id).join(", "));const i=vt.getMap("transactionOwnerIds")||new Map,a=n.map(s=>i.get(s));await bt.getShadowGraphqlClient().mutate({mutation:h5,variables:{id:this.id,transactionIds:n,transactionOwnerIds:a}}).catch(s=>{console.error(s)}),this.workflowExperiences.push(...t),await Promise.all([this.updateTransactionOrder(),(async()=>{for(const o of t)await this.injectExperienceIntoPreviewService(o);const s=await this.getGlobalProperties();await Promise.all(s.map(o=>o.applyGlobalState(t)))})()])}async appendWorkflowExperience(t,n=!0){const r=t.getWorkflowManager().getTransaction().id;if(this.workflowExperiences.find(o=>o.getWorkflowManager().getTransaction().id===r))throw new Error("Unable to add transaction to bundle - Already Exists!");const s=(vt.getMap("transactionOwnerIds")||new Map).get(r);await bt.getShadowGraphqlClient().mutate({mutation:A5,variables:{id:this.id,transactionId:r},context:{transactionOwnerId:s}}),n&&this.workflowExperiences.push(t)}async removeWorkflowExperience(t){const n=this.workflowExperiences.indexOf(t);await this.removeTransaction(n,this.workflowExperiences[n].getWorkflowManager().getTransaction())}async removeWorkflowExperiences(t){await this.removeTransactions(t.map(n=>n.getWorkflowManager().getTransaction()))}async removeWorkflowExperienceByTransaction(t){const n=this.workflowExperiences.findIndex(r=>r.getWorkflowManager().getTransaction().id===t.id);await this.removeTransaction(n,t)}async removeWorkflowExperiencesByTransactions(t){await this.removeTransactions(t)}async removeTransaction(t,n,r=!0){if(t>-1){const i=this.workflowExperiences.find(a=>a.getWorkflowManager().getTransaction().id===n.id);this.previewService&&i.getWorkflowManager().ejectFromPreviewService(),this.bundleStateManager.removeStateForTransaction(n.id),await bt.getShadowGraphqlClient().mutate({mutation:f5,variables:{id:this.id,transactionId:n.id,name:this.name,metadata:Array.from(this.metadata.entries()).map(([a,s])=>({key:a,value:s})),bundleStateData:this.bundleStateManager.getSerializedState()}}),r&&(this.workflowExperiences.splice(t,1),await this.updateTransactionOrder())}else throw new Error("Unable to remove workflow experience from bundle - Not Found! - "+n.id)}async removeTransactions(t){const n=t.map(i=>this.workflowExperiences.findIndex(a=>a.getWorkflowManager().getTransaction().id===i.id));if(n.some(i=>i===-1))throw new Error("Unable to remove workflow experience from bundle - The following aren't included in the bundle: "+t.filter((i,a)=>n[a]===-1).map(i=>i.id).join(", "));const r=t.map(i=>this.workflowExperiences.splice(this.workflowExperiences.findIndex(a=>a.getWorkflowManager().getTransaction().id===i.id),1)[0]);this.previewService&&r.forEach(i=>i.getWorkflowManager().ejectFromPreviewService()),t.forEach(i=>this.bundleStateManager.removeStateForTransaction(i.id)),await bt.getShadowGraphqlClient().mutate({mutation:g5,variables:{id:this.id,transactionIds:t.map(i=>i.id),name:this.name,metadata:Array.from(this.metadata.entries()).map(([i,a])=>({key:i,value:a})),bundleStateData:this.bundleStateManager.getSerializedState()}}),await this.updateTransactionOrder()}async insertWorkflowExperience(t,n){await this.appendWorkflowExperience(t,!1),this.workflowExperiences.splice(n,0,t),await Promise.all([this.updateTransactionOrder(),(async()=>{await this.injectExperienceIntoPreviewService(t);const r=await this.getGlobalProperties();await Promise.all(r.map(i=>i.applyGlobalState([t])))})()])}async replaceWorkflowExperience(t,n){if(t<0||t>=this.workflowExperiences.length)throw new Error("Unable to replace workflow experience in bundle - Index out of range!");const r=this.workflowExperiences[t];if(r.getWorkflowManager().getTransaction().id===n.getWorkflowManager().getTransaction().id)throw new Error("Unable to replace workflow experience in bundle - Same transaction!");await Promise.all([this.removeTransaction(t,r.getWorkflowManager().getTransaction(),!1),this.appendWorkflowExperience(n,!1)]),this.workflowExperiences[t]=n,await Promise.all([this.updateTransactionOrder(),(async()=>{await this.injectExperienceIntoPreviewService(n);const i=await this.getGlobalProperties();await Promise.all(i.map(a=>a.applyGlobalState([n])))})()])}async swapWorkflowExperiences(t,n){if(t<0||t>=this.workflowExperiences.length||n<0||n>=this.workflowExperiences.length)throw new Error("Unable to swap workflow experiences in bundle - Index out of range!");if(t===n)return;const r=this.workflowExperiences[t];this.workflowExperiences[t]=this.workflowExperiences[n],this.workflowExperiences[n]=r,await this.updateTransactionOrder()}getWorkflowExperiences(){return[...this.workflowExperiences]}async sortWorkflowExperiences(t){this.workflowExperiences=this.workflowExperiences.sort(t),await this.updateTransactionOrder()}getWorkflowExperienceCount(){return this.workflowExperiences.length}async addStakeholder(t,n){var a;const r=await bt.getShadowGraphqlClient().mutate({mutation:d5,variables:{id:this.id,details:t,type:n||Bo.Owner}});if(!((a=r.data)!=null&&a.bundleAddStakeholder))throw new Error("Bundle not found!");const i=r.data.bundleAddStakeholder.bundleStakeholders||[];this.storeStakeholderCustomers(i)}async updateStakeholders(t){var i;const n=await bt.getShadowGraphqlClient().mutate({mutation:p5,variables:{id:this.id,input:t}});if(!((i=n.data)!=null&&i.bundleUpdateStakeholders))throw new Error("Bundle not found!");const r=n.data.bundleUpdateStakeholders.bundleStakeholders||[];this.storeStakeholderCustomers(r)}async getAllStakeholders(){const t=await bt.getShadowGraphqlClient().query({query:o5,errorPolicy:"all",variables:{id:this.id}});if(!t.data.bundles||t.data.bundles.length===0)throw new Error("Bundle not found!");const n=t.data.bundles[0].bundleStakeholders||[];return this.storeStakeholderCustomers(n),n}storeStakeholderCustomers(t){t.forEach(n=>{n.customer&&this.client.storeCustomer(n.customer)})}async finish(t){return await zO(this.workflowExperiences.map(n=>({workflowManager:n.getWorkflowManager(),workflow:n.getWorkflowManager().getWorkflow(),layouts:n.getWorkflowManager().getLayouts(),getReducerState:()=>n.getCommandContext().getState(),product:n.getWorkflowManager().getProduct(),transaction:n.getWorkflowManager().getTransaction(),workflowSelections:n.getWorkflowManager().getWorkflowSelections(),designName:n.getWorkflowManager().getWorkflow().name,variationRecords:n.getWorkflowManager().getVariationRecords(),updateVariationRecords:r=>n.updateVariationRecords(r),workflowMetadata:n.getWorkflowManager().getWorkflowMetadata()})),t??(()=>{}))}getPreviewService(){return this.previewService}async setPreviewService(t){if(this.workflowExperiences&&this.workflowExperiences.length>0&&(this.workflowExperiences.forEach(n=>n.getWorkflowManager().ejectFromPreviewService()),t))for(const n of this.workflowExperiences)await this.injectExperienceIntoPreviewService(n);t&&t.registerModelLoadEventListener&&t.registerModelLoadEventListener(this.onModelLoadEvent.bind(this)),this.previewService&&this.previewService!==t&&this.previewService.unregisterModelLoadEventListener&&this.previewService.unregisterModelLoadEventListener(this.onModelLoadEvent.bind(this)),this.previewService=t}setWorkflowExperienceTransform(t,n){return this.bundleStateManager.setWorkflowExperienceTransform(t,n),this.updateBundle()}onModelLoadEvent(t){t.eventType==="unload"||!t.modelContainer||(t.modelContainer.registerMaterialSelectedCallback(()=>this.onModelSelectedEvent(t.modelContainer,!0)),t.modelContainer.registerMaterialDeselectedCallback(()=>this.onModelSelectedEvent(t.modelContainer,!1)))}onModelSelectedEvent(t,n){if(t&&t.metadata&&t.metadata instanceof Map&&t.metadata.has("workflowManager")){const i=t.metadata.get("workflowManager").getTransaction(),a=this.workflowExperiences.find(s=>s.getWorkflowManager().getTransaction().id===i.id);a&&this.fireEvent(n?"workflow-experience-hover-enter":"workflow-experience-hover-exit",{workflowExperience:a})}}async injectExperienceIntoPreviewService(t){if(this.previewService){const n=t.getWorkflowManager().injectIntoPreviewService(this.previewService);try{this.bundleStateManager.applyStateToWorkflowExperience(t)}catch(r){console.error(`Unable to apply state to workflow experience: ${r}`)}await n}}async loadExistingBundles(t,n){if(t.length===0)return;const r=await this.client.getWorkflowExperiences(t.map(i=>({type:"transaction",transactionId:i})),n);if(this.workflowExperiences=r,this.previewService)for(const i of r)await this.injectExperienceIntoPreviewService(i)}async updateBundle(){var n;if(!((n=(await bt.getShadowGraphqlClient().mutate({mutation:u5,variables:{id:this.id,name:this.name,metadata:Array.from(this.metadata.entries()).map(([r,i])=>({key:r,value:i})),bundleStateData:this.bundleStateManager.getSerializedState()}})).data)!=null&&n.bundleUpdate))throw new Error("Bundle not found!")}async updateTransactionOrder(){await bt.getShadowGraphqlClient().mutate({mutation:m5,variables:{id:this.id,transactionIds:this.workflowExperiences.map(t=>t.getWorkflowManager().getTransaction().id)}})}async checkConditionalHandlesChanged(t,n){const r=await this.globalPropertyHandleService.getHandles(),i=this.globalPropertyHandleService.applyConditionsFromState(r,t),a=this.globalPropertyHandleService.applyConditionsFromState(r,n);(()=>{if(i.length!==a.length)return!0;for(let o=0;o<i.length;o++)if(i[o].getName()!==a[o].getName())return!0;return!1})()&&this.fireEvent("conditional-global-properties-changed",{globalProperties:a})}fireEvent(t,n){(this.eventListeners.get(t)||[]).forEach(i=>i({bundle:this,event:t,data:n}))}}const D5=ct`
2238
+ `;class Xa{constructor(e,t){this.bundleId=e,this.initPromise=this.getOrCreateGlobalPropertyState().then(A=>{this.globalPropertyState=A}),this.onGlobalPropertyStateChange=t}getInitializationPromise(){return this.initPromise}getGlobalPropertyState(){return this.globalPropertyState}getAspect(e){if(!this.globalPropertyState)throw new Error("Global property state not initialized");const t=this.globalPropertyState.aspects.find(A=>A.name===e);if(t)return t.value}async setAspect(e,t){if(!this.globalPropertyState)throw new Error("Global property state not initialized");const A=ee(this.globalPropertyState),a=this.globalPropertyState.aspects.find(n=>n.name===e);a?a.value=t:this.globalPropertyState.aspects.push({name:e,value:t}),await this.updateGlobalPropertyState(),await this.onGlobalPropertyStateChange(A,this.globalPropertyState)}async updateGlobalPropertyState(){var t;if(!this.globalPropertyState)throw new Error("Global property state not initialized");const e=await R.getShadowGraphqlClient().mutate({mutation:Va,variables:{id:this.globalPropertyState.id,aspects:this.globalPropertyState.aspects}});if((t=e.data)!=null&&t.globalPropertyStateUpdate)this.globalPropertyState=e.data.globalPropertyStateUpdate;else throw new Error("Unable to update global property state")}async getOrCreateGlobalPropertyState(){var A;const e=await R.getShadowGraphqlClient().query({query:Wa,errorPolicy:"all",fetchPolicy:"no-cache",variables:{bundleId:this.bundleId}});if(e.data.globalPropertyState&&e.data.globalPropertyState.id)return e.data.globalPropertyState;const t=await R.getShadowGraphqlClient().mutate({mutation:Ka,variables:{bundleId:this.bundleId}});if((A=t.data)!=null&&A.globalPropertyStateCreate&&t.data.globalPropertyStateCreate.id)return t.data.globalPropertyStateCreate;throw new Error(`Unable to create global property state for bundle: ${this.bundleId}`)}}class qa{constructor(e){this.setState(e)}setState(e){e&&(this.state=JSON.parse(e))}applyStateToWorkflowExperience(e){var a,n;if(!this.state||!((a=e==null?void 0:e.getWorkflowManager())!=null&&a.getModelContainer()))return;const t=(n=this.state.transactions.find(i=>i.transactionId===e.getWorkflowManager().getTransaction().id&&i.transform))==null?void 0:n.transform;if(!t)return;const A=e.getWorkflowManager().getModelContainer();A.position=t.position,A.rotation={x:t.rotation.x*Math.PI/180,y:t.rotation.y*Math.PI/180,z:t.rotation.z*Math.PI/180},A.scale=t.scale}setWorkflowExperienceTransform(e,t){var i;if(!((i=e==null?void 0:e.getWorkflowManager())!=null&&i.getModelContainer()))return;const A=e.getWorkflowManager().getModelContainer();A.position=t.position,A.rotation={x:t.rotation.x*Math.PI/180,y:t.rotation.y*Math.PI/180,z:t.rotation.z*Math.PI/180},A.scale=t.scale;const a=e.getWorkflowManager().getTransaction().id;this.state?this.state.transactions||(this.state.transactions=[]):this.state={transactions:[]};const n=this.state.transactions.find(o=>o.transactionId===a);n?n.transform=t:this.state.transactions.push({transactionId:a,transform:t})}removeStateForTransaction(e){if(!this.state||!this.state.transactions)return;const t=this.state.transactions.findIndex(A=>A.transactionId===e);t!==-1&&this.state.transactions.splice(t,1)}getSerializedState(){if(this.state)return JSON.stringify(this.state)}}class Zt{constructor(e){this.collection=e}getId(){return this.collection.id}getName(){return this.collection.name}getProducts(){return this.collection.products.map(e=>new $t(e))}getResource(){return this.collection}}class $t{constructor(e){this.product=e}getId(){return this.product.id}getName(){return this.product.name}getIntegrationByType(e){const A=(this.product.integrationProducts||[]).find(a=>{var n,i;return!!((n=a.integration)!=null&&n.type)&&((i=a.integration)==null?void 0:i.type)===e});if(!A)throw new Error("Failed to find requested integration type on product. This is generally due to a configuration error");return A}getIntegrations(){return this.product.integrationProducts||[]}getResource(){return this.product}}class _t{constructor(e,t,A,a){var n,i,o;this.eventListeners=new Map,this.workflowExperiences=[],this.client=e,this.id=t.id,this.name=t.name||"",this.metadata=new Map(((n=t.metadata)==null?void 0:n.map(r=>[r.key,r.value]))||[]),this.productCollection=t.productCollection,this.bundleStateManager=new qa(t.bundleStateData),this.globalConfiguration=(i=this.productCollection)==null?void 0:i.globalPropertyConfiguration,this.globalPropertyStateManager=new Xa(this.id,this.checkConditionalHandlesChanged.bind(this)),this.globalPropertyHandleService=new La(this),this.setPreviewService(A),this.initializationPromise=this.loadExistingBundles(((o=t.transactions)==null?void 0:o.map(r=>r.id))||[],a)}getInitializationPromise(){return this.initializationPromise}addEventListener(e,t){this.eventListeners.set(e,[...this.eventListeners.get(e)||[],t])}removeEventListener(e,t){const A=this.eventListeners.get(e)||[],a=A.indexOf(t);a>-1&&A.splice(a,1)}getClient(){return this.client}getId(){return this.id}getName(){return this.name}setName(e){return this.name=e,this.updateBundle()}getMetadata(){return new Map(this.metadata)}setMetadata(e){return this.metadata=new Map(e),this.updateBundle()}setNameAndMetadata(e,t){return this.name=e,this.metadata=new Map(t),this.updateBundle()}hasGlobalProperties(){return!!this.globalConfiguration&&this.globalConfiguration.aspects.length>0}async getGlobalProperties(){return this.globalPropertyHandleService.applyConditionsFromState(await this.globalPropertyHandleService.getHandles(),this.getGlobalPropertyStateManager().getGlobalPropertyState())}getGlobalPropertyStateManager(){return this.globalPropertyStateManager}async getGlobalPropertyTotalSubunits(){return(await this.globalPropertyHandleService.getHandles()).filter(A=>A.getType()===s.AspectType.Option).map(A=>{var a;return((a=A.getCurrentVariant())==null?void 0:a.getPrice())||0}).reduce((A,a)=>A+a,0)}getTotalSubunits(){return this.workflowExperiences.map(e=>e.getTotalPriceSubunits()).reduce((e,t)=>e+t,0)}getProductCollection(){return this.productCollection?new Zt(this.productCollection):void 0}async addWorkflowExperience(e){await this.appendWorkflowExperience(e),await this.injectExperienceIntoPreviewService(e);const t=await this.getGlobalProperties();await Promise.all(t.map(A=>A.applyGlobalState([e])))}async addWorkflowExperiences(e){const t=e.map(i=>i.getWorkflowManager().getTransaction().id),A=t.map(i=>this.workflowExperiences.find(o=>o.getWorkflowManager().getTransaction().id===i));if(A.some(i=>!!i))throw new Error("Unable to add transaction to bundle - Already Exists: "+A.filter(i=>!!i).map(i=>i==null?void 0:i.getWorkflowManager().getTransaction().id).join(", "));const a=P.getMap("transactionOwnerIds")||new Map,n=t.map(i=>a.get(i));await R.getShadowGraphqlClient().mutate({mutation:va,variables:{id:this.id,transactionIds:t,transactionOwnerIds:n}}).catch(i=>{console.error(i)}),this.workflowExperiences.push(...e),await Promise.all([this.updateTransactionOrder(),(async()=>{for(const o of e)await this.injectExperienceIntoPreviewService(o);const i=await this.getGlobalProperties();await Promise.all(i.map(o=>o.applyGlobalState(e)))})()])}async appendWorkflowExperience(e,t=!0){const A=e.getWorkflowManager().getTransaction().id;if(this.workflowExperiences.find(o=>o.getWorkflowManager().getTransaction().id===A))throw new Error("Unable to add transaction to bundle - Already Exists!");const i=(P.getMap("transactionOwnerIds")||new Map).get(A);await R.getShadowGraphqlClient().mutate({mutation:Ua,variables:{id:this.id,transactionId:A},context:{transactionOwnerId:i}}),t&&this.workflowExperiences.push(e)}async removeWorkflowExperience(e){const t=this.workflowExperiences.indexOf(e);await this.removeTransaction(t,this.workflowExperiences[t].getWorkflowManager().getTransaction())}async removeWorkflowExperiences(e){await this.removeTransactions(e.map(t=>t.getWorkflowManager().getTransaction()))}async removeWorkflowExperienceByTransaction(e){const t=this.workflowExperiences.findIndex(A=>A.getWorkflowManager().getTransaction().id===e.id);await this.removeTransaction(t,e)}async removeWorkflowExperiencesByTransactions(e){await this.removeTransactions(e)}async removeTransaction(e,t,A=!0){if(e>-1){const a=this.workflowExperiences.find(n=>n.getWorkflowManager().getTransaction().id===t.id);this.previewService&&a.getWorkflowManager().ejectFromPreviewService(),this.bundleStateManager.removeStateForTransaction(t.id),await R.getShadowGraphqlClient().mutate({mutation:Ga,variables:{id:this.id,transactionId:t.id,name:this.name,metadata:Array.from(this.metadata.entries()).map(([n,i])=>({key:n,value:i})),bundleStateData:this.bundleStateManager.getSerializedState()}}),A&&(this.workflowExperiences.splice(e,1),await this.updateTransactionOrder())}else throw new Error("Unable to remove workflow experience from bundle - Not Found! - "+t.id)}async removeTransactions(e){const t=e.map(a=>this.workflowExperiences.findIndex(n=>n.getWorkflowManager().getTransaction().id===a.id));if(t.some(a=>a===-1))throw new Error("Unable to remove workflow experience from bundle - The following aren't included in the bundle: "+e.filter((a,n)=>t[n]===-1).map(a=>a.id).join(", "));const A=e.map(a=>this.workflowExperiences.splice(this.workflowExperiences.findIndex(n=>n.getWorkflowManager().getTransaction().id===a.id),1)[0]);this.previewService&&A.forEach(a=>a.getWorkflowManager().ejectFromPreviewService()),e.forEach(a=>this.bundleStateManager.removeStateForTransaction(a.id)),await R.getShadowGraphqlClient().mutate({mutation:ka,variables:{id:this.id,transactionIds:e.map(a=>a.id),name:this.name,metadata:Array.from(this.metadata.entries()).map(([a,n])=>({key:a,value:n})),bundleStateData:this.bundleStateManager.getSerializedState()}}),await this.updateTransactionOrder()}async insertWorkflowExperience(e,t){await this.appendWorkflowExperience(e,!1),this.workflowExperiences.splice(t,0,e),await Promise.all([this.updateTransactionOrder(),(async()=>{await this.injectExperienceIntoPreviewService(e);const A=await this.getGlobalProperties();await Promise.all(A.map(a=>a.applyGlobalState([e])))})()])}async replaceWorkflowExperience(e,t){if(e<0||e>=this.workflowExperiences.length)throw new Error("Unable to replace workflow experience in bundle - Index out of range!");const A=this.workflowExperiences[e];if(A.getWorkflowManager().getTransaction().id===t.getWorkflowManager().getTransaction().id)throw new Error("Unable to replace workflow experience in bundle - Same transaction!");await Promise.all([this.removeTransaction(e,A.getWorkflowManager().getTransaction(),!1),this.appendWorkflowExperience(t,!1)]),this.workflowExperiences[e]=t,await Promise.all([this.updateTransactionOrder(),(async()=>{await this.injectExperienceIntoPreviewService(t);const a=await this.getGlobalProperties();await Promise.all(a.map(n=>n.applyGlobalState([t])))})()])}async swapWorkflowExperiences(e,t){if(e<0||e>=this.workflowExperiences.length||t<0||t>=this.workflowExperiences.length)throw new Error("Unable to swap workflow experiences in bundle - Index out of range!");if(e===t)return;const A=this.workflowExperiences[e];this.workflowExperiences[e]=this.workflowExperiences[t],this.workflowExperiences[t]=A,await this.updateTransactionOrder()}getWorkflowExperiences(){return[...this.workflowExperiences]}async sortWorkflowExperiences(e){this.workflowExperiences=this.workflowExperiences.sort(e),await this.updateTransactionOrder()}getWorkflowExperienceCount(){return this.workflowExperiences.length}async addStakeholder(e,t){var n;const A=await R.getShadowGraphqlClient().mutate({mutation:ba,variables:{id:this.id,details:e,type:t||se.Owner}});if(!((n=A.data)!=null&&n.bundleAddStakeholder))throw new Error("Bundle not found!");const a=A.data.bundleAddStakeholder.bundleStakeholders||[];this.storeStakeholderCustomers(a)}async updateStakeholders(e){var a;const t=await R.getShadowGraphqlClient().mutate({mutation:Ja,variables:{id:this.id,input:e}});if(!((a=t.data)!=null&&a.bundleUpdateStakeholders))throw new Error("Bundle not found!");const A=t.data.bundleUpdateStakeholders.bundleStakeholders||[];this.storeStakeholderCustomers(A)}async getAllStakeholders(){const e=await R.getShadowGraphqlClient().query({query:Pa,errorPolicy:"all",variables:{id:this.id}});if(!e.data.bundles||e.data.bundles.length===0)throw new Error("Bundle not found!");const t=e.data.bundles[0].bundleStakeholders||[];return this.storeStakeholderCustomers(t),t}storeStakeholderCustomers(e){e.forEach(t=>{t.customer&&this.client.storeCustomer(t.customer)})}async finish(e){return await wa(this.workflowExperiences.map(t=>({workflowManager:t.getWorkflowManager(),workflow:t.getWorkflowManager().getWorkflow(),layouts:t.getWorkflowManager().getLayouts(),getReducerState:()=>t.getCommandContext().getState(),product:t.getWorkflowManager().getProduct(),transaction:t.getWorkflowManager().getTransaction(),workflowSelections:t.getWorkflowManager().getWorkflowSelections(),designName:t.getWorkflowManager().getWorkflow().name,variationRecords:t.getWorkflowManager().getVariationRecords(),updateVariationRecords:A=>t.updateVariationRecords(A),workflowMetadata:t.getWorkflowManager().getWorkflowMetadata()})),e??(()=>{}))}getPreviewService(){return this.previewService}async setPreviewService(e){if(this.workflowExperiences&&this.workflowExperiences.length>0&&(this.workflowExperiences.forEach(t=>t.getWorkflowManager().ejectFromPreviewService()),e))for(const t of this.workflowExperiences)await this.injectExperienceIntoPreviewService(t);e&&e.registerModelLoadEventListener&&e.registerModelLoadEventListener(this.onModelLoadEvent.bind(this)),this.previewService&&this.previewService!==e&&this.previewService.unregisterModelLoadEventListener&&this.previewService.unregisterModelLoadEventListener(this.onModelLoadEvent.bind(this)),this.previewService=e}setWorkflowExperienceTransform(e,t){return this.bundleStateManager.setWorkflowExperienceTransform(e,t),this.updateBundle()}onModelLoadEvent(e){e.eventType==="unload"||!e.modelContainer||(e.modelContainer.registerMaterialSelectedCallback(()=>this.onModelSelectedEvent(e.modelContainer,!0)),e.modelContainer.registerMaterialDeselectedCallback(()=>this.onModelSelectedEvent(e.modelContainer,!1)))}onModelSelectedEvent(e,t){if(e&&e.metadata&&e.metadata instanceof Map&&e.metadata.has("workflowManager")){const a=e.metadata.get("workflowManager").getTransaction(),n=this.workflowExperiences.find(i=>i.getWorkflowManager().getTransaction().id===a.id);n&&this.fireEvent(t?"workflow-experience-hover-enter":"workflow-experience-hover-exit",{workflowExperience:n})}}async injectExperienceIntoPreviewService(e){if(this.previewService){const t=e.getWorkflowManager().injectIntoPreviewService(this.previewService);try{this.bundleStateManager.applyStateToWorkflowExperience(e)}catch(A){console.error(`Unable to apply state to workflow experience: ${A}`)}await t}}async loadExistingBundles(e,t){if(e.length===0)return;const A=await this.client.getWorkflowExperiences(e.map(a=>({type:"transaction",transactionId:a})),t);if(this.workflowExperiences=A,this.previewService)for(const a of A)await this.injectExperienceIntoPreviewService(a)}async updateBundle(){var t;if(!((t=(await R.getShadowGraphqlClient().mutate({mutation:Ha,variables:{id:this.id,name:this.name,metadata:Array.from(this.metadata.entries()).map(([A,a])=>({key:A,value:a})),bundleStateData:this.bundleStateManager.getSerializedState()}})).data)!=null&&t.bundleUpdate))throw new Error("Bundle not found!")}async updateTransactionOrder(){await R.getShadowGraphqlClient().mutate({mutation:Ta,variables:{id:this.id,transactionIds:this.workflowExperiences.map(e=>e.getWorkflowManager().getTransaction().id)}})}async checkConditionalHandlesChanged(e,t){const A=await this.globalPropertyHandleService.getHandles(),a=this.globalPropertyHandleService.applyConditionsFromState(A,e),n=this.globalPropertyHandleService.applyConditionsFromState(A,t);(()=>{if(a.length!==n.length)return!0;for(let o=0;o<a.length;o++)if(a[o].getName()!==n[o].getName())return!0;return!1})()&&this.fireEvent("conditional-global-properties-changed",{globalProperties:n})}fireEvent(e,t){(this.eventListeners.get(e)||[]).forEach(a=>a({bundle:this,event:e,data:t}))}}const Za=y.gql`
2426
2239
  mutation processFlowCreate($processFlowId: String!, $inputs: [String]!) {
2427
2240
  processExecutionCreate(processFlowId: $processFlowId, inputs: $inputs) {
2428
2241
  id
2429
- nodes {
2430
- type
2431
- artifacts
2432
- }
2433
2242
  }
2434
2243
  }
2435
- `;class I5{async execute(t,n,r){var l,u,A,h,f,d,p,m;if(!((u=(l=(await bt.getShadowGraphqlClient().mutate({mutation:D5,variables:{processFlowId:t,inputs:[...n.map(y=>y.getValueForTransmission())]}})).data)==null?void 0:l.processExecutionCreate)!=null&&u.id))throw new Error("Failed to create process execution.");function a(y){return new Promise(v=>{setTimeout(v,y)})}let s=!1,o=0,c;for(;!s;){if(await a(r!=null&&r.sleepTime?Math.max(r.sleepTime,500):2e3),c=await bt.getShadowGraphqlClient().query({query:ct`
2244
+ `;class eA{async execute(e,t,A){var d,B,w;const n=(B=(d=(await R.getShadowGraphqlClient().mutate({mutation:Za,variables:{processFlowId:e,inputs:[...t.map(E=>E.getValueForTransmission())]}})).data)==null?void 0:d.processExecutionCreate)==null?void 0:B.id;if(!n)throw new Error("Failed to create process execution.");function i(E){return new Promise(C=>{setTimeout(C,E)})}let o=!1,r=0,g,c;for(;!o;){g=await R.getShadowGraphqlClient().query({query:y.gql`
2436
2245
  query getProcessFlowExecution($ids: [String]!) {
2437
2246
  processExecutions(ids: $ids) {
2438
2247
  id
2439
2248
  completedAt
2440
2249
  failedAt
2441
2250
  nodes {
2251
+ id
2442
2252
  type
2443
2253
  artifacts
2444
2254
  }
2445
2255
  }
2446
2256
  }
2447
- `,variables:{ids:[t]}}),!c||!((A=c.data)!=null&&A.getProcessFlowExecution))throw new Error("Failed to retrieve server response for execution.");if((f=(h=c.data)==null?void 0:h.getProcessFlowExecution)==null?void 0:f.completedAt){s=!0;break}if((p=(d=c.data)==null?void 0:d.getProcessFlowExecution)!=null&&p.failedAt)throw new Error("Execution has failed to complete. See Executions tab in partner account on SpiffCommerce Hub.");if(o+=1,o>=5)throw new Error("Maximum wait time exceeded for execution result.")}return Promise.resolve((m=c.data)==null?void 0:m.getProcessFlowExecution)}}class oB{constructor(t){this.value=t}getRaw(){return this.value}getValueForTransmission(){const t=this.value;return t.startsWith("[")?JSON.stringify(JSON.parse(t)):JSON.stringify(t)}}var cB=(e=>(e.Transaction="Transaction",e.Bundle="Bundle",e.Product="Product",e.Variant="Variant",e.Option="Option",e.LineItem="LineItem",e.Asset="Asset",e))(cB||{});class Y0 extends oB{constructor(t,n){if(n!=="Asset"&&!Y0.validUUID(t))throw new Error("Invalid ID, must be a valid v4 UUID. https://www.uuidgenerator.net/");super(`{"isSpiffObject": true, "id": "${t}", "type": "${n}"}`)}static validUUID(t){return t.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i)}}class F5 extends oB{constructor(t){super(t)}}const Q5=ct`
2257
+ `,variables:{ids:[n]}});const E=(w=g.data)==null?void 0:w.processExecutions[0];if(!g||!E)throw new Error("Failed to retrieve server response for execution.");if(E.failedAt)throw new Error("Execution has failed to complete. See Automation > FLows in Flight on partner account on SpiffCommerce Hub.");if(E.completedAt){o=!0,c=new tA(E);break}r+=1;const C=A!=null&&A.repeats?A==null?void 0:A.repeats:5;if(r>=C)throw new Error("Maximum wait time exceeded for execution result.");await i(A!=null&&A.sleepTime?Math.max(A.sleepTime,500):2e3)}if(!c)throw new Error("Failed to retrieve server response for execution.");return Promise.resolve(c)}}class tA{constructor(e){this.execution=e}getRaw(){return this.execution}getNodes(){return this.execution.nodes.map(e=>new de(e))}getNodesByType(e){return this.execution.nodes.filter(t=>t.type===e).map(t=>new de(t))}getInputs(){return this.execution.nodes.filter(e=>e.type==="StartTerminal").map(e=>new de(e))}getOutputs(){return this.execution.nodes.filter(e=>e.type==="EndTerminal").map(e=>new de(e))}getCompletedAt(){if(this.execution.completedAt)return new Date(this.execution.completedAt)}getFailedAt(){if(this.execution.failedAt)return new Date(this.execution.failedAt)}}class de{constructor(e){this.node=e}getId(){return this.node.id}getType(){return this.node.type}getArtifacts(){return new Map(Object.entries(JSON.parse(this.node.artifacts).value))}getArtifactByName(e){return console.log(this.getArtifacts()),this.getArtifacts().get(e)}}class $a{constructor(e){this.value=e}getRaw(){return this.value}getValueForTransmission(){const e=this.value;return e.startsWith("[")?JSON.stringify(JSON.parse(e)):e}}var AA=(l=>(l.Transaction="Transaction",l.Bundle="Bundle",l.Product="Product",l.Variant="Variant",l.Option="Option",l.LineItem="LineItem",l.Asset="Asset",l))(AA||{});class je extends $a{constructor(e,t){if(t!=="Asset"&&!je.validUUID(e))throw new Error("Invalid ID, must be a valid v4 UUID. https://www.uuidgenerator.net/");super(`{"isSpiffObject": true, "id": "${e}", "type": "${t}"}`)}static validUUID(e){return e.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i)}}const _a=y.gql`
2448
2258
  fragment RegionFields on Region {
2449
2259
  width
2450
2260
  top
@@ -2462,7 +2272,7 @@ IfnI8vaNAAAAAElFTkSuQmCC" transform="matrix(0.13 0.0141 -0.0141 0.1301 104.926 1
2462
2272
  height
2463
2273
  }
2464
2274
  }
2465
- `,M5=ct`
2275
+ `,en=y.gql`
2466
2276
  fragment LookAtAnimationFields on LookAtAnimation {
2467
2277
  latDeg
2468
2278
  lonDeg
@@ -2473,7 +2283,7 @@ IfnI8vaNAAAAAElFTkSuQmCC" transform="matrix(0.13 0.0141 -0.0141 0.1301 104.926 1
2473
2283
  z
2474
2284
  }
2475
2285
  }
2476
- `,T5=ct`
2286
+ `,tn=y.gql`
2477
2287
  fragment RenderingPipelineConfigurationFields on RenderingPipelineConfiguration {
2478
2288
  antiAliasing {
2479
2289
  samples
@@ -2557,21 +2367,21 @@ IfnI8vaNAAAAAElFTkSuQmCC" transform="matrix(0.13 0.0141 -0.0141 0.1301 104.926 1
2557
2367
  weight
2558
2368
  }
2559
2369
  }
2560
- `,N5=ct`
2370
+ `,An=y.gql`
2561
2371
  fragment ModelAnimationFields on ModelAnimation {
2562
2372
  from
2563
2373
  to
2564
2374
  loop
2565
2375
  name
2566
2376
  }
2567
- `,P5=e=>ct`
2568
- ${iu(e)}
2569
- ${Gf}
2570
- ${iv}
2571
- ${Q5}
2572
- ${M5}
2573
- ${T5}
2574
- ${N5}
2377
+ `,an=l=>y.gql`
2378
+ ${Ce(l)}
2379
+ ${Ne}
2380
+ ${rt}
2381
+ ${_a}
2382
+ ${en}
2383
+ ${tn}
2384
+ ${An}
2575
2385
  query GetWorkflows($ids: [String!]!) {
2576
2386
  workflows(ids: $ids) {
2577
2387
  allowProofDownload
@@ -2959,7 +2769,7 @@ IfnI8vaNAAAAAElFTkSuQmCC" transform="matrix(0.13 0.0141 -0.0141 0.1301 104.926 1
2959
2769
  }
2960
2770
  }
2961
2771
  }
2962
- `,k5=ct`
2772
+ `,nn=y.gql`
2963
2773
  query GetTransactionForPartner($id: String!) {
2964
2774
  transactions(ids: [$id]) {
2965
2775
  id
@@ -2976,8 +2786,8 @@ IfnI8vaNAAAAAElFTkSuQmCC" transform="matrix(0.13 0.0141 -0.0141 0.1301 104.926 1
2976
2786
  }
2977
2787
  }
2978
2788
  }
2979
- `,R5=ct`
2980
- ${iu(!1)}
2789
+ `,on=y.gql`
2790
+ ${Ce(!1)}
2981
2791
  query GetWorkflowForTheme($id: String!) {
2982
2792
  workflow(id: $id) {
2983
2793
  id
@@ -2998,7 +2808,7 @@ IfnI8vaNAAAAAElFTkSuQmCC" transform="matrix(0.13 0.0141 -0.0141 0.1301 104.926 1
2998
2808
  }
2999
2809
  }
3000
2810
  }
3001
- `,O5=ct`
2811
+ `,sn=y.gql`
3002
2812
  query GetCustomer($emailAddress: String!) {
3003
2813
  customer(emailAddress: $emailAddress) {
3004
2814
  id
@@ -3008,7 +2818,7 @@ IfnI8vaNAAAAAElFTkSuQmCC" transform="matrix(0.13 0.0141 -0.0141 0.1301 104.926 1
3008
2818
  }
3009
2819
  }
3010
2820
  }
3011
- `,U5=ct`
2821
+ `,rn=y.gql`
3012
2822
  mutation CustomerCreate($details: CustomerDetailsInput!) {
3013
2823
  customerCreate(details: $details) {
3014
2824
  id
@@ -3018,7 +2828,7 @@ IfnI8vaNAAAAAElFTkSuQmCC" transform="matrix(0.13 0.0141 -0.0141 0.1301 104.926 1
3018
2828
  }
3019
2829
  }
3020
2830
  }
3021
- `,L5=ct`
2831
+ `,cn=y.gql`
3022
2832
  mutation CustomerAuthenticate($loginToken: String!) {
3023
2833
  customerAuthenticate(loginToken: $loginToken) {
3024
2834
  id
@@ -3045,11 +2855,11 @@ IfnI8vaNAAAAAElFTkSuQmCC" transform="matrix(0.13 0.0141 -0.0141 0.1301 104.926 1
3045
2855
  }
3046
2856
  }
3047
2857
  }
3048
- `,Y5=ct`
2858
+ `,gn=y.gql`
3049
2859
  mutation CustomerGenerateVerificationCode($emailAddress: String!) {
3050
2860
  customerGenerateVerificationCode(emailAddress: $emailAddress)
3051
2861
  }
3052
- `,H5=ct`
2862
+ `,ln=y.gql`
3053
2863
  mutation CustomerVerifyCode($emailAddress: String!, $verificationCode: String!) {
3054
2864
  customerVerifyCode(emailAddress: $emailAddress, verificationCode: $verificationCode) {
3055
2865
  id
@@ -3077,4 +2887,4 @@ IfnI8vaNAAAAAElFTkSuQmCC" transform="matrix(0.13 0.0141 -0.0141 0.1301 104.926 1
3077
2887
  }
3078
2888
  }
3079
2889
  }
3080
- `,G5=async(e,t)=>{var i;const n=await bt.getShadowGraphqlClient().query({query:P5(((i=t==null?void 0:t.assets)==null?void 0:i.metadata)||!1),errorPolicy:"all",fetchPolicy:"no-cache",variables:{ids:e}}),r=n.data.workflows;if(r===void 0||r.length!==e.length)throw new Error(`Unable to read workflows: ${n.errors??"Length mismatch in response"}`);return r.forEach(a=>{a.steps.forEach(s=>{var o,c,l;delete s.data.__typename,(o=s.option)!=null&&o.id&&((c=s.option.defaultVariant)!=null&&c.asset&&Re.cacheAsset(s.option.defaultVariant.asset),s.option.colorProfile&&Re.cacheAsset(s.option.colorProfile),(l=s.option.variants)==null||l.forEach(u=>{u.asset&&Re.cacheAsset(u.asset),u.displayImage&&Re.cacheAsset(u.displayImage),u.thumbnail&&Re.cacheAsset(u.thumbnail),u.material&&Re.cacheMaterial(u.material)}),Eo.set({id:s.option.id},Promise.resolve(s.option)))})}),r},V5=async(e,t)=>{const r=(await t).find(i=>i.id===e);if(!r)throw new Error(`Workflow not found: ${e}`);return r},H0=async(e,t)=>{const n=e.map(o=>Eo.get({id:o,options:t})),r=e.filter((o,c)=>n[c]===void 0);if(r.length===0)return Promise.all(n);const i=G5(r,t),a=r.map(o=>Eo.set({id:o,options:t},V5(o,i))),s=n.filter(o=>o!==void 0);return await Promise.all(s.concat(a))},Vo=async(e,t)=>(await H0([e],t))[0],z5=e=>e.sort((t,n)=>t.index-n.index).map(t=>({id:Dt(),panelId:t.name,name:t.name,index:t.index,createdAt:new Date,updatedAt:new Date,transparentBackground:t.transparentBackground,height:t.height,width:t.width,previewRegion:t.previewRegion,useEditableArea:t.useEditableArea,editableArea:t.editableArea})),G0=(e,t)=>{const n=e.workflowState,r=n?JSON.parse(n):void 0;return r?Object.values(r.layouts).map(i=>i.layout):z5(t.panels)};class lB{constructor(t){this.updateTransactionState=async n=>{try{return bt.getShadowGraphqlClient().mutate({...n,mutation:ZN})}catch(r){throw console.error(r),new Gt("Critical - Unable to synchronize workflow state with server.")}},this.initialized=!1,this.options=t,this.options.applicationKey&&NN(this.options.applicationKey)}getAssetManager(){return Re}getCurrencyCode(){if(this.currencyCode===void 0)throw new Error("No currency code set.");return this.currencyCode}getFlowService(){if(!this.options.applicationKey)throw new Error("Application key required to use Flow Service.");return new I5}async authenticateBundleFromLocalStorage(t){var i,a;const n=vt.getMap("bundleOwnerIds");if(n!=null&&n.has(t)){const s=n.get(t);return Hf(s),Promise.resolve({success:!0,stakeholderType:Bo.Owner})}const r=vt.getMap("bundlePartnerIds")||new Map;if(r.has(t)){const s=r.get(t),c=(vt.getMap("partnerCustomerIds")||new Map).get(s);if(c&&await this.authenticateCustomerId(c)){const u=(a=(i=this.customer)==null?void 0:i.bundleStakeholders)==null?void 0:a.find(A=>{var h;return((h=A.bundle)==null?void 0:h.id)===t});if(u)return Promise.resolve({success:!0,stakeholderType:u.type})}}return Promise.resolve({success:!1})}async authenticateTransactionFromLocalStorage(t){var u,A,h,f,d,p;const n=bt.getShadowGraphqlClient(),r=await n.query({query:k5,errorPolicy:"all",fetchPolicy:"no-cache",variables:{id:t}});if(!r.data.transactions||r.data.transactions.length===0)throw new Error(`Transaction not found: ${t}`);const i=r.data.transactions[0];if(!((A=(u=i.product)==null?void 0:u.partner)==null?void 0:A.id))throw new Error(`Unable to read transaction: ${t}`);if(i.isOrdered)return Promise.resolve({success:!1,transactionReadOnly:!0});const s=vt.getMap("transactionOwnerIds");if(s!=null&&s.has(t)){const m=s.get(t);return ja(m),Promise.resolve({success:!0,stakeholderType:Bo.Owner})}const o=vt.getMap("transactionCustomerIds");if(o!=null&&o.has(t)){const m=o.get(t);if(m&&await this.authenticateCustomerId(m)){const v=((f=(h=this.customer)==null?void 0:h.bundleStakeholders)==null?void 0:f.find(w=>{var B,C;return(C=(B=w.bundle)==null?void 0:B.transactions)==null?void 0:C.some(x=>x.id===t)}))||((p=(d=this.customer)==null?void 0:d.stakeholders)==null?void 0:p.find(w=>{var B;return((B=w.transaction)==null?void 0:B.id)===t}));if(v)return Promise.resolve({success:!0,stakeholderType:v.type})}}const l=(await n.query({query:R5,errorPolicy:"all",variables:{id:i.workflowId}})).data.workflow;if(!l)throw new Error(`Unable to read workflow: ${i.workflowId}`);return Promise.resolve({success:!1,theme:l.overrideTheme,customLogoLink:i.customLogoLink})}clearCustomer(){this.customer=void 0}clearCustomerForTransaction(t){const n=vt.getMap("transactionCustomerIds");n!=null&&n.has(t)&&(n.delete(t),vt.setMap("transactionCustomerIds",n))}getStakeholderTypeForTransaction(t){var r,i;const n=(i=(r=this.customer)==null?void 0:r.stakeholders)==null?void 0:i.find(a=>{var s;return((s=a.transaction)==null?void 0:s.id)===t});if(n)return n.type}async getOrCreateCustomer(t){var s;this.customer=void 0;const n=bt.getShadowGraphqlClient(),i=(await n.query({query:O5,errorPolicy:"all",fetchPolicy:"no-cache",variables:{emailAddress:t}})).data.customer;if(!i.id){const c=(s=(await n.mutate({mutation:U5,errorPolicy:"all",fetchPolicy:"no-cache",variables:{details:{emailAddress:t}}})).data)==null?void 0:s.customerCreate;if(!c)throw new Error("Unable to create customer.");return this.storeCustomer(c),this.customer=c,{customer:c,isAuthenticated:!1}}this.storeCustomer(i);const a=await this.authenticateCustomerId(i.id);return{customer:this.customer||i,isAuthenticated:a}}async authenticateCustomerId(t){var o;const n=bt.getShadowGraphqlClient(),r=vt.getMap("customerTokens");if(!(r!=null&&r.has(t)))return!1;const i=r.get(t);if(!i)return!1;const s=(o=(await n.mutate({mutation:L5,errorPolicy:"all",fetchPolicy:"no-cache",variables:{loginToken:i}})).data)==null?void 0:o.customerAuthenticate;return s?(this.storeCustomer(s),ev(i),this.customer=s,!0):!1}async generateVerificationCode(t){await bt.getShadowGraphqlClient().mutate({mutation:Y5,variables:{emailAddress:t}})}async verifyCode(t,n){var a,s;const i=(a=(await bt.getShadowGraphqlClient().mutate({mutation:H5,errorPolicy:"all",fetchPolicy:"no-cache",variables:{emailAddress:t,verificationCode:n}})).data)==null?void 0:a.customerVerifyCode;if(i!=null&&i.loginToken){if(!((s=i.partner)!=null&&s.id))throw new Error(`Unable to find customer: ${t}`);const o=vt.getMap("customerTokens")||new Map;return o.set(i.id,i.loginToken),vt.setMap("customerTokens",o),this.storeCustomer(i),ev(i.loginToken),this.customer={...i,loginToken:void 0},!0}return!1}async getNewBundle(t){var s;const r=(s=(await bt.getShadowGraphqlClient().mutate({mutation:l5,variables:{collectionId:t},fetchPolicy:"no-cache"})).data)==null?void 0:s.bundleCreate;if(!(r!=null&&r.id))throw new Error("Unable to create bundle");const i=vt.getMap("bundlePartnerIds")||new Map;i.set(r.id,r.partner.id),vt.setMap("bundlePartnerIds",i),Hf(r.bundleOwnerId);const a=vt.getMap("bundleOwnerIds")||new Map;return a.set(r.id,r.bundleOwnerId),vt.setMap("bundleOwnerIds",a),new sB(this,r)}async getExistingBundle(t,n,r){var u,A,h,f;const i=vt.getMap("bundleOwnerIds"),a=i==null?void 0:i.get(t);a&&Hf(a);const s=await bt.getShadowGraphqlClient().query({query:s5,variables:{id:t},fetchPolicy:"no-cache"});if(!((u=s.data)!=null&&u.bundles)||((A=s.data)==null?void 0:A.bundles.length)===0||!((h=s.data)!=null&&h.bundles[0]))throw new Error(`Unable to find bundle: ${t}`);const o=(f=s.data)==null?void 0:f.bundles[0],c=vt.getMap("bundlePartnerIds")||new Map;c.set(o.id,o.partner.id),vt.setMap("bundlePartnerIds",c);const l=new sB(this,o,n,r);return await l.getInitializationPromise(),l}async getBundleStakeholders(){var a;if(!this.customer)throw new Error("Customer not authenticated.");const t=await bt.getShadowGraphqlClient().query({query:c5,variables:{id:this.customer.id},fetchPolicy:"no-cache"});if(!((a=t.data)!=null&&a.customers)||t.data.customers.length===0)throw new Error("Unable to find customer.");const r=t.data.customers[0].bundleStakeholders||[],i=vt.getMap("bundlePartnerIds")||new Map;return r.forEach(s=>{var o,c;(o=s.bundle)!=null&&o.id&&((c=s.bundle.partner)!=null&&c.id)&&i.set(s.bundle.id,s.bundle.partner.id)}),vt.setMap("bundlePartnerIds",i),r}async getWorkflowExperience(t,n,r,i){var h,f,d,p,m;if(!i)return await this.getWorkflowExperienceDeprecated(t,n,r);const a=async y=>{var v;for(const w in y.layouts){const B=y.layouts[w].elements.filter(x=>x.type===Et.Illustration);for(let x=0;x<B.length;++x){const b=B[x];b.src&&b.svg&&(b.cachedObjectURL=await Gi(b.svg))}const C=y.layouts[w].elements.filter(x=>x.type===Et.Textbox);for(let x=0;x<C.length;++x){const b=C[x];(v=b.fontData)!=null&&v.assetUrl&&Ni(b.fontData.assetUrl)}}},s=async()=>{var v,w;const y=bt.getShadowGraphqlClient();if(i.type==="transaction"){const{transactionId:B,readOnly:C}=i,x=await y.query({query:au,variables:{ids:[B]},errorPolicy:"all",fetchPolicy:"no-cache"});if(!((v=x.data)!=null&&v.transactions)||x.data.transactions.length===0)throw new Gt("Existing transaction not found.");const b=(w=x.data)==null?void 0:w.transactions[0];if(!b.workflowId)throw new Gt("Existing transaction has no workflow ID.");const D=await Vo(b.workflowId);if(!b.product)throw new Gt("Failed to load transaction, product not available.");return{transaction:b,workflow:D,readOnly:C}}if(i.type==="integration"||i.type==="external"){const B=async()=>{const D=i.type==="integration"?{integrationProductId:i.integrationProductId}:{externalIntegrationId:i.externalIntegrationId,externalProductId:i.externalProductId},T=await y.mutate({mutation:lv,variables:{...D,bulk:i.bulk,workflowId:i.workflowId,claim:!0},errorPolicy:"all",fetchPolicy:"no-cache",context:this.options.applicationKey?{headers:{"X-Application-Key":this.options.applicationKey}}:void 0});if(!T.data||!T.data.transactionCreate)throw new Gt("Failed to create transaction!");const P=T.data.transactionCreate;if(!P.product)throw new Gt("Failed to create transaction, product not available.");return P},C=Vo(i.workflowId,i==null?void 0:i.graphql),[x,b]=await Promise.all([B(),C]);return{transaction:x,workflow:b}}throw new Gt("No workflow ID provided.")},{transaction:o,workflow:c,readOnly:l}=await s();this.currencyCode=(h=o.product.partner)==null?void 0:h.currencyCode;const u={product:o.product,transaction:o,layouts:[],stateMutationFunc:l?async()=>{throw new ge("State mutation is forbidden in read only mode!")}:async y=>{const w=(vt.getMap("transactionOwnerIds")||new Map).get(o.id)||void 0;return this.updateTransactionState({...y,context:{transactionOwnerId:w}})},readOnly:l,workflow:c};if(i.type==="transaction"&&o.workflowState){const y=JSON.parse(o.workflowState);u.layouts=Object.values(y.layouts).map(v=>v.layout),await ki(y),await a(y),u.reloadedState=y}else if(!l&&i.workflowState){const y=JSON.parse(i.workflowState);u.layouts=Object.values(y.layouts).map(v=>v.layout),await ki(y),await a(y),u.reloadedState=y}else u.layouts=G0(u.transaction,u.workflow);if(u.renderableContextService=new Tu(u.layouts),i.previewService?(u.previewService=i.previewService,(f=u.product)!=null&&f.modelUrl&&(u.modelContainer=u.previewService.loadModel({model:u.product.modelUrl,contextService:u.renderableContextService}))):(u.previewService=r&&r(c),(d=u.product)!=null&&d.modelUrl&&((p=u.previewService)==null||p.initialize({model:u.product.modelUrl,contextService:u.renderableContextService}),u.modelContainer=(m=u.previewService)==null?void 0:m.getAllModels()[0])),i.type!=="transaction"){const y=vt.getMap("transactionOwnerIds")||new Map;y.set(o.id,o.transactionOwnerId),ja(o.transactionOwnerId||""),vt.setMap("transactionOwnerIds",y)}else{const v=(vt.getMap("transactionOwnerIds")||new Map).get(o.id);v&&ja(v),u.isReloadedTransaction=!0}this.initialized=!0,this.experienceOptions=u;const A=new Go(this,u);return await A.getWorkflowManager().getInitializationPromise(),i.type!=="transaction"&&this.customer&&await A.attachCustomerDetails({email:this.customer.emailAddress}),A}async getWorkflowExperiences(t,n){if(t.length===0)throw new Gt("No options provided!");const r=bt.getShadowGraphqlClient(),i=t.map((w,B)=>({option:w,index:B})),a=i.filter(w=>w.option.type==="transaction"),s=i.filter(w=>w.option.type==="integration"||w.option.type==="external"),o=async()=>{var x,b;if(a.length===0)return[];const w=a.map(D=>D.option.transactionId),B=await r.query({query:au,variables:{ids:w},errorPolicy:"all",fetchPolicy:"no-cache"}),C=B.data.transactions;if(C.length!==a.length){const D=((b=(x=B.errors)==null?void 0:x[0])==null?void 0:b.message)||"Unknown error";throw new Gt(`Not all transactions were found: ${D}`)}return C.map((D,T)=>{var P;return{transaction:D,workflowId:D.workflowId,readOnly:((P=a.find(L=>L.option.transactionId===D.id))==null?void 0:P.option.readOnly)??!1,index:a[T].index}})},c=async()=>{var C,x,b;if(s.length===0)return[];const w=await r.mutate({mutation:_N,variables:{inputs:s.map(D=>({integrationProductId:D.option.type==="integration"?D.option.integrationProductId:void 0,externalIntegrationId:D.option.type==="external"?D.option.externalIntegrationId:void 0,externalProductId:D.option.type==="external"?D.option.externalProductId:void 0,workflowId:D.option.workflowId,bulk:D.option.bulk,claim:!0}))},errorPolicy:"all",fetchPolicy:"no-cache"}),B=(C=w.data)==null?void 0:C.transactionCreateMany;if(!B||B.length===0){const D=((b=(x=w.errors)==null?void 0:x[0])==null?void 0:b.message)||"Unknown error";throw new Gt(`Failed to create transactions: ${D}`)}return B.map((D,T)=>({transaction:D,workflowId:D.workflowId,readOnly:!1,index:s[T].index}))},l=(await Promise.all([o(),c()])).flat(),u=[...new Set(l.map(w=>w.workflowId))],A=await H0(u,n),h=new Map(A.map(w=>[w.id,w])),f=async w=>{var B;for(const C in w.layouts){const x=w.layouts[C].elements.filter(D=>D.type===Et.Illustration);for(let D=0;D<x.length;++D){const T=x[D];T.src&&T.svg&&(T.cachedObjectURL=await Gi(T.svg))}const b=w.layouts[C].elements.filter(D=>D.type===Et.Textbox);for(let D=0;D<b.length;++D){const T=b[D];(B=T.fontData)!=null&&B.assetUrl&&Ni(T.fontData.assetUrl)}}},d=vt.getMap("transactionOwnerIds")||new Map,p=l.map(async w=>{const{transaction:B,workflowId:C,readOnly:x,index:b}=w,D=h.get(C),T=t[b];!d.get(B.id)&&B.transactionOwnerId&&d.set(B.id,B.transactionOwnerId);const P=d.get(B.id)||void 0,L={product:B.product,transaction:B,layouts:[],stateMutationFunc:x?async()=>{throw new ge("State mutation is forbidden in read only mode!")}:async U=>this.updateTransactionState({...U,context:{transactionOwnerId:P}}),readOnly:x,workflow:D,isReloadedTransaction:T.type==="transaction"};if(T.type==="transaction"&&B.workflowState){const U=JSON.parse(B.workflowState);L.layouts=Object.values(U.layouts).map(z=>z.layout),await ki(U),await f(U),L.reloadedState=U}else if(!x&&T.workflowState){const U=JSON.parse(T.workflowState);L.layouts=Object.values(U.layouts).map(z=>z.layout),await ki(U),await f(U),L.reloadedState=U}else L.layouts=G0(L.transaction,L.workflow);return L.renderableContextService=new Tu(L.layouts),this.initialized=!0,this.experienceOptions=L,{experienceOptions:L,index:b,options:T}});vt.setMap("transactionOwnerIds",d);const v=(await Promise.all(p)).sort((w,B)=>w.index-B.index).map(async w=>{const{experienceOptions:B,options:C}=w,x=new Go(this,B);return await x.getWorkflowManager().getInitializationPromise(),C.type!=="transaction"&&this.customer&&await x.attachCustomerDetails({email:this.customer.emailAddress}),x});return await Promise.all(v)}async initFromIntegrationProduct(t){var s;if(t==="")throw new Gt("No integration product ID provided.");const r=await bt.getShadowGraphqlClient().mutate({mutation:lv,variables:{integrationProductId:t,bulk:this.options.bulk||!1,claim:!0},errorPolicy:"all",fetchPolicy:"no-cache",context:this.options.applicationKey?{headers:{"X-Application-Key":this.options.applicationKey}}:void 0});if(!r.data||!r.data.transactionCreate)throw new Gt("Failed to create transaction!");const i=r.data.transactionCreate;if(!i.product)throw new Gt("Failed to create transaction, product not available.");this.currencyCode=(s=i.product.partner)==null?void 0:s.currencyCode;const a=vt.getMap("transactionOwnerIds")||new Map;a.set(i.id,i.transactionOwnerId),ja(i.transactionOwnerId||""),vt.setMap("transactionOwnerIds",a),this.experienceOptions={product:i.product,transaction:i,layouts:[],stateMutationFunc:this.updateTransactionState},this.initialized=!0}async initFromTransaction(t,n=!1){var o,c,l,u;if(t==="")throw new Gt("No transaction ID provided.");const r=bt.getShadowGraphqlClient(),i=async()=>{var f,d;const h=(f=(await r.query({query:au,variables:{ids:[t]},fetchPolicy:"no-cache",errorPolicy:"all"})).data)==null?void 0:f.transactions[0];if(!h)throw new Gt("Failed to read transaction.");if(!h.product)throw new Gt("Failed to load transaction, product not available.");this.currencyCode=(d=h.product.partner)==null?void 0:d.currencyCode,this.experienceOptions={product:h.product,transaction:h,layouts:[],stateMutationFunc:async()=>{throw new ge("State mutation is forbidden in read only mode!")},readOnly:n},this.initialized=!0};if(n)return await i();const a=vt.getMap("transactionOwnerIds")||new Map,s=a.get(t);if(s){ja(s);const h=(o=(await r.query({query:au,variables:{ids:[t]},errorPolicy:"all"})).data)==null?void 0:o.transactions[0];if(!h)throw new Gt("Failed to read transaction.");if(!h.product)throw new Gt("Failed to load transaction, product not available.");this.currencyCode=(c=h.product.partner)==null?void 0:c.currencyCode,this.experienceOptions={product:h.product,transaction:h,layouts:[],stateMutationFunc:this.updateTransactionState,readOnly:n},this.initialized=!0;return}try{const h=(l=(await r.mutate({mutation:qN,variables:{id:t},errorPolicy:"all"})).data)==null?void 0:l.transactionClaim;if(!h)throw new Gt("Failed to read transaction.");if(!h.product)throw new Gt("Failed to load transaction, product not available.");this.currencyCode=(u=h.product.partner)==null?void 0:u.currencyCode,h.transactionOwnerId&&(a.set(h.id,h.transactionOwnerId),ja(h.transactionOwnerId),vt.setMap("transactionOwnerIds",a)),this.experienceOptions={product:h.product,transaction:h,layouts:[],stateMutationFunc:this.updateTransactionState,readOnly:n},this.initialized=!0}catch{throw new Gt("Attempted to access a transaction that isn't available.")}}async getWorkflowExperienceDeprecated(t,n,r){var a,s,o,c,l,u;if(!this.initialized||!this.experienceOptions)throw new Gt("Cannot launch experience: Not initialized.");const i=async A=>{var h;for(const f in A.layouts){const d=A.layouts[f].elements.filter(m=>m.type===Et.Illustration);for(let m=0;m<d.length;++m){const y=d[m];y.src&&y.svg&&(y.cachedObjectURL=await Gi(y.svg))}const p=A.layouts[f].elements.filter(m=>m.type===Et.Textbox);for(let m=0;m<p.length;++m){const y=p[m];(h=y.fontData)!=null&&h.assetUrl&&Ni(y.fontData.assetUrl)}}};if(this.experienceOptions.transaction.workflowId){const A=await Vo(this.experienceOptions.transaction.workflowId);if(this.experienceOptions.workflow=A,this.experienceOptions.transaction.workflowState){const f=JSON.parse(this.experienceOptions.transaction.workflowState);this.experienceOptions.layouts=Object.values(f.layouts).map(d=>d.layout),await ki(f),await i(f),this.experienceOptions.reloadedState=f}this.experienceOptions.previewService=r&&r(A),this.experienceOptions.renderableContextService=new Tu(this.experienceOptions.layouts),(a=this.experienceOptions.product)!=null&&a.modelUrl&&((s=this.experienceOptions.previewService)==null||s.initialize({model:this.experienceOptions.product.modelUrl,contextService:this.experienceOptions.renderableContextService}),this.experienceOptions.modelContainer=(o=this.experienceOptions.previewService)==null?void 0:o.getAllModels()[0]);const h=new Go(this,this.experienceOptions);return await h.getWorkflowManager().getInitializationPromise(),h}if(t){const A=bt.getShadowGraphqlClient().mutate({mutation:$N,variables:{workflowId:t,id:this.experienceOptions.transaction.id}}),h=Vo(t);if(await Promise.all([A,h]),this.experienceOptions.workflow=await h,n){const d=JSON.parse(n);this.experienceOptions.layouts=Object.values(d.layouts).map(p=>p.layout),await ki(d),await i(d),this.experienceOptions.reloadedState=d}else this.experienceOptions.layouts=G0(this.experienceOptions.transaction,this.experienceOptions.workflow);this.experienceOptions.previewService=r&&r(await h),this.experienceOptions.renderableContextService=new Tu(this.experienceOptions.layouts),(c=this.experienceOptions.product)!=null&&c.modelUrl&&((l=this.experienceOptions.previewService)==null||l.initialize({model:this.experienceOptions.product.modelUrl,contextService:this.experienceOptions.renderableContextService}),this.experienceOptions.modelContainer=(u=this.experienceOptions.previewService)==null?void 0:u.getAllModels()[0]);const f=new Go(this,this.experienceOptions);return await f.getWorkflowManager().getInitializationPromise(),f}throw new Gt("No workflow ID provided.")}getPreviewService(){var t;return(t=this.experienceOptions)==null?void 0:t.previewService}getProduct(){if(!this.initialized||!this.experienceOptions)throw new Gt("Cannot get product: Not initialized.");return this.experienceOptions.product}getTransaction(){if(!this.initialized||!this.experienceOptions)throw new Gt("Cannot get transaction: Not initialized.");return this.experienceOptions.transaction}storeCustomer(t){const n=vt.getMap("partnerCustomerIds")||new Map;n.set(t.partner.id,t.id),vt.setMap("partnerCustomerIds",n)}}class J5{getInitializationPromise(){return Promise.resolve()}isInitialized(){return!0}getInformationResults(){return[]}getVariationRecords(){return[]}async reset(){}updateStateWithServer(t){}addVariationRecord(t){return{recordNumber:0,transactionId:"",values:[]}}getCurrentVariationRecord(){}removeVariationRecord(t){return[]}async outstandingRequestsPromise(){}async updateStateWithServerImmediate(t){}addPoller(t){}addConfirmCallback(t){}addCurrentVariationCallback(t){}addEditedCallback(t){}addElementsCallback(t){}addInformationResultCallback(t){}addInitCallback(t){}addMakingAdjustmentsCallback(t){}addMandatoryCallback(t){}addMetadataCallback(t){}addSelectionCallback(t){}addStepSpecificStorageCallback(t,n){}addStorageCallback(t){}addVariationRecordsCallback(t){}getCommandDispatcher(){return t=>{}}getLayouts(){return[]}getLayoutPreviewService(){return{getAll:()=>new Map}}getPreviewService(){}getModelContainer(){}getProfanities(){return[]}getRegionElements(t){return[]}getSerializedStep(t,n){}getStepSpecificServices(t){}getTransaction(){return{id:""}}getTransactionCustomer(){}setTransactionCustomer(){}setTransactionCustomerDetails(){}getWorkflow(){return{id:"",name:"",panels:[],steps:[],showModelOnFinishStep:!1,allowProofDownload:!1,introduction:"",stepGroups:[]}}markStepsAsInitialised(t){}markUpdateCompleted(t){}markUpdatePending(){return"123"}getWorkflowSelections(){return{}}setCurrentAdjustingStepId(t){}setCurrentVariationRecord(t){}setEditedStatus(t,n){}setInformationResults(t){}setMandatoryFulfilled(t,n){}async setSelectionsAndElements(t,n,r){}setVariationRecords(t){}toggleDesignConfirmed(){}updateMetadata(t,n){}async updateStorage(t,n){}injectIntoPreviewService(t){return Promise.resolve()}ejectFromPreviewService(){}}var uB=(e=>(e.SelectFrame="SelectFrame",e.SelectImage="SelectImage",e.Position="Position",e))(uB||{});class AB extends Xn{constructor(t,n){var r;super(t,n),this.frameService=(r=this.manager.getStepSpecificServices(this.getId()))==null?void 0:r.frameService}selectVariant(t){const n=this.manager.getRegionElements(this.step.stepName);return Cu.selectVariant(this.step,t.getResource(),n,this.manager,r=>this.setUpdateState(r))}onFrameDataChanged(t){this.frameService&&this.frameService.onFrameDataChanged(n=>{n&&t(n)})}selectImage(t){return Cu.selectImage(this.step,t,this.manager)}getImageData(){if(this.frameService)return this.frameService.getImageData()}getCurrentFrameStep(t,n,r,i){return i&&i.length>1&&t===void 0?"SelectFrame":n||r||this.getImageData()?"Position":"SelectImage"}getFrameService(){return this.frameService}hasOverlayImageKey(){return this.step.data.overlayImageKey}hasOverlayImageUrl(){return this.step.data.overlayImageUrl}hasVaryingUpload(){return this.step.data.varyUpload}hasVaryingSelection(){return this.step.data.varySelection}}I.AssetNotFoundError=li,I.AssetType=nl,I.BringForwardCommand=GF,I.BringToBackCommand=HF,I.BringToFrontCommand=YF,I.BulkPriceCalculationStrategy=sv,I.BulkStepHandle=LE,I.CanvasCommand=le,I.CollectionProduct=aB,I.CommandContext=Ym,I.ConversionDataType=cv,I.ConversionLocation=ov,I.CreateElementCommand=ve,I.CreateLayoutCommand=Kh,I.DeleteElementCommand=ri,I.FontAlignmentCommand=UF,I.FontColorCommand=Gm,I.FontSizeCommand=Vm,I.FontSourceCommand=_h,I.FrameService=_v,I.FrameStep=uB,I.FrameStepHandle=AB,I.GlobalPropertyHandle=Pu,I.GroupCommand=$t,I.IllustrationStepHandle=YE,I.InformationMessageType=Yo,I.InformationStepHandle=WE,I.LayoutElementFactory=FN,I.LayoutElementType=Et,I.LayoutNotFoundError=ke,I.MaterialStepHandle=HE,I.MisconfigurationError=yo,I.MockWorkflowManager=J5,I.ModelStepHandle=GE,I.MoveCommand=kF,I.ObjectInput=Y0,I.ObjectInputType=cB,I.OptionNotFoundError=mo,I.ParseError=Ja,I.PictureStepHandle=VE,I.ProductCameraRig=av,I.ProductCollection=iB,I.PromiseQueue=o0,I.QuestionStepHandle=zE,I.QueueablePromise=s0,I.ResizeCommand=OF,I.ResourceNotFoundError=za,I.RotateCommand=RF,I.SendBackwardsCommand=VF,I.ShapeStepHandle=JE,I.SpiffCommerceClient=lB,I.StakeholderType=Bo,I.StepAspectType=sn,I.StepHandle=Xn,I.StepType=j,I.TextChangeCommand=Jm,I.TextInput=F5,I.TextStepHandle=jE,I.UnhandledBehaviorError=ge,I.UnitOfMeasurement=Xd,I.Variant=Ir,I.WorkflowExperienceImpl=Go,I.assetService=Re,I.createDesign=ZE,I.dataUrlFromExternalUrl=Im,I.designService=Mu,I.determineCorrectFontSizeAndLines=so,I.digitalContentStepService=vE,I.findElement=we,I.frameDataCache=Wl,I.frameStepService=Cu,I.gatherVaryingStepAspects=a0,I.generate=Dt,I.generateCommands=$E,I.generateSVGWithUnknownColors=Na,I.generateStateFromDesignInputSteps=eB,I.getAttributesFromArrayBuffer=ro,I.getAxisAlignedBoundingBox=L2,I.getBoundedOffsets=Xv,I.getFrameData=ao,I.getSvgElement=Rl,I.getWorkflow=Vo,I.getWorkflows=H0,I.graphQlManager=bt,I.illustrationStepService=Ro,I.loadFontFromDataUrl=Pi,I.loadFontFromExternalUrl=Ni,I.materialStepService=x0,I.modelStepService=b0,I.moduleStepService=xE,I.optionService=En,I.patternImageDataCache=Ui,I.persistenceService=vt,I.pictureStepService=Q0,I.questionStepService=M0,I.registerFetchImplementation=lF,I.registerWindowImplementation=cF,I.rehydrateSerializedLayout=ki,I.shapeStepService=rs,I.shortenUrl=yE,I.spiffCoreConfiguration=wo,I.stepAspectValuesToDesignInputSteps=tB,I.textStepService=Wn,I.toast=bE,Object.defineProperty(I,Symbol.toStringTag,{value:"Module"})});
2890
+ `,Bn=async(l,e)=>{var a;const t=await R.getShadowGraphqlClient().query({query:an(((a=e==null?void 0:e.assets)==null?void 0:a.metadata)||!1),errorPolicy:"all",fetchPolicy:"no-cache",variables:{ids:l}}),A=t.data.workflows;if(A===void 0||A.length!==l.length)throw new Error(`Unable to read workflows: ${t.errors??"Length mismatch in response"}`);return A.forEach(n=>{n.steps.forEach(i=>{var o,r,g;delete i.data.__typename,(o=i.option)!=null&&o.id&&((r=i.option.defaultVariant)!=null&&r.asset&&b.cacheAsset(i.option.defaultVariant.asset),i.option.colorProfile&&b.cacheAsset(i.option.colorProfile),(g=i.option.variants)==null||g.forEach(c=>{c.asset&&b.cacheAsset(c.asset),c.displayImage&&b.cacheAsset(c.displayImage),c.thumbnail&&b.cacheAsset(c.thumbnail),c.material&&b.cacheMaterial(c.material)}),oe.set({id:i.option.id},Promise.resolve(i.option)))})}),A},dn=async(l,e)=>{const A=(await e).find(a=>a.id===l);if(!A)throw new Error(`Workflow not found: ${l}`);return A},Ke=async(l,e)=>{const t=l.map(o=>oe.get({id:o,options:e})),A=l.filter((o,r)=>t[r]===void 0);if(A.length===0)return Promise.all(t);const a=Bn(A,e),n=A.map(o=>oe.set({id:o,options:e},dn(o,a))),i=t.filter(o=>o!==void 0);return await Promise.all(i.concat(n))},we=async(l,e)=>(await Ke([l],e))[0],wn=l=>l.sort((e,t)=>e.index-t.index).map(e=>({id:s.generate(),panelId:e.name,name:e.name,index:e.index,createdAt:new Date,updatedAt:new Date,transparentBackground:e.transparentBackground,height:e.height,width:e.width,previewRegion:e.previewRegion,useEditableArea:e.useEditableArea,editableArea:e.editableArea})),Ve=(l,e)=>{const t=l.workflowState,A=t?JSON.parse(t):void 0;return A?Object.values(A.layouts).map(a=>a.layout):wn(e.panels)};class aA{constructor(e){this.updateTransactionState=async t=>{try{return R.getShadowGraphqlClient().mutate({...t,mutation:YA})}catch(A){throw console.error(A),new U("Critical - Unable to synchronize workflow state with server.")}},this.initialized=!1,this.options=e,this.options.applicationKey&&gA(this.options.applicationKey)}getAssetManager(){return b}getCurrencyCode(){if(this.currencyCode===void 0)throw new Error("No currency code set.");return this.currencyCode}getFlowService(){if(!this.options.applicationKey)throw new Error("Application key required to use Flow Service.");return new eA}async authenticateBundleFromLocalStorage(e){var a,n;const t=P.getMap("bundleOwnerIds");if(t!=null&&t.has(e)){const i=t.get(e);return Ye(i),Promise.resolve({success:!0,stakeholderType:se.Owner})}const A=P.getMap("bundlePartnerIds")||new Map;if(A.has(e)){const i=A.get(e),r=(P.getMap("partnerCustomerIds")||new Map).get(i);if(r&&await this.authenticateCustomerId(r)){const c=(n=(a=this.customer)==null?void 0:a.bundleStakeholders)==null?void 0:n.find(d=>{var B;return((B=d.bundle)==null?void 0:B.id)===e});if(c)return Promise.resolve({success:!0,stakeholderType:c.type})}}return Promise.resolve({success:!1})}async authenticateTransactionFromLocalStorage(e){var c,d,B,w,E,C;const t=R.getShadowGraphqlClient(),A=await t.query({query:nn,errorPolicy:"all",fetchPolicy:"no-cache",variables:{id:e}});if(!A.data.transactions||A.data.transactions.length===0)throw new Error(`Transaction not found: ${e}`);const a=A.data.transactions[0];if(!((d=(c=a.product)==null?void 0:c.partner)==null?void 0:d.id))throw new Error(`Unable to read transaction: ${e}`);if(a.isOrdered)return Promise.resolve({success:!1,transactionReadOnly:!0});const i=P.getMap("transactionOwnerIds");if(i!=null&&i.has(e)){const h=i.get(e);return q(h),Promise.resolve({success:!0,stakeholderType:se.Owner})}const o=P.getMap("transactionCustomerIds");if(o!=null&&o.has(e)){const h=o.get(e);if(h&&await this.authenticateCustomerId(h)){const u=((w=(B=this.customer)==null?void 0:B.bundleStakeholders)==null?void 0:w.find(D=>{var I,f;return(f=(I=D.bundle)==null?void 0:I.transactions)==null?void 0:f.some(M=>M.id===e)}))||((C=(E=this.customer)==null?void 0:E.stakeholders)==null?void 0:C.find(D=>{var I;return((I=D.transaction)==null?void 0:I.id)===e}));if(u)return Promise.resolve({success:!0,stakeholderType:u.type})}}const g=(await t.query({query:on,errorPolicy:"all",variables:{id:a.workflowId}})).data.workflow;if(!g)throw new Error(`Unable to read workflow: ${a.workflowId}`);return Promise.resolve({success:!1,theme:g.overrideTheme,customLogoLink:a.customLogoLink})}clearCustomer(){this.customer=void 0}clearCustomerForTransaction(e){const t=P.getMap("transactionCustomerIds");t!=null&&t.has(e)&&(t.delete(e),P.setMap("transactionCustomerIds",t))}getStakeholderTypeForTransaction(e){var A,a;const t=(a=(A=this.customer)==null?void 0:A.stakeholders)==null?void 0:a.find(n=>{var i;return((i=n.transaction)==null?void 0:i.id)===e});if(t)return t.type}async getOrCreateCustomer(e){var i;this.customer=void 0;const t=R.getShadowGraphqlClient(),a=(await t.query({query:sn,errorPolicy:"all",fetchPolicy:"no-cache",variables:{emailAddress:e}})).data.customer;if(!a.id){const r=(i=(await t.mutate({mutation:rn,errorPolicy:"all",fetchPolicy:"no-cache",variables:{details:{emailAddress:e}}})).data)==null?void 0:i.customerCreate;if(!r)throw new Error("Unable to create customer.");return this.storeCustomer(r),this.customer=r,{customer:r,isAuthenticated:!1}}this.storeCustomer(a);const n=await this.authenticateCustomerId(a.id);return{customer:this.customer||a,isAuthenticated:n}}async authenticateCustomerId(e){var o;const t=R.getShadowGraphqlClient(),A=P.getMap("customerTokens");if(!(A!=null&&A.has(e)))return!1;const a=A.get(e);if(!a)return!1;const i=(o=(await t.mutate({mutation:cn,errorPolicy:"all",fetchPolicy:"no-cache",variables:{loginToken:a}})).data)==null?void 0:o.customerAuthenticate;return i?(this.storeCustomer(i),it(a),this.customer=i,!0):!1}async generateVerificationCode(e){await R.getShadowGraphqlClient().mutate({mutation:gn,variables:{emailAddress:e}})}async verifyCode(e,t){var n,i;const a=(n=(await R.getShadowGraphqlClient().mutate({mutation:ln,errorPolicy:"all",fetchPolicy:"no-cache",variables:{emailAddress:e,verificationCode:t}})).data)==null?void 0:n.customerVerifyCode;if(a!=null&&a.loginToken){if(!((i=a.partner)!=null&&i.id))throw new Error(`Unable to find customer: ${e}`);const o=P.getMap("customerTokens")||new Map;return o.set(a.id,a.loginToken),P.setMap("customerTokens",o),this.storeCustomer(a),it(a.loginToken),this.customer={...a,loginToken:void 0},!0}return!1}async getNewBundle(e){var i;const A=(i=(await R.getShadowGraphqlClient().mutate({mutation:xa,variables:{collectionId:e},fetchPolicy:"no-cache"})).data)==null?void 0:i.bundleCreate;if(!(A!=null&&A.id))throw new Error("Unable to create bundle");const a=P.getMap("bundlePartnerIds")||new Map;a.set(A.id,A.partner.id),P.setMap("bundlePartnerIds",a),Ye(A.bundleOwnerId);const n=P.getMap("bundleOwnerIds")||new Map;return n.set(A.id,A.bundleOwnerId),P.setMap("bundleOwnerIds",n),new _t(this,A)}async getExistingBundle(e,t,A){var c,d,B,w;const a=P.getMap("bundleOwnerIds"),n=a==null?void 0:a.get(e);n&&Ye(n);const i=await R.getShadowGraphqlClient().query({query:Na,variables:{id:e},fetchPolicy:"no-cache"});if(!((c=i.data)!=null&&c.bundles)||((d=i.data)==null?void 0:d.bundles.length)===0||!((B=i.data)!=null&&B.bundles[0]))throw new Error(`Unable to find bundle: ${e}`);const o=(w=i.data)==null?void 0:w.bundles[0],r=P.getMap("bundlePartnerIds")||new Map;r.set(o.id,o.partner.id),P.setMap("bundlePartnerIds",r);const g=new _t(this,o,t,A);return await g.getInitializationPromise(),g}async getBundleStakeholders(){var n;if(!this.customer)throw new Error("Customer not authenticated.");const e=await R.getShadowGraphqlClient().query({query:Ra,variables:{id:this.customer.id},fetchPolicy:"no-cache"});if(!((n=e.data)!=null&&n.customers)||e.data.customers.length===0)throw new Error("Unable to find customer.");const A=e.data.customers[0].bundleStakeholders||[],a=P.getMap("bundlePartnerIds")||new Map;return A.forEach(i=>{var o,r;(o=i.bundle)!=null&&o.id&&((r=i.bundle.partner)!=null&&r.id)&&a.set(i.bundle.id,i.bundle.partner.id)}),P.setMap("bundlePartnerIds",a),A}async getWorkflowExperience(e,t,A,a){var B,w,E,C,h;if(!a)return await this.getWorkflowExperienceDeprecated(e,t,A);const n=async Q=>{var u;for(const D in Q.layouts){const I=Q.layouts[D].elements.filter(M=>M.type===s.LayoutElementType.Illustration);for(let M=0;M<I.length;++M){const p=I[M];p.src&&p.svg&&(p.cachedObjectURL=await s.svgObjectURL(p.svg))}const f=Q.layouts[D].elements.filter(M=>M.type===s.LayoutElementType.Textbox);for(let M=0;M<f.length;++M){const p=f[M];(u=p.fontData)!=null&&u.assetUrl&&s.loadFontFromExternalUrl(p.fontData.assetUrl)}}},i=async()=>{var u,D;const Q=R.getShadowGraphqlClient();if(a.type==="transaction"){const{transactionId:I,readOnly:f}=a,M=await Q.query({query:Qe,variables:{ids:[I]},errorPolicy:"all",fetchPolicy:"no-cache"});if(!((u=M.data)!=null&&u.transactions)||M.data.transactions.length===0)throw new U("Existing transaction not found.");const p=(D=M.data)==null?void 0:D.transactions[0];if(!p.workflowId)throw new U("Existing transaction has no workflow ID.");const F=await we(p.workflowId);if(!p.product)throw new U("Failed to load transaction, product not available.");return{transaction:p,workflow:F,readOnly:f}}if(a.type==="integration"||a.type==="external"){const I=async()=>{const F=a.type==="integration"?{integrationProductId:a.integrationProductId}:{externalIntegrationId:a.externalIntegrationId,externalProductId:a.externalProductId},S=await Q.mutate({mutation:dt,variables:{...F,bulk:a.bulk,workflowId:a.workflowId,claim:!0},errorPolicy:"all",fetchPolicy:"no-cache",context:this.options.applicationKey?{headers:{"X-Application-Key":this.options.applicationKey}}:void 0});if(!S.data||!S.data.transactionCreate)throw new U("Failed to create transaction!");const Y=S.data.transactionCreate;if(!Y.product)throw new U("Failed to create transaction, product not available.");return Y},f=we(a.workflowId,a==null?void 0:a.graphql),[M,p]=await Promise.all([I(),f]);return{transaction:M,workflow:p}}throw new U("No workflow ID provided.")},{transaction:o,workflow:r,readOnly:g}=await i();this.currencyCode=(B=o.product.partner)==null?void 0:B.currencyCode;const c={product:o.product,transaction:o,layouts:[],stateMutationFunc:g?async()=>{throw new v("State mutation is forbidden in read only mode!")}:async Q=>{const D=(P.getMap("transactionOwnerIds")||new Map).get(o.id)||void 0;return this.updateTransactionState({...Q,context:{transactionOwnerId:D}})},readOnly:g,workflow:r};if(a.type==="transaction"&&o.workflowState){const Q=JSON.parse(o.workflowState);c.layouts=Object.values(Q.layouts).map(u=>u.layout),await s.rehydrateSerializedLayout(Q),await n(Q),c.reloadedState=Q}else if(!g&&a.workflowState){const Q=JSON.parse(a.workflowState);c.layouts=Object.values(Q.layouts).map(u=>u.layout),await s.rehydrateSerializedLayout(Q),await n(Q),c.reloadedState=Q}else c.layouts=Ve(c.transaction,c.workflow);if(c.renderableContextService=new pe(c.layouts),a.previewService?(c.previewService=a.previewService,(w=c.product)!=null&&w.modelUrl&&(c.modelContainer=c.previewService.loadModel({model:c.product.modelUrl,contextService:c.renderableContextService}))):(c.previewService=A&&A(r),(E=c.product)!=null&&E.modelUrl&&((C=c.previewService)==null||C.initialize({model:c.product.modelUrl,contextService:c.renderableContextService}),c.modelContainer=(h=c.previewService)==null?void 0:h.getAllModels()[0])),a.type!=="transaction"){const Q=P.getMap("transactionOwnerIds")||new Map;Q.set(o.id,o.transactionOwnerId),q(o.transactionOwnerId||""),P.setMap("transactionOwnerIds",Q)}else{const u=(P.getMap("transactionOwnerIds")||new Map).get(o.id);u&&q(u),c.isReloadedTransaction=!0}this.initialized=!0,this.experienceOptions=c;const d=new Be(this,c);return await d.getWorkflowManager().getInitializationPromise(),a.type!=="transaction"&&this.customer&&await d.attachCustomerDetails({email:this.customer.emailAddress}),d}async getWorkflowExperiences(e,t){if(e.length===0)throw new U("No options provided!");const A=R.getShadowGraphqlClient(),a=e.map((D,I)=>({option:D,index:I})),n=a.filter(D=>D.option.type==="transaction"),i=a.filter(D=>D.option.type==="integration"||D.option.type==="external"),o=async()=>{var M,p;if(n.length===0)return[];const D=n.map(F=>F.option.transactionId),I=await A.query({query:Qe,variables:{ids:D},errorPolicy:"all",fetchPolicy:"no-cache"}),f=I.data.transactions;if(f.length!==n.length){const F=((p=(M=I.errors)==null?void 0:M[0])==null?void 0:p.message)||"Unknown error";throw new U(`Not all transactions were found: ${F}`)}return f.map((F,S)=>{var Y;return{transaction:F,workflowId:F.workflowId,readOnly:((Y=n.find(x=>x.option.transactionId===F.id))==null?void 0:Y.option.readOnly)??!1,index:n[S].index}})},r=async()=>{var f,M,p;if(i.length===0)return[];const D=await A.mutate({mutation:SA,variables:{inputs:i.map(F=>({integrationProductId:F.option.type==="integration"?F.option.integrationProductId:void 0,externalIntegrationId:F.option.type==="external"?F.option.externalIntegrationId:void 0,externalProductId:F.option.type==="external"?F.option.externalProductId:void 0,workflowId:F.option.workflowId,bulk:F.option.bulk,claim:!0}))},errorPolicy:"all",fetchPolicy:"no-cache"}),I=(f=D.data)==null?void 0:f.transactionCreateMany;if(!I||I.length===0){const F=((p=(M=D.errors)==null?void 0:M[0])==null?void 0:p.message)||"Unknown error";throw new U(`Failed to create transactions: ${F}`)}return I.map((F,S)=>({transaction:F,workflowId:F.workflowId,readOnly:!1,index:i[S].index}))},g=(await Promise.all([o(),r()])).flat(),c=[...new Set(g.map(D=>D.workflowId))],d=await Ke(c,t),B=new Map(d.map(D=>[D.id,D])),w=async D=>{var I;for(const f in D.layouts){const M=D.layouts[f].elements.filter(F=>F.type===s.LayoutElementType.Illustration);for(let F=0;F<M.length;++F){const S=M[F];S.src&&S.svg&&(S.cachedObjectURL=await s.svgObjectURL(S.svg))}const p=D.layouts[f].elements.filter(F=>F.type===s.LayoutElementType.Textbox);for(let F=0;F<p.length;++F){const S=p[F];(I=S.fontData)!=null&&I.assetUrl&&s.loadFontFromExternalUrl(S.fontData.assetUrl)}}},E=P.getMap("transactionOwnerIds")||new Map,C=g.map(async D=>{const{transaction:I,workflowId:f,readOnly:M,index:p}=D,F=B.get(f),S=e[p];!E.get(I.id)&&I.transactionOwnerId&&E.set(I.id,I.transactionOwnerId);const Y=E.get(I.id)||void 0,x={product:I.product,transaction:I,layouts:[],stateMutationFunc:M?async()=>{throw new v("State mutation is forbidden in read only mode!")}:async N=>this.updateTransactionState({...N,context:{transactionOwnerId:Y}}),readOnly:M,workflow:F,isReloadedTransaction:S.type==="transaction"};if(S.type==="transaction"&&I.workflowState){const N=JSON.parse(I.workflowState);x.layouts=Object.values(N.layouts).map(G=>G.layout),await s.rehydrateSerializedLayout(N),await w(N),x.reloadedState=N}else if(!M&&S.workflowState){const N=JSON.parse(S.workflowState);x.layouts=Object.values(N.layouts).map(G=>G.layout),await s.rehydrateSerializedLayout(N),await w(N),x.reloadedState=N}else x.layouts=Ve(x.transaction,x.workflow);return x.renderableContextService=new pe(x.layouts),this.initialized=!0,this.experienceOptions=x,{experienceOptions:x,index:p,options:S}});P.setMap("transactionOwnerIds",E);const u=(await Promise.all(C)).sort((D,I)=>D.index-I.index).map(async D=>{const{experienceOptions:I,options:f}=D,M=new Be(this,I);return await M.getWorkflowManager().getInitializationPromise(),f.type!=="transaction"&&this.customer&&await M.attachCustomerDetails({email:this.customer.emailAddress}),M});return await Promise.all(u)}async initFromIntegrationProduct(e){var i;if(e==="")throw new U("No integration product ID provided.");const A=await R.getShadowGraphqlClient().mutate({mutation:dt,variables:{integrationProductId:e,bulk:this.options.bulk||!1,claim:!0},errorPolicy:"all",fetchPolicy:"no-cache",context:this.options.applicationKey?{headers:{"X-Application-Key":this.options.applicationKey}}:void 0});if(!A.data||!A.data.transactionCreate)throw new U("Failed to create transaction!");const a=A.data.transactionCreate;if(!a.product)throw new U("Failed to create transaction, product not available.");this.currencyCode=(i=a.product.partner)==null?void 0:i.currencyCode;const n=P.getMap("transactionOwnerIds")||new Map;n.set(a.id,a.transactionOwnerId),q(a.transactionOwnerId||""),P.setMap("transactionOwnerIds",n),this.experienceOptions={product:a.product,transaction:a,layouts:[],stateMutationFunc:this.updateTransactionState},this.initialized=!0}async initFromTransaction(e,t=!1){var o,r,g,c;if(e==="")throw new U("No transaction ID provided.");const A=R.getShadowGraphqlClient(),a=async()=>{var w,E;const B=(w=(await A.query({query:Qe,variables:{ids:[e]},fetchPolicy:"no-cache",errorPolicy:"all"})).data)==null?void 0:w.transactions[0];if(!B)throw new U("Failed to read transaction.");if(!B.product)throw new U("Failed to load transaction, product not available.");this.currencyCode=(E=B.product.partner)==null?void 0:E.currencyCode,this.experienceOptions={product:B.product,transaction:B,layouts:[],stateMutationFunc:async()=>{throw new v("State mutation is forbidden in read only mode!")},readOnly:t},this.initialized=!0};if(t)return await a();const n=P.getMap("transactionOwnerIds")||new Map,i=n.get(e);if(i){q(i);const B=(o=(await A.query({query:Qe,variables:{ids:[e]},errorPolicy:"all"})).data)==null?void 0:o.transactions[0];if(!B)throw new U("Failed to read transaction.");if(!B.product)throw new U("Failed to load transaction, product not available.");this.currencyCode=(r=B.product.partner)==null?void 0:r.currencyCode,this.experienceOptions={product:B.product,transaction:B,layouts:[],stateMutationFunc:this.updateTransactionState,readOnly:t},this.initialized=!0;return}try{const B=(g=(await A.mutate({mutation:yA,variables:{id:e},errorPolicy:"all"})).data)==null?void 0:g.transactionClaim;if(!B)throw new U("Failed to read transaction.");if(!B.product)throw new U("Failed to load transaction, product not available.");this.currencyCode=(c=B.product.partner)==null?void 0:c.currencyCode,B.transactionOwnerId&&(n.set(B.id,B.transactionOwnerId),q(B.transactionOwnerId),P.setMap("transactionOwnerIds",n)),this.experienceOptions={product:B.product,transaction:B,layouts:[],stateMutationFunc:this.updateTransactionState,readOnly:t},this.initialized=!0}catch{throw new U("Attempted to access a transaction that isn't available.")}}async getWorkflowExperienceDeprecated(e,t,A){var n,i,o,r,g,c;if(!this.initialized||!this.experienceOptions)throw new U("Cannot launch experience: Not initialized.");const a=async d=>{var B;for(const w in d.layouts){const E=d.layouts[w].elements.filter(h=>h.type===s.LayoutElementType.Illustration);for(let h=0;h<E.length;++h){const Q=E[h];Q.src&&Q.svg&&(Q.cachedObjectURL=await s.svgObjectURL(Q.svg))}const C=d.layouts[w].elements.filter(h=>h.type===s.LayoutElementType.Textbox);for(let h=0;h<C.length;++h){const Q=C[h];(B=Q.fontData)!=null&&B.assetUrl&&s.loadFontFromExternalUrl(Q.fontData.assetUrl)}}};if(this.experienceOptions.transaction.workflowId){const d=await we(this.experienceOptions.transaction.workflowId);if(this.experienceOptions.workflow=d,this.experienceOptions.transaction.workflowState){const w=JSON.parse(this.experienceOptions.transaction.workflowState);this.experienceOptions.layouts=Object.values(w.layouts).map(E=>E.layout),await s.rehydrateSerializedLayout(w),await a(w),this.experienceOptions.reloadedState=w}this.experienceOptions.previewService=A&&A(d),this.experienceOptions.renderableContextService=new pe(this.experienceOptions.layouts),(n=this.experienceOptions.product)!=null&&n.modelUrl&&((i=this.experienceOptions.previewService)==null||i.initialize({model:this.experienceOptions.product.modelUrl,contextService:this.experienceOptions.renderableContextService}),this.experienceOptions.modelContainer=(o=this.experienceOptions.previewService)==null?void 0:o.getAllModels()[0]);const B=new Be(this,this.experienceOptions);return await B.getWorkflowManager().getInitializationPromise(),B}if(e){const d=R.getShadowGraphqlClient().mutate({mutation:NA,variables:{workflowId:e,id:this.experienceOptions.transaction.id}}),B=we(e);if(await Promise.all([d,B]),this.experienceOptions.workflow=await B,t){const E=JSON.parse(t);this.experienceOptions.layouts=Object.values(E.layouts).map(C=>C.layout),await s.rehydrateSerializedLayout(E),await a(E),this.experienceOptions.reloadedState=E}else this.experienceOptions.layouts=Ve(this.experienceOptions.transaction,this.experienceOptions.workflow);this.experienceOptions.previewService=A&&A(await B),this.experienceOptions.renderableContextService=new pe(this.experienceOptions.layouts),(r=this.experienceOptions.product)!=null&&r.modelUrl&&((g=this.experienceOptions.previewService)==null||g.initialize({model:this.experienceOptions.product.modelUrl,contextService:this.experienceOptions.renderableContextService}),this.experienceOptions.modelContainer=(c=this.experienceOptions.previewService)==null?void 0:c.getAllModels()[0]);const w=new Be(this,this.experienceOptions);return await w.getWorkflowManager().getInitializationPromise(),w}throw new U("No workflow ID provided.")}getPreviewService(){var e;return(e=this.experienceOptions)==null?void 0:e.previewService}getProduct(){if(!this.initialized||!this.experienceOptions)throw new U("Cannot get product: Not initialized.");return this.experienceOptions.product}getTransaction(){if(!this.initialized||!this.experienceOptions)throw new U("Cannot get transaction: Not initialized.");return this.experienceOptions.transaction}storeCustomer(e){const t=P.getMap("partnerCustomerIds")||new Map;t.set(e.partner.id,e.id),P.setMap("partnerCustomerIds",t)}}class En{getInitializationPromise(){return Promise.resolve()}isInitialized(){return!0}getInformationResults(){return[]}getVariationRecords(){return[]}async reset(){}updateStateWithServer(e){}addVariationRecord(e){return{recordNumber:0,transactionId:"",values:[]}}getCurrentVariationRecord(){}removeVariationRecord(e){return[]}async outstandingRequestsPromise(){}async updateStateWithServerImmediate(e){}addPoller(e){}addConfirmCallback(e){}addCurrentVariationCallback(e){}addEditedCallback(e){}addElementsCallback(e){}addInformationResultCallback(e){}addInitCallback(e){}addMakingAdjustmentsCallback(e){}addMandatoryCallback(e){}addMetadataCallback(e){}addSelectionCallback(e){}addStepSpecificStorageCallback(e,t){}addStorageCallback(e){}addVariationRecordsCallback(e){}getCommandDispatcher(){return e=>{}}getLayouts(){return[]}getLayoutPreviewService(){return{getAll:()=>new Map}}getPreviewService(){}getModelContainer(){}getProfanities(){return[]}getRegionElements(e){return[]}getSerializedStep(e,t){}getStepSpecificServices(e){}getTransaction(){return{id:""}}getTransactionCustomer(){}setTransactionCustomer(){}setTransactionCustomerDetails(){}getWorkflow(){return{id:"",name:"",panels:[],steps:[],showModelOnFinishStep:!1,allowProofDownload:!1,introduction:"",stepGroups:[]}}markStepsAsInitialised(e){}markUpdateCompleted(e){}markUpdatePending(){return"123"}getWorkflowSelections(){return{}}setCurrentAdjustingStepId(e){}setCurrentVariationRecord(e){}setEditedStatus(e,t){}setInformationResults(e){}setMandatoryFulfilled(e,t){}async setSelectionsAndElements(e,t,A){}setVariationRecords(e){}toggleDesignConfirmed(){}updateMetadata(e,t){}async updateStorage(e,t){}injectIntoPreviewService(e){return Promise.resolve()}ejectFromPreviewService(){}}var nA=(l=>(l.SelectFrame="SelectFrame",l.SelectImage="SelectImage",l.Position="Position",l))(nA||{});class iA extends L{constructor(e,t){var A;super(e,t),this.frameService=(A=this.manager.getStepSpecificServices(this.getId()))==null?void 0:A.frameService}selectVariant(e){const t=this.manager.getRegionElements(this.step.stepName);return ue.selectVariant(this.step,e.getResource(),t,this.manager,A=>this.setUpdateState(A))}onFrameDataChanged(e){this.frameService&&this.frameService.onFrameDataChanged(t=>{t&&e(t)})}selectImage(e){return ue.selectImage(this.step,e,this.manager)}getImageData(){if(this.frameService)return this.frameService.getImageData()}getCurrentFrameStep(e,t,A,a){return a&&a.length>1&&e===void 0?"SelectFrame":t||A||this.getImageData()?"Position":"SelectImage"}getFrameService(){return this.frameService}hasOverlayImageKey(){return this.step.data.overlayImageKey}hasOverlayImageUrl(){return this.step.data.overlayImageUrl}hasVaryingUpload(){return this.step.data.varyUpload}hasVaryingSelection(){return this.step.data.varySelection}}Object.defineProperty(m,"AssetType",{enumerable:!0,get:()=>s.AssetType}),Object.defineProperty(m,"BringForwardCommand",{enumerable:!0,get:()=>s.BringForwardCommand}),Object.defineProperty(m,"BringToBackCommand",{enumerable:!0,get:()=>s.BringToBackCommand}),Object.defineProperty(m,"BringToFrontCommand",{enumerable:!0,get:()=>s.BringToFrontCommand}),Object.defineProperty(m,"CanvasCommand",{enumerable:!0,get:()=>s.CanvasCommand}),Object.defineProperty(m,"CommandContext",{enumerable:!0,get:()=>s.CommandContext}),Object.defineProperty(m,"CreateElementCommand",{enumerable:!0,get:()=>s.CreateElementCommand}),Object.defineProperty(m,"CreateLayoutCommand",{enumerable:!0,get:()=>s.CreateLayoutCommand}),Object.defineProperty(m,"DeleteElementCommand",{enumerable:!0,get:()=>s.DeleteElementCommand}),Object.defineProperty(m,"FontAlignmentCommand",{enumerable:!0,get:()=>s.FontAlignmentCommand}),Object.defineProperty(m,"FontColorCommand",{enumerable:!0,get:()=>s.FontColorCommand}),Object.defineProperty(m,"FontSizeCommand",{enumerable:!0,get:()=>s.FontSizeCommand}),Object.defineProperty(m,"FontSourceCommand",{enumerable:!0,get:()=>s.FontSourceCommand}),Object.defineProperty(m,"GroupCommand",{enumerable:!0,get:()=>s.GroupCommand}),Object.defineProperty(m,"LayoutElementFactory",{enumerable:!0,get:()=>s.LayoutElementFactory}),Object.defineProperty(m,"LayoutElementType",{enumerable:!0,get:()=>s.LayoutElementType}),Object.defineProperty(m,"MoveCommand",{enumerable:!0,get:()=>s.MoveCommand}),Object.defineProperty(m,"ResizeCommand",{enumerable:!0,get:()=>s.ResizeCommand}),Object.defineProperty(m,"RotateCommand",{enumerable:!0,get:()=>s.RotateCommand}),Object.defineProperty(m,"SendBackwardsCommand",{enumerable:!0,get:()=>s.SendBackwardsCommand}),Object.defineProperty(m,"StepAspectType",{enumerable:!0,get:()=>s.StepAspectType}),Object.defineProperty(m,"StepType",{enumerable:!0,get:()=>s.StepType}),Object.defineProperty(m,"TextChangeCommand",{enumerable:!0,get:()=>s.TextChangeCommand}),Object.defineProperty(m,"UnitOfMeasurement",{enumerable:!0,get:()=>s.UnitOfMeasurement}),Object.defineProperty(m,"dataUrlFromExternalUrl",{enumerable:!0,get:()=>s.dataUrlFromExternalUrl}),Object.defineProperty(m,"determineCorrectFontSizeAndLines",{enumerable:!0,get:()=>s.determineCorrectFontSizeAndLines}),Object.defineProperty(m,"findElement",{enumerable:!0,get:()=>s.findElement}),Object.defineProperty(m,"frameDataCache",{enumerable:!0,get:()=>s.frameDataCache}),Object.defineProperty(m,"generate",{enumerable:!0,get:()=>s.generate}),Object.defineProperty(m,"generateSVGWithUnknownColors",{enumerable:!0,get:()=>s.generateSVGWithUnknownColors}),Object.defineProperty(m,"getAttributesFromArrayBuffer",{enumerable:!0,get:()=>s.getAttributesFromArrayBuffer}),Object.defineProperty(m,"getAxisAlignedBoundingBox",{enumerable:!0,get:()=>s.getAxisAlignedBoundingBox}),Object.defineProperty(m,"getFrameData",{enumerable:!0,get:()=>s.getFrameData}),Object.defineProperty(m,"getSvgElement",{enumerable:!0,get:()=>s.getSvgElement}),Object.defineProperty(m,"loadFontFromDataUrl",{enumerable:!0,get:()=>s.loadFontFromDataUrl}),Object.defineProperty(m,"loadFontFromExternalUrl",{enumerable:!0,get:()=>s.loadFontFromExternalUrl}),Object.defineProperty(m,"patternImageDataCache",{enumerable:!0,get:()=>s.patternImageDataCache}),Object.defineProperty(m,"registerFetchImplementation",{enumerable:!0,get:()=>s.registerFetchImplementation}),Object.defineProperty(m,"registerWindowImplementation",{enumerable:!0,get:()=>s.registerWindowImplementation}),Object.defineProperty(m,"rehydrateSerializedLayout",{enumerable:!0,get:()=>s.rehydrateSerializedLayout}),m.AssetNotFoundError=z,m.BulkPriceCalculationStrategy=gt,m.BulkStepHandle=Rt,m.CollectionProduct=$t,m.ConversionDataType=Bt,m.ConversionLocation=lt,m.FlowExecutionNodeResult=de,m.FlowExecutionResult=tA,m.FlowService=eA,m.FrameService=ht,m.FrameStep=nA,m.FrameStepHandle=iA,m.GlobalPropertyHandle=Me,m.IllustrationStepHandle=xt,m.InformationMessageType=ge,m.InformationStepHandle=Jt,m.LayoutNotFoundError=k,m.MaterialStepHandle=Ht,m.MisconfigurationError=ae,m.MockWorkflowManager=En,m.ModelStepHandle=Ut,m.ObjectInput=je,m.ObjectInputType=AA,m.OptionNotFoundError=Ae,m.ParseError=X,m.PictureStepHandle=vt,m.ProductCameraRig=ct,m.ProductCollection=Zt,m.PromiseQueue=He,m.QuestionStepHandle=Gt,m.QueueablePromise=xe,m.ResourceNotFoundError=W,m.ShapeStepHandle=kt,m.SpiffCommerceClient=aA,m.StakeholderType=se,m.StepHandle=L,m.TextStepHandle=bt,m.UnhandledBehaviorError=v,m.Variant=O,m.WorkflowExperienceImpl=Be,m.assetService=b,m.createDesign=jt,m.designService=fe,m.digitalContentStepService=ut,m.frameStepService=ue,m.gatherVaryingStepAspects=Re,m.generateCommands=Kt,m.generateStateFromDesignInputSteps=Wt,m.getBoundedOffsets=Et,m.getWorkflow=we,m.getWorkflows=Ke,m.graphQlManager=R,m.illustrationStepService=ce,m.materialStepService=Ue,m.modelStepService=ve,m.moduleStepService=It,m.optionService=J,m.persistenceService=P,m.pictureStepService=Ge,m.questionStepService=ke,m.shapeStepService=_,m.shortenUrl=Qt,m.spiffCoreConfiguration=ne,m.stepAspectValuesToDesignInputSteps=Vt,m.textStepService=T,m.toast=Dt,Object.defineProperty(m,Symbol.toStringTag,{value:"Module"})});