@qr-platform/qr-code.js 0.10.6 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.js CHANGED
@@ -1 +1 @@
1
- const e={width:500,height:500,antialias:!0,antialiasFactor:2,antialiasLevel:"medium",margin:0};class t{constructor(){this.buffer=[],this.length=0}getBuffer(){return this.buffer}getLengthInBits(){return this.length}toString(){let e="";for(let t=0;t<this.getLengthInBits();t+=1)e+=this.getBit(t)?"1":"0";return e}getBit(e){return 1==(this.buffer[~~(e/8)]>>>7-e%8&1)}put(e,t){for(let o=0;o<t;o+=1)this.putBit(1==(e>>>t-o-1&1))}putBit(e){this.length==8*this.buffer.length&&this.buffer.push(0),e&&(this.buffer[~~(this.length/8)]|=128>>>this.length%8),this.length+=1}}var o,r,n;!function(e){e[e.L=1]="L",e[e.M=0]="M",e[e.Q=3]="Q",e[e.H=2]="H"}(o||(o={}));class i{constructor(){throw new Error("error")}static glog(e){if(e<1)throw new Error("log("+e+")");return i.LOG_TABLE[e]}static gexp(e){for(;e<0;)e+=255;for(;e>=256;)e-=255;return i.EXP_TABLE[e]}}i.initialize=(()=>{i.EXP_TABLE=[],i.LOG_TABLE=[];for(let e=0;e<256;e+=1)i.EXP_TABLE.push(e<8?1<<e:i.EXP_TABLE[e-4]^i.EXP_TABLE[e-5]^i.EXP_TABLE[e-6]^i.EXP_TABLE[e-8]),i.LOG_TABLE.push(0);for(let e=0;e<255;e+=1)i.LOG_TABLE[i.EXP_TABLE[e]]=e})();class s{constructor(e,t=0){let o=0;for(;o<e.length&&0==e[o];)o+=1;this.num=[];const r=e.length-o;for(let t=0;t<r;t+=1)this.num.push(e[o+t]);for(let e=0;e<t;e+=1)this.num.push(0)}getAt(e){return this.num[e]}getLength(){return this.num.length}toString(){let e="";for(let t=0;t<this.getLength();t+=1)t>0&&(e+=","),e+=this.getAt(t);return e.toString()}toLogString(){let e="";for(let t=0;t<this.getLength();t+=1)t>0&&(e+=","),e+=i.glog(this.getAt(t));return e.toString()}multiply(e){const t=[],o=this.getLength()+e.getLength()-1;for(let e=0;e<o;e+=1)t.push(0);for(let o=0;o<this.getLength();o+=1)for(let r=0;r<e.getLength();r+=1)t[o+r]^=i.gexp(i.glog(this.getAt(o))+i.glog(e.getAt(r)));return new s(t)}mod(e){if(this.getLength()-e.getLength()<0)return this;const t=i.glog(this.getAt(0))-i.glog(e.getAt(0)),o=[];for(let e=0;e<this.getLength();e+=1)o.push(this.getAt(e));for(let r=0;r<e.getLength();r+=1)o[r]^=i.gexp(i.glog(e.getAt(r))+t);return new s(o).mod(e)}}!function(e){e[e.MODE_NUMBER=1]="MODE_NUMBER",e[e.MODE_ALPHA_NUM=2]="MODE_ALPHA_NUM",e[e.MODE_8BIT_BYTE=4]="MODE_8BIT_BYTE",e[e.MODE_KANJI=8]="MODE_KANJI"}(r||(r={}));class a{constructor(e,t){this.mode=e,this.data=t}getMode(){return this.mode}getData(){return this.data}getLengthInBits(e){if(1<=e&&e<10)switch(this.mode){case r.MODE_NUMBER:return 10;case r.MODE_ALPHA_NUM:return 9;case r.MODE_8BIT_BYTE:case r.MODE_KANJI:return 8;default:throw new Error("mode:"+this.mode)}else if(e<27)switch(this.mode){case r.MODE_NUMBER:return 12;case r.MODE_ALPHA_NUM:return 11;case r.MODE_8BIT_BYTE:return 16;case r.MODE_KANJI:return 10;default:throw new Error("mode:"+this.mode)}else{if(!(e<41))throw new Error("typeNumber:"+e);switch(this.mode){case r.MODE_NUMBER:return 14;case r.MODE_ALPHA_NUM:return 13;case r.MODE_8BIT_BYTE:return 16;case r.MODE_KANJI:return 12;default:throw new Error("mode:"+this.mode)}}}}class l extends a{constructor(e,t){super(r.MODE_8BIT_BYTE,e),this.stringToBytes=t}write(e){this.stringToBytes(this.getData()).forEach((t=>e.put(t,8)))}getLength(){return this.stringToBytes(this.getData()).length}}class d extends a{constructor(e){super(r.MODE_ALPHA_NUM,e)}write(e){const t=this.getData();let o=0;for(;o+1<t.length;)e.put(45*d.getCode(t.charAt(o))+d.getCode(t.charAt(o+1)),11),o+=2;o<t.length&&e.put(d.getCode(t.charAt(o)),6)}getLength(){return this.getData().length}static getCode(e){if("0"<=e&&e<="9")return e.charCodeAt(0)-"0".charCodeAt(0);if("A"<=e&&e<="Z")return e.charCodeAt(0)-"A".charCodeAt(0)+10;switch(e){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 :"+e)}}}class c extends a{constructor(e,t){super(r.MODE_KANJI,e),this.stringToBytes=t}write(e){const t=this.stringToBytes(this.getData());let o=0;for(;o+1<t.length;){let r=(255&t[o])<<8|255&t[o+1];if(33088<=r&&r<=40956)r-=33088;else{if(!(57408<=r&&r<=60351))throw new Error("illegal char at "+(o+1)+"/"+r);r-=49472}r=192*(r>>>8&255)+(255&r),e.put(r,13),o+=2}if(o<t.length)throw new Error("illegal char at "+(o+1))}getLength(){return this.stringToBytes(this.getData()).length/2}}class u extends a{constructor(e){super(r.MODE_NUMBER,e)}write(e){const t=this.getData();let o=0;for(;o+2<t.length;)e.put(u.strToNum(t.substring(o,o+3)),10),o+=3;o<t.length&&(t.length-o==1?e.put(u.strToNum(t.substring(o,o+1)),4):t.length-o==2&&e.put(u.strToNum(t.substring(o,o+2)),7))}getLength(){return this.getData().length}static strToNum(e){let t=0;for(let o=0;o<e.length;o+=1)t=10*t+u.chatToNum(e.charAt(o));return t}static chatToNum(e){if("0"<=e&&e<="9")return e.charCodeAt(0)-"0".charCodeAt(0);throw new Error("illegal char :"+e)}}!function(e){e[e.PATTERN000=0]="PATTERN000",e[e.PATTERN001=1]="PATTERN001",e[e.PATTERN010=2]="PATTERN010",e[e.PATTERN011=3]="PATTERN011",e[e.PATTERN100=4]="PATTERN100",e[e.PATTERN101=5]="PATTERN101",e[e.PATTERN110=6]="PATTERN110",e[e.PATTERN111=7]="PATTERN111"}(n||(n={}));class h{constructor(){throw new Error("error")}static getPatternPosition(e){return h.PATTERN_POSITION_TABLE[e-1]}static getMaxLength(e,t,n){const i=e-1;let s=0,a=0;switch(n){case o.L:s=0;break;case o.M:s=1;break;case o.Q:s=2;break;case o.H:s=3;break;default:throw new Error("e:"+n)}switch(t){case r.MODE_NUMBER:a=0;break;case r.MODE_ALPHA_NUM:a=1;break;case r.MODE_8BIT_BYTE:a=2;break;case r.MODE_KANJI:a=3;break;default:throw new Error("m:"+t)}return h.MAX_LENGTH[i][s][a]}static getErrorCorrectPolynomial(e){let t=new s([1]);for(let o=0;o<e;o+=1)t=t.multiply(new s([1,i.gexp(o)]));return t}static getMaskFunc(e){switch(e){case n.PATTERN000:return(e,t)=>(e+t)%2==0;case n.PATTERN001:return(e,t)=>e%2==0;case n.PATTERN010:return(e,t)=>t%3==0;case n.PATTERN011:return(e,t)=>(e+t)%3==0;case n.PATTERN100:return(e,t)=>(~~(e/2)+~~(t/3))%2==0;case n.PATTERN101:return(e,t)=>e*t%2+e*t%3==0;case n.PATTERN110:return(e,t)=>(e*t%2+e*t%3)%2==0;case n.PATTERN111:return(e,t)=>(e*t%3+(e+t)%2)%2==0;default:throw new Error("mask:"+e)}}static getLostPoint(e){const t=e.getModuleCount();let o=0;for(let r=0;r<t;r+=1)for(let n=0;n<t;n+=1){let i=0;const s=e.isDark(r,n);for(let o=-1;o<=1;o+=1)if(!(r+o<0||t<=r+o))for(let a=-1;a<=1;a+=1)n+a<0||t<=n+a||0==o&&0==a||s==e.isDark(r+o,n+a)&&(i+=1);i>5&&(o+=3+i-5)}for(let r=0;r<t-1;r+=1)for(let n=0;n<t-1;n+=1){let t=0;e.isDark(r,n)&&(t+=1),e.isDark(r+1,n)&&(t+=1),e.isDark(r,n+1)&&(t+=1),e.isDark(r+1,n+1)&&(t+=1),0!=t&&4!=t||(o+=3)}for(let r=0;r<t;r+=1)for(let n=0;n<t-6;n+=1)e.isDark(r,n)&&!e.isDark(r,n+1)&&e.isDark(r,n+2)&&e.isDark(r,n+3)&&e.isDark(r,n+4)&&!e.isDark(r,n+5)&&e.isDark(r,n+6)&&(o+=40);for(let r=0;r<t;r+=1)for(let n=0;n<t-6;n+=1)e.isDark(n,r)&&!e.isDark(n+1,r)&&e.isDark(n+2,r)&&e.isDark(n+3,r)&&e.isDark(n+4,r)&&!e.isDark(n+5,r)&&e.isDark(n+6,r)&&(o+=40);let r=0;for(let o=0;o<t;o+=1)for(let n=0;n<t;n+=1)e.isDark(n,o)&&(r+=1);return o+=10*(Math.abs(100*r/t/t-50)/5),o}static getBCHTypeInfo(e){let t=e<<10;for(;h.getBCHDigit(t)-h.getBCHDigit(h.G15)>=0;)t^=h.G15<<h.getBCHDigit(t)-h.getBCHDigit(h.G15);return(e<<10|t)^h.G15_MASK}static getBCHTypeNumber(e){let t=e<<12;for(;h.getBCHDigit(t)-h.getBCHDigit(h.G18)>=0;)t^=h.G18<<h.getBCHDigit(t)-h.getBCHDigit(h.G18);return e<<12|t}static getBCHDigit(e){let t=0;for(;0!=e;)t+=1,e>>>=1;return t}}h.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]],h.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]]],h.G15=1335,h.G18=7973,h.G15_MASK=21522;class p{constructor(e,t){this.totalCount=e,this.dataCount=t}getDataCount(){return this.dataCount}getTotalCount(){return this.totalCount}static getRSBlocks(e,t){const o=p.getRsBlockTable(e,t),r=o.length/3,n=[];for(let e=0;e<r;e+=1){const t=o[3*e+0],r=o[3*e+1],i=o[3*e+2];for(let e=0;e<t;e+=1)n.push(new p(r,i))}return n}static getRsBlockTable(e,t){switch(t){case o.L:return p.RS_BLOCK_TABLE[4*(e-1)+0];case o.M:return p.RS_BLOCK_TABLE[4*(e-1)+1];case o.Q:return p.RS_BLOCK_TABLE[4*(e-1)+2];case o.H:return p.RS_BLOCK_TABLE[4*(e-1)+3]}throw new Error("tn:"+e+"/ecl:"+t)}}p.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 m=Array(41).fill(0).map(((e,t)=>t));var f,g;!function(e){e.L="L",e.M="M",e.Q="Q",e.H="H"}(f||(f={})),function(e){e.numeric="numeric",e.alphanumeric="alphanumeric",e.byte="byte",e.kanji="kanji",e.unicode="unicode"}(g||(g={}));class b{constructor(e=0,t=f.L){this.modules=[],this.moduleCount=0,this.typeNumber=e,this.errorCorrectLevel=o[t],this.qrDataList=[]}getTypeNumber(){return this.typeNumber}setTypeNumber(e){this.typeNumber=e}getErrorCorrectLevel(){return this.errorCorrectLevel}setErrorCorrectLevel(e){this.errorCorrectLevel=e}clearData(){this.qrDataList=[]}addData(e,t=g.byte){if(e instanceof a)this.qrDataList.push(e);else{if("string"!=typeof e)throw new Error(typeof e);switch(t){case g.numeric:this.qrDataList.push(new u(e));break;case g.alphanumeric:this.qrDataList.push(new d(e));break;case g.byte:this.qrDataList.push(new l(e,b.stringToBytesFuncs.default));break;case g.unicode:this.qrDataList.push(new l(e,b.stringToBytesFuncs.UTF8));break;case g.kanji:this.qrDataList.push(new c(e,b.stringToBytesFuncs.SJIS));break;default:throw new Error("mode:"+t)}}}isDark(e,t){return!(!this.modules[e]||null==this.modules[e][t])&&this.modules[e][t]}getModuleCount(){return this.moduleCount}make(){if(this.typeNumber<1){let e=1;for(;e<40;e++){const o=p.getRSBlocks(e,this.errorCorrectLevel),r=new t;this.qrDataList.forEach((t=>{r.put(t.getMode(),4),r.put(t.getLength(),t.getLengthInBits(e)),t.write(r)}));const n=o.reduce(((e,t)=>e+t.getDataCount()),0);if(r.getLengthInBits()<=8*n)break}this.typeNumber=e}this.makeImpl(!1,this.getBestMaskPattern())}getBestMaskPattern(){let e=0,t=0;for(let o=0;o<8;o+=1){this.makeImpl(!0,o);const r=h.getLostPoint(this);(0==o||e>r)&&(e=r,t=o)}return t}makeImpl(e,t){this.moduleCount=4*this.typeNumber+17,this.modules=[];for(let e=0;e<this.moduleCount;e+=1){this.modules.push([]);for(let t=0;t<this.moduleCount;t+=1)this.modules[e].push(null)}this.setupPositionProbePattern(0,0),this.setupPositionProbePattern(this.moduleCount-7,0),this.setupPositionProbePattern(0,this.moduleCount-7),this.setupPositionAdjustPattern(),this.setupTimingPattern(),this.setupTypeInfo(e,t),this.typeNumber>=7&&this.setupTypeNumber(e);const o=b.createData(this.typeNumber,this.errorCorrectLevel,this.qrDataList);this.mapData(o,t)}mapData(e,t){let o=-1,r=this.moduleCount-1,n=7,i=0;const s=h.getMaskFunc(t);for(let t=this.moduleCount-1;t>0;t-=2)for(6==t&&(t-=1);;){for(let o=0;o<2;o+=1)if(null==this.modules[r][t-o]){let a=!1;i<e.length&&(a=1==(e[i]>>>n&1));s(r,t-o)&&(a=!a),this.modules[r][t-o]=a,n-=1,-1==n&&(i+=1,n=7)}if(r+=o,r<0||this.moduleCount<=r){r-=o,o=-o;break}}}setupPositionAdjustPattern(){const e=h.getPatternPosition(this.typeNumber);e.forEach((t=>{e.forEach((e=>{if(null==this.modules[t][e])for(let o=-2;o<=2;o+=1)for(let r=-2;r<=2;r+=1)this.modules[t+o][e+r]=-2==o||2==o||-2==r||2==r||0==o&&0==r}))}))}setupPositionProbePattern(e,t){for(let o=-1;o<=7;o+=1)for(let r=-1;r<=7;r+=1)e+o<=-1||this.moduleCount<=e+o||t+r<=-1||this.moduleCount<=t+r||(this.modules[e+o][t+r]=0<=o&&o<=6&&(0==r||6==r)||0<=r&&r<=6&&(0==o||6==o)||2<=o&&o<=4&&2<=r&&r<=4)}setupTimingPattern(){for(let e=8;e<this.moduleCount-8;e+=1)null==this.modules[e][6]&&(this.modules[e][6]=e%2==0);for(let e=8;e<this.moduleCount-8;e+=1)null==this.modules[6][e]&&(this.modules[6][e]=e%2==0)}setupTypeNumber(e){const t=h.getBCHTypeNumber(this.typeNumber);for(let o=0;o<18;o+=1)this.modules[~~(o/3)][o%3+this.moduleCount-8-3]=!e&&1==(t>>o&1);for(let o=0;o<18;o+=1)this.modules[o%3+this.moduleCount-8-3][~~(o/3)]=!e&&1==(t>>o&1)}setupTypeInfo(e,t){const o=this.errorCorrectLevel<<3|t,r=h.getBCHTypeInfo(o);for(let t=0;t<15;t+=1){const o=!e&&1==(r>>t&1);t<6?this.modules[t][8]=o:t<8?this.modules[t+1][8]=o:this.modules[this.moduleCount-15+t][8]=o}for(let t=0;t<15;t+=1){const o=!e&&1==(r>>t&1);t<8?this.modules[8][this.moduleCount-t-1]=o:t<9?this.modules[8][15-t-1+1]=o:this.modules[8][15-t-1]=o}this.modules[this.moduleCount-8][8]=!e}static createData(e,o,r){const n=p.getRSBlocks(e,o),i=new t;r.forEach((t=>{i.put(t.getMode(),4),i.put(t.getLength(),t.getLengthInBits(e)),t.write(i)}));const s=n.reduce(((e,t)=>e+t.getDataCount()),0);if(i.getLengthInBits()>8*s)throw new Error("code length overflow. ("+i.getLengthInBits()+">"+8*s+")");for(i.getLengthInBits()+4<=8*s&&i.put(0,4);i.getLengthInBits()%8!=0;)i.putBit(!1);for(;!(i.getLengthInBits()>=8*s||(i.put(b.PAD0,8),i.getLengthInBits()>=8*s));)i.put(b.PAD1,8);return b.createBytes(i,n)}static createBytes(e,t){let o=0,r=0,n=0;const i=new Array(t.length).map((e=>[])),a=new Array(t.length).map((e=>[]));function l(e){const t=[];for(let o=0;o<e;o+=1)t.push(0);return t}for(let d=0;d<t.length;d+=1){const c=t[d].getDataCount(),u=t[d].getTotalCount()-c;r=Math.max(r,c),n=Math.max(n,u),i[d]=l(c);for(let t=0;t<i[d].length;t+=1)i[d][t]=255&e.getBuffer()[t+o];o+=c;const p=h.getErrorCorrectPolynomial(u),m=new s(i[d],p.getLength()-1).mod(p);a[d]=l(p.getLength()-1);for(let e=0;e<a[d].length;e+=1){const t=e+m.getLength()-a[d].length;a[d][e]=t>=0?m.getAt(t):0}}const d=l(t.reduce(((e,t)=>e+t.getTotalCount()),0));let c=0;for(let e=0;e<r;e+=1)for(let o=0;o<t.length;o+=1)e<i[o].length&&(d[c]=i[o][e],c+=1);for(let e=0;e<n;e+=1)for(let o=0;o<t.length;o+=1)e<a[o].length&&(d[c]=a[o][e],c+=1);return d}}b.stringToBytesFuncs={default(e){const t=[];for(let o=0;o<e.length;o+=1){const r=e.charCodeAt(o);t.push(255&r)}return t}},b.PAD0=236,b.PAD1=17;const y=e=>!!e&&"object"==typeof e&&!Array.isArray(e);function O(e,t=!1){const o=e.split("").reverse().join("");return t?o.toLocaleUpperCase():o}function S(e,...t){if(!t.length)return e;const o=t.shift();return void 0!==o&&y(e)&&y(o)?(e={...e},Object.keys(o).forEach((t=>{const r=e[t],n=o[t];Array.isArray(r)&&Array.isArray(n)?e[t]=n:y(r)&&y(n)?e[t]=S({...r},n):e[t]=n})),S(e,...t)):e}const C=O("rq",!0)+O("-",!0)+O("talp",!0)+O("mrof",!0),w=O("a".repeat(6)+"#",!0),k="top",v="bottom",A="left",T="right";const I=e=>"number"==typeof e?e:parseInt(e.replace("%",""),10),D=(e,t="0%")=>e?e.endsWith("%")?e:e+"%":t,q="text",x="image",W={disabled:!1,enableText:!0,type:"text",value:C},Z=(e,t)=>!e?.decorations?.[t]?.disabled,R=(e,t,o)=>!o||!e?.decorations?.[t]?.disabled,V=e=>{if("string"==typeof e)return e;const{fontFace:t="Helvetica",fontSize:o=20,fontColor:r="#ffffff",letterSpacing:n=1,textTransform:i="uppercase",fontWeight:s="bold"}=e||{};return`font-weight: ${s}; text-transform: ${i}; font-size: ${o}px; font-family: ${t}; fill: ${r}; letter-spacing: ${n}px;`};W.style={fontFace:"Helvetica",fontSize:20,fontColor:w,letterSpacing:2};const E={...W};const j=({document:e,position:t,rotate:o,flip:r,thickness:n,height:i,width:s,round:a,offset:l=0,curveAdjustment:d=0,curveRadius:c,outerBorderPadding:u=0,instanceId:h})=>{const p=Math.min(s,i),m=e.createElementNS("http://www.w3.org/2000/svg","path"),f=(e=>{if(e>=50)return 1;const t=[{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:.78},{R:45,P:.9},{R:50,P:1}],o=t.find((t=>e<=t.R))||t[0],r=t.find((t=>e>t.R))||t[t.length-1],{R:n,P:i}=o,{R:s,P:a}=r;return i+(e-n)/(s-n)*(a-i)})("string"==typeof a?I(a):a),g=void 0!==c?function(e){let t;return t="number"==typeof e?e:"string"==typeof e?(e.includes("%"),parseFloat(e)):0,t=Math.min(Math.max(t,0),50),.5+t/50*.5}(c):f,b=(p-n-2*u-10*d*2)/2*g,y=((e,t,o,r)=>{const n=o/2,i=r/2;let s="";return e&&(s+=`rotate(${e}, ${n}, ${i}) `),t&&(s+=`translate(${n}, ${i}) scale(1, -1) translate(${-n}, ${-i}) `),s.trim()})(o,r,s,i);m.setAttribute("id",`${t}-text-path-${h}`),m.setAttribute("transform",y);const{startX:O,startY:S,pathWidth:C}=((e,t,o,r,n={})=>{let i=t/2,s=t/2+r,a=e-t;return o&&(a-=2*o,i+=o,s+=o),i+=n.left||0,s+=n.top||0,{startX:i,startY:s,pathWidth:a}})(p,n,u,l);return m.setAttribute("d",((e,t,o,r)=>`\n M${e},${t+r}\n a${r},${r} 0 0 1 ${r},${-r}\n h${o-2*r}\n a${r},${r} 0 0 1 ${r},${r}\n `)(O,S,C,b)),m},M=({document:e,thickness:t,value:o,svg:r,position:n,height:i,width:s,round:a,style:l,offset:d=0,curveAdjustment:c=0,curveDisabled:u=!1,outerBorderPadding:h=0,curveRadius:p,instanceId:m,noBorderThickness:f,enabledBorders:g})=>{let b=0,y=!1;if(n===T?b=90:n===v?y=!u:n===A&&(b=270),u){const a=e.createElementNS("http://www.w3.org/2000/svg","text");let c=s/2,u=(i-Math.min(s,i)+t)/2+2*h+d-(i-s>0?0:(s-i)/2);if(n===v?u=i-2*h-t/2-d:n===k&&(u=2*h+t/2+d),n===k||n===v){let e=0;!g[A]&&g[T]?e=-(t-f)/2:g[A]&&!g[T]&&(e=(t-f)/2),c+=e}else if(n===A||n===T){let e=0;!g[k]&&g[v]?e=n===A?(t-f)/2:-(t-f)/2:g[k]&&!g[v]&&(e=n===A?-(t-f)/2:(t-f)/2),c+=e}let p="";0!==b&&(p+=`rotate(${b}, ${s/2}, ${i/2}) `),a.setAttribute("x",c.toString()),a.setAttribute("y",u.toString()),a.setAttribute("text-anchor","middle"),a.setAttribute("dominant-baseline","middle"),p&&a.setAttribute("transform",p.trim()),a.textContent=o;const m=V(l);a.setAttribute("style",m),r.appendChild(a)}else{let u=r.getElementsByTagName("defs")[0];u||(u=e.createElementNS("http://www.w3.org/2000/svg","defs"),r.appendChild(u));const O=j({document:e,position:n,rotate:b,flip:y,thickness:t,height:i,width:s,round:a,offset:d,curveAdjustment:c,enabledBorders:g,outerBorderPadding:h,curveRadius:p,noBorderThickness:f,instanceId:m}),{x:S,y:C}=function(e,t,o,r){let n=0,i=0;const s=(t-o)/2;return r.left&&r.right&&r.top&&r.bottom?(n=0,i=0):"top"===e||"bottom"===e?!r.left&&r.right?n=-s:(r.left&&!r.right||r.left&&r.right)&&(n=s):"left"!==e&&"right"!==e||(!r.top&&r.bottom?r.left&&r.right?(n="left"===e?2*+s:0,i=-s):n="left"===e?+s:-s:r.top&&!r.bottom?r.left&&r.right?(n="left"===e?0:2*s,i=-s):n=0:r.top&&r.bottom?i=r.left&&r.right?2*+s:+s:(n=r.left&&r.right?2*+s:+s,i=r.left&&r.right?2*-s:-s)),{x:n,y:i}}(n,t,f,g);if(0!==S||0!==C){const e=`${O.getAttribute("transform")||""} translate(${S}, ${C})`.trim();O.setAttribute("transform",e)}u.appendChild(O),r.appendChild((({document:e,value:t,position:o,style:r,instanceId:n})=>{const i=e.createElementNS("http://www.w3.org/2000/svg","text"),s=e.createElementNS("http://www.w3.org/2000/svg","textPath");s.setAttribute("href",`#${o}-text-path-${n}`),s.setAttribute("text-anchor","middle"),s.setAttribute("startOffset","50%"),s.textContent=t,s.setAttribute("alignment-baseline","middle");const a=V(r);return i.setAttribute("style",a),i.appendChild(s),i})({document:e,position:n,rotate:b,value:o,style:l,instanceId:m}))}},B=({document:e,thickness:t,value:o,svg:r,position:n,height:i,width:s,offset:a=0,style:l})=>{const d=e.createElementNS("http://www.w3.org/2000/svg","image"),c=Math.min(s,i);let u=(s-c+t)/2,h=(i-c+t)/2+a;n===k?u+=(c-t)/2:n===T?(u+=c-t,h+=(c-t)/2):n===v?(u+=(c-t)/2,h+=c-t):n===A&&(h+=(c-t)/2),d.setAttribute("href",o||""),d.setAttribute("x",`${u}`),d.setAttribute("y",`${h}`),d.setAttribute("style",l?.toString()||""),r.appendChild(d)},J=e=>(t,o,r,n,i,s,a,l,d)=>{const{instanceId:c}=o,u=r,h=r,p=Math.min(u,h),m=D(e.radius),f=m&&I(m)>0?I(m)/100*p:0,g=D(e?.inner?.radius,f),b=Math.min(Math.max(e.inner?.scale??1,0),1.5),y=e.inner?.horizontalOffset??0,O=e.inner?.verticalOffset??0,S=e.thickness??0,C=e.color??"#000000",w=e.borderOuter?.thickness?e.borderOuter.thickness/2:0,W=e.borderInner?.thickness?e.borderInner.thickness/2:0,V=o.document,j=i.left+i.right,J=i.top+i.bottom,Y=n(S,f),P={top:Z(e,"top"),right:Z(e,"right"),bottom:R(e,"bottom",d()),left:Z(e,"left")},L=V.createElementNS("http://www.w3.org/2000/svg","rect"),G={x:s.left/2,y:s.top/2,width:p+j-s.left,height:p+J-s.top,fill:C,rx:m??f};Object.entries(G).forEach((([e,t])=>{L.setAttribute(e,t.toString())}));const X=V.createElementNS("http://www.w3.org/2000/svg","rect"),_=f>=200?"50%":f,F=u+j-(i.left+i.right+a.left+a.right+s.left+s.right),N=h+J-(i.top+i.bottom+a.top+a.bottom+s.top+s.bottom),z=F*b,U=N*b,K=(F-z)/2-y,H=(N-U)/2-O,Q={x:i.left+a.left+s.left+K,y:i.top+a.top+s.top+H,width:z,height:U,fill:Y?.getAttribute("fill")||"#ffffff",rx:g??_};Object.entries(Q).forEach((([e,t])=>X.setAttribute(e,t.toString()))),Y&&(({strokePath:e,backgroundMaskGroup:t,svgElement:o,color:r="#000000"})=>{e.setAttribute("fill",t?.getAttribute("fill")||r),t.setAttribute("fill","none"),t.setAttribute("stroke-width","0"),o.insertBefore(t,o.firstChild)})({strokePath:X,backgroundMaskGroup:Y,svgElement:t,color:C});let $=t.getElementsByTagName("defs")[0];$||($=V.createElementNS("http://www.w3.org/2000/svg","defs"),t.insertBefore($,t.firstChild));const ee=V.createElementNS("http://www.w3.org/2000/svg","mask");ee.setAttribute("id",`qr-mask-${c}`),ee.setAttribute("maskUnits","userSpaceOnUse");const te=V.createElementNS("http://www.w3.org/2000/svg","rect");if(te.setAttribute("fill","white"),Object.entries(Q).forEach((([e,t])=>{"fill"!==e&&te.setAttribute(e,t.toString())})),$.appendChild(ee),ee.appendChild(te),t.insertBefore(X,t.firstChild?.nextSibling),t.insertBefore(L,t.firstChild),e.borderOuter&&"number"==typeof e.borderOuter.thickness&&e.borderOuter.thickness>0){const o=V.createElementNS("http://www.w3.org/2000/svg","rect"),r={x:s.left/2,y:s.top/2,width:u+j-s.left,height:h+J-s.top,fill:"none",rx:m??f,stroke:e.borderOuter.color||"#c0c0c0","stroke-width":e.borderOuter.thickness};Object.entries(r).forEach((([e,t])=>o.setAttribute(e,t.toString()))),t.insertBefore(o,t.firstChild?.nextSibling)}if(Y){if(Array.from(t.getElementsByTagName("rect"))[0]){const e=t.firstChild;e?t.insertBefore(Y,e):t.appendChild(Y)}}if(e.borderInner&&"number"==typeof e.borderInner.thickness&&e.borderInner.thickness>0){const o=V.createElementNS("http://www.w3.org/2000/svg","rect"),r={x:i.left+a.left+s.left+K,y:i.top+a.top+s.top+H,width:z,height:U,fill:"none",stroke:e.borderInner.color||"#c0c0c0","stroke-width":a.left,rx:g??_};Object.entries(r).forEach((([e,t])=>o.setAttribute(e,t.toString()))),t.appendChild(o)}let oe={...E};if(!d()){const t=((e,t=[k,A,T])=>{for(const o of t){const t=e.decorations?.[o];if(t&&t.enableText&&!t.disabled&&t.type===q&&t.style)return t.style}})(e);t&&(oe={...oe,style:t})}const re=d()?e:{...e,decorations:{...e.decorations,bottom:{...e.decorations?.bottom||{},...oe,disabled:!1,enableText:!0}}},ne=[k,A,T,v];for(const e of ne){const o=re.decorations?.[e];if(!o||!o.enableText||!P[e])continue;const r=o.type||q,n=r===x?B:r===q?M:void 0;n&&n({document:V,svg:t,position:e,thickness:re.thickness??0,value:o.value??"",style:o.style,offset:o.offset,curveAdjustment:o.curveAdjustment,curveDisabled:o.curveDisabled,height:h+J,width:u+j,enabledBorders:P,outerBorderPadding:w,innerBorderPadding:W,round:m,curveRadius:o.curveRadius,instanceId:c,noBorderThickness:l})}};var Y,P,L,G,X,_,F;function N(e){const t={...e};if(!t.colorStops||!t.colorStops.length)throw new Error("Field 'colorStops' is required in gradient");return t.rotation?t.rotation=Number(t.rotation):t.rotation=0,t.colorStops=t.colorStops.map((e=>({...e,offset:Number(e.offset)}))),t}function z(e){const t={...e};if(t.imageOptions={...t.imageOptions,imageSize:Math.min(1,Number(t.imageOptions?.imageSize))||1,margin:Number(t.imageOptions?.margin)||0,padding:Number(t.imageOptions?.padding)||0},t.imageOptions.mode==F.overlay&&(t.imageOptions.margin=0),t.dotsOptions={...t.dotsOptions},t.dotsOptions.gradient&&(t.dotsOptions.gradient=N(t.dotsOptions.gradient)),t.dotsOptions.size=Math.round(Math.max(0,t.dotsOptions.size)||10),t.cornersSquareOptions&&(t.cornersSquareOptions={...t.cornersSquareOptions},t.cornersSquareOptions.gradient&&(t.cornersSquareOptions.gradient=N(t.cornersSquareOptions.gradient))),t.cornersDotOptions&&(t.cornersDotOptions={...t.cornersDotOptions},t.cornersDotOptions.gradient&&(t.cornersDotOptions.gradient=N(t.cornersDotOptions.gradient))),t.backgroundOptions&&(t.backgroundOptions={...t.backgroundOptions},t.backgroundOptions.gradient&&(t.backgroundOptions.gradient=N(t.backgroundOptions.gradient))),t.borderOptions&&t.borderOptions.decorations){const e=["top","bottom","left","right"];for(const o of e){let e=t.borderOptions.decorations[o];e||(t.borderOptions.decorations[o]={enableText:!1,value:void 0},e=t.borderOptions.decorations[o]),!1===e.enableText?e.value=void 0:!0===e.enableText?null!==e.value&&void 0!==e.value||(e.value=""):void 0===e.enableText&&(e.value&&"string"==typeof e.value&&!1!==e.enableText&&""!==e.value.trim()?e.enableText=!0:(e.enableText=!1,e.value=void 0))}}return"undefined"==typeof document||t.document||(t.document=document),t}!function(e){e.radial="radial",e.linear="linear"}(Y||(Y={})),function(e){e.svg="svg",e.png="png",e.jpeg="jpeg",e.webp="webp"}(P||(P={})),function(e){e.dot="dot",e.randomDot="random-dot",e.rounded="rounded",e.extraRounded="extra-rounded",e.verticalLine="vertical-line",e.horizontalLine="horizontal-line",e.classy="classy",e.classyRounded="classy-rounded",e.square="square",e.smallSquare="small-square",e.tinySquare="tiny-square",e.star="star",e.plus="plus",e.diamond="diamond"}(L||(L={})),function(e){e.dot="dot",e.square="square",e.heart="heart",e.rounded="rounded",e.classy="classy",e.outpoint="outpoint",e.inpoint="inpoint"}(G||(G={})),function(e){e.dot="dot",e.square="square",e.rounded="rounded",e.classy="classy",e.outpoint="outpoint",e.inpoint="inpoint"}(X||(X={})),function(e){e.square="square",e.circle="circle"}(_||(_={})),function(e){e.center="center",e.overlay="overlay",e.background="background"}(F||(F={}));const U={[f.L]:.07,[f.M]:.15,[f.Q]:.25,[f.H]:.3};class K{constructor(e="",t={}){if(e instanceof K)return e;const o=function(e){let t={r:0,g:0,b:0},o=1,r=null,n=null,i=null,s=!1,a=!1;"string"==typeof e&&(e=function(e){const t=/^\s+/,o=/\s+$/;e=e.replace(t,"").replace(o,"").toLowerCase();let r,n=!1;if(K.names[e])e=K.names[e],n=!0;else if("transparent"==e)return{r:0,g:0,b:0,a:0,format:"name"};if(r=Ce.rgb.exec(e))return{r:r[1],g:r[2],b:r[3]};if(r=Ce.rgba.exec(e))return{r:r[1],g:r[2],b:r[3],a:r[4]};if(r=Ce.hsl.exec(e))return{h:r[1],s:r[2],l:r[3]};if(r=Ce.hsla.exec(e))return{h:r[1],s:r[2],l:r[3],a:r[4]};if(r=Ce.hsv.exec(e))return{h:r[1],s:r[2],v:r[3]};if(r=Ce.hsva.exec(e))return{h:r[1],s:r[2],v:r[3],a:r[4]};if(r=Ce.hex8.exec(e))return{r:ge(r[1]),g:ge(r[2]),b:ge(r[3]),a:Se(r[4]),format:n?"name":"hex8"};if(r=Ce.hex6.exec(e))return{r:ge(r[1]),g:ge(r[2]),b:ge(r[3]),format:n?"name":"hex"};if(r=Ce.hex4.exec(e))return{r:ge(r[1]+""+r[1]),g:ge(r[2]+""+r[2]),b:ge(r[3]+""+r[3]),a:Se(r[4]+""+r[4]),format:n?"name":"hex8"};if(r=Ce.hex3.exec(e))return{r:ge(r[1]+""+r[1]),g:ge(r[2]+""+r[2]),b:ge(r[3]+""+r[3]),format:n?"name":"hex"};return!1}(e));"object"==typeof e&&(we(e.r)&&we(e.g)&&we(e.b)?(l=e.r,d=e.g,c=e.b,t={r:255*me(l,255),g:255*me(d,255),b:255*me(c,255)},s=!0,a="%"===String(e.r).slice(-1)?"prgb":"rgb"):we(e.h)&&we(e.s)&&we(e.v)?(r=ye(e.s),n=ye(e.v),t=function(e,t,o){e=6*me(e,360),t=me(t,100),o=me(o,100);const r=Math.floor(e),n=e-r,i=o*(1-t),s=o*(1-n*t),a=o*(1-(1-n)*t),l=r%6,d=[o,s,i,i,a,o][l],c=[a,o,o,s,i,i][l],u=[i,i,a,o,o,qw][l];return{r:255*d,g:255*c,b:255*u}}(e.h,r,n),s=!0,a="hsv"):we(e.h)&&we(e.s)&&we(e.l)&&(r=ye(e.s),i=ye(e.l),t=function(e,t,o){let r,n,i;function s(e,t,o){return o<0&&(o+=1),o>1&&(o-=1),o<1/6?e+6*(t-e)*o:o<.5?t:o<2/3?e+(t-e)*(2/3-o)*6:e}if(e=me(e,360),t=me(t,100),o=me(o,100),0===t)r=n=i=o;else{const a=o<.5?o*(1+t):o+t-o*t,l=2*o-a;r=s(l,a,e+1/3),n=s(l,a,e),i=s(l,a,e-1/3)}return{r:255*r,g:255*n,b:255*i}}(e.h,r,i),s=!0,a="hsl"),e.hasOwnProperty("a")&&(o=e.a));var l,d,c;return o=pe(o),{ok:s,format:e.format||a,r:Math.min(255,Math.max(t.r,0)),g:Math.min(255,Math.max(t.g,0)),b:Math.min(255,Math.max(t.b,0)),a:o}}(e);this._originalInput=e,this._r=o.r,this._g=o.g,this._b=o.b,this._a=o.a,this._roundA=Math.round(100*this._a)/100,this._format=t.format||o.format,this._gradientType=t.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=o.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 e=this.toRgb();return(299*e.r+587*e.g+114*e.b)/1e3}getLuminance(){const e=this.toRgb(),t=e.r/255,o=e.g/255,r=e.b/255;return.2126*(t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4))+.7152*(o<=.03928?o/12.92:Math.pow((o+.055)/1.055,2.4))+.0722*(r<=.03928?r/12.92:Math.pow((r+.055)/1.055,2.4))}setAlpha(e){return this._a=pe(e),this._roundA=Math.round(100*this._a)/100,this}toHsv(){const e=Q(this._r,this._g,this._b);return{h:360*e.h,s:e.s,v:e.v,a:this._a}}toHsvString(){const e=Q(this._r,this._g,this._b),t=Math.round(360*e.h),o=Math.round(100*e.s),r=Math.round(100*e.v);return 1==this._a?`hsv(${t}, ${o}%, ${r}%)`:`hsva(${t}, ${o}%, ${r}%, ${this._roundA})`}toHsl(){const e=H(this._r,this._g,this._b);return{h:360*e.h,s:e.s,l:e.l,a:this._a}}toHslString(){const e=H(this._r,this._g,this._b),t=Math.round(360*e.h),o=Math.round(100*e.s),r=Math.round(100*e.l);return 1==this._a?`hsl(${t}, ${o}%, ${r}%)`:`hsla(${t}, ${o}%, ${r}%, ${this._roundA})`}toHex(e){return $(this._r,this._g,this._b,e)}toHexString(e){return"#"+this.toHex(e)}toHex8(e){return function(e,t,o,r,n){const i=[be(Math.round(e).toString(16)),be(Math.round(t).toString(16)),be(Math.round(o).toString(16)),be(Oe(r))];if(n&&i[0].charAt(0)==i[0].charAt(1)&&i[1].charAt(0)==i[1].charAt(1)&&i[2].charAt(0)==i[2].charAt(1)&&i[3].charAt(0)==i[3].charAt(1))return i[0].charAt(0)+i[1].charAt(0)+i[2].charAt(0)+i[3].charAt(0);return i.join("")}(this._r,this._g,this._b,this._a,e)}toHex8String(e){return"#"+this.toHex8(e)}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*me(this._r,255))+"%",g:Math.round(100*me(this._g,255))+"%",b:Math.round(100*me(this._b,255))+"%",a:this._a}}toPercentageRgbString(){return 1==this._a?`rgb(${Math.round(100*me(this._r,255))}%, ${Math.round(100*me(this._g,255))}%, ${Math.round(100*me(this._b,255))}%)`:`rgba(${Math.round(100*me(this._r,255))}%, ${Math.round(100*me(this._g,255))}%, ${Math.round(100*me(this._b,255))}%, ${this._roundA})`}toName(){return 0===this._a?"transparent":!(this._a<1)&&(K.hexNames[$(this._r,this._g,this._b,!0)]||!1)}toFilter(e){const t="#"+ee(this._r,this._g,this._b,this._a);let o=t;const r=this._gradientType?"GradientType = 1, ":"";if(e){const t=new K(e);o="#"+ee(t._r,t._g,t._b,t._a)}return`progid:DXImageTransform.Microsoft.gradient(${r}startColorstr=${t},endColorstr=${o})`}toString(e){const t=!!e;e=e||this._format;let o=!1;const r=this._a<1&&this._a>=0;return t||!r||"hex"!==e&&"hex6"!==e&&"hex3"!==e&&"hex4"!==e&&"hex8"!==e&&"name"!==e?("rgb"===e&&(o=this.toRgbString()),"prgb"===e&&(o=this.toPercentageRgbString()),"hex"!==e&&"hex6"!==e||(o=this.toHexString()),"hex3"===e&&(o=this.toHexString(!0)),"hex4"===e&&(o=this.toHex8String(!0)),"hex8"===e&&(o=this.toHex8String()),"name"===e&&(o=this.toName()),"hsl"===e&&(o=this.toHslString()),"hsv"===e&&(o=this.toHsvString()),o||this.toHexString()):"name"===e&&0===this._a?this.toName():this.toRgbString()}clone(){return new K(this.toString())}_applyModification(e,...t){const o=e(this,...t);return this._r=o._r,this._g=o._g,this._b=o._b,this.setAlpha(o._a),this}lighten(...e){return this._applyModification(ne,...e)}brighten(...e){return this._applyModification(ie,...e)}darken(...e){return this._applyModification(se,...e)}desaturate(...e){return this._applyModification(te,...e)}saturate(...e){return this._applyModification(oe,...e)}greyscale(...e){return this._applyModification(re,...e)}spin(...e){return this._applyModification(ae,...e)}_applyCombination(e,...t){return e(this,...t)}analogous(...e){return this._applyCombination(ue,...e)}complement(...e){return this._applyCombination(le,...e)}monochromatic(...e){return this._applyCombination(he,...e)}splitcomplement(...e){return this._applyCombination(ce,...e)}triad(){return this._applyCombination(de,3)}tetrad(){return this._applyCombination(de,4)}static fromRatio(e,t){if("object"==typeof e){const t={};for(const o in e)e.hasOwnProperty(o)&&(t[o]="a"===o?e[o]:ye(e[o]));e=t}return new K(e,t)}static equals(e,t){return!(!e||!t)&&new K(e).toRgbString()===new K(t).toRgbString()}static random(){return K.fromRatio({r:Math.random(),g:Math.random(),b:Math.random()})}static mix(e,t,o){o=0===o?0:o||50;const r=new K(e).toRgb(),n=new K(t).toRgb(),i=o/100,s={r:(n.r-r.r)*i+r.r,g:(n.g-r.g)*i+r.g,b:(n.b-r.b)*i+r.b,a:(n.a-r.a)*i+r.a};return new K(s)}static readability(e,t){const o=new K(e),r=new K(t);return(Math.max(o.getLuminance(),r.getLuminance())+.05)/(Math.min(o.getLuminance(),r.getLuminance())+.05)}static isReadable(e,t,o){const r=K.readability(e,t);let n=!1;const i=function(e){let t,o;t=((e=e||{level:"AA",size:"small"}).level||"AA").toUpperCase(),o=(e.size||"small").toLowerCase(),"AA"!==t&&"AAA"!==t&&(t="AA");"small"!==o&&"large"!==o&&(o="small");return{level:t,size:o}}(o);switch(i.level+i.size){case"AAsmall":case"AAAlarge":n=r>=4.5;break;case"AAlarge":n=r>=3;break;case"AAAsmall":n=r>=7}return n}static mostReadable(e,t,o={}){let r,n=null,i=0;const{includeFallbackColors:s,level:a,size:l}=o;for(const o of t)r=K.readability(e,o),r>i&&(i=r,n=new K(o));return K.isReadable(e,n,{level:a,size:l})||!s?n:(o.includeFallbackColors=!1,K.mostReadable(e,["#fff","#000"],o))}}function H(e,t,o){e=me(e,255),t=me(t,255),o=me(o,255);const r=Math.max(e,t,o),n=Math.min(e,t,o);let i,s;const a=(r+n)/2;if(r==n)i=s=0;else{const l=r-n;switch(s=a>.5?l/(2-r-n):l/(r+n),r){case e:i=(t-o)/l+(t<o?6:0);break;case t:i=(o-e)/l+2;break;case o:i=(e-t)/l+4}i/=6}return{h:i,s:s,l:a}}function Q(e,t,o){e=me(e,255),t=me(t,255),o=me(o,255);const r=Math.max(e,t,o),n=Math.min(e,t,o);let i;const s=r,a=r-n,l=0===r?0:a/r;if(r==n)i=0;else{switch(r){case e:i=(t-o)/a+(t<o?6:0);break;case t:i=(o-e)/a+2;break;case o:i=(e-t)/a+4}i/=6}return{h:i,s:l,v:s}}function $(e,t,o,r){const n=[be(Math.round(e).toString(16)),be(Math.round(t).toString(16)),be(Math.round(o).toString(16))];return r&&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[0].charAt(0)+n[1].charAt(0)+n[2].charAt(0):n.join("")}function ee(e,t,o,r){return[be(Oe(r)),be(Math.round(e).toString(16)),be(Math.round(t).toString(16)),be(Math.round(o).toString(16))].join("")}function te(e,t){t=0===t?0:t||10;const o=new K(e).toHsl();return o.s-=t/100,o.s=fe(o.s),new K(o)}function oe(e,t){t=0===t?0:t||10;const o=new K(e).toHsl();return o.s+=t/100,o.s=fe(o.s),new K(o)}function re(e){return new K(e).desaturate(100)}function ne(e,t){t=0===t?0:t||10;const o=new K(e).toHsl();return o.l+=t/100,o.l=fe(o.l),new K(o)}function ie(e,t){t=0===t?0:t||10;const o=new K(e).toRgb();return o.r=Math.max(0,Math.min(255,o.r-Math.round(-t/100*255))),o.g=Math.max(0,Math.min(255,o.g-Math.round(-t/100*255))),o.b=Math.max(0,Math.min(255,o.b-Math.round(-t/100*255))),new K(o)}function se(e,t){t=0===t?0:t||10;const o=new K(e).toHsl();return o.l-=t/100,o.l=fe(o.l),new K(o)}function ae(e,t){const o=new K(e).toHsl(),r=(o.h+t)%360;return o.h=r<0?360+r:r,new K(o)}K.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"},K.hexNames=function(e){const t={};for(const o in e)e.hasOwnProperty(o)&&(t[e[o]]=o);return t}(K.names);const le=e=>{const t=new K(e).toHsl();return t.h=(t.h+180)%360,new K(t)},de=(e,t)=>{if(isNaN(t)||t<=0)throw new Error("Argument to polyad must be a positive number");const o=new K(e).toHsl(),r=[new K(e)],n=360/t;for(let e=1;e<t;e++)r.push(new K({h:(o.h+e*n)%360,s:o.s,l:o.l}));return r};function ce(e){const t=new K(e).toHsl(),o=t.h;return[new K(e),new K({h:(o+72)%360,s:t.s,l:t.l}),new K({h:(o+216)%360,s:t.s,l:t.l})]}function ue(e,t,o){t=t||6,o=o||30;const r=new K(e).toHsl(),n=360/o,i=[new K(e)];for(r.h=(r.h-(n*t>>1)+720)%360;--t;)r.h=(r.h+n)%360,i.push(new K(r));return i}function he(e,t){t=t||6;const o=new K(e).toHsv(),r=o.h,n=o.s;let i=o.v;const s=[],a=1/t;for(;t--;)s.push(new K({h:r,s:n,v:i})),i=(i+a)%1;return s}function pe(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function me(e,t){(function(e){return"string"==typeof e&&-1!=e.indexOf(".")&&1===parseFloat(e)})(e)&&(e="100%");const o=function(e){return"string"==typeof e&&-1!=e.indexOf("%")}(e);return e=Math.min(t,Math.max(0,parseFloat(e))),o&&(e=parseInt(e*t,10)/100),Math.abs(e-t)<1e-6?1:e%t/parseFloat(t)}function fe(e){return Math.min(1,Math.max(0,e))}function ge(e){return parseInt(e,16)}function be(e){return 1==e.length?"0"+e:""+e}function ye(e){return e<=1&&(e=100*e+"%"),e}function Oe(e){return Math.round(255*parseFloat(e)).toString(16)}function Se(e){return ge(e)/255}const Ce=(()=>{const e="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)",t=`[\\s|\\(]+(${e})[,|\\s]+(${e})[,|\\s]+(${e})\\s*\\)?`,o=`[\\s|\\(]+(${e})[,|\\s]+(${e})[,|\\s]+(${e})[,|\\s]+(${e})\\s*\\)?`;return{CSS_UNIT:new RegExp(e),rgb:new RegExp("rgb"+t),rgba:new RegExp("rgba"+o),hsl:new RegExp("hsl"+t),hsla:new RegExp("hsla"+o),hsv:new RegExp("hsv"+t),hsva:new RegExp("hsva"+o),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 we(e){return!!Ce.CSS_UNIT.exec(e)}function ke(e,t){e.decorations||(e.decorations={}),["top","right","bottom","left"].forEach((o=>{e.decorations[o]||(e.decorations[o]={}),e.decorations[o].style||(e.decorations[o].style={}),e.decorations[o].style.fontColor=t}))}function ve(e){const t={};if((e.primaryColor||e.dotsGradient)&&(t.dotsOptions={...t.dotsOptions,...e.primaryColor&&{color:e.primaryColor},...e.dotsGradient&&{gradient:e.dotsGradient}}),(e.secondaryColor||e.cornersGradient)&&(t.cornersSquareOptions={...t.cornersSquareOptions,...e.secondaryColor&&{color:e.secondaryColor},...e.cornersGradient&&{gradient:e.cornersGradient}},t.cornersDotOptions={...t.cornersDotOptions,...e.secondaryColor&&{color:e.secondaryColor}}),(e.thirdColor||e.cornersDotGradient)&&(t.cornersDotOptions={...t.cornersDotOptions,...e.thirdColor&&{color:e.thirdColor},...e.cornersDotGradient&&{gradient:e.cornersDotGradient}}),(e.backgroundColor||e.backgroundGradient)&&(t.backgroundOptions={...t.backgroundOptions,...e.backgroundColor&&{color:e.backgroundColor},...e.backgroundGradient&&{gradient:e.backgroundGradient}}),e.dotShape&&(t.dotsOptions={...t.dotsOptions,type:e.dotShape}),e.cornerSquareShape&&(t.cornersSquareOptions={...t.cornersSquareOptions,type:e.cornerSquareShape}),e.cornerDotShape&&(t.cornersDotOptions={...t.cornersDotOptions,type:e.cornerDotShape}),e.logo&&(t.image=e.logo),(void 0!==e.logoSize||e.logoMode||void 0!==e.logoMargin||e.logoBackgroundColor||void 0!==e.logoPadding||void 0!==e.logoRadius)&&(t.imageOptions={...t.imageOptions,...void 0!==e.logoSize&&{imageSize:e.logoSize},...e.logoMode&&{mode:e.logoMode},...void 0!==e.logoMargin&&{margin:e.logoMargin},...e.logoBackgroundColor&&{backgroundColor:e.logoBackgroundColor},...void 0!==e.logoPadding&&{padding:e.logoPadding},...void 0!==e.logoRadius&&{radius:e.logoRadius}}),e.borderColor||void 0!==e.borderThickness||void 0!==e.borderRadius||e.borderInnerColor||void 0!==e.borderInnerThickness||void 0!==e.borderInnerRadius||e.borderOuterColor||void 0!==e.borderOuterThickness||e.borderTextTop||e.borderTextRight||e.borderTextBottom||e.borderTextLeft||e.borderFontFace||void 0!==e.borderFontSize||e.borderFontColor||void 0!==e.borderLetterSpacing||e.borderTextTransform||e.borderFontWeight){t.borderOptions||(t.borderOptions={hasBorder:!0});const o=t.borderOptions;e.borderColor&&(o.color=e.borderColor),void 0!==e.borderThickness&&(o.thickness=e.borderThickness),void 0!==e.borderRadius&&(o.radius=String(e.borderRadius)),void 0===e.borderInnerColor&&void 0===e.borderInnerThickness||(o.borderInner||(o.borderInner={}),void 0!==e.borderInnerColor&&(o.borderInner.color=e.borderInnerColor),void 0!==e.borderInnerThickness&&(o.borderInner.thickness=e.borderInnerThickness)),void 0!==e.borderInnerRadius&&(o.inner||(o.inner={}),o.inner.radius=String(e.borderInnerRadius)),void 0===e.borderOuterColor&&void 0===e.borderOuterThickness||(o.borderOuter||(o.borderOuter={}),void 0!==e.borderOuterColor&&(o.borderOuter.color=e.borderOuterColor),void 0!==e.borderOuterThickness&&(o.borderOuter.thickness=e.borderOuterThickness));const r={};e.borderFontFace&&(r.fontFace=e.borderFontFace),void 0!==e.borderFontSize&&(r.fontSize=e.borderFontSize),e.borderFontColor&&(r.fontColor=e.borderFontColor),void 0!==e.borderLetterSpacing&&(r.letterSpacing=e.borderLetterSpacing),e.borderTextTransform&&(r.textTransform=e.borderTextTransform),e.borderFontWeight&&(r.fontWeight=e.borderFontWeight),o.decorations||(o.decorations={});const n=o.decorations?JSON.parse(JSON.stringify(o.decorations)):{};let i=!1;Object.keys(r).length>0&&(i=!0,["top","right","bottom","left"].forEach((e=>{n[e]||(n[e]={}),n[e].style||(n[e].style={}),n[e].style={...n[e].style,...r}}))),["top","right","bottom","left"].forEach((t=>{const o=`borderText${t.charAt(0).toUpperCase()+t.slice(1)}`,s=e[o];void 0!==s?(n[t]||(n[t]={}),n[t]={...n[t],value:s,enableText:!0,style:{...n[t]?.style||{},...r}},i=!0):n[t]?.value&&Object.keys(r).length>0&&!n[t]?.style&&(n[t].style||(n[t].style={}),n[t].style={...n[t].style,...r},i=!0)})),i&&(o.decorations=n)}if(!!(e.primaryColor||e.secondaryColor||e.thirdColor||e.backgroundColor)){t.borderOptions||(t.borderOptions={hasBorder:!0});const o=t.borderOptions;if(e.secondaryColor&&!e.borderColor){const t=new K(e.secondaryColor).isDark();o.color=new K(e.primaryColor).darken(t?-12:12).toString()}if(e.thirdColor&&!e.borderInnerColor&&(o.borderInner||(o.borderInner={}),o.borderInner.color=new K(e.thirdColor).darken(2).toString()),e.primaryColor&&!e.borderOuterColor&&(o.borderOuter=o.borderOuter||{},o.borderOuter.color=new K(e.primaryColor).darken(2).toString()),e.backgroundColor&&!e.borderFontColor&&o.color){const t=new K(e.backgroundColor),r=new K(o.color),n=K.readability(t,r),i=t.isDark();if(n<2){ke(o,(i?t.lighten(15):t.darken(15)).toString())}else{ke(o,(i?t.lighten(20):t.lighten(10)).toString())}}}return t}function Ae(e){const t=[];return void 0!==e.logoSize&&("number"!=typeof e.logoSize||e.logoSize<0||e.logoSize>1)&&t.push("logoSize must be a number between 0 and 1."),{isValid:0===t.length,errors:t}}class Te{constructor(){}close(){}}class Ie extends Te{constructor(e){super(),this.istream=e,this.buffer=0,this.buflen=0}readByte(){for(;this.buflen<8;){const e=this.istream.readByte();if(-1==e){if(0==this.buflen)return-1;throw new Error("unexpected end of file./"+this.buflen)}if(e=="=".charCodeAt(0))return this.buflen=0,-1;Ie.isWhitespace(e)||(this.buffer=this.buffer<<6|Ie.decode(e),this.buflen+=6)}const e=this.buffer>>>this.buflen-8&255;return this.buflen-=8,e}static isWhitespace(e){return e=="\v".charCodeAt(0)||e=="\t".charCodeAt(0)||e=="\r".charCodeAt(0)||e=="\n".charCodeAt(0)}static decode(e){if("A".charCodeAt(0)<=e&&e<="Z".charCodeAt(0))return e-"A".charCodeAt(0);if("a".charCodeAt(0)<=e&&e<="z".charCodeAt(0))return e-"a".charCodeAt(0)+26;if("0".charCodeAt(0)<=e&&e<="9".charCodeAt(0))return e-"0".charCodeAt(0)+52;if(e=="+".charCodeAt(0))return 62;if(e=="/".charCodeAt(0))return 63;throw new Error("c:"+e)}}class De extends Te{constructor(e){super(),this.bytes=e,this.pos=0}readByte(){if(this.pos<this.bytes.length){const e=this.bytes[this.pos];return this.pos+=1,e}return-1}}(function(e,t){const o=(()=>{const o=new Ie(new De(function(e){const t=[];for(let o=0;o<e.length;o+=1)t.push(e.charCodeAt(o));return t}(e))),r=()=>{const e=o.readByte();if(-1==e)throw new Error("eof");return e};let n=0;const i={};for(;;){const e=o.readByte();if(-1==e)break;const t=r(),s=r()<<8|r();i[String.fromCharCode(e<<8|t)]=s,n+=1}if(n!=t)throw new Error(n+"!="+t);return i})(),r="?".charCodeAt(0)})("AAAAAAABAAEAAgACAAMAAwAEAAQABQAFAAYABgAHAAcACAAIAAkACQAKAAoACwALAAwADAANAA0ADgAOAA8ADwAQABAAEQARABIAEgATABMAFAAUABUAFQAWABYAFwAXABgAGAAZABkAGgAaABsAGwAcABwAHQAdAB4AHgAfAB8AIAAgACEAIQAiACIAIwAjACQAJAAlACUAJgAmACcAJwAoACgAKQApACoAKgArACsALAAsAC0ALQAuAC4ALwAvADAAMAAxADEAMgAyADMAMwA0ADQANQA1ADYANgA3ADcAOAA4ADkAOQA6ADoAOwA7ADwAPAA9AD0APgA+AD8APwBAAEAAQQBBAEIAQgBDAEMARABEAEUARQBGAEYARwBHAEgASABJAEkASgBKAEsASwBMAEwATQBNAE4ATgBPAE8AUABQAFEAUQBSAFIAUwBTAFQAVABVAFUAVgBWAFcAVwBYAFgAWQBZAFoAWgBbAFsAXABcAF0AXQBeAF4AXwBfAGAAYABhAGEAYgBiAGMAYwBkAGQAZQBlAGYAZgBnAGcAaABoAGkAaQBqAGoAawBrAGwAbABtAG0AbgBuAG8AbwBwAHAAcQBxAHIAcgBzAHMAdAB0AHUAdQB2AHYAdwB3AHgAeAB5AHkAegB6AHsAewB8AHwAfQB9AH4AfgB/AH8AooGRAKOBkgCngZgAqIFOAKyBygCwgYsAsYF9ALSBTAC2gfcA14F+APeBgAORg58DkoOgA5ODoQOUg6IDlYOjA5aDpAOXg6UDmIOmA5mDpwOag6gDm4OpA5yDqgOdg6sDnoOsA5+DrQOgg64DoYOvA6ODsAOkg7EDpYOyA6aDswOng7QDqIO1A6mDtgOxg78DsoPAA7ODwQO0g8IDtYPDA7aDxAO3g8UDuIPGA7mDxwO6g8gDu4PJA7yDygO9g8sDvoPMA7+DzQPAg84DwYPPA8OD0APEg9EDxYPSA8aD0wPHg9QDyIPVA8mD1gQBhEYEEIRABBGEQQQShEIEE4RDBBSERAQVhEUEFoRHBBeESAQYhEkEGYRKBBqESwQbhEwEHIRNBB2ETgQehE8EH4RQBCCEUQQhhFIEIoRTBCOEVAQkhFUEJYRWBCaEVwQnhFgEKIRZBCmEWgQqhFsEK4RcBCyEXQQthF4ELoRfBC+EYAQwhHAEMYRxBDKEcgQzhHMENIR0BDWEdQQ2hHcEN4R4BDiEeQQ5hHoEOoR7BDuEfAQ8hH0EPYR+BD6EgAQ/hIEEQISCBEGEgwRChIQEQ4SFBESEhgRFhIcERoSIBEeEiQRIhIoESYSLBEqEjARLhI0ETISOBE2EjwROhJAET4SRBFGEdiAQgV0gFIFcIBaBYSAYgWUgGYFmIByBZyAdgWggIIH1ICGB9iAlgWQgJoFjIDCB8SAygYwgM4GNIDuBpiEDgY4hK4HwIZCBqSGRgaohkoGoIZOBqyHSgcsh1IHMIgCBzSICgd0iA4HOIgeB3iIIgbgiC4G5IhKBfCIageMiHYHlIh6BhyIggdoiJ4HIIiiBySIpgb8iKoG+IiuB5yIsgegiNIGIIjWB5iI9geQiUoHgImCBgiJhgd8iZoGFImeBhiJqgeEia4HiIoKBvCKDgb0ihoG6IoeBuyKlgdsjEoHcJQCEnyUBhKolAoSgJQOEqyUMhKElD4SsJRCEoiUThK0lFISkJReEryUYhKMlG4SuJRyEpSUdhLolIIS1JSOEsCUkhKclJYS8JSiEtyUrhLIlLISmJS+EtiUwhLslM4SxJTSEqCU3hLglOIS9JTuEsyU8hKklP4S5JUKEviVLhLQloIGhJaGBoCWygaMls4GiJbyBpSW9gaQlxoGfJceBniXLgZslzoGdJc+BnCXvgfwmBYGaJgaBmSZAgYomQoGJJmqB9CZtgfMmb4HyMACBQDABgUEwAoFCMAOBVjAFgVgwBoFZMAeBWjAIgXEwCYFyMAqBczALgXQwDIF1MA2BdjAOgXcwD4F4MBCBeTARgXowEoGnMBOBrDAUgWswFYFsMByBYDBBgp8wQoKgMEOCoTBEgqIwRYKjMEaCpDBHgqUwSIKmMEmCpzBKgqgwS4KpMEyCqjBNgqswToKsME+CrTBQgq4wUYKvMFKCsDBTgrEwVIKyMFWCszBWgrQwV4K1MFiCtjBZgrcwWoK4MFuCuTBcgrowXYK7MF6CvDBfgr0wYIK+MGGCvzBigsAwY4LBMGSCwjBlgsMwZoLEMGeCxTBogsYwaYLHMGqCyDBrgskwbILKMG2CyzBugswwb4LNMHCCzjBxgs8wcoLQMHOC0TB0gtIwdYLTMHaC1DB3gtUweILWMHmC1zB6gtgwe4LZMHyC2jB9gtswfoLcMH+C3TCAgt4wgYLfMIKC4DCDguEwhILiMIWC4zCGguQwh4LlMIiC5jCJgucwioLoMIuC6TCMguowjYLrMI6C7DCPgu0wkILuMJGC7zCSgvAwk4LxMJuBSjCcgUswnYFUMJ6BVTChg0AwooNBMKODQjCkg0MwpYNEMKaDRTCng0YwqINHMKmDSDCqg0kwq4NKMKyDSzCtg0wwroNNMK+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/GbcafwG3Hn71ty5fSbcyfw23Rj2lt0p/FbdWfym3Yk5Ft2Z/Ibd6fwm3hkldt5J/Jbeafvm3on8Rt6p/LbeuI+m3sn8Ft7p/MbfGQW23zj35t9ZWjbfeNrG35n7lt+p/HbfuTWW4FkLRuB4qJbgiNz24Jj8JuCp+7bguPYW4TjGtuFZ+6bhmf0G4aj41uG4y4bh2f324fn9luIIuUbiGTbm4jn9RuJJ/dbiWIrW4miVFuKYm3biuf1m4skapuLZ/Nbi6fz24vjWBuOJ/gbjqf224+n9NuQ5/abkqWqW5Nn9huTp/cblaMzm5Yj8NuW5JYbl+f0m5nl05ua5/Vbm6fzm5vk5Jucp/Rbnaf125+mHBuf468boCWnm6Cn+FujJSsbo+f7W6QjLlulo+Abpif426cl61unY1hbp+f8G6iiOxupZ/ubqqf4m6vn+husp/qbraXbm63n+VuupNNbr2f527Cn+9uxJ/pbsWWxW7Jn+Ruy46gbsyf/G7Riopu05/mbtSf627Vn+xu3ZHqbt6R2G7sn/Ru75/6bvKf+G70k0hu9+BCbvif9W7+n/Zu/5/ebwGLmW8ClVlvBo69bwmNl28PmFJvEZ/ybxPgQW8UiYlvFZGGbyCUmW8iir9vI5f4byuWn28sktBvMZ/5bzKf+284kVFvPuBAbz+f929Bn/FvRYrBb1SMiW9Y4E5vW+BJb1yQ9m9fioNvZI+Bb2bgUm9t4EtvbpKqb2/gSG9wktdvdOBrb3jgRW964ERvfOBNb4DgR2+B4EZvguBMb4SQn2+G4ENvjuBPb5HgUG+XisBvoeBVb6PgVG+k4FZvquBZb7GTYm+z4FNvueBXb8CMg2/BkfdvwuBRb8OUWm/G4Fhv1OBdb9XgW2/Y4F5v2+Bhb9/gWm/gjYpv4ZRHb+Sft2/rl5Rv7OBcb+7gYG/vkfNv8eBfb/PgSm/26Ilv+uBkb/7gaHAB4GZwCeBicAvgY3AP4GdwEeBlcBWVbXAY4G1wGuBqcBvgaXAd4GxwHpPScB/gbnAmkpVwJ5HrcCyQo3Aw4G9wMuBxcD7gcHBMn/NwUeBycFiT5XBj4HNwa4nOcG+TlHBwikRweIuEcHyO3HB9jdBwiZhGcIqQhnCOiYpwkuB1cJngdHCs4HhwrZJZcK7ge3Cv4HZws+B6cLjgeXC5k19wuojXcMiX83DL4H1wz4lHcNnggHDd4H5w3+B8cPHgd3D5lkJw/eCCcQnggXEUiYtxGeCEcRqVsHEc4INxIZazcSaPxXE2kVJxPI/EcUmX+XFM4IpxTpD3cVXghnFW4ItxWYmMcWLgiXFklIFxZeCFcWbgiHFnj8ZxaZTPcWzgjHFujs9xfZD4cYTgj3GI4IdxioxGcY/gjXGUl29xleCQcZnqpHGfj25xqOCRcazgknGxlE1xueCUcb7glXHDlFJxyJOVccngl3HO4Jlx0JfTcdLglnHU4Jhx1YmNcdfgk3Hfmnpx4OCaceWRh3Hmjldx5+Cccezgm3HtkENx7pnXcfXgnXH54J9x++COcfzgnnH/4KByBpSacg3goXIQ4KJyG+CjcijgpHIqktxyLOCmci3gpXIw4KdyMuCocjWO3XI2lYNyOpbqcjvgqXI84KpyPZF1cj6OonI/4KtyQOCsckbgrXJHldBySJTFckvgrnJMlHZyUpKrcljgr3JZieVyW4uNcl2WxHJflrRyYYmycmKYU3JnlnFyaZWocnKQtXJ04LByeZPBcn2MoXJ+4LFygI3ScoHgs3KC4LJyh+C0cpLgtXKW4LZyoItdcqLgt3Kn4LhyrIyicq+UxnKy4Lpyto/zcrnguXLCi7Zyw+C7csTgvXLG4LxyzuC+ctCMz3LS4L9y14vnctmRX3LbjZ1y4ODBcuHgwnLi4MBy6Y7rcuyTxnLti7dy9+DEcviSS3L54MNy/JhUcv2UgnMK4MdzFuDJcxfgxnMbltJzHODIcx3gynMfl8JzJeDOcyngzXMqkpZzK5RMcy6Mo3Mv4MxzNODLczaXUHM3l1FzPuDPcz+JjnNEjZZzRY6Cc07g0HNP4NFzV+DTc2OPYnNo4NVzauDUc3Dg1nNyimxzdeDYc3jg13N64Npze+DZc4SMunOHl6ZziYvKc4uJpHOWi+hzqYrfc7KX5nOz4Nxzu+Dec8Dg33PCic9zyODbc8qOWHPNkr9zzuDdc97g4nPgjuxz5eDgc+qMXXPtlMdz7uDhc/Hg/HP44Odz/oy7dAOLhXQF4OR0BpeddAmXrnQikfR0JeDmdDLg6HQzl9R0NIvVdDWU+nQ2lGl0OuDpdD/g63RB4O50VeDqdFng7XRajOh0W4lsdFzg73RekJB0X+DsdGCX2nRj4PJ0ZOqidGng8HRq4PN0b+DldHDg8XRzjbp0duD0dH7g9XSDl550i+D2dJ7g93Si4ON0p+D4dLCKwnS9jqN0yuD5dM/g+nTU4Pt03IladODhQHTilVp04+FBdOaKonTn4UJ06eFDdO7hRHTw4UZ08eFHdPLhRXT2lXJ09+FJdPjhSHUD4Ut1BOFKdQXhTHUM4U11DeFPdQ7hTnURjZl1E+FRdRXhUHUYisN1GpBydRyTW3Ue4VJ1H5C2dSOOWXUliZl1JuFTdSiXcHUrleF1LOFUdTCTY3Uxl1J1Mo1idTOQXHU3kmp1OJmydTqSrHU7ieZ1POFVdUThVnVG4Vt1SeFZdUrhWHVLncB1TIpFdU3hV3VPiNh1UZSodVSUyHVZl691WuFcdVvhWnVcknt1XZCkdWCUqXVilUx1ZOFedWWXqnVmjGx1Z+FfdWnhXXVqlNR1a+FgdW3hYXVwiNl1c4/0dXThZnV24WN1d5PrdXjhYnV/i0V1guFpdYbhZHWH4WV1ieFodYrhZ3WLlUR1jpFhdY+RYHWRi151lOFqdZrha3Wd4Wx1o+FudaXhbXWriXV1seF2dbKU5nWz4XB1teFydbjhdHW5kF11vOF1db3hc3W+jr51wuFvdcPhcXXFlWF1x4/HdcrheHXN4Xd10uF5ddSOpHXVja112JOXddnhenXbksl13uF8deKXn3Xj4Xt16ZGJdfDhgnXy4YR18+GFdfSSc3X64YN1/OGAdf7hfXX/4X52AeGBdgnhiHYL4YZ2DeGHdh/hiXYg4Yt2IeGMdiLhjXYk4Y52J+GKdjDhkHY04Y92O+GRdkKXw3ZG4ZR2R+GSdkjhk3ZMiuB2Upb8dlaVyHZY4ZZ2XOGVdmHhl3Zi4Zh2Z+GcdmjhmXZp4Zp2auGbdmzhnXZw4Z52cuGfdnbhoHZ44aF2epStdnuTb3Z84aJ2fZSSdn6VU3aA4aN2g+GkdoSTSXaGikZ2h41jdojhpXaL4aZ2juGndpCOSHaT4al2luGodpnhqnaa4at2rpTndrDhrHa04a12t+qJdrjhrna54a92uuGwdr+OTXbC4bF2w5R1dsaWfnbIiW12yol2ds3hsnbS4bR21uGzdteTkHbbkLd23J9Ydt7htXbflr924eG2duOKxHbklNV25eG3dufhuHbq4bl27pbadvKW03b0krx2+JGKdvvhu3b+j4J3AY/IdwThvncH4b13COG8dwmU+3cLisV3DIyndxvhxHce4cF3H5BedyCWsHck4cB3JeHCdybhw3cp4b93N+HFdzjhxnc6kq13PIrhd0CShXdH4cd3WuHId1vhy3dhkId3Y5PCd2XhzHdmlnJ3aOHJd2vhynd54c93fuHOd3/hzXeL4dF3juHQd5Hh0nee4dR3oOHTd6WVy3esj3V3rZfEd7Dh1Xezk7V3tuHWd7nh13e74dt3vOHZd73h2ne/4dh3x+Hcd83h3XfX4d532uHfd9uWtXfc4eB34pbud+Ph4Xflkm1355SKd+mL6Xftklp37uHid++LuHfzkM53/OHjeAKNu3gM4eR4EuHleBSMpHgVjdN4IOHneCWTdXgmjdR4J4tteDKWQ3g0lGp4OpN2eD+Ne3hF4el4XY/JeGuXsHhsjWR4b4yleHKUoXh04et4fOHteIGM6XiG4ex4h5L0eIzh73iNilZ4juHqeJGU6HiTiU94lY3qeJeYcXia4e54o+HweKeVyXipkNd4quHyeK/h83i14fF4uopteLzh+Xi+4fh4wY6leMXh+njG4fV4yuH7eMvh9njQlNZ40eH0eNTh93ja4kF45+JAeOiWgXjs4fx474jpePTiQ3j94kJ5AY/KeQfiRHkOkWJ5EeJGeRLiRXkZ4kd5JuHmeSrh6Hkr4kl5LOJIeTqOpnk8l+d5Po7QeUDiSnlBjFZ5R4tfeUiLRnlJjoN5UJdTeVPiUHlV4k95VpFjeVfiTHla4k55XY9qeV6QX3lf4k15YOJLeWKUSXllj8t5aJVbeW2N1Xl3k5h5euJReX/iUnmA4mh5gYvWeYSYXHmFkVR5iuJTeY2J0HmOkvV5j5WfeZ3iVHmmi5p5p+JVeariV3mu4lh5sJRIebPiWXm54lp5uuJbeb2L13m+idF5v5PDecCPR3nBjoR5yeJcecuPSHnRich50pViedXiXXnYlOl535FkeeHiYHnj4mF55JSJeeaQYHnn4l556ZKBeeziX3nwj8x5+4jaegCLSHoI4mJ6C5L2eg3iY3oOkMV6FJareheVQnoY4mR6GeJlehqSdHocl8V6H+JneiDiZnouju16MeJpejKI7no34mx6O+JqejyJ0no9jG16PuJrej+NZXpAjZJ6QpXkekPibXpGlnN6SeJvek2Qz3pOiW56T4m4elCIqnpX4m56YeJwemLicXpjj/V6aeJyemuKbnpw4nR6dIyKenaLhnp54nV6eovzen3idnp/kPp6gZPLeoOQ3nqEjfN6iOJ3epKSgnqTkYt6leJ5epbie3qX4nh6mOJ6ep+MQXqp4nx6qoxFeq6Lh3qvl3F6sOJ+erbigHq6iU16v+KDesOKlnrE4oJ6xeKBesfihXrI4n16yuKGesuXp3rN4od6z+KIetKa8nrT4op61eKJetnii3ra4ox63Jezet3ijXrf6O164I/NeuHijnri4o964492euWTtnrm4pB66pJHeu3ikXrvklt68OKSevaLo3r4mV56+ZJ8evqOsXr/isZ7AuKTewTioHsG4pZ7CIuIewrilXsL4qJ7D+KUexGPznsY4ph7GeKZexuTSnse4pp7IIp9eyWQeXsmlYR7KOKceyyR5nsz4pd7NeKbezbinXs5jfl7ReKke0aVTXtIlKR7SZOZe0uL2HtM4qN7TeKhe0+Us3tQ4p57UZJ9e1KTm3tUk5p7Vo30e13itntl4qZ7Z+Koe2ziq3tu4qx7cOKpe3Hiqnt04qd7deKle3rin3uGlc17h4nTe4vis3uN4rB7j+K1e5LitHuUlJN7lZale5eOWnuY4q57meK3e5risnuc4rF7neKte5/ir3uhisd7qpJce62Q+3uxlKB7tOK8e7iUonvAkN97weK5e8SUzXvG4r17x5XRe8mSenvL4rh7zOK6e8/iu3vd4r574I7Ce+STxHvl4sN75uLCe+niv3vtmFV78+LIe/bizHv34sl8AOLFfAfixnwN4st8EeLAfBKZ03wT4sd8FOLBfBfiynwf4tB8IYrIfCPizXwn4s58KuLPfCvi0nw34tF8OJT0fD3i03w+l/p8P5XrfEDi2HxD4tV8TOLUfE2Q0HxP4td8UOLZfFTi1nxW4t18WOLafF/i23xg4sR8ZOLcfGXi3nxs4t98c5XEfHXi4Hx+luB8gYvMfIKMSHyD4uF8iZWyfIuQiHyNlq58kOLifJKXsXyVlJR8l5FlfJiUU3ybj2x8n4i+fKHi53yi4uV8pOLjfKWKn3ynj898qOLofKvi5nyt4uR8ruLsfLHi63yy4up8s+LpfLni7Xy94u58vpC4fMDi73zC4vF8xeLwfMqM0HzOkVd80uLzfNaTnHzY4vJ83OL0fN6Vs3zfkYx84I1mfOLi9Xznl8Z87+L3fPLi+Hz04vl89uL6fPiOhXz64vt8+4xufP6Lin0Ai0l9AuNAfQSW8X0FjWd9BuL8fQrjQ30LluR9DZRbfRCVUn0Uj4N9FeNCfReO0X0YjWh9GY6GfRqLiX0blbR9HONBfSCRZn0hlmF9Io31fSuOh30sktt9LuNGfS+X3X0wjdd9MuNHfTOQYX0140l9OY/QfTqNrn0/40h9Qo9JfUOMvH1EkWd9ReNEfUbjSn1L40V9TIxvfU7jTX1P41F9UIyLfVbjTH1b41V9Xo1pfWGXjX1iiLp9Y+NSfWaLi31o4099buNQfXGTnX1y4059c+NLfXWKR312kOJ9eYymfX3jV32J41R9j+NWfZPjU32ZjHB9mpGxfZvjWH2ckY59n+NlfaLjYX2j41t9q+NffayO+H2tiNt9ruNafa/jYn2w42Z9sY1qfbKW1H20ktR9teNcfbjjZH2641l9u5Jdfb3jXn2+iLt9v5bIfcfjXX3Ki9l9y5Tqfc+RjX3Rl8590o+PfdXjjn3Y42d92pD8fdzjY33d42h93uNqfeCS933h42195ONpfeiV0n3pisl97JbJfe+I3H3y42x99Jf7ffvja34BiY9+BJPqfgXjbn4J43V+CuNvfgvjdn4S43J+G5Sbfh6OyH4f43R+IeNxfiLjd34j43B+Jo9jfiuWRH4uj2t+MeNzfjLjgH4143t+N+N+fjnjfH4644F+O+N6fj3jYH4+kNF+QZTJfkPjfX5G43h+SpFAfkuMcX5Nj0p+VJBEflWRVX5W44R+WeOGflrjh35d44N+XuOFfmbjeX5n44J+aeOKfmrjiX5tlpp+cIxKfnnjiH5744x+fOOLfn3jj35/45F+go5bfoPjjX6I45J+ieOTfozjlH6O45p+j5NafpDjln6S45V+k+OXfpTjmH6W45l+m+ObfpzjnH82isp/OOOdfzrjnn9F459/TOOgf03joX9O46J/UOOjf1HjpH9U46Z/VeOlf1jjp39f46h/YOOpf2fjrH9o46p/aeOrf2qN339rjHJ/bpJ1f3CUsX9yj5B/dZRsf3eU6394461/eZzrf4Ljrn+D47B/hZeFf4bjr3+H47J/iOOxf4qXcn+M47N/jpT8f5TjtH+a47d/neO2f57jtX+j47h/pIxRf6iRQX+pi2B/ruO8f6/juX+y47p/tuO9f7jjvn+547t/vYlIf8GJpX/F48B/xuPBf8rjwn/Ml4J/0o9Lf9TjxH/V48N/4JCJf+HjxX/m48Z/6ePHf+uK43/wist/8+PIf/njyX/7lnx//JeDgACXc4ABmFaAA41sgATjzIAFjtKABuPLgAvjzYAMjqeAEJHPgBLjzoAVjWuAF5bVgBjjz4AZ49CAHOPRgCHj0oAo49OAM46ogDaW64A749WAPZJegD/j1IBG49eASuPWgFLj2IBWkLmAWOPZgFrj2oBelbeAX+PbgGGRj4Bi49yAaOPdgG+X/IBw4+CAcuPfgHPj3oB0kq6AduPhgHeQRYB54+KAfePjgH6YV4B/4+SAhOPlgIXj54CG4+aAh5SjgImT94CLmF2AjJSngJPj6YCWj9GAmJVJgJrj6oCb4+iAnYrMgKGM0oCijoiApZTsgKmMqICqlmKArOPtgK3j64CvjW2AsY1ugLKI54C0jeaAupR4gMOI3YDE4/KAxpJfgMyUd4DOkdmA1uP0gNnj8IDa4/OA2+PugN3j8YDelkWA4YzTgOSI+4Dl4++A7+P2gPHj94D0k7eA+Iu5gPzkRYD9lFyBAo6JgQWLuoEGkMaBB5hlgQiWrIEJ4/WBCpDSgRqLcoEb4/iBI+P6gSnj+YEv4/uBMZJFgTOUXYE5kq+BPuRCgUbkQYFL4/yBTpB0gVCVhYFR5ESBU+RDgVSNb4FVmHKBX+RUgWXkSIFm5EmBa47ugW7kR4FwjZiBceRGgXTkSoF4krCBeZWggXqRQoF/kdqBgOROgYLkT4GD5EuBiORMgYrkTYGPjXCBk+RVgZXkUYGalYaBnJaMgZ2VR4Gg5FCBo+RTgaTkUoGolmOBqeRWgbDkV4GzkVaBteRYgbjkWoG65F6BveRbgb7kWYG/lF6BwORcgcLkXYHGibCByORkgcnkX4HN5GCB0eRhgdORn4HY5GOB2eRigdrkZYHf5GaB4ORngeOQYoHlieeB5+RogeiX1YHqjqmB7Y9MgfOOioH0knaB+uRpgfvkaoH8iVCB/uRrggHkbIIC5G2CBeRuggfkb4IIi7uCCZ2oggrkcIIMkOOCDeRxgg6OyYIQ5HKCEpiughbkc4IXldyCGIraghuRQ4Icj3eCHpWRgh+PTYIp5HSCKo1xgivkdYIslMqCLuSEgjPkd4I1kceCNpSVgjeMvYI45HaCOZFEgkDkeIJHkviCWOR6glnkeYJa5HyCXeR7gl/kfYJi5ICCZOR+gmaKzYJo5IGCauSCgmvkg4Juja+Cb5fHgnHkhYJykEaCdomQgnfkhoJ45IeCfuSIgouI8IKN5ImCkuSKgpmVh4KdjsWCn+SMgqWKSIKmiLCCq+SLgqzkjoKtlG2Cr5BjgrGJ1IKzlkaCuIx8grmL2oK75I2CvYnogsWKoYLRiZGC0uSSgtOX6ILUkduC15VjgtnknoLbidWC3OScgt7kmoLf5JGC4eSPguPkkILljuGC5ovqgueSl4Lrk8+C8YlwgvPklIL05JOC+eSZgvrklYL75JiDApbOgwPkl4MEidaDBYqdgwbkm4MJ5J2DDoxzgxbkoYMX5KqDGOSrgxyIqYMj5LKDKIjvgyvkqYMv5KiDMeSjgzLkooM05KCDNeSfgzaSg4M4kfmDOeSlg0DkpINF5KeDSZGQg0qMdINPiWCDUOSmg1KNcoNYkZGDc+S4g3XkuYN3ideDe4msg3zktoOF5KyDh+S0g4nku4OK5LWDjuSzg5PkloOW5LGDmuStg56KzoOf5K+DoOS6g6LksIOo5LyDquSug6uUnIOxl4mDteS3g73kzYPB5MWDxZCbg8qLZYPMi9uDzuTAg9OJ2YPWj9KD2OTDg9yN2IPfk3CD4OTIg+mV7IPr5L+D74nYg/CM1IPxlUiD8uTJg/TkvYP35MaD++TQg/3kwYQD5MKEBJO4hAfkx4QL5MSEDJZHhA3kyoQOiN6EE+S+hCDkzIQi5MuEKZSLhCrk0oQs5N2EMYqehDXk4IQ45M6EPOTThD2XjoRG5NyESZd0hE6XqIRXkpiEW4qLhGGVkoRi5OKEY5OfhGaIr4Rp5NuEa+TXhGyRkoRt5NGEbuTZhG/k3oRxlEuEdYiohHfk1oR55N+EepWYhILk2oSE5NWEi4/ThJCPToSUjqqEmZbWhJyVZoSf5OWEoeTuhK3k2ISyipeEuI/2hLnk44S75OiEvJGThL/k5ITB5OuExJJ+hMbk7ITJl3WEyuThhMuKV4TN5OeE0OTqhNGWqoTW5O2E2eTmhNrk6YTslkiE7phAhPTk8YT85PiE/+TwhQCOwYUG5M+FEZXMhROWoIUU5PeFFeT2hRfk8oUY5POFGolVhR/k9YUh5O+FJpLThSzk9IUtiPyFNZGghT2VwYVA5PmFQeVAhUOU14VI5PyFSY/UhUqOx4VL5UKFTou8hVXlQ4VXlZmFWOT7hVrk1IVj5PqFaJhuhWmToIVqlZOFbeVKhXflUIV+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 qe={shape:_.square,qrOptions:{typeNumber:m[0],mode:void 0,errorCorrectionLevel:f.Q},imageOptions:{mode:F.center,imageSize:.4,crossOrigin:void 0,margin:0},cornersSquareOptions:{type:X.rounded,color:"#000000"},cornersDotOptions:{type:G.dot,color:"#000000"},dotsOptions:{type:L.verticalLine,color:"#000000",size:10},backgroundOptions:{color:"#FFFFFF"},borderOptions:{decorations:{}}},xe={...qe,shape:_.square,cornersSquareOptions:{type:X.square},cornersDotOptions:{type:G.square},dotsOptions:{type:L.square}},We={...qe,shape:_.square,cornersSquareOptions:{type:X.rounded},cornersDotOptions:{type:G.rounded},dotsOptions:{type:L.verticalLine,size:10}},Ze={...qe,dotsOptions:{...qe.dotsOptions,type:L.rounded},cornersSquareOptions:{type:X.dot},cornersDotOptions:{type:G.dot}},Re={...qe,dotsOptions:{...qe.dotsOptions,type:L.dot},cornersSquareOptions:{type:X.dot},cornersDotOptions:{type:G.dot}},Ve={...qe,dotsOptions:{...qe.dotsOptions,type:L.classy},cornersSquareOptions:{type:X.classy},cornersDotOptions:{type:G.classy}},Ee={...qe,dotsOptions:{...qe.dotsOptions,type:L.extraRounded},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.square},cornersDotOptions:{...qe.cornersDotOptions,type:G.square}},je={...qe,dotsOptions:{...qe.dotsOptions,type:L.verticalLine},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.classy},cornersDotOptions:{...qe.cornersDotOptions,type:G.classy}},Me={...qe,dotsOptions:{...qe.dotsOptions,type:L.horizontalLine},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.rounded},cornersDotOptions:{...qe.cornersDotOptions,type:G.rounded}},Be={...qe,dotsOptions:{...qe.dotsOptions,type:L.classyRounded},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.outpoint},cornersDotOptions:{...qe.cornersDotOptions,type:G.outpoint}},Je={...qe,dotsOptions:{...qe.dotsOptions,type:L.smallSquare},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.inpoint},cornersDotOptions:{...qe.cornersDotOptions,type:G.inpoint}},Ye={...qe,dotsOptions:{...qe.dotsOptions,type:L.tinySquare},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.square},cornersDotOptions:{...qe.cornersDotOptions,type:G.heart}},Pe={...qe,dotsOptions:{...qe.dotsOptions,type:L.star},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.classy},cornersDotOptions:{...qe.cornersDotOptions,type:G.classy}},Le={...qe,dotsOptions:{...qe.dotsOptions,type:L.plus},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.rounded},cornersDotOptions:{...qe.cornersDotOptions,type:G.rounded}},Ge={...qe,dotsOptions:{...qe.dotsOptions,type:L.diamond},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.square},cornersDotOptions:{...qe.cornersDotOptions,type:G.square}},Xe={...qe,dotsOptions:{...qe.dotsOptions,type:L.randomDot},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.dot},cornersDotOptions:{...qe.cornersDotOptions,type:G.dot}},_e={...qe,dotsOptions:{...qe.dotsOptions,type:L.dot},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.outpoint},cornersDotOptions:{...qe.cornersDotOptions,type:G.outpoint}},Fe={...qe,dotsOptions:{...qe.dotsOptions,type:L.dot},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.inpoint},cornersDotOptions:{...qe.cornersDotOptions,type:G.inpoint}},Ne={...qe,dotsOptions:{...qe.dotsOptions,type:L.rounded},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.outpoint},cornersDotOptions:{...qe.cornersDotOptions,type:G.outpoint}},ze={...qe,dotsOptions:{...qe.dotsOptions,type:L.rounded},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.inpoint},cornersDotOptions:{...qe.cornersDotOptions,type:G.inpoint}},Ue={...qe,dotsOptions:{...qe.dotsOptions,type:L.classy},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.outpoint},cornersDotOptions:{...qe.cornersDotOptions,type:G.outpoint}},Ke={...qe,dotsOptions:{...qe.dotsOptions,type:L.classy},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.inpoint},cornersDotOptions:{...qe.cornersDotOptions,type:G.inpoint}},He={...qe,dotsOptions:{...qe.dotsOptions,type:L.square},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.outpoint},cornersDotOptions:{...qe.cornersDotOptions,type:G.outpoint}},Qe={...qe,dotsOptions:{...qe.dotsOptions,type:L.square},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.inpoint},cornersDotOptions:{...qe.cornersDotOptions,type:G.inpoint}},$e={...qe,shape:_.circle,dotsOptions:{...qe.dotsOptions,type:L.rounded},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.rounded},cornersDotOptions:{...qe.cornersDotOptions,type:G.rounded}},et={...qe,dotsOptions:{...qe.dotsOptions,type:L.dot},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.square},cornersDotOptions:{...qe.cornersDotOptions,type:G.square}},tt={...qe,dotsOptions:{...qe.dotsOptions,type:L.dot},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.rounded},cornersDotOptions:{...qe.cornersDotOptions,type:G.rounded}},ot={...qe,dotsOptions:{...qe.dotsOptions,type:L.dot},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.classy},cornersDotOptions:{...qe.cornersDotOptions,type:G.classy}},rt={...qe,dotsOptions:{...qe.dotsOptions,type:L.rounded},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.square},cornersDotOptions:{...qe.cornersDotOptions,type:G.square}},nt={...qe,dotsOptions:{...qe.dotsOptions,type:L.rounded},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.classy},cornersDotOptions:{...qe.cornersDotOptions,type:G.classy}},it={...qe,dotsOptions:{...qe.dotsOptions,type:L.classy},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.square},cornersDotOptions:{...qe.cornersDotOptions,type:G.square}},st={...qe,dotsOptions:{...qe.dotsOptions,type:L.classy},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.rounded},cornersDotOptions:{...qe.cornersDotOptions,type:G.rounded}},at={...qe,dotsOptions:{...qe.dotsOptions,type:L.square},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.dot},cornersDotOptions:{...qe.cornersDotOptions,type:G.dot}},lt={...qe,dotsOptions:{...qe.dotsOptions,type:L.square},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.rounded},cornersDotOptions:{...qe.cornersDotOptions,type:G.rounded}},dt={...qe,dotsOptions:{...qe.dotsOptions,type:L.square},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.classy},cornersDotOptions:{...qe.cornersDotOptions,type:G.classy}},ct={...qe,dotsOptions:{...qe.dotsOptions,type:L.extraRounded},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.dot},cornersDotOptions:{...qe.cornersDotOptions,type:G.dot}},ut={...qe,dotsOptions:{...qe.dotsOptions,type:L.extraRounded},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.classy},cornersDotOptions:{...qe.cornersDotOptions,type:G.classy}},ht={...qe,dotsOptions:{...qe.dotsOptions,type:L.classyRounded},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.dot},cornersDotOptions:{...qe.cornersDotOptions,type:G.dot}},pt={...qe,dotsOptions:{...qe.dotsOptions,type:L.classyRounded},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.square},cornersDotOptions:{...qe.cornersDotOptions,type:G.square}},mt={...qe,dotsOptions:{...qe.dotsOptions,type:L.verticalLine},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.square},cornersDotOptions:{...qe.cornersDotOptions,type:G.square}},ft={...qe,dotsOptions:{...qe.dotsOptions,type:L.horizontalLine},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.square},cornersDotOptions:{...qe.cornersDotOptions,type:G.square}},gt={...qe,dotsOptions:{...qe.dotsOptions,type:L.horizontalLine},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.classy},cornersDotOptions:{...qe.cornersDotOptions,type:G.classy}},bt={...qe,dotsOptions:{...qe.dotsOptions,type:L.smallSquare},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.dot},cornersDotOptions:{...qe.cornersDotOptions,type:G.dot}},yt={...qe,dotsOptions:{...qe.dotsOptions,type:L.smallSquare},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.rounded},cornersDotOptions:{...qe.cornersDotOptions,type:G.rounded}},Ot={...qe,dotsOptions:{...qe.dotsOptions,type:L.tinySquare},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.dot},cornersDotOptions:{...qe.cornersDotOptions,type:G.dot}},St={...qe,dotsOptions:{...qe.dotsOptions,type:L.tinySquare},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.square},cornersDotOptions:{...qe.cornersDotOptions,type:G.square}},Ct={...qe,dotsOptions:{...qe.dotsOptions,type:L.star},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.dot},cornersDotOptions:{...qe.cornersDotOptions,type:G.dot}},wt={...qe,dotsOptions:{...qe.dotsOptions,type:L.star},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.square},cornersDotOptions:{...qe.cornersDotOptions,type:G.square}},kt={...qe,dotsOptions:{...qe.dotsOptions,type:L.plus},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.dot},cornersDotOptions:{...qe.cornersDotOptions,type:G.dot}},vt={...qe,dotsOptions:{...qe.dotsOptions,type:L.plus},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.square},cornersDotOptions:{...qe.cornersDotOptions,type:G.square}},At={...qe,dotsOptions:{...qe.dotsOptions,type:L.diamond},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.dot},cornersDotOptions:{...qe.cornersDotOptions,type:G.dot}},Tt={...qe,dotsOptions:{...qe.dotsOptions,type:L.diamond},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.classy},cornersDotOptions:{...qe.cornersDotOptions,type:G.classy}},It={...qe,dotsOptions:{...qe.dotsOptions,type:L.randomDot},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.square},cornersDotOptions:{...qe.cornersDotOptions,type:G.square}},Dt={...qe,dotsOptions:{...qe.dotsOptions,type:L.randomDot},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.classy},cornersDotOptions:{...qe.cornersDotOptions,type:G.classy}},qt={...qe,dotsOptions:{...qe.dotsOptions,type:L.dot},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.square},cornersDotOptions:{...qe.cornersDotOptions,type:G.dot}},xt={...qe,dotsOptions:{...qe.dotsOptions,type:L.dot},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.dot},cornersDotOptions:{...qe.cornersDotOptions,type:G.square}},Wt={...qe,dotsOptions:{...qe.dotsOptions,type:L.rounded},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.square},cornersDotOptions:{...qe.cornersDotOptions,type:G.dot}},Zt={...qe,dotsOptions:{...qe.dotsOptions,type:L.rounded},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.outpoint},cornersDotOptions:{...qe.cornersDotOptions,type:G.rounded}},Rt={...qe,dotsOptions:{...qe.dotsOptions,type:L.classy},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.square},cornersDotOptions:{...qe.cornersDotOptions,type:G.dot}},Vt={...qe,dotsOptions:{...qe.dotsOptions,type:L.classy},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.dot},cornersDotOptions:{...qe.cornersDotOptions,type:G.square}},Et={...qe,dotsOptions:{...qe.dotsOptions,type:L.square},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.rounded},cornersDotOptions:{...qe.cornersDotOptions,type:G.dot}},jt={...qe,dotsOptions:{...qe.dotsOptions,type:L.square},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.dot},cornersDotOptions:{...qe.cornersDotOptions,type:G.rounded}},Mt={...qe,dotsOptions:{...qe.dotsOptions,type:L.dot},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.classy},cornersDotOptions:{...qe.cornersDotOptions,type:G.dot}},Bt={...qe,dotsOptions:{...qe.dotsOptions,type:L.dot},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.dot},cornersDotOptions:{...qe.cornersDotOptions,type:G.classy}},Jt={...xe,shape:_.circle},Yt={...qe,shape:_.circle},Pt={...Ze,shape:_.circle},Lt={...Re,shape:_.circle},Gt={...Ve,shape:_.circle},Xt={...Ee,shape:_.circle},_t={...je,shape:_.circle},Ft={...Me,shape:_.circle},Nt={...Be,shape:_.circle},zt={...Je,shape:_.circle},Ut={...Ye,shape:_.circle},Kt={...Pe,shape:_.circle},Ht={...Le,shape:_.circle},Qt={...Ge,shape:_.circle},$t={...Xe,shape:_.circle},eo={..._e,shape:_.circle},to={...Fe,shape:_.circle},oo={...Ne,shape:_.circle},ro={...ze,shape:_.circle},no={...Ue,shape:_.circle},io={...Ke,shape:_.circle},so={...He,shape:_.circle},ao={...Qe,shape:_.circle},lo={...et,shape:_.circle},co={...tt,shape:_.circle},uo={...ot,shape:_.circle},ho={...rt,shape:_.circle},po={...nt,shape:_.circle},mo={...it,shape:_.circle},fo={...st,shape:_.circle},go={...at,shape:_.circle},bo={...lt,shape:_.circle},yo={...dt,shape:_.circle},Oo={...ct,shape:_.circle},So={...ut,shape:_.circle},Co={...ht,shape:_.circle},wo={...pt,shape:_.circle},ko={...mt,shape:_.circle},vo={...ft,shape:_.circle},Ao={...gt,shape:_.circle},To={...bt,shape:_.circle},Io={...yt,shape:_.circle},Do={...Ot,shape:_.circle},qo={...St,shape:_.circle},xo={...Ct,shape:_.circle},Wo={...wt,shape:_.circle},Zo={...kt,shape:_.circle},Ro={...vt,shape:_.circle},Vo={...At,shape:_.circle},Eo={...Tt,shape:_.circle},jo={...It,shape:_.circle},Mo={...Dt,shape:_.circle},Bo={...qt,shape:_.circle},Jo={...xt,shape:_.circle},Yo={...Wt,shape:_.circle},Po={...Zt,shape:_.circle},Lo={...Rt,shape:_.circle},Go={...Vt,shape:_.circle},Xo={...Et,shape:_.circle},_o={...jt,shape:_.circle},Fo={...Mt,shape:_.circle},No={...Bt,shape:_.circle},zo=[{id:"base",name:"Default",options:qe},{id:"plain",name:"Square Plain",options:xe},{id:"plain-circle",name:"Square Plain (Circle)",options:Jt},{id:"base-line-rounded",name:"Lines Rounded",options:We},{id:"rounded",name:"Rounded",options:Ze},{id:"dots",name:"Dots",options:Re},{id:"classy",name:"Classy",options:Ve},{id:"extra-rounded-dots-square-corners",name:"Extra Rounded Dots Square Corners",options:Ee},{id:"vertical-line-dots-classy-corners",name:"Vertical Lines Classy Corners",options:je},{id:"horizontal-line-dots-rounded-corners",name:"Horizontal Lines Rounded Corners",options:Me},{id:"classy-rounded-dots-outpoint-corners",name:"Classy Rounded Dots Outpoint Corners",options:Be},{id:"small-square-dots-inpoint-corners",name:"Small Square Dots Inpoint Corners",options:Je},{id:"tiny-square-dots-square-corners-heart-corners",name:"Tiny Square Dots Heart Corners",options:Ye},{id:"star-dots-classy-corners",name:"Star Dots Classy Corners",options:Pe},{id:"plus-dots-rounded-corners",name:"Plus Dots Rounded Corners",options:Le},{id:"diamond-dots-square-corners",name:"Diamond Dots Square Corners",options:Ge},{id:"random-dot-dots-dot-corners",name:"Random Dots",options:Xe},{id:"dot-dots-outpoint-corners",name:"Dots Outpoint Corners",options:_e},{id:"dot-dots-inpoint-corners",name:"Dots Inpoint Corners",options:Fe},{id:"rounded-dots-outpoint-corners",name:"Rounded Dots Outpoint Corners",options:Ne},{id:"rounded-dots-inpoint-corners",name:"Rounded Dots Inpoint Corners",options:ze},{id:"classy-dots-outpoint-corners",name:"Classy Dots Outpoint Corners",options:Ue},{id:"classy-dots-inpoint-corners",name:"Classy Dots Inpoint Corners",options:Ke},{id:"square-dots-outpoint-corners",name:"Square Dots Outpoint Corners",options:He},{id:"square-dots-inpoint-corners",name:"Square Dots Inpoint Corners",options:Qe},{id:"dot-dots-square-corners",name:"Dots Square Corners",options:et},{id:"dot-dots-rounded-corners",name:"Dots Rounded Corners",options:tt},{id:"dot-dots-classy-corners",name:"Dots Classy Corners",options:ot},{id:"rounded-dots-square-corners",name:"Rounded Dots Square Corners",options:rt},{id:"rounded-dots-classy-corners",name:"Rounded Dots Classy Corners",options:nt},{id:"classy-dots-square-corners",name:"Classy Dots Square Corners",options:it},{id:"classy-dots-rounded-corners",name:"Classy Dots Rounded Corners",options:st},{id:"square-dots-dot-corners",name:"Square Dots Dot Corners",options:at},{id:"square-dots-rounded-corners",name:"Square Dots Rounded Corners",options:lt},{id:"square-dots-classy-corners",name:"Square Dots Classy Corners",options:dt},{id:"extra-rounded-dots-dot-corners",name:"Extra Rounded Dots Dot Corners",options:ct},{id:"extra-rounded-dots-classy-corners",name:"Extra Rounded Dots Classy Corners",options:ut},{id:"classy-rounded-dots-dot-corners",name:"Classy Rounded Dots Dot Corners",options:ht},{id:"classy-rounded-dots-square-corners",name:"Classy Rounded Dots Square Corners",options:pt},{id:"vertical-line-dots-square-corners",name:"Vertical Lines Square Corners",options:mt},{id:"horizontal-line-dots-square-corners",name:"Horizontal Lines Square Corners",options:ft},{id:"horizontal-line-dots-classy-corners",name:"Horizontal Lines Classy Corners",options:gt},{id:"small-square-dots-dot-corners",name:"Small Square Dots Dot Corners",options:bt},{id:"small-square-dots-rounded-corners",name:"Small Square Dots Rounded Corners",options:yt},{id:"tiny-square-dots-dot-corners",name:"Tiny Square Dots Dot Corners",options:Ot},{id:"tiny-square-dots-square-corners",name:"Tiny Square Dots Square Corners",options:St},{id:"star-dots-dot-corners",name:"Star Dots Dot Corners",options:Ct},{id:"star-dots-square-corners",name:"Star Dots Square Corners",options:wt},{id:"plus-dots-dot-corners",name:"Plus Dots Dot Corners",options:kt},{id:"plus-dots-square-corners",name:"Plus Dots Square Corners",options:vt},{id:"diamond-dots-dot-corners",name:"Diamond Dots Dot Corners",options:At},{id:"diamond-dots-classy-corners",name:"Diamond Dots Classy Corners",options:Tt},{id:"random-dot-dots-square-corners",name:"Random Dots Square Corners",options:It},{id:"random-dot-dots-classy-corners",name:"Random Dots Classy Corners",options:Dt},{id:"dot-dots-square-corners-dot-corners",name:"Dots Square/Dot Corners",options:qt},{id:"dot-dots-dot-corners-square-corners",name:"Dots Dot/Square Corners",options:xt},{id:"rounded-dots-square-corners-dot-corners",name:"Rounded Dots Square/Dot Corners",options:Wt},{id:"rounded-dots-dot-corners-square-corners",name:"Rounded Dots Dot/Square Corners",options:Zt},{id:"classy-dots-square-corners-dot-corners",name:"Classy Dots Square/Dot Corners",options:Rt},{id:"classy-dots-dot-corners-square-corners",name:"Classy Dots Dot/Square Corners",options:Vt},{id:"square-dots-rounded-corners-dot-corners",name:"Square Dots Rounded/Dot Corners",options:Et},{id:"square-dots-dot-corners-rounded-corners",name:"Square Dots Dot/Rounded Corners",options:jt},{id:"dot-dots-classy-corners-dot-corners",name:"Dots Classy/Dot Corners",options:Mt},{id:"dot-dots-dot-corners-classy-corners",name:"Dots Dot/Classy Corners",options:Bt},{id:"circle-shape-dot-dots-square-corners",name:"Circle Dots Square Corners",options:lo},{id:"circle-shape-rounded-dots-rounded-corners",name:"Circle Rounded",options:$e},{id:"circle-shape-square-dots-square-corners",name:"Circle Square Plain",options:Jt},{id:"circle-shape-vertical-line-dots-rounded-corners",name:"Circle Lines Rounded",options:Yt},{id:"circle-shape-rounded-dots-dot-corners",name:"Circle Rounded Dots",options:Pt},{id:"circle-shape-dot-dots-dot-corners",name:"Circle Dots",options:Lt},{id:"circle-shape-classy-dots-classy-corners",name:"Circle Classy",options:Gt},{id:"circle-shape-extra-rounded-dots-square-corners",name:"Circle Extra Rounded Dots Square Corners",options:Xt},{id:"circle-shape-vertical-line-dots-classy-corners",name:"Circle Vertical Lines Classy Corners",options:_t},{id:"circle-shape-horizontal-line-dots-rounded-corners",name:"Circle Horizontal Lines Rounded Corners",options:Ft},{id:"circle-shape-classy-rounded-dots-outpoint-corners",name:"Circle Classy Rounded Dots Outpoint Corners",options:Nt},{id:"circle-shape-small-square-dots-inpoint-corners",name:"Circle Small Square Dots Inpoint Corners",options:zt},{id:"circle-shape-tiny-square-dots-square-corners-heart-corners",name:"Circle Tiny Square Dots Heart Corners",options:Ut},{id:"circle-shape-star-dots-classy-corners",name:"Circle Star Dots Classy Corners",options:Kt},{id:"circle-shape-plus-dots-rounded-corners",name:"Circle Plus Dots Rounded Corners",options:Ht},{id:"circle-shape-diamond-dots-square-corners",name:"Circle Diamond Dots Square Corners",options:Qt},{id:"circle-shape-random-dot-dots-dot-corners",name:"Circle Random Dots",options:$t},{id:"circle-shape-dot-dots-outpoint-corners",name:"Circle Dots Outpoint Corners",options:eo},{id:"circle-shape-dot-dots-inpoint-corners",name:"Circle Dots Inpoint Corners",options:to},{id:"circle-shape-rounded-dots-outpoint-corners",name:"Circle Rounded Dots Outpoint Corners",options:oo},{id:"circle-shape-rounded-dots-inpoint-corners",name:"Circle Rounded Dots Inpoint Corners",options:ro},{id:"circle-shape-classy-dots-outpoint-corners",name:"Circle Classy Dots Outpoint Corners",options:no},{id:"circle-shape-classy-dots-inpoint-corners",name:"Circle Classy Dots Inpoint Corners",options:io},{id:"circle-shape-square-dots-outpoint-corners",name:"Circle Square Dots Outpoint Corners",options:so},{id:"circle-shape-square-dots-inpoint-corners",name:"Circle Square Dots Inpoint Corners",options:ao},{id:"circle-shape-dot-dots-rounded-corners",name:"Circle Dots Rounded Corners",options:co},{id:"circle-shape-dot-dots-classy-corners",name:"Circle Dots Classy Corners",options:uo},{id:"circle-shape-rounded-dots-square-corners",name:"Circle Rounded Dots Square Corners",options:ho},{id:"circle-shape-rounded-dots-classy-corners",name:"Circle Rounded Dots Classy Corners",options:po},{id:"circle-shape-classy-dots-square-corners",name:"Circle Classy Dots Square Corners",options:mo},{id:"circle-shape-classy-dots-rounded-corners",name:"Circle Classy Dots Rounded Corners",options:fo},{id:"circle-shape-square-dots-dot-corners",name:"Circle Square Dots Dot Corners",options:go},{id:"circle-shape-square-dots-rounded-corners",name:"Circle Square Dots Rounded Corners",options:bo},{id:"circle-shape-square-dots-classy-corners",name:"Circle Square Dots Classy Corners",options:yo},{id:"circle-shape-extra-rounded-dots-dot-corners",name:"Circle Extra Rounded Dots Dot Corners",options:Oo},{id:"circle-shape-extra-rounded-dots-classy-corners",name:"Circle Extra Rounded Dots Classy Corners",options:So},{id:"circle-shape-classy-rounded-dots-dot-corners",name:"Circle Classy Rounded Dots Dot Corners",options:Co},{id:"circle-shape-classy-rounded-dots-square-corners",name:"Circle Classy Rounded Dots Square Corners",options:wo},{id:"circle-shape-vertical-line-dots-square-corners",name:"Circle Vertical Lines Square Corners",options:ko},{id:"circle-shape-horizontal-line-dots-square-corners",name:"Circle Horizontal Lines Square Corners",options:vo},{id:"circle-shape-horizontal-line-dots-classy-corners",name:"Circle Horizontal Lines Classy Corners",options:Ao},{id:"circle-shape-small-square-dots-dot-corners",name:"Circle Small Square Dots Dot Corners",options:To},{id:"circle-shape-small-square-dots-rounded-corners",name:"Circle Small Square Dots Rounded Corners",options:Io},{id:"circle-shape-tiny-square-dots-dot-corners",name:"Circle Tiny Square Dots Dot Corners",options:Do},{id:"circle-shape-tiny-square-dots-square-corners",name:"Circle Tiny Square Dots Square Corners",options:qo},{id:"circle-shape-star-dots-dot-corners",name:"Circle Star Dots Dot Corners",options:xo},{id:"circle-shape-star-dots-square-corners",name:"Circle Star Dots Square Corners",options:Wo},{id:"circle-shape-plus-dots-dot-corners",name:"Circle Plus Dots Dot Corners",options:Zo},{id:"circle-shape-plus-dots-square-corners",name:"Circle Plus Dots Square Corners",options:Ro},{id:"circle-shape-diamond-dots-dot-corners",name:"Circle Diamond Dots Dot Corners",options:Vo},{id:"circle-shape-diamond-dots-classy-corners",name:"Circle Diamond Dots Classy Corners",options:Eo},{id:"circle-shape-random-dot-dots-square-corners",name:"Circle Random Dots Square Corners",options:jo},{id:"circle-shape-random-dot-dots-classy-corners",name:"Circle Random Dots Classy Corners",options:Mo},{id:"circle-shape-dot-dots-square-corners-dot-corners",name:"Circle Dots Square/Dot Corners",options:Bo},{id:"circle-shape-dot-dots-dot-corners-square-corners",name:"Circle Dots Dot/Square Corners",options:Jo},{id:"circle-shape-rounded-dots-square-corners-dot-corners",name:"Circle Rounded Dots Square/Dot Corners",options:Yo},{id:"circle-shape-rounded-dots-dot-corners-square-corners",name:"Circle Rounded Dots Dot/Square Corners",options:Po},{id:"circle-shape-classy-dots-square-corners-dot-corners",name:"Circle Classy Dots Square/Dot Corners",options:Lo},{id:"circle-shape-classy-dots-dot-corners-square-corners",name:"Circle Classy Dots Dot/Square Corners",options:Go},{id:"circle-shape-square-dots-rounded-corners-dot-corners",name:"Circle Square Dots Rounded/Dot Corners",options:Xo},{id:"circle-shape-square-dots-dot-corners-rounded-corners",name:"Circle Square Dots Dot/Rounded Corners",options:_o},{id:"circle-shape-dot-dots-classy-corners-dot-corners",name:"Circle Dots Classy/Dot Corners",options:Fo},{id:"circle-shape-dot-dots-dot-corners-classy-corners",name:"Circle Dots Dot/Classy Corners",options:No}];function Uo(e){return zo.find((t=>t.name.toLowerCase()===e.toLowerCase()))}function Ko(e){return zo.find((t=>t.id===e))}Ko("base");const Ho=e=>"number"==typeof e&&!isNaN(e)&&isFinite(e),Qo=(e,t)=>{const o=[];return Object.values(Y).includes(e.type)||o.push({path:`${t}.type`,message:`Invalid gradient type. Must be one of: ${Object.values(Y).join(", ")}`,value:e.type}),void 0===e.rotation||Ho(e.rotation)||o.push({path:`${t}.rotation`,message:"Rotation must be a valid number",value:e.rotation}),!e.colorStops||!Array.isArray(e.colorStops)||e.colorStops.length<2?o.push({path:`${t}.colorStops`,message:"Gradient must have at least 2 color stops",value:e.colorStops}):e.colorStops.forEach(((e,r)=>{(!Ho(e.offset)||e.offset<0||e.offset>1)&&o.push({path:`${t}.colorStops[${r}].offset`,message:"Color stop offset must be between 0 and 1",value:e.offset}),(e=>{if(new Set(["black","white","red","green","blue","yellow","purple","gray","grey","cyan","magenta","lime","pink","teal","brown","orange"]).has(e.toLowerCase()))return!0;if(/^#([A-Fa-f0-9]{3}){1,2}$/.test(e))return!0;if(/^#([A-Fa-f0-9]{4}){1,2}$/.test(e))return!0;if(/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/.test(e)||/^rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([01]?\.?\d*)\)$/.test(e))return(e.match(/\d+/g)?.map(Number)||[]).every((e=>e>=0&&e<=255));return!1})(e.color)||o.push({path:`${t}.colorStops[${r}].color`,message:"Invalid color format",value:e.color})})),o};function $o(e){const t=[];let o={...qe};return e.data&&"string"==typeof e.data||t.push({path:"data",message:"QR data is required and must be a string",value:e.data}),e.shape&&!Object.values(_).includes(e.shape)&&(t.push({path:"shape",message:`Invalid shape type. Must be one of: ${Object.values(_).join(", ")}`,value:e.shape}),e.shape=qe.shape),e.qrOptions&&(e.qrOptions.typeNumber&&!Object.values(m).includes(e.qrOptions.typeNumber)&&(t.push({path:"qrOptions.typeNumber",message:"Invalid type number",value:e.qrOptions.typeNumber}),e.qrOptions.typeNumber=qe.qrOptions?.typeNumber),e.qrOptions.errorCorrectionLevel&&!Object.values(f).includes(e.qrOptions.errorCorrectionLevel)&&(t.push({path:"qrOptions.errorCorrectionLevel",message:"Invalid error correction level",value:e.qrOptions.errorCorrectionLevel}),e.qrOptions.errorCorrectionLevel=qe.qrOptions?.errorCorrectionLevel),e.qrOptions.mode&&!Object.values(g).includes(e.qrOptions.mode)&&(t.push({path:"qrOptions.mode",message:"Invalid mode",value:e.qrOptions.mode}),e.qrOptions.mode=qe.qrOptions?.mode)),e.imageOptions&&(e.imageOptions.imageSize&&(!Ho(e.imageOptions.imageSize)||e.imageOptions.imageSize<=0||e.imageOptions.imageSize>1)&&(t.push({path:"imageOptions.imageSize",message:"Image size must be between 0 and 1",value:e.imageOptions.imageSize}),e.imageOptions.imageSize=qe.imageOptions?.imageSize),e.imageOptions.margin&&(!Ho(e.imageOptions.margin)||e.imageOptions.margin<0)&&(t.push({path:"imageOptions.margin",message:"Margin must be a non-negative number",value:e.imageOptions.margin}),e.imageOptions.margin=qe.imageOptions?.margin),e.imageOptions.mode&&!Object.values(F).includes(e.imageOptions.mode)&&(t.push({path:"imageOptions.mode",message:`Invalid image mode. Must be one of: ${Object.values(F).join(", ")}`,value:e.imageOptions.mode}),e.imageOptions.mode=qe.imageOptions?.mode)),e.dotsOptions&&(e.dotsOptions.type&&!Object.values(L).includes(e.dotsOptions.type)&&(t.push({path:"dotsOptions.type",message:`Invalid dot type. Must be one of: ${Object.values(L).join(", ")}`,value:e.dotsOptions.type}),e.dotsOptions.type=qe.dotsOptions?.type),e.dotsOptions.size&&(!Ho(e.dotsOptions.size)||e.dotsOptions.size<=0)&&(t.push({path:"dotsOptions.size",message:"Dot size must be a positive number",value:e.dotsOptions.size}),e.dotsOptions.size=qe.dotsOptions?.size),e.dotsOptions.gradient&&t.push(...Qo(e.dotsOptions.gradient,"dotsOptions.gradient"))),e.cornersSquareOptions&&(e.cornersSquareOptions.type&&!Object.values(X).includes(e.cornersSquareOptions.type)&&(t.push({path:"cornersSquareOptions.type",message:`Invalid corner square type. Must be one of: ${Object.values(X).join(", ")}`,value:e.cornersSquareOptions.type}),e.cornersSquareOptions.type=qe.cornersSquareOptions?.type),e.cornersSquareOptions.gradient&&t.push(...Qo(e.cornersSquareOptions.gradient,"cornersSquareOptions.gradient"))),e.cornersDotOptions&&(e.cornersDotOptions.type&&!Object.values(G).includes(e.cornersDotOptions.type)&&(t.push({path:"cornersDotOptions.type",message:`Invalid corner dot type. Must be one of: ${Object.values(G).join(", ")}`,value:e.cornersDotOptions.type}),e.cornersDotOptions.type=qe.cornersDotOptions?.type),e.cornersDotOptions.gradient&&t.push(...Qo(e.cornersDotOptions.gradient,"cornersDotOptions.gradient"))),o={...o,...e},{warnings:t,validatedOptions:o}}const er=/\.?0+$/;function tr(e){return e.toFixed(7).replace(er,"")}function or(e,...t){return e.reduce(((e,o,r)=>{let n="";return r&&(n=t[r-1]),"number"==typeof n&&(n=tr(n)),`${e}${n}${o}`}),"").trim().replace(/[\s\n\r]+/gim," ")}class rr{get element(){return this._element}constructor(e,t){this.type=e,this.document=t}draw(e){let t;switch(this.type){case G.square:t=this.drawSquare;break;case G.heart:t=this.drawHeart;break;case G.rounded:t=this.drawRounded;break;case G.classy:t=this.drawClassy;break;case G.inpoint:t=this.drawInpoint;break;case G.outpoint:t=this.drawOutpoint;break;case G.dot:default:t=this.drawDot}t.call(this,e)}rotateFigure({x:e,y:t,size:o,rotation:r=0,draw:n}){const i=e+o/2,s=t+o/2;n(),this._element?.setAttribute("transform",`rotate(${tr(180*r/Math.PI)},${i},${s})`)}basicDot(e){const{size:t,x:o,y:r}=e;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","circle"),this._element.setAttribute("cx",tr(o+t/2)),this._element.setAttribute("cy",tr(r+t/2)),this._element.setAttribute("r",tr(t/2.1))}})}basicSquare(e){const{size:t,x:o,y:r}=e,n=t/11;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","rect"),this._element.setAttribute("x",tr(o+n)),this._element.setAttribute("y",tr(r+n)),this._element.setAttribute("width",tr(t-2*n)),this._element.setAttribute("height",tr(t-2*n))}})}basicHeart(e){const{size:t,x:o,y:r}=e;this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path");let n=!1,i=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((e=>"string"==typeof e?(i=0,n=e.toUpperCase()==e,e):(i++,e*=t,n&&(e+=i%2==1?o:r),tr(e)))).join(" "))}basicRounded(e){const{size:t,x:o,y:r}=e;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","rect"),this._element.setAttribute("x",tr(o)),this._element.setAttribute("y",tr(r)),this._element.setAttribute("width",tr(t)),this._element.setAttribute("height",tr(t)),this._element.setAttribute("rx",tr(t/4)),this._element.setAttribute("ry",tr(t/4))}})}basicClassy(e){const{size:t,x:o,y:r}=e,n=t/7;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",or`M ${o} ${r+2.5*n} v ${2*n} a ${2.5*n} ${2.5*n}, 0, 0, 0, ${2.5*n} ${2.5*n} h ${4.5*n} v ${-4.5*n} a ${2.5*n} ${2.5*n}, 0, 0, 0, ${2.5*-n} ${2.5*-n} h ${-2*n} H ${o} z`)}})}basicInpoint(e){const{size:t,x:o,y:r}=e,n=t;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",or`M ${o} ${r+n/2} v ${n/4} a ${n/4}, ${n/4} 0 0 0 ${n/4}, ${n/4} h ${n/4*3} v ${-n/4*3} a ${n/4}, ${n/4} 0 0 0 ${-n/4}, ${-n/4} h ${-n/2} a ${n/4}, ${n/4} 0 0 0 ${-n/4}, ${n/4} z`)}})}drawDot({x:e,y:t,size:o,rotation:r}){this.basicDot({x:e,y:t,size:o,rotation:r})}drawSquare({x:e,y:t,size:o,rotation:r}){this.basicSquare({x:e,y:t,size:o,rotation:r})}drawHeart({x:e,y:t,size:o,rotation:r}){this.basicHeart({x:e,y:t,size:o,rotation:r})}drawRounded({x:e,y:t,size:o,rotation:r}){this.basicRounded({x:e,y:t,size:o,rotation:r})}drawClassy({x:e,y:t,size:o,rotation:r}){this.basicClassy({x:e,y:t,size:o,rotation:r})}drawInpoint({x:e,y:t,size:o,rotation:r}){this.basicInpoint({x:e,y:t,size:o,rotation:r})}drawOutpoint({x:e,y:t,size:o,rotation:r}){this.basicInpoint({x:e,y:t,size:o,rotation:(r||0)+Math.PI})}}class nr{get element(){return this._element}get fill(){return this._fill}constructor(e,t){this.type=e,this.document=t}draw(e){let t;switch(this.type){case X.square:t=this.drawSquare;break;case X.rounded:t=this.drawExtraRounded;break;case X.classy:t=this.drawClassy;break;case X.outpoint:t=this.drawOutpoint;break;case X.inpoint:t=this.drawInpoint;break;case X.dot:default:t=this.drawDot}t.call(this,e)}rotateFigure({x:e,y:t,size:o,rotation:r=0,draw:n}){const i=e+o/2,s=t+o/2;n(),this._element?.setAttribute("transform",`rotate(${tr(180*r/Math.PI)},${i},${s})`),this._fill?.setAttribute("transform",`rotate(${tr(180*r/Math.PI)},${i},${s})`)}basicDot(e){const{size:t,x:o,y:r}=e,n=t/8,i=.5*t,s=i-n;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",or`M ${o+t/2} ${r+(t/2-i)} a ${i} ${i} 0 1 0 0.1 0 z m 0 ${n} a ${s} ${s} 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",or`M ${o+t/2} ${r+(t/2-(i+n))} a ${i+n} ${i+n} 0 1 0 0.1 0 z`)}})}basicSquare(e){const{size:t,x:o,y:r}=e,n=t/7;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",or`M ${o} ${r} v ${t} h ${t} v ${-t} z M ${o+n} ${r+n} h ${t-2*n} v ${t-2*n} h ${2*n-t} z`),this._fill=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._fill.setAttribute("clip-rule","evenodd"),this._fill.setAttribute("d",or`M ${o-n} ${r-n} h ${t+2*n} v ${t+2*n} h ${-t-2*n} z`)}})}basicExtraRounded(e){const{size:t,x:o,y:r}=e,n=t/7;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",or`M ${o} ${r+2.5*n} v ${2*n} a ${2.5*n} ${2.5*n}, 0, 0, 0, ${2.5*n} ${2.5*n} h ${2*n} a ${2.5*n} ${2.5*n}, 0, 0, 0, ${2.5*n} ${2.5*-n} v ${-2*n} a ${2.5*n} ${2.5*n}, 0, 0, 0, ${2.5*-n} ${2.5*-n} h ${-2*n} a ${2.5*n} ${2.5*n}, 0, 0, 0, ${2.5*-n} ${2.5*n} z M ${o+2.5*n} ${r+n} h ${2*n} a ${1.5*n} ${1.5*n}, 0, 0, 1, ${1.5*n} ${1.5*n} v ${2*n} a ${1.5*n} ${1.5*n}, 0, 0, 1, ${1.5*-n} ${1.5*n} h ${-2*n} a ${1.5*n} ${1.5*n}, 0, 0, 1, ${1.5*-n} ${1.5*-n} v ${-2*n} a ${1.5*n} ${1.5*n}, 0, 0, 1, ${1.5*n} ${1.5*-n} z`),this._fill=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._fill.setAttribute("clip-rule","evenodd"),this._fill.setAttribute("d",or`M ${o-n} ${r+2.5*n} v ${2*n} a ${3.5*n} ${3.5*n}, 0, 0, 0, ${3.5*n} ${3.5*n} h ${2*n} a ${3.5*n} ${3.5*n}, 0, 0, 0, ${3.5*n} ${3.5*-n} v ${-2*n} a ${3.5*n} ${3.5*n}, 0, 0, 0, ${3.5*-n} ${3.5*-n} h ${-2*n} a ${3.5*n} ${3.5*n}, 0, 0, 0, ${3.5*-n} ${3.5*n} z`)}})}basicClassy(e){const{size:t,x:o,y:r}=e,n=t/7;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",or`M ${o} ${r+2.5*n} v ${2*n} a ${2.5*n} ${2.5*n}, 0, 0, 0, ${2.5*n} ${2.5*n} h ${4.5*n} v ${-4.5*n} a ${2.5*n} ${2.5*n}, 0, 0, 0, ${2.5*-n} ${2.5*-n} h ${-2*n} H ${o} z M ${o+2.5*n} ${r+n} h ${2*n} a ${1.5*n} ${1.5*n}, 0, 0, 1, ${1.5*n} ${1.5*n} v ${3.5*n} h ${-3.5*n} a ${1.5*n} ${1.5*n}, 0, 0, 1, ${1.5*-n} ${1.5*-n} v ${-3.5*n} z`),this._fill=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._fill.setAttribute("clip-rule","evenodd"),this._fill.setAttribute("d",or`M ${o+.5*n} ${r-n} h ${4*n} a ${3.5*n} ${3.5*n}, 0, 0, 1, ${3.5*n} ${3.5*n} v ${5.5*n} h ${-5.5*n} a ${3.5*n} ${3.5*n}, 0, 0, 1, ${3.5*-n} ${3.5*-n} v ${-5.5*n} z`)}})}basicInpoint(e){const{size:t,x:o,y:r}=e,n=t/7;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",or`M ${o} ${r+2.5*n} v ${2*n} a ${2.5*n} ${2.5*n}, 0, 0, 0, ${2.5*n} ${2.5*n} h ${4.5*n} v ${-4.5*n} a ${2.5*n} ${2.5*n}, 0, 0, 0, ${2.5*-n} ${2.5*-n} h ${-2*n} a ${2.5*n} ${2.5*n}, 0, 0, 0, ${2.5*-n} ${2.5*n} z M ${o+2.5*n} ${r+n} h ${2*n} a ${1.5*n} ${1.5*n}, 0, 0, 1, ${1.5*n} ${1.5*n} v ${3.5*n} h ${-3.5*n} a ${1.5*n} ${1.5*n}, 0, 0, 1, ${1.5*-n} ${1.5*-n} v ${-2*n} a ${1.5*n} ${1.5*n}, 0, 0, 1, ${1.5*n} ${1.5*-n} z`),this._fill=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._fill.setAttribute("clip-rule","evenodd"),this._fill.setAttribute("d",or`M ${o+.5*n} ${r-n} h ${4*n} a ${3.5*n} ${3.5*n}, 0, 0, 1, ${3.5*n} ${3.5*n} v ${5.5*n} h ${-5.5*n} a ${3.5*n} ${3.5*n}, 0, 0, 1, ${3.5*-n} ${3.5*-n} v ${-2*n} a ${3.5*n} ${3.5*n}, 0, 0, 1, ${3.5*n} ${3.5*-n} z`)}})}drawDot({x:e,y:t,size:o,rotation:r}){this.basicDot({x:e,y:t,size:o,rotation:r})}drawSquare({x:e,y:t,size:o,rotation:r}){this.basicSquare({x:e,y:t,size:o,rotation:r})}drawExtraRounded({x:e,y:t,size:o,rotation:r}){this.basicExtraRounded({x:e,y:t,size:o,rotation:r})}drawClassy({x:e,y:t,size:o,rotation:r}){this.basicClassy({x:e,y:t,size:o,rotation:r})}drawInpoint({x:e,y:t,size:o,rotation:r}){this.basicInpoint({x:e,y:t,size:o,rotation:r})}drawOutpoint({x:e,y:t,size:o,rotation:r}){this.basicInpoint({x:e,y:t,size:o,rotation:(r||0)+Math.PI})}}class ir{get element(){return this._element}constructor(e,t){this.type=e,this.document=t}draw(e){let t;switch(this.type){case L.dot:t=this.drawDot;break;case L.randomDot:t=this.drawRandomDot;break;case L.classy:t=this.drawClassy;break;case L.classyRounded:t=this.drawClassyRounded;break;case L.rounded:t=this.drawRounded;break;case L.verticalLine:t=this.drawVerticalLine;break;case L.horizontalLine:t=this.drawHorizontalLine;break;case L.extraRounded:t=this.drawExtraRounded;break;case L.diamond:t=this.drawDiamond;break;case L.smallSquare:t=this.drawSmallSquare;break;case L.tinySquare:t=this.drawTinySquare;break;case L.star:t=this.drawStar;break;case L.plus:t=this.drawPlus;break;case L.square:default:t=this.drawSquare}t.call(this,e)}rotateFigure({x:e,y:t,size:o,rotation:r=0,draw:n}){const i=e+o/2,s=t+o/2;n(),this._element?.setAttribute("transform",`rotate(${tr(180*r/Math.PI)},${i},${s})`)}basicDot(e){const{size:t,x:o,y:r}=e;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","circle"),this._element.setAttribute("cx",tr(o+t/2)),this._element.setAttribute("cy",tr(r+t/2)),this._element.setAttribute("r",tr(t/2))}})}basicSquare(e){const{size:t,x:o,y:r}=e;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","rect"),this._element.setAttribute("x",tr(o)),this._element.setAttribute("y",tr(r)),this._element.setAttribute("width",tr(t)),this._element.setAttribute("height",tr(t))}})}basicSideRounded(e){const{size:t,x:o,y:r}=e;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",or`M ${o} ${r} v ${t} h ${t/2} a ${t/2} ${t/2}, 0, 0, 0, 0 ${-t} z`)}})}basicCornerRounded(e){const{size:t,x:o,y:r}=e;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",or`M ${o} ${r} v ${t} h ${t} v ${-t/2} a ${t/2} ${t/2}, 0, 0, 0, ${-t/2} ${-t/2} z`)}})}basicCornerExtraRounded(e){const{size:t,x:o,y:r}=e;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",or`M ${o} ${r} v ${t} h ${t} a ${t} ${t}, 0, 0, 0, ${-t} ${-t} z`)}})}basicCornersRounded(e){const{size:t,x:o,y:r}=e;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",or`M ${o} ${r} v ${t/2} a ${t/2} ${t/2}, 0, 0, 0, ${t/2} ${t/2} h ${t/2} v ${-t/2} a ${t/2} ${t/2}, 0, 0, 0, ${-t/2} ${-t/2} z`)}})}drawDot({x:e,y:t,size:o}){this.basicDot({x:e,y:t,size:o,rotation:0})}drawRandomDot({x:e,y:t,size:o}){const r=.25*Math.random()+.75;this.basicDot({x:e,y:t,size:o*r,rotation:0})}drawSquare({x:e,y:t,size:o}){this.basicSquare({x:e,y:t,size:o,rotation:0})}drawSmallSquare({x:e,y:t,size:o}){const r=o;o=.7*r,e+=.15*r,t+=.15*r,this.basicSquare({x:e,y:t,size:o,rotation:0})}drawTinySquare({x:e,y:t,size:o}){const r=o;o=.6*r,e+=.35*r,t+=.35*r,this.basicSquare({x:e,y:t,size:o,rotation:0})}drawDiamond({x:e,y:t,size:o}){this.basicSquare({x:e,y:t,size:o,rotation:Math.PI/4})}drawRounded({x:e,y:t,size:o,getNeighbor:r}){const n=r?+r(-1,0):0,i=r?+r(1,0):0,s=r?+r(0,-1):0,a=r?+r(0,1):0,l=n+i+s+a;if(0!==l)if(l>2||n&&i||s&&a)this.basicSquare({x:e,y:t,size:o,rotation:0});else{if(2===l){let r=0;return n&&s?r=Math.PI/2:s&&i?r=Math.PI:i&&a&&(r=-Math.PI/2),void this.basicCornerRounded({x:e,y:t,size:o,rotation:r})}if(1===l){let r=0;return s?r=Math.PI/2:i?r=Math.PI:a&&(r=-Math.PI/2),void this.basicSideRounded({x:e,y:t,size:o,rotation:r})}}else this.basicDot({x:e,y:t,size:o,rotation:0})}drawVerticalLine({x:e,y:t,size:o,getNeighbor:r}){const n=r?+r(-1,0):0,i=r?+r(1,0):0,s=r?+r(0,-1):0,a=r?+r(0,1):0;if(0===n+i+s+a||n&&!s&&!a||i&&!s&&!a)this.basicDot({x:e,y:t,size:o,rotation:0});else if(s&&a)this.basicSquare({x:e,y:t,size:o,rotation:0});else if(!s||a)if(!a||s);else{const r=-Math.PI/2;this.basicSideRounded({x:e,y:t,size:o,rotation:r})}else{const r=Math.PI/2;this.basicSideRounded({x:e,y:t,size:o,rotation:r})}}drawHorizontalLine({x:e,y:t,size:o,getNeighbor:r}){const n=r?+r(-1,0):0,i=r?+r(1,0):0,s=r?+r(0,-1):0,a=r?+r(0,1):0;if(0===n+i+s+a||s&&!n&&!i||a&&!n&&!i)this.basicDot({x:e,y:t,size:o,rotation:0});else if(n&&i)this.basicSquare({x:e,y:t,size:o,rotation:0});else if(!n||i)if(!i||n);else{const r=Math.PI;this.basicSideRounded({x:e,y:t,size:o,rotation:r})}else{const r=0;this.basicSideRounded({x:e,y:t,size:o,rotation:r})}}drawExtraRounded({x:e,y:t,size:o,getNeighbor:r}){const n=r?+r(-1,0):0,i=r?+r(1,0):0,s=r?+r(0,-1):0,a=r?+r(0,1):0,l=n+i+s+a;if(0!==l)if(l>2||n&&i||s&&a)this.basicSquare({x:e,y:t,size:o,rotation:0});else{if(2===l){let r=0;return n&&s?r=Math.PI/2:s&&i?r=Math.PI:i&&a&&(r=-Math.PI/2),void this.basicCornerExtraRounded({x:e,y:t,size:o,rotation:r})}if(1===l){let r=0;return s?r=Math.PI/2:i?r=Math.PI:a&&(r=-Math.PI/2),void this.basicSideRounded({x:e,y:t,size:o,rotation:r})}}else this.basicDot({x:e,y:t,size:o,rotation:0})}drawClassy({x:e,y:t,size:o,getNeighbor:r}){const n=r?+r(-1,0):0,i=r?+r(1,0):0,s=r?+r(0,-1):0,a=r?+r(0,1):0;0!==n+i+s+a?n||s?i||a?this.basicSquare({x:e,y:t,size:o,rotation:0}):this.basicCornerRounded({x:e,y:t,size:o,rotation:Math.PI/2}):this.basicCornerRounded({x:e,y:t,size:o,rotation:-Math.PI/2}):this.basicCornersRounded({x:e,y:t,size:o,rotation:Math.PI/2})}drawClassyRounded({x:e,y:t,size:o,getNeighbor:r}){const n=r?+r(-1,0):0,i=r?+r(1,0):0,s=r?+r(0,-1):0,a=r?+r(0,1):0;0!==n+i+s+a?n||s?i||a?this.basicSquare({x:e,y:t,size:o,rotation:0}):this.basicCornerExtraRounded({x:e,y:t,size:o,rotation:Math.PI/2}):this.basicCornerExtraRounded({x:e,y:t,size:o,rotation:-Math.PI/2}):this.basicCornersRounded({x:e,y:t,size:o,rotation:Math.PI/2})}drawStar({x:e,y:t,size:o}){this.rotateFigure({x:e,y:t,size:o,rotation:0,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path");const r=e+o/2,n=t+o/2,i=1.3*o/2,s=.5*i;let a="";for(let e=0;e<10;e++){const t=e*Math.PI/5-Math.PI/2,o=e%2==0?i:s;a+=(0===e?"M":"L")+`${r+o*Math.cos(t)},${n+o*Math.sin(t)}`}a+="Z",this._element?.setAttribute("d",a)}})}drawPlus({x:e,y:t,size:o}){this.rotateFigure({x:e,y:t,size:o,rotation:0,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path");const r=.35*o,n=.85*o,i=(o-n)/2,s=r/2,a=[`M ${e+o/2-s} ${t+i}`,`h ${r}`,`v ${n}`,"h "+-r,"z",`M ${e+i} ${t+o/2-s}`,`h ${n}`,`v ${r}`,"h "+-n,"z"].join(" ");this._element?.setAttribute("d",a)}})}}const sr={toDataURL:e=>"string"==typeof e&&e.startsWith("data:")?Promise.resolve(e):new Promise(((t,o)=>{if("string"==typeof e){const r=new XMLHttpRequest,n=()=>{r.abort()};r.onload=()=>{if(r.status<200||r.status>=300)return n(),void o(new Error(`Failed to load image: ${r.statusText}`));const e=new FileReader;e.onloadend=()=>{n(),t(e.result)},e.onerror=()=>{n(),o(new Error("Failed to read image blob"))},e.readAsDataURL(r.response)},r.onerror=r.ontimeout=r.onabort=()=>{n(),o(new Error("Image load aborted or failed"))};try{r.open("GET",e,!0),r.responseType="blob",r.timeout=1e4,r.send()}catch(e){n(),o(e)}}else{const r=new FileReader;r.onloadend=()=>{t(r.result)},r.onerror=()=>{o(new Error("Failed to read local image"))},r.readAsDataURL(e)}})).catch((e=>(console.error("Image loading error:",e),"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSIjY2NjIi8+PHRleHQgeD0iNTAlIiB5PSI1MCUiIGRvbWluYW50LWJhc2VsaW5lPSJtaWRkbGUiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZpbGw9IiMwMDAiIGZvbnQtc2l6ZT0iMTYiPkxvZ28gbG9hZCBlcnJvcjwvdGV4dD48L3N2Zz4="))),getSize:(e,t)=>new Promise(((o,r)=>{const n=new Image,i=setTimeout((()=>{r(new Error("Image loading timed out"))}),15e3);"string"==typeof t&&(n.crossOrigin=t);const s=()=>{clearTimeout(i),n.onload=n.onerror=n.onabort=null,n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="};n.onload=()=>{s(),o({width:n.width,height:n.height})},n.onerror=n.onabort=()=>{s(),r(new Error("Failed to load image"))};try{"string"==typeof e?n.src=e:sr.toDataURL(e).then((e=>{e?n.src=e:r(new Error("Invalid image source"))})).catch(r)}catch(e){s(),r(e)}})).catch((e=>(console.warn("[QRCodeJs] Image size detection error:",e),{width:200,height:200})))};function ar(e){let t,o=[],r=1;if("#"===(e=e.toLowerCase())[0]){const t=e.slice(1),n=t.length;n<=4?(o=[parseInt(t[0]+t[0],16),parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16)],4===n&&(r=parseInt(t[3]+t[3],16)/255)):(o=[parseInt(t[0]+t[1],16),parseInt(t[2]+t[3],16),parseInt(t[4]+t[5],16)],8===n&&(r=parseInt(t[6]+t[7],16)/255)),o[0]||(o[0]=0),o[1]||(o[1]=0),o[2]||(o[2]=0)}else{if(!(t=/^((?:rgba?))\s*\(([^)]*)\)/.exec(e)))return{value:e,alpha:r};{const e=3;o=t[2].trim().split(/\s*[,/]\s*|\s+/),o=o.map(((e,t)=>{if("%"===e[e.length-1]){const o=parseFloat(e)/100;return 3===t?o:255*o}return"none"===e?0:parseFloat(e)})),r=o.length>e?o.pop():1}}return{value:"#"+o.map((e=>Math.max(0,Math.min(255,e)).toString(16).padStart(2,"0"))).join(""),alpha:Math.max(0,Math.min(1,r))}}const lr="https://api.qr-platform.com",dr="undefined"!=typeof window&&void 0!==window.document,cr="undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node,ur="undefined"!=typeof navigator&&"Cloudflare-Workers"===navigator.userAgent;let hr;async function pr(e,t){if(e.startsWith("data:"))return Promise.resolve(e);try{const o={method:"GET",mode:"cors"};"anonymous"!==t&&"use-credentials"!==t||(o.credentials="use-credentials"===t?"include":"omit");const r=await fetch(e,o);if(!r.ok)return console.warn(`[QRCodeJs] Failed to fetch image directly: ${r.status} ${r.statusText}`),null;if(dr){const e=await r.blob();return e.type.startsWith("image/")?new Promise(((t,o)=>{const r=new FileReader;r.onloadend=()=>t(r.result),r.onerror=e=>{console.warn("[QRCodeJs] FileReader error:",e),o(new Error("Failed to read image blob"))},r.readAsDataURL(e)})):(console.warn(`[QRCodeJs] Fetched resource is not an image: ${e.type}`),null)}if(cr||ur){const e=r.headers.get("content-type");if(!e||!e.startsWith("image/"))return console.warn(`[QRCodeJs] Fetched resource is not an image or content-type missing: ${e}`),null;const t=await r.arrayBuffer();let o="";if(cr){if(!hr)return console.error("[QRCodeJs] Buffer module not loaded in Node.js environment."),null;o=hr.from(t).toString("base64")}else if(o=function(e){let t="";const o=new Uint8Array(e),r=o.byteLength;for(let e=0;e<r;e++)t+=String.fromCharCode(o[e]);return"undefined"!=typeof btoa?btoa(t):""}(t),!o)return console.warn("[QRCodeJs] Failed to convert ArrayBuffer to Base64 in Worker."),null;return`data:${e};base64,${o}`}return console.warn("[QRCodeJs] Unknown environment, cannot convert image to Data URL."),null}catch(e){return console.warn("[QRCodeJs] Error fetching image directly:",e),null}}async function mr(e){const t=encodeURIComponent(e),o=`${lr}/v1/utils/get-dataurl?url=${t}`;try{const e=await fetch(o,{method:"GET",headers:{"x-client-name":"QRCode.js"},mode:"cors"});if(!e.ok)return console.warn(`[QRCodeJs] Failed to fetch image via proxy: ${e.status} ${e.statusText}`),null;const t=await e.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(e){return console.warn("[QRCodeJs] Error fetching image via proxy:",e),null}}cr&&import("buffer").then((e=>{hr=e.Buffer})).catch((e=>{console.error("[QRCodeJs] Failed to dynamically import 'buffer' in Node.js:",e)}));const fr=[[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]],gr=[[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 br{constructor(e){this.roundValue=e=>"number"==typeof e?e:parseInt(e.replace("%",""),10)/100;const t=e.margin||0,o="circle"===e.shape?.1:.3,{bordersMain:r,bordersOuter:n,bordersInner:i}=e,s=Math.min(e.width,e.height),a=D(e.borderOptions?.radius),l=D(e.borderOptions?.inner?.radius,a),d=a&&I(a)>0?I(a)/100*s:0,c=(a&&I(l)>0?I(l)/100*s:0)??d,u=c>0&&e.borderOptions?.hasBorder?c*o:0;this._hls=e.hls,this.finalWidth=e.width+r.left+r.right+n.left+n.right+i.left+i.right,this.finalHeight=e.height+r.top+r.bottom+n.top+n.bottom+i.top+i.bottom;const h=r.left+r.right+n.left+n.right+i.left+i.right,p=r.top+r.bottom+n.top+n.bottom+i.top+i.bottom,m=e.borderOptions?.hasBorder?this.finalWidth-h-2*n.left-2*i.left-i.right-2*t-u:this.finalWidth-2*t,f=e.borderOptions?.hasBorder?this.finalHeight-p-2*n.top-2*i.top-i.top-2*t-u:this.finalHeight-2*t,g=m/e.width,b=f/e.height,y=Math.min(g,b),O=Math.min(Math.max(e.scale??1,0),1.5),S=Math.min(Math.max(e.borderOptions?.inner?.scale??1,0),1.5),C=e.borderOptions?.inner?.horizontalOffset||0,w=e.borderOptions?.inner?.verticalOffset||0;e.scale=y*O*S||1,this.options=e,this.document=e.document,this.imageTools=e.imageTools||sr,this._element=this.document.createElementNS("http://www.w3.org/2000/svg","svg");const k=tr(e.width),v=tr(e.height);e.isResponsive||(this._element.setAttribute("width",k),this._element.setAttribute("height",v)),this._element.setAttribute("viewBox",`0 0 ${k} ${v}`),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 A=(m-e.width*e.scale)/2+t-C+u/2,T=(f-e.height*e.scale)/2+t-w+u/2;if(e.borderOptions?.hasBorder){const t={top:Z(e.borderOptions,"top"),right:Z(e.borderOptions,"right"),bottom:R(e.borderOptions,"bottom",this._hls),left:Z(e.borderOptions,"left")},o=e.borderOptions.thickness||0,r=e.borderOptions.borderOuter?.thickness||0,n=e.borderOptions.borderInner?.thickness||0,i=e.borderOptions.noBorderThickness||o/4;T+=((t.top?o:i)-(t.bottom?o:i))/2+r+n+n/2,A+=((t.left?o:i)-(t.right?o:i))/2+r+n+n/2}e.verticalOffset&&(T-=e.verticalOffset),e.horizontalOffset&&(A-=e.horizontalOffset),this._instanceId=br.instanceCount++,1===e.scale&&0===A&&0===T||this._innerQrGroup.setAttribute("transform",`translate(${A}, ${T}) scale(${e.scale})`),this._maskedQrGroup=this.document.createElementNS("http://www.w3.org/2000/svg","g"),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(e){const t=e.getModuleCount(),o=parseInt(((t-17)/4).toFixed(0),10),r=this.options.dotsOptions.size;let n={hideXDots:0,hideYDots:0,width:0,height:0};if(this.qr=e,this.options.borderOptions?.hasBorder||this.drawBackground(),this.options.image){const e=await this.imageTools.getSize(this.options.image,this.options.imageOptions.crossOrigin),{imageOptions:i}=this.options;if(this.options.imageOptions.mode==F.background){const t=0,o=(this.finalWidth-2*t*r)*i.imageSize,s=(this.finalHeight-2*t*r)*i.imageSize;let{width:a,height:l}=e;l=l/a*o,a=o,l>s&&(a=a/l*s,l=s),n={hideXDots:0,hideYDots:0,width:a,height:l}}else{const i=this.options.imageOptions.imageSize*this.options.errorCorrectionPercent,s=h.getPatternPosition(o),a=Math.floor(i*(t*t-192-2*(t-16)-s.length**2*25));n=function({originalHeight:e,originalWidth:t,maxHiddenDots:o,maxHiddenAxisDots:r,dotSize:n,margin:i}){const s={x:0,y:0},a={x:0,y:0};if(e<=0||t<=0||o<=0||n<=0||4*i**2>o)return{height:0,width:0,hideYDots:0,hideXDots:0};r&&r%2==0&&(r=Math.max(1,r-1));const l=Math.max(t,e),d=Math.min(t,e);let c=0,u=(r||o)-2*i;do{const e=c+(u-c)/2;let t=Math.max(1,Math.ceil(e+2*i));t%2==0&&t++;let r=Math.max(1,Math.ceil(e*d/l+2*i));r%2==0&&r++,t*r>o?u=e:c=e}while(Math.abs(c-u)>.001);const h=c;let p=Math.max(1,Math.ceil(h+2*i));p%2==0&&p++;let m=Math.max(1,Math.ceil(h*d/l+2*i));m%2==0&&m++,t>e?(s.x=p,s.y=m):(s.x=m,s.y=p);const f=(s.x-2*i)*n,g=(s.y-2*i)*n;return a.x=f,a.y=f*e/t,a.y>g&&(a.y=g,a.x=g*t/e),{height:Math.round(a.y+2*i*n),width:Math.round(a.x+2*i*n),hideYDots:s.y,hideXDots:s.x}}({originalWidth:e.width,originalHeight:e.height,maxHiddenDots:a,maxHiddenAxisDots:t-14,dotSize:r,margin:this.options.imageOptions.margin})}}this.options.imageOptions.mode!=F.overlay&&this.options.image&&n.width>0&&n.height>0&&await this.drawImage({width:n.width,height:n.height,count:t,dotSize:r,radius:this.options.imageOptions?.radius}),this.drawDots(((e,o)=>!(this.options.imageOptions.mode==F.center&&e>=(t-n.hideXDots)/2&&e<(t+n.hideXDots)/2&&o>=(t-n.hideYDots)/2&&o<(t+n.hideYDots)/2)&&!(e<8&&o<8||e>=t-8&&o<8||o>=t-8&&e<8))),this.options.imageOptions.mode==F.overlay&&this.options.image&&n.width>0&&n.height>0&&await this.drawImage({width:n.width,height:n.height,count:t,dotSize:r}),this.drawCorners()}drawBackground(){const e=this.options;if(this._element&&e.backgroundOptions){const t=e.backgroundOptions.gradient,o=e.backgroundOptions.color;this.createColor({options:t,color:o,additionalRotation:0,x:0,y:0,height:e.height,width:e.width,name:`background-color-${this._instanceId}`});const r=Math.min(e.width,e.height),n=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);const i=e.backgroundOptions?.round||0,s=this.roundValue(i);n.setAttribute("x",tr((e.width-r)/2)),n.setAttribute("y",tr((e.height-r)/2)),n.setAttribute("width",tr(r)),n.setAttribute("height",tr(r)),n.setAttribute("rx",tr(r/2*s)),this.backgroundMaskGroup.appendChild(n)}}drawBackgroundForBorder(e,t){const o=this.options;if(o.backgroundOptions){const r=o.backgroundOptions.gradient,n=o.backgroundOptions.color||"#ffffff",i=Math.min(o.width,o.height)-2*e,s=(o.width-i)/2,a=(o.height-i)/2,l=t-e,d=this.createColor({options:r,borderOptions:o.borderOptions,color:n,additionalRotation:0,x:s,y:a,height:i,width:i,name:`background-color-${this._instanceId}`,returnSVGGroup:!0}),c=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),c.setAttribute("x",tr(s)),c.setAttribute("y",tr(a)),c.setAttribute("width",tr(i)),c.setAttribute("height",tr(i)),c.setAttribute("rx",tr(l)),this.backgroundMaskGroup.appendChild(c),d}}drawDots(e){if(!this.qr)throw new Error("QR code is not defined");const t=this.options,o=this.qr.getModuleCount();if(o>t.width||o>t.height)throw new Error("The canvas is too small");const r=t.dotsOptions.size;let n=Math.min(t.width,t.height);t.imageOptions.mode==F.background&&(n-=2*r*(t.imageOptions.margin||0));const i=Math.floor((t.width-o*r)/2);let s=Math.floor((t.height-o*r)/2);if(t.offset){const e=(t.height-o*r)/2;s+=Math.min(Math.abs(t.offset),e)*Math.sign(t.offset)}let a=new ir(t.dotsOptions.type,this.document);const l=new ir(L.tinySquare,this.document),d=new ir(L.square,this.document);[this.dotsMask,this.dotsMaskGroup]=this.createMask(`mask-dot-color-${this._instanceId}`),this.defs.appendChild(this.dotsMask),t.imageOptions.mode==F.background&&([this.lightDotsMask,this.lightDotsMaskGroup]=this.createMask(`mask-light-dot-color-${this._instanceId}`),this.defs.appendChild(this.lightDotsMask));let c=0,u=o;t.shape===_.circle?(c=Math.floor((n/r-o-2)/2),u=o+2*c):t.imageOptions.mode==F.background&&(c=1,u=o+2*c);const p=i-c*r,m=s-c*r,f=p,g=m,b=o+2*c,y=new Array(u),O=Math.floor(u/2);for(let r=0;r<u;r++){y[r]=new Array(u);for(let n=0;n<u;n++)if(r>c-1&&r<u-c&&n>c-1&&n<u-c){const t=r-c,o=n-c;e&&!e(t,o)?y[r][n]=void 0:y[r][n]=!!this.qr.isDark(o,t)}else t.shape===_.circle&&Math.sqrt((r-O)*(r-O)+(n-O)*(n-O))>O?y[r][n]=void 0:y[r][n]=r!=c-1&&r!=u-c&&n!=c-1&&n!=u-c?this.qr.isDark(n-2*c<0?n:n>=o?n-2*c:n-c,r-2*c<0?r:r>=o?r-2*c:r-c):(n==c-1&&(r<c+8||r>u-c-9)||n==u-c&&r<c+8||r==c-1&&(n<c+8||n>u-c-9)||r==u-c&&n<c+8)&&void 0}const S=(o-17)/4,C=h.getPatternPosition(S);for(let e=0;e<u;e++){const t=C.find((t=>e-c>t-3&&e-c<t+3));for(let o=0;o<u;o++){const n=C.find((e=>o-c>e-3&&o-c<e+3));null!=y[e][o]&&(this.lightDotsMask&&(a=t&&n&&(t!=C[0]&&n!=C[0]||n!=C[0]&&n!=C[C.length-1]||t!=C[0]&&t!=C[C.length-1])?d:l),y[e][o]?(a.draw({x:p+e*r,y:m+o*r,size:r,getNeighbor:(t,r)=>!0===y[e+t]?.[o+r]}),a.element&&this.dotsMaskGroup&&this.dotsMaskGroup.appendChild(a.element)):this.lightDotsMask&&(a.draw({x:p+e*r,y:m+o*r,size:r,getNeighbor:(t,r)=>!1===y[e+t]?.[o+r]}),a.element&&this.lightDotsMaskGroup&&this.lightDotsMaskGroup.appendChild(a.element)))}}this.lightDotsMask&&this.createColor({color:t.imageOptions.backgroundColor,additionalRotation:0,x:f,y:g,height:b*r,width:b*r,name:`light-dot-color-${this._instanceId}`}),this.createColor({options:t.dotsOptions?.gradient,color:t.dotsOptions.color,additionalRotation:0,x:f,y:g,height:b*r,width:b*r,name:`dot-color-${this._instanceId}`})}drawCorners(){if(!this.qr)throw new Error("QR code is not defined");const e=this.qrGroup,t=this.options;if(!e)throw new Error("Element code is not defined");const o=this.qr.getModuleCount(),r=t.dotsOptions.size,n=7*r,i=3*r,s=Math.floor((t.width-o*r)/2);let a=Math.floor((t.height-o*r)/2);if(t.offset){const e=(t.height-o*r)/2,n=Math.min(Math.abs(t.offset),e)*Math.sign(t.offset);a+=n}[[0,0,0],[1,0,Math.PI/2],[0,1,-Math.PI/2]].forEach((([e,l,d])=>{const c=s+e*r*(o-7),u=a+l*r*(o-7);let h=this.dotsMask,p=this.dotsMaskGroup,m=this.dotsMask,f=this.dotsMaskGroup;if((t.cornersSquareOptions?.gradient||t.cornersSquareOptions?.color)&&([h,p]=this.createMask(`mask-corners-square-color-${e}-${l}-${this._instanceId}`),this.defs.appendChild(h),m=h,f=p,this.createColor({options:t.cornersSquareOptions?.gradient,color:t.cornersSquareOptions?.color,additionalRotation:d,x:c,y:u,height:n,width:n,name:`corners-square-color-${e}-${l}-${this._instanceId}`})),t.cornersSquareOptions?.type){const e=new nr(t.cornersSquareOptions.type,this.document);e.draw({x:c,y:u,size:n,rotation:d}),e.element&&p&&p.appendChild(e.element),e.fill&&this.lightDotsMaskGroup&&this.lightDotsMaskGroup.appendChild(e.fill)}else{const e=new ir(t.dotsOptions.type,this.document);for(let t=0;t<fr.length;t++)for(let o=0;o<fr[t].length;o++)fr[t]?.[o]?(e.draw({x:c+t*r,y:u+o*r,size:r,getNeighbor:(e,r)=>!!fr[t+e]?.[o+r]}),e.element&&p&&p.appendChild(e.element)):this.lightDotsMask&&!gr[t]?.[o]&&(e.draw({x:c+t*r,y:u+o*r,size:r,getNeighbor:(e,r)=>!fr[t+e]?.[o+r]&&!gr[t+e]?.[o+r]}),e.element&&this.lightDotsMaskGroup&&this.lightDotsMaskGroup.appendChild(e.element));if(this.lightDotsMask)for(let t=-1;t<8;t++)for(let o=-1;o<8;o++)-1!=t&&7!=t&&-1!=o&&7!=o||(e.draw({x:c+t*r,y:u+o*r,size:r,getNeighbor:(e,r)=>{const n=t+e,i=o+r;return n>=-1&&n<=7&&i>=-1&&i<=7&&(-1==n||7==n||-1==i||7==i)}}),e.element&&this.lightDotsMaskGroup&&this.lightDotsMaskGroup.appendChild(e.element))}if((t.cornersDotOptions?.gradient||t.cornersDotOptions?.color)&&([m,f]=this.createMask(`mask-corners-dot-color-${e}-${l}-${this._instanceId}`),this.defs.appendChild(m),this.createColor({options:t.cornersDotOptions?.gradient,color:t.cornersDotOptions?.color,additionalRotation:d,x:c+2*r,y:u+2*r,height:i,width:i,name:`corners-dot-color-${e}-${l}-${this._instanceId}`})),t.cornersDotOptions?.type){const e=new rr(t.cornersDotOptions.type,this.document);e.draw({x:c+2*r,y:u+2*r,size:i,rotation:d}),e.element&&f&&f.appendChild(e.element)}else{const e=new ir(t.dotsOptions.type,this.document);for(let t=0;t<gr.length;t++)for(let o=0;o<gr[t].length;o++)gr[t]?.[o]&&(e.draw({x:c+t*r,y:u+o*r,size:r,getNeighbor:(e,r)=>!!gr[t+e]?.[o+r]}),e.element&&f&&f.appendChild(e.element))}}))}async drawImage({width:e,height:t,count:o,dotSize:r,radius:n}){const i=this.options,s=Math.floor((i.width-o*r)/2);let a=Math.floor((i.height-o*r)/2);if(i.offset){const e=(i.height-o*r)/2;a+=Math.min(Math.abs(i.offset),e)*Math.sign(i.offset)}let l=i.imageOptions.margin*r;i.imageOptions.mode==F.background&&(l=0);const d=s+l+(o*r-e)/2,c=a+l+(o*r-t)/2,u=e-2*l,h=t-2*l;let p=null;try{"string"==typeof i.image?p=await pr(i.image,i.imageOptions.crossOrigin):i.image&&(p=await this.imageTools.toDataURL(i.image)),"string"!=typeof i.image||p||(console.warn("Direct image fetch failed, attempting proxy..."),p=await mr(i.image))}catch(e){if(console.warn("[QRCodeJs] Error fetching image directly:",e),"string"==typeof i.image)try{console.warn("[QRCodeJs] Direct image fetch failed via error, attempting proxy..."),p=await mr(i.image)}catch(e){console.warn("[QRCodeJs] Failed to load image via proxy:",e)}}p||(console.warn("[QRCodeJs] Failed to load image directly and via proxy. Using fallback SVG."),p=br.FALLBACK_IMAGE_DATA_URL);let m=null;if(n){m=`clip-path-image-${this._instanceId}`;const e=this.document.createElementNS("http://www.w3.org/2000/svg","clipPath");e.setAttribute("id",m);const t=this.document.createElementNS("http://www.w3.org/2000/svg","rect");t.setAttribute("x",tr(d)),t.setAttribute("y",tr(c)),t.setAttribute("width",tr(u)),t.setAttribute("height",tr(h));const o="number"==typeof n?`${n}px`:n;t.setAttribute("rx",o),t.setAttribute("ry",o),e.appendChild(t),this.defs.appendChild(e)}if(i.imageOptions.backgroundColor){const e=this.document.createElementNS("http://www.w3.org/2000/svg","rect");e.setAttribute("x",tr(d)),e.setAttribute("y",tr(c)),e.setAttribute("width",tr(u)),e.setAttribute("height",tr(h)),m&&e.setAttribute("clip-path",`url(#${m})`);const t=ar(i.imageOptions.backgroundColor);e.setAttribute("fill",t.value),t.alpha<1&&e.setAttribute("opacity",t.alpha.toFixed(7)),this.qrGroup.appendChild(e)}const f=this.document.createElementNS("http://www.w3.org/2000/svg","image");if(f.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",p),f.setAttribute("x",tr(d)),f.setAttribute("y",tr(c)),f.setAttribute("id",`qr-image-${this._instanceId}`),f.setAttribute("width",`${tr(u)}px`),f.setAttribute("height",`${tr(h)}px`),f.setAttribute("preserveAspectRatio","xMidYMid meet"),i.imageOptions?.padding){const e=i.imageOptions.padding;f.setAttribute("x",tr(d+e)),f.setAttribute("y",tr(c+e)),f.setAttribute("width",`${tr(u-2*e)}px`),f.setAttribute("height",`${tr(h-2*e)}px`)}m&&f.setAttribute("clip-path",`url(#${m})`),this.qrGroup.appendChild(f)}createColor({options:e,borderOptions:t,color:o,additionalRotation:r,x:n,y:i,height:s,width:a,name:l,returnSVGGroup:d=!1}){const c=a>s?a:s,u=this.document.createElementNS("http://www.w3.org/2000/svg","rect");if(u.setAttribute("x",tr(n)),u.setAttribute("y",tr(i)),u.setAttribute("height",tr(s)),u.setAttribute("width",tr(a)),u.setAttribute("style",`mask:url(#mask-${l}-${this._instanceId})`),e){let o;if(e.type===Y.radial){o=this.document.createElementNS("http://www.w3.org/2000/svg","radialGradient"),o.setAttribute("id",l+"-"+this._instanceId),o.setAttribute("gradientUnits","userSpaceOnUse");let e=n+a/2,r=i+s/2;if(t){const o=t.thickness?t.thickness/2:0,l=2;Z(t,"top")&&!R(t,"bottom",this._hls)?r=i+o*l+s/2:!Z(t,"top")&&R(t,"bottom",this._hls)&&(r=i-o*l+s/2),Z(t,"right")&&!Z(t,"left")?e=n-o*l+a/2:!Z(t,"right")&&Z(t,"left")&&(e=n+o*l+a/2)}o.setAttribute("fx",tr(e)),o.setAttribute("fy",tr(r)),o.setAttribute("cx",tr(n+a/2)),o.setAttribute("cy",tr(i+s/2)),o.setAttribute("r",tr(c/2))}else{const t=((e.rotation||0)+r)%(2*Math.PI),d=(t+2*Math.PI)%(2*Math.PI);let c=n+a/2,u=i+s/2,h=n+a/2,p=i+s/2;d>=0&&d<=.25*Math.PI||d>1.75*Math.PI&&d<=2*Math.PI?(c-=a/2,u-=s/2*Math.tan(t),h+=a/2,p+=s/2*Math.tan(t)):d>.25*Math.PI&&d<=.75*Math.PI?(u-=s/2,c-=a/2/Math.tan(t),p+=s/2,h+=a/2/Math.tan(t)):d>.75*Math.PI&&d<=1.25*Math.PI?(c+=a/2,u+=s/2*Math.tan(t),h-=a/2,p-=s/2*Math.tan(t)):d>1.25*Math.PI&&d<=1.75*Math.PI&&(u+=s/2,c+=a/2/Math.tan(t),p-=s/2,h-=a/2/Math.tan(t)),o=this.document.createElementNS("http://www.w3.org/2000/svg","linearGradient"),o.setAttribute("id",l+"-"+this._instanceId),o.setAttribute("gradientUnits","userSpaceOnUse"),o.setAttribute("x1",tr(c)),o.setAttribute("y1",tr(u)),o.setAttribute("x2",tr(h)),o.setAttribute("y2",tr(p))}e.colorStops.forEach((e=>{const t=this.document.createElementNS("http://www.w3.org/2000/svg","stop");t.setAttribute("offset",`${tr(100*e.offset)}%`);const r=ar(e.color);t.setAttribute("stop-color",r.value),r.alpha<1&&t.setAttribute("stop-opacity",r.alpha.toFixed(7)),o.appendChild(t)})),u.setAttribute("fill",`url(#${l}-${this._instanceId})`),this.defs.appendChild(o)}else if(o){const e=ar(o);u.setAttribute("fill",e.value),e.alpha<1&&u.setAttribute("opacity",e.alpha.toFixed(7))}if(d)return u;l.startsWith("background-color")?this._element.insertBefore(u,this._maskedQrGroup):this.qrGroup.appendChild(u)}createMask(e){const t=`${e}-${this._instanceId}`,o=this.options,r=this.document.createElementNS("http://www.w3.org/2000/svg","mask");r.setAttribute("id",t),r.setAttribute("maskUnits","userSpaceOnUse"),r.setAttribute("x","0"),r.setAttribute("y","0"),r.setAttribute("width",tr(o.width)),r.setAttribute("height",tr(o.height));const n=this.document.createElementNS("http://www.w3.org/2000/svg","g");return n.setAttribute("fill","#fff"),r.appendChild(n),[r,n]}}br.instanceCount=0,br.FALLBACK_IMAGE_DATA_URL="data:image/png;base64,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";const yr=[{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:"neon-dark",name:"Neon 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"}}],Or=[{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:L.dot,cornerSquareShape:X.square,cornerDotShape:G.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"}},...yr];function Sr(e){return Or.find((t=>t.name.toLowerCase()===e.toLowerCase()))}function Cr(e){return Or.find((t=>t.id===e))}const wr={hasBorder:!0,thickness:30,radius:"0",borderOuter:{thickness:0},borderInner:{thickness:0},decorations:{top:{enableText:!1},bottom:{enableText:!1},left:{enableText:!1},right:{enableText:!1}}},kr={id:"square-border-thin",name:"Square Border (Thin)",options:{borderOptions:{...wr,thickness:40,radius:"10%",decorations:{top:{enableText:!0,offset:2,curveAdjustment:0,curveDisabled:!0,style:{fontSize:21},value:"SCAN ME"},left:{disabled:!0},right:{disabled:!0},bottom:{disabled:!0}}}}},vr={id:"square-border-medium",name:"Square Border (Medium)",options:{borderOptions:{...wr,thickness:20,radius:"15%"}}},Ar={id:"square-border-thick",name:"Square Border (Thick)",options:{borderOptions:{...wr,thickness:20,radius:"2%"}}},Tr={id:"rounded-border-thin-slight",name:"Rounded Border (Thin, Slight)",options:{borderOptions:{...wr,thickness:10,radius:"10%"}}},Ir={id:"rounded-border-medium-medium",name:"Rounded Border (Medium)",options:{margin:-6,shape:"circle",borderOptions:{...wr,thickness:12,radius:"35%"}}},Dr={id:"rounded-border-thick-high",name:"Rounded Border (Thick, High)",options:{shape:"circle",borderOptions:{...wr,thickness:30,radius:"50"}}},qr={id:"rounded-border-thick-text",name:"Rounded Border (Thick, Text)",options:{shape:"circle",borderOptions:{...wr,thickness:50,borderOuter:{thickness:10},radius:"50%",decorations:{top:{enableText:!0,curveAdjustment:0,offset:4,style:{fontSize:22,fontWeight:"bold"},value:"SCAN TO FOLLOW"},bottom:{enableText:!0,offset:2,curveAdjustment:0,style:{fontSize:22,fontWeight:"bold"},value:"YOUR NAME HERE"}}}}},xr={id:"rounded-border-outside-top-bottom-text",name:"Rounded Border Outside (Top & Bottom Text)",options:{shape:"circle",margin:-16,borderOptions:{...wr,thickness:50,radius:"30",borderOuter:{thickness:10},borderInner:{thickness:6},decorations:{left:{disabled:!0},right:{disabled:!0},top:{enableText:!0,offset:4,curveDisabled:!0,style:{fontSize:22,fontWeight:"bold"},value:"SCAN TO FOLLOW"},bottom:{enableText:!0,offset:-2,curveDisabled:!0,style:{fontSize:22,fontWeight:"bold"},value:"YOUR NAME HERE"}}}}},Wr={id:"rounded-border-outside-left-right-text",name:"Rounded Border Outside (Left & Right Text)",options:{margin:-20,shape:"circle",borderOptions:{...wr,thickness:50,radius:"20%",inner:{radius:"20"},borderOuter:{thickness:10},decorations:{top:{disabled:!0,enableText:!1},bottom:{disabled:!0,enableText:!1},left:{enableText:!0,offset:5,style:{fontSize:22,fontWeight:"bold"},value:"SCAN TO FOLLOW"},right:{enableText:!0,offset:6,curveAdjustment:0,style:{fontSize:22,fontWeight:"bold"},value:"YOUR NAME HERE"}}}}},Zr={id:"rounded-border-top-bottom-text",name:"Rounded Border (Top & Bottom Text)",options:{borderOptions:{...wr,thickness:50,radius:"30",decorations:{left:{disabled:!0},right:{disabled:!0},top:{enableText:!0,curveAdjustment:0,style:{fontSize:22,fontWeight:"bold"},value:"SCAN TO CONNECT"},bottom:{enableText:!0,offset:-2,curveAdjustment:0,style:{fontSize:22,fontWeight:"bold"},value:"YOUR NAME HERE"}}}}},Rr={id:"rounded-border-left-right-text",name:"Rounded Border (Left & Right Text)",options:{margin:5,borderOptions:{...wr,thickness:50,radius:"20%",inner:{radius:"20"},decorations:{top:{disabled:!0},bottom:{disabled:!0},left:{enableText:!0,offset:5,style:{fontSize:22,fontWeight:"bold"},value:"SCAN TO FOLLOW"},right:{enableText:!0,offset:5,curveAdjustment:0,style:{fontSize:22,fontWeight:"bold"},value:"YOUR NAME HERE"}}}}},Vr={id:"double-square-border-thin",name:"Double Square Border Inside (Thin)",options:{borderOptions:{...wr,thickness:16,radius:"2%",borderInner:{thickness:6}}}},Er={id:"double-square-border-medium",name:"Double Square Border Outside (Medium)",options:{borderOptions:{...wr,thickness:16,radius:"2%",borderOuter:{thickness:6}}}},jr={id:"double-rounded-border-medium",name:"Double Rounded Border (Medium)",options:{shape:"circle",margin:-20,borderOptions:{...wr,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,offset:4,curveDisabled:!0,value:"SCAN ME",style:{fontSize:30}}}}}},Mr={id:"double-rounded-border-thick",name:"Double Rounded Border Outside (Thick)",options:{borderOptions:{...wr,thickness:40,radius:"22%",borderOuter:{thickness:6},decorations:{top:{disabled:!0},left:{disabled:!0},bottom:{enableText:!0,curveAdjustment:0,offset:2,value:"SCAN ME",style:{fontSize:20}},right:{enableText:!0,curveAdjustment:0,offset:5,value:"YOUR NAME",style:{fontSize:20}}}}}},Br={id:"inner-square-border-medium",name:"Inner Square Border Inside (Medium)",options:{borderOptions:{...wr,thickness:10,radius:"2%",borderInner:{thickness:12}}}},Jr={id:"outer-rounded-border-medium",name:"Outer Rounded Border (Medium)",options:{margin:-20,shape:"circle",borderOptions:{...wr,inner:{radius:"20%"},thickness:15,radius:"25%",borderOuter:{thickness:20}}}},Yr={id:"rounded-inner-offset-text",name:"Rounded Inner Offset Text",options:{shape:"circle",margin:-20,borderOptions:{...wr,thickness:25,radius:"30%",borderInner:{thickness:8},decorations:{top:{enableText:!0,offset:3,curveAdjustment:0,curveDisabled:!1,style:{fontSize:20},value:"SCAN ME"},bottom:{enableText:!0,offset:3,curveAdjustment:0,curveDisabled:!1,style:{fontSize:20},value:"YOUR NAME"}}}}},Pr={id:"square-thick-outer-thin-inner",name:"Square Thick Outer/Thin Inner",options:{borderOptions:{...wr,thickness:10,radius:"50%",inner:{radius:"12%"},borderOuter:{thickness:10},borderInner:{thickness:15},decorations:{bottom:{enableText:!0,offset:-3,curveAdjustment:0,curveDisabled:!0,style:{fontSize:18,fontWeight:"normal"}}}}}},Lr={id:"square-thick-outer-round",name:"Square Thick Outer Round",options:{margin:6,borderOptions:{...wr,thickness:25,radius:"50%",inner:{radius:"15%"},borderOuter:{thickness:10},borderInner:{thickness:20},decorations:{bottom:{enableText:!0,offset:-3,curveAdjustment:0,curveDisabled:!0,style:{fontSize:18,fontWeight:"normal"}}}}}},Gr={id:"square-thick-outer-thin-inner-bottom-text",name:"Square Thick Outer/Thin Inner Bottom Text",options:{borderOptions:{...wr,thickness:10,radius:"4%",inner:{radius:"10%"},borderOuter:{thickness:5},borderInner:{thickness:12},decorations:{bottom:{disabled:!0},left:{disabled:!0},right:{disabled:!0},top:{disabled:!0}}}}},Xr=[kr,vr,Ar,Tr,Ir,Dr,qr,Zr,Rr,xr,Wr,Vr,Er,jr,Mr,Br,Jr,Yr,Pr,Lr,{id:"pill-curved-text-top-bottom",name:"Pill Curved Text Top/Bottom",options:{shape:"circle",borderOptions:{...wr,thickness:35,borderInner:{thickness:10},radius:"50%",decorations:{top:{enableText:!0,offset:2,curveAdjustment:0,curveDisabled:!1,style:{fontSize:20},value:"TOP CURVED TEXT"},bottom:{enableText:!0,offset:2,curveAdjustment:0,curveDisabled:!1,style:{fontSize:20},value:"BOTTOM CURVED TEXT"}}}}},{id:"double-varied-thickness-top-text",name:"Double Varied Thickness Top Text",options:{borderOptions:{...wr,thickness:25,radius:"10%",borderOuter:{thickness:8},borderInner:{thickness:4},decorations:{top:{enableText:!0,offset:3,curveAdjustment:0,curveDisabled:!0,style:{fontSize:19},value:"IMPORTANT INFO"},bottom:{enableText:!0,curveAdjustment:0,curveDisabled:!0,style:{fontSize:19},value:"SCAN ME"}}}}},{id:"outer-border-white-rounded-text",name:"Outer Border White Rounded Text",options:{borderOptions:{...wr,thickness:25,color:"#ffffff",radius:"25%",borderOuter:{thickness:10},decorations:{top:{disabled:!0},left:{disabled:!0},right:{disabled:!0},bottom:{enableText:!0,offset:10,curveAdjustment:0,curveDisabled:!1,style:{fontSize:18,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:{...wr,thickness:25,color:"#ffffff",radius:"25%",borderInner:{thickness:10},decorations:{top:{disabled:!0},left:{disabled:!0},right:{disabled:!0},bottom:{enableText:!0,offset:-4,style:{fontSize:18,fontWeight:"bold",letterSpacing:1,fontColor:"#000000"},value:"SCAN TO FOLLOW"}}}}},{id:"inner-offset-square-text",name:"Inner Offset Square Text",options:{borderOptions:{...wr,thickness:30,radius:"16%",borderInner:{thickness:10},decorations:{top:{disabled:!0},left:{disabled:!0},right:{disabled:!0},bottom:{enableText:!0,offset:2,curveAdjustment:0,curveDisabled:!0,style:{fontSize:22},value:"SCAN ME"}}}}},{id:"thin-rounded-all-sides-text",name:"Thin Rounded All Sides Text",options:{borderOptions:{...wr,borderInner:{thickness:10},thickness:14,radius:"20%",decorations:{top:{enableText:!0,value:"TOP",style:{fontSize:12},offset:3},bottom:{enableText:!0,value:"BOTTOM",style:{fontSize:12},offset:1},left:{enableText:!0,value:"LEFT",style:{fontSize:12},offset:4},right:{enableText:!0,value:"RIGHT",style:{fontSize:12},offset:4}}}}},{id:"thick-square-double-text",name:"Thick Square Double Text",options:{borderOptions:{...wr,thickness:25,radius:"2%",borderOuter:{thickness:5},borderInner:{thickness:5},decorations:{left:{disabled:!0},right:{disabled:!0},top:{enableText:!0,value:"HEADER",offset:6,style:{fontSize:18}},bottom:{enableText:!0,value:"FOOTER",offset:2,style:{fontSize:18}}}}}},{id:"high-radius-thin-double-curved-text",name:"High Radius Thin Double Curved Text",options:{margin:-16,shape:"circle",borderOptions:{...wr,thickness:26,radius:"35%",borderOuter:{thickness:6},borderInner:{thickness:13},decorations:{top:{enableText:!0,value:"TOP TEXT",offset:8,curveDisabled:!1,style:{fontSize:16}},right:{disabled:!0},left:{disabled:!0},bottom:{enableText:!0,curveDisabled:!1,offset:4,style:{fontSize:16}}}}}},Gr,{id:"minimalist-thin-square",name:"Minimalist Thin Square",options:{borderOptions:{...wr,thickness:8,radius:"4%"}}},{id:"minimalist-thin-rounded",name:"Minimalist Thin Rounded",options:{margin:4,borderOptions:{...wr,thickness:8,radius:"25%"}}},{id:"chunky-square-border-text",name:"Chunky Square Border Text",options:{margin:10,borderOptions:{...wr,thickness:50,radius:"5%",borderOuter:{thickness:6},borderInner:{thickness:6},decorations:{top:{enableText:!0,value:"SCAN ME",style:{fontSize:18,fontWeight:"bold"},offset:4},left:{enableText:!0,value:"LEFT TEXT",style:{fontSize:18,fontWeight:"bold"},offset:4},right:{enableText:!0,value:"RIGHT TEXT",style:{fontSize:18,fontWeight:"bold"},offset:4},bottom:{enableText:!0,value:"BOTTOM TEXT",style:{fontSize:18,fontWeight:"bold"},offset:4}}}}},{id:"chunky-rounded-border",name:"Chunky Rounded Border",options:{margin:6,borderOptions:{...wr,thickness:50,radius:"50%",inner:{radius:"15%"},borderOuter:{thickness:6},borderInner:{thickness:6},decorations:{top:{enableText:!0,value:"SCAN ME",style:{fontSize:18,fontWeight:"bold"},offset:4},left:{enableText:!0,value:"LEFT TEXT",style:{fontSize:18,fontWeight:"bold"},offset:4},right:{enableText:!0,value:"RIGHT TEXT",style:{fontSize:18,fontWeight:"bold"},offset:4},bottom:{enableText:!0,value:"BOTTOM TEXT",style:{fontSize:18,fontWeight:"bold"}}}}}},{id:"double-thick-main-thin-subs-rounded",name:"Double Thick Main Thin Subs Rounded",options:{margin:2,borderOptions:{...wr,thickness:25,radius:"20%",borderOuter:{thickness:6},borderInner:{thickness:6},decorations:{top:{enableText:!0,value:"SCAN ME",style:{fontSize:16,fontWeight:"bold"},offset:5},left:{enableText:!0,value:"LEFT TEXT",style:{fontSize:16,fontWeight:"bold"},offset:6},right:{enableText:!0,value:"RIGHT TEXT",style:{fontSize:16,fontWeight:"bold"},offset:6},bottom:{enableText:!0,value:"BOTTOM TEXT",style:{fontSize:16,fontWeight:"bold"},offset:4}}}}},{id:"double-thick-main-thick-subs-square",name:"Double Thick Main Thick Subs Square",options:{margin:2,borderOptions:{...wr,thickness:25,radius:"4%",borderOuter:{thickness:6},borderInner:{thickness:6},decorations:{top:{enableText:!0,style:{fontSize:16,fontWeight:"bold"},offset:5,value:"SCAN ME"},left:{enableText:!0,style:{fontSize:16,fontWeight:"bold"},offset:7,value:"LEFT TEXT"},right:{enableText:!0,style:{fontSize:16,fontWeight:"bold"},offset:7,value:"RIGHT TEXT"},bottom:{enableText:!0,style:{fontSize:16,fontWeight:"bold"},offset:5,value:"BOTTOM TEXT"}}}}},{id:"inner-thick-rounded",name:"Inner Thick Rounded",options:{borderOptions:{...wr,thickness:2,radius:"35%",borderOuter:{thickness:10},borderInner:{thickness:30},inner:{radius:"15%"},decorations:{top:{enableText:!0,value:"SCAN ME",style:{fontSize:18,fontWeight:"bold",fontColor:"#000"},offset:38},left:{enableText:!0,value:"LEFT TEXT",style:{fontSize:18,fontWeight:"bold",fontColor:"#000"},offset:40},right:{enableText:!0,value:"RIGHT TEXT",style:{fontSize:18,fontWeight:"bold",fontColor:"#000"},offset:38},bottom:{enableText:!0,value:"BOTTOM TEXT",curveDisabled:!0,style:{fontSize:18,fontWeight:"bold",fontColor:"#000"},offset:29}}}}},{id:"outer-thick-square",name:"Outer Thick Square",options:{borderOptions:{...wr,thickness:10,radius:"2%",borderOuter:{thickness:20},borderInner:{thickness:0}}}},{id:"pill-double-thin-text",name:"Pill Double Thin Text",options:{margin:-2,shape:"circle",borderOptions:{...wr,thickness:30,radius:"50%",borderOuter:{thickness:6},borderInner:{thickness:6},decorations:{top:{disabled:!1,enableText:!0,value:"SCAN ME",offset:5,style:{fontSize:18,fontWeight:"bold"}},left:{disabled:!0},right:{disabled:!0},bottom:{disabled:!1,enableText:!0,value:"BOTTOM TEXT",offset:3,style:{fontSize:18,fontWeight:"bold"}}}}}},{id:"double-thin-circle-inner-rounded",name:"Double Thin Circle Inner Rounded",options:{margin:-28,shape:"circle",borderOptions:{...wr,thickness:20,radius:"10%",inner:{radius:"25%"},borderOuter:{thickness:4},borderInner:{thickness:4},decorations:{top:{disabled:!1},left:{disabled:!0},right:{disabled:!0},bottom:{disabled:!1}}}}},{id:"square-top-bottom-text",name:"Square Top/Bottom Text",options:{borderOptions:{...wr,thickness:30,radius:"10%",decorations:{top:{enableText:!0,value:"SCAN CODE",offset:1,style:{fontSize:16}},bottom:{enableText:!0,value:"VISIT OUR SITE",style:{fontSize:16}}}}}},{id:"rounded-left-right-text",name:"Rounded Left/Right Text",options:{margin:2,borderOptions:{...wr,thickness:30,radius:"20%",decorations:{top:{disabled:!0},bottom:{disabled:!0},left:{enableText:!0,offset:2,value:"LEFT TEXT",style:{fontSize:19}},right:{enableText:!0,offset:2,value:"RIGHT TEXT",style:{fontSize:19}}}}}},{id:"square-left-text-only",name:"Square Left Text Only",options:{margin:2,borderOptions:{...wr,borderInner:{thickness:10},thickness:45,radius:"5%",decorations:{left:{enableText:!0,value:"SCAN ME",offset:6,style:{fontSize:20,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:{...wr,borderInner:{thickness:10},thickness:45,radius:"5%",decorations:{right:{enableText:!0,value:"WEBSITE.COM",offset:6,style:{fontSize:20,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:{...wr,borderInner:{thickness:10},thickness:40,radius:"35%",decorations:{left:{enableText:!0,offset:4,value:"SCAN",style:{fontSize:20,fontWeight:"bold"}},right:{enableText:!0,value:"NOW",offset:4,style:{fontSize:20,fontWeight:"bold"}},top:{disabled:!0},bottom:{disabled:!0}}}}},{id:"square-left-right-identical-text",name:"Square Left+Right Identical Text",options:{margin:2,borderOptions:{...wr,borderInner:{thickness:10},thickness:40,radius:"2%",decorations:{left:{enableText:!0,value:"QR CODE",offset:4,style:{fontSize:18,fontWeight:"bold"}},right:{enableText:!0,value:"QR CODE",offset:4,style:{fontSize:18,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:{...wr,borderInner:{thickness:10},thickness:45,inner:{radius:"45%",verticalOffset:-5},radius:"50%",decorations:{top:{disabled:!0},left:{enableText:!0,value:"FOLLOW US",offset:5,style:{fontSize:18,fontWeight:"bold"}},right:{enableText:!0,value:"CONTACT US",offset:5,style:{fontSize:18,fontWeight:"bold"}},bottom:{enableText:!0,value:"WEBSITE.COM",style:{fontSize:18,fontWeight:"bold"}}}}}},{id:"pill-left-right-top-text",name:"Pill Left Right Top Text",options:{margin:2,shape:"circle",borderOptions:{...wr,borderInner:{thickness:10},thickness:45,inner:{radius:"45%",verticalOffset:-5},radius:"50%",decorations:{top:{enableText:!0,value:"WEBSITE.COM",offset:5,curveDisabled:!1,style:{fontSize:20,fontWeight:"bold"}},left:{enableText:!0,value:"FOLLOW US",offset:5,style:{fontSize:18,fontWeight:"bold"}},right:{enableText:!0,value:"SHARE LINK",offset:5,style:{fontSize:18,fontWeight:"bold"}},bottom:{disabled:!0}}}}}];function _r(e){return Xr.find((t=>t.name.toLowerCase()===e.toLowerCase()))}function Fr(e){return Xr.find((t=>t.id===e))}const Nr=[{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 zr(e){return Nr.find((t=>t.name.toLowerCase()===e.toLowerCase()))}function Ur(e){return Nr.find((t=>t.id===e))}var Kr;!function(e){e.svg="svg",e.png="png",e.jpeg="jpeg",e.webp="webp"}(Kr||(Kr={})),Object.assign(b.stringToBytesFuncs,{UTF8:e=>function(e){const t=[];for(let o=0;o<e.length;o++){let r=e.charCodeAt(o);r<128?t.push(r):r<2048?t.push(192|r>>6,128|63&r):r<55296||r>=57344?t.push(224|r>>12,128|r>>6&63,128|63&r):(o++,r=65536+((1023&r)<<10|1023&e.charCodeAt(o)),t.push(240|r>>18,128|r>>12&63,128|r>>6&63,128|63&r))}return t}(e)});let Hr=class t{get size(){return this.qrSVG?{width:this.qrSVG.width,height:this.qrSVG.height}:void 0}constructor(e,o=!1){var r;this._svgId=`qr-svg-${Math.random().toString(36).substring(2,9)}`,(r=e)&&0!==Object.keys(r).length||(console.warn("QRCodeJs: Options not provided. Using default options and base template."),e=qe);const n=e;let i=qe;t._selectedTemplate&&(i="id"in t._selectedTemplate&&"options"in t._selectedTemplate?S(i,t._selectedTemplate.options):S(i,t._selectedTemplate));let s={};t._selectedBorder&&(s="id"in t._selectedBorder&&"options"in t._selectedBorder?t._selectedBorder.options:t._selectedBorder);let a={};if(t._selectedStyle){const{isValid:e,errors:o}=Ae(t._selectedStyle);e?a=ve(t._selectedStyle):console.warn("Invalid static style options ignored during instantiation:",o)}let l={};t._selectedImage&&!t._selectedImageOverride&&(l={image:t._selectedImage});let d={};t._selectedData&&!t._selectedDataOverride&&(d={data:t._selectedData});const c={};if(t._selectedText&&!t._selectedTextOverride){let e=null;if(e="id"in t._selectedText&&"options"in t._selectedText?t._selectedText.options:t._selectedText,e){c.borderOptions||(c.borderOptions={}),c.borderOptions.decorations||(c.borderOptions.decorations={});const t=c.borderOptions.decorations,o=null===e.value?void 0:e.value;void 0!==e.value&&(void 0===e.topValue&&(t.top={value:o}),void 0===e.bottomValue&&(t.bottom={value:o}),void 0===e.leftValue&&(t.left={value:o}),void 0===e.rightValue&&(t.right={value:o})),void 0!==e.topValue&&(t.top={value:null===e.topValue?void 0:e.topValue}),void 0!==e.leftValue&&(t.left={value:null===e.leftValue?void 0:e.leftValue}),void 0!==e.rightValue&&(t.right={value:null===e.rightValue?void 0:e.rightValue}),void 0!==e.bottomValue&&(t.bottom={value:null===e.bottomValue?void 0:e.bottomValue})}}const u=S(i,s,c,a,l,d,n,t._selectedOptions??{}),{warnings:h,validatedOptions:p}=$o(u);this.options=z(p);const m={};if(t._selectedImageOverride&&t._selectedImage&&(m.image=t._selectedImage),t._selectedTextOverride&&t._selectedText){m.borderOptions||(m.borderOptions={}),m.borderOptions.decorations||(m.borderOptions.decorations={});let e=null;if(e="id"in t._selectedText&&"options"in t._selectedText?t._selectedText.options:t._selectedText,e){const t=m.borderOptions.decorations,o=null===e.value?void 0:e.value;void 0!==e.value&&(void 0===e.topValue&&(t.top={value:o}),void 0===e.bottomValue&&(t.bottom={value:o}),void 0===e.leftValue&&(t.left={value:o}),void 0===e.rightValue&&(t.right={value:o})),void 0!==e.topValue&&(t.top={value:null===e.topValue?void 0:e.topValue}),void 0!==e.leftValue&&(t.left={value:null===e.leftValue?void 0:e.leftValue}),void 0!==e.rightValue&&(t.right={value:null===e.rightValue?void 0:e.rightValue}),void 0!==e.bottomValue&&(t.bottom={value:null===e.bottomValue?void 0:e.bottomValue})}}return t._selectedDataOverride&&t._selectedData&&(m.data=t._selectedData),t._selectedOptionsOverride&&t._selectedOptions&&Object.keys(m).length>0?this.options=z(S(this.options,S(m,t._selectedOptions))):Object.keys(m).length>0&&(this.options=z(S(this.options,m))),this.id=t._selectedInfo?.id,this.name=t._selectedInfo?.name,this.description=t._selectedInfo?.description,this.metadata=t._selectedMetadata??void 0,h.length>0&&this._logValidationWarnings("QR Code Options Validation Warnings:",h),this.update(),this}static setTemplate(e){if(null===e)return t._selectedTemplate=null,t;if("string"==typeof e){const o=e,r=Uo(o);r?t._selectedTemplate=r:(console.warn(`QR Code template name "${o}" not found. Using base template.`),t._selectedTemplate=qe)}else t._selectedTemplate=e;return t}static setTemplateId(e){if(null===e)return t._selectedTemplate=null,t;const o=Ko(e);return o?t._selectedTemplate=o:(console.warn(`QR Code template ID "${e}" not found in setTemplateId. Using default.`),t._selectedTemplate=qe),t}static getTemplates(){return{findTextTemplateById:Ur,findTextByName:zr,findTemplateByName:Uo,findTemplateById:Ko,findBorderById:Fr,findBorderByName:_r,findStyleById:Cr,findStyleByName:Sr,baseTemplates:zo,borderTemplates:Xr,styleTemplates:Or,textTemplates:Nr}}static setStyle(e){if(null===e)return t._selectedStyle=null,t;let o=null;if("string"==typeof e){const r=e,n=Sr(r);n?(o=n.style,t._selectedStyle=o):(console.warn(`QR Code style name "${r}" not found in setStyle. Ignoring.`),t._selectedStyle=null)}else{const{isValid:r,errors:n}=Ae(e);r?(o=e,t._selectedStyle=o):(console.warn("Invalid style options object provided to setStyle:",n),t._selectedStyle=null)}return t}static setBorder(e){if(null===e)return t._selectedBorder=null,t;if("string"==typeof e){const o=e,r=_r(o);r?t._selectedBorder=r:(console.warn(`QR Code border template name "${o}" not found. Ignoring.`),t._selectedBorder=null)}else t._selectedBorder={borderOptions:e};return t}static setBorderId(e){if(null===e)return t._selectedBorder=null,t;const o=Fr(e);return o?t._selectedBorder=o:(console.warn(`QR Code border template ID "${e}" not found in setBorderId. Ignoring.`),t._selectedBorder=null),t}static setStyleId(e){if(null===e)return t._selectedStyle=null,t;const o=Cr(e);return o?t._selectedStyle=o.style:(console.warn(`QR Code style ID "${e}" not found in setStyleId. Ignoring.`),t._selectedStyle=null),t}static setImage(e,o){return t._selectedImage=e,t._selectedImageOverride=!!o?.override,t}static setData(e,o){return t._selectedData=e,t._selectedDataOverride=!!o?.override,t}static setOptions(e,o){return t._selectedOptions=e,t._selectedOptionsOverride=!!o?.override,t}static setText(e,o){if(null===e)t._selectedText=null;else if("string"==typeof e){const o=zr(e);o?t._selectedText=o:(console.warn(`QR Code text template name "${e}" not found. Ignoring.`),t._selectedText=null)}else t._selectedText=e;return t._selectedTextOverride=!!o?.override,t}static setTextId(e,o){if(null===e)t._selectedText=null;else{const o=Ur(e);console.log("foundTextTemplate",o),o?t._selectedText=o:(console.warn(`QR Code text template ID "${e}" not found in setTextId. Ignoring.`),t._selectedText=null)}return t._selectedTextOverride=!!o?.override,t}static setSettings(e){if(null===e)return t._selectedTemplate=null,t._selectedBorder=null,t._selectedStyle=null,t._selectedImage=null,t._selectedImageOverride=!1,t._selectedText=null,t._selectedTextOverride=!1,t._selectedData=null,t._selectedDataOverride=!1,t._selectedOptions=null,t._selectedOptionsOverride=!1,t._selectedInfo=null,t._selectedMetadata=null,t;const{id:o,name:r,description:n,metadata:i,options:s,template:a,templateId:l,style:d,styleId:c,border:u,borderId:h,text:p,textId:m,image:f,data:g,...b}=e;return t._selectedInfo={id:o,name:r,description:n},t._selectedMetadata=i??null,l?t.setTemplateId(l):a&&t.setTemplate(a),c?t.setStyleId(c):d&&t.setStyle(d),h?t.setBorderId(h):u&&t.setBorder(u),m?t.setTextId(m):p&&t.setText(p),f&&t.setImage(f),g&&t.setData(g),s&&t.setOptions(s),Object.keys(b).length>0&&console.warn("QRCodeJs.setSettings: Unknown properties in settings object:",b),t}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(e){return this.id=e,this}setName(e){return this.name=e,this}setDescription(e){return this.description=e,this}setMetadata(e){return this.metadata=e,this}async update(e){const t=e?S(this.options,e):this.options,{warnings:o,validatedOptions:r}=$o(t);if(o.length>0&&this._logValidationWarnings("QR Code JS Options Update Validation Warnings:",o),this.options=z(r),!this.options.data)return void console.warn("QR Code update called without data.");this.options.stringToBytesFuncs&&(Object.assign(b.stringToBytesFuncs,this.options.stringToBytesFuncs),delete this.options.stringToBytesFuncs),this.qr=new b(this.options.qrOptions.typeNumber,this.options.qrOptions.errorCorrectionLevel);const n=this.options.qrOptions?.mode||function(e){switch(!0){case/^[0-9]*$/.test(e):return g.numeric;case/^[0-9A-Z $%*+\-./:]*$/.test(e):return g.alphanumeric;case/[^\u0000-\u00ff]/.test(e):return g.unicode;default:return g.byte}}(this.options.data);this.qr.addData(this.options.data,n),this.qr.make(),await this._setupSvgAsync(),this.svgDrawingPromise&&await this.svgDrawingPromise;const i=this.qrSVG?.element;if(this.container&&i){const e=this.container.querySelector(`#${this._svgId}`);e?e!==i&&this.container.replaceChild(i,e):this.container.appendChild(i)}}append(e){return e?(this.container=e,this.qrSVG?.element&&!e.querySelector(`#${this._svgId}`)&&e.appendChild(this.qrSVG.element),this):(console.warn("QR Code append could not find container."),this)}async applyExtension(e){if(!e)throw new Error("Extension function should be defined.");this.extension=e,await this.update()}async deleteExtension(){this.extension=void 0,await this.update()}async serialize(e=!1){if(!this.qr)throw new Error("QR code is empty");if(this.qrSVG?.element||await this._setupSvgAsync(),this.svgDrawingPromise&&await this.svgDrawingPromise,!this.qrSVG?.element)return;let t=this.qrSVG.element;if(e){const e=this.qrSVG.element.cloneNode(!0);e.style.filter="invert(1)",t=e}let o=(new XMLSerializer).serializeToString(t);return o='<?xml version="1.0" standalone="no"?>\r\n'+o,o}async _setupSvgAsync(){if(!this.qr)return;let e=this.qr.getModuleCount();this.options.imageOptions.mode===F.background&&this.options.shape!==_.circle&&(e+=2);let t=Math.ceil((this.options.shape===_.circle?Math.sqrt(1.8):1.1)*e);t%2==0&&(t-=1);let o=0;this.options.imageOptions.mode===F.background&&(o+=this.options.imageOptions.margin||0);const r=Math.ceil(this.options.dotsOptions.size*(t+2*o)),n=this.options.borderOptions;let i=0,s=0;const a={top:0,right:0,bottom:0,left:0},l={top:0,right:0,bottom:0,left:0},d={top:0,right:0,bottom:0,left:0},c=(n?.noBorderThickness||n?.thickness)&&n.thickness?n.thickness/4:0;if(n?.hasBorder){const e=n.borderOuter?.thickness?2*n.borderOuter?.thickness:0,t=n.borderInner?.thickness?2*n.borderInner?.thickness:0;e>0&&(l.top=e/2,l.bottom=e/2,l.left=e/2,l.right=e/2),t>0&&(d.top=t/2,d.bottom=t/2,d.left=t/2,d.right=t/2),Z(n,"left")?(a.left=n.thickness??0,i+=n.thickness??0):(a.left=c,i+=c),Z(n,"right")?(a.right=n.thickness??0,i+=n.thickness??0):(a.right=c,i+=c),Z(n,"top")?(a.top=n.thickness??0,s+=n.thickness??0):(a.top=c,s+=c),R(n,"bottom",this._hls())?(a.bottom=n.thickness??0,s+=n.thickness??0):(a.bottom=c,s+=c)}const u=r+i,h=r+s;this.qrSVG=new br({...this.options,width:u,height:h,bordersMain:a,bordersOuter:l,bordersInner:d,errorCorrectionPercent:U[this.options.qrOptions.errorCorrectionLevel],hls:this._hls()}),this.qrSVG?.element?(this.qrSVG.element.id=this._svgId,this.svgDrawingPromise=this.qrSVG.drawQR(this.qr).then((()=>{this.qrSVG?.element&&(this.options.instanceId=this.qrSVG._instanceId,this.options.borderOptions?.hasBorder&&J(this.options.borderOptions)(this.qrSVG.element,this.options,r,this.qrSVG.drawBackgroundForBorder.bind(this.qrSVG),a,l,d,c,this._hls),this.extension?.(this.qrSVG.element,this.options))})).catch((e=>{throw console.error("Error during SVG drawing or post-processing:",e),e}))):console.error("QRSVG element not created immediately after instantiation.")}async _drawToCanvasForValidation(t){const{width:o=300,height:r=300}=this.qrSVG?.svgSize??t??e,n=o,i=r,s=document.createElement("canvas");s.width=n,s.height=i;const a=await this.serialize();if(!a)throw new Error("Failed to serialize SVG.");const l="data:image/svg+xml;base64,"+btoa(a);return new Promise(((e,t)=>{const o=new Image;o.width=n,o.height=i,o.crossOrigin="Anonymous",o.onload=()=>{const r=s.getContext("2d");if(!r)return t(new Error("Could not get canvas 2D context"));r.drawImage(o,0,0,n,i),e(s)},o.onerror=o.onabort=t,o.src=l}))}async drawToCanvas(e){const t=document.createElement("canvas"),o=window.devicePixelRatio||1,r=e?.antialiasFactor||2,n=e?.antialiasLevel||"medium",i=e?.antialias??!0,s=(async()=>{try{const s=await this.serialize();if(!s)return void console.warn("SVG serialization returned empty.");const a="data:image/svg+xml;base64,"+function(e){const t=(new TextEncoder).encode(e),o=Array.from(t,(e=>String.fromCharCode(e))).join("");return btoa(o)}(s),l=new Image;await new Promise(((e,t)=>{l.onload=()=>e(),l.onerror=e=>t(new Error(`Image load error: ${e}`)),l.onabort=()=>t(new Error("Image load aborted")),l.src=a}));const{width:d,height:c}=this.qrSVG?.svgSize??{},u=d??l.naturalWidth,h=c??l.naturalHeight;if(u<=0||h<=0)throw new Error("Invalid SVG dimensions");let p,m;void 0!==e?.width&&void 0!==e?.height?(p=e.width,m=e.height):void 0!==e?.width?(p=e.width,m=p*(h/u)):void 0!==e?.height?(m=e.height,p=m*(u/h)):(p=u,m=h),t.width=p*o,t.height=m*o,t.style.width=`${p}px`,t.style.height=`${m}px`;const f=p/u,g=m/h,b=Math.min(f,g),y=u*b,O=h*b,S=(p-y)/2,C=(m-O)/2;let w;try{w=new OffscreenCanvas(y*o*r,O*o*r)}catch(e){w=document.createElement("canvas"),w.width=y*o*r,w.height=O*o*r}const k=w.getContext("2d");if(!k)throw new Error("Could not get OffscreenCanvas 2D context");k.imageSmoothingEnabled=i,k.imageSmoothingQuality=n,k.drawImage(l,0,0,w.width,w.height);const v=t.getContext("2d");if(!v)throw new Error("Could not get canvas 2D context");v.imageSmoothingEnabled=i,v.imageSmoothingQuality=n,v.scale(o,o),v.drawImage(w,0,0,w.width,w.height,S,C,y,O)}catch(e){throw console.error("Error drawing to canvas:",e),e}})();return{canvas:t,canvasDrawingPromise:s}}async _drawToCanvasPrevious(t){const{width:o=300,height:r=300}=t??this.qrSVG?.svgSize??e,n=1*o,i=1*r,s=document.createElement("canvas");s.width=n,s.height=i;const a=(async()=>{try{const e=await this.serialize();if(!e)return void console.warn("SVG serialization returned empty.");const t="data:image/svg+xml;base64,"+btoa(e),a=new Image;a.width=n,a.height=i,await new Promise(((e,l)=>{a.onload=()=>{const t=Math.ceil(2*Math.max(o,r)/Math.max(a.width,a.height));let d;try{d=new OffscreenCanvas(a.width*t*2,a.height*t*2)}catch(e){d=document.createElement("canvas"),d.width=a.width*t*2,d.height=a.height*t*2}const c=d.getContext("2d");if(!c)return l(new Error("Could not get OffscreenCanvas 2D context"));c.drawImage(a,0,0,d.width,d.height);const u=s.getContext("2d");if(!u)return l(new Error("Could not get canvas 2D context"));u.drawImage(d,0,0,d.width,d.height,0,0,n,i),e()},a.onerror=e=>l(new Error(`Image load error: ${e}`)),a.onabort=()=>l(new Error("Image load aborted")),a.src=t}))}catch(e){throw console.error("Error drawing to canvas:",e),e}})();return{canvas:s,canvasDrawingPromise:a}}downloadURI(e,t){const o=document.createElement("a");o.download=t,o.href=e,document.body.appendChild(o),o.click(),document.body.removeChild(o)}async download(e,t){if("undefined"==typeof Blob)throw new Error("Cannot download in Node.js environment");let o=Kr.png,r="qr";if(e&&(e.name&&(r=e.name),e.extension&&(o=e.extension)),"svg"===o.toLowerCase()){const e=await this.serialize();if(!e)return;const t="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(e);this.downloadURI(t,`${r}.svg`)}else{const e=await this.drawToCanvas(t);if(!e)return;const{canvas:n,canvasDrawingPromise:i}=e;await i;const s=n.toDataURL(`image/${o}`);this.downloadURI(s,`${r}.${o}`)}}async createOptimizedQRCanvas(t){const{width:o=300,height:r=300}=this.qrSVG?.svgSize??t??e,n=document.createElement("canvas");n.width=o,n.height=r;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((e=>String.fromCharCode(e))).join(""));return new Promise(((e,t)=>{const i=new Image;i.width=o,i.height=r,i.crossOrigin="Anonymous",i.onload=()=>{const s=n.getContext("2d");if(!s)return t(new Error("Could not get canvas 2D context"));s.imageSmoothingEnabled=!1,s.drawImage(i,0,0,o,r),this.applyQRThreshold(n),e(n)},i.onerror=e=>t(new Error(`Image load error: ${e}`)),i.onabort=()=>t(new Error("Image load aborted")),i.src=s}))}applyQRThreshold(e){const t=e.getContext("2d");if(!t)return;const o=t.getImageData(0,0,e.width,e.height),r=o.data;for(let e=0;e<r.length;e+=4){const t=(r[e]+r[e+1]+r[e+2])/3<128?0:255;r[e]=r[e+1]=r[e+2]=t}t.putImageData(o,0,0)}_hls(){return!1}_logValidationWarnings(e,t){console.warn(e),t.forEach((e=>{console.warn(`option: ${e.path} - '${e.value}' : ${e.message}`)}))}};Hr.version="0.10.6",Hr._selectedTemplate=null,Hr._selectedBorder=null,Hr._selectedStyle=null,Hr._selectedImage=null,Hr._selectedImageOverride=!1,Hr._selectedText=null,Hr._selectedTextOverride=!1,Hr._selectedData=null,Hr._selectedDataOverride=!1,Hr._selectedOptions=null,Hr._selectedOptionsOverride=!1,Hr._selectedInfo=null,Hr._selectedMetadata=null;const Qr=new TextEncoder,$r=new TextDecoder;function en(e){if(Uint8Array.fromBase64)return Uint8Array.fromBase64("string"==typeof e?e:$r.decode(e),{alphabet:"base64url"});let t=e;t instanceof Uint8Array&&(t=$r.decode(t)),t=t.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return function(e){if(Uint8Array.fromBase64)return Uint8Array.fromBase64(e);const t=atob(e),o=new Uint8Array(t.length);for(let e=0;e<t.length;e++)o[e]=t.charCodeAt(e);return o}(t)}catch{throw new TypeError("The input to be decoded is not correctly encoded.")}}class tn extends Error{static code="ERR_JOSE_GENERIC";code="ERR_JOSE_GENERIC";constructor(e,t){super(e,t),this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}}class on extends tn{static code="ERR_JWT_CLAIM_VALIDATION_FAILED";code="ERR_JWT_CLAIM_VALIDATION_FAILED";claim;reason;payload;constructor(e,t,o="unspecified",r="unspecified"){super(e,{cause:{claim:o,reason:r,payload:t}}),this.claim=o,this.reason=r,this.payload=t}}class rn extends tn{static code="ERR_JWT_EXPIRED";code="ERR_JWT_EXPIRED";claim;reason;payload;constructor(e,t,o="unspecified",r="unspecified"){super(e,{cause:{claim:o,reason:r,payload:t}}),this.claim=o,this.reason=r,this.payload=t}}class nn extends tn{static code="ERR_JOSE_ALG_NOT_ALLOWED";code="ERR_JOSE_ALG_NOT_ALLOWED"}class sn extends tn{static code="ERR_JOSE_NOT_SUPPORTED";code="ERR_JOSE_NOT_SUPPORTED"}class an extends tn{static code="ERR_JWS_INVALID";code="ERR_JWS_INVALID"}class ln extends tn{static code="ERR_JWT_INVALID";code="ERR_JWT_INVALID"}class dn extends tn{static code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";constructor(e="signature verification failed",t){super(e,t)}}function cn(e,t="algorithm.name"){return new TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`)}function un(e,t){return e.name===t}function hn(e){return parseInt(e.name.slice(4),10)}function pn(e,t,o){switch(t){case"HS256":case"HS384":case"HS512":{if(!un(e.algorithm,"HMAC"))throw cn("HMAC");const o=parseInt(t.slice(2),10);if(hn(e.algorithm.hash)!==o)throw cn(`SHA-${o}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!un(e.algorithm,"RSASSA-PKCS1-v1_5"))throw cn("RSASSA-PKCS1-v1_5");const o=parseInt(t.slice(2),10);if(hn(e.algorithm.hash)!==o)throw cn(`SHA-${o}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!un(e.algorithm,"RSA-PSS"))throw cn("RSA-PSS");const o=parseInt(t.slice(2),10);if(hn(e.algorithm.hash)!==o)throw cn(`SHA-${o}`,"algorithm.hash");break}case"Ed25519":case"EdDSA":if(!un(e.algorithm,"Ed25519"))throw cn("Ed25519");break;case"ES256":case"ES384":case"ES512":{if(!un(e.algorithm,"ECDSA"))throw cn("ECDSA");const o=function(e){switch(e){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}(t);if(e.algorithm.namedCurve!==o)throw cn(o,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}!function(e,t){if(!e.usages.includes(t))throw new TypeError(`CryptoKey does not support this operation, its usages must include ${t}.`)}(e,o)}function mn(e,t,...o){if((o=o.filter(Boolean)).length>2){const t=o.pop();e+=`one of type ${o.join(", ")}, or ${t}.`}else 2===o.length?e+=`one of type ${o[0]} or ${o[1]}.`:e+=`of type ${o[0]}.`;return null==t?e+=` Received ${t}`:"function"==typeof t&&t.name?e+=` Received function ${t.name}`:"object"==typeof t&&null!=t&&t.constructor?.name&&(e+=` Received an instance of ${t.constructor.name}`),e}function fn(e,t,...o){return mn(`Key for the ${e} algorithm must be `,t,...o)}function gn(e){return"CryptoKey"===e?.[Symbol.toStringTag]}function bn(e){return"KeyObject"===e?.[Symbol.toStringTag]}var yn=e=>gn(e)||bn(e);var On=e=>{if("object"!=typeof(t=e)||null===t||"[object Object]"!==Object.prototype.toString.call(e))return!1;var t;if(null===Object.getPrototypeOf(e))return!0;let o=e;for(;null!==Object.getPrototypeOf(o);)o=Object.getPrototypeOf(o);return Object.getPrototypeOf(e)===o};const Sn=(e,t,o=0)=>{0===o&&(t.unshift(t.length),t.unshift(6));const r=e.indexOf(t[0],o);if(-1===r)return!1;const n=e.subarray(r,r+t.length);return n.length===t.length&&(n.every(((e,o)=>e===t[o]))||Sn(e,t,r+1))},Cn=async(e,t,o,r,n)=>{let i,s;const a=new Uint8Array(atob(o.replace(e,"")).split("").map((e=>e.charCodeAt(0))));switch(r){case"PS256":case"PS384":case"PS512":i={name:"RSA-PSS",hash:`SHA-${r.slice(-3)}`},s=["verify"];break;case"RS256":case"RS384":case"RS512":i={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${r.slice(-3)}`},s=["verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":i={name:"RSA-OAEP",hash:`SHA-${parseInt(r.slice(-3),10)||1}`},s=["encrypt","wrapKey"];break;case"ES256":i={name:"ECDSA",namedCurve:"P-256"},s=["verify"];break;case"ES384":i={name:"ECDSA",namedCurve:"P-384"},s=["verify"];break;case"ES512":i={name:"ECDSA",namedCurve:"P-521"},s=["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{const e=(e=>{switch(!0){case Sn(e,[42,134,72,206,61,3,1,7]):return"P-256";case Sn(e,[43,129,4,0,34]):return"P-384";case Sn(e,[43,129,4,0,35]):return"P-521";default:return}})(a);i=e?.startsWith("P-")?{name:"ECDH",namedCurve:e}:{name:"X25519"},s=[];break}case"Ed25519":case"EdDSA":i={name:"Ed25519"},s=["verify"];break;default:throw new sn('Invalid or unsupported "alg" (Algorithm) value')}return crypto.subtle.importKey(t,a,i,!0,s)};var wn=async e=>{if(!e.alg)throw new TypeError('"alg" argument is required when "jwk.alg" is not present');const{algorithm:t,keyUsages:o}=function(e){let t,o;switch(e.kty){case"RSA":switch(e.alg){case"PS256":case"PS384":case"PS512":t={name:"RSA-PSS",hash:`SHA-${e.alg.slice(-3)}`},o=e.d?["sign"]:["verify"];break;case"RS256":case"RS384":case"RS512":t={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${e.alg.slice(-3)}`},o=e.d?["sign"]:["verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":t={name:"RSA-OAEP",hash:`SHA-${parseInt(e.alg.slice(-3),10)||1}`},o=e.d?["decrypt","unwrapKey"]:["encrypt","wrapKey"];break;default:throw new sn('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;case"EC":switch(e.alg){case"ES256":t={name:"ECDSA",namedCurve:"P-256"},o=e.d?["sign"]:["verify"];break;case"ES384":t={name:"ECDSA",namedCurve:"P-384"},o=e.d?["sign"]:["verify"];break;case"ES512":t={name:"ECDSA",namedCurve:"P-521"},o=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:"ECDH",namedCurve:e.crv},o=e.d?["deriveBits"]:[];break;default:throw new sn('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;case"OKP":switch(e.alg){case"Ed25519":case"EdDSA":t={name:"Ed25519"},o=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:e.crv},o=e.d?["deriveBits"]:[];break;default:throw new sn('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;default:throw new sn('Invalid or unsupported JWK "kty" (Key Type) Parameter value')}return{algorithm:t,keyUsages:o}}(e),r={...e};return delete r.alg,delete r.use,crypto.subtle.importKey("jwk",r,t,e.ext??!e.d,e.key_ops??o)};async function kn(e,t,o){if(0!==e.indexOf("-----BEGIN PUBLIC KEY-----"))throw new TypeError('"spki" must be SPKI formatted string');return((e,t)=>Cn(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,"spki",e,t))(e,t)}function vn(e){return On(e)&&"string"==typeof e.kty}let An;const Tn=async(e,t,o,r=!1)=>{An||=new WeakMap;let n=An.get(e);if(n?.[o])return n[o];const i=await wn({...t,alg:o});return r&&Object.freeze(e),n?n[o]=i:An.set(e,{[o]:i}),i};var In=async(e,t)=>{if(e instanceof Uint8Array)return e;if(gn(e))return e;if(bn(e)){if("secret"===e.type)return e.export();if("toCryptoKey"in e&&"function"==typeof e.toCryptoKey)try{return((e,t)=>{An||=new WeakMap;let o=An.get(e);if(o?.[t])return o[t];const r="public"===e.type,n=!!r;let i;if("x25519"===e.asymmetricKeyType){switch(t){case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":break;default:throw new TypeError("given KeyObject instance cannot be used for this algorithm")}i=e.toCryptoKey(e.asymmetricKeyType,n,r?[]:["deriveBits"])}if("ed25519"===e.asymmetricKeyType){if("EdDSA"!==t&&"Ed25519"!==t)throw new TypeError("given KeyObject instance cannot be used for this algorithm");i=e.toCryptoKey(e.asymmetricKeyType,n,[r?"verify":"sign"])}if("rsa"===e.asymmetricKeyType){let o;switch(t){case"RSA-OAEP":o="SHA-1";break;case"RS256":case"PS256":case"RSA-OAEP-256":o="SHA-256";break;case"RS384":case"PS384":case"RSA-OAEP-384":o="SHA-384";break;case"RS512":case"PS512":case"RSA-OAEP-512":o="SHA-512";break;default:throw new TypeError("given KeyObject instance cannot be used for this algorithm")}if(t.startsWith("RSA-OAEP"))return e.toCryptoKey({name:"RSA-OAEP",hash:o},n,r?["encrypt"]:["decrypt"]);i=e.toCryptoKey({name:t.startsWith("PS")?"RSA-PSS":"RSASSA-PKCS1-v1_5",hash:o},n,[r?"verify":"sign"])}if("ec"===e.asymmetricKeyType){const o=new Map([["prime256v1","P-256"],["secp384r1","P-384"],["secp521r1","P-521"]]).get(e.asymmetricKeyDetails?.namedCurve);if(!o)throw new TypeError("given KeyObject instance cannot be used for this algorithm");"ES256"===t&&"P-256"===o&&(i=e.toCryptoKey({name:"ECDSA",namedCurve:o},n,[r?"verify":"sign"])),"ES384"===t&&"P-384"===o&&(i=e.toCryptoKey({name:"ECDSA",namedCurve:o},n,[r?"verify":"sign"])),"ES512"===t&&"P-521"===o&&(i=e.toCryptoKey({name:"ECDSA",namedCurve:o},n,[r?"verify":"sign"])),t.startsWith("ECDH-ES")&&(i=e.toCryptoKey({name:"ECDH",namedCurve:o},n,r?[]:["deriveBits"]))}if(!i)throw new TypeError("given KeyObject instance cannot be used for this algorithm");return o?o[t]=i:An.set(e,{[t]:i}),i})(e,t)}catch(e){if(e instanceof TypeError)throw e}let o=e.export({format:"jwk"});return Tn(e,o,t)}if(vn(e))return e.k?en(e.k):Tn(e,e,t,!0);throw new Error("unreachable")};const Dn=e=>e?.[Symbol.toStringTag],qn=(e,t,o)=>{if(void 0!==t.use){let e;switch(o){case"sign":case"verify":e="sig";break;case"encrypt":case"decrypt":e="enc"}if(t.use!==e)throw new TypeError(`Invalid key for this operation, its "use" must be "${e}" when present`)}if(void 0!==t.alg&&t.alg!==e)throw new TypeError(`Invalid key for this operation, its "alg" must be "${e}" when present`);if(Array.isArray(t.key_ops)){let r;switch(!0){case"verify"===o:case"dir"===e:case e.includes("CBC-HS"):r=o;break;case e.startsWith("PBES2"):r="deriveBits";break;case/^A\d{3}(?:GCM)?(?:KW)?$/.test(e):r=!e.includes("GCM")&&e.endsWith("KW")?"unwrapKey":o;break;case"encrypt"===o:r="wrapKey";break;case"decrypt"===o:r=e.startsWith("RSA")?"unwrapKey":"deriveBits"}if(r&&!1===t.key_ops?.includes?.(r))throw new TypeError(`Invalid key for this operation, its "key_ops" must include "${r}" when present`)}return!0};var xn=(e,t,o)=>{e.startsWith("HS")||"dir"===e||e.startsWith("PBES2")||/^A(?:128|192|256)(?:GCM)?(?:KW)?$/.test(e)||/^A(?:128|192|256)CBC-HS(?:256|384|512)$/.test(e)?((e,t,o)=>{if(!(t instanceof Uint8Array)){if(vn(t)){if(function(e){return"oct"===e.kty&&"string"==typeof e.k}(t)&&qn(e,t,o))return;throw new TypeError('JSON Web Key for symmetric algorithms must have JWK "kty" (Key Type) equal to "oct" and the JWK "k" (Key Value) present')}if(!yn(t))throw new TypeError(fn(e,t,"CryptoKey","KeyObject","JSON Web Key","Uint8Array"));if("secret"!==t.type)throw new TypeError(`${Dn(t)} instances for symmetric algorithms must be of type "secret"`)}})(e,t,o):((e,t,o)=>{if(vn(t))switch(o){case"decrypt":case"sign":if(function(e){return"oct"!==e.kty&&"string"==typeof e.d}(t)&&qn(e,t,o))return;throw new TypeError("JSON Web Key for this operation be a private JWK");case"encrypt":case"verify":if(function(e){return"oct"!==e.kty&&void 0===e.d}(t)&&qn(e,t,o))return;throw new TypeError("JSON Web Key for this operation be a public JWK")}if(!yn(t))throw new TypeError(fn(e,t,"CryptoKey","KeyObject","JSON Web Key"));if("secret"===t.type)throw new TypeError(`${Dn(t)} instances for asymmetric algorithms must not be of type "secret"`);if("public"===t.type)switch(o){case"sign":throw new TypeError(`${Dn(t)} instances for asymmetric algorithm signing must be of type "private"`);case"decrypt":throw new TypeError(`${Dn(t)} instances for asymmetric algorithm decryption must be of type "private"`)}if("private"===t.type)switch(o){case"verify":throw new TypeError(`${Dn(t)} instances for asymmetric algorithm verifying must be of type "public"`);case"encrypt":throw new TypeError(`${Dn(t)} instances for asymmetric algorithm encryption must be of type "public"`)}})(e,t,o)},Wn=async(e,t,o)=>{if(t instanceof Uint8Array){if(!e.startsWith("HS"))throw new TypeError(((e,...t)=>mn("Key must be ",e,...t))(t,"CryptoKey","KeyObject","JSON Web Key"));return crypto.subtle.importKey("raw",t,{hash:`SHA-${e.slice(-3)}`,name:"HMAC"},!1,[o])}return pn(t,e,o),t},Zn=async(e,t,o,r)=>{const n=await Wn(e,t,"verify");((e,t)=>{if(e.startsWith("RS")||e.startsWith("PS")){const{modulusLength:o}=t.algorithm;if("number"!=typeof o||o<2048)throw new TypeError(`${e} requires key modulusLength to be 2048 bits or larger`)}})(e,n);const i=((e,t)=>{const o=`SHA-${e.slice(-3)}`;switch(e){case"HS256":case"HS384":case"HS512":return{hash:o,name:"HMAC"};case"PS256":case"PS384":case"PS512":return{hash:o,name:"RSA-PSS",saltLength:parseInt(e.slice(-3),10)>>3};case"RS256":case"RS384":case"RS512":return{hash:o,name:"RSASSA-PKCS1-v1_5"};case"ES256":case"ES384":case"ES512":return{hash:o,name:"ECDSA",namedCurve:t.namedCurve};case"Ed25519":case"EdDSA":return{name:"Ed25519"};default:throw new sn(`alg ${e} is not supported either by JOSE or your javascript runtime`)}})(e,n.algorithm);try{return await crypto.subtle.verify(i,n,o,r)}catch{return!1}};async function Rn(e,t,o){if(!On(e))throw new an("Flattened JWS must be an object");if(void 0===e.protected&&void 0===e.header)throw new an('Flattened JWS must have either of the "protected" or "header" members');if(void 0!==e.protected&&"string"!=typeof e.protected)throw new an("JWS Protected Header incorrect type");if(void 0===e.payload)throw new an("JWS Payload missing");if("string"!=typeof e.signature)throw new an("JWS Signature missing or incorrect type");if(void 0!==e.header&&!On(e.header))throw new an("JWS Unprotected Header incorrect type");let r={};if(e.protected)try{const t=en(e.protected);r=JSON.parse($r.decode(t))}catch{throw new an("JWS Protected Header is invalid")}if(!((...e)=>{const t=e.filter(Boolean);if(0===t.length||1===t.length)return!0;let o;for(const e of t){const t=Object.keys(e);if(o&&0!==o.size)for(const e of t){if(o.has(e))return!1;o.add(e)}else o=new Set(t)}return!0})(r,e.header))throw new an("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");const n={...r,...e.header},i=((e,t,o,r,n)=>{if(void 0!==n.crit&&void 0===r?.crit)throw new e('"crit" (Critical) Header Parameter MUST be integrity protected');if(!r||void 0===r.crit)return new Set;if(!Array.isArray(r.crit)||0===r.crit.length||r.crit.some((e=>"string"!=typeof e||0===e.length)))throw new e('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');let i;i=void 0!==o?new Map([...Object.entries(o),...t.entries()]):t;for(const t of r.crit){if(!i.has(t))throw new sn(`Extension Header Parameter "${t}" is not recognized`);if(void 0===n[t])throw new e(`Extension Header Parameter "${t}" is missing`);if(i.get(t)&&void 0===r[t])throw new e(`Extension Header Parameter "${t}" MUST be integrity protected`)}return new Set(r.crit)})(an,new Map([["b64",!0]]),o?.crit,r,n);let s=!0;if(i.has("b64")&&(s=r.b64,"boolean"!=typeof s))throw new an('The "b64" (base64url-encode payload) Header Parameter must be a boolean');const{alg:a}=n;if("string"!=typeof a||!a)throw new an('JWS "alg" (Algorithm) Header Parameter missing or invalid');const l=((e,t)=>{if(void 0!==t&&(!Array.isArray(t)||t.some((e=>"string"!=typeof e))))throw new TypeError(`"${e}" option must be an array of strings`);if(t)return new Set(t)})("algorithms",o.algorithms);if(l&&!l.has(a))throw new nn('"alg" (Algorithm) Header Parameter value not allowed');if(s){if("string"!=typeof e.payload)throw new an("JWS Payload must be a string")}else if("string"!=typeof e.payload&&!(e.payload instanceof Uint8Array))throw new an("JWS Payload must be a string or an Uint8Array instance");let d=!1;"function"==typeof t&&(t=await t(r,e),d=!0),xn(a,t,"verify");const c=function(...e){const t=e.reduce(((e,{length:t})=>e+t),0),o=new Uint8Array(t);let r=0;for(const t of e)o.set(t,r),r+=t.length;return o}(Qr.encode(e.protected??""),Qr.encode("."),"string"==typeof e.payload?Qr.encode(e.payload):e.payload);let u;try{u=en(e.signature)}catch{throw new an("Failed to base64url decode the signature")}const h=await In(t,a);if(!await Zn(a,h,u,c))throw new dn;let p;if(s)try{p=en(e.payload)}catch{throw new an("Failed to base64url decode the payload")}else p="string"==typeof e.payload?Qr.encode(e.payload):e.payload;const m={payload:p};return void 0!==e.protected&&(m.protectedHeader=r),void 0!==e.header&&(m.unprotectedHeader=e.header),d?{...m,key:h}:m}const Vn=86400,En=/^(\+|\-)? ?(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i;var jn=e=>{const t=En.exec(e);if(!t||t[4]&&t[1])throw new TypeError("Invalid time period format");const o=parseFloat(t[2]);let r;switch(t[3].toLowerCase()){case"sec":case"secs":case"second":case"seconds":case"s":r=Math.round(o);break;case"minute":case"minutes":case"min":case"mins":case"m":r=Math.round(60*o);break;case"hour":case"hours":case"hr":case"hrs":case"h":r=Math.round(3600*o);break;case"day":case"days":case"d":r=Math.round(o*Vn);break;case"week":case"weeks":case"w":r=Math.round(604800*o);break;default:r=Math.round(31557600*o)}return"-"===t[1]||"ago"===t[4]?-r:r};const Mn=e=>e.toLowerCase().replace(/^application\//,"");function Bn(e,t,o={}){let r;try{r=JSON.parse($r.decode(t))}catch{}if(!On(r))throw new ln("JWT Claims Set must be a top-level JSON object");const{typ:n}=o;if(n&&("string"!=typeof e.typ||Mn(e.typ)!==Mn(n)))throw new on('unexpected "typ" JWT header value',r,"typ","check_failed");const{requiredClaims:i=[],issuer:s,subject:a,audience:l,maxTokenAge:d}=o,c=[...i];void 0!==d&&c.push("iat"),void 0!==l&&c.push("aud"),void 0!==a&&c.push("sub"),void 0!==s&&c.push("iss");for(const e of new Set(c.reverse()))if(!(e in r))throw new on(`missing required "${e}" claim`,r,e,"missing");if(s&&!(Array.isArray(s)?s:[s]).includes(r.iss))throw new on('unexpected "iss" claim value',r,"iss","check_failed");if(a&&r.sub!==a)throw new on('unexpected "sub" claim value',r,"sub","check_failed");if(l&&(u=r.aud,h="string"==typeof l?[l]:l,!("string"==typeof u?h.includes(u):Array.isArray(u)&&h.some(Set.prototype.has.bind(new Set(u))))))throw new on('unexpected "aud" claim value',r,"aud","check_failed");var u,h;let p;switch(typeof o.clockTolerance){case"string":p=jn(o.clockTolerance);break;case"number":p=o.clockTolerance;break;case"undefined":p=0;break;default:throw new TypeError("Invalid clockTolerance option type")}const{currentDate:m}=o,f=(g=m||new Date,Math.floor(g.getTime()/1e3));var g;if((void 0!==r.iat||d)&&"number"!=typeof r.iat)throw new on('"iat" claim must be a number',r,"iat","invalid");if(void 0!==r.nbf){if("number"!=typeof r.nbf)throw new on('"nbf" claim must be a number',r,"nbf","invalid");if(r.nbf>f+p)throw new on('"nbf" claim timestamp check failed',r,"nbf","check_failed")}if(void 0!==r.exp){if("number"!=typeof r.exp)throw new on('"exp" claim must be a number',r,"exp","invalid");if(r.exp<=f-p)throw new rn('"exp" claim timestamp check failed',r,"exp","check_failed")}if(d){const e=f-r.iat;if(e-p>("number"==typeof d?d:jn(d)))throw new rn('"iat" claim timestamp check failed (too far in the past)',r,"iat","check_failed");if(e<0-p)throw new on('"iat" claim timestamp check failed (it should be in the past)',r,"iat","check_failed")}return r}async function Jn(e,t,o){const r=await async function(e,t,o){if(e instanceof Uint8Array&&(e=$r.decode(e)),"string"!=typeof e)throw new an("Compact JWS must be a string or Uint8Array");const{0:r,1:n,2:i,length:s}=e.split(".");if(3!==s)throw new an("Invalid Compact JWS");const a=await Rn({payload:n,protected:r,signature:i},t,o),l={payload:a.payload,protectedHeader:a.protectedHeader};return"function"==typeof t?{...l,key:a.key}:l}(e,t,o);if(r.protectedHeader.crit?.includes("b64")&&!1===r.protectedHeader.b64)throw new ln("JWTs MUST NOT use unencoded payload");const n={payload:Bn(r.protectedHeader,r.payload,o),protectedHeader:r.protectedHeader};return"function"==typeof t?{...n,key:r.key}:n}const Yn="QRCodeJsLicense",Pn=O(["ol","ac","hl","so","t"].reverse().join("")),Ln=O(["ol","ac","it","no"].reverse().join("")),Gn=O(["oh","ts","an","em"].reverse().join(""));class Xn{constructor(){this._hls=!1,this._decodedToken=null,this._licenseKey=null,this._isInitialized=!1,this._initPromise=null,this._licenseFetcher=async e=>{const t=Xn._customLicenseApiUrl||`${lr}//v1/license/get-token`;try{const o=await fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({licenseKey:e})});if(!o.ok){let e={};try{e=await o.json()}catch(e){}throw new Error(`Failed to fetch token: ${o.status} ${e?.error||o.statusText}`)}const r=await o.text();if(!r)throw new Error("Fetched token is empty.");return r}catch(e){throw console.error(`LicenseManager: Default fetcher failed: ${e.message}`),new Error(`License fetcher failed: ${e.message}`)}}}static get instance(){return Xn._instance||(Xn._instance=new Xn),Xn._instance}static setDefaultLicenseApiUrl(e){"string"==typeof e&&e?Xn._customLicenseApiUrl=e:console.warn("LicenseManager: Invalid URL provided to setDefaultLicenseApiUrl.")}get hls(){return this._hls}get isInitialized(){return this._isInitialized}getLicenseDetails(){return this._hls?this._decodedToken:null}get licenseKey(){return this._licenseKey}configureLicenseFetcher(e){if("function"!=typeof e)throw new Error("License fetcher must be a function that accepts a license key string and returns a Promise<string>.");this._licenseFetcher=e,this.resetInitialization(),this.resetLicenseState()}async initialize(){return this._isInitialized&&this._initPromise||this._initPromise||(this._initPromise=this._performInitialization()),this._initPromise}async _performInitialization(){if(this._hls)return this._isInitialized=!0,!0;this.resetLicenseState();const e=this._getStoredLicenseData(),t=e.token||null,o=e.key||null;if(this._licenseKey=o,!t)return this._isInitialized=!0,!1;const r=await this._validateAndStoreToken(t,o);if(r.isValid)return this._hls=!0,this._decodedToken=r.license,this._isInitialized=!0,!0;if(r.reason||console.warn("LicenseManager: Stored license token failed validation during initialization (unknown reason)."),!o)return console.warn("LicenseManager: Cannot refresh token: No license key found in storage."),this._isInitialized=!0,!1;console.warn("LicenseManager: Attempting to refresh token using stored license key...");try{const e=await this.activateWithKey(o);return this._isInitialized=!0,e.isValid}catch(e){return console.error(`LicenseManager: Auto-refresh attempt failed unexpectedly: ${e.message}`),this._licenseKey=o,this._isInitialized=!0,!1}}resetInitialization(){this._isInitialized=!1,this._initPromise=null}resetLicenseState(){this._hls=!1,this._decodedToken=null,this._licenseKey=null}async activateWithToken(e){let t;return this.resetInitialization(),null===e?(t=await this._validateAndStoreToken(null,this._licenseKey),this._hls=!1,this._decodedToken=null):"string"==typeof e&&e?(t=await this._validateAndStoreToken(e,null),this._hls=t.isValid,this._decodedToken=t.license,t.isValid?this._licenseKey=this._getStoredLicenseData().key||null:this._licenseKey=null):(console.warn("Invalid token string provided to activateWithToken()."),t=await this._validateAndStoreToken(null,null),t.reason="TOKEN_INVALID",this._hls=!1,this._decodedToken=null,this._licenseKey=null),this._isInitialized=!0,this._initPromise=Promise.resolve(this._hls),!t.isValid&&t.reason&&this._logValidationWarning(t.reason,{token:e,license:t.license}),t}async activateWithKey(e){this.resetInitialization();let t={isValid:!1,token:null,license:null};if(e&&"string"==typeof e){this._licenseKey=e;let o=null,r=null;const n=this._getStoredLicenseData();if(o=n.token||null,r=n.key||null,o&&r===e?(t=await this._validateAndStoreToken(o,e),t.isValid||(t.reason?this._logValidationWarning(t.reason,{licenseKey:e,license:t.license}):console.warn("LicenseManager: Cached token validation failed (unknown reason). Attempting to fetch a new token..."))):(t={isValid:!1,token:null,license:null},o&&r!==e&&console.warn("LicenseManager: Cached token belongs to a different license key. Fetching new token...")),!t.isValid)try{const o=await this._licenseFetcher(e);t=await this._validateAndStoreToken(o,e)}catch(o){let r="FETCH_FAILED";o?.message?.includes("Invalid license key")?r="KEY_INVALID":o?.message?.includes("License has expired")&&(r="TOKEN_EXPIRED"),await this._validateAndStoreToken(null,e),t={isValid:!1,token:null,license:null,reason:r}}this._hls=t.isValid,this._decodedToken=t.license}else console.warn("Invalid license key provided to activateWithKey()."),await this._validateAndStoreToken(null,null),t={isValid:!1,token:null,license:null,reason:"KEY_INVALID"},this._hls=!1,this._decodedToken=null,this._licenseKey=null;return this._isInitialized=!0,this._initPromise=Promise.resolve(this._hls),!t.isValid&&t.reason&&this._logValidationWarning(t.reason,{licenseKey:e,license:t.license}),t}_checkDomain(e){const t=window[Ln],o=window[Ln][Gn];if(Xn._currentHostname=o,!t||"string"!=typeof o||!o)return{domainValid:!0};const r=Xn._currentHostname.toLowerCase();if(r===Pn)return{domainValid:!0};const n=e.domains;if(!n||0===n.length)return{domainValid:!0};return n.map((e=>e.toLowerCase())).includes(r)?{domainValid:!0}:{domainValid:!1,reason:"DOMAIN_MISMATCH"}}_logValidationWarning(e,t){let o=`LicenseManager: Validation failed. Reason: ${e}`;try{switch(e){case"DOMAIN_MISMATCH":const e=Xn._currentHostname??"N/A";o=`LicenseManager: Domain mismatch. License is restricted to [${t?.license?.domains?.join(", ")||"Not specified in token"}], but the current domain is "${e}".`;break;case"TOKEN_EXPIRED":o=`LicenseManager: License token expired on ${t?.license?.exp?new Date(1e3*t.license.exp).toISOString():"N/A"}.`;break;case"TOKEN_INVALID":o="LicenseManager: License token is invalid (e.g., signature mismatch, malformed).";break;case"FETCH_FAILED":o="LicenseManager: Failed to fetch license token from the server. Check network or API endpoint.",t?.licenseKey&&(o+=` (Key: ${t.licenseKey})`);break;case"KEY_INVALID":o="LicenseManager: The provided license key appears invalid or could not be found by the server.",t?.licenseKey&&(o+=` (Key: ${t.licenseKey})`)}}catch(e){console.error("LicenseManager: Error generating validation warning message:",e)}console.warn(o)}_getStoredLicenseData(){if("undefined"==typeof localStorage)return{};try{const e=localStorage.getItem(Yn);return e?JSON.parse(e):{}}catch(e){return console.warn("LicenseManager: Failed to parse license data from localStorage.",e),localStorage.removeItem(Yn),{}}}_setStoredLicenseData(e){if("undefined"!=typeof localStorage)try{const t={};void 0!==e.token&&(t.token=e.token),void 0!==e.key&&(t.key=e.key),Object.keys(t).length>0?localStorage.setItem(Yn,JSON.stringify(t)):localStorage.removeItem(Yn)}catch(e){console.warn("LicenseManager: Failed to store license data to localStorage.",e)}}async _validateAndStoreToken(e,t){const o=this._getStoredLicenseData(),r=t??o.key??void 0;if(!e)return this._setStoredLicenseData({key:r}),{isValid:!1,token:null,license:null};let n,i=null;try{i=await async function(e){try{const t=await kn("-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ZCmxp1vq4LJLviS9d2u\nY5V9IykLzCrNcj8fCenqEyir5b4+FGE3hvLqp9zT+IYRF2cV2K0aGe9G0COFZsX2\nE5ye1DguyvPQgRMPO8y7bxXJ3da1IP7Gs+/3gy4iuzRV4Uhy73jUVpqE/zZ2JAv/\nsY36Rxmq4h7YE/F6YQk3DeZvnHjS7spUlp/+d3W67G8v2jiYWy3pO08Sn0rF2cjg\nXrJA5jcNr7ksER7AQcwayaLT4rAV4+EOcDYXL2egnqoTEmRzQYD2ReHBsO6jB0Ud\nbmsNepxbBdq/fBr+5HNj2tUJItarfH3BUVRFu/L1xP8wOEQa8wmPRwrJdPsI3bdk\n7QIDAQAB\n-----END PUBLIC KEY-----","RS256"),{payload:o}=await Jn(e,t,{algorithms:["RS256"]});if(!o||"string"!=typeof o.sub)throw new tn("Decoded token payload structure is invalid.");return o}catch(e){throw e}}(e);try{const t=this._checkDomain(i);if(!t.domainValid)return n=t.reason,o.token===e&&this._setStoredLicenseData({key:r}),{isValid:!1,token:null,license:i,reason:n}}catch(t){return console.error("LicenseManager: Internal error during domain check.",t),n="TOKEN_INVALID",o.token===e&&this._setStoredLicenseData({key:r}),{isValid:!1,token:null,license:i,reason:n}}return this._setStoredLicenseData({token:e,key:r}),{isValid:!0,token:e,license:i}}catch(t){return t instanceof rn?n="TOKEN_EXPIRED":(n="TOKEN_INVALID",console.error("LicenseManager: Token validation failed.",t)),o.token===e&&this._setStoredLicenseData({key:r}),{isValid:!1,token:null,license:i,reason:n}}}}Xn._instance=null,Xn._customLicenseApiUrl=null,Xn._currentHostname=null;class _n extends Hr{constructor(e,t=!1){super(e),t||(Xn.instance.isInitialized||Xn.instance.hls?Xn.instance.isInitialized&&!Xn.instance.hls&&console.warn("QRCode.js: No valid license found. Some features may be limited."):console.warn("QRCode.js: License state not yet initialized. Call QRCodeJs.initializeIfNeeded() or activate a license."))}_hls(){return Xn.instance.isInitialized?Xn.instance.hls:(Xn.instance.initialize().catch((e=>{console.error("QRCode.js: Background license initialization failed:",e)})),!1)}static async initializeIfNeeded(){return Xn.instance.initialize()}static get hls(){return Xn.instance.isInitialized?Xn.instance.hls:(Xn.instance.initialize().catch((e=>{console.error("QRCode.js: Background license initialization failed:",e)})),!1)}static getLicenseDetails(){return Xn.instance.isInitialized?Xn.instance.getLicenseDetails():(Xn.instance.initialize().catch((e=>{console.error("QRCode.js: Background license initialization failed:",e)})),null)}static configureLicenseFetcher(e){Xn.instance.configureLicenseFetcher(e)}static async token(e){return Xn.instance.activateWithToken(e)}static setLicenseUrl(e){return Xn.setDefaultLicenseApiUrl(e),this}static async license(e){return Xn.instance.activateWithKey(e)}async validateScanning(e="zbar",t=!1){if(!this._hls())return console.warn("QRCode.js: Scanning validation requires a valid license."),Promise.reject({isValid:!1,message:"Valid license required for scanning validation."});try{const{default:e}=await import("./chunks/zbar-scan-validator-CdUmQrkV.js").then((function(e){return e.z})),o=await this.serialize(),r=this.size;if(!r)throw new Error("QR code dimensions not available for validation. Ensure the QR code has been generated.");const{width:n,height:i}=r,s=await(new e).validate(o,(async()=>this.serialize(!0)),n,i,t);if(s.isValid)return s;{console.debug("Zbar validation failed, trying Zxing...");const{default:e}=await import("./chunks/zxing-scan-validator-C8aRSTHv.js");return(new e).validate(o,(async()=>this.serialize(!0)),t)}}catch(e){const t=e instanceof Error?e.message:"Unknown validation error";return console.error(`Validation failed: ${t}`,e),Promise.reject({isValid:!1,message:t})}}static useTemplate(e){return new Nn(this,e)}static useTemplateId(e){return new Nn(this).useTemplateId(e)}static useStyle(e){return new Nn(this).useStyle(e)}static useStyleId(e){return new Nn(this).useStyleId(e)}static useBorder(e){return new Nn(this).useBorder(e)}static useBorderId(e){return new Nn(this).useBorderId(e)}static useImage(e,t){return new Nn(this).useImage(e,t)}static useText(e,t){return new Nn(this).useText(e,t)}static useTextId(e,t){return new Nn(this).useTextId(e,t)}static useData(e,t){return new Nn(this).useData(e,t)}static useOptions(e,t){return new Nn(this).useOptions(e,t)}static useSettings(e){return new Nn(this).useSettings(e)}}class Fn extends _n{_hls(){return!0}constructor(e){super(e,!0)}}class Nn{constructor(e,t){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=e,"string"==typeof t?(this._templateSource=t,this._isTemplateById=!1):t&&(this._initialOptions=t)}useTemplate(e){return this._templateSource=e,this._isTemplateById=!1,this._initialOptions=null,this}useTemplateId(e){return this._templateSource=e,this._isTemplateById=!0,this._initialOptions=null,this}useStyle(e){return this._styleSource=e,this._isStyleById=!1,this}useStyleId(e){return this._styleSource=e,this._isStyleById=!0,this}useBorder(e){return this._borderSource=e,this._isBorderById=!1,this}useBorderId(e){return this._borderSource=e,this._isBorderById=!0,this}useImage(e,t){return this._imageSource=e,this._imageOverride=!!t?.override,this}useData(e,t){return this._dataSource=e,this._dataOverride=!!t?.override,this}useText(e,t){return this._textSource=e,this._isTextById=!1,this._textOverride=!!t?.override,this._initialOptions=null,this}useTextId(e,t){return this._textSource=e,this._isTextById=!0,this._textOverride=!!t?.override,this._initialOptions=null,this}useOptions(e,t){return this._optionsSource=e,this._optionsOverride=!!t?.override,this._initialOptions=null,this}useId(e){return this._idSource=e,this._initialOptions=null,this}useName(e){return this._nameSource=e,this._initialOptions=null,this}useDescription(e){return this._descriptionSource=e,this._initialOptions=null,this}useMetadata(e){return this._metadataSource=e,this._initialOptions=null,this}useSettings(e){return this._initialOptions=null,void 0!==e.id&&(this._idSource=e.id),void 0!==e.name&&(this._nameSource=e.name),void 0!==e.description&&(this._descriptionSource=e.description),void 0!==e.metadata&&(this._metadataSource=e.metadata),e.templateId?(this._templateSource=e.templateId,this._isTemplateById=!0):e.template&&(this._templateSource=e.template,this._isTemplateById=!1),e.borderId?(this._borderSource=e.borderId,this._isBorderById=!0):e.border&&(e.border,this._borderSource=e.border,this._isBorderById=!1),this._textOverride||(e.textId?(this._textSource=e.textId,this._isTextById=!0):e.text&&(this._textSource=e.text,this._isTextById=!1)),e.style?(this._styleSource=e.style,this._isStyleById=!1):e.styleId&&(this._styleSource=e.styleId,this._isStyleById=!0),this._imageOverride||e.image&&(this._imageSource=e.image,this._imageOverride=!1),this._dataOverride||e.data&&(this._dataSource=e.data,this._dataOverride=!1),this._optionsOverride||e.options&&(this._optionsSource=e.options),this._initialOptions=null,this}_resolveAndMergeConfig(e={}){let t={};t=this._initialOptions?S({},this._initialOptions):S({},qe);let o=null;if(this._templateSource&&"string"==typeof this._templateSource){const e=(this._isTemplateById?Ko:Uo)(this._templateSource);if(e)o=e.options;else{const e=this._isTemplateById?"ID":"name";console.warn(`QR Code template ${e} "${this._templateSource}" not found. Using base template.`)}}else this._templateSource&&"string"!=typeof this._templateSource&&(o=this._templateSource);o&&(t=S(t,o));let r=null;if(this._borderSource)if("string"==typeof this._borderSource){const e=(this._isBorderById?Fr:_r)(this._borderSource);if(e)r=e.options;else{const e=this._isBorderById?"ID":"name";console.warn(`QR Code border ${e} "${this._borderSource}" not found. Ignoring.`)}}else r={borderOptions:this._borderSource};r&&(t=S(t,r));let n=null;if(this._textSource&&!this._textOverride){let e=null;if("string"==typeof this._textSource){const t=(this._isTextById?Ur:zr)(this._textSource);if(t)e=t.options;else{const e=this._isTextById?"ID":"name";console.warn(`QR Code text template ${e} "${this._textSource}" not found. Ignoring.`)}}else e=this._textSource;if(e){n={borderOptions:{decorations:{}}};const t=n.borderOptions.decorations,o=null===e.value?void 0:e.value;void 0!==e.value&&(void 0===e.topValue&&(t.top={value:o}),void 0===e.bottomValue&&(t.bottom={value:o}),void 0===e.leftValue&&(t.left={value:o}),void 0===e.rightValue&&(t.right={value:o})),void 0!==e.topValue&&(t.top={value:null===e.topValue?void 0:e.topValue}),void 0!==e.leftValue&&(t.left={value:null===e.leftValue?void 0:e.leftValue}),void 0!==e.rightValue&&(t.right={value:null===e.rightValue?void 0:e.rightValue}),void 0!==e.bottomValue&&(t.bottom={value:null===e.bottomValue?void 0:e.bottomValue})}}n&&(t=S(t,n));let i=null;if(this._styleSource)if("string"==typeof this._styleSource){const e=(this._isStyleById?Cr:Sr)(this._styleSource);if(e)i=e.style;else{const e=this._isStyleById?"ID":"name";console.warn(`QR Code style ${e} "${this._styleSource}" not found. Ignoring.`)}}else{const{isValid:e,errors:t}=Ae(this._styleSource);e?i=this._styleSource:console.warn("Invalid style options object provided:",t)}if(i){t=S(t,ve(i))}if(this._imageSource&&!this._imageOverride&&(t=S(t,{image:this._imageSource})),this._dataSource&&!this._dataOverride&&(t=S(t,{data:this._dataSource})),this._optionsSource&&!this._optionsOverride&&(t=S(t,this._optionsSource)),t=S(t,e),this._imageOverride&&this._imageSource&&(t=S(t,{image:this._imageSource})),this._textOverride&&this._textSource){const e={borderOptions:{decorations:{}}};let o=null;if("string"==typeof this._textSource){const e=(this._isTextById?Ur:zr)(this._textSource);e&&(o=e.options)}else o=this._textSource;if(o){const r=e.borderOptions.decorations,n=null===o.value?void 0:o.value;void 0!==o.value&&(void 0===o.topValue&&(r.top={value:n}),void 0===o.bottomValue&&(r.bottom={value:n}),void 0===o.leftValue&&(r.left={value:n}),void 0===o.rightValue&&(r.right={value:n})),void 0!==o.topValue&&(r.top={value:null===o.topValue?void 0:o.topValue}),void 0!==o.leftValue&&(r.left={value:null===o.leftValue?void 0:o.leftValue}),void 0!==o.rightValue&&(r.right={value:null===o.rightValue?void 0:o.rightValue}),void 0!==o.bottomValue&&(r.bottom={value:null===o.bottomValue?void 0:o.bottomValue}),t=S(t,e)}}return this._dataOverride&&this._dataSource&&(t=S(t,{data:this._dataSource})),this._optionsSource&&this._optionsOverride&&(t=S(t,this._optionsSource)),t}options(e){const t=this._resolveAndMergeConfig(e),o=new this._qrCodeConstructor(t);return null!==this._idSource&&o.setId(this._idSource),null!==this._nameSource&&o.setName(this._nameSource),null!==this._descriptionSource&&o.setDescription(this._descriptionSource),null!==this._metadataSource&&o.setMetadata(this._metadataSource),o}build(){const e=this._resolveAndMergeConfig(),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}}"undefined"!=typeof window&&(window.QRCodeJs=_n,window.__=Fn);export{G as CornerDotType,X as CornerSquareType,L as DotType,f as ErrorCorrectionLevel,Y as GradientType,F as ImageMode,g as Mode,Nn as QRCodeBuilder,_n as QRCodeJs,Yn as STORAGE_KEY,_ as ShapeType,m as TypeNumber,Fn as _};
1
+ const e={width:500,height:500,antialias:!0,antialiasFactor:2,antialiasLevel:"medium",margin:0};class t{constructor(){this.buffer=[],this.length=0}getBuffer(){return this.buffer}getLengthInBits(){return this.length}toString(){let e="";for(let t=0;t<this.getLengthInBits();t+=1)e+=this.getBit(t)?"1":"0";return e}getBit(e){return 1==(this.buffer[~~(e/8)]>>>7-e%8&1)}put(e,t){for(let o=0;o<t;o+=1)this.putBit(1==(e>>>t-o-1&1))}putBit(e){this.length==8*this.buffer.length&&this.buffer.push(0),e&&(this.buffer[~~(this.length/8)]|=128>>>this.length%8),this.length+=1}}var o,r,n;!function(e){e[e.L=1]="L",e[e.M=0]="M",e[e.Q=3]="Q",e[e.H=2]="H"}(o||(o={}));class i{constructor(){throw new Error("error")}static glog(e){if(e<1)throw new Error("log("+e+")");return i.LOG_TABLE[e]}static gexp(e){for(;e<0;)e+=255;for(;e>=256;)e-=255;return i.EXP_TABLE[e]}}i.initialize=(()=>{i.EXP_TABLE=[],i.LOG_TABLE=[];for(let e=0;e<256;e+=1)i.EXP_TABLE.push(e<8?1<<e:i.EXP_TABLE[e-4]^i.EXP_TABLE[e-5]^i.EXP_TABLE[e-6]^i.EXP_TABLE[e-8]),i.LOG_TABLE.push(0);for(let e=0;e<255;e+=1)i.LOG_TABLE[i.EXP_TABLE[e]]=e})();class s{constructor(e,t=0){let o=0;for(;o<e.length&&0==e[o];)o+=1;this.num=[];const r=e.length-o;for(let t=0;t<r;t+=1)this.num.push(e[o+t]);for(let e=0;e<t;e+=1)this.num.push(0)}getAt(e){return this.num[e]}getLength(){return this.num.length}toString(){let e="";for(let t=0;t<this.getLength();t+=1)t>0&&(e+=","),e+=this.getAt(t);return e.toString()}toLogString(){let e="";for(let t=0;t<this.getLength();t+=1)t>0&&(e+=","),e+=i.glog(this.getAt(t));return e.toString()}multiply(e){const t=[],o=this.getLength()+e.getLength()-1;for(let e=0;e<o;e+=1)t.push(0);for(let o=0;o<this.getLength();o+=1)for(let r=0;r<e.getLength();r+=1)t[o+r]^=i.gexp(i.glog(this.getAt(o))+i.glog(e.getAt(r)));return new s(t)}mod(e){if(this.getLength()-e.getLength()<0)return this;const t=i.glog(this.getAt(0))-i.glog(e.getAt(0)),o=[];for(let e=0;e<this.getLength();e+=1)o.push(this.getAt(e));for(let r=0;r<e.getLength();r+=1)o[r]^=i.gexp(i.glog(e.getAt(r))+t);return new s(o).mod(e)}}!function(e){e[e.MODE_NUMBER=1]="MODE_NUMBER",e[e.MODE_ALPHA_NUM=2]="MODE_ALPHA_NUM",e[e.MODE_8BIT_BYTE=4]="MODE_8BIT_BYTE",e[e.MODE_KANJI=8]="MODE_KANJI"}(r||(r={}));class a{constructor(e,t){this.mode=e,this.data=t}getMode(){return this.mode}getData(){return this.data}getLengthInBits(e){if(1<=e&&e<10)switch(this.mode){case r.MODE_NUMBER:return 10;case r.MODE_ALPHA_NUM:return 9;case r.MODE_8BIT_BYTE:case r.MODE_KANJI:return 8;default:throw new Error("mode:"+this.mode)}else if(e<27)switch(this.mode){case r.MODE_NUMBER:return 12;case r.MODE_ALPHA_NUM:return 11;case r.MODE_8BIT_BYTE:return 16;case r.MODE_KANJI:return 10;default:throw new Error("mode:"+this.mode)}else{if(!(e<41))throw new Error("typeNumber:"+e);switch(this.mode){case r.MODE_NUMBER:return 14;case r.MODE_ALPHA_NUM:return 13;case r.MODE_8BIT_BYTE:return 16;case r.MODE_KANJI:return 12;default:throw new Error("mode:"+this.mode)}}}}class l extends a{constructor(e,t){super(r.MODE_8BIT_BYTE,e),this.stringToBytes=t}write(e){this.stringToBytes(this.getData()).forEach((t=>e.put(t,8)))}getLength(){return this.stringToBytes(this.getData()).length}}class d extends a{constructor(e){super(r.MODE_ALPHA_NUM,e)}write(e){const t=this.getData();let o=0;for(;o+1<t.length;)e.put(45*d.getCode(t.charAt(o))+d.getCode(t.charAt(o+1)),11),o+=2;o<t.length&&e.put(d.getCode(t.charAt(o)),6)}getLength(){return this.getData().length}static getCode(e){if("0"<=e&&e<="9")return e.charCodeAt(0)-"0".charCodeAt(0);if("A"<=e&&e<="Z")return e.charCodeAt(0)-"A".charCodeAt(0)+10;switch(e){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 :"+e)}}}class c extends a{constructor(e,t){super(r.MODE_KANJI,e),this.stringToBytes=t}write(e){const t=this.stringToBytes(this.getData());let o=0;for(;o+1<t.length;){let r=(255&t[o])<<8|255&t[o+1];if(33088<=r&&r<=40956)r-=33088;else{if(!(57408<=r&&r<=60351))throw new Error("illegal char at "+(o+1)+"/"+r);r-=49472}r=192*(r>>>8&255)+(255&r),e.put(r,13),o+=2}if(o<t.length)throw new Error("illegal char at "+(o+1))}getLength(){return this.stringToBytes(this.getData()).length/2}}class u extends a{constructor(e){super(r.MODE_NUMBER,e)}write(e){const t=this.getData();let o=0;for(;o+2<t.length;)e.put(u.strToNum(t.substring(o,o+3)),10),o+=3;o<t.length&&(t.length-o==1?e.put(u.strToNum(t.substring(o,o+1)),4):t.length-o==2&&e.put(u.strToNum(t.substring(o,o+2)),7))}getLength(){return this.getData().length}static strToNum(e){let t=0;for(let o=0;o<e.length;o+=1)t=10*t+u.chatToNum(e.charAt(o));return t}static chatToNum(e){if("0"<=e&&e<="9")return e.charCodeAt(0)-"0".charCodeAt(0);throw new Error("illegal char :"+e)}}!function(e){e[e.PATTERN000=0]="PATTERN000",e[e.PATTERN001=1]="PATTERN001",e[e.PATTERN010=2]="PATTERN010",e[e.PATTERN011=3]="PATTERN011",e[e.PATTERN100=4]="PATTERN100",e[e.PATTERN101=5]="PATTERN101",e[e.PATTERN110=6]="PATTERN110",e[e.PATTERN111=7]="PATTERN111"}(n||(n={}));class h{constructor(){throw new Error("error")}static getPatternPosition(e){return h.PATTERN_POSITION_TABLE[e-1]}static getMaxLength(e,t,n){const i=e-1;let s=0,a=0;switch(n){case o.L:s=0;break;case o.M:s=1;break;case o.Q:s=2;break;case o.H:s=3;break;default:throw new Error("e:"+n)}switch(t){case r.MODE_NUMBER:a=0;break;case r.MODE_ALPHA_NUM:a=1;break;case r.MODE_8BIT_BYTE:a=2;break;case r.MODE_KANJI:a=3;break;default:throw new Error("m:"+t)}return h.MAX_LENGTH[i][s][a]}static getErrorCorrectPolynomial(e){let t=new s([1]);for(let o=0;o<e;o+=1)t=t.multiply(new s([1,i.gexp(o)]));return t}static getMaskFunc(e){switch(e){case n.PATTERN000:return(e,t)=>(e+t)%2==0;case n.PATTERN001:return(e,t)=>e%2==0;case n.PATTERN010:return(e,t)=>t%3==0;case n.PATTERN011:return(e,t)=>(e+t)%3==0;case n.PATTERN100:return(e,t)=>(~~(e/2)+~~(t/3))%2==0;case n.PATTERN101:return(e,t)=>e*t%2+e*t%3==0;case n.PATTERN110:return(e,t)=>(e*t%2+e*t%3)%2==0;case n.PATTERN111:return(e,t)=>(e*t%3+(e+t)%2)%2==0;default:throw new Error("mask:"+e)}}static getLostPoint(e){const t=e.getModuleCount();let o=0;for(let r=0;r<t;r+=1)for(let n=0;n<t;n+=1){let i=0;const s=e.isDark(r,n);for(let o=-1;o<=1;o+=1)if(!(r+o<0||t<=r+o))for(let a=-1;a<=1;a+=1)n+a<0||t<=n+a||0==o&&0==a||s==e.isDark(r+o,n+a)&&(i+=1);i>5&&(o+=3+i-5)}for(let r=0;r<t-1;r+=1)for(let n=0;n<t-1;n+=1){let t=0;e.isDark(r,n)&&(t+=1),e.isDark(r+1,n)&&(t+=1),e.isDark(r,n+1)&&(t+=1),e.isDark(r+1,n+1)&&(t+=1),0!=t&&4!=t||(o+=3)}for(let r=0;r<t;r+=1)for(let n=0;n<t-6;n+=1)e.isDark(r,n)&&!e.isDark(r,n+1)&&e.isDark(r,n+2)&&e.isDark(r,n+3)&&e.isDark(r,n+4)&&!e.isDark(r,n+5)&&e.isDark(r,n+6)&&(o+=40);for(let r=0;r<t;r+=1)for(let n=0;n<t-6;n+=1)e.isDark(n,r)&&!e.isDark(n+1,r)&&e.isDark(n+2,r)&&e.isDark(n+3,r)&&e.isDark(n+4,r)&&!e.isDark(n+5,r)&&e.isDark(n+6,r)&&(o+=40);let r=0;for(let o=0;o<t;o+=1)for(let n=0;n<t;n+=1)e.isDark(n,o)&&(r+=1);return o+=10*(Math.abs(100*r/t/t-50)/5),o}static getBCHTypeInfo(e){let t=e<<10;for(;h.getBCHDigit(t)-h.getBCHDigit(h.G15)>=0;)t^=h.G15<<h.getBCHDigit(t)-h.getBCHDigit(h.G15);return(e<<10|t)^h.G15_MASK}static getBCHTypeNumber(e){let t=e<<12;for(;h.getBCHDigit(t)-h.getBCHDigit(h.G18)>=0;)t^=h.G18<<h.getBCHDigit(t)-h.getBCHDigit(h.G18);return e<<12|t}static getBCHDigit(e){let t=0;for(;0!=e;)t+=1,e>>>=1;return t}}h.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]],h.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]]],h.G15=1335,h.G18=7973,h.G15_MASK=21522;class p{constructor(e,t){this.totalCount=e,this.dataCount=t}getDataCount(){return this.dataCount}getTotalCount(){return this.totalCount}static getRSBlocks(e,t){const o=p.getRsBlockTable(e,t),r=o.length/3,n=[];for(let e=0;e<r;e+=1){const t=o[3*e+0],r=o[3*e+1],i=o[3*e+2];for(let e=0;e<t;e+=1)n.push(new p(r,i))}return n}static getRsBlockTable(e,t){switch(t){case o.L:return p.RS_BLOCK_TABLE[4*(e-1)+0];case o.M:return p.RS_BLOCK_TABLE[4*(e-1)+1];case o.Q:return p.RS_BLOCK_TABLE[4*(e-1)+2];case o.H:return p.RS_BLOCK_TABLE[4*(e-1)+3]}throw new Error("tn:"+e+"/ecl:"+t)}}p.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 m=Array(41).fill(0).map(((e,t)=>t));var f,g;!function(e){e.L="L",e.M="M",e.Q="Q",e.H="H"}(f||(f={})),function(e){e.numeric="numeric",e.alphanumeric="alphanumeric",e.byte="byte",e.kanji="kanji",e.unicode="unicode"}(g||(g={}));class b{constructor(e=0,t=f.L){this.modules=[],this.moduleCount=0,this.typeNumber=e,this.errorCorrectLevel=o[t],this.qrDataList=[]}getTypeNumber(){return this.typeNumber}setTypeNumber(e){this.typeNumber=e}getErrorCorrectLevel(){return this.errorCorrectLevel}setErrorCorrectLevel(e){this.errorCorrectLevel=e}clearData(){this.qrDataList=[]}addData(e,t=g.byte){if(e instanceof a)this.qrDataList.push(e);else{if("string"!=typeof e)throw new Error(typeof e);switch(t){case g.numeric:this.qrDataList.push(new u(e));break;case g.alphanumeric:this.qrDataList.push(new d(e));break;case g.byte:this.qrDataList.push(new l(e,b.stringToBytesFuncs.default));break;case g.unicode:this.qrDataList.push(new l(e,b.stringToBytesFuncs.UTF8));break;case g.kanji:this.qrDataList.push(new c(e,b.stringToBytesFuncs.SJIS));break;default:throw new Error("mode:"+t)}}}isDark(e,t){return!(!this.modules[e]||null==this.modules[e][t])&&this.modules[e][t]}getModuleCount(){return this.moduleCount}make(){if(this.typeNumber<1){let e=1;for(;e<40;e++){const o=p.getRSBlocks(e,this.errorCorrectLevel),r=new t;this.qrDataList.forEach((t=>{r.put(t.getMode(),4),r.put(t.getLength(),t.getLengthInBits(e)),t.write(r)}));const n=o.reduce(((e,t)=>e+t.getDataCount()),0);if(r.getLengthInBits()<=8*n)break}this.typeNumber=e}this.makeImpl(!1,this.getBestMaskPattern())}getBestMaskPattern(){let e=0,t=0;for(let o=0;o<8;o+=1){this.makeImpl(!0,o);const r=h.getLostPoint(this);(0==o||e>r)&&(e=r,t=o)}return t}makeImpl(e,t){this.moduleCount=4*this.typeNumber+17,this.modules=[];for(let e=0;e<this.moduleCount;e+=1){this.modules.push([]);for(let t=0;t<this.moduleCount;t+=1)this.modules[e].push(null)}this.setupPositionProbePattern(0,0),this.setupPositionProbePattern(this.moduleCount-7,0),this.setupPositionProbePattern(0,this.moduleCount-7),this.setupPositionAdjustPattern(),this.setupTimingPattern(),this.setupTypeInfo(e,t),this.typeNumber>=7&&this.setupTypeNumber(e);const o=b.createData(this.typeNumber,this.errorCorrectLevel,this.qrDataList);this.mapData(o,t)}mapData(e,t){let o=-1,r=this.moduleCount-1,n=7,i=0;const s=h.getMaskFunc(t);for(let t=this.moduleCount-1;t>0;t-=2)for(6==t&&(t-=1);;){for(let o=0;o<2;o+=1)if(null==this.modules[r][t-o]){let a=!1;i<e.length&&(a=1==(e[i]>>>n&1));s(r,t-o)&&(a=!a),this.modules[r][t-o]=a,n-=1,-1==n&&(i+=1,n=7)}if(r+=o,r<0||this.moduleCount<=r){r-=o,o=-o;break}}}setupPositionAdjustPattern(){const e=h.getPatternPosition(this.typeNumber);e.forEach((t=>{e.forEach((e=>{if(null==this.modules[t][e])for(let o=-2;o<=2;o+=1)for(let r=-2;r<=2;r+=1)this.modules[t+o][e+r]=-2==o||2==o||-2==r||2==r||0==o&&0==r}))}))}setupPositionProbePattern(e,t){for(let o=-1;o<=7;o+=1)for(let r=-1;r<=7;r+=1)e+o<=-1||this.moduleCount<=e+o||t+r<=-1||this.moduleCount<=t+r||(this.modules[e+o][t+r]=0<=o&&o<=6&&(0==r||6==r)||0<=r&&r<=6&&(0==o||6==o)||2<=o&&o<=4&&2<=r&&r<=4)}setupTimingPattern(){for(let e=8;e<this.moduleCount-8;e+=1)null==this.modules[e][6]&&(this.modules[e][6]=e%2==0);for(let e=8;e<this.moduleCount-8;e+=1)null==this.modules[6][e]&&(this.modules[6][e]=e%2==0)}setupTypeNumber(e){const t=h.getBCHTypeNumber(this.typeNumber);for(let o=0;o<18;o+=1)this.modules[~~(o/3)][o%3+this.moduleCount-8-3]=!e&&1==(t>>o&1);for(let o=0;o<18;o+=1)this.modules[o%3+this.moduleCount-8-3][~~(o/3)]=!e&&1==(t>>o&1)}setupTypeInfo(e,t){const o=this.errorCorrectLevel<<3|t,r=h.getBCHTypeInfo(o);for(let t=0;t<15;t+=1){const o=!e&&1==(r>>t&1);t<6?this.modules[t][8]=o:t<8?this.modules[t+1][8]=o:this.modules[this.moduleCount-15+t][8]=o}for(let t=0;t<15;t+=1){const o=!e&&1==(r>>t&1);t<8?this.modules[8][this.moduleCount-t-1]=o:t<9?this.modules[8][15-t-1+1]=o:this.modules[8][15-t-1]=o}this.modules[this.moduleCount-8][8]=!e}static createData(e,o,r){const n=p.getRSBlocks(e,o),i=new t;r.forEach((t=>{i.put(t.getMode(),4),i.put(t.getLength(),t.getLengthInBits(e)),t.write(i)}));const s=n.reduce(((e,t)=>e+t.getDataCount()),0);if(i.getLengthInBits()>8*s)throw new Error("code length overflow. ("+i.getLengthInBits()+">"+8*s+")");for(i.getLengthInBits()+4<=8*s&&i.put(0,4);i.getLengthInBits()%8!=0;)i.putBit(!1);for(;!(i.getLengthInBits()>=8*s||(i.put(b.PAD0,8),i.getLengthInBits()>=8*s));)i.put(b.PAD1,8);return b.createBytes(i,n)}static createBytes(e,t){let o=0,r=0,n=0;const i=new Array(t.length).map((e=>[])),a=new Array(t.length).map((e=>[]));function l(e){const t=[];for(let o=0;o<e;o+=1)t.push(0);return t}for(let d=0;d<t.length;d+=1){const c=t[d].getDataCount(),u=t[d].getTotalCount()-c;r=Math.max(r,c),n=Math.max(n,u),i[d]=l(c);for(let t=0;t<i[d].length;t+=1)i[d][t]=255&e.getBuffer()[t+o];o+=c;const p=h.getErrorCorrectPolynomial(u),m=new s(i[d],p.getLength()-1).mod(p);a[d]=l(p.getLength()-1);for(let e=0;e<a[d].length;e+=1){const t=e+m.getLength()-a[d].length;a[d][e]=t>=0?m.getAt(t):0}}const d=l(t.reduce(((e,t)=>e+t.getTotalCount()),0));let c=0;for(let e=0;e<r;e+=1)for(let o=0;o<t.length;o+=1)e<i[o].length&&(d[c]=i[o][e],c+=1);for(let e=0;e<n;e+=1)for(let o=0;o<t.length;o+=1)e<a[o].length&&(d[c]=a[o][e],c+=1);return d}}b.stringToBytesFuncs={default(e){const t=[];for(let o=0;o<e.length;o+=1){const r=e.charCodeAt(o);t.push(255&r)}return t}},b.PAD0=236,b.PAD1=17;const y=e=>!!e&&"object"==typeof e&&!Array.isArray(e);function O(e,t=!1){const o=e.split("").reverse().join("");return t?o.toLocaleUpperCase():o}function S(e,...t){if(!t.length)return e;const o=t.shift();return void 0!==o&&y(e)&&y(o)?(e={...e},Object.keys(o).forEach((t=>{const r=e[t],n=o[t];Array.isArray(r)&&Array.isArray(n)?e[t]=n:y(r)&&y(n)?e[t]=S({...r},n):e[t]=n})),S(e,...t)):e}const C=O("rq",!0)+O("-",!0)+O("talp",!0)+O("mrof",!0),w=O("a".repeat(6)+"#",!0),k="top",v="bottom",A="left",T="right";const I=e=>"number"==typeof e?e:parseInt(e.replace("%",""),10),D=(e,t="0%")=>e?e.endsWith("%")?e:e+"%":t,q="text",x="image",W={disabled:!1,enableText:!0,type:"text",value:C},Z=(e,t)=>!e?.decorations?.[t]?.disabled,R=(e,t,o)=>!o||!e?.decorations?.[t]?.disabled,V=e=>{if("string"==typeof e)return e;const{fontFace:t="Helvetica",fontSize:o=20,fontColor:r="#ffffff",letterSpacing:n=1,textTransform:i="uppercase",fontWeight:s="bold"}=e||{};return`font-weight: ${s}; text-transform: ${i}; font-size: ${o}px; font-family: ${t}; fill: ${r}; letter-spacing: ${n}px;`};W.style={fontFace:"Helvetica",fontSize:20,fontColor:w,letterSpacing:2};const E={...W};const j=({document:e,position:t,rotate:o,flip:r,thickness:n,height:i,width:s,round:a,offset:l=0,curveAdjustment:d=0,curveRadius:c,outerBorderPadding:u=0,instanceId:h})=>{const p=Math.min(s,i),m=e.createElementNS("http://www.w3.org/2000/svg","path"),f=(e=>{if(e>=50)return 1;const t=[{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:.78},{R:45,P:.9},{R:50,P:1}],o=t.find((t=>e<=t.R))||t[0],r=t.find((t=>e>t.R))||t[t.length-1],{R:n,P:i}=o,{R:s,P:a}=r;return i+(e-n)/(s-n)*(a-i)})("string"==typeof a?I(a):a),g=void 0!==c?function(e){let t;return t="number"==typeof e?e:"string"==typeof e?(e.includes("%"),parseFloat(e)):0,t=Math.min(Math.max(t,0),50),.5+t/50*.5}(c):f,b=(p-n-2*u-10*d*2)/2*g,y=((e,t,o,r)=>{const n=o/2,i=r/2;let s="";return e&&(s+=`rotate(${e}, ${n}, ${i}) `),t&&(s+=`translate(${n}, ${i}) scale(1, -1) translate(${-n}, ${-i}) `),s.trim()})(o,r,s,i);m.setAttribute("id",`${t}-text-path-${h}`),m.setAttribute("transform",y);const{startX:O,startY:S,pathWidth:C}=((e,t,o,r,n={})=>{let i=t/2,s=t/2+r,a=e-t;return o&&(a-=2*o,i+=o,s+=o),i+=n.left||0,s+=n.top||0,{startX:i,startY:s,pathWidth:a}})(p,n,u,l);return m.setAttribute("d",((e,t,o,r)=>`\n M${e},${t+r}\n a${r},${r} 0 0 1 ${r},${-r}\n h${o-2*r}\n a${r},${r} 0 0 1 ${r},${r}\n `)(O,S,C,b)),m},M=({document:e,thickness:t,value:o,svg:r,position:n,height:i,width:s,round:a,style:l,offset:d=0,curveAdjustment:c=0,curveDisabled:u=!1,outerBorderPadding:h=0,curveRadius:p,instanceId:m,noBorderThickness:f,enabledBorders:g})=>{let b=0,y=!1;if(n===T?b=90:n===v?y=!u:n===A&&(b=270),u){const a=e.createElementNS("http://www.w3.org/2000/svg","text");let c=s/2,u=(i-Math.min(s,i)+t)/2+2*h+d-(i-s>0?0:(s-i)/2);if(n===v?u=i-2*h-t/2-d:n===k&&(u=2*h+t/2+d),n===k||n===v){let e=0;!g[A]&&g[T]?e=-(t-f)/2:g[A]&&!g[T]&&(e=(t-f)/2),c+=e}else if(n===A||n===T){let e=0;!g[k]&&g[v]?e=n===A?(t-f)/2:-(t-f)/2:g[k]&&!g[v]&&(e=n===A?-(t-f)/2:(t-f)/2),c+=e}let p="";0!==b&&(p+=`rotate(${b}, ${s/2}, ${i/2}) `),a.setAttribute("x",c.toString()),a.setAttribute("y",u.toString()),a.setAttribute("text-anchor","middle"),a.setAttribute("dominant-baseline","middle"),p&&a.setAttribute("transform",p.trim()),a.textContent=o;const m=V(l);a.setAttribute("style",m),r.appendChild(a)}else{let u=r.getElementsByTagName("defs")[0];u||(u=e.createElementNS("http://www.w3.org/2000/svg","defs"),r.appendChild(u));const O=j({document:e,position:n,rotate:b,flip:y,thickness:t,height:i,width:s,round:a,offset:d,curveAdjustment:c,enabledBorders:g,outerBorderPadding:h,curveRadius:p,noBorderThickness:f,instanceId:m}),{x:S,y:C}=function(e,t,o,r){let n=0,i=0;const s=(t-o)/2;return r.left&&r.right&&r.top&&r.bottom?(n=0,i=0):"top"===e||"bottom"===e?!r.left&&r.right?n=-s:(r.left&&!r.right||r.left&&r.right)&&(n=s):"left"!==e&&"right"!==e||(!r.top&&r.bottom?r.left&&r.right?(n="left"===e?2*+s:0,i=-s):n="left"===e?+s:-s:r.top&&!r.bottom?r.left&&r.right?(n="left"===e?0:2*s,i=-s):n=0:r.top&&r.bottom?i=r.left&&r.right?2*+s:+s:(n=r.left&&r.right?2*+s:+s,i=r.left&&r.right?2*-s:-s)),{x:n,y:i}}(n,t,f,g);if(0!==S||0!==C){const e=`${O.getAttribute("transform")||""} translate(${S}, ${C})`.trim();O.setAttribute("transform",e)}u.appendChild(O),r.appendChild((({document:e,value:t,position:o,style:r,instanceId:n})=>{const i=e.createElementNS("http://www.w3.org/2000/svg","text"),s=e.createElementNS("http://www.w3.org/2000/svg","textPath");s.setAttribute("href",`#${o}-text-path-${n}`),s.setAttribute("text-anchor","middle"),s.setAttribute("startOffset","50%"),s.textContent=t,s.setAttribute("alignment-baseline","middle");const a=V(r);return i.setAttribute("style",a),i.appendChild(s),i})({document:e,position:n,rotate:b,value:o,style:l,instanceId:m}))}},B=({document:e,thickness:t,value:o,svg:r,position:n,height:i,width:s,offset:a=0,style:l})=>{const d=e.createElementNS("http://www.w3.org/2000/svg","image"),c=Math.min(s,i);let u=(s-c+t)/2,h=(i-c+t)/2+a;n===k?u+=(c-t)/2:n===T?(u+=c-t,h+=(c-t)/2):n===v?(u+=(c-t)/2,h+=c-t):n===A&&(h+=(c-t)/2),d.setAttribute("href",o||""),d.setAttribute("x",`${u}`),d.setAttribute("y",`${h}`),d.setAttribute("style",l?.toString()||""),r.appendChild(d)},J=e=>(t,o,r,n,i,s,a,l,d)=>{const{instanceId:c}=o,u=r,h=r,p=Math.min(u,h),m=D(e.radius),f=m&&I(m)>0?I(m)/100*p:0,g=D(e?.inner?.radius,f),b=Math.min(Math.max(e.inner?.scale??1,0),1.5),y=e.inner?.horizontalOffset??0,O=e.inner?.verticalOffset??0,S=e.thickness??0,C=e.color??"#000000",w=e.borderOuter?.thickness?e.borderOuter.thickness/2:0,W=e.borderInner?.thickness?e.borderInner.thickness/2:0,V=o.document,j=i.left+i.right,J=i.top+i.bottom,Y=n(S,f),P={top:Z(e,"top"),right:Z(e,"right"),bottom:R(e,"bottom",d()),left:Z(e,"left")},L=V.createElementNS("http://www.w3.org/2000/svg","rect"),G={x:s.left/2,y:s.top/2,width:p+j-s.left,height:p+J-s.top,fill:C,rx:m??f};Object.entries(G).forEach((([e,t])=>{L.setAttribute(e,t.toString())}));const X=V.createElementNS("http://www.w3.org/2000/svg","rect"),_=f>=200?"50%":f,F=u+j-(i.left+i.right+a.left+a.right+s.left+s.right),N=h+J-(i.top+i.bottom+a.top+a.bottom+s.top+s.bottom),z=F*b,U=N*b,K=(F-z)/2-y,H=(N-U)/2-O,Q={x:i.left+a.left+s.left+K,y:i.top+a.top+s.top+H,width:z,height:U,fill:Y?.getAttribute("fill")||"#ffffff",rx:g??_};Object.entries(Q).forEach((([e,t])=>X.setAttribute(e,t.toString()))),Y&&(({strokePath:e,backgroundMaskGroup:t,svgElement:o,color:r="#000000"})=>{e.setAttribute("fill",t?.getAttribute("fill")||r),t.setAttribute("fill","none"),t.setAttribute("stroke-width","0"),o.insertBefore(t,o.firstChild)})({strokePath:X,backgroundMaskGroup:Y,svgElement:t,color:C});let $=t.getElementsByTagName("defs")[0];$||($=V.createElementNS("http://www.w3.org/2000/svg","defs"),t.insertBefore($,t.firstChild));const ee=V.createElementNS("http://www.w3.org/2000/svg","mask");ee.setAttribute("id",`qr-mask-${c}`),ee.setAttribute("maskUnits","userSpaceOnUse");const te=V.createElementNS("http://www.w3.org/2000/svg","rect");if(te.setAttribute("fill","white"),Object.entries(Q).forEach((([e,t])=>{"fill"!==e&&te.setAttribute(e,t.toString())})),$.appendChild(ee),ee.appendChild(te),t.insertBefore(X,t.firstChild?.nextSibling),t.insertBefore(L,t.firstChild),e.borderOuter&&"number"==typeof e.borderOuter.thickness&&e.borderOuter.thickness>0){const o=V.createElementNS("http://www.w3.org/2000/svg","rect"),r={x:s.left/2,y:s.top/2,width:u+j-s.left,height:h+J-s.top,fill:"none",rx:m??f,stroke:e.borderOuter.color||"#c0c0c0","stroke-width":e.borderOuter.thickness};Object.entries(r).forEach((([e,t])=>o.setAttribute(e,t.toString()))),t.insertBefore(o,t.firstChild?.nextSibling)}if(Y){if(Array.from(t.getElementsByTagName("rect"))[0]){const e=t.firstChild;e?t.insertBefore(Y,e):t.appendChild(Y)}}if(e.borderInner&&"number"==typeof e.borderInner.thickness&&e.borderInner.thickness>0){const o=V.createElementNS("http://www.w3.org/2000/svg","rect"),r={x:i.left+a.left+s.left+K,y:i.top+a.top+s.top+H,width:z,height:U,fill:"none",stroke:e.borderInner.color||"#c0c0c0","stroke-width":a.left,rx:g??_};Object.entries(r).forEach((([e,t])=>o.setAttribute(e,t.toString()))),t.appendChild(o)}let oe={...E};if(!d()){const t=((e,t=[k,A,T])=>{for(const o of t){const t=e.decorations?.[o];if(t&&t.enableText&&!t.disabled&&t.type===q&&t.style)return t.style}})(e);t&&(oe={...oe,style:t})}const re=d()?e:{...e,decorations:{...e.decorations,bottom:{...e.decorations?.bottom||{},...oe,disabled:!1,enableText:!0}}},ne=[k,A,T,v];for(const e of ne){const o=re.decorations?.[e];if(!o||!o.enableText||!P[e])continue;const r=o.type||q,n=r===x?B:r===q?M:void 0;n&&n({document:V,svg:t,position:e,thickness:re.thickness??0,value:o.value??"",style:o.style,offset:o.offset,curveAdjustment:o.curveAdjustment,curveDisabled:o.curveDisabled,height:h+J,width:u+j,enabledBorders:P,outerBorderPadding:w,innerBorderPadding:W,round:m,curveRadius:o.curveRadius,instanceId:c,noBorderThickness:l})}};var Y,P,L,G,X,_,F;function N(e){const t={...e};if(!t.colorStops||!t.colorStops.length)throw new Error("Field 'colorStops' is required in gradient");return t.rotation?t.rotation=Number(t.rotation):t.rotation=0,t.colorStops=t.colorStops.map((e=>({...e,offset:Number(e.offset)}))),t}function z(e){const t={...e};if(t.imageOptions={...t.imageOptions,imageSize:Math.min(1,Number(t.imageOptions?.imageSize))||1,margin:Number(t.imageOptions?.margin)||0,padding:Number(t.imageOptions?.padding)||0},t.imageOptions.mode==F.overlay&&(t.imageOptions.margin=0),t.dotsOptions={...t.dotsOptions},t.dotsOptions.gradient&&(t.dotsOptions.gradient=N(t.dotsOptions.gradient)),t.dotsOptions.size=Math.round(Math.max(0,t.dotsOptions.size)||10),t.cornersSquareOptions&&(t.cornersSquareOptions={...t.cornersSquareOptions},t.cornersSquareOptions.gradient&&(t.cornersSquareOptions.gradient=N(t.cornersSquareOptions.gradient))),t.cornersDotOptions&&(t.cornersDotOptions={...t.cornersDotOptions},t.cornersDotOptions.gradient&&(t.cornersDotOptions.gradient=N(t.cornersDotOptions.gradient))),t.backgroundOptions&&(t.backgroundOptions={...t.backgroundOptions},t.backgroundOptions.gradient&&(t.backgroundOptions.gradient=N(t.backgroundOptions.gradient))),t.borderOptions&&t.borderOptions.decorations){const e=["top","bottom","left","right"];for(const o of e){let e=t.borderOptions.decorations[o];e||(t.borderOptions.decorations[o]={enableText:!1,value:void 0},e=t.borderOptions.decorations[o]),!1===e.enableText?e.value=void 0:!0===e.enableText?null!==e.value&&void 0!==e.value||(e.value=""):void 0===e.enableText&&(e.value&&"string"==typeof e.value&&!1!==e.enableText&&""!==e.value.trim()?e.enableText=!0:(e.enableText=!1,e.value=void 0))}}return"undefined"==typeof document||t.document||(t.document=document),t}!function(e){e.radial="radial",e.linear="linear"}(Y||(Y={})),function(e){e.svg="svg",e.png="png",e.jpeg="jpeg",e.webp="webp"}(P||(P={})),function(e){e.dot="dot",e.randomDot="random-dot",e.rounded="rounded",e.extraRounded="extra-rounded",e.verticalLine="vertical-line",e.horizontalLine="horizontal-line",e.classy="classy",e.classyRounded="classy-rounded",e.square="square",e.smallSquare="small-square",e.tinySquare="tiny-square",e.star="star",e.plus="plus",e.diamond="diamond"}(L||(L={})),function(e){e.dot="dot",e.square="square",e.heart="heart",e.rounded="rounded",e.classy="classy",e.outpoint="outpoint",e.inpoint="inpoint"}(G||(G={})),function(e){e.dot="dot",e.square="square",e.rounded="rounded",e.classy="classy",e.outpoint="outpoint",e.inpoint="inpoint"}(X||(X={})),function(e){e.square="square",e.circle="circle"}(_||(_={})),function(e){e.center="center",e.overlay="overlay",e.background="background"}(F||(F={}));const U={[f.L]:.07,[f.M]:.15,[f.Q]:.25,[f.H]:.3};class K{constructor(e="",t={}){if(e instanceof K)return e;const o=function(e){let t={r:0,g:0,b:0},o=1,r=null,n=null,i=null,s=!1,a=!1;"string"==typeof e&&(e=function(e){const t=/^\s+/,o=/\s+$/;e=e.replace(t,"").replace(o,"").toLowerCase();let r,n=!1;if(K.names[e])e=K.names[e],n=!0;else if("transparent"==e)return{r:0,g:0,b:0,a:0,format:"name"};if(r=Ce.rgb.exec(e))return{r:r[1],g:r[2],b:r[3]};if(r=Ce.rgba.exec(e))return{r:r[1],g:r[2],b:r[3],a:r[4]};if(r=Ce.hsl.exec(e))return{h:r[1],s:r[2],l:r[3]};if(r=Ce.hsla.exec(e))return{h:r[1],s:r[2],l:r[3],a:r[4]};if(r=Ce.hsv.exec(e))return{h:r[1],s:r[2],v:r[3]};if(r=Ce.hsva.exec(e))return{h:r[1],s:r[2],v:r[3],a:r[4]};if(r=Ce.hex8.exec(e))return{r:ge(r[1]),g:ge(r[2]),b:ge(r[3]),a:Se(r[4]),format:n?"name":"hex8"};if(r=Ce.hex6.exec(e))return{r:ge(r[1]),g:ge(r[2]),b:ge(r[3]),format:n?"name":"hex"};if(r=Ce.hex4.exec(e))return{r:ge(r[1]+""+r[1]),g:ge(r[2]+""+r[2]),b:ge(r[3]+""+r[3]),a:Se(r[4]+""+r[4]),format:n?"name":"hex8"};if(r=Ce.hex3.exec(e))return{r:ge(r[1]+""+r[1]),g:ge(r[2]+""+r[2]),b:ge(r[3]+""+r[3]),format:n?"name":"hex"};return!1}(e));"object"==typeof e&&(we(e.r)&&we(e.g)&&we(e.b)?(l=e.r,d=e.g,c=e.b,t={r:255*me(l,255),g:255*me(d,255),b:255*me(c,255)},s=!0,a="%"===String(e.r).slice(-1)?"prgb":"rgb"):we(e.h)&&we(e.s)&&we(e.v)?(r=ye(e.s),n=ye(e.v),t=function(e,t,o){e=6*me(e,360),t=me(t,100),o=me(o,100);const r=Math.floor(e),n=e-r,i=o*(1-t),s=o*(1-n*t),a=o*(1-(1-n)*t),l=r%6,d=[o,s,i,i,a,o][l],c=[a,o,o,s,i,i][l],u=[i,i,a,o,o,qw][l];return{r:255*d,g:255*c,b:255*u}}(e.h,r,n),s=!0,a="hsv"):we(e.h)&&we(e.s)&&we(e.l)&&(r=ye(e.s),i=ye(e.l),t=function(e,t,o){let r,n,i;function s(e,t,o){return o<0&&(o+=1),o>1&&(o-=1),o<1/6?e+6*(t-e)*o:o<.5?t:o<2/3?e+(t-e)*(2/3-o)*6:e}if(e=me(e,360),t=me(t,100),o=me(o,100),0===t)r=n=i=o;else{const a=o<.5?o*(1+t):o+t-o*t,l=2*o-a;r=s(l,a,e+1/3),n=s(l,a,e),i=s(l,a,e-1/3)}return{r:255*r,g:255*n,b:255*i}}(e.h,r,i),s=!0,a="hsl"),e.hasOwnProperty("a")&&(o=e.a));var l,d,c;return o=pe(o),{ok:s,format:e.format||a,r:Math.min(255,Math.max(t.r,0)),g:Math.min(255,Math.max(t.g,0)),b:Math.min(255,Math.max(t.b,0)),a:o}}(e);this._originalInput=e,this._r=o.r,this._g=o.g,this._b=o.b,this._a=o.a,this._roundA=Math.round(100*this._a)/100,this._format=t.format||o.format,this._gradientType=t.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=o.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 e=this.toRgb();return(299*e.r+587*e.g+114*e.b)/1e3}getLuminance(){const e=this.toRgb(),t=e.r/255,o=e.g/255,r=e.b/255;return.2126*(t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4))+.7152*(o<=.03928?o/12.92:Math.pow((o+.055)/1.055,2.4))+.0722*(r<=.03928?r/12.92:Math.pow((r+.055)/1.055,2.4))}setAlpha(e){return this._a=pe(e),this._roundA=Math.round(100*this._a)/100,this}toHsv(){const e=Q(this._r,this._g,this._b);return{h:360*e.h,s:e.s,v:e.v,a:this._a}}toHsvString(){const e=Q(this._r,this._g,this._b),t=Math.round(360*e.h),o=Math.round(100*e.s),r=Math.round(100*e.v);return 1==this._a?`hsv(${t}, ${o}%, ${r}%)`:`hsva(${t}, ${o}%, ${r}%, ${this._roundA})`}toHsl(){const e=H(this._r,this._g,this._b);return{h:360*e.h,s:e.s,l:e.l,a:this._a}}toHslString(){const e=H(this._r,this._g,this._b),t=Math.round(360*e.h),o=Math.round(100*e.s),r=Math.round(100*e.l);return 1==this._a?`hsl(${t}, ${o}%, ${r}%)`:`hsla(${t}, ${o}%, ${r}%, ${this._roundA})`}toHex(e){return $(this._r,this._g,this._b,e)}toHexString(e){return"#"+this.toHex(e)}toHex8(e){return function(e,t,o,r,n){const i=[be(Math.round(e).toString(16)),be(Math.round(t).toString(16)),be(Math.round(o).toString(16)),be(Oe(r))];if(n&&i[0].charAt(0)==i[0].charAt(1)&&i[1].charAt(0)==i[1].charAt(1)&&i[2].charAt(0)==i[2].charAt(1)&&i[3].charAt(0)==i[3].charAt(1))return i[0].charAt(0)+i[1].charAt(0)+i[2].charAt(0)+i[3].charAt(0);return i.join("")}(this._r,this._g,this._b,this._a,e)}toHex8String(e){return"#"+this.toHex8(e)}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*me(this._r,255))+"%",g:Math.round(100*me(this._g,255))+"%",b:Math.round(100*me(this._b,255))+"%",a:this._a}}toPercentageRgbString(){return 1==this._a?`rgb(${Math.round(100*me(this._r,255))}%, ${Math.round(100*me(this._g,255))}%, ${Math.round(100*me(this._b,255))}%)`:`rgba(${Math.round(100*me(this._r,255))}%, ${Math.round(100*me(this._g,255))}%, ${Math.round(100*me(this._b,255))}%, ${this._roundA})`}toName(){return 0===this._a?"transparent":!(this._a<1)&&(K.hexNames[$(this._r,this._g,this._b,!0)]||!1)}toFilter(e){const t="#"+ee(this._r,this._g,this._b,this._a);let o=t;const r=this._gradientType?"GradientType = 1, ":"";if(e){const t=new K(e);o="#"+ee(t._r,t._g,t._b,t._a)}return`progid:DXImageTransform.Microsoft.gradient(${r}startColorstr=${t},endColorstr=${o})`}toString(e){const t=!!e;e=e||this._format;let o=!1;const r=this._a<1&&this._a>=0;return t||!r||"hex"!==e&&"hex6"!==e&&"hex3"!==e&&"hex4"!==e&&"hex8"!==e&&"name"!==e?("rgb"===e&&(o=this.toRgbString()),"prgb"===e&&(o=this.toPercentageRgbString()),"hex"!==e&&"hex6"!==e||(o=this.toHexString()),"hex3"===e&&(o=this.toHexString(!0)),"hex4"===e&&(o=this.toHex8String(!0)),"hex8"===e&&(o=this.toHex8String()),"name"===e&&(o=this.toName()),"hsl"===e&&(o=this.toHslString()),"hsv"===e&&(o=this.toHsvString()),o||this.toHexString()):"name"===e&&0===this._a?this.toName():this.toRgbString()}clone(){return new K(this.toString())}_applyModification(e,...t){const o=e(this,...t);return this._r=o._r,this._g=o._g,this._b=o._b,this.setAlpha(o._a),this}lighten(...e){return this._applyModification(ne,...e)}brighten(...e){return this._applyModification(ie,...e)}darken(...e){return this._applyModification(se,...e)}desaturate(...e){return this._applyModification(te,...e)}saturate(...e){return this._applyModification(oe,...e)}greyscale(...e){return this._applyModification(re,...e)}spin(...e){return this._applyModification(ae,...e)}_applyCombination(e,...t){return e(this,...t)}analogous(...e){return this._applyCombination(ue,...e)}complement(...e){return this._applyCombination(le,...e)}monochromatic(...e){return this._applyCombination(he,...e)}splitcomplement(...e){return this._applyCombination(ce,...e)}triad(){return this._applyCombination(de,3)}tetrad(){return this._applyCombination(de,4)}static fromRatio(e,t){if("object"==typeof e){const t={};for(const o in e)e.hasOwnProperty(o)&&(t[o]="a"===o?e[o]:ye(e[o]));e=t}return new K(e,t)}static equals(e,t){return!(!e||!t)&&new K(e).toRgbString()===new K(t).toRgbString()}static random(){return K.fromRatio({r:Math.random(),g:Math.random(),b:Math.random()})}static mix(e,t,o){o=0===o?0:o||50;const r=new K(e).toRgb(),n=new K(t).toRgb(),i=o/100,s={r:(n.r-r.r)*i+r.r,g:(n.g-r.g)*i+r.g,b:(n.b-r.b)*i+r.b,a:(n.a-r.a)*i+r.a};return new K(s)}static readability(e,t){const o=new K(e),r=new K(t);return(Math.max(o.getLuminance(),r.getLuminance())+.05)/(Math.min(o.getLuminance(),r.getLuminance())+.05)}static isReadable(e,t,o){const r=K.readability(e,t);let n=!1;const i=function(e){let t,o;t=((e=e||{level:"AA",size:"small"}).level||"AA").toUpperCase(),o=(e.size||"small").toLowerCase(),"AA"!==t&&"AAA"!==t&&(t="AA");"small"!==o&&"large"!==o&&(o="small");return{level:t,size:o}}(o);switch(i.level+i.size){case"AAsmall":case"AAAlarge":n=r>=4.5;break;case"AAlarge":n=r>=3;break;case"AAAsmall":n=r>=7}return n}static mostReadable(e,t,o={}){let r,n=null,i=0;const{includeFallbackColors:s,level:a,size:l}=o;for(const o of t)r=K.readability(e,o),r>i&&(i=r,n=new K(o));return K.isReadable(e,n,{level:a,size:l})||!s?n:(o.includeFallbackColors=!1,K.mostReadable(e,["#fff","#000"],o))}}function H(e,t,o){e=me(e,255),t=me(t,255),o=me(o,255);const r=Math.max(e,t,o),n=Math.min(e,t,o);let i,s;const a=(r+n)/2;if(r==n)i=s=0;else{const l=r-n;switch(s=a>.5?l/(2-r-n):l/(r+n),r){case e:i=(t-o)/l+(t<o?6:0);break;case t:i=(o-e)/l+2;break;case o:i=(e-t)/l+4}i/=6}return{h:i,s:s,l:a}}function Q(e,t,o){e=me(e,255),t=me(t,255),o=me(o,255);const r=Math.max(e,t,o),n=Math.min(e,t,o);let i;const s=r,a=r-n,l=0===r?0:a/r;if(r==n)i=0;else{switch(r){case e:i=(t-o)/a+(t<o?6:0);break;case t:i=(o-e)/a+2;break;case o:i=(e-t)/a+4}i/=6}return{h:i,s:l,v:s}}function $(e,t,o,r){const n=[be(Math.round(e).toString(16)),be(Math.round(t).toString(16)),be(Math.round(o).toString(16))];return r&&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[0].charAt(0)+n[1].charAt(0)+n[2].charAt(0):n.join("")}function ee(e,t,o,r){return[be(Oe(r)),be(Math.round(e).toString(16)),be(Math.round(t).toString(16)),be(Math.round(o).toString(16))].join("")}function te(e,t){t=0===t?0:t||10;const o=new K(e).toHsl();return o.s-=t/100,o.s=fe(o.s),new K(o)}function oe(e,t){t=0===t?0:t||10;const o=new K(e).toHsl();return o.s+=t/100,o.s=fe(o.s),new K(o)}function re(e){return new K(e).desaturate(100)}function ne(e,t){t=0===t?0:t||10;const o=new K(e).toHsl();return o.l+=t/100,o.l=fe(o.l),new K(o)}function ie(e,t){t=0===t?0:t||10;const o=new K(e).toRgb();return o.r=Math.max(0,Math.min(255,o.r-Math.round(-t/100*255))),o.g=Math.max(0,Math.min(255,o.g-Math.round(-t/100*255))),o.b=Math.max(0,Math.min(255,o.b-Math.round(-t/100*255))),new K(o)}function se(e,t){t=0===t?0:t||10;const o=new K(e).toHsl();return o.l-=t/100,o.l=fe(o.l),new K(o)}function ae(e,t){const o=new K(e).toHsl(),r=(o.h+t)%360;return o.h=r<0?360+r:r,new K(o)}K.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"},K.hexNames=function(e){const t={};for(const o in e)e.hasOwnProperty(o)&&(t[e[o]]=o);return t}(K.names);const le=e=>{const t=new K(e).toHsl();return t.h=(t.h+180)%360,new K(t)},de=(e,t)=>{if(isNaN(t)||t<=0)throw new Error("Argument to polyad must be a positive number");const o=new K(e).toHsl(),r=[new K(e)],n=360/t;for(let e=1;e<t;e++)r.push(new K({h:(o.h+e*n)%360,s:o.s,l:o.l}));return r};function ce(e){const t=new K(e).toHsl(),o=t.h;return[new K(e),new K({h:(o+72)%360,s:t.s,l:t.l}),new K({h:(o+216)%360,s:t.s,l:t.l})]}function ue(e,t,o){t=t||6,o=o||30;const r=new K(e).toHsl(),n=360/o,i=[new K(e)];for(r.h=(r.h-(n*t>>1)+720)%360;--t;)r.h=(r.h+n)%360,i.push(new K(r));return i}function he(e,t){t=t||6;const o=new K(e).toHsv(),r=o.h,n=o.s;let i=o.v;const s=[],a=1/t;for(;t--;)s.push(new K({h:r,s:n,v:i})),i=(i+a)%1;return s}function pe(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function me(e,t){(function(e){return"string"==typeof e&&-1!=e.indexOf(".")&&1===parseFloat(e)})(e)&&(e="100%");const o=function(e){return"string"==typeof e&&-1!=e.indexOf("%")}(e);return e=Math.min(t,Math.max(0,parseFloat(e))),o&&(e=parseInt(e*t,10)/100),Math.abs(e-t)<1e-6?1:e%t/parseFloat(t)}function fe(e){return Math.min(1,Math.max(0,e))}function ge(e){return parseInt(e,16)}function be(e){return 1==e.length?"0"+e:""+e}function ye(e){return e<=1&&(e=100*e+"%"),e}function Oe(e){return Math.round(255*parseFloat(e)).toString(16)}function Se(e){return ge(e)/255}const Ce=(()=>{const e="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)",t=`[\\s|\\(]+(${e})[,|\\s]+(${e})[,|\\s]+(${e})\\s*\\)?`,o=`[\\s|\\(]+(${e})[,|\\s]+(${e})[,|\\s]+(${e})[,|\\s]+(${e})\\s*\\)?`;return{CSS_UNIT:new RegExp(e),rgb:new RegExp("rgb"+t),rgba:new RegExp("rgba"+o),hsl:new RegExp("hsl"+t),hsla:new RegExp("hsla"+o),hsv:new RegExp("hsv"+t),hsva:new RegExp("hsva"+o),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 we(e){return!!Ce.CSS_UNIT.exec(e)}function ke(e,t){e.decorations||(e.decorations={}),["top","right","bottom","left"].forEach((o=>{e.decorations[o]||(e.decorations[o]={}),e.decorations[o].style||(e.decorations[o].style={}),e.decorations[o].style.fontColor=t}))}function ve(e){const t={};if((e.primaryColor||e.dotsGradient)&&(t.dotsOptions={...t.dotsOptions,...e.primaryColor&&{color:e.primaryColor},...e.dotsGradient&&{gradient:e.dotsGradient}}),(e.secondaryColor||e.cornersGradient)&&(t.cornersSquareOptions={...t.cornersSquareOptions,...e.secondaryColor&&{color:e.secondaryColor},...e.cornersGradient&&{gradient:e.cornersGradient}},t.cornersDotOptions={...t.cornersDotOptions,...e.secondaryColor&&{color:e.secondaryColor}}),(e.thirdColor||e.cornersDotGradient)&&(t.cornersDotOptions={...t.cornersDotOptions,...e.thirdColor&&{color:e.thirdColor},...e.cornersDotGradient&&{gradient:e.cornersDotGradient}}),(e.backgroundColor||e.backgroundGradient)&&(t.backgroundOptions={...t.backgroundOptions,...e.backgroundColor&&{color:e.backgroundColor},...e.backgroundGradient&&{gradient:e.backgroundGradient}}),e.dotShape&&(t.dotsOptions={...t.dotsOptions,type:e.dotShape}),e.cornerSquareShape&&(t.cornersSquareOptions={...t.cornersSquareOptions,type:e.cornerSquareShape}),e.cornerDotShape&&(t.cornersDotOptions={...t.cornersDotOptions,type:e.cornerDotShape}),e.logo&&(t.image=e.logo),(void 0!==e.logoSize||e.logoMode||void 0!==e.logoMargin||e.logoBackgroundColor||void 0!==e.logoPadding||void 0!==e.logoRadius)&&(t.imageOptions={...t.imageOptions,...void 0!==e.logoSize&&{imageSize:e.logoSize},...e.logoMode&&{mode:e.logoMode},...void 0!==e.logoMargin&&{margin:e.logoMargin},...e.logoBackgroundColor&&{backgroundColor:e.logoBackgroundColor},...void 0!==e.logoPadding&&{padding:e.logoPadding},...void 0!==e.logoRadius&&{radius:e.logoRadius}}),e.borderColor||void 0!==e.borderThickness||void 0!==e.borderRadius||e.borderInnerColor||void 0!==e.borderInnerThickness||void 0!==e.borderInnerRadius||e.borderOuterColor||void 0!==e.borderOuterThickness||e.borderTextTop||e.borderTextRight||e.borderTextBottom||e.borderTextLeft||e.borderFontFace||void 0!==e.borderFontSize||e.borderFontColor||void 0!==e.borderLetterSpacing||e.borderTextTransform||e.borderFontWeight){t.borderOptions||(t.borderOptions={hasBorder:!0});const o=t.borderOptions;e.borderColor&&(o.color=e.borderColor),void 0!==e.borderThickness&&(o.thickness=e.borderThickness),void 0!==e.borderRadius&&(o.radius=String(e.borderRadius)),void 0===e.borderInnerColor&&void 0===e.borderInnerThickness||(o.borderInner||(o.borderInner={}),void 0!==e.borderInnerColor&&(o.borderInner.color=e.borderInnerColor),void 0!==e.borderInnerThickness&&(o.borderInner.thickness=e.borderInnerThickness)),void 0!==e.borderInnerRadius&&(o.inner||(o.inner={}),o.inner.radius=String(e.borderInnerRadius)),void 0===e.borderOuterColor&&void 0===e.borderOuterThickness||(o.borderOuter||(o.borderOuter={}),void 0!==e.borderOuterColor&&(o.borderOuter.color=e.borderOuterColor),void 0!==e.borderOuterThickness&&(o.borderOuter.thickness=e.borderOuterThickness));const r={};e.borderFontFace&&(r.fontFace=e.borderFontFace),void 0!==e.borderFontSize&&(r.fontSize=e.borderFontSize),e.borderFontColor&&(r.fontColor=e.borderFontColor),void 0!==e.borderLetterSpacing&&(r.letterSpacing=e.borderLetterSpacing),e.borderTextTransform&&(r.textTransform=e.borderTextTransform),e.borderFontWeight&&(r.fontWeight=e.borderFontWeight),o.decorations||(o.decorations={});const n=o.decorations?JSON.parse(JSON.stringify(o.decorations)):{};let i=!1;Object.keys(r).length>0&&(i=!0,["top","right","bottom","left"].forEach((e=>{n[e]||(n[e]={}),n[e].style||(n[e].style={}),n[e].style={...n[e].style,...r}}))),["top","right","bottom","left"].forEach((t=>{const o=`borderText${t.charAt(0).toUpperCase()+t.slice(1)}`,s=e[o];void 0!==s?(n[t]||(n[t]={}),n[t]={...n[t],value:s,enableText:!0,style:{...n[t]?.style||{},...r}},i=!0):n[t]?.value&&Object.keys(r).length>0&&!n[t]?.style&&(n[t].style||(n[t].style={}),n[t].style={...n[t].style,...r},i=!0)})),i&&(o.decorations=n)}if(!!(e.primaryColor||e.secondaryColor||e.thirdColor||e.backgroundColor)){t.borderOptions||(t.borderOptions={hasBorder:!0});const o=t.borderOptions;if(e.secondaryColor&&!e.borderColor){const t=new K(e.secondaryColor).isDark();o.color=new K(e.primaryColor).darken(t?-12:12).toString()}if(e.thirdColor&&!e.borderInnerColor&&(o.borderInner||(o.borderInner={}),o.borderInner.color=new K(e.thirdColor).darken(2).toString()),e.primaryColor&&!e.borderOuterColor&&(o.borderOuter=o.borderOuter||{},o.borderOuter.color=new K(e.primaryColor).darken(2).toString()),e.backgroundColor&&!e.borderFontColor&&o.color){const t=new K(e.backgroundColor),r=new K(o.color),n=K.readability(t,r),i=t.isDark();if(n<2){ke(o,(i?t.lighten(15):t.darken(15)).toString())}else{ke(o,(i?t.lighten(20):t.lighten(10)).toString())}}}return t}function Ae(e){const t=[];return void 0!==e.logoSize&&("number"!=typeof e.logoSize||e.logoSize<0||e.logoSize>1)&&t.push("logoSize must be a number between 0 and 1."),{isValid:0===t.length,errors:t}}class Te{constructor(){}close(){}}class Ie extends Te{constructor(e){super(),this.istream=e,this.buffer=0,this.buflen=0}readByte(){for(;this.buflen<8;){const e=this.istream.readByte();if(-1==e){if(0==this.buflen)return-1;throw new Error("unexpected end of file./"+this.buflen)}if(e=="=".charCodeAt(0))return this.buflen=0,-1;Ie.isWhitespace(e)||(this.buffer=this.buffer<<6|Ie.decode(e),this.buflen+=6)}const e=this.buffer>>>this.buflen-8&255;return this.buflen-=8,e}static isWhitespace(e){return e=="\v".charCodeAt(0)||e=="\t".charCodeAt(0)||e=="\r".charCodeAt(0)||e=="\n".charCodeAt(0)}static decode(e){if("A".charCodeAt(0)<=e&&e<="Z".charCodeAt(0))return e-"A".charCodeAt(0);if("a".charCodeAt(0)<=e&&e<="z".charCodeAt(0))return e-"a".charCodeAt(0)+26;if("0".charCodeAt(0)<=e&&e<="9".charCodeAt(0))return e-"0".charCodeAt(0)+52;if(e=="+".charCodeAt(0))return 62;if(e=="/".charCodeAt(0))return 63;throw new Error("c:"+e)}}class De extends Te{constructor(e){super(),this.bytes=e,this.pos=0}readByte(){if(this.pos<this.bytes.length){const e=this.bytes[this.pos];return this.pos+=1,e}return-1}}(function(e,t){const o=(()=>{const o=new Ie(new De(function(e){const t=[];for(let o=0;o<e.length;o+=1)t.push(e.charCodeAt(o));return t}(e))),r=()=>{const e=o.readByte();if(-1==e)throw new Error("eof");return e};let n=0;const i={};for(;;){const e=o.readByte();if(-1==e)break;const t=r(),s=r()<<8|r();i[String.fromCharCode(e<<8|t)]=s,n+=1}if(n!=t)throw new Error(n+"!="+t);return i})(),r="?".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 qe={shape:_.square,qrOptions:{typeNumber:m[0],mode:void 0,errorCorrectionLevel:f.Q},imageOptions:{mode:F.center,imageSize:.4,padding:4,margin:.2,crossOrigin:void 0},cornersSquareOptions:{type:X.rounded,color:"#000000"},cornersDotOptions:{type:G.dot,color:"#000000"},dotsOptions:{type:L.verticalLine,color:"#000000",size:10},backgroundOptions:{color:"#FFFFFF"},borderOptions:{decorations:{}}},xe={...qe,shape:_.square,cornersSquareOptions:{type:X.square},cornersDotOptions:{type:G.square},dotsOptions:{type:L.square}},We={...qe,shape:_.square,cornersSquareOptions:{type:X.rounded},cornersDotOptions:{type:G.rounded},dotsOptions:{type:L.verticalLine,size:10}},Ze={...qe,dotsOptions:{...qe.dotsOptions,type:L.rounded},cornersSquareOptions:{type:X.dot},cornersDotOptions:{type:G.dot}},Re={...qe,dotsOptions:{...qe.dotsOptions,type:L.dot},cornersSquareOptions:{type:X.dot},cornersDotOptions:{type:G.dot}},Ve={...qe,dotsOptions:{...qe.dotsOptions,type:L.classy},cornersSquareOptions:{type:X.classy},cornersDotOptions:{type:G.classy}},Ee={...qe,dotsOptions:{...qe.dotsOptions,type:L.extraRounded},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.square},cornersDotOptions:{...qe.cornersDotOptions,type:G.square}},je={...qe,dotsOptions:{...qe.dotsOptions,type:L.verticalLine},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.classy},cornersDotOptions:{...qe.cornersDotOptions,type:G.classy}},Me={...qe,dotsOptions:{...qe.dotsOptions,type:L.horizontalLine},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.rounded},cornersDotOptions:{...qe.cornersDotOptions,type:G.rounded}},Be={...qe,dotsOptions:{...qe.dotsOptions,type:L.classyRounded},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.outpoint},cornersDotOptions:{...qe.cornersDotOptions,type:G.outpoint}},Je={...qe,dotsOptions:{...qe.dotsOptions,type:L.smallSquare},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.inpoint},cornersDotOptions:{...qe.cornersDotOptions,type:G.inpoint}},Ye={...qe,dotsOptions:{...qe.dotsOptions,type:L.tinySquare},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.square},cornersDotOptions:{...qe.cornersDotOptions,type:G.heart}},Pe={...qe,dotsOptions:{...qe.dotsOptions,type:L.star},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.classy},cornersDotOptions:{...qe.cornersDotOptions,type:G.classy}},Le={...qe,dotsOptions:{...qe.dotsOptions,type:L.plus},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.rounded},cornersDotOptions:{...qe.cornersDotOptions,type:G.rounded}},Ge={...qe,dotsOptions:{...qe.dotsOptions,type:L.diamond},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.square},cornersDotOptions:{...qe.cornersDotOptions,type:G.square}},Xe={...qe,dotsOptions:{...qe.dotsOptions,type:L.randomDot},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.dot},cornersDotOptions:{...qe.cornersDotOptions,type:G.dot}},_e={...qe,dotsOptions:{...qe.dotsOptions,type:L.dot},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.outpoint},cornersDotOptions:{...qe.cornersDotOptions,type:G.outpoint}},Fe={...qe,dotsOptions:{...qe.dotsOptions,type:L.dot},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.inpoint},cornersDotOptions:{...qe.cornersDotOptions,type:G.inpoint}},Ne={...qe,dotsOptions:{...qe.dotsOptions,type:L.rounded},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.outpoint},cornersDotOptions:{...qe.cornersDotOptions,type:G.outpoint}},ze={...qe,dotsOptions:{...qe.dotsOptions,type:L.rounded},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.inpoint},cornersDotOptions:{...qe.cornersDotOptions,type:G.inpoint}},Ue={...qe,dotsOptions:{...qe.dotsOptions,type:L.classy},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.outpoint},cornersDotOptions:{...qe.cornersDotOptions,type:G.outpoint}},Ke={...qe,dotsOptions:{...qe.dotsOptions,type:L.classy},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.inpoint},cornersDotOptions:{...qe.cornersDotOptions,type:G.inpoint}},He={...qe,dotsOptions:{...qe.dotsOptions,type:L.square},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.outpoint},cornersDotOptions:{...qe.cornersDotOptions,type:G.outpoint}},Qe={...qe,dotsOptions:{...qe.dotsOptions,type:L.square},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.inpoint},cornersDotOptions:{...qe.cornersDotOptions,type:G.inpoint}},$e={...qe,shape:_.circle,dotsOptions:{...qe.dotsOptions,type:L.rounded},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.rounded},cornersDotOptions:{...qe.cornersDotOptions,type:G.rounded}},et={...qe,dotsOptions:{...qe.dotsOptions,type:L.dot},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.square},cornersDotOptions:{...qe.cornersDotOptions,type:G.square}},tt={...qe,dotsOptions:{...qe.dotsOptions,type:L.dot},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.rounded},cornersDotOptions:{...qe.cornersDotOptions,type:G.rounded}},ot={...qe,dotsOptions:{...qe.dotsOptions,type:L.dot},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.classy},cornersDotOptions:{...qe.cornersDotOptions,type:G.classy}},rt={...qe,dotsOptions:{...qe.dotsOptions,type:L.rounded},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.square},cornersDotOptions:{...qe.cornersDotOptions,type:G.square}},nt={...qe,dotsOptions:{...qe.dotsOptions,type:L.rounded},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.classy},cornersDotOptions:{...qe.cornersDotOptions,type:G.classy}},it={...qe,dotsOptions:{...qe.dotsOptions,type:L.classy},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.square},cornersDotOptions:{...qe.cornersDotOptions,type:G.square}},st={...qe,dotsOptions:{...qe.dotsOptions,type:L.classy},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.rounded},cornersDotOptions:{...qe.cornersDotOptions,type:G.rounded}},at={...qe,dotsOptions:{...qe.dotsOptions,type:L.square},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.dot},cornersDotOptions:{...qe.cornersDotOptions,type:G.dot}},lt={...qe,dotsOptions:{...qe.dotsOptions,type:L.square},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.rounded},cornersDotOptions:{...qe.cornersDotOptions,type:G.rounded}},dt={...qe,dotsOptions:{...qe.dotsOptions,type:L.square},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.classy},cornersDotOptions:{...qe.cornersDotOptions,type:G.classy}},ct={...qe,dotsOptions:{...qe.dotsOptions,type:L.extraRounded},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.dot},cornersDotOptions:{...qe.cornersDotOptions,type:G.dot}},ut={...qe,dotsOptions:{...qe.dotsOptions,type:L.extraRounded},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.classy},cornersDotOptions:{...qe.cornersDotOptions,type:G.classy}},ht={...qe,dotsOptions:{...qe.dotsOptions,type:L.classyRounded},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.dot},cornersDotOptions:{...qe.cornersDotOptions,type:G.dot}},pt={...qe,dotsOptions:{...qe.dotsOptions,type:L.classyRounded},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.square},cornersDotOptions:{...qe.cornersDotOptions,type:G.square}},mt={...qe,dotsOptions:{...qe.dotsOptions,type:L.verticalLine},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.square},cornersDotOptions:{...qe.cornersDotOptions,type:G.square}},ft={...qe,dotsOptions:{...qe.dotsOptions,type:L.horizontalLine},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.square},cornersDotOptions:{...qe.cornersDotOptions,type:G.square}},gt={...qe,dotsOptions:{...qe.dotsOptions,type:L.horizontalLine},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.classy},cornersDotOptions:{...qe.cornersDotOptions,type:G.classy}},bt={...qe,dotsOptions:{...qe.dotsOptions,type:L.smallSquare},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.dot},cornersDotOptions:{...qe.cornersDotOptions,type:G.dot}},yt={...qe,dotsOptions:{...qe.dotsOptions,type:L.smallSquare},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.rounded},cornersDotOptions:{...qe.cornersDotOptions,type:G.rounded}},Ot={...qe,dotsOptions:{...qe.dotsOptions,type:L.tinySquare},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.dot},cornersDotOptions:{...qe.cornersDotOptions,type:G.dot}},St={...qe,dotsOptions:{...qe.dotsOptions,type:L.tinySquare},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.square},cornersDotOptions:{...qe.cornersDotOptions,type:G.square}},Ct={...qe,dotsOptions:{...qe.dotsOptions,type:L.star},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.dot},cornersDotOptions:{...qe.cornersDotOptions,type:G.dot}},wt={...qe,dotsOptions:{...qe.dotsOptions,type:L.star},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.square},cornersDotOptions:{...qe.cornersDotOptions,type:G.square}},kt={...qe,dotsOptions:{...qe.dotsOptions,type:L.plus},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.dot},cornersDotOptions:{...qe.cornersDotOptions,type:G.dot}},vt={...qe,dotsOptions:{...qe.dotsOptions,type:L.plus},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.square},cornersDotOptions:{...qe.cornersDotOptions,type:G.square}},At={...qe,dotsOptions:{...qe.dotsOptions,type:L.diamond},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.dot},cornersDotOptions:{...qe.cornersDotOptions,type:G.dot}},Tt={...qe,dotsOptions:{...qe.dotsOptions,type:L.diamond},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.classy},cornersDotOptions:{...qe.cornersDotOptions,type:G.classy}},It={...qe,dotsOptions:{...qe.dotsOptions,type:L.randomDot},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.square},cornersDotOptions:{...qe.cornersDotOptions,type:G.square}},Dt={...qe,dotsOptions:{...qe.dotsOptions,type:L.randomDot},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.classy},cornersDotOptions:{...qe.cornersDotOptions,type:G.classy}},qt={...qe,dotsOptions:{...qe.dotsOptions,type:L.dot},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.square},cornersDotOptions:{...qe.cornersDotOptions,type:G.dot}},xt={...qe,dotsOptions:{...qe.dotsOptions,type:L.dot},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.dot},cornersDotOptions:{...qe.cornersDotOptions,type:G.square}},Wt={...qe,dotsOptions:{...qe.dotsOptions,type:L.rounded},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.square},cornersDotOptions:{...qe.cornersDotOptions,type:G.dot}},Zt={...qe,dotsOptions:{...qe.dotsOptions,type:L.rounded},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.outpoint},cornersDotOptions:{...qe.cornersDotOptions,type:G.rounded}},Rt={...qe,dotsOptions:{...qe.dotsOptions,type:L.classy},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.square},cornersDotOptions:{...qe.cornersDotOptions,type:G.dot}},Vt={...qe,dotsOptions:{...qe.dotsOptions,type:L.classy},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.dot},cornersDotOptions:{...qe.cornersDotOptions,type:G.square}},Et={...qe,dotsOptions:{...qe.dotsOptions,type:L.square},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.rounded},cornersDotOptions:{...qe.cornersDotOptions,type:G.dot}},jt={...qe,dotsOptions:{...qe.dotsOptions,type:L.square},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.dot},cornersDotOptions:{...qe.cornersDotOptions,type:G.rounded}},Mt={...qe,dotsOptions:{...qe.dotsOptions,type:L.dot},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.classy},cornersDotOptions:{...qe.cornersDotOptions,type:G.dot}},Bt={...qe,dotsOptions:{...qe.dotsOptions,type:L.dot},cornersSquareOptions:{...qe.cornersSquareOptions,type:X.dot},cornersDotOptions:{...qe.cornersDotOptions,type:G.classy}},Jt={...xe,shape:_.circle},Yt={...qe,shape:_.circle},Pt={...Ze,shape:_.circle},Lt={...Re,shape:_.circle},Gt={...Ve,shape:_.circle},Xt={...Ee,shape:_.circle},_t={...je,shape:_.circle},Ft={...Me,shape:_.circle},Nt={...Be,shape:_.circle},zt={...Je,shape:_.circle},Ut={...Ye,shape:_.circle},Kt={...Pe,shape:_.circle},Ht={...Le,shape:_.circle},Qt={...Ge,shape:_.circle},$t={...Xe,shape:_.circle},eo={..._e,shape:_.circle},to={...Fe,shape:_.circle},oo={...Ne,shape:_.circle},ro={...ze,shape:_.circle},no={...Ue,shape:_.circle},io={...Ke,shape:_.circle},so={...He,shape:_.circle},ao={...Qe,shape:_.circle},lo={...et,shape:_.circle},co={...tt,shape:_.circle},uo={...ot,shape:_.circle},ho={...rt,shape:_.circle},po={...nt,shape:_.circle},mo={...it,shape:_.circle},fo={...st,shape:_.circle},go={...at,shape:_.circle},bo={...lt,shape:_.circle},yo={...dt,shape:_.circle},Oo={...ct,shape:_.circle},So={...ut,shape:_.circle},Co={...ht,shape:_.circle},wo={...pt,shape:_.circle},ko={...mt,shape:_.circle},vo={...ft,shape:_.circle},Ao={...gt,shape:_.circle},To={...bt,shape:_.circle},Io={...yt,shape:_.circle},Do={...Ot,shape:_.circle},qo={...St,shape:_.circle},xo={...Ct,shape:_.circle},Wo={...wt,shape:_.circle},Zo={...kt,shape:_.circle},Ro={...vt,shape:_.circle},Vo={...At,shape:_.circle},Eo={...Tt,shape:_.circle},jo={...It,shape:_.circle},Mo={...Dt,shape:_.circle},Bo={...qt,shape:_.circle},Jo={...xt,shape:_.circle},Yo={...Wt,shape:_.circle},Po={...Zt,shape:_.circle},Lo={...Rt,shape:_.circle},Go={...Vt,shape:_.circle},Xo={...Et,shape:_.circle},_o={...jt,shape:_.circle},Fo={...Mt,shape:_.circle},No={...Bt,shape:_.circle},zo=[{id:"base",name:"Default",options:qe},{id:"plain",name:"Square Plain",options:xe},{id:"plain-circle",name:"Square Plain (Circle)",options:Jt},{id:"base-line-rounded",name:"Lines Rounded",options:We},{id:"rounded",name:"Rounded",options:Ze},{id:"dots",name:"Dots",options:Re},{id:"classy",name:"Classy",options:Ve},{id:"extra-rounded-dots-square-corners",name:"Extra Rounded Dots Square Corners",options:Ee},{id:"vertical-line-dots-classy-corners",name:"Vertical Lines Classy Corners",options:je},{id:"horizontal-line-dots-rounded-corners",name:"Horizontal Lines Rounded Corners",options:Me},{id:"classy-rounded-dots-outpoint-corners",name:"Classy Rounded Dots Outpoint Corners",options:Be},{id:"small-square-dots-inpoint-corners",name:"Small Square Dots Inpoint Corners",options:Je},{id:"tiny-square-dots-square-corners-heart-corners",name:"Tiny Square Dots Heart Corners",options:Ye},{id:"star-dots-classy-corners",name:"Star Dots Classy Corners",options:Pe},{id:"plus-dots-rounded-corners",name:"Plus Dots Rounded Corners",options:Le},{id:"diamond-dots-square-corners",name:"Diamond Dots Square Corners",options:Ge},{id:"random-dot-dots-dot-corners",name:"Random Dots",options:Xe},{id:"dot-dots-outpoint-corners",name:"Dots Outpoint Corners",options:_e},{id:"dot-dots-inpoint-corners",name:"Dots Inpoint Corners",options:Fe},{id:"rounded-dots-outpoint-corners",name:"Rounded Dots Outpoint Corners",options:Ne},{id:"rounded-dots-inpoint-corners",name:"Rounded Dots Inpoint Corners",options:ze},{id:"classy-dots-outpoint-corners",name:"Classy Dots Outpoint Corners",options:Ue},{id:"classy-dots-inpoint-corners",name:"Classy Dots Inpoint Corners",options:Ke},{id:"square-dots-outpoint-corners",name:"Square Dots Outpoint Corners",options:He},{id:"square-dots-inpoint-corners",name:"Square Dots Inpoint Corners",options:Qe},{id:"dot-dots-square-corners",name:"Dots Square Corners",options:et},{id:"dot-dots-rounded-corners",name:"Dots Rounded Corners",options:tt},{id:"dot-dots-classy-corners",name:"Dots Classy Corners",options:ot},{id:"rounded-dots-square-corners",name:"Rounded Dots Square Corners",options:rt},{id:"rounded-dots-classy-corners",name:"Rounded Dots Classy Corners",options:nt},{id:"classy-dots-square-corners",name:"Classy Dots Square Corners",options:it},{id:"classy-dots-rounded-corners",name:"Classy Dots Rounded Corners",options:st},{id:"square-dots-dot-corners",name:"Square Dots Dot Corners",options:at},{id:"square-dots-rounded-corners",name:"Square Dots Rounded Corners",options:lt},{id:"square-dots-classy-corners",name:"Square Dots Classy Corners",options:dt},{id:"extra-rounded-dots-dot-corners",name:"Extra Rounded Dots Dot Corners",options:ct},{id:"extra-rounded-dots-classy-corners",name:"Extra Rounded Dots Classy Corners",options:ut},{id:"classy-rounded-dots-dot-corners",name:"Classy Rounded Dots Dot Corners",options:ht},{id:"classy-rounded-dots-square-corners",name:"Classy Rounded Dots Square Corners",options:pt},{id:"vertical-line-dots-square-corners",name:"Vertical Lines Square Corners",options:mt},{id:"horizontal-line-dots-square-corners",name:"Horizontal Lines Square Corners",options:ft},{id:"horizontal-line-dots-classy-corners",name:"Horizontal Lines Classy Corners",options:gt},{id:"small-square-dots-dot-corners",name:"Small Square Dots Dot Corners",options:bt},{id:"small-square-dots-rounded-corners",name:"Small Square Dots Rounded Corners",options:yt},{id:"tiny-square-dots-dot-corners",name:"Tiny Square Dots Dot Corners",options:Ot},{id:"tiny-square-dots-square-corners",name:"Tiny Square Dots Square Corners",options:St},{id:"star-dots-dot-corners",name:"Star Dots Dot Corners",options:Ct},{id:"star-dots-square-corners",name:"Star Dots Square Corners",options:wt},{id:"plus-dots-dot-corners",name:"Plus Dots Dot Corners",options:kt},{id:"plus-dots-square-corners",name:"Plus Dots Square Corners",options:vt},{id:"diamond-dots-dot-corners",name:"Diamond Dots Dot Corners",options:At},{id:"diamond-dots-classy-corners",name:"Diamond Dots Classy Corners",options:Tt},{id:"random-dot-dots-square-corners",name:"Random Dots Square Corners",options:It},{id:"random-dot-dots-classy-corners",name:"Random Dots Classy Corners",options:Dt},{id:"dot-dots-square-corners-dot-corners",name:"Dots Square/Dot Corners",options:qt},{id:"dot-dots-dot-corners-square-corners",name:"Dots Dot/Square Corners",options:xt},{id:"rounded-dots-square-corners-dot-corners",name:"Rounded Dots Square/Dot Corners",options:Wt},{id:"rounded-dots-dot-corners-square-corners",name:"Rounded Dots Dot/Square Corners",options:Zt},{id:"classy-dots-square-corners-dot-corners",name:"Classy Dots Square/Dot Corners",options:Rt},{id:"classy-dots-dot-corners-square-corners",name:"Classy Dots Dot/Square Corners",options:Vt},{id:"square-dots-rounded-corners-dot-corners",name:"Square Dots Rounded/Dot Corners",options:Et},{id:"square-dots-dot-corners-rounded-corners",name:"Square Dots Dot/Rounded Corners",options:jt},{id:"dot-dots-classy-corners-dot-corners",name:"Dots Classy/Dot Corners",options:Mt},{id:"dot-dots-dot-corners-classy-corners",name:"Dots Dot/Classy Corners",options:Bt},{id:"circle-shape-dot-dots-square-corners",name:"Circle Dots Square Corners",options:lo},{id:"circle-shape-rounded-dots-rounded-corners",name:"Circle Rounded",options:$e},{id:"circle-shape-square-dots-square-corners",name:"Circle Square Plain",options:Jt},{id:"circle-shape-vertical-line-dots-rounded-corners",name:"Circle Lines Rounded",options:Yt},{id:"circle-shape-rounded-dots-dot-corners",name:"Circle Rounded Dots",options:Pt},{id:"circle-shape-dot-dots-dot-corners",name:"Circle Dots",options:Lt},{id:"circle-shape-classy-dots-classy-corners",name:"Circle Classy",options:Gt},{id:"circle-shape-extra-rounded-dots-square-corners",name:"Circle Extra Rounded Dots Square Corners",options:Xt},{id:"circle-shape-vertical-line-dots-classy-corners",name:"Circle Vertical Lines Classy Corners",options:_t},{id:"circle-shape-horizontal-line-dots-rounded-corners",name:"Circle Horizontal Lines Rounded Corners",options:Ft},{id:"circle-shape-classy-rounded-dots-outpoint-corners",name:"Circle Classy Rounded Dots Outpoint Corners",options:Nt},{id:"circle-shape-small-square-dots-inpoint-corners",name:"Circle Small Square Dots Inpoint Corners",options:zt},{id:"circle-shape-tiny-square-dots-square-corners-heart-corners",name:"Circle Tiny Square Dots Heart Corners",options:Ut},{id:"circle-shape-star-dots-classy-corners",name:"Circle Star Dots Classy Corners",options:Kt},{id:"circle-shape-plus-dots-rounded-corners",name:"Circle Plus Dots Rounded Corners",options:Ht},{id:"circle-shape-diamond-dots-square-corners",name:"Circle Diamond Dots Square Corners",options:Qt},{id:"circle-shape-random-dot-dots-dot-corners",name:"Circle Random Dots",options:$t},{id:"circle-shape-dot-dots-outpoint-corners",name:"Circle Dots Outpoint Corners",options:eo},{id:"circle-shape-dot-dots-inpoint-corners",name:"Circle Dots Inpoint Corners",options:to},{id:"circle-shape-rounded-dots-outpoint-corners",name:"Circle Rounded Dots Outpoint Corners",options:oo},{id:"circle-shape-rounded-dots-inpoint-corners",name:"Circle Rounded Dots Inpoint Corners",options:ro},{id:"circle-shape-classy-dots-outpoint-corners",name:"Circle Classy Dots Outpoint Corners",options:no},{id:"circle-shape-classy-dots-inpoint-corners",name:"Circle Classy Dots Inpoint Corners",options:io},{id:"circle-shape-square-dots-outpoint-corners",name:"Circle Square Dots Outpoint Corners",options:so},{id:"circle-shape-square-dots-inpoint-corners",name:"Circle Square Dots Inpoint Corners",options:ao},{id:"circle-shape-dot-dots-rounded-corners",name:"Circle Dots Rounded Corners",options:co},{id:"circle-shape-dot-dots-classy-corners",name:"Circle Dots Classy Corners",options:uo},{id:"circle-shape-rounded-dots-square-corners",name:"Circle Rounded Dots Square Corners",options:ho},{id:"circle-shape-rounded-dots-classy-corners",name:"Circle Rounded Dots Classy Corners",options:po},{id:"circle-shape-classy-dots-square-corners",name:"Circle Classy Dots Square Corners",options:mo},{id:"circle-shape-classy-dots-rounded-corners",name:"Circle Classy Dots Rounded Corners",options:fo},{id:"circle-shape-square-dots-dot-corners",name:"Circle Square Dots Dot Corners",options:go},{id:"circle-shape-square-dots-rounded-corners",name:"Circle Square Dots Rounded Corners",options:bo},{id:"circle-shape-square-dots-classy-corners",name:"Circle Square Dots Classy Corners",options:yo},{id:"circle-shape-extra-rounded-dots-dot-corners",name:"Circle Extra Rounded Dots Dot Corners",options:Oo},{id:"circle-shape-extra-rounded-dots-classy-corners",name:"Circle Extra Rounded Dots Classy Corners",options:So},{id:"circle-shape-classy-rounded-dots-dot-corners",name:"Circle Classy Rounded Dots Dot Corners",options:Co},{id:"circle-shape-classy-rounded-dots-square-corners",name:"Circle Classy Rounded Dots Square Corners",options:wo},{id:"circle-shape-vertical-line-dots-square-corners",name:"Circle Vertical Lines Square Corners",options:ko},{id:"circle-shape-horizontal-line-dots-square-corners",name:"Circle Horizontal Lines Square Corners",options:vo},{id:"circle-shape-horizontal-line-dots-classy-corners",name:"Circle Horizontal Lines Classy Corners",options:Ao},{id:"circle-shape-small-square-dots-dot-corners",name:"Circle Small Square Dots Dot Corners",options:To},{id:"circle-shape-small-square-dots-rounded-corners",name:"Circle Small Square Dots Rounded Corners",options:Io},{id:"circle-shape-tiny-square-dots-dot-corners",name:"Circle Tiny Square Dots Dot Corners",options:Do},{id:"circle-shape-tiny-square-dots-square-corners",name:"Circle Tiny Square Dots Square Corners",options:qo},{id:"circle-shape-star-dots-dot-corners",name:"Circle Star Dots Dot Corners",options:xo},{id:"circle-shape-star-dots-square-corners",name:"Circle Star Dots Square Corners",options:Wo},{id:"circle-shape-plus-dots-dot-corners",name:"Circle Plus Dots Dot Corners",options:Zo},{id:"circle-shape-plus-dots-square-corners",name:"Circle Plus Dots Square Corners",options:Ro},{id:"circle-shape-diamond-dots-dot-corners",name:"Circle Diamond Dots Dot Corners",options:Vo},{id:"circle-shape-diamond-dots-classy-corners",name:"Circle Diamond Dots Classy Corners",options:Eo},{id:"circle-shape-random-dot-dots-square-corners",name:"Circle Random Dots Square Corners",options:jo},{id:"circle-shape-random-dot-dots-classy-corners",name:"Circle Random Dots Classy Corners",options:Mo},{id:"circle-shape-dot-dots-square-corners-dot-corners",name:"Circle Dots Square/Dot Corners",options:Bo},{id:"circle-shape-dot-dots-dot-corners-square-corners",name:"Circle Dots Dot/Square Corners",options:Jo},{id:"circle-shape-rounded-dots-square-corners-dot-corners",name:"Circle Rounded Dots Square/Dot Corners",options:Yo},{id:"circle-shape-rounded-dots-dot-corners-square-corners",name:"Circle Rounded Dots Dot/Square Corners",options:Po},{id:"circle-shape-classy-dots-square-corners-dot-corners",name:"Circle Classy Dots Square/Dot Corners",options:Lo},{id:"circle-shape-classy-dots-dot-corners-square-corners",name:"Circle Classy Dots Dot/Square Corners",options:Go},{id:"circle-shape-square-dots-rounded-corners-dot-corners",name:"Circle Square Dots Rounded/Dot Corners",options:Xo},{id:"circle-shape-square-dots-dot-corners-rounded-corners",name:"Circle Square Dots Dot/Rounded Corners",options:_o},{id:"circle-shape-dot-dots-classy-corners-dot-corners",name:"Circle Dots Classy/Dot Corners",options:Fo},{id:"circle-shape-dot-dots-dot-corners-classy-corners",name:"Circle Dots Dot/Classy Corners",options:No}];function Uo(e){return zo.find((t=>t.name.toLowerCase()===e.toLowerCase()))}function Ko(e){return zo.find((t=>t.id===e))}Ko("base");const Ho=e=>"number"==typeof e&&!isNaN(e)&&isFinite(e),Qo=(e,t)=>{const o=[];return Object.values(Y).includes(e.type)||o.push({path:`${t}.type`,message:`Invalid gradient type. Must be one of: ${Object.values(Y).join(", ")}`,value:e.type}),void 0===e.rotation||Ho(e.rotation)||o.push({path:`${t}.rotation`,message:"Rotation must be a valid number",value:e.rotation}),!e.colorStops||!Array.isArray(e.colorStops)||e.colorStops.length<2?o.push({path:`${t}.colorStops`,message:"Gradient must have at least 2 color stops",value:e.colorStops}):e.colorStops.forEach(((e,r)=>{(!Ho(e.offset)||e.offset<0||e.offset>1)&&o.push({path:`${t}.colorStops[${r}].offset`,message:"Color stop offset must be between 0 and 1",value:e.offset}),(e=>{if(new Set(["black","white","red","green","blue","yellow","purple","gray","grey","cyan","magenta","lime","pink","teal","brown","orange"]).has(e.toLowerCase()))return!0;if(/^#([A-Fa-f0-9]{3}){1,2}$/.test(e))return!0;if(/^#([A-Fa-f0-9]{4}){1,2}$/.test(e))return!0;if(/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/.test(e)||/^rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([01]?\.?\d*)\)$/.test(e))return(e.match(/\d+/g)?.map(Number)||[]).every((e=>e>=0&&e<=255));return!1})(e.color)||o.push({path:`${t}.colorStops[${r}].color`,message:"Invalid color format",value:e.color})})),o};function $o(e){const t=[];let o={...qe};return e.data&&"string"==typeof e.data||t.push({path:"data",message:"QR data is required and must be a string",value:e.data}),e.shape&&!Object.values(_).includes(e.shape)&&(t.push({path:"shape",message:`Invalid shape type. Must be one of: ${Object.values(_).join(", ")}`,value:e.shape}),e.shape=qe.shape),e.qrOptions&&(e.qrOptions.typeNumber&&!Object.values(m).includes(e.qrOptions.typeNumber)&&(t.push({path:"qrOptions.typeNumber",message:"Invalid type number",value:e.qrOptions.typeNumber}),e.qrOptions.typeNumber=qe.qrOptions?.typeNumber),e.qrOptions.errorCorrectionLevel&&!Object.values(f).includes(e.qrOptions.errorCorrectionLevel)&&(t.push({path:"qrOptions.errorCorrectionLevel",message:"Invalid error correction level",value:e.qrOptions.errorCorrectionLevel}),e.qrOptions.errorCorrectionLevel=qe.qrOptions?.errorCorrectionLevel),e.qrOptions.mode&&!Object.values(g).includes(e.qrOptions.mode)&&(t.push({path:"qrOptions.mode",message:"Invalid mode",value:e.qrOptions.mode}),e.qrOptions.mode=qe.qrOptions?.mode)),e.imageOptions&&(e.imageOptions.imageSize&&(!Ho(e.imageOptions.imageSize)||e.imageOptions.imageSize<=0||e.imageOptions.imageSize>1)&&(t.push({path:"imageOptions.imageSize",message:"Image size must be between 0 and 1",value:e.imageOptions.imageSize}),e.imageOptions.imageSize=qe.imageOptions?.imageSize),e.imageOptions.margin&&(!Ho(e.imageOptions.margin)||e.imageOptions.margin<0)&&(t.push({path:"imageOptions.margin",message:"Margin must be a non-negative number",value:e.imageOptions.margin}),e.imageOptions.margin=qe.imageOptions?.margin),e.imageOptions.mode&&!Object.values(F).includes(e.imageOptions.mode)&&(t.push({path:"imageOptions.mode",message:`Invalid image mode. Must be one of: ${Object.values(F).join(", ")}`,value:e.imageOptions.mode}),e.imageOptions.mode=qe.imageOptions?.mode)),e.dotsOptions&&(e.dotsOptions.type&&!Object.values(L).includes(e.dotsOptions.type)&&(t.push({path:"dotsOptions.type",message:`Invalid dot type. Must be one of: ${Object.values(L).join(", ")}`,value:e.dotsOptions.type}),e.dotsOptions.type=qe.dotsOptions?.type),e.dotsOptions.size&&(!Ho(e.dotsOptions.size)||e.dotsOptions.size<=0)&&(t.push({path:"dotsOptions.size",message:"Dot size must be a positive number",value:e.dotsOptions.size}),e.dotsOptions.size=qe.dotsOptions?.size),e.dotsOptions.gradient&&t.push(...Qo(e.dotsOptions.gradient,"dotsOptions.gradient"))),e.cornersSquareOptions&&(e.cornersSquareOptions.type&&!Object.values(X).includes(e.cornersSquareOptions.type)&&(t.push({path:"cornersSquareOptions.type",message:`Invalid corner square type. Must be one of: ${Object.values(X).join(", ")}`,value:e.cornersSquareOptions.type}),e.cornersSquareOptions.type=qe.cornersSquareOptions?.type),e.cornersSquareOptions.gradient&&t.push(...Qo(e.cornersSquareOptions.gradient,"cornersSquareOptions.gradient"))),e.cornersDotOptions&&(e.cornersDotOptions.type&&!Object.values(G).includes(e.cornersDotOptions.type)&&(t.push({path:"cornersDotOptions.type",message:`Invalid corner dot type. Must be one of: ${Object.values(G).join(", ")}`,value:e.cornersDotOptions.type}),e.cornersDotOptions.type=qe.cornersDotOptions?.type),e.cornersDotOptions.gradient&&t.push(...Qo(e.cornersDotOptions.gradient,"cornersDotOptions.gradient"))),o={...o,...e},{warnings:t,validatedOptions:o}}const er=/\.?0+$/;function tr(e){return e.toFixed(7).replace(er,"")}function or(e,...t){return e.reduce(((e,o,r)=>{let n="";return r&&(n=t[r-1]),"number"==typeof n&&(n=tr(n)),`${e}${n}${o}`}),"").trim().replace(/[\s\n\r]+/gim," ")}class rr{get element(){return this._element}constructor(e,t){this.type=e,this.document=t}draw(e){let t;switch(this.type){case G.square:t=this.drawSquare;break;case G.heart:t=this.drawHeart;break;case G.rounded:t=this.drawRounded;break;case G.classy:t=this.drawClassy;break;case G.inpoint:t=this.drawInpoint;break;case G.outpoint:t=this.drawOutpoint;break;case G.dot:default:t=this.drawDot}t.call(this,e)}rotateFigure({x:e,y:t,size:o,rotation:r=0,draw:n}){const i=e+o/2,s=t+o/2;n(),this._element?.setAttribute("transform",`rotate(${tr(180*r/Math.PI)},${i},${s})`)}basicDot(e){const{size:t,x:o,y:r}=e;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","circle"),this._element.setAttribute("cx",tr(o+t/2)),this._element.setAttribute("cy",tr(r+t/2)),this._element.setAttribute("r",tr(t/2.1))}})}basicSquare(e){const{size:t,x:o,y:r}=e,n=t/11;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","rect"),this._element.setAttribute("x",tr(o+n)),this._element.setAttribute("y",tr(r+n)),this._element.setAttribute("width",tr(t-2*n)),this._element.setAttribute("height",tr(t-2*n))}})}basicHeart(e){const{size:t,x:o,y:r}=e;this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path");let n=!1,i=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((e=>"string"==typeof e?(i=0,n=e.toUpperCase()==e,e):(i++,e*=t,n&&(e+=i%2==1?o:r),tr(e)))).join(" "))}basicRounded(e){const{size:t,x:o,y:r}=e;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","rect"),this._element.setAttribute("x",tr(o)),this._element.setAttribute("y",tr(r)),this._element.setAttribute("width",tr(t)),this._element.setAttribute("height",tr(t)),this._element.setAttribute("rx",tr(t/4)),this._element.setAttribute("ry",tr(t/4))}})}basicClassy(e){const{size:t,x:o,y:r}=e,n=t/7;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",or`M ${o} ${r+2.5*n} v ${2*n} a ${2.5*n} ${2.5*n}, 0, 0, 0, ${2.5*n} ${2.5*n} h ${4.5*n} v ${-4.5*n} a ${2.5*n} ${2.5*n}, 0, 0, 0, ${2.5*-n} ${2.5*-n} h ${-2*n} H ${o} z`)}})}basicInpoint(e){const{size:t,x:o,y:r}=e,n=t;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",or`M ${o} ${r+n/2} v ${n/4} a ${n/4}, ${n/4} 0 0 0 ${n/4}, ${n/4} h ${n/4*3} v ${-n/4*3} a ${n/4}, ${n/4} 0 0 0 ${-n/4}, ${-n/4} h ${-n/2} a ${n/4}, ${n/4} 0 0 0 ${-n/4}, ${n/4} z`)}})}drawDot({x:e,y:t,size:o,rotation:r}){this.basicDot({x:e,y:t,size:o,rotation:r})}drawSquare({x:e,y:t,size:o,rotation:r}){this.basicSquare({x:e,y:t,size:o,rotation:r})}drawHeart({x:e,y:t,size:o,rotation:r}){this.basicHeart({x:e,y:t,size:o,rotation:r})}drawRounded({x:e,y:t,size:o,rotation:r}){this.basicRounded({x:e,y:t,size:o,rotation:r})}drawClassy({x:e,y:t,size:o,rotation:r}){this.basicClassy({x:e,y:t,size:o,rotation:r})}drawInpoint({x:e,y:t,size:o,rotation:r}){this.basicInpoint({x:e,y:t,size:o,rotation:r})}drawOutpoint({x:e,y:t,size:o,rotation:r}){this.basicInpoint({x:e,y:t,size:o,rotation:(r||0)+Math.PI})}}class nr{get element(){return this._element}get fill(){return this._fill}constructor(e,t){this.type=e,this.document=t}draw(e){let t;switch(this.type){case X.square:t=this.drawSquare;break;case X.rounded:t=this.drawExtraRounded;break;case X.classy:t=this.drawClassy;break;case X.outpoint:t=this.drawOutpoint;break;case X.inpoint:t=this.drawInpoint;break;case X.dot:default:t=this.drawDot}t.call(this,e)}rotateFigure({x:e,y:t,size:o,rotation:r=0,draw:n}){const i=e+o/2,s=t+o/2;n(),this._element?.setAttribute("transform",`rotate(${tr(180*r/Math.PI)},${i},${s})`),this._fill?.setAttribute("transform",`rotate(${tr(180*r/Math.PI)},${i},${s})`)}basicDot(e){const{size:t,x:o,y:r}=e,n=t/8,i=.5*t,s=i-n;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",or`M ${o+t/2} ${r+(t/2-i)} a ${i} ${i} 0 1 0 0.1 0 z m 0 ${n} a ${s} ${s} 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",or`M ${o+t/2} ${r+(t/2-(i+n))} a ${i+n} ${i+n} 0 1 0 0.1 0 z`)}})}basicSquare(e){const{size:t,x:o,y:r}=e,n=t/7;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",or`M ${o} ${r} v ${t} h ${t} v ${-t} z M ${o+n} ${r+n} h ${t-2*n} v ${t-2*n} h ${2*n-t} z`),this._fill=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._fill.setAttribute("clip-rule","evenodd"),this._fill.setAttribute("d",or`M ${o-n} ${r-n} h ${t+2*n} v ${t+2*n} h ${-t-2*n} z`)}})}basicExtraRounded(e){const{size:t,x:o,y:r}=e,n=t/7;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",or`M ${o} ${r+2.5*n} v ${2*n} a ${2.5*n} ${2.5*n}, 0, 0, 0, ${2.5*n} ${2.5*n} h ${2*n} a ${2.5*n} ${2.5*n}, 0, 0, 0, ${2.5*n} ${2.5*-n} v ${-2*n} a ${2.5*n} ${2.5*n}, 0, 0, 0, ${2.5*-n} ${2.5*-n} h ${-2*n} a ${2.5*n} ${2.5*n}, 0, 0, 0, ${2.5*-n} ${2.5*n} z M ${o+2.5*n} ${r+n} h ${2*n} a ${1.5*n} ${1.5*n}, 0, 0, 1, ${1.5*n} ${1.5*n} v ${2*n} a ${1.5*n} ${1.5*n}, 0, 0, 1, ${1.5*-n} ${1.5*n} h ${-2*n} a ${1.5*n} ${1.5*n}, 0, 0, 1, ${1.5*-n} ${1.5*-n} v ${-2*n} a ${1.5*n} ${1.5*n}, 0, 0, 1, ${1.5*n} ${1.5*-n} z`),this._fill=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._fill.setAttribute("clip-rule","evenodd"),this._fill.setAttribute("d",or`M ${o-n} ${r+2.5*n} v ${2*n} a ${3.5*n} ${3.5*n}, 0, 0, 0, ${3.5*n} ${3.5*n} h ${2*n} a ${3.5*n} ${3.5*n}, 0, 0, 0, ${3.5*n} ${3.5*-n} v ${-2*n} a ${3.5*n} ${3.5*n}, 0, 0, 0, ${3.5*-n} ${3.5*-n} h ${-2*n} a ${3.5*n} ${3.5*n}, 0, 0, 0, ${3.5*-n} ${3.5*n} z`)}})}basicClassy(e){const{size:t,x:o,y:r}=e,n=t/7;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",or`M ${o} ${r+2.5*n} v ${2*n} a ${2.5*n} ${2.5*n}, 0, 0, 0, ${2.5*n} ${2.5*n} h ${4.5*n} v ${-4.5*n} a ${2.5*n} ${2.5*n}, 0, 0, 0, ${2.5*-n} ${2.5*-n} h ${-2*n} H ${o} z M ${o+2.5*n} ${r+n} h ${2*n} a ${1.5*n} ${1.5*n}, 0, 0, 1, ${1.5*n} ${1.5*n} v ${3.5*n} h ${-3.5*n} a ${1.5*n} ${1.5*n}, 0, 0, 1, ${1.5*-n} ${1.5*-n} v ${-3.5*n} z`),this._fill=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._fill.setAttribute("clip-rule","evenodd"),this._fill.setAttribute("d",or`M ${o+.5*n} ${r-n} h ${4*n} a ${3.5*n} ${3.5*n}, 0, 0, 1, ${3.5*n} ${3.5*n} v ${5.5*n} h ${-5.5*n} a ${3.5*n} ${3.5*n}, 0, 0, 1, ${3.5*-n} ${3.5*-n} v ${-5.5*n} z`)}})}basicInpoint(e){const{size:t,x:o,y:r}=e,n=t/7;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",or`M ${o} ${r+2.5*n} v ${2*n} a ${2.5*n} ${2.5*n}, 0, 0, 0, ${2.5*n} ${2.5*n} h ${4.5*n} v ${-4.5*n} a ${2.5*n} ${2.5*n}, 0, 0, 0, ${2.5*-n} ${2.5*-n} h ${-2*n} a ${2.5*n} ${2.5*n}, 0, 0, 0, ${2.5*-n} ${2.5*n} z M ${o+2.5*n} ${r+n} h ${2*n} a ${1.5*n} ${1.5*n}, 0, 0, 1, ${1.5*n} ${1.5*n} v ${3.5*n} h ${-3.5*n} a ${1.5*n} ${1.5*n}, 0, 0, 1, ${1.5*-n} ${1.5*-n} v ${-2*n} a ${1.5*n} ${1.5*n}, 0, 0, 1, ${1.5*n} ${1.5*-n} z`),this._fill=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._fill.setAttribute("clip-rule","evenodd"),this._fill.setAttribute("d",or`M ${o+.5*n} ${r-n} h ${4*n} a ${3.5*n} ${3.5*n}, 0, 0, 1, ${3.5*n} ${3.5*n} v ${5.5*n} h ${-5.5*n} a ${3.5*n} ${3.5*n}, 0, 0, 1, ${3.5*-n} ${3.5*-n} v ${-2*n} a ${3.5*n} ${3.5*n}, 0, 0, 1, ${3.5*n} ${3.5*-n} z`)}})}drawDot({x:e,y:t,size:o,rotation:r}){this.basicDot({x:e,y:t,size:o,rotation:r})}drawSquare({x:e,y:t,size:o,rotation:r}){this.basicSquare({x:e,y:t,size:o,rotation:r})}drawExtraRounded({x:e,y:t,size:o,rotation:r}){this.basicExtraRounded({x:e,y:t,size:o,rotation:r})}drawClassy({x:e,y:t,size:o,rotation:r}){this.basicClassy({x:e,y:t,size:o,rotation:r})}drawInpoint({x:e,y:t,size:o,rotation:r}){this.basicInpoint({x:e,y:t,size:o,rotation:r})}drawOutpoint({x:e,y:t,size:o,rotation:r}){this.basicInpoint({x:e,y:t,size:o,rotation:(r||0)+Math.PI})}}class ir{get element(){return this._element}constructor(e,t){this.type=e,this.document=t}draw(e){let t;switch(this.type){case L.dot:t=this.drawDot;break;case L.randomDot:t=this.drawRandomDot;break;case L.classy:t=this.drawClassy;break;case L.classyRounded:t=this.drawClassyRounded;break;case L.rounded:t=this.drawRounded;break;case L.verticalLine:t=this.drawVerticalLine;break;case L.horizontalLine:t=this.drawHorizontalLine;break;case L.extraRounded:t=this.drawExtraRounded;break;case L.diamond:t=this.drawDiamond;break;case L.smallSquare:t=this.drawSmallSquare;break;case L.tinySquare:t=this.drawTinySquare;break;case L.star:t=this.drawStar;break;case L.plus:t=this.drawPlus;break;case L.square:default:t=this.drawSquare}t.call(this,e)}rotateFigure({x:e,y:t,size:o,rotation:r=0,draw:n}){const i=e+o/2,s=t+o/2;n(),this._element?.setAttribute("transform",`rotate(${tr(180*r/Math.PI)},${i},${s})`)}basicDot(e){const{size:t,x:o,y:r}=e;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","circle"),this._element.setAttribute("cx",tr(o+t/2)),this._element.setAttribute("cy",tr(r+t/2)),this._element.setAttribute("r",tr(t/2))}})}basicSquare(e){const{size:t,x:o,y:r}=e;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","rect"),this._element.setAttribute("x",tr(o)),this._element.setAttribute("y",tr(r)),this._element.setAttribute("width",tr(t)),this._element.setAttribute("height",tr(t))}})}basicSideRounded(e){const{size:t,x:o,y:r}=e;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",or`M ${o} ${r} v ${t} h ${t/2} a ${t/2} ${t/2}, 0, 0, 0, 0 ${-t} z`)}})}basicCornerRounded(e){const{size:t,x:o,y:r}=e;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",or`M ${o} ${r} v ${t} h ${t} v ${-t/2} a ${t/2} ${t/2}, 0, 0, 0, ${-t/2} ${-t/2} z`)}})}basicCornerExtraRounded(e){const{size:t,x:o,y:r}=e;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",or`M ${o} ${r} v ${t} h ${t} a ${t} ${t}, 0, 0, 0, ${-t} ${-t} z`)}})}basicCornersRounded(e){const{size:t,x:o,y:r}=e;this.rotateFigure({...e,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",or`M ${o} ${r} v ${t/2} a ${t/2} ${t/2}, 0, 0, 0, ${t/2} ${t/2} h ${t/2} v ${-t/2} a ${t/2} ${t/2}, 0, 0, 0, ${-t/2} ${-t/2} z`)}})}drawDot({x:e,y:t,size:o}){this.basicDot({x:e,y:t,size:o,rotation:0})}drawRandomDot({x:e,y:t,size:o}){const r=.25*Math.random()+.75;this.basicDot({x:e,y:t,size:o*r,rotation:0})}drawSquare({x:e,y:t,size:o}){this.basicSquare({x:e,y:t,size:o,rotation:0})}drawSmallSquare({x:e,y:t,size:o}){const r=o;o=.7*r,e+=.15*r,t+=.15*r,this.basicSquare({x:e,y:t,size:o,rotation:0})}drawTinySquare({x:e,y:t,size:o}){const r=o;o=.6*r,e+=.35*r,t+=.35*r,this.basicSquare({x:e,y:t,size:o,rotation:0})}drawDiamond({x:e,y:t,size:o}){this.basicSquare({x:e,y:t,size:o,rotation:Math.PI/4})}drawRounded({x:e,y:t,size:o,getNeighbor:r}){const n=r?+r(-1,0):0,i=r?+r(1,0):0,s=r?+r(0,-1):0,a=r?+r(0,1):0,l=n+i+s+a;if(0!==l)if(l>2||n&&i||s&&a)this.basicSquare({x:e,y:t,size:o,rotation:0});else{if(2===l){let r=0;return n&&s?r=Math.PI/2:s&&i?r=Math.PI:i&&a&&(r=-Math.PI/2),void this.basicCornerRounded({x:e,y:t,size:o,rotation:r})}if(1===l){let r=0;return s?r=Math.PI/2:i?r=Math.PI:a&&(r=-Math.PI/2),void this.basicSideRounded({x:e,y:t,size:o,rotation:r})}}else this.basicDot({x:e,y:t,size:o,rotation:0})}drawVerticalLine({x:e,y:t,size:o,getNeighbor:r}){const n=r?+r(-1,0):0,i=r?+r(1,0):0,s=r?+r(0,-1):0,a=r?+r(0,1):0;if(0===n+i+s+a||n&&!s&&!a||i&&!s&&!a)this.basicDot({x:e,y:t,size:o,rotation:0});else if(s&&a)this.basicSquare({x:e,y:t,size:o,rotation:0});else if(!s||a)if(!a||s);else{const r=-Math.PI/2;this.basicSideRounded({x:e,y:t,size:o,rotation:r})}else{const r=Math.PI/2;this.basicSideRounded({x:e,y:t,size:o,rotation:r})}}drawHorizontalLine({x:e,y:t,size:o,getNeighbor:r}){const n=r?+r(-1,0):0,i=r?+r(1,0):0,s=r?+r(0,-1):0,a=r?+r(0,1):0;if(0===n+i+s+a||s&&!n&&!i||a&&!n&&!i)this.basicDot({x:e,y:t,size:o,rotation:0});else if(n&&i)this.basicSquare({x:e,y:t,size:o,rotation:0});else if(!n||i)if(!i||n);else{const r=Math.PI;this.basicSideRounded({x:e,y:t,size:o,rotation:r})}else{const r=0;this.basicSideRounded({x:e,y:t,size:o,rotation:r})}}drawExtraRounded({x:e,y:t,size:o,getNeighbor:r}){const n=r?+r(-1,0):0,i=r?+r(1,0):0,s=r?+r(0,-1):0,a=r?+r(0,1):0,l=n+i+s+a;if(0!==l)if(l>2||n&&i||s&&a)this.basicSquare({x:e,y:t,size:o,rotation:0});else{if(2===l){let r=0;return n&&s?r=Math.PI/2:s&&i?r=Math.PI:i&&a&&(r=-Math.PI/2),void this.basicCornerExtraRounded({x:e,y:t,size:o,rotation:r})}if(1===l){let r=0;return s?r=Math.PI/2:i?r=Math.PI:a&&(r=-Math.PI/2),void this.basicSideRounded({x:e,y:t,size:o,rotation:r})}}else this.basicDot({x:e,y:t,size:o,rotation:0})}drawClassy({x:e,y:t,size:o,getNeighbor:r}){const n=r?+r(-1,0):0,i=r?+r(1,0):0,s=r?+r(0,-1):0,a=r?+r(0,1):0;0!==n+i+s+a?n||s?i||a?this.basicSquare({x:e,y:t,size:o,rotation:0}):this.basicCornerRounded({x:e,y:t,size:o,rotation:Math.PI/2}):this.basicCornerRounded({x:e,y:t,size:o,rotation:-Math.PI/2}):this.basicCornersRounded({x:e,y:t,size:o,rotation:Math.PI/2})}drawClassyRounded({x:e,y:t,size:o,getNeighbor:r}){const n=r?+r(-1,0):0,i=r?+r(1,0):0,s=r?+r(0,-1):0,a=r?+r(0,1):0;0!==n+i+s+a?n||s?i||a?this.basicSquare({x:e,y:t,size:o,rotation:0}):this.basicCornerExtraRounded({x:e,y:t,size:o,rotation:Math.PI/2}):this.basicCornerExtraRounded({x:e,y:t,size:o,rotation:-Math.PI/2}):this.basicCornersRounded({x:e,y:t,size:o,rotation:Math.PI/2})}drawStar({x:e,y:t,size:o}){this.rotateFigure({x:e,y:t,size:o,rotation:0,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path");const r=e+o/2,n=t+o/2,i=1.3*o/2,s=.5*i;let a="";for(let e=0;e<10;e++){const t=e*Math.PI/5-Math.PI/2,o=e%2==0?i:s;a+=(0===e?"M":"L")+`${r+o*Math.cos(t)},${n+o*Math.sin(t)}`}a+="Z",this._element?.setAttribute("d",a)}})}drawPlus({x:e,y:t,size:o}){this.rotateFigure({x:e,y:t,size:o,rotation:0,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path");const r=.35*o,n=.85*o,i=(o-n)/2,s=r/2,a=[`M ${e+o/2-s} ${t+i}`,`h ${r}`,`v ${n}`,"h "+-r,"z",`M ${e+i} ${t+o/2-s}`,`h ${n}`,`v ${r}`,"h "+-n,"z"].join(" ");this._element?.setAttribute("d",a)}})}}const sr={toDataURL:e=>"string"==typeof e&&e.startsWith("data:")?Promise.resolve(e):new Promise(((t,o)=>{if("string"==typeof e){const r=new XMLHttpRequest,n=()=>{r.abort()};r.onload=()=>{if(r.status<200||r.status>=300)return n(),void o(new Error(`Failed to load image: ${r.statusText}`));const e=new FileReader;e.onloadend=()=>{n(),t(e.result)},e.onerror=()=>{n(),o(new Error("Failed to read image blob"))},e.readAsDataURL(r.response)},r.onerror=r.ontimeout=r.onabort=()=>{n(),o(new Error("Image load aborted or failed"))};try{r.open("GET",e,!0),r.responseType="blob",r.timeout=1e4,r.send()}catch(e){n(),o(e)}}else{const r=new FileReader;r.onloadend=()=>{t(r.result)},r.onerror=()=>{o(new Error("Failed to read local image"))},r.readAsDataURL(e)}})).catch((e=>(console.error("Image loading error:",e),"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSIjY2NjIi8+PHRleHQgeD0iNTAlIiB5PSI1MCUiIGRvbWluYW50LWJhc2VsaW5lPSJtaWRkbGUiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZpbGw9IiMwMDAiIGZvbnQtc2l6ZT0iMTYiPkxvZ28gbG9hZCBlcnJvcjwvdGV4dD48L3N2Zz4="))),getSize:(e,t)=>new Promise(((o,r)=>{const n=new Image,i=setTimeout((()=>{r(new Error("Image loading timed out"))}),15e3);"string"==typeof t&&(n.crossOrigin=t);const s=()=>{clearTimeout(i),n.onload=n.onerror=n.onabort=null,n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="};n.onload=()=>{s(),o({width:n.width,height:n.height})},n.onerror=n.onabort=()=>{s(),r(new Error("Failed to load image"))};try{"string"==typeof e?n.src=e:sr.toDataURL(e).then((e=>{e?n.src=e:r(new Error("Invalid image source"))})).catch(r)}catch(e){s(),r(e)}})).catch((e=>(console.warn("[QRCodeJs] Image size detection error:",e),{width:200,height:200})))};function ar(e){let t,o=[],r=1;if("#"===(e=e.toLowerCase())[0]){const t=e.slice(1),n=t.length;n<=4?(o=[parseInt(t[0]+t[0],16),parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16)],4===n&&(r=parseInt(t[3]+t[3],16)/255)):(o=[parseInt(t[0]+t[1],16),parseInt(t[2]+t[3],16),parseInt(t[4]+t[5],16)],8===n&&(r=parseInt(t[6]+t[7],16)/255)),o[0]||(o[0]=0),o[1]||(o[1]=0),o[2]||(o[2]=0)}else{if(!(t=/^((?:rgba?))\s*\(([^)]*)\)/.exec(e)))return{value:e,alpha:r};{const e=3;o=t[2].trim().split(/\s*[,/]\s*|\s+/),o=o.map(((e,t)=>{if("%"===e[e.length-1]){const o=parseFloat(e)/100;return 3===t?o:255*o}return"none"===e?0:parseFloat(e)})),r=o.length>e?o.pop():1}}return{value:"#"+o.map((e=>Math.max(0,Math.min(255,e)).toString(16).padStart(2,"0"))).join(""),alpha:Math.max(0,Math.min(1,r))}}const lr="https://api.qr-platform.com",dr="undefined"!=typeof window&&void 0!==window.document,cr="undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node,ur="undefined"!=typeof navigator&&"Cloudflare-Workers"===navigator.userAgent;let hr;async function pr(e,t){if(e.startsWith("data:"))return Promise.resolve(e);try{const o={method:"GET",mode:"cors"};"anonymous"!==t&&"use-credentials"!==t||(o.credentials="use-credentials"===t?"include":"omit");const r=await fetch(e,o);if(!r.ok)return console.warn(`[QRCodeJs] Failed to fetch image directly: ${r.status} ${r.statusText}`),null;if(dr){const e=await r.blob();return e.type.startsWith("image/")?new Promise(((t,o)=>{const r=new FileReader;r.onloadend=()=>t(r.result),r.onerror=e=>{console.warn("[QRCodeJs] FileReader error:",e),o(new Error("Failed to read image blob"))},r.readAsDataURL(e)})):(console.warn(`[QRCodeJs] Fetched resource is not an image: ${e.type}`),null)}if(cr||ur){const e=r.headers.get("content-type");if(!e||!e.startsWith("image/"))return console.warn(`[QRCodeJs] Fetched resource is not an image or content-type missing: ${e}`),null;const t=await r.arrayBuffer();let o="";if(cr){const e=await async function(){if(hr)return hr;if(cr)try{const e=await import("buffer");hr=e.Buffer}catch(e){console.error("[QRCodeJs] Failed to dynamically import 'buffer' in Node.js:",e),hr=void 0}return hr}();if(!e)return console.error("[QRCodeJs] Buffer module not loaded in Node.js environment."),null;o=e.from(t).toString("base64")}else if(o=function(e){let t="";const o=new Uint8Array(e),r=o.byteLength;for(let e=0;e<r;e++)t+=String.fromCharCode(o[e]);return"undefined"!=typeof btoa?btoa(t):""}(t),!o)return console.warn("[QRCodeJs] Failed to convert ArrayBuffer to Base64 in Worker."),null;return`data:${e};base64,${o}`}return console.warn("[QRCodeJs] Unknown environment, cannot convert image to Data URL."),null}catch(e){return console.warn("[QRCodeJs] Error fetching image directly:",e),null}}async function mr(e){const t=encodeURIComponent(e),o=`${lr}/v1/utils/get-dataurl?url=${t}`;try{const e=await fetch(o,{method:"GET",headers:{"x-client-name":"QRCode.js"},mode:"cors"});if(!e.ok)return console.warn(`[QRCodeJs] Failed to fetch image via proxy: ${e.status} ${e.statusText}`),null;const t=await e.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(e){return console.warn("[QRCodeJs] Error fetching image via proxy:",e),null}}const fr=[[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]],gr=[[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 br{constructor(e){this.roundValue=e=>"number"==typeof e?e:parseInt(e.replace("%",""),10)/100;const t=e.margin||0,o="circle"===e.shape?.1:.3,{bordersMain:r,bordersOuter:n,bordersInner:i}=e,s=Math.min(e.width,e.height),a=D(e.borderOptions?.radius),l=D(e.borderOptions?.inner?.radius,a),d=a&&I(a)>0?I(a)/100*s:0,c=(a&&I(l)>0?I(l)/100*s:0)??d,u=c>0&&e.borderOptions?.hasBorder?c*o:0;this._hls=e.hls,this.finalWidth=e.width+r.left+r.right+n.left+n.right+i.left+i.right,this.finalHeight=e.height+r.top+r.bottom+n.top+n.bottom+i.top+i.bottom;const h=r.left+r.right+n.left+n.right+i.left+i.right,p=r.top+r.bottom+n.top+n.bottom+i.top+i.bottom,m=e.borderOptions?.hasBorder?this.finalWidth-h-2*n.left-2*i.left-i.right-2*t-u:this.finalWidth-2*t,f=e.borderOptions?.hasBorder?this.finalHeight-p-2*n.top-2*i.top-i.top-2*t-u:this.finalHeight-2*t,g=m/e.width,b=f/e.height,y=Math.min(g,b),O=Math.min(Math.max(e.scale??1,0),1.5),S=Math.min(Math.max(e.borderOptions?.inner?.scale??1,0),1.5),C=e.borderOptions?.inner?.horizontalOffset||0,w=e.borderOptions?.inner?.verticalOffset||0;e.scale=y*O*S||1,this.options=e,this.document=e.document,this.imageTools=e.imageTools||sr,this._element=this.document.createElementNS("http://www.w3.org/2000/svg","svg");const k=tr(e.width),v=tr(e.height);e.isResponsive||(this._element.setAttribute("width",k),this._element.setAttribute("height",v)),this._element.setAttribute("viewBox",`0 0 ${k} ${v}`),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 A=(m-e.width*e.scale)/2+t-C+u/2,T=(f-e.height*e.scale)/2+t-w+u/2;if(e.borderOptions?.hasBorder){const t={top:Z(e.borderOptions,"top"),right:Z(e.borderOptions,"right"),bottom:R(e.borderOptions,"bottom",this._hls),left:Z(e.borderOptions,"left")},o=e.borderOptions.thickness||0,r=e.borderOptions.borderOuter?.thickness||0,n=e.borderOptions.borderInner?.thickness||0,i=e.borderOptions.noBorderThickness||o/4;T+=((t.top?o:i)-(t.bottom?o:i))/2+r+n+n/2,A+=((t.left?o:i)-(t.right?o:i))/2+r+n+n/2}e.verticalOffset&&(T-=e.verticalOffset),e.horizontalOffset&&(A-=e.horizontalOffset),this._instanceId=br.instanceCount++,1===e.scale&&0===A&&0===T||this._innerQrGroup.setAttribute("transform",`translate(${A}, ${T}) scale(${e.scale})`),this._maskedQrGroup=this.document.createElementNS("http://www.w3.org/2000/svg","g"),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(e){const t=e.getModuleCount(),o=parseInt(((t-17)/4).toFixed(0),10),r=this.options.dotsOptions.size;let n={hideXDots:0,hideYDots:0,width:0,height:0};if(this.qr=e,this.options.borderOptions?.hasBorder||this.drawBackground(),this.options.image){const e=await this.imageTools.getSize(this.options.image,this.options.imageOptions.crossOrigin),{imageOptions:i}=this.options;if(this.options.imageOptions.mode==F.background){const t=0,o=(this.finalWidth-2*t*r)*i.imageSize,s=(this.finalHeight-2*t*r)*i.imageSize;let{width:a,height:l}=e;l=l/a*o,a=o,l>s&&(a=a/l*s,l=s),n={hideXDots:0,hideYDots:0,width:a,height:l}}else{const i=this.options.imageOptions.imageSize*this.options.errorCorrectionPercent,s=h.getPatternPosition(o),a=Math.floor(i*(t*t-192-2*(t-16)-s.length**2*25));n=function({originalHeight:e,originalWidth:t,maxHiddenDots:o,maxHiddenAxisDots:r,dotSize:n,margin:i}){const s={x:0,y:0},a={x:0,y:0};if(e<=0||t<=0||o<=0||n<=0||4*i**2>o)return{height:0,width:0,hideYDots:0,hideXDots:0};r&&r%2==0&&(r=Math.max(1,r-1));const l=Math.max(t,e),d=Math.min(t,e);let c=0,u=(r||o)-2*i;do{const e=c+(u-c)/2;let t=Math.max(1,Math.ceil(e+2*i));t%2==0&&t++;let r=Math.max(1,Math.ceil(e*d/l+2*i));r%2==0&&r++,t*r>o?u=e:c=e}while(Math.abs(c-u)>.001);const h=c;let p=Math.max(1,Math.ceil(h+2*i));p%2==0&&p++;let m=Math.max(1,Math.ceil(h*d/l+2*i));m%2==0&&m++,t>e?(s.x=p,s.y=m):(s.x=m,s.y=p);const f=(s.x-2*i)*n,g=(s.y-2*i)*n;return a.x=f,a.y=f*e/t,a.y>g&&(a.y=g,a.x=g*t/e),{height:Math.round(a.y+2*i*n),width:Math.round(a.x+2*i*n),hideYDots:s.y,hideXDots:s.x}}({originalWidth:e.width,originalHeight:e.height,maxHiddenDots:a,maxHiddenAxisDots:t-14,dotSize:r,margin:this.options.imageOptions.margin})}}this.options.imageOptions.mode!=F.overlay&&this.options.image&&n.width>0&&n.height>0&&await this.drawImage({width:n.width,height:n.height,count:t,dotSize:r,radius:this.options.imageOptions?.radius}),this.drawDots(((e,o)=>!(this.options.imageOptions.mode==F.center&&e>=(t-n.hideXDots)/2&&e<(t+n.hideXDots)/2&&o>=(t-n.hideYDots)/2&&o<(t+n.hideYDots)/2)&&!(e<8&&o<8||e>=t-8&&o<8||o>=t-8&&e<8))),this.options.imageOptions.mode==F.overlay&&this.options.image&&n.width>0&&n.height>0&&await this.drawImage({width:n.width,height:n.height,count:t,dotSize:r}),this.drawCorners()}drawBackground(){const e=this.options;if(this._element&&e.backgroundOptions){const t=e.backgroundOptions.gradient,o=e.backgroundOptions.color;this.createColor({options:t,color:o,additionalRotation:0,x:0,y:0,height:e.height,width:e.width,name:`background-color-${this._instanceId}`});const r=Math.min(e.width,e.height),n=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);const i=e.backgroundOptions?.round||0,s=this.roundValue(i);n.setAttribute("x",tr((e.width-r)/2)),n.setAttribute("y",tr((e.height-r)/2)),n.setAttribute("width",tr(r)),n.setAttribute("height",tr(r)),n.setAttribute("rx",tr(r/2*s)),this.backgroundMaskGroup.appendChild(n)}}drawBackgroundForBorder(e,t){const o=this.options;if(o.backgroundOptions){const r=o.backgroundOptions.gradient,n=o.backgroundOptions.color||"#ffffff",i=Math.min(o.width,o.height)-2*e,s=(o.width-i)/2,a=(o.height-i)/2,l=t-e,d=this.createColor({options:r,borderOptions:o.borderOptions,color:n,additionalRotation:0,x:s,y:a,height:i,width:i,name:`background-color-${this._instanceId}`,returnSVGGroup:!0}),c=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),c.setAttribute("x",tr(s)),c.setAttribute("y",tr(a)),c.setAttribute("width",tr(i)),c.setAttribute("height",tr(i)),c.setAttribute("rx",tr(l)),this.backgroundMaskGroup.appendChild(c),d}}drawDots(e){if(!this.qr)throw new Error("QR code is not defined");const t=this.options,o=this.qr.getModuleCount();if(o>t.width||o>t.height)throw new Error("The canvas is too small");const r=t.dotsOptions.size;let n=Math.min(t.width,t.height);t.imageOptions.mode==F.background&&(n-=2*r*(t.imageOptions.margin||0));const i=Math.floor((t.width-o*r)/2);let s=Math.floor((t.height-o*r)/2);if(t.offset){const e=(t.height-o*r)/2;s+=Math.min(Math.abs(t.offset),e)*Math.sign(t.offset)}let a=new ir(t.dotsOptions.type,this.document);const l=new ir(L.tinySquare,this.document),d=new ir(L.square,this.document);[this.dotsMask,this.dotsMaskGroup]=this.createMask(`mask-dot-color-${this._instanceId}`),this.defs.appendChild(this.dotsMask),t.imageOptions.mode==F.background&&([this.lightDotsMask,this.lightDotsMaskGroup]=this.createMask(`mask-light-dot-color-${this._instanceId}`),this.defs.appendChild(this.lightDotsMask));let c=0,u=o;t.shape===_.circle?(c=Math.floor((n/r-o-2)/2),u=o+2*c):t.imageOptions.mode==F.background&&(c=1,u=o+2*c);const p=i-c*r,m=s-c*r,f=p,g=m,b=o+2*c,y=new Array(u),O=Math.floor(u/2);for(let r=0;r<u;r++){y[r]=new Array(u);for(let n=0;n<u;n++)if(r>c-1&&r<u-c&&n>c-1&&n<u-c){const t=r-c,o=n-c;e&&!e(t,o)?y[r][n]=void 0:y[r][n]=!!this.qr.isDark(o,t)}else t.shape===_.circle&&Math.sqrt((r-O)*(r-O)+(n-O)*(n-O))>O?y[r][n]=void 0:y[r][n]=r!=c-1&&r!=u-c&&n!=c-1&&n!=u-c?this.qr.isDark(n-2*c<0?n:n>=o?n-2*c:n-c,r-2*c<0?r:r>=o?r-2*c:r-c):(n==c-1&&(r<c+8||r>u-c-9)||n==u-c&&r<c+8||r==c-1&&(n<c+8||n>u-c-9)||r==u-c&&n<c+8)&&void 0}const S=(o-17)/4,C=h.getPatternPosition(S);for(let e=0;e<u;e++){const t=C.find((t=>e-c>t-3&&e-c<t+3));for(let o=0;o<u;o++){const n=C.find((e=>o-c>e-3&&o-c<e+3));null!=y[e][o]&&(this.lightDotsMask&&(a=t&&n&&(t!=C[0]&&n!=C[0]||n!=C[0]&&n!=C[C.length-1]||t!=C[0]&&t!=C[C.length-1])?d:l),y[e][o]?(a.draw({x:p+e*r,y:m+o*r,size:r,getNeighbor:(t,r)=>!0===y[e+t]?.[o+r]}),a.element&&this.dotsMaskGroup&&this.dotsMaskGroup.appendChild(a.element)):this.lightDotsMask&&(a.draw({x:p+e*r,y:m+o*r,size:r,getNeighbor:(t,r)=>!1===y[e+t]?.[o+r]}),a.element&&this.lightDotsMaskGroup&&this.lightDotsMaskGroup.appendChild(a.element)))}}this.lightDotsMask&&this.createColor({color:t.imageOptions.backgroundColor,additionalRotation:0,x:f,y:g,height:b*r,width:b*r,name:`light-dot-color-${this._instanceId}`}),this.createColor({options:t.dotsOptions?.gradient,color:t.dotsOptions.color,additionalRotation:0,x:f,y:g,height:b*r,width:b*r,name:`dot-color-${this._instanceId}`})}drawCorners(){if(!this.qr)throw new Error("QR code is not defined");const e=this.qrGroup,t=this.options;if(!e)throw new Error("Element code is not defined");const o=this.qr.getModuleCount(),r=t.dotsOptions.size,n=7*r,i=3*r,s=Math.floor((t.width-o*r)/2);let a=Math.floor((t.height-o*r)/2);if(t.offset){const e=(t.height-o*r)/2,n=Math.min(Math.abs(t.offset),e)*Math.sign(t.offset);a+=n}[[0,0,0],[1,0,Math.PI/2],[0,1,-Math.PI/2]].forEach((([e,l,d])=>{const c=s+e*r*(o-7),u=a+l*r*(o-7);let h=this.dotsMask,p=this.dotsMaskGroup,m=this.dotsMask,f=this.dotsMaskGroup;if((t.cornersSquareOptions?.gradient||t.cornersSquareOptions?.color)&&([h,p]=this.createMask(`mask-corners-square-color-${e}-${l}-${this._instanceId}`),this.defs.appendChild(h),m=h,f=p,this.createColor({options:t.cornersSquareOptions?.gradient,color:t.cornersSquareOptions?.color,additionalRotation:d,x:c,y:u,height:n,width:n,name:`corners-square-color-${e}-${l}-${this._instanceId}`})),t.cornersSquareOptions?.type){const e=new nr(t.cornersSquareOptions.type,this.document);e.draw({x:c,y:u,size:n,rotation:d}),e.element&&p&&p.appendChild(e.element),e.fill&&this.lightDotsMaskGroup&&this.lightDotsMaskGroup.appendChild(e.fill)}else{const e=new ir(t.dotsOptions.type,this.document);for(let t=0;t<fr.length;t++)for(let o=0;o<fr[t].length;o++)fr[t]?.[o]?(e.draw({x:c+t*r,y:u+o*r,size:r,getNeighbor:(e,r)=>!!fr[t+e]?.[o+r]}),e.element&&p&&p.appendChild(e.element)):this.lightDotsMask&&!gr[t]?.[o]&&(e.draw({x:c+t*r,y:u+o*r,size:r,getNeighbor:(e,r)=>!fr[t+e]?.[o+r]&&!gr[t+e]?.[o+r]}),e.element&&this.lightDotsMaskGroup&&this.lightDotsMaskGroup.appendChild(e.element));if(this.lightDotsMask)for(let t=-1;t<8;t++)for(let o=-1;o<8;o++)-1!=t&&7!=t&&-1!=o&&7!=o||(e.draw({x:c+t*r,y:u+o*r,size:r,getNeighbor:(e,r)=>{const n=t+e,i=o+r;return n>=-1&&n<=7&&i>=-1&&i<=7&&(-1==n||7==n||-1==i||7==i)}}),e.element&&this.lightDotsMaskGroup&&this.lightDotsMaskGroup.appendChild(e.element))}if((t.cornersDotOptions?.gradient||t.cornersDotOptions?.color)&&([m,f]=this.createMask(`mask-corners-dot-color-${e}-${l}-${this._instanceId}`),this.defs.appendChild(m),this.createColor({options:t.cornersDotOptions?.gradient,color:t.cornersDotOptions?.color,additionalRotation:d,x:c+2*r,y:u+2*r,height:i,width:i,name:`corners-dot-color-${e}-${l}-${this._instanceId}`})),t.cornersDotOptions?.type){const e=new rr(t.cornersDotOptions.type,this.document);e.draw({x:c+2*r,y:u+2*r,size:i,rotation:d}),e.element&&f&&f.appendChild(e.element)}else{const e=new ir(t.dotsOptions.type,this.document);for(let t=0;t<gr.length;t++)for(let o=0;o<gr[t].length;o++)gr[t]?.[o]&&(e.draw({x:c+t*r,y:u+o*r,size:r,getNeighbor:(e,r)=>!!gr[t+e]?.[o+r]}),e.element&&f&&f.appendChild(e.element))}}))}async drawImage({width:e,height:t,count:o,dotSize:r,radius:n}){const i=this.options,s=Math.floor((i.width-o*r)/2);let a=Math.floor((i.height-o*r)/2);if(i.offset){const e=(i.height-o*r)/2;a+=Math.min(Math.abs(i.offset),e)*Math.sign(i.offset)}let l=i.imageOptions.margin*r;i.imageOptions.mode==F.background&&(l=0);const d=s+l+(o*r-e)/2,c=a+l+(o*r-t)/2,u=e-2*l,h=t-2*l;let p=null;try{"string"==typeof i.image?p=await pr(i.image,i.imageOptions.crossOrigin):i.image&&(p=await this.imageTools.toDataURL(i.image)),"string"!=typeof i.image||p||(console.warn("Direct image fetch failed, attempting proxy..."),p=await mr(i.image))}catch(e){if(console.warn("[QRCodeJs] Error fetching image directly:",e),"string"==typeof i.image)try{console.warn("[QRCodeJs] Direct image fetch failed via error, attempting proxy..."),p=await mr(i.image)}catch(e){console.warn("[QRCodeJs] Failed to load image via proxy:",e)}}p||(console.warn("[QRCodeJs] Failed to load image directly and via proxy. Using fallback SVG."),p=br.FALLBACK_IMAGE_DATA_URL);let m=null;if(n){m=`clip-path-image-${this._instanceId}`;const e=this.document.createElementNS("http://www.w3.org/2000/svg","clipPath");e.setAttribute("id",m);const t=this.document.createElementNS("http://www.w3.org/2000/svg","rect");t.setAttribute("x",tr(d)),t.setAttribute("y",tr(c)),t.setAttribute("width",tr(u)),t.setAttribute("height",tr(h));const o="number"==typeof n?`${n}px`:n;t.setAttribute("rx",o),t.setAttribute("ry",o),e.appendChild(t),this.defs.appendChild(e)}if(i.imageOptions.backgroundColor){const e=this.document.createElementNS("http://www.w3.org/2000/svg","rect");e.setAttribute("x",tr(d)),e.setAttribute("y",tr(c)),e.setAttribute("width",tr(u)),e.setAttribute("height",tr(h)),m&&e.setAttribute("clip-path",`url(#${m})`);const t=ar(i.imageOptions.backgroundColor);e.setAttribute("fill",t.value),t.alpha<1&&e.setAttribute("opacity",t.alpha.toFixed(7)),this.qrGroup.appendChild(e)}const f=this.document.createElementNS("http://www.w3.org/2000/svg","image");if(f.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",p),f.setAttribute("x",tr(d)),f.setAttribute("y",tr(c)),f.setAttribute("id",`qr-image-${this._instanceId}`),f.setAttribute("width",`${tr(u)}px`),f.setAttribute("height",`${tr(h)}px`),f.setAttribute("preserveAspectRatio","xMidYMid meet"),i.imageOptions?.padding){const e=i.imageOptions.padding;f.setAttribute("x",tr(d+e)),f.setAttribute("y",tr(c+e)),f.setAttribute("width",`${tr(u-2*e)}px`),f.setAttribute("height",`${tr(h-2*e)}px`)}m&&f.setAttribute("clip-path",`url(#${m})`),this.qrGroup.appendChild(f)}createColor({options:e,borderOptions:t,color:o,additionalRotation:r,x:n,y:i,height:s,width:a,name:l,returnSVGGroup:d=!1}){const c=a>s?a:s,u=this.document.createElementNS("http://www.w3.org/2000/svg","rect");if(u.setAttribute("x",tr(n)),u.setAttribute("y",tr(i)),u.setAttribute("height",tr(s)),u.setAttribute("width",tr(a)),u.setAttribute("style",`mask:url(#mask-${l}-${this._instanceId})`),e){let o;if(e.type===Y.radial){o=this.document.createElementNS("http://www.w3.org/2000/svg","radialGradient"),o.setAttribute("id",l+"-"+this._instanceId),o.setAttribute("gradientUnits","userSpaceOnUse");let e=n+a/2,r=i+s/2;if(t){const o=t.thickness?t.thickness/2:0,l=2;Z(t,"top")&&!R(t,"bottom",this._hls)?r=i+o*l+s/2:!Z(t,"top")&&R(t,"bottom",this._hls)&&(r=i-o*l+s/2),Z(t,"right")&&!Z(t,"left")?e=n-o*l+a/2:!Z(t,"right")&&Z(t,"left")&&(e=n+o*l+a/2)}o.setAttribute("fx",tr(e)),o.setAttribute("fy",tr(r)),o.setAttribute("cx",tr(n+a/2)),o.setAttribute("cy",tr(i+s/2)),o.setAttribute("r",tr(c/2))}else{const t=((e.rotation||0)+r)%(2*Math.PI),d=(t+2*Math.PI)%(2*Math.PI);let c=n+a/2,u=i+s/2,h=n+a/2,p=i+s/2;d>=0&&d<=.25*Math.PI||d>1.75*Math.PI&&d<=2*Math.PI?(c-=a/2,u-=s/2*Math.tan(t),h+=a/2,p+=s/2*Math.tan(t)):d>.25*Math.PI&&d<=.75*Math.PI?(u-=s/2,c-=a/2/Math.tan(t),p+=s/2,h+=a/2/Math.tan(t)):d>.75*Math.PI&&d<=1.25*Math.PI?(c+=a/2,u+=s/2*Math.tan(t),h-=a/2,p-=s/2*Math.tan(t)):d>1.25*Math.PI&&d<=1.75*Math.PI&&(u+=s/2,c+=a/2/Math.tan(t),p-=s/2,h-=a/2/Math.tan(t)),o=this.document.createElementNS("http://www.w3.org/2000/svg","linearGradient"),o.setAttribute("id",l+"-"+this._instanceId),o.setAttribute("gradientUnits","userSpaceOnUse"),o.setAttribute("x1",tr(c)),o.setAttribute("y1",tr(u)),o.setAttribute("x2",tr(h)),o.setAttribute("y2",tr(p))}e.colorStops.forEach((e=>{const t=this.document.createElementNS("http://www.w3.org/2000/svg","stop");t.setAttribute("offset",`${tr(100*e.offset)}%`);const r=ar(e.color);t.setAttribute("stop-color",r.value),r.alpha<1&&t.setAttribute("stop-opacity",r.alpha.toFixed(7)),o.appendChild(t)})),u.setAttribute("fill",`url(#${l}-${this._instanceId})`),this.defs.appendChild(o)}else if(o){const e=ar(o);u.setAttribute("fill",e.value),e.alpha<1&&u.setAttribute("opacity",e.alpha.toFixed(7))}if(d)return u;l.startsWith("background-color")?this._element.insertBefore(u,this._maskedQrGroup):this.qrGroup.appendChild(u)}createMask(e){const t=`${e}-${this._instanceId}`,o=this.options,r=this.document.createElementNS("http://www.w3.org/2000/svg","mask");r.setAttribute("id",t),r.setAttribute("maskUnits","userSpaceOnUse"),r.setAttribute("x","0"),r.setAttribute("y","0"),r.setAttribute("width",tr(o.width)),r.setAttribute("height",tr(o.height));const n=this.document.createElementNS("http://www.w3.org/2000/svg","g");return n.setAttribute("fill","#fff"),r.appendChild(n),[r,n]}}br.instanceCount=0,br.FALLBACK_IMAGE_DATA_URL="data:image/png;base64,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";const yr=[{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:"neon-dark",name:"Neon 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"}}],Or=[{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:L.dot,cornerSquareShape:X.square,cornerDotShape:G.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"}},...yr];function Sr(e){return Or.find((t=>t.name.toLowerCase()===e.toLowerCase()))}function Cr(e){return Or.find((t=>t.id===e))}const wr={hasBorder:!0,thickness:30,radius:"0",borderOuter:{thickness:0},borderInner:{thickness:0},decorations:{top:{enableText:!1},bottom:{enableText:!1},left:{enableText:!1},right:{enableText:!1}}},kr={id:"square-border-thin",name:"Square Border (Thin)",options:{borderOptions:{...wr,thickness:40,radius:"10%",decorations:{top:{enableText:!0,offset:2,curveAdjustment:0,curveDisabled:!0,style:{fontSize:21},value:"SCAN ME"},left:{disabled:!0},right:{disabled:!0},bottom:{disabled:!0}}}}},vr={id:"square-border-medium",name:"Square Border (Medium)",options:{borderOptions:{...wr,thickness:20,radius:"15%"}}},Ar={id:"square-border-thick",name:"Square Border (Thick)",options:{borderOptions:{...wr,thickness:20,radius:"2%"}}},Tr={id:"rounded-border-thin-slight",name:"Rounded Border (Thin, Slight)",options:{borderOptions:{...wr,thickness:10,radius:"10%"}}},Ir={id:"rounded-border-medium-medium",name:"Rounded Border (Medium)",options:{margin:-6,shape:"circle",borderOptions:{...wr,thickness:12,radius:"35%"}}},Dr={id:"rounded-border-thick-high",name:"Rounded Border (Thick, High)",options:{shape:"circle",borderOptions:{...wr,thickness:30,radius:"50"}}},qr={id:"rounded-border-thick-text",name:"Rounded Border (Thick, Text)",options:{shape:"circle",borderOptions:{...wr,thickness:50,borderOuter:{thickness:10},radius:"50%",decorations:{top:{enableText:!0,curveAdjustment:0,offset:4,style:{fontSize:22,fontWeight:"bold"},value:"SCAN TO FOLLOW"},bottom:{enableText:!0,offset:2,curveAdjustment:0,style:{fontSize:22,fontWeight:"bold"},value:"YOUR NAME HERE"}}}}},xr={id:"rounded-border-outside-top-bottom-text",name:"Rounded Border Outside (Top & Bottom Text)",options:{shape:"circle",margin:-16,borderOptions:{...wr,thickness:50,radius:"30",borderOuter:{thickness:10},borderInner:{thickness:6},decorations:{left:{disabled:!0},right:{disabled:!0},top:{enableText:!0,offset:4,curveDisabled:!0,style:{fontSize:22,fontWeight:"bold"},value:"SCAN TO FOLLOW"},bottom:{enableText:!0,offset:-2,curveDisabled:!0,style:{fontSize:22,fontWeight:"bold"},value:"YOUR NAME HERE"}}}}},Wr={id:"rounded-border-outside-left-right-text",name:"Rounded Border Outside (Left & Right Text)",options:{margin:-20,shape:"circle",borderOptions:{...wr,thickness:50,radius:"20%",inner:{radius:"20"},borderOuter:{thickness:10},decorations:{top:{disabled:!0,enableText:!1},bottom:{disabled:!0,enableText:!1},left:{enableText:!0,offset:5,style:{fontSize:22,fontWeight:"bold"},value:"SCAN TO FOLLOW"},right:{enableText:!0,offset:6,curveAdjustment:0,style:{fontSize:22,fontWeight:"bold"},value:"YOUR NAME HERE"}}}}},Zr={id:"rounded-border-top-bottom-text",name:"Rounded Border (Top & Bottom Text)",options:{borderOptions:{...wr,thickness:50,radius:"30",decorations:{left:{disabled:!0},right:{disabled:!0},top:{enableText:!0,curveAdjustment:0,style:{fontSize:22,fontWeight:"bold"},value:"SCAN TO CONNECT"},bottom:{enableText:!0,offset:-2,curveAdjustment:0,style:{fontSize:22,fontWeight:"bold"},value:"YOUR NAME HERE"}}}}},Rr={id:"rounded-border-left-right-text",name:"Rounded Border (Left & Right Text)",options:{margin:5,borderOptions:{...wr,thickness:50,radius:"20%",inner:{radius:"20"},decorations:{top:{disabled:!0},bottom:{disabled:!0},left:{enableText:!0,offset:5,style:{fontSize:22,fontWeight:"bold"},value:"SCAN TO FOLLOW"},right:{enableText:!0,offset:5,curveAdjustment:0,style:{fontSize:22,fontWeight:"bold"},value:"YOUR NAME HERE"}}}}},Vr={id:"double-square-border-thin",name:"Double Square Border Inside (Thin)",options:{borderOptions:{...wr,thickness:16,radius:"2%",borderInner:{thickness:6}}}},Er={id:"double-square-border-medium",name:"Double Square Border Outside (Medium)",options:{borderOptions:{...wr,thickness:16,radius:"2%",borderOuter:{thickness:6}}}},jr={id:"double-rounded-border-medium",name:"Double Rounded Border (Medium)",options:{shape:"circle",margin:-20,borderOptions:{...wr,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,offset:4,curveDisabled:!0,value:"SCAN ME",style:{fontSize:30}}}}}},Mr={id:"double-rounded-border-thick",name:"Double Rounded Border Outside (Thick)",options:{borderOptions:{...wr,thickness:40,radius:"22%",borderOuter:{thickness:6},decorations:{top:{disabled:!0},left:{disabled:!0},bottom:{enableText:!0,curveAdjustment:0,offset:2,value:"SCAN ME",style:{fontSize:20}},right:{enableText:!0,curveAdjustment:0,offset:5,value:"YOUR NAME",style:{fontSize:20}}}}}},Br={id:"inner-square-border-medium",name:"Inner Square Border Inside (Medium)",options:{borderOptions:{...wr,thickness:10,radius:"2%",borderInner:{thickness:12}}}},Jr={id:"outer-rounded-border-medium",name:"Outer Rounded Border (Medium)",options:{margin:-20,shape:"circle",borderOptions:{...wr,inner:{radius:"20%"},thickness:15,radius:"25%",borderOuter:{thickness:20}}}},Yr={id:"rounded-inner-offset-text",name:"Rounded Inner Offset Text",options:{shape:"circle",margin:-20,borderOptions:{...wr,thickness:25,radius:"30%",borderInner:{thickness:8},decorations:{top:{enableText:!0,offset:3,curveAdjustment:0,curveDisabled:!1,style:{fontSize:20},value:"SCAN ME"},bottom:{enableText:!0,offset:3,curveAdjustment:0,curveDisabled:!1,style:{fontSize:20},value:"YOUR NAME"}}}}},Pr={id:"square-thick-outer-thin-inner",name:"Square Thick Outer/Thin Inner",options:{borderOptions:{...wr,thickness:10,radius:"50%",inner:{radius:"12%"},borderOuter:{thickness:10},borderInner:{thickness:15},decorations:{bottom:{enableText:!0,offset:-3,curveAdjustment:0,curveDisabled:!0,style:{fontSize:18,fontWeight:"normal"}}}}}},Lr={id:"square-thick-outer-round",name:"Square Thick Outer Round",options:{margin:6,borderOptions:{...wr,thickness:25,radius:"50%",inner:{radius:"15%"},borderOuter:{thickness:10},borderInner:{thickness:20},decorations:{bottom:{enableText:!0,offset:-3,curveAdjustment:0,curveDisabled:!0,style:{fontSize:18,fontWeight:"normal"}}}}}},Gr={id:"square-thick-outer-thin-inner-bottom-text",name:"Square Thick Outer/Thin Inner Bottom Text",options:{borderOptions:{...wr,thickness:10,radius:"4%",inner:{radius:"10%"},borderOuter:{thickness:5},borderInner:{thickness:12},decorations:{bottom:{disabled:!0},left:{disabled:!0},right:{disabled:!0},top:{disabled:!0}}}}},Xr=[kr,vr,Ar,Tr,Ir,Dr,qr,Zr,Rr,xr,Wr,Vr,Er,jr,Mr,Br,Jr,Yr,Pr,Lr,{id:"pill-curved-text-top-bottom",name:"Pill Curved Text Top/Bottom",options:{shape:"circle",borderOptions:{...wr,thickness:35,borderInner:{thickness:10},radius:"50%",decorations:{top:{enableText:!0,offset:2,curveAdjustment:0,curveDisabled:!1,style:{fontSize:20},value:"TOP CURVED TEXT"},bottom:{enableText:!0,offset:2,curveAdjustment:0,curveDisabled:!1,style:{fontSize:20},value:"BOTTOM CURVED TEXT"}}}}},{id:"double-varied-thickness-top-text",name:"Double Varied Thickness Top Text",options:{borderOptions:{...wr,thickness:25,radius:"10%",borderOuter:{thickness:8},borderInner:{thickness:4},decorations:{top:{enableText:!0,offset:3,curveAdjustment:0,curveDisabled:!0,style:{fontSize:19},value:"IMPORTANT INFO"},bottom:{enableText:!0,curveAdjustment:0,curveDisabled:!0,style:{fontSize:19},value:"SCAN ME"}}}}},{id:"outer-border-white-rounded-text",name:"Outer Border White Rounded Text",options:{borderOptions:{...wr,thickness:25,color:"#ffffff",radius:"25%",borderOuter:{thickness:10},decorations:{top:{disabled:!0},left:{disabled:!0},right:{disabled:!0},bottom:{enableText:!0,offset:10,curveAdjustment:0,curveDisabled:!1,style:{fontSize:18,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:{...wr,thickness:25,color:"#ffffff",radius:"25%",borderInner:{thickness:10},decorations:{top:{disabled:!0},left:{disabled:!0},right:{disabled:!0},bottom:{enableText:!0,offset:-4,style:{fontSize:18,fontWeight:"bold",letterSpacing:1,fontColor:"#000000"},value:"SCAN TO FOLLOW"}}}}},{id:"inner-offset-square-text",name:"Inner Offset Square Text",options:{borderOptions:{...wr,thickness:30,radius:"16%",borderInner:{thickness:10},decorations:{top:{disabled:!0},left:{disabled:!0},right:{disabled:!0},bottom:{enableText:!0,offset:2,curveAdjustment:0,curveDisabled:!0,style:{fontSize:22},value:"SCAN ME"}}}}},{id:"thin-rounded-all-sides-text",name:"Thin Rounded All Sides Text",options:{borderOptions:{...wr,borderInner:{thickness:10},thickness:14,radius:"20%",decorations:{top:{enableText:!0,value:"TOP",style:{fontSize:12},offset:3},bottom:{enableText:!0,value:"BOTTOM",style:{fontSize:12},offset:1},left:{enableText:!0,value:"LEFT",style:{fontSize:12},offset:4},right:{enableText:!0,value:"RIGHT",style:{fontSize:12},offset:4}}}}},{id:"thick-square-double-text",name:"Thick Square Double Text",options:{borderOptions:{...wr,thickness:25,radius:"2%",borderOuter:{thickness:5},borderInner:{thickness:5},decorations:{left:{disabled:!0},right:{disabled:!0},top:{enableText:!0,value:"HEADER",offset:6,style:{fontSize:18}},bottom:{enableText:!0,value:"FOOTER",offset:2,style:{fontSize:18}}}}}},{id:"high-radius-thin-double-curved-text",name:"High Radius Thin Double Curved Text",options:{margin:-16,shape:"circle",borderOptions:{...wr,thickness:26,radius:"35%",borderOuter:{thickness:6},borderInner:{thickness:13},decorations:{top:{enableText:!0,value:"TOP TEXT",offset:8,curveDisabled:!1,style:{fontSize:16}},right:{disabled:!0},left:{disabled:!0},bottom:{enableText:!0,curveDisabled:!1,offset:4,style:{fontSize:16}}}}}},Gr,{id:"minimalist-thin-square",name:"Minimalist Thin Square",options:{borderOptions:{...wr,thickness:8,radius:"4%"}}},{id:"minimalist-thin-rounded",name:"Minimalist Thin Rounded",options:{margin:4,borderOptions:{...wr,thickness:8,radius:"25%"}}},{id:"chunky-square-border-text",name:"Chunky Square Border Text",options:{margin:10,borderOptions:{...wr,thickness:50,radius:"5%",borderOuter:{thickness:6},borderInner:{thickness:6},decorations:{top:{enableText:!0,value:"SCAN ME",style:{fontSize:18,fontWeight:"bold"},offset:4},left:{enableText:!0,value:"LEFT TEXT",style:{fontSize:18,fontWeight:"bold"},offset:4},right:{enableText:!0,value:"RIGHT TEXT",style:{fontSize:18,fontWeight:"bold"},offset:4},bottom:{enableText:!0,value:"BOTTOM TEXT",style:{fontSize:18,fontWeight:"bold"},offset:4}}}}},{id:"chunky-rounded-border",name:"Chunky Rounded Border",options:{margin:6,borderOptions:{...wr,thickness:50,radius:"50%",inner:{radius:"15%"},borderOuter:{thickness:6},borderInner:{thickness:6},decorations:{top:{enableText:!0,value:"SCAN ME",style:{fontSize:18,fontWeight:"bold"},offset:4},left:{enableText:!0,value:"LEFT TEXT",style:{fontSize:18,fontWeight:"bold"},offset:4},right:{enableText:!0,value:"RIGHT TEXT",style:{fontSize:18,fontWeight:"bold"},offset:4},bottom:{enableText:!0,value:"BOTTOM TEXT",style:{fontSize:18,fontWeight:"bold"}}}}}},{id:"double-thick-main-thin-subs-rounded",name:"Double Thick Main Thin Subs Rounded",options:{margin:2,borderOptions:{...wr,thickness:25,radius:"20%",borderOuter:{thickness:6},borderInner:{thickness:6},decorations:{top:{enableText:!0,value:"SCAN ME",style:{fontSize:16,fontWeight:"bold"},offset:5},left:{enableText:!0,value:"LEFT TEXT",style:{fontSize:16,fontWeight:"bold"},offset:6},right:{enableText:!0,value:"RIGHT TEXT",style:{fontSize:16,fontWeight:"bold"},offset:6},bottom:{enableText:!0,value:"BOTTOM TEXT",style:{fontSize:16,fontWeight:"bold"},offset:4}}}}},{id:"double-thick-main-thick-subs-square",name:"Double Thick Main Thick Subs Square",options:{margin:2,borderOptions:{...wr,thickness:25,radius:"4%",borderOuter:{thickness:6},borderInner:{thickness:6},decorations:{top:{enableText:!0,style:{fontSize:16,fontWeight:"bold"},offset:5,value:"SCAN ME"},left:{enableText:!0,style:{fontSize:16,fontWeight:"bold"},offset:7,value:"LEFT TEXT"},right:{enableText:!0,style:{fontSize:16,fontWeight:"bold"},offset:7,value:"RIGHT TEXT"},bottom:{enableText:!0,style:{fontSize:16,fontWeight:"bold"},offset:5,value:"BOTTOM TEXT"}}}}},{id:"inner-thick-rounded",name:"Inner Thick Rounded",options:{borderOptions:{...wr,thickness:2,radius:"35%",borderOuter:{thickness:10},borderInner:{thickness:30},inner:{radius:"15%"},decorations:{top:{enableText:!0,value:"SCAN ME",style:{fontSize:18,fontWeight:"bold",fontColor:"#000"},offset:38},left:{enableText:!0,value:"LEFT TEXT",style:{fontSize:18,fontWeight:"bold",fontColor:"#000"},offset:40},right:{enableText:!0,value:"RIGHT TEXT",style:{fontSize:18,fontWeight:"bold",fontColor:"#000"},offset:38},bottom:{enableText:!0,value:"BOTTOM TEXT",curveDisabled:!0,style:{fontSize:18,fontWeight:"bold",fontColor:"#000"},offset:29}}}}},{id:"outer-thick-square",name:"Outer Thick Square",options:{borderOptions:{...wr,thickness:10,radius:"2%",borderOuter:{thickness:20},borderInner:{thickness:0}}}},{id:"pill-double-thin-text",name:"Pill Double Thin Text",options:{margin:-2,shape:"circle",borderOptions:{...wr,thickness:30,radius:"50%",borderOuter:{thickness:6},borderInner:{thickness:6},decorations:{top:{disabled:!1,enableText:!0,value:"SCAN ME",offset:5,style:{fontSize:18,fontWeight:"bold"}},left:{disabled:!0},right:{disabled:!0},bottom:{disabled:!1,enableText:!0,value:"BOTTOM TEXT",offset:3,style:{fontSize:18,fontWeight:"bold"}}}}}},{id:"double-thin-circle-inner-rounded",name:"Double Thin Circle Inner Rounded",options:{margin:-28,shape:"circle",borderOptions:{...wr,thickness:20,radius:"10%",inner:{radius:"25%"},borderOuter:{thickness:4},borderInner:{thickness:4},decorations:{top:{disabled:!1},left:{disabled:!0},right:{disabled:!0},bottom:{disabled:!1}}}}},{id:"square-top-bottom-text",name:"Square Top/Bottom Text",options:{borderOptions:{...wr,thickness:30,radius:"10%",decorations:{top:{enableText:!0,value:"SCAN CODE",offset:1,style:{fontSize:16}},bottom:{enableText:!0,value:"VISIT OUR SITE",style:{fontSize:16}}}}}},{id:"rounded-left-right-text",name:"Rounded Left/Right Text",options:{margin:2,borderOptions:{...wr,thickness:30,radius:"20%",decorations:{top:{disabled:!0},bottom:{disabled:!0},left:{enableText:!0,offset:2,value:"LEFT TEXT",style:{fontSize:19}},right:{enableText:!0,offset:2,value:"RIGHT TEXT",style:{fontSize:19}}}}}},{id:"square-left-text-only",name:"Square Left Text Only",options:{margin:2,borderOptions:{...wr,borderInner:{thickness:10},thickness:45,radius:"5%",decorations:{left:{enableText:!0,value:"SCAN ME",offset:6,style:{fontSize:20,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:{...wr,borderInner:{thickness:10},thickness:45,radius:"5%",decorations:{right:{enableText:!0,value:"WEBSITE.COM",offset:6,style:{fontSize:20,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:{...wr,borderInner:{thickness:10},thickness:40,radius:"35%",decorations:{left:{enableText:!0,offset:4,value:"SCAN",style:{fontSize:20,fontWeight:"bold"}},right:{enableText:!0,value:"NOW",offset:4,style:{fontSize:20,fontWeight:"bold"}},top:{disabled:!0},bottom:{disabled:!0}}}}},{id:"square-left-right-identical-text",name:"Square Left+Right Identical Text",options:{margin:2,borderOptions:{...wr,borderInner:{thickness:10},thickness:40,radius:"2%",decorations:{left:{enableText:!0,value:"QR CODE",offset:4,style:{fontSize:18,fontWeight:"bold"}},right:{enableText:!0,value:"QR CODE",offset:4,style:{fontSize:18,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:{...wr,borderInner:{thickness:10},thickness:45,inner:{radius:"45%",verticalOffset:-5},radius:"50%",decorations:{top:{disabled:!0},left:{enableText:!0,value:"FOLLOW US",offset:5,style:{fontSize:18,fontWeight:"bold"}},right:{enableText:!0,value:"CONTACT US",offset:5,style:{fontSize:18,fontWeight:"bold"}},bottom:{enableText:!0,value:"WEBSITE.COM",style:{fontSize:18,fontWeight:"bold"}}}}}},{id:"pill-left-right-top-text",name:"Pill Left Right Top Text",options:{margin:2,shape:"circle",borderOptions:{...wr,borderInner:{thickness:10},thickness:45,inner:{radius:"45%",verticalOffset:-5},radius:"50%",decorations:{top:{enableText:!0,value:"WEBSITE.COM",offset:5,curveDisabled:!1,style:{fontSize:20,fontWeight:"bold"}},left:{enableText:!0,value:"FOLLOW US",offset:5,style:{fontSize:18,fontWeight:"bold"}},right:{enableText:!0,value:"SHARE LINK",offset:5,style:{fontSize:18,fontWeight:"bold"}},bottom:{disabled:!0}}}}}];function _r(e){return Xr.find((t=>t.name.toLowerCase()===e.toLowerCase()))}function Fr(e){return Xr.find((t=>t.id===e))}const Nr=[{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 zr(e){return Nr.find((t=>t.name.toLowerCase()===e.toLowerCase()))}function Ur(e){return Nr.find((t=>t.id===e))}var Kr;!function(e){e.svg="svg",e.png="png",e.jpeg="jpeg",e.webp="webp"}(Kr||(Kr={})),Object.assign(b.stringToBytesFuncs,{UTF8:e=>function(e){const t=[];for(let o=0;o<e.length;o++){let r=e.charCodeAt(o);r<128?t.push(r):r<2048?t.push(192|r>>6,128|63&r):r<55296||r>=57344?t.push(224|r>>12,128|r>>6&63,128|63&r):(o++,r=65536+((1023&r)<<10|1023&e.charCodeAt(o)),t.push(240|r>>18,128|r>>12&63,128|r>>6&63,128|63&r))}return t}(e)});let Hr=class t{get size(){return this.qrSVG?{width:this.qrSVG.width,height:this.qrSVG.height}:void 0}constructor(e,o=!1){var r;this._svgId=`qr-svg-${Math.random().toString(36).substring(2,9)}`,(r=e)&&0!==Object.keys(r).length||(console.warn("QRCodeJs: Options not provided. Using default options and base template."),e=qe);const n=e;let i=qe;t._selectedTemplate&&(i="id"in t._selectedTemplate&&"options"in t._selectedTemplate?S(i,t._selectedTemplate.options):S(i,t._selectedTemplate));let s={};t._selectedBorder&&(s="id"in t._selectedBorder&&"options"in t._selectedBorder?t._selectedBorder.options:t._selectedBorder);let a={};if(t._selectedStyle){const{isValid:e,errors:o}=Ae(t._selectedStyle);e?a=ve(t._selectedStyle):console.warn("Invalid static style options ignored during instantiation:",o)}let l={};t._selectedImage&&!t._selectedImageOverride&&(l={image:t._selectedImage});let d={};t._selectedData&&!t._selectedDataOverride&&(d={data:t._selectedData});const c={};if(t._selectedText&&!t._selectedTextOverride){let e=null;if(e="id"in t._selectedText&&"options"in t._selectedText?t._selectedText.options:t._selectedText,e){c.borderOptions||(c.borderOptions={}),c.borderOptions.decorations||(c.borderOptions.decorations={});const t=c.borderOptions.decorations,o=null===e.value?void 0:e.value;void 0!==e.value&&(void 0===e.topValue&&(t.top={value:o}),void 0===e.bottomValue&&(t.bottom={value:o}),void 0===e.leftValue&&(t.left={value:o}),void 0===e.rightValue&&(t.right={value:o})),void 0!==e.topValue&&(t.top={value:null===e.topValue?void 0:e.topValue}),void 0!==e.leftValue&&(t.left={value:null===e.leftValue?void 0:e.leftValue}),void 0!==e.rightValue&&(t.right={value:null===e.rightValue?void 0:e.rightValue}),void 0!==e.bottomValue&&(t.bottom={value:null===e.bottomValue?void 0:e.bottomValue})}}const u=S(i,s,c,a,l,d,n,t._selectedOptions??{}),{warnings:h,validatedOptions:p}=$o(u);this.options=z(p);const m={};if(t._selectedImageOverride&&t._selectedImage&&(m.image=t._selectedImage),t._selectedTextOverride&&t._selectedText){m.borderOptions||(m.borderOptions={}),m.borderOptions.decorations||(m.borderOptions.decorations={});let e=null;if(e="id"in t._selectedText&&"options"in t._selectedText?t._selectedText.options:t._selectedText,e){const t=m.borderOptions.decorations,o=null===e.value?void 0:e.value;void 0!==e.value&&(void 0===e.topValue&&(t.top={value:o}),void 0===e.bottomValue&&(t.bottom={value:o}),void 0===e.leftValue&&(t.left={value:o}),void 0===e.rightValue&&(t.right={value:o})),void 0!==e.topValue&&(t.top={value:null===e.topValue?void 0:e.topValue}),void 0!==e.leftValue&&(t.left={value:null===e.leftValue?void 0:e.leftValue}),void 0!==e.rightValue&&(t.right={value:null===e.rightValue?void 0:e.rightValue}),void 0!==e.bottomValue&&(t.bottom={value:null===e.bottomValue?void 0:e.bottomValue})}}return t._selectedDataOverride&&t._selectedData&&(m.data=t._selectedData),t._selectedOptionsOverride&&t._selectedOptions&&Object.keys(m).length>0?this.options=z(S(this.options,S(m,t._selectedOptions))):Object.keys(m).length>0&&(this.options=z(S(this.options,m))),this.id=t._selectedInfo?.id,this.name=t._selectedInfo?.name,this.description=t._selectedInfo?.description,this.metadata=t._selectedMetadata??void 0,h.length>0&&this._logValidationWarnings("QR Code Options Validation Warnings:",h),this.update(),this}static setTemplate(e){if(null===e)return t._selectedTemplate=null,t;if("string"==typeof e){const o=e,r=Uo(o);r?t._selectedTemplate=r:(console.warn(`QR Code template name "${o}" not found. Using base template.`),t._selectedTemplate=qe)}else t._selectedTemplate=e;return t}static setTemplateId(e){if(null===e)return t._selectedTemplate=null,t;const o=Ko(e);return o?t._selectedTemplate=o:(console.warn(`QR Code template ID "${e}" not found in setTemplateId. Using default.`),t._selectedTemplate=qe),t}static getTemplates(){return{findTextTemplateById:Ur,findTextByName:zr,findTemplateByName:Uo,findTemplateById:Ko,findBorderById:Fr,findBorderByName:_r,findStyleById:Cr,findStyleByName:Sr,baseTemplates:zo,borderTemplates:Xr,styleTemplates:Or,textTemplates:Nr}}static setStyle(e){if(null===e)return t._selectedStyle=null,t;let o=null;if("string"==typeof e){const r=e,n=Sr(r);n?(o=n.style,t._selectedStyle=o):(console.warn(`QR Code style name "${r}" not found in setStyle. Ignoring.`),t._selectedStyle=null)}else{const{isValid:r,errors:n}=Ae(e);r?(o=e,t._selectedStyle=o):(console.warn("Invalid style options object provided to setStyle:",n),t._selectedStyle=null)}return t}static setBorder(e){if(null===e)return t._selectedBorder=null,t;if("string"==typeof e){const o=e,r=_r(o);r?t._selectedBorder=r:(console.warn(`QR Code border template name "${o}" not found. Ignoring.`),t._selectedBorder=null)}else t._selectedBorder={borderOptions:e};return t}static setBorderId(e){if(null===e)return t._selectedBorder=null,t;const o=Fr(e);return o?t._selectedBorder=o:(console.warn(`QR Code border template ID "${e}" not found in setBorderId. Ignoring.`),t._selectedBorder=null),t}static setStyleId(e){if(null===e)return t._selectedStyle=null,t;const o=Cr(e);return o?t._selectedStyle=o.style:(console.warn(`QR Code style ID "${e}" not found in setStyleId. Ignoring.`),t._selectedStyle=null),t}static setImage(e,o){return t._selectedImage=e,t._selectedImageOverride=!!o?.override,t}static setData(e,o){return t._selectedData=e,t._selectedDataOverride=!!o?.override,t}static setOptions(e,o){return t._selectedOptions=e,t._selectedOptionsOverride=!!o?.override,t}static setText(e,o){if(null===e)t._selectedText=null;else if("string"==typeof e){const o=zr(e);o?t._selectedText=o:(console.warn(`QR Code text template name "${e}" not found. Ignoring.`),t._selectedText=null)}else t._selectedText=e;return t._selectedTextOverride=!!o?.override,t}static setTextId(e,o){if(null===e)t._selectedText=null;else{const o=Ur(e);console.log("foundTextTemplate",o),o?t._selectedText=o:(console.warn(`QR Code text template ID "${e}" not found in setTextId. Ignoring.`),t._selectedText=null)}return t._selectedTextOverride=!!o?.override,t}static setSettings(e){if(null===e)return t._selectedTemplate=null,t._selectedBorder=null,t._selectedStyle=null,t._selectedImage=null,t._selectedImageOverride=!1,t._selectedText=null,t._selectedTextOverride=!1,t._selectedData=null,t._selectedDataOverride=!1,t._selectedOptions=null,t._selectedOptionsOverride=!1,t._selectedInfo=null,t._selectedMetadata=null,t;const{id:o,name:r,description:n,metadata:i,options:s,template:a,templateId:l,style:d,styleId:c,border:u,borderId:h,text:p,textId:m,image:f,data:g,...b}=e;return t._selectedInfo={id:o,name:r,description:n},t._selectedMetadata=i??null,l?t.setTemplateId(l):a&&t.setTemplate(a),c?t.setStyleId(c):d&&t.setStyle(d),h?t.setBorderId(h):u&&t.setBorder(u),m?t.setTextId(m):p&&t.setText(p),f&&t.setImage(f),g&&t.setData(g),s&&t.setOptions(s),Object.keys(b).length>0&&console.warn("QRCodeJs.setSettings: Unknown properties in settings object:",b),t}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(e){return this.id=e,this}setName(e){return this.name=e,this}setDescription(e){return this.description=e,this}setMetadata(e){return this.metadata=e,this}async update(e){const t=e?S(this.options,e):this.options,{warnings:o,validatedOptions:r}=$o(t);if(o.length>0&&this._logValidationWarnings("QR Code JS Options Update Validation Warnings:",o),this.options=z(r),!this.options.data)return void console.warn("QR Code update called without data.");this.options.stringToBytesFuncs&&(Object.assign(b.stringToBytesFuncs,this.options.stringToBytesFuncs),delete this.options.stringToBytesFuncs),this.qr=new b(this.options.qrOptions.typeNumber,this.options.qrOptions.errorCorrectionLevel);const n=this.options.qrOptions?.mode||function(e){switch(!0){case/^[0-9]*$/.test(e):return g.numeric;case/^[0-9A-Z $%*+\-./:]*$/.test(e):return g.alphanumeric;case/[^\u0000-\u00ff]/.test(e):return g.unicode;default:return g.byte}}(this.options.data);this.qr.addData(this.options.data,n),this.qr.make(),await this._setupSvgAsync(),this.svgDrawingPromise&&await this.svgDrawingPromise;const i=this.qrSVG?.element;if(this.container&&i){const e=this.container.querySelector(`#${this._svgId}`);e?e!==i&&this.container.replaceChild(i,e):this.container.appendChild(i)}}append(e){return e?(this.container=e,this.qrSVG?.element&&!e.querySelector(`#${this._svgId}`)&&e.appendChild(this.qrSVG.element),this):(console.warn("QR Code append could not find container."),this)}async applyExtension(e){if(!e)throw new Error("Extension function should be defined.");this.extension=e,await this.update()}async deleteExtension(){this.extension=void 0,await this.update()}async serialize(e=!1){if(!this.qr)throw new Error("QR code is empty");if(this.qrSVG?.element||await this._setupSvgAsync(),this.svgDrawingPromise&&await this.svgDrawingPromise,!this.qrSVG?.element)return;let t=this.qrSVG.element;if(e){const e=this.qrSVG.element.cloneNode(!0);e.style.filter="invert(1)",t=e}let o=(new XMLSerializer).serializeToString(t);return o='<?xml version="1.0" standalone="no"?>\r\n'+o,o}async _setupSvgAsync(){if(!this.qr)return;let e=this.qr.getModuleCount();this.options.imageOptions.mode===F.background&&this.options.shape!==_.circle&&(e+=2);let t=Math.ceil((this.options.shape===_.circle?Math.sqrt(1.8):1.1)*e);t%2==0&&(t-=1);let o=0;this.options.imageOptions.mode===F.background&&(o+=this.options.imageOptions.margin||0);const r=Math.ceil(this.options.dotsOptions.size*(t+2*o)),n=this.options.borderOptions;let i=0,s=0;const a={top:0,right:0,bottom:0,left:0},l={top:0,right:0,bottom:0,left:0},d={top:0,right:0,bottom:0,left:0},c=(n?.noBorderThickness||n?.thickness)&&n.thickness?n.thickness/4:0;if(n?.hasBorder){const e=n.borderOuter?.thickness?2*n.borderOuter?.thickness:0,t=n.borderInner?.thickness?2*n.borderInner?.thickness:0;e>0&&(l.top=e/2,l.bottom=e/2,l.left=e/2,l.right=e/2),t>0&&(d.top=t/2,d.bottom=t/2,d.left=t/2,d.right=t/2),Z(n,"left")?(a.left=n.thickness??0,i+=n.thickness??0):(a.left=c,i+=c),Z(n,"right")?(a.right=n.thickness??0,i+=n.thickness??0):(a.right=c,i+=c),Z(n,"top")?(a.top=n.thickness??0,s+=n.thickness??0):(a.top=c,s+=c),R(n,"bottom",this._hls())?(a.bottom=n.thickness??0,s+=n.thickness??0):(a.bottom=c,s+=c)}const u=r+i,h=r+s;this.qrSVG=new br({...this.options,width:u,height:h,bordersMain:a,bordersOuter:l,bordersInner:d,errorCorrectionPercent:U[this.options.qrOptions.errorCorrectionLevel],hls:this._hls()}),this.qrSVG?.element?(this.qrSVG.element.id=this._svgId,this.svgDrawingPromise=this.qrSVG.drawQR(this.qr).then((()=>{this.qrSVG?.element&&(this.options.instanceId=this.qrSVG._instanceId,this.options.borderOptions?.hasBorder&&J(this.options.borderOptions)(this.qrSVG.element,this.options,r,this.qrSVG.drawBackgroundForBorder.bind(this.qrSVG),a,l,d,c,this._hls),this.extension?.(this.qrSVG.element,this.options))})).catch((e=>{throw console.error("Error during SVG drawing or post-processing:",e),e}))):console.error("QRSVG element not created immediately after instantiation.")}async _drawToCanvasForValidation(t){const{width:o=300,height:r=300}=this.qrSVG?.svgSize??t??e,n=o,i=r,s=document.createElement("canvas");s.width=n,s.height=i;const a=await this.serialize();if(!a)throw new Error("Failed to serialize SVG.");const l="data:image/svg+xml;base64,"+btoa(a);return new Promise(((e,t)=>{const o=new Image;o.width=n,o.height=i,o.crossOrigin="Anonymous",o.onload=()=>{const r=s.getContext("2d");if(!r)return t(new Error("Could not get canvas 2D context"));r.drawImage(o,0,0,n,i),e(s)},o.onerror=o.onabort=t,o.src=l}))}async drawToCanvas(e){const t=document.createElement("canvas"),o=window.devicePixelRatio||1,r=e?.antialiasFactor||2,n=e?.antialiasLevel||"medium",i=e?.antialias??!0,s=(async()=>{try{const s=await this.serialize();if(!s)return void console.warn("SVG serialization returned empty.");const a="data:image/svg+xml;base64,"+function(e){const t=(new TextEncoder).encode(e),o=Array.from(t,(e=>String.fromCharCode(e))).join("");return btoa(o)}(s),l=new Image;await new Promise(((e,t)=>{l.onload=()=>e(),l.onerror=e=>t(new Error(`Image load error: ${e}`)),l.onabort=()=>t(new Error("Image load aborted")),l.src=a}));const{width:d,height:c}=this.qrSVG?.svgSize??{},u=d??l.naturalWidth,h=c??l.naturalHeight;if(u<=0||h<=0)throw new Error("Invalid SVG dimensions");let p,m;void 0!==e?.width&&void 0!==e?.height?(p=e.width,m=e.height):void 0!==e?.width?(p=e.width,m=p*(h/u)):void 0!==e?.height?(m=e.height,p=m*(u/h)):(p=u,m=h),t.width=p*o,t.height=m*o,t.style.width=`${p}px`,t.style.height=`${m}px`;const f=p/u,g=m/h,b=Math.min(f,g),y=u*b,O=h*b,S=(p-y)/2,C=(m-O)/2;let w;try{w=new OffscreenCanvas(y*o*r,O*o*r)}catch(e){w=document.createElement("canvas"),w.width=y*o*r,w.height=O*o*r}const k=w.getContext("2d");if(!k)throw new Error("Could not get OffscreenCanvas 2D context");k.imageSmoothingEnabled=i,k.imageSmoothingQuality=n,k.drawImage(l,0,0,w.width,w.height);const v=t.getContext("2d");if(!v)throw new Error("Could not get canvas 2D context");v.imageSmoothingEnabled=i,v.imageSmoothingQuality=n,v.scale(o,o),v.drawImage(w,0,0,w.width,w.height,S,C,y,O)}catch(e){throw console.error("Error drawing to canvas:",e),e}})();return{canvas:t,canvasDrawingPromise:s}}async _drawToCanvasPrevious(t){const{width:o=300,height:r=300}=t??this.qrSVG?.svgSize??e,n=1*o,i=1*r,s=document.createElement("canvas");s.width=n,s.height=i;const a=(async()=>{try{const e=await this.serialize();if(!e)return void console.warn("SVG serialization returned empty.");const t="data:image/svg+xml;base64,"+btoa(e),a=new Image;a.width=n,a.height=i,await new Promise(((e,l)=>{a.onload=()=>{const t=Math.ceil(2*Math.max(o,r)/Math.max(a.width,a.height));let d;try{d=new OffscreenCanvas(a.width*t*2,a.height*t*2)}catch(e){d=document.createElement("canvas"),d.width=a.width*t*2,d.height=a.height*t*2}const c=d.getContext("2d");if(!c)return l(new Error("Could not get OffscreenCanvas 2D context"));c.drawImage(a,0,0,d.width,d.height);const u=s.getContext("2d");if(!u)return l(new Error("Could not get canvas 2D context"));u.drawImage(d,0,0,d.width,d.height,0,0,n,i),e()},a.onerror=e=>l(new Error(`Image load error: ${e}`)),a.onabort=()=>l(new Error("Image load aborted")),a.src=t}))}catch(e){throw console.error("Error drawing to canvas:",e),e}})();return{canvas:s,canvasDrawingPromise:a}}downloadURI(e,t){const o=document.createElement("a");o.download=t,o.href=e,document.body.appendChild(o),o.click(),document.body.removeChild(o)}async download(e,t){if("undefined"==typeof Blob)throw new Error("Cannot download in Node.js environment");let o=Kr.png,r="qr";if(e&&(e.name&&(r=e.name),e.extension&&(o=e.extension)),"svg"===o.toLowerCase()){const e=await this.serialize();if(!e)return;const t="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(e);this.downloadURI(t,`${r}.svg`)}else{const e=await this.drawToCanvas(t);if(!e)return;const{canvas:n,canvasDrawingPromise:i}=e;await i;const s=n.toDataURL(`image/${o}`);this.downloadURI(s,`${r}.${o}`)}}async createOptimizedQRCanvas(t){const{width:o=300,height:r=300}=this.qrSVG?.svgSize??t??e,n=document.createElement("canvas");n.width=o,n.height=r;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((e=>String.fromCharCode(e))).join(""));return new Promise(((e,t)=>{const i=new Image;i.width=o,i.height=r,i.crossOrigin="Anonymous",i.onload=()=>{const s=n.getContext("2d");if(!s)return t(new Error("Could not get canvas 2D context"));s.imageSmoothingEnabled=!1,s.drawImage(i,0,0,o,r),this.applyQRThreshold(n),e(n)},i.onerror=e=>t(new Error(`Image load error: ${e}`)),i.onabort=()=>t(new Error("Image load aborted")),i.src=s}))}applyQRThreshold(e){const t=e.getContext("2d");if(!t)return;const o=t.getImageData(0,0,e.width,e.height),r=o.data;for(let e=0;e<r.length;e+=4){const t=(r[e]+r[e+1]+r[e+2])/3<128?0:255;r[e]=r[e+1]=r[e+2]=t}t.putImageData(o,0,0)}_hls(){return!1}_logValidationWarnings(e,t){console.warn(e),t.forEach((e=>{console.warn(`option: ${e.path} - '${e.value}' : ${e.message}`)}))}};Hr.version="0.11.0",Hr._selectedTemplate=null,Hr._selectedBorder=null,Hr._selectedStyle=null,Hr._selectedImage=null,Hr._selectedImageOverride=!1,Hr._selectedText=null,Hr._selectedTextOverride=!1,Hr._selectedData=null,Hr._selectedDataOverride=!1,Hr._selectedOptions=null,Hr._selectedOptionsOverride=!1,Hr._selectedInfo=null,Hr._selectedMetadata=null;const Qr=new TextEncoder,$r=new TextDecoder;function en(e){if(Uint8Array.fromBase64)return Uint8Array.fromBase64("string"==typeof e?e:$r.decode(e),{alphabet:"base64url"});let t=e;t instanceof Uint8Array&&(t=$r.decode(t)),t=t.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return function(e){if(Uint8Array.fromBase64)return Uint8Array.fromBase64(e);const t=atob(e),o=new Uint8Array(t.length);for(let e=0;e<t.length;e++)o[e]=t.charCodeAt(e);return o}(t)}catch{throw new TypeError("The input to be decoded is not correctly encoded.")}}class tn extends Error{static code="ERR_JOSE_GENERIC";code="ERR_JOSE_GENERIC";constructor(e,t){super(e,t),this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}}class on extends tn{static code="ERR_JWT_CLAIM_VALIDATION_FAILED";code="ERR_JWT_CLAIM_VALIDATION_FAILED";claim;reason;payload;constructor(e,t,o="unspecified",r="unspecified"){super(e,{cause:{claim:o,reason:r,payload:t}}),this.claim=o,this.reason=r,this.payload=t}}class rn extends tn{static code="ERR_JWT_EXPIRED";code="ERR_JWT_EXPIRED";claim;reason;payload;constructor(e,t,o="unspecified",r="unspecified"){super(e,{cause:{claim:o,reason:r,payload:t}}),this.claim=o,this.reason=r,this.payload=t}}class nn extends tn{static code="ERR_JOSE_ALG_NOT_ALLOWED";code="ERR_JOSE_ALG_NOT_ALLOWED"}class sn extends tn{static code="ERR_JOSE_NOT_SUPPORTED";code="ERR_JOSE_NOT_SUPPORTED"}class an extends tn{static code="ERR_JWS_INVALID";code="ERR_JWS_INVALID"}class ln extends tn{static code="ERR_JWT_INVALID";code="ERR_JWT_INVALID"}class dn extends tn{static code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";constructor(e="signature verification failed",t){super(e,t)}}function cn(e,t="algorithm.name"){return new TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`)}function un(e,t){return e.name===t}function hn(e){return parseInt(e.name.slice(4),10)}function pn(e,t,o){switch(t){case"HS256":case"HS384":case"HS512":{if(!un(e.algorithm,"HMAC"))throw cn("HMAC");const o=parseInt(t.slice(2),10);if(hn(e.algorithm.hash)!==o)throw cn(`SHA-${o}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!un(e.algorithm,"RSASSA-PKCS1-v1_5"))throw cn("RSASSA-PKCS1-v1_5");const o=parseInt(t.slice(2),10);if(hn(e.algorithm.hash)!==o)throw cn(`SHA-${o}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!un(e.algorithm,"RSA-PSS"))throw cn("RSA-PSS");const o=parseInt(t.slice(2),10);if(hn(e.algorithm.hash)!==o)throw cn(`SHA-${o}`,"algorithm.hash");break}case"Ed25519":case"EdDSA":if(!un(e.algorithm,"Ed25519"))throw cn("Ed25519");break;case"ES256":case"ES384":case"ES512":{if(!un(e.algorithm,"ECDSA"))throw cn("ECDSA");const o=function(e){switch(e){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}(t);if(e.algorithm.namedCurve!==o)throw cn(o,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}!function(e,t){if(!e.usages.includes(t))throw new TypeError(`CryptoKey does not support this operation, its usages must include ${t}.`)}(e,o)}function mn(e,t,...o){if((o=o.filter(Boolean)).length>2){const t=o.pop();e+=`one of type ${o.join(", ")}, or ${t}.`}else 2===o.length?e+=`one of type ${o[0]} or ${o[1]}.`:e+=`of type ${o[0]}.`;return null==t?e+=` Received ${t}`:"function"==typeof t&&t.name?e+=` Received function ${t.name}`:"object"==typeof t&&null!=t&&t.constructor?.name&&(e+=` Received an instance of ${t.constructor.name}`),e}function fn(e,t,...o){return mn(`Key for the ${e} algorithm must be `,t,...o)}function gn(e){return"CryptoKey"===e?.[Symbol.toStringTag]}function bn(e){return"KeyObject"===e?.[Symbol.toStringTag]}var yn=e=>gn(e)||bn(e);var On=e=>{if("object"!=typeof(t=e)||null===t||"[object Object]"!==Object.prototype.toString.call(e))return!1;var t;if(null===Object.getPrototypeOf(e))return!0;let o=e;for(;null!==Object.getPrototypeOf(o);)o=Object.getPrototypeOf(o);return Object.getPrototypeOf(e)===o};const Sn=(e,t,o=0)=>{0===o&&(t.unshift(t.length),t.unshift(6));const r=e.indexOf(t[0],o);if(-1===r)return!1;const n=e.subarray(r,r+t.length);return n.length===t.length&&(n.every(((e,o)=>e===t[o]))||Sn(e,t,r+1))},Cn=async(e,t,o,r,n)=>{let i,s;const a=new Uint8Array(atob(o.replace(e,"")).split("").map((e=>e.charCodeAt(0))));switch(r){case"PS256":case"PS384":case"PS512":i={name:"RSA-PSS",hash:`SHA-${r.slice(-3)}`},s=["verify"];break;case"RS256":case"RS384":case"RS512":i={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${r.slice(-3)}`},s=["verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":i={name:"RSA-OAEP",hash:`SHA-${parseInt(r.slice(-3),10)||1}`},s=["encrypt","wrapKey"];break;case"ES256":i={name:"ECDSA",namedCurve:"P-256"},s=["verify"];break;case"ES384":i={name:"ECDSA",namedCurve:"P-384"},s=["verify"];break;case"ES512":i={name:"ECDSA",namedCurve:"P-521"},s=["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{const e=(e=>{switch(!0){case Sn(e,[42,134,72,206,61,3,1,7]):return"P-256";case Sn(e,[43,129,4,0,34]):return"P-384";case Sn(e,[43,129,4,0,35]):return"P-521";default:return}})(a);i=e?.startsWith("P-")?{name:"ECDH",namedCurve:e}:{name:"X25519"},s=[];break}case"Ed25519":case"EdDSA":i={name:"Ed25519"},s=["verify"];break;default:throw new sn('Invalid or unsupported "alg" (Algorithm) value')}return crypto.subtle.importKey(t,a,i,!0,s)};var wn=async e=>{if(!e.alg)throw new TypeError('"alg" argument is required when "jwk.alg" is not present');const{algorithm:t,keyUsages:o}=function(e){let t,o;switch(e.kty){case"RSA":switch(e.alg){case"PS256":case"PS384":case"PS512":t={name:"RSA-PSS",hash:`SHA-${e.alg.slice(-3)}`},o=e.d?["sign"]:["verify"];break;case"RS256":case"RS384":case"RS512":t={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${e.alg.slice(-3)}`},o=e.d?["sign"]:["verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":t={name:"RSA-OAEP",hash:`SHA-${parseInt(e.alg.slice(-3),10)||1}`},o=e.d?["decrypt","unwrapKey"]:["encrypt","wrapKey"];break;default:throw new sn('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;case"EC":switch(e.alg){case"ES256":t={name:"ECDSA",namedCurve:"P-256"},o=e.d?["sign"]:["verify"];break;case"ES384":t={name:"ECDSA",namedCurve:"P-384"},o=e.d?["sign"]:["verify"];break;case"ES512":t={name:"ECDSA",namedCurve:"P-521"},o=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:"ECDH",namedCurve:e.crv},o=e.d?["deriveBits"]:[];break;default:throw new sn('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;case"OKP":switch(e.alg){case"Ed25519":case"EdDSA":t={name:"Ed25519"},o=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:e.crv},o=e.d?["deriveBits"]:[];break;default:throw new sn('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;default:throw new sn('Invalid or unsupported JWK "kty" (Key Type) Parameter value')}return{algorithm:t,keyUsages:o}}(e),r={...e};return delete r.alg,delete r.use,crypto.subtle.importKey("jwk",r,t,e.ext??!e.d,e.key_ops??o)};async function kn(e,t,o){if(0!==e.indexOf("-----BEGIN PUBLIC KEY-----"))throw new TypeError('"spki" must be SPKI formatted string');return((e,t)=>Cn(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,"spki",e,t))(e,t)}function vn(e){return On(e)&&"string"==typeof e.kty}let An;const Tn=async(e,t,o,r=!1)=>{An||=new WeakMap;let n=An.get(e);if(n?.[o])return n[o];const i=await wn({...t,alg:o});return r&&Object.freeze(e),n?n[o]=i:An.set(e,{[o]:i}),i};var In=async(e,t)=>{if(e instanceof Uint8Array)return e;if(gn(e))return e;if(bn(e)){if("secret"===e.type)return e.export();if("toCryptoKey"in e&&"function"==typeof e.toCryptoKey)try{return((e,t)=>{An||=new WeakMap;let o=An.get(e);if(o?.[t])return o[t];const r="public"===e.type,n=!!r;let i;if("x25519"===e.asymmetricKeyType){switch(t){case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":break;default:throw new TypeError("given KeyObject instance cannot be used for this algorithm")}i=e.toCryptoKey(e.asymmetricKeyType,n,r?[]:["deriveBits"])}if("ed25519"===e.asymmetricKeyType){if("EdDSA"!==t&&"Ed25519"!==t)throw new TypeError("given KeyObject instance cannot be used for this algorithm");i=e.toCryptoKey(e.asymmetricKeyType,n,[r?"verify":"sign"])}if("rsa"===e.asymmetricKeyType){let o;switch(t){case"RSA-OAEP":o="SHA-1";break;case"RS256":case"PS256":case"RSA-OAEP-256":o="SHA-256";break;case"RS384":case"PS384":case"RSA-OAEP-384":o="SHA-384";break;case"RS512":case"PS512":case"RSA-OAEP-512":o="SHA-512";break;default:throw new TypeError("given KeyObject instance cannot be used for this algorithm")}if(t.startsWith("RSA-OAEP"))return e.toCryptoKey({name:"RSA-OAEP",hash:o},n,r?["encrypt"]:["decrypt"]);i=e.toCryptoKey({name:t.startsWith("PS")?"RSA-PSS":"RSASSA-PKCS1-v1_5",hash:o},n,[r?"verify":"sign"])}if("ec"===e.asymmetricKeyType){const o=new Map([["prime256v1","P-256"],["secp384r1","P-384"],["secp521r1","P-521"]]).get(e.asymmetricKeyDetails?.namedCurve);if(!o)throw new TypeError("given KeyObject instance cannot be used for this algorithm");"ES256"===t&&"P-256"===o&&(i=e.toCryptoKey({name:"ECDSA",namedCurve:o},n,[r?"verify":"sign"])),"ES384"===t&&"P-384"===o&&(i=e.toCryptoKey({name:"ECDSA",namedCurve:o},n,[r?"verify":"sign"])),"ES512"===t&&"P-521"===o&&(i=e.toCryptoKey({name:"ECDSA",namedCurve:o},n,[r?"verify":"sign"])),t.startsWith("ECDH-ES")&&(i=e.toCryptoKey({name:"ECDH",namedCurve:o},n,r?[]:["deriveBits"]))}if(!i)throw new TypeError("given KeyObject instance cannot be used for this algorithm");return o?o[t]=i:An.set(e,{[t]:i}),i})(e,t)}catch(e){if(e instanceof TypeError)throw e}let o=e.export({format:"jwk"});return Tn(e,o,t)}if(vn(e))return e.k?en(e.k):Tn(e,e,t,!0);throw new Error("unreachable")};const Dn=e=>e?.[Symbol.toStringTag],qn=(e,t,o)=>{if(void 0!==t.use){let e;switch(o){case"sign":case"verify":e="sig";break;case"encrypt":case"decrypt":e="enc"}if(t.use!==e)throw new TypeError(`Invalid key for this operation, its "use" must be "${e}" when present`)}if(void 0!==t.alg&&t.alg!==e)throw new TypeError(`Invalid key for this operation, its "alg" must be "${e}" when present`);if(Array.isArray(t.key_ops)){let r;switch(!0){case"verify"===o:case"dir"===e:case e.includes("CBC-HS"):r=o;break;case e.startsWith("PBES2"):r="deriveBits";break;case/^A\d{3}(?:GCM)?(?:KW)?$/.test(e):r=!e.includes("GCM")&&e.endsWith("KW")?"unwrapKey":o;break;case"encrypt"===o:r="wrapKey";break;case"decrypt"===o:r=e.startsWith("RSA")?"unwrapKey":"deriveBits"}if(r&&!1===t.key_ops?.includes?.(r))throw new TypeError(`Invalid key for this operation, its "key_ops" must include "${r}" when present`)}return!0};var xn=(e,t,o)=>{e.startsWith("HS")||"dir"===e||e.startsWith("PBES2")||/^A(?:128|192|256)(?:GCM)?(?:KW)?$/.test(e)||/^A(?:128|192|256)CBC-HS(?:256|384|512)$/.test(e)?((e,t,o)=>{if(!(t instanceof Uint8Array)){if(vn(t)){if(function(e){return"oct"===e.kty&&"string"==typeof e.k}(t)&&qn(e,t,o))return;throw new TypeError('JSON Web Key for symmetric algorithms must have JWK "kty" (Key Type) equal to "oct" and the JWK "k" (Key Value) present')}if(!yn(t))throw new TypeError(fn(e,t,"CryptoKey","KeyObject","JSON Web Key","Uint8Array"));if("secret"!==t.type)throw new TypeError(`${Dn(t)} instances for symmetric algorithms must be of type "secret"`)}})(e,t,o):((e,t,o)=>{if(vn(t))switch(o){case"decrypt":case"sign":if(function(e){return"oct"!==e.kty&&"string"==typeof e.d}(t)&&qn(e,t,o))return;throw new TypeError("JSON Web Key for this operation be a private JWK");case"encrypt":case"verify":if(function(e){return"oct"!==e.kty&&void 0===e.d}(t)&&qn(e,t,o))return;throw new TypeError("JSON Web Key for this operation be a public JWK")}if(!yn(t))throw new TypeError(fn(e,t,"CryptoKey","KeyObject","JSON Web Key"));if("secret"===t.type)throw new TypeError(`${Dn(t)} instances for asymmetric algorithms must not be of type "secret"`);if("public"===t.type)switch(o){case"sign":throw new TypeError(`${Dn(t)} instances for asymmetric algorithm signing must be of type "private"`);case"decrypt":throw new TypeError(`${Dn(t)} instances for asymmetric algorithm decryption must be of type "private"`)}if("private"===t.type)switch(o){case"verify":throw new TypeError(`${Dn(t)} instances for asymmetric algorithm verifying must be of type "public"`);case"encrypt":throw new TypeError(`${Dn(t)} instances for asymmetric algorithm encryption must be of type "public"`)}})(e,t,o)},Wn=async(e,t,o)=>{if(t instanceof Uint8Array){if(!e.startsWith("HS"))throw new TypeError(((e,...t)=>mn("Key must be ",e,...t))(t,"CryptoKey","KeyObject","JSON Web Key"));return crypto.subtle.importKey("raw",t,{hash:`SHA-${e.slice(-3)}`,name:"HMAC"},!1,[o])}return pn(t,e,o),t},Zn=async(e,t,o,r)=>{const n=await Wn(e,t,"verify");((e,t)=>{if(e.startsWith("RS")||e.startsWith("PS")){const{modulusLength:o}=t.algorithm;if("number"!=typeof o||o<2048)throw new TypeError(`${e} requires key modulusLength to be 2048 bits or larger`)}})(e,n);const i=((e,t)=>{const o=`SHA-${e.slice(-3)}`;switch(e){case"HS256":case"HS384":case"HS512":return{hash:o,name:"HMAC"};case"PS256":case"PS384":case"PS512":return{hash:o,name:"RSA-PSS",saltLength:parseInt(e.slice(-3),10)>>3};case"RS256":case"RS384":case"RS512":return{hash:o,name:"RSASSA-PKCS1-v1_5"};case"ES256":case"ES384":case"ES512":return{hash:o,name:"ECDSA",namedCurve:t.namedCurve};case"Ed25519":case"EdDSA":return{name:"Ed25519"};default:throw new sn(`alg ${e} is not supported either by JOSE or your javascript runtime`)}})(e,n.algorithm);try{return await crypto.subtle.verify(i,n,o,r)}catch{return!1}};async function Rn(e,t,o){if(!On(e))throw new an("Flattened JWS must be an object");if(void 0===e.protected&&void 0===e.header)throw new an('Flattened JWS must have either of the "protected" or "header" members');if(void 0!==e.protected&&"string"!=typeof e.protected)throw new an("JWS Protected Header incorrect type");if(void 0===e.payload)throw new an("JWS Payload missing");if("string"!=typeof e.signature)throw new an("JWS Signature missing or incorrect type");if(void 0!==e.header&&!On(e.header))throw new an("JWS Unprotected Header incorrect type");let r={};if(e.protected)try{const t=en(e.protected);r=JSON.parse($r.decode(t))}catch{throw new an("JWS Protected Header is invalid")}if(!((...e)=>{const t=e.filter(Boolean);if(0===t.length||1===t.length)return!0;let o;for(const e of t){const t=Object.keys(e);if(o&&0!==o.size)for(const e of t){if(o.has(e))return!1;o.add(e)}else o=new Set(t)}return!0})(r,e.header))throw new an("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");const n={...r,...e.header},i=((e,t,o,r,n)=>{if(void 0!==n.crit&&void 0===r?.crit)throw new e('"crit" (Critical) Header Parameter MUST be integrity protected');if(!r||void 0===r.crit)return new Set;if(!Array.isArray(r.crit)||0===r.crit.length||r.crit.some((e=>"string"!=typeof e||0===e.length)))throw new e('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');let i;i=void 0!==o?new Map([...Object.entries(o),...t.entries()]):t;for(const t of r.crit){if(!i.has(t))throw new sn(`Extension Header Parameter "${t}" is not recognized`);if(void 0===n[t])throw new e(`Extension Header Parameter "${t}" is missing`);if(i.get(t)&&void 0===r[t])throw new e(`Extension Header Parameter "${t}" MUST be integrity protected`)}return new Set(r.crit)})(an,new Map([["b64",!0]]),o?.crit,r,n);let s=!0;if(i.has("b64")&&(s=r.b64,"boolean"!=typeof s))throw new an('The "b64" (base64url-encode payload) Header Parameter must be a boolean');const{alg:a}=n;if("string"!=typeof a||!a)throw new an('JWS "alg" (Algorithm) Header Parameter missing or invalid');const l=((e,t)=>{if(void 0!==t&&(!Array.isArray(t)||t.some((e=>"string"!=typeof e))))throw new TypeError(`"${e}" option must be an array of strings`);if(t)return new Set(t)})("algorithms",o.algorithms);if(l&&!l.has(a))throw new nn('"alg" (Algorithm) Header Parameter value not allowed');if(s){if("string"!=typeof e.payload)throw new an("JWS Payload must be a string")}else if("string"!=typeof e.payload&&!(e.payload instanceof Uint8Array))throw new an("JWS Payload must be a string or an Uint8Array instance");let d=!1;"function"==typeof t&&(t=await t(r,e),d=!0),xn(a,t,"verify");const c=function(...e){const t=e.reduce(((e,{length:t})=>e+t),0),o=new Uint8Array(t);let r=0;for(const t of e)o.set(t,r),r+=t.length;return o}(Qr.encode(e.protected??""),Qr.encode("."),"string"==typeof e.payload?Qr.encode(e.payload):e.payload);let u;try{u=en(e.signature)}catch{throw new an("Failed to base64url decode the signature")}const h=await In(t,a);if(!await Zn(a,h,u,c))throw new dn;let p;if(s)try{p=en(e.payload)}catch{throw new an("Failed to base64url decode the payload")}else p="string"==typeof e.payload?Qr.encode(e.payload):e.payload;const m={payload:p};return void 0!==e.protected&&(m.protectedHeader=r),void 0!==e.header&&(m.unprotectedHeader=e.header),d?{...m,key:h}:m}const Vn=86400,En=/^(\+|\-)? ?(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i;var jn=e=>{const t=En.exec(e);if(!t||t[4]&&t[1])throw new TypeError("Invalid time period format");const o=parseFloat(t[2]);let r;switch(t[3].toLowerCase()){case"sec":case"secs":case"second":case"seconds":case"s":r=Math.round(o);break;case"minute":case"minutes":case"min":case"mins":case"m":r=Math.round(60*o);break;case"hour":case"hours":case"hr":case"hrs":case"h":r=Math.round(3600*o);break;case"day":case"days":case"d":r=Math.round(o*Vn);break;case"week":case"weeks":case"w":r=Math.round(604800*o);break;default:r=Math.round(31557600*o)}return"-"===t[1]||"ago"===t[4]?-r:r};const Mn=e=>e.toLowerCase().replace(/^application\//,"");function Bn(e,t,o={}){let r;try{r=JSON.parse($r.decode(t))}catch{}if(!On(r))throw new ln("JWT Claims Set must be a top-level JSON object");const{typ:n}=o;if(n&&("string"!=typeof e.typ||Mn(e.typ)!==Mn(n)))throw new on('unexpected "typ" JWT header value',r,"typ","check_failed");const{requiredClaims:i=[],issuer:s,subject:a,audience:l,maxTokenAge:d}=o,c=[...i];void 0!==d&&c.push("iat"),void 0!==l&&c.push("aud"),void 0!==a&&c.push("sub"),void 0!==s&&c.push("iss");for(const e of new Set(c.reverse()))if(!(e in r))throw new on(`missing required "${e}" claim`,r,e,"missing");if(s&&!(Array.isArray(s)?s:[s]).includes(r.iss))throw new on('unexpected "iss" claim value',r,"iss","check_failed");if(a&&r.sub!==a)throw new on('unexpected "sub" claim value',r,"sub","check_failed");if(l&&(u=r.aud,h="string"==typeof l?[l]:l,!("string"==typeof u?h.includes(u):Array.isArray(u)&&h.some(Set.prototype.has.bind(new Set(u))))))throw new on('unexpected "aud" claim value',r,"aud","check_failed");var u,h;let p;switch(typeof o.clockTolerance){case"string":p=jn(o.clockTolerance);break;case"number":p=o.clockTolerance;break;case"undefined":p=0;break;default:throw new TypeError("Invalid clockTolerance option type")}const{currentDate:m}=o,f=(g=m||new Date,Math.floor(g.getTime()/1e3));var g;if((void 0!==r.iat||d)&&"number"!=typeof r.iat)throw new on('"iat" claim must be a number',r,"iat","invalid");if(void 0!==r.nbf){if("number"!=typeof r.nbf)throw new on('"nbf" claim must be a number',r,"nbf","invalid");if(r.nbf>f+p)throw new on('"nbf" claim timestamp check failed',r,"nbf","check_failed")}if(void 0!==r.exp){if("number"!=typeof r.exp)throw new on('"exp" claim must be a number',r,"exp","invalid");if(r.exp<=f-p)throw new rn('"exp" claim timestamp check failed',r,"exp","check_failed")}if(d){const e=f-r.iat;if(e-p>("number"==typeof d?d:jn(d)))throw new rn('"iat" claim timestamp check failed (too far in the past)',r,"iat","check_failed");if(e<0-p)throw new on('"iat" claim timestamp check failed (it should be in the past)',r,"iat","check_failed")}return r}async function Jn(e,t,o){const r=await async function(e,t,o){if(e instanceof Uint8Array&&(e=$r.decode(e)),"string"!=typeof e)throw new an("Compact JWS must be a string or Uint8Array");const{0:r,1:n,2:i,length:s}=e.split(".");if(3!==s)throw new an("Invalid Compact JWS");const a=await Rn({payload:n,protected:r,signature:i},t,o),l={payload:a.payload,protectedHeader:a.protectedHeader};return"function"==typeof t?{...l,key:a.key}:l}(e,t,o);if(r.protectedHeader.crit?.includes("b64")&&!1===r.protectedHeader.b64)throw new ln("JWTs MUST NOT use unencoded payload");const n={payload:Bn(r.protectedHeader,r.payload,o),protectedHeader:r.protectedHeader};return"function"==typeof t?{...n,key:r.key}:n}const Yn="QRCodeJsLicense",Pn=O(["ol","ac","hl","so","t"].reverse().join("")),Ln=O(["ol","ac","it","no"].reverse().join("")),Gn=O(["oh","ts","an","em"].reverse().join(""));class Xn{constructor(){this._hls=!1,this._decodedToken=null,this._licenseKey=null,this._isInitialized=!1,this._initPromise=null,this._licenseFetcher=async e=>{const t=Xn._customLicenseApiUrl||`${lr}//v1/license/get-token`;try{const o=await fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({licenseKey:e})});if(!o.ok){let e={};try{e=await o.json()}catch(e){}throw new Error(`Failed to fetch token: ${o.status} ${e?.error||o.statusText}`)}const r=await o.text();if(!r)throw new Error("Fetched token is empty.");return r}catch(e){throw console.error(`LicenseManager: Default fetcher failed: ${e.message}`),new Error(`License fetcher failed: ${e.message}`)}}}static get instance(){return Xn._instance||(Xn._instance=new Xn),Xn._instance}static setDefaultLicenseApiUrl(e){"string"==typeof e&&e?Xn._customLicenseApiUrl=e:console.warn("LicenseManager: Invalid URL provided to setDefaultLicenseApiUrl.")}get hls(){return this._hls}get isInitialized(){return this._isInitialized}getLicenseDetails(){return this._hls?this._decodedToken:null}get licenseKey(){return this._licenseKey}configureLicenseFetcher(e){if("function"!=typeof e)throw new Error("License fetcher must be a function that accepts a license key string and returns a Promise<string>.");this._licenseFetcher=e,this.resetInitialization(),this.resetLicenseState()}async initialize(){return this._isInitialized&&this._initPromise||this._initPromise||(this._initPromise=this._performInitialization()),this._initPromise}async _performInitialization(){if(this._hls)return this._isInitialized=!0,!0;this.resetLicenseState();const e=this._getStoredLicenseData(),t=e.token||null,o=e.key||null;if(this._licenseKey=o,!t)return this._isInitialized=!0,!1;const r=await this._validateAndStoreToken(t,o);if(r.isValid)return this._hls=!0,this._decodedToken=r.license,this._isInitialized=!0,!0;if(r.reason||console.warn("LicenseManager: Stored license token failed validation during initialization (unknown reason)."),!o)return console.warn("LicenseManager: Cannot refresh token: No license key found in storage."),this._isInitialized=!0,!1;console.warn("LicenseManager: Attempting to refresh token using stored license key...");try{const e=await this.activateWithKey(o);return this._isInitialized=!0,e.isValid}catch(e){return console.error(`LicenseManager: Auto-refresh attempt failed unexpectedly: ${e.message}`),this._licenseKey=o,this._isInitialized=!0,!1}}resetInitialization(){this._isInitialized=!1,this._initPromise=null}resetLicenseState(){this._hls=!1,this._decodedToken=null,this._licenseKey=null}async activateWithToken(e){let t;return this.resetInitialization(),null===e?(t=await this._validateAndStoreToken(null,this._licenseKey),this._hls=!1,this._decodedToken=null):"string"==typeof e&&e?(t=await this._validateAndStoreToken(e,null),this._hls=t.isValid,this._decodedToken=t.license,t.isValid?this._licenseKey=this._getStoredLicenseData().key||null:this._licenseKey=null):(console.warn("Invalid token string provided to activateWithToken()."),t=await this._validateAndStoreToken(null,null),t.reason="TOKEN_INVALID",this._hls=!1,this._decodedToken=null,this._licenseKey=null),this._isInitialized=!0,this._initPromise=Promise.resolve(this._hls),!t.isValid&&t.reason&&this._logValidationWarning(t.reason,{token:e,license:t.license}),t}async activateWithKey(e){this.resetInitialization();let t={isValid:!1,token:null,license:null};if(e&&"string"==typeof e){this._licenseKey=e;let o=null,r=null;const n=this._getStoredLicenseData();if(o=n.token||null,r=n.key||null,o&&r===e?(t=await this._validateAndStoreToken(o,e),t.isValid||(t.reason?this._logValidationWarning(t.reason,{licenseKey:e,license:t.license}):console.warn("LicenseManager: Cached token validation failed (unknown reason). Attempting to fetch a new token..."))):(t={isValid:!1,token:null,license:null},o&&r!==e&&console.warn("LicenseManager: Cached token belongs to a different license key. Fetching new token...")),!t.isValid)try{const o=await this._licenseFetcher(e);t=await this._validateAndStoreToken(o,e)}catch(o){let r="FETCH_FAILED";o?.message?.includes("Invalid license key")?r="KEY_INVALID":o?.message?.includes("License has expired")&&(r="TOKEN_EXPIRED"),await this._validateAndStoreToken(null,e),t={isValid:!1,token:null,license:null,reason:r}}this._hls=t.isValid,this._decodedToken=t.license}else console.warn("Invalid license key provided to activateWithKey()."),await this._validateAndStoreToken(null,null),t={isValid:!1,token:null,license:null,reason:"KEY_INVALID"},this._hls=!1,this._decodedToken=null,this._licenseKey=null;return this._isInitialized=!0,this._initPromise=Promise.resolve(this._hls),!t.isValid&&t.reason&&this._logValidationWarning(t.reason,{licenseKey:e,license:t.license}),t}_checkDomain(e){const t=window[Ln],o=window[Ln][Gn];if(Xn._currentHostname=o,!t||"string"!=typeof o||!o)return{domainValid:!0};const r=Xn._currentHostname.toLowerCase();if(r===Pn)return{domainValid:!0};const n=e.domains;if(!n||0===n.length)return{domainValid:!0};return n.map((e=>e.toLowerCase())).includes(r)?{domainValid:!0}:{domainValid:!1,reason:"DOMAIN_MISMATCH"}}_logValidationWarning(e,t){let o=`LicenseManager: Validation failed. Reason: ${e}`;try{switch(e){case"DOMAIN_MISMATCH":const e=Xn._currentHostname??"N/A";o=`LicenseManager: Domain mismatch. License is restricted to [${t?.license?.domains?.join(", ")||"Not specified in token"}], but the current domain is "${e}".`;break;case"TOKEN_EXPIRED":o=`LicenseManager: License token expired on ${t?.license?.exp?new Date(1e3*t.license.exp).toISOString():"N/A"}.`;break;case"TOKEN_INVALID":o="LicenseManager: License token is invalid (e.g., signature mismatch, malformed).";break;case"FETCH_FAILED":o="LicenseManager: Failed to fetch license token from the server. Check network or API endpoint.",t?.licenseKey&&(o+=` (Key: ${t.licenseKey})`);break;case"KEY_INVALID":o="LicenseManager: The provided license key appears invalid or could not be found by the server.",t?.licenseKey&&(o+=` (Key: ${t.licenseKey})`)}}catch(e){console.error("LicenseManager: Error generating validation warning message:",e)}console.warn(o)}_getStoredLicenseData(){if("undefined"==typeof localStorage)return{};try{const e=localStorage.getItem(Yn);return e?JSON.parse(e):{}}catch(e){return console.warn("LicenseManager: Failed to parse license data from localStorage.",e),localStorage.removeItem(Yn),{}}}_setStoredLicenseData(e){if("undefined"!=typeof localStorage)try{const t={};void 0!==e.token&&(t.token=e.token),void 0!==e.key&&(t.key=e.key),Object.keys(t).length>0?localStorage.setItem(Yn,JSON.stringify(t)):localStorage.removeItem(Yn)}catch(e){console.warn("LicenseManager: Failed to store license data to localStorage.",e)}}async _validateAndStoreToken(e,t){const o=this._getStoredLicenseData(),r=t??o.key??void 0;if(!e)return this._setStoredLicenseData({key:r}),{isValid:!1,token:null,license:null};let n,i=null;try{i=await async function(e){try{const t=await kn("-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ZCmxp1vq4LJLviS9d2u\nY5V9IykLzCrNcj8fCenqEyir5b4+FGE3hvLqp9zT+IYRF2cV2K0aGe9G0COFZsX2\nE5ye1DguyvPQgRMPO8y7bxXJ3da1IP7Gs+/3gy4iuzRV4Uhy73jUVpqE/zZ2JAv/\nsY36Rxmq4h7YE/F6YQk3DeZvnHjS7spUlp/+d3W67G8v2jiYWy3pO08Sn0rF2cjg\nXrJA5jcNr7ksER7AQcwayaLT4rAV4+EOcDYXL2egnqoTEmRzQYD2ReHBsO6jB0Ud\nbmsNepxbBdq/fBr+5HNj2tUJItarfH3BUVRFu/L1xP8wOEQa8wmPRwrJdPsI3bdk\n7QIDAQAB\n-----END PUBLIC KEY-----","RS256"),{payload:o}=await Jn(e,t,{algorithms:["RS256"]});if(!o||"string"!=typeof o.sub)throw new tn("Decoded token payload structure is invalid.");return o}catch(e){throw e}}(e);try{const t=this._checkDomain(i);if(!t.domainValid)return n=t.reason,o.token===e&&this._setStoredLicenseData({key:r}),{isValid:!1,token:null,license:i,reason:n}}catch(t){return console.error("LicenseManager: Internal error during domain check.",t),n="TOKEN_INVALID",o.token===e&&this._setStoredLicenseData({key:r}),{isValid:!1,token:null,license:i,reason:n}}return this._setStoredLicenseData({token:e,key:r}),{isValid:!0,token:e,license:i}}catch(t){return t instanceof rn?n="TOKEN_EXPIRED":(n="TOKEN_INVALID",console.error("LicenseManager: Token validation failed.",t)),o.token===e&&this._setStoredLicenseData({key:r}),{isValid:!1,token:null,license:i,reason:n}}}}Xn._instance=null,Xn._customLicenseApiUrl=null,Xn._currentHostname=null;class _n extends Hr{constructor(e,t=!1){super(e),t||(Xn.instance.isInitialized||Xn.instance.hls?Xn.instance.isInitialized&&!Xn.instance.hls&&console.warn("QRCode.js: No valid license found. Some features may be limited."):console.warn("QRCode.js: License state not yet initialized. Call QRCodeJs.initializeIfNeeded() or activate a license."))}_hls(){return Xn.instance.isInitialized?Xn.instance.hls:(Xn.instance.initialize().catch((e=>{console.error("QRCode.js: Background license initialization failed:",e)})),!1)}static async initializeIfNeeded(){return Xn.instance.initialize()}static get hls(){return Xn.instance.isInitialized?Xn.instance.hls:(Xn.instance.initialize().catch((e=>{console.error("QRCode.js: Background license initialization failed:",e)})),!1)}static getLicenseDetails(){return Xn.instance.isInitialized?Xn.instance.getLicenseDetails():(Xn.instance.initialize().catch((e=>{console.error("QRCode.js: Background license initialization failed:",e)})),null)}static configureLicenseFetcher(e){Xn.instance.configureLicenseFetcher(e)}static async token(e){return Xn.instance.activateWithToken(e)}static setLicenseUrl(e){return Xn.setDefaultLicenseApiUrl(e),this}static async license(e){return Xn.instance.activateWithKey(e)}async validateScanning(e="zbar",t=!1){if(!this._hls())return console.warn("QRCode.js: Scanning validation requires a valid license."),Promise.reject({isValid:!1,message:"Valid license required for scanning validation."});try{const{default:e}=await import("./chunks/zbar-scan-validator-CdUmQrkV.js").then((function(e){return e.z})),o=await this.serialize(),r=this.size;if(!r)throw new Error("QR code dimensions not available for validation. Ensure the QR code has been generated.");const{width:n,height:i}=r,s=await(new e).validate(o,(async()=>this.serialize(!0)),n,i,t);if(s.isValid)return s;{console.debug("Zbar validation failed, trying Zxing...");const{default:e}=await import("./chunks/zxing-scan-validator-C8aRSTHv.js");return(new e).validate(o,(async()=>this.serialize(!0)),t)}}catch(e){const t=e instanceof Error?e.message:"Unknown validation error";return console.error(`Validation failed: ${t}`,e),Promise.reject({isValid:!1,message:t})}}static useTemplate(e){return new Nn(this,e)}static useTemplateId(e){return new Nn(this).useTemplateId(e)}static useStyle(e){return new Nn(this).useStyle(e)}static useStyleId(e){return new Nn(this).useStyleId(e)}static useBorder(e){return new Nn(this).useBorder(e)}static useBorderId(e){return new Nn(this).useBorderId(e)}static useImage(e,t){return new Nn(this).useImage(e,t)}static useText(e,t){return new Nn(this).useText(e,t)}static useTextId(e,t){return new Nn(this).useTextId(e,t)}static useData(e,t){return new Nn(this).useData(e,t)}static useOptions(e,t){return new Nn(this).useOptions(e,t)}static useSettings(e){return new Nn(this).useSettings(e)}}class Fn extends _n{_hls(){return!0}constructor(e){super(e,!0)}}class Nn{constructor(e,t){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=e,"string"==typeof t?(this._templateSource=t,this._isTemplateById=!1):t&&(this._initialOptions=t)}useTemplate(e){return this._templateSource=e,this._isTemplateById=!1,this._initialOptions=null,this}useTemplateId(e){return this._templateSource=e,this._isTemplateById=!0,this._initialOptions=null,this}useStyle(e){return this._styleSource=e,this._isStyleById=!1,this}useStyleId(e){return this._styleSource=e,this._isStyleById=!0,this}useBorder(e){return this._borderSource=e,this._isBorderById=!1,this}useBorderId(e){return this._borderSource=e,this._isBorderById=!0,this}useImage(e,t){return this._imageSource=e,this._imageOverride=!!t?.override,this}useData(e,t){return this._dataSource=e,this._dataOverride=!!t?.override,this}useText(e,t){return this._textSource=e,this._isTextById=!1,this._textOverride=!!t?.override,this._initialOptions=null,this}useTextId(e,t){return this._textSource=e,this._isTextById=!0,this._textOverride=!!t?.override,this._initialOptions=null,this}useOptions(e,t){return this._optionsSource=e,this._optionsOverride=!!t?.override,this._initialOptions=null,this}useId(e){return this._idSource=e,this._initialOptions=null,this}useName(e){return this._nameSource=e,this._initialOptions=null,this}useDescription(e){return this._descriptionSource=e,this._initialOptions=null,this}useMetadata(e){return this._metadataSource=e,this._initialOptions=null,this}useSettings(e){return this._initialOptions=null,void 0!==e.id&&(this._idSource=e.id),void 0!==e.name&&(this._nameSource=e.name),void 0!==e.description&&(this._descriptionSource=e.description),void 0!==e.metadata&&(this._metadataSource=e.metadata),e.templateId?(this._templateSource=e.templateId,this._isTemplateById=!0):e.template&&(this._templateSource=e.template,this._isTemplateById=!1),e.borderId?(this._borderSource=e.borderId,this._isBorderById=!0):e.border&&(e.border,this._borderSource=e.border,this._isBorderById=!1),this._textOverride||(e.textId?(this._textSource=e.textId,this._isTextById=!0):e.text&&(this._textSource=e.text,this._isTextById=!1)),e.style?(this._styleSource=e.style,this._isStyleById=!1):e.styleId&&(this._styleSource=e.styleId,this._isStyleById=!0),this._imageOverride||e.image&&(this._imageSource=e.image,this._imageOverride=!1),this._dataOverride||e.data&&(this._dataSource=e.data,this._dataOverride=!1),this._optionsOverride||e.options&&(this._optionsSource=e.options),this._initialOptions=null,this}_resolveAndMergeConfig(e={}){let t={};t=this._initialOptions?S({},this._initialOptions):S({},qe);let o=null;if(this._templateSource&&"string"==typeof this._templateSource){const e=(this._isTemplateById?Ko:Uo)(this._templateSource);if(e)o=e.options;else{const e=this._isTemplateById?"ID":"name";console.warn(`QR Code template ${e} "${this._templateSource}" not found. Using base template.`)}}else this._templateSource&&"string"!=typeof this._templateSource&&(o=this._templateSource);o&&(t=S(t,o));let r=null;if(this._borderSource)if("string"==typeof this._borderSource){const e=(this._isBorderById?Fr:_r)(this._borderSource);if(e)r=e.options;else{const e=this._isBorderById?"ID":"name";console.warn(`QR Code border ${e} "${this._borderSource}" not found. Ignoring.`)}}else r={borderOptions:this._borderSource};r&&(t=S(t,r));let n=null;if(this._textSource&&!this._textOverride){let e=null;if("string"==typeof this._textSource){const t=(this._isTextById?Ur:zr)(this._textSource);if(t)e=t.options;else{const e=this._isTextById?"ID":"name";console.warn(`QR Code text template ${e} "${this._textSource}" not found. Ignoring.`)}}else e=this._textSource;if(e){n={borderOptions:{decorations:{}}};const t=n.borderOptions.decorations,o=null===e.value?void 0:e.value;void 0!==e.value&&(void 0===e.topValue&&(t.top={value:o}),void 0===e.bottomValue&&(t.bottom={value:o}),void 0===e.leftValue&&(t.left={value:o}),void 0===e.rightValue&&(t.right={value:o})),void 0!==e.topValue&&(t.top={value:null===e.topValue?void 0:e.topValue}),void 0!==e.leftValue&&(t.left={value:null===e.leftValue?void 0:e.leftValue}),void 0!==e.rightValue&&(t.right={value:null===e.rightValue?void 0:e.rightValue}),void 0!==e.bottomValue&&(t.bottom={value:null===e.bottomValue?void 0:e.bottomValue})}}n&&(t=S(t,n));let i=null;if(this._styleSource)if("string"==typeof this._styleSource){const e=(this._isStyleById?Cr:Sr)(this._styleSource);if(e)i=e.style;else{const e=this._isStyleById?"ID":"name";console.warn(`QR Code style ${e} "${this._styleSource}" not found. Ignoring.`)}}else{const{isValid:e,errors:t}=Ae(this._styleSource);e?i=this._styleSource:console.warn("Invalid style options object provided:",t)}if(i){t=S(t,ve(i))}if(this._imageSource&&!this._imageOverride&&(t=S(t,{image:this._imageSource})),this._dataSource&&!this._dataOverride&&(t=S(t,{data:this._dataSource})),this._optionsSource&&!this._optionsOverride&&(t=S(t,this._optionsSource)),t=S(t,e),this._imageOverride&&this._imageSource&&(t=S(t,{image:this._imageSource})),this._textOverride&&this._textSource){const e={borderOptions:{decorations:{}}};let o=null;if("string"==typeof this._textSource){const e=(this._isTextById?Ur:zr)(this._textSource);e&&(o=e.options)}else o=this._textSource;if(o){const r=e.borderOptions.decorations,n=null===o.value?void 0:o.value;void 0!==o.value&&(void 0===o.topValue&&(r.top={value:n}),void 0===o.bottomValue&&(r.bottom={value:n}),void 0===o.leftValue&&(r.left={value:n}),void 0===o.rightValue&&(r.right={value:n})),void 0!==o.topValue&&(r.top={value:null===o.topValue?void 0:o.topValue}),void 0!==o.leftValue&&(r.left={value:null===o.leftValue?void 0:o.leftValue}),void 0!==o.rightValue&&(r.right={value:null===o.rightValue?void 0:o.rightValue}),void 0!==o.bottomValue&&(r.bottom={value:null===o.bottomValue?void 0:o.bottomValue}),t=S(t,e)}}return this._dataOverride&&this._dataSource&&(t=S(t,{data:this._dataSource})),this._optionsSource&&this._optionsOverride&&(t=S(t,this._optionsSource)),t}options(e){const t=this._resolveAndMergeConfig(e),o=new this._qrCodeConstructor(t);return null!==this._idSource&&o.setId(this._idSource),null!==this._nameSource&&o.setName(this._nameSource),null!==this._descriptionSource&&o.setDescription(this._descriptionSource),null!==this._metadataSource&&o.setMetadata(this._metadataSource),o}build(){const e=this._resolveAndMergeConfig(),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}}"undefined"!=typeof window&&(window.QRCodeJs=_n,window.__=Fn);export{G as CornerDotType,X as CornerSquareType,L as DotType,f as ErrorCorrectionLevel,Y as GradientType,F as ImageMode,g as Mode,Nn as QRCodeBuilder,_n as QRCodeJs,Yn as STORAGE_KEY,_ as ShapeType,m as TypeNumber,Fn as _};