@qr-platform/qr-code.js 0.20.8 → 0.20.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/browser.js CHANGED
@@ -1,4 +1,4 @@
1
- !function(A,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((A="undefined"!=typeof globalThis?globalThis:A||self).QRCodeJs={})}(this,(function(A){"use strict";function e(A,e){return e.forEach((function(e){e&&"string"!=typeof e&&!Array.isArray(e)&&Object.keys(e).forEach((function(t){if("default"!==t&&!(t in A)){var i=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(A,t,i.get?i:{enumerable:!0,get:function(){return e[t]}})}}))})),Object.freeze(A)}const t={width:500,height:500};class i{constructor(){this.buffer=[],this.length=0}getBuffer(){return this.buffer}getLengthInBits(){return this.length}toString(){let A="";for(let e=0;e<this.getLengthInBits();e+=1)A+=this.getBit(e)?"1":"0";return A}getBit(A){return 1==(this.buffer[~~(A/8)]>>>7-A%8&1)}put(A,e){for(let t=0;t<e;t+=1)this.putBit(1==(A>>>e-t-1&1))}putBit(A){this.length==8*this.buffer.length&&this.buffer.push(0),A&&(this.buffer[~~(this.length/8)]|=128>>>this.length%8),this.length+=1}}var o,n,g;!function(A){A[A.L=1]="L",A[A.M=0]="M",A[A.Q=3]="Q",A[A.H=2]="H"}(o||(o={}));class r{constructor(){throw new Error("error")}static glog(A){if(A<1)throw new Error("log("+A+")");return r.LOG_TABLE[A]}static gexp(A){for(;A<0;)A+=255;for(;A>=256;)A-=255;return r.EXP_TABLE[A]}}r.initialize=(()=>{r.EXP_TABLE=[],r.LOG_TABLE=[];for(let A=0;A<256;A+=1)r.EXP_TABLE.push(A<8?1<<A:r.EXP_TABLE[A-4]^r.EXP_TABLE[A-5]^r.EXP_TABLE[A-6]^r.EXP_TABLE[A-8]),r.LOG_TABLE.push(0);for(let A=0;A<255;A+=1)r.LOG_TABLE[r.EXP_TABLE[A]]=A})();class I{constructor(A,e=0){let t=0;for(;t<A.length&&0==A[t];)t+=1;this.num=[];const i=A.length-t;for(let e=0;e<i;e+=1)this.num.push(A[t+e]);for(let A=0;A<e;A+=1)this.num.push(0)}getAt(A){return this.num[A]}getLength(){return this.num.length}toString(){let A="";for(let e=0;e<this.getLength();e+=1)e>0&&(A+=","),A+=this.getAt(e);return A.toString()}toLogString(){let A="";for(let e=0;e<this.getLength();e+=1)e>0&&(A+=","),A+=r.glog(this.getAt(e));return A.toString()}multiply(A){const e=[],t=this.getLength()+A.getLength()-1;for(let A=0;A<t;A+=1)e.push(0);for(let t=0;t<this.getLength();t+=1)for(let i=0;i<A.getLength();i+=1)e[t+i]^=r.gexp(r.glog(this.getAt(t))+r.glog(A.getAt(i)));return new I(e)}mod(A){if(this.getLength()-A.getLength()<0)return this;const e=r.glog(this.getAt(0))-r.glog(A.getAt(0)),t=[];for(let A=0;A<this.getLength();A+=1)t.push(this.getAt(A));for(let i=0;i<A.getLength();i+=1)t[i]^=r.gexp(r.glog(A.getAt(i))+e);return new I(t).mod(A)}}!function(A){A[A.MODE_NUMBER=1]="MODE_NUMBER",A[A.MODE_ALPHA_NUM=2]="MODE_ALPHA_NUM",A[A.MODE_8BIT_BYTE=4]="MODE_8BIT_BYTE",A[A.MODE_KANJI=8]="MODE_KANJI"}(n||(n={}));class s{constructor(A,e){this.mode=A,this.data=e}getMode(){return this.mode}getData(){return this.data}getLengthInBits(A){if(1<=A&&A<10)switch(this.mode){case n.MODE_NUMBER:return 10;case n.MODE_ALPHA_NUM:return 9;case n.MODE_8BIT_BYTE:case n.MODE_KANJI:return 8;default:throw new Error("mode:"+this.mode)}else if(A<27)switch(this.mode){case n.MODE_NUMBER:return 12;case n.MODE_ALPHA_NUM:return 11;case n.MODE_8BIT_BYTE:return 16;case n.MODE_KANJI:return 10;default:throw new Error("mode:"+this.mode)}else{if(!(A<41))throw new Error("typeNumber:"+A);switch(this.mode){case n.MODE_NUMBER:return 14;case n.MODE_ALPHA_NUM:return 13;case n.MODE_8BIT_BYTE:return 16;case n.MODE_KANJI:return 12;default:throw new Error("mode:"+this.mode)}}}}class a extends s{constructor(A,e){super(n.MODE_8BIT_BYTE,A),this.stringToBytes=e}write(A){this.stringToBytes(this.getData()).forEach((e=>A.put(e,8)))}getLength(){return this.stringToBytes(this.getData()).length}}class B extends s{constructor(A){super(n.MODE_ALPHA_NUM,A)}write(A){const e=this.getData();let t=0;for(;t+1<e.length;)A.put(45*B.getCode(e.charAt(t))+B.getCode(e.charAt(t+1)),11),t+=2;t<e.length&&A.put(B.getCode(e.charAt(t)),6)}getLength(){return this.getData().length}static getCode(A){if("0"<=A&&A<="9")return A.charCodeAt(0)-"0".charCodeAt(0);if("A"<=A&&A<="Z")return A.charCodeAt(0)-"A".charCodeAt(0)+10;switch(A){case" ":return 36;case"$":return 37;case"%":return 38;case"*":return 39;case"+":return 40;case"-":return 41;case".":return 42;case"/":return 43;case":":return 44;default:throw new Error("illegal char :"+A)}}}class C extends s{constructor(A,e){super(n.MODE_KANJI,A),this.stringToBytes=e}write(A){const e=this.stringToBytes(this.getData());let t=0;for(;t+1<e.length;){let i=(255&e[t])<<8|255&e[t+1];if(33088<=i&&i<=40956)i-=33088;else{if(!(57408<=i&&i<=60351))throw new Error("illegal char at "+(t+1)+"/"+i);i-=49472}i=192*(i>>>8&255)+(255&i),A.put(i,13),t+=2}if(t<e.length)throw new Error("illegal char at "+(t+1))}getLength(){return this.stringToBytes(this.getData()).length/2}}class Q extends s{constructor(A){super(n.MODE_NUMBER,A)}write(A){const e=this.getData();let t=0;for(;t+2<e.length;)A.put(Q.strToNum(e.substring(t,t+3)),10),t+=3;t<e.length&&(e.length-t==1?A.put(Q.strToNum(e.substring(t,t+1)),4):e.length-t==2&&A.put(Q.strToNum(e.substring(t,t+2)),7))}getLength(){return this.getData().length}static strToNum(A){let e=0;for(let t=0;t<A.length;t+=1)e=10*e+Q.chatToNum(A.charAt(t));return e}static chatToNum(A){if("0"<=A&&A<="9")return A.charCodeAt(0)-"0".charCodeAt(0);throw new Error("illegal char :"+A)}}!function(A){A[A.PATTERN000=0]="PATTERN000",A[A.PATTERN001=1]="PATTERN001",A[A.PATTERN010=2]="PATTERN010",A[A.PATTERN011=3]="PATTERN011",A[A.PATTERN100=4]="PATTERN100",A[A.PATTERN101=5]="PATTERN101",A[A.PATTERN110=6]="PATTERN110",A[A.PATTERN111=7]="PATTERN111"}(g||(g={}));class E{constructor(){throw new Error("error")}static getPatternPosition(A){return E.PATTERN_POSITION_TABLE[A-1]}static getMaxLength(A,e,t){const i=A-1;let g=0,r=0;switch(t){case o.L:g=0;break;case o.M:g=1;break;case o.Q:g=2;break;case o.H:g=3;break;default:throw new Error("e:"+t)}switch(e){case n.MODE_NUMBER:r=0;break;case n.MODE_ALPHA_NUM:r=1;break;case n.MODE_8BIT_BYTE:r=2;break;case n.MODE_KANJI:r=3;break;default:throw new Error("m:"+e)}return E.MAX_LENGTH[i][g][r]}static getErrorCorrectPolynomial(A){let e=new I([1]);for(let t=0;t<A;t+=1)e=e.multiply(new I([1,r.gexp(t)]));return e}static getMaskFunc(A){switch(A){case g.PATTERN000:return(A,e)=>(A+e)%2==0;case g.PATTERN001:return(A,e)=>A%2==0;case g.PATTERN010:return(A,e)=>e%3==0;case g.PATTERN011:return(A,e)=>(A+e)%3==0;case g.PATTERN100:return(A,e)=>(~~(A/2)+~~(e/3))%2==0;case g.PATTERN101:return(A,e)=>A*e%2+A*e%3==0;case g.PATTERN110:return(A,e)=>(A*e%2+A*e%3)%2==0;case g.PATTERN111:return(A,e)=>(A*e%3+(A+e)%2)%2==0;default:throw new Error("mask:"+A)}}static getLostPoint(A){const e=A.getModuleCount();let t=0;for(let i=0;i<e;i+=1)for(let o=0;o<e;o+=1){let n=0;const g=A.isDark(i,o);for(let t=-1;t<=1;t+=1)if(!(i+t<0||e<=i+t))for(let r=-1;r<=1;r+=1)o+r<0||e<=o+r||0==t&&0==r||g==A.isDark(i+t,o+r)&&(n+=1);n>5&&(t+=3+n-5)}for(let i=0;i<e-1;i+=1)for(let o=0;o<e-1;o+=1){let e=0;A.isDark(i,o)&&(e+=1),A.isDark(i+1,o)&&(e+=1),A.isDark(i,o+1)&&(e+=1),A.isDark(i+1,o+1)&&(e+=1),0!=e&&4!=e||(t+=3)}for(let i=0;i<e;i+=1)for(let o=0;o<e-6;o+=1)A.isDark(i,o)&&!A.isDark(i,o+1)&&A.isDark(i,o+2)&&A.isDark(i,o+3)&&A.isDark(i,o+4)&&!A.isDark(i,o+5)&&A.isDark(i,o+6)&&(t+=40);for(let i=0;i<e;i+=1)for(let o=0;o<e-6;o+=1)A.isDark(o,i)&&!A.isDark(o+1,i)&&A.isDark(o+2,i)&&A.isDark(o+3,i)&&A.isDark(o+4,i)&&!A.isDark(o+5,i)&&A.isDark(o+6,i)&&(t+=40);let i=0;for(let t=0;t<e;t+=1)for(let o=0;o<e;o+=1)A.isDark(o,t)&&(i+=1);return t+=10*(Math.abs(100*i/e/e-50)/5),t}static getBCHTypeInfo(A){let e=A<<10;for(;E.getBCHDigit(e)-E.getBCHDigit(E.G15)>=0;)e^=E.G15<<E.getBCHDigit(e)-E.getBCHDigit(E.G15);return(A<<10|e)^E.G15_MASK}static getBCHTypeNumber(A){let e=A<<12;for(;E.getBCHDigit(e)-E.getBCHDigit(E.G18)>=0;)e^=E.G18<<E.getBCHDigit(e)-E.getBCHDigit(E.G18);return A<<12|e}static getBCHDigit(A){let e=0;for(;0!=A;)e+=1,A>>>=1;return e}}E.PATTERN_POSITION_TABLE=[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],E.MAX_LENGTH=[[[41,25,17,10],[34,20,14,8],[27,16,11,7],[17,10,7,4]],[[77,47,32,20],[63,38,26,16],[48,29,20,12],[34,20,14,8]],[[127,77,53,32],[101,61,42,26],[77,47,32,20],[58,35,24,15]],[[187,114,78,48],[149,90,62,38],[111,67,46,28],[82,50,34,21]],[[255,154,106,65],[202,122,84,52],[144,87,60,37],[106,64,44,27]],[[322,195,134,82],[255,154,106,65],[178,108,74,45],[139,84,58,36]],[[370,224,154,95],[293,178,122,75],[207,125,86,53],[154,93,64,39]],[[461,279,192,118],[365,221,152,93],[259,157,108,66],[202,122,84,52]],[[552,335,230,141],[432,262,180,111],[312,189,130,80],[235,143,98,60]],[[652,395,271,167],[513,311,213,131],[364,221,151,93],[288,174,119,74]]],E.G15=1335,E.G18=7973,E.G15_MASK=21522;class l{constructor(A,e){this.totalCount=A,this.dataCount=e}getDataCount(){return this.dataCount}getTotalCount(){return this.totalCount}static getRSBlocks(A,e){const t=l.getRsBlockTable(A,e),i=t.length/3,o=[];for(let A=0;A<i;A+=1){const e=t[3*A+0],i=t[3*A+1],n=t[3*A+2];for(let A=0;A<e;A+=1)o.push(new l(i,n))}return o}static getRsBlockTable(A,e){switch(e){case o.L:return l.RS_BLOCK_TABLE[4*(A-1)+0];case o.M:return l.RS_BLOCK_TABLE[4*(A-1)+1];case o.Q:return l.RS_BLOCK_TABLE[4*(A-1)+2];case o.H:return l.RS_BLOCK_TABLE[4*(A-1)+3]}throw new Error("tn:"+A+"/ecl:"+e)}}l.RS_BLOCK_TABLE=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12,7,37,13],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]];const h=Array(41).fill(0).map(((A,e)=>e));var d,c;!function(A){A.L="L",A.M="M",A.Q="Q",A.H="H"}(d||(d={})),function(A){A.numeric="numeric",A.alphanumeric="alphanumeric",A.byte="byte",A.kanji="kanji",A.unicode="unicode"}(c||(c={}));class u{constructor(A=0,e=d.L){this.modules=[],this.moduleCount=0,this.typeNumber=A,this.errorCorrectLevel=o[e],this.qrDataList=[]}getTypeNumber(){return this.typeNumber}setTypeNumber(A){this.typeNumber=A}getErrorCorrectLevel(){return this.errorCorrectLevel}setErrorCorrectLevel(A){this.errorCorrectLevel=A}clearData(){this.qrDataList=[]}addData(A,e=c.byte){if(A instanceof s)this.qrDataList.push(A);else{if("string"!=typeof A)throw new Error(typeof A);switch(e){case c.numeric:this.qrDataList.push(new Q(A));break;case c.alphanumeric:this.qrDataList.push(new B(A));break;case c.byte:this.qrDataList.push(new a(A,u.stringToBytesFuncs.default));break;case c.unicode:this.qrDataList.push(new a(A,u.stringToBytesFuncs.UTF8));break;case c.kanji:this.qrDataList.push(new C(A,u.stringToBytesFuncs.SJIS));break;default:throw new Error("mode:"+e)}}}isDark(A,e){return!(!this.modules[A]||null==this.modules[A][e])&&this.modules[A][e]}getModuleCount(){return this.moduleCount}make(){if(this.typeNumber<1){let A=1;for(;A<40;A++){const e=l.getRSBlocks(A,this.errorCorrectLevel),t=new i;this.qrDataList.forEach((e=>{t.put(e.getMode(),4),t.put(e.getLength(),e.getLengthInBits(A)),e.write(t)}));const o=e.reduce(((A,e)=>A+e.getDataCount()),0);if(t.getLengthInBits()<=8*o)break}this.typeNumber=A}this.makeImpl(!1,this.getBestMaskPattern())}getBestMaskPattern(){let A=0,e=0;for(let t=0;t<8;t+=1){this.makeImpl(!0,t);const i=E.getLostPoint(this);(0==t||A>i)&&(A=i,e=t)}return e}makeImpl(A,e){this.moduleCount=4*this.typeNumber+17,this.modules=[];for(let A=0;A<this.moduleCount;A+=1){this.modules.push([]);for(let e=0;e<this.moduleCount;e+=1)this.modules[A].push(null)}this.setupPositionProbePattern(0,0),this.setupPositionProbePattern(this.moduleCount-7,0),this.setupPositionProbePattern(0,this.moduleCount-7),this.setupPositionAdjustPattern(),this.setupTimingPattern(),this.setupTypeInfo(A,e),this.typeNumber>=7&&this.setupTypeNumber(A);const t=u.createData(this.typeNumber,this.errorCorrectLevel,this.qrDataList);this.mapData(t,e)}mapData(A,e){let t=-1,i=this.moduleCount-1,o=7,n=0;const g=E.getMaskFunc(e);for(let e=this.moduleCount-1;e>0;e-=2)for(6==e&&(e-=1);;){for(let t=0;t<2;t+=1)if(null==this.modules[i][e-t]){let r=!1;n<A.length&&(r=1==(A[n]>>>o&1));g(i,e-t)&&(r=!r),this.modules[i][e-t]=r,o-=1,-1==o&&(n+=1,o=7)}if(i+=t,i<0||this.moduleCount<=i){i-=t,t=-t;break}}}setupPositionAdjustPattern(){const A=E.getPatternPosition(this.typeNumber);A.forEach((e=>{A.forEach((A=>{if(null==this.modules[e][A])for(let t=-2;t<=2;t+=1)for(let i=-2;i<=2;i+=1)this.modules[e+t][A+i]=-2==t||2==t||-2==i||2==i||0==t&&0==i}))}))}setupPositionProbePattern(A,e){for(let t=-1;t<=7;t+=1)for(let i=-1;i<=7;i+=1)A+t<=-1||this.moduleCount<=A+t||e+i<=-1||this.moduleCount<=e+i||(this.modules[A+t][e+i]=0<=t&&t<=6&&(0==i||6==i)||0<=i&&i<=6&&(0==t||6==t)||2<=t&&t<=4&&2<=i&&i<=4)}setupTimingPattern(){for(let A=8;A<this.moduleCount-8;A+=1)null==this.modules[A][6]&&(this.modules[A][6]=A%2==0);for(let A=8;A<this.moduleCount-8;A+=1)null==this.modules[6][A]&&(this.modules[6][A]=A%2==0)}setupTypeNumber(A){const e=E.getBCHTypeNumber(this.typeNumber);for(let t=0;t<18;t+=1)this.modules[~~(t/3)][t%3+this.moduleCount-8-3]=!A&&1==(e>>t&1);for(let t=0;t<18;t+=1)this.modules[t%3+this.moduleCount-8-3][~~(t/3)]=!A&&1==(e>>t&1)}setupTypeInfo(A,e){const t=this.errorCorrectLevel<<3|e,i=E.getBCHTypeInfo(t);for(let e=0;e<15;e+=1){const t=!A&&1==(i>>e&1);e<6?this.modules[e][8]=t:e<8?this.modules[e+1][8]=t:this.modules[this.moduleCount-15+e][8]=t}for(let e=0;e<15;e+=1){const t=!A&&1==(i>>e&1);e<8?this.modules[8][this.moduleCount-e-1]=t:e<9?this.modules[8][15-e-1+1]=t:this.modules[8][15-e-1]=t}this.modules[this.moduleCount-8][8]=!A}static createData(A,e,t){const o=l.getRSBlocks(A,e),n=new i;t.forEach((e=>{n.put(e.getMode(),4),n.put(e.getLength(),e.getLengthInBits(A)),e.write(n)}));const g=o.reduce(((A,e)=>A+e.getDataCount()),0);if(n.getLengthInBits()>8*g)throw new Error("code length overflow. ("+n.getLengthInBits()+">"+8*g+")");for(n.getLengthInBits()+4<=8*g&&n.put(0,4);n.getLengthInBits()%8!=0;)n.putBit(!1);for(;!(n.getLengthInBits()>=8*g||(n.put(u.PAD0,8),n.getLengthInBits()>=8*g));)n.put(u.PAD1,8);return u.createBytes(n,o)}static createBytes(A,e){let t=0,i=0,o=0;const n=new Array(e.length).map((A=>[])),g=new Array(e.length).map((A=>[]));function r(A){const e=[];for(let t=0;t<A;t+=1)e.push(0);return e}for(let s=0;s<e.length;s+=1){const a=e[s].getDataCount(),B=e[s].getTotalCount()-a;i=Math.max(i,a),o=Math.max(o,B),n[s]=r(a);for(let e=0;e<n[s].length;e+=1)n[s][e]=255&A.getBuffer()[e+t];t+=a;const C=E.getErrorCorrectPolynomial(B),Q=new I(n[s],C.getLength()-1).mod(C);g[s]=r(C.getLength()-1);for(let A=0;A<g[s].length;A+=1){const e=A+Q.getLength()-g[s].length;g[s][A]=e>=0?Q.getAt(e):0}}const s=r(e.reduce(((A,e)=>A+e.getTotalCount()),0));let a=0;for(let A=0;A<i;A+=1)for(let t=0;t<e.length;t+=1)A<n[t].length&&(s[a]=n[t][A],a+=1);for(let A=0;A<o;A+=1)for(let t=0;t<e.length;t+=1)A<g[t].length&&(s[a]=g[t][A],a+=1);return s}}u.stringToBytesFuncs={default(A){const e=[];for(let t=0;t<A.length;t+=1){const i=A.charCodeAt(t);e.push(255&i)}return e}},u.PAD0=236,u.PAD1=17;const p=A=>!!A&&"object"==typeof A&&!Array.isArray(A);function m(A,e=!1){const t=A.split("").reverse().join("");return e?t.toLocaleUpperCase():t}function f(A,...e){if(!e.length)return A;const t=e.shift();return void 0!==t&&p(A)&&p(t)?(A={...A},Object.keys(t).forEach((e=>{const i=A[e],o=t[e];Array.isArray(i)&&Array.isArray(o)?A[e]=o:p(i)&&p(o)?A[e]=f({...i},o):A[e]=void 0===o?i:o})),f(A,...e)):A}m("rq",!0),m("-",!0),m("talp",!0),m("mrof",!0),m("a".repeat(6)+"#",!0);const D=/\.?0+$/;function w(A){return A.toFixed(7).replace(D,"")}function y(A,...e){return A.reduce(((A,t,i)=>{let o="";return i&&(o=e[i-1]),"number"==typeof o&&(o=w(o)),`${A}${o}${t}`}),"").trim().replace(/[\s\n\r]+/gim," ")}function F(A){if(!A)return!1;const e=A.toLowerCase().trim();return"none"===e||"transparent"===e}const S="top",R="bottom",k="left",U="right";const b=A=>"number"==typeof A?A:parseInt(A.replace("%",""),10),Y=(A,e="0%")=>A?A.endsWith("%")?A:A+"%":e,N="text",G="image",J=(A,e)=>{var t,i;return!(null!==(t=null==A||null===(i=A.decorations)||void 0===i||null===(i=i[e])||void 0===i?void 0:i.disabled)&&void 0!==t&&t)},V=A=>{if("string"==typeof A)return A;const{fontFace:e="Helvetica",fontSize:t=20,fontColor:i="#ffffff",letterSpacing:o=1,textTransform:n="uppercase",fontWeight:g="bold"}=A||{};return`font-weight: ${g}; text-transform: ${n}; font-size: ${t}px; font-family: ${e}; fill: ${i}; letter-spacing: ${o}px; dominant-baseline: central;`};const Z=({document:A,position:e,rotate:t,flip:i,thickness:o,height:n,width:g,round:r,offset:I=0,curveAdjustment:s=0,curveRadius:a,innerBorderPadding:B=0,outerBorderPadding:C=0,instanceId:Q})=>{const E=Math.min(g,n),l=A.createElementNS("http://www.w3.org/2000/svg","path"),h=(A=>{if(A>=50)return 1;const e=[{R:0,P:0},{R:5,P:0},{R:10,P:.12},{R:15,P:.2},{R:20,P:.32},{R:25,P:.44},{R:30,P:.56},{R:35,P:.65},{R:40,P:.72},{R:42,P:.76},{R:44,P:.8},{R:45,P:.83},{R:46,P:.86},{R:48,P:.92},{R:50,P:1}],t=e.find((e=>A<=e.R))||e[0],i=e.find((e=>A>e.R))||e[e.length-1],{R:o,P:n}=t,{R:g,P:r}=i;return n+(A-o)/(g-o)*(r-n)})("string"==typeof r?b(r):r),d=void 0!==a?function(A){let e;return e="number"==typeof A?A:"string"==typeof A?(A.includes("%"),parseFloat(A)):0,e=Math.min(Math.max(e,0),50),.5+e/50*.5}(a):h;let c=(E-o-2*C-10*s*2)/2*d;const u=((A,e,t,i)=>{const o=t/2,n=i/2;let g="";return A&&(g+=`rotate(${A}, ${o}, ${n}) `),e&&(g+=`translate(${o}, ${n}) scale(1, -1) translate(${-o}, ${-n}) `),g.trim()})(t,i,g,n);l.setAttribute("id",`${e}-text-path-${Q}`),l.setAttribute("transform",u);let{startX:p,startY:m,pathWidth:f}=((A,e,t,i,o={})=>{let n=e/2,g=e/2+i,r=A-e;return t&&(r-=4*t,n+=2*t,g+=2*t),n+=o.left||0,g+=o.top||0,{startX:n,startY:g,pathWidth:r}})(E,o,C,I);const D=C>0,w=B>0;if(D||w){let A=0;D&&(A-=C/20),w&&(A-=B/2),p-=A,m-=A,f+=2*A,c=f/2*d}return l.setAttribute("d",((A,e,t,i)=>`\n M${A},${e+i}\n a${i},${i} 0 0 1 ${i},${-i}\n h${t-2*i}\n a${i},${i} 0 0 1 ${i},${i}\n `)(p,m,f,c)),l},O=({document:A,thickness:e,value:t,svg:i,position:o,height:n,width:g,round:r,style:I,offset:s=0,curveAdjustment:a=0,curveDisabled:B=!1,innerBorderPadding:C=0,outerBorderPadding:Q=0,curveRadius:E,instanceId:l,noBorderThickness:h,enabledBorders:d})=>{let c=0,u=!1;if(o===U?c=90:o===R?u=!B:o===k&&(c=-90),B){const r=A.createElementNS("http://www.w3.org/2000/svg","text");let a=g/2,B=(n-Math.min(g,n)+e)/2+2*Q+s-(n-g>0?0:(g-n)/2);let E=0;if(Q>0&&(E-=Q/20),C>0&&(E-=C/2),o===R?B=n-2*Q-e/2-s+E:o===S?B=2*Q+e/2+s-E:o!==k&&o!==U||(B-=E),o===S||o===R){let A=0;!d[k]&&d[U]?A=-(e-h)/2:d[k]&&!d[U]&&(A=(e-h)/2),a+=A}else if(o===k||o===U){let A=0;!d[S]&&d[R]?A=o===k?(e-h)/2:-(e-h)/2:d[S]&&!d[R]&&(A=o===k?-(e-h)/2:(e-h)/2),a+=A}let l="";0!==c&&(l+=`rotate(${c}, ${g/2}, ${n/2}) `),r.setAttribute("x",a.toString()),r.setAttribute("y",B.toString()),r.setAttribute("text-anchor","middle"),l&&r.setAttribute("transform",l.trim()),r.textContent=t;const u=V(I);r.setAttribute("style",u),i.appendChild(r)}else{let B=i.getElementsByTagName("defs")[0];B||(B=A.createElementNS("http://www.w3.org/2000/svg","defs"),i.appendChild(B));const p=Z({document:A,position:o,rotate:c,flip:u,thickness:e,height:n,width:g,round:r,offset:s,curveAdjustment:a,innerBorderPadding:C,outerBorderPadding:Q,curveRadius:E,instanceId:l}),{x:m,y:f}=function(A,e,t,i){let o=0,n=0;const g=(e-t)/2;return i.left&&i.right&&i.top&&i.bottom?(o=0,n=0):"top"===A||"bottom"===A?!i.left&&i.right?o=-g:(i.left&&!i.right||i.left&&i.right)&&(o=g):"left"!==A&&"right"!==A||(!i.top&&i.bottom?i.left&&i.right?(o="left"===A?2*+g:0,n=-g):o="left"===A?+g:-g:i.top&&!i.bottom?i.left&&i.right?(o="left"===A?0:2*g,n=-g):o=0:i.top&&i.bottom?n=i.left&&i.right?2*+g:+g:(o=i.left&&i.right?2*+g:+g,n=i.left&&i.right?2*-g:-g)),{x:o,y:n}}(o,e,h,d);if(0!==m||0!==f){const A=`${p.getAttribute("transform")||""} translate(${m}, ${f})`.trim();p.setAttribute("transform",A)}B.appendChild(p),i.appendChild((({document:A,value:e,position:t,style:i,instanceId:o})=>{const n=A.createElementNS("http://www.w3.org/2000/svg","text"),g=A.createElementNS("http://www.w3.org/2000/svg","textPath");g.setAttribute("href",`#${t}-text-path-${o}`),g.setAttribute("text-anchor","middle"),g.setAttribute("startOffset","50%"),g.textContent=e;const r=V(i);return n.setAttribute("style",r),n.appendChild(g),n})({document:A,position:o,value:t,style:I,instanceId:l}))}},W=({document:A,thickness:e,value:t,svg:i,position:o,height:n,width:g,offset:r=0,style:I})=>{const s=A.createElementNS("http://www.w3.org/2000/svg","image"),a=Math.min(g,n);let B=(g-a+e)/2,C=(n-a+e)/2+r;o===S?B+=(a-e)/2:o===U?(B+=a-e,C+=(a-e)/2):o===R?(B+=(a-e)/2,C+=a-e):o===k&&(C+=(a-e)/2),s.setAttribute("href",t||""),s.setAttribute("x",`${B}`),s.setAttribute("y",`${C}`),s.setAttribute("style",(null==I?void 0:I.toString())||""),i.appendChild(s)};var M,H,T,X,x,L,K;function q(A){const e={...A};if(!e.colorStops||!e.colorStops.length)throw new Error("Field 'colorStops' is required in gradient");return e.rotation?e.rotation=Number(e.rotation):e.rotation=0,e.colorStops=e.colorStops.map((A=>({...A,offset:Number(A.offset)}))),e}function j(A){var e,t,i;const o={...A};if(o.imageOptions={...o.imageOptions,imageSize:Math.min(1,Number(null===(e=o.imageOptions)||void 0===e?void 0:e.imageSize))||1,margin:Number(null===(t=o.imageOptions)||void 0===t?void 0:t.margin)||0,padding:Number(null===(i=o.imageOptions)||void 0===i?void 0:i.padding)||0},o.imageOptions.mode==K.overlay&&(o.imageOptions.margin=0),o.dotsOptions={...o.dotsOptions},o.dotsOptions.gradient&&(o.dotsOptions.gradient=q(o.dotsOptions.gradient)),o.dotsOptions.size=Math.round(Math.max(0,o.dotsOptions.size)||10),o.cornersSquareOptions&&(o.cornersSquareOptions={...o.cornersSquareOptions},o.cornersSquareOptions.gradient&&(o.cornersSquareOptions.gradient=q(o.cornersSquareOptions.gradient))),o.cornersDotOptions&&(o.cornersDotOptions={...o.cornersDotOptions},o.cornersDotOptions.gradient&&(o.cornersDotOptions.gradient=q(o.cornersDotOptions.gradient))),o.backgroundOptions&&(o.backgroundOptions={...o.backgroundOptions},o.backgroundOptions.gradient&&(o.backgroundOptions.gradient=q(o.backgroundOptions.gradient))),o.borderOptions&&o.borderOptions.decorations){const A=["top","bottom","left","right"];for(const e of A){let A=o.borderOptions.decorations[e];A||(o.borderOptions.decorations[e]={enableText:!1,value:void 0},A=o.borderOptions.decorations[e]),!1===A.enableText?A.value=void 0:!0===A.enableText?null!==A.value&&void 0!==A.value||(A.value=""):void 0===A.enableText&&(A.value&&"string"==typeof A.value&&!1!==A.enableText&&""!==A.value.trim()?A.enableText=!0:(A.enableText=!1,A.value=void 0))}}return"undefined"==typeof document||o.document||(o.document=document),o}!function(A){A.radial="radial",A.linear="linear"}(M||(M={})),function(A){A.svg="svg",A.png="png",A.jpeg="jpeg",A.webp="webp"}(H||(H={})),function(A){A.dot="dot",A.randomDot="random-dot",A.rounded="rounded",A.extraRounded="extra-rounded",A.verticalLine="vertical-line",A.horizontalLine="horizontal-line",A.classy="classy",A.classyRounded="classy-rounded",A.square="square",A.smallSquare="small-square",A.tinySquare="tiny-square",A.star="star",A.plus="plus",A.diamond="diamond"}(T||(T={})),function(A){A.dot="dot",A.square="square",A.heart="heart",A.rounded="rounded",A.classy="classy",A.outpoint="outpoint",A.inpoint="inpoint"}(X||(X={})),function(A){A.dot="dot",A.square="square",A.rounded="rounded",A.classy="classy",A.outpoint="outpoint",A.inpoint="inpoint"}(x||(x={})),function(A){A.square="square",A.circle="circle"}(L||(L={})),function(A){A.center="center",A.overlay="overlay",A.background="background"}(K||(K={}));const P={[d.L]:.07,[d.M]:.15,[d.Q]:.25,[d.H]:.3};class v{constructor(A="",e={}){if(A instanceof v)return A;const t=function(A){let e={r:0,g:0,b:0},t=1,i=null,o=null,n=null,g=!1,r=!1;"string"==typeof A&&(A=function(A){const e=/^\s+/,t=/\s+$/;A=A.replace(e,"").replace(t,"").toLowerCase();let i,o=!1;if(v.names[A])A=v.names[A],o=!0;else if("transparent"==A)return{r:0,g:0,b:0,a:0,format:"name"};if(i=mA.rgb.exec(A))return{r:i[1],g:i[2],b:i[3]};if(i=mA.rgba.exec(A))return{r:i[1],g:i[2],b:i[3],a:i[4]};if(i=mA.hsl.exec(A))return{h:i[1],s:i[2],l:i[3]};if(i=mA.hsla.exec(A))return{h:i[1],s:i[2],l:i[3],a:i[4]};if(i=mA.hsv.exec(A))return{h:i[1],s:i[2],v:i[3]};if(i=mA.hsva.exec(A))return{h:i[1],s:i[2],v:i[3],a:i[4]};if(i=mA.hex8.exec(A))return{r:hA(i[1]),g:hA(i[2]),b:hA(i[3]),a:pA(i[4]),format:o?"name":"hex8"};if(i=mA.hex6.exec(A))return{r:hA(i[1]),g:hA(i[2]),b:hA(i[3]),format:o?"name":"hex"};if(i=mA.hex4.exec(A))return{r:hA(i[1]+""+i[1]),g:hA(i[2]+""+i[2]),b:hA(i[3]+""+i[3]),a:pA(i[4]+""+i[4]),format:o?"name":"hex8"};if(i=mA.hex3.exec(A))return{r:hA(i[1]+""+i[1]),g:hA(i[2]+""+i[2]),b:hA(i[3]+""+i[3]),format:o?"name":"hex"};return!1}(A));"object"==typeof A&&(fA(A.r)&&fA(A.g)&&fA(A.b)?(e=function(A,e,t){return{r:255*EA(A,255),g:255*EA(e,255),b:255*EA(t,255)}}(A.r,A.g,A.b),g=!0,r="%"===String(A.r).slice(-1)?"prgb":"rgb"):fA(A.h)&&fA(A.s)&&fA(A.v)?(i=cA(A.s),o=cA(A.v),e=function(A,e,t){A=6*EA(A,360),e=EA(e,100),t=EA(t,100);const i=Math.floor(A),o=A-i,n=t*(1-e),g=t*(1-o*e),r=t*(1-(1-o)*e),I=i%6,s=[t,g,n,n,r,t][I],a=[r,t,t,g,n,n][I],B=[n,n,r,t,t,qw][I];return{r:255*s,g:255*a,b:255*B}}(A.h,i,o),g=!0,r="hsv"):fA(A.h)&&fA(A.s)&&fA(A.l)&&(i=cA(A.s),n=cA(A.l),e=function(A,e,t){let i,o,n;function g(A,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?A+6*(e-A)*t:t<.5?e:t<2/3?A+(e-A)*(2/3-t)*6:A}if(A=EA(A,360),e=EA(e,100),t=EA(t,100),0===e)i=o=n=t;else{const r=t<.5?t*(1+e):t+e-t*e,I=2*t-r;i=g(I,r,A+1/3),o=g(I,r,A),n=g(I,r,A-1/3)}return{r:255*i,g:255*o,b:255*n}}(A.h,i,n),g=!0,r="hsl"),A.hasOwnProperty("a")&&(t=A.a));return t=QA(t),{ok:g,format:A.format||r,r:Math.min(255,Math.max(e.r,0)),g:Math.min(255,Math.max(e.g,0)),b:Math.min(255,Math.max(e.b,0)),a:t}}(A);this._originalInput=A,this._r=t.r,this._g=t.g,this._b=t.b,this._a=t.a,this._roundA=Math.round(100*this._a)/100,this._format=e.format||t.format,this._gradientType=e.gradientType,this._r<1&&(this._r=Math.round(this._r)),this._g<1&&(this._g=Math.round(this._g)),this._b<1&&(this._b=Math.round(this._b)),this._ok=t.ok}isDark(){return this.getBrightness()<128}isLight(){return!this.isDark()}isValid(){return this._ok}getOriginalInput(){return this._originalInput}getFormat(){return this._format}getAlpha(){return this._a}getBrightness(){const A=this.toRgb();return(299*A.r+587*A.g+114*A.b)/1e3}getLuminance(){const A=this.toRgb(),e=A.r/255,t=A.g/255,i=A.b/255;return.2126*(e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4))+.7152*(t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4))+.0722*(i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4))}setAlpha(A){return this._a=QA(A),this._roundA=Math.round(100*this._a)/100,this}toHsv(){const A=_(this._r,this._g,this._b);return{h:360*A.h,s:A.s,v:A.v,a:this._a}}toHsvString(){const A=_(this._r,this._g,this._b),e=Math.round(360*A.h),t=Math.round(100*A.s),i=Math.round(100*A.v);return 1==this._a?`hsv(${e}, ${t}%, ${i}%)`:`hsva(${e}, ${t}%, ${i}%, ${this._roundA})`}toHsl(){const A=z(this._r,this._g,this._b);return{h:360*A.h,s:A.s,l:A.l,a:this._a}}toHslString(){const A=z(this._r,this._g,this._b),e=Math.round(360*A.h),t=Math.round(100*A.s),i=Math.round(100*A.l);return 1==this._a?`hsl(${e}, ${t}%, ${i}%)`:`hsla(${e}, ${t}%, ${i}%, ${this._roundA})`}toHex(A){return $(this._r,this._g,this._b,A)}toHexString(A){return"#"+this.toHex(A)}toHex8(A){return function(A,e,t,i,o){const n=[dA(Math.round(A).toString(16)),dA(Math.round(e).toString(16)),dA(Math.round(t).toString(16)),dA(uA(i))];if(o&&n[0].charAt(0)==n[0].charAt(1)&&n[1].charAt(0)==n[1].charAt(1)&&n[2].charAt(0)==n[2].charAt(1)&&n[3].charAt(0)==n[3].charAt(1))return n[0].charAt(0)+n[1].charAt(0)+n[2].charAt(0)+n[3].charAt(0);return n.join("")}(this._r,this._g,this._b,this._a,A)}toHex8String(A){return"#"+this.toHex8(A)}toRgb(){return{r:Math.round(this._r),g:Math.round(this._g),b:Math.round(this._b),a:this._a}}toRgbString(){return 1==this._a?`rgb(${Math.round(this._r)}, ${Math.round(this._g)}, ${Math.round(this._b)})`:`rgba(${Math.round(this._r)}, ${Math.round(this._g)}, ${Math.round(this._b)}, ${this._roundA})`}toPercentageRgb(){return{r:Math.round(100*EA(this._r,255))+"%",g:Math.round(100*EA(this._g,255))+"%",b:Math.round(100*EA(this._b,255))+"%",a:this._a}}toPercentageRgbString(){return 1==this._a?`rgb(${Math.round(100*EA(this._r,255))}%, ${Math.round(100*EA(this._g,255))}%, ${Math.round(100*EA(this._b,255))}%)`:`rgba(${Math.round(100*EA(this._r,255))}%, ${Math.round(100*EA(this._g,255))}%, ${Math.round(100*EA(this._b,255))}%, ${this._roundA})`}toName(){return 0===this._a?"transparent":!(this._a<1)&&(v.hexNames[$(this._r,this._g,this._b,!0)]||!1)}toFilter(A){const e="#"+AA(this._r,this._g,this._b,this._a);let t=e;const i=this._gradientType?"GradientType = 1, ":"";if(A){const e=new v(A);t="#"+AA(e._r,e._g,e._b,e._a)}return`progid:DXImageTransform.Microsoft.gradient(${i}startColorstr=${e},endColorstr=${t})`}toString(A){const e=!!A;A=A||this._format;let t=!1;const i=this._a<1&&this._a>=0;return e||!i||"hex"!==A&&"hex6"!==A&&"hex3"!==A&&"hex4"!==A&&"hex8"!==A&&"name"!==A?("rgb"===A&&(t=this.toRgbString()),"prgb"===A&&(t=this.toPercentageRgbString()),"hex"!==A&&"hex6"!==A||(t=this.toHexString()),"hex3"===A&&(t=this.toHexString(!0)),"hex4"===A&&(t=this.toHex8String(!0)),"hex8"===A&&(t=this.toHex8String()),"name"===A&&(t=this.toName()),"hsl"===A&&(t=this.toHslString()),"hsv"===A&&(t=this.toHsvString()),t||this.toHexString()):"name"===A&&0===this._a?this.toName():this.toRgbString()}clone(){return new v(this.toString())}_applyModification(A,...e){const t=A(this,...e);return this._r=t._r,this._g=t._g,this._b=t._b,this.setAlpha(t._a),this}lighten(...A){return this._applyModification(oA,...A)}brighten(...A){return this._applyModification(nA,...A)}darken(...A){return this._applyModification(gA,...A)}desaturate(...A){return this._applyModification(eA,...A)}saturate(...A){return this._applyModification(tA,...A)}greyscale(...A){return this._applyModification(iA,...A)}spin(...A){return this._applyModification(rA,...A)}_applyCombination(A,...e){return A(this,...e)}analogous(...A){return this._applyCombination(BA,...A)}complement(...A){return this._applyCombination(IA,...A)}monochromatic(...A){return this._applyCombination(CA,...A)}splitcomplement(...A){return this._applyCombination(aA,...A)}triad(){return this._applyCombination(sA,3)}tetrad(){return this._applyCombination(sA,4)}static fromRatio(A,e){if("object"==typeof A){const e={};for(const t in A)A.hasOwnProperty(t)&&(e[t]="a"===t?A[t]:cA(A[t]));A=e}return new v(A,e)}static equals(A,e){return!(!A||!e)&&new v(A).toRgbString()===new v(e).toRgbString()}static random(){return v.fromRatio({r:Math.random(),g:Math.random(),b:Math.random()})}static mix(A,e,t){t=0===t?0:t||50;const i=new v(A).toRgb(),o=new v(e).toRgb(),n=t/100,g={r:(o.r-i.r)*n+i.r,g:(o.g-i.g)*n+i.g,b:(o.b-i.b)*n+i.b,a:(o.a-i.a)*n+i.a};return new v(g)}static readability(A,e){const t=new v(A),i=new v(e);return(Math.max(t.getLuminance(),i.getLuminance())+.05)/(Math.min(t.getLuminance(),i.getLuminance())+.05)}static isReadable(A,e,t){const i=v.readability(A,e);let o=!1;const n=function(A){let e,t;e=((A=A||{level:"AA",size:"small"}).level||"AA").toUpperCase(),t=(A.size||"small").toLowerCase(),"AA"!==e&&"AAA"!==e&&(e="AA");"small"!==t&&"large"!==t&&(t="small");return{level:e,size:t}}(t);switch(n.level+n.size){case"AAsmall":case"AAAlarge":o=i>=4.5;break;case"AAlarge":o=i>=3;break;case"AAAsmall":o=i>=7}return o}static mostReadable(A,e,t={}){let i,o=null,n=0;const{includeFallbackColors:g,level:r,size:I}=t;for(const t of e)i=v.readability(A,t),i>n&&(n=i,o=new v(t));return v.isReadable(A,o,{level:r,size:I})||!g?o:(t.includeFallbackColors=!1,v.mostReadable(A,["#fff","#000"],t))}}function z(A,e,t){A=EA(A,255),e=EA(e,255),t=EA(t,255);const i=Math.max(A,e,t),o=Math.min(A,e,t);let n,g;const r=(i+o)/2;if(i==o)n=g=0;else{const I=i-o;switch(g=r>.5?I/(2-i-o):I/(i+o),i){case A:n=(e-t)/I+(e<t?6:0);break;case e:n=(t-A)/I+2;break;case t:n=(A-e)/I+4}n/=6}return{h:n,s:g,l:r}}function _(A,e,t){A=EA(A,255),e=EA(e,255),t=EA(t,255);const i=Math.max(A,e,t),o=Math.min(A,e,t);let n;const g=i,r=i-o,I=0===i?0:r/i;if(i==o)n=0;else{switch(i){case A:n=(e-t)/r+(e<t?6:0);break;case e:n=(t-A)/r+2;break;case t:n=(A-e)/r+4}n/=6}return{h:n,s:I,v:g}}function $(A,e,t,i){const o=[dA(Math.round(A).toString(16)),dA(Math.round(e).toString(16)),dA(Math.round(t).toString(16))];return i&&o[0].charAt(0)==o[0].charAt(1)&&o[1].charAt(0)==o[1].charAt(1)&&o[2].charAt(0)==o[2].charAt(1)?o[0].charAt(0)+o[1].charAt(0)+o[2].charAt(0):o.join("")}function AA(A,e,t,i){return[dA(uA(i)),dA(Math.round(A).toString(16)),dA(Math.round(e).toString(16)),dA(Math.round(t).toString(16))].join("")}function eA(A,e){e=0===e?0:e||10;const t=new v(A).toHsl();return t.s-=e/100,t.s=lA(t.s),new v(t)}function tA(A,e){e=0===e?0:e||10;const t=new v(A).toHsl();return t.s+=e/100,t.s=lA(t.s),new v(t)}function iA(A){return new v(A).desaturate(100)}function oA(A,e){e=0===e?0:e||10;const t=new v(A).toHsl();return t.l+=e/100,t.l=lA(t.l),new v(t)}function nA(A,e){e=0===e?0:e||10;const t=new v(A).toRgb();return t.r=Math.max(0,Math.min(255,t.r-Math.round(-e/100*255))),t.g=Math.max(0,Math.min(255,t.g-Math.round(-e/100*255))),t.b=Math.max(0,Math.min(255,t.b-Math.round(-e/100*255))),new v(t)}function gA(A,e){e=0===e?0:e||10;const t=new v(A).toHsl();return t.l-=e/100,t.l=lA(t.l),new v(t)}function rA(A,e){const t=new v(A).toHsl(),i=(t.h+e)%360;return t.h=i<0?360+i:i,new v(t)}v.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",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",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",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:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},v.hexNames=function(A){const e={};for(const t in A)A.hasOwnProperty(t)&&(e[A[t]]=t);return e}(v.names);const IA=A=>{const e=new v(A).toHsl();return e.h=(e.h+180)%360,new v(e)},sA=(A,e)=>{if(isNaN(e)||e<=0)throw new Error("Argument to polyad must be a positive number");const t=new v(A).toHsl(),i=[new v(A)],o=360/e;for(let A=1;A<e;A++)i.push(new v({h:(t.h+A*o)%360,s:t.s,l:t.l}));return i};function aA(A){const e=new v(A).toHsl(),t=e.h;return[new v(A),new v({h:(t+72)%360,s:e.s,l:e.l}),new v({h:(t+216)%360,s:e.s,l:e.l})]}function BA(A,e,t){e=e||6,t=t||30;const i=new v(A).toHsl(),o=360/t,n=[new v(A)];for(i.h=(i.h-(o*e>>1)+720)%360;--e;)i.h=(i.h+o)%360,n.push(new v(i));return n}function CA(A,e){e=e||6;const t=new v(A).toHsv(),i=t.h,o=t.s;let n=t.v;const g=[],r=1/e;for(;e--;)g.push(new v({h:i,s:o,v:n})),n=(n+r)%1;return g}function QA(A){return A=parseFloat(A),(isNaN(A)||A<0||A>1)&&(A=1),A}function EA(A,e){(function(A){return"string"==typeof A&&-1!=A.indexOf(".")&&1===parseFloat(A)})(A)&&(A="100%");const t=function(A){return"string"==typeof A&&-1!=A.indexOf("%")}(A);return A=Math.min(e,Math.max(0,parseFloat(A))),t&&(A=parseInt(A*e,10)/100),Math.abs(A-e)<1e-6?1:A%e/parseFloat(e)}function lA(A){return Math.min(1,Math.max(0,A))}function hA(A){return parseInt(A,16)}function dA(A){return 1==A.length?"0"+A:""+A}function cA(A){return A<=1&&(A=100*A+"%"),A}function uA(A){return Math.round(255*parseFloat(A)).toString(16)}function pA(A){return hA(A)/255}const mA=(()=>{const A="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)",e=`[\\s|\\(]+(${A})[,|\\s]+(${A})[,|\\s]+(${A})\\s*\\)?`,t=`[\\s|\\(]+(${A})[,|\\s]+(${A})[,|\\s]+(${A})[,|\\s]+(${A})\\s*\\)?`;return{CSS_UNIT:new RegExp(A),rgb:new RegExp("rgb"+e),rgba:new RegExp("rgba"+t),hsl:new RegExp("hsl"+e),hsla:new RegExp("hsla"+t),hsv:new RegExp("hsv"+e),hsva:new RegExp("hsva"+t),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}})();function fA(A){return!!mA.CSS_UNIT.exec(A)}function DA(A,e){A.decorations||(A.decorations={}),["top","right","bottom","left"].forEach((t=>{A.decorations[t]||(A.decorations[t]={}),A.decorations[t].style||(A.decorations[t].style={}),A.decorations[t].style.fontColor=e}))}function wA(A){const e={};if((A.primaryColor||A.dotsGradient)&&(e.dotsOptions={...e.dotsOptions,...A.primaryColor&&{color:A.primaryColor},...A.dotsGradient&&{gradient:A.dotsGradient}}),(A.secondaryColor||A.cornersGradient)&&(e.cornersSquareOptions={...e.cornersSquareOptions,...A.secondaryColor&&{color:A.secondaryColor},...A.cornersGradient&&{gradient:A.cornersGradient}},e.cornersDotOptions={...e.cornersDotOptions,...A.secondaryColor&&{color:A.secondaryColor}}),(A.thirdColor||A.cornersDotGradient)&&(e.cornersDotOptions={...e.cornersDotOptions,...A.thirdColor&&{color:A.thirdColor},...A.cornersDotGradient&&{gradient:A.cornersDotGradient}}),(A.backgroundColor||A.backgroundGradient)&&(e.backgroundOptions={...e.backgroundOptions,...A.backgroundColor&&{color:A.backgroundColor},...A.backgroundGradient&&{gradient:A.backgroundGradient}}),A.dotShape&&(e.dotsOptions={...e.dotsOptions,type:A.dotShape}),A.cornerSquareShape&&(e.cornersSquareOptions={...e.cornersSquareOptions,type:A.cornerSquareShape}),A.cornerDotShape&&(e.cornersDotOptions={...e.cornersDotOptions,type:A.cornerDotShape}),A.logo&&(e.image=A.logo),(void 0!==A.logoSize||A.logoMode||void 0!==A.logoMargin||A.logoBackgroundColor||void 0!==A.logoPadding||void 0!==A.logoRadius)&&(e.imageOptions={...e.imageOptions,...void 0!==A.logoSize&&{imageSize:A.logoSize},...A.logoMode&&{mode:A.logoMode},...void 0!==A.logoMargin&&{margin:A.logoMargin},...A.logoBackgroundColor&&{backgroundColor:A.logoBackgroundColor},...void 0!==A.logoPadding&&{padding:A.logoPadding},...void 0!==A.logoRadius&&{radius:A.logoRadius}}),A.borderColor||void 0!==A.borderThickness||void 0!==A.borderRadius||A.borderInnerColor||void 0!==A.borderInnerThickness||void 0!==A.borderInnerRadius||A.borderOuterColor||void 0!==A.borderOuterThickness||A.borderTextTop||A.borderTextRight||A.borderTextBottom||A.borderTextLeft||A.borderFontFace||void 0!==A.borderFontSize||A.borderFontColor||void 0!==A.borderLetterSpacing||A.borderTextTransform||A.borderFontWeight){e.borderOptions||(e.borderOptions={hasBorder:!0});const t=e.borderOptions;A.borderColor&&(t.color=A.borderColor),void 0!==A.borderThickness&&(t.thickness=A.borderThickness),void 0!==A.borderRadius&&(t.radius=String(A.borderRadius)),void 0===A.borderInnerColor&&void 0===A.borderInnerThickness||(t.borderInner||(t.borderInner={}),void 0!==A.borderInnerColor&&(t.borderInner.color=A.borderInnerColor),void 0!==A.borderInnerThickness&&(t.borderInner.thickness=A.borderInnerThickness)),void 0!==A.borderInnerRadius&&(t.inner||(t.inner={}),t.inner.radius=String(A.borderInnerRadius)),void 0===A.borderOuterColor&&void 0===A.borderOuterThickness||(t.borderOuter||(t.borderOuter={}),void 0!==A.borderOuterColor&&(t.borderOuter.color=A.borderOuterColor),void 0!==A.borderOuterThickness&&(t.borderOuter.thickness=A.borderOuterThickness));const i={};A.borderFontFace&&(i.fontFace=A.borderFontFace),void 0!==A.borderFontSize&&(i.fontSize=A.borderFontSize),A.borderFontColor&&(i.fontColor=A.borderFontColor),void 0!==A.borderLetterSpacing&&(i.letterSpacing=A.borderLetterSpacing),A.borderTextTransform&&(i.textTransform=A.borderTextTransform),A.borderFontWeight&&(i.fontWeight=A.borderFontWeight),t.decorations||(t.decorations={});const o=t.decorations?JSON.parse(JSON.stringify(t.decorations)):{};let n=!1;Object.keys(i).length>0&&(n=!0,["top","right","bottom","left"].forEach((A=>{o[A]||(o[A]={}),o[A].style||(o[A].style={}),o[A].style={...o[A].style,...i}}))),["top","right","bottom","left"].forEach((e=>{var t,g;const r=`borderText${e.charAt(0).toUpperCase()+e.slice(1)}`,I=A[r];var s;void 0!==I?(o[e]||(o[e]={}),o[e]={...o[e],value:I,enableText:!0,style:{...(null===(s=o[e])||void 0===s?void 0:s.style)||{},...i}},n=!0):null!==(t=o[e])&&void 0!==t&&t.value&&Object.keys(i).length>0&&(null===(g=o[e])||void 0===g||!g.style)&&(o[e].style||(o[e].style={}),o[e].style={...o[e].style,...i},n=!0)})),n&&(t.decorations=o)}if(!!(A.primaryColor||A.secondaryColor||A.thirdColor||A.backgroundColor)){e.borderOptions||(e.borderOptions={hasBorder:!0});const t=e.borderOptions;if(A.secondaryColor&&!A.borderColor){const e=new v(A.secondaryColor).isDark();t.color=new v(A.primaryColor).darken(e?-12:12).toString()}if(A.thirdColor&&!A.borderInnerColor&&(t.borderInner||(t.borderInner={}),t.borderInner.color=new v(A.thirdColor).darken(2).toString()),A.primaryColor&&!A.borderOuterColor&&(t.borderOuter=t.borderOuter||{},t.borderOuter.color=new v(A.primaryColor).darken(2).toString()),A.backgroundColor&&!A.borderFontColor&&t.color){const e=new v(A.backgroundColor),i=new v(t.color),o=v.readability(e,i),n=e.isDark();if(o<2){DA(t,(n?e.lighten(15):e.darken(15)).toString())}else{DA(t,(n?e.lighten(20):e.lighten(10)).toString())}}}return e}function yA(A){const e=[];return void 0!==A.logoSize&&("number"!=typeof A.logoSize||A.logoSize<0||A.logoSize>1)&&e.push("logoSize must be a number between 0 and 1."),{isValid:0===e.length,errors:e}}class FA{constructor(){}close(){}}class SA extends FA{constructor(A){super(),this.istream=A,this.buffer=0,this.buflen=0}readByte(){for(;this.buflen<8;){const A=this.istream.readByte();if(-1==A){if(0==this.buflen)return-1;throw new Error("unexpected end of file./"+this.buflen)}if(A=="=".charCodeAt(0))return this.buflen=0,-1;SA.isWhitespace(A)||(this.buffer=this.buffer<<6|SA.decode(A),this.buflen+=6)}const A=this.buffer>>>this.buflen-8&255;return this.buflen-=8,A}static isWhitespace(A){return A=="\v".charCodeAt(0)||A=="\t".charCodeAt(0)||A=="\r".charCodeAt(0)||A=="\n".charCodeAt(0)}static decode(A){if("A".charCodeAt(0)<=A&&A<="Z".charCodeAt(0))return A-"A".charCodeAt(0);if("a".charCodeAt(0)<=A&&A<="z".charCodeAt(0))return A-"a".charCodeAt(0)+26;if("0".charCodeAt(0)<=A&&A<="9".charCodeAt(0))return A-"0".charCodeAt(0)+52;if(A=="+".charCodeAt(0))return 62;if(A=="/".charCodeAt(0))return 63;throw new Error("c:"+A)}}class RA extends FA{constructor(A){super(),this.bytes=A,this.pos=0}readByte(){if(this.pos<this.bytes.length){const A=this.bytes[this.pos];return this.pos+=1,A}return-1}}(function(A,e){const t=(()=>{const t=new SA(new RA(function(A){const e=[];for(let t=0;t<A.length;t+=1)e.push(A.charCodeAt(t));return e}(A))),i=()=>{const A=t.readByte();if(-1==A)throw new Error("eof");return A};let o=0;const n={};for(;;){const A=t.readByte();if(-1==A)break;const e=i(),g=i()<<8|i();n[String.fromCharCode(A<<8|e)]=g,o+=1}if(o!=e)throw new Error(o+"!="+e);return n})(),i="?".charCodeAt(0)})("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MIWC4zCGguQwh4LlMIiC5jCJgucwioLoMIuC6TCMguowjYLrMI6C7DCPgu0wkILuMJGC7zCSgvAwk4LxMJuBSjCcgUswnYFUMJ6BVTChg0AwooNBMKODQjCkg0MwpYNEMKaDRTCng0YwqINHMKmDSDCqg0kwq4NKMKyDSzCtg0wwroNNMK+DTjCwg08wsYNQMLKDUTCzg1IwtINTMLWDVDC2g1Uwt4NWMLiDVzC5g1gwuoNZMLuDWjC8g1swvYNcML6DXTC/g14wwINfMMGDYDDCg2Eww4NiMMSDYzDFg2QwxoNlMMeDZjDIg2cwyYNoMMqDaTDLg2owzINrMM2DbDDOg20wz4NuMNCDbzDRg3Aw0oNxMNODcjDUg3Mw1YN0MNaDdTDXg3Yw2IN3MNmDeDDag3kw24N6MNyDezDdg3ww3oN9MN+DfjDgg4Aw4YOBMOKDgjDjg4Mw5IOEMOWDhTDmg4Yw54OHMOiDiDDpg4kw6oOKMOuDizDsg4ww7YONMO6DjjDvg48w8IOQMPGDkTDyg5Iw84OTMPSDlDD1g5Uw9oOWMPuBRTD8gVsw/YFSMP6BU04AiOpOAZKaTgOOtU4HlpxOCI/kTgmOT04Kj+NOC4m6Tg2Vc04Ol15OEJigThGJTk4Uio5OFZihThaQok4XmcBOGIt1ThmVuE4ej+VOIZe8TiaVwE4qmKJOLZKGTjGYo04yi/hONpikTjiK2045kk9OO47lTjyYpU4/mKZOQpinTkOUVE5Fi3ZOS5RWTk2T4U5OjMFOT5ZSTlXlaE5WmKhOV4/mTliYqU5ZibNOXYvjTl6M7k5fludOYpukTnGXkE5zk/tOfoqjToCLVE6CmKpOhZirToaXuU6Il1xOiZGIToqYrU6LjpZOjJPxTo6YsE6RiV1OkozdTpSM3E6ViOROmJhqTpmYaU6bjbFOnIifTp6YsU6fmLJOoJizTqGWU06imLROpIzwTqWI5U6mlpJOqIucTquLnU6si55OrZLgTq6Xuk6wmLVOs5i2TraYt066kGxOwI9ZTsGQbU7CmLxOxJi6TsaYu07Hi3dOyo2hTsuJ7k7NmLlOzpi4Ts+Vp07UjmVO1Y5kTtaRvE7XmL1O2JV0TtmQ5U7dgVdO3pi+Tt+YwE7jkeNO5JffTuWIyE7tmL9O7om8TvCLwk7ykodO9oyPTveYwU77lENPAYrpTwmYwk8KiMlPDYzeTw6K6k8PlZpPEJSwTxGLeE8aie9PHJjlTx2TYE8vlIxPMJjETzSUuk82l+BPOJBMTzqOZk88jpdPPYm+T0OSz09GkkFPR5jIT02Iyk9OkuFPT49aT1CNsk9Rl0NPU5HMT1WJvU9XmMdPWZddT1qYw09bmMVPXI3sT12Yxk9em0NPaZjOT2+Y0U9wmM9Pc4nAT3WVuU92mMlPe5jNT3yM8U9/jmdPg4qkT4aY0k+ImMpPi5fhT42OmE+PmMtPkZjQT5aY00+YmMxPm4ufT52Iy0+gi6BPoYm/T6ubRE+tlplPrpWOT6+M8k+1kE5Ptpe1T7+V1k/CjFdPw5GjT8SJ4k/Kj3JPzpjXT9CY3E/RmNpP1JjVT9eRrU/YmNhP2pjbT9uY2U/dldtP35jWT+GQTU/jlpNP5JjdT+WY3k/uj0NP75jrT/OUb0/1lVVP9pjmT/iV7k/6ibRP/pjqUAWY5FAGmO1QCZFxUAuMwlANlHtQD+DFUBGY7FASk3xQFJjhUBaM9FAZjPNQGpjfUB+O2FAhmOdQI5XtUCSSbFAlmONQJoyRUCiY4FApmOhQKpjiUCuXz1AsmOlQLZhgUDaL5FA5jJBQQ5juUEeY71BImPNQSYjMUE+VzlBQmPJQVZjxUFaY9VBamPRQXJLiUGWMklBsmPZQco7DUHSRpFB1kuNQdov0UHiY91B9i1VQgJj4UIWY+lCNllRQkYyGUJiOUFCZlPVQmpj5UKyNw1Ctl2JQspj8ULOZQlC0mPtQtY3CULePnVC+jFhQwplDUMWLzVDJmUBQyplBUM2TrVDPkZxQ0YuhUNWWbFDWmURQ2pe7UN6ZRVDjmUhQ5ZlGUOeRbVDtmUdQ7plJUPWZS1D5mUpQ+5XGUQCLVlEBmU1RAplOUQSJrVEJmUxREo7yURSZUVEVmVBRFplPURiY1FEamVJRH4+eUSGZU1Eql0RRMpbXUTeZVVE6mVRRO5lXUTyZVlE/mVhRQJlZUUGI8lFDjLNRRIxaUUWPW1FGkptRR4uiUUiQ5lFJjPVRS42OUUyZW1FNlsZRTpNlUVCOmVFSmVpRVJlcUVqTfVFcipVRYpldUWWT/FFokVNRaZlfUWqZYFFrlKpRbIz2UW2YWlFumWFRcYukUXWVulF2kbRRd4vvUXiTVFF8jJNRgJliUYKZY1GFk+BRhol+UYmZZlGKjftRjJllUY2NxFGPmWdRkOPsUZGZaFGSlmBRk5lpUZWZalGWmWtRl4/nUZmOylGgiqVRopluUaSZbFGllrtRppltUaiVeVGpmW9RqplwUauZcVGsk35RsJl1UbGZc1GymXRRs5lyUbSN4VG1mXZRtpboUbeX4lG9mXdRxJCmUcWZeFHGj3lRyZl5UcuSnFHMl71RzZOAUdaZw1HbmXpR3OqjUd2Lw1HgmXtR4ZZ9UeaPiFHnkfpR6Zl9UeqT4lHtmX5R8JmAUfGKTVH1mYFR9oulUfiTylH5iZpR+o9vUf2Un1H+mYJSAJOBUgOQblIEmYNSBpWqUgeQ2FIIiqBSCoqnUguZhFIOmYZSEYxZUhSZhVIXl/FSHY+JUiSUu1IllcpSJ5mHUimXmFIqmYhSLpmJUjCTnlIzmYpSNpCnUjeN/FI4jJRSOZmLUjqOaFI7jY9SQ5LkUkSZjVJHkaVSSo3tUkuZjlJMmY9STZFPUk+ZjFJUmZFSVpZVUluNhFJemZBSY4yVUmSN3FJllI1SaZmUUmqZklJvlZtScI/oUnGZm1JyioRSc5mVUnSZk1J1kW5SfZmXUn+ZllKDimNSh4yAUoiZnFKJl6tSjZmYUpGZnVKSmZpSlJmZUpuXzVKfjPdSoInBUqOX8lKpj5VSqpN3UquNhVKsmaBSrZmhUrGX41K0mEpStZmjUrmM+FK8maJSvopOUsGZpFLDlnVSxZK6UseXRVLJlddSzZmlUtLo01LVk65S15mmUtiKqFLZlrFS3Y+fUt6Zp1LfleVS4JmrUuKQqFLjmahS5IvOUuaZqVLniqlS8oxNUvOZrFL1ma1S+JmuUvmZr1L6jtlS/oz5Uv+W3FMBluZTApP1UwWV71MGmbBTCJmxUw2Zs1MPmbVTEJm0UxWZtlMWibtTF5ZrUxmN+lMambdTHZF4UyCPoFMhi6dTI5m4UyqU2VMvmblTMZm6UzOZu1M4mbxTOZVDUzqL5lM7iONTP5O9U0CZvVNBj1xTQ5DnU0WZv1NGmb5TR4+hU0iM31NJmcFTSpS8U02ZwlNRlNpTUpGyU1OR7FNUi6ZTV5PsU1iSUFNalI5TXJZtU16ZxFNgkOhTZoxUU2mZxVNumcZTb4lLU3CI81NxiutTc5GmU3SLcFN1l5FTd5nJU3iJtVN7mchTf4uoU4KZylOElu9TlpnLU5iX0FOajPpTn4y0U6CZzFOlmc5TppnNU6iQflOpiVhTrYl9U66Zz1OwmdBTs4y1U7aZ0VO7i45Two5RU8OZ0lPIlpRTyY2zU8qLeVPLl0ZTzJFvU82UvVPOjvtT1I9mU9aO5lPXjvNT2Y+WU9uUvlPfmdVT4YliU+KRcFPjjPtT5IzDU+WL5VPomdlT6ZJAU+qR/FPri6lT7I+iU+2Z2lPumdhT74nCU/CR5FPxjrZT8o5qU/OJRVP2ipBT942GU/iOaVP6mdtUAZncVAOLaFQEimVUCI2HVAmLZ1QKkt1UC4lEVAyTr1QNlrxUDo1AVA+XmVQQk2ZUEYz8VBuMTlQdmeVUH4vhVCCWaVQmlNtUKZnkVCuK3FQsmd9ULZngVC6Z4lQ2meNUOIt6VDmQgVQ7latUPJnhVD2Z3VQ+jOFUQJneVEKYQ1RGlfBUSJLmVEmM4FRKjZBUTpnmVFGT21RfmepUaI78VGqO9FRwme1UcZnrVHOWoVR1mehUdpnxVHeZ7FR7me9UfIzEVH2WvVSAmfBUhJnyVIaZ9FSLje5UjJhhVI6Z6VSPmedUkJnzVJKZ7lSimfZUpJpCVKWZ+FSomfxUq5pAVKyZ+VSvml1Uso3nVLOKUFS4mfdUvJpEVL2I9FS+mkNUwIijVMGVaVTCmkFUxJn6VMeZ9VTImftUyY3GVNiaRVThiPVU4ppOVOWaRlTmmkdU6I+jVOmWiVTtmkxU7ppLVPKTTlT6mk1U/ZpKVQSJU1UGjbRVB5BPVQ+aSFUQk4JVFJpJVRaIoFUumlNVL5dCVTGPpVUzmllVOJpYVTmaT1U+kcFVQJpQVUSR7VVFmlVVRo+kVUyaUlVPluJVU4xbVVaaVlVXmldVXJpUVV2aWlVjmlFVe5pgVXyaZVV+mmFVgJpcVYOaZlWEkVBVh5poVYmNQVWKml5Vi5KdVZiaYlWZmltVmoqrVZyK7FWdioVVnppjVZ+aX1WnjJZVqJppVamaZ1WqkXJVq4tpVayLqlWummRVsIvyVbaJY1XEmm1VxZprVceapVXUmnBV2ppqVdyablXfmmxV445rVeSab1X3mnJV+Zp3Vf2adVX+mnRWBpJRVgmJw1YUmnFWFppzVhePplYYiVJWG5p2VimJ3FYvmoJWMY/6VjKafVY0mntWNpp8VjiaflZCiVxWTJFYVk6aeFZQmnlWW4qaVmSagVZoiu1WapqEVmuagFZsmoNWdJWsVniT01Z6lLZWgJqGVoaahVaHimRWipqHVo+ailaUmolWoJqIVqKUWFalmotWrpqMVrSajla2mo1WvJqQVsCak1bBmpFWwpqPVsOaklbImpRWzpqVVtGallbTmpdW15qYVtiZZFbajvpW245sVt6J8VbgiPZW45JjVu6amVbwjaJW8ojNVvOQfVb5mppW+ozFVv2NkVb/mpxXAJqbVwOV3lcEmp1XCJqfVwmanlcLmqBXDZqhVw+Ml1cSiYBXE5qiVxaapFcYmqNXHJqmVx+TeVcmmqdXJ4izVyiN3VctjFxXMJJuVzeaqFc4mqlXO5qrV0CarFdCjeJXR4vPV0qWVldOmqpXT5qtV1CNv1dRjUJXYZqxV2SNo1dmklJXaZquV2qS2Fd/mrJXgpCCV4iasFeJmrNXi4xeV5OatFegmrVXoo1DV6OKX1ekmrdXqpq4V7CauVezmrZXwJqvV8OaulfGmrtXy5aEV86P6VfSmr1X05q+V9SavFfWmsBX3JRXV9+I5lfglXVX45rBV/SP+1f3jrdX+ZR8V/qK7lf8jelYAJZ4WAKTsFgFjJhYBpHNWAqav1gLmsJYFZHCWBmaw1gdmsRYIZrGWCSS51gqiqxYL+qfWDCJgVgxlfFYNI/qWDWTZ1g6jeRYPZrMWECVu1hBl9tYSonyWEuayFhRkVlYUprLWFSTg1hXk2hYWJOEWFmUt1hakstYXo3HWGKax1hpiZZYa5NVWHCayVhymsVYdZBvWHmazVh+j21Yg4urWIWazliTleZYl5GdWJySxFifmtBYqJZuWKua0ViumtZYs5WtWLia1Vi5ms9YuprSWLua1Fi+jaRYwZXHWMWa11jHkmRYyonzWMyP61jRmtlY05rYWNWNiFjXmtpY2JrcWNma21jcmt5Y3prTWN+a4Fjkmt9Y5ZrdWOuObVjskHBY7pFzWO+a4VjwkLpY8YjrWPKUhFj3ktlY+ZrjWPqa4lj7muRY/JrlWP2a5lkCmudZCZXPWQqa6FkPicRZEJrpWRWXW1kWik9ZGJnHWRmPZ1kakb1ZG5rqWRyW6VkilrJZJZrsWSeR5Vkpk1ZZKpG+WSuVdlksmu1ZLZruWS6Jm1kxjrhZMprvWTeIzlk4mvBZPprxWUSJgllHiu9ZSJPeWUmV8llOmvVZT5F0WVCa9FlRjF9ZVJZ6WVWa81lXk4VZWJr3WVqa9llgmvlZYpr4WWWJnFlnmvpZaI+nWWma/FlqkkRZbJr7WW6VsVlzj5dZdJN6WXibQFl9jURZgZtBWYKUQFmDlNxZhJbPWYqURFmNm0pZk4tXWZaXZFmZlq1Zm5uqWZ2bQlmjm0VZpZHDWaiWV1msk2lZsptGWbmWhVm7jchZvo+oWcabR1nJjm9Zy45uWdCIt1nRjMZZ05CpWdSIz1nZm0tZ2ptMWdybSVnliVdZ5oqtWeibSFnqlsNZ65VQWfaIpln7iPdZ/45wWgGI0FoDiKFaCZtRWhGbT1oYlrpaGptSWhybUFofm05aIJBQWiWbTVopldhaL4ziWjWbVlo2m1daPI+pWkCbU1pBmEtaRpRrWkmbVVpajaVaYptYWmaVd1pqm1labJtUWn+WuVqSlH1amptaWpuVUVq8m1tavZtfWr6bXFrBicVawpteWsmOuVrLm11azIyZWtCba1rWm2Ra15thWuGShFrjm2Ba5ptiWumbY1r6m2Va+5tmWwmK8FsLm2hbDJtnWxabaVsij+xbKptsWyyS2lswiWRbMptqWzabbVs+m25bQJtxW0Obb1tFm3BbUI5xW1GbcltUjUVbVZtzW1eOmltYkbZbWpt0W1ubdVtcjnlbXY1GW1+W0Ftji0dbZIzHW2WbdltmindbaZt3W2uRt1twm3hbcZuhW3ObeVt1m3pbeJt7W3qbfVuAm35bg5uAW4WR7luHiUZbiI7nW4mIwFuLkXZbjIquW42Os1uPjUdblZOGW5ePQFuYiq9bmZKIW5qS6FubiLZbnItYW52V81ufjsBbootxW6OQ6VukjrpbpZdHW6abgVuui3tbsI3JW7OKUVu0iYNbtY+qW7aJxlu4m4JbuZdlW7+PaFvCjuJbw5uDW8SK8VvFk9BbxpanW8ebhFvJm4VbzJV4W9Cbh1vSiqZb04v1W9SbhlvbirBb3ZBRW96bi1vfjkBb4YnHW+Kbilvkm4hb5ZuMW+abiVvnlEpb6J7LW+mQUlvrm41b7pe+W/Cbjlvzm5Bb9ZKeW/abj1v4kKFb+o6bW/6Rzlv/jvVcAZWVXAKQ6lwEjstcBZuRXAaPq1wHm5JcCJuTXAmI0VwKkbhcC5BxXA2blFwOk7FcD4+sXBGPrVwTm5VcFpDrXBqPrlwgm5ZcIpuXXCSW3lwom5hcLYvEXDGPQVw4m5lcOZuaXDqO2lw7kEtcPJPyXD2Qc1w+lPZcP5RBXECLx1xBm5tcRYuPXEabnFxIi/xcSpPNXEuJrlxNjnJcTpudXE+boFxQm59cUYv7XFObnlxVk1dcXpGuXGCTalxhjsZcZJF3XGWXmlxsm6JcbpujXG+T1FxxjlJcdpulXHmbplyMm6dckIryXJGbqFyUm6lcoYmqXKiRWlypiuJcq5urXKyWplyxkdBcs4p4XLabrVy3m69cuIrdXLubrFy8m65cvpuxXMWbsFzHm7Jc2ZuzXOCTu1zhi6xc6InjXOmbtFzqm7lc7Zu3XO+V9VzwlfRc9pOHXPqbtlz7j3Nc/Zu1XQeQkl0Lm7pdDo3oXRGbwF0Um8FdFZu7XRaKUl0Xm7xdGJvFXRmbxF0am8NdG5u/XR+bvl0im8JdKZX2XUubyV1Mm8ZdTpvIXVCXkl1Sm8ddXJu9XWmQk11sm8pdb421XXOby112m8xdgpvPXYSbzl2Hm81di5OIXYybuF2Qm9VdnZvRXaKb0F2sm9JdrpvTXbeb1l26l+RdvJvXXb2b1F3Jm9hdzIreXc2b2V3Sm9td05vaXdab3F3bm91d3ZDsXd6PQl3hj4Rd45GDXeWNSF3mjbZd541JXeiLkF3rm95d7o23XfGMyF3ym99d85akXfSUYl31m+Bd941KXfuKql39kkZd/ovQXgKOc14DlXpeBpS/Xgub4V4MivNeEZvkXhaSn14Zm+NeGpviXhub5V4dkuleJZCDXiuOdF4tkMheL5HRXjCLQV4zkqBeNpvmXjeb5144j+1ePZZYXkCb6l5Dm+leRJvoXkWVnV5Hm/FeTJZ5Xk6b615Um+1eVZaLXleb7F5fm+5eYZSmXmKb715jlbxeZJvwXnKKsV5zlb1edJROXnWb8l52m/NeeI1LXnmKsl56m/Ree4y2XnyXY159l0hefor0Xn+b9l6BkqFeg41MXoSPr16HlN1eio+wXo+PmF6VkupelpX3XpeTWF6ajU1enJV7XqCb916mk3hep43AXquMyV6tkutetYjBXraPjl63jU5euJdmXsGb+F7Cm/lew5RwXsib+l7Jl/VeyphMXs+b/F7Qm/te04pmXtacQF7anENe25xEXt2cQl7flV9e4I+xXuGcRl7inEVe45xBXuicR17pnEhe7JxJXvCcTF7xnEpe85xLXvScTV72iYRe95LsXvicTl76jJpe+4n0XvyUVV7+nE9e/5P5XwGV2V8DnFBfBJhNXwmcUV8Klb5fC5xUXwyYn18NmK9fD46uXxCT818RnFVfE4t8XxSSol8ViPhfFpxWXxeVpF8YjU9fG5JvXx+S7V8llu1fJoy3XyeMyl8pnFdfLZxYXy+cXl8xjuNfNZKjXzeLrV84nFlfPJVKXz6SZV9BnFpfSJxbX0qLrl9MnFxfTpxdX1GcX19Tk5ZfVpxgX1ecYV9ZnGJfXJxTX12cUl9hnGNfYoxgX2aVRl9pjcpfapVWX2uSpF9slWpfbZxkX3CPsl9xiWVfc5xlX3ecZl95lvBffJTeX3+caV+AiZ1fgZCqX4KcaF+DnGdfhIxhX4WR0l+HnG1fiJxrX4qcal+Ll6VfjIzjX5CPmV+RnGxfkpNrX5OPXV+Xk75fmJxwX5mcb1+enG5foJxxX6GM5F+onHJfqZWcX6qPel+tnHNfrpT3X7OTv1+0kqVfuZNPX7ycdF+9i0pfw5BTX8WVS1/MivVfzZRFX9acdV/XjnVf2JZZX9mWWl/ciZ5f3Zx6X+CSiV/knHdf64n1X/Ccq1/xnHlf9ZRPX/iceF/7nHZf/Y2aX/+cfGAOnINgD5yJYBCcgWASk3tgFZyGYBaVfGAZnIBgG5yFYByX5WAdjnZgIJHTYCGcfWAli31gJpyIYCeQq2AoiYVgKZyCYCqJ9mArnIdgL4uvYDGchGA6nIpgQZyMYEKclmBDnJRgRpyRYEqckGBLl/ZgTZySYFCLsGBSjVBgVY+aYFmcmWBanItgX5yPYGCcfmBiifhgY5yTYGSclWBlknBgaI2mYGmJtmBqnI1ga5yYYGycl2Bti7Fgb5GnYHCKhmB1jGJgd5yOYIGcmmCDnJ1ghJyfYImOu2CLnKVgjJLuYI2cm2CSnKNglIn3YJacoWCXnKJgmpyeYJucoGCfjOVgoJdJYKOKs2CmiXhgp5ykYKmUWWCqiKtgspTfYLOce2C0nKpgtZyuYLaW42C4nKdgvJOJYL2crGDFj+5gxpytYMeT1WDRmGZg05ypYNicr2DajZtg3JDJYN+I0mDgnKhg4ZymYOOReWDnnJxg6I5TYPCRxGDxnLtg85F6YPSctmD2nLNg95y0YPmO5GD6nLdg+5y6YQCctWEBj0RhA5y4YQacsmEIlvphCZb5YQ2cvGEOnL1hD4jTYRWcsWEai/BhG4ikYR+KtGEhnLlhJ5zBYSicwGEsnMVhNJzGYTycxGE9nMdhPpy/YT+cw2FCnMhhRJzJYUecvmFIjpxhSpzCYUuR1GFMjVFhTZywYU6QVGFTnNZhVZXnYViczGFZnM1hWpzOYV2c1WFfnNRhYpadYWOKtWFlnNJhZ4xkYWiKU2FrnM9hbpe2YW+c0WFwiNRhcZzTYXOcymF0nNBhdZzXYXaMY2F3nMthfpd8YYKXSmGHnNphipzeYY6RnmGQl/dhkZzfYZSc3GGWnNlhmZzYYZqc3WGkla5hp5OyYamMZWGrnOBhrJzbYa6c4WGyjJthtomvYbqc6WG+irZhw5znYcac6GHHjadhyJzmYcmc5GHKnONhy5zqYcyc4mHNnOxh0In5YeOc7mHmnO1h8pKmYfSc8WH2nO9h95zlYfiMnGH6nPBh/Jz0Yf2c82H+nPVh/5zyYgCc9mIInPdiCZz4YgqV6GIMnPpiDZz5Yg6PXmIQkKxiEYnkYhKJ+mIUnPtiFoi9YhqQymIbnPxiHebBYh6dQGIfjIFiIZ1BYiaQ7WIqnUJiLp1DYi+LWWIwnURiMp1FYjOdRmI0kdViOIzLYjuW32I/lltiQI+KYkGdR2JHkO5iSOe7YkmU4GJLjuhiTY3LYk6dSGJTkcViVZWlYliR72JbnUtiXp1JYmCdTGJjnUpiaJ1NYm6Vr2JxiLVidpV9YnmU4WJ8nU5ifp1RYn+Ps2KAi1pigp1PYoOdVmKEj7RiiZ1QYoqUY2KRl31ikp1SYpOdU2KUnVdilZOKYpadVGKXjVJimJDcYpudZWKclLJinpHwYquU4mKsnatisZX4YrWS72K5lpViu51aYryJn2K9kopiwp1jYsWSU2LGnV1ix51kYsidX2LJnWZiyp1iYsydYWLNlI9iz51bYtCJ+2LRnVli0ouRYtOR8WLUnVVi151YYtiNU2LZkNli24+1YtydYGLdlHFi4IuSYuGKZ2Lsiodi7ZBAYu6daGLvnW1i8Z1pYvOMnWL1nW5i9o5BYveNiWL+j0Vi/51cYwGOnWMCnWtjB453YwidbGMJiMJjDJ1nYxGSp2MZi5NjH4uyYyedamMoiKVjK43BYy+QVWM6kvBjPZTSYz6dcGM/kX1jSZGoY0yOSmNNnXFjT51zY1Cdb2NVld9jV5K7Y1yRe2NnlfljaI7MY2mdgGNrnX5jbpCYY3KMnmN2nXhjd4+3Y3qT5mN7lFBjgJ12Y4ORfGOIjvZjiZ17Y4yPtmOOnXVjj516Y5KUcmOWnXRjmIxAY5uKfGOfnXxjoJepY6GNzGOiklRjo515Y6WQ2mOnjVRjqJCEY6mJhmOqkVtjq513Y6yLZGOyjGZjtJLNY7WdfWO7kX5jvp2BY8Cdg2PDkbVjxJ2JY8adhGPJnYZjz5VgY9CS8WPSnYdj1pdLY9qXZ2Pbirdj4YisY+OdhWPpnYJj7or2Y/SJh2P2nYhj+pdoZAadjGQNkblkD52TZBOdjWQWnYpkF52RZBydcmQmnY5kKJ2SZCyUwGQtk4tkNJ2LZDadj2Q6jGdkPo3vZEKQ22ROnZdkWJNFZGedlGRploBkb52VZHadlmR4lsxkepCgZIOMgmSInZ1kko5UZJOdmmSVnZlkmpRRZJ6Ts2Skk1BkpZ2bZKmdnGSrlY9krZRkZK6OQmSwkO9kspZvZLmKaGS7naNkvJ2eZMGXaWTCnaVkxZ2hZMedomTNkYBk0p2gZNSdXmTYnaRk2p2fZOCdqWThnapk4pNGZOOdrGTmjkNk552nZOyLW2Tvna1k8Z2mZPKdsWT0nbBk9p2vZPqdsmT9nbRk/o/vZQCds2UFnbdlGJ21ZRydtmUdnZBlI525ZSSduGUqnZhlK526ZSydrmUvjnhlNJ27ZTWdvGU2nb5lN529ZTidv2U5ifxlO41VZT6V+mU/kK1lRYzMZUidwWVNncRlT5VxZVGLfmVVncNlVp3CZVeUc2VYncVlWYuzZV2dx2VencZlYoq4ZWOOVWVmk9ZlbIxoZXCQlGVynchldJCuZXWTR2V3lX5leJ3JZYKdymWDnctlh5W2ZYibfGWJkMRljJVrZY6N1mWQlONlkZTBZZeTbGWZl79lm53NZZyOzmWfnc5loYi0ZaSL0mWlkMtlp5WAZaudz2WsjmFlrZJmZa+OemWwkFZlt53QZbmV+2W8iZdlvY57ZcGd02XDndFlxJ3UZcWXt2XGndJly5D5Zcyd1WXPkbBl0p3WZdeK+GXZndhl253XZeCd2WXhndpl4or5ZeWT+mXmklVl54uMZeiOfGXpkYFl7I97Ze2IrmXxndtl+omgZfud32YCjVZmA53eZgaNqWYHj7hmCp3dZgyPuWYOlr5mD42oZhOI1WYUkMxmHJ3kZh+Qr2YgiWZmJY90ZieWhmYojfBmLY+6Zi+QpWY0neNmNZ3hZjad4mY8kotmP55FZkGd6GZCjp5mQ41XZkSd5mZJnedmS5BXZk+d5WZSjk5mXZ3qZl6d6WZfne5mYp3vZmSd62ZmikFmZ53sZmid7WZplNNmbpWBZm+MaWZwnfBmdJCwZnaPu2Z6knFmgYvFZoOd8WaEnfVmh4nJZoid8maJnfRmjp3zZpGPi2aWkmdml4jDZpid9madnfdmopKoZqaX72arjmJmrpXpZrSWXGa4nkFmuZ35Zryd/Ga+nftmwZ34ZsSeQGbHk9xmyZ36ZtaeQmbZj4xm2p5DZtyXambdlJhm4J5EZuaeRmbpnkdm8J5IZvKLyGbziWdm9I1YZvWeSWb3nkpm+I+RZvmRgmb8mdZm/ZFdZv6RXGb/kdZnAI3FZwOY8GcIjI5nCZdMZwuV/GcNlZ5nD55LZxSN8WcVkr1nFp5MZxeYTmcbll1nHZKpZx6eTWcfivpnJp5OZyeeT2colthnKpaiZyuWlmcslntnLY5EZy6eUWcxjulnNJZwZzaeU2c3nlZnOJ5VZzqK92c9i4BnP55SZ0GeVGdGnldnSZCZZ06Xm2dPiMdnUI3eZ1GRumdTjttnVo/xZ1meWmdck21nXp5YZ1+RqWdgnllnYY/wZ2KW22djnltnZJ5cZ2WXiGdqnmFnbY1ZZ2+UdGdwnl5ncZOMZ3Kd3GdzneBndYtuZ3eUZmd8nmBnfo+8Z3+UwmeFnmZnh5T4Z4meXWeLnmNnjJ5iZ5CQzWeVlo1nl5fRZ5qWh2ecicpnnY59Z6CYZ2ehnmVnopCVZ6aeZGepnl9nr4zNZ7Oea2e0nmlntonLZ7eeZ2e4nm1nuZ5zZ8GRxmfElb9nxp51Z8qVQWfOnnRnz5SQZ9CWXmfRirln05D1Z9SPX2fYktFn2pdNZ92ecGfenm9n4p5xZ+SebmfnnnZn6Z5sZ+yeamfunnJn755oZ/GSjGfzlvZn9I7EZ/WN8mf7jbhn/paPZ/+KYGgCksxoA5PIaASJaGgTkPBoFpCyaBeMSWgennhoIY1aaCKKnGgpnnpoKoqUaCuegWgynn1oNJDxaDiKamg5japoPIppaD2NzWhAnntoQYyFaEKMamhDk41oRp55aEiIxGhNnnxoTp5+aFCLy2hRjEtoU4q6aFSLamhZnoJoXI33aF2WkWhfjlZoY56DaGeVT2h0no9odomxaHeehGh+npVof56FaIGXwGiDnoxohZR+aI2elGiPnodok4iyaJSeiWiXjVtom56LaJ2eimifnoZooJ6RaKKPvWimmutop4zmaKiXnGitnohor5LyaLCKQmixjatos56AaLWekGi2ioFouZ6OaLqekmi8k45oxIr8aMaesGjJlsdoyp6XaMuK+2jNnp5o0pZfaNSen2jVnqFo156laNiemWjakklo35OPaOCeqWjhnpxo456maOeeoGjukFho756qaPKQsWj5nqho+oq7aQCYb2kBnpZpBJ6kaQWI1mkInphpC5a4aQyenWkNkEFpDpLFaQ+ek2kSnqNpGZCaaRqerWkbipFpHIyfaSGer2kinpppI56uaSWep2kmnptpKJ6raSqerGkwnr1pNJPMaTaeomk5nrlpPZ67aT+S1mlKl2tpU5WWaVSetmlVkchpWZ68aVqRXmlcnrNpXZ7AaV6ev2lgk+1pYZ6+aWKT6GlqnsJpa561aW2Lxmlunrhpb498aXOUgGl0nrppdYvJaXeesml4nrRpeZ6xaXyYT2l9inlpfp63aYGewWmCilRpio3laY6JfGmRntJplJhQaZWe1WmbkFlpnJ7UaaCe02mnntBprp7EabGe4WmynsNptJ7Wabuezmm+nslpv57GacGex2nDns9px+qgacqezGnLjVxpzJLGac2RhGnOnspp0J7FadOeyGnYl2xp2ZaKad2ezWnentdp557faeie2GnrnuVp7Z7jafKe3mn5nt1p+5LOaf2RhWn/nttqAp7ZagWe4GoKnuZqC5Tzagye7GoSnudqE57qahSe5GoXkpRqGZVXahue2moenuJqH4++aiGWzWoinvZqI57paimMoGoqiaFqK4p+ai6e0Wo1j79qNp7uajie9Wo5jvdqOoqSaj2STWpEnutqR57wakie9GpLi7RqWItralme8mpfi0BqYZPJamKe8WpmnvNqcp7tanie72p/ioBqgJJoaoSe+mqNnvhqjoznapCe92qXn0BqnJ53aqCe+Wqinvtqo578aqqfS2qsn0dqrp6NarOfRmq4n0Vqu59CasGe6GrCn0Rqw59DatGfSWrTmEVq2p9MatuL+Wren0hq359KauiUpWrqn01q+p9RavufTmsEl5NrBZ9Pawqe3GsSn1JrFp9Tax2JVGsfn1VrIIyHayGOn2sji9NrJ4miazKXfms3n1drOJ9WazmfWWs6i1xrPYvUaz6KvGtDn1xrR59ba0mfXWtMicxrTpJWa1CfXmtTir1rVJ9ga1mfX2tbn2FrX59ia2GfY2tijn5rY5Cza2SNn2tmlZBraZXga2qYY2tvjpVrc43Oa3SX8Gt4n2RreZ9la3uOgGt/n2ZrgJ9na4OfaWuEn2hrhpZ3a4mPfWuKjupri45ja42famuVn2xrlpBCa5ifa2uen21rpJ9ua6qfb2urn3Brr59xa7Gfc2uyn3Jrs590a7SJo2u1kmlrt591a7qORWu7imtrvJ92a7+TYWvAmsprxYtCa8afd2vLn3hrzZXqa86WiGvSk8Vr0595a9SU5GvYlPlr25bRa9+femvrn3xr7J97a++ffmvzn31sCJ+BbA+OgWwRlq9sE5+CbBSfg2wXi0NsG5+EbCOfhmwkn4VsNJCFbDeVWGw4iWlsPpTDbECS82xBj2BsQouBbE6UxGxQjqxsVZ+IbFeKvmxaiZhsXZPwbF6fh2xfjV1sYJJybGKfiWxon5Fsap+KbHCRv2xyi4Jsc5+SbHqMiGx9i0Rsfp+QbIGfjmyCn4tsg5eAbIiSvmyMk9dsjZ+MbJCflGySn5Nsk4xCbJaJq2yZjblsmp+NbJufj2yhlnZsopHybKuWl2yun5xssZ+dbLOJzWy4laZsuZb7bLqfn2y7jqFsvI/AbL2fmGy+n55sv4mIbMGLtWzEn5VsxZ+abMmQ8mzKlJFszJTlbNOfl2zVlkBs15+ZbNmfomzbn6Bs3Z+bbOGWQWzilGds44uDbOWTRGzoko1s6p+jbO+foWzwkdds8Z+WbPOJam0Ll21tDJ+ubRKfrW0XkPRtGZ+qbRuXjG0ek7RtH5+kbSWSw20piWttKo1ebSufp20yj0ZtM5+sbTWfq202n6ZtOJ+pbTuKiG09n6htPpRobUGXrG1Ej/JtRZDzbVmftG1an7JtXJVsbWOfr21kn7FtZolZbWmNX21qmFFtbIpcbW6Vgm10l4Ftd4pDbXiQWm15n7NthZ+4bYiPwW2Ml09tjp+1bZOfsG2Vn7ZtmZfcbZuTk22ck8Btr4pVbbKJdG21n7xtuJ+/bbyXwW3Al4RtxZ/GbcafwG3Hn71ty5fS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hWmToIVqlZOFbeVKhXflUIV+5VGFgOVEhYSUloWH5U6FiOVGhYrlSIWQ5VKFkeVHhZTlS4WXiZKFmZPjhZvlTIWc5U+FpOVFhaaRRYWo5UmFqY5GhaqQZIWrjE+FrJbyha6W94Wvj5KFueVWhbrlVIXBmG2FyeVThc2XlYXP5VWF0OVXhdXlWIXc5VuF3eVZheSToYXl5VqF6ZTLherlTYX3j5OF+eVchfrlYYX7kZSF/uVghgLlQYYG5WKGB5FohgrlXYYL5V+GE+VehhafUIYXn0GGGuVkhiLlY4Ytl5aGL+G6hjDlZYY/5WaGTeVnhk6M1YZQi3OGVOVphlWZfIZai5WGXJe4hl6L8YZf5WqGZ+VrhmuSjoZx5WyGeZP4hnuIuIaKieGGi+VxhozlcoaT5W2GlY5chqPlboaklGGGqeVvhqrlcIar5XqGr+V0hrDld4a25XOGxOV1hsbldobHjtaGyeV4hsuSYIbNjHWGzophhtTle4bZil6G2+WBht7lfIbf5YCG5JS4hunlfYbs5X6G7ZVnhu6U2Ibv5YKG+JH7hvnljIb75YiG/onphwDlhocClkmHA+WHhwblhIcI5YWHCeWKhwrljYcN5YuHEeWJhxLlg4cYkneHGuWUhxyWqIcl5ZKHKeWThzTljoc35ZCHO+WRhz/lj4dJkOSHS5hYh0zlmIdO5ZmHU+Wfh1WQSYdX5ZuHWeWeh1/llodg5ZWHY+Wgh2aJ2odo5ZyHauWhh27lnYd05ZqHdpKxh3jll4d/lIiHguWlh42XWoef5aSHouWjh6vlrIev5aaHs+Wuh7qXhoe75bGHveWoh8DlqYfE5a2HxuWwh8flr4fL5aeH0OWqh9Llu4fg5bSH7+Wyh/Lls4f25biH9+W5h/mKSYf7i2GH/uW3iAXloogN5baIDuW6iA/ltYgR5byIFeW+iBblvYgh5cCIIuW/iCPleYgn5cSIMeXBiDblwog55cOIO+XFiECMjIhC5ceIROXGiEaPT4hMjXOITZ+liFLlyIhTj3CIV4pYiFnlyYhbiXGIXY/ViF7lyohhjXSIYuXLiGOI34holVyIa+XMiHCQiohy5dOIdeXQiHeSj4h95dGIfuXOiH+L3IiB5c2IguXUiIiMVYiLkdyIjeXaiJLl1oiWkbOIl+XViJnl2Iie5c+IouXZiKTl24irlO2IruXX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ljKWaJY7kWqWP4iilkCRyZZC6JiWRJWNlkvom5ZM6JmWTY1+lk/ompZQjMCWW5XDllzonZZd6J+WXuiell/ooJZiiUCWY5B3lmSPnJZliteWZuihlmqUhpZs6KOWcIlBlnLoopZzksKWdZfLlnaTqZZ36JyWeJeklnqMr5Z9l3qWhYv3loaXspaIjEeWipHglovkQJaN6KSWjopLlo+Qj5aUinWWleimlpfop5aY6KWWmYyElpuN25acj+GWoIlClqOX15an6KmWqOeslqroqJaw6KyWseiqlrLoq5a06K2WtuiulreX6pa46K+WueiwlruQx5a8lLmWwJCdlsGK5ZbEl1mWxYnrlsaPV5bHjNmWyeizlsvospbMjpOWzei0ls7osZbRjkeW1ei4ltblq5bZmdSW25CXltzotpbil6OW45PvluiJSpbqkOGW6460lvCVtZbyiV+W9pfrlveXi5b56LmW+5NklwCO+ZcE6LqXBui7lweQa5cI6LyXCpfslw3ot5cO6L6XD+jAlxHov5cT6L2XFujBlxnowpcckZqXHonglyTow5cnlraXKujElzDoxZcymEmXOJ5Qlznoxpc96MeXPujIl0LozJdE6MmXRujKl0joy5dJ6M2XUpDCl1aW9ZdZkMOXXOjOl16U8Zdg6M+XYepyl2KWypdk6NCXZujRl2jo0pdpinaXa+jUl22QeJdx6NWXdIxDl3no1pd66NqXfOjYl4Ho2ZeEipOXhejXl4bo25eL6NyXjYjGl4/o3ZeQ6N6XmI/il5zo35egi2aXo+jil6bo4Zeo6OCXq+aRl62V2pez6OOXtOjkl8Po5ZfG6OaXyOjnl8vo6JfTitiX3Ojpl+3o6pfulEKX8ujsl/OJuZf16O+X9ujul/uJQ5f/i7+YAZXFmAKSuJgDjaCYBY2AmAaPh5gIkHuYDOjxmA/o8JgQl2GYEYrmmBKU0JgTk9qYF5CcmBiXzJgajHqYIej0mCTo85gslmqYLZOqmDSJb5g36PWYOOjymDuVcJg8l4qYPej2mEbo95hL6PmYTJHomE2KephOinuYT+j4mFSK55hVjLCYWIromFuTXphel96YZ4zamGvo+phv6PuYcOj8mHHpQJhz6UKYdOlBmKiVl5iq6UOYr+lEmLHpRZi26UaYw+lImMTpR5jG6UmY25TymNzjypjfkEiY4otRmOnpSpjr6UuY7ZmqmO6fWpjvlNGY8oj5mPSIuZj8jpSY/ZZPmP6P/JkD6UyZBZbdmQnpTZkKl3uZDIlhmRCOYJkS6U6ZE4nsmRTpT5kY6VCZHelSmR7pU5kg6VWZIelRmSTpVJkoitmZLOlWmS7pV5k96ViZPulZmULpWplF6VyZSelbmUvpXplM6WGZUOldmVHpX5lS6WCZVelimVeLwJmWjvGZl+ljmZjpZJmZjYGZpellmaiKXZmslG6Zrelmma7pZ5mzknmZtJPpmbzpaJnBlJ2ZxJHKmcWJd5nGi+yZyIvtmdCSk5nR6W2Z0ovumdWJ7ZnY6WyZ2+lqmd3pa5nf6WmZ4ul3me3pbpnu6W+Z8elwmfLpcZn46XOZ++lymf+PeJoB6XSaBel2mg6LUpoP6XWaEpGbmhOMsZoZ6XiaKJHLmivpeZowk6uaN+l6mj7pgJpA6X2aQul8mkPpfppF6XuaTemCmlXpgZpX6YSaWovBmlvpg5pf6YWaYumGmmTpiJpl6YeaaemJmmrpi5pr6YqaqI2cmq3pjJqw6Y2auIpbmrzpjprA6Y+axJCRms/pkJrR6ZGa0+mSmtTpk5rYjYKa3umUmt/plZri6Zaa4+mXmubpmJrqlK+a6+mamu2VRZru6Zua7+mZmvHpnZr06Zya9+memvvpn5sG6aCbGOmhmxrpopsf6aObIumkmyPppZsl6aabJ+mnmyjpqJsp6ambKumqmy7pq5sv6aybMZ9UmzLprZs74vabPItTm0GKQJtCjbCbQ+mvm0TprptFlqObTemxm07psptP6bCbUemzm1SWgptY6bSbWoubm2+YRJt06bWbg+m3m46IvJuR6bibkpWpm5PptpuW6bmbl+m6m5/pu5ug6bybqOm9m6qWjpurjkybrY34m66RTpu06b6buenBm8Dpv5vG6cKbyYzvm8rpwJvP6cOb0enEm9LpxZvU6cmb1o5Jm9uR4pvh6cqb4unHm+Ppxpvk6cib6Ix+m/Dpzpvx6c2b8unMm/WIsZwE6dicBunUnAjp1ZwJ6dGcCunXnAzp05wNioKcEJhrnBLp1pwT6dKcFOnQnBXpz5wb6dqcIendnCTp3Jwl6ducLZVonC7p2ZwviPGcMOnenDLp4Jw5io+cOunLnDuJVpw+6eKcRunhnEfp35xIkkycUpaQnFeX2Jxa6eOcYOnknGfp5Zx26eaceOnnnOWSuZzn6eic6ZS1nOvp7Zzs6emc8OnqnPOWUJz0lsKc9pPOnQPp7p0G6e+dB5O8nQjp7J0J6eudDomonRLp950V6fadG4mVnR/p9J0j6fOdJunxnSiKm50q6fCdK46wnSyJp507jYOdPun6nT/p+Z1B6fidROn1nUbp+51I6fydUOpEnVHqQ51Z6kWdXIlMnV3qQJ1e6kGdYI2UnWGWt51k6kKdbJZRnW/qSp1y6kadeupLnYfqSJ2J6kedj4x7nZrqTJ2k6k2dqepOnavqSZ2v6fKdsupPnbSS35246lOduupUnbvqUp3B6lGdwupXncTqUJ3G6lWdz+pWndPqWZ3Z6lid5upbne3qXJ3v6l2d8phonfjqWp35kemd+o3rnf3qXp4a6l+eG+pgnh7qYZ516mKeeIyynnnqY5596mSef46tnoHqZZ6I6maei+pnnozqaJ6R6muekuppnpOYW56V6mqel5ftnp3qbJ6fl9mepeptnqaUnp6p6m6equpwnq3qcZ646m+euY2NnrqWy567loOevJv1nr6fgJ6/lpuexImpnszqc57Ni2+ezup0ns/qdZ7Q6nae0o2VntTqd57Y4NKe2ZbZntuR4Z7c6nie3ep6nt7qeZ7g6nue5ep8nujqfZ7v6n6e9OqAnvbqgZ736oKe+eqDnvvqhJ786oWe/eqGnwfqh58I6oifDpNDnxOM258V6oqfIJFsnyHqi58s6oyfO5VAnz7qjZ9K6o6fS+JWn07m2J9P6OufUuqPn1TqkJ9f6pKfYOqTn2HqlJ9il+6fY+qRn2bqlZ9n6pafauqYn2zql59y6pqfduqbn3fqmZ+Nl7Sfleqcn5zqnZ+d4nOfoOqe/wGBSf8DgZT/BIGQ/wWBk/8GgZX/CIFp/wmBav8KgZb/C4F7/wyBQ/8OgUT/D4Fe/xCCT/8RglD/EoJR/xOCUv8UglP/FYJU/xaCVf8Xglb/GIJX/xmCWP8agUb/G4FH/xyBg/8dgYH/HoGE/x+BSP8ggZf/IYJg/yKCYf8jgmL/JIJj/yWCZP8mgmX/J4Jm/yiCZ/8pgmj/KoJp/yuCav8sgmv/LYJs/y6Cbf8vgm7/MIJv/zGCcP8ygnH/M4Jy/zSCc/81gnT/NoJ1/zeCdv84gnf/OYJ4/zqCef87gW3/PIFf/z2Bbv8+gU//P4FR/0CBTf9BgoH/QoKC/0OCg/9EgoT/RYKF/0aChv9Hgof/SIKI/0mCif9Kgor/S4KL/0yCjP9Ngo3/ToKO/0+Cj/9QgpD/UYKR/1KCkv9TgpP/VIKU/1WClf9Wgpb/V4KX/1iCmP9Zgpn/WoKa/1uBb/9cgWL/XYFw/2EAof9iAKL/YwCj/2QApP9lAKX/ZgCm/2cAp/9oAKj/aQCp/2oAqv9rAKv/bACs/20Arf9uAK7/bwCv/3AAsP9xALH/cgCy/3MAs/90ALT/dQC1/3YAtv93ALf/eAC4/3kAuf96ALr/ewC7/3wAvP99AL3/fgC+/38Av/+AAMD/gQDB/4IAwv+DAMP/hADE/4UAxf+GAMb/hwDH/4gAyP+JAMn/igDK/4sAy/+MAMz/jQDN/44Azv+PAM//kADQ/5EA0f+SANL/kwDT/5QA1P+VANX/lgDW/5cA1/+YANj/mQDZ/5oA2v+bANv/nADc/50A3f+eAN7/nwDf/+OBUP/lgY8=",7070);const kA={shape:L.square,qrOptions:{typeNumber:h[0],mode:void 0,errorCorrectionLevel:d.Q},imageOptions:{mode:K.center,imageSize:.4,padding:4,margin:.2,crossOrigin:void 0},cornersSquareOptions:{type:x.rounded,color:"#000000"},cornersDotOptions:{type:X.dot,color:"#000000"},dotsOptions:{type:T.verticalLine,color:"#000000",size:10},backgroundOptions:{color:"#FFFFFF"},borderOptions:{decorations:{}}},UA={...kA,shape:L.square,cornersSquareOptions:{type:x.square},cornersDotOptions:{type:X.square},dotsOptions:{type:T.square}},bA={...kA,shape:L.square,cornersSquareOptions:{type:x.rounded},cornersDotOptions:{type:X.rounded},dotsOptions:{type:T.verticalLine,size:10}},YA={...kA,dotsOptions:{...kA.dotsOptions,type:T.rounded},cornersSquareOptions:{type:x.dot},cornersDotOptions:{type:X.dot}},NA={...kA,dotsOptions:{...kA.dotsOptions,type:T.dot},cornersSquareOptions:{type:x.dot},cornersDotOptions:{type:X.dot}},GA={...kA,dotsOptions:{...kA.dotsOptions,type:T.classy},cornersSquareOptions:{type:x.classy},cornersDotOptions:{type:X.classy}},JA={...kA,dotsOptions:{...kA.dotsOptions,type:T.extraRounded},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.square},cornersDotOptions:{...kA.cornersDotOptions,type:X.square}},VA={...kA,dotsOptions:{...kA.dotsOptions,type:T.verticalLine},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.classy},cornersDotOptions:{...kA.cornersDotOptions,type:X.classy}},ZA={...kA,dotsOptions:{...kA.dotsOptions,type:T.horizontalLine},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.rounded},cornersDotOptions:{...kA.cornersDotOptions,type:X.rounded}},OA={...kA,dotsOptions:{...kA.dotsOptions,type:T.classyRounded},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.outpoint},cornersDotOptions:{...kA.cornersDotOptions,type:X.outpoint}},WA={...kA,dotsOptions:{...kA.dotsOptions,type:T.smallSquare},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.inpoint},cornersDotOptions:{...kA.cornersDotOptions,type:X.inpoint}},MA={...kA,dotsOptions:{...kA.dotsOptions,type:T.tinySquare},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.square},cornersDotOptions:{...kA.cornersDotOptions,type:X.heart}},HA={...kA,dotsOptions:{...kA.dotsOptions,type:T.star},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.classy},cornersDotOptions:{...kA.cornersDotOptions,type:X.classy}},TA={...kA,dotsOptions:{...kA.dotsOptions,type:T.plus},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.rounded},cornersDotOptions:{...kA.cornersDotOptions,type:X.rounded}},XA={...kA,dotsOptions:{...kA.dotsOptions,type:T.diamond},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.square},cornersDotOptions:{...kA.cornersDotOptions,type:X.square}},xA={...kA,dotsOptions:{...kA.dotsOptions,type:T.randomDot},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.dot},cornersDotOptions:{...kA.cornersDotOptions,type:X.dot}},LA={...kA,dotsOptions:{...kA.dotsOptions,type:T.dot},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.outpoint},cornersDotOptions:{...kA.cornersDotOptions,type:X.outpoint}},KA={...kA,dotsOptions:{...kA.dotsOptions,type:T.dot},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.inpoint},cornersDotOptions:{...kA.cornersDotOptions,type:X.inpoint}},qA={...kA,dotsOptions:{...kA.dotsOptions,type:T.rounded},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.outpoint},cornersDotOptions:{...kA.cornersDotOptions,type:X.outpoint}},jA={...kA,dotsOptions:{...kA.dotsOptions,type:T.rounded},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.inpoint},cornersDotOptions:{...kA.cornersDotOptions,type:X.inpoint}},PA={...kA,dotsOptions:{...kA.dotsOptions,type:T.classy},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.outpoint},cornersDotOptions:{...kA.cornersDotOptions,type:X.outpoint}},vA={...kA,dotsOptions:{...kA.dotsOptions,type:T.classy},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.inpoint},cornersDotOptions:{...kA.cornersDotOptions,type:X.inpoint}},zA={...kA,dotsOptions:{...kA.dotsOptions,type:T.square},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.outpoint},cornersDotOptions:{...kA.cornersDotOptions,type:X.outpoint}},_A={...kA,dotsOptions:{...kA.dotsOptions,type:T.square},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.inpoint},cornersDotOptions:{...kA.cornersDotOptions,type:X.inpoint}},$A={...kA,shape:L.circle,dotsOptions:{...kA.dotsOptions,type:T.rounded},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.rounded},cornersDotOptions:{...kA.cornersDotOptions,type:X.rounded}},Ae={...kA,dotsOptions:{...kA.dotsOptions,type:T.dot},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.square},cornersDotOptions:{...kA.cornersDotOptions,type:X.square}},ee={...kA,dotsOptions:{...kA.dotsOptions,type:T.dot},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.rounded},cornersDotOptions:{...kA.cornersDotOptions,type:X.rounded}},te={...kA,dotsOptions:{...kA.dotsOptions,type:T.dot},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.classy},cornersDotOptions:{...kA.cornersDotOptions,type:X.classy}},ie={...kA,dotsOptions:{...kA.dotsOptions,type:T.rounded},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.square},cornersDotOptions:{...kA.cornersDotOptions,type:X.square}},oe={...kA,dotsOptions:{...kA.dotsOptions,type:T.rounded},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.classy},cornersDotOptions:{...kA.cornersDotOptions,type:X.classy}},ne={...kA,dotsOptions:{...kA.dotsOptions,type:T.classy},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.square},cornersDotOptions:{...kA.cornersDotOptions,type:X.square}},ge={...kA,dotsOptions:{...kA.dotsOptions,type:T.classy},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.rounded},cornersDotOptions:{...kA.cornersDotOptions,type:X.rounded}},re={...kA,dotsOptions:{...kA.dotsOptions,type:T.square},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.dot},cornersDotOptions:{...kA.cornersDotOptions,type:X.dot}},Ie={...kA,dotsOptions:{...kA.dotsOptions,type:T.square},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.rounded},cornersDotOptions:{...kA.cornersDotOptions,type:X.rounded}},se={...kA,dotsOptions:{...kA.dotsOptions,type:T.square},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.classy},cornersDotOptions:{...kA.cornersDotOptions,type:X.classy}},ae={...kA,dotsOptions:{...kA.dotsOptions,type:T.extraRounded},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.dot},cornersDotOptions:{...kA.cornersDotOptions,type:X.dot}},Be={...kA,dotsOptions:{...kA.dotsOptions,type:T.extraRounded},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.classy},cornersDotOptions:{...kA.cornersDotOptions,type:X.classy}},Ce={...kA,dotsOptions:{...kA.dotsOptions,type:T.classyRounded},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.dot},cornersDotOptions:{...kA.cornersDotOptions,type:X.dot}},Qe={...kA,dotsOptions:{...kA.dotsOptions,type:T.classyRounded},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.square},cornersDotOptions:{...kA.cornersDotOptions,type:X.square}},Ee={...kA,dotsOptions:{...kA.dotsOptions,type:T.verticalLine},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.square},cornersDotOptions:{...kA.cornersDotOptions,type:X.square}},le={...kA,dotsOptions:{...kA.dotsOptions,type:T.horizontalLine},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.square},cornersDotOptions:{...kA.cornersDotOptions,type:X.square}},he={...kA,dotsOptions:{...kA.dotsOptions,type:T.horizontalLine},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.classy},cornersDotOptions:{...kA.cornersDotOptions,type:X.classy}},de={...kA,dotsOptions:{...kA.dotsOptions,type:T.smallSquare},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.dot},cornersDotOptions:{...kA.cornersDotOptions,type:X.dot}},ce={...kA,dotsOptions:{...kA.dotsOptions,type:T.smallSquare},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.rounded},cornersDotOptions:{...kA.cornersDotOptions,type:X.rounded}},ue={...kA,dotsOptions:{...kA.dotsOptions,type:T.tinySquare},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.dot},cornersDotOptions:{...kA.cornersDotOptions,type:X.dot}},pe={...kA,dotsOptions:{...kA.dotsOptions,type:T.tinySquare},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.square},cornersDotOptions:{...kA.cornersDotOptions,type:X.square}},me={...kA,dotsOptions:{...kA.dotsOptions,type:T.star},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.dot},cornersDotOptions:{...kA.cornersDotOptions,type:X.dot}},fe={...kA,dotsOptions:{...kA.dotsOptions,type:T.star},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.square},cornersDotOptions:{...kA.cornersDotOptions,type:X.square}},De={...kA,dotsOptions:{...kA.dotsOptions,type:T.plus},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.dot},cornersDotOptions:{...kA.cornersDotOptions,type:X.dot}},we={...kA,dotsOptions:{...kA.dotsOptions,type:T.plus},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.square},cornersDotOptions:{...kA.cornersDotOptions,type:X.square}},ye={...kA,dotsOptions:{...kA.dotsOptions,type:T.diamond},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.dot},cornersDotOptions:{...kA.cornersDotOptions,type:X.dot}},Fe={...kA,dotsOptions:{...kA.dotsOptions,type:T.diamond},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.classy},cornersDotOptions:{...kA.cornersDotOptions,type:X.classy}},Se={...kA,dotsOptions:{...kA.dotsOptions,type:T.randomDot},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.square},cornersDotOptions:{...kA.cornersDotOptions,type:X.square}},Re={...kA,dotsOptions:{...kA.dotsOptions,type:T.randomDot},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.classy},cornersDotOptions:{...kA.cornersDotOptions,type:X.classy}},ke={...kA,dotsOptions:{...kA.dotsOptions,type:T.dot},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.square},cornersDotOptions:{...kA.cornersDotOptions,type:X.dot}},Ue={...kA,dotsOptions:{...kA.dotsOptions,type:T.dot},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.dot},cornersDotOptions:{...kA.cornersDotOptions,type:X.square}},be={...kA,dotsOptions:{...kA.dotsOptions,type:T.rounded},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.square},cornersDotOptions:{...kA.cornersDotOptions,type:X.dot}},Ye={...kA,dotsOptions:{...kA.dotsOptions,type:T.rounded},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.outpoint},cornersDotOptions:{...kA.cornersDotOptions,type:X.rounded}},Ne={...kA,dotsOptions:{...kA.dotsOptions,type:T.classy},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.square},cornersDotOptions:{...kA.cornersDotOptions,type:X.dot}},Ge={...kA,dotsOptions:{...kA.dotsOptions,type:T.classy},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.dot},cornersDotOptions:{...kA.cornersDotOptions,type:X.square}},Je={...kA,dotsOptions:{...kA.dotsOptions,type:T.square},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.rounded},cornersDotOptions:{...kA.cornersDotOptions,type:X.dot}},Ve={...kA,dotsOptions:{...kA.dotsOptions,type:T.square},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.dot},cornersDotOptions:{...kA.cornersDotOptions,type:X.rounded}},Ze={...kA,dotsOptions:{...kA.dotsOptions,type:T.dot},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.classy},cornersDotOptions:{...kA.cornersDotOptions,type:X.dot}},Oe={...kA,dotsOptions:{...kA.dotsOptions,type:T.dot},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.dot},cornersDotOptions:{...kA.cornersDotOptions,type:X.classy}},We={...UA,shape:L.circle},Me={...kA,shape:L.circle},He={...YA,shape:L.circle},Te={...NA,shape:L.circle},Xe={...GA,shape:L.circle},xe={...JA,shape:L.circle},Le={...VA,shape:L.circle},Ke={...ZA,shape:L.circle},qe={...OA,shape:L.circle},je={...WA,shape:L.circle},Pe={...MA,shape:L.circle},ve={...HA,shape:L.circle},ze={...TA,shape:L.circle},_e={...XA,shape:L.circle},$e={...xA,shape:L.circle},At={...LA,shape:L.circle},et={...KA,shape:L.circle},tt={...qA,shape:L.circle},it={...jA,shape:L.circle},ot={...PA,shape:L.circle},nt={...vA,shape:L.circle},gt={...zA,shape:L.circle},rt={..._A,shape:L.circle},It={...Ae,shape:L.circle},st={...ee,shape:L.circle},at={...te,shape:L.circle},Bt={...ie,shape:L.circle},Ct={...oe,shape:L.circle},Qt={...ne,shape:L.circle},Et={...ge,shape:L.circle},lt={...re,shape:L.circle},ht={...Ie,shape:L.circle},dt={...se,shape:L.circle},ct={...ae,shape:L.circle},ut={...Be,shape:L.circle},pt={...Ce,shape:L.circle},mt={...Qe,shape:L.circle},ft={...Ee,shape:L.circle},Dt={...le,shape:L.circle},wt={...he,shape:L.circle},yt={...de,shape:L.circle},Ft={...ce,shape:L.circle},St={...ue,shape:L.circle},Rt={...pe,shape:L.circle},kt={...me,shape:L.circle},Ut={...fe,shape:L.circle},bt={...De,shape:L.circle},Yt={...we,shape:L.circle},Nt={...ye,shape:L.circle},Gt={...Fe,shape:L.circle},Jt={...Se,shape:L.circle},Vt={...Re,shape:L.circle},Zt={...ke,shape:L.circle},Ot={...Ue,shape:L.circle},Wt={...be,shape:L.circle},Mt={...Ye,shape:L.circle},Ht={...Ne,shape:L.circle},Tt={...Ge,shape:L.circle},Xt={...Je,shape:L.circle},xt={...Ve,shape:L.circle},Lt={...Ze,shape:L.circle},Kt={...Oe,shape:L.circle},qt=[{id:"base",name:"Default",options:kA},{id:"plain",name:"Square Plain",options:UA},{id:"plain-circle",name:"Square Plain (Circle)",options:We},{id:"base-line-rounded",name:"Lines Rounded",options:bA},{id:"rounded",name:"Rounded",options:YA},{id:"dots",name:"Dots",options:NA},{id:"classy",name:"Classy",options:GA},{id:"extra-rounded-dots-square-corners",name:"Extra Rounded Dots Square Corners",options:JA},{id:"vertical-line-dots-classy-corners",name:"Vertical Lines Classy Corners",options:VA},{id:"horizontal-line-dots-rounded-corners",name:"Horizontal Lines Rounded Corners",options:ZA},{id:"classy-rounded-dots-outpoint-corners",name:"Classy Rounded Dots Outpoint Corners",options:OA},{id:"small-square-dots-inpoint-corners",name:"Small Square Dots Inpoint Corners",options:WA},{id:"tiny-square-dots-square-corners-heart-corners",name:"Tiny Square Dots Heart Corners",options:MA},{id:"star-dots-classy-corners",name:"Star Dots Classy Corners",options:HA},{id:"plus-dots-rounded-corners",name:"Plus Dots Rounded Corners",options:TA},{id:"diamond-dots-square-corners",name:"Diamond Dots Square Corners",options:XA},{id:"random-dot-dots-dot-corners",name:"Random Dots",options:xA},{id:"dot-dots-outpoint-corners",name:"Dots Outpoint Corners",options:LA},{id:"dot-dots-inpoint-corners",name:"Dots Inpoint Corners",options:KA},{id:"rounded-dots-outpoint-corners",name:"Rounded Dots Outpoint Corners",options:qA},{id:"rounded-dots-inpoint-corners",name:"Rounded Dots Inpoint Corners",options:jA},{id:"classy-dots-outpoint-corners",name:"Classy Dots Outpoint Corners",options:PA},{id:"classy-dots-inpoint-corners",name:"Classy Dots Inpoint Corners",options:vA},{id:"square-dots-outpoint-corners",name:"Square Dots Outpoint Corners",options:zA},{id:"square-dots-inpoint-corners",name:"Square Dots Inpoint Corners",options:_A},{id:"dot-dots-square-corners",name:"Dots Square Corners",options:Ae},{id:"dot-dots-rounded-corners",name:"Dots Rounded Corners",options:ee},{id:"dot-dots-classy-corners",name:"Dots Classy Corners",options:te},{id:"rounded-dots-square-corners",name:"Rounded Dots Square Corners",options:ie},{id:"rounded-dots-classy-corners",name:"Rounded Dots Classy Corners",options:oe},{id:"classy-dots-square-corners",name:"Classy Dots Square Corners",options:ne},{id:"classy-dots-rounded-corners",name:"Classy Dots Rounded Corners",options:ge},{id:"square-dots-dot-corners",name:"Square Dots Dot Corners",options:re},{id:"square-dots-rounded-corners",name:"Square Dots Rounded Corners",options:Ie},{id:"square-dots-classy-corners",name:"Square Dots Classy Corners",options:se},{id:"extra-rounded-dots-dot-corners",name:"Extra Rounded Dots Dot Corners",options:ae},{id:"extra-rounded-dots-classy-corners",name:"Extra Rounded Dots Classy Corners",options:Be},{id:"classy-rounded-dots-dot-corners",name:"Classy Rounded Dots Dot Corners",options:Ce},{id:"classy-rounded-dots-square-corners",name:"Classy Rounded Dots Square Corners",options:Qe},{id:"vertical-line-dots-square-corners",name:"Vertical Lines Square Corners",options:Ee},{id:"horizontal-line-dots-square-corners",name:"Horizontal Lines Square Corners",options:le},{id:"horizontal-line-dots-classy-corners",name:"Horizontal Lines Classy Corners",options:he},{id:"small-square-dots-dot-corners",name:"Small Square Dots Dot Corners",options:de},{id:"small-square-dots-rounded-corners",name:"Small Square Dots Rounded Corners",options:ce},{id:"tiny-square-dots-dot-corners",name:"Tiny Square Dots Dot Corners",options:ue},{id:"tiny-square-dots-square-corners",name:"Tiny Square Dots Square Corners",options:pe},{id:"star-dots-dot-corners",name:"Star Dots Dot Corners",options:me},{id:"star-dots-square-corners",name:"Star Dots Square Corners",options:fe},{id:"plus-dots-dot-corners",name:"Plus Dots Dot Corners",options:De},{id:"plus-dots-square-corners",name:"Plus Dots Square Corners",options:we},{id:"diamond-dots-dot-corners",name:"Diamond Dots Dot Corners",options:ye},{id:"diamond-dots-classy-corners",name:"Diamond Dots Classy Corners",options:Fe},{id:"random-dot-dots-square-corners",name:"Random Dots Square Corners",options:Se},{id:"random-dot-dots-classy-corners",name:"Random Dots Classy Corners",options:Re},{id:"dot-dots-square-corners-dot-corners",name:"Dots Square/Dot Corners",options:ke},{id:"dot-dots-dot-corners-square-corners",name:"Dots Dot/Square Corners",options:Ue},{id:"rounded-dots-square-corners-dot-corners",name:"Rounded Dots Square/Dot Corners",options:be},{id:"rounded-dots-dot-corners-square-corners",name:"Rounded Dots Dot/Square Corners",options:Ye},{id:"classy-dots-square-corners-dot-corners",name:"Classy Dots Square/Dot Corners",options:Ne},{id:"classy-dots-dot-corners-square-corners",name:"Classy Dots Dot/Square Corners",options:Ge},{id:"square-dots-rounded-corners-dot-corners",name:"Square Dots Rounded/Dot Corners",options:Je},{id:"square-dots-dot-corners-rounded-corners",name:"Square Dots Dot/Rounded Corners",options:Ve},{id:"dot-dots-classy-corners-dot-corners",name:"Dots Classy/Dot Corners",options:Ze},{id:"dot-dots-dot-corners-classy-corners",name:"Dots Dot/Classy Corners",options:Oe},{id:"circle-shape-dot-dots-square-corners",name:"Circle Dots Square Corners",options:It},{id:"circle-shape-rounded-dots-rounded-corners",name:"Circle Rounded",options:$A},{id:"circle-shape-square-dots-square-corners",name:"Circle Square Plain",options:We},{id:"circle-shape-vertical-line-dots-rounded-corners",name:"Circle Lines Rounded",options:Me},{id:"circle-shape-rounded-dots-dot-corners",name:"Circle Rounded Dots",options:He},{id:"circle-shape-dot-dots-dot-corners",name:"Circle Dots",options:Te},{id:"circle-shape-classy-dots-classy-corners",name:"Circle Classy",options:Xe},{id:"circle-shape-extra-rounded-dots-square-corners",name:"Circle Extra Rounded Dots Square Corners",options:xe},{id:"circle-shape-vertical-line-dots-classy-corners",name:"Circle Vertical Lines Classy Corners",options:Le},{id:"circle-shape-horizontal-line-dots-rounded-corners",name:"Circle Horizontal Lines Rounded Corners",options:Ke},{id:"circle-shape-classy-rounded-dots-outpoint-corners",name:"Circle Classy Rounded Dots Outpoint Corners",options:qe},{id:"circle-shape-small-square-dots-inpoint-corners",name:"Circle Small Square Dots Inpoint Corners",options:je},{id:"circle-shape-tiny-square-dots-square-corners-heart-corners",name:"Circle Tiny Square Dots Heart Corners",options:Pe},{id:"circle-shape-star-dots-classy-corners",name:"Circle Star Dots Classy Corners",options:ve},{id:"circle-shape-plus-dots-rounded-corners",name:"Circle Plus Dots Rounded Corners",options:ze},{id:"circle-shape-diamond-dots-square-corners",name:"Circle Diamond Dots Square Corners",options:_e},{id:"circle-shape-random-dot-dots-dot-corners",name:"Circle Random Dots",options:$e},{id:"circle-shape-dot-dots-outpoint-corners",name:"Circle Dots Outpoint Corners",options:At},{id:"circle-shape-dot-dots-inpoint-corners",name:"Circle Dots Inpoint Corners",options:et},{id:"circle-shape-rounded-dots-outpoint-corners",name:"Circle Rounded Dots Outpoint Corners",options:tt},{id:"circle-shape-rounded-dots-inpoint-corners",name:"Circle Rounded Dots Inpoint Corners",options:it},{id:"circle-shape-classy-dots-outpoint-corners",name:"Circle Classy Dots Outpoint Corners",options:ot},{id:"circle-shape-classy-dots-inpoint-corners",name:"Circle Classy Dots Inpoint Corners",options:nt},{id:"circle-shape-square-dots-outpoint-corners",name:"Circle Square Dots Outpoint Corners",options:gt},{id:"circle-shape-square-dots-inpoint-corners",name:"Circle Square Dots Inpoint Corners",options:rt},{id:"circle-shape-dot-dots-rounded-corners",name:"Circle Dots Rounded Corners",options:st},{id:"circle-shape-dot-dots-classy-corners",name:"Circle Dots Classy Corners",options:at},{id:"circle-shape-rounded-dots-square-corners",name:"Circle Rounded Dots Square Corners",options:Bt},{id:"circle-shape-rounded-dots-classy-corners",name:"Circle Rounded Dots Classy Corners",options:Ct},{id:"circle-shape-classy-dots-square-corners",name:"Circle Classy Dots Square Corners",options:Qt},{id:"circle-shape-classy-dots-rounded-corners",name:"Circle Classy Dots Rounded Corners",options:Et},{id:"circle-shape-square-dots-dot-corners",name:"Circle Square Dots Dot Corners",options:lt},{id:"circle-shape-square-dots-rounded-corners",name:"Circle Square Dots Rounded Corners",options:ht},{id:"circle-shape-square-dots-classy-corners",name:"Circle Square Dots Classy Corners",options:dt},{id:"circle-shape-extra-rounded-dots-dot-corners",name:"Circle Extra Rounded Dots Dot Corners",options:ct},{id:"circle-shape-extra-rounded-dots-classy-corners",name:"Circle Extra Rounded Dots Classy Corners",options:ut},{id:"circle-shape-classy-rounded-dots-dot-corners",name:"Circle Classy Rounded Dots Dot Corners",options:pt},{id:"circle-shape-classy-rounded-dots-square-corners",name:"Circle Classy Rounded Dots Square Corners",options:mt},{id:"circle-shape-vertical-line-dots-square-corners",name:"Circle Vertical Lines Square Corners",options:ft},{id:"circle-shape-horizontal-line-dots-square-corners",name:"Circle Horizontal Lines Square Corners",options:Dt},{id:"circle-shape-horizontal-line-dots-classy-corners",name:"Circle Horizontal Lines Classy Corners",options:wt},{id:"circle-shape-small-square-dots-dot-corners",name:"Circle Small Square Dots Dot Corners",options:yt},{id:"circle-shape-small-square-dots-rounded-corners",name:"Circle Small Square Dots Rounded Corners",options:Ft},{id:"circle-shape-tiny-square-dots-dot-corners",name:"Circle Tiny Square Dots Dot Corners",options:St},{id:"circle-shape-tiny-square-dots-square-corners",name:"Circle Tiny Square Dots Square Corners",options:Rt},{id:"circle-shape-star-dots-dot-corners",name:"Circle Star Dots Dot Corners",options:kt},{id:"circle-shape-star-dots-square-corners",name:"Circle Star Dots Square Corners",options:Ut},{id:"circle-shape-plus-dots-dot-corners",name:"Circle Plus Dots Dot Corners",options:bt},{id:"circle-shape-plus-dots-square-corners",name:"Circle Plus Dots Square Corners",options:Yt},{id:"circle-shape-diamond-dots-dot-corners",name:"Circle Diamond Dots Dot Corners",options:Nt},{id:"circle-shape-diamond-dots-classy-corners",name:"Circle Diamond Dots Classy Corners",options:Gt},{id:"circle-shape-random-dot-dots-square-corners",name:"Circle Random Dots Square Corners",options:Jt},{id:"circle-shape-random-dot-dots-classy-corners",name:"Circle Random Dots Classy Corners",options:Vt},{id:"circle-shape-dot-dots-square-corners-dot-corners",name:"Circle Dots Square/Dot Corners",options:Zt},{id:"circle-shape-dot-dots-dot-corners-square-corners",name:"Circle Dots Dot/Square Corners",options:Ot},{id:"circle-shape-rounded-dots-square-corners-dot-corners",name:"Circle Rounded Dots Square/Dot Corners",options:Wt},{id:"circle-shape-rounded-dots-dot-corners-square-corners",name:"Circle Rounded Dots Dot/Square Corners",options:Mt},{id:"circle-shape-classy-dots-square-corners-dot-corners",name:"Circle Classy Dots Square/Dot Corners",options:Ht},{id:"circle-shape-classy-dots-dot-corners-square-corners",name:"Circle Classy Dots Dot/Square Corners",options:Tt},{id:"circle-shape-square-dots-rounded-corners-dot-corners",name:"Circle Square Dots Rounded/Dot Corners",options:Xt},{id:"circle-shape-square-dots-dot-corners-rounded-corners",name:"Circle Square Dots Dot/Rounded Corners",options:xt},{id:"circle-shape-dot-dots-classy-corners-dot-corners",name:"Circle Dots Classy/Dot Corners",options:Lt},{id:"circle-shape-dot-dots-dot-corners-classy-corners",name:"Circle Dots Dot/Classy Corners",options:Kt}];function jt(A){return qt.find((e=>e.name.toLowerCase()===A.toLowerCase()))}function Pt(A){return qt.find((e=>e.id===A))}Pt("base");const vt=A=>"number"==typeof A&&!isNaN(A)&&isFinite(A),zt=(A,e)=>{const t=[];return Object.values(M).includes(A.type)||t.push({path:`${e}.type`,message:`Invalid gradient type. Must be one of: ${Object.values(M).join(", ")}`,value:A.type}),void 0===A.rotation||vt(A.rotation)||t.push({path:`${e}.rotation`,message:"Rotation must be a valid number",value:A.rotation}),!A.colorStops||!Array.isArray(A.colorStops)||A.colorStops.length<2?t.push({path:`${e}.colorStops`,message:"Gradient must have at least 2 color stops",value:A.colorStops}):A.colorStops.forEach(((A,i)=>{var o,n;(!vt(A.offset)||A.offset<0||A.offset>1)&&t.push({path:`${e}.colorStops[${i}].offset`,message:"Color stop offset must be between 0 and 1",value:A.offset}),o=A.color,new Set(["black","white","red","green","blue","yellow","purple","gray","grey","cyan","magenta","lime","pink","teal","brown","orange"]).has(o.toLowerCase())||/^#([A-Fa-f0-9]{3}){1,2}$/.test(o)||/^#([A-Fa-f0-9]{4}){1,2}$/.test(o)||(/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/.test(o)||/^rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([01]?\.?\d*)\)$/.test(o))&&((null===(n=o.match(/\d+/g))||void 0===n?void 0:n.map(Number))||[]).every((A=>A>=0&&A<=255))||t.push({path:`${e}.colorStops[${i}].color`,message:"Invalid color format",value:A.color})})),t};function _t(A){const e=[];let t={...kA};if(A.data&&"string"==typeof A.data||e.push({path:"data",message:"QR data is required and must be a string",value:A.data}),A.shape&&!Object.values(L).includes(A.shape)&&(e.push({path:"shape",message:`Invalid shape type. Must be one of: ${Object.values(L).join(", ")}`,value:A.shape}),A.shape=kA.shape),A.qrOptions){var i,o,n;if(A.qrOptions.typeNumber&&!Object.values(h).includes(A.qrOptions.typeNumber))e.push({path:"qrOptions.typeNumber",message:"Invalid type number",value:A.qrOptions.typeNumber}),A.qrOptions.typeNumber=null===(i=kA.qrOptions)||void 0===i?void 0:i.typeNumber;if(A.qrOptions.errorCorrectionLevel&&!Object.values(d).includes(A.qrOptions.errorCorrectionLevel))e.push({path:"qrOptions.errorCorrectionLevel",message:"Invalid error correction level",value:A.qrOptions.errorCorrectionLevel}),A.qrOptions.errorCorrectionLevel=null===(o=kA.qrOptions)||void 0===o?void 0:o.errorCorrectionLevel;if(A.qrOptions.mode&&!Object.values(c).includes(A.qrOptions.mode))e.push({path:"qrOptions.mode",message:"Invalid mode",value:A.qrOptions.mode}),A.qrOptions.mode=null===(n=kA.qrOptions)||void 0===n?void 0:n.mode}if(A.imageOptions){var g,r,I;if(A.imageOptions.imageSize&&(!vt(A.imageOptions.imageSize)||A.imageOptions.imageSize<=0||A.imageOptions.imageSize>1))e.push({path:"imageOptions.imageSize",message:"Image size must be between 0 and 1",value:A.imageOptions.imageSize}),A.imageOptions.imageSize=null===(g=kA.imageOptions)||void 0===g?void 0:g.imageSize;if(A.imageOptions.margin&&(!vt(A.imageOptions.margin)||A.imageOptions.margin<0))e.push({path:"imageOptions.margin",message:"Margin must be a non-negative number",value:A.imageOptions.margin}),A.imageOptions.margin=null===(r=kA.imageOptions)||void 0===r?void 0:r.margin;if(A.imageOptions.mode&&!Object.values(K).includes(A.imageOptions.mode))e.push({path:"imageOptions.mode",message:`Invalid image mode. Must be one of: ${Object.values(K).join(", ")}`,value:A.imageOptions.mode}),A.imageOptions.mode=null===(I=kA.imageOptions)||void 0===I?void 0:I.mode}if(A.dotsOptions){var s,a;if(A.dotsOptions.type&&!Object.values(T).includes(A.dotsOptions.type))e.push({path:"dotsOptions.type",message:`Invalid dot type. Must be one of: ${Object.values(T).join(", ")}`,value:A.dotsOptions.type}),A.dotsOptions.type=null===(s=kA.dotsOptions)||void 0===s?void 0:s.type;if(A.dotsOptions.size&&(!vt(A.dotsOptions.size)||A.dotsOptions.size<=0))e.push({path:"dotsOptions.size",message:"Dot size must be a positive number",value:A.dotsOptions.size}),A.dotsOptions.size=null===(a=kA.dotsOptions)||void 0===a?void 0:a.size;A.dotsOptions.gradient&&e.push(...zt(A.dotsOptions.gradient,"dotsOptions.gradient"))}if(A.cornersSquareOptions){var B;if(A.cornersSquareOptions.type&&!Object.values(x).includes(A.cornersSquareOptions.type))e.push({path:"cornersSquareOptions.type",message:`Invalid corner square type. Must be one of: ${Object.values(x).join(", ")}`,value:A.cornersSquareOptions.type}),A.cornersSquareOptions.type=null===(B=kA.cornersSquareOptions)||void 0===B?void 0:B.type;A.cornersSquareOptions.gradient&&e.push(...zt(A.cornersSquareOptions.gradient,"cornersSquareOptions.gradient"))}if(A.cornersDotOptions){var C;if(A.cornersDotOptions.type&&!Object.values(X).includes(A.cornersDotOptions.type))e.push({path:"cornersDotOptions.type",message:`Invalid corner dot type. Must be one of: ${Object.values(X).join(", ")}`,value:A.cornersDotOptions.type}),A.cornersDotOptions.type=null===(C=kA.cornersDotOptions)||void 0===C?void 0:C.type;A.cornersDotOptions.gradient&&e.push(...zt(A.cornersDotOptions.gradient,"cornersDotOptions.gradient"))}return t={...t,...A},{warnings:e,validatedOptions:t}}class $t{get element(){return this._element}constructor(A,e){this.type=A,this.document=e}draw(A){let e;switch(this.type){case X.square:e=this.drawSquare;break;case X.heart:e=this.drawHeart;break;case X.rounded:e=this.drawRounded;break;case X.classy:e=this.drawClassy;break;case X.inpoint:e=this.drawInpoint;break;case X.outpoint:e=this.drawOutpoint;break;case X.dot:default:e=this.drawDot}e.call(this,A)}rotateFigure({x:A,y:e,size:t,rotation:i=0,draw:o}){var n;const g=A+t/2,r=e+t/2;o(),null===(n=this._element)||void 0===n||n.setAttribute("transform",`rotate(${w(180*i/Math.PI)},${g},${r})`)}basicDot(A){const{size:e,x:t,y:i}=A;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","circle"),this._element.setAttribute("cx",w(t+e/2)),this._element.setAttribute("cy",w(i+e/2)),this._element.setAttribute("r",w(e/2.1))}})}basicSquare(A){const{size:e,x:t,y:i}=A,o=e/11;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","rect"),this._element.setAttribute("x",w(t+o)),this._element.setAttribute("y",w(i+o)),this._element.setAttribute("width",w(e-2*o)),this._element.setAttribute("height",w(e-2*o))}})}basicHeart(A){const{size:e,x:t,y:i}=A;this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path");let o=!1,n=0;this._element.setAttribute("d",["M",1,.3262506,"c",0,.0383376,-.0064626,.0758377,-.0193751,.1125001,"s",-.0356247,.076875,-.0681248,.1206252,"c",-.0325,.0437499,-.0762503,.0931247,-.1312501,.1481249,"C",.7262502,.7625008,.6566626,.8279132,.5724999,.9037505,"L",.5,.9687506,"L",.4275001,.9037505,"C",.3433374,.8279132,.2737499,.7625005,.21875,.7075007,"C",.1637501,.6525008,.1199999,.6031258,.0874999,.5593758,"S",.0322876,.4754133,.0193751,.4387506,"S",0,.3645881,0,.3262506,"c",0,-.0783374,.0262499,-.1437498,.07875,-.1962499,"s",.1179124,-.07875,.1962499,-.07875,"c",.0433376,0,.0845875,.0091625,.12375,.0274999,"S",.4716623,.1229131,.5,.1562506,"c",.0283374,-.0333375,.0620874,-.0591625,.1012502,-.0775,"c",.0391627,-.0183375,.0804126,-.0274999,.12375,-.0274999,"c",.0783374,0,.1437497,.0262499,.1962501,.07875,"S",1,.2479131,1,.3262506,"z"].map((A=>"string"==typeof A?(n=0,o=A.toUpperCase()==A,A):(n++,A*=e,o&&(A+=n%2==1?t:i),w(A)))).join(" "))}basicRounded(A){const{size:e,x:t,y:i}=A;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","rect"),this._element.setAttribute("x",w(t)),this._element.setAttribute("y",w(i)),this._element.setAttribute("width",w(e)),this._element.setAttribute("height",w(e)),this._element.setAttribute("rx",w(e/4)),this._element.setAttribute("ry",w(e/4))}})}basicClassy(A){const{size:e,x:t,y:i}=A,o=e/7;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",y`M ${t} ${i+2.5*o} v ${2*o} a ${2.5*o} ${2.5*o}, 0, 0, 0, ${2.5*o} ${2.5*o} h ${4.5*o} v ${-4.5*o} a ${2.5*o} ${2.5*o}, 0, 0, 0, ${2.5*-o} ${2.5*-o} h ${-2*o} H ${t} z`)}})}basicInpoint(A){const{size:e,x:t,y:i}=A,o=e;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",y`M ${t} ${i+o/2} v ${o/4} a ${o/4}, ${o/4} 0 0 0 ${o/4}, ${o/4} h ${o/4*3} v ${-o/4*3} a ${o/4}, ${o/4} 0 0 0 ${-o/4}, ${-o/4} h ${-o/2} a ${o/4}, ${o/4} 0 0 0 ${-o/4}, ${o/4} z`)}})}drawDot({x:A,y:e,size:t,rotation:i}){this.basicDot({x:A,y:e,size:t,rotation:i})}drawSquare({x:A,y:e,size:t,rotation:i}){this.basicSquare({x:A,y:e,size:t,rotation:i})}drawHeart({x:A,y:e,size:t,rotation:i}){this.basicHeart({x:A,y:e,size:t,rotation:i})}drawRounded({x:A,y:e,size:t,rotation:i}){this.basicRounded({x:A,y:e,size:t,rotation:i})}drawClassy({x:A,y:e,size:t,rotation:i}){this.basicClassy({x:A,y:e,size:t,rotation:i})}drawInpoint({x:A,y:e,size:t,rotation:i}){this.basicInpoint({x:A,y:e,size:t,rotation:i})}drawOutpoint({x:A,y:e,size:t,rotation:i}){this.basicInpoint({x:A,y:e,size:t,rotation:(i||0)+Math.PI})}}class Ai{get element(){return this._element}get fill(){return this._fill}constructor(A,e){this.type=A,this.document=e}draw(A){let e;switch(this.type){case x.square:e=this.drawSquare;break;case x.rounded:e=this.drawExtraRounded;break;case x.classy:e=this.drawClassy;break;case x.outpoint:e=this.drawOutpoint;break;case x.inpoint:e=this.drawInpoint;break;case x.dot:default:e=this.drawDot}e.call(this,A)}rotateFigure({x:A,y:e,size:t,rotation:i=0,draw:o}){var n,g;const r=A+t/2,I=e+t/2;o(),null===(n=this._element)||void 0===n||n.setAttribute("transform",`rotate(${w(180*i/Math.PI)},${r},${I})`),null===(g=this._fill)||void 0===g||g.setAttribute("transform",`rotate(${w(180*i/Math.PI)},${r},${I})`)}basicDot(A){const{size:e,x:t,y:i}=A,o=e/8,n=.5*e,g=n-o;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",y`M ${t+e/2} ${i+(e/2-n)} a ${n} ${n} 0 1 0 0.1 0 z m 0 ${o} a ${g} ${g} 0 1 1 -0.1 0 Z`),this._fill=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._fill.setAttribute("clip-rule","evenodd"),this._fill.setAttribute("d",y`M ${t+e/2} ${i+(e/2-(n+o))} a ${n+o} ${n+o} 0 1 0 0.1 0 z`)}})}basicSquare(A){const{size:e,x:t,y:i}=A,o=e/7;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",y`M ${t} ${i} v ${e} h ${e} v ${-e} z M ${t+o} ${i+o} h ${e-2*o} v ${e-2*o} h ${2*o-e} z`),this._fill=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._fill.setAttribute("clip-rule","evenodd"),this._fill.setAttribute("d",y`M ${t-o} ${i-o} h ${e+2*o} v ${e+2*o} h ${-e-2*o} z`)}})}basicExtraRounded(A){const{size:e,x:t,y:i}=A,o=e/7;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",y`M ${t} ${i+2.5*o} v ${2*o} a ${2.5*o} ${2.5*o}, 0, 0, 0, ${2.5*o} ${2.5*o} h ${2*o} a ${2.5*o} ${2.5*o}, 0, 0, 0, ${2.5*o} ${2.5*-o} v ${-2*o} a ${2.5*o} ${2.5*o}, 0, 0, 0, ${2.5*-o} ${2.5*-o} h ${-2*o} a ${2.5*o} ${2.5*o}, 0, 0, 0, ${2.5*-o} ${2.5*o} z M ${t+2.5*o} ${i+o} h ${2*o} a ${1.5*o} ${1.5*o}, 0, 0, 1, ${1.5*o} ${1.5*o} v ${2*o} a ${1.5*o} ${1.5*o}, 0, 0, 1, ${1.5*-o} ${1.5*o} h ${-2*o} a ${1.5*o} ${1.5*o}, 0, 0, 1, ${1.5*-o} ${1.5*-o} v ${-2*o} a ${1.5*o} ${1.5*o}, 0, 0, 1, ${1.5*o} ${1.5*-o} z`),this._fill=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._fill.setAttribute("clip-rule","evenodd"),this._fill.setAttribute("d",y`M ${t-o} ${i+2.5*o} v ${2*o} a ${3.5*o} ${3.5*o}, 0, 0, 0, ${3.5*o} ${3.5*o} h ${2*o} a ${3.5*o} ${3.5*o}, 0, 0, 0, ${3.5*o} ${3.5*-o} v ${-2*o} a ${3.5*o} ${3.5*o}, 0, 0, 0, ${3.5*-o} ${3.5*-o} h ${-2*o} a ${3.5*o} ${3.5*o}, 0, 0, 0, ${3.5*-o} ${3.5*o} z`)}})}basicClassy(A){const{size:e,x:t,y:i}=A,o=e/7;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",y`M ${t} ${i+2.5*o} v ${2*o} a ${2.5*o} ${2.5*o}, 0, 0, 0, ${2.5*o} ${2.5*o} h ${4.5*o} v ${-4.5*o} a ${2.5*o} ${2.5*o}, 0, 0, 0, ${2.5*-o} ${2.5*-o} h ${-2*o} H ${t} z M ${t+2.5*o} ${i+o} h ${2*o} a ${1.5*o} ${1.5*o}, 0, 0, 1, ${1.5*o} ${1.5*o} v ${3.5*o} h ${-3.5*o} a ${1.5*o} ${1.5*o}, 0, 0, 1, ${1.5*-o} ${1.5*-o} v ${-3.5*o} z`),this._fill=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._fill.setAttribute("clip-rule","evenodd"),this._fill.setAttribute("d",y`M ${t+.5*o} ${i-o} h ${4*o} a ${3.5*o} ${3.5*o}, 0, 0, 1, ${3.5*o} ${3.5*o} v ${5.5*o} h ${-5.5*o} a ${3.5*o} ${3.5*o}, 0, 0, 1, ${3.5*-o} ${3.5*-o} v ${-5.5*o} z`)}})}basicInpoint(A){const{size:e,x:t,y:i}=A,o=e/7;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",y`M ${t} ${i+2.5*o} v ${2*o} a ${2.5*o} ${2.5*o}, 0, 0, 0, ${2.5*o} ${2.5*o} h ${4.5*o} v ${-4.5*o} a ${2.5*o} ${2.5*o}, 0, 0, 0, ${2.5*-o} ${2.5*-o} h ${-2*o} a ${2.5*o} ${2.5*o}, 0, 0, 0, ${2.5*-o} ${2.5*o} z M ${t+2.5*o} ${i+o} h ${2*o} a ${1.5*o} ${1.5*o}, 0, 0, 1, ${1.5*o} ${1.5*o} v ${3.5*o} h ${-3.5*o} a ${1.5*o} ${1.5*o}, 0, 0, 1, ${1.5*-o} ${1.5*-o} v ${-2*o} a ${1.5*o} ${1.5*o}, 0, 0, 1, ${1.5*o} ${1.5*-o} z`),this._fill=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._fill.setAttribute("clip-rule","evenodd"),this._fill.setAttribute("d",y`M ${t+.5*o} ${i-o} h ${4*o} a ${3.5*o} ${3.5*o}, 0, 0, 1, ${3.5*o} ${3.5*o} v ${5.5*o} h ${-5.5*o} a ${3.5*o} ${3.5*o}, 0, 0, 1, ${3.5*-o} ${3.5*-o} v ${-2*o} a ${3.5*o} ${3.5*o}, 0, 0, 1, ${3.5*o} ${3.5*-o} z`)}})}drawDot({x:A,y:e,size:t,rotation:i}){this.basicDot({x:A,y:e,size:t,rotation:i})}drawSquare({x:A,y:e,size:t,rotation:i}){this.basicSquare({x:A,y:e,size:t,rotation:i})}drawExtraRounded({x:A,y:e,size:t,rotation:i}){this.basicExtraRounded({x:A,y:e,size:t,rotation:i})}drawClassy({x:A,y:e,size:t,rotation:i}){this.basicClassy({x:A,y:e,size:t,rotation:i})}drawInpoint({x:A,y:e,size:t,rotation:i}){this.basicInpoint({x:A,y:e,size:t,rotation:i})}drawOutpoint({x:A,y:e,size:t,rotation:i}){this.basicInpoint({x:A,y:e,size:t,rotation:(i||0)+Math.PI})}}class ei{get element(){return this._element}constructor(A,e){this.type=A,this.document=e}draw(A){let e;switch(this.type){case T.dot:e=this.drawDot;break;case T.randomDot:e=this.drawRandomDot;break;case T.classy:e=this.drawClassy;break;case T.classyRounded:e=this.drawClassyRounded;break;case T.rounded:e=this.drawRounded;break;case T.verticalLine:e=this.drawVerticalLine;break;case T.horizontalLine:e=this.drawHorizontalLine;break;case T.extraRounded:e=this.drawExtraRounded;break;case T.diamond:e=this.drawDiamond;break;case T.smallSquare:e=this.drawSmallSquare;break;case T.tinySquare:e=this.drawTinySquare;break;case T.star:e=this.drawStar;break;case T.plus:e=this.drawPlus;break;case T.square:default:e=this.drawSquare}e.call(this,A)}rotateFigure({x:A,y:e,size:t,rotation:i=0,draw:o}){var n;const g=A+t/2,r=e+t/2;o(),null===(n=this._element)||void 0===n||n.setAttribute("transform",`rotate(${w(180*i/Math.PI)},${g},${r})`)}basicDot(A){const{size:e,x:t,y:i}=A;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","circle"),this._element.setAttribute("cx",w(t+e/2)),this._element.setAttribute("cy",w(i+e/2)),this._element.setAttribute("r",w(e/2))}})}basicSquare(A){const{size:e,x:t,y:i}=A;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","rect"),this._element.setAttribute("x",w(t)),this._element.setAttribute("y",w(i)),this._element.setAttribute("width",w(e)),this._element.setAttribute("height",w(e))}})}basicSideRounded(A){const{size:e,x:t,y:i}=A;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",y`M ${t} ${i} v ${e} h ${e/2} a ${e/2} ${e/2}, 0, 0, 0, 0 ${-e} z`)}})}basicCornerRounded(A){const{size:e,x:t,y:i}=A;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",y`M ${t} ${i} v ${e} h ${e} v ${-e/2} a ${e/2} ${e/2}, 0, 0, 0, ${-e/2} ${-e/2} z`)}})}basicCornerExtraRounded(A){const{size:e,x:t,y:i}=A;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",y`M ${t} ${i} v ${e} h ${e} a ${e} ${e}, 0, 0, 0, ${-e} ${-e} z`)}})}basicCornersRounded(A){const{size:e,x:t,y:i}=A;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",y`M ${t} ${i} v ${e/2} a ${e/2} ${e/2}, 0, 0, 0, ${e/2} ${e/2} h ${e/2} v ${-e/2} a ${e/2} ${e/2}, 0, 0, 0, ${-e/2} ${-e/2} z`)}})}drawDot({x:A,y:e,size:t}){this.basicDot({x:A,y:e,size:t,rotation:0})}drawRandomDot({x:A,y:e,size:t}){const i=.25*Math.random()+.75;this.basicDot({x:A,y:e,size:t*i,rotation:0})}drawSquare({x:A,y:e,size:t}){this.basicSquare({x:A,y:e,size:t,rotation:0})}drawSmallSquare({x:A,y:e,size:t}){const i=t;t=.7*i,A+=.15*i,e+=.15*i,this.basicSquare({x:A,y:e,size:t,rotation:0})}drawTinySquare({x:A,y:e,size:t}){const i=t;t=.6*i,A+=.35*i,e+=.35*i,this.basicSquare({x:A,y:e,size:t,rotation:0})}drawDiamond({x:A,y:e,size:t}){this.basicSquare({x:A,y:e,size:t,rotation:Math.PI/4})}drawRounded({x:A,y:e,size:t,getNeighbor:i}){const o=i?+i(-1,0):0,n=i?+i(1,0):0,g=i?+i(0,-1):0,r=i?+i(0,1):0,I=o+n+g+r;if(0!==I)if(I>2||o&&n||g&&r)this.basicSquare({x:A,y:e,size:t,rotation:0});else{if(2===I){let i=0;return o&&g?i=Math.PI/2:g&&n?i=Math.PI:n&&r&&(i=-Math.PI/2),void this.basicCornerRounded({x:A,y:e,size:t,rotation:i})}if(1===I){let i=0;return g?i=Math.PI/2:n?i=Math.PI:r&&(i=-Math.PI/2),void this.basicSideRounded({x:A,y:e,size:t,rotation:i})}}else this.basicDot({x:A,y:e,size:t,rotation:0})}drawVerticalLine({x:A,y:e,size:t,getNeighbor:i}){const o=i?+i(-1,0):0,n=i?+i(1,0):0,g=i?+i(0,-1):0,r=i?+i(0,1):0;if(0===o+n+g+r||o&&!g&&!r||n&&!g&&!r)this.basicDot({x:A,y:e,size:t,rotation:0});else if(g&&r)this.basicSquare({x:A,y:e,size:t,rotation:0});else if(!g||r)if(!r||g);else{const i=-Math.PI/2;this.basicSideRounded({x:A,y:e,size:t,rotation:i})}else{const i=Math.PI/2;this.basicSideRounded({x:A,y:e,size:t,rotation:i})}}drawHorizontalLine({x:A,y:e,size:t,getNeighbor:i}){const o=i?+i(-1,0):0,n=i?+i(1,0):0,g=i?+i(0,-1):0,r=i?+i(0,1):0;if(0===o+n+g+r||g&&!o&&!n||r&&!o&&!n)this.basicDot({x:A,y:e,size:t,rotation:0});else if(o&&n)this.basicSquare({x:A,y:e,size:t,rotation:0});else if(!o||n)if(!n||o);else{const i=Math.PI;this.basicSideRounded({x:A,y:e,size:t,rotation:i})}else{const i=0;this.basicSideRounded({x:A,y:e,size:t,rotation:i})}}drawExtraRounded({x:A,y:e,size:t,getNeighbor:i}){const o=i?+i(-1,0):0,n=i?+i(1,0):0,g=i?+i(0,-1):0,r=i?+i(0,1):0,I=o+n+g+r;if(0!==I)if(I>2||o&&n||g&&r)this.basicSquare({x:A,y:e,size:t,rotation:0});else{if(2===I){let i=0;return o&&g?i=Math.PI/2:g&&n?i=Math.PI:n&&r&&(i=-Math.PI/2),void this.basicCornerExtraRounded({x:A,y:e,size:t,rotation:i})}if(1===I){let i=0;return g?i=Math.PI/2:n?i=Math.PI:r&&(i=-Math.PI/2),void this.basicSideRounded({x:A,y:e,size:t,rotation:i})}}else this.basicDot({x:A,y:e,size:t,rotation:0})}drawClassy({x:A,y:e,size:t,getNeighbor:i}){const o=i?+i(-1,0):0,n=i?+i(1,0):0,g=i?+i(0,-1):0,r=i?+i(0,1):0;0!==o+n+g+r?o||g?n||r?this.basicSquare({x:A,y:e,size:t,rotation:0}):this.basicCornerRounded({x:A,y:e,size:t,rotation:Math.PI/2}):this.basicCornerRounded({x:A,y:e,size:t,rotation:-Math.PI/2}):this.basicCornersRounded({x:A,y:e,size:t,rotation:Math.PI/2})}drawClassyRounded({x:A,y:e,size:t,getNeighbor:i}){const o=i?+i(-1,0):0,n=i?+i(1,0):0,g=i?+i(0,-1):0,r=i?+i(0,1):0;0!==o+n+g+r?o||g?n||r?this.basicSquare({x:A,y:e,size:t,rotation:0}):this.basicCornerExtraRounded({x:A,y:e,size:t,rotation:Math.PI/2}):this.basicCornerExtraRounded({x:A,y:e,size:t,rotation:-Math.PI/2}):this.basicCornersRounded({x:A,y:e,size:t,rotation:Math.PI/2})}drawStar({x:A,y:e,size:t}){this.rotateFigure({x:A,y:e,size:t,rotation:0,draw:()=>{var i;this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path");const o=A+t/2,n=e+t/2,g=1.3*t/2,r=.5*g;let I="";for(let A=0;A<10;A++){const e=A*Math.PI/5-Math.PI/2,t=A%2==0?g:r;I+=(0===A?"M":"L")+`${o+t*Math.cos(e)},${n+t*Math.sin(e)}`}I+="Z",null===(i=this._element)||void 0===i||i.setAttribute("d",I)}})}drawPlus({x:A,y:e,size:t}){this.rotateFigure({x:A,y:e,size:t,rotation:0,draw:()=>{var i;this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path");const o=.35*t,n=.85*t,g=(t-n)/2,r=o/2,I=[`M ${A+t/2-r} ${e+g}`,`h ${o}`,`v ${n}`,"h "+-o,"z",`M ${A+g} ${e+t/2-r}`,`h ${n}`,`v ${o}`,"h "+-n,"z"].join(" ");null===(i=this._element)||void 0===i||i.setAttribute("d",I)}})}}const ti={toDataURL:A=>"string"==typeof A&&A.startsWith("data:")?Promise.resolve(A):new Promise(((e,t)=>{if("string"==typeof A){const i=new XMLHttpRequest,o=()=>{i.abort()};i.onload=()=>{if(i.status<200||i.status>=300)return o(),void t(new Error(`Failed to load image: ${i.statusText}`));const A=new FileReader;A.onloadend=()=>{o(),e(A.result)},A.onerror=()=>{o(),t(new Error("Failed to read image blob"))},A.readAsDataURL(i.response)},i.onerror=i.ontimeout=i.onabort=()=>{o(),t(new Error("Image load aborted or failed"))};try{i.open("GET",A,!0),i.responseType="blob",i.timeout=1e4,i.send()}catch(A){o(),t(A)}}else{const i=new FileReader;i.onloadend=()=>{e(i.result)},i.onerror=()=>{t(new Error("Failed to read local image"))},i.readAsDataURL(A)}})).catch((A=>(console.error("Image loading error:",A),"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSIjY2NjIi8+PHRleHQgeD0iNTAlIiB5PSI1MCUiIGRvbWluYW50LWJhc2VsaW5lPSJtaWRkbGUiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZpbGw9IiMwMDAiIGZvbnQtc2l6ZT0iMTYiPkxvZ28gbG9hZCBlcnJvcjwvdGV4dD48L3N2Zz4="))),getSize:(A,e)=>new Promise(((t,i)=>{const o=new Image,n=setTimeout((()=>{i(new Error("Image loading timed out"))}),15e3);"string"==typeof e&&(o.crossOrigin=e);const g=()=>{clearTimeout(n),o.onload=o.onerror=o.onabort=null,o.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="};o.onload=()=>{g(),t({width:o.width,height:o.height})},o.onerror=o.onabort=()=>{g(),i(new Error("Failed to load image"))};try{"string"==typeof A?o.src=A:ti.toDataURL(A).then((A=>{A?o.src=A:i(new Error("Invalid image source"))})).catch(i)}catch(A){g(),i(A)}})).catch((A=>(console.warn("[QRCodeJs] Image size detection error:",A),{width:200,height:200})))};function ii(A){let e,t=[],i=1;if("#"===(A=A.toLowerCase())[0]){const e=A.slice(1),o=e.length;o<=4?(t=[parseInt(e[0]+e[0],16),parseInt(e[1]+e[1],16),parseInt(e[2]+e[2],16)],4===o&&(i=parseInt(e[3]+e[3],16)/255)):(t=[parseInt(e[0]+e[1],16),parseInt(e[2]+e[3],16),parseInt(e[4]+e[5],16)],8===o&&(i=parseInt(e[6]+e[7],16)/255)),t[0]||(t[0]=0),t[1]||(t[1]=0),t[2]||(t[2]=0)}else{if(!(e=/^((?:rgba?))\s*\(([^)]*)\)/.exec(A)))return{value:A,alpha:i};{const A=3;t=e[2].trim().split(/\s*[,/]\s*|\s+/),t=t.map(((A,e)=>{if("%"===A[A.length-1]){const t=parseFloat(A)/100;return 3===e?t:255*t}return"none"===A?0:parseFloat(A)})),i=t.length>A?t.pop():1}}return{value:"#"+t.map((A=>Math.max(0,Math.min(255,A)).toString(16).padStart(2,"0"))).join(""),alpha:Math.max(0,Math.min(1,i))}}const oi="undefined"!=typeof window&&void 0!==window.document,ni="undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node,gi="undefined"!=typeof navigator&&"Cloudflare-Workers"===navigator.userAgent;let ri;async function Ii(A,e){if(A.startsWith("data:"))return Promise.resolve(A);try{const t={method:"GET",mode:"cors"};"anonymous"!==e&&"use-credentials"!==e||(t.credentials="use-credentials"===e?"include":"omit");const i=await fetch(A,t);if(!i.ok)return console.warn(`[QRCodeJs] Failed to fetch image directly: ${i.status} ${i.statusText}`),null;if(oi){const A=await i.blob();return A.type.startsWith("image/")?new Promise(((e,t)=>{const i=new FileReader;i.onloadend=()=>e(i.result),i.onerror=A=>{console.warn("[QRCodeJs] FileReader error:",A),t(new Error("Failed to read image blob"))},i.readAsDataURL(A)})):(console.warn(`[QRCodeJs] Fetched resource is not an image: ${A.type}`),null)}if(ni||gi){const A=i.headers.get("content-type");if(!A||!A.startsWith("image/"))return console.warn(`[QRCodeJs] Fetched resource is not an image or content-type missing: ${A}`),null;const e=await i.arrayBuffer();let t="";if(ni){const A=await async function(){if(ri)return ri;if(ni)try{const A=await Promise.resolve().then((function(){return no}));ri=A.Buffer}catch(A){console.error("[QRCodeJs] Failed to dynamically import 'buffer' in Node.js:",A),ri=void 0}return ri}();if(!A)return console.error("[QRCodeJs] Buffer module not loaded in Node.js environment."),null;t=A.from(e).toString("base64")}else if(t=function(A){let e="";const t=new Uint8Array(A),i=t.byteLength;for(let A=0;A<i;A++)e+=String.fromCharCode(t[A]);return"undefined"!=typeof btoa?btoa(e):""}(e),!t)return console.warn("[QRCodeJs] Failed to convert ArrayBuffer to Base64 in Worker."),null;return`data:${A};base64,${t}`}return console.warn("[QRCodeJs] Unknown environment, cannot convert image to Data URL."),null}catch(A){return console.warn("[QRCodeJs] Error fetching image directly:",A),null}}async function si(A){const e=`https://api.qr-platform.com/v1/utils/get-dataurl?url=${encodeURIComponent(A)}`;try{const A=await fetch(e,{method:"GET",headers:{"x-client-name":"QRCode.js"},mode:"cors"});if(!A.ok)return console.warn(`[QRCodeJs] Failed to fetch image via proxy: ${A.status} ${A.statusText}`),null;const t=await A.json();return t&&"string"==typeof t.dataUrl&&t.dataUrl.startsWith("data:image/")?t.dataUrl:(console.warn("[QRCodeJs] Proxy response did not contain a valid dataUrl:",t),null)}catch(A){return console.warn("[QRCodeJs] Error fetching image via proxy:",A),null}}const ai=[[1,1,1,1,1,1,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,1,1,1,1,1,1]],Bi=[[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,1,1,1,0,0],[0,0,1,1,1,0,0],[0,0,1,1,1,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0]];class Ci{constructor(A){var e,t,i,o,n,g,r,I,s,a,B,C;this.roundValue=A=>"number"==typeof A?A:parseInt(A.replace("%",""),10)/100;const Q=A.margin||0,E="circle"===A.shape?.1:.3,{bordersMain:l,bordersOuter:h,bordersInner:d}=A,c=Math.min(A.width,A.height),u=Y(null===(e=A.borderOptions)||void 0===e?void 0:e.radius),p=Y(null===(t=A.borderOptions)||void 0===t||null===(t=t.inner)||void 0===t?void 0:t.radius,u),m=u&&b(u)>0?b(u)/100*c:0,f=u&&b(p)>0?b(p)/100*c:0,D=null!=f?f:m,y=D>0&&null!==(i=A.borderOptions)&&void 0!==i&&i.hasBorder?D*E:0;this.finalWidth=A.width+l.left+l.right+h.left+h.right+d.left+d.right,this.finalHeight=A.height+l.top+l.bottom+h.top+h.bottom+d.top+d.bottom;const F=l.left+l.right+h.left+h.right+d.left+d.right,S=l.top+l.bottom+h.top+h.bottom+d.top+d.bottom,R=null!==(o=A.borderOptions)&&void 0!==o&&o.hasBorder?this.finalWidth-F-2*h.left-2*d.left-d.right-2*Q-y:this.finalWidth-2*Q,k=null!==(n=A.borderOptions)&&void 0!==n&&n.hasBorder?this.finalHeight-S-2*h.top-2*d.top-d.top-2*Q-y:this.finalHeight-2*Q,U=R/A.width,N=k/A.height,G=Math.min(U,N),V=Math.min(Math.max(null!==(g=A.scale)&&void 0!==g?g:1,0),1.5),Z=Math.min(Math.max(null!==(r=null===(I=A.borderOptions)||void 0===I||null===(I=I.inner)||void 0===I?void 0:I.scale)&&void 0!==r?r:1,0),1.5),O=(null===(s=A.borderOptions)||void 0===s||null===(s=s.inner)||void 0===s?void 0:s.horizontalOffset)||0,W=(null===(a=A.borderOptions)||void 0===a||null===(a=a.inner)||void 0===a?void 0:a.verticalOffset)||0;A.scale=G*V*Z||1,this.options=A,this.document=A.document,this.imageTools=A.imageTools||ti,this._element=this.document.createElementNS("http://www.w3.org/2000/svg","svg");const M=w(A.width),H=w(A.height);if(A.isResponsive)this._element.setAttribute("height","100%"),this._element.setAttribute("width","100%");else{const e=A.userWidth||A.width,t=A.userHeight||A.height;e&&("string"==typeof e?this._element.setAttribute("width",e):this._element.setAttribute("width",w(e))),t&&("string"==typeof t?this._element.setAttribute("height",t):this._element.setAttribute("height",w(t)))}A.zoomFactor&&1!==A.zoomFactor?this._element.setAttribute("viewBox",`0 0 ${A.width/A.zoomFactor} ${A.height/A.zoomFactor}`):this._element.setAttribute("viewBox",`0 0 ${M} ${H}`),this.defs=this.document.createElementNS("http://www.w3.org/2000/svg","defs"),this._element.appendChild(this.defs),this._innerQrGroup=this.document.createElementNS("http://www.w3.org/2000/svg","g");let T=(R-A.width*A.scale)/2+Q-O+y/2,X=(k-A.height*A.scale)/2+Q-W+y/2;if(null!==(B=A.borderOptions)&&void 0!==B&&B.hasBorder){var x,L;const e={top:J(A.borderOptions,"top"),right:J(A.borderOptions,"right"),bottom:J(A.borderOptions,"bottom"),left:J(A.borderOptions,"left")},t=A.borderOptions.thickness||0,i=(null===(x=A.borderOptions.borderOuter)||void 0===x?void 0:x.thickness)||0,o=(null===(L=A.borderOptions.borderInner)||void 0===L?void 0:L.thickness)||0,n=A.borderOptions.noBorderThickness||t/4;X+=((e.top?t:n)-(e.bottom?t:n))/2+i+o+o/2,T+=((e.left?t:n)-(e.right?t:n))/2+i+o+o/2}A.verticalOffset&&(X-=A.verticalOffset),A.horizontalOffset&&(T-=A.horizontalOffset),this._instanceId=Ci.instanceCount++,1===A.scale&&0===T&&0===X||this._innerQrGroup.setAttribute("transform",`translate(${T}, ${X}) scale(${A.scale})`),this._maskedQrGroup=this.document.createElementNS("http://www.w3.org/2000/svg","g"),null!==(C=A.borderOptions)&&void 0!==C&&C.hasBorder&&this._maskedQrGroup.setAttribute("mask",`url(#qr-mask-${this._instanceId})`),this._maskedQrGroup.appendChild(this._innerQrGroup),this._element.appendChild(this._maskedQrGroup)}get element(){return this._element}get qrGroup(){return this._innerQrGroup||this._element}get width(){return this.finalWidth}get height(){return this.finalHeight}get svgSize(){return{width:this.options.width,height:this.options.height}}getElement(){return this._element}async drawQR(A){var e;const t=A.getModuleCount(),i=parseInt(((t-17)/4).toFixed(0),10),o=this.options.dotsOptions.size;let n={hideXDots:0,hideYDots:0,width:0,height:0};if(this.qr=A,null!==(e=this.options.borderOptions)&&void 0!==e&&e.hasBorder||this.drawBackground(),this.options.image){const A=await this.imageTools.getSize(this.options.image,this.options.imageOptions.crossOrigin),{imageOptions:e}=this.options;if(this.options.imageOptions.mode==K.background){const t=0,i=(this.finalWidth-2*t*o)*e.imageSize,g=(this.finalHeight-2*t*o)*e.imageSize;let{width:r,height:I}=A;I=I/r*i,r=i,I>g&&(r=r/I*g,I=g),n={hideXDots:0,hideYDots:0,width:r,height:I}}else{const e=this.options.imageOptions.imageSize*this.options.errorCorrectionPercent,g=E.getPatternPosition(i),r=Math.floor(e*(t*t-192-2*(t-16)-g.length**2*25));n=function({originalHeight:A,originalWidth:e,maxHiddenDots:t,maxHiddenAxisDots:i,dotSize:o,margin:n}){const g={x:0,y:0},r={x:0,y:0};if(A<=0||e<=0||t<=0||o<=0||4*n**2>t)return{height:0,width:0,hideYDots:0,hideXDots:0};i&&i%2==0&&(i=Math.max(1,i-1));const I=Math.max(e,A),s=Math.min(e,A);let a=0,B=(i||t)-2*n;do{const A=a+(B-a)/2;let e=Math.max(1,Math.ceil(A+2*n));e%2==0&&e++;let i=Math.max(1,Math.ceil(A*s/I+2*n));i%2==0&&i++,e*i>t?B=A:a=A}while(Math.abs(a-B)>.001);const C=a;let Q=Math.max(1,Math.ceil(C+2*n));Q%2==0&&Q++;let E=Math.max(1,Math.ceil(C*s/I+2*n));E%2==0&&E++,e>A?(g.x=Q,g.y=E):(g.x=E,g.y=Q);const l=(g.x-2*n)*o,h=(g.y-2*n)*o;return r.x=l,r.y=l*A/e,r.y>h&&(r.y=h,r.x=h*e/A),{height:Math.round(r.y+2*n*o),width:Math.round(r.x+2*n*o),hideYDots:g.y,hideXDots:g.x}}({originalWidth:A.width,originalHeight:A.height,maxHiddenDots:r,maxHiddenAxisDots:t-14,dotSize:o,margin:this.options.imageOptions.margin})}}var g;this.options.imageOptions.mode!=K.overlay&&this.options.image&&n.width>0&&n.height>0&&await this.drawImage({width:n.width,height:n.height,count:t,dotSize:o,radius:null===(g=this.options.imageOptions)||void 0===g?void 0:g.radius});this.drawDots(((A,e)=>!(this.options.imageOptions.mode==K.center&&A>=(t-n.hideXDots)/2&&A<(t+n.hideXDots)/2&&e>=(t-n.hideYDots)/2&&e<(t+n.hideYDots)/2)&&!(A<8&&e<8||A>=t-8&&e<8||e>=t-8&&A<8))),this.options.imageOptions.mode==K.overlay&&this.options.image&&n.width>0&&n.height>0&&await this.drawImage({width:n.width,height:n.height,count:t,dotSize:o}),this.drawCorners()}drawBackground(){const A=this.options;if(this._element&&A.backgroundOptions){var e;const t=A.backgroundOptions.gradient,i=A.backgroundOptions.color;if(F(i)&&!t)return;const o=Math.min(A.width,A.height),n=(null===(e=A.backgroundOptions)||void 0===e?void 0:e.round)||0,g=this.roundValue(n);let r;if(g>0){const e=this.document.createElementNS("http://www.w3.org/2000/svg","clipPath");r=`background-clip-${this._instanceId}`,e.setAttribute("id",r);const t=this.document.createElementNS("http://www.w3.org/2000/svg","rect");t.setAttribute("x",w((A.width-o)/2)),t.setAttribute("y",w((A.height-o)/2)),t.setAttribute("width",w(o)),t.setAttribute("height",w(o)),t.setAttribute("rx",w(o/2*g)),e.appendChild(t),this.defs.appendChild(e),this._maskedQrGroup.setAttribute("clip-path",`url(#${r})`)}this.createColor({options:t,color:i,additionalRotation:0,x:0,y:0,height:A.height,width:A.width,name:`background-color-${this._instanceId}`,clipPathId:r});const I=this.document.createElementNS("http://www.w3.org/2000/svg","rect");[this.backgroundMask,this.backgroundMaskGroup]=this.createMask(`mask-background-color-${this._instanceId}`),this.defs.appendChild(this.backgroundMask),I.setAttribute("x",w((A.width-o)/2)),I.setAttribute("y",w((A.height-o)/2)),I.setAttribute("width",w(o)),I.setAttribute("height",w(o)),I.setAttribute("rx",w(o/2*g)),this.backgroundMaskGroup.appendChild(I)}}drawBackgroundForBorder(A,e){const t=this.options;if(t.backgroundOptions){const i=t.backgroundOptions.gradient,o=t.backgroundOptions.color||"#ffffff";if(F(o)&&!i)return;const n=Math.min(t.width,t.height)-2*A,g=(t.width-n)/2,r=(t.height-n)/2,I=e-A,s=this.createColor({options:i,borderOptions:t.borderOptions,color:o,additionalRotation:0,x:g,y:r,height:n,width:n,name:`background-color-${this._instanceId}`,returnSVGGroup:!0}),a=this.document.createElementNS("http://www.w3.org/2000/svg","rect");return[this.backgroundMask,this.backgroundMaskGroup]=this.createMask(`mask-background-color-${this._instanceId}`),this.defs.appendChild(this.backgroundMask),a.setAttribute("x",w(g)),a.setAttribute("y",w(r)),a.setAttribute("width",w(n)),a.setAttribute("height",w(n)),a.setAttribute("rx",w(I)),this.backgroundMaskGroup.appendChild(a),s}}drawDots(A){var e;if(!this.qr)throw new Error("QR code is not defined");const t=this.options,i=this.qr.getModuleCount();if(i>t.width||i>t.height)throw new Error("The canvas is too small");const o=t.dotsOptions.size;let n=Math.min(t.width,t.height);t.imageOptions.mode==K.background&&(n-=2*o*(t.imageOptions.margin||0));const g=Math.floor((t.width-i*o)/2);let r=Math.floor((t.height-i*o)/2);if(t.offset){const A=(t.height-i*o)/2;r+=Math.min(Math.abs(t.offset),A)*Math.sign(t.offset)}let I=new ei(t.dotsOptions.type,this.document);const s=new ei(T.tinySquare,this.document),a=new ei(T.square,this.document);[this.dotsMask,this.dotsMaskGroup]=this.createMask(`mask-dot-color-${this._instanceId}`),this.defs.appendChild(this.dotsMask),t.imageOptions.mode==K.background&&([this.lightDotsMask,this.lightDotsMaskGroup]=this.createMask(`mask-light-dot-color-${this._instanceId}`),this.defs.appendChild(this.lightDotsMask));let B=0,C=i;t.shape===L.circle?(B=Math.floor((n/o-i-2)/2),C=i+2*B):t.imageOptions.mode==K.background&&(B=1,C=i+2*B);const Q=g-B*o,l=r-B*o,h=Q,d=l,c=i+2*B,u=new Array(C),p=Math.floor(C/2);for(let e=0;e<C;e++){u[e]=new Array(C);for(let o=0;o<C;o++)if(e>B-1&&e<C-B&&o>B-1&&o<C-B){const t=e-B,i=o-B;A&&!A(t,i)?u[e][o]=void 0:u[e][o]=!!this.qr.isDark(i,t)}else t.shape===L.circle&&Math.sqrt((e-p)*(e-p)+(o-p)*(o-p))>p?u[e][o]=void 0:u[e][o]=e!=B-1&&e!=C-B&&o!=B-1&&o!=C-B?this.qr.isDark(o-2*B<0?o:o>=i?o-2*B:o-B,e-2*B<0?e:e>=i?e-2*B:e-B):(o==B-1&&(e<B+8||e>C-B-9)||o==C-B&&e<B+8||e==B-1&&(o<B+8||o>C-B-9)||e==C-B&&o<B+8)&&void 0}const m=(i-17)/4,f=E.getPatternPosition(m);for(let A=0;A<C;A++){const e=f.find((e=>A-B>e-3&&A-B<e+3));for(let t=0;t<C;t++){const i=f.find((A=>t-B>A-3&&t-B<A+3));null!=u[A][t]&&(this.lightDotsMask&&(I=e&&i&&(e!=f[0]&&i!=f[0]||i!=f[0]&&i!=f[f.length-1]||e!=f[0]&&e!=f[f.length-1])?a:s),u[A][t]?(I.draw({x:Q+A*o,y:l+t*o,size:o,getNeighbor:(e,i)=>{var o;return!0===(null===(o=u[A+e])||void 0===o?void 0:o[t+i])}}),I.element&&this.dotsMaskGroup&&this.dotsMaskGroup.appendChild(I.element)):this.lightDotsMask&&(I.draw({x:Q+A*o,y:l+t*o,size:o,getNeighbor:(e,i)=>{var o;return!1===(null===(o=u[A+e])||void 0===o?void 0:o[t+i])}}),I.element&&this.lightDotsMaskGroup&&this.lightDotsMaskGroup.appendChild(I.element)))}}this.lightDotsMask&&this.createColor({color:t.imageOptions.backgroundColor,additionalRotation:0,x:h,y:d,height:c*o,width:c*o,name:`light-dot-color-${this._instanceId}`}),this.createColor({options:null===(e=t.dotsOptions)||void 0===e?void 0:e.gradient,color:t.dotsOptions.color,additionalRotation:0,x:h,y:d,height:c*o,width:c*o,name:`dot-color-${this._instanceId}`})}drawCorners(){if(!this.qr)throw new Error("QR code is not defined");const A=this.qrGroup,e=this.options;if(!A)throw new Error("Element code is not defined");const t=this.qr.getModuleCount(),i=e.dotsOptions.size,o=7*i,n=3*i,g=Math.floor((e.width-t*i)/2);let r=Math.floor((e.height-t*i)/2);if(e.offset){const A=(e.height-t*i)/2,o=Math.min(Math.abs(e.offset),A)*Math.sign(e.offset);r+=o}[[0,0,0],[1,0,Math.PI/2],[0,1,-Math.PI/2]].forEach((([A,I,s])=>{var a,B,C,Q,E,l;const h=g+A*i*(t-7),d=r+I*i*(t-7);let c=this.dotsMask,u=this.dotsMaskGroup,p=this.dotsMask,m=this.dotsMaskGroup;var f,D,w,y;(null!==(a=e.cornersSquareOptions)&&void 0!==a&&a.gradient||null!==(B=e.cornersSquareOptions)&&void 0!==B&&B.color)&&([c,u]=this.createMask(`mask-corners-square-color-${A}-${I}-${this._instanceId}`),this.defs.appendChild(c),p=c,m=u,this.createColor({options:null===(f=e.cornersSquareOptions)||void 0===f?void 0:f.gradient,color:null===(D=e.cornersSquareOptions)||void 0===D?void 0:D.color,additionalRotation:s,x:h,y:d,height:o,width:o,name:`corners-square-color-${A}-${I}-${this._instanceId}`}));if(null!==(C=e.cornersSquareOptions)&&void 0!==C&&C.type){const A=new Ai(e.cornersSquareOptions.type,this.document);A.draw({x:h,y:d,size:o,rotation:s}),A.element&&u&&u.appendChild(A.element),A.fill&&this.lightDotsMaskGroup&&this.lightDotsMaskGroup.appendChild(A.fill)}else{const A=new ei(e.dotsOptions.type,this.document);for(let e=0;e<ai.length;e++)for(let t=0;t<ai[e].length;t++){var F,S;if(null!==(F=ai[e])&&void 0!==F&&F[t])A.draw({x:h+e*i,y:d+t*i,size:i,getNeighbor:(A,i)=>{var o;return!(null===(o=ai[e+A])||void 0===o||!o[t+i])}}),A.element&&u&&u.appendChild(A.element);else!this.lightDotsMask||null!==(S=Bi[e])&&void 0!==S&&S[t]||(A.draw({x:h+e*i,y:d+t*i,size:i,getNeighbor:(A,i)=>{var o,n;return!(null!==(o=ai[e+A])&&void 0!==o&&o[t+i]||null!==(n=Bi[e+A])&&void 0!==n&&n[t+i])}}),A.element&&this.lightDotsMaskGroup&&this.lightDotsMaskGroup.appendChild(A.element))}if(this.lightDotsMask)for(let e=-1;e<8;e++)for(let t=-1;t<8;t++)-1!=e&&7!=e&&-1!=t&&7!=t||(A.draw({x:h+e*i,y:d+t*i,size:i,getNeighbor:(A,i)=>{const o=e+A,n=t+i;return o>=-1&&o<=7&&n>=-1&&n<=7&&(-1==o||7==o||-1==n||7==n)}}),A.element&&this.lightDotsMaskGroup&&this.lightDotsMaskGroup.appendChild(A.element))}(null!==(Q=e.cornersDotOptions)&&void 0!==Q&&Q.gradient||null!==(E=e.cornersDotOptions)&&void 0!==E&&E.color)&&([p,m]=this.createMask(`mask-corners-dot-color-${A}-${I}-${this._instanceId}`),this.defs.appendChild(p),this.createColor({options:null===(w=e.cornersDotOptions)||void 0===w?void 0:w.gradient,color:null===(y=e.cornersDotOptions)||void 0===y?void 0:y.color,additionalRotation:s,x:h+2*i,y:d+2*i,height:n,width:n,name:`corners-dot-color-${A}-${I}-${this._instanceId}`}));if(null!==(l=e.cornersDotOptions)&&void 0!==l&&l.type){const A=new $t(e.cornersDotOptions.type,this.document);A.draw({x:h+2*i,y:d+2*i,size:n,rotation:s}),A.element&&m&&m.appendChild(A.element)}else{const A=new ei(e.dotsOptions.type,this.document);for(let e=0;e<Bi.length;e++)for(let t=0;t<Bi[e].length;t++){var R;null!==(R=Bi[e])&&void 0!==R&&R[t]&&(A.draw({x:h+e*i,y:d+t*i,size:i,getNeighbor:(A,i)=>{var o;return!(null===(o=Bi[e+A])||void 0===o||!o[t+i])}}),A.element&&m&&m.appendChild(A.element))}}}))}async drawImage({width:A,height:e,count:t,dotSize:i,radius:o}){var n;const g=this.options,r=Math.floor((g.width-t*i)/2);let I=Math.floor((g.height-t*i)/2);if(g.offset){const A=(g.height-t*i)/2;I+=Math.min(Math.abs(g.offset),A)*Math.sign(g.offset)}let s=g.imageOptions.margin*i;g.imageOptions.mode==K.background&&(s=0);const a=r+s+(t*i-A)/2,B=I+s+(t*i-e)/2,C=A-2*s,Q=e-2*s;let E=null;try{"string"==typeof g.image?E=await Ii(g.image,g.imageOptions.crossOrigin):g.image&&(E=await this.imageTools.toDataURL(g.image)),"string"!=typeof g.image||E||(console.warn("Direct image fetch failed, attempting proxy..."),E=await si(g.image))}catch(A){if(console.warn("[QRCodeJs] Error fetching image directly:",A),"string"==typeof g.image)try{console.warn("[QRCodeJs] Direct image fetch failed via error, attempting proxy..."),E=await si(g.image)}catch(A){console.warn("[QRCodeJs] Failed to load image via proxy:",A)}}E||(console.warn("[QRCodeJs] Failed to load image directly and via proxy. Using fallback SVG."),E=Ci.FALLBACK_IMAGE_DATA_URL);let l=null;if(o){l=`clip-path-image-${this._instanceId}`;const A=this.document.createElementNS("http://www.w3.org/2000/svg","clipPath");A.setAttribute("id",l);const e=this.document.createElementNS("http://www.w3.org/2000/svg","rect");e.setAttribute("x",w(a)),e.setAttribute("y",w(B)),e.setAttribute("width",w(C)),e.setAttribute("height",w(Q));const t="number"==typeof o?`${o}px`:o;e.setAttribute("rx",t),e.setAttribute("ry",t),A.appendChild(e),this.defs.appendChild(A)}if(g.imageOptions.backgroundColor&&!F(g.imageOptions.backgroundColor)){const A=this.document.createElementNS("http://www.w3.org/2000/svg","rect");A.setAttribute("x",w(a)),A.setAttribute("y",w(B)),A.setAttribute("width",w(C)),A.setAttribute("height",w(Q)),l&&A.setAttribute("clip-path",`url(#${l})`);const e=ii(g.imageOptions.backgroundColor);A.setAttribute("fill",e.value),e.alpha<1&&A.setAttribute("opacity",e.alpha.toFixed(7)),this.qrGroup.appendChild(A)}const h=this.document.createElementNS("http://www.w3.org/2000/svg","image");if(h.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",E),h.setAttribute("x",w(a)),h.setAttribute("y",w(B)),h.setAttribute("id",`qr-image-${this._instanceId}`),h.setAttribute("width",`${w(C)}px`),h.setAttribute("height",`${w(Q)}px`),h.setAttribute("preserveAspectRatio","xMidYMid meet"),null!==(n=g.imageOptions)&&void 0!==n&&n.padding){const A=g.imageOptions.padding;h.setAttribute("x",w(a+A)),h.setAttribute("y",w(B+A)),h.setAttribute("width",`${w(C-2*A)}px`),h.setAttribute("height",`${w(Q-2*A)}px`)}l&&h.setAttribute("clip-path",`url(#${l})`),this.qrGroup.appendChild(h)}createColor({options:A,borderOptions:e,color:t,additionalRotation:i,x:o,y:n,height:g,width:r,name:I,returnSVGGroup:s=!1,clipPathId:a}){const B=r>g?r:g,C=this.document.createElementNS("http://www.w3.org/2000/svg","rect");if(C.setAttribute("x",w(o)),C.setAttribute("y",w(n)),C.setAttribute("height",w(g)),C.setAttribute("width",w(r)),C.setAttribute("style",`mask:url(#mask-${I}-${this._instanceId})`),a&&C.setAttribute("clip-path",`url(#${a})`),A){let t;if(A.type===M.radial){t=this.document.createElementNS("http://www.w3.org/2000/svg","radialGradient"),t.setAttribute("id",I+"-"+this._instanceId),t.setAttribute("gradientUnits","userSpaceOnUse");let A=o+r/2,i=n+g/2;if(e){const t=e.thickness?e.thickness/2:0,I=2;J(e,"top")&&!J(e,"bottom")?i=n+t*I+g/2:!J(e,"top")&&J(e,"bottom")&&(i=n-t*I+g/2),J(e,"right")&&!J(e,"left")?A=o-t*I+r/2:!J(e,"right")&&J(e,"left")&&(A=o+t*I+r/2)}t.setAttribute("fx",w(A)),t.setAttribute("fy",w(i)),t.setAttribute("cx",w(o+r/2)),t.setAttribute("cy",w(n+g/2)),t.setAttribute("r",w(B/2))}else{const e=((A.rotation||0)+i)%(2*Math.PI),s=(e+2*Math.PI)%(2*Math.PI);let a=o+r/2,B=n+g/2,C=o+r/2,Q=n+g/2;s>=0&&s<=.25*Math.PI||s>1.75*Math.PI&&s<=2*Math.PI?(a-=r/2,B-=g/2*Math.tan(e),C+=r/2,Q+=g/2*Math.tan(e)):s>.25*Math.PI&&s<=.75*Math.PI?(B-=g/2,a-=r/2/Math.tan(e),Q+=g/2,C+=r/2/Math.tan(e)):s>.75*Math.PI&&s<=1.25*Math.PI?(a+=r/2,B+=g/2*Math.tan(e),C-=r/2,Q-=g/2*Math.tan(e)):s>1.25*Math.PI&&s<=1.75*Math.PI&&(B+=g/2,a+=r/2/Math.tan(e),Q-=g/2,C-=r/2/Math.tan(e)),t=this.document.createElementNS("http://www.w3.org/2000/svg","linearGradient"),t.setAttribute("id",I+"-"+this._instanceId),t.setAttribute("gradientUnits","userSpaceOnUse"),t.setAttribute("x1",w(a)),t.setAttribute("y1",w(B)),t.setAttribute("x2",w(C)),t.setAttribute("y2",w(Q))}A.colorStops.forEach((A=>{const e=this.document.createElementNS("http://www.w3.org/2000/svg","stop");e.setAttribute("offset",`${w(100*A.offset)}%`);const i=ii(A.color);e.setAttribute("stop-color",i.value),i.alpha<1&&e.setAttribute("stop-opacity",i.alpha.toFixed(7)),t.appendChild(e)})),C.setAttribute("fill",`url(#${I}-${this._instanceId})`),this.defs.appendChild(t)}else if(t&&!F(t)){const A=ii(t);C.setAttribute("fill",A.value),A.alpha<1&&C.setAttribute("opacity",A.alpha.toFixed(7))}else F(t)&&(C.removeAttribute("fill"),C.setAttribute("fill","none"));if(s)return C;I.startsWith("background-color")?this._element.insertBefore(C,this._maskedQrGroup):this.qrGroup.appendChild(C)}createMask(A){const e=`${A}-${this._instanceId}`,t=this.options,i=this.document.createElementNS("http://www.w3.org/2000/svg","mask");i.setAttribute("id",e),i.setAttribute("maskUnits","userSpaceOnUse"),i.setAttribute("x","0"),i.setAttribute("y","0"),i.setAttribute("width",w(t.width)),i.setAttribute("height",w(t.height));const o=this.document.createElementNS("http://www.w3.org/2000/svg","g");return o.setAttribute("fill","#fff"),i.appendChild(o),[i,o]}}Ci.instanceCount=0,Ci.FALLBACK_IMAGE_DATA_URL="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGoAAAAyCAYAAAC0/E4NAAAAAXNSR0IArs4c6QAACPtJREFUeF7tmweMdFUVx38IKmCl2ZWgIMUGiooRpQgGBDGGjmgsCCgKioIoxQIKWOgaCwIqvYSOEY0aBBUVsEJQaRZs2AAVC3zen56TXB6zM29m9tudYd9JNtl9c+e+e+//3HP+p+wSixaxiE4m/gSW6ICaeIz+t8AOqOnAqQNqSnDqgOqAmpYTmJJ1dj5qaoE6Efgo8FpgnynZxSjL3B84DzgU2GqUCRbTd9YH7gB+cO/573ujPgLsC+wNfGwxLWYSplURPxc/r5mEBcUangj8tZz/7R1Q/z+B+yVQvwD+Azy53La/A5cDjwaeaSQG3ANcHz+rA08Fluyhpf8Cvgv8GXge8KgZNNl3XReatS6wdDHDf4uxD2l8x/X8BPh9rEeNbCPDAvVP4EexruWL2VwbePwML2q7z7uBnwK/A54NPBwY60b55V8BxwB7Vot7QnnBBcBbgSuq51sA5xT7/+B45oJ2BU5obExAjwI2r55fEz7D96W8HTgr/vhl9dxn2zXmdMPnlnc9aQBawwD1w6IM28ah1tMeCPjzwBH3uVkoWM75RuB84B+jmr4Eygk3BDYGjmu8xI2vGmCq3V8Ado4VHFEc5DviRu5WPnsKcCnw6fj838BSoVmPiWcezAbA94CT4pmKkUCpCNsUP/qwOKzHAl8st/nUuKnXAiv0AastULfFunXwKulLAS3Mh0J5JSP7DbnPW6vb6D6dUwX9RMzjnkbyUQnUQcXUvT8m8wCfG79/Fdgofj8aeFswxg/HsxcD3wBuLM57lXimuVwztPSGOAwJzJFFAd4MfLw65A8A7wUSKM2QSuGt+1JsNIe/IW6uirTHLAD1ziBVWg0tSsrPwsT795+A5YC2+3wX4Nm8pSjTsdWcSeTGBurncRucWz+jrVbq/Ps3gReGqTgzPv9L+LgVi/ZrBn8LfL9o5uvjVmqnVyvm7WnFlHkTPASBSMl3JVBqnybOv29u+EOV5iVhTi+ZBaByTV8uvnmTxnzPKWb6auBbwHpFQdvuMxX/loaJ1t/qg8cGStupY1c0BTo//YxEIqUXUC5Azfl8ANE8P4HSHCYB0Rmn3c+xvusRYfp6+abmnAJ51ZhAqVSaZEVT5AHWot/9TFGqk4tyvSqI1qB9rlz57l4FplkhE5orWV4boLYGzo6x+hJ9ihv1+dPL38+IwFpNFShNouD00CYETmKSN8qDeXX8nX6wicnjguTMhFUbH5XvdY5aSXPOLYv5vxi4qLBZCVSbfcoUk7neWf2ec8qmxyYTowDlbVsjVvHrQiA8wJRnATKqNH3eKv3YHyuz6ljHODaBylsrvdeMpvI4VjOpP/RANE3jAOV300xdBryomsyzeGRYFmm7StZ2n4Ih4fpKmOmcNk382KZvFKBkYi+LGKdOi7hxWZ2SQJkhkC1KHN4XnxlTmeJxngTKyN0D1PwalxlrpUggZE86634psDY3yjlfF6yzmalJX2hsqTJqGYbdZ5NMHFxiUgnbvAD1m+oWvSkC3SuBT1aH6+I8YINaN65IW/1dgLxRSk3PBcPvuClBldg4VgLjTTNgTrLT61YlUI6V5PQS/Y8WIJnq7kGUDBGk5SrKacAOwDD71ORpPRTXocLqT2WqSiugTMiqicY9/q6kSapvlC9zwiaZ+HahzC9osL5TqpgqD0SaL73fPjacpsVbJwAZQDu/MYv2vyYIrkWwpM21yL6Mz/SB/SRvSr8xyfTck4pTB+F+z5htx2qCYfapeXZPmsAU96myyYgHxlED9jfyx/odb4bMzdRTzaYMAKXj+cyX6FBlRcuWeMOgc6XC+IyRjm+swA39GFBxNIfGZotDDMo1cTcBMjdTZZl5qd83zD7viiy5caFnos+bQSarHmXWwttgVrvOaKtpliUGBbGLA6AJmXOygJLqSnkVTc06YQb0O/onfVvNGifkEOdiGZMFlDs2RvLH1FDKpmHyBiVa5+LE5ukdkwdUHoTZDH2XjKtXyWSeDmy+Xju5QM3XiUzoe+ceKBmalHyQGBvpp9qKGfYzIjiV9n8tstPGbgaWsyHe8OcXpvbKRiZ9NuYeMMfcA/Wd2OygzX0qio2DxuXnyRiz5GJB8xUla39AMZ1G/LMhZuo1xQa4BrpzKPMH1FpRFJxpsw8a0jdZgjHvZ6BrrNYBNaYa5Y0ywGu0RPWd2fyeyVgDYHN7zd4JA19TUKaDTJD2A8pCn8G3eUQTtxb9eokBqeMMvA0VktwsqBvVFigbP/RVplxqsThpAjfzcG1Mn8CYujqkMZclE03tMtXzLKXUQ22jM9m7oIDqZ/q8EZlOypqPwOwCPCAyF/oifZBNlEoboOx5sLBn/tBDN19ow425PGM1+ziUOvA27+l4a2sZ2y0ooPrZOTXelJGmRy03K2FDSdadrGv5zMy3N64NUGbTVQ6lrncZr2nWLLVoivVxmlZL7GZEknkKquUWQVxwQJnp7iXeDtP/yh9K9lxiIUEweZkNLWbYhwHKm+SNcl7btmvRHBoOaNYMHUy6WmKRoNRFyaxBLSig2voogbH2IzlolhmGASoLiv1usubQkrr1oZfHO+vxC5KetwFK06d2W7PRT9iwaLlbpmbgOQxQ+rfPRjldf9dLbNC3dKG/8rbbXVSLbW2WY7ob1TgYHb01KAuG0vrM+WV9ahigDo9GyV6mz/Y0fZjKIzO0dU2xgvvQak3ZVtAB1QDq3aU97bBGtdkhH4yMwzBASe9tkLQqLQFJKm6nkWTCfkJvkERCyq+ZtS3NKqwigPZEWPXtgGoAlUGrh6v/sEVZrb6wGmeR0TjIfgaLjv1SSPape/jeUAmLYvwkw9Mn2fcteTi9KrHbzyFwMkDfrSwIoOwa8j85BjVIJhZ7NRKg3iIB8Qa8JwZZJrd3woaZrwcZEEzpdN2GrSnzHw70VbXsFNXjOkORzTP1OOcUUMfbHzGHMve5vlE2Z5+CfkTKbKNNUmY7f+ytyM6ltnObExRoYyNjq5mqxvbZmULSTNpX2KtHou07xxw3HUCNucn7w9c7oKYExQ6oDqgpOYEpWWZ3ozqgpuQEpmSZ3Y3qgJqSE5iSZf4Xj2EayusawNsAAAAASUVORK5CYII=";const Qi=[{id:"classic-dark",name:"Classic Dark",style:{primaryColor:"#ffffff",secondaryColor:"#ffffff",thirdColor:"#bdc3c7",backgroundColor:"#052136",borderFontColor:"#2f2f33"}},{id:"modern-dark",name:"Modern Dark",style:{primaryColor:"#2ecc71",secondaryColor:"#3498db",thirdColor:"#f1c40f",backgroundColor:"#052136",borderColor:"#2c3e50",borderFontColor:"#f1c40f"}},{id:"blue-realism-dark",name:"Blue Realism Dark",style:{primaryColor:"#3498db",secondaryColor:"#2ecc71",thirdColor:"#8debb2",backgroundColor:"#052136",borderFontColor:"#8debb2"}},{id:"vibrant-dark",name:"Vibrant Dark",style:{primaryColor:"#f39c12",secondaryColor:"#9b59b6",thirdColor:"#1abc9c",backgroundColor:"#052136"}},{id:"neon-dark",name:"Neon Dark",style:{primaryColor:"#f1c40f",secondaryColor:"#e74c3c",thirdColor:"#3498db",backgroundColor:"#052136"}},{id:"sunset-dark",name:"Sunset Dark",style:{primaryColor:"#e67e22",secondaryColor:"#8e44ad",thirdColor:"#16a085",backgroundColor:"#052136"}},{id:"oceanic-dark",name:"Oceanic Dark",style:{primaryColor:"#3498db",secondaryColor:"#1abc9c",thirdColor:"#ecf0f1",backgroundColor:"#052136",borderFontColor:"#ecf0f1"}},{id:"bold-dark",name:"Bold Dark",style:{primaryColor:"#e74c3c",secondaryColor:"#9b59b6",thirdColor:"#2ecc71",backgroundColor:"#052136",borderColor:"#175782",borderFontColor:"#ecf0f1"}},{id:"twilight-dark",name:"Twilight Dark",style:{primaryColor:"#8e44ad",secondaryColor:"#f39c12",thirdColor:"#34db77",backgroundColor:"#052136",borderFontColor:"#34db77"}},{id:"coral-dark",name:"Coral Dark",style:{primaryColor:"#1abc9c",secondaryColor:"#e74c3c",thirdColor:"#f1c40f",backgroundColor:"#052136"}},{id:"midnight-sunset-dark",name:"Midnight Sunset Dark",style:{primaryColor:"#9b59b6",secondaryColor:"#f1c40f",thirdColor:"#1abc9c",backgroundColor:"#052136",borderFontColor:"#5ee9cd"}},{id:"citrus-dark",name:"Citrus Dark",style:{primaryColor:"#f39c12",secondaryColor:"#2ecc71",thirdColor:"#ecf0f1",backgroundColor:"#34495e",borderFontColor:"#ecf0f1"}},{id:"frost-fire-dark",name:"Frost Fire Dark",style:{primaryColor:"#3498db",secondaryColor:"#ecf0f1",thirdColor:"#e74c3c",backgroundColor:"#052136",borderFontColor:"#ecf0f1"}},{id:"turquoise-sun-dark",name:"Turquoise Sun Dark",style:{primaryColor:"#1abc9c",secondaryColor:"#3498db",thirdColor:"#f1c40f",backgroundColor:"#2c3e50",borderFontColor:"#f1c40f"}},{id:"emerald-carrot-sky-dark",name:"Emerald Carrot Sky Dark",style:{primaryColor:"#00e676",secondaryColor:"#E67E22",thirdColor:"#0288d1",backgroundColor:"#052136",borderFontColor:"#ecf0f1"}},{id:"emerald-bloom-dark",name:"Emerald Bloom Dark",style:{primaryColor:"#2ecc71",secondaryColor:"#9b59b6",thirdColor:"#e74c3c",backgroundColor:"#052136",borderFontColor:"#2c3e50"}},{id:"green-sky-dark",name:"Green Sky Dark",style:{primaryColor:"#1abc9c",secondaryColor:"#3498db",thirdColor:"#f1c40f",backgroundColor:"#052136",borderFontColor:"#f1c40f"}},{id:"blue-sky-dark",name:"Blue Sky Dark",style:{primaryColor:"#3498db",secondaryColor:"#2980b9",thirdColor:"#1abc9c",backgroundColor:"#052136"}}],Ei=[{id:"classic",name:"Classic",style:{primaryColor:"#000000",secondaryColor:"#000000",thirdColor:"#757575",backgroundColor:"#ffffff"}},{id:"modern",name:"Modern",style:{primaryColor:"#4CAF50",secondaryColor:"#007fff",thirdColor:"#d81b60",backgroundColor:"#ffffff"}},{id:"rounded",name:"Rounded",style:{primaryColor:"#007bff",secondaryColor:"#4CAF50",thirdColor:"#d32f2f",backgroundColor:"#ffffff"}},{id:"vibrant",name:"Vibrant",style:{primaryColor:"#ff5722",secondaryColor:"#3f51b5",thirdColor:"#2e7d32",backgroundColor:"#ffffff"}},{id:"pastel",name:"Pastel",style:{primaryColor:"#f48fb1",secondaryColor:"#26C6DA",thirdColor:"#00695c",backgroundColor:"#f5f5f5",dotShape:T.dot,cornerSquareShape:x.square,cornerDotShape:X.square}},{id:"earthy",name:"Earthy",style:{primaryColor:"#795548",secondaryColor:"#4db6ac",thirdColor:"#8e24aa",backgroundColor:"#efebe9"}},{id:"sunset",name:"Sunset",style:{primaryColor:"#bf360c",secondaryColor:"#ab47bc",thirdColor:"#00796b",backgroundColor:"#fff3e0"}},{id:"oceanic",name:"Oceanic",style:{primaryColor:"#0288d1",secondaryColor:"#26a69a",thirdColor:"#6a1b9a",backgroundColor:"#e0f7fa"}},{id:"bold",name:"Bold",style:{primaryColor:"#d50000",secondaryColor:"#6200ea",thirdColor:"#388e3c",backgroundColor:"#fafafa"}},{id:"lime-glow",name:"Lime Glow",style:{primaryColor:"#afb42b",secondaryColor:"#536dfe",thirdColor:"#c62828",backgroundColor:"#fffde7"}},{id:"twilight",name:"Twilight",style:{primaryColor:"#4527a0",secondaryColor:"#d84315",thirdColor:"#00796b",backgroundColor:"#eceff1"}},{id:"meadow",name:"Meadow",style:{primaryColor:"#388e3c",secondaryColor:"#689f38",thirdColor:"#ad1457",backgroundColor:"#f1f8e9"}},{id:"coral",name:"Coral",style:{primaryColor:"#c2185b",secondaryColor:"#00838f",thirdColor:"#f57f17",backgroundColor:"#ffebee"}},{id:"blue-sky",name:"Blue Sky",style:{primaryColor:"#3498db",secondaryColor:"#2980b9",thirdColor:"#1abc9c",backgroundColor:"#ecf0f1",borderColor:"#3498db",borderInnerColor:"#1abc9c",borderOuterColor:"#2980b9",borderFontColor:"#ecf0f1"}},{id:"green-sky",name:"Green Sky",style:{primaryColor:"#1abc9c",secondaryColor:"#3498db",thirdColor:"#f1c40f",backgroundColor:"#2c3e50",borderFontColor:"#ffffff"}},{id:"midnight-sunset",name:"Midnight Sunset",style:{primaryColor:"#5c6bc0",secondaryColor:"#fbc02d",thirdColor:"#00695c",backgroundColor:"#fff"}},{id:"citrus",name:"Citrus",style:{primaryColor:"#f57c00",secondaryColor:"#558b2f",thirdColor:"#6d4c41",backgroundColor:"#fff8e1"}},{id:"dusk",name:"Dusk",style:{primaryColor:"#6a1b9a",secondaryColor:"#e65100",thirdColor:"#2e7d32",backgroundColor:"#d7ccc8"}},{id:"frost",name:"Frost",style:{primaryColor:"#0277bd",secondaryColor:"#37474f",thirdColor:"#c2185b",backgroundColor:"#e1f5fe"}},{id:"autumn",name:"Autumn",style:{primaryColor:"#d84315",secondaryColor:"#827717",thirdColor:"#4a148c",backgroundColor:"#efebe9"}},{id:"turquoise-sun",name:"Turquoise Sun",style:{primaryColor:"#1abc9c",secondaryColor:"#3498db",thirdColor:"#f1c40f",backgroundColor:"#ffffff"}},{id:"emerald-bloom",name:"Emerald Bloom",style:{primaryColor:"#2ecc71",secondaryColor:"#9b59b6",thirdColor:"#c0392b",backgroundColor:"#ecf0f1"}},{id:"sea-lilac",name:"Sea Lilac",style:{primaryColor:"#16a085",secondaryColor:"#8e44ad",thirdColor:"#95a5a6",backgroundColor:"#ecf0f1"}},{id:"belize-pumpkin",name:"Belize Pumpkin",style:{primaryColor:"#2980b9",secondaryColor:"#d35400",thirdColor:"#7f8c8d",backgroundColor:"#ecf0f1"}},{id:"midnight-glow",name:"Midnight Glow",style:{primaryColor:"#2c3e50",secondaryColor:"#f39c12",thirdColor:"#1abc9c",backgroundColor:"#ecf0f1"}},{id:"asphalt-emerald",name:"Asphalt Emerald",style:{primaryColor:"#34495e",secondaryColor:"#2ecc71",thirdColor:"#f39c12",backgroundColor:"#ffffff"}},{id:"wisteria-dusk",name:"Wisteria Dusk",style:{primaryColor:"#8e44ad",secondaryColor:"#2c3e50",thirdColor:"#27ae60",backgroundColor:"#ecf0f1"}},{id:"sunRiver",name:"Sun River",style:{primaryColor:"#f1c40f",secondaryColor:"#3498db",thirdColor:"#95a5a6",backgroundColor:"#ffffff"}},{id:"forest",name:"Forest",style:{primaryColor:"#1abc9c",secondaryColor:"#2ecc71",thirdColor:"#27ae60",backgroundColor:"#ecf0f1"}},{id:"cosmic",name:"Cosmic",style:{primaryColor:"#f1c40f",secondaryColor:"#1abc9c",thirdColor:"#e74c3c",backgroundColor:"#2c3e50"}},{id:"radiant",name:"Radiant",style:{primaryColor:"#e74c3c",secondaryColor:"#f1c40f",thirdColor:"#2ecc71",backgroundColor:"#ecf0f1"}},{id:"marine",name:"Marine",style:{primaryColor:"#3498db",secondaryColor:"#2980b9",thirdColor:"#16a085",backgroundColor:"#ecf0f1"}},{id:"inverse",name:"Inverse",style:{primaryColor:"#ecf0f1",secondaryColor:"#bdc3c7",thirdColor:"#95a5a6",backgroundColor:"#2c3e50"}},{id:"wet-carrot",name:"Wet Carrot",style:{primaryColor:"#34495e",secondaryColor:"#e67e22",thirdColor:"#e74c3c",backgroundColor:"#bdc3c7"}},{id:"pomegranate-sky",name:"Pomegranate Sky",style:{primaryColor:"#e74c3c",secondaryColor:"#3498db",thirdColor:"#9b59b6",backgroundColor:"#bdc3c7"}},...Qi];function li(A){return Ei.find((e=>e.name.toLowerCase()===A.toLowerCase()))}function hi(A){return Ei.find((e=>e.id===A))}const di={hasBorder:!0,thickness:30,radius:"0",borderOuter:{thickness:0},borderInner:{thickness:0},decorations:{top:{style:{fontSize:24,fontWeight:"bold"},enableText:!1},bottom:{style:{fontSize:24,fontWeight:"bold"},enableText:!1},left:{style:{fontSize:24,fontWeight:"bold"},enableText:!1},right:{style:{fontSize:24,fontWeight:"bold"},enableText:!1}}},ci={id:"square-border-thin",name:"Square Border (Thin)",options:{borderOptions:{...di,thickness:40,radius:"10%",decorations:{top:{enableText:!0,curveAdjustment:0,curveDisabled:!0,style:{fontSize:25},value:"SCAN ME"},left:{disabled:!0},right:{disabled:!0},bottom:{disabled:!0}}}}},ui={id:"square-border-medium",name:"Square Border (Medium)",options:{borderOptions:{...di,thickness:20,radius:"15%"}}},pi={id:"square-border-thick",name:"Square Border (Thick)",options:{borderOptions:{...di,thickness:20,radius:"2%"}}},mi={id:"rounded-border-thin-slight",name:"Rounded Border (Thin, Slight)",options:{borderOptions:{...di,thickness:10,radius:"10%"}}},fi={id:"rounded-border-medium-medium",name:"Rounded Border (Medium)",options:{margin:-6,shape:"circle",borderOptions:{...di,thickness:12,radius:"35%"}}},Di={id:"rounded-border-thick-high",name:"Rounded Border (Thick, High)",options:{shape:"circle",borderOptions:{...di,thickness:30,radius:"50"}}},wi={id:"rounded-border-thick-text",name:"Rounded Border (Thick, Text)",options:{shape:"circle",borderOptions:{...di,thickness:50,borderOuter:{thickness:10},radius:"50%",decorations:{top:{enableText:!0,curveAdjustment:0,style:{fontSize:26,fontWeight:"bold"},value:"SCAN TO FOLLOW"},bottom:{enableText:!0,curveAdjustment:0,style:{fontSize:26,fontWeight:"bold"},value:"YOUR NAME HERE"}}}}},yi={id:"rounded-border-outside-top-bottom-text",name:"Rounded Border Outside (Top & Bottom Text)",options:{shape:"circle",margin:-16,borderOptions:{...di,thickness:50,radius:"30",borderOuter:{thickness:10},borderInner:{thickness:6},decorations:{left:{disabled:!0},right:{disabled:!0},top:{enableText:!0,curveDisabled:!0,style:{fontSize:22,fontWeight:"bold"},value:"SCAN TO FOLLOW"},bottom:{enableText:!0,curveDisabled:!0,style:{fontSize:22,fontWeight:"bold"},value:"YOUR NAME HERE"}}}}},Fi={id:"rounded-border-outside-left-right-text",name:"Rounded Border Outside (Left & Right Text)",options:{margin:-20,shape:"circle",borderOptions:{...di,thickness:50,radius:"20%",inner:{radius:"20"},borderOuter:{thickness:10},decorations:{top:{disabled:!0,enableText:!1},bottom:{disabled:!0,enableText:!1},left:{enableText:!0,style:{fontSize:22,fontWeight:"bold"},value:"SCAN TO FOLLOW"},right:{enableText:!0,curveAdjustment:0,style:{fontSize:22,fontWeight:"bold"},value:"YOUR NAME HERE"}}}}},Si={id:"rounded-border-top-bottom-text",name:"Rounded Border (Top & Bottom Text)",options:{borderOptions:{...di,thickness:50,radius:"30",decorations:{left:{disabled:!0},right:{disabled:!0},top:{enableText:!0,curveAdjustment:0,style:{fontSize:24,fontWeight:"bold"},value:"SCAN TO CONNECT"},bottom:{enableText:!0,curveAdjustment:0,style:{fontSize:24,fontWeight:"bold"},value:"YOUR NAME HERE"}}}}},Ri={id:"rounded-border-left-right-text",name:"Rounded Border (Left & Right Text)",options:{margin:5,borderOptions:{...di,thickness:50,radius:"20%",inner:{radius:"20"},decorations:{top:{disabled:!0},bottom:{disabled:!0},left:{enableText:!0,style:{fontSize:22,fontWeight:"bold"},value:"SCAN TO FOLLOW"},right:{enableText:!0,curveAdjustment:0,style:{fontSize:22,fontWeight:"bold"},value:"YOUR NAME HERE"}}}}},ki={id:"double-square-border-thin",name:"Double Square Border Inside (Thin)",options:{borderOptions:{...di,thickness:16,radius:"4%",borderInner:{thickness:6}}}},Ui={id:"double-square-border-medium",name:"Double Square Border Outside (Medium)",options:{borderOptions:{...di,thickness:16,radius:"4%",borderOuter:{thickness:10}}}},bi={id:"double-rounded-border-medium",name:"Double Rounded Border (Medium)",options:{shape:"circle",margin:-20,borderOptions:{...di,thickness:60,radius:"25",borderOuter:{thickness:10},borderInner:{thickness:10},decorations:{bottom:{disabled:!0},left:{disabled:!0},right:{disabled:!0},top:{enableText:!0,curveAdjustment:0,curveDisabled:!0,value:"SCAN ME",style:{fontSize:30}}}}}},Yi={id:"double-rounded-border-thick",name:"Double Rounded Border Outside (Thick)",options:{borderOptions:{...di,thickness:40,radius:"22%",borderOuter:{thickness:10},decorations:{top:{disabled:!0},left:{disabled:!0},bottom:{enableText:!0,curveAdjustment:0,value:"SCAN ME",style:{fontSize:20}},right:{enableText:!0,curveAdjustment:0,value:"YOUR NAME",style:{fontSize:20}}}}}},Ni={id:"inner-square-border-medium",name:"Inner Square Border Inside (Medium)",options:{borderOptions:{...di,thickness:10,radius:"2%",borderInner:{thickness:12}}}},Gi={id:"outer-rounded-border-medium",name:"Outer Rounded Border (Medium)",options:{margin:-20,shape:"circle",borderOptions:{...di,inner:{radius:"20%"},thickness:15,radius:"25%",borderOuter:{thickness:20}}}},Ji={id:"rounded-inner-offset-text",name:"Rounded Inner Offset Text",options:{shape:"circle",margin:-20,borderOptions:{...di,thickness:40,radius:"30%",borderInner:{thickness:10},decorations:{top:{enableText:!0,curveDisabled:!1,style:{fontSize:24},value:"SCAN ME"},bottom:{enableText:!0,curveAdjustment:0,curveDisabled:!1,style:{fontSize:24},value:"YOUR NAME"},left:{enableText:!0,curveDisabled:!1,style:{fontSize:22},value:"SCAN ME"},right:{enableText:!0,curveDisabled:!1,style:{fontSize:22},value:"YOUR NAME"}}}}},Vi={id:"square-thick-outer-thin-inner",name:"Square Thick Outer/Thin Inner",options:{borderOptions:{...di,thickness:10,radius:"50%",inner:{radius:"12%"},borderOuter:{thickness:20},borderInner:{thickness:10},decorations:{top:{enableText:!1},bottom:{enableText:!1},left:{enableText:!1},right:{enableText:!1}}}}},Zi={id:"square-thick-outer-round",name:"Square Thick Outer Round",options:{margin:6,borderOptions:{...di,thickness:45,radius:"50%",inner:{radius:"15%"},borderOuter:{thickness:10},borderInner:{thickness:10},decorations:{bottom:{enableText:!0,curveDisabled:!0,offset:5,style:{fontSize:20,fontWeight:"bold"}}}}}},Oi={id:"square-thick-outer-thin-inner-bottom",name:"Square Thick Outer/Thin Inner Bottom",options:{borderOptions:{...di,thickness:20,radius:"4%",inner:{radius:"10%"},borderOuter:{thickness:10},borderInner:{thickness:15},decorations:{bottom:{disabled:!0},left:{disabled:!0},right:{disabled:!0},top:{disabled:!0}}}}},Wi=[ci,ui,pi,mi,fi,Di,wi,Si,Ri,yi,Fi,ki,Ui,bi,Yi,Ni,Gi,Ji,Vi,Zi,{id:"pill-curved-text-top-bottom",name:"Pill Curved Text Top/Bottom",options:{shape:"circle",borderOptions:{...di,thickness:50,borderInner:{thickness:10},radius:"50%",decorations:{top:{enableText:!0,curveAdjustment:0,curveDisabled:!1,style:{fontSize:28},value:"TOP CURVED TEXT"},bottom:{enableText:!0,curveAdjustment:0,curveDisabled:!1,style:{fontSize:28},value:"BOTTOM CURVED TEXT"}}}}},{id:"double-varied-thickness-top-text",name:"Double Varied Thickness Top Text",options:{borderOptions:{...di,thickness:40,radius:"10%",borderOuter:{thickness:10},borderInner:{thickness:5},decorations:{top:{enableText:!0,curveAdjustment:0,curveDisabled:!0,style:{fontSize:24},value:"IMPORTANT INFO"},bottom:{enableText:!0,curveAdjustment:0,curveDisabled:!0,style:{fontSize:24},value:"SCAN ME"}}}}},{id:"outer-border-white-rounded-text",name:"Outer Border White Rounded Text",options:{borderOptions:{...di,thickness:35,color:"#ffffff",radius:"25%",borderOuter:{thickness:10},decorations:{top:{disabled:!0},left:{disabled:!0},right:{disabled:!0},bottom:{enableText:!0,curveAdjustment:0,curveDisabled:!0,style:{fontSize:20,fontWeight:"bold",letterSpacing:1,fontColor:"#000000"},value:"SCAN TO FOLLOW"}}}}},{id:"inner-border-white-rounded-text",name:"Inner Border White Rounded Text",options:{margin:6,borderOptions:{...di,thickness:25,color:"#ffffff",radius:"25%",borderInner:{thickness:10},decorations:{top:{disabled:!0},left:{disabled:!0},right:{disabled:!0},bottom:{enableText:!0,curveDisabled:!0,style:{fontSize:20,fontWeight:"bold",letterSpacing:1,fontColor:"#000000"},value:"SCAN TO FOLLOW"}}}}},{id:"inner-offset-square-text",name:"Inner Offset Square Text",options:{borderOptions:{...di,thickness:40,radius:"16%",borderInner:{thickness:10},decorations:{top:{disabled:!0},left:{disabled:!0},right:{disabled:!0},bottom:{enableText:!0,curveAdjustment:0,curveDisabled:!0,style:{fontSize:24},value:"SCAN ME"}}}}},{id:"thin-rounded-all-sides-text",name:"Thin Rounded All Sides Text",options:{borderOptions:{...di,borderInner:{thickness:5},thickness:30,radius:"20%",decorations:{top:{enableText:!0,value:"TOP",style:{fontSize:20}},bottom:{enableText:!0,value:"BOTTOM",style:{fontSize:20}},left:{enableText:!0,value:"LEFT",style:{fontSize:20}},right:{enableText:!0,value:"RIGHT",style:{fontSize:20}}}}}},{id:"thick-square-double-text",name:"Thick Square Double Text",options:{borderOptions:{...di,thickness:45,radius:"2%",borderOuter:{thickness:5},borderInner:{thickness:5},decorations:{left:{disabled:!0},right:{disabled:!0},top:{enableText:!0,value:"HEADER",style:{fontSize:26}},bottom:{enableText:!0,value:"FOOTER",style:{fontSize:26}}}}}},{id:"high-radius-thin-double-curved-text",name:"High Radius Thin Double Curved Text",options:{margin:-16,shape:"circle",borderOptions:{...di,thickness:46,radius:"35%",borderOuter:{thickness:10},borderInner:{thickness:0},decorations:{top:{enableText:!0,value:"TOP TEXT",curveDisabled:!1,style:{fontSize:28}},right:{disabled:!0},left:{disabled:!0},bottom:{enableText:!0,curveDisabled:!1,style:{fontSize:28}}}}}},Oi,{id:"minimalist-thin-square",name:"Minimalist Thin Square",options:{borderOptions:{...di,thickness:10,radius:"4%"}}},{id:"minimalist-thin-rounded",name:"Minimalist Thin Rounded",options:{margin:4,borderOptions:{...di,thickness:10,radius:"25%"}}},{id:"chunky-square-border-text",name:"Chunky Square Border Text",options:{margin:10,borderOptions:{...di,thickness:50,radius:"5%",borderOuter:{thickness:6},borderInner:{thickness:6},decorations:{top:{enableText:!0,value:"SCAN ME",style:{fontSize:25,fontWeight:"bold"}},left:{enableText:!0,value:"LEFT TEXT",style:{fontSize:25,fontWeight:"bold"}},right:{enableText:!0,value:"RIGHT TEXT",style:{fontSize:25,fontWeight:"bold"}},bottom:{enableText:!0,value:"BOTTOM TEXT",style:{fontSize:25,fontWeight:"bold"}}}}}},{id:"chunky-rounded-border",name:"Chunky Rounded Border",options:{margin:6,borderOptions:{...di,thickness:50,radius:"50%",inner:{radius:"15%"},borderOuter:{thickness:6},borderInner:{thickness:6},decorations:{top:{enableText:!0,value:"SCAN ME",style:{fontSize:22,fontWeight:"bold"}},left:{enableText:!0,value:"LEFT TEXT",style:{fontSize:22,fontWeight:"bold"}},right:{enableText:!0,value:"RIGHT TEXT",style:{fontSize:22,fontWeight:"bold"}},bottom:{enableText:!0,value:"BOTTOM TEXT",style:{fontSize:22,fontWeight:"bold"}}}}}},{id:"double-thick-main-thin-subs-rounded",name:"Double Thick Main Thin Subs Rounded",options:{margin:2,borderOptions:{...di,thickness:40,radius:"20%",borderOuter:{thickness:6},borderInner:{thickness:6},decorations:{top:{enableText:!0,value:"SCAN ME",style:{fontSize:22,fontWeight:"bold"}},left:{enableText:!0,value:"LEFT TEXT",style:{fontSize:22,fontWeight:"bold"}},right:{enableText:!0,value:"RIGHT TEXT",style:{fontSize:22,fontWeight:"bold"}},bottom:{enableText:!0,value:"BOTTOM TEXT",style:{fontSize:22,fontWeight:"bold"}}}}}},{id:"double-thick-main-thick-subs-square",name:"Double Thick Main Thick Subs Square",options:{margin:2,borderOptions:{...di,thickness:40,radius:"4%",borderOuter:{thickness:6},borderInner:{thickness:6},decorations:{top:{enableText:!0,style:{fontSize:22,fontWeight:"bold"},value:"SCAN ME"},left:{enableText:!0,style:{fontSize:22,fontWeight:"bold"},value:"LEFT TEXT"},right:{enableText:!0,style:{fontSize:22,fontWeight:"bold"},value:"RIGHT TEXT"},bottom:{enableText:!0,style:{fontSize:22,fontWeight:"bold"},value:"BOTTOM TEXT"}}}}},{id:"inner-thick-rounded",name:"Inner Thick Rounded",options:{borderOptions:{...di,thickness:2,radius:"35%",borderOuter:{thickness:0},borderInner:{thickness:30},inner:{radius:"15%"},decorations:{top:{enableText:!0,value:"SCAN ME",curveDisabled:!0,style:{fontSize:20,fontWeight:"bold",fontColor:"#000"},offset:24},left:{enableText:!0,curveDisabled:!0,value:"LEFT TEXT",style:{fontSize:20,fontWeight:"bold",fontColor:"#000"},offset:24},right:{enableText:!0,curveDisabled:!0,value:"RIGHT TEXT",style:{fontSize:20,fontWeight:"bold",fontColor:"#000"},offset:24},bottom:{enableText:!0,curveDisabled:!0,value:"BOTTOM TEXT",style:{fontSize:20,fontWeight:"bold",fontColor:"#000"},offset:24}}}}},{id:"outer-thick-square",name:"Outer Thick Square",options:{borderOptions:{...di,thickness:20,radius:"4%",borderOuter:{thickness:10},borderInner:{thickness:0}}}},{id:"pill-double-thin-text",name:"Pill Double Thin Text",options:{margin:-2,shape:"circle",borderOptions:{...di,thickness:40,radius:"50%",borderOuter:{thickness:10},borderInner:{thickness:6},decorations:{top:{disabled:!1,enableText:!0,value:"SCAN ME",style:{fontSize:22,fontWeight:"bold"}},left:{disabled:!0},right:{disabled:!0},bottom:{disabled:!1,enableText:!0,value:"BOTTOM TEXT",style:{fontSize:22,fontWeight:"bold"}}}}}},{id:"double-thin-circle-inner-rounded",name:"Double Thin Circle Inner Rounded",options:{margin:-28,shape:"circle",borderOptions:{...di,thickness:40,radius:"10%",inner:{radius:"25%"},borderOuter:{thickness:10},borderInner:{thickness:10},decorations:{top:{style:{fontSize:22,fontWeight:"bold"},disabled:!1},left:{disabled:!0},right:{disabled:!0},bottom:{style:{fontSize:22,fontWeight:"bold"},disabled:!1}}}}},{id:"square-top-bottom-text",name:"Square Top/Bottom Text",options:{borderOptions:{...di,thickness:50,radius:"10%",decorations:{top:{enableText:!0,value:"SCAN CODE",style:{fontSize:26}},bottom:{enableText:!0,value:"VISIT OUR SITE",style:{fontSize:26}}}}}},{id:"rounded-left-right-text",name:"Rounded Left/Right Text",options:{margin:2,borderOptions:{...di,thickness:40,radius:"20%",decorations:{top:{disabled:!0},bottom:{disabled:!0},left:{enableText:!0,value:"LEFT TEXT",style:{fontSize:24}},right:{enableText:!0,value:"RIGHT TEXT",style:{fontSize:24}}}}}},{id:"square-left-text-only",name:"Square Left Text Only",options:{margin:2,borderOptions:{...di,borderInner:{thickness:10},thickness:45,radius:"5%",decorations:{left:{enableText:!0,value:"SCAN ME",style:{fontSize:24,fontWeight:"bold",letterSpacing:1}},top:{disabled:!0},bottom:{disabled:!0},right:{disabled:!0}}}}},{id:"square-right-text-only",name:"Square Right Text Only",options:{margin:2,borderOptions:{...di,borderInner:{thickness:10},thickness:45,radius:"5%",decorations:{right:{enableText:!0,value:"WEBSITE.COM",style:{fontSize:24,fontWeight:"bold",letterSpacing:1}},top:{disabled:!0},bottom:{disabled:!0},left:{disabled:!0}}}}},{id:"rounded-left-right-different-text",name:"Rounded Left+Right Different Text",options:{margin:-20,shape:"circle",borderOptions:{...di,borderInner:{thickness:10},thickness:50,radius:"25%",decorations:{left:{enableText:!0,value:"SCAN",style:{fontSize:24,fontWeight:"bold"}},right:{enableText:!0,value:"NOW",style:{fontSize:24,fontWeight:"bold"}},top:{disabled:!0},bottom:{disabled:!0}}}}},{id:"square-left-right-identical-text",name:"Square Left+Right Identical Text",options:{margin:2,borderOptions:{...di,borderInner:{thickness:10},thickness:50,radius:"2%",decorations:{left:{enableText:!0,value:"QR CODE",style:{fontSize:22,fontWeight:"bold"}},right:{enableText:!0,value:"QR CODE",style:{fontSize:22,fontWeight:"bold"}},top:{disabled:!0},bottom:{disabled:!0}}}}},{id:"pill-left-right-bottom-text",name:"Pill Left Right Bottom Text",options:{margin:2,shape:"circle",borderOptions:{...di,borderInner:{thickness:10},thickness:55,inner:{radius:"45%"},radius:"50%",decorations:{top:{disabled:!0},left:{enableText:!0,value:"FOLLOW US",style:{fontSize:24,fontWeight:"bold"}},right:{enableText:!0,value:"CONTACT US",style:{fontSize:24,fontWeight:"bold"}},bottom:{disabled:!0}}}}},{id:"pill-left-right-top-text",name:"Pill Left Right Top Text",options:{margin:2,shape:"circle",borderOptions:{...di,borderOuter:{thickness:10},thickness:55,inner:{radius:"45%"},radius:"50%",decorations:{top:{enableText:!0,value:"WEBSITE.COM",curveDisabled:!1,style:{fontSize:25,fontWeight:"bold"}},left:{disabled:!0},right:{disabled:!0},bottom:{enableText:!0,value:"WEBSITE.COM",curveDisabled:!1,style:{fontSize:26,fontWeight:"bold"}}}}}}];function Mi(A){return Wi.find((e=>e.name.toLowerCase()===A.toLowerCase()))}function Hi(A){return Wi.find((e=>e.id===A))}const Ti=[{id:"scan-me",name:"Scan Me, Get Started",options:{topValue:"Scan Me",bottomValue:"Get Started"}},{id:"scan-to-visit-website",name:"Scan to Visit Website",options:{topValue:"Scan Code",bottomValue:"Visit Website"}},{id:"visit-website",name:"Visit Website",options:{value:"Visit Website"}},{id:"follow-me",name:"Follow Me",options:{topValue:"Scan Code",value:"Follow Us"}},{id:"follow-us",name:"Follow Us",options:{topValue:"Scan Code",value:"Follow Us"}},{id:"scan-to-follow",name:"Scan to Follow",options:{value:"Scan to Follow"}},{id:"contact-info",name:"Contact Info",options:{value:"Contact Info"}},{id:"scan-to-pay",name:"Scan To Pay",options:{value:"Scan to Pay"}},{id:"product-details-bottom",name:"Product Details",options:{value:"Product Details",topValue:"Scan Code"}},{id:"event-info-top-bottom",name:"Event Info",options:{value:"Event Information",topValue:"Scan Code"}},{id:"lost-found",name:"Lost & Found",options:{topValue:"Found Me?",bottomValue:"Scan to Return",leftValue:"If Found",rightValue:"Please Scan"}},{id:"scan-to-return",name:"Scan to Return",options:{topValue:"Scan to Return",bottomValue:"Scan to Return",leftValue:"If Found",rightValue:"Please Scan"}},{id:"scan-for-wifi",name:"Scan for WiFi",options:{value:"Scan for WiFi Access"}},{id:"scan-to-connect-wifi",name:"Scan to Connect WiFi",options:{value:"Scan to Connect WiFi"}},{id:"get-directions-bottom",name:"Get Directions",options:{value:"Get Directions",topValue:"Scan Code"}},{id:"special-offer-top",name:"Special Offer",options:{value:"Special Offer",topValue:"Scan Code"}},{id:"limited-time-offer",name:"Limited Time Offer",options:{value:"Limited Time Offer",topValue:"Scan Code"}},{id:"scan-to-download",name:"Scan to Download",options:{bottomValue:"App Name",topValue:"Scan to Download"}},{id:"register-now-top",name:"Register Now",options:{topValue:"Scan Code",value:"Register Now"}},{id:"scan-to-learn-more",name:"Scan to Learn",options:{bottomValue:"Scan to Learn",topValue:"Scan to Learn"}},{id:"your-text-here",name:"Your Text Here",options:{topValue:"Top Text Here",bottomValue:"Bottom Text Here",leftValue:"Left Text",rightValue:"Right Text"}},{id:"visit-website-url",name:"Website URL",options:{value:"www.example.com",topValue:"Scan To Visit"}},{id:"call-to-action",name:"Call To Action",options:{topValue:"Scan Now",bottomValue:"Limited Time"}},{id:"scan-to-check-in",name:"Scan to Check In",options:{value:"Scan to Check In"}},{id:"scan-to-check-in-check-out",name:"Scan to Check In/Out",options:{topValue:"Scan to Register",bottomValue:"Scan to Register",leftValue:"Check In",rightValue:"Check Out"}},{id:"scan-for-menu",name:"Scan for Menu",options:{value:"Scan for Menu"}},{id:"give-feedback",name:"Give Feedback",options:{topValue:"Scan to Feedback",value:"Give Feedback"}},{id:"scan-for-discount",name:"Scan for Discount",options:{value:"Scan for Discount"}},{id:"scan-to-apply",name:"Scan to Apply",options:{bottomValue:"Scan to Apply",topValue:"Scan to Apply"}},{id:"emergency-contact",name:"Emergency Contact",options:{value:"Emergency Contact",topValue:"Scan for Emergency"}},{id:"artwork-info",name:"Artwork Info",options:{value:"Artwork Info"}},{id:"scan-to-save-contact",name:"Scan to Contact",options:{value:"Scan to Contact"}},{id:"scan-to-call-bottom",name:"Scan to Call",options:{value:"Scan to Call"}},{id:"scan-to-watch-video",name:"Scan to Watch",options:{value:"Scan to Watch Video"}},{id:"welcome-scan-to-proceed",name:"Welcome, Scan to Proceed",options:{value:"Welcome",topValue:"Scan to Proceed"}}];function Xi(A){return Ti.find((e=>e.name.toLowerCase()===A.toLowerCase()))}function xi(A){return Ti.find((e=>e.id===A))}var Li;!function(A){A.svg="svg",A.png="png",A.jpeg="jpeg",A.webp="webp"}(Li||(Li={})),Object.assign(u.stringToBytesFuncs,{UTF8:A=>function(A){const e=[];for(let t=0;t<A.length;t++){let i=A.charCodeAt(t);i<128?e.push(i):i<2048?e.push(192|i>>6,128|63&i):i<55296||i>=57344?e.push(224|i>>12,128|i>>6&63,128|63&i):(t++,i=65536+((1023&i)<<10|1023&A.charCodeAt(t)),e.push(240|i>>18,128|i>>12&63,128|i>>6&63,128|63&i))}return e}(A)});let Ki=class A{get size(){return this.qrSVG?{width:this.qrSVG.width,height:this.qrSVG.height}:void 0}constructor(e,t=!1){var i,o,n,g,r,I;this._svgId=`qr-svg-${Math.random().toString(36).substring(2,9)}`,(I=e)&&0!==Object.keys(I).length||(console.warn("QRCodeJs: Options not provided. Using default options and base template."),e=kA);const s=e;let a=kA;A._selectedTemplate&&(a="id"in A._selectedTemplate&&"options"in A._selectedTemplate?f(a,A._selectedTemplate.options):f(a,A._selectedTemplate));let B={};A._selectedBorder&&(B="id"in A._selectedBorder&&"options"in A._selectedBorder?A._selectedBorder.options:A._selectedBorder);let C={};if(A._selectedStyle){const{isValid:e,errors:t}=yA(A._selectedStyle);e?C=wA(A._selectedStyle):console.warn("Invalid static style options ignored during instantiation:",t)}let Q={};A._selectedImage&&!A._selectedImageOverride&&(Q={image:A._selectedImage});let E={};A._selectedData&&!A._selectedDataOverride&&(E={data:A._selectedData});const l={};if(A._selectedText&&!A._selectedTextOverride){let e=null;if(e="id"in A._selectedText&&"options"in A._selectedText?A._selectedText.options:A._selectedText,e){l.borderOptions||(l.borderOptions={}),l.borderOptions.decorations||(l.borderOptions.decorations={});const A=l.borderOptions.decorations,t=null===e.value?void 0:e.value;void 0!==e.value&&(void 0===e.topValue&&(A.top={value:t}),void 0===e.bottomValue&&(A.bottom={value:t}),void 0===e.leftValue&&(A.left={value:t}),void 0===e.rightValue&&(A.right={value:t})),void 0!==e.topValue&&(A.top={value:null===e.topValue?void 0:e.topValue}),void 0!==e.leftValue&&(A.left={value:null===e.leftValue?void 0:e.leftValue}),void 0!==e.rightValue&&(A.right={value:null===e.rightValue?void 0:e.rightValue}),void 0!==e.bottomValue&&(A.bottom={value:null===e.bottomValue?void 0:e.bottomValue})}}const h=f(a,B,l,C,Q,E,s,null!==(i=A._selectedOptions)&&void 0!==i?i:{}),{warnings:d,validatedOptions:c}=_t(h);this.options=j(c);const u={};if(A._selectedImageOverride&&A._selectedImage&&(u.image=A._selectedImage),A._selectedTextOverride&&A._selectedText){u.borderOptions||(u.borderOptions={}),u.borderOptions.decorations||(u.borderOptions.decorations={});let e=null;if(e="id"in A._selectedText&&"options"in A._selectedText?A._selectedText.options:A._selectedText,e){const A=u.borderOptions.decorations,t=null===e.value?void 0:e.value;void 0!==e.value&&(void 0===e.topValue&&(A.top={value:t}),void 0===e.bottomValue&&(A.bottom={value:t}),void 0===e.leftValue&&(A.left={value:t}),void 0===e.rightValue&&(A.right={value:t})),void 0!==e.topValue&&(A.top={value:null===e.topValue?void 0:e.topValue}),void 0!==e.leftValue&&(A.left={value:null===e.leftValue?void 0:e.leftValue}),void 0!==e.rightValue&&(A.right={value:null===e.rightValue?void 0:e.rightValue}),void 0!==e.bottomValue&&(A.bottom={value:null===e.bottomValue?void 0:e.bottomValue})}}return A._selectedDataOverride&&A._selectedData&&(u.data=A._selectedData),A._selectedOptionsOverride&&A._selectedOptions&&Object.keys(u).length>0?this.options=j(f(this.options,f(u,A._selectedOptions))):Object.keys(u).length>0&&(this.options=j(f(this.options,u))),this.id=null===(o=A._selectedInfo)||void 0===o?void 0:o.id,this.name=null===(n=A._selectedInfo)||void 0===n?void 0:n.name,this.description=null===(g=A._selectedInfo)||void 0===g?void 0:g.description,this.metadata=null!==(r=A._selectedMetadata)&&void 0!==r?r:void 0,d.length>0&&this._logValidationWarnings("QR Code Options Validation Warnings:",d),this.update(),this}static setTemplate(e){if(null===e)return A._selectedTemplate=null,A;if("string"==typeof e){const t=e,i=jt(t);i?A._selectedTemplate=i:(console.warn(`QR Code template name "${t}" not found. Using base template.`),A._selectedTemplate=kA)}else A._selectedTemplate=e;return A}static setTemplateId(e){if(null===e)return A._selectedTemplate=null,A;const t=Pt(e);return t?A._selectedTemplate=t:(console.warn(`QR Code template ID "${e}" not found in setTemplateId. Using default.`),A._selectedTemplate=kA),A}static getTemplates(){return{findTextTemplateById:xi,findTextByName:Xi,findTemplateByName:jt,findTemplateById:Pt,findBorderById:Hi,findBorderByName:Mi,findStyleById:hi,findStyleByName:li,baseTemplates:qt,borderTemplates:Wi,styleTemplates:Ei,textTemplates:Ti}}static setStyle(e){if(null===e)return A._selectedStyle=null,A;let t=null;if("string"==typeof e){const i=e,o=li(i);o?(t=o.style,A._selectedStyle=t):(console.warn(`QR Code style name "${i}" not found in setStyle. Ignoring.`),A._selectedStyle=null)}else{const{isValid:i,errors:o}=yA(e);i?(t=e,A._selectedStyle=t):(console.warn("Invalid style options object provided to setStyle:",o),A._selectedStyle=null)}return A}static setBorder(e){if(null===e)return A._selectedBorder=null,A;if("string"==typeof e){const t=e,i=Mi(t);i?A._selectedBorder=i:(console.warn(`QR Code border template name "${t}" not found. Ignoring.`),A._selectedBorder=null)}else A._selectedBorder={borderOptions:e};return A}static setBorderId(e){if(null===e)return A._selectedBorder=null,A;const t=Hi(e);return t?A._selectedBorder=t:(console.warn(`QR Code border template ID "${e}" not found in setBorderId. Ignoring.`),A._selectedBorder=null),A}static setStyleId(e){if(null===e)return A._selectedStyle=null,A;const t=hi(e);return t?A._selectedStyle=t.style:(console.warn(`QR Code style ID "${e}" not found in setStyleId. Ignoring.`),A._selectedStyle=null),A}static setImage(e,t){return A._selectedImage=e,A._selectedImageOverride=!(null==t||!t.override),A}static setData(e,t){return A._selectedData=e,A._selectedDataOverride=!(null==t||!t.override),A}static setOptions(e,t){return A._selectedOptions=e,A._selectedOptionsOverride=!(null==t||!t.override),A}static setText(e,t){if(null===e)A._selectedText=null;else if("string"==typeof e){const t=Xi(e);t?A._selectedText=t:(console.warn(`QR Code text template name "${e}" not found. Ignoring.`),A._selectedText=null)}else A._selectedText=e;return A._selectedTextOverride=!(null==t||!t.override),A}static setTextId(e,t){if(null===e)A._selectedText=null;else{const t=xi(e);console.log("foundTextTemplate",t),t?A._selectedText=t:(console.warn(`QR Code text template ID "${e}" not found in setTextId. Ignoring.`),A._selectedText=null)}return A._selectedTextOverride=!(null==t||!t.override),A}static setSettings(e){if(null===e)return A._selectedTemplate=null,A._selectedBorder=null,A._selectedStyle=null,A._selectedImage=null,A._selectedImageOverride=!1,A._selectedText=null,A._selectedTextOverride=!1,A._selectedData=null,A._selectedDataOverride=!1,A._selectedOptions=null,A._selectedOptionsOverride=!1,A._selectedInfo=null,A._selectedMetadata=null,A;const{id:t,name:i,description:o,metadata:n,options:g,template:r,templateId:I,style:s,styleId:a,border:B,borderId:C,text:Q,textId:E,image:l,data:h,...d}=e;return A._selectedInfo={id:t,name:i,description:o},A._selectedMetadata=null!=n?n:null,I?A.setTemplateId(I):r&&A.setTemplate(r),a?A.setStyleId(a):s&&A.setStyle(s),C?A.setBorderId(C):B&&A.setBorder(B),E?A.setTextId(E):Q&&A.setText(Q),l&&A.setImage(l),h&&A.setData(h),g&&A.setOptions(g),Object.keys(d).length>0&&console.warn("QRCodeJs.setSettings: Unknown properties in settings object:",d),A}getOptions(){return this.options}getId(){return this.id}getName(){return this.name}getDescription(){return this.description}getMetadata(){return this.metadata}getSettings(){return{...this.id?{id:this.id}:{},...this.name?{name:this.name}:{},...this.description?{description:this.description}:{},...this.metadata?{metadata:this.metadata}:{},options:this.options}}setId(A){return this.id=A,this}setName(A){return this.name=A,this}setDescription(A){return this.description=A,this}setMetadata(A){return this.metadata=A,this}async update(A){var e,t;const i=A?f(this.options,A):this.options,{warnings:o,validatedOptions:n}=_t(i);if(o.length>0&&this._logValidationWarnings("QR Code JS Options Update Validation Warnings:",o),this.options=j(n),!this.options.data)return void console.warn("QR Code update called without data.");this.options.stringToBytesFuncs&&(Object.assign(u.stringToBytesFuncs,this.options.stringToBytesFuncs),delete this.options.stringToBytesFuncs),this.qr=new u(this.options.qrOptions.typeNumber,this.options.qrOptions.errorCorrectionLevel);const g=(null===(e=this.options.qrOptions)||void 0===e?void 0:e.mode)||function(A){switch(!0){case/^[0-9]*$/.test(A):return c.numeric;case/^[0-9A-Z $%*+\-./:]*$/.test(A):return c.alphanumeric;case/[^\u0000-\u00ff]/.test(A):return c.unicode;default:return c.byte}}(this.options.data);this.qr.addData(this.options.data,g),this.qr.make(),await this._setupSvgAsync(),this.svgDrawingPromise&&await this.svgDrawingPromise;const r=null===(t=this.qrSVG)||void 0===t?void 0:t.element;if(this.container&&r){const A=this.container.querySelector(`#${this._svgId}`);A&&A!==r&&this.container.replaceChild(r,A)}}append(A,e){var t;if(!A)return console.warn("QR Code append could not find container."),this;if(this.container=A,null!=e&&e.clearContainer)for(;A.firstChild;)A.removeChild(A.firstChild);return null!==(t=this.qrSVG)&&void 0!==t&&t.element&&!A.querySelector(`#${this._svgId}`)&&A.appendChild(this.qrSVG.element),this}async applyExtension(A){if(!A)throw new Error("Extension function should be defined.");this.extension=A,await this.update()}async deleteExtension(){this.extension=void 0,await this.update()}async serialize(A=!1){var e,t;if(!this.qr)throw new Error("QR code is empty");if(null!==(e=this.qrSVG)&&void 0!==e&&e.element||await this._setupSvgAsync(),this.svgDrawingPromise&&await this.svgDrawingPromise,null===(t=this.qrSVG)||void 0===t||!t.element)return;let i=this.qrSVG.element;if(A){const A=this.qrSVG.element.cloneNode(!0);A.style.filter="invert(1)",i=A}let o=(new XMLSerializer).serializeToString(i);return o='<?xml version="1.0" standalone="no"?>\r\n'+o,o}async _setupSvgAsync(){var A;if(!this.qr)return;let e=this.qr.getModuleCount();this.options.imageOptions.mode===K.background&&this.options.shape!==L.circle&&(e+=2);let t=Math.ceil((this.options.shape===L.circle?Math.sqrt(1.8):1.1)*e);t%2==0&&(t-=1);let i=0;this.options.imageOptions.mode===K.background&&(i+=this.options.imageOptions.margin||0);const o=Math.ceil(this.options.dotsOptions.size*(t+2*i)),n=this.options.borderOptions;let g=0,r=0;const I={top:0,right:0,bottom:0,left:0},s={top:0,right:0,bottom:0,left:0},a={top:0,right:0,bottom:0,left:0},B=(null!=n&&n.noBorderThickness||null!=n&&n.thickness)&&n.thickness?n.thickness/4:0;if(null!=n&&n.hasBorder){var C,Q,E,l;const A=null!==(C=n.borderOuter)&&void 0!==C&&C.thickness?2*(null===(Q=n.borderOuter)||void 0===Q?void 0:Q.thickness):0,e=null!==(E=n.borderInner)&&void 0!==E&&E.thickness?2*(null===(l=n.borderInner)||void 0===l?void 0:l.thickness):0;var h,d,c,u,p,m,f,D;if(A>0&&(s.top=A/2,s.bottom=A/2,s.left=A/2,s.right=A/2),e>0&&(a.top=e/2,a.bottom=e/2,a.left=e/2,a.right=e/2),J(n,"left"))I.left=null!==(h=n.thickness)&&void 0!==h?h:0,g+=null!==(d=n.thickness)&&void 0!==d?d:0;else I.left=B,g+=B;if(J(n,"right"))I.right=null!==(c=n.thickness)&&void 0!==c?c:0,g+=null!==(u=n.thickness)&&void 0!==u?u:0;else I.right=B,g+=B;if(J(n,"top"))I.top=null!==(p=n.thickness)&&void 0!==p?p:0,r+=null!==(m=n.thickness)&&void 0!==m?m:0;else I.top=B,r+=B;if(J(n,"bottom"))I.bottom=null!==(f=n.thickness)&&void 0!==f?f:0,r+=null!==(D=n.thickness)&&void 0!==D?D:0;else I.bottom=B,r+=B}const w=o+g,y=o+r;this.qrSVG=new Ci({...this.options,width:w,height:y,userWidth:this.options.width,userHeight:this.options.height,bordersMain:I,bordersOuter:s,bordersInner:a,errorCorrectionPercent:P[this.options.qrOptions.errorCorrectionLevel],hls:!0}),null!==(A=this.qrSVG)&&void 0!==A&&A.element?(this.qrSVG.element.id=this._svgId,this.svgDrawingPromise=this.qrSVG.drawQR(this.qr).then((()=>{var A,e,t,i;null!==(A=this.qrSVG)&&void 0!==A&&A.element&&(this.options.instanceId=this.qrSVG._instanceId,null!==(e=this.options.borderOptions)&&void 0!==e&&e.hasBorder&&(i=this.options.borderOptions,(A,e,t,o,n,g,r,I)=>{var s,a,B,C,Q,E,l,h,d,c,u,p;const{instanceId:m}=e,f=t,D=t,w=Math.min(f,D),y=Y(i.radius),V=y&&b(y)>0?b(y)/100*w:0,Z=Y(null==i||null===(s=i.inner)||void 0===s?void 0:s.radius,V),M=Math.min(Math.max(null!==(a=null===(B=i.inner)||void 0===B?void 0:B.scale)&&void 0!==a?a:1,0),1.5),H=null!==(C=null===(Q=i.inner)||void 0===Q?void 0:Q.horizontalOffset)&&void 0!==C?C:0,T=null!==(E=null===(l=i.inner)||void 0===l?void 0:l.verticalOffset)&&void 0!==E?E:0,X=null!==(h=i.thickness)&&void 0!==h?h:0,x=null!==(d=i.color)&&void 0!==d?d:"#000000",L=null!==(c=i.borderOuter)&&void 0!==c&&c.thickness?i.borderOuter.thickness/2:0,K=null!==(u=i.borderInner)&&void 0!==u&&u.thickness?i.borderInner.thickness/2:0,q=e.document,j=n.left+n.right,P=n.top+n.bottom,v=o(X,V),z={top:J(i,"top"),right:J(i,"right"),bottom:J(i,"bottom"),left:J(i,"left")},_=q.createElementNS("http://www.w3.org/2000/svg","rect"),$={x:g.left/2,y:g.top/2,width:w+j-g.left,height:w+P-g.top,rx:null!=y?y:V};F(x)?$.fill="none":$.fill=x,Object.entries($).forEach((([A,e])=>{_.setAttribute(A,e.toString())}));const AA=q.createElementNS("http://www.w3.org/2000/svg","rect"),eA=V>=200?"50%":V,tA=f+j-(n.left+n.right+r.left+r.right+g.left+g.right),iA=D+P-(n.top+n.bottom+r.top+r.bottom+g.top+g.bottom),oA=tA*M,nA=iA*M,gA=(tA-oA)/2-H,rA=(iA-nA)/2-T,IA={x:n.left+r.left+g.left+gA,y:n.top+r.top+g.top+rA,width:oA,height:nA,rx:null!=Z?Z:eA},sA=null==v?void 0:v.getAttribute("fill");sA&&!F(sA)?IA.fill=sA:!sA||F(sA)?IA.fill="none":IA.fill="#ffffff",Object.entries(IA).forEach((([A,e])=>AA.setAttribute(A,e.toString()))),v&&(({strokePath:A,backgroundMaskGroup:e,svgElement:t,color:i="#000000"})=>{A.setAttribute("fill",(null==e?void 0:e.getAttribute("fill"))||i),e.setAttribute("fill","none"),e.setAttribute("stroke-width","0"),t.insertBefore(e,t.firstChild)})({strokePath:AA,backgroundMaskGroup:v,svgElement:A,color:x});let aA=A.getElementsByTagName("defs")[0];aA||(aA=q.createElementNS("http://www.w3.org/2000/svg","defs"),A.insertBefore(aA,A.firstChild));const BA=q.createElementNS("http://www.w3.org/2000/svg","mask");BA.setAttribute("id",`qr-mask-${m}`),BA.setAttribute("maskUnits","userSpaceOnUse");const CA=q.createElementNS("http://www.w3.org/2000/svg","rect");if(CA.setAttribute("fill","white"),Object.entries(IA).forEach((([A,e])=>{"fill"!==A&&CA.setAttribute(A,e.toString())})),aA.appendChild(BA),BA.appendChild(CA),A.insertBefore(AA,null===(p=A.firstChild)||void 0===p?void 0:p.nextSibling),A.insertBefore(_,A.firstChild),i.borderOuter&&"number"==typeof i.borderOuter.thickness&&i.borderOuter.thickness>0){var QA;const e=q.createElementNS("http://www.w3.org/2000/svg","rect"),t=i.borderOuter.color||"#c0c0c0",o={x:g.left/2,y:g.top/2,width:f+j-g.left,height:D+P-g.top,fill:"none",rx:null!=y?y:V,"stroke-width":i.borderOuter.thickness};F(t)||(o.stroke=t),Object.entries(o).forEach((([A,t])=>e.setAttribute(A,t.toString()))),A.insertBefore(e,null===(QA=A.firstChild)||void 0===QA?void 0:QA.nextSibling)}if(v&&Array.from(A.getElementsByTagName("rect"))[0]){const e=A.firstChild;e?A.insertBefore(v,e):A.appendChild(v)}if(i.borderInner&&"number"==typeof i.borderInner.thickness&&i.borderInner.thickness>0){const e=q.createElementNS("http://www.w3.org/2000/svg","rect"),t=i.borderInner.color||"#c0c0c0",o={x:n.left+r.left+g.left+gA,y:n.top+r.top+g.top+rA,width:oA,height:nA,fill:"none","stroke-width":r.left,rx:null!=Z?Z:eA};F(t)||(o.stroke=t),Object.entries(o).forEach((([A,t])=>e.setAttribute(A,t.toString()))),A.appendChild(e)}const EA=i,lA=[S,k,U,R];for(const e of lA){var hA;const t=null===(hA=EA.decorations)||void 0===hA?void 0:hA[e];if(!t||!t.enableText||!z[e])continue;const i=t.type||N,o=i===G?W:i===N?O:void 0;var dA,cA;o&&o({document:q,svg:A,position:e,thickness:null!==(dA=EA.thickness)&&void 0!==dA?dA:0,value:null!==(cA=t.value)&&void 0!==cA?cA:"",style:t.style,offset:t.offset,curveAdjustment:t.curveAdjustment,curveDisabled:t.curveDisabled,height:D+P,width:f+j,enabledBorders:z,outerBorderPadding:L,innerBorderPadding:K,round:y,curveRadius:t.curveRadius,instanceId:m,noBorderThickness:I})}})(this.qrSVG.element,this.options,o,this.qrSVG.drawBackgroundForBorder.bind(this.qrSVG),I,s,a,B),null===(t=this.extension)||void 0===t||t.call(this,this.qrSVG.element,this.options))})).catch((A=>{throw console.error("Error during SVG drawing or post-processing:",A),A}))):console.error("QRSVG element not created immediately after instantiation.")}async _drawToCanvasForValidation(A){var e,i,o;const{width:n=300,height:g=300}=null!==(e=null!==(i=null===(o=this.qrSVG)||void 0===o?void 0:o.svgSize)&&void 0!==i?i:A)&&void 0!==e?e:t,r=n,I=g,s=document.createElement("canvas");s.width=r,s.height=I;const a=await this.serialize();if(!a)throw new Error("Failed to serialize SVG.");const B="data:image/svg+xml;base64,"+btoa(a);return new Promise(((A,e)=>{const t=new Image;t.width=r,t.height=I,t.crossOrigin="Anonymous",t.onload=()=>{const i=s.getContext("2d");if(!i)return e(new Error("Could not get canvas 2D context"));i.drawImage(t,0,0,r,I),A(s)},t.onerror=t.onabort=e,t.src=B}))}async drawToCanvas(A){var e;const t=document.createElement("canvas"),i=window.devicePixelRatio||1,o=(null==A?void 0:A.antialiasFactor)||2,n=(null==A?void 0:A.antialiasLevel)||"medium",g=null===(e=null==A?void 0:A.antialias)||void 0===e||e,r=(async()=>{try{var e,r;const I=await this.serialize();if(!I)return void console.warn("SVG serialization returned empty.");const s="data:image/svg+xml;base64,"+function(A){const e=(new TextEncoder).encode(A),t=Array.from(e,(A=>String.fromCharCode(A))).join("");return btoa(t)}(I),a=new Image;await new Promise(((A,e)=>{a.onload=()=>A(),a.onerror=A=>e(new Error(`Image load error: ${A}`)),a.onabort=()=>e(new Error("Image load aborted")),a.src=s}));const{width:B,height:C}=null!==(e=null===(r=this.qrSVG)||void 0===r?void 0:r.svgSize)&&void 0!==e?e:{},Q=null!=B?B:a.naturalWidth,E=null!=C?C:a.naturalHeight;if(Q<=0||E<=0)throw new Error("Invalid SVG dimensions");let l,h;void 0!==(null==A?void 0:A.width)&&void 0!==(null==A?void 0:A.height)?(l=A.width,h=A.height):void 0!==(null==A?void 0:A.width)?(l=A.width,h=l*(E/Q)):void 0!==(null==A?void 0:A.height)?(h=A.height,l=h*(Q/E)):(l=Q,h=E),t.width=l*i,t.height=h*i,t.style.width=`${l}px`,t.style.height=`${h}px`;const d=l/Q,c=h/E,u=Math.min(d,c),p=Q*u,m=E*u,f=(l-p)/2,D=(h-m)/2;let w;try{w=new OffscreenCanvas(p*i*o,m*i*o)}catch(A){w=document.createElement("canvas"),w.width=p*i*o,w.height=m*i*o}const y=w.getContext("2d");if(!y)throw new Error("Could not get OffscreenCanvas 2D context");y.imageSmoothingEnabled=g,y.imageSmoothingQuality=n,y.drawImage(a,0,0,w.width,w.height);const F=t.getContext("2d");if(!F)throw new Error("Could not get canvas 2D context");F.imageSmoothingEnabled=g,F.imageSmoothingQuality=n,F.scale(i,i),F.drawImage(w,0,0,w.width,w.height,f,D,p,m)}catch(A){throw console.error("Error drawing to canvas:",A),A}})();return{canvas:t,canvasDrawingPromise:r}}async _drawToCanvasPrevious(A){var e,i;const{width:o=300,height:n=300}=null!==(e=null!=A?A:null===(i=this.qrSVG)||void 0===i?void 0:i.svgSize)&&void 0!==e?e:t,g=1*o,r=1*n,I=document.createElement("canvas");I.width=g,I.height=r;const s=(async()=>{try{const A=await this.serialize();if(!A)return void console.warn("SVG serialization returned empty.");const e="data:image/svg+xml;base64,"+btoa(A),t=new Image;t.width=g,t.height=r,await new Promise(((A,i)=>{t.onload=()=>{const e=Math.ceil(2*Math.max(o,n)/Math.max(t.width,t.height));let s;try{s=new OffscreenCanvas(t.width*e*2,t.height*e*2)}catch(A){s=document.createElement("canvas"),s.width=t.width*e*2,s.height=t.height*e*2}const a=s.getContext("2d");if(!a)return i(new Error("Could not get OffscreenCanvas 2D context"));a.drawImage(t,0,0,s.width,s.height);const B=I.getContext("2d");if(!B)return i(new Error("Could not get canvas 2D context"));B.drawImage(s,0,0,s.width,s.height,0,0,g,r),A()},t.onerror=A=>i(new Error(`Image load error: ${A}`)),t.onabort=()=>i(new Error("Image load aborted")),t.src=e}))}catch(A){throw console.error("Error drawing to canvas:",A),A}})();return{canvas:I,canvasDrawingPromise:s}}downloadURI(A,e){const t=document.createElement("a");t.download=e,t.href=A,document.body.appendChild(t),t.click(),document.body.removeChild(t)}async download(A,e){if("undefined"==typeof Blob)throw new Error("Cannot download in Node.js environment");let t=Li.png,i="qr";if(A&&(A.name&&(i=A.name),A.extension&&(t=A.extension)),"svg"===t.toLowerCase()){const A=await this.serialize();if(!A)return;const e="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(A);this.downloadURI(e,`${i}.svg`)}else{const A=await this.drawToCanvas(e);if(!A)return;const{canvas:o,canvasDrawingPromise:n}=A;await n;const g=o.toDataURL(`image/${t}`);this.downloadURI(g,`${i}.${t}`)}}async createOptimizedQRCanvas(A){var e,i,o;const{width:n=300,height:g=300}=null!==(e=null!==(i=null===(o=this.qrSVG)||void 0===o?void 0:o.svgSize)&&void 0!==i?i:A)&&void 0!==e?e:t,r=document.createElement("canvas");r.width=n,r.height=g;const I=await this.serialize();if(!I)throw new Error("Failed to serialize SVG.");const s="data:image/svg+xml;base64,"+btoa(Array.from((new TextEncoder).encode(I)).map((A=>String.fromCharCode(A))).join(""));return new Promise(((A,e)=>{const t=new Image;t.width=n,t.height=g,t.crossOrigin="Anonymous",t.onload=()=>{const i=r.getContext("2d");if(!i)return e(new Error("Could not get canvas 2D context"));i.imageSmoothingEnabled=!1,i.drawImage(t,0,0,n,g),this.applyQRThreshold(r),A(r)},t.onerror=A=>e(new Error(`Image load error: ${A}`)),t.onabort=()=>e(new Error("Image load aborted")),t.src=s}))}applyQRThreshold(A){const e=A.getContext("2d");if(!e)return;const t=e.getImageData(0,0,A.width,A.height),i=t.data;for(let A=0;A<i.length;A+=4){const e=(i[A]+i[A+1]+i[A+2])/3<128?0:255;i[A]=i[A+1]=i[A+2]=e}e.putImageData(t,0,0)}_logValidationWarnings(A,e){console.warn(A),e.forEach((A=>{console.warn(`option: ${A.path} - '${A.value}' : ${A.message}`)}))}};Ki.version="0.20.8",Ki._selectedTemplate=null,Ki._selectedBorder=null,Ki._selectedStyle=null,Ki._selectedImage=null,Ki._selectedImageOverride=!1,Ki._selectedText=null,Ki._selectedTextOverride=!1,Ki._selectedData=null,Ki._selectedDataOverride=!1,Ki._selectedOptions=null,Ki._selectedOptionsOverride=!1,Ki._selectedInfo=null,Ki._selectedMetadata=null;class qi extends Ki{constructor(A,e=!1){super(A)}async validateScanning(A="zbar",e=!1){try{const{default:A}=await Promise.resolve().then((function(){return Ro})),t=await this.serialize(),i=this.size;if(!i)throw new Error("QR code dimensions not available for validation. Ensure the QR code has been generated.");const{width:o,height:n}=i,g=await(new A).validate(t,(async()=>this.serialize(!0)),o,n,e);if(g.isValid)return g;{console.debug("Zbar validation failed, trying Zxing...");const{default:A}=await Promise.resolve().then((function(){return vn}));return(new A).validate(t,(async()=>this.serialize(!0)),e)}}catch(A){const e=A instanceof Error?A.message:"Unknown validation error";return console.error(`Validation failed: ${e}`,A),Promise.reject({isValid:!1,message:e})}}static useTemplate(A){return new Pi(this,A)}static useTemplateId(A){return new Pi(this).useTemplateId(A)}static useStyle(A){return new Pi(this).useStyle(A)}static useStyleId(A){return new Pi(this).useStyleId(A)}static useBorder(A){return new Pi(this).useBorder(A)}static useBorderId(A){return new Pi(this).useBorderId(A)}static useImage(A,e){return new Pi(this).useImage(A,e)}static useText(A,e){return new Pi(this).useText(A,e)}static useTextId(A,e){return new Pi(this).useTextId(A,e)}static useData(A,e){return new Pi(this).useData(A,e)}static useOptions(A,e){return new Pi(this).useOptions(A,e)}static useSettings(A){return new Pi(this).useSettings(A)}}class ji extends qi{constructor(A){super(A,!0)}}class Pi{constructor(A,e){this._templateSource=null,this._borderSource=null,this._styleSource=null,this._imageSource=null,this._imageOverride=!1,this._textSource=null,this._textOverride=!1,this._isTemplateById=!1,this._isBorderById=!1,this._isStyleById=!1,this._isTextById=!1,this._optionsSource=null,this._optionsOverride=!1,this._dataSource=null,this._dataOverride=!1,this._idSource=null,this._nameSource=null,this._descriptionSource=null,this._metadataSource=null,this._initialOptions=null,this._qrCodeConstructor=A,"string"==typeof e?(this._templateSource=e,this._isTemplateById=!1):e&&(this._initialOptions=e)}useTemplate(A){return this._templateSource=A,this._isTemplateById=!1,this._initialOptions=null,this}useTemplateId(A){return this._templateSource=A,this._isTemplateById=!0,this._initialOptions=null,this}useStyle(A){return this._styleSource=A,this._isStyleById=!1,this}useStyleId(A){return this._styleSource=A,this._isStyleById=!0,this}useBorder(A){return this._borderSource=A,this._isBorderById=!1,this}useBorderId(A){return this._borderSource=A,this._isBorderById=!0,this}useImage(A,e){return this._imageSource=A,this._imageOverride=!(null==e||!e.override),this}useData(A,e){return this._dataSource=A,this._dataOverride=!(null==e||!e.override),this}useText(A,e){return this._textSource=A,this._isTextById=!1,this._textOverride=!(null==e||!e.override),this._initialOptions=null,this}useTextId(A,e){return this._textSource=A,this._isTextById=!0,this._textOverride=!(null==e||!e.override),this._initialOptions=null,this}useOptions(A,e){return this._optionsSource=A,this._optionsOverride=!(null==e||!e.override),this._initialOptions=null,this}useId(A){return this._idSource=A,this._initialOptions=null,this}useName(A){return this._nameSource=A,this._initialOptions=null,this}useDescription(A){return this._descriptionSource=A,this._initialOptions=null,this}useMetadata(A){return this._metadataSource=A,this._initialOptions=null,this}useSettings(A){return this._initialOptions=null,void 0!==A.id&&(this._idSource=A.id),void 0!==A.name&&(this._nameSource=A.name),void 0!==A.description&&(this._descriptionSource=A.description),void 0!==A.metadata&&(this._metadataSource=A.metadata),A.templateId?(this._templateSource=A.templateId,this._isTemplateById=!0):A.template&&(this._templateSource=A.template,this._isTemplateById=!1),A.borderId?(this._borderSource=A.borderId,this._isBorderById=!0):A.border&&(A.border,this._borderSource=A.border,this._isBorderById=!1),this._textOverride||(A.textId?(this._textSource=A.textId,this._isTextById=!0):A.text&&(this._textSource=A.text,this._isTextById=!1)),A.style?(this._styleSource=A.style,this._isStyleById=!1):A.styleId&&(this._styleSource=A.styleId,this._isStyleById=!0),this._imageOverride||A.image&&(this._imageSource=A.image,this._imageOverride=!1),this._dataOverride||A.data&&(this._dataSource=A.data,this._dataOverride=!1),this._optionsOverride||A.options&&(this._optionsSource=A.options),this._initialOptions=null,this}_resolveAndMergeConfig(A={}){let e={};e=this._initialOptions?f({},this._initialOptions):f({},kA);let t=null;if(this._templateSource&&"string"==typeof this._templateSource){const A=(this._isTemplateById?Pt:jt)(this._templateSource);if(A)t=A.options;else{const A=this._isTemplateById?"ID":"name";console.warn(`QR Code template ${A} "${this._templateSource}" not found. Using base template.`)}}else this._templateSource&&"string"!=typeof this._templateSource&&(t=this._templateSource);t&&(e=f(e,t));let i=null;if(this._borderSource)if("string"==typeof this._borderSource){const A=(this._isBorderById?Hi:Mi)(this._borderSource);if(A)i=A.options;else{const A=this._isBorderById?"ID":"name";console.warn(`QR Code border ${A} "${this._borderSource}" not found. Ignoring.`)}}else i={borderOptions:this._borderSource};i&&(e=f(e,i));let o=null;if(this._textSource&&!this._textOverride){let A=null;if("string"==typeof this._textSource){const e=(this._isTextById?xi:Xi)(this._textSource);if(e)A=e.options;else{const A=this._isTextById?"ID":"name";console.warn(`QR Code text template ${A} "${this._textSource}" not found. Ignoring.`)}}else A=this._textSource;if(A){o={borderOptions:{decorations:{}}};const e=o.borderOptions.decorations,t=null===A.value?void 0:A.value;void 0!==A.value&&(void 0===A.topValue&&(e.top={value:t}),void 0===A.bottomValue&&(e.bottom={value:t}),void 0===A.leftValue&&(e.left={value:t}),void 0===A.rightValue&&(e.right={value:t})),void 0!==A.topValue&&(e.top={value:null===A.topValue?void 0:A.topValue}),void 0!==A.leftValue&&(e.left={value:null===A.leftValue?void 0:A.leftValue}),void 0!==A.rightValue&&(e.right={value:null===A.rightValue?void 0:A.rightValue}),void 0!==A.bottomValue&&(e.bottom={value:null===A.bottomValue?void 0:A.bottomValue})}}o&&(e=f(e,o));let n=null;if(this._styleSource)if("string"==typeof this._styleSource){const A=(this._isStyleById?hi:li)(this._styleSource);if(A)n=A.style;else{const A=this._isStyleById?"ID":"name";console.warn(`QR Code style ${A} "${this._styleSource}" not found. Ignoring.`)}}else{const{isValid:A,errors:e}=yA(this._styleSource);A?n=this._styleSource:console.warn("Invalid style options object provided:",e)}if(n){e=f(e,wA(n))}if(this._imageSource&&!this._imageOverride&&(e=f(e,{image:this._imageSource})),this._dataSource&&!this._dataOverride&&(e=f(e,{data:this._dataSource})),this._optionsSource&&!this._optionsOverride&&(e=f(e,this._optionsSource)),e=f(e,A),this._imageOverride&&this._imageSource&&(e=f(e,{image:this._imageSource})),this._textOverride&&this._textSource){const A={borderOptions:{decorations:{}}};let t=null;if("string"==typeof this._textSource){const A=(this._isTextById?xi:Xi)(this._textSource);A&&(t=A.options)}else t=this._textSource;if(t){const i=A.borderOptions.decorations,o=null===t.value?void 0:t.value;void 0!==t.value&&(void 0===t.topValue&&(i.top={value:o}),void 0===t.bottomValue&&(i.bottom={value:o}),void 0===t.leftValue&&(i.left={value:o}),void 0===t.rightValue&&(i.right={value:o})),void 0!==t.topValue&&(i.top={value:null===t.topValue?void 0:t.topValue}),void 0!==t.leftValue&&(i.left={value:null===t.leftValue?void 0:t.leftValue}),void 0!==t.rightValue&&(i.right={value:null===t.rightValue?void 0:t.rightValue}),void 0!==t.bottomValue&&(i.bottom={value:null===t.bottomValue?void 0:t.bottomValue}),e=f(e,A)}}return this._dataOverride&&this._dataSource&&(e=f(e,{data:this._dataSource})),this._optionsSource&&this._optionsOverride&&(e=f(e,this._optionsSource)),e}options(A){const e=this._resolveAndMergeConfig(A),t=new this._qrCodeConstructor(e);return null!==this._idSource&&t.setId(this._idSource),null!==this._nameSource&&t.setName(this._nameSource),null!==this._descriptionSource&&t.setDescription(this._descriptionSource),null!==this._metadataSource&&t.setMetadata(this._metadataSource),t}build(){const A=this._resolveAndMergeConfig(),e=new this._qrCodeConstructor(A);return null!==this._idSource&&e.setId(this._idSource),null!==this._nameSource&&e.setName(this._nameSource),null!==this._descriptionSource&&e.setDescription(this._descriptionSource),null!==this._metadataSource&&e.setMetadata(this._metadataSource),e}}function vi(A){return A&&A.__esModule&&Object.prototype.hasOwnProperty.call(A,"default")?A.default:A}"undefined"!=typeof window&&(window.QRCodeJs=qi,window.__=ji);var zi,_i={},$i={};var Ao,eo,to={};
1
+ !function(A,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((A="undefined"!=typeof globalThis?globalThis:A||self).QRCodeJs={})}(this,(function(A){"use strict";function e(A,e){return e.forEach((function(e){e&&"string"!=typeof e&&!Array.isArray(e)&&Object.keys(e).forEach((function(t){if("default"!==t&&!(t in A)){var i=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(A,t,i.get?i:{enumerable:!0,get:function(){return e[t]}})}}))})),Object.freeze(A)}const t={width:500,height:500};class i{constructor(){this.buffer=[],this.length=0}getBuffer(){return this.buffer}getLengthInBits(){return this.length}toString(){let A="";for(let e=0;e<this.getLengthInBits();e+=1)A+=this.getBit(e)?"1":"0";return A}getBit(A){return 1==(this.buffer[~~(A/8)]>>>7-A%8&1)}put(A,e){for(let t=0;t<e;t+=1)this.putBit(1==(A>>>e-t-1&1))}putBit(A){this.length==8*this.buffer.length&&this.buffer.push(0),A&&(this.buffer[~~(this.length/8)]|=128>>>this.length%8),this.length+=1}}var o,n,g;!function(A){A[A.L=1]="L",A[A.M=0]="M",A[A.Q=3]="Q",A[A.H=2]="H"}(o||(o={}));class r{constructor(){throw new Error("error")}static glog(A){if(A<1)throw new Error("log("+A+")");return r.LOG_TABLE[A]}static gexp(A){for(;A<0;)A+=255;for(;A>=256;)A-=255;return r.EXP_TABLE[A]}}r.initialize=(()=>{r.EXP_TABLE=[],r.LOG_TABLE=[];for(let A=0;A<256;A+=1)r.EXP_TABLE.push(A<8?1<<A:r.EXP_TABLE[A-4]^r.EXP_TABLE[A-5]^r.EXP_TABLE[A-6]^r.EXP_TABLE[A-8]),r.LOG_TABLE.push(0);for(let A=0;A<255;A+=1)r.LOG_TABLE[r.EXP_TABLE[A]]=A})();class I{constructor(A,e=0){let t=0;for(;t<A.length&&0==A[t];)t+=1;this.num=[];const i=A.length-t;for(let e=0;e<i;e+=1)this.num.push(A[t+e]);for(let A=0;A<e;A+=1)this.num.push(0)}getAt(A){return this.num[A]}getLength(){return this.num.length}toString(){let A="";for(let e=0;e<this.getLength();e+=1)e>0&&(A+=","),A+=this.getAt(e);return A.toString()}toLogString(){let A="";for(let e=0;e<this.getLength();e+=1)e>0&&(A+=","),A+=r.glog(this.getAt(e));return A.toString()}multiply(A){const e=[],t=this.getLength()+A.getLength()-1;for(let A=0;A<t;A+=1)e.push(0);for(let t=0;t<this.getLength();t+=1)for(let i=0;i<A.getLength();i+=1)e[t+i]^=r.gexp(r.glog(this.getAt(t))+r.glog(A.getAt(i)));return new I(e)}mod(A){if(this.getLength()-A.getLength()<0)return this;const e=r.glog(this.getAt(0))-r.glog(A.getAt(0)),t=[];for(let A=0;A<this.getLength();A+=1)t.push(this.getAt(A));for(let i=0;i<A.getLength();i+=1)t[i]^=r.gexp(r.glog(A.getAt(i))+e);return new I(t).mod(A)}}!function(A){A[A.MODE_NUMBER=1]="MODE_NUMBER",A[A.MODE_ALPHA_NUM=2]="MODE_ALPHA_NUM",A[A.MODE_8BIT_BYTE=4]="MODE_8BIT_BYTE",A[A.MODE_KANJI=8]="MODE_KANJI"}(n||(n={}));class s{constructor(A,e){this.mode=A,this.data=e}getMode(){return this.mode}getData(){return this.data}getLengthInBits(A){if(1<=A&&A<10)switch(this.mode){case n.MODE_NUMBER:return 10;case n.MODE_ALPHA_NUM:return 9;case n.MODE_8BIT_BYTE:case n.MODE_KANJI:return 8;default:throw new Error("mode:"+this.mode)}else if(A<27)switch(this.mode){case n.MODE_NUMBER:return 12;case n.MODE_ALPHA_NUM:return 11;case n.MODE_8BIT_BYTE:return 16;case n.MODE_KANJI:return 10;default:throw new Error("mode:"+this.mode)}else{if(!(A<41))throw new Error("typeNumber:"+A);switch(this.mode){case n.MODE_NUMBER:return 14;case n.MODE_ALPHA_NUM:return 13;case n.MODE_8BIT_BYTE:return 16;case n.MODE_KANJI:return 12;default:throw new Error("mode:"+this.mode)}}}}class a extends s{constructor(A,e){super(n.MODE_8BIT_BYTE,A),this.stringToBytes=e}write(A){this.stringToBytes(this.getData()).forEach((e=>A.put(e,8)))}getLength(){return this.stringToBytes(this.getData()).length}}class B extends s{constructor(A){super(n.MODE_ALPHA_NUM,A)}write(A){const e=this.getData();let t=0;for(;t+1<e.length;)A.put(45*B.getCode(e.charAt(t))+B.getCode(e.charAt(t+1)),11),t+=2;t<e.length&&A.put(B.getCode(e.charAt(t)),6)}getLength(){return this.getData().length}static getCode(A){if("0"<=A&&A<="9")return A.charCodeAt(0)-"0".charCodeAt(0);if("A"<=A&&A<="Z")return A.charCodeAt(0)-"A".charCodeAt(0)+10;switch(A){case" ":return 36;case"$":return 37;case"%":return 38;case"*":return 39;case"+":return 40;case"-":return 41;case".":return 42;case"/":return 43;case":":return 44;default:throw new Error("illegal char :"+A)}}}class C extends s{constructor(A,e){super(n.MODE_KANJI,A),this.stringToBytes=e}write(A){const e=this.stringToBytes(this.getData());let t=0;for(;t+1<e.length;){let i=(255&e[t])<<8|255&e[t+1];if(33088<=i&&i<=40956)i-=33088;else{if(!(57408<=i&&i<=60351))throw new Error("illegal char at "+(t+1)+"/"+i);i-=49472}i=192*(i>>>8&255)+(255&i),A.put(i,13),t+=2}if(t<e.length)throw new Error("illegal char at "+(t+1))}getLength(){return this.stringToBytes(this.getData()).length/2}}class Q extends s{constructor(A){super(n.MODE_NUMBER,A)}write(A){const e=this.getData();let t=0;for(;t+2<e.length;)A.put(Q.strToNum(e.substring(t,t+3)),10),t+=3;t<e.length&&(e.length-t==1?A.put(Q.strToNum(e.substring(t,t+1)),4):e.length-t==2&&A.put(Q.strToNum(e.substring(t,t+2)),7))}getLength(){return this.getData().length}static strToNum(A){let e=0;for(let t=0;t<A.length;t+=1)e=10*e+Q.chatToNum(A.charAt(t));return e}static chatToNum(A){if("0"<=A&&A<="9")return A.charCodeAt(0)-"0".charCodeAt(0);throw new Error("illegal char :"+A)}}!function(A){A[A.PATTERN000=0]="PATTERN000",A[A.PATTERN001=1]="PATTERN001",A[A.PATTERN010=2]="PATTERN010",A[A.PATTERN011=3]="PATTERN011",A[A.PATTERN100=4]="PATTERN100",A[A.PATTERN101=5]="PATTERN101",A[A.PATTERN110=6]="PATTERN110",A[A.PATTERN111=7]="PATTERN111"}(g||(g={}));class E{constructor(){throw new Error("error")}static getPatternPosition(A){return E.PATTERN_POSITION_TABLE[A-1]}static getMaxLength(A,e,t){const i=A-1;let g=0,r=0;switch(t){case o.L:g=0;break;case o.M:g=1;break;case o.Q:g=2;break;case o.H:g=3;break;default:throw new Error("e:"+t)}switch(e){case n.MODE_NUMBER:r=0;break;case n.MODE_ALPHA_NUM:r=1;break;case n.MODE_8BIT_BYTE:r=2;break;case n.MODE_KANJI:r=3;break;default:throw new Error("m:"+e)}return E.MAX_LENGTH[i][g][r]}static getErrorCorrectPolynomial(A){let e=new I([1]);for(let t=0;t<A;t+=1)e=e.multiply(new I([1,r.gexp(t)]));return e}static getMaskFunc(A){switch(A){case g.PATTERN000:return(A,e)=>(A+e)%2==0;case g.PATTERN001:return(A,e)=>A%2==0;case g.PATTERN010:return(A,e)=>e%3==0;case g.PATTERN011:return(A,e)=>(A+e)%3==0;case g.PATTERN100:return(A,e)=>(~~(A/2)+~~(e/3))%2==0;case g.PATTERN101:return(A,e)=>A*e%2+A*e%3==0;case g.PATTERN110:return(A,e)=>(A*e%2+A*e%3)%2==0;case g.PATTERN111:return(A,e)=>(A*e%3+(A+e)%2)%2==0;default:throw new Error("mask:"+A)}}static getLostPoint(A){const e=A.getModuleCount();let t=0;for(let i=0;i<e;i+=1)for(let o=0;o<e;o+=1){let n=0;const g=A.isDark(i,o);for(let t=-1;t<=1;t+=1)if(!(i+t<0||e<=i+t))for(let r=-1;r<=1;r+=1)o+r<0||e<=o+r||0==t&&0==r||g==A.isDark(i+t,o+r)&&(n+=1);n>5&&(t+=3+n-5)}for(let i=0;i<e-1;i+=1)for(let o=0;o<e-1;o+=1){let e=0;A.isDark(i,o)&&(e+=1),A.isDark(i+1,o)&&(e+=1),A.isDark(i,o+1)&&(e+=1),A.isDark(i+1,o+1)&&(e+=1),0!=e&&4!=e||(t+=3)}for(let i=0;i<e;i+=1)for(let o=0;o<e-6;o+=1)A.isDark(i,o)&&!A.isDark(i,o+1)&&A.isDark(i,o+2)&&A.isDark(i,o+3)&&A.isDark(i,o+4)&&!A.isDark(i,o+5)&&A.isDark(i,o+6)&&(t+=40);for(let i=0;i<e;i+=1)for(let o=0;o<e-6;o+=1)A.isDark(o,i)&&!A.isDark(o+1,i)&&A.isDark(o+2,i)&&A.isDark(o+3,i)&&A.isDark(o+4,i)&&!A.isDark(o+5,i)&&A.isDark(o+6,i)&&(t+=40);let i=0;for(let t=0;t<e;t+=1)for(let o=0;o<e;o+=1)A.isDark(o,t)&&(i+=1);return t+=10*(Math.abs(100*i/e/e-50)/5),t}static getBCHTypeInfo(A){let e=A<<10;for(;E.getBCHDigit(e)-E.getBCHDigit(E.G15)>=0;)e^=E.G15<<E.getBCHDigit(e)-E.getBCHDigit(E.G15);return(A<<10|e)^E.G15_MASK}static getBCHTypeNumber(A){let e=A<<12;for(;E.getBCHDigit(e)-E.getBCHDigit(E.G18)>=0;)e^=E.G18<<E.getBCHDigit(e)-E.getBCHDigit(E.G18);return A<<12|e}static getBCHDigit(A){let e=0;for(;0!=A;)e+=1,A>>>=1;return e}}E.PATTERN_POSITION_TABLE=[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],E.MAX_LENGTH=[[[41,25,17,10],[34,20,14,8],[27,16,11,7],[17,10,7,4]],[[77,47,32,20],[63,38,26,16],[48,29,20,12],[34,20,14,8]],[[127,77,53,32],[101,61,42,26],[77,47,32,20],[58,35,24,15]],[[187,114,78,48],[149,90,62,38],[111,67,46,28],[82,50,34,21]],[[255,154,106,65],[202,122,84,52],[144,87,60,37],[106,64,44,27]],[[322,195,134,82],[255,154,106,65],[178,108,74,45],[139,84,58,36]],[[370,224,154,95],[293,178,122,75],[207,125,86,53],[154,93,64,39]],[[461,279,192,118],[365,221,152,93],[259,157,108,66],[202,122,84,52]],[[552,335,230,141],[432,262,180,111],[312,189,130,80],[235,143,98,60]],[[652,395,271,167],[513,311,213,131],[364,221,151,93],[288,174,119,74]]],E.G15=1335,E.G18=7973,E.G15_MASK=21522;class l{constructor(A,e){this.totalCount=A,this.dataCount=e}getDataCount(){return this.dataCount}getTotalCount(){return this.totalCount}static getRSBlocks(A,e){const t=l.getRsBlockTable(A,e),i=t.length/3,o=[];for(let A=0;A<i;A+=1){const e=t[3*A+0],i=t[3*A+1],n=t[3*A+2];for(let A=0;A<e;A+=1)o.push(new l(i,n))}return o}static getRsBlockTable(A,e){switch(e){case o.L:return l.RS_BLOCK_TABLE[4*(A-1)+0];case o.M:return l.RS_BLOCK_TABLE[4*(A-1)+1];case o.Q:return l.RS_BLOCK_TABLE[4*(A-1)+2];case o.H:return l.RS_BLOCK_TABLE[4*(A-1)+3]}throw new Error("tn:"+A+"/ecl:"+e)}}l.RS_BLOCK_TABLE=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12,7,37,13],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]];const h=Array(41).fill(0).map(((A,e)=>e));var d,c;!function(A){A.L="L",A.M="M",A.Q="Q",A.H="H"}(d||(d={})),function(A){A.numeric="numeric",A.alphanumeric="alphanumeric",A.byte="byte",A.kanji="kanji",A.unicode="unicode"}(c||(c={}));class u{constructor(A=0,e=d.L){this.modules=[],this.moduleCount=0,this.typeNumber=A,this.errorCorrectLevel=o[e],this.qrDataList=[]}getTypeNumber(){return this.typeNumber}setTypeNumber(A){this.typeNumber=A}getErrorCorrectLevel(){return this.errorCorrectLevel}setErrorCorrectLevel(A){this.errorCorrectLevel=A}clearData(){this.qrDataList=[]}addData(A,e=c.byte){if(A instanceof s)this.qrDataList.push(A);else{if("string"!=typeof A)throw new Error(typeof A);switch(e){case c.numeric:this.qrDataList.push(new Q(A));break;case c.alphanumeric:this.qrDataList.push(new B(A));break;case c.byte:this.qrDataList.push(new a(A,u.stringToBytesFuncs.default));break;case c.unicode:this.qrDataList.push(new a(A,u.stringToBytesFuncs.UTF8));break;case c.kanji:this.qrDataList.push(new C(A,u.stringToBytesFuncs.SJIS));break;default:throw new Error("mode:"+e)}}}isDark(A,e){return!(!this.modules[A]||null==this.modules[A][e])&&this.modules[A][e]}getModuleCount(){return this.moduleCount}make(){if(this.typeNumber<1){let A=1;for(;A<40;A++){const e=l.getRSBlocks(A,this.errorCorrectLevel),t=new i;this.qrDataList.forEach((e=>{t.put(e.getMode(),4),t.put(e.getLength(),e.getLengthInBits(A)),e.write(t)}));const o=e.reduce(((A,e)=>A+e.getDataCount()),0);if(t.getLengthInBits()<=8*o)break}this.typeNumber=A}this.makeImpl(!1,this.getBestMaskPattern())}getBestMaskPattern(){let A=0,e=0;for(let t=0;t<8;t+=1){this.makeImpl(!0,t);const i=E.getLostPoint(this);(0==t||A>i)&&(A=i,e=t)}return e}makeImpl(A,e){this.moduleCount=4*this.typeNumber+17,this.modules=[];for(let A=0;A<this.moduleCount;A+=1){this.modules.push([]);for(let e=0;e<this.moduleCount;e+=1)this.modules[A].push(null)}this.setupPositionProbePattern(0,0),this.setupPositionProbePattern(this.moduleCount-7,0),this.setupPositionProbePattern(0,this.moduleCount-7),this.setupPositionAdjustPattern(),this.setupTimingPattern(),this.setupTypeInfo(A,e),this.typeNumber>=7&&this.setupTypeNumber(A);const t=u.createData(this.typeNumber,this.errorCorrectLevel,this.qrDataList);this.mapData(t,e)}mapData(A,e){let t=-1,i=this.moduleCount-1,o=7,n=0;const g=E.getMaskFunc(e);for(let e=this.moduleCount-1;e>0;e-=2)for(6==e&&(e-=1);;){for(let t=0;t<2;t+=1)if(null==this.modules[i][e-t]){let r=!1;n<A.length&&(r=1==(A[n]>>>o&1));g(i,e-t)&&(r=!r),this.modules[i][e-t]=r,o-=1,-1==o&&(n+=1,o=7)}if(i+=t,i<0||this.moduleCount<=i){i-=t,t=-t;break}}}setupPositionAdjustPattern(){const A=E.getPatternPosition(this.typeNumber);A.forEach((e=>{A.forEach((A=>{if(null==this.modules[e][A])for(let t=-2;t<=2;t+=1)for(let i=-2;i<=2;i+=1)this.modules[e+t][A+i]=-2==t||2==t||-2==i||2==i||0==t&&0==i}))}))}setupPositionProbePattern(A,e){for(let t=-1;t<=7;t+=1)for(let i=-1;i<=7;i+=1)A+t<=-1||this.moduleCount<=A+t||e+i<=-1||this.moduleCount<=e+i||(this.modules[A+t][e+i]=0<=t&&t<=6&&(0==i||6==i)||0<=i&&i<=6&&(0==t||6==t)||2<=t&&t<=4&&2<=i&&i<=4)}setupTimingPattern(){for(let A=8;A<this.moduleCount-8;A+=1)null==this.modules[A][6]&&(this.modules[A][6]=A%2==0);for(let A=8;A<this.moduleCount-8;A+=1)null==this.modules[6][A]&&(this.modules[6][A]=A%2==0)}setupTypeNumber(A){const e=E.getBCHTypeNumber(this.typeNumber);for(let t=0;t<18;t+=1)this.modules[~~(t/3)][t%3+this.moduleCount-8-3]=!A&&1==(e>>t&1);for(let t=0;t<18;t+=1)this.modules[t%3+this.moduleCount-8-3][~~(t/3)]=!A&&1==(e>>t&1)}setupTypeInfo(A,e){const t=this.errorCorrectLevel<<3|e,i=E.getBCHTypeInfo(t);for(let e=0;e<15;e+=1){const t=!A&&1==(i>>e&1);e<6?this.modules[e][8]=t:e<8?this.modules[e+1][8]=t:this.modules[this.moduleCount-15+e][8]=t}for(let e=0;e<15;e+=1){const t=!A&&1==(i>>e&1);e<8?this.modules[8][this.moduleCount-e-1]=t:e<9?this.modules[8][15-e-1+1]=t:this.modules[8][15-e-1]=t}this.modules[this.moduleCount-8][8]=!A}static createData(A,e,t){const o=l.getRSBlocks(A,e),n=new i;t.forEach((e=>{n.put(e.getMode(),4),n.put(e.getLength(),e.getLengthInBits(A)),e.write(n)}));const g=o.reduce(((A,e)=>A+e.getDataCount()),0);if(n.getLengthInBits()>8*g)throw new Error("code length overflow. ("+n.getLengthInBits()+">"+8*g+")");for(n.getLengthInBits()+4<=8*g&&n.put(0,4);n.getLengthInBits()%8!=0;)n.putBit(!1);for(;!(n.getLengthInBits()>=8*g||(n.put(u.PAD0,8),n.getLengthInBits()>=8*g));)n.put(u.PAD1,8);return u.createBytes(n,o)}static createBytes(A,e){let t=0,i=0,o=0;const n=new Array(e.length).map((A=>[])),g=new Array(e.length).map((A=>[]));function r(A){const e=[];for(let t=0;t<A;t+=1)e.push(0);return e}for(let s=0;s<e.length;s+=1){const a=e[s].getDataCount(),B=e[s].getTotalCount()-a;i=Math.max(i,a),o=Math.max(o,B),n[s]=r(a);for(let e=0;e<n[s].length;e+=1)n[s][e]=255&A.getBuffer()[e+t];t+=a;const C=E.getErrorCorrectPolynomial(B),Q=new I(n[s],C.getLength()-1).mod(C);g[s]=r(C.getLength()-1);for(let A=0;A<g[s].length;A+=1){const e=A+Q.getLength()-g[s].length;g[s][A]=e>=0?Q.getAt(e):0}}const s=r(e.reduce(((A,e)=>A+e.getTotalCount()),0));let a=0;for(let A=0;A<i;A+=1)for(let t=0;t<e.length;t+=1)A<n[t].length&&(s[a]=n[t][A],a+=1);for(let A=0;A<o;A+=1)for(let t=0;t<e.length;t+=1)A<g[t].length&&(s[a]=g[t][A],a+=1);return s}}u.stringToBytesFuncs={default(A){const e=[];for(let t=0;t<A.length;t+=1){const i=A.charCodeAt(t);e.push(255&i)}return e}},u.PAD0=236,u.PAD1=17;const p=A=>!!A&&"object"==typeof A&&!Array.isArray(A);function m(A,e=!1){const t=A.split("").reverse().join("");return e?t.toLocaleUpperCase():t}function f(A,...e){if(!e.length)return A;const t=e.shift();return void 0!==t&&p(A)&&p(t)?(A={...A},Object.keys(t).forEach((e=>{const i=A[e],o=t[e];Array.isArray(i)&&Array.isArray(o)?A[e]=o:p(i)&&p(o)?A[e]=f({...i},o):A[e]=void 0===o?i:o})),f(A,...e)):A}m("rq",!0),m("-",!0),m("talp",!0),m("mrof",!0),m("a".repeat(6)+"#",!0);const D=/\.?0+$/;function w(A){return A.toFixed(7).replace(D,"")}function y(A,...e){return A.reduce(((A,t,i)=>{let o="";return i&&(o=e[i-1]),"number"==typeof o&&(o=w(o)),`${A}${o}${t}`}),"").trim().replace(/[\s\n\r]+/gim," ")}function F(A){if(!A)return!1;const e=A.toLowerCase().trim();return"none"===e||"transparent"===e}const S="top",R="bottom",k="left",U="right";const b=A=>"number"==typeof A?A:parseInt(A.replace("%",""),10),Y=(A,e="0%")=>A?A.endsWith("%")?A:A+"%":e,N="text",G="image",J=(A,e)=>{var t,i;return!(null!==(t=null==A||null===(i=A.decorations)||void 0===i||null===(i=i[e])||void 0===i?void 0:i.disabled)&&void 0!==t&&t)},V=A=>{if("string"==typeof A)return A;const{fontFace:e="Helvetica",fontSize:t=20,fontColor:i="#ffffff",letterSpacing:o=1,textTransform:n="uppercase",fontWeight:g="bold"}=A||{};return`font-weight: ${g}; text-transform: ${n}; font-size: ${t}px; font-family: ${e}; fill: ${i}; letter-spacing: ${o}px; dominant-baseline: central;`};const Z=({document:A,position:e,rotate:t,flip:i,thickness:o,height:n,width:g,round:r,offset:I=0,curveAdjustment:s=0,curveRadius:a,innerBorderPadding:B=0,outerBorderPadding:C=0,instanceId:Q})=>{const E=Math.min(g,n),l=A.createElementNS("http://www.w3.org/2000/svg","path"),h=(A=>{if(A>=50)return 1;const e=[{R:0,P:0},{R:5,P:0},{R:10,P:.12},{R:15,P:.2},{R:20,P:.32},{R:25,P:.44},{R:30,P:.56},{R:35,P:.65},{R:40,P:.72},{R:42,P:.76},{R:44,P:.8},{R:45,P:.83},{R:46,P:.86},{R:48,P:.92},{R:50,P:1}],t=e.find((e=>A<=e.R))||e[0],i=e.find((e=>A>e.R))||e[e.length-1],{R:o,P:n}=t,{R:g,P:r}=i;return n+(A-o)/(g-o)*(r-n)})("string"==typeof r?b(r):r),d=void 0!==a?function(A){let e;return e="number"==typeof A?A:"string"==typeof A?(A.includes("%"),parseFloat(A)):0,e=Math.min(Math.max(e,0),50),.5+e/50*.5}(a):h;let c=(E-o-2*C-10*s*2)/2*d;const u=((A,e,t,i)=>{const o=t/2,n=i/2;let g="";return A&&(g+=`rotate(${A}, ${o}, ${n}) `),e&&(g+=`translate(${o}, ${n}) scale(1, -1) translate(${-o}, ${-n}) `),g.trim()})(t,i,g,n);l.setAttribute("id",`${e}-text-path-${Q}`),l.setAttribute("transform",u);let{startX:p,startY:m,pathWidth:f}=((A,e,t,i,o={})=>{let n=e/2,g=e/2+i,r=A-e;return t&&(r-=4*t,n+=2*t,g+=2*t),n+=o.left||0,g+=o.top||0,{startX:n,startY:g,pathWidth:r}})(E,o,C,I);const D=C>0,w=B>0;if(D||w){let A=0;D&&(A-=C/20),w&&(A-=B/2),p-=A,m-=A,f+=2*A,c=f/2*d}return l.setAttribute("d",((A,e,t,i)=>`\n M${A},${e+i}\n a${i},${i} 0 0 1 ${i},${-i}\n h${t-2*i}\n a${i},${i} 0 0 1 ${i},${i}\n `)(p,m,f,c)),l},O=({document:A,thickness:e,value:t,svg:i,position:o,height:n,width:g,round:r,style:I,offset:s=0,curveAdjustment:a=0,curveDisabled:B=!1,innerBorderPadding:C=0,outerBorderPadding:Q=0,curveRadius:E,instanceId:l,noBorderThickness:h,enabledBorders:d})=>{let c=0,u=!1;if(o===U?c=90:o===R?u=!B:o===k&&(c=-90),B){const r=A.createElementNS("http://www.w3.org/2000/svg","text");let a=g/2,B=(n-Math.min(g,n)+e)/2+2*Q+s-(n-g>0?0:(g-n)/2);let E=0;if(Q>0&&(E-=Q/20),C>0&&(E-=C/2),o===R?B=n-2*Q-e/2-s+E:o===S?B=2*Q+e/2+s-E:o!==k&&o!==U||(B-=E),o===S||o===R){let A=0;!d[k]&&d[U]?A=-(e-h)/2:d[k]&&!d[U]&&(A=(e-h)/2),a+=A}else if(o===k||o===U){let A=0;!d[S]&&d[R]?A=o===k?(e-h)/2:-(e-h)/2:d[S]&&!d[R]&&(A=o===k?-(e-h)/2:(e-h)/2),a+=A}let l="";0!==c&&(l+=`rotate(${c}, ${g/2}, ${n/2}) `),r.setAttribute("x",a.toString()),r.setAttribute("y",B.toString()),r.setAttribute("text-anchor","middle"),l&&r.setAttribute("transform",l.trim()),r.textContent=t;const u=V(I);r.setAttribute("style",u),i.appendChild(r)}else{let B=i.getElementsByTagName("defs")[0];B||(B=A.createElementNS("http://www.w3.org/2000/svg","defs"),i.appendChild(B));const p=Z({document:A,position:o,rotate:c,flip:u,thickness:e,height:n,width:g,round:r,offset:s,curveAdjustment:a,innerBorderPadding:C,outerBorderPadding:Q,curveRadius:E,instanceId:l}),{x:m,y:f}=function(A,e,t,i){let o=0,n=0;const g=(e-t)/2;return i.left&&i.right&&i.top&&i.bottom?(o=0,n=0):"top"===A||"bottom"===A?!i.left&&i.right?o=-g:(i.left&&!i.right||i.left&&i.right)&&(o=g):"left"!==A&&"right"!==A||(!i.top&&i.bottom?i.left&&i.right?(o="left"===A?2*+g:0,n=-g):o="left"===A?+g:-g:i.top&&!i.bottom?i.left&&i.right?(o="left"===A?0:2*g,n=-g):o=0:i.top&&i.bottom?n=i.left&&i.right?2*+g:+g:(o=i.left&&i.right?2*+g:+g,n=i.left&&i.right?2*-g:-g)),{x:o,y:n}}(o,e,h,d);if(0!==m||0!==f){const A=`${p.getAttribute("transform")||""} translate(${m}, ${f})`.trim();p.setAttribute("transform",A)}B.appendChild(p),i.appendChild((({document:A,value:e,position:t,style:i,instanceId:o})=>{const n=A.createElementNS("http://www.w3.org/2000/svg","text"),g=A.createElementNS("http://www.w3.org/2000/svg","textPath");g.setAttribute("href",`#${t}-text-path-${o}`),g.setAttribute("text-anchor","middle"),g.setAttribute("startOffset","50%"),g.textContent=e;const r=V(i);return n.setAttribute("style",r),n.appendChild(g),n})({document:A,position:o,value:t,style:I,instanceId:l}))}},W=({document:A,thickness:e,value:t,svg:i,position:o,height:n,width:g,offset:r=0,style:I})=>{const s=A.createElementNS("http://www.w3.org/2000/svg","image"),a=Math.min(g,n);let B=(g-a+e)/2,C=(n-a+e)/2+r;o===S?B+=(a-e)/2:o===U?(B+=a-e,C+=(a-e)/2):o===R?(B+=(a-e)/2,C+=a-e):o===k&&(C+=(a-e)/2),s.setAttribute("href",t||""),s.setAttribute("x",`${B}`),s.setAttribute("y",`${C}`),s.setAttribute("style",(null==I?void 0:I.toString())||""),i.appendChild(s)};var M,H,T,X,x,L,K;function q(A){const e={...A};if(!e.colorStops||!e.colorStops.length)throw new Error("Field 'colorStops' is required in gradient");return e.rotation?e.rotation=Number(e.rotation):e.rotation=0,e.colorStops=e.colorStops.map((A=>({...A,offset:Number(A.offset)}))),e}function j(A){var e,t,i;const o={...A};if(o.imageOptions={...o.imageOptions,imageSize:Math.min(1,Number(null===(e=o.imageOptions)||void 0===e?void 0:e.imageSize))||1,margin:Number(null===(t=o.imageOptions)||void 0===t?void 0:t.margin)||0,padding:Number(null===(i=o.imageOptions)||void 0===i?void 0:i.padding)||0},o.imageOptions.mode==K.overlay&&(o.imageOptions.margin=0),o.dotsOptions={...o.dotsOptions},o.dotsOptions.gradient&&(o.dotsOptions.gradient=q(o.dotsOptions.gradient)),o.dotsOptions.size=Math.round(Math.max(0,o.dotsOptions.size)||10),o.cornersSquareOptions&&(o.cornersSquareOptions={...o.cornersSquareOptions},o.cornersSquareOptions.gradient&&(o.cornersSquareOptions.gradient=q(o.cornersSquareOptions.gradient))),o.cornersDotOptions&&(o.cornersDotOptions={...o.cornersDotOptions},o.cornersDotOptions.gradient&&(o.cornersDotOptions.gradient=q(o.cornersDotOptions.gradient))),o.backgroundOptions&&(o.backgroundOptions={...o.backgroundOptions},o.backgroundOptions.gradient&&(o.backgroundOptions.gradient=q(o.backgroundOptions.gradient))),o.borderOptions&&o.borderOptions.decorations){const A=["top","bottom","left","right"];for(const e of A){let A=o.borderOptions.decorations[e];A||(o.borderOptions.decorations[e]={enableText:!1,value:void 0},A=o.borderOptions.decorations[e]),!1===A.enableText?A.value=void 0:!0===A.enableText?null!==A.value&&void 0!==A.value||(A.value=""):void 0===A.enableText&&(A.value&&"string"==typeof A.value&&!1!==A.enableText&&""!==A.value.trim()?A.enableText=!0:(A.enableText=!1,A.value=void 0))}}return"undefined"==typeof document||o.document||(o.document=document),o}!function(A){A.radial="radial",A.linear="linear"}(M||(M={})),function(A){A.svg="svg",A.png="png",A.jpeg="jpeg",A.webp="webp"}(H||(H={})),function(A){A.dot="dot",A.randomDot="random-dot",A.rounded="rounded",A.extraRounded="extra-rounded",A.verticalLine="vertical-line",A.horizontalLine="horizontal-line",A.classy="classy",A.classyRounded="classy-rounded",A.square="square",A.smallSquare="small-square",A.tinySquare="tiny-square",A.star="star",A.plus="plus",A.diamond="diamond"}(T||(T={})),function(A){A.dot="dot",A.square="square",A.heart="heart",A.rounded="rounded",A.classy="classy",A.outpoint="outpoint",A.inpoint="inpoint"}(X||(X={})),function(A){A.dot="dot",A.square="square",A.rounded="rounded",A.classy="classy",A.outpoint="outpoint",A.inpoint="inpoint"}(x||(x={})),function(A){A.square="square",A.circle="circle"}(L||(L={})),function(A){A.center="center",A.overlay="overlay",A.background="background"}(K||(K={}));const P={[d.L]:.07,[d.M]:.15,[d.Q]:.25,[d.H]:.3};class v{constructor(A="",e={}){if(A instanceof v)return A;const t=function(A){let e={r:0,g:0,b:0},t=1,i=null,o=null,n=null,g=!1,r=!1;"string"==typeof A&&(A=function(A){const e=/^\s+/,t=/\s+$/;A=A.replace(e,"").replace(t,"").toLowerCase();let i,o=!1;if(v.names[A])A=v.names[A],o=!0;else if("transparent"==A)return{r:0,g:0,b:0,a:0,format:"name"};if(i=mA.rgb.exec(A))return{r:i[1],g:i[2],b:i[3]};if(i=mA.rgba.exec(A))return{r:i[1],g:i[2],b:i[3],a:i[4]};if(i=mA.hsl.exec(A))return{h:i[1],s:i[2],l:i[3]};if(i=mA.hsla.exec(A))return{h:i[1],s:i[2],l:i[3],a:i[4]};if(i=mA.hsv.exec(A))return{h:i[1],s:i[2],v:i[3]};if(i=mA.hsva.exec(A))return{h:i[1],s:i[2],v:i[3],a:i[4]};if(i=mA.hex8.exec(A))return{r:hA(i[1]),g:hA(i[2]),b:hA(i[3]),a:pA(i[4]),format:o?"name":"hex8"};if(i=mA.hex6.exec(A))return{r:hA(i[1]),g:hA(i[2]),b:hA(i[3]),format:o?"name":"hex"};if(i=mA.hex4.exec(A))return{r:hA(i[1]+""+i[1]),g:hA(i[2]+""+i[2]),b:hA(i[3]+""+i[3]),a:pA(i[4]+""+i[4]),format:o?"name":"hex8"};if(i=mA.hex3.exec(A))return{r:hA(i[1]+""+i[1]),g:hA(i[2]+""+i[2]),b:hA(i[3]+""+i[3]),format:o?"name":"hex"};return!1}(A));"object"==typeof A&&(fA(A.r)&&fA(A.g)&&fA(A.b)?(e=function(A,e,t){return{r:255*EA(A,255),g:255*EA(e,255),b:255*EA(t,255)}}(A.r,A.g,A.b),g=!0,r="%"===String(A.r).slice(-1)?"prgb":"rgb"):fA(A.h)&&fA(A.s)&&fA(A.v)?(i=cA(A.s),o=cA(A.v),e=function(A,e,t){A=6*EA(A,360),e=EA(e,100),t=EA(t,100);const i=Math.floor(A),o=A-i,n=t*(1-e),g=t*(1-o*e),r=t*(1-(1-o)*e),I=i%6,s=[t,g,n,n,r,t][I],a=[r,t,t,g,n,n][I],B=[n,n,r,t,t,qw][I];return{r:255*s,g:255*a,b:255*B}}(A.h,i,o),g=!0,r="hsv"):fA(A.h)&&fA(A.s)&&fA(A.l)&&(i=cA(A.s),n=cA(A.l),e=function(A,e,t){let i,o,n;function g(A,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?A+6*(e-A)*t:t<.5?e:t<2/3?A+(e-A)*(2/3-t)*6:A}if(A=EA(A,360),e=EA(e,100),t=EA(t,100),0===e)i=o=n=t;else{const r=t<.5?t*(1+e):t+e-t*e,I=2*t-r;i=g(I,r,A+1/3),o=g(I,r,A),n=g(I,r,A-1/3)}return{r:255*i,g:255*o,b:255*n}}(A.h,i,n),g=!0,r="hsl"),A.hasOwnProperty("a")&&(t=A.a));return t=QA(t),{ok:g,format:A.format||r,r:Math.min(255,Math.max(e.r,0)),g:Math.min(255,Math.max(e.g,0)),b:Math.min(255,Math.max(e.b,0)),a:t}}(A);this._originalInput=A,this._r=t.r,this._g=t.g,this._b=t.b,this._a=t.a,this._roundA=Math.round(100*this._a)/100,this._format=e.format||t.format,this._gradientType=e.gradientType,this._r<1&&(this._r=Math.round(this._r)),this._g<1&&(this._g=Math.round(this._g)),this._b<1&&(this._b=Math.round(this._b)),this._ok=t.ok}isDark(){return this.getBrightness()<128}isLight(){return!this.isDark()}isValid(){return this._ok}getOriginalInput(){return this._originalInput}getFormat(){return this._format}getAlpha(){return this._a}getBrightness(){const A=this.toRgb();return(299*A.r+587*A.g+114*A.b)/1e3}getLuminance(){const A=this.toRgb(),e=A.r/255,t=A.g/255,i=A.b/255;return.2126*(e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4))+.7152*(t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4))+.0722*(i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4))}setAlpha(A){return this._a=QA(A),this._roundA=Math.round(100*this._a)/100,this}toHsv(){const A=_(this._r,this._g,this._b);return{h:360*A.h,s:A.s,v:A.v,a:this._a}}toHsvString(){const A=_(this._r,this._g,this._b),e=Math.round(360*A.h),t=Math.round(100*A.s),i=Math.round(100*A.v);return 1==this._a?`hsv(${e}, ${t}%, ${i}%)`:`hsva(${e}, ${t}%, ${i}%, ${this._roundA})`}toHsl(){const A=z(this._r,this._g,this._b);return{h:360*A.h,s:A.s,l:A.l,a:this._a}}toHslString(){const A=z(this._r,this._g,this._b),e=Math.round(360*A.h),t=Math.round(100*A.s),i=Math.round(100*A.l);return 1==this._a?`hsl(${e}, ${t}%, ${i}%)`:`hsla(${e}, ${t}%, ${i}%, ${this._roundA})`}toHex(A){return $(this._r,this._g,this._b,A)}toHexString(A){return"#"+this.toHex(A)}toHex8(A){return function(A,e,t,i,o){const n=[dA(Math.round(A).toString(16)),dA(Math.round(e).toString(16)),dA(Math.round(t).toString(16)),dA(uA(i))];if(o&&n[0].charAt(0)==n[0].charAt(1)&&n[1].charAt(0)==n[1].charAt(1)&&n[2].charAt(0)==n[2].charAt(1)&&n[3].charAt(0)==n[3].charAt(1))return n[0].charAt(0)+n[1].charAt(0)+n[2].charAt(0)+n[3].charAt(0);return n.join("")}(this._r,this._g,this._b,this._a,A)}toHex8String(A){return"#"+this.toHex8(A)}toRgb(){return{r:Math.round(this._r),g:Math.round(this._g),b:Math.round(this._b),a:this._a}}toRgbString(){return 1==this._a?`rgb(${Math.round(this._r)}, ${Math.round(this._g)}, ${Math.round(this._b)})`:`rgba(${Math.round(this._r)}, ${Math.round(this._g)}, ${Math.round(this._b)}, ${this._roundA})`}toPercentageRgb(){return{r:Math.round(100*EA(this._r,255))+"%",g:Math.round(100*EA(this._g,255))+"%",b:Math.round(100*EA(this._b,255))+"%",a:this._a}}toPercentageRgbString(){return 1==this._a?`rgb(${Math.round(100*EA(this._r,255))}%, ${Math.round(100*EA(this._g,255))}%, ${Math.round(100*EA(this._b,255))}%)`:`rgba(${Math.round(100*EA(this._r,255))}%, ${Math.round(100*EA(this._g,255))}%, ${Math.round(100*EA(this._b,255))}%, ${this._roundA})`}toName(){return 0===this._a?"transparent":!(this._a<1)&&(v.hexNames[$(this._r,this._g,this._b,!0)]||!1)}toFilter(A){const e="#"+AA(this._r,this._g,this._b,this._a);let t=e;const i=this._gradientType?"GradientType = 1, ":"";if(A){const e=new v(A);t="#"+AA(e._r,e._g,e._b,e._a)}return`progid:DXImageTransform.Microsoft.gradient(${i}startColorstr=${e},endColorstr=${t})`}toString(A){const e=!!A;A=A||this._format;let t=!1;const i=this._a<1&&this._a>=0;return e||!i||"hex"!==A&&"hex6"!==A&&"hex3"!==A&&"hex4"!==A&&"hex8"!==A&&"name"!==A?("rgb"===A&&(t=this.toRgbString()),"prgb"===A&&(t=this.toPercentageRgbString()),"hex"!==A&&"hex6"!==A||(t=this.toHexString()),"hex3"===A&&(t=this.toHexString(!0)),"hex4"===A&&(t=this.toHex8String(!0)),"hex8"===A&&(t=this.toHex8String()),"name"===A&&(t=this.toName()),"hsl"===A&&(t=this.toHslString()),"hsv"===A&&(t=this.toHsvString()),t||this.toHexString()):"name"===A&&0===this._a?this.toName():this.toRgbString()}clone(){return new v(this.toString())}_applyModification(A,...e){const t=A(this,...e);return this._r=t._r,this._g=t._g,this._b=t._b,this.setAlpha(t._a),this}lighten(...A){return this._applyModification(oA,...A)}brighten(...A){return this._applyModification(nA,...A)}darken(...A){return this._applyModification(gA,...A)}desaturate(...A){return this._applyModification(eA,...A)}saturate(...A){return this._applyModification(tA,...A)}greyscale(...A){return this._applyModification(iA,...A)}spin(...A){return this._applyModification(rA,...A)}_applyCombination(A,...e){return A(this,...e)}analogous(...A){return this._applyCombination(BA,...A)}complement(...A){return this._applyCombination(IA,...A)}monochromatic(...A){return this._applyCombination(CA,...A)}splitcomplement(...A){return this._applyCombination(aA,...A)}triad(){return this._applyCombination(sA,3)}tetrad(){return this._applyCombination(sA,4)}static fromRatio(A,e){if("object"==typeof A){const e={};for(const t in A)A.hasOwnProperty(t)&&(e[t]="a"===t?A[t]:cA(A[t]));A=e}return new v(A,e)}static equals(A,e){return!(!A||!e)&&new v(A).toRgbString()===new v(e).toRgbString()}static random(){return v.fromRatio({r:Math.random(),g:Math.random(),b:Math.random()})}static mix(A,e,t){t=0===t?0:t||50;const i=new v(A).toRgb(),o=new v(e).toRgb(),n=t/100,g={r:(o.r-i.r)*n+i.r,g:(o.g-i.g)*n+i.g,b:(o.b-i.b)*n+i.b,a:(o.a-i.a)*n+i.a};return new v(g)}static readability(A,e){const t=new v(A),i=new v(e);return(Math.max(t.getLuminance(),i.getLuminance())+.05)/(Math.min(t.getLuminance(),i.getLuminance())+.05)}static isReadable(A,e,t){const i=v.readability(A,e);let o=!1;const n=function(A){let e,t;e=((A=A||{level:"AA",size:"small"}).level||"AA").toUpperCase(),t=(A.size||"small").toLowerCase(),"AA"!==e&&"AAA"!==e&&(e="AA");"small"!==t&&"large"!==t&&(t="small");return{level:e,size:t}}(t);switch(n.level+n.size){case"AAsmall":case"AAAlarge":o=i>=4.5;break;case"AAlarge":o=i>=3;break;case"AAAsmall":o=i>=7}return o}static mostReadable(A,e,t={}){let i,o=null,n=0;const{includeFallbackColors:g,level:r,size:I}=t;for(const t of e)i=v.readability(A,t),i>n&&(n=i,o=new v(t));return v.isReadable(A,o,{level:r,size:I})||!g?o:(t.includeFallbackColors=!1,v.mostReadable(A,["#fff","#000"],t))}}function z(A,e,t){A=EA(A,255),e=EA(e,255),t=EA(t,255);const i=Math.max(A,e,t),o=Math.min(A,e,t);let n,g;const r=(i+o)/2;if(i==o)n=g=0;else{const I=i-o;switch(g=r>.5?I/(2-i-o):I/(i+o),i){case A:n=(e-t)/I+(e<t?6:0);break;case e:n=(t-A)/I+2;break;case t:n=(A-e)/I+4}n/=6}return{h:n,s:g,l:r}}function _(A,e,t){A=EA(A,255),e=EA(e,255),t=EA(t,255);const i=Math.max(A,e,t),o=Math.min(A,e,t);let n;const g=i,r=i-o,I=0===i?0:r/i;if(i==o)n=0;else{switch(i){case A:n=(e-t)/r+(e<t?6:0);break;case e:n=(t-A)/r+2;break;case t:n=(A-e)/r+4}n/=6}return{h:n,s:I,v:g}}function $(A,e,t,i){const o=[dA(Math.round(A).toString(16)),dA(Math.round(e).toString(16)),dA(Math.round(t).toString(16))];return i&&o[0].charAt(0)==o[0].charAt(1)&&o[1].charAt(0)==o[1].charAt(1)&&o[2].charAt(0)==o[2].charAt(1)?o[0].charAt(0)+o[1].charAt(0)+o[2].charAt(0):o.join("")}function AA(A,e,t,i){return[dA(uA(i)),dA(Math.round(A).toString(16)),dA(Math.round(e).toString(16)),dA(Math.round(t).toString(16))].join("")}function eA(A,e){e=0===e?0:e||10;const t=new v(A).toHsl();return t.s-=e/100,t.s=lA(t.s),new v(t)}function tA(A,e){e=0===e?0:e||10;const t=new v(A).toHsl();return t.s+=e/100,t.s=lA(t.s),new v(t)}function iA(A){return new v(A).desaturate(100)}function oA(A,e){e=0===e?0:e||10;const t=new v(A).toHsl();return t.l+=e/100,t.l=lA(t.l),new v(t)}function nA(A,e){e=0===e?0:e||10;const t=new v(A).toRgb();return t.r=Math.max(0,Math.min(255,t.r-Math.round(-e/100*255))),t.g=Math.max(0,Math.min(255,t.g-Math.round(-e/100*255))),t.b=Math.max(0,Math.min(255,t.b-Math.round(-e/100*255))),new v(t)}function gA(A,e){e=0===e?0:e||10;const t=new v(A).toHsl();return t.l-=e/100,t.l=lA(t.l),new v(t)}function rA(A,e){const t=new v(A).toHsl(),i=(t.h+e)%360;return t.h=i<0?360+i:i,new v(t)}v.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",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",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",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:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},v.hexNames=function(A){const e={};for(const t in A)A.hasOwnProperty(t)&&(e[A[t]]=t);return e}(v.names);const IA=A=>{const e=new v(A).toHsl();return e.h=(e.h+180)%360,new v(e)},sA=(A,e)=>{if(isNaN(e)||e<=0)throw new Error("Argument to polyad must be a positive number");const t=new v(A).toHsl(),i=[new v(A)],o=360/e;for(let A=1;A<e;A++)i.push(new v({h:(t.h+A*o)%360,s:t.s,l:t.l}));return i};function aA(A){const e=new v(A).toHsl(),t=e.h;return[new v(A),new v({h:(t+72)%360,s:e.s,l:e.l}),new v({h:(t+216)%360,s:e.s,l:e.l})]}function BA(A,e,t){e=e||6,t=t||30;const i=new v(A).toHsl(),o=360/t,n=[new v(A)];for(i.h=(i.h-(o*e>>1)+720)%360;--e;)i.h=(i.h+o)%360,n.push(new v(i));return n}function CA(A,e){e=e||6;const t=new v(A).toHsv(),i=t.h,o=t.s;let n=t.v;const g=[],r=1/e;for(;e--;)g.push(new v({h:i,s:o,v:n})),n=(n+r)%1;return g}function QA(A){return A=parseFloat(A),(isNaN(A)||A<0||A>1)&&(A=1),A}function EA(A,e){(function(A){return"string"==typeof A&&-1!=A.indexOf(".")&&1===parseFloat(A)})(A)&&(A="100%");const t=function(A){return"string"==typeof A&&-1!=A.indexOf("%")}(A);return A=Math.min(e,Math.max(0,parseFloat(A))),t&&(A=parseInt(A*e,10)/100),Math.abs(A-e)<1e-6?1:A%e/parseFloat(e)}function lA(A){return Math.min(1,Math.max(0,A))}function hA(A){return parseInt(A,16)}function dA(A){return 1==A.length?"0"+A:""+A}function cA(A){return A<=1&&(A=100*A+"%"),A}function uA(A){return Math.round(255*parseFloat(A)).toString(16)}function pA(A){return hA(A)/255}const mA=(()=>{const A="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)",e=`[\\s|\\(]+(${A})[,|\\s]+(${A})[,|\\s]+(${A})\\s*\\)?`,t=`[\\s|\\(]+(${A})[,|\\s]+(${A})[,|\\s]+(${A})[,|\\s]+(${A})\\s*\\)?`;return{CSS_UNIT:new RegExp(A),rgb:new RegExp("rgb"+e),rgba:new RegExp("rgba"+t),hsl:new RegExp("hsl"+e),hsla:new RegExp("hsla"+t),hsv:new RegExp("hsv"+e),hsva:new RegExp("hsva"+t),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}})();function fA(A){return!!mA.CSS_UNIT.exec(A)}function DA(A,e){A.decorations||(A.decorations={}),["top","right","bottom","left"].forEach((t=>{A.decorations[t]||(A.decorations[t]={}),A.decorations[t].style||(A.decorations[t].style={}),A.decorations[t].style.fontColor=e}))}function wA(A){const e={};if((A.primaryColor||A.dotsGradient)&&(e.dotsOptions={...e.dotsOptions,...A.primaryColor&&{color:A.primaryColor},...A.dotsGradient&&{gradient:A.dotsGradient}}),(A.secondaryColor||A.cornersGradient)&&(e.cornersSquareOptions={...e.cornersSquareOptions,...A.secondaryColor&&{color:A.secondaryColor},...A.cornersGradient&&{gradient:A.cornersGradient}},e.cornersDotOptions={...e.cornersDotOptions,...A.secondaryColor&&{color:A.secondaryColor}}),(A.thirdColor||A.cornersDotGradient)&&(e.cornersDotOptions={...e.cornersDotOptions,...A.thirdColor&&{color:A.thirdColor},...A.cornersDotGradient&&{gradient:A.cornersDotGradient}}),(A.backgroundColor||A.backgroundGradient)&&(e.backgroundOptions={...e.backgroundOptions,...A.backgroundColor&&{color:A.backgroundColor},...A.backgroundGradient&&{gradient:A.backgroundGradient}}),A.dotShape&&(e.dotsOptions={...e.dotsOptions,type:A.dotShape}),A.cornerSquareShape&&(e.cornersSquareOptions={...e.cornersSquareOptions,type:A.cornerSquareShape}),A.cornerDotShape&&(e.cornersDotOptions={...e.cornersDotOptions,type:A.cornerDotShape}),A.logo&&(e.image=A.logo),(void 0!==A.logoSize||A.logoMode||void 0!==A.logoMargin||A.logoBackgroundColor||void 0!==A.logoPadding||void 0!==A.logoRadius)&&(e.imageOptions={...e.imageOptions,...void 0!==A.logoSize&&{imageSize:A.logoSize},...A.logoMode&&{mode:A.logoMode},...void 0!==A.logoMargin&&{margin:A.logoMargin},...A.logoBackgroundColor&&{backgroundColor:A.logoBackgroundColor},...void 0!==A.logoPadding&&{padding:A.logoPadding},...void 0!==A.logoRadius&&{radius:A.logoRadius}}),A.borderColor||void 0!==A.borderThickness||void 0!==A.borderRadius||A.borderInnerColor||void 0!==A.borderInnerThickness||void 0!==A.borderInnerRadius||A.borderOuterColor||void 0!==A.borderOuterThickness||A.borderTextTop||A.borderTextRight||A.borderTextBottom||A.borderTextLeft||A.borderFontFace||void 0!==A.borderFontSize||A.borderFontColor||void 0!==A.borderLetterSpacing||A.borderTextTransform||A.borderFontWeight){e.borderOptions||(e.borderOptions={});const t=e.borderOptions;A.borderColor&&(t.color=A.borderColor),void 0!==A.borderThickness&&(t.thickness=A.borderThickness),void 0!==A.borderRadius&&(t.radius=String(A.borderRadius)),void 0===A.borderInnerColor&&void 0===A.borderInnerThickness||(t.borderInner||(t.borderInner={}),void 0!==A.borderInnerColor&&(t.borderInner.color=A.borderInnerColor),void 0!==A.borderInnerThickness&&(t.borderInner.thickness=A.borderInnerThickness)),void 0!==A.borderInnerRadius&&(t.inner||(t.inner={}),t.inner.radius=String(A.borderInnerRadius)),void 0===A.borderOuterColor&&void 0===A.borderOuterThickness||(t.borderOuter||(t.borderOuter={}),void 0!==A.borderOuterColor&&(t.borderOuter.color=A.borderOuterColor),void 0!==A.borderOuterThickness&&(t.borderOuter.thickness=A.borderOuterThickness));const i={};A.borderFontFace&&(i.fontFace=A.borderFontFace),void 0!==A.borderFontSize&&(i.fontSize=A.borderFontSize),A.borderFontColor&&(i.fontColor=A.borderFontColor),void 0!==A.borderLetterSpacing&&(i.letterSpacing=A.borderLetterSpacing),A.borderTextTransform&&(i.textTransform=A.borderTextTransform),A.borderFontWeight&&(i.fontWeight=A.borderFontWeight),t.decorations||(t.decorations={});const o=t.decorations?JSON.parse(JSON.stringify(t.decorations)):{};let n=!1;Object.keys(i).length>0&&(n=!0,["top","right","bottom","left"].forEach((A=>{o[A]||(o[A]={}),o[A].style||(o[A].style={}),o[A].style={...o[A].style,...i}}))),["top","right","bottom","left"].forEach((e=>{var t,g;const r=`borderText${e.charAt(0).toUpperCase()+e.slice(1)}`,I=A[r];var s;void 0!==I?(o[e]||(o[e]={}),o[e]={...o[e],value:I,enableText:!0,style:{...(null===(s=o[e])||void 0===s?void 0:s.style)||{},...i}},n=!0):null!==(t=o[e])&&void 0!==t&&t.value&&Object.keys(i).length>0&&(null===(g=o[e])||void 0===g||!g.style)&&(o[e].style||(o[e].style={}),o[e].style={...o[e].style,...i},n=!0)})),n&&(t.decorations=o)}if(!!(A.primaryColor||A.secondaryColor||A.thirdColor||A.backgroundColor)){e.borderOptions||(e.borderOptions={});const t=e.borderOptions;if(A.secondaryColor&&!A.borderColor){const e=new v(A.secondaryColor).isDark();t.color=new v(A.primaryColor).darken(e?-12:12).toString()}if(A.thirdColor&&!A.borderInnerColor&&(t.borderInner||(t.borderInner={}),t.borderInner.color=new v(A.thirdColor).darken(2).toString()),A.primaryColor&&!A.borderOuterColor&&(t.borderOuter=t.borderOuter||{},t.borderOuter.color=new v(A.primaryColor).darken(2).toString()),A.backgroundColor&&!A.borderFontColor&&t.color){const e=new v(A.backgroundColor),i=new v(t.color),o=v.readability(e,i),n=e.isDark();if(o<2){DA(t,(n?e.lighten(15):e.darken(15)).toString())}else{DA(t,(n?e.lighten(20):e.lighten(10)).toString())}}}return e}function yA(A){const e=[];return void 0!==A.logoSize&&("number"!=typeof A.logoSize||A.logoSize<0||A.logoSize>1)&&e.push("logoSize must be a number between 0 and 1."),{isValid:0===e.length,errors:e}}class FA{constructor(){}close(){}}class SA extends FA{constructor(A){super(),this.istream=A,this.buffer=0,this.buflen=0}readByte(){for(;this.buflen<8;){const A=this.istream.readByte();if(-1==A){if(0==this.buflen)return-1;throw new Error("unexpected end of file./"+this.buflen)}if(A=="=".charCodeAt(0))return this.buflen=0,-1;SA.isWhitespace(A)||(this.buffer=this.buffer<<6|SA.decode(A),this.buflen+=6)}const A=this.buffer>>>this.buflen-8&255;return this.buflen-=8,A}static isWhitespace(A){return A=="\v".charCodeAt(0)||A=="\t".charCodeAt(0)||A=="\r".charCodeAt(0)||A=="\n".charCodeAt(0)}static decode(A){if("A".charCodeAt(0)<=A&&A<="Z".charCodeAt(0))return A-"A".charCodeAt(0);if("a".charCodeAt(0)<=A&&A<="z".charCodeAt(0))return A-"a".charCodeAt(0)+26;if("0".charCodeAt(0)<=A&&A<="9".charCodeAt(0))return A-"0".charCodeAt(0)+52;if(A=="+".charCodeAt(0))return 62;if(A=="/".charCodeAt(0))return 63;throw new Error("c:"+A)}}class RA extends FA{constructor(A){super(),this.bytes=A,this.pos=0}readByte(){if(this.pos<this.bytes.length){const A=this.bytes[this.pos];return this.pos+=1,A}return-1}}(function(A,e){const t=(()=>{const t=new SA(new RA(function(A){const e=[];for(let t=0;t<A.length;t+=1)e.push(A.charCodeAt(t));return e}(A))),i=()=>{const A=t.readByte();if(-1==A)throw new Error("eof");return A};let o=0;const n={};for(;;){const A=t.readByte();if(-1==A)break;const e=i(),g=i()<<8|i();n[String.fromCharCode(A<<8|e)]=g,o+=1}if(o!=e)throw new Error(o+"!="+e);return n})(),i="?".charCodeAt(0)})("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MIWC4zCGguQwh4LlMIiC5jCJgucwioLoMIuC6TCMguowjYLrMI6C7DCPgu0wkILuMJGC7zCSgvAwk4LxMJuBSjCcgUswnYFUMJ6BVTChg0AwooNBMKODQjCkg0MwpYNEMKaDRTCng0YwqINHMKmDSDCqg0kwq4NKMKyDSzCtg0wwroNNMK+DTjCwg08wsYNQMLKDUTCzg1IwtINTMLWDVDC2g1Uwt4NWMLiDVzC5g1gwuoNZMLuDWjC8g1swvYNcML6DXTC/g14wwINfMMGDYDDCg2Eww4NiMMSDYzDFg2QwxoNlMMeDZjDIg2cwyYNoMMqDaTDLg2owzINrMM2DbDDOg20wz4NuMNCDbzDRg3Aw0oNxMNODcjDUg3Mw1YN0MNaDdTDXg3Yw2IN3MNmDeDDag3kw24N6MNyDezDdg3ww3oN9MN+DfjDgg4Aw4YOBMOKDgjDjg4Mw5IOEMOWDhTDmg4Yw54OHMOiDiDDpg4kw6oOKMOuDizDsg4ww7YONMO6DjjDvg48w8IOQMPGDkTDyg5Iw84OTMPSDlDD1g5Uw9oOWMPuBRTD8gVsw/YFSMP6BU04AiOpOAZKaTgOOtU4HlpxOCI/kTgmOT04Kj+NOC4m6Tg2Vc04Ol15OEJigThGJTk4Uio5OFZihThaQok4XmcBOGIt1ThmVuE4ej+VOIZe8TiaVwE4qmKJOLZKGTjGYo04yi/hONpikTjiK2045kk9OO47lTjyYpU4/mKZOQpinTkOUVE5Fi3ZOS5RWTk2T4U5OjMFOT5ZSTlXlaE5WmKhOV4/mTliYqU5ZibNOXYvjTl6M7k5fludOYpukTnGXkE5zk/tOfoqjToCLVE6CmKpOhZirToaXuU6Il1xOiZGIToqYrU6LjpZOjJPxTo6YsE6RiV1OkozdTpSM3E6ViOROmJhqTpmYaU6bjbFOnIifTp6YsU6fmLJOoJizTqGWU06imLROpIzwTqWI5U6mlpJOqIucTquLnU6si55OrZLgTq6Xuk6wmLVOs5i2TraYt066kGxOwI9ZTsGQbU7CmLxOxJi6TsaYu07Hi3dOyo2hTsuJ7k7NmLlOzpi4Ts+Vp07UjmVO1Y5kTtaRvE7XmL1O2JV0TtmQ5U7dgVdO3pi+Tt+YwE7jkeNO5JffTuWIyE7tmL9O7om8TvCLwk7ykodO9oyPTveYwU77lENPAYrpTwmYwk8KiMlPDYzeTw6K6k8PlZpPEJSwTxGLeE8aie9PHJjlTx2TYE8vlIxPMJjETzSUuk82l+BPOJBMTzqOZk88jpdPPYm+T0OSz09GkkFPR5jIT02Iyk9OkuFPT49aT1CNsk9Rl0NPU5HMT1WJvU9XmMdPWZddT1qYw09bmMVPXI3sT12Yxk9em0NPaZjOT2+Y0U9wmM9Pc4nAT3WVuU92mMlPe5jNT3yM8U9/jmdPg4qkT4aY0k+ImMpPi5fhT42OmE+PmMtPkZjQT5aY00+YmMxPm4ufT52Iy0+gi6BPoYm/T6ubRE+tlplPrpWOT6+M8k+1kE5Ptpe1T7+V1k/CjFdPw5GjT8SJ4k/Kj3JPzpjXT9CY3E/RmNpP1JjVT9eRrU/YmNhP2pjbT9uY2U/dldtP35jWT+GQTU/jlpNP5JjdT+WY3k/uj0NP75jrT/OUb0/1lVVP9pjmT/iV7k/6ibRP/pjqUAWY5FAGmO1QCZFxUAuMwlANlHtQD+DFUBGY7FASk3xQFJjhUBaM9FAZjPNQGpjfUB+O2FAhmOdQI5XtUCSSbFAlmONQJoyRUCiY4FApmOhQKpjiUCuXz1AsmOlQLZhgUDaL5FA5jJBQQ5juUEeY71BImPNQSYjMUE+VzlBQmPJQVZjxUFaY9VBamPRQXJLiUGWMklBsmPZQco7DUHSRpFB1kuNQdov0UHiY91B9i1VQgJj4UIWY+lCNllRQkYyGUJiOUFCZlPVQmpj5UKyNw1Ctl2JQspj8ULOZQlC0mPtQtY3CULePnVC+jFhQwplDUMWLzVDJmUBQyplBUM2TrVDPkZxQ0YuhUNWWbFDWmURQ2pe7UN6ZRVDjmUhQ5ZlGUOeRbVDtmUdQ7plJUPWZS1D5mUpQ+5XGUQCLVlEBmU1RAplOUQSJrVEJmUxREo7yURSZUVEVmVBRFplPURiY1FEamVJRH4+eUSGZU1Eql0RRMpbXUTeZVVE6mVRRO5lXUTyZVlE/mVhRQJlZUUGI8lFDjLNRRIxaUUWPW1FGkptRR4uiUUiQ5lFJjPVRS42OUUyZW1FNlsZRTpNlUVCOmVFSmVpRVJlcUVqTfVFcipVRYpldUWWT/FFokVNRaZlfUWqZYFFrlKpRbIz2UW2YWlFumWFRcYukUXWVulF2kbRRd4vvUXiTVFF8jJNRgJliUYKZY1GFk+BRhol+UYmZZlGKjftRjJllUY2NxFGPmWdRkOPsUZGZaFGSlmBRk5lpUZWZalGWmWtRl4/nUZmOylGgiqVRopluUaSZbFGllrtRppltUaiVeVGpmW9RqplwUauZcVGsk35RsJl1UbGZc1GymXRRs5lyUbSN4VG1mXZRtpboUbeX4lG9mXdRxJCmUcWZeFHGj3lRyZl5UcuSnFHMl71RzZOAUdaZw1HbmXpR3OqjUd2Lw1HgmXtR4ZZ9UeaPiFHnkfpR6Zl9UeqT4lHtmX5R8JmAUfGKTVH1mYFR9oulUfiTylH5iZpR+o9vUf2Un1H+mYJSAJOBUgOQblIEmYNSBpWqUgeQ2FIIiqBSCoqnUguZhFIOmYZSEYxZUhSZhVIXl/FSHY+JUiSUu1IllcpSJ5mHUimXmFIqmYhSLpmJUjCTnlIzmYpSNpCnUjeN/FI4jJRSOZmLUjqOaFI7jY9SQ5LkUkSZjVJHkaVSSo3tUkuZjlJMmY9STZFPUk+ZjFJUmZFSVpZVUluNhFJemZBSY4yVUmSN3FJllI1SaZmUUmqZklJvlZtScI/oUnGZm1JyioRSc5mVUnSZk1J1kW5SfZmXUn+ZllKDimNSh4yAUoiZnFKJl6tSjZmYUpGZnVKSmZpSlJmZUpuXzVKfjPdSoInBUqOX8lKpj5VSqpN3UquNhVKsmaBSrZmhUrGX41K0mEpStZmjUrmM+FK8maJSvopOUsGZpFLDlnVSxZK6UseXRVLJlddSzZmlUtLo01LVk65S15mmUtiKqFLZlrFS3Y+fUt6Zp1LfleVS4JmrUuKQqFLjmahS5IvOUuaZqVLniqlS8oxNUvOZrFL1ma1S+JmuUvmZr1L6jtlS/oz5Uv+W3FMBluZTApP1UwWV71MGmbBTCJmxUw2Zs1MPmbVTEJm0UxWZtlMWibtTF5ZrUxmN+lMambdTHZF4UyCPoFMhi6dTI5m4UyqU2VMvmblTMZm6UzOZu1M4mbxTOZVDUzqL5lM7iONTP5O9U0CZvVNBj1xTQ5DnU0WZv1NGmb5TR4+hU0iM31NJmcFTSpS8U02ZwlNRlNpTUpGyU1OR7FNUi6ZTV5PsU1iSUFNalI5TXJZtU16ZxFNgkOhTZoxUU2mZxVNumcZTb4lLU3CI81NxiutTc5GmU3SLcFN1l5FTd5nJU3iJtVN7mchTf4uoU4KZylOElu9TlpnLU5iX0FOajPpTn4y0U6CZzFOlmc5TppnNU6iQflOpiVhTrYl9U66Zz1OwmdBTs4y1U7aZ0VO7i45Two5RU8OZ0lPIlpRTyY2zU8qLeVPLl0ZTzJFvU82UvVPOjvtT1I9mU9aO5lPXjvNT2Y+WU9uUvlPfmdVT4YliU+KRcFPjjPtT5IzDU+WL5VPomdlT6ZJAU+qR/FPri6lT7I+iU+2Z2lPumdhT74nCU/CR5FPxjrZT8o5qU/OJRVP2ipBT942GU/iOaVP6mdtUAZncVAOLaFQEimVUCI2HVAmLZ1QKkt1UC4lEVAyTr1QNlrxUDo1AVA+XmVQQk2ZUEYz8VBuMTlQdmeVUH4vhVCCWaVQmlNtUKZnkVCuK3FQsmd9ULZngVC6Z4lQ2meNUOIt6VDmQgVQ7latUPJnhVD2Z3VQ+jOFUQJneVEKYQ1RGlfBUSJLmVEmM4FRKjZBUTpnmVFGT21RfmepUaI78VGqO9FRwme1UcZnrVHOWoVR1mehUdpnxVHeZ7FR7me9UfIzEVH2WvVSAmfBUhJnyVIaZ9FSLje5UjJhhVI6Z6VSPmedUkJnzVJKZ7lSimfZUpJpCVKWZ+FSomfxUq5pAVKyZ+VSvml1Uso3nVLOKUFS4mfdUvJpEVL2I9FS+mkNUwIijVMGVaVTCmkFUxJn6VMeZ9VTImftUyY3GVNiaRVThiPVU4ppOVOWaRlTmmkdU6I+jVOmWiVTtmkxU7ppLVPKTTlT6mk1U/ZpKVQSJU1UGjbRVB5BPVQ+aSFUQk4JVFJpJVRaIoFUumlNVL5dCVTGPpVUzmllVOJpYVTmaT1U+kcFVQJpQVUSR7VVFmlVVRo+kVUyaUlVPluJVU4xbVVaaVlVXmldVXJpUVV2aWlVjmlFVe5pgVXyaZVV+mmFVgJpcVYOaZlWEkVBVh5poVYmNQVWKml5Vi5KdVZiaYlWZmltVmoqrVZyK7FWdioVVnppjVZ+aX1WnjJZVqJppVamaZ1WqkXJVq4tpVayLqlWummRVsIvyVbaJY1XEmm1VxZprVceapVXUmnBV2ppqVdyablXfmmxV445rVeSab1X3mnJV+Zp3Vf2adVX+mnRWBpJRVgmJw1YUmnFWFppzVhePplYYiVJWG5p2VimJ3FYvmoJWMY/6VjKafVY0mntWNpp8VjiaflZCiVxWTJFYVk6aeFZQmnlWW4qaVmSagVZoiu1WapqEVmuagFZsmoNWdJWsVniT01Z6lLZWgJqGVoaahVaHimRWipqHVo+ailaUmolWoJqIVqKUWFalmotWrpqMVrSajla2mo1WvJqQVsCak1bBmpFWwpqPVsOaklbImpRWzpqVVtGallbTmpdW15qYVtiZZFbajvpW245sVt6J8VbgiPZW45JjVu6amVbwjaJW8ojNVvOQfVb5mppW+ozFVv2NkVb/mpxXAJqbVwOV3lcEmp1XCJqfVwmanlcLmqBXDZqhVw+Ml1cSiYBXE5qiVxaapFcYmqNXHJqmVx+TeVcmmqdXJ4izVyiN3VctjFxXMJJuVzeaqFc4mqlXO5qrV0CarFdCjeJXR4vPV0qWVldOmqpXT5qtV1CNv1dRjUJXYZqxV2SNo1dmklJXaZquV2qS2Fd/mrJXgpCCV4iasFeJmrNXi4xeV5OatFegmrVXoo1DV6OKX1ekmrdXqpq4V7CauVezmrZXwJqvV8OaulfGmrtXy5aEV86P6VfSmr1X05q+V9SavFfWmsBX3JRXV9+I5lfglXVX45rBV/SP+1f3jrdX+ZR8V/qK7lf8jelYAJZ4WAKTsFgFjJhYBpHNWAqav1gLmsJYFZHCWBmaw1gdmsRYIZrGWCSS51gqiqxYL+qfWDCJgVgxlfFYNI/qWDWTZ1g6jeRYPZrMWECVu1hBl9tYSonyWEuayFhRkVlYUprLWFSTg1hXk2hYWJOEWFmUt1hakstYXo3HWGKax1hpiZZYa5NVWHCayVhymsVYdZBvWHmazVh+j21Yg4urWIWazliTleZYl5GdWJySxFifmtBYqJZuWKua0ViumtZYs5WtWLia1Vi5ms9YuprSWLua1Fi+jaRYwZXHWMWa11jHkmRYyonzWMyP61jRmtlY05rYWNWNiFjXmtpY2JrcWNma21jcmt5Y3prTWN+a4Fjkmt9Y5ZrdWOuObVjskHBY7pFzWO+a4VjwkLpY8YjrWPKUhFj3ktlY+ZrjWPqa4lj7muRY/JrlWP2a5lkCmudZCZXPWQqa6FkPicRZEJrpWRWXW1kWik9ZGJnHWRmPZ1kakb1ZG5rqWRyW6VkilrJZJZrsWSeR5Vkpk1ZZKpG+WSuVdlksmu1ZLZruWS6Jm1kxjrhZMprvWTeIzlk4mvBZPprxWUSJgllHiu9ZSJPeWUmV8llOmvVZT5F0WVCa9FlRjF9ZVJZ6WVWa81lXk4VZWJr3WVqa9llgmvlZYpr4WWWJnFlnmvpZaI+nWWma/FlqkkRZbJr7WW6VsVlzj5dZdJN6WXibQFl9jURZgZtBWYKUQFmDlNxZhJbPWYqURFmNm0pZk4tXWZaXZFmZlq1Zm5uqWZ2bQlmjm0VZpZHDWaiWV1msk2lZsptGWbmWhVm7jchZvo+oWcabR1nJjm9Zy45uWdCIt1nRjMZZ05CpWdSIz1nZm0tZ2ptMWdybSVnliVdZ5oqtWeibSFnqlsNZ65VQWfaIpln7iPdZ/45wWgGI0FoDiKFaCZtRWhGbT1oYlrpaGptSWhybUFofm05aIJBQWiWbTVopldhaL4ziWjWbVlo2m1daPI+pWkCbU1pBmEtaRpRrWkmbVVpajaVaYptYWmaVd1pqm1labJtUWn+WuVqSlH1amptaWpuVUVq8m1tavZtfWr6bXFrBicVawpteWsmOuVrLm11azIyZWtCba1rWm2Ra15thWuGShFrjm2Ba5ptiWumbY1r6m2Va+5tmWwmK8FsLm2hbDJtnWxabaVsij+xbKptsWyyS2lswiWRbMptqWzabbVs+m25bQJtxW0Obb1tFm3BbUI5xW1GbcltUjUVbVZtzW1eOmltYkbZbWpt0W1ubdVtcjnlbXY1GW1+W0Ftji0dbZIzHW2WbdltmindbaZt3W2uRt1twm3hbcZuhW3ObeVt1m3pbeJt7W3qbfVuAm35bg5uAW4WR7luHiUZbiI7nW4mIwFuLkXZbjIquW42Os1uPjUdblZOGW5ePQFuYiq9bmZKIW5qS6FubiLZbnItYW52V81ufjsBbootxW6OQ6VukjrpbpZdHW6abgVuui3tbsI3JW7OKUVu0iYNbtY+qW7aJxlu4m4JbuZdlW7+PaFvCjuJbw5uDW8SK8VvFk9BbxpanW8ebhFvJm4VbzJV4W9Cbh1vSiqZb04v1W9SbhlvbirBb3ZBRW96bi1vfjkBb4YnHW+Kbilvkm4hb5ZuMW+abiVvnlEpb6J7LW+mQUlvrm41b7pe+W/Cbjlvzm5Bb9ZKeW/abj1v4kKFb+o6bW/6Rzlv/jvVcAZWVXAKQ6lwEjstcBZuRXAaPq1wHm5JcCJuTXAmI0VwKkbhcC5BxXA2blFwOk7FcD4+sXBGPrVwTm5VcFpDrXBqPrlwgm5ZcIpuXXCSW3lwom5hcLYvEXDGPQVw4m5lcOZuaXDqO2lw7kEtcPJPyXD2Qc1w+lPZcP5RBXECLx1xBm5tcRYuPXEabnFxIi/xcSpPNXEuJrlxNjnJcTpudXE+boFxQm59cUYv7XFObnlxVk1dcXpGuXGCTalxhjsZcZJF3XGWXmlxsm6JcbpujXG+T1FxxjlJcdpulXHmbplyMm6dckIryXJGbqFyUm6lcoYmqXKiRWlypiuJcq5urXKyWplyxkdBcs4p4XLabrVy3m69cuIrdXLubrFy8m65cvpuxXMWbsFzHm7Jc2ZuzXOCTu1zhi6xc6InjXOmbtFzqm7lc7Zu3XO+V9VzwlfRc9pOHXPqbtlz7j3Nc/Zu1XQeQkl0Lm7pdDo3oXRGbwF0Um8FdFZu7XRaKUl0Xm7xdGJvFXRmbxF0am8NdG5u/XR+bvl0im8JdKZX2XUubyV1Mm8ZdTpvIXVCXkl1Sm8ddXJu9XWmQk11sm8pdb421XXOby112m8xdgpvPXYSbzl2Hm81di5OIXYybuF2Qm9VdnZvRXaKb0F2sm9JdrpvTXbeb1l26l+RdvJvXXb2b1F3Jm9hdzIreXc2b2V3Sm9td05vaXdab3F3bm91d3ZDsXd6PQl3hj4Rd45GDXeWNSF3mjbZd541JXeiLkF3rm95d7o23XfGMyF3ym99d85akXfSUYl31m+Bd941KXfuKql39kkZd/ovQXgKOc14DlXpeBpS/Xgub4V4MivNeEZvkXhaSn14Zm+NeGpviXhub5V4dkuleJZCDXiuOdF4tkMheL5HRXjCLQV4zkqBeNpvmXjeb5144j+1ePZZYXkCb6l5Dm+leRJvoXkWVnV5Hm/FeTJZ5Xk6b615Um+1eVZaLXleb7F5fm+5eYZSmXmKb715jlbxeZJvwXnKKsV5zlb1edJROXnWb8l52m/NeeI1LXnmKsl56m/Ree4y2XnyXY159l0hefor0Xn+b9l6BkqFeg41MXoSPr16HlN1eio+wXo+PmF6VkupelpX3XpeTWF6ajU1enJV7XqCb916mk3hep43AXquMyV6tkutetYjBXraPjl63jU5euJdmXsGb+F7Cm/lew5RwXsib+l7Jl/VeyphMXs+b/F7Qm/te04pmXtacQF7anENe25xEXt2cQl7flV9e4I+xXuGcRl7inEVe45xBXuicR17pnEhe7JxJXvCcTF7xnEpe85xLXvScTV72iYRe95LsXvicTl76jJpe+4n0XvyUVV7+nE9e/5P5XwGV2V8DnFBfBJhNXwmcUV8Klb5fC5xUXwyYn18NmK9fD46uXxCT818RnFVfE4t8XxSSol8ViPhfFpxWXxeVpF8YjU9fG5JvXx+S7V8llu1fJoy3XyeMyl8pnFdfLZxYXy+cXl8xjuNfNZKjXzeLrV84nFlfPJVKXz6SZV9BnFpfSJxbX0qLrl9MnFxfTpxdX1GcX19Tk5ZfVpxgX1ecYV9ZnGJfXJxTX12cUl9hnGNfYoxgX2aVRl9pjcpfapVWX2uSpF9slWpfbZxkX3CPsl9xiWVfc5xlX3ecZl95lvBffJTeX3+caV+AiZ1fgZCqX4KcaF+DnGdfhIxhX4WR0l+HnG1fiJxrX4qcal+Ll6VfjIzjX5CPmV+RnGxfkpNrX5OPXV+Xk75fmJxwX5mcb1+enG5foJxxX6GM5F+onHJfqZWcX6qPel+tnHNfrpT3X7OTv1+0kqVfuZNPX7ycdF+9i0pfw5BTX8WVS1/MivVfzZRFX9acdV/XjnVf2JZZX9mWWl/ciZ5f3Zx6X+CSiV/knHdf64n1X/Ccq1/xnHlf9ZRPX/iceF/7nHZf/Y2aX/+cfGAOnINgD5yJYBCcgWASk3tgFZyGYBaVfGAZnIBgG5yFYByX5WAdjnZgIJHTYCGcfWAli31gJpyIYCeQq2AoiYVgKZyCYCqJ9mArnIdgL4uvYDGchGA6nIpgQZyMYEKclmBDnJRgRpyRYEqckGBLl/ZgTZySYFCLsGBSjVBgVY+aYFmcmWBanItgX5yPYGCcfmBiifhgY5yTYGSclWBlknBgaI2mYGmJtmBqnI1ga5yYYGycl2Bti7Fgb5GnYHCKhmB1jGJgd5yOYIGcmmCDnJ1ghJyfYImOu2CLnKVgjJLuYI2cm2CSnKNglIn3YJacoWCXnKJgmpyeYJucoGCfjOVgoJdJYKOKs2CmiXhgp5ykYKmUWWCqiKtgspTfYLOce2C0nKpgtZyuYLaW42C4nKdgvJOJYL2crGDFj+5gxpytYMeT1WDRmGZg05ypYNicr2DajZtg3JDJYN+I0mDgnKhg4ZymYOOReWDnnJxg6I5TYPCRxGDxnLtg85F6YPSctmD2nLNg95y0YPmO5GD6nLdg+5y6YQCctWEBj0RhA5y4YQacsmEIlvphCZb5YQ2cvGEOnL1hD4jTYRWcsWEai/BhG4ikYR+KtGEhnLlhJ5zBYSicwGEsnMVhNJzGYTycxGE9nMdhPpy/YT+cw2FCnMhhRJzJYUecvmFIjpxhSpzCYUuR1GFMjVFhTZywYU6QVGFTnNZhVZXnYViczGFZnM1hWpzOYV2c1WFfnNRhYpadYWOKtWFlnNJhZ4xkYWiKU2FrnM9hbpe2YW+c0WFwiNRhcZzTYXOcymF0nNBhdZzXYXaMY2F3nMthfpd8YYKXSmGHnNphipzeYY6RnmGQl/dhkZzfYZSc3GGWnNlhmZzYYZqc3WGkla5hp5OyYamMZWGrnOBhrJzbYa6c4WGyjJthtomvYbqc6WG+irZhw5znYcac6GHHjadhyJzmYcmc5GHKnONhy5zqYcyc4mHNnOxh0In5YeOc7mHmnO1h8pKmYfSc8WH2nO9h95zlYfiMnGH6nPBh/Jz0Yf2c82H+nPVh/5zyYgCc9mIInPdiCZz4YgqV6GIMnPpiDZz5Yg6PXmIQkKxiEYnkYhKJ+mIUnPtiFoi9YhqQymIbnPxiHebBYh6dQGIfjIFiIZ1BYiaQ7WIqnUJiLp1DYi+LWWIwnURiMp1FYjOdRmI0kdViOIzLYjuW32I/lltiQI+KYkGdR2JHkO5iSOe7YkmU4GJLjuhiTY3LYk6dSGJTkcViVZWlYliR72JbnUtiXp1JYmCdTGJjnUpiaJ1NYm6Vr2JxiLVidpV9YnmU4WJ8nU5ifp1RYn+Ps2KAi1pigp1PYoOdVmKEj7RiiZ1QYoqUY2KRl31ikp1SYpOdU2KUnVdilZOKYpadVGKXjVJimJDcYpudZWKclLJinpHwYquU4mKsnatisZX4YrWS72K5lpViu51aYryJn2K9kopiwp1jYsWSU2LGnV1ix51kYsidX2LJnWZiyp1iYsydYWLNlI9iz51bYtCJ+2LRnVli0ouRYtOR8WLUnVVi151YYtiNU2LZkNli24+1YtydYGLdlHFi4IuSYuGKZ2Lsiodi7ZBAYu6daGLvnW1i8Z1pYvOMnWL1nW5i9o5BYveNiWL+j0Vi/51cYwGOnWMCnWtjB453YwidbGMJiMJjDJ1nYxGSp2MZi5NjH4uyYyedamMoiKVjK43BYy+QVWM6kvBjPZTSYz6dcGM/kX1jSZGoY0yOSmNNnXFjT51zY1Cdb2NVld9jV5K7Y1yRe2NnlfljaI7MY2mdgGNrnX5jbpCYY3KMnmN2nXhjd4+3Y3qT5mN7lFBjgJ12Y4ORfGOIjvZjiZ17Y4yPtmOOnXVjj516Y5KUcmOWnXRjmIxAY5uKfGOfnXxjoJepY6GNzGOiklRjo515Y6WQ2mOnjVRjqJCEY6mJhmOqkVtjq513Y6yLZGOyjGZjtJLNY7WdfWO7kX5jvp2BY8Cdg2PDkbVjxJ2JY8adhGPJnYZjz5VgY9CS8WPSnYdj1pdLY9qXZ2Pbirdj4YisY+OdhWPpnYJj7or2Y/SJh2P2nYhj+pdoZAadjGQNkblkD52TZBOdjWQWnYpkF52RZBydcmQmnY5kKJ2SZCyUwGQtk4tkNJ2LZDadj2Q6jGdkPo3vZEKQ22ROnZdkWJNFZGedlGRploBkb52VZHadlmR4lsxkepCgZIOMgmSInZ1kko5UZJOdmmSVnZlkmpRRZJ6Ts2Skk1BkpZ2bZKmdnGSrlY9krZRkZK6OQmSwkO9kspZvZLmKaGS7naNkvJ2eZMGXaWTCnaVkxZ2hZMedomTNkYBk0p2gZNSdXmTYnaRk2p2fZOCdqWThnapk4pNGZOOdrGTmjkNk552nZOyLW2Tvna1k8Z2mZPKdsWT0nbBk9p2vZPqdsmT9nbRk/o/vZQCds2UFnbdlGJ21ZRydtmUdnZBlI525ZSSduGUqnZhlK526ZSydrmUvjnhlNJ27ZTWdvGU2nb5lN529ZTidv2U5ifxlO41VZT6V+mU/kK1lRYzMZUidwWVNncRlT5VxZVGLfmVVncNlVp3CZVeUc2VYncVlWYuzZV2dx2VencZlYoq4ZWOOVWVmk9ZlbIxoZXCQlGVynchldJCuZXWTR2V3lX5leJ3JZYKdymWDnctlh5W2ZYibfGWJkMRljJVrZY6N1mWQlONlkZTBZZeTbGWZl79lm53NZZyOzmWfnc5loYi0ZaSL0mWlkMtlp5WAZaudz2WsjmFlrZJmZa+OemWwkFZlt53QZbmV+2W8iZdlvY57ZcGd02XDndFlxJ3UZcWXt2XGndJly5D5Zcyd1WXPkbBl0p3WZdeK+GXZndhl253XZeCd2WXhndpl4or5ZeWT+mXmklVl54uMZeiOfGXpkYFl7I97Ze2IrmXxndtl+omgZfud32YCjVZmA53eZgaNqWYHj7hmCp3dZgyPuWYOlr5mD42oZhOI1WYUkMxmHJ3kZh+Qr2YgiWZmJY90ZieWhmYojfBmLY+6Zi+QpWY0neNmNZ3hZjad4mY8kotmP55FZkGd6GZCjp5mQ41XZkSd5mZJnedmS5BXZk+d5WZSjk5mXZ3qZl6d6WZfne5mYp3vZmSd62ZmikFmZ53sZmid7WZplNNmbpWBZm+MaWZwnfBmdJCwZnaPu2Z6knFmgYvFZoOd8WaEnfVmh4nJZoid8maJnfRmjp3zZpGPi2aWkmdml4jDZpid9madnfdmopKoZqaX72arjmJmrpXpZrSWXGa4nkFmuZ35Zryd/Ga+nftmwZ34ZsSeQGbHk9xmyZ36ZtaeQmbZj4xm2p5DZtyXambdlJhm4J5EZuaeRmbpnkdm8J5IZvKLyGbziWdm9I1YZvWeSWb3nkpm+I+RZvmRgmb8mdZm/ZFdZv6RXGb/kdZnAI3FZwOY8GcIjI5nCZdMZwuV/GcNlZ5nD55LZxSN8WcVkr1nFp5MZxeYTmcbll1nHZKpZx6eTWcfivpnJp5OZyeeT2colthnKpaiZyuWlmcslntnLY5EZy6eUWcxjulnNJZwZzaeU2c3nlZnOJ5VZzqK92c9i4BnP55SZ0GeVGdGnldnSZCZZ06Xm2dPiMdnUI3eZ1GRumdTjttnVo/xZ1meWmdck21nXp5YZ1+RqWdgnllnYY/wZ2KW22djnltnZJ5cZ2WXiGdqnmFnbY1ZZ2+UdGdwnl5ncZOMZ3Kd3GdzneBndYtuZ3eUZmd8nmBnfo+8Z3+UwmeFnmZnh5T4Z4meXWeLnmNnjJ5iZ5CQzWeVlo1nl5fRZ5qWh2ecicpnnY59Z6CYZ2ehnmVnopCVZ6aeZGepnl9nr4zNZ7Oea2e0nmlntonLZ7eeZ2e4nm1nuZ5zZ8GRxmfElb9nxp51Z8qVQWfOnnRnz5SQZ9CWXmfRirln05D1Z9SPX2fYktFn2pdNZ92ecGfenm9n4p5xZ+SebmfnnnZn6Z5sZ+yeamfunnJn755oZ/GSjGfzlvZn9I7EZ/WN8mf7jbhn/paPZ/+KYGgCksxoA5PIaASJaGgTkPBoFpCyaBeMSWgennhoIY1aaCKKnGgpnnpoKoqUaCuegWgynn1oNJDxaDiKamg5japoPIppaD2NzWhAnntoQYyFaEKMamhDk41oRp55aEiIxGhNnnxoTp5+aFCLy2hRjEtoU4q6aFSLamhZnoJoXI33aF2WkWhfjlZoY56DaGeVT2h0no9odomxaHeehGh+npVof56FaIGXwGiDnoxohZR+aI2elGiPnodok4iyaJSeiWiXjVtom56LaJ2eimifnoZooJ6RaKKPvWimmutop4zmaKiXnGitnohor5LyaLCKQmixjatos56AaLWekGi2ioFouZ6OaLqekmi8k45oxIr8aMaesGjJlsdoyp6XaMuK+2jNnp5o0pZfaNSen2jVnqFo156laNiemWjakklo35OPaOCeqWjhnpxo456maOeeoGjukFho756qaPKQsWj5nqho+oq7aQCYb2kBnpZpBJ6kaQWI1mkInphpC5a4aQyenWkNkEFpDpLFaQ+ek2kSnqNpGZCaaRqerWkbipFpHIyfaSGer2kinpppI56uaSWep2kmnptpKJ6raSqerGkwnr1pNJPMaTaeomk5nrlpPZ67aT+S1mlKl2tpU5WWaVSetmlVkchpWZ68aVqRXmlcnrNpXZ7AaV6ev2lgk+1pYZ6+aWKT6GlqnsJpa561aW2Lxmlunrhpb498aXOUgGl0nrppdYvJaXeesml4nrRpeZ6xaXyYT2l9inlpfp63aYGewWmCilRpio3laY6JfGmRntJplJhQaZWe1WmbkFlpnJ7UaaCe02mnntBprp7EabGe4WmynsNptJ7Wabuezmm+nslpv57GacGex2nDns9px+qgacqezGnLjVxpzJLGac2RhGnOnspp0J7FadOeyGnYl2xp2ZaKad2ezWnentdp557faeie2GnrnuVp7Z7jafKe3mn5nt1p+5LOaf2RhWn/nttqAp7ZagWe4GoKnuZqC5Tzagye7GoSnudqE57qahSe5GoXkpRqGZVXahue2moenuJqH4++aiGWzWoinvZqI57paimMoGoqiaFqK4p+ai6e0Wo1j79qNp7uajie9Wo5jvdqOoqSaj2STWpEnutqR57wakie9GpLi7RqWItralme8mpfi0BqYZPJamKe8WpmnvNqcp7tanie72p/ioBqgJJoaoSe+mqNnvhqjoznapCe92qXn0BqnJ53aqCe+Wqinvtqo578aqqfS2qsn0dqrp6NarOfRmq4n0Vqu59CasGe6GrCn0Rqw59DatGfSWrTmEVq2p9MatuL+Wren0hq359KauiUpWrqn01q+p9RavufTmsEl5NrBZ9Pawqe3GsSn1JrFp9Tax2JVGsfn1VrIIyHayGOn2sji9NrJ4miazKXfms3n1drOJ9WazmfWWs6i1xrPYvUaz6KvGtDn1xrR59ba0mfXWtMicxrTpJWa1CfXmtTir1rVJ9ga1mfX2tbn2FrX59ia2GfY2tijn5rY5Cza2SNn2tmlZBraZXga2qYY2tvjpVrc43Oa3SX8Gt4n2RreZ9la3uOgGt/n2ZrgJ9na4OfaWuEn2hrhpZ3a4mPfWuKjupri45ja42famuVn2xrlpBCa5ifa2uen21rpJ9ua6qfb2urn3Brr59xa7Gfc2uyn3Jrs590a7SJo2u1kmlrt591a7qORWu7imtrvJ92a7+TYWvAmsprxYtCa8afd2vLn3hrzZXqa86WiGvSk8Vr0595a9SU5GvYlPlr25bRa9+femvrn3xr7J97a++ffmvzn31sCJ+BbA+OgWwRlq9sE5+CbBSfg2wXi0NsG5+EbCOfhmwkn4VsNJCFbDeVWGw4iWlsPpTDbECS82xBj2BsQouBbE6UxGxQjqxsVZ+IbFeKvmxaiZhsXZPwbF6fh2xfjV1sYJJybGKfiWxon5Fsap+KbHCRv2xyi4Jsc5+SbHqMiGx9i0Rsfp+QbIGfjmyCn4tsg5eAbIiSvmyMk9dsjZ+MbJCflGySn5Nsk4xCbJaJq2yZjblsmp+NbJufj2yhlnZsopHybKuWl2yun5xssZ+dbLOJzWy4laZsuZb7bLqfn2y7jqFsvI/AbL2fmGy+n55sv4mIbMGLtWzEn5VsxZ+abMmQ8mzKlJFszJTlbNOfl2zVlkBs15+ZbNmfomzbn6Bs3Z+bbOGWQWzilGds44uDbOWTRGzoko1s6p+jbO+foWzwkdds8Z+WbPOJam0Ll21tDJ+ubRKfrW0XkPRtGZ+qbRuXjG0ek7RtH5+kbSWSw20piWttKo1ebSufp20yj0ZtM5+sbTWfq202n6ZtOJ+pbTuKiG09n6htPpRobUGXrG1Ej/JtRZDzbVmftG1an7JtXJVsbWOfr21kn7FtZolZbWmNX21qmFFtbIpcbW6Vgm10l4Ftd4pDbXiQWm15n7NthZ+4bYiPwW2Ml09tjp+1bZOfsG2Vn7ZtmZfcbZuTk22ck8Btr4pVbbKJdG21n7xtuJ+/bbyXwW3Al4RtxZ/GbcafwG3Hn71ty5fS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hWmToIVqlZOFbeVKhXflUIV+5VGFgOVEhYSUloWH5U6FiOVGhYrlSIWQ5VKFkeVHhZTlS4WXiZKFmZPjhZvlTIWc5U+FpOVFhaaRRYWo5UmFqY5GhaqQZIWrjE+FrJbyha6W94Wvj5KFueVWhbrlVIXBmG2FyeVThc2XlYXP5VWF0OVXhdXlWIXc5VuF3eVZheSToYXl5VqF6ZTLherlTYX3j5OF+eVchfrlYYX7kZSF/uVghgLlQYYG5WKGB5FohgrlXYYL5V+GE+VehhafUIYXn0GGGuVkhiLlY4Ytl5aGL+G6hjDlZYY/5WaGTeVnhk6M1YZQi3OGVOVphlWZfIZai5WGXJe4hl6L8YZf5WqGZ+VrhmuSjoZx5WyGeZP4hnuIuIaKieGGi+VxhozlcoaT5W2GlY5chqPlboaklGGGqeVvhqrlcIar5XqGr+V0hrDld4a25XOGxOV1hsbldobHjtaGyeV4hsuSYIbNjHWGzophhtTle4bZil6G2+WBht7lfIbf5YCG5JS4hunlfYbs5X6G7ZVnhu6U2Ibv5YKG+JH7hvnljIb75YiG/onphwDlhocClkmHA+WHhwblhIcI5YWHCeWKhwrljYcN5YuHEeWJhxLlg4cYkneHGuWUhxyWqIcl5ZKHKeWThzTljoc35ZCHO+WRhz/lj4dJkOSHS5hYh0zlmIdO5ZmHU+Wfh1WQSYdX5ZuHWeWeh1/llodg5ZWHY+Wgh2aJ2odo5ZyHauWhh27lnYd05ZqHdpKxh3jll4d/lIiHguWlh42XWoef5aSHouWjh6vlrIev5aaHs+Wuh7qXhoe75bGHveWoh8DlqYfE5a2HxuWwh8flr4fL5aeH0OWqh9Llu4fg5bSH7+Wyh/Lls4f25biH9+W5h/mKSYf7i2GH/uW3iAXloogN5baIDuW6iA/ltYgR5byIFeW+iBblvYgh5cCIIuW/iCPleYgn5cSIMeXBiDblwog55cOIO+XFiECMjIhC5ceIROXGiEaPT4hMjXOITZ+liFLlyIhTj3CIV4pYiFnlyYhbiXGIXY/ViF7lyohhjXSIYuXLiGOI34holVyIa+XMiHCQiohy5dOIdeXQiHeSj4h95dGIfuXOiH+L3IiB5c2IguXUiIiMVYiLkdyIjeXaiJLl1oiWkbOIl+XViJnl2Iie5c+IouXZiKTl24irlO2IruXX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ljKWaJY7kWqWP4iilkCRyZZC6JiWRJWNlkvom5ZM6JmWTY1+lk/ompZQjMCWW5XDllzonZZd6J+WXuiell/ooJZiiUCWY5B3lmSPnJZliteWZuihlmqUhpZs6KOWcIlBlnLoopZzksKWdZfLlnaTqZZ36JyWeJeklnqMr5Z9l3qWhYv3loaXspaIjEeWipHglovkQJaN6KSWjopLlo+Qj5aUinWWleimlpfop5aY6KWWmYyElpuN25acj+GWoIlClqOX15an6KmWqOeslqroqJaw6KyWseiqlrLoq5a06K2WtuiulreX6pa46K+WueiwlruQx5a8lLmWwJCdlsGK5ZbEl1mWxYnrlsaPV5bHjNmWyeizlsvospbMjpOWzei0ls7osZbRjkeW1ei4ltblq5bZmdSW25CXltzotpbil6OW45PvluiJSpbqkOGW6460lvCVtZbyiV+W9pfrlveXi5b56LmW+5NklwCO+ZcE6LqXBui7lweQa5cI6LyXCpfslw3ot5cO6L6XD+jAlxHov5cT6L2XFujBlxnowpcckZqXHonglyTow5cnlraXKujElzDoxZcymEmXOJ5Qlznoxpc96MeXPujIl0LozJdE6MmXRujKl0joy5dJ6M2XUpDCl1aW9ZdZkMOXXOjOl16U8Zdg6M+XYepyl2KWypdk6NCXZujRl2jo0pdpinaXa+jUl22QeJdx6NWXdIxDl3no1pd66NqXfOjYl4Ho2ZeEipOXhejXl4bo25eL6NyXjYjGl4/o3ZeQ6N6XmI/il5zo35egi2aXo+jil6bo4Zeo6OCXq+aRl62V2pez6OOXtOjkl8Po5ZfG6OaXyOjnl8vo6JfTitiX3Ojpl+3o6pfulEKX8ujsl/OJuZf16O+X9ujul/uJQ5f/i7+YAZXFmAKSuJgDjaCYBY2AmAaPh5gIkHuYDOjxmA/o8JgQl2GYEYrmmBKU0JgTk9qYF5CcmBiXzJgajHqYIej0mCTo85gslmqYLZOqmDSJb5g36PWYOOjymDuVcJg8l4qYPej2mEbo95hL6PmYTJHomE2KephOinuYT+j4mFSK55hVjLCYWIromFuTXphel96YZ4zamGvo+phv6PuYcOj8mHHpQJhz6UKYdOlBmKiVl5iq6UOYr+lEmLHpRZi26UaYw+lImMTpR5jG6UmY25TymNzjypjfkEiY4otRmOnpSpjr6UuY7ZmqmO6fWpjvlNGY8oj5mPSIuZj8jpSY/ZZPmP6P/JkD6UyZBZbdmQnpTZkKl3uZDIlhmRCOYJkS6U6ZE4nsmRTpT5kY6VCZHelSmR7pU5kg6VWZIelRmSTpVJkoitmZLOlWmS7pV5k96ViZPulZmULpWplF6VyZSelbmUvpXplM6WGZUOldmVHpX5lS6WCZVelimVeLwJmWjvGZl+ljmZjpZJmZjYGZpellmaiKXZmslG6Zrelmma7pZ5mzknmZtJPpmbzpaJnBlJ2ZxJHKmcWJd5nGi+yZyIvtmdCSk5nR6W2Z0ovumdWJ7ZnY6WyZ2+lqmd3pa5nf6WmZ4ul3me3pbpnu6W+Z8elwmfLpcZn46XOZ++lymf+PeJoB6XSaBel2mg6LUpoP6XWaEpGbmhOMsZoZ6XiaKJHLmivpeZowk6uaN+l6mj7pgJpA6X2aQul8mkPpfppF6XuaTemCmlXpgZpX6YSaWovBmlvpg5pf6YWaYumGmmTpiJpl6YeaaemJmmrpi5pr6YqaqI2cmq3pjJqw6Y2auIpbmrzpjprA6Y+axJCRms/pkJrR6ZGa0+mSmtTpk5rYjYKa3umUmt/plZri6Zaa4+mXmubpmJrqlK+a6+mamu2VRZru6Zua7+mZmvHpnZr06Zya9+memvvpn5sG6aCbGOmhmxrpopsf6aObIumkmyPppZsl6aabJ+mnmyjpqJsp6ambKumqmy7pq5sv6aybMZ9UmzLprZs74vabPItTm0GKQJtCjbCbQ+mvm0TprptFlqObTemxm07psptP6bCbUemzm1SWgptY6bSbWoubm2+YRJt06bWbg+m3m46IvJuR6bibkpWpm5PptpuW6bmbl+m6m5/pu5ug6bybqOm9m6qWjpurjkybrY34m66RTpu06b6buenBm8Dpv5vG6cKbyYzvm8rpwJvP6cOb0enEm9LpxZvU6cmb1o5Jm9uR4pvh6cqb4unHm+Ppxpvk6cib6Ix+m/Dpzpvx6c2b8unMm/WIsZwE6dicBunUnAjp1ZwJ6dGcCunXnAzp05wNioKcEJhrnBLp1pwT6dKcFOnQnBXpz5wb6dqcIendnCTp3Jwl6ducLZVonC7p2ZwviPGcMOnenDLp4Jw5io+cOunLnDuJVpw+6eKcRunhnEfp35xIkkycUpaQnFeX2Jxa6eOcYOnknGfp5Zx26eaceOnnnOWSuZzn6eic6ZS1nOvp7Zzs6emc8OnqnPOWUJz0lsKc9pPOnQPp7p0G6e+dB5O8nQjp7J0J6eudDomonRLp950V6fadG4mVnR/p9J0j6fOdJunxnSiKm50q6fCdK46wnSyJp507jYOdPun6nT/p+Z1B6fidROn1nUbp+51I6fydUOpEnVHqQ51Z6kWdXIlMnV3qQJ1e6kGdYI2UnWGWt51k6kKdbJZRnW/qSp1y6kadeupLnYfqSJ2J6kedj4x7nZrqTJ2k6k2dqepOnavqSZ2v6fKdsupPnbSS35246lOduupUnbvqUp3B6lGdwupXncTqUJ3G6lWdz+pWndPqWZ3Z6lid5upbne3qXJ3v6l2d8phonfjqWp35kemd+o3rnf3qXp4a6l+eG+pgnh7qYZ516mKeeIyynnnqY5596mSef46tnoHqZZ6I6maei+pnnozqaJ6R6muekuppnpOYW56V6mqel5ftnp3qbJ6fl9mepeptnqaUnp6p6m6equpwnq3qcZ646m+euY2NnrqWy567loOevJv1nr6fgJ6/lpuexImpnszqc57Ni2+ezup0ns/qdZ7Q6nae0o2VntTqd57Y4NKe2ZbZntuR4Z7c6nie3ep6nt7qeZ7g6nue5ep8nujqfZ7v6n6e9OqAnvbqgZ736oKe+eqDnvvqhJ786oWe/eqGnwfqh58I6oifDpNDnxOM258V6oqfIJFsnyHqi58s6oyfO5VAnz7qjZ9K6o6fS+JWn07m2J9P6OufUuqPn1TqkJ9f6pKfYOqTn2HqlJ9il+6fY+qRn2bqlZ9n6pafauqYn2zql59y6pqfduqbn3fqmZ+Nl7Sfleqcn5zqnZ+d4nOfoOqe/wGBSf8DgZT/BIGQ/wWBk/8GgZX/CIFp/wmBav8KgZb/C4F7/wyBQ/8OgUT/D4Fe/xCCT/8RglD/EoJR/xOCUv8UglP/FYJU/xaCVf8Xglb/GIJX/xmCWP8agUb/G4FH/xyBg/8dgYH/HoGE/x+BSP8ggZf/IYJg/yKCYf8jgmL/JIJj/yWCZP8mgmX/J4Jm/yiCZ/8pgmj/KoJp/yuCav8sgmv/LYJs/y6Cbf8vgm7/MIJv/zGCcP8ygnH/M4Jy/zSCc/81gnT/NoJ1/zeCdv84gnf/OYJ4/zqCef87gW3/PIFf/z2Bbv8+gU//P4FR/0CBTf9BgoH/QoKC/0OCg/9EgoT/RYKF/0aChv9Hgof/SIKI/0mCif9Kgor/S4KL/0yCjP9Ngo3/ToKO/0+Cj/9QgpD/UYKR/1KCkv9TgpP/VIKU/1WClf9Wgpb/V4KX/1iCmP9Zgpn/WoKa/1uBb/9cgWL/XYFw/2EAof9iAKL/YwCj/2QApP9lAKX/ZgCm/2cAp/9oAKj/aQCp/2oAqv9rAKv/bACs/20Arf9uAK7/bwCv/3AAsP9xALH/cgCy/3MAs/90ALT/dQC1/3YAtv93ALf/eAC4/3kAuf96ALr/ewC7/3wAvP99AL3/fgC+/38Av/+AAMD/gQDB/4IAwv+DAMP/hADE/4UAxf+GAMb/hwDH/4gAyP+JAMn/igDK/4sAy/+MAMz/jQDN/44Azv+PAM//kADQ/5EA0f+SANL/kwDT/5QA1P+VANX/lgDW/5cA1/+YANj/mQDZ/5oA2v+bANv/nADc/50A3f+eAN7/nwDf/+OBUP/lgY8=",7070);const kA={shape:L.square,qrOptions:{typeNumber:h[0],mode:void 0,errorCorrectionLevel:d.Q},imageOptions:{mode:K.center,imageSize:.4,padding:4,margin:.2,crossOrigin:void 0},cornersSquareOptions:{type:x.rounded,color:"#000000"},cornersDotOptions:{type:X.dot,color:"#000000"},dotsOptions:{type:T.verticalLine,color:"#000000",size:10},backgroundOptions:{color:"#FFFFFF"},borderOptions:{decorations:{}}},UA={...kA,shape:L.square,cornersSquareOptions:{type:x.square},cornersDotOptions:{type:X.square},dotsOptions:{type:T.square}},bA={...kA,shape:L.square,cornersSquareOptions:{type:x.rounded},cornersDotOptions:{type:X.rounded},dotsOptions:{type:T.verticalLine,size:10}},YA={...kA,dotsOptions:{...kA.dotsOptions,type:T.rounded},cornersSquareOptions:{type:x.dot},cornersDotOptions:{type:X.dot}},NA={...kA,dotsOptions:{...kA.dotsOptions,type:T.dot},cornersSquareOptions:{type:x.dot},cornersDotOptions:{type:X.dot}},GA={...kA,dotsOptions:{...kA.dotsOptions,type:T.classy},cornersSquareOptions:{type:x.classy},cornersDotOptions:{type:X.classy}},JA={...kA,dotsOptions:{...kA.dotsOptions,type:T.extraRounded},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.square},cornersDotOptions:{...kA.cornersDotOptions,type:X.square}},VA={...kA,dotsOptions:{...kA.dotsOptions,type:T.verticalLine},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.classy},cornersDotOptions:{...kA.cornersDotOptions,type:X.classy}},ZA={...kA,dotsOptions:{...kA.dotsOptions,type:T.horizontalLine},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.rounded},cornersDotOptions:{...kA.cornersDotOptions,type:X.rounded}},OA={...kA,dotsOptions:{...kA.dotsOptions,type:T.classyRounded},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.outpoint},cornersDotOptions:{...kA.cornersDotOptions,type:X.outpoint}},WA={...kA,dotsOptions:{...kA.dotsOptions,type:T.smallSquare},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.inpoint},cornersDotOptions:{...kA.cornersDotOptions,type:X.inpoint}},MA={...kA,dotsOptions:{...kA.dotsOptions,type:T.tinySquare},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.square},cornersDotOptions:{...kA.cornersDotOptions,type:X.heart}},HA={...kA,dotsOptions:{...kA.dotsOptions,type:T.star},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.classy},cornersDotOptions:{...kA.cornersDotOptions,type:X.classy}},TA={...kA,dotsOptions:{...kA.dotsOptions,type:T.plus},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.rounded},cornersDotOptions:{...kA.cornersDotOptions,type:X.rounded}},XA={...kA,dotsOptions:{...kA.dotsOptions,type:T.diamond},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.square},cornersDotOptions:{...kA.cornersDotOptions,type:X.square}},xA={...kA,dotsOptions:{...kA.dotsOptions,type:T.randomDot},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.dot},cornersDotOptions:{...kA.cornersDotOptions,type:X.dot}},LA={...kA,dotsOptions:{...kA.dotsOptions,type:T.dot},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.outpoint},cornersDotOptions:{...kA.cornersDotOptions,type:X.outpoint}},KA={...kA,dotsOptions:{...kA.dotsOptions,type:T.dot},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.inpoint},cornersDotOptions:{...kA.cornersDotOptions,type:X.inpoint}},qA={...kA,dotsOptions:{...kA.dotsOptions,type:T.rounded},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.outpoint},cornersDotOptions:{...kA.cornersDotOptions,type:X.outpoint}},jA={...kA,dotsOptions:{...kA.dotsOptions,type:T.rounded},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.inpoint},cornersDotOptions:{...kA.cornersDotOptions,type:X.inpoint}},PA={...kA,dotsOptions:{...kA.dotsOptions,type:T.classy},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.outpoint},cornersDotOptions:{...kA.cornersDotOptions,type:X.outpoint}},vA={...kA,dotsOptions:{...kA.dotsOptions,type:T.classy},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.inpoint},cornersDotOptions:{...kA.cornersDotOptions,type:X.inpoint}},zA={...kA,dotsOptions:{...kA.dotsOptions,type:T.square},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.outpoint},cornersDotOptions:{...kA.cornersDotOptions,type:X.outpoint}},_A={...kA,dotsOptions:{...kA.dotsOptions,type:T.square},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.inpoint},cornersDotOptions:{...kA.cornersDotOptions,type:X.inpoint}},$A={...kA,shape:L.circle,dotsOptions:{...kA.dotsOptions,type:T.rounded},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.rounded},cornersDotOptions:{...kA.cornersDotOptions,type:X.rounded}},Ae={...kA,dotsOptions:{...kA.dotsOptions,type:T.dot},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.square},cornersDotOptions:{...kA.cornersDotOptions,type:X.square}},ee={...kA,dotsOptions:{...kA.dotsOptions,type:T.dot},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.rounded},cornersDotOptions:{...kA.cornersDotOptions,type:X.rounded}},te={...kA,dotsOptions:{...kA.dotsOptions,type:T.dot},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.classy},cornersDotOptions:{...kA.cornersDotOptions,type:X.classy}},ie={...kA,dotsOptions:{...kA.dotsOptions,type:T.rounded},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.square},cornersDotOptions:{...kA.cornersDotOptions,type:X.square}},oe={...kA,dotsOptions:{...kA.dotsOptions,type:T.rounded},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.classy},cornersDotOptions:{...kA.cornersDotOptions,type:X.classy}},ne={...kA,dotsOptions:{...kA.dotsOptions,type:T.classy},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.square},cornersDotOptions:{...kA.cornersDotOptions,type:X.square}},ge={...kA,dotsOptions:{...kA.dotsOptions,type:T.classy},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.rounded},cornersDotOptions:{...kA.cornersDotOptions,type:X.rounded}},re={...kA,dotsOptions:{...kA.dotsOptions,type:T.square},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.dot},cornersDotOptions:{...kA.cornersDotOptions,type:X.dot}},Ie={...kA,dotsOptions:{...kA.dotsOptions,type:T.square},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.rounded},cornersDotOptions:{...kA.cornersDotOptions,type:X.rounded}},se={...kA,dotsOptions:{...kA.dotsOptions,type:T.square},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.classy},cornersDotOptions:{...kA.cornersDotOptions,type:X.classy}},ae={...kA,dotsOptions:{...kA.dotsOptions,type:T.extraRounded},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.dot},cornersDotOptions:{...kA.cornersDotOptions,type:X.dot}},Be={...kA,dotsOptions:{...kA.dotsOptions,type:T.extraRounded},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.classy},cornersDotOptions:{...kA.cornersDotOptions,type:X.classy}},Ce={...kA,dotsOptions:{...kA.dotsOptions,type:T.classyRounded},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.dot},cornersDotOptions:{...kA.cornersDotOptions,type:X.dot}},Qe={...kA,dotsOptions:{...kA.dotsOptions,type:T.classyRounded},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.square},cornersDotOptions:{...kA.cornersDotOptions,type:X.square}},Ee={...kA,dotsOptions:{...kA.dotsOptions,type:T.verticalLine},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.square},cornersDotOptions:{...kA.cornersDotOptions,type:X.square}},le={...kA,dotsOptions:{...kA.dotsOptions,type:T.horizontalLine},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.square},cornersDotOptions:{...kA.cornersDotOptions,type:X.square}},he={...kA,dotsOptions:{...kA.dotsOptions,type:T.horizontalLine},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.classy},cornersDotOptions:{...kA.cornersDotOptions,type:X.classy}},de={...kA,dotsOptions:{...kA.dotsOptions,type:T.smallSquare},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.dot},cornersDotOptions:{...kA.cornersDotOptions,type:X.dot}},ce={...kA,dotsOptions:{...kA.dotsOptions,type:T.smallSquare},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.rounded},cornersDotOptions:{...kA.cornersDotOptions,type:X.rounded}},ue={...kA,dotsOptions:{...kA.dotsOptions,type:T.tinySquare},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.dot},cornersDotOptions:{...kA.cornersDotOptions,type:X.dot}},pe={...kA,dotsOptions:{...kA.dotsOptions,type:T.tinySquare},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.square},cornersDotOptions:{...kA.cornersDotOptions,type:X.square}},me={...kA,dotsOptions:{...kA.dotsOptions,type:T.star},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.dot},cornersDotOptions:{...kA.cornersDotOptions,type:X.dot}},fe={...kA,dotsOptions:{...kA.dotsOptions,type:T.star},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.square},cornersDotOptions:{...kA.cornersDotOptions,type:X.square}},De={...kA,dotsOptions:{...kA.dotsOptions,type:T.plus},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.dot},cornersDotOptions:{...kA.cornersDotOptions,type:X.dot}},we={...kA,dotsOptions:{...kA.dotsOptions,type:T.plus},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.square},cornersDotOptions:{...kA.cornersDotOptions,type:X.square}},ye={...kA,dotsOptions:{...kA.dotsOptions,type:T.diamond},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.dot},cornersDotOptions:{...kA.cornersDotOptions,type:X.dot}},Fe={...kA,dotsOptions:{...kA.dotsOptions,type:T.diamond},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.classy},cornersDotOptions:{...kA.cornersDotOptions,type:X.classy}},Se={...kA,dotsOptions:{...kA.dotsOptions,type:T.randomDot},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.square},cornersDotOptions:{...kA.cornersDotOptions,type:X.square}},Re={...kA,dotsOptions:{...kA.dotsOptions,type:T.randomDot},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.classy},cornersDotOptions:{...kA.cornersDotOptions,type:X.classy}},ke={...kA,dotsOptions:{...kA.dotsOptions,type:T.dot},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.square},cornersDotOptions:{...kA.cornersDotOptions,type:X.dot}},Ue={...kA,dotsOptions:{...kA.dotsOptions,type:T.dot},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.dot},cornersDotOptions:{...kA.cornersDotOptions,type:X.square}},be={...kA,dotsOptions:{...kA.dotsOptions,type:T.rounded},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.square},cornersDotOptions:{...kA.cornersDotOptions,type:X.dot}},Ye={...kA,dotsOptions:{...kA.dotsOptions,type:T.rounded},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.outpoint},cornersDotOptions:{...kA.cornersDotOptions,type:X.rounded}},Ne={...kA,dotsOptions:{...kA.dotsOptions,type:T.classy},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.square},cornersDotOptions:{...kA.cornersDotOptions,type:X.dot}},Ge={...kA,dotsOptions:{...kA.dotsOptions,type:T.classy},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.dot},cornersDotOptions:{...kA.cornersDotOptions,type:X.square}},Je={...kA,dotsOptions:{...kA.dotsOptions,type:T.square},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.rounded},cornersDotOptions:{...kA.cornersDotOptions,type:X.dot}},Ve={...kA,dotsOptions:{...kA.dotsOptions,type:T.square},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.dot},cornersDotOptions:{...kA.cornersDotOptions,type:X.rounded}},Ze={...kA,dotsOptions:{...kA.dotsOptions,type:T.dot},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.classy},cornersDotOptions:{...kA.cornersDotOptions,type:X.dot}},Oe={...kA,dotsOptions:{...kA.dotsOptions,type:T.dot},cornersSquareOptions:{...kA.cornersSquareOptions,type:x.dot},cornersDotOptions:{...kA.cornersDotOptions,type:X.classy}},We={...UA,shape:L.circle},Me={...kA,shape:L.circle},He={...YA,shape:L.circle},Te={...NA,shape:L.circle},Xe={...GA,shape:L.circle},xe={...JA,shape:L.circle},Le={...VA,shape:L.circle},Ke={...ZA,shape:L.circle},qe={...OA,shape:L.circle},je={...WA,shape:L.circle},Pe={...MA,shape:L.circle},ve={...HA,shape:L.circle},ze={...TA,shape:L.circle},_e={...XA,shape:L.circle},$e={...xA,shape:L.circle},At={...LA,shape:L.circle},et={...KA,shape:L.circle},tt={...qA,shape:L.circle},it={...jA,shape:L.circle},ot={...PA,shape:L.circle},nt={...vA,shape:L.circle},gt={...zA,shape:L.circle},rt={..._A,shape:L.circle},It={...Ae,shape:L.circle},st={...ee,shape:L.circle},at={...te,shape:L.circle},Bt={...ie,shape:L.circle},Ct={...oe,shape:L.circle},Qt={...ne,shape:L.circle},Et={...ge,shape:L.circle},lt={...re,shape:L.circle},ht={...Ie,shape:L.circle},dt={...se,shape:L.circle},ct={...ae,shape:L.circle},ut={...Be,shape:L.circle},pt={...Ce,shape:L.circle},mt={...Qe,shape:L.circle},ft={...Ee,shape:L.circle},Dt={...le,shape:L.circle},wt={...he,shape:L.circle},yt={...de,shape:L.circle},Ft={...ce,shape:L.circle},St={...ue,shape:L.circle},Rt={...pe,shape:L.circle},kt={...me,shape:L.circle},Ut={...fe,shape:L.circle},bt={...De,shape:L.circle},Yt={...we,shape:L.circle},Nt={...ye,shape:L.circle},Gt={...Fe,shape:L.circle},Jt={...Se,shape:L.circle},Vt={...Re,shape:L.circle},Zt={...ke,shape:L.circle},Ot={...Ue,shape:L.circle},Wt={...be,shape:L.circle},Mt={...Ye,shape:L.circle},Ht={...Ne,shape:L.circle},Tt={...Ge,shape:L.circle},Xt={...Je,shape:L.circle},xt={...Ve,shape:L.circle},Lt={...Ze,shape:L.circle},Kt={...Oe,shape:L.circle},qt=[{id:"base",name:"Default",options:kA},{id:"plain",name:"Square Plain",options:UA},{id:"plain-circle",name:"Square Plain (Circle)",options:We},{id:"base-line-rounded",name:"Lines Rounded",options:bA},{id:"rounded",name:"Rounded",options:YA},{id:"dots",name:"Dots",options:NA},{id:"classy",name:"Classy",options:GA},{id:"extra-rounded-dots-square-corners",name:"Extra Rounded Dots Square Corners",options:JA},{id:"vertical-line-dots-classy-corners",name:"Vertical Lines Classy Corners",options:VA},{id:"horizontal-line-dots-rounded-corners",name:"Horizontal Lines Rounded Corners",options:ZA},{id:"classy-rounded-dots-outpoint-corners",name:"Classy Rounded Dots Outpoint Corners",options:OA},{id:"small-square-dots-inpoint-corners",name:"Small Square Dots Inpoint Corners",options:WA},{id:"tiny-square-dots-square-corners-heart-corners",name:"Tiny Square Dots Heart Corners",options:MA},{id:"star-dots-classy-corners",name:"Star Dots Classy Corners",options:HA},{id:"plus-dots-rounded-corners",name:"Plus Dots Rounded Corners",options:TA},{id:"diamond-dots-square-corners",name:"Diamond Dots Square Corners",options:XA},{id:"random-dot-dots-dot-corners",name:"Random Dots",options:xA},{id:"dot-dots-outpoint-corners",name:"Dots Outpoint Corners",options:LA},{id:"dot-dots-inpoint-corners",name:"Dots Inpoint Corners",options:KA},{id:"rounded-dots-outpoint-corners",name:"Rounded Dots Outpoint Corners",options:qA},{id:"rounded-dots-inpoint-corners",name:"Rounded Dots Inpoint Corners",options:jA},{id:"classy-dots-outpoint-corners",name:"Classy Dots Outpoint Corners",options:PA},{id:"classy-dots-inpoint-corners",name:"Classy Dots Inpoint Corners",options:vA},{id:"square-dots-outpoint-corners",name:"Square Dots Outpoint Corners",options:zA},{id:"square-dots-inpoint-corners",name:"Square Dots Inpoint Corners",options:_A},{id:"dot-dots-square-corners",name:"Dots Square Corners",options:Ae},{id:"dot-dots-rounded-corners",name:"Dots Rounded Corners",options:ee},{id:"dot-dots-classy-corners",name:"Dots Classy Corners",options:te},{id:"rounded-dots-square-corners",name:"Rounded Dots Square Corners",options:ie},{id:"rounded-dots-classy-corners",name:"Rounded Dots Classy Corners",options:oe},{id:"classy-dots-square-corners",name:"Classy Dots Square Corners",options:ne},{id:"classy-dots-rounded-corners",name:"Classy Dots Rounded Corners",options:ge},{id:"square-dots-dot-corners",name:"Square Dots Dot Corners",options:re},{id:"square-dots-rounded-corners",name:"Square Dots Rounded Corners",options:Ie},{id:"square-dots-classy-corners",name:"Square Dots Classy Corners",options:se},{id:"extra-rounded-dots-dot-corners",name:"Extra Rounded Dots Dot Corners",options:ae},{id:"extra-rounded-dots-classy-corners",name:"Extra Rounded Dots Classy Corners",options:Be},{id:"classy-rounded-dots-dot-corners",name:"Classy Rounded Dots Dot Corners",options:Ce},{id:"classy-rounded-dots-square-corners",name:"Classy Rounded Dots Square Corners",options:Qe},{id:"vertical-line-dots-square-corners",name:"Vertical Lines Square Corners",options:Ee},{id:"horizontal-line-dots-square-corners",name:"Horizontal Lines Square Corners",options:le},{id:"horizontal-line-dots-classy-corners",name:"Horizontal Lines Classy Corners",options:he},{id:"small-square-dots-dot-corners",name:"Small Square Dots Dot Corners",options:de},{id:"small-square-dots-rounded-corners",name:"Small Square Dots Rounded Corners",options:ce},{id:"tiny-square-dots-dot-corners",name:"Tiny Square Dots Dot Corners",options:ue},{id:"tiny-square-dots-square-corners",name:"Tiny Square Dots Square Corners",options:pe},{id:"star-dots-dot-corners",name:"Star Dots Dot Corners",options:me},{id:"star-dots-square-corners",name:"Star Dots Square Corners",options:fe},{id:"plus-dots-dot-corners",name:"Plus Dots Dot Corners",options:De},{id:"plus-dots-square-corners",name:"Plus Dots Square Corners",options:we},{id:"diamond-dots-dot-corners",name:"Diamond Dots Dot Corners",options:ye},{id:"diamond-dots-classy-corners",name:"Diamond Dots Classy Corners",options:Fe},{id:"random-dot-dots-square-corners",name:"Random Dots Square Corners",options:Se},{id:"random-dot-dots-classy-corners",name:"Random Dots Classy Corners",options:Re},{id:"dot-dots-square-corners-dot-corners",name:"Dots Square/Dot Corners",options:ke},{id:"dot-dots-dot-corners-square-corners",name:"Dots Dot/Square Corners",options:Ue},{id:"rounded-dots-square-corners-dot-corners",name:"Rounded Dots Square/Dot Corners",options:be},{id:"rounded-dots-dot-corners-square-corners",name:"Rounded Dots Dot/Square Corners",options:Ye},{id:"classy-dots-square-corners-dot-corners",name:"Classy Dots Square/Dot Corners",options:Ne},{id:"classy-dots-dot-corners-square-corners",name:"Classy Dots Dot/Square Corners",options:Ge},{id:"square-dots-rounded-corners-dot-corners",name:"Square Dots Rounded/Dot Corners",options:Je},{id:"square-dots-dot-corners-rounded-corners",name:"Square Dots Dot/Rounded Corners",options:Ve},{id:"dot-dots-classy-corners-dot-corners",name:"Dots Classy/Dot Corners",options:Ze},{id:"dot-dots-dot-corners-classy-corners",name:"Dots Dot/Classy Corners",options:Oe},{id:"circle-shape-dot-dots-square-corners",name:"Circle Dots Square Corners",options:It},{id:"circle-shape-rounded-dots-rounded-corners",name:"Circle Rounded",options:$A},{id:"circle-shape-square-dots-square-corners",name:"Circle Square Plain",options:We},{id:"circle-shape-vertical-line-dots-rounded-corners",name:"Circle Lines Rounded",options:Me},{id:"circle-shape-rounded-dots-dot-corners",name:"Circle Rounded Dots",options:He},{id:"circle-shape-dot-dots-dot-corners",name:"Circle Dots",options:Te},{id:"circle-shape-classy-dots-classy-corners",name:"Circle Classy",options:Xe},{id:"circle-shape-extra-rounded-dots-square-corners",name:"Circle Extra Rounded Dots Square Corners",options:xe},{id:"circle-shape-vertical-line-dots-classy-corners",name:"Circle Vertical Lines Classy Corners",options:Le},{id:"circle-shape-horizontal-line-dots-rounded-corners",name:"Circle Horizontal Lines Rounded Corners",options:Ke},{id:"circle-shape-classy-rounded-dots-outpoint-corners",name:"Circle Classy Rounded Dots Outpoint Corners",options:qe},{id:"circle-shape-small-square-dots-inpoint-corners",name:"Circle Small Square Dots Inpoint Corners",options:je},{id:"circle-shape-tiny-square-dots-square-corners-heart-corners",name:"Circle Tiny Square Dots Heart Corners",options:Pe},{id:"circle-shape-star-dots-classy-corners",name:"Circle Star Dots Classy Corners",options:ve},{id:"circle-shape-plus-dots-rounded-corners",name:"Circle Plus Dots Rounded Corners",options:ze},{id:"circle-shape-diamond-dots-square-corners",name:"Circle Diamond Dots Square Corners",options:_e},{id:"circle-shape-random-dot-dots-dot-corners",name:"Circle Random Dots",options:$e},{id:"circle-shape-dot-dots-outpoint-corners",name:"Circle Dots Outpoint Corners",options:At},{id:"circle-shape-dot-dots-inpoint-corners",name:"Circle Dots Inpoint Corners",options:et},{id:"circle-shape-rounded-dots-outpoint-corners",name:"Circle Rounded Dots Outpoint Corners",options:tt},{id:"circle-shape-rounded-dots-inpoint-corners",name:"Circle Rounded Dots Inpoint Corners",options:it},{id:"circle-shape-classy-dots-outpoint-corners",name:"Circle Classy Dots Outpoint Corners",options:ot},{id:"circle-shape-classy-dots-inpoint-corners",name:"Circle Classy Dots Inpoint Corners",options:nt},{id:"circle-shape-square-dots-outpoint-corners",name:"Circle Square Dots Outpoint Corners",options:gt},{id:"circle-shape-square-dots-inpoint-corners",name:"Circle Square Dots Inpoint Corners",options:rt},{id:"circle-shape-dot-dots-rounded-corners",name:"Circle Dots Rounded Corners",options:st},{id:"circle-shape-dot-dots-classy-corners",name:"Circle Dots Classy Corners",options:at},{id:"circle-shape-rounded-dots-square-corners",name:"Circle Rounded Dots Square Corners",options:Bt},{id:"circle-shape-rounded-dots-classy-corners",name:"Circle Rounded Dots Classy Corners",options:Ct},{id:"circle-shape-classy-dots-square-corners",name:"Circle Classy Dots Square Corners",options:Qt},{id:"circle-shape-classy-dots-rounded-corners",name:"Circle Classy Dots Rounded Corners",options:Et},{id:"circle-shape-square-dots-dot-corners",name:"Circle Square Dots Dot Corners",options:lt},{id:"circle-shape-square-dots-rounded-corners",name:"Circle Square Dots Rounded Corners",options:ht},{id:"circle-shape-square-dots-classy-corners",name:"Circle Square Dots Classy Corners",options:dt},{id:"circle-shape-extra-rounded-dots-dot-corners",name:"Circle Extra Rounded Dots Dot Corners",options:ct},{id:"circle-shape-extra-rounded-dots-classy-corners",name:"Circle Extra Rounded Dots Classy Corners",options:ut},{id:"circle-shape-classy-rounded-dots-dot-corners",name:"Circle Classy Rounded Dots Dot Corners",options:pt},{id:"circle-shape-classy-rounded-dots-square-corners",name:"Circle Classy Rounded Dots Square Corners",options:mt},{id:"circle-shape-vertical-line-dots-square-corners",name:"Circle Vertical Lines Square Corners",options:ft},{id:"circle-shape-horizontal-line-dots-square-corners",name:"Circle Horizontal Lines Square Corners",options:Dt},{id:"circle-shape-horizontal-line-dots-classy-corners",name:"Circle Horizontal Lines Classy Corners",options:wt},{id:"circle-shape-small-square-dots-dot-corners",name:"Circle Small Square Dots Dot Corners",options:yt},{id:"circle-shape-small-square-dots-rounded-corners",name:"Circle Small Square Dots Rounded Corners",options:Ft},{id:"circle-shape-tiny-square-dots-dot-corners",name:"Circle Tiny Square Dots Dot Corners",options:St},{id:"circle-shape-tiny-square-dots-square-corners",name:"Circle Tiny Square Dots Square Corners",options:Rt},{id:"circle-shape-star-dots-dot-corners",name:"Circle Star Dots Dot Corners",options:kt},{id:"circle-shape-star-dots-square-corners",name:"Circle Star Dots Square Corners",options:Ut},{id:"circle-shape-plus-dots-dot-corners",name:"Circle Plus Dots Dot Corners",options:bt},{id:"circle-shape-plus-dots-square-corners",name:"Circle Plus Dots Square Corners",options:Yt},{id:"circle-shape-diamond-dots-dot-corners",name:"Circle Diamond Dots Dot Corners",options:Nt},{id:"circle-shape-diamond-dots-classy-corners",name:"Circle Diamond Dots Classy Corners",options:Gt},{id:"circle-shape-random-dot-dots-square-corners",name:"Circle Random Dots Square Corners",options:Jt},{id:"circle-shape-random-dot-dots-classy-corners",name:"Circle Random Dots Classy Corners",options:Vt},{id:"circle-shape-dot-dots-square-corners-dot-corners",name:"Circle Dots Square/Dot Corners",options:Zt},{id:"circle-shape-dot-dots-dot-corners-square-corners",name:"Circle Dots Dot/Square Corners",options:Ot},{id:"circle-shape-rounded-dots-square-corners-dot-corners",name:"Circle Rounded Dots Square/Dot Corners",options:Wt},{id:"circle-shape-rounded-dots-dot-corners-square-corners",name:"Circle Rounded Dots Dot/Square Corners",options:Mt},{id:"circle-shape-classy-dots-square-corners-dot-corners",name:"Circle Classy Dots Square/Dot Corners",options:Ht},{id:"circle-shape-classy-dots-dot-corners-square-corners",name:"Circle Classy Dots Dot/Square Corners",options:Tt},{id:"circle-shape-square-dots-rounded-corners-dot-corners",name:"Circle Square Dots Rounded/Dot Corners",options:Xt},{id:"circle-shape-square-dots-dot-corners-rounded-corners",name:"Circle Square Dots Dot/Rounded Corners",options:xt},{id:"circle-shape-dot-dots-classy-corners-dot-corners",name:"Circle Dots Classy/Dot Corners",options:Lt},{id:"circle-shape-dot-dots-dot-corners-classy-corners",name:"Circle Dots Dot/Classy Corners",options:Kt}];function jt(A){return qt.find((e=>e.name.toLowerCase()===A.toLowerCase()))}function Pt(A){return qt.find((e=>e.id===A))}Pt("base");const vt=A=>"number"==typeof A&&!isNaN(A)&&isFinite(A),zt=(A,e)=>{const t=[];return Object.values(M).includes(A.type)||t.push({path:`${e}.type`,message:`Invalid gradient type. Must be one of: ${Object.values(M).join(", ")}`,value:A.type}),void 0===A.rotation||vt(A.rotation)||t.push({path:`${e}.rotation`,message:"Rotation must be a valid number",value:A.rotation}),!A.colorStops||!Array.isArray(A.colorStops)||A.colorStops.length<2?t.push({path:`${e}.colorStops`,message:"Gradient must have at least 2 color stops",value:A.colorStops}):A.colorStops.forEach(((A,i)=>{var o,n;(!vt(A.offset)||A.offset<0||A.offset>1)&&t.push({path:`${e}.colorStops[${i}].offset`,message:"Color stop offset must be between 0 and 1",value:A.offset}),o=A.color,new Set(["black","white","red","green","blue","yellow","purple","gray","grey","cyan","magenta","lime","pink","teal","brown","orange"]).has(o.toLowerCase())||/^#([A-Fa-f0-9]{3}){1,2}$/.test(o)||/^#([A-Fa-f0-9]{4}){1,2}$/.test(o)||(/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/.test(o)||/^rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([01]?\.?\d*)\)$/.test(o))&&((null===(n=o.match(/\d+/g))||void 0===n?void 0:n.map(Number))||[]).every((A=>A>=0&&A<=255))||t.push({path:`${e}.colorStops[${i}].color`,message:"Invalid color format",value:A.color})})),t};function _t(A){const e=[];let t={...kA};if(A.data&&"string"==typeof A.data||e.push({path:"data",message:"QR data is required and must be a string",value:A.data}),A.shape&&!Object.values(L).includes(A.shape)&&(e.push({path:"shape",message:`Invalid shape type. Must be one of: ${Object.values(L).join(", ")}`,value:A.shape}),A.shape=kA.shape),A.qrOptions){var i,o,n;if(A.qrOptions.typeNumber&&!Object.values(h).includes(A.qrOptions.typeNumber))e.push({path:"qrOptions.typeNumber",message:"Invalid type number",value:A.qrOptions.typeNumber}),A.qrOptions.typeNumber=null===(i=kA.qrOptions)||void 0===i?void 0:i.typeNumber;if(A.qrOptions.errorCorrectionLevel&&!Object.values(d).includes(A.qrOptions.errorCorrectionLevel))e.push({path:"qrOptions.errorCorrectionLevel",message:"Invalid error correction level",value:A.qrOptions.errorCorrectionLevel}),A.qrOptions.errorCorrectionLevel=null===(o=kA.qrOptions)||void 0===o?void 0:o.errorCorrectionLevel;if(A.qrOptions.mode&&!Object.values(c).includes(A.qrOptions.mode))e.push({path:"qrOptions.mode",message:"Invalid mode",value:A.qrOptions.mode}),A.qrOptions.mode=null===(n=kA.qrOptions)||void 0===n?void 0:n.mode}if(A.imageOptions){var g,r,I;if(A.imageOptions.imageSize&&(!vt(A.imageOptions.imageSize)||A.imageOptions.imageSize<=0||A.imageOptions.imageSize>1))e.push({path:"imageOptions.imageSize",message:"Image size must be between 0 and 1",value:A.imageOptions.imageSize}),A.imageOptions.imageSize=null===(g=kA.imageOptions)||void 0===g?void 0:g.imageSize;if(A.imageOptions.margin&&(!vt(A.imageOptions.margin)||A.imageOptions.margin<0))e.push({path:"imageOptions.margin",message:"Margin must be a non-negative number",value:A.imageOptions.margin}),A.imageOptions.margin=null===(r=kA.imageOptions)||void 0===r?void 0:r.margin;if(A.imageOptions.mode&&!Object.values(K).includes(A.imageOptions.mode))e.push({path:"imageOptions.mode",message:`Invalid image mode. Must be one of: ${Object.values(K).join(", ")}`,value:A.imageOptions.mode}),A.imageOptions.mode=null===(I=kA.imageOptions)||void 0===I?void 0:I.mode}if(A.dotsOptions){var s,a;if(A.dotsOptions.type&&!Object.values(T).includes(A.dotsOptions.type))e.push({path:"dotsOptions.type",message:`Invalid dot type. Must be one of: ${Object.values(T).join(", ")}`,value:A.dotsOptions.type}),A.dotsOptions.type=null===(s=kA.dotsOptions)||void 0===s?void 0:s.type;if(A.dotsOptions.size&&(!vt(A.dotsOptions.size)||A.dotsOptions.size<=0))e.push({path:"dotsOptions.size",message:"Dot size must be a positive number",value:A.dotsOptions.size}),A.dotsOptions.size=null===(a=kA.dotsOptions)||void 0===a?void 0:a.size;A.dotsOptions.gradient&&e.push(...zt(A.dotsOptions.gradient,"dotsOptions.gradient"))}if(A.cornersSquareOptions){var B;if(A.cornersSquareOptions.type&&!Object.values(x).includes(A.cornersSquareOptions.type))e.push({path:"cornersSquareOptions.type",message:`Invalid corner square type. Must be one of: ${Object.values(x).join(", ")}`,value:A.cornersSquareOptions.type}),A.cornersSquareOptions.type=null===(B=kA.cornersSquareOptions)||void 0===B?void 0:B.type;A.cornersSquareOptions.gradient&&e.push(...zt(A.cornersSquareOptions.gradient,"cornersSquareOptions.gradient"))}if(A.cornersDotOptions){var C;if(A.cornersDotOptions.type&&!Object.values(X).includes(A.cornersDotOptions.type))e.push({path:"cornersDotOptions.type",message:`Invalid corner dot type. Must be one of: ${Object.values(X).join(", ")}`,value:A.cornersDotOptions.type}),A.cornersDotOptions.type=null===(C=kA.cornersDotOptions)||void 0===C?void 0:C.type;A.cornersDotOptions.gradient&&e.push(...zt(A.cornersDotOptions.gradient,"cornersDotOptions.gradient"))}return t={...t,...A},{warnings:e,validatedOptions:t}}class $t{get element(){return this._element}constructor(A,e){this.type=A,this.document=e}draw(A){let e;switch(this.type){case X.square:e=this.drawSquare;break;case X.heart:e=this.drawHeart;break;case X.rounded:e=this.drawRounded;break;case X.classy:e=this.drawClassy;break;case X.inpoint:e=this.drawInpoint;break;case X.outpoint:e=this.drawOutpoint;break;case X.dot:default:e=this.drawDot}e.call(this,A)}rotateFigure({x:A,y:e,size:t,rotation:i=0,draw:o}){var n;const g=A+t/2,r=e+t/2;o(),null===(n=this._element)||void 0===n||n.setAttribute("transform",`rotate(${w(180*i/Math.PI)},${g},${r})`)}basicDot(A){const{size:e,x:t,y:i}=A;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","circle"),this._element.setAttribute("cx",w(t+e/2)),this._element.setAttribute("cy",w(i+e/2)),this._element.setAttribute("r",w(e/2.1))}})}basicSquare(A){const{size:e,x:t,y:i}=A,o=e/11;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","rect"),this._element.setAttribute("x",w(t+o)),this._element.setAttribute("y",w(i+o)),this._element.setAttribute("width",w(e-2*o)),this._element.setAttribute("height",w(e-2*o))}})}basicHeart(A){const{size:e,x:t,y:i}=A;this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path");let o=!1,n=0;this._element.setAttribute("d",["M",1,.3262506,"c",0,.0383376,-.0064626,.0758377,-.0193751,.1125001,"s",-.0356247,.076875,-.0681248,.1206252,"c",-.0325,.0437499,-.0762503,.0931247,-.1312501,.1481249,"C",.7262502,.7625008,.6566626,.8279132,.5724999,.9037505,"L",.5,.9687506,"L",.4275001,.9037505,"C",.3433374,.8279132,.2737499,.7625005,.21875,.7075007,"C",.1637501,.6525008,.1199999,.6031258,.0874999,.5593758,"S",.0322876,.4754133,.0193751,.4387506,"S",0,.3645881,0,.3262506,"c",0,-.0783374,.0262499,-.1437498,.07875,-.1962499,"s",.1179124,-.07875,.1962499,-.07875,"c",.0433376,0,.0845875,.0091625,.12375,.0274999,"S",.4716623,.1229131,.5,.1562506,"c",.0283374,-.0333375,.0620874,-.0591625,.1012502,-.0775,"c",.0391627,-.0183375,.0804126,-.0274999,.12375,-.0274999,"c",.0783374,0,.1437497,.0262499,.1962501,.07875,"S",1,.2479131,1,.3262506,"z"].map((A=>"string"==typeof A?(n=0,o=A.toUpperCase()==A,A):(n++,A*=e,o&&(A+=n%2==1?t:i),w(A)))).join(" "))}basicRounded(A){const{size:e,x:t,y:i}=A;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","rect"),this._element.setAttribute("x",w(t)),this._element.setAttribute("y",w(i)),this._element.setAttribute("width",w(e)),this._element.setAttribute("height",w(e)),this._element.setAttribute("rx",w(e/4)),this._element.setAttribute("ry",w(e/4))}})}basicClassy(A){const{size:e,x:t,y:i}=A,o=e/7;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",y`M ${t} ${i+2.5*o} v ${2*o} a ${2.5*o} ${2.5*o}, 0, 0, 0, ${2.5*o} ${2.5*o} h ${4.5*o} v ${-4.5*o} a ${2.5*o} ${2.5*o}, 0, 0, 0, ${2.5*-o} ${2.5*-o} h ${-2*o} H ${t} z`)}})}basicInpoint(A){const{size:e,x:t,y:i}=A,o=e;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",y`M ${t} ${i+o/2} v ${o/4} a ${o/4}, ${o/4} 0 0 0 ${o/4}, ${o/4} h ${o/4*3} v ${-o/4*3} a ${o/4}, ${o/4} 0 0 0 ${-o/4}, ${-o/4} h ${-o/2} a ${o/4}, ${o/4} 0 0 0 ${-o/4}, ${o/4} z`)}})}drawDot({x:A,y:e,size:t,rotation:i}){this.basicDot({x:A,y:e,size:t,rotation:i})}drawSquare({x:A,y:e,size:t,rotation:i}){this.basicSquare({x:A,y:e,size:t,rotation:i})}drawHeart({x:A,y:e,size:t,rotation:i}){this.basicHeart({x:A,y:e,size:t,rotation:i})}drawRounded({x:A,y:e,size:t,rotation:i}){this.basicRounded({x:A,y:e,size:t,rotation:i})}drawClassy({x:A,y:e,size:t,rotation:i}){this.basicClassy({x:A,y:e,size:t,rotation:i})}drawInpoint({x:A,y:e,size:t,rotation:i}){this.basicInpoint({x:A,y:e,size:t,rotation:i})}drawOutpoint({x:A,y:e,size:t,rotation:i}){this.basicInpoint({x:A,y:e,size:t,rotation:(i||0)+Math.PI})}}class Ai{get element(){return this._element}get fill(){return this._fill}constructor(A,e){this.type=A,this.document=e}draw(A){let e;switch(this.type){case x.square:e=this.drawSquare;break;case x.rounded:e=this.drawExtraRounded;break;case x.classy:e=this.drawClassy;break;case x.outpoint:e=this.drawOutpoint;break;case x.inpoint:e=this.drawInpoint;break;case x.dot:default:e=this.drawDot}e.call(this,A)}rotateFigure({x:A,y:e,size:t,rotation:i=0,draw:o}){var n,g;const r=A+t/2,I=e+t/2;o(),null===(n=this._element)||void 0===n||n.setAttribute("transform",`rotate(${w(180*i/Math.PI)},${r},${I})`),null===(g=this._fill)||void 0===g||g.setAttribute("transform",`rotate(${w(180*i/Math.PI)},${r},${I})`)}basicDot(A){const{size:e,x:t,y:i}=A,o=e/8,n=.5*e,g=n-o;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",y`M ${t+e/2} ${i+(e/2-n)} a ${n} ${n} 0 1 0 0.1 0 z m 0 ${o} a ${g} ${g} 0 1 1 -0.1 0 Z`),this._fill=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._fill.setAttribute("clip-rule","evenodd"),this._fill.setAttribute("d",y`M ${t+e/2} ${i+(e/2-(n+o))} a ${n+o} ${n+o} 0 1 0 0.1 0 z`)}})}basicSquare(A){const{size:e,x:t,y:i}=A,o=e/7;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",y`M ${t} ${i} v ${e} h ${e} v ${-e} z M ${t+o} ${i+o} h ${e-2*o} v ${e-2*o} h ${2*o-e} z`),this._fill=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._fill.setAttribute("clip-rule","evenodd"),this._fill.setAttribute("d",y`M ${t-o} ${i-o} h ${e+2*o} v ${e+2*o} h ${-e-2*o} z`)}})}basicExtraRounded(A){const{size:e,x:t,y:i}=A,o=e/7;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",y`M ${t} ${i+2.5*o} v ${2*o} a ${2.5*o} ${2.5*o}, 0, 0, 0, ${2.5*o} ${2.5*o} h ${2*o} a ${2.5*o} ${2.5*o}, 0, 0, 0, ${2.5*o} ${2.5*-o} v ${-2*o} a ${2.5*o} ${2.5*o}, 0, 0, 0, ${2.5*-o} ${2.5*-o} h ${-2*o} a ${2.5*o} ${2.5*o}, 0, 0, 0, ${2.5*-o} ${2.5*o} z M ${t+2.5*o} ${i+o} h ${2*o} a ${1.5*o} ${1.5*o}, 0, 0, 1, ${1.5*o} ${1.5*o} v ${2*o} a ${1.5*o} ${1.5*o}, 0, 0, 1, ${1.5*-o} ${1.5*o} h ${-2*o} a ${1.5*o} ${1.5*o}, 0, 0, 1, ${1.5*-o} ${1.5*-o} v ${-2*o} a ${1.5*o} ${1.5*o}, 0, 0, 1, ${1.5*o} ${1.5*-o} z`),this._fill=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._fill.setAttribute("clip-rule","evenodd"),this._fill.setAttribute("d",y`M ${t-o} ${i+2.5*o} v ${2*o} a ${3.5*o} ${3.5*o}, 0, 0, 0, ${3.5*o} ${3.5*o} h ${2*o} a ${3.5*o} ${3.5*o}, 0, 0, 0, ${3.5*o} ${3.5*-o} v ${-2*o} a ${3.5*o} ${3.5*o}, 0, 0, 0, ${3.5*-o} ${3.5*-o} h ${-2*o} a ${3.5*o} ${3.5*o}, 0, 0, 0, ${3.5*-o} ${3.5*o} z`)}})}basicClassy(A){const{size:e,x:t,y:i}=A,o=e/7;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",y`M ${t} ${i+2.5*o} v ${2*o} a ${2.5*o} ${2.5*o}, 0, 0, 0, ${2.5*o} ${2.5*o} h ${4.5*o} v ${-4.5*o} a ${2.5*o} ${2.5*o}, 0, 0, 0, ${2.5*-o} ${2.5*-o} h ${-2*o} H ${t} z M ${t+2.5*o} ${i+o} h ${2*o} a ${1.5*o} ${1.5*o}, 0, 0, 1, ${1.5*o} ${1.5*o} v ${3.5*o} h ${-3.5*o} a ${1.5*o} ${1.5*o}, 0, 0, 1, ${1.5*-o} ${1.5*-o} v ${-3.5*o} z`),this._fill=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._fill.setAttribute("clip-rule","evenodd"),this._fill.setAttribute("d",y`M ${t+.5*o} ${i-o} h ${4*o} a ${3.5*o} ${3.5*o}, 0, 0, 1, ${3.5*o} ${3.5*o} v ${5.5*o} h ${-5.5*o} a ${3.5*o} ${3.5*o}, 0, 0, 1, ${3.5*-o} ${3.5*-o} v ${-5.5*o} z`)}})}basicInpoint(A){const{size:e,x:t,y:i}=A,o=e/7;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",y`M ${t} ${i+2.5*o} v ${2*o} a ${2.5*o} ${2.5*o}, 0, 0, 0, ${2.5*o} ${2.5*o} h ${4.5*o} v ${-4.5*o} a ${2.5*o} ${2.5*o}, 0, 0, 0, ${2.5*-o} ${2.5*-o} h ${-2*o} a ${2.5*o} ${2.5*o}, 0, 0, 0, ${2.5*-o} ${2.5*o} z M ${t+2.5*o} ${i+o} h ${2*o} a ${1.5*o} ${1.5*o}, 0, 0, 1, ${1.5*o} ${1.5*o} v ${3.5*o} h ${-3.5*o} a ${1.5*o} ${1.5*o}, 0, 0, 1, ${1.5*-o} ${1.5*-o} v ${-2*o} a ${1.5*o} ${1.5*o}, 0, 0, 1, ${1.5*o} ${1.5*-o} z`),this._fill=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._fill.setAttribute("clip-rule","evenodd"),this._fill.setAttribute("d",y`M ${t+.5*o} ${i-o} h ${4*o} a ${3.5*o} ${3.5*o}, 0, 0, 1, ${3.5*o} ${3.5*o} v ${5.5*o} h ${-5.5*o} a ${3.5*o} ${3.5*o}, 0, 0, 1, ${3.5*-o} ${3.5*-o} v ${-2*o} a ${3.5*o} ${3.5*o}, 0, 0, 1, ${3.5*o} ${3.5*-o} z`)}})}drawDot({x:A,y:e,size:t,rotation:i}){this.basicDot({x:A,y:e,size:t,rotation:i})}drawSquare({x:A,y:e,size:t,rotation:i}){this.basicSquare({x:A,y:e,size:t,rotation:i})}drawExtraRounded({x:A,y:e,size:t,rotation:i}){this.basicExtraRounded({x:A,y:e,size:t,rotation:i})}drawClassy({x:A,y:e,size:t,rotation:i}){this.basicClassy({x:A,y:e,size:t,rotation:i})}drawInpoint({x:A,y:e,size:t,rotation:i}){this.basicInpoint({x:A,y:e,size:t,rotation:i})}drawOutpoint({x:A,y:e,size:t,rotation:i}){this.basicInpoint({x:A,y:e,size:t,rotation:(i||0)+Math.PI})}}class ei{get element(){return this._element}constructor(A,e){this.type=A,this.document=e}draw(A){let e;switch(this.type){case T.dot:e=this.drawDot;break;case T.randomDot:e=this.drawRandomDot;break;case T.classy:e=this.drawClassy;break;case T.classyRounded:e=this.drawClassyRounded;break;case T.rounded:e=this.drawRounded;break;case T.verticalLine:e=this.drawVerticalLine;break;case T.horizontalLine:e=this.drawHorizontalLine;break;case T.extraRounded:e=this.drawExtraRounded;break;case T.diamond:e=this.drawDiamond;break;case T.smallSquare:e=this.drawSmallSquare;break;case T.tinySquare:e=this.drawTinySquare;break;case T.star:e=this.drawStar;break;case T.plus:e=this.drawPlus;break;case T.square:default:e=this.drawSquare}e.call(this,A)}rotateFigure({x:A,y:e,size:t,rotation:i=0,draw:o}){var n;const g=A+t/2,r=e+t/2;o(),null===(n=this._element)||void 0===n||n.setAttribute("transform",`rotate(${w(180*i/Math.PI)},${g},${r})`)}basicDot(A){const{size:e,x:t,y:i}=A;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","circle"),this._element.setAttribute("cx",w(t+e/2)),this._element.setAttribute("cy",w(i+e/2)),this._element.setAttribute("r",w(e/2))}})}basicSquare(A){const{size:e,x:t,y:i}=A;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","rect"),this._element.setAttribute("x",w(t)),this._element.setAttribute("y",w(i)),this._element.setAttribute("width",w(e)),this._element.setAttribute("height",w(e))}})}basicSideRounded(A){const{size:e,x:t,y:i}=A;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",y`M ${t} ${i} v ${e} h ${e/2} a ${e/2} ${e/2}, 0, 0, 0, 0 ${-e} z`)}})}basicCornerRounded(A){const{size:e,x:t,y:i}=A;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",y`M ${t} ${i} v ${e} h ${e} v ${-e/2} a ${e/2} ${e/2}, 0, 0, 0, ${-e/2} ${-e/2} z`)}})}basicCornerExtraRounded(A){const{size:e,x:t,y:i}=A;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",y`M ${t} ${i} v ${e} h ${e} a ${e} ${e}, 0, 0, 0, ${-e} ${-e} z`)}})}basicCornersRounded(A){const{size:e,x:t,y:i}=A;this.rotateFigure({...A,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",y`M ${t} ${i} v ${e/2} a ${e/2} ${e/2}, 0, 0, 0, ${e/2} ${e/2} h ${e/2} v ${-e/2} a ${e/2} ${e/2}, 0, 0, 0, ${-e/2} ${-e/2} z`)}})}drawDot({x:A,y:e,size:t}){this.basicDot({x:A,y:e,size:t,rotation:0})}drawRandomDot({x:A,y:e,size:t}){const i=.25*Math.random()+.75;this.basicDot({x:A,y:e,size:t*i,rotation:0})}drawSquare({x:A,y:e,size:t}){this.basicSquare({x:A,y:e,size:t,rotation:0})}drawSmallSquare({x:A,y:e,size:t}){const i=t;t=.7*i,A+=.15*i,e+=.15*i,this.basicSquare({x:A,y:e,size:t,rotation:0})}drawTinySquare({x:A,y:e,size:t}){const i=t;t=.6*i,A+=.35*i,e+=.35*i,this.basicSquare({x:A,y:e,size:t,rotation:0})}drawDiamond({x:A,y:e,size:t}){this.basicSquare({x:A,y:e,size:t,rotation:Math.PI/4})}drawRounded({x:A,y:e,size:t,getNeighbor:i}){const o=i?+i(-1,0):0,n=i?+i(1,0):0,g=i?+i(0,-1):0,r=i?+i(0,1):0,I=o+n+g+r;if(0!==I)if(I>2||o&&n||g&&r)this.basicSquare({x:A,y:e,size:t,rotation:0});else{if(2===I){let i=0;return o&&g?i=Math.PI/2:g&&n?i=Math.PI:n&&r&&(i=-Math.PI/2),void this.basicCornerRounded({x:A,y:e,size:t,rotation:i})}if(1===I){let i=0;return g?i=Math.PI/2:n?i=Math.PI:r&&(i=-Math.PI/2),void this.basicSideRounded({x:A,y:e,size:t,rotation:i})}}else this.basicDot({x:A,y:e,size:t,rotation:0})}drawVerticalLine({x:A,y:e,size:t,getNeighbor:i}){const o=i?+i(-1,0):0,n=i?+i(1,0):0,g=i?+i(0,-1):0,r=i?+i(0,1):0;if(0===o+n+g+r||o&&!g&&!r||n&&!g&&!r)this.basicDot({x:A,y:e,size:t,rotation:0});else if(g&&r)this.basicSquare({x:A,y:e,size:t,rotation:0});else if(!g||r)if(!r||g);else{const i=-Math.PI/2;this.basicSideRounded({x:A,y:e,size:t,rotation:i})}else{const i=Math.PI/2;this.basicSideRounded({x:A,y:e,size:t,rotation:i})}}drawHorizontalLine({x:A,y:e,size:t,getNeighbor:i}){const o=i?+i(-1,0):0,n=i?+i(1,0):0,g=i?+i(0,-1):0,r=i?+i(0,1):0;if(0===o+n+g+r||g&&!o&&!n||r&&!o&&!n)this.basicDot({x:A,y:e,size:t,rotation:0});else if(o&&n)this.basicSquare({x:A,y:e,size:t,rotation:0});else if(!o||n)if(!n||o);else{const i=Math.PI;this.basicSideRounded({x:A,y:e,size:t,rotation:i})}else{const i=0;this.basicSideRounded({x:A,y:e,size:t,rotation:i})}}drawExtraRounded({x:A,y:e,size:t,getNeighbor:i}){const o=i?+i(-1,0):0,n=i?+i(1,0):0,g=i?+i(0,-1):0,r=i?+i(0,1):0,I=o+n+g+r;if(0!==I)if(I>2||o&&n||g&&r)this.basicSquare({x:A,y:e,size:t,rotation:0});else{if(2===I){let i=0;return o&&g?i=Math.PI/2:g&&n?i=Math.PI:n&&r&&(i=-Math.PI/2),void this.basicCornerExtraRounded({x:A,y:e,size:t,rotation:i})}if(1===I){let i=0;return g?i=Math.PI/2:n?i=Math.PI:r&&(i=-Math.PI/2),void this.basicSideRounded({x:A,y:e,size:t,rotation:i})}}else this.basicDot({x:A,y:e,size:t,rotation:0})}drawClassy({x:A,y:e,size:t,getNeighbor:i}){const o=i?+i(-1,0):0,n=i?+i(1,0):0,g=i?+i(0,-1):0,r=i?+i(0,1):0;0!==o+n+g+r?o||g?n||r?this.basicSquare({x:A,y:e,size:t,rotation:0}):this.basicCornerRounded({x:A,y:e,size:t,rotation:Math.PI/2}):this.basicCornerRounded({x:A,y:e,size:t,rotation:-Math.PI/2}):this.basicCornersRounded({x:A,y:e,size:t,rotation:Math.PI/2})}drawClassyRounded({x:A,y:e,size:t,getNeighbor:i}){const o=i?+i(-1,0):0,n=i?+i(1,0):0,g=i?+i(0,-1):0,r=i?+i(0,1):0;0!==o+n+g+r?o||g?n||r?this.basicSquare({x:A,y:e,size:t,rotation:0}):this.basicCornerExtraRounded({x:A,y:e,size:t,rotation:Math.PI/2}):this.basicCornerExtraRounded({x:A,y:e,size:t,rotation:-Math.PI/2}):this.basicCornersRounded({x:A,y:e,size:t,rotation:Math.PI/2})}drawStar({x:A,y:e,size:t}){this.rotateFigure({x:A,y:e,size:t,rotation:0,draw:()=>{var i;this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path");const o=A+t/2,n=e+t/2,g=1.3*t/2,r=.5*g;let I="";for(let A=0;A<10;A++){const e=A*Math.PI/5-Math.PI/2,t=A%2==0?g:r;I+=(0===A?"M":"L")+`${o+t*Math.cos(e)},${n+t*Math.sin(e)}`}I+="Z",null===(i=this._element)||void 0===i||i.setAttribute("d",I)}})}drawPlus({x:A,y:e,size:t}){this.rotateFigure({x:A,y:e,size:t,rotation:0,draw:()=>{var i;this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path");const o=.35*t,n=.85*t,g=(t-n)/2,r=o/2,I=[`M ${A+t/2-r} ${e+g}`,`h ${o}`,`v ${n}`,"h "+-o,"z",`M ${A+g} ${e+t/2-r}`,`h ${n}`,`v ${o}`,"h "+-n,"z"].join(" ");null===(i=this._element)||void 0===i||i.setAttribute("d",I)}})}}const ti={toDataURL:A=>"string"==typeof A&&A.startsWith("data:")?Promise.resolve(A):new Promise(((e,t)=>{if("string"==typeof A){const i=new XMLHttpRequest,o=()=>{i.abort()};i.onload=()=>{if(i.status<200||i.status>=300)return o(),void t(new Error(`Failed to load image: ${i.statusText}`));const A=new FileReader;A.onloadend=()=>{o(),e(A.result)},A.onerror=()=>{o(),t(new Error("Failed to read image blob"))},A.readAsDataURL(i.response)},i.onerror=i.ontimeout=i.onabort=()=>{o(),t(new Error("Image load aborted or failed"))};try{i.open("GET",A,!0),i.responseType="blob",i.timeout=1e4,i.send()}catch(A){o(),t(A)}}else{const i=new FileReader;i.onloadend=()=>{e(i.result)},i.onerror=()=>{t(new Error("Failed to read local image"))},i.readAsDataURL(A)}})).catch((A=>(console.error("Image loading error:",A),"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSIjY2NjIi8+PHRleHQgeD0iNTAlIiB5PSI1MCUiIGRvbWluYW50LWJhc2VsaW5lPSJtaWRkbGUiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZpbGw9IiMwMDAiIGZvbnQtc2l6ZT0iMTYiPkxvZ28gbG9hZCBlcnJvcjwvdGV4dD48L3N2Zz4="))),getSize:(A,e)=>new Promise(((t,i)=>{const o=new Image,n=setTimeout((()=>{i(new Error("Image loading timed out"))}),15e3);"string"==typeof e&&(o.crossOrigin=e);const g=()=>{clearTimeout(n),o.onload=o.onerror=o.onabort=null,o.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="};o.onload=()=>{g(),t({width:o.width,height:o.height})},o.onerror=o.onabort=()=>{g(),i(new Error("Failed to load image"))};try{"string"==typeof A?o.src=A:ti.toDataURL(A).then((A=>{A?o.src=A:i(new Error("Invalid image source"))})).catch(i)}catch(A){g(),i(A)}})).catch((A=>(console.warn("[QRCodeJs] Image size detection error:",A),{width:200,height:200})))};function ii(A){let e,t=[],i=1;if("#"===(A=A.toLowerCase())[0]){const e=A.slice(1),o=e.length;o<=4?(t=[parseInt(e[0]+e[0],16),parseInt(e[1]+e[1],16),parseInt(e[2]+e[2],16)],4===o&&(i=parseInt(e[3]+e[3],16)/255)):(t=[parseInt(e[0]+e[1],16),parseInt(e[2]+e[3],16),parseInt(e[4]+e[5],16)],8===o&&(i=parseInt(e[6]+e[7],16)/255)),t[0]||(t[0]=0),t[1]||(t[1]=0),t[2]||(t[2]=0)}else{if(!(e=/^((?:rgba?))\s*\(([^)]*)\)/.exec(A)))return{value:A,alpha:i};{const A=3;t=e[2].trim().split(/\s*[,/]\s*|\s+/),t=t.map(((A,e)=>{if("%"===A[A.length-1]){const t=parseFloat(A)/100;return 3===e?t:255*t}return"none"===A?0:parseFloat(A)})),i=t.length>A?t.pop():1}}return{value:"#"+t.map((A=>Math.max(0,Math.min(255,A)).toString(16).padStart(2,"0"))).join(""),alpha:Math.max(0,Math.min(1,i))}}const oi="undefined"!=typeof window&&void 0!==window.document,ni="undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node,gi="undefined"!=typeof navigator&&"Cloudflare-Workers"===navigator.userAgent;let ri;async function Ii(A,e){if(A.startsWith("data:"))return Promise.resolve(A);try{const t={method:"GET",mode:"cors"};"anonymous"!==e&&"use-credentials"!==e||(t.credentials="use-credentials"===e?"include":"omit");const i=await fetch(A,t);if(!i.ok)return console.warn(`[QRCodeJs] Failed to fetch image directly: ${i.status} ${i.statusText}`),null;if(oi){const A=await i.blob();return A.type.startsWith("image/")?new Promise(((e,t)=>{const i=new FileReader;i.onloadend=()=>e(i.result),i.onerror=A=>{console.warn("[QRCodeJs] FileReader error:",A),t(new Error("Failed to read image blob"))},i.readAsDataURL(A)})):(console.warn(`[QRCodeJs] Fetched resource is not an image: ${A.type}`),null)}if(ni||gi){const A=i.headers.get("content-type");if(!A||!A.startsWith("image/"))return console.warn(`[QRCodeJs] Fetched resource is not an image or content-type missing: ${A}`),null;const e=await i.arrayBuffer();let t="";if(ni){const A=await async function(){if(ri)return ri;if(ni)try{const A=await Promise.resolve().then((function(){return no}));ri=A.Buffer}catch(A){console.error("[QRCodeJs] Failed to dynamically import 'buffer' in Node.js:",A),ri=void 0}return ri}();if(!A)return console.error("[QRCodeJs] Buffer module not loaded in Node.js environment."),null;t=A.from(e).toString("base64")}else if(t=function(A){let e="";const t=new Uint8Array(A),i=t.byteLength;for(let A=0;A<i;A++)e+=String.fromCharCode(t[A]);return"undefined"!=typeof btoa?btoa(e):""}(e),!t)return console.warn("[QRCodeJs] Failed to convert ArrayBuffer to Base64 in Worker."),null;return`data:${A};base64,${t}`}return console.warn("[QRCodeJs] Unknown environment, cannot convert image to Data URL."),null}catch(A){return console.warn("[QRCodeJs] Error fetching image directly:",A),null}}async function si(A){const e=`https://api.qr-platform.com/v1/utils/get-dataurl?url=${encodeURIComponent(A)}`;try{const A=await fetch(e,{method:"GET",headers:{"x-client-name":"QRCode.js"},mode:"cors"});if(!A.ok)return console.warn(`[QRCodeJs] Failed to fetch image via proxy: ${A.status} ${A.statusText}`),null;const t=await A.json();return t&&"string"==typeof t.dataUrl&&t.dataUrl.startsWith("data:image/")?t.dataUrl:(console.warn("[QRCodeJs] Proxy response did not contain a valid dataUrl:",t),null)}catch(A){return console.warn("[QRCodeJs] Error fetching image via proxy:",A),null}}const ai=[[1,1,1,1,1,1,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,1,1,1,1,1,1]],Bi=[[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,1,1,1,0,0],[0,0,1,1,1,0,0],[0,0,1,1,1,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0]];class Ci{constructor(A){var e,t,i,o,n,g,r,I,s,a,B,C;this.roundValue=A=>"number"==typeof A?A:parseInt(A.replace("%",""),10)/100;const Q=A.margin||0,E="circle"===A.shape?.1:.3,{bordersMain:l,bordersOuter:h,bordersInner:d}=A,c=Math.min(A.width,A.height),u=Y(null===(e=A.borderOptions)||void 0===e?void 0:e.radius),p=Y(null===(t=A.borderOptions)||void 0===t||null===(t=t.inner)||void 0===t?void 0:t.radius,u),m=u&&b(u)>0?b(u)/100*c:0,f=u&&b(p)>0?b(p)/100*c:0,D=null!=f?f:m,y=D>0&&null!==(i=A.borderOptions)&&void 0!==i&&i.hasBorder?D*E:0;this.finalWidth=A.width+l.left+l.right+h.left+h.right+d.left+d.right,this.finalHeight=A.height+l.top+l.bottom+h.top+h.bottom+d.top+d.bottom;const F=l.left+l.right+h.left+h.right+d.left+d.right,S=l.top+l.bottom+h.top+h.bottom+d.top+d.bottom,R=null!==(o=A.borderOptions)&&void 0!==o&&o.hasBorder?this.finalWidth-F-2*h.left-2*d.left-d.right-2*Q-y:this.finalWidth-2*Q,k=null!==(n=A.borderOptions)&&void 0!==n&&n.hasBorder?this.finalHeight-S-2*h.top-2*d.top-d.top-2*Q-y:this.finalHeight-2*Q,U=R/A.width,N=k/A.height,G=Math.min(U,N),V=Math.min(Math.max(null!==(g=A.scale)&&void 0!==g?g:1,0),1.5),Z=Math.min(Math.max(null!==(r=null===(I=A.borderOptions)||void 0===I||null===(I=I.inner)||void 0===I?void 0:I.scale)&&void 0!==r?r:1,0),1.5),O=(null===(s=A.borderOptions)||void 0===s||null===(s=s.inner)||void 0===s?void 0:s.horizontalOffset)||0,W=(null===(a=A.borderOptions)||void 0===a||null===(a=a.inner)||void 0===a?void 0:a.verticalOffset)||0;A.scale=G*V*Z||1,this.options=A,this.document=A.document,this.imageTools=A.imageTools||ti,this._element=this.document.createElementNS("http://www.w3.org/2000/svg","svg");const M=w(A.width),H=w(A.height);if(A.isResponsive)this._element.setAttribute("height","100%"),this._element.setAttribute("width","100%");else{const e=A.userWidth||A.width,t=A.userHeight||A.height;e&&("string"==typeof e?this._element.setAttribute("width",e):this._element.setAttribute("width",w(e))),t&&("string"==typeof t?this._element.setAttribute("height",t):this._element.setAttribute("height",w(t)))}A.zoomFactor&&1!==A.zoomFactor?this._element.setAttribute("viewBox",`0 0 ${A.width/A.zoomFactor} ${A.height/A.zoomFactor}`):this._element.setAttribute("viewBox",`0 0 ${M} ${H}`),this.defs=this.document.createElementNS("http://www.w3.org/2000/svg","defs"),this._element.appendChild(this.defs),this._innerQrGroup=this.document.createElementNS("http://www.w3.org/2000/svg","g");let T=(R-A.width*A.scale)/2+Q-O+y/2,X=(k-A.height*A.scale)/2+Q-W+y/2;if(null!==(B=A.borderOptions)&&void 0!==B&&B.hasBorder){var x,L;const e={top:J(A.borderOptions,"top"),right:J(A.borderOptions,"right"),bottom:J(A.borderOptions,"bottom"),left:J(A.borderOptions,"left")},t=A.borderOptions.thickness||0,i=(null===(x=A.borderOptions.borderOuter)||void 0===x?void 0:x.thickness)||0,o=(null===(L=A.borderOptions.borderInner)||void 0===L?void 0:L.thickness)||0,n=A.borderOptions.noBorderThickness||t/4;X+=((e.top?t:n)-(e.bottom?t:n))/2+i+o+o/2,T+=((e.left?t:n)-(e.right?t:n))/2+i+o+o/2}A.verticalOffset&&(X-=A.verticalOffset),A.horizontalOffset&&(T-=A.horizontalOffset),this._instanceId=Ci.instanceCount++,1===A.scale&&0===T&&0===X||this._innerQrGroup.setAttribute("transform",`translate(${T}, ${X}) scale(${A.scale})`),this._maskedQrGroup=this.document.createElementNS("http://www.w3.org/2000/svg","g"),null!==(C=A.borderOptions)&&void 0!==C&&C.hasBorder&&this._maskedQrGroup.setAttribute("mask",`url(#qr-mask-${this._instanceId})`),this._maskedQrGroup.appendChild(this._innerQrGroup),this._element.appendChild(this._maskedQrGroup)}get element(){return this._element}get qrGroup(){return this._innerQrGroup||this._element}get width(){return this.finalWidth}get height(){return this.finalHeight}get svgSize(){return{width:this.options.width,height:this.options.height}}getElement(){return this._element}async drawQR(A){var e;const t=A.getModuleCount(),i=parseInt(((t-17)/4).toFixed(0),10),o=this.options.dotsOptions.size;let n={hideXDots:0,hideYDots:0,width:0,height:0};if(this.qr=A,null!==(e=this.options.borderOptions)&&void 0!==e&&e.hasBorder||this.drawBackground(),this.options.image){const A=await this.imageTools.getSize(this.options.image,this.options.imageOptions.crossOrigin),{imageOptions:e}=this.options;if(this.options.imageOptions.mode==K.background){const t=0,i=(this.finalWidth-2*t*o)*e.imageSize,g=(this.finalHeight-2*t*o)*e.imageSize;let{width:r,height:I}=A;I=I/r*i,r=i,I>g&&(r=r/I*g,I=g),n={hideXDots:0,hideYDots:0,width:r,height:I}}else{const e=this.options.imageOptions.imageSize*this.options.errorCorrectionPercent,g=E.getPatternPosition(i),r=Math.floor(e*(t*t-192-2*(t-16)-g.length**2*25));n=function({originalHeight:A,originalWidth:e,maxHiddenDots:t,maxHiddenAxisDots:i,dotSize:o,margin:n}){const g={x:0,y:0},r={x:0,y:0};if(A<=0||e<=0||t<=0||o<=0||4*n**2>t)return{height:0,width:0,hideYDots:0,hideXDots:0};i&&i%2==0&&(i=Math.max(1,i-1));const I=Math.max(e,A),s=Math.min(e,A);let a=0,B=(i||t)-2*n;do{const A=a+(B-a)/2;let e=Math.max(1,Math.ceil(A+2*n));e%2==0&&e++;let i=Math.max(1,Math.ceil(A*s/I+2*n));i%2==0&&i++,e*i>t?B=A:a=A}while(Math.abs(a-B)>.001);const C=a;let Q=Math.max(1,Math.ceil(C+2*n));Q%2==0&&Q++;let E=Math.max(1,Math.ceil(C*s/I+2*n));E%2==0&&E++,e>A?(g.x=Q,g.y=E):(g.x=E,g.y=Q);const l=(g.x-2*n)*o,h=(g.y-2*n)*o;return r.x=l,r.y=l*A/e,r.y>h&&(r.y=h,r.x=h*e/A),{height:Math.round(r.y+2*n*o),width:Math.round(r.x+2*n*o),hideYDots:g.y,hideXDots:g.x}}({originalWidth:A.width,originalHeight:A.height,maxHiddenDots:r,maxHiddenAxisDots:t-14,dotSize:o,margin:this.options.imageOptions.margin})}}var g;this.options.imageOptions.mode!=K.overlay&&this.options.image&&n.width>0&&n.height>0&&await this.drawImage({width:n.width,height:n.height,count:t,dotSize:o,radius:null===(g=this.options.imageOptions)||void 0===g?void 0:g.radius});this.drawDots(((A,e)=>!(this.options.imageOptions.mode==K.center&&A>=(t-n.hideXDots)/2&&A<(t+n.hideXDots)/2&&e>=(t-n.hideYDots)/2&&e<(t+n.hideYDots)/2)&&!(A<8&&e<8||A>=t-8&&e<8||e>=t-8&&A<8))),this.options.imageOptions.mode==K.overlay&&this.options.image&&n.width>0&&n.height>0&&await this.drawImage({width:n.width,height:n.height,count:t,dotSize:o}),this.drawCorners()}drawBackground(){const A=this.options;if(this._element&&A.backgroundOptions){var e;const t=A.backgroundOptions.gradient,i=A.backgroundOptions.color,o=Math.min(A.width,A.height),n=(null===(e=A.backgroundOptions)||void 0===e?void 0:e.round)||0,g=this.roundValue(n);let r;if(g>0){const e=this.document.createElementNS("http://www.w3.org/2000/svg","clipPath");r=`background-clip-${this._instanceId}`,e.setAttribute("id",r);const t=this.document.createElementNS("http://www.w3.org/2000/svg","rect");t.setAttribute("x",w((A.width-o)/2)),t.setAttribute("y",w((A.height-o)/2)),t.setAttribute("width",w(o)),t.setAttribute("height",w(o)),t.setAttribute("rx",w(o/2*g)),e.appendChild(t),this.defs.appendChild(e),this._maskedQrGroup.setAttribute("clip-path",`url(#${r})`)}F(i)&&!t||this.createColor({options:t,color:i,additionalRotation:0,x:0,y:0,height:A.height,width:A.width,name:`background-color-${this._instanceId}`,clipPathId:r});const I=this.document.createElementNS("http://www.w3.org/2000/svg","rect");[this.backgroundMask,this.backgroundMaskGroup]=this.createMask(`mask-background-color-${this._instanceId}`),this.defs.appendChild(this.backgroundMask),I.setAttribute("x",w((A.width-o)/2)),I.setAttribute("y",w((A.height-o)/2)),I.setAttribute("width",w(o)),I.setAttribute("height",w(o)),I.setAttribute("rx",w(o/2*g)),this.backgroundMaskGroup.appendChild(I)}}drawBackgroundForBorder(A,e){const t=this.options;if(t.backgroundOptions){const i=t.backgroundOptions.gradient,o=t.backgroundOptions.color||"#ffffff",n=Math.min(t.width,t.height)-2*A,g=(t.width-n)/2,r=(t.height-n)/2,I=e-A;let s;!F(o)||i?s=this.createColor({options:i,borderOptions:t.borderOptions,color:o,additionalRotation:0,x:g,y:r,height:n,width:n,name:`background-color-${this._instanceId}`,returnSVGGroup:!0}):(s=this.document.createElementNS("http://www.w3.org/2000/svg","rect"),s.setAttribute("x",w(g)),s.setAttribute("y",w(r)),s.setAttribute("width",w(n)),s.setAttribute("height",w(n)),s.setAttribute("rx",w(I)),s.setAttribute("fill","none"));const a=this.document.createElementNS("http://www.w3.org/2000/svg","rect");return[this.backgroundMask,this.backgroundMaskGroup]=this.createMask(`mask-background-color-${this._instanceId}`),this.defs.appendChild(this.backgroundMask),a.setAttribute("x",w(g)),a.setAttribute("y",w(r)),a.setAttribute("width",w(n)),a.setAttribute("height",w(n)),a.setAttribute("rx",w(I)),this.backgroundMaskGroup.appendChild(a),s}}drawDots(A){var e;if(!this.qr)throw new Error("QR code is not defined");const t=this.options,i=this.qr.getModuleCount();if(i>t.width||i>t.height)throw new Error("The canvas is too small");const o=t.dotsOptions.size;let n=Math.min(t.width,t.height);t.imageOptions.mode==K.background&&(n-=2*o*(t.imageOptions.margin||0));const g=Math.floor((t.width-i*o)/2);let r=Math.floor((t.height-i*o)/2);if(t.offset){const A=(t.height-i*o)/2;r+=Math.min(Math.abs(t.offset),A)*Math.sign(t.offset)}let I=new ei(t.dotsOptions.type,this.document);const s=new ei(T.tinySquare,this.document),a=new ei(T.square,this.document);[this.dotsMask,this.dotsMaskGroup]=this.createMask(`mask-dot-color-${this._instanceId}`),this.defs.appendChild(this.dotsMask),t.imageOptions.mode==K.background&&([this.lightDotsMask,this.lightDotsMaskGroup]=this.createMask(`mask-light-dot-color-${this._instanceId}`),this.defs.appendChild(this.lightDotsMask));let B=0,C=i;t.shape===L.circle?(B=Math.floor((n/o-i-2)/2),C=i+2*B):t.imageOptions.mode==K.background&&(B=1,C=i+2*B);const Q=g-B*o,l=r-B*o,h=Q,d=l,c=i+2*B,u=new Array(C),p=Math.floor(C/2);for(let e=0;e<C;e++){u[e]=new Array(C);for(let o=0;o<C;o++)if(e>B-1&&e<C-B&&o>B-1&&o<C-B){const t=e-B,i=o-B;A&&!A(t,i)?u[e][o]=void 0:u[e][o]=!!this.qr.isDark(i,t)}else t.shape===L.circle&&Math.sqrt((e-p)*(e-p)+(o-p)*(o-p))>p?u[e][o]=void 0:u[e][o]=e!=B-1&&e!=C-B&&o!=B-1&&o!=C-B?this.qr.isDark(o-2*B<0?o:o>=i?o-2*B:o-B,e-2*B<0?e:e>=i?e-2*B:e-B):(o==B-1&&(e<B+8||e>C-B-9)||o==C-B&&e<B+8||e==B-1&&(o<B+8||o>C-B-9)||e==C-B&&o<B+8)&&void 0}const m=(i-17)/4,f=E.getPatternPosition(m);for(let A=0;A<C;A++){const e=f.find((e=>A-B>e-3&&A-B<e+3));for(let t=0;t<C;t++){const i=f.find((A=>t-B>A-3&&t-B<A+3));null!=u[A][t]&&(this.lightDotsMask&&(I=e&&i&&(e!=f[0]&&i!=f[0]||i!=f[0]&&i!=f[f.length-1]||e!=f[0]&&e!=f[f.length-1])?a:s),u[A][t]?(I.draw({x:Q+A*o,y:l+t*o,size:o,getNeighbor:(e,i)=>{var o;return!0===(null===(o=u[A+e])||void 0===o?void 0:o[t+i])}}),I.element&&this.dotsMaskGroup&&this.dotsMaskGroup.appendChild(I.element)):this.lightDotsMask&&(I.draw({x:Q+A*o,y:l+t*o,size:o,getNeighbor:(e,i)=>{var o;return!1===(null===(o=u[A+e])||void 0===o?void 0:o[t+i])}}),I.element&&this.lightDotsMaskGroup&&this.lightDotsMaskGroup.appendChild(I.element)))}}this.lightDotsMask&&this.createColor({color:t.imageOptions.backgroundColor,additionalRotation:0,x:h,y:d,height:c*o,width:c*o,name:`light-dot-color-${this._instanceId}`}),this.createColor({options:null===(e=t.dotsOptions)||void 0===e?void 0:e.gradient,color:t.dotsOptions.color,additionalRotation:0,x:h,y:d,height:c*o,width:c*o,name:`dot-color-${this._instanceId}`})}drawCorners(){if(!this.qr)throw new Error("QR code is not defined");const A=this.qrGroup,e=this.options;if(!A)throw new Error("Element code is not defined");const t=this.qr.getModuleCount(),i=e.dotsOptions.size,o=7*i,n=3*i,g=Math.floor((e.width-t*i)/2);let r=Math.floor((e.height-t*i)/2);if(e.offset){const A=(e.height-t*i)/2,o=Math.min(Math.abs(e.offset),A)*Math.sign(e.offset);r+=o}[[0,0,0],[1,0,Math.PI/2],[0,1,-Math.PI/2]].forEach((([A,I,s])=>{var a,B,C,Q,E,l;const h=g+A*i*(t-7),d=r+I*i*(t-7);let c=this.dotsMask,u=this.dotsMaskGroup,p=this.dotsMask,m=this.dotsMaskGroup;var f,D,w,y;(null!==(a=e.cornersSquareOptions)&&void 0!==a&&a.gradient||null!==(B=e.cornersSquareOptions)&&void 0!==B&&B.color)&&([c,u]=this.createMask(`mask-corners-square-color-${A}-${I}-${this._instanceId}`),this.defs.appendChild(c),p=c,m=u,this.createColor({options:null===(f=e.cornersSquareOptions)||void 0===f?void 0:f.gradient,color:null===(D=e.cornersSquareOptions)||void 0===D?void 0:D.color,additionalRotation:s,x:h,y:d,height:o,width:o,name:`corners-square-color-${A}-${I}-${this._instanceId}`}));if(null!==(C=e.cornersSquareOptions)&&void 0!==C&&C.type){const A=new Ai(e.cornersSquareOptions.type,this.document);A.draw({x:h,y:d,size:o,rotation:s}),A.element&&u&&u.appendChild(A.element),A.fill&&this.lightDotsMaskGroup&&this.lightDotsMaskGroup.appendChild(A.fill)}else{const A=new ei(e.dotsOptions.type,this.document);for(let e=0;e<ai.length;e++)for(let t=0;t<ai[e].length;t++){var F,S;if(null!==(F=ai[e])&&void 0!==F&&F[t])A.draw({x:h+e*i,y:d+t*i,size:i,getNeighbor:(A,i)=>{var o;return!(null===(o=ai[e+A])||void 0===o||!o[t+i])}}),A.element&&u&&u.appendChild(A.element);else!this.lightDotsMask||null!==(S=Bi[e])&&void 0!==S&&S[t]||(A.draw({x:h+e*i,y:d+t*i,size:i,getNeighbor:(A,i)=>{var o,n;return!(null!==(o=ai[e+A])&&void 0!==o&&o[t+i]||null!==(n=Bi[e+A])&&void 0!==n&&n[t+i])}}),A.element&&this.lightDotsMaskGroup&&this.lightDotsMaskGroup.appendChild(A.element))}if(this.lightDotsMask)for(let e=-1;e<8;e++)for(let t=-1;t<8;t++)-1!=e&&7!=e&&-1!=t&&7!=t||(A.draw({x:h+e*i,y:d+t*i,size:i,getNeighbor:(A,i)=>{const o=e+A,n=t+i;return o>=-1&&o<=7&&n>=-1&&n<=7&&(-1==o||7==o||-1==n||7==n)}}),A.element&&this.lightDotsMaskGroup&&this.lightDotsMaskGroup.appendChild(A.element))}(null!==(Q=e.cornersDotOptions)&&void 0!==Q&&Q.gradient||null!==(E=e.cornersDotOptions)&&void 0!==E&&E.color)&&([p,m]=this.createMask(`mask-corners-dot-color-${A}-${I}-${this._instanceId}`),this.defs.appendChild(p),this.createColor({options:null===(w=e.cornersDotOptions)||void 0===w?void 0:w.gradient,color:null===(y=e.cornersDotOptions)||void 0===y?void 0:y.color,additionalRotation:s,x:h+2*i,y:d+2*i,height:n,width:n,name:`corners-dot-color-${A}-${I}-${this._instanceId}`}));if(null!==(l=e.cornersDotOptions)&&void 0!==l&&l.type){const A=new $t(e.cornersDotOptions.type,this.document);A.draw({x:h+2*i,y:d+2*i,size:n,rotation:s}),A.element&&m&&m.appendChild(A.element)}else{const A=new ei(e.dotsOptions.type,this.document);for(let e=0;e<Bi.length;e++)for(let t=0;t<Bi[e].length;t++){var R;null!==(R=Bi[e])&&void 0!==R&&R[t]&&(A.draw({x:h+e*i,y:d+t*i,size:i,getNeighbor:(A,i)=>{var o;return!(null===(o=Bi[e+A])||void 0===o||!o[t+i])}}),A.element&&m&&m.appendChild(A.element))}}}))}async drawImage({width:A,height:e,count:t,dotSize:i,radius:o}){var n;const g=this.options,r=Math.floor((g.width-t*i)/2);let I=Math.floor((g.height-t*i)/2);if(g.offset){const A=(g.height-t*i)/2;I+=Math.min(Math.abs(g.offset),A)*Math.sign(g.offset)}let s=g.imageOptions.margin*i;g.imageOptions.mode==K.background&&(s=0);const a=r+s+(t*i-A)/2,B=I+s+(t*i-e)/2,C=A-2*s,Q=e-2*s;let E=null;try{"string"==typeof g.image?E=await Ii(g.image,g.imageOptions.crossOrigin):g.image&&(E=await this.imageTools.toDataURL(g.image)),"string"!=typeof g.image||E||(console.warn("Direct image fetch failed, attempting proxy..."),E=await si(g.image))}catch(A){if(console.warn("[QRCodeJs] Error fetching image directly:",A),"string"==typeof g.image)try{console.warn("[QRCodeJs] Direct image fetch failed via error, attempting proxy..."),E=await si(g.image)}catch(A){console.warn("[QRCodeJs] Failed to load image via proxy:",A)}}E||(console.warn("[QRCodeJs] Failed to load image directly and via proxy. Using fallback SVG."),E=Ci.FALLBACK_IMAGE_DATA_URL);let l=null;if(o){l=`clip-path-image-${this._instanceId}`;const A=this.document.createElementNS("http://www.w3.org/2000/svg","clipPath");A.setAttribute("id",l);const e=this.document.createElementNS("http://www.w3.org/2000/svg","rect");e.setAttribute("x",w(a)),e.setAttribute("y",w(B)),e.setAttribute("width",w(C)),e.setAttribute("height",w(Q));const t="number"==typeof o?`${o}px`:o;e.setAttribute("rx",t),e.setAttribute("ry",t),A.appendChild(e),this.defs.appendChild(A)}if(g.imageOptions.backgroundColor&&!F(g.imageOptions.backgroundColor)){const A=this.document.createElementNS("http://www.w3.org/2000/svg","rect");A.setAttribute("x",w(a)),A.setAttribute("y",w(B)),A.setAttribute("width",w(C)),A.setAttribute("height",w(Q)),l&&A.setAttribute("clip-path",`url(#${l})`);const e=ii(g.imageOptions.backgroundColor);A.setAttribute("fill",e.value),e.alpha<1&&A.setAttribute("opacity",e.alpha.toFixed(7)),this.qrGroup.appendChild(A)}const h=this.document.createElementNS("http://www.w3.org/2000/svg","image");if(h.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",E),h.setAttribute("x",w(a)),h.setAttribute("y",w(B)),h.setAttribute("id",`qr-image-${this._instanceId}`),h.setAttribute("width",`${w(C)}px`),h.setAttribute("height",`${w(Q)}px`),h.setAttribute("preserveAspectRatio","xMidYMid meet"),null!==(n=g.imageOptions)&&void 0!==n&&n.padding){const A=g.imageOptions.padding;h.setAttribute("x",w(a+A)),h.setAttribute("y",w(B+A)),h.setAttribute("width",`${w(C-2*A)}px`),h.setAttribute("height",`${w(Q-2*A)}px`)}l&&h.setAttribute("clip-path",`url(#${l})`),this.qrGroup.appendChild(h)}createColor({options:A,borderOptions:e,color:t,additionalRotation:i,x:o,y:n,height:g,width:r,name:I,returnSVGGroup:s=!1,clipPathId:a}){const B=r>g?r:g,C=this.document.createElementNS("http://www.w3.org/2000/svg","rect");if(C.setAttribute("x",w(o)),C.setAttribute("y",w(n)),C.setAttribute("height",w(g)),C.setAttribute("width",w(r)),C.setAttribute("style",`mask:url(#mask-${I}-${this._instanceId})`),a&&C.setAttribute("clip-path",`url(#${a})`),A){let t;if(A.type===M.radial){t=this.document.createElementNS("http://www.w3.org/2000/svg","radialGradient"),t.setAttribute("id",I+"-"+this._instanceId),t.setAttribute("gradientUnits","userSpaceOnUse");let A=o+r/2,i=n+g/2;if(e){const t=e.thickness?e.thickness/2:0,I=2;J(e,"top")&&!J(e,"bottom")?i=n+t*I+g/2:!J(e,"top")&&J(e,"bottom")&&(i=n-t*I+g/2),J(e,"right")&&!J(e,"left")?A=o-t*I+r/2:!J(e,"right")&&J(e,"left")&&(A=o+t*I+r/2)}t.setAttribute("fx",w(A)),t.setAttribute("fy",w(i)),t.setAttribute("cx",w(o+r/2)),t.setAttribute("cy",w(n+g/2)),t.setAttribute("r",w(B/2))}else{const e=((A.rotation||0)+i)%(2*Math.PI),s=(e+2*Math.PI)%(2*Math.PI);let a=o+r/2,B=n+g/2,C=o+r/2,Q=n+g/2;s>=0&&s<=.25*Math.PI||s>1.75*Math.PI&&s<=2*Math.PI?(a-=r/2,B-=g/2*Math.tan(e),C+=r/2,Q+=g/2*Math.tan(e)):s>.25*Math.PI&&s<=.75*Math.PI?(B-=g/2,a-=r/2/Math.tan(e),Q+=g/2,C+=r/2/Math.tan(e)):s>.75*Math.PI&&s<=1.25*Math.PI?(a+=r/2,B+=g/2*Math.tan(e),C-=r/2,Q-=g/2*Math.tan(e)):s>1.25*Math.PI&&s<=1.75*Math.PI&&(B+=g/2,a+=r/2/Math.tan(e),Q-=g/2,C-=r/2/Math.tan(e)),t=this.document.createElementNS("http://www.w3.org/2000/svg","linearGradient"),t.setAttribute("id",I+"-"+this._instanceId),t.setAttribute("gradientUnits","userSpaceOnUse"),t.setAttribute("x1",w(a)),t.setAttribute("y1",w(B)),t.setAttribute("x2",w(C)),t.setAttribute("y2",w(Q))}A.colorStops.forEach((A=>{const e=this.document.createElementNS("http://www.w3.org/2000/svg","stop");e.setAttribute("offset",`${w(100*A.offset)}%`);const i=ii(A.color);e.setAttribute("stop-color",i.value),i.alpha<1&&e.setAttribute("stop-opacity",i.alpha.toFixed(7)),t.appendChild(e)})),C.setAttribute("fill",`url(#${I}-${this._instanceId})`),this.defs.appendChild(t)}else if(t&&!F(t)){const A=ii(t);C.setAttribute("fill",A.value),A.alpha<1&&C.setAttribute("opacity",A.alpha.toFixed(7))}else F(t)&&(C.removeAttribute("fill"),C.setAttribute("fill","none"));if(s)return C;I.startsWith("background-color")?this._element.insertBefore(C,this._maskedQrGroup):this.qrGroup.appendChild(C)}createMask(A){const e=`${A}-${this._instanceId}`,t=this.options,i=this.document.createElementNS("http://www.w3.org/2000/svg","mask");i.setAttribute("id",e),i.setAttribute("maskUnits","userSpaceOnUse"),i.setAttribute("x","0"),i.setAttribute("y","0"),i.setAttribute("width",w(t.width)),i.setAttribute("height",w(t.height));const o=this.document.createElementNS("http://www.w3.org/2000/svg","g");return o.setAttribute("fill","#fff"),i.appendChild(o),[i,o]}}Ci.instanceCount=0,Ci.FALLBACK_IMAGE_DATA_URL="data:image/png;base64,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";const Qi=[{id:"classic-dark",name:"Classic Dark",style:{primaryColor:"#ffffff",secondaryColor:"#ffffff",thirdColor:"#bdc3c7",backgroundColor:"#052136",borderFontColor:"#2f2f33"}},{id:"modern-dark",name:"Modern Dark",style:{primaryColor:"#2ecc71",secondaryColor:"#3498db",thirdColor:"#f1c40f",backgroundColor:"#052136",borderColor:"#2c3e50",borderFontColor:"#f1c40f"}},{id:"blue-realism-dark",name:"Blue Realism Dark",style:{primaryColor:"#3498db",secondaryColor:"#2ecc71",thirdColor:"#8debb2",backgroundColor:"#052136",borderFontColor:"#8debb2"}},{id:"vibrant-dark",name:"Vibrant Dark",style:{primaryColor:"#f39c12",secondaryColor:"#9b59b6",thirdColor:"#1abc9c",backgroundColor:"#052136"}},{id:"neon-dark",name:"Neon Dark",style:{primaryColor:"#f1c40f",secondaryColor:"#e74c3c",thirdColor:"#3498db",backgroundColor:"#052136"}},{id:"sunset-dark",name:"Sunset Dark",style:{primaryColor:"#e67e22",secondaryColor:"#8e44ad",thirdColor:"#16a085",backgroundColor:"#052136"}},{id:"oceanic-dark",name:"Oceanic Dark",style:{primaryColor:"#3498db",secondaryColor:"#1abc9c",thirdColor:"#ecf0f1",backgroundColor:"#052136",borderFontColor:"#ecf0f1"}},{id:"bold-dark",name:"Bold Dark",style:{primaryColor:"#e74c3c",secondaryColor:"#9b59b6",thirdColor:"#2ecc71",backgroundColor:"#052136",borderColor:"#175782",borderFontColor:"#ecf0f1"}},{id:"twilight-dark",name:"Twilight Dark",style:{primaryColor:"#8e44ad",secondaryColor:"#f39c12",thirdColor:"#34db77",backgroundColor:"#052136",borderFontColor:"#34db77"}},{id:"coral-dark",name:"Coral Dark",style:{primaryColor:"#1abc9c",secondaryColor:"#e74c3c",thirdColor:"#f1c40f",backgroundColor:"#052136"}},{id:"midnight-sunset-dark",name:"Midnight Sunset Dark",style:{primaryColor:"#9b59b6",secondaryColor:"#f1c40f",thirdColor:"#1abc9c",backgroundColor:"#052136",borderFontColor:"#5ee9cd"}},{id:"citrus-dark",name:"Citrus Dark",style:{primaryColor:"#f39c12",secondaryColor:"#2ecc71",thirdColor:"#ecf0f1",backgroundColor:"#34495e",borderFontColor:"#ecf0f1"}},{id:"frost-fire-dark",name:"Frost Fire Dark",style:{primaryColor:"#3498db",secondaryColor:"#ecf0f1",thirdColor:"#e74c3c",backgroundColor:"#052136",borderFontColor:"#ecf0f1"}},{id:"turquoise-sun-dark",name:"Turquoise Sun Dark",style:{primaryColor:"#1abc9c",secondaryColor:"#3498db",thirdColor:"#f1c40f",backgroundColor:"#2c3e50",borderFontColor:"#f1c40f"}},{id:"emerald-carrot-sky-dark",name:"Emerald Carrot Sky Dark",style:{primaryColor:"#00e676",secondaryColor:"#E67E22",thirdColor:"#0288d1",backgroundColor:"#052136",borderFontColor:"#ecf0f1"}},{id:"emerald-bloom-dark",name:"Emerald Bloom Dark",style:{primaryColor:"#2ecc71",secondaryColor:"#9b59b6",thirdColor:"#e74c3c",backgroundColor:"#052136",borderFontColor:"#2c3e50"}},{id:"green-sky-dark",name:"Green Sky Dark",style:{primaryColor:"#1abc9c",secondaryColor:"#3498db",thirdColor:"#f1c40f",backgroundColor:"#052136",borderFontColor:"#f1c40f"}},{id:"blue-sky-dark",name:"Blue Sky Dark",style:{primaryColor:"#3498db",secondaryColor:"#2980b9",thirdColor:"#1abc9c",backgroundColor:"#052136"}}],Ei=[{id:"classic",name:"Classic",style:{primaryColor:"#000000",secondaryColor:"#000000",thirdColor:"#757575",backgroundColor:"#ffffff"}},{id:"modern",name:"Modern",style:{primaryColor:"#4CAF50",secondaryColor:"#007fff",thirdColor:"#d81b60",backgroundColor:"#ffffff"}},{id:"rounded",name:"Rounded",style:{primaryColor:"#007bff",secondaryColor:"#4CAF50",thirdColor:"#d32f2f",backgroundColor:"#ffffff"}},{id:"vibrant",name:"Vibrant",style:{primaryColor:"#ff5722",secondaryColor:"#3f51b5",thirdColor:"#2e7d32",backgroundColor:"#ffffff"}},{id:"pastel",name:"Pastel",style:{primaryColor:"#f48fb1",secondaryColor:"#26C6DA",thirdColor:"#00695c",backgroundColor:"#f5f5f5",dotShape:T.dot,cornerSquareShape:x.square,cornerDotShape:X.square}},{id:"earthy",name:"Earthy",style:{primaryColor:"#795548",secondaryColor:"#4db6ac",thirdColor:"#8e24aa",backgroundColor:"#efebe9"}},{id:"sunset",name:"Sunset",style:{primaryColor:"#bf360c",secondaryColor:"#ab47bc",thirdColor:"#00796b",backgroundColor:"#fff3e0"}},{id:"oceanic",name:"Oceanic",style:{primaryColor:"#0288d1",secondaryColor:"#26a69a",thirdColor:"#6a1b9a",backgroundColor:"#e0f7fa"}},{id:"bold",name:"Bold",style:{primaryColor:"#d50000",secondaryColor:"#6200ea",thirdColor:"#388e3c",backgroundColor:"#fafafa"}},{id:"lime-glow",name:"Lime Glow",style:{primaryColor:"#afb42b",secondaryColor:"#536dfe",thirdColor:"#c62828",backgroundColor:"#fffde7"}},{id:"twilight",name:"Twilight",style:{primaryColor:"#4527a0",secondaryColor:"#d84315",thirdColor:"#00796b",backgroundColor:"#eceff1"}},{id:"meadow",name:"Meadow",style:{primaryColor:"#388e3c",secondaryColor:"#689f38",thirdColor:"#ad1457",backgroundColor:"#f1f8e9"}},{id:"coral",name:"Coral",style:{primaryColor:"#c2185b",secondaryColor:"#00838f",thirdColor:"#f57f17",backgroundColor:"#ffebee"}},{id:"blue-sky",name:"Blue Sky",style:{primaryColor:"#3498db",secondaryColor:"#2980b9",thirdColor:"#1abc9c",backgroundColor:"#ecf0f1",borderColor:"#3498db",borderInnerColor:"#1abc9c",borderOuterColor:"#2980b9",borderFontColor:"#ecf0f1"}},{id:"green-sky",name:"Green Sky",style:{primaryColor:"#1abc9c",secondaryColor:"#3498db",thirdColor:"#f1c40f",backgroundColor:"#2c3e50",borderFontColor:"#ffffff"}},{id:"midnight-sunset",name:"Midnight Sunset",style:{primaryColor:"#5c6bc0",secondaryColor:"#fbc02d",thirdColor:"#00695c",backgroundColor:"#fff"}},{id:"citrus",name:"Citrus",style:{primaryColor:"#f57c00",secondaryColor:"#558b2f",thirdColor:"#6d4c41",backgroundColor:"#fff8e1"}},{id:"dusk",name:"Dusk",style:{primaryColor:"#6a1b9a",secondaryColor:"#e65100",thirdColor:"#2e7d32",backgroundColor:"#d7ccc8"}},{id:"frost",name:"Frost",style:{primaryColor:"#0277bd",secondaryColor:"#37474f",thirdColor:"#c2185b",backgroundColor:"#e1f5fe"}},{id:"autumn",name:"Autumn",style:{primaryColor:"#d84315",secondaryColor:"#827717",thirdColor:"#4a148c",backgroundColor:"#efebe9"}},{id:"turquoise-sun",name:"Turquoise Sun",style:{primaryColor:"#1abc9c",secondaryColor:"#3498db",thirdColor:"#f1c40f",backgroundColor:"#ffffff"}},{id:"emerald-bloom",name:"Emerald Bloom",style:{primaryColor:"#2ecc71",secondaryColor:"#9b59b6",thirdColor:"#c0392b",backgroundColor:"#ecf0f1"}},{id:"sea-lilac",name:"Sea Lilac",style:{primaryColor:"#16a085",secondaryColor:"#8e44ad",thirdColor:"#95a5a6",backgroundColor:"#ecf0f1"}},{id:"belize-pumpkin",name:"Belize Pumpkin",style:{primaryColor:"#2980b9",secondaryColor:"#d35400",thirdColor:"#7f8c8d",backgroundColor:"#ecf0f1"}},{id:"midnight-glow",name:"Midnight Glow",style:{primaryColor:"#2c3e50",secondaryColor:"#f39c12",thirdColor:"#1abc9c",backgroundColor:"#ecf0f1"}},{id:"asphalt-emerald",name:"Asphalt Emerald",style:{primaryColor:"#34495e",secondaryColor:"#2ecc71",thirdColor:"#f39c12",backgroundColor:"#ffffff"}},{id:"wisteria-dusk",name:"Wisteria Dusk",style:{primaryColor:"#8e44ad",secondaryColor:"#2c3e50",thirdColor:"#27ae60",backgroundColor:"#ecf0f1"}},{id:"sunRiver",name:"Sun River",style:{primaryColor:"#f1c40f",secondaryColor:"#3498db",thirdColor:"#95a5a6",backgroundColor:"#ffffff"}},{id:"forest",name:"Forest",style:{primaryColor:"#1abc9c",secondaryColor:"#2ecc71",thirdColor:"#27ae60",backgroundColor:"#ecf0f1"}},{id:"cosmic",name:"Cosmic",style:{primaryColor:"#f1c40f",secondaryColor:"#1abc9c",thirdColor:"#e74c3c",backgroundColor:"#2c3e50"}},{id:"radiant",name:"Radiant",style:{primaryColor:"#e74c3c",secondaryColor:"#f1c40f",thirdColor:"#2ecc71",backgroundColor:"#ecf0f1"}},{id:"marine",name:"Marine",style:{primaryColor:"#3498db",secondaryColor:"#2980b9",thirdColor:"#16a085",backgroundColor:"#ecf0f1"}},{id:"inverse",name:"Inverse",style:{primaryColor:"#ecf0f1",secondaryColor:"#bdc3c7",thirdColor:"#95a5a6",backgroundColor:"#2c3e50"}},{id:"wet-carrot",name:"Wet Carrot",style:{primaryColor:"#34495e",secondaryColor:"#e67e22",thirdColor:"#e74c3c",backgroundColor:"#bdc3c7"}},{id:"pomegranate-sky",name:"Pomegranate Sky",style:{primaryColor:"#e74c3c",secondaryColor:"#3498db",thirdColor:"#9b59b6",backgroundColor:"#bdc3c7"}},...Qi];function li(A){return Ei.find((e=>e.name.toLowerCase()===A.toLowerCase()))}function hi(A){return Ei.find((e=>e.id===A))}const di={hasBorder:!0,thickness:30,radius:"0",borderOuter:{thickness:0},borderInner:{thickness:0},decorations:{top:{style:{fontSize:24,fontWeight:"bold"},enableText:!1},bottom:{style:{fontSize:24,fontWeight:"bold"},enableText:!1},left:{style:{fontSize:24,fontWeight:"bold"},enableText:!1},right:{style:{fontSize:24,fontWeight:"bold"},enableText:!1}}},ci={id:"square-border-thin",name:"Square Border (Thin)",options:{borderOptions:{...di,thickness:40,radius:"10%",decorations:{top:{enableText:!0,curveAdjustment:0,curveDisabled:!0,style:{fontSize:25},value:"SCAN ME"},left:{disabled:!0},right:{disabled:!0},bottom:{disabled:!0}}}}},ui={id:"square-border-medium",name:"Square Border (Medium)",options:{borderOptions:{...di,thickness:20,radius:"15%"}}},pi={id:"square-border-thick",name:"Square Border (Thick)",options:{borderOptions:{...di,thickness:20,radius:"2%"}}},mi={id:"rounded-border-thin-slight",name:"Rounded Border (Thin, Slight)",options:{borderOptions:{...di,thickness:10,radius:"10%"}}},fi={id:"rounded-border-medium-medium",name:"Rounded Border (Medium)",options:{margin:-6,shape:"circle",borderOptions:{...di,thickness:12,radius:"35%"}}},Di={id:"rounded-border-thick-high",name:"Rounded Border (Thick, High)",options:{shape:"circle",borderOptions:{...di,thickness:30,radius:"50"}}},wi={id:"rounded-border-thick-text",name:"Rounded Border (Thick, Text)",options:{shape:"circle",borderOptions:{...di,thickness:50,borderOuter:{thickness:10},radius:"50%",decorations:{top:{enableText:!0,curveAdjustment:0,style:{fontSize:26,fontWeight:"bold"},value:"SCAN TO FOLLOW"},bottom:{enableText:!0,curveAdjustment:0,style:{fontSize:26,fontWeight:"bold"},value:"YOUR NAME HERE"}}}}},yi={id:"rounded-border-outside-top-bottom-text",name:"Rounded Border Outside (Top & Bottom Text)",options:{shape:"circle",margin:-16,borderOptions:{...di,thickness:50,radius:"30",borderOuter:{thickness:10},borderInner:{thickness:6},decorations:{left:{disabled:!0},right:{disabled:!0},top:{enableText:!0,curveDisabled:!0,style:{fontSize:22,fontWeight:"bold"},value:"SCAN TO FOLLOW"},bottom:{enableText:!0,curveDisabled:!0,style:{fontSize:22,fontWeight:"bold"},value:"YOUR NAME HERE"}}}}},Fi={id:"rounded-border-outside-left-right-text",name:"Rounded Border Outside (Left & Right Text)",options:{margin:-20,shape:"circle",borderOptions:{...di,thickness:50,radius:"20%",inner:{radius:"20"},borderOuter:{thickness:10},decorations:{top:{disabled:!0,enableText:!1},bottom:{disabled:!0,enableText:!1},left:{enableText:!0,style:{fontSize:22,fontWeight:"bold"},value:"SCAN TO FOLLOW"},right:{enableText:!0,curveAdjustment:0,style:{fontSize:22,fontWeight:"bold"},value:"YOUR NAME HERE"}}}}},Si={id:"rounded-border-top-bottom-text",name:"Rounded Border (Top & Bottom Text)",options:{borderOptions:{...di,thickness:50,radius:"30",decorations:{left:{disabled:!0},right:{disabled:!0},top:{enableText:!0,curveAdjustment:0,style:{fontSize:24,fontWeight:"bold"},value:"SCAN TO CONNECT"},bottom:{enableText:!0,curveAdjustment:0,style:{fontSize:24,fontWeight:"bold"},value:"YOUR NAME HERE"}}}}},Ri={id:"rounded-border-left-right-text",name:"Rounded Border (Left & Right Text)",options:{margin:5,borderOptions:{...di,thickness:50,radius:"20%",inner:{radius:"20"},decorations:{top:{disabled:!0},bottom:{disabled:!0},left:{enableText:!0,style:{fontSize:22,fontWeight:"bold"},value:"SCAN TO FOLLOW"},right:{enableText:!0,curveAdjustment:0,style:{fontSize:22,fontWeight:"bold"},value:"YOUR NAME HERE"}}}}},ki={id:"double-square-border-thin",name:"Double Square Border Inside (Thin)",options:{borderOptions:{...di,thickness:16,radius:"4%",borderInner:{thickness:6}}}},Ui={id:"double-square-border-medium",name:"Double Square Border Outside (Medium)",options:{borderOptions:{...di,thickness:16,radius:"4%",borderOuter:{thickness:10}}}},bi={id:"double-rounded-border-medium",name:"Double Rounded Border (Medium)",options:{shape:"circle",margin:-20,borderOptions:{...di,thickness:60,radius:"25",borderOuter:{thickness:10},borderInner:{thickness:10},decorations:{bottom:{disabled:!0},left:{disabled:!0},right:{disabled:!0},top:{enableText:!0,curveAdjustment:0,curveDisabled:!0,value:"SCAN ME",style:{fontSize:30}}}}}},Yi={id:"double-rounded-border-thick",name:"Double Rounded Border Outside (Thick)",options:{borderOptions:{...di,thickness:40,radius:"22%",borderOuter:{thickness:10},decorations:{top:{disabled:!0},left:{disabled:!0},bottom:{enableText:!0,curveAdjustment:0,value:"SCAN ME",style:{fontSize:20}},right:{enableText:!0,curveAdjustment:0,value:"YOUR NAME",style:{fontSize:20}}}}}},Ni={id:"inner-square-border-medium",name:"Inner Square Border Inside (Medium)",options:{borderOptions:{...di,thickness:10,radius:"2%",borderInner:{thickness:12}}}},Gi={id:"outer-rounded-border-medium",name:"Outer Rounded Border (Medium)",options:{margin:-20,shape:"circle",borderOptions:{...di,inner:{radius:"20%"},thickness:15,radius:"25%",borderOuter:{thickness:20}}}},Ji={id:"rounded-inner-offset-text",name:"Rounded Inner Offset Text",options:{shape:"circle",margin:-20,borderOptions:{...di,thickness:40,radius:"30%",borderInner:{thickness:10},decorations:{top:{enableText:!0,curveDisabled:!1,style:{fontSize:24},value:"SCAN ME"},bottom:{enableText:!0,curveAdjustment:0,curveDisabled:!1,style:{fontSize:24},value:"YOUR NAME"},left:{enableText:!0,curveDisabled:!1,style:{fontSize:22},value:"SCAN ME"},right:{enableText:!0,curveDisabled:!1,style:{fontSize:22},value:"YOUR NAME"}}}}},Vi={id:"square-thick-outer-thin-inner",name:"Square Thick Outer/Thin Inner",options:{borderOptions:{...di,thickness:10,radius:"50%",inner:{radius:"12%"},borderOuter:{thickness:20},borderInner:{thickness:10},decorations:{top:{enableText:!1},bottom:{enableText:!1},left:{enableText:!1},right:{enableText:!1}}}}},Zi={id:"square-thick-outer-round",name:"Square Thick Outer Round",options:{margin:6,borderOptions:{...di,thickness:45,radius:"50%",inner:{radius:"15%"},borderOuter:{thickness:10},borderInner:{thickness:10},decorations:{bottom:{enableText:!0,curveDisabled:!0,offset:5,style:{fontSize:20,fontWeight:"bold"}}}}}},Oi={id:"square-thick-outer-thin-inner-bottom",name:"Square Thick Outer/Thin Inner Bottom",options:{borderOptions:{...di,thickness:20,radius:"4%",inner:{radius:"10%"},borderOuter:{thickness:10},borderInner:{thickness:15},decorations:{bottom:{disabled:!0},left:{disabled:!0},right:{disabled:!0},top:{disabled:!0}}}}},Wi=[ci,ui,pi,mi,fi,Di,wi,Si,Ri,yi,Fi,ki,Ui,bi,Yi,Ni,Gi,Ji,Vi,Zi,{id:"pill-curved-text-top-bottom",name:"Pill Curved Text Top/Bottom",options:{shape:"circle",borderOptions:{...di,thickness:50,borderInner:{thickness:10},radius:"50%",decorations:{top:{enableText:!0,curveAdjustment:0,curveDisabled:!1,style:{fontSize:28},value:"TOP CURVED TEXT"},bottom:{enableText:!0,curveAdjustment:0,curveDisabled:!1,style:{fontSize:28},value:"BOTTOM CURVED TEXT"}}}}},{id:"double-varied-thickness-top-text",name:"Double Varied Thickness Top Text",options:{borderOptions:{...di,thickness:40,radius:"10%",borderOuter:{thickness:10},borderInner:{thickness:5},decorations:{top:{enableText:!0,curveAdjustment:0,curveDisabled:!0,style:{fontSize:24},value:"IMPORTANT INFO"},bottom:{enableText:!0,curveAdjustment:0,curveDisabled:!0,style:{fontSize:24},value:"SCAN ME"}}}}},{id:"outer-border-white-rounded-text",name:"Outer Border White Rounded Text",options:{borderOptions:{...di,thickness:35,color:"#ffffff",radius:"25%",borderOuter:{thickness:10},decorations:{top:{disabled:!0},left:{disabled:!0},right:{disabled:!0},bottom:{enableText:!0,curveAdjustment:0,curveDisabled:!0,style:{fontSize:20,fontWeight:"bold",letterSpacing:1,fontColor:"#000000"},value:"SCAN TO FOLLOW"}}}}},{id:"inner-border-white-rounded-text",name:"Inner Border White Rounded Text",options:{margin:6,borderOptions:{...di,thickness:25,color:"#ffffff",radius:"25%",borderInner:{thickness:10},decorations:{top:{disabled:!0},left:{disabled:!0},right:{disabled:!0},bottom:{enableText:!0,curveDisabled:!0,style:{fontSize:20,fontWeight:"bold",letterSpacing:1,fontColor:"#000000"},value:"SCAN TO FOLLOW"}}}}},{id:"inner-offset-square-text",name:"Inner Offset Square Text",options:{borderOptions:{...di,thickness:40,radius:"16%",borderInner:{thickness:10},decorations:{top:{disabled:!0},left:{disabled:!0},right:{disabled:!0},bottom:{enableText:!0,curveAdjustment:0,curveDisabled:!0,style:{fontSize:24},value:"SCAN ME"}}}}},{id:"thin-rounded-all-sides-text",name:"Thin Rounded All Sides Text",options:{borderOptions:{...di,borderInner:{thickness:5},thickness:30,radius:"20%",decorations:{top:{enableText:!0,value:"TOP",style:{fontSize:20}},bottom:{enableText:!0,value:"BOTTOM",style:{fontSize:20}},left:{enableText:!0,value:"LEFT",style:{fontSize:20}},right:{enableText:!0,value:"RIGHT",style:{fontSize:20}}}}}},{id:"thick-square-double-text",name:"Thick Square Double Text",options:{borderOptions:{...di,thickness:45,radius:"2%",borderOuter:{thickness:5},borderInner:{thickness:5},decorations:{left:{disabled:!0},right:{disabled:!0},top:{enableText:!0,value:"HEADER",style:{fontSize:26}},bottom:{enableText:!0,value:"FOOTER",style:{fontSize:26}}}}}},{id:"high-radius-thin-double-curved-text",name:"High Radius Thin Double Curved Text",options:{margin:-16,shape:"circle",borderOptions:{...di,thickness:46,radius:"35%",borderOuter:{thickness:10},borderInner:{thickness:0},decorations:{top:{enableText:!0,value:"TOP TEXT",curveDisabled:!1,style:{fontSize:28}},right:{disabled:!0},left:{disabled:!0},bottom:{enableText:!0,curveDisabled:!1,style:{fontSize:28}}}}}},Oi,{id:"minimalist-thin-square",name:"Minimalist Thin Square",options:{borderOptions:{...di,thickness:10,radius:"4%"}}},{id:"minimalist-thin-rounded",name:"Minimalist Thin Rounded",options:{margin:4,borderOptions:{...di,thickness:10,radius:"25%"}}},{id:"chunky-square-border-text",name:"Chunky Square Border Text",options:{margin:10,borderOptions:{...di,thickness:50,radius:"5%",borderOuter:{thickness:6},borderInner:{thickness:6},decorations:{top:{enableText:!0,value:"SCAN ME",style:{fontSize:25,fontWeight:"bold"}},left:{enableText:!0,value:"LEFT TEXT",style:{fontSize:25,fontWeight:"bold"}},right:{enableText:!0,value:"RIGHT TEXT",style:{fontSize:25,fontWeight:"bold"}},bottom:{enableText:!0,value:"BOTTOM TEXT",style:{fontSize:25,fontWeight:"bold"}}}}}},{id:"chunky-rounded-border",name:"Chunky Rounded Border",options:{margin:6,borderOptions:{...di,thickness:50,radius:"50%",inner:{radius:"15%"},borderOuter:{thickness:6},borderInner:{thickness:6},decorations:{top:{enableText:!0,value:"SCAN ME",style:{fontSize:22,fontWeight:"bold"}},left:{enableText:!0,value:"LEFT TEXT",style:{fontSize:22,fontWeight:"bold"}},right:{enableText:!0,value:"RIGHT TEXT",style:{fontSize:22,fontWeight:"bold"}},bottom:{enableText:!0,value:"BOTTOM TEXT",style:{fontSize:22,fontWeight:"bold"}}}}}},{id:"double-thick-main-thin-subs-rounded",name:"Double Thick Main Thin Subs Rounded",options:{margin:2,borderOptions:{...di,thickness:40,radius:"20%",borderOuter:{thickness:6},borderInner:{thickness:6},decorations:{top:{enableText:!0,value:"SCAN ME",style:{fontSize:22,fontWeight:"bold"}},left:{enableText:!0,value:"LEFT TEXT",style:{fontSize:22,fontWeight:"bold"}},right:{enableText:!0,value:"RIGHT TEXT",style:{fontSize:22,fontWeight:"bold"}},bottom:{enableText:!0,value:"BOTTOM TEXT",style:{fontSize:22,fontWeight:"bold"}}}}}},{id:"double-thick-main-thick-subs-square",name:"Double Thick Main Thick Subs Square",options:{margin:2,borderOptions:{...di,thickness:40,radius:"4%",borderOuter:{thickness:6},borderInner:{thickness:6},decorations:{top:{enableText:!0,style:{fontSize:22,fontWeight:"bold"},value:"SCAN ME"},left:{enableText:!0,style:{fontSize:22,fontWeight:"bold"},value:"LEFT TEXT"},right:{enableText:!0,style:{fontSize:22,fontWeight:"bold"},value:"RIGHT TEXT"},bottom:{enableText:!0,style:{fontSize:22,fontWeight:"bold"},value:"BOTTOM TEXT"}}}}},{id:"inner-thick-rounded",name:"Inner Thick Rounded",options:{borderOptions:{...di,thickness:2,radius:"35%",borderOuter:{thickness:0},borderInner:{thickness:30},inner:{radius:"15%"},decorations:{top:{enableText:!0,value:"SCAN ME",curveDisabled:!0,style:{fontSize:20,fontWeight:"bold",fontColor:"#000"},offset:24},left:{enableText:!0,curveDisabled:!0,value:"LEFT TEXT",style:{fontSize:20,fontWeight:"bold",fontColor:"#000"},offset:24},right:{enableText:!0,curveDisabled:!0,value:"RIGHT TEXT",style:{fontSize:20,fontWeight:"bold",fontColor:"#000"},offset:24},bottom:{enableText:!0,curveDisabled:!0,value:"BOTTOM TEXT",style:{fontSize:20,fontWeight:"bold",fontColor:"#000"},offset:24}}}}},{id:"outer-thick-square",name:"Outer Thick Square",options:{borderOptions:{...di,thickness:20,radius:"4%",borderOuter:{thickness:10},borderInner:{thickness:0}}}},{id:"pill-double-thin-text",name:"Pill Double Thin Text",options:{margin:-2,shape:"circle",borderOptions:{...di,thickness:40,radius:"50%",borderOuter:{thickness:10},borderInner:{thickness:6},decorations:{top:{disabled:!1,enableText:!0,value:"SCAN ME",style:{fontSize:22,fontWeight:"bold"}},left:{disabled:!0},right:{disabled:!0},bottom:{disabled:!1,enableText:!0,value:"BOTTOM TEXT",style:{fontSize:22,fontWeight:"bold"}}}}}},{id:"double-thin-circle-inner-rounded",name:"Double Thin Circle Inner Rounded",options:{margin:-28,shape:"circle",borderOptions:{...di,thickness:40,radius:"10%",inner:{radius:"25%"},borderOuter:{thickness:10},borderInner:{thickness:10},decorations:{top:{style:{fontSize:22,fontWeight:"bold"},disabled:!1},left:{disabled:!0},right:{disabled:!0},bottom:{style:{fontSize:22,fontWeight:"bold"},disabled:!1}}}}},{id:"square-top-bottom-text",name:"Square Top/Bottom Text",options:{borderOptions:{...di,thickness:50,radius:"10%",decorations:{top:{enableText:!0,value:"SCAN CODE",style:{fontSize:26}},bottom:{enableText:!0,value:"VISIT OUR SITE",style:{fontSize:26}}}}}},{id:"rounded-left-right-text",name:"Rounded Left/Right Text",options:{margin:2,borderOptions:{...di,thickness:40,radius:"20%",decorations:{top:{disabled:!0},bottom:{disabled:!0},left:{enableText:!0,value:"LEFT TEXT",style:{fontSize:24}},right:{enableText:!0,value:"RIGHT TEXT",style:{fontSize:24}}}}}},{id:"square-left-text-only",name:"Square Left Text Only",options:{margin:2,borderOptions:{...di,borderInner:{thickness:10},thickness:45,radius:"5%",decorations:{left:{enableText:!0,value:"SCAN ME",style:{fontSize:24,fontWeight:"bold",letterSpacing:1}},top:{disabled:!0},bottom:{disabled:!0},right:{disabled:!0}}}}},{id:"square-right-text-only",name:"Square Right Text Only",options:{margin:2,borderOptions:{...di,borderInner:{thickness:10},thickness:45,radius:"5%",decorations:{right:{enableText:!0,value:"WEBSITE.COM",style:{fontSize:24,fontWeight:"bold",letterSpacing:1}},top:{disabled:!0},bottom:{disabled:!0},left:{disabled:!0}}}}},{id:"rounded-left-right-different-text",name:"Rounded Left+Right Different Text",options:{margin:-20,shape:"circle",borderOptions:{...di,borderInner:{thickness:10},thickness:50,radius:"25%",decorations:{left:{enableText:!0,value:"SCAN",style:{fontSize:24,fontWeight:"bold"}},right:{enableText:!0,value:"NOW",style:{fontSize:24,fontWeight:"bold"}},top:{disabled:!0},bottom:{disabled:!0}}}}},{id:"square-left-right-identical-text",name:"Square Left+Right Identical Text",options:{margin:2,borderOptions:{...di,borderInner:{thickness:10},thickness:50,radius:"2%",decorations:{left:{enableText:!0,value:"QR CODE",style:{fontSize:22,fontWeight:"bold"}},right:{enableText:!0,value:"QR CODE",style:{fontSize:22,fontWeight:"bold"}},top:{disabled:!0},bottom:{disabled:!0}}}}},{id:"pill-left-right-bottom-text",name:"Pill Left Right Bottom Text",options:{margin:2,shape:"circle",borderOptions:{...di,borderInner:{thickness:10},thickness:55,inner:{radius:"45%"},radius:"50%",decorations:{top:{disabled:!0},left:{enableText:!0,value:"FOLLOW US",style:{fontSize:24,fontWeight:"bold"}},right:{enableText:!0,value:"CONTACT US",style:{fontSize:24,fontWeight:"bold"}},bottom:{disabled:!0}}}}},{id:"pill-left-right-top-text",name:"Pill Left Right Top Text",options:{margin:2,shape:"circle",borderOptions:{...di,borderOuter:{thickness:10},thickness:55,inner:{radius:"45%"},radius:"50%",decorations:{top:{enableText:!0,value:"WEBSITE.COM",curveDisabled:!1,style:{fontSize:25,fontWeight:"bold"}},left:{disabled:!0},right:{disabled:!0},bottom:{enableText:!0,value:"WEBSITE.COM",curveDisabled:!1,style:{fontSize:26,fontWeight:"bold"}}}}}}];function Mi(A){return Wi.find((e=>e.name.toLowerCase()===A.toLowerCase()))}function Hi(A){return Wi.find((e=>e.id===A))}const Ti=[{id:"scan-me",name:"Scan Me, Get Started",options:{topValue:"Scan Me",bottomValue:"Get Started"}},{id:"scan-to-visit-website",name:"Scan to Visit Website",options:{topValue:"Scan Code",bottomValue:"Visit Website"}},{id:"visit-website",name:"Visit Website",options:{value:"Visit Website"}},{id:"follow-me",name:"Follow Me",options:{topValue:"Scan Code",value:"Follow Us"}},{id:"follow-us",name:"Follow Us",options:{topValue:"Scan Code",value:"Follow Us"}},{id:"scan-to-follow",name:"Scan to Follow",options:{value:"Scan to Follow"}},{id:"contact-info",name:"Contact Info",options:{value:"Contact Info"}},{id:"scan-to-pay",name:"Scan To Pay",options:{value:"Scan to Pay"}},{id:"product-details-bottom",name:"Product Details",options:{value:"Product Details",topValue:"Scan Code"}},{id:"event-info-top-bottom",name:"Event Info",options:{value:"Event Information",topValue:"Scan Code"}},{id:"lost-found",name:"Lost & Found",options:{topValue:"Found Me?",bottomValue:"Scan to Return",leftValue:"If Found",rightValue:"Please Scan"}},{id:"scan-to-return",name:"Scan to Return",options:{topValue:"Scan to Return",bottomValue:"Scan to Return",leftValue:"If Found",rightValue:"Please Scan"}},{id:"scan-for-wifi",name:"Scan for WiFi",options:{value:"Scan for WiFi Access"}},{id:"scan-to-connect-wifi",name:"Scan to Connect WiFi",options:{value:"Scan to Connect WiFi"}},{id:"get-directions-bottom",name:"Get Directions",options:{value:"Get Directions",topValue:"Scan Code"}},{id:"special-offer-top",name:"Special Offer",options:{value:"Special Offer",topValue:"Scan Code"}},{id:"limited-time-offer",name:"Limited Time Offer",options:{value:"Limited Time Offer",topValue:"Scan Code"}},{id:"scan-to-download",name:"Scan to Download",options:{bottomValue:"App Name",topValue:"Scan to Download"}},{id:"register-now-top",name:"Register Now",options:{topValue:"Scan Code",value:"Register Now"}},{id:"scan-to-learn-more",name:"Scan to Learn",options:{bottomValue:"Scan to Learn",topValue:"Scan to Learn"}},{id:"your-text-here",name:"Your Text Here",options:{topValue:"Top Text Here",bottomValue:"Bottom Text Here",leftValue:"Left Text",rightValue:"Right Text"}},{id:"visit-website-url",name:"Website URL",options:{value:"www.example.com",topValue:"Scan To Visit"}},{id:"call-to-action",name:"Call To Action",options:{topValue:"Scan Now",bottomValue:"Limited Time"}},{id:"scan-to-check-in",name:"Scan to Check In",options:{value:"Scan to Check In"}},{id:"scan-to-check-in-check-out",name:"Scan to Check In/Out",options:{topValue:"Scan to Register",bottomValue:"Scan to Register",leftValue:"Check In",rightValue:"Check Out"}},{id:"scan-for-menu",name:"Scan for Menu",options:{value:"Scan for Menu"}},{id:"give-feedback",name:"Give Feedback",options:{topValue:"Scan to Feedback",value:"Give Feedback"}},{id:"scan-for-discount",name:"Scan for Discount",options:{value:"Scan for Discount"}},{id:"scan-to-apply",name:"Scan to Apply",options:{bottomValue:"Scan to Apply",topValue:"Scan to Apply"}},{id:"emergency-contact",name:"Emergency Contact",options:{value:"Emergency Contact",topValue:"Scan for Emergency"}},{id:"artwork-info",name:"Artwork Info",options:{value:"Artwork Info"}},{id:"scan-to-save-contact",name:"Scan to Contact",options:{value:"Scan to Contact"}},{id:"scan-to-call-bottom",name:"Scan to Call",options:{value:"Scan to Call"}},{id:"scan-to-watch-video",name:"Scan to Watch",options:{value:"Scan to Watch Video"}},{id:"welcome-scan-to-proceed",name:"Welcome, Scan to Proceed",options:{value:"Welcome",topValue:"Scan to Proceed"}}];function Xi(A){return Ti.find((e=>e.name.toLowerCase()===A.toLowerCase()))}function xi(A){return Ti.find((e=>e.id===A))}var Li;!function(A){A.svg="svg",A.png="png",A.jpeg="jpeg",A.webp="webp"}(Li||(Li={})),Object.assign(u.stringToBytesFuncs,{UTF8:A=>function(A){const e=[];for(let t=0;t<A.length;t++){let i=A.charCodeAt(t);i<128?e.push(i):i<2048?e.push(192|i>>6,128|63&i):i<55296||i>=57344?e.push(224|i>>12,128|i>>6&63,128|63&i):(t++,i=65536+((1023&i)<<10|1023&A.charCodeAt(t)),e.push(240|i>>18,128|i>>12&63,128|i>>6&63,128|63&i))}return e}(A)});let Ki=class A{get size(){return this.qrSVG?{width:this.qrSVG.width,height:this.qrSVG.height}:void 0}constructor(e,t=!1){var i,o,n,g,r,I;this._svgId=`qr-svg-${Math.random().toString(36).substring(2,9)}`,(I=e)&&0!==Object.keys(I).length||(console.warn("QRCodeJs: Options not provided. Using default options and base template."),e=kA);const s=e;let a=kA;A._selectedTemplate&&(a="id"in A._selectedTemplate&&"options"in A._selectedTemplate?f(a,A._selectedTemplate.options):f(a,A._selectedTemplate));let B={};A._selectedBorder&&(B="id"in A._selectedBorder&&"options"in A._selectedBorder?A._selectedBorder.options:A._selectedBorder);let C={};if(A._selectedStyle){const{isValid:e,errors:t}=yA(A._selectedStyle);e?C=wA(A._selectedStyle):console.warn("Invalid static style options ignored during instantiation:",t)}let Q={};A._selectedImage&&!A._selectedImageOverride&&(Q={image:A._selectedImage});let E={};A._selectedData&&!A._selectedDataOverride&&(E={data:A._selectedData});const l={};if(A._selectedText&&!A._selectedTextOverride){let e=null;if(e="id"in A._selectedText&&"options"in A._selectedText?A._selectedText.options:A._selectedText,e){l.borderOptions||(l.borderOptions={}),l.borderOptions.decorations||(l.borderOptions.decorations={});const A=l.borderOptions.decorations,t=null===e.value?void 0:e.value;void 0!==e.value&&(void 0===e.topValue&&(A.top={value:t}),void 0===e.bottomValue&&(A.bottom={value:t}),void 0===e.leftValue&&(A.left={value:t}),void 0===e.rightValue&&(A.right={value:t})),void 0!==e.topValue&&(A.top={value:null===e.topValue?void 0:e.topValue}),void 0!==e.leftValue&&(A.left={value:null===e.leftValue?void 0:e.leftValue}),void 0!==e.rightValue&&(A.right={value:null===e.rightValue?void 0:e.rightValue}),void 0!==e.bottomValue&&(A.bottom={value:null===e.bottomValue?void 0:e.bottomValue})}}const h=f(a,B,l,C,Q,E,s,null!==(i=A._selectedOptions)&&void 0!==i?i:{}),{warnings:d,validatedOptions:c}=_t(h);this.options=j(c);const u={};if(A._selectedImageOverride&&A._selectedImage&&(u.image=A._selectedImage),A._selectedTextOverride&&A._selectedText){u.borderOptions||(u.borderOptions={}),u.borderOptions.decorations||(u.borderOptions.decorations={});let e=null;if(e="id"in A._selectedText&&"options"in A._selectedText?A._selectedText.options:A._selectedText,e){const A=u.borderOptions.decorations,t=null===e.value?void 0:e.value;void 0!==e.value&&(void 0===e.topValue&&(A.top={value:t}),void 0===e.bottomValue&&(A.bottom={value:t}),void 0===e.leftValue&&(A.left={value:t}),void 0===e.rightValue&&(A.right={value:t})),void 0!==e.topValue&&(A.top={value:null===e.topValue?void 0:e.topValue}),void 0!==e.leftValue&&(A.left={value:null===e.leftValue?void 0:e.leftValue}),void 0!==e.rightValue&&(A.right={value:null===e.rightValue?void 0:e.rightValue}),void 0!==e.bottomValue&&(A.bottom={value:null===e.bottomValue?void 0:e.bottomValue})}}return A._selectedDataOverride&&A._selectedData&&(u.data=A._selectedData),A._selectedOptionsOverride&&A._selectedOptions&&Object.keys(u).length>0?this.options=j(f(this.options,f(u,A._selectedOptions))):Object.keys(u).length>0&&(this.options=j(f(this.options,u))),this.id=null===(o=A._selectedInfo)||void 0===o?void 0:o.id,this.name=null===(n=A._selectedInfo)||void 0===n?void 0:n.name,this.description=null===(g=A._selectedInfo)||void 0===g?void 0:g.description,this.metadata=null!==(r=A._selectedMetadata)&&void 0!==r?r:void 0,d.length>0&&this._logValidationWarnings("QR Code Options Validation Warnings:",d),this.update(),this}static setTemplate(e){if(null===e)return A._selectedTemplate=null,A;if("string"==typeof e){const t=e,i=jt(t);i?A._selectedTemplate=i:(console.warn(`QR Code template name "${t}" not found. Using base template.`),A._selectedTemplate=kA)}else A._selectedTemplate=e;return A}static setTemplateId(e){if(null===e)return A._selectedTemplate=null,A;const t=Pt(e);return t?A._selectedTemplate=t:(console.warn(`QR Code template ID "${e}" not found in setTemplateId. Using default.`),A._selectedTemplate=kA),A}static getTemplates(){return{findTextTemplateById:xi,findTextByName:Xi,findTemplateByName:jt,findTemplateById:Pt,findBorderById:Hi,findBorderByName:Mi,findStyleById:hi,findStyleByName:li,baseTemplates:qt,borderTemplates:Wi,styleTemplates:Ei,textTemplates:Ti}}static setStyle(e){if(null===e)return A._selectedStyle=null,A;let t=null;if("string"==typeof e){const i=e,o=li(i);o?(t=o.style,A._selectedStyle=t):(console.warn(`QR Code style name "${i}" not found in setStyle. Ignoring.`),A._selectedStyle=null)}else{const{isValid:i,errors:o}=yA(e);i?(t=e,A._selectedStyle=t):(console.warn("Invalid style options object provided to setStyle:",o),A._selectedStyle=null)}return A}static setBorder(e){if(null===e)return A._selectedBorder=null,A;if("string"==typeof e){const t=e,i=Mi(t);i?A._selectedBorder=i:(console.warn(`QR Code border template name "${t}" not found. Ignoring.`),A._selectedBorder=null)}else A._selectedBorder={borderOptions:e};return A}static setBorderId(e){if(null===e)return A._selectedBorder=null,A;const t=Hi(e);return t?A._selectedBorder=t:(console.warn(`QR Code border template ID "${e}" not found in setBorderId. Ignoring.`),A._selectedBorder=null),A}static setStyleId(e){if(null===e)return A._selectedStyle=null,A;const t=hi(e);return t?A._selectedStyle=t.style:(console.warn(`QR Code style ID "${e}" not found in setStyleId. Ignoring.`),A._selectedStyle=null),A}static setImage(e,t){return A._selectedImage=e,A._selectedImageOverride=!(null==t||!t.override),A}static setData(e,t){return A._selectedData=e,A._selectedDataOverride=!(null==t||!t.override),A}static setOptions(e,t){return A._selectedOptions=e,A._selectedOptionsOverride=!(null==t||!t.override),A}static setText(e,t){if(null===e)A._selectedText=null;else if("string"==typeof e){const t=Xi(e);t?A._selectedText=t:(console.warn(`QR Code text template name "${e}" not found. Ignoring.`),A._selectedText=null)}else A._selectedText=e;return A._selectedTextOverride=!(null==t||!t.override),A}static setTextId(e,t){if(null===e)A._selectedText=null;else{const t=xi(e);console.log("foundTextTemplate",t),t?A._selectedText=t:(console.warn(`QR Code text template ID "${e}" not found in setTextId. Ignoring.`),A._selectedText=null)}return A._selectedTextOverride=!(null==t||!t.override),A}static setSettings(e){if(null===e)return A._selectedTemplate=null,A._selectedBorder=null,A._selectedStyle=null,A._selectedImage=null,A._selectedImageOverride=!1,A._selectedText=null,A._selectedTextOverride=!1,A._selectedData=null,A._selectedDataOverride=!1,A._selectedOptions=null,A._selectedOptionsOverride=!1,A._selectedInfo=null,A._selectedMetadata=null,A;const{id:t,name:i,description:o,metadata:n,options:g,template:r,templateId:I,style:s,styleId:a,border:B,borderId:C,text:Q,textId:E,image:l,data:h,...d}=e;return A._selectedInfo={id:t,name:i,description:o},A._selectedMetadata=null!=n?n:null,I?A.setTemplateId(I):r&&A.setTemplate(r),a?A.setStyleId(a):s&&A.setStyle(s),C?A.setBorderId(C):B&&A.setBorder(B),E?A.setTextId(E):Q&&A.setText(Q),l&&A.setImage(l),h&&A.setData(h),g&&A.setOptions(g),Object.keys(d).length>0&&console.warn("QRCodeJs.setSettings: Unknown properties in settings object:",d),A}getOptions(){return this.options}getId(){return this.id}getName(){return this.name}getDescription(){return this.description}getMetadata(){return this.metadata}getSettings(){return{...this.id?{id:this.id}:{},...this.name?{name:this.name}:{},...this.description?{description:this.description}:{},...this.metadata?{metadata:this.metadata}:{},options:this.options}}setId(A){return this.id=A,this}setName(A){return this.name=A,this}setDescription(A){return this.description=A,this}setMetadata(A){return this.metadata=A,this}async update(A){var e,t;const i=A?f(this.options,A):this.options,{warnings:o,validatedOptions:n}=_t(i);if(o.length>0&&this._logValidationWarnings("QR Code JS Options Update Validation Warnings:",o),this.options=j(n),!this.options.data)return void console.warn("QR Code update called without data.");this.options.stringToBytesFuncs&&(Object.assign(u.stringToBytesFuncs,this.options.stringToBytesFuncs),delete this.options.stringToBytesFuncs),this.qr=new u(this.options.qrOptions.typeNumber,this.options.qrOptions.errorCorrectionLevel);const g=(null===(e=this.options.qrOptions)||void 0===e?void 0:e.mode)||function(A){switch(!0){case/^[0-9]*$/.test(A):return c.numeric;case/^[0-9A-Z $%*+\-./:]*$/.test(A):return c.alphanumeric;case/[^\u0000-\u00ff]/.test(A):return c.unicode;default:return c.byte}}(this.options.data);this.qr.addData(this.options.data,g),this.qr.make(),await this._setupSvgAsync(),this.svgDrawingPromise&&await this.svgDrawingPromise;const r=null===(t=this.qrSVG)||void 0===t?void 0:t.element;if(this.container&&r){const A=this.container.querySelector(`#${this._svgId}`);A&&A!==r&&this.container.replaceChild(r,A)}}append(A,e){var t;if(!A)return console.warn("QR Code append could not find container."),this;if(this.container=A,null!=e&&e.clearContainer)for(;A.firstChild;)A.removeChild(A.firstChild);return null!==(t=this.qrSVG)&&void 0!==t&&t.element&&!A.querySelector(`#${this._svgId}`)&&A.appendChild(this.qrSVG.element),this}async applyExtension(A){if(!A)throw new Error("Extension function should be defined.");this.extension=A,await this.update()}async deleteExtension(){this.extension=void 0,await this.update()}async serialize(A=!1){var e,t;if(!this.qr)throw new Error("QR code is empty");if(null!==(e=this.qrSVG)&&void 0!==e&&e.element||await this._setupSvgAsync(),this.svgDrawingPromise&&await this.svgDrawingPromise,null===(t=this.qrSVG)||void 0===t||!t.element)return;let i=this.qrSVG.element;if(A){const A=this.qrSVG.element.cloneNode(!0);A.style.filter="invert(1)",i=A}let o=(new XMLSerializer).serializeToString(i);return o='<?xml version="1.0" standalone="no"?>\r\n'+o,o}async _setupSvgAsync(){var A;if(!this.qr)return;let e=this.qr.getModuleCount();this.options.imageOptions.mode===K.background&&this.options.shape!==L.circle&&(e+=2);let t=Math.ceil((this.options.shape===L.circle?Math.sqrt(1.8):1.1)*e);t%2==0&&(t-=1);let i=0;this.options.imageOptions.mode===K.background&&(i+=this.options.imageOptions.margin||0);const o=Math.ceil(this.options.dotsOptions.size*(t+2*i)),n=this.options.borderOptions;let g=0,r=0;const I={top:0,right:0,bottom:0,left:0},s={top:0,right:0,bottom:0,left:0},a={top:0,right:0,bottom:0,left:0},B=(null!=n&&n.noBorderThickness||null!=n&&n.thickness)&&n.thickness?n.thickness/4:0;if(null!=n&&n.hasBorder){var C,Q,E,l;const A=null!==(C=n.borderOuter)&&void 0!==C&&C.thickness?2*(null===(Q=n.borderOuter)||void 0===Q?void 0:Q.thickness):0,e=null!==(E=n.borderInner)&&void 0!==E&&E.thickness?2*(null===(l=n.borderInner)||void 0===l?void 0:l.thickness):0;var h,d,c,u,p,m,f,D;if(A>0&&(s.top=A/2,s.bottom=A/2,s.left=A/2,s.right=A/2),e>0&&(a.top=e/2,a.bottom=e/2,a.left=e/2,a.right=e/2),J(n,"left"))I.left=null!==(h=n.thickness)&&void 0!==h?h:0,g+=null!==(d=n.thickness)&&void 0!==d?d:0;else I.left=B,g+=B;if(J(n,"right"))I.right=null!==(c=n.thickness)&&void 0!==c?c:0,g+=null!==(u=n.thickness)&&void 0!==u?u:0;else I.right=B,g+=B;if(J(n,"top"))I.top=null!==(p=n.thickness)&&void 0!==p?p:0,r+=null!==(m=n.thickness)&&void 0!==m?m:0;else I.top=B,r+=B;if(J(n,"bottom"))I.bottom=null!==(f=n.thickness)&&void 0!==f?f:0,r+=null!==(D=n.thickness)&&void 0!==D?D:0;else I.bottom=B,r+=B}const w=o+g,y=o+r;this.qrSVG=new Ci({...this.options,width:w,height:y,userWidth:this.options.width,userHeight:this.options.height,bordersMain:I,bordersOuter:s,bordersInner:a,errorCorrectionPercent:P[this.options.qrOptions.errorCorrectionLevel],hls:!0}),null!==(A=this.qrSVG)&&void 0!==A&&A.element?(this.qrSVG.element.id=this._svgId,this.svgDrawingPromise=this.qrSVG.drawQR(this.qr).then((()=>{var A,e,t,i;null!==(A=this.qrSVG)&&void 0!==A&&A.element&&(this.options.instanceId=this.qrSVG._instanceId,null!==(e=this.options.borderOptions)&&void 0!==e&&e.hasBorder&&(i=this.options.borderOptions,(A,e,t,o,n,g,r,I)=>{var s,a,B,C,Q,E,l,h,d,c,u,p;const{instanceId:m}=e,f=t,D=t,w=Math.min(f,D),y=Y(i.radius),V=y&&b(y)>0?b(y)/100*w:0,Z=Y(null==i||null===(s=i.inner)||void 0===s?void 0:s.radius,V),M=Math.min(Math.max(null!==(a=null===(B=i.inner)||void 0===B?void 0:B.scale)&&void 0!==a?a:1,0),1.5),H=null!==(C=null===(Q=i.inner)||void 0===Q?void 0:Q.horizontalOffset)&&void 0!==C?C:0,T=null!==(E=null===(l=i.inner)||void 0===l?void 0:l.verticalOffset)&&void 0!==E?E:0,X=null!==(h=i.thickness)&&void 0!==h?h:0,x=null!==(d=i.color)&&void 0!==d?d:"#000000",L=null!==(c=i.borderOuter)&&void 0!==c&&c.thickness?i.borderOuter.thickness/2:0,K=null!==(u=i.borderInner)&&void 0!==u&&u.thickness?i.borderInner.thickness/2:0,q=e.document,j=n.left+n.right,P=n.top+n.bottom,v=o(X,V),z={top:J(i,"top"),right:J(i,"right"),bottom:J(i,"bottom"),left:J(i,"left")},_=q.createElementNS("http://www.w3.org/2000/svg","rect"),$={x:g.left/2,y:g.top/2,width:w+j-g.left,height:w+P-g.top,rx:null!=y?y:V};F(x)?$.fill="none":$.fill=x,Object.entries($).forEach((([A,e])=>{_.setAttribute(A,e.toString())}));const AA=q.createElementNS("http://www.w3.org/2000/svg","rect"),eA=V>=200?"50%":V,tA=f+j-(n.left+n.right+r.left+r.right+g.left+g.right),iA=D+P-(n.top+n.bottom+r.top+r.bottom+g.top+g.bottom),oA=tA*M,nA=iA*M,gA=(tA-oA)/2-H,rA=(iA-nA)/2-T,IA={x:n.left+r.left+g.left+gA,y:n.top+r.top+g.top+rA,width:oA,height:nA,rx:null!=Z?Z:eA},sA=null==v?void 0:v.getAttribute("fill");sA&&!F(sA)?IA.fill=sA:!sA||F(sA)?IA.fill="none":IA.fill="#ffffff",Object.entries(IA).forEach((([A,e])=>AA.setAttribute(A,e.toString()))),v&&(({strokePath:A,backgroundMaskGroup:e,svgElement:t,color:i="#000000"})=>{A.setAttribute("fill",(null==e?void 0:e.getAttribute("fill"))||i),e.setAttribute("fill","none"),e.setAttribute("stroke-width","0"),t.insertBefore(e,t.firstChild)})({strokePath:AA,backgroundMaskGroup:v,svgElement:A,color:x});let aA=A.getElementsByTagName("defs")[0];aA||(aA=q.createElementNS("http://www.w3.org/2000/svg","defs"),A.insertBefore(aA,A.firstChild));const BA=q.createElementNS("http://www.w3.org/2000/svg","mask");BA.setAttribute("id",`qr-mask-${m}`),BA.setAttribute("maskUnits","userSpaceOnUse");const CA=q.createElementNS("http://www.w3.org/2000/svg","rect");CA.setAttribute("fill","white"),Object.entries(IA).forEach((([A,e])=>{"fill"!==A&&CA.setAttribute(A,e.toString())})),aA.appendChild(BA),BA.appendChild(CA);const QA=!v||F(v.getAttribute("fill")||"none"),EA=!F(x);if(QA&&EA){const A=q.createElementNS("http://www.w3.org/2000/svg","mask");A.setAttribute("id",`border-mask-${m}`),A.setAttribute("maskUnits","userSpaceOnUse");const e=q.createElementNS("http://www.w3.org/2000/svg","rect");e.setAttribute("x","0"),e.setAttribute("y","0"),e.setAttribute("width",(w+j).toString()),e.setAttribute("height",(w+P).toString()),e.setAttribute("fill","white");const t=q.createElementNS("http://www.w3.org/2000/svg","rect");Object.entries(IA).forEach((([A,e])=>{"fill"===A?t.setAttribute("fill","black"):t.setAttribute(A,e.toString())})),A.appendChild(e),A.appendChild(t),aA.appendChild(A),_.setAttribute("mask",`url(#border-mask-${m})`)}if(A.insertBefore(AA,null===(p=A.firstChild)||void 0===p?void 0:p.nextSibling),A.insertBefore(_,A.firstChild),i.borderOuter&&"number"==typeof i.borderOuter.thickness&&i.borderOuter.thickness>0){var lA;const e=q.createElementNS("http://www.w3.org/2000/svg","rect"),t=i.borderOuter.color||"#c0c0c0",o={x:g.left/2,y:g.top/2,width:f+j-g.left,height:D+P-g.top,fill:"none",rx:null!=y?y:V,"stroke-width":i.borderOuter.thickness};F(t)||(o.stroke=t),Object.entries(o).forEach((([A,t])=>e.setAttribute(A,t.toString()))),A.insertBefore(e,null===(lA=A.firstChild)||void 0===lA?void 0:lA.nextSibling)}if(v&&Array.from(A.getElementsByTagName("rect"))[0]){const e=A.firstChild;e?A.insertBefore(v,e):A.appendChild(v)}if(i.borderInner&&"number"==typeof i.borderInner.thickness&&i.borderInner.thickness>0){const e=q.createElementNS("http://www.w3.org/2000/svg","rect"),t=i.borderInner.color||"#c0c0c0",o={x:n.left+r.left+g.left+gA,y:n.top+r.top+g.top+rA,width:oA,height:nA,fill:"none","stroke-width":r.left,rx:null!=Z?Z:eA};F(t)||(o.stroke=t),Object.entries(o).forEach((([A,t])=>e.setAttribute(A,t.toString()))),A.appendChild(e)}const hA=i,dA=[S,k,U,R];for(const e of dA){var cA;const t=null===(cA=hA.decorations)||void 0===cA?void 0:cA[e];if(!t||!t.enableText||!z[e])continue;const i=t.type||N,o=i===G?W:i===N?O:void 0;var uA,pA;o&&o({document:q,svg:A,position:e,thickness:null!==(uA=hA.thickness)&&void 0!==uA?uA:0,value:null!==(pA=t.value)&&void 0!==pA?pA:"",style:t.style,offset:t.offset,curveAdjustment:t.curveAdjustment,curveDisabled:t.curveDisabled,height:D+P,width:f+j,enabledBorders:z,outerBorderPadding:L,innerBorderPadding:K,round:y,curveRadius:t.curveRadius,instanceId:m,noBorderThickness:I})}})(this.qrSVG.element,this.options,o,this.qrSVG.drawBackgroundForBorder.bind(this.qrSVG),I,s,a,B),null===(t=this.extension)||void 0===t||t.call(this,this.qrSVG.element,this.options))})).catch((A=>{throw console.error("Error during SVG drawing or post-processing:",A),A}))):console.error("QRSVG element not created immediately after instantiation.")}async _drawToCanvasForValidation(A){var e,i,o;const{width:n=300,height:g=300}=null!==(e=null!==(i=null===(o=this.qrSVG)||void 0===o?void 0:o.svgSize)&&void 0!==i?i:A)&&void 0!==e?e:t,r=n,I=g,s=document.createElement("canvas");s.width=r,s.height=I;const a=await this.serialize();if(!a)throw new Error("Failed to serialize SVG.");const B="data:image/svg+xml;base64,"+btoa(a);return new Promise(((A,e)=>{const t=new Image;t.width=r,t.height=I,t.crossOrigin="Anonymous",t.onload=()=>{const i=s.getContext("2d");if(!i)return e(new Error("Could not get canvas 2D context"));i.drawImage(t,0,0,r,I),A(s)},t.onerror=t.onabort=e,t.src=B}))}async drawToCanvas(A){var e;const t=document.createElement("canvas"),i=window.devicePixelRatio||1,o=(null==A?void 0:A.antialiasFactor)||2,n=(null==A?void 0:A.antialiasLevel)||"medium",g=null===(e=null==A?void 0:A.antialias)||void 0===e||e,r=(async()=>{try{var e,r;const I=await this.serialize();if(!I)return void console.warn("SVG serialization returned empty.");const s="data:image/svg+xml;base64,"+function(A){const e=(new TextEncoder).encode(A),t=Array.from(e,(A=>String.fromCharCode(A))).join("");return btoa(t)}(I),a=new Image;await new Promise(((A,e)=>{a.onload=()=>A(),a.onerror=A=>e(new Error(`Image load error: ${A}`)),a.onabort=()=>e(new Error("Image load aborted")),a.src=s}));const{width:B,height:C}=null!==(e=null===(r=this.qrSVG)||void 0===r?void 0:r.svgSize)&&void 0!==e?e:{},Q=null!=B?B:a.naturalWidth,E=null!=C?C:a.naturalHeight;if(Q<=0||E<=0)throw new Error("Invalid SVG dimensions");let l,h;void 0!==(null==A?void 0:A.width)&&void 0!==(null==A?void 0:A.height)?(l=A.width,h=A.height):void 0!==(null==A?void 0:A.width)?(l=A.width,h=l*(E/Q)):void 0!==(null==A?void 0:A.height)?(h=A.height,l=h*(Q/E)):(l=Q,h=E),t.width=l*i,t.height=h*i,t.style.width=`${l}px`,t.style.height=`${h}px`;const d=l/Q,c=h/E,u=Math.min(d,c),p=Q*u,m=E*u,f=(l-p)/2,D=(h-m)/2;let w;try{w=new OffscreenCanvas(p*i*o,m*i*o)}catch(A){w=document.createElement("canvas"),w.width=p*i*o,w.height=m*i*o}const y=w.getContext("2d");if(!y)throw new Error("Could not get OffscreenCanvas 2D context");y.imageSmoothingEnabled=g,y.imageSmoothingQuality=n,y.drawImage(a,0,0,w.width,w.height);const F=t.getContext("2d");if(!F)throw new Error("Could not get canvas 2D context");F.imageSmoothingEnabled=g,F.imageSmoothingQuality=n,F.scale(i,i),F.drawImage(w,0,0,w.width,w.height,f,D,p,m)}catch(A){throw console.error("Error drawing to canvas:",A),A}})();return{canvas:t,canvasDrawingPromise:r}}async _drawToCanvasPrevious(A){var e,i;const{width:o=300,height:n=300}=null!==(e=null!=A?A:null===(i=this.qrSVG)||void 0===i?void 0:i.svgSize)&&void 0!==e?e:t,g=1*o,r=1*n,I=document.createElement("canvas");I.width=g,I.height=r;const s=(async()=>{try{const A=await this.serialize();if(!A)return void console.warn("SVG serialization returned empty.");const e="data:image/svg+xml;base64,"+btoa(A),t=new Image;t.width=g,t.height=r,await new Promise(((A,i)=>{t.onload=()=>{const e=Math.ceil(2*Math.max(o,n)/Math.max(t.width,t.height));let s;try{s=new OffscreenCanvas(t.width*e*2,t.height*e*2)}catch(A){s=document.createElement("canvas"),s.width=t.width*e*2,s.height=t.height*e*2}const a=s.getContext("2d");if(!a)return i(new Error("Could not get OffscreenCanvas 2D context"));a.drawImage(t,0,0,s.width,s.height);const B=I.getContext("2d");if(!B)return i(new Error("Could not get canvas 2D context"));B.drawImage(s,0,0,s.width,s.height,0,0,g,r),A()},t.onerror=A=>i(new Error(`Image load error: ${A}`)),t.onabort=()=>i(new Error("Image load aborted")),t.src=e}))}catch(A){throw console.error("Error drawing to canvas:",A),A}})();return{canvas:I,canvasDrawingPromise:s}}downloadURI(A,e){const t=document.createElement("a");t.download=e,t.href=A,document.body.appendChild(t),t.click(),document.body.removeChild(t)}async download(A,e){if("undefined"==typeof Blob)throw new Error("Cannot download in Node.js environment");let t=Li.png,i="qr";if(A&&(A.name&&(i=A.name),A.extension&&(t=A.extension)),"svg"===t.toLowerCase()){const A=await this.serialize();if(!A)return;const e="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(A);this.downloadURI(e,`${i}.svg`)}else{const A=await this.drawToCanvas(e);if(!A)return;const{canvas:o,canvasDrawingPromise:n}=A;await n;const g=o.toDataURL(`image/${t}`);this.downloadURI(g,`${i}.${t}`)}}async createOptimizedQRCanvas(A){var e,i,o;const{width:n=300,height:g=300}=null!==(e=null!==(i=null===(o=this.qrSVG)||void 0===o?void 0:o.svgSize)&&void 0!==i?i:A)&&void 0!==e?e:t,r=document.createElement("canvas");r.width=n,r.height=g;const I=await this.serialize();if(!I)throw new Error("Failed to serialize SVG.");const s="data:image/svg+xml;base64,"+btoa(Array.from((new TextEncoder).encode(I)).map((A=>String.fromCharCode(A))).join(""));return new Promise(((A,e)=>{const t=new Image;t.width=n,t.height=g,t.crossOrigin="Anonymous",t.onload=()=>{const i=r.getContext("2d");if(!i)return e(new Error("Could not get canvas 2D context"));i.imageSmoothingEnabled=!1,i.drawImage(t,0,0,n,g),this.applyQRThreshold(r),A(r)},t.onerror=A=>e(new Error(`Image load error: ${A}`)),t.onabort=()=>e(new Error("Image load aborted")),t.src=s}))}applyQRThreshold(A){const e=A.getContext("2d");if(!e)return;const t=e.getImageData(0,0,A.width,A.height),i=t.data;for(let A=0;A<i.length;A+=4){const e=(i[A]+i[A+1]+i[A+2])/3<128?0:255;i[A]=i[A+1]=i[A+2]=e}e.putImageData(t,0,0)}_logValidationWarnings(A,e){console.warn(A),e.forEach((A=>{console.warn(`option: ${A.path} - '${A.value}' : ${A.message}`)}))}};Ki.version="0.20.10",Ki._selectedTemplate=null,Ki._selectedBorder=null,Ki._selectedStyle=null,Ki._selectedImage=null,Ki._selectedImageOverride=!1,Ki._selectedText=null,Ki._selectedTextOverride=!1,Ki._selectedData=null,Ki._selectedDataOverride=!1,Ki._selectedOptions=null,Ki._selectedOptionsOverride=!1,Ki._selectedInfo=null,Ki._selectedMetadata=null;class qi extends Ki{constructor(A,e=!1){super(A)}async validateScanning(A="zbar",e=!1){try{const{default:A}=await Promise.resolve().then((function(){return Ro})),t=await this.serialize(),i=this.size;if(!i)throw new Error("QR code dimensions not available for validation. Ensure the QR code has been generated.");const{width:o,height:n}=i,g=await(new A).validate(t,(async()=>this.serialize(!0)),o,n,e);if(g.isValid)return g;{console.debug("Zbar validation failed, trying Zxing...");const{default:A}=await Promise.resolve().then((function(){return vn}));return(new A).validate(t,(async()=>this.serialize(!0)),e)}}catch(A){const e=A instanceof Error?A.message:"Unknown validation error";return console.error(`Validation failed: ${e}`,A),Promise.reject({isValid:!1,message:e})}}static useTemplate(A){return new Pi(this,A)}static useTemplateId(A){return new Pi(this).useTemplateId(A)}static useStyle(A){return new Pi(this).useStyle(A)}static useStyleId(A){return new Pi(this).useStyleId(A)}static useBorder(A){return new Pi(this).useBorder(A)}static useBorderId(A){return new Pi(this).useBorderId(A)}static useImage(A,e){return new Pi(this).useImage(A,e)}static useText(A,e){return new Pi(this).useText(A,e)}static useTextId(A,e){return new Pi(this).useTextId(A,e)}static useData(A,e){return new Pi(this).useData(A,e)}static useOptions(A,e){return new Pi(this).useOptions(A,e)}static useSettings(A){return new Pi(this).useSettings(A)}}class ji extends qi{constructor(A){super(A,!0)}}class Pi{constructor(A,e){this._templateSource=null,this._borderSource=null,this._styleSource=null,this._imageSource=null,this._imageOverride=!1,this._textSource=null,this._textOverride=!1,this._isTemplateById=!1,this._isBorderById=!1,this._isStyleById=!1,this._isTextById=!1,this._optionsSource=null,this._optionsOverride=!1,this._dataSource=null,this._dataOverride=!1,this._idSource=null,this._nameSource=null,this._descriptionSource=null,this._metadataSource=null,this._initialOptions=null,this._qrCodeConstructor=A,"string"==typeof e?(this._templateSource=e,this._isTemplateById=!1):e&&(this._initialOptions=e)}useTemplate(A){return this._templateSource=A,this._isTemplateById=!1,this._initialOptions=null,this}useTemplateId(A){return this._templateSource=A,this._isTemplateById=!0,this._initialOptions=null,this}useStyle(A){return this._styleSource=A,this._isStyleById=!1,this}useStyleId(A){return this._styleSource=A,this._isStyleById=!0,this}useBorder(A){return this._borderSource=A,this._isBorderById=!1,this}useBorderId(A){return this._borderSource=A,this._isBorderById=!0,this}useImage(A,e){return this._imageSource=A,this._imageOverride=!(null==e||!e.override),this}useData(A,e){return this._dataSource=A,this._dataOverride=!(null==e||!e.override),this}useText(A,e){return this._textSource=A,this._isTextById=!1,this._textOverride=!(null==e||!e.override),this._initialOptions=null,this}useTextId(A,e){return this._textSource=A,this._isTextById=!0,this._textOverride=!(null==e||!e.override),this._initialOptions=null,this}useOptions(A,e){return this._optionsSource=A,this._optionsOverride=!(null==e||!e.override),this._initialOptions=null,this}useId(A){return this._idSource=A,this._initialOptions=null,this}useName(A){return this._nameSource=A,this._initialOptions=null,this}useDescription(A){return this._descriptionSource=A,this._initialOptions=null,this}useMetadata(A){return this._metadataSource=A,this._initialOptions=null,this}useSettings(A){return this._initialOptions=null,void 0!==A.id&&(this._idSource=A.id),void 0!==A.name&&(this._nameSource=A.name),void 0!==A.description&&(this._descriptionSource=A.description),void 0!==A.metadata&&(this._metadataSource=A.metadata),A.templateId?(this._templateSource=A.templateId,this._isTemplateById=!0):A.template&&(this._templateSource=A.template,this._isTemplateById=!1),A.borderId?(this._borderSource=A.borderId,this._isBorderById=!0):A.border&&(A.border,this._borderSource=A.border,this._isBorderById=!1),this._textOverride||(A.textId?(this._textSource=A.textId,this._isTextById=!0):A.text&&(this._textSource=A.text,this._isTextById=!1)),A.style?(this._styleSource=A.style,this._isStyleById=!1):A.styleId&&(this._styleSource=A.styleId,this._isStyleById=!0),this._imageOverride||A.image&&(this._imageSource=A.image,this._imageOverride=!1),this._dataOverride||A.data&&(this._dataSource=A.data,this._dataOverride=!1),this._optionsOverride||A.options&&(this._optionsSource=A.options),this._initialOptions=null,this}_resolveAndMergeConfig(A={}){let e={};e=this._initialOptions?f({},this._initialOptions):f({},kA);let t=null;if(this._templateSource&&"string"==typeof this._templateSource){const A=(this._isTemplateById?Pt:jt)(this._templateSource);if(A)t=A.options;else{const A=this._isTemplateById?"ID":"name";console.warn(`QR Code template ${A} "${this._templateSource}" not found. Using base template.`)}}else this._templateSource&&"string"!=typeof this._templateSource&&(t=this._templateSource);t&&(e=f(e,t));let i=null;if(this._borderSource)if("string"==typeof this._borderSource){const A=(this._isBorderById?Hi:Mi)(this._borderSource);if(A)i=A.options;else{const A=this._isBorderById?"ID":"name";console.warn(`QR Code border ${A} "${this._borderSource}" not found. Ignoring.`)}}else i={borderOptions:this._borderSource};i&&(e=f(e,i));let o=null;if(this._textSource&&!this._textOverride){let A=null;if("string"==typeof this._textSource){const e=(this._isTextById?xi:Xi)(this._textSource);if(e)A=e.options;else{const A=this._isTextById?"ID":"name";console.warn(`QR Code text template ${A} "${this._textSource}" not found. Ignoring.`)}}else A=this._textSource;if(A){o={borderOptions:{decorations:{}}};const e=o.borderOptions.decorations,t=null===A.value?void 0:A.value;void 0!==A.value&&(void 0===A.topValue&&(e.top={value:t}),void 0===A.bottomValue&&(e.bottom={value:t}),void 0===A.leftValue&&(e.left={value:t}),void 0===A.rightValue&&(e.right={value:t})),void 0!==A.topValue&&(e.top={value:null===A.topValue?void 0:A.topValue}),void 0!==A.leftValue&&(e.left={value:null===A.leftValue?void 0:A.leftValue}),void 0!==A.rightValue&&(e.right={value:null===A.rightValue?void 0:A.rightValue}),void 0!==A.bottomValue&&(e.bottom={value:null===A.bottomValue?void 0:A.bottomValue})}}o&&(e=f(e,o));let n=null;if(this._styleSource)if("string"==typeof this._styleSource){const A=(this._isStyleById?hi:li)(this._styleSource);if(A)n=A.style;else{const A=this._isStyleById?"ID":"name";console.warn(`QR Code style ${A} "${this._styleSource}" not found. Ignoring.`)}}else{const{isValid:A,errors:e}=yA(this._styleSource);A?n=this._styleSource:console.warn("Invalid style options object provided:",e)}if(n){e=f(e,wA(n))}if(this._imageSource&&!this._imageOverride&&(e=f(e,{image:this._imageSource})),this._dataSource&&!this._dataOverride&&(e=f(e,{data:this._dataSource})),this._optionsSource&&!this._optionsOverride&&(e=f(e,this._optionsSource)),e=f(e,A),this._imageOverride&&this._imageSource&&(e=f(e,{image:this._imageSource})),this._textOverride&&this._textSource){const A={borderOptions:{decorations:{}}};let t=null;if("string"==typeof this._textSource){const A=(this._isTextById?xi:Xi)(this._textSource);A&&(t=A.options)}else t=this._textSource;if(t){const i=A.borderOptions.decorations,o=null===t.value?void 0:t.value;void 0!==t.value&&(void 0===t.topValue&&(i.top={value:o}),void 0===t.bottomValue&&(i.bottom={value:o}),void 0===t.leftValue&&(i.left={value:o}),void 0===t.rightValue&&(i.right={value:o})),void 0!==t.topValue&&(i.top={value:null===t.topValue?void 0:t.topValue}),void 0!==t.leftValue&&(i.left={value:null===t.leftValue?void 0:t.leftValue}),void 0!==t.rightValue&&(i.right={value:null===t.rightValue?void 0:t.rightValue}),void 0!==t.bottomValue&&(i.bottom={value:null===t.bottomValue?void 0:t.bottomValue}),e=f(e,A)}}return this._dataOverride&&this._dataSource&&(e=f(e,{data:this._dataSource})),this._optionsSource&&this._optionsOverride&&(e=f(e,this._optionsSource)),e}options(A){const e=this._resolveAndMergeConfig(A),t=new this._qrCodeConstructor(e);return null!==this._idSource&&t.setId(this._idSource),null!==this._nameSource&&t.setName(this._nameSource),null!==this._descriptionSource&&t.setDescription(this._descriptionSource),null!==this._metadataSource&&t.setMetadata(this._metadataSource),t}build(){const A=this._resolveAndMergeConfig(),e=new this._qrCodeConstructor(A);return null!==this._idSource&&e.setId(this._idSource),null!==this._nameSource&&e.setName(this._nameSource),null!==this._descriptionSource&&e.setDescription(this._descriptionSource),null!==this._metadataSource&&e.setMetadata(this._metadataSource),e}}function vi(A){return A&&A.__esModule&&Object.prototype.hasOwnProperty.call(A,"default")?A.default:A}"undefined"!=typeof window&&(window.QRCodeJs=qi,window.__=ji);var zi,_i={},$i={};var Ao,eo,to={};
2
2
  /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */function io(){return Ao||(Ao=1,to.read=function(A,e,t,i,o){var n,g,r=8*o-i-1,I=(1<<r)-1,s=I>>1,a=-7,B=t?o-1:0,C=t?-1:1,Q=A[e+B];for(B+=C,n=Q&(1<<-a)-1,Q>>=-a,a+=r;a>0;n=256*n+A[e+B],B+=C,a-=8);for(g=n&(1<<-a)-1,n>>=-a,a+=i;a>0;g=256*g+A[e+B],B+=C,a-=8);if(0===n)n=1-s;else{if(n===I)return g?NaN:1/0*(Q?-1:1);g+=Math.pow(2,i),n-=s}return(Q?-1:1)*g*Math.pow(2,n-i)},to.write=function(A,e,t,i,o,n){var g,r,I,s=8*n-o-1,a=(1<<s)-1,B=a>>1,C=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,Q=i?0:n-1,E=i?1:-1,l=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(r=isNaN(e)?1:0,g=a):(g=Math.floor(Math.log(e)/Math.LN2),e*(I=Math.pow(2,-g))<1&&(g--,I*=2),(e+=g+B>=1?C/I:C*Math.pow(2,1-B))*I>=2&&(g++,I/=2),g+B>=a?(r=0,g=a):g+B>=1?(r=(e*I-1)*Math.pow(2,o),g+=B):(r=e*Math.pow(2,B-1)*Math.pow(2,o),g=0));o>=8;A[t+Q]=255&r,Q+=E,r/=256,o-=8);for(g=g<<o|r,s+=o;s>0;A[t+Q]=255&g,Q+=E,g/=256,s-=8);A[t+Q-E]|=128*l}),to}
3
3
  /*!
4
4
  * The buffer module from node.js, for the browser.