@drop-africa/drop-js 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/drop.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"drop.js","sources":["../src/status-map.ts","../src/errors.ts","../src/poller.ts","../node_modules/qr-code-styling/lib/qr-code-styling.js","../src/assets/logo-icon.ts","../src/qr.ts","../src/validator.ts","../src/index.ts"],"sourcesContent":["import type { DropPaymentStatus } from \"./types\";\r\n\r\nconst STATUS_MAP: Record<string, DropPaymentStatus> = {\r\n PaymentInitiated: \"initiated\",\r\n PaymentPending: \"pending\",\r\n PaymentSucceeded: \"succeeded\",\r\n PaymentFailed: \"failed\",\r\n PaymentCancelled: \"cancelled\",\r\n PaymentExpired: \"expired\",\r\n};\r\n\r\nconst TERMINAL_STATUSES: Set<DropPaymentStatus> = new Set([\r\n \"succeeded\",\r\n \"failed\",\r\n \"cancelled\",\r\n \"expired\",\r\n]);\r\n\r\nexport function mapStatus(backendStatus: string): DropPaymentStatus | null {\r\n return STATUS_MAP[backendStatus] ?? null;\r\n}\r\n\r\nexport function isTerminal(status: DropPaymentStatus): boolean {\r\n return TERMINAL_STATUSES.has(status);\r\n}\r\n","import type { DropError, DropErrorCode } from \"./types\";\r\n\r\nexport function createError(\r\n code: DropErrorCode,\r\n message: string,\r\n retryable: boolean,\r\n): DropError {\r\n return { code, message, retryable };\r\n}\r\n\r\nexport function fromHttpStatus(status: number, message?: string): DropError {\r\n switch (status) {\r\n case 401:\r\n return createError(\"AUTH_ERROR\", message ?? \"Invalid client secret.\", false);\r\n case 404:\r\n return createError(\"NOT_FOUND\", message ?? \"Payment intent not found.\", false);\r\n case 429:\r\n return createError(\"RATE_LIMITED\", message ?? \"Rate limited. Retrying.\", true);\r\n default:\r\n return createError(\"UNKNOWN\", message ?? `Unexpected status: ${status}`, true);\r\n }\r\n}\r\n\r\nexport function networkError(message: string): DropError {\r\n return createError(\"NETWORK_ERROR\", message, true);\r\n}\r\n","import type { DropError, DropPaymentStatus, StatusResponse } from \"./types\";\r\nimport { mapStatus, isTerminal } from \"./status-map\";\r\nimport { fromHttpStatus, networkError } from \"./errors\";\r\n\r\nconst DEFAULT_INTERVAL = 3000;\r\nconst BACKOFF_MULTIPLIER = 1.5;\r\nconst MAX_INTERVAL = 30000;\r\nconst MAX_CONSECUTIVE_FAILURES = 5;\r\nconst EXPIRY_GRACE_MS = 30000;\r\n\r\nexport interface PollerConfig {\r\n apiBaseUrl: string;\r\n paymentAccountId: string;\r\n paymentIntentId: string;\r\n clientSecret: string;\r\n queryString?: string;\r\n pollingInterval?: number;\r\n onStatusChange: (status: DropPaymentStatus) => void;\r\n onError: (error: DropError) => void;\r\n onPoll?: () => void;\r\n}\r\n\r\nexport class Poller {\r\n private interval = DEFAULT_INTERVAL;\r\n private timer: ReturnType<typeof setTimeout> | null = null;\r\n private destroyed = false;\r\n private consecutiveFailures = 0;\r\n private currentStatus: DropPaymentStatus = \"initiated\";\r\n private expiresAt: Date | null = null;\r\n private readonly config: PollerConfig;\r\n\r\n constructor(config: PollerConfig) {\r\n this.config = config;\r\n if (config.pollingInterval) {\r\n this.interval = config.pollingInterval;\r\n }\r\n }\r\n\r\n start(): void {\r\n this.poll();\r\n }\r\n\r\n stop(): void {\r\n this.destroyed = true;\r\n if (this.timer !== null) {\r\n clearTimeout(this.timer);\r\n this.timer = null;\r\n }\r\n }\r\n\r\n getStatus(): DropPaymentStatus {\r\n return this.currentStatus;\r\n }\r\n\r\n private async poll(): Promise<void> {\r\n if (this.destroyed) return;\r\n\r\n this.config.onPoll?.();\r\n\r\n if (this.isExpired()) {\r\n this.emitStatus(\"expired\");\r\n return;\r\n }\r\n\r\n try {\r\n const response = await this.fetchStatus();\r\n\r\n if (response.ok) {\r\n this.consecutiveFailures = 0;\r\n this.interval = DEFAULT_INTERVAL;\r\n\r\n const data: StatusResponse = await response.json();\r\n this.expiresAt = new Date(data.expiresAt);\r\n\r\n const mapped = mapStatus(data.status);\r\n if (mapped && mapped !== this.currentStatus) {\r\n this.emitStatus(mapped);\r\n if (isTerminal(mapped)) return;\r\n }\r\n } else if (response.status === 429) {\r\n const retryAfter = response.headers.get(\"Retry-After\");\r\n if (retryAfter) {\r\n const seconds = parseInt(retryAfter, 10);\r\n if (!isNaN(seconds)) {\r\n this.interval = seconds * 1000;\r\n }\r\n } else {\r\n this.applyBackoff();\r\n }\r\n this.config.onError(fromHttpStatus(429));\r\n } else if (response.status === 401 || response.status === 404) {\r\n this.config.onError(fromHttpStatus(response.status));\r\n return;\r\n } else {\r\n this.consecutiveFailures++;\r\n this.applyBackoff();\r\n this.config.onError(fromHttpStatus(response.status));\r\n\r\n if (this.consecutiveFailures >= MAX_CONSECUTIVE_FAILURES) {\r\n this.config.onError(\r\n fromHttpStatus(response.status, \"Max consecutive failures reached. Stopping.\"),\r\n );\r\n return;\r\n }\r\n }\r\n } catch {\r\n this.consecutiveFailures++;\r\n this.applyBackoff();\r\n this.config.onError(networkError(\"Network request failed.\"));\r\n\r\n if (this.consecutiveFailures >= MAX_CONSECUTIVE_FAILURES) {\r\n this.config.onError(\r\n networkError(\"Max consecutive failures reached. Stopping.\"),\r\n );\r\n return;\r\n }\r\n }\r\n\r\n this.scheduleNext();\r\n }\r\n\r\n private async fetchStatus(): Promise<Response> {\r\n const queryString = this.config.queryString || '';\r\n const url = `${this.config.apiBaseUrl}/payment-accounts/${this.config.paymentAccountId}/payment-intents/${this.config.paymentIntentId}/status${queryString}`;\r\n return fetch(url, {\r\n method: \"GET\",\r\n headers: {\r\n \"client-secret\": this.config.clientSecret,\r\n },\r\n });\r\n }\r\n\r\n private emitStatus(status: DropPaymentStatus): void {\r\n this.currentStatus = status;\r\n this.config.onStatusChange(status);\r\n }\r\n\r\n private applyBackoff(): void {\r\n this.interval = Math.min(this.interval * BACKOFF_MULTIPLIER, MAX_INTERVAL);\r\n }\r\n\r\n private isExpired(): boolean {\r\n if (!this.expiresAt) return false;\r\n return Date.now() > this.expiresAt.getTime() + EXPIRY_GRACE_MS;\r\n }\r\n\r\n private scheduleNext(): void {\r\n if (this.destroyed) return;\r\n this.timer = setTimeout(() => this.poll(), this.interval);\r\n }\r\n}\r\n","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.QRCodeStyling=e():t.QRCodeStyling=e()}(this,(()=>(()=>{var t={873:(t,e)=>{var i,r,n=function(){var t=function(t,e){var i=t,r=s[e],n=null,o=0,h=null,p=[],v={},m=function(t,e){n=function(t){for(var e=new Array(t),i=0;i<t;i+=1){e[i]=new Array(t);for(var r=0;r<t;r+=1)e[i][r]=null}return e}(o=4*i+17),b(0,0),b(o-7,0),b(0,o-7),x(),y(),C(t,e),i>=7&&S(t),null==h&&(h=M(i,r,p)),A(h,e)},b=function(t,e){for(var i=-1;i<=7;i+=1)if(!(t+i<=-1||o<=t+i))for(var r=-1;r<=7;r+=1)e+r<=-1||o<=e+r||(n[t+i][e+r]=0<=i&&i<=6&&(0==r||6==r)||0<=r&&r<=6&&(0==i||6==i)||2<=i&&i<=4&&2<=r&&r<=4)},y=function(){for(var t=8;t<o-8;t+=1)null==n[t][6]&&(n[t][6]=t%2==0);for(var e=8;e<o-8;e+=1)null==n[6][e]&&(n[6][e]=e%2==0)},x=function(){for(var t=a.getPatternPosition(i),e=0;e<t.length;e+=1)for(var r=0;r<t.length;r+=1){var o=t[e],s=t[r];if(null==n[o][s])for(var h=-2;h<=2;h+=1)for(var d=-2;d<=2;d+=1)n[o+h][s+d]=-2==h||2==h||-2==d||2==d||0==h&&0==d}},S=function(t){for(var e=a.getBCHTypeNumber(i),r=0;r<18;r+=1){var s=!t&&1==(e>>r&1);n[Math.floor(r/3)][r%3+o-8-3]=s}for(r=0;r<18;r+=1)s=!t&&1==(e>>r&1),n[r%3+o-8-3][Math.floor(r/3)]=s},C=function(t,e){for(var i=r<<3|e,s=a.getBCHTypeInfo(i),h=0;h<15;h+=1){var d=!t&&1==(s>>h&1);h<6?n[h][8]=d:h<8?n[h+1][8]=d:n[o-15+h][8]=d}for(h=0;h<15;h+=1)d=!t&&1==(s>>h&1),h<8?n[8][o-h-1]=d:h<9?n[8][15-h-1+1]=d:n[8][15-h-1]=d;n[o-8][8]=!t},A=function(t,e){for(var i=-1,r=o-1,s=7,h=0,d=a.getMaskFunction(e),u=o-1;u>0;u-=2)for(6==u&&(u-=1);;){for(var c=0;c<2;c+=1)if(null==n[r][u-c]){var l=!1;h<t.length&&(l=1==(t[h]>>>s&1)),d(r,u-c)&&(l=!l),n[r][u-c]=l,-1==(s-=1)&&(h+=1,s=7)}if((r+=i)<0||o<=r){r-=i,i=-i;break}}},M=function(t,e,i){for(var r=u.getRSBlocks(t,e),n=c(),o=0;o<i.length;o+=1){var s=i[o];n.put(s.getMode(),4),n.put(s.getLength(),a.getLengthInBits(s.getMode(),t)),s.write(n)}var h=0;for(o=0;o<r.length;o+=1)h+=r[o].dataCount;if(n.getLengthInBits()>8*h)throw\"code length overflow. (\"+n.getLengthInBits()+\">\"+8*h+\")\";for(n.getLengthInBits()+4<=8*h&&n.put(0,4);n.getLengthInBits()%8!=0;)n.putBit(!1);for(;!(n.getLengthInBits()>=8*h||(n.put(236,8),n.getLengthInBits()>=8*h));)n.put(17,8);return function(t,e){for(var i=0,r=0,n=0,o=new Array(e.length),s=new Array(e.length),h=0;h<e.length;h+=1){var u=e[h].dataCount,c=e[h].totalCount-u;r=Math.max(r,u),n=Math.max(n,c),o[h]=new Array(u);for(var l=0;l<o[h].length;l+=1)o[h][l]=255&t.getBuffer()[l+i];i+=u;var g=a.getErrorCorrectPolynomial(c),f=d(o[h],g.getLength()-1).mod(g);for(s[h]=new Array(g.getLength()-1),l=0;l<s[h].length;l+=1){var w=l+f.getLength()-s[h].length;s[h][l]=w>=0?f.getAt(w):0}}var p=0;for(l=0;l<e.length;l+=1)p+=e[l].totalCount;var v=new Array(p),_=0;for(l=0;l<r;l+=1)for(h=0;h<e.length;h+=1)l<o[h].length&&(v[_]=o[h][l],_+=1);for(l=0;l<n;l+=1)for(h=0;h<e.length;h+=1)l<s[h].length&&(v[_]=s[h][l],_+=1);return v}(n,r)};v.addData=function(t,e){var i=null;switch(e=e||\"Byte\"){case\"Numeric\":i=l(t);break;case\"Alphanumeric\":i=g(t);break;case\"Byte\":i=f(t);break;case\"Kanji\":i=w(t);break;default:throw\"mode:\"+e}p.push(i),h=null},v.isDark=function(t,e){if(t<0||o<=t||e<0||o<=e)throw t+\",\"+e;return n[t][e]},v.getModuleCount=function(){return o},v.make=function(){if(i<1){for(var t=1;t<40;t++){for(var e=u.getRSBlocks(t,r),n=c(),o=0;o<p.length;o++){var s=p[o];n.put(s.getMode(),4),n.put(s.getLength(),a.getLengthInBits(s.getMode(),t)),s.write(n)}var h=0;for(o=0;o<e.length;o++)h+=e[o].dataCount;if(n.getLengthInBits()<=8*h)break}i=t}m(!1,function(){for(var t=0,e=0,i=0;i<8;i+=1){m(!0,i);var r=a.getLostPoint(v);(0==i||t>r)&&(t=r,e=i)}return e}())},v.createTableTag=function(t,e){t=t||2;var i=\"\";i+='<table style=\"',i+=\" border-width: 0px; border-style: none;\",i+=\" border-collapse: collapse;\",i+=\" padding: 0px; margin: \"+(e=void 0===e?4*t:e)+\"px;\",i+='\">',i+=\"<tbody>\";for(var r=0;r<v.getModuleCount();r+=1){i+=\"<tr>\";for(var n=0;n<v.getModuleCount();n+=1)i+='<td style=\"',i+=\" border-width: 0px; border-style: none;\",i+=\" border-collapse: collapse;\",i+=\" padding: 0px; margin: 0px;\",i+=\" width: \"+t+\"px;\",i+=\" height: \"+t+\"px;\",i+=\" background-color: \",i+=v.isDark(r,n)?\"#000000\":\"#ffffff\",i+=\";\",i+='\"/>';i+=\"</tr>\"}return(i+=\"</tbody>\")+\"</table>\"},v.createSvgTag=function(t,e,i,r){var n={};\"object\"==typeof arguments[0]&&(t=(n=arguments[0]).cellSize,e=n.margin,i=n.alt,r=n.title),t=t||2,e=void 0===e?4*t:e,(i=\"string\"==typeof i?{text:i}:i||{}).text=i.text||null,i.id=i.text?i.id||\"qrcode-description\":null,(r=\"string\"==typeof r?{text:r}:r||{}).text=r.text||null,r.id=r.text?r.id||\"qrcode-title\":null;var o,s,a,h,d=v.getModuleCount()*t+2*e,u=\"\";for(h=\"l\"+t+\",0 0,\"+t+\" -\"+t+\",0 0,-\"+t+\"z \",u+='<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\"',u+=n.scalable?\"\":' width=\"'+d+'px\" height=\"'+d+'px\"',u+=' viewBox=\"0 0 '+d+\" \"+d+'\" ',u+=' preserveAspectRatio=\"xMinYMin meet\"',u+=r.text||i.text?' role=\"img\" aria-labelledby=\"'+$([r.id,i.id].join(\" \").trim())+'\"':\"\",u+=\">\",u+=r.text?'<title id=\"'+$(r.id)+'\">'+$(r.text)+\"</title>\":\"\",u+=i.text?'<description id=\"'+$(i.id)+'\">'+$(i.text)+\"</description>\":\"\",u+='<rect width=\"100%\" height=\"100%\" fill=\"white\" cx=\"0\" cy=\"0\"/>',u+='<path d=\"',s=0;s<v.getModuleCount();s+=1)for(a=s*t+e,o=0;o<v.getModuleCount();o+=1)v.isDark(s,o)&&(u+=\"M\"+(o*t+e)+\",\"+a+h);return(u+='\" stroke=\"transparent\" fill=\"black\"/>')+\"</svg>\"},v.createDataURL=function(t,e){t=t||2,e=void 0===e?4*t:e;var i=v.getModuleCount()*t+2*e,r=e,n=i-e;return _(i,i,(function(e,i){if(r<=e&&e<n&&r<=i&&i<n){var o=Math.floor((e-r)/t),s=Math.floor((i-r)/t);return v.isDark(s,o)?0:1}return 1}))},v.createImgTag=function(t,e,i){t=t||2,e=void 0===e?4*t:e;var r=v.getModuleCount()*t+2*e,n=\"\";return n+=\"<img\",n+=' src=\"',n+=v.createDataURL(t,e),n+='\"',n+=' width=\"',n+=r,n+='\"',n+=' height=\"',n+=r,n+='\"',i&&(n+=' alt=\"',n+=$(i),n+='\"'),n+\"/>\"};var $=function(t){for(var e=\"\",i=0;i<t.length;i+=1){var r=t.charAt(i);switch(r){case\"<\":e+=\"&lt;\";break;case\">\":e+=\"&gt;\";break;case\"&\":e+=\"&amp;\";break;case'\"':e+=\"&quot;\";break;default:e+=r}}return e};return v.createASCII=function(t,e){if((t=t||1)<2)return function(t){t=void 0===t?2:t;var e,i,r,n,o,s=1*v.getModuleCount()+2*t,a=t,h=s-t,d={\"██\":\"█\",\"█ \":\"▀\",\" █\":\"▄\",\" \":\" \"},u={\"██\":\"▀\",\"█ \":\"▀\",\" █\":\" \",\" \":\" \"},c=\"\";for(e=0;e<s;e+=2){for(r=Math.floor((e-a)/1),n=Math.floor((e+1-a)/1),i=0;i<s;i+=1)o=\"█\",a<=i&&i<h&&a<=e&&e<h&&v.isDark(r,Math.floor((i-a)/1))&&(o=\" \"),a<=i&&i<h&&a<=e+1&&e+1<h&&v.isDark(n,Math.floor((i-a)/1))?o+=\" \":o+=\"█\",c+=t<1&&e+1>=h?u[o]:d[o];c+=\"\\n\"}return s%2&&t>0?c.substring(0,c.length-s-1)+Array(s+1).join(\"▀\"):c.substring(0,c.length-1)}(e);t-=1,e=void 0===e?2*t:e;var i,r,n,o,s=v.getModuleCount()*t+2*e,a=e,h=s-e,d=Array(t+1).join(\"██\"),u=Array(t+1).join(\" \"),c=\"\",l=\"\";for(i=0;i<s;i+=1){for(n=Math.floor((i-a)/t),l=\"\",r=0;r<s;r+=1)o=1,a<=r&&r<h&&a<=i&&i<h&&v.isDark(n,Math.floor((r-a)/t))&&(o=0),l+=o?d:u;for(n=0;n<t;n+=1)c+=l+\"\\n\"}return c.substring(0,c.length-1)},v.renderTo2dContext=function(t,e){e=e||2;for(var i=v.getModuleCount(),r=0;r<i;r++)for(var n=0;n<i;n++)t.fillStyle=v.isDark(r,n)?\"black\":\"white\",t.fillRect(r*e,n*e,e,e)},v};t.stringToBytes=(t.stringToBytesFuncs={default:function(t){for(var e=[],i=0;i<t.length;i+=1){var r=t.charCodeAt(i);e.push(255&r)}return e}}).default,t.createStringToBytes=function(t,e){var i=function(){for(var i=v(t),r=function(){var t=i.read();if(-1==t)throw\"eof\";return t},n=0,o={};;){var s=i.read();if(-1==s)break;var a=r(),h=r()<<8|r();o[String.fromCharCode(s<<8|a)]=h,n+=1}if(n!=e)throw n+\" != \"+e;return o}(),r=\"?\".charCodeAt(0);return function(t){for(var e=[],n=0;n<t.length;n+=1){var o=t.charCodeAt(n);if(o<128)e.push(o);else{var s=i[t.charAt(n)];\"number\"==typeof s?(255&s)==s?e.push(s):(e.push(s>>>8),e.push(255&s)):e.push(r)}}return e}};var e,i,r,n,o,s={L:1,M:0,Q:3,H:2},a=(e=[[],[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]],i=1335,r=7973,o=function(t){for(var e=0;0!=t;)e+=1,t>>>=1;return e},(n={}).getBCHTypeInfo=function(t){for(var e=t<<10;o(e)-o(i)>=0;)e^=i<<o(e)-o(i);return 21522^(t<<10|e)},n.getBCHTypeNumber=function(t){for(var e=t<<12;o(e)-o(r)>=0;)e^=r<<o(e)-o(r);return t<<12|e},n.getPatternPosition=function(t){return e[t-1]},n.getMaskFunction=function(t){switch(t){case 0:return function(t,e){return(t+e)%2==0};case 1:return function(t,e){return t%2==0};case 2:return function(t,e){return e%3==0};case 3:return function(t,e){return(t+e)%3==0};case 4:return function(t,e){return(Math.floor(t/2)+Math.floor(e/3))%2==0};case 5:return function(t,e){return t*e%2+t*e%3==0};case 6:return function(t,e){return(t*e%2+t*e%3)%2==0};case 7:return function(t,e){return(t*e%3+(t+e)%2)%2==0};default:throw\"bad maskPattern:\"+t}},n.getErrorCorrectPolynomial=function(t){for(var e=d([1],0),i=0;i<t;i+=1)e=e.multiply(d([1,h.gexp(i)],0));return e},n.getLengthInBits=function(t,e){if(1<=e&&e<10)switch(t){case 1:return 10;case 2:return 9;case 4:case 8:return 8;default:throw\"mode:\"+t}else if(e<27)switch(t){case 1:return 12;case 2:return 11;case 4:return 16;case 8:return 10;default:throw\"mode:\"+t}else{if(!(e<41))throw\"type:\"+e;switch(t){case 1:return 14;case 2:return 13;case 4:return 16;case 8:return 12;default:throw\"mode:\"+t}}},n.getLostPoint=function(t){for(var e=t.getModuleCount(),i=0,r=0;r<e;r+=1)for(var n=0;n<e;n+=1){for(var o=0,s=t.isDark(r,n),a=-1;a<=1;a+=1)if(!(r+a<0||e<=r+a))for(var h=-1;h<=1;h+=1)n+h<0||e<=n+h||0==a&&0==h||s==t.isDark(r+a,n+h)&&(o+=1);o>5&&(i+=3+o-5)}for(r=0;r<e-1;r+=1)for(n=0;n<e-1;n+=1){var d=0;t.isDark(r,n)&&(d+=1),t.isDark(r+1,n)&&(d+=1),t.isDark(r,n+1)&&(d+=1),t.isDark(r+1,n+1)&&(d+=1),0!=d&&4!=d||(i+=3)}for(r=0;r<e;r+=1)for(n=0;n<e-6;n+=1)t.isDark(r,n)&&!t.isDark(r,n+1)&&t.isDark(r,n+2)&&t.isDark(r,n+3)&&t.isDark(r,n+4)&&!t.isDark(r,n+5)&&t.isDark(r,n+6)&&(i+=40);for(n=0;n<e;n+=1)for(r=0;r<e-6;r+=1)t.isDark(r,n)&&!t.isDark(r+1,n)&&t.isDark(r+2,n)&&t.isDark(r+3,n)&&t.isDark(r+4,n)&&!t.isDark(r+5,n)&&t.isDark(r+6,n)&&(i+=40);var u=0;for(n=0;n<e;n+=1)for(r=0;r<e;r+=1)t.isDark(r,n)&&(u+=1);return i+Math.abs(100*u/e/e-50)/5*10},n),h=function(){for(var t=new Array(256),e=new Array(256),i=0;i<8;i+=1)t[i]=1<<i;for(i=8;i<256;i+=1)t[i]=t[i-4]^t[i-5]^t[i-6]^t[i-8];for(i=0;i<255;i+=1)e[t[i]]=i;return{glog:function(t){if(t<1)throw\"glog(\"+t+\")\";return e[t]},gexp:function(e){for(;e<0;)e+=255;for(;e>=256;)e-=255;return t[e]}}}();function d(t,e){if(void 0===t.length)throw t.length+\"/\"+e;var i=function(){for(var i=0;i<t.length&&0==t[i];)i+=1;for(var r=new Array(t.length-i+e),n=0;n<t.length-i;n+=1)r[n]=t[n+i];return r}(),r={getAt:function(t){return i[t]},getLength:function(){return i.length},multiply:function(t){for(var e=new Array(r.getLength()+t.getLength()-1),i=0;i<r.getLength();i+=1)for(var n=0;n<t.getLength();n+=1)e[i+n]^=h.gexp(h.glog(r.getAt(i))+h.glog(t.getAt(n)));return d(e,0)},mod:function(t){if(r.getLength()-t.getLength()<0)return r;for(var e=h.glog(r.getAt(0))-h.glog(t.getAt(0)),i=new Array(r.getLength()),n=0;n<r.getLength();n+=1)i[n]=r.getAt(n);for(n=0;n<t.getLength();n+=1)i[n]^=h.gexp(h.glog(t.getAt(n))+e);return d(i,0).mod(t)}};return r}var u=function(){var t=[[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]],e=function(t,e){var i={};return i.totalCount=t,i.dataCount=e,i},i={getRSBlocks:function(i,r){var n=function(e,i){switch(i){case s.L:return t[4*(e-1)+0];case s.M:return t[4*(e-1)+1];case s.Q:return t[4*(e-1)+2];case s.H:return t[4*(e-1)+3];default:return}}(i,r);if(void 0===n)throw\"bad rs block @ typeNumber:\"+i+\"/errorCorrectionLevel:\"+r;for(var o=n.length/3,a=[],h=0;h<o;h+=1)for(var d=n[3*h+0],u=n[3*h+1],c=n[3*h+2],l=0;l<d;l+=1)a.push(e(u,c));return a}};return i}(),c=function(){var t=[],e=0,i={getBuffer:function(){return t},getAt:function(e){var i=Math.floor(e/8);return 1==(t[i]>>>7-e%8&1)},put:function(t,e){for(var r=0;r<e;r+=1)i.putBit(1==(t>>>e-r-1&1))},getLengthInBits:function(){return e},putBit:function(i){var r=Math.floor(e/8);t.length<=r&&t.push(0),i&&(t[r]|=128>>>e%8),e+=1}};return i},l=function(t){var e=t,i={getMode:function(){return 1},getLength:function(t){return e.length},write:function(t){for(var i=e,n=0;n+2<i.length;)t.put(r(i.substring(n,n+3)),10),n+=3;n<i.length&&(i.length-n==1?t.put(r(i.substring(n,n+1)),4):i.length-n==2&&t.put(r(i.substring(n,n+2)),7))}},r=function(t){for(var e=0,i=0;i<t.length;i+=1)e=10*e+n(t.charAt(i));return e},n=function(t){if(\"0\"<=t&&t<=\"9\")return t.charCodeAt(0)-\"0\".charCodeAt(0);throw\"illegal char :\"+t};return i},g=function(t){var e=t,i={getMode:function(){return 2},getLength:function(t){return e.length},write:function(t){for(var i=e,n=0;n+1<i.length;)t.put(45*r(i.charAt(n))+r(i.charAt(n+1)),11),n+=2;n<i.length&&t.put(r(i.charAt(n)),6)}},r=function(t){if(\"0\"<=t&&t<=\"9\")return t.charCodeAt(0)-\"0\".charCodeAt(0);if(\"A\"<=t&&t<=\"Z\")return t.charCodeAt(0)-\"A\".charCodeAt(0)+10;switch(t){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\"illegal char :\"+t}};return i},f=function(e){var i=t.stringToBytes(e);return{getMode:function(){return 4},getLength:function(t){return i.length},write:function(t){for(var e=0;e<i.length;e+=1)t.put(i[e],8)}}},w=function(e){var i=t.stringToBytesFuncs.SJIS;if(!i)throw\"sjis not supported.\";!function(){var t=i(\"友\");if(2!=t.length||38726!=(t[0]<<8|t[1]))throw\"sjis not supported.\"}();var r=i(e),n={getMode:function(){return 8},getLength:function(t){return~~(r.length/2)},write:function(t){for(var e=r,i=0;i+1<e.length;){var n=(255&e[i])<<8|255&e[i+1];if(33088<=n&&n<=40956)n-=33088;else{if(!(57408<=n&&n<=60351))throw\"illegal char at \"+(i+1)+\"/\"+n;n-=49472}n=192*(n>>>8&255)+(255&n),t.put(n,13),i+=2}if(i<e.length)throw\"illegal char at \"+(i+1)}};return n},p=function(){var t=[],e={writeByte:function(e){t.push(255&e)},writeShort:function(t){e.writeByte(t),e.writeByte(t>>>8)},writeBytes:function(t,i,r){i=i||0,r=r||t.length;for(var n=0;n<r;n+=1)e.writeByte(t[n+i])},writeString:function(t){for(var i=0;i<t.length;i+=1)e.writeByte(t.charCodeAt(i))},toByteArray:function(){return t},toString:function(){var e=\"\";e+=\"[\";for(var i=0;i<t.length;i+=1)i>0&&(e+=\",\"),e+=t[i];return e+\"]\"}};return e},v=function(t){var e=t,i=0,r=0,n=0,o={read:function(){for(;n<8;){if(i>=e.length){if(0==n)return-1;throw\"unexpected end of file./\"+n}var t=e.charAt(i);if(i+=1,\"=\"==t)return n=0,-1;t.match(/^\\s$/)||(r=r<<6|s(t.charCodeAt(0)),n+=6)}var o=r>>>n-8&255;return n-=8,o}},s=function(t){if(65<=t&&t<=90)return t-65;if(97<=t&&t<=122)return t-97+26;if(48<=t&&t<=57)return t-48+52;if(43==t)return 62;if(47==t)return 63;throw\"c:\"+t};return o},_=function(t,e,i){for(var r=function(t,e){var i=t,r=e,n=new Array(t*e),o={setPixel:function(t,e,r){n[e*i+t]=r},write:function(t){t.writeString(\"GIF87a\"),t.writeShort(i),t.writeShort(r),t.writeByte(128),t.writeByte(0),t.writeByte(0),t.writeByte(0),t.writeByte(0),t.writeByte(0),t.writeByte(255),t.writeByte(255),t.writeByte(255),t.writeString(\",\"),t.writeShort(0),t.writeShort(0),t.writeShort(i),t.writeShort(r),t.writeByte(0);var e=s(2);t.writeByte(2);for(var n=0;e.length-n>255;)t.writeByte(255),t.writeBytes(e,n,255),n+=255;t.writeByte(e.length-n),t.writeBytes(e,n,e.length-n),t.writeByte(0),t.writeString(\";\")}},s=function(t){for(var e=1<<t,i=1+(1<<t),r=t+1,o=a(),s=0;s<e;s+=1)o.add(String.fromCharCode(s));o.add(String.fromCharCode(e)),o.add(String.fromCharCode(i));var h,d,u,c=p(),l=(h=c,d=0,u=0,{write:function(t,e){if(t>>>e!=0)throw\"length over\";for(;d+e>=8;)h.writeByte(255&(t<<d|u)),e-=8-d,t>>>=8-d,u=0,d=0;u|=t<<d,d+=e},flush:function(){d>0&&h.writeByte(u)}});l.write(e,r);var g=0,f=String.fromCharCode(n[g]);for(g+=1;g<n.length;){var w=String.fromCharCode(n[g]);g+=1,o.contains(f+w)?f+=w:(l.write(o.indexOf(f),r),o.size()<4095&&(o.size()==1<<r&&(r+=1),o.add(f+w)),f=w)}return l.write(o.indexOf(f),r),l.write(i,r),l.flush(),c.toByteArray()},a=function(){var t={},e=0,i={add:function(r){if(i.contains(r))throw\"dup key:\"+r;t[r]=e,e+=1},size:function(){return e},indexOf:function(e){return t[e]},contains:function(e){return void 0!==t[e]}};return i};return o}(t,e),n=0;n<e;n+=1)for(var o=0;o<t;o+=1)r.setPixel(o,n,i(o,n));var s=p();r.write(s);for(var a=function(){var t=0,e=0,i=0,r=\"\",n={},o=function(t){r+=String.fromCharCode(s(63&t))},s=function(t){if(t<0);else{if(t<26)return 65+t;if(t<52)return t-26+97;if(t<62)return t-52+48;if(62==t)return 43;if(63==t)return 47}throw\"n:\"+t};return n.writeByte=function(r){for(t=t<<8|255&r,e+=8,i+=1;e>=6;)o(t>>>e-6),e-=6},n.flush=function(){if(e>0&&(o(t<<6-e),t=0,e=0),i%3!=0)for(var n=3-i%3,s=0;s<n;s+=1)r+=\"=\"},n.toString=function(){return r},n}(),h=s.toByteArray(),d=0;d<h.length;d+=1)a.writeByte(h[d]);return a.flush(),\"data:image/gif;base64,\"+a};return t}();n.stringToBytesFuncs[\"UTF-8\"]=function(t){return function(t){for(var e=[],i=0;i<t.length;i++){var r=t.charCodeAt(i);r<128?e.push(r):r<2048?e.push(192|r>>6,128|63&r):r<55296||r>=57344?e.push(224|r>>12,128|r>>6&63,128|63&r):(i++,r=65536+((1023&r)<<10|1023&t.charCodeAt(i)),e.push(240|r>>18,128|r>>12&63,128|r>>6&63,128|63&r))}return e}(t)},void 0===(r=\"function\"==typeof(i=function(){return n})?i.apply(e,[]):i)||(t.exports=r)}},e={};function i(r){var n=e[r];if(void 0!==n)return n.exports;var o=e[r]={exports:{}};return t[r](o,o.exports,i),o.exports}i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},i.d=(t,e)=>{for(var r in e)i.o(e,r)&&!i.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var r={};return(()=>{\"use strict\";i.d(r,{default:()=>$});const t=t=>!!t&&\"object\"==typeof t&&!Array.isArray(t);function e(i,...r){if(!r.length)return i;const n=r.shift();return void 0!==n&&t(i)&&t(n)?(i=Object.assign({},i),Object.keys(n).forEach((r=>{const o=i[r],s=n[r];Array.isArray(o)&&Array.isArray(s)?i[r]=s:t(o)&&t(s)?i[r]=e(Object.assign({},o),s):i[r]=s})),e(i,...r)):i}function n(t,e){const i=document.createElement(\"a\");i.download=e,i.href=t,document.body.appendChild(i),i.click(),document.body.removeChild(i)}const o={L:.07,M:.15,Q:.25,H:.3};class s{constructor({svg:t,type:e,window:i}){this._svg=t,this._type=e,this._window=i}draw(t,e,i,r){let n;switch(this._type){case\"dots\":n=this._drawDot;break;case\"classy\":n=this._drawClassy;break;case\"classy-rounded\":n=this._drawClassyRounded;break;case\"rounded\":n=this._drawRounded;break;case\"extra-rounded\":n=this._drawExtraRounded;break;default:n=this._drawSquare}n.call(this,{x:t,y:e,size:i,getNeighbor:r})}_rotateFigure({x:t,y:e,size:i,rotation:r=0,draw:n}){var o;const s=t+i/2,a=e+i/2;n(),null===(o=this._element)||void 0===o||o.setAttribute(\"transform\",`rotate(${180*r/Math.PI},${s},${a})`)}_basicDot(t){const{size:e,x:i,y:r}=t;this._rotateFigure(Object.assign(Object.assign({},t),{draw:()=>{this._element=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"circle\"),this._element.setAttribute(\"cx\",String(i+e/2)),this._element.setAttribute(\"cy\",String(r+e/2)),this._element.setAttribute(\"r\",String(e/2))}}))}_basicSquare(t){const{size:e,x:i,y:r}=t;this._rotateFigure(Object.assign(Object.assign({},t),{draw:()=>{this._element=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"rect\"),this._element.setAttribute(\"x\",String(i)),this._element.setAttribute(\"y\",String(r)),this._element.setAttribute(\"width\",String(e)),this._element.setAttribute(\"height\",String(e))}}))}_basicSideRounded(t){const{size:e,x:i,y:r}=t;this._rotateFigure(Object.assign(Object.assign({},t),{draw:()=>{this._element=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"path\"),this._element.setAttribute(\"d\",`M ${i} ${r}v ${e}h `+e/2+`a ${e/2} ${e/2}, 0, 0, 0, 0 ${-e}`)}}))}_basicCornerRounded(t){const{size:e,x:i,y:r}=t;this._rotateFigure(Object.assign(Object.assign({},t),{draw:()=>{this._element=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"path\"),this._element.setAttribute(\"d\",`M ${i} ${r}v ${e}h ${e}v `+-e/2+`a ${e/2} ${e/2}, 0, 0, 0, ${-e/2} ${-e/2}`)}}))}_basicCornerExtraRounded(t){const{size:e,x:i,y:r}=t;this._rotateFigure(Object.assign(Object.assign({},t),{draw:()=>{this._element=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"path\"),this._element.setAttribute(\"d\",`M ${i} ${r}v ${e}h ${e}a ${e} ${e}, 0, 0, 0, ${-e} ${-e}`)}}))}_basicCornersRounded(t){const{size:e,x:i,y:r}=t;this._rotateFigure(Object.assign(Object.assign({},t),{draw:()=>{this._element=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"path\"),this._element.setAttribute(\"d\",`M ${i} ${r}v `+e/2+`a ${e/2} ${e/2}, 0, 0, 0, ${e/2} ${e/2}h `+e/2+\"v \"+-e/2+`a ${e/2} ${e/2}, 0, 0, 0, ${-e/2} ${-e/2}`)}}))}_drawDot({x:t,y:e,size:i}){this._basicDot({x:t,y:e,size:i,rotation:0})}_drawSquare({x:t,y:e,size:i}){this._basicSquare({x:t,y:e,size:i,rotation:0})}_drawRounded({x:t,y:e,size:i,getNeighbor:r}){const n=r?+r(-1,0):0,o=r?+r(1,0):0,s=r?+r(0,-1):0,a=r?+r(0,1):0,h=n+o+s+a;if(0!==h)if(h>2||n&&o||s&&a)this._basicSquare({x:t,y:e,size:i,rotation:0});else{if(2===h){let r=0;return n&&s?r=Math.PI/2:s&&o?r=Math.PI:o&&a&&(r=-Math.PI/2),void this._basicCornerRounded({x:t,y:e,size:i,rotation:r})}if(1===h){let r=0;return s?r=Math.PI/2:o?r=Math.PI:a&&(r=-Math.PI/2),void this._basicSideRounded({x:t,y:e,size:i,rotation:r})}}else this._basicDot({x:t,y:e,size:i,rotation:0})}_drawExtraRounded({x:t,y:e,size:i,getNeighbor:r}){const n=r?+r(-1,0):0,o=r?+r(1,0):0,s=r?+r(0,-1):0,a=r?+r(0,1):0,h=n+o+s+a;if(0!==h)if(h>2||n&&o||s&&a)this._basicSquare({x:t,y:e,size:i,rotation:0});else{if(2===h){let r=0;return n&&s?r=Math.PI/2:s&&o?r=Math.PI:o&&a&&(r=-Math.PI/2),void this._basicCornerExtraRounded({x:t,y:e,size:i,rotation:r})}if(1===h){let r=0;return s?r=Math.PI/2:o?r=Math.PI:a&&(r=-Math.PI/2),void this._basicSideRounded({x:t,y:e,size:i,rotation:r})}}else this._basicDot({x:t,y:e,size:i,rotation:0})}_drawClassy({x:t,y:e,size:i,getNeighbor:r}){const n=r?+r(-1,0):0,o=r?+r(1,0):0,s=r?+r(0,-1):0,a=r?+r(0,1):0;0!==n+o+s+a?n||s?o||a?this._basicSquare({x:t,y:e,size:i,rotation:0}):this._basicCornerRounded({x:t,y:e,size:i,rotation:Math.PI/2}):this._basicCornerRounded({x:t,y:e,size:i,rotation:-Math.PI/2}):this._basicCornersRounded({x:t,y:e,size:i,rotation:Math.PI/2})}_drawClassyRounded({x:t,y:e,size:i,getNeighbor:r}){const n=r?+r(-1,0):0,o=r?+r(1,0):0,s=r?+r(0,-1):0,a=r?+r(0,1):0;0!==n+o+s+a?n||s?o||a?this._basicSquare({x:t,y:e,size:i,rotation:0}):this._basicCornerExtraRounded({x:t,y:e,size:i,rotation:Math.PI/2}):this._basicCornerExtraRounded({x:t,y:e,size:i,rotation:-Math.PI/2}):this._basicCornersRounded({x:t,y:e,size:i,rotation:Math.PI/2})}}const a={dot:\"dot\",square:\"square\",extraRounded:\"extra-rounded\"},h=Object.values(a);class d{constructor({svg:t,type:e,window:i}){this._svg=t,this._type=e,this._window=i}draw(t,e,i,r){let n;switch(this._type){case a.square:n=this._drawSquare;break;case a.extraRounded:n=this._drawExtraRounded;break;default:n=this._drawDot}n.call(this,{x:t,y:e,size:i,rotation:r})}_rotateFigure({x:t,y:e,size:i,rotation:r=0,draw:n}){var o;const s=t+i/2,a=e+i/2;n(),null===(o=this._element)||void 0===o||o.setAttribute(\"transform\",`rotate(${180*r/Math.PI},${s},${a})`)}_basicDot(t){const{size:e,x:i,y:r}=t,n=e/7;this._rotateFigure(Object.assign(Object.assign({},t),{draw:()=>{this._element=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"path\"),this._element.setAttribute(\"clip-rule\",\"evenodd\"),this._element.setAttribute(\"d\",`M ${i+e/2} ${r}a ${e/2} ${e/2} 0 1 0 0.1 0zm 0 ${n}a ${e/2-n} ${e/2-n} 0 1 1 -0.1 0Z`)}}))}_basicSquare(t){const{size:e,x:i,y:r}=t,n=e/7;this._rotateFigure(Object.assign(Object.assign({},t),{draw:()=>{this._element=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"path\"),this._element.setAttribute(\"clip-rule\",\"evenodd\"),this._element.setAttribute(\"d\",`M ${i} ${r}v ${e}h ${e}v `+-e+\"z\"+`M ${i+n} ${r+n}h `+(e-2*n)+\"v \"+(e-2*n)+\"h \"+(2*n-e)+\"z\")}}))}_basicExtraRounded(t){const{size:e,x:i,y:r}=t,n=e/7;this._rotateFigure(Object.assign(Object.assign({},t),{draw:()=>{this._element=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"path\"),this._element.setAttribute(\"clip-rule\",\"evenodd\"),this._element.setAttribute(\"d\",`M ${i} ${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}`+`M ${i+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}`)}}))}_drawDot({x:t,y:e,size:i,rotation:r}){this._basicDot({x:t,y:e,size:i,rotation:r})}_drawSquare({x:t,y:e,size:i,rotation:r}){this._basicSquare({x:t,y:e,size:i,rotation:r})}_drawExtraRounded({x:t,y:e,size:i,rotation:r}){this._basicExtraRounded({x:t,y:e,size:i,rotation:r})}}const u={dot:\"dot\",square:\"square\"},c=Object.values(u);class l{constructor({svg:t,type:e,window:i}){this._svg=t,this._type=e,this._window=i}draw(t,e,i,r){let n;n=this._type===u.square?this._drawSquare:this._drawDot,n.call(this,{x:t,y:e,size:i,rotation:r})}_rotateFigure({x:t,y:e,size:i,rotation:r=0,draw:n}){var o;const s=t+i/2,a=e+i/2;n(),null===(o=this._element)||void 0===o||o.setAttribute(\"transform\",`rotate(${180*r/Math.PI},${s},${a})`)}_basicDot(t){const{size:e,x:i,y:r}=t;this._rotateFigure(Object.assign(Object.assign({},t),{draw:()=>{this._element=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"circle\"),this._element.setAttribute(\"cx\",String(i+e/2)),this._element.setAttribute(\"cy\",String(r+e/2)),this._element.setAttribute(\"r\",String(e/2))}}))}_basicSquare(t){const{size:e,x:i,y:r}=t;this._rotateFigure(Object.assign(Object.assign({},t),{draw:()=>{this._element=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"rect\"),this._element.setAttribute(\"x\",String(i)),this._element.setAttribute(\"y\",String(r)),this._element.setAttribute(\"width\",String(e)),this._element.setAttribute(\"height\",String(e))}}))}_drawDot({x:t,y:e,size:i,rotation:r}){this._basicDot({x:t,y:e,size:i,rotation:r})}_drawSquare({x:t,y:e,size:i,rotation:r}){this._basicSquare({x:t,y:e,size:i,rotation:r})}}const g=\"circle\",f=[[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]],w=[[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 p{constructor(t,e){this._roundSize=t=>this._options.dotsOptions.roundSize?Math.floor(t):t,this._window=e,this._element=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\"),this._element.setAttribute(\"width\",String(t.width)),this._element.setAttribute(\"height\",String(t.height)),this._element.setAttribute(\"xmlns:xlink\",\"http://www.w3.org/1999/xlink\"),t.dotsOptions.roundSize||this._element.setAttribute(\"shape-rendering\",\"crispEdges\"),this._element.setAttribute(\"viewBox\",`0 0 ${t.width} ${t.height}`),this._defs=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"defs\"),this._element.appendChild(this._defs),this._imageUri=t.image,this._instanceId=p.instanceCount++,this._options=t}get width(){return this._options.width}get height(){return this._options.height}getElement(){return this._element}async drawQR(t){const e=t.getModuleCount(),i=Math.min(this._options.width,this._options.height)-2*this._options.margin,r=this._options.shape===g?i/Math.sqrt(2):i,n=this._roundSize(r/e);let s={hideXDots:0,hideYDots:0,width:0,height:0};if(this._qr=t,this._options.image){if(await this.loadImage(),!this._image)return;const{imageOptions:t,qrOptions:i}=this._options,r=t.imageSize*o[i.errorCorrectionLevel],a=Math.floor(r*e*e);s=function({originalHeight:t,originalWidth:e,maxHiddenDots:i,maxHiddenAxisDots:r,dotSize:n}){const o={x:0,y:0},s={x:0,y:0};if(t<=0||e<=0||i<=0||n<=0)return{height:0,width:0,hideYDots:0,hideXDots:0};const a=t/e;return o.x=Math.floor(Math.sqrt(i/a)),o.x<=0&&(o.x=1),r&&r<o.x&&(o.x=r),o.x%2==0&&o.x--,s.x=o.x*n,o.y=1+2*Math.ceil((o.x*a-1)/2),s.y=Math.round(s.x*a),(o.y*o.x>i||r&&r<o.y)&&(r&&r<o.y?(o.y=r,o.y%2==0&&o.x--):o.y-=2,s.y=o.y*n,o.x=1+2*Math.ceil((o.y/a-1)/2),s.x=Math.round(s.y/a)),{height:s.y,width:s.x,hideYDots:o.y,hideXDots:o.x}}({originalWidth:this._image.width,originalHeight:this._image.height,maxHiddenDots:a,maxHiddenAxisDots:e-14,dotSize:n})}this.drawBackground(),this.drawDots(((t,i)=>{var r,n,o,a,h,d;return!(this._options.imageOptions.hideBackgroundDots&&t>=(e-s.hideYDots)/2&&t<(e+s.hideYDots)/2&&i>=(e-s.hideXDots)/2&&i<(e+s.hideXDots)/2||(null===(r=f[t])||void 0===r?void 0:r[i])||(null===(n=f[t-e+7])||void 0===n?void 0:n[i])||(null===(o=f[t])||void 0===o?void 0:o[i-e+7])||(null===(a=w[t])||void 0===a?void 0:a[i])||(null===(h=w[t-e+7])||void 0===h?void 0:h[i])||(null===(d=w[t])||void 0===d?void 0:d[i-e+7]))})),this.drawCorners(),this._options.image&&await this.drawImage({width:s.width,height:s.height,count:e,dotSize:n})}drawBackground(){var t,e,i;const r=this._element,n=this._options;if(r){const r=null===(t=n.backgroundOptions)||void 0===t?void 0:t.gradient,o=null===(e=n.backgroundOptions)||void 0===e?void 0:e.color;let s=n.height,a=n.width;if(r||o){const t=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"rect\");this._backgroundClipPath=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"clipPath\"),this._backgroundClipPath.setAttribute(\"id\",`clip-path-background-color-${this._instanceId}`),this._defs.appendChild(this._backgroundClipPath),(null===(i=n.backgroundOptions)||void 0===i?void 0:i.round)&&(s=a=Math.min(n.width,n.height),t.setAttribute(\"rx\",String(s/2*n.backgroundOptions.round))),t.setAttribute(\"x\",String(this._roundSize((n.width-a)/2))),t.setAttribute(\"y\",String(this._roundSize((n.height-s)/2))),t.setAttribute(\"width\",String(a)),t.setAttribute(\"height\",String(s)),this._backgroundClipPath.appendChild(t),this._createColor({options:r,color:o,additionalRotation:0,x:0,y:0,height:n.height,width:n.width,name:`background-color-${this._instanceId}`})}}}drawDots(t){var e,i;if(!this._qr)throw\"QR code is not defined\";const r=this._options,n=this._qr.getModuleCount();if(n>r.width||n>r.height)throw\"The canvas is too small.\";const o=Math.min(r.width,r.height)-2*r.margin,a=r.shape===g?o/Math.sqrt(2):o,h=this._roundSize(a/n),d=this._roundSize((r.width-n*h)/2),u=this._roundSize((r.height-n*h)/2),c=new s({svg:this._element,type:r.dotsOptions.type,window:this._window});this._dotsClipPath=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"clipPath\"),this._dotsClipPath.setAttribute(\"id\",`clip-path-dot-color-${this._instanceId}`),this._defs.appendChild(this._dotsClipPath),this._createColor({options:null===(e=r.dotsOptions)||void 0===e?void 0:e.gradient,color:r.dotsOptions.color,additionalRotation:0,x:0,y:0,height:r.height,width:r.width,name:`dot-color-${this._instanceId}`});for(let e=0;e<n;e++)for(let r=0;r<n;r++)t&&!t(e,r)||(null===(i=this._qr)||void 0===i?void 0:i.isDark(e,r))&&(c.draw(d+r*h,u+e*h,h,((i,o)=>!(r+i<0||e+o<0||r+i>=n||e+o>=n)&&!(t&&!t(e+o,r+i))&&!!this._qr&&this._qr.isDark(e+o,r+i))),c._element&&this._dotsClipPath&&this._dotsClipPath.appendChild(c._element));if(r.shape===g){const t=this._roundSize((o/h-n)/2),e=n+2*t,i=d-t*h,r=u-t*h,s=[],a=this._roundSize(e/2);for(let i=0;i<e;i++){s[i]=[];for(let r=0;r<e;r++)i>=t-1&&i<=e-t&&r>=t-1&&r<=e-t||Math.sqrt((i-a)*(i-a)+(r-a)*(r-a))>a?s[i][r]=0:s[i][r]=this._qr.isDark(r-2*t<0?r:r>=n?r-2*t:r-t,i-2*t<0?i:i>=n?i-2*t:i-t)?1:0}for(let t=0;t<e;t++)for(let n=0;n<e;n++)s[t][n]&&(c.draw(i+n*h,r+t*h,h,((e,i)=>{var r;return!!(null===(r=s[t+i])||void 0===r?void 0:r[n+e])})),c._element&&this._dotsClipPath&&this._dotsClipPath.appendChild(c._element))}}drawCorners(){if(!this._qr)throw\"QR code is not defined\";const t=this._element,e=this._options;if(!t)throw\"Element code is not defined\";const i=this._qr.getModuleCount(),r=Math.min(e.width,e.height)-2*e.margin,n=e.shape===g?r/Math.sqrt(2):r,o=this._roundSize(n/i),a=7*o,u=3*o,p=this._roundSize((e.width-i*o)/2),v=this._roundSize((e.height-i*o)/2);[[0,0,0],[1,0,Math.PI/2],[0,1,-Math.PI/2]].forEach((([t,r,n])=>{var g,_,m,b,y,x,S,C,A,M,$,O,D,k;const z=p+t*o*(i-7),B=v+r*o*(i-7);let P=this._dotsClipPath,I=this._dotsClipPath;if(((null===(g=e.cornersSquareOptions)||void 0===g?void 0:g.gradient)||(null===(_=e.cornersSquareOptions)||void 0===_?void 0:_.color))&&(P=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"clipPath\"),P.setAttribute(\"id\",`clip-path-corners-square-color-${t}-${r}-${this._instanceId}`),this._defs.appendChild(P),this._cornersSquareClipPath=this._cornersDotClipPath=I=P,this._createColor({options:null===(m=e.cornersSquareOptions)||void 0===m?void 0:m.gradient,color:null===(b=e.cornersSquareOptions)||void 0===b?void 0:b.color,additionalRotation:n,x:z,y:B,height:a,width:a,name:`corners-square-color-${t}-${r}-${this._instanceId}`})),(null===(y=e.cornersSquareOptions)||void 0===y?void 0:y.type)&&h.includes(e.cornersSquareOptions.type)){const t=new d({svg:this._element,type:e.cornersSquareOptions.type,window:this._window});t.draw(z,B,a,n),t._element&&P&&P.appendChild(t._element)}else{const t=new s({svg:this._element,type:(null===(x=e.cornersSquareOptions)||void 0===x?void 0:x.type)||e.dotsOptions.type,window:this._window});for(let e=0;e<f.length;e++)for(let i=0;i<f[e].length;i++)(null===(S=f[e])||void 0===S?void 0:S[i])&&(t.draw(z+i*o,B+e*o,o,((t,r)=>{var n;return!!(null===(n=f[e+r])||void 0===n?void 0:n[i+t])})),t._element&&P&&P.appendChild(t._element))}if(((null===(C=e.cornersDotOptions)||void 0===C?void 0:C.gradient)||(null===(A=e.cornersDotOptions)||void 0===A?void 0:A.color))&&(I=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"clipPath\"),I.setAttribute(\"id\",`clip-path-corners-dot-color-${t}-${r}-${this._instanceId}`),this._defs.appendChild(I),this._cornersDotClipPath=I,this._createColor({options:null===(M=e.cornersDotOptions)||void 0===M?void 0:M.gradient,color:null===($=e.cornersDotOptions)||void 0===$?void 0:$.color,additionalRotation:n,x:z+2*o,y:B+2*o,height:u,width:u,name:`corners-dot-color-${t}-${r}-${this._instanceId}`})),(null===(O=e.cornersDotOptions)||void 0===O?void 0:O.type)&&c.includes(e.cornersDotOptions.type)){const t=new l({svg:this._element,type:e.cornersDotOptions.type,window:this._window});t.draw(z+2*o,B+2*o,u,n),t._element&&I&&I.appendChild(t._element)}else{const t=new s({svg:this._element,type:(null===(D=e.cornersDotOptions)||void 0===D?void 0:D.type)||e.dotsOptions.type,window:this._window});for(let e=0;e<w.length;e++)for(let i=0;i<w[e].length;i++)(null===(k=w[e])||void 0===k?void 0:k[i])&&(t.draw(z+i*o,B+e*o,o,((t,r)=>{var n;return!!(null===(n=w[e+r])||void 0===n?void 0:n[i+t])})),t._element&&I&&I.appendChild(t._element))}}))}loadImage(){return new Promise(((t,e)=>{var i;const r=this._options;if(!r.image)return e(\"Image is not defined\");if(null===(i=r.nodeCanvas)||void 0===i?void 0:i.loadImage)r.nodeCanvas.loadImage(r.image).then((e=>{var i,n;if(this._image=e,this._options.imageOptions.saveAsBlob){const t=null===(i=r.nodeCanvas)||void 0===i?void 0:i.createCanvas(this._image.width,this._image.height);null===(n=null==t?void 0:t.getContext(\"2d\"))||void 0===n||n.drawImage(e,0,0),this._imageUri=null==t?void 0:t.toDataURL()}t()})).catch(e);else{const e=new this._window.Image;\"string\"==typeof r.imageOptions.crossOrigin&&(e.crossOrigin=r.imageOptions.crossOrigin),this._image=e,e.onload=async()=>{this._options.imageOptions.saveAsBlob&&(this._imageUri=await async function(t,e){return new Promise((i=>{const r=new e.XMLHttpRequest;r.onload=function(){const t=new e.FileReader;t.onloadend=function(){i(t.result)},t.readAsDataURL(r.response)},r.open(\"GET\",t),r.responseType=\"blob\",r.send()}))}(r.image||\"\",this._window)),t()},e.src=r.image}}))}async drawImage({width:t,height:e,count:i,dotSize:r}){const n=this._options,o=this._roundSize((n.width-i*r)/2),s=this._roundSize((n.height-i*r)/2),a=o+this._roundSize(n.imageOptions.margin+(i*r-t)/2),h=s+this._roundSize(n.imageOptions.margin+(i*r-e)/2),d=t-2*n.imageOptions.margin,u=e-2*n.imageOptions.margin,c=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"image\");c.setAttribute(\"href\",this._imageUri||\"\"),c.setAttribute(\"xlink:href\",this._imageUri||\"\"),c.setAttribute(\"x\",String(a)),c.setAttribute(\"y\",String(h)),c.setAttribute(\"width\",`${d}px`),c.setAttribute(\"height\",`${u}px`),this._element.appendChild(c)}_createColor({options:t,color:e,additionalRotation:i,x:r,y:n,height:o,width:s,name:a}){const h=s>o?s:o,d=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"rect\");if(d.setAttribute(\"x\",String(r)),d.setAttribute(\"y\",String(n)),d.setAttribute(\"height\",String(o)),d.setAttribute(\"width\",String(s)),d.setAttribute(\"clip-path\",`url('#clip-path-${a}')`),t){let e;if(\"radial\"===t.type)e=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"radialGradient\"),e.setAttribute(\"id\",a),e.setAttribute(\"gradientUnits\",\"userSpaceOnUse\"),e.setAttribute(\"fx\",String(r+s/2)),e.setAttribute(\"fy\",String(n+o/2)),e.setAttribute(\"cx\",String(r+s/2)),e.setAttribute(\"cy\",String(n+o/2)),e.setAttribute(\"r\",String(h/2));else{const h=((t.rotation||0)+i)%(2*Math.PI),d=(h+2*Math.PI)%(2*Math.PI);let u=r+s/2,c=n+o/2,l=r+s/2,g=n+o/2;d>=0&&d<=.25*Math.PI||d>1.75*Math.PI&&d<=2*Math.PI?(u-=s/2,c-=o/2*Math.tan(h),l+=s/2,g+=o/2*Math.tan(h)):d>.25*Math.PI&&d<=.75*Math.PI?(c-=o/2,u-=s/2/Math.tan(h),g+=o/2,l+=s/2/Math.tan(h)):d>.75*Math.PI&&d<=1.25*Math.PI?(u+=s/2,c+=o/2*Math.tan(h),l-=s/2,g-=o/2*Math.tan(h)):d>1.25*Math.PI&&d<=1.75*Math.PI&&(c+=o/2,u+=s/2/Math.tan(h),g-=o/2,l-=s/2/Math.tan(h)),e=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"linearGradient\"),e.setAttribute(\"id\",a),e.setAttribute(\"gradientUnits\",\"userSpaceOnUse\"),e.setAttribute(\"x1\",String(Math.round(u))),e.setAttribute(\"y1\",String(Math.round(c))),e.setAttribute(\"x2\",String(Math.round(l))),e.setAttribute(\"y2\",String(Math.round(g)))}t.colorStops.forEach((({offset:t,color:i})=>{const r=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"stop\");r.setAttribute(\"offset\",100*t+\"%\"),r.setAttribute(\"stop-color\",i),e.appendChild(r)})),d.setAttribute(\"fill\",`url('#${a}')`),this._defs.appendChild(e)}else e&&d.setAttribute(\"fill\",e);this._element.appendChild(d)}}p.instanceCount=0;const v=p,_=\"canvas\",m={};for(let t=0;t<=40;t++)m[t]=t;const b={type:_,shape:\"square\",width:300,height:300,data:\"\",margin:0,qrOptions:{typeNumber:m[0],mode:void 0,errorCorrectionLevel:\"Q\"},imageOptions:{saveAsBlob:!0,hideBackgroundDots:!0,imageSize:.4,crossOrigin:void 0,margin:0},dotsOptions:{type:\"square\",color:\"#000\",roundSize:!0},backgroundOptions:{round:0,color:\"#fff\"}};function y(t){const e=Object.assign({},t);if(!e.colorStops||!e.colorStops.length)throw\"Field 'colorStops' is required in gradient\";return e.rotation?e.rotation=Number(e.rotation):e.rotation=0,e.colorStops=e.colorStops.map((t=>Object.assign(Object.assign({},t),{offset:Number(t.offset)}))),e}function x(t){const e=Object.assign({},t);return e.width=Number(e.width),e.height=Number(e.height),e.margin=Number(e.margin),e.imageOptions=Object.assign(Object.assign({},e.imageOptions),{hideBackgroundDots:Boolean(e.imageOptions.hideBackgroundDots),imageSize:Number(e.imageOptions.imageSize),margin:Number(e.imageOptions.margin)}),e.margin>Math.min(e.width,e.height)&&(e.margin=Math.min(e.width,e.height)),e.dotsOptions=Object.assign({},e.dotsOptions),e.dotsOptions.gradient&&(e.dotsOptions.gradient=y(e.dotsOptions.gradient)),e.cornersSquareOptions&&(e.cornersSquareOptions=Object.assign({},e.cornersSquareOptions),e.cornersSquareOptions.gradient&&(e.cornersSquareOptions.gradient=y(e.cornersSquareOptions.gradient))),e.cornersDotOptions&&(e.cornersDotOptions=Object.assign({},e.cornersDotOptions),e.cornersDotOptions.gradient&&(e.cornersDotOptions.gradient=y(e.cornersDotOptions.gradient))),e.backgroundOptions&&(e.backgroundOptions=Object.assign({},e.backgroundOptions),e.backgroundOptions.gradient&&(e.backgroundOptions.gradient=y(e.backgroundOptions.gradient))),e}var S=i(873),C=i.n(S);function A(t){if(!t)throw new Error(\"Extension must be defined\");\".\"===t[0]&&(t=t.substring(1));const e={bmp:\"image/bmp\",gif:\"image/gif\",ico:\"image/vnd.microsoft.icon\",jpeg:\"image/jpeg\",jpg:\"image/jpeg\",png:\"image/png\",svg:\"image/svg+xml\",tif:\"image/tiff\",tiff:\"image/tiff\",webp:\"image/webp\",pdf:\"application/pdf\"}[t.toLowerCase()];if(!e)throw new Error(`Extension \"${t}\" is not supported`);return e}class M{constructor(t){(null==t?void 0:t.jsdom)?this._window=new t.jsdom(\"\",{resources:\"usable\"}).window:this._window=window,this._options=t?x(e(b,t)):b,this.update()}static _clearContainer(t){t&&(t.innerHTML=\"\")}_setupSvg(){if(!this._qr)return;const t=new v(this._options,this._window);this._svg=t.getElement(),this._svgDrawingPromise=t.drawQR(this._qr).then((()=>{var e;this._svg&&(null===(e=this._extension)||void 0===e||e.call(this,t.getElement(),this._options))}))}_setupCanvas(){var t,e;this._qr&&((null===(t=this._options.nodeCanvas)||void 0===t?void 0:t.createCanvas)?(this._nodeCanvas=this._options.nodeCanvas.createCanvas(this._options.width,this._options.height),this._nodeCanvas.width=this._options.width,this._nodeCanvas.height=this._options.height):(this._domCanvas=document.createElement(\"canvas\"),this._domCanvas.width=this._options.width,this._domCanvas.height=this._options.height),this._setupSvg(),this._canvasDrawingPromise=null===(e=this._svgDrawingPromise)||void 0===e?void 0:e.then((()=>{var t;if(!this._svg)return;const e=this._svg,i=(new this._window.XMLSerializer).serializeToString(e),r=btoa(i),n=`data:${A(\"svg\")};base64,${r}`;if(null===(t=this._options.nodeCanvas)||void 0===t?void 0:t.loadImage)return this._options.nodeCanvas.loadImage(n).then((t=>{var e,i;t.width=this._options.width,t.height=this._options.height,null===(i=null===(e=this._nodeCanvas)||void 0===e?void 0:e.getContext(\"2d\"))||void 0===i||i.drawImage(t,0,0)}));{const t=new this._window.Image;return new Promise((e=>{t.onload=()=>{var i,r;null===(r=null===(i=this._domCanvas)||void 0===i?void 0:i.getContext(\"2d\"))||void 0===r||r.drawImage(t,0,0),e()},t.src=n}))}})))}async _getElement(t=\"png\"){if(!this._qr)throw\"QR code is empty\";return\"svg\"===t.toLowerCase()?(this._svg&&this._svgDrawingPromise||this._setupSvg(),await this._svgDrawingPromise,this._svg):((this._domCanvas||this._nodeCanvas)&&this._canvasDrawingPromise||this._setupCanvas(),await this._canvasDrawingPromise,this._domCanvas||this._nodeCanvas)}update(t){M._clearContainer(this._container),this._options=t?x(e(this._options,t)):this._options,this._options.data&&(this._qr=C()(this._options.qrOptions.typeNumber,this._options.qrOptions.errorCorrectionLevel),this._qr.addData(this._options.data,this._options.qrOptions.mode||function(t){switch(!0){case/^[0-9]*$/.test(t):return\"Numeric\";case/^[0-9A-Z $%*+\\-./:]*$/.test(t):return\"Alphanumeric\";default:return\"Byte\"}}(this._options.data)),this._qr.make(),this._options.type===_?this._setupCanvas():this._setupSvg(),this.append(this._container))}append(t){if(t){if(\"function\"!=typeof t.appendChild)throw\"Container should be a single DOM node\";this._options.type===_?this._domCanvas&&t.appendChild(this._domCanvas):this._svg&&t.appendChild(this._svg),this._container=t}}applyExtension(t){if(!t)throw\"Extension function should be defined.\";this._extension=t,this.update()}deleteExtension(){this._extension=void 0,this.update()}async getRawData(t=\"png\"){if(!this._qr)throw\"QR code is empty\";const e=await this._getElement(t),i=A(t);if(!e)return null;if(\"svg\"===t.toLowerCase()){const t=`<?xml version=\"1.0\" standalone=\"no\"?>\\r\\n${(new this._window.XMLSerializer).serializeToString(e)}`;return\"undefined\"==typeof Blob||this._options.jsdom?Buffer.from(t):new Blob([t],{type:i})}return new Promise((t=>{const r=e;if(\"toBuffer\"in r)if(\"image/png\"===i)t(r.toBuffer(i));else if(\"image/jpeg\"===i)t(r.toBuffer(i));else{if(\"application/pdf\"!==i)throw Error(\"Unsupported extension\");t(r.toBuffer(i))}else\"toBlob\"in r&&r.toBlob(t,i,1)}))}async download(t){if(!this._qr)throw\"QR code is empty\";if(\"undefined\"==typeof Blob)throw\"Cannot download in Node.js, call getRawData instead.\";let e=\"png\",i=\"qr\";\"string\"==typeof t?(e=t,console.warn(\"Extension is deprecated as argument for 'download' method, please pass object { name: '...', extension: '...' } as argument\")):\"object\"==typeof t&&null!==t&&(t.name&&(i=t.name),t.extension&&(e=t.extension));const r=await this._getElement(e);if(r)if(\"svg\"===e.toLowerCase()){let t=(new XMLSerializer).serializeToString(r);t='<?xml version=\"1.0\" standalone=\"no\"?>\\r\\n'+t,n(`data:${A(e)};charset=utf-8,${encodeURIComponent(t)}`,`${i}.svg`)}else n(r.toDataURL(A(e)),`${i}.${e}`)}}const $=M})(),r.default})()));\n//# sourceMappingURL=qr-code-styling.js.map","// Auto-generated from logo.png (optimized for QR codes)\n// Original: 1024x1024, Optimized: 56x56\nexport const DROP_LOGO_PNG = `data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4BAMAAABaqCYtAAAAMFBMVEUKfmT+//8Bd1tSpJAginI7l4OgzcNxl0BjrZyQxbl6uas6ilTr9fOz18/R5+KbojH3wCiYAAAACXBIWXMAAAsTAAALEwEAmpwYAAABYklEQVR42mNgGKZACY+UggsTTqmIaWkZOGQjpmWZMHilKjCwBmHIuWWZKCkwKIVNUVJdhC7HNAMoBTLcdmnnBQydE0AyQAUKna2TFdB1TlVQUnBdZQQ0WSkSQzI2JGJazuJpDkA2pwO6sapps0yslJRTgEwtIwwXKSgpdSiAvak6CZtX3SBBoDQFm6TyVQVQSAU/VsAiyQQMAmAgZnVik+QusF0xbVaIkhY2Y+u3K3SFKClgDXrucu4CHFJAye8bCnBGNnt1QTVOye3/8Uiy19fjMXb79g04Jbm/45ZkUir/jlPONTTYBEg7YJNkEwSCJgaWd9g0JoIkLzHoCmKmTAYtkJxgEtNCLJIuNkCpM2eMlAVlMeRUzwDl5FwclHwEj2AEvTLITKAelouCRgxYJQXPvXsjKKmAQxIELjDglpRxwiMprIBHchEDbklZrMFubGxs0dHRYYC9RIAABYZRQAoAAMPFUF7XIspMAAAAAElFTkSuQmCC`;\n","import type { QROptions } from './types';\r\nimport QRCodeStyling from 'qr-code-styling';\r\nimport { DROP_LOGO_PNG } from './assets/logo-icon';\r\n\r\nfunction applyStyles(element: HTMLElement, styles: Record<string, string>): void {\r\n Object.entries(styles).forEach(([key, value]) => {\r\n (element.style as any)[key] = value;\r\n });\r\n}\r\n\r\nfunction convertColorToHex(color: string): string {\r\n if (color.startsWith('#')) {\r\n return color;\r\n }\r\n\r\n if (color.startsWith('rgb')) {\r\n const match = color.match(/rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+)/);\r\n if (match) {\r\n const r = parseInt(match[1]).toString(16).padStart(2, '0');\r\n const g = parseInt(match[2]).toString(16).padStart(2, '0');\r\n const b = parseInt(match[3]).toString(16).padStart(2, '0');\r\n return `#${r}${g}${b}`;\r\n }\r\n }\r\n\r\n if (color.startsWith('hsl')) {\r\n const match = color.match(/hsla?\\((\\d+),\\s*(\\d+)%,\\s*(\\d+)%/);\r\n if (match) {\r\n const h = parseInt(match[1]) / 360;\r\n const s = parseInt(match[2]) / 100;\r\n const l = parseInt(match[3]) / 100;\r\n\r\n let r, g, b;\r\n if (s === 0) {\r\n r = g = b = l;\r\n } else {\r\n const hue2rgb = (p: number, q: number, t: number) => {\r\n if (t < 0) t += 1;\r\n if (t > 1) t -= 1;\r\n if (t < 1/6) return p + (q - p) * 6 * t;\r\n if (t < 1/2) return q;\r\n if (t < 2/3) return p + (q - p) * (2/3 - t) * 6;\r\n return p;\r\n };\r\n\r\n const q = l < 0.5 ? l * (1 + s) : l + s - l * s;\r\n const p = 2 * l - q;\r\n r = hue2rgb(p, q, h + 1/3);\r\n g = hue2rgb(p, q, h);\r\n b = hue2rgb(p, q, h - 1/3);\r\n }\r\n\r\n const toHex = (x: number) => Math.round(x * 255).toString(16).padStart(2, '0');\r\n return `#${toHex(r)}${toHex(g)}${toHex(b)}`;\r\n }\r\n }\r\n\r\n return color;\r\n}\r\n\r\n\r\nfunction createLinkElement(url: string, size: number, labelText: string): HTMLDivElement {\r\n const container = document.createElement(\"div\");\r\n container.className = \"drop-payment-link\";\r\n applyStyles(container, {\r\n marginTop: \"16px\",\r\n width: `${size}px`,\r\n });\r\n\r\n const label = document.createElement(\"label\");\r\n label.className = \"drop-link-label\";\r\n label.textContent = labelText;\r\n applyStyles(label, {\r\n display: \"block\",\r\n fontSize: \"14px\",\r\n fontWeight: \"500\",\r\n color: \"hsl(160, 65%, 25%)\",\r\n marginBottom: \"8px\",\r\n fontFamily: \"system-ui, -apple-system, sans-serif\",\r\n });\r\n\r\n const inputWrapper = document.createElement(\"div\");\r\n inputWrapper.className = \"drop-link-input-wrapper\";\r\n applyStyles(inputWrapper, {\r\n position: \"relative\",\r\n });\r\n\r\n const input = document.createElement(\"input\");\r\n input.type = \"text\";\r\n input.readOnly = true;\r\n input.value = url;\r\n input.className = \"drop-link-input\";\r\n input.setAttribute(\"aria-label\", \"Payment link\");\r\n\r\n const hint = document.createElement(\"p\");\r\n hint.className = \"drop-link-hint\";\r\n hint.textContent = \"Tap to copy\";\r\n applyStyles(hint, {\r\n fontSize: \"12px\",\r\n color: \"hsl(160, 30%, 40%)\",\r\n marginTop: \"6px\",\r\n marginBottom: \"0\",\r\n fontFamily: \"system-ui, -apple-system, sans-serif\",\r\n });\r\n\r\n const copyToClipboard = async () => {\r\n input.select();\r\n\r\n try {\r\n if (navigator.clipboard && navigator.clipboard.writeText) {\r\n await navigator.clipboard.writeText(url);\r\n showCopyFeedback();\r\n } else {\r\n const success = document.execCommand(\"copy\");\r\n if (success) {\r\n showCopyFeedback();\r\n }\r\n }\r\n } catch (err) {\r\n document.execCommand(\"copy\");\r\n showCopyFeedback();\r\n }\r\n };\r\n\r\n const showCopyFeedback = () => {\r\n const originalText = hint.textContent;\r\n hint.textContent = \"✓ Copied to clipboard!\";\r\n applyStyles(hint, {\r\n color: \"hsl(160, 65%, 35%)\",\r\n fontWeight: \"500\",\r\n });\r\n\r\n setTimeout(() => {\r\n hint.textContent = originalText;\r\n applyStyles(hint, {\r\n color: \"hsl(160, 30%, 40%)\",\r\n fontWeight: \"normal\",\r\n });\r\n }, 2000);\r\n };\r\n\r\n input.addEventListener(\"click\", copyToClipboard);\r\n\r\n input.addEventListener(\"keydown\", (e) => {\r\n if (e.key === \"Enter\" || e.key === \" \") {\r\n e.preventDefault();\r\n copyToClipboard();\r\n }\r\n });\r\n\r\n applyStyles(input, {\r\n width: \"100%\",\r\n padding: \"12px\",\r\n fontSize: \"14px\",\r\n fontFamily: \"monospace\",\r\n border: \"2px solid hsl(160, 65%, 25%)\",\r\n borderRadius: \"8px\",\r\n backgroundColor: \"hsl(0, 0%, 98%)\",\r\n color: \"hsl(160, 65%, 25%)\",\r\n boxSizing: \"border-box\",\r\n cursor: \"pointer\",\r\n outline: \"none\",\r\n });\r\n\r\n input.addEventListener(\"focus\", () => {\r\n applyStyles(input, {\r\n borderColor: \"hsl(160, 65%, 35%)\",\r\n backgroundColor: \"hsl(160, 80%, 98%)\",\r\n });\r\n });\r\n\r\n input.addEventListener(\"blur\", () => {\r\n applyStyles(input, {\r\n borderColor: \"hsl(160, 65%, 25%)\",\r\n backgroundColor: \"hsl(0, 0%, 98%)\",\r\n });\r\n });\r\n\r\n inputWrapper.appendChild(input);\r\n container.appendChild(label);\r\n container.appendChild(inputWrapper);\r\n container.appendChild(hint);\r\n\r\n return container;\r\n}\r\n\r\nexport async function renderQR(\r\n container: HTMLElement,\r\n data: string,\r\n size: number,\r\n options: QROptions = {}\r\n): Promise<void> {\r\n const {\r\n moduleColor = \"hsl(160, 65%, 25%)\",\r\n backgroundColor = \"hsl(0, 0%, 98%)\",\r\n cornerRadius = 0,\r\n showCopyableLink = true,\r\n linkText = \"Or paste this link:\",\r\n } = options;\r\n\r\n const hexModuleColor = convertColorToHex(moduleColor);\r\n const hexBackgroundColor = convertColorToHex(backgroundColor);\r\n\r\n const logoPercentage = Math.sqrt(0.18);\r\n const imageMargin = Math.round(size * 0.03);\r\n\r\n const qrCode = new QRCodeStyling({\r\n width: size,\r\n height: size,\r\n type: \"svg\",\r\n data: data,\r\n image: DROP_LOGO_PNG,\r\n qrOptions: {\r\n errorCorrectionLevel: 'H'\r\n },\r\n dotsOptions: {\r\n color: hexModuleColor,\r\n type: cornerRadius > 0 ? \"rounded\" : \"square\"\r\n },\r\n backgroundOptions: {\r\n color: hexBackgroundColor,\r\n },\r\n imageOptions: {\r\n hideBackgroundDots: true,\r\n imageSize: logoPercentage,\r\n margin: imageMargin\r\n }\r\n });\r\n\r\n const wrapper = document.createElement(\"div\");\r\n wrapper.className = \"drop-payment-widget\";\r\n\r\n qrCode.append(wrapper);\r\n\r\n const svg = wrapper.querySelector(\"svg\");\r\n if (svg) {\r\n svg.setAttribute('role', 'img');\r\n svg.setAttribute('aria-label', 'Payment QR Code');\r\n }\r\n\r\n if (showCopyableLink) {\r\n const linkElement = createLinkElement(data, size, linkText);\r\n wrapper.appendChild(linkElement);\r\n }\r\n\r\n container.innerHTML = \"\";\r\n container.appendChild(wrapper);\r\n}\r\n","import type { DropConfig } from './types';\r\n\r\nexport class ValidationError extends Error {\r\n constructor(message: string) {\r\n super(message);\r\n this.name = 'ValidationError';\r\n }\r\n}\r\n\r\nexport function validateDropConfig(config: DropConfig): void {\r\n validateClientSecret(config.clientSecret);\r\n if (config.qrSize !== undefined) validateQRSize(config.qrSize);\r\n if (config.pollingInterval !== undefined) validatePollingInterval(config.pollingInterval);\r\n if (config.qrOptions) validateQROptions(config.qrOptions);\r\n if (config.linkText !== undefined) validateLinkText(config.linkText);\r\n validateCallbacks(config);\r\n}\r\n\r\nfunction validateClientSecret(clientSecret: string): void {\r\n if (!clientSecret || clientSecret.trim() === '') {\r\n throw new ValidationError('clientSecret is required and cannot be empty');\r\n }\r\n\r\n if (clientSecret.length < 10) {\r\n throw new ValidationError(\r\n `clientSecret must be at least 10 characters long. Received length: ${clientSecret.length}`\r\n );\r\n }\r\n\r\n if (!clientSecret.startsWith('pi_secret_')) {\r\n throw new ValidationError(\r\n \"clientSecret must start with 'pi_secret_'. Received: \" + clientSecret.substring(0, 10) + '...'\r\n );\r\n }\r\n}\r\n\r\nfunction validateQRSize(qrSize: number): void {\r\n if (typeof qrSize !== 'number' || isNaN(qrSize) || !isFinite(qrSize)) {\r\n throw new ValidationError(`qrSize must be a valid number. Received: ${qrSize}`);\r\n }\r\n\r\n if (qrSize < 128 || qrSize > 1024) {\r\n throw new ValidationError(\r\n `QR size must be between 128 and 1024 pixels. Received: ${qrSize}`\r\n );\r\n }\r\n}\r\n\r\nfunction validatePollingInterval(pollingInterval: number): void {\r\n if (typeof pollingInterval !== 'number' || isNaN(pollingInterval) || !isFinite(pollingInterval)) {\r\n throw new ValidationError(`pollingInterval must be a valid number. Received: ${pollingInterval}`);\r\n }\r\n\r\n if (pollingInterval < 1000 || pollingInterval > 60000) {\r\n throw new ValidationError(\r\n `pollingInterval must be between 1000 and 60000 milliseconds. Received: ${pollingInterval}`\r\n );\r\n }\r\n}\r\n\r\nfunction validateQROptions(qrOptions: DropConfig['qrOptions']): void {\r\n if (!qrOptions) return;\r\n\r\n if (qrOptions.cornerRadius !== undefined) {\r\n validateCornerRadius(qrOptions.cornerRadius);\r\n }\r\n\r\n if (qrOptions.moduleColor !== undefined) {\r\n validateColor(qrOptions.moduleColor, 'moduleColor');\r\n }\r\n\r\n if (qrOptions.backgroundColor !== undefined) {\r\n validateColor(qrOptions.backgroundColor, 'backgroundColor');\r\n }\r\n}\r\n\r\nfunction validateCornerRadius(cornerRadius: number): void {\r\n if (typeof cornerRadius !== 'number' || isNaN(cornerRadius) || !isFinite(cornerRadius)) {\r\n throw new ValidationError(`cornerRadius must be a valid number. Received: ${cornerRadius}`);\r\n }\r\n\r\n if (cornerRadius < 0 || cornerRadius > 1) {\r\n throw new ValidationError(\r\n `cornerRadius must be between 0 and 1. Received: ${cornerRadius}`\r\n );\r\n }\r\n}\r\n\r\nfunction validateColor(color: string, paramName: string): void {\r\n if (typeof color !== 'string') {\r\n throw new ValidationError(`${paramName} must be a string. Received: ${typeof color}`);\r\n }\r\n\r\n const hexPattern = /^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$/;\r\n const rgbPattern = /^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/;\r\n const rgbaPattern = /^rgba\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(0|1|0?\\.\\d+)\\s*\\)$/;\r\n const hslPattern = /^hsl\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})%\\s*,\\s*(\\d{1,3})%\\s*\\)$/;\r\n const hslaPattern = /^hsla\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})%\\s*,\\s*(\\d{1,3})%\\s*,\\s*(0|1|0?\\.\\d+)\\s*\\)$/;\r\n\r\n let isValidColor = hexPattern.test(color);\r\n\r\n if (!isValidColor) {\r\n const rgbMatch = color.match(rgbPattern);\r\n if (rgbMatch) {\r\n const [, r, g, b] = rgbMatch;\r\n isValidColor = parseInt(r) <= 255 && parseInt(g) <= 255 && parseInt(b) <= 255;\r\n }\r\n }\r\n\r\n if (!isValidColor) {\r\n const rgbaMatch = color.match(rgbaPattern);\r\n if (rgbaMatch) {\r\n const [, r, g, b] = rgbaMatch;\r\n isValidColor = parseInt(r) <= 255 && parseInt(g) <= 255 && parseInt(b) <= 255;\r\n }\r\n }\r\n\r\n if (!isValidColor) {\r\n const hslMatch = color.match(hslPattern);\r\n if (hslMatch) {\r\n const [, h, s, l] = hslMatch;\r\n isValidColor = parseInt(h) <= 360 && parseInt(s) <= 100 && parseInt(l) <= 100;\r\n }\r\n }\r\n\r\n if (!isValidColor) {\r\n const hslaMatch = color.match(hslaPattern);\r\n if (hslaMatch) {\r\n const [, h, s, l] = hslaMatch;\r\n isValidColor = parseInt(h) <= 360 && parseInt(s) <= 100 && parseInt(l) <= 100;\r\n }\r\n }\r\n\r\n if (!isValidColor) {\r\n throw new ValidationError(\r\n `${paramName} must be a valid color format (hex, rgb, rgba, hsl, or hsla). Received: ${color}`\r\n );\r\n }\r\n}\r\n\r\nfunction validateLinkText(linkText: string): void {\r\n if (typeof linkText !== 'string') {\r\n throw new ValidationError(`linkText must be a string. Received: ${typeof linkText}`);\r\n }\r\n\r\n if (linkText.length > 100) {\r\n throw new ValidationError(\r\n `linkText must be 100 characters or less. Received length: ${linkText.length}`\r\n );\r\n }\r\n}\r\n\r\nfunction validateCallbacks(config: DropConfig): void {\r\n if (config.onStatusChange !== undefined && typeof config.onStatusChange !== 'function') {\r\n throw new ValidationError(\r\n `onStatusChange must be a function if provided. Received: ${typeof config.onStatusChange}`\r\n );\r\n }\r\n\r\n if (config.onError !== undefined && typeof config.onError !== 'function') {\r\n throw new ValidationError(\r\n `onError must be a function if provided. Received: ${typeof config.onError}`\r\n );\r\n }\r\n\r\n if (config.onPoll !== undefined && typeof config.onPoll !== 'function') {\r\n throw new ValidationError(\r\n `onPoll must be a function if provided. Received: ${typeof config.onPoll}`\r\n );\r\n }\r\n}\r\n","import type { DropConfig, DropInstance, DropPaymentStatus } from \"./types\";\r\nimport { Poller } from \"./poller\";\r\nimport { renderQR } from \"./qr\";\r\nimport { validateDropConfig } from \"./validator\";\r\n\r\nconst DEFAULT_QR_SIZE = 256;\r\n\r\nfunction parseInstanceUrl(instanceUrl: string): {\r\n paymentAccountId: string;\r\n paymentIntentId: string;\r\n apiBaseUrl: string;\r\n queryString: string;\r\n} {\r\n const urlWithoutQuery = instanceUrl.split('?')[0].split('#')[0];\r\n const queryString = instanceUrl.includes('?')\r\n ? instanceUrl.substring(instanceUrl.indexOf('?'))\r\n : '';\r\n\r\nconst pattern = \r\n /\\/payment-accounts\\/([^/]+)\\/payment-intents\\/([^/]+)/;\r\n const match = urlWithoutQuery.match(pattern);\r\n\r\n if (!match) {\r\n throw new Error(\r\n \"Invalid instanceUrl format. Expected: .../payment-accounts/{id}/payment-intents/{id}\",\r\n );\r\n }\r\n\r\n const paymentAccountId = match[1];\r\n const paymentIntentId = match[2];\r\n const apiBaseUrl = urlWithoutQuery.substring(\r\n 0,\r\n urlWithoutQuery.indexOf(\"/payment-accounts/\"),\r\n );\r\n\r\n return { paymentAccountId, paymentIntentId, apiBaseUrl, queryString };\r\n}\r\n\r\nexport const Drop = {\r\n async create(config: DropConfig): Promise<DropInstance> {\r\n validateDropConfig(config);\r\n\r\n const {\r\n clientSecret,\r\n instanceUrl,\r\n containerId,\r\n qrSize = DEFAULT_QR_SIZE,\r\n pollingInterval,\r\n onStatusChange,\r\n onError,\r\n onPoll,\r\n } = config;\r\n\r\n const container = document.getElementById(containerId);\r\n if (!container) {\r\n throw new Error(`Element with id \"${containerId}\" not found.`);\r\n }\r\n\r\n const { paymentAccountId, paymentIntentId, apiBaseUrl: parsedApiBaseUrl, queryString } =\r\n parseInstanceUrl(instanceUrl);\r\n const apiBaseUrl = config.apiBaseUrl || parsedApiBaseUrl;\r\n\r\n const { qrOptions, showCopyableLink, linkText } = config;\r\n await renderQR(container, instanceUrl, qrSize, {\r\n ...qrOptions,\r\n showCopyableLink,\r\n linkText,\r\n });\r\n\r\n const poller = new Poller({\r\n apiBaseUrl,\r\n paymentAccountId,\r\n paymentIntentId,\r\n clientSecret,\r\n queryString,\r\n pollingInterval,\r\n onStatusChange: (status: DropPaymentStatus) => {\r\n onStatusChange?.(status);\r\n },\r\n onError: (error) => {\r\n onError?.(error);\r\n },\r\n onPoll: () => {\r\n onPoll?.();\r\n },\r\n });\r\n\r\n poller.start();\r\n\r\n return {\r\n destroy() {\r\n poller.stop();\r\n container.innerHTML = \"\";\r\n },\r\n getStatus(): DropPaymentStatus {\r\n return poller.getStatus();\r\n },\r\n };\r\n },\r\n};\r\n\r\nexport { renderQR } from \"./qr\";\r\nexport { ValidationError } from \"./validator\";\r\n\r\nexport type {\r\n DropConfig,\r\n DropInstance,\r\n DropPaymentStatus,\r\n DropError,\r\n DropErrorCode,\r\n QROptions,\r\n} from \"./types\";\r\n"],"names":["STATUS_MAP","TERMINAL_STATUSES","mapStatus","backendStatus","isTerminal","status","createError","code","message","retryable","fromHttpStatus","networkError","DEFAULT_INTERVAL","BACKOFF_MULTIPLIER","MAX_INTERVAL","MAX_CONSECUTIVE_FAILURES","EXPIRY_GRACE_MS","Poller","config","_a","_b","response","data","mapped","retryAfter","seconds","queryString","url","t","e","module","this","i","r","n","s","o","h","p","v","m","b","x","y","C","S","M","A","a","d","u","c","l","g","f","w","_","$","O","D","k","z","B","P","I","DROP_LOGO_PNG","applyStyles","element","styles","key","value","convertColorToHex","color","match","hue2rgb","q","toHex","createLinkElement","size","labelText","container","label","inputWrapper","input","hint","copyToClipboard","showCopyFeedback","originalText","renderQR","options","moduleColor","backgroundColor","cornerRadius","showCopyableLink","linkText","hexModuleColor","hexBackgroundColor","logoPercentage","imageMargin","qrCode","QRCodeStyling","wrapper","svg","linkElement","ValidationError","validateDropConfig","validateClientSecret","validateQRSize","validatePollingInterval","validateQROptions","validateLinkText","validateCallbacks","clientSecret","qrSize","pollingInterval","qrOptions","validateCornerRadius","validateColor","paramName","hexPattern","rgbPattern","rgbaPattern","hslPattern","hslaPattern","isValidColor","rgbMatch","rgbaMatch","hslMatch","hslaMatch","DEFAULT_QR_SIZE","parseInstanceUrl","instanceUrl","urlWithoutQuery","pattern","paymentAccountId","paymentIntentId","apiBaseUrl","Drop","containerId","onStatusChange","onError","onPoll","parsedApiBaseUrl","poller","error"],"mappings":"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E,GAAE,CAAC,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,IAAG,GAAE,KAAI,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,IAAG,GAAE,KAAI,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,IAAG,GAAE,KAAI,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,IAAG,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,IAAG,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,IAAG,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAA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","x_google_ignoreList":[3]}
1
+ {"version":3,"file":"drop.js","sources":["../src/status-map.ts","../src/errors.ts","../src/poller.ts","../node_modules/qr-code-styling/lib/qr-code-styling.js","../src/assets/logo-icon.ts","../src/qr.ts","../src/validator.ts","../src/types.ts","../src/index.ts"],"sourcesContent":["import type { DropPaymentStatus } from \"./types\";\r\n\r\nconst STATUS_MAP: Record<string, DropPaymentStatus> = {\r\n PaymentInitiated: \"initiated\",\r\n PaymentPending: \"pending\",\r\n PaymentSucceeded: \"succeeded\",\r\n PaymentFailed: \"failed\",\r\n PaymentCancelled: \"cancelled\",\r\n PaymentExpired: \"expired\",\r\n};\r\n\r\nconst TERMINAL_STATUSES: Set<DropPaymentStatus> = new Set([\r\n \"succeeded\",\r\n \"failed\",\r\n \"cancelled\",\r\n \"expired\",\r\n]);\r\n\r\nexport function mapStatus(backendStatus: string): DropPaymentStatus | null {\r\n return STATUS_MAP[backendStatus] ?? null;\r\n}\r\n\r\nexport function isTerminal(status: DropPaymentStatus): boolean {\r\n return TERMINAL_STATUSES.has(status);\r\n}\r\n","import type { DropError, DropErrorCode } from \"./types\";\r\n\r\nexport function createError(\r\n code: DropErrorCode,\r\n message: string,\r\n retryable: boolean,\r\n): DropError {\r\n return { code, message, retryable };\r\n}\r\n\r\nexport function fromHttpStatus(status: number, message?: string): DropError {\r\n switch (status) {\r\n case 401:\r\n return createError(\"AUTH_ERROR\", message ?? \"Invalid client secret.\", false);\r\n case 404:\r\n return createError(\"NOT_FOUND\", message ?? \"Payment intent not found.\", false);\r\n case 429:\r\n return createError(\"RATE_LIMITED\", message ?? \"Rate limited. Retrying.\", true);\r\n default:\r\n return createError(\"UNKNOWN\", message ?? `Unexpected status: ${status}`, true);\r\n }\r\n}\r\n\r\nexport function networkError(message: string): DropError {\r\n return createError(\"NETWORK_ERROR\", message, true);\r\n}\r\n","import type { DropError, DropPaymentStatus, StatusResponse } from \"./types\";\r\nimport { mapStatus, isTerminal } from \"./status-map\";\r\nimport { fromHttpStatus, networkError } from \"./errors\";\r\n\r\nconst DEFAULT_INTERVAL = 3000;\r\nconst BACKOFF_MULTIPLIER = 1.5;\r\nconst MAX_INTERVAL = 30000;\r\nconst MAX_CONSECUTIVE_FAILURES = 5;\r\nconst EXPIRY_GRACE_MS = 30000;\r\n\r\nexport interface PollerConfig {\r\n apiBaseUrl: string;\r\n paymentAccountId: string;\r\n paymentIntentId: string;\r\n clientSecret: string;\r\n queryString?: string;\r\n pollingInterval?: number;\r\n onStatusChange: (status: DropPaymentStatus) => void;\r\n onError: (error: DropError) => void;\r\n onPoll?: () => void;\r\n}\r\n\r\nexport class Poller {\r\n private interval = DEFAULT_INTERVAL;\r\n private timer: ReturnType<typeof setTimeout> | null = null;\r\n private destroyed = false;\r\n private consecutiveFailures = 0;\r\n private currentStatus: DropPaymentStatus = \"initiated\";\r\n private expiresAt: Date | null = null;\r\n private readonly config: PollerConfig;\r\n\r\n constructor(config: PollerConfig) {\r\n this.config = config;\r\n if (config.pollingInterval) {\r\n this.interval = config.pollingInterval;\r\n }\r\n }\r\n\r\n start(): void {\r\n this.poll();\r\n }\r\n\r\n stop(): void {\r\n this.destroyed = true;\r\n if (this.timer !== null) {\r\n clearTimeout(this.timer);\r\n this.timer = null;\r\n }\r\n }\r\n\r\n getStatus(): DropPaymentStatus {\r\n return this.currentStatus;\r\n }\r\n\r\n private async poll(): Promise<void> {\r\n if (this.destroyed) return;\r\n\r\n this.config.onPoll?.();\r\n\r\n if (this.isExpired()) {\r\n this.emitStatus(\"expired\");\r\n return;\r\n }\r\n\r\n try {\r\n const response = await this.fetchStatus();\r\n\r\n if (response.ok) {\r\n this.consecutiveFailures = 0;\r\n this.interval = DEFAULT_INTERVAL;\r\n\r\n const data: StatusResponse = await response.json();\r\n this.expiresAt = new Date(data.expiresAt);\r\n\r\n const mapped = mapStatus(data.status);\r\n if (mapped && mapped !== this.currentStatus) {\r\n this.emitStatus(mapped);\r\n if (isTerminal(mapped)) return;\r\n }\r\n } else if (response.status === 429) {\r\n const retryAfter = response.headers.get(\"Retry-After\");\r\n if (retryAfter) {\r\n const seconds = parseInt(retryAfter, 10);\r\n if (!isNaN(seconds)) {\r\n this.interval = seconds * 1000;\r\n }\r\n } else {\r\n this.applyBackoff();\r\n }\r\n this.config.onError(fromHttpStatus(429));\r\n } else if (response.status === 401 || response.status === 404) {\r\n this.config.onError(fromHttpStatus(response.status));\r\n return;\r\n } else {\r\n this.consecutiveFailures++;\r\n this.applyBackoff();\r\n this.config.onError(fromHttpStatus(response.status));\r\n\r\n if (this.consecutiveFailures >= MAX_CONSECUTIVE_FAILURES) {\r\n this.config.onError(\r\n fromHttpStatus(response.status, \"Max consecutive failures reached. Stopping.\"),\r\n );\r\n return;\r\n }\r\n }\r\n } catch {\r\n this.consecutiveFailures++;\r\n this.applyBackoff();\r\n this.config.onError(networkError(\"Network request failed.\"));\r\n\r\n if (this.consecutiveFailures >= MAX_CONSECUTIVE_FAILURES) {\r\n this.config.onError(\r\n networkError(\"Max consecutive failures reached. Stopping.\"),\r\n );\r\n return;\r\n }\r\n }\r\n\r\n this.scheduleNext();\r\n }\r\n\r\n private async fetchStatus(): Promise<Response> {\r\n const queryString = this.config.queryString || '';\r\n const url = `${this.config.apiBaseUrl}/payment-accounts/${this.config.paymentAccountId}/payment-intents/${this.config.paymentIntentId}/status${queryString}`;\r\n return fetch(url, {\r\n method: \"GET\",\r\n headers: {\r\n \"client-secret\": this.config.clientSecret,\r\n },\r\n });\r\n }\r\n\r\n private emitStatus(status: DropPaymentStatus): void {\r\n this.currentStatus = status;\r\n this.config.onStatusChange(status);\r\n }\r\n\r\n private applyBackoff(): void {\r\n this.interval = Math.min(this.interval * BACKOFF_MULTIPLIER, MAX_INTERVAL);\r\n }\r\n\r\n private isExpired(): boolean {\r\n if (!this.expiresAt) return false;\r\n return Date.now() > this.expiresAt.getTime() + EXPIRY_GRACE_MS;\r\n }\r\n\r\n private scheduleNext(): void {\r\n if (this.destroyed) return;\r\n this.timer = setTimeout(() => this.poll(), this.interval);\r\n }\r\n}\r\n","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.QRCodeStyling=e():t.QRCodeStyling=e()}(this,(()=>(()=>{var t={873:(t,e)=>{var i,r,n=function(){var t=function(t,e){var i=t,r=s[e],n=null,o=0,h=null,p=[],v={},m=function(t,e){n=function(t){for(var e=new Array(t),i=0;i<t;i+=1){e[i]=new Array(t);for(var r=0;r<t;r+=1)e[i][r]=null}return e}(o=4*i+17),b(0,0),b(o-7,0),b(0,o-7),x(),y(),C(t,e),i>=7&&S(t),null==h&&(h=M(i,r,p)),A(h,e)},b=function(t,e){for(var i=-1;i<=7;i+=1)if(!(t+i<=-1||o<=t+i))for(var r=-1;r<=7;r+=1)e+r<=-1||o<=e+r||(n[t+i][e+r]=0<=i&&i<=6&&(0==r||6==r)||0<=r&&r<=6&&(0==i||6==i)||2<=i&&i<=4&&2<=r&&r<=4)},y=function(){for(var t=8;t<o-8;t+=1)null==n[t][6]&&(n[t][6]=t%2==0);for(var e=8;e<o-8;e+=1)null==n[6][e]&&(n[6][e]=e%2==0)},x=function(){for(var t=a.getPatternPosition(i),e=0;e<t.length;e+=1)for(var r=0;r<t.length;r+=1){var o=t[e],s=t[r];if(null==n[o][s])for(var h=-2;h<=2;h+=1)for(var d=-2;d<=2;d+=1)n[o+h][s+d]=-2==h||2==h||-2==d||2==d||0==h&&0==d}},S=function(t){for(var e=a.getBCHTypeNumber(i),r=0;r<18;r+=1){var s=!t&&1==(e>>r&1);n[Math.floor(r/3)][r%3+o-8-3]=s}for(r=0;r<18;r+=1)s=!t&&1==(e>>r&1),n[r%3+o-8-3][Math.floor(r/3)]=s},C=function(t,e){for(var i=r<<3|e,s=a.getBCHTypeInfo(i),h=0;h<15;h+=1){var d=!t&&1==(s>>h&1);h<6?n[h][8]=d:h<8?n[h+1][8]=d:n[o-15+h][8]=d}for(h=0;h<15;h+=1)d=!t&&1==(s>>h&1),h<8?n[8][o-h-1]=d:h<9?n[8][15-h-1+1]=d:n[8][15-h-1]=d;n[o-8][8]=!t},A=function(t,e){for(var i=-1,r=o-1,s=7,h=0,d=a.getMaskFunction(e),u=o-1;u>0;u-=2)for(6==u&&(u-=1);;){for(var c=0;c<2;c+=1)if(null==n[r][u-c]){var l=!1;h<t.length&&(l=1==(t[h]>>>s&1)),d(r,u-c)&&(l=!l),n[r][u-c]=l,-1==(s-=1)&&(h+=1,s=7)}if((r+=i)<0||o<=r){r-=i,i=-i;break}}},M=function(t,e,i){for(var r=u.getRSBlocks(t,e),n=c(),o=0;o<i.length;o+=1){var s=i[o];n.put(s.getMode(),4),n.put(s.getLength(),a.getLengthInBits(s.getMode(),t)),s.write(n)}var h=0;for(o=0;o<r.length;o+=1)h+=r[o].dataCount;if(n.getLengthInBits()>8*h)throw\"code length overflow. (\"+n.getLengthInBits()+\">\"+8*h+\")\";for(n.getLengthInBits()+4<=8*h&&n.put(0,4);n.getLengthInBits()%8!=0;)n.putBit(!1);for(;!(n.getLengthInBits()>=8*h||(n.put(236,8),n.getLengthInBits()>=8*h));)n.put(17,8);return function(t,e){for(var i=0,r=0,n=0,o=new Array(e.length),s=new Array(e.length),h=0;h<e.length;h+=1){var u=e[h].dataCount,c=e[h].totalCount-u;r=Math.max(r,u),n=Math.max(n,c),o[h]=new Array(u);for(var l=0;l<o[h].length;l+=1)o[h][l]=255&t.getBuffer()[l+i];i+=u;var g=a.getErrorCorrectPolynomial(c),f=d(o[h],g.getLength()-1).mod(g);for(s[h]=new Array(g.getLength()-1),l=0;l<s[h].length;l+=1){var w=l+f.getLength()-s[h].length;s[h][l]=w>=0?f.getAt(w):0}}var p=0;for(l=0;l<e.length;l+=1)p+=e[l].totalCount;var v=new Array(p),_=0;for(l=0;l<r;l+=1)for(h=0;h<e.length;h+=1)l<o[h].length&&(v[_]=o[h][l],_+=1);for(l=0;l<n;l+=1)for(h=0;h<e.length;h+=1)l<s[h].length&&(v[_]=s[h][l],_+=1);return v}(n,r)};v.addData=function(t,e){var i=null;switch(e=e||\"Byte\"){case\"Numeric\":i=l(t);break;case\"Alphanumeric\":i=g(t);break;case\"Byte\":i=f(t);break;case\"Kanji\":i=w(t);break;default:throw\"mode:\"+e}p.push(i),h=null},v.isDark=function(t,e){if(t<0||o<=t||e<0||o<=e)throw t+\",\"+e;return n[t][e]},v.getModuleCount=function(){return o},v.make=function(){if(i<1){for(var t=1;t<40;t++){for(var e=u.getRSBlocks(t,r),n=c(),o=0;o<p.length;o++){var s=p[o];n.put(s.getMode(),4),n.put(s.getLength(),a.getLengthInBits(s.getMode(),t)),s.write(n)}var h=0;for(o=0;o<e.length;o++)h+=e[o].dataCount;if(n.getLengthInBits()<=8*h)break}i=t}m(!1,function(){for(var t=0,e=0,i=0;i<8;i+=1){m(!0,i);var r=a.getLostPoint(v);(0==i||t>r)&&(t=r,e=i)}return e}())},v.createTableTag=function(t,e){t=t||2;var i=\"\";i+='<table style=\"',i+=\" border-width: 0px; border-style: none;\",i+=\" border-collapse: collapse;\",i+=\" padding: 0px; margin: \"+(e=void 0===e?4*t:e)+\"px;\",i+='\">',i+=\"<tbody>\";for(var r=0;r<v.getModuleCount();r+=1){i+=\"<tr>\";for(var n=0;n<v.getModuleCount();n+=1)i+='<td style=\"',i+=\" border-width: 0px; border-style: none;\",i+=\" border-collapse: collapse;\",i+=\" padding: 0px; margin: 0px;\",i+=\" width: \"+t+\"px;\",i+=\" height: \"+t+\"px;\",i+=\" background-color: \",i+=v.isDark(r,n)?\"#000000\":\"#ffffff\",i+=\";\",i+='\"/>';i+=\"</tr>\"}return(i+=\"</tbody>\")+\"</table>\"},v.createSvgTag=function(t,e,i,r){var n={};\"object\"==typeof arguments[0]&&(t=(n=arguments[0]).cellSize,e=n.margin,i=n.alt,r=n.title),t=t||2,e=void 0===e?4*t:e,(i=\"string\"==typeof i?{text:i}:i||{}).text=i.text||null,i.id=i.text?i.id||\"qrcode-description\":null,(r=\"string\"==typeof r?{text:r}:r||{}).text=r.text||null,r.id=r.text?r.id||\"qrcode-title\":null;var o,s,a,h,d=v.getModuleCount()*t+2*e,u=\"\";for(h=\"l\"+t+\",0 0,\"+t+\" -\"+t+\",0 0,-\"+t+\"z \",u+='<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\"',u+=n.scalable?\"\":' width=\"'+d+'px\" height=\"'+d+'px\"',u+=' viewBox=\"0 0 '+d+\" \"+d+'\" ',u+=' preserveAspectRatio=\"xMinYMin meet\"',u+=r.text||i.text?' role=\"img\" aria-labelledby=\"'+$([r.id,i.id].join(\" \").trim())+'\"':\"\",u+=\">\",u+=r.text?'<title id=\"'+$(r.id)+'\">'+$(r.text)+\"</title>\":\"\",u+=i.text?'<description id=\"'+$(i.id)+'\">'+$(i.text)+\"</description>\":\"\",u+='<rect width=\"100%\" height=\"100%\" fill=\"white\" cx=\"0\" cy=\"0\"/>',u+='<path d=\"',s=0;s<v.getModuleCount();s+=1)for(a=s*t+e,o=0;o<v.getModuleCount();o+=1)v.isDark(s,o)&&(u+=\"M\"+(o*t+e)+\",\"+a+h);return(u+='\" stroke=\"transparent\" fill=\"black\"/>')+\"</svg>\"},v.createDataURL=function(t,e){t=t||2,e=void 0===e?4*t:e;var i=v.getModuleCount()*t+2*e,r=e,n=i-e;return _(i,i,(function(e,i){if(r<=e&&e<n&&r<=i&&i<n){var o=Math.floor((e-r)/t),s=Math.floor((i-r)/t);return v.isDark(s,o)?0:1}return 1}))},v.createImgTag=function(t,e,i){t=t||2,e=void 0===e?4*t:e;var r=v.getModuleCount()*t+2*e,n=\"\";return n+=\"<img\",n+=' src=\"',n+=v.createDataURL(t,e),n+='\"',n+=' width=\"',n+=r,n+='\"',n+=' height=\"',n+=r,n+='\"',i&&(n+=' alt=\"',n+=$(i),n+='\"'),n+\"/>\"};var $=function(t){for(var e=\"\",i=0;i<t.length;i+=1){var r=t.charAt(i);switch(r){case\"<\":e+=\"&lt;\";break;case\">\":e+=\"&gt;\";break;case\"&\":e+=\"&amp;\";break;case'\"':e+=\"&quot;\";break;default:e+=r}}return e};return v.createASCII=function(t,e){if((t=t||1)<2)return function(t){t=void 0===t?2:t;var e,i,r,n,o,s=1*v.getModuleCount()+2*t,a=t,h=s-t,d={\"██\":\"█\",\"█ \":\"▀\",\" █\":\"▄\",\" \":\" \"},u={\"██\":\"▀\",\"█ \":\"▀\",\" █\":\" \",\" \":\" \"},c=\"\";for(e=0;e<s;e+=2){for(r=Math.floor((e-a)/1),n=Math.floor((e+1-a)/1),i=0;i<s;i+=1)o=\"█\",a<=i&&i<h&&a<=e&&e<h&&v.isDark(r,Math.floor((i-a)/1))&&(o=\" \"),a<=i&&i<h&&a<=e+1&&e+1<h&&v.isDark(n,Math.floor((i-a)/1))?o+=\" \":o+=\"█\",c+=t<1&&e+1>=h?u[o]:d[o];c+=\"\\n\"}return s%2&&t>0?c.substring(0,c.length-s-1)+Array(s+1).join(\"▀\"):c.substring(0,c.length-1)}(e);t-=1,e=void 0===e?2*t:e;var i,r,n,o,s=v.getModuleCount()*t+2*e,a=e,h=s-e,d=Array(t+1).join(\"██\"),u=Array(t+1).join(\" \"),c=\"\",l=\"\";for(i=0;i<s;i+=1){for(n=Math.floor((i-a)/t),l=\"\",r=0;r<s;r+=1)o=1,a<=r&&r<h&&a<=i&&i<h&&v.isDark(n,Math.floor((r-a)/t))&&(o=0),l+=o?d:u;for(n=0;n<t;n+=1)c+=l+\"\\n\"}return c.substring(0,c.length-1)},v.renderTo2dContext=function(t,e){e=e||2;for(var i=v.getModuleCount(),r=0;r<i;r++)for(var n=0;n<i;n++)t.fillStyle=v.isDark(r,n)?\"black\":\"white\",t.fillRect(r*e,n*e,e,e)},v};t.stringToBytes=(t.stringToBytesFuncs={default:function(t){for(var e=[],i=0;i<t.length;i+=1){var r=t.charCodeAt(i);e.push(255&r)}return e}}).default,t.createStringToBytes=function(t,e){var i=function(){for(var i=v(t),r=function(){var t=i.read();if(-1==t)throw\"eof\";return t},n=0,o={};;){var s=i.read();if(-1==s)break;var a=r(),h=r()<<8|r();o[String.fromCharCode(s<<8|a)]=h,n+=1}if(n!=e)throw n+\" != \"+e;return o}(),r=\"?\".charCodeAt(0);return function(t){for(var e=[],n=0;n<t.length;n+=1){var o=t.charCodeAt(n);if(o<128)e.push(o);else{var s=i[t.charAt(n)];\"number\"==typeof s?(255&s)==s?e.push(s):(e.push(s>>>8),e.push(255&s)):e.push(r)}}return e}};var e,i,r,n,o,s={L:1,M:0,Q:3,H:2},a=(e=[[],[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]],i=1335,r=7973,o=function(t){for(var e=0;0!=t;)e+=1,t>>>=1;return e},(n={}).getBCHTypeInfo=function(t){for(var e=t<<10;o(e)-o(i)>=0;)e^=i<<o(e)-o(i);return 21522^(t<<10|e)},n.getBCHTypeNumber=function(t){for(var e=t<<12;o(e)-o(r)>=0;)e^=r<<o(e)-o(r);return t<<12|e},n.getPatternPosition=function(t){return e[t-1]},n.getMaskFunction=function(t){switch(t){case 0:return function(t,e){return(t+e)%2==0};case 1:return function(t,e){return t%2==0};case 2:return function(t,e){return e%3==0};case 3:return function(t,e){return(t+e)%3==0};case 4:return function(t,e){return(Math.floor(t/2)+Math.floor(e/3))%2==0};case 5:return function(t,e){return t*e%2+t*e%3==0};case 6:return function(t,e){return(t*e%2+t*e%3)%2==0};case 7:return function(t,e){return(t*e%3+(t+e)%2)%2==0};default:throw\"bad maskPattern:\"+t}},n.getErrorCorrectPolynomial=function(t){for(var e=d([1],0),i=0;i<t;i+=1)e=e.multiply(d([1,h.gexp(i)],0));return e},n.getLengthInBits=function(t,e){if(1<=e&&e<10)switch(t){case 1:return 10;case 2:return 9;case 4:case 8:return 8;default:throw\"mode:\"+t}else if(e<27)switch(t){case 1:return 12;case 2:return 11;case 4:return 16;case 8:return 10;default:throw\"mode:\"+t}else{if(!(e<41))throw\"type:\"+e;switch(t){case 1:return 14;case 2:return 13;case 4:return 16;case 8:return 12;default:throw\"mode:\"+t}}},n.getLostPoint=function(t){for(var e=t.getModuleCount(),i=0,r=0;r<e;r+=1)for(var n=0;n<e;n+=1){for(var o=0,s=t.isDark(r,n),a=-1;a<=1;a+=1)if(!(r+a<0||e<=r+a))for(var h=-1;h<=1;h+=1)n+h<0||e<=n+h||0==a&&0==h||s==t.isDark(r+a,n+h)&&(o+=1);o>5&&(i+=3+o-5)}for(r=0;r<e-1;r+=1)for(n=0;n<e-1;n+=1){var d=0;t.isDark(r,n)&&(d+=1),t.isDark(r+1,n)&&(d+=1),t.isDark(r,n+1)&&(d+=1),t.isDark(r+1,n+1)&&(d+=1),0!=d&&4!=d||(i+=3)}for(r=0;r<e;r+=1)for(n=0;n<e-6;n+=1)t.isDark(r,n)&&!t.isDark(r,n+1)&&t.isDark(r,n+2)&&t.isDark(r,n+3)&&t.isDark(r,n+4)&&!t.isDark(r,n+5)&&t.isDark(r,n+6)&&(i+=40);for(n=0;n<e;n+=1)for(r=0;r<e-6;r+=1)t.isDark(r,n)&&!t.isDark(r+1,n)&&t.isDark(r+2,n)&&t.isDark(r+3,n)&&t.isDark(r+4,n)&&!t.isDark(r+5,n)&&t.isDark(r+6,n)&&(i+=40);var u=0;for(n=0;n<e;n+=1)for(r=0;r<e;r+=1)t.isDark(r,n)&&(u+=1);return i+Math.abs(100*u/e/e-50)/5*10},n),h=function(){for(var t=new Array(256),e=new Array(256),i=0;i<8;i+=1)t[i]=1<<i;for(i=8;i<256;i+=1)t[i]=t[i-4]^t[i-5]^t[i-6]^t[i-8];for(i=0;i<255;i+=1)e[t[i]]=i;return{glog:function(t){if(t<1)throw\"glog(\"+t+\")\";return e[t]},gexp:function(e){for(;e<0;)e+=255;for(;e>=256;)e-=255;return t[e]}}}();function d(t,e){if(void 0===t.length)throw t.length+\"/\"+e;var i=function(){for(var i=0;i<t.length&&0==t[i];)i+=1;for(var r=new Array(t.length-i+e),n=0;n<t.length-i;n+=1)r[n]=t[n+i];return r}(),r={getAt:function(t){return i[t]},getLength:function(){return i.length},multiply:function(t){for(var e=new Array(r.getLength()+t.getLength()-1),i=0;i<r.getLength();i+=1)for(var n=0;n<t.getLength();n+=1)e[i+n]^=h.gexp(h.glog(r.getAt(i))+h.glog(t.getAt(n)));return d(e,0)},mod:function(t){if(r.getLength()-t.getLength()<0)return r;for(var e=h.glog(r.getAt(0))-h.glog(t.getAt(0)),i=new Array(r.getLength()),n=0;n<r.getLength();n+=1)i[n]=r.getAt(n);for(n=0;n<t.getLength();n+=1)i[n]^=h.gexp(h.glog(t.getAt(n))+e);return d(i,0).mod(t)}};return r}var u=function(){var t=[[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]],e=function(t,e){var i={};return i.totalCount=t,i.dataCount=e,i},i={getRSBlocks:function(i,r){var n=function(e,i){switch(i){case s.L:return t[4*(e-1)+0];case s.M:return t[4*(e-1)+1];case s.Q:return t[4*(e-1)+2];case s.H:return t[4*(e-1)+3];default:return}}(i,r);if(void 0===n)throw\"bad rs block @ typeNumber:\"+i+\"/errorCorrectionLevel:\"+r;for(var o=n.length/3,a=[],h=0;h<o;h+=1)for(var d=n[3*h+0],u=n[3*h+1],c=n[3*h+2],l=0;l<d;l+=1)a.push(e(u,c));return a}};return i}(),c=function(){var t=[],e=0,i={getBuffer:function(){return t},getAt:function(e){var i=Math.floor(e/8);return 1==(t[i]>>>7-e%8&1)},put:function(t,e){for(var r=0;r<e;r+=1)i.putBit(1==(t>>>e-r-1&1))},getLengthInBits:function(){return e},putBit:function(i){var r=Math.floor(e/8);t.length<=r&&t.push(0),i&&(t[r]|=128>>>e%8),e+=1}};return i},l=function(t){var e=t,i={getMode:function(){return 1},getLength:function(t){return e.length},write:function(t){for(var i=e,n=0;n+2<i.length;)t.put(r(i.substring(n,n+3)),10),n+=3;n<i.length&&(i.length-n==1?t.put(r(i.substring(n,n+1)),4):i.length-n==2&&t.put(r(i.substring(n,n+2)),7))}},r=function(t){for(var e=0,i=0;i<t.length;i+=1)e=10*e+n(t.charAt(i));return e},n=function(t){if(\"0\"<=t&&t<=\"9\")return t.charCodeAt(0)-\"0\".charCodeAt(0);throw\"illegal char :\"+t};return i},g=function(t){var e=t,i={getMode:function(){return 2},getLength:function(t){return e.length},write:function(t){for(var i=e,n=0;n+1<i.length;)t.put(45*r(i.charAt(n))+r(i.charAt(n+1)),11),n+=2;n<i.length&&t.put(r(i.charAt(n)),6)}},r=function(t){if(\"0\"<=t&&t<=\"9\")return t.charCodeAt(0)-\"0\".charCodeAt(0);if(\"A\"<=t&&t<=\"Z\")return t.charCodeAt(0)-\"A\".charCodeAt(0)+10;switch(t){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\"illegal char :\"+t}};return i},f=function(e){var i=t.stringToBytes(e);return{getMode:function(){return 4},getLength:function(t){return i.length},write:function(t){for(var e=0;e<i.length;e+=1)t.put(i[e],8)}}},w=function(e){var i=t.stringToBytesFuncs.SJIS;if(!i)throw\"sjis not supported.\";!function(){var t=i(\"友\");if(2!=t.length||38726!=(t[0]<<8|t[1]))throw\"sjis not supported.\"}();var r=i(e),n={getMode:function(){return 8},getLength:function(t){return~~(r.length/2)},write:function(t){for(var e=r,i=0;i+1<e.length;){var n=(255&e[i])<<8|255&e[i+1];if(33088<=n&&n<=40956)n-=33088;else{if(!(57408<=n&&n<=60351))throw\"illegal char at \"+(i+1)+\"/\"+n;n-=49472}n=192*(n>>>8&255)+(255&n),t.put(n,13),i+=2}if(i<e.length)throw\"illegal char at \"+(i+1)}};return n},p=function(){var t=[],e={writeByte:function(e){t.push(255&e)},writeShort:function(t){e.writeByte(t),e.writeByte(t>>>8)},writeBytes:function(t,i,r){i=i||0,r=r||t.length;for(var n=0;n<r;n+=1)e.writeByte(t[n+i])},writeString:function(t){for(var i=0;i<t.length;i+=1)e.writeByte(t.charCodeAt(i))},toByteArray:function(){return t},toString:function(){var e=\"\";e+=\"[\";for(var i=0;i<t.length;i+=1)i>0&&(e+=\",\"),e+=t[i];return e+\"]\"}};return e},v=function(t){var e=t,i=0,r=0,n=0,o={read:function(){for(;n<8;){if(i>=e.length){if(0==n)return-1;throw\"unexpected end of file./\"+n}var t=e.charAt(i);if(i+=1,\"=\"==t)return n=0,-1;t.match(/^\\s$/)||(r=r<<6|s(t.charCodeAt(0)),n+=6)}var o=r>>>n-8&255;return n-=8,o}},s=function(t){if(65<=t&&t<=90)return t-65;if(97<=t&&t<=122)return t-97+26;if(48<=t&&t<=57)return t-48+52;if(43==t)return 62;if(47==t)return 63;throw\"c:\"+t};return o},_=function(t,e,i){for(var r=function(t,e){var i=t,r=e,n=new Array(t*e),o={setPixel:function(t,e,r){n[e*i+t]=r},write:function(t){t.writeString(\"GIF87a\"),t.writeShort(i),t.writeShort(r),t.writeByte(128),t.writeByte(0),t.writeByte(0),t.writeByte(0),t.writeByte(0),t.writeByte(0),t.writeByte(255),t.writeByte(255),t.writeByte(255),t.writeString(\",\"),t.writeShort(0),t.writeShort(0),t.writeShort(i),t.writeShort(r),t.writeByte(0);var e=s(2);t.writeByte(2);for(var n=0;e.length-n>255;)t.writeByte(255),t.writeBytes(e,n,255),n+=255;t.writeByte(e.length-n),t.writeBytes(e,n,e.length-n),t.writeByte(0),t.writeString(\";\")}},s=function(t){for(var e=1<<t,i=1+(1<<t),r=t+1,o=a(),s=0;s<e;s+=1)o.add(String.fromCharCode(s));o.add(String.fromCharCode(e)),o.add(String.fromCharCode(i));var h,d,u,c=p(),l=(h=c,d=0,u=0,{write:function(t,e){if(t>>>e!=0)throw\"length over\";for(;d+e>=8;)h.writeByte(255&(t<<d|u)),e-=8-d,t>>>=8-d,u=0,d=0;u|=t<<d,d+=e},flush:function(){d>0&&h.writeByte(u)}});l.write(e,r);var g=0,f=String.fromCharCode(n[g]);for(g+=1;g<n.length;){var w=String.fromCharCode(n[g]);g+=1,o.contains(f+w)?f+=w:(l.write(o.indexOf(f),r),o.size()<4095&&(o.size()==1<<r&&(r+=1),o.add(f+w)),f=w)}return l.write(o.indexOf(f),r),l.write(i,r),l.flush(),c.toByteArray()},a=function(){var t={},e=0,i={add:function(r){if(i.contains(r))throw\"dup key:\"+r;t[r]=e,e+=1},size:function(){return e},indexOf:function(e){return t[e]},contains:function(e){return void 0!==t[e]}};return i};return o}(t,e),n=0;n<e;n+=1)for(var o=0;o<t;o+=1)r.setPixel(o,n,i(o,n));var s=p();r.write(s);for(var a=function(){var t=0,e=0,i=0,r=\"\",n={},o=function(t){r+=String.fromCharCode(s(63&t))},s=function(t){if(t<0);else{if(t<26)return 65+t;if(t<52)return t-26+97;if(t<62)return t-52+48;if(62==t)return 43;if(63==t)return 47}throw\"n:\"+t};return n.writeByte=function(r){for(t=t<<8|255&r,e+=8,i+=1;e>=6;)o(t>>>e-6),e-=6},n.flush=function(){if(e>0&&(o(t<<6-e),t=0,e=0),i%3!=0)for(var n=3-i%3,s=0;s<n;s+=1)r+=\"=\"},n.toString=function(){return r},n}(),h=s.toByteArray(),d=0;d<h.length;d+=1)a.writeByte(h[d]);return a.flush(),\"data:image/gif;base64,\"+a};return t}();n.stringToBytesFuncs[\"UTF-8\"]=function(t){return function(t){for(var e=[],i=0;i<t.length;i++){var r=t.charCodeAt(i);r<128?e.push(r):r<2048?e.push(192|r>>6,128|63&r):r<55296||r>=57344?e.push(224|r>>12,128|r>>6&63,128|63&r):(i++,r=65536+((1023&r)<<10|1023&t.charCodeAt(i)),e.push(240|r>>18,128|r>>12&63,128|r>>6&63,128|63&r))}return e}(t)},void 0===(r=\"function\"==typeof(i=function(){return n})?i.apply(e,[]):i)||(t.exports=r)}},e={};function i(r){var n=e[r];if(void 0!==n)return n.exports;var o=e[r]={exports:{}};return t[r](o,o.exports,i),o.exports}i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},i.d=(t,e)=>{for(var r in e)i.o(e,r)&&!i.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var r={};return(()=>{\"use strict\";i.d(r,{default:()=>$});const t=t=>!!t&&\"object\"==typeof t&&!Array.isArray(t);function e(i,...r){if(!r.length)return i;const n=r.shift();return void 0!==n&&t(i)&&t(n)?(i=Object.assign({},i),Object.keys(n).forEach((r=>{const o=i[r],s=n[r];Array.isArray(o)&&Array.isArray(s)?i[r]=s:t(o)&&t(s)?i[r]=e(Object.assign({},o),s):i[r]=s})),e(i,...r)):i}function n(t,e){const i=document.createElement(\"a\");i.download=e,i.href=t,document.body.appendChild(i),i.click(),document.body.removeChild(i)}const o={L:.07,M:.15,Q:.25,H:.3};class s{constructor({svg:t,type:e,window:i}){this._svg=t,this._type=e,this._window=i}draw(t,e,i,r){let n;switch(this._type){case\"dots\":n=this._drawDot;break;case\"classy\":n=this._drawClassy;break;case\"classy-rounded\":n=this._drawClassyRounded;break;case\"rounded\":n=this._drawRounded;break;case\"extra-rounded\":n=this._drawExtraRounded;break;default:n=this._drawSquare}n.call(this,{x:t,y:e,size:i,getNeighbor:r})}_rotateFigure({x:t,y:e,size:i,rotation:r=0,draw:n}){var o;const s=t+i/2,a=e+i/2;n(),null===(o=this._element)||void 0===o||o.setAttribute(\"transform\",`rotate(${180*r/Math.PI},${s},${a})`)}_basicDot(t){const{size:e,x:i,y:r}=t;this._rotateFigure(Object.assign(Object.assign({},t),{draw:()=>{this._element=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"circle\"),this._element.setAttribute(\"cx\",String(i+e/2)),this._element.setAttribute(\"cy\",String(r+e/2)),this._element.setAttribute(\"r\",String(e/2))}}))}_basicSquare(t){const{size:e,x:i,y:r}=t;this._rotateFigure(Object.assign(Object.assign({},t),{draw:()=>{this._element=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"rect\"),this._element.setAttribute(\"x\",String(i)),this._element.setAttribute(\"y\",String(r)),this._element.setAttribute(\"width\",String(e)),this._element.setAttribute(\"height\",String(e))}}))}_basicSideRounded(t){const{size:e,x:i,y:r}=t;this._rotateFigure(Object.assign(Object.assign({},t),{draw:()=>{this._element=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"path\"),this._element.setAttribute(\"d\",`M ${i} ${r}v ${e}h `+e/2+`a ${e/2} ${e/2}, 0, 0, 0, 0 ${-e}`)}}))}_basicCornerRounded(t){const{size:e,x:i,y:r}=t;this._rotateFigure(Object.assign(Object.assign({},t),{draw:()=>{this._element=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"path\"),this._element.setAttribute(\"d\",`M ${i} ${r}v ${e}h ${e}v `+-e/2+`a ${e/2} ${e/2}, 0, 0, 0, ${-e/2} ${-e/2}`)}}))}_basicCornerExtraRounded(t){const{size:e,x:i,y:r}=t;this._rotateFigure(Object.assign(Object.assign({},t),{draw:()=>{this._element=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"path\"),this._element.setAttribute(\"d\",`M ${i} ${r}v ${e}h ${e}a ${e} ${e}, 0, 0, 0, ${-e} ${-e}`)}}))}_basicCornersRounded(t){const{size:e,x:i,y:r}=t;this._rotateFigure(Object.assign(Object.assign({},t),{draw:()=>{this._element=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"path\"),this._element.setAttribute(\"d\",`M ${i} ${r}v `+e/2+`a ${e/2} ${e/2}, 0, 0, 0, ${e/2} ${e/2}h `+e/2+\"v \"+-e/2+`a ${e/2} ${e/2}, 0, 0, 0, ${-e/2} ${-e/2}`)}}))}_drawDot({x:t,y:e,size:i}){this._basicDot({x:t,y:e,size:i,rotation:0})}_drawSquare({x:t,y:e,size:i}){this._basicSquare({x:t,y:e,size:i,rotation:0})}_drawRounded({x:t,y:e,size:i,getNeighbor:r}){const n=r?+r(-1,0):0,o=r?+r(1,0):0,s=r?+r(0,-1):0,a=r?+r(0,1):0,h=n+o+s+a;if(0!==h)if(h>2||n&&o||s&&a)this._basicSquare({x:t,y:e,size:i,rotation:0});else{if(2===h){let r=0;return n&&s?r=Math.PI/2:s&&o?r=Math.PI:o&&a&&(r=-Math.PI/2),void this._basicCornerRounded({x:t,y:e,size:i,rotation:r})}if(1===h){let r=0;return s?r=Math.PI/2:o?r=Math.PI:a&&(r=-Math.PI/2),void this._basicSideRounded({x:t,y:e,size:i,rotation:r})}}else this._basicDot({x:t,y:e,size:i,rotation:0})}_drawExtraRounded({x:t,y:e,size:i,getNeighbor:r}){const n=r?+r(-1,0):0,o=r?+r(1,0):0,s=r?+r(0,-1):0,a=r?+r(0,1):0,h=n+o+s+a;if(0!==h)if(h>2||n&&o||s&&a)this._basicSquare({x:t,y:e,size:i,rotation:0});else{if(2===h){let r=0;return n&&s?r=Math.PI/2:s&&o?r=Math.PI:o&&a&&(r=-Math.PI/2),void this._basicCornerExtraRounded({x:t,y:e,size:i,rotation:r})}if(1===h){let r=0;return s?r=Math.PI/2:o?r=Math.PI:a&&(r=-Math.PI/2),void this._basicSideRounded({x:t,y:e,size:i,rotation:r})}}else this._basicDot({x:t,y:e,size:i,rotation:0})}_drawClassy({x:t,y:e,size:i,getNeighbor:r}){const n=r?+r(-1,0):0,o=r?+r(1,0):0,s=r?+r(0,-1):0,a=r?+r(0,1):0;0!==n+o+s+a?n||s?o||a?this._basicSquare({x:t,y:e,size:i,rotation:0}):this._basicCornerRounded({x:t,y:e,size:i,rotation:Math.PI/2}):this._basicCornerRounded({x:t,y:e,size:i,rotation:-Math.PI/2}):this._basicCornersRounded({x:t,y:e,size:i,rotation:Math.PI/2})}_drawClassyRounded({x:t,y:e,size:i,getNeighbor:r}){const n=r?+r(-1,0):0,o=r?+r(1,0):0,s=r?+r(0,-1):0,a=r?+r(0,1):0;0!==n+o+s+a?n||s?o||a?this._basicSquare({x:t,y:e,size:i,rotation:0}):this._basicCornerExtraRounded({x:t,y:e,size:i,rotation:Math.PI/2}):this._basicCornerExtraRounded({x:t,y:e,size:i,rotation:-Math.PI/2}):this._basicCornersRounded({x:t,y:e,size:i,rotation:Math.PI/2})}}const a={dot:\"dot\",square:\"square\",extraRounded:\"extra-rounded\"},h=Object.values(a);class d{constructor({svg:t,type:e,window:i}){this._svg=t,this._type=e,this._window=i}draw(t,e,i,r){let n;switch(this._type){case a.square:n=this._drawSquare;break;case a.extraRounded:n=this._drawExtraRounded;break;default:n=this._drawDot}n.call(this,{x:t,y:e,size:i,rotation:r})}_rotateFigure({x:t,y:e,size:i,rotation:r=0,draw:n}){var o;const s=t+i/2,a=e+i/2;n(),null===(o=this._element)||void 0===o||o.setAttribute(\"transform\",`rotate(${180*r/Math.PI},${s},${a})`)}_basicDot(t){const{size:e,x:i,y:r}=t,n=e/7;this._rotateFigure(Object.assign(Object.assign({},t),{draw:()=>{this._element=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"path\"),this._element.setAttribute(\"clip-rule\",\"evenodd\"),this._element.setAttribute(\"d\",`M ${i+e/2} ${r}a ${e/2} ${e/2} 0 1 0 0.1 0zm 0 ${n}a ${e/2-n} ${e/2-n} 0 1 1 -0.1 0Z`)}}))}_basicSquare(t){const{size:e,x:i,y:r}=t,n=e/7;this._rotateFigure(Object.assign(Object.assign({},t),{draw:()=>{this._element=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"path\"),this._element.setAttribute(\"clip-rule\",\"evenodd\"),this._element.setAttribute(\"d\",`M ${i} ${r}v ${e}h ${e}v `+-e+\"z\"+`M ${i+n} ${r+n}h `+(e-2*n)+\"v \"+(e-2*n)+\"h \"+(2*n-e)+\"z\")}}))}_basicExtraRounded(t){const{size:e,x:i,y:r}=t,n=e/7;this._rotateFigure(Object.assign(Object.assign({},t),{draw:()=>{this._element=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"path\"),this._element.setAttribute(\"clip-rule\",\"evenodd\"),this._element.setAttribute(\"d\",`M ${i} ${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}`+`M ${i+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}`)}}))}_drawDot({x:t,y:e,size:i,rotation:r}){this._basicDot({x:t,y:e,size:i,rotation:r})}_drawSquare({x:t,y:e,size:i,rotation:r}){this._basicSquare({x:t,y:e,size:i,rotation:r})}_drawExtraRounded({x:t,y:e,size:i,rotation:r}){this._basicExtraRounded({x:t,y:e,size:i,rotation:r})}}const u={dot:\"dot\",square:\"square\"},c=Object.values(u);class l{constructor({svg:t,type:e,window:i}){this._svg=t,this._type=e,this._window=i}draw(t,e,i,r){let n;n=this._type===u.square?this._drawSquare:this._drawDot,n.call(this,{x:t,y:e,size:i,rotation:r})}_rotateFigure({x:t,y:e,size:i,rotation:r=0,draw:n}){var o;const s=t+i/2,a=e+i/2;n(),null===(o=this._element)||void 0===o||o.setAttribute(\"transform\",`rotate(${180*r/Math.PI},${s},${a})`)}_basicDot(t){const{size:e,x:i,y:r}=t;this._rotateFigure(Object.assign(Object.assign({},t),{draw:()=>{this._element=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"circle\"),this._element.setAttribute(\"cx\",String(i+e/2)),this._element.setAttribute(\"cy\",String(r+e/2)),this._element.setAttribute(\"r\",String(e/2))}}))}_basicSquare(t){const{size:e,x:i,y:r}=t;this._rotateFigure(Object.assign(Object.assign({},t),{draw:()=>{this._element=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"rect\"),this._element.setAttribute(\"x\",String(i)),this._element.setAttribute(\"y\",String(r)),this._element.setAttribute(\"width\",String(e)),this._element.setAttribute(\"height\",String(e))}}))}_drawDot({x:t,y:e,size:i,rotation:r}){this._basicDot({x:t,y:e,size:i,rotation:r})}_drawSquare({x:t,y:e,size:i,rotation:r}){this._basicSquare({x:t,y:e,size:i,rotation:r})}}const g=\"circle\",f=[[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]],w=[[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 p{constructor(t,e){this._roundSize=t=>this._options.dotsOptions.roundSize?Math.floor(t):t,this._window=e,this._element=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\"),this._element.setAttribute(\"width\",String(t.width)),this._element.setAttribute(\"height\",String(t.height)),this._element.setAttribute(\"xmlns:xlink\",\"http://www.w3.org/1999/xlink\"),t.dotsOptions.roundSize||this._element.setAttribute(\"shape-rendering\",\"crispEdges\"),this._element.setAttribute(\"viewBox\",`0 0 ${t.width} ${t.height}`),this._defs=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"defs\"),this._element.appendChild(this._defs),this._imageUri=t.image,this._instanceId=p.instanceCount++,this._options=t}get width(){return this._options.width}get height(){return this._options.height}getElement(){return this._element}async drawQR(t){const e=t.getModuleCount(),i=Math.min(this._options.width,this._options.height)-2*this._options.margin,r=this._options.shape===g?i/Math.sqrt(2):i,n=this._roundSize(r/e);let s={hideXDots:0,hideYDots:0,width:0,height:0};if(this._qr=t,this._options.image){if(await this.loadImage(),!this._image)return;const{imageOptions:t,qrOptions:i}=this._options,r=t.imageSize*o[i.errorCorrectionLevel],a=Math.floor(r*e*e);s=function({originalHeight:t,originalWidth:e,maxHiddenDots:i,maxHiddenAxisDots:r,dotSize:n}){const o={x:0,y:0},s={x:0,y:0};if(t<=0||e<=0||i<=0||n<=0)return{height:0,width:0,hideYDots:0,hideXDots:0};const a=t/e;return o.x=Math.floor(Math.sqrt(i/a)),o.x<=0&&(o.x=1),r&&r<o.x&&(o.x=r),o.x%2==0&&o.x--,s.x=o.x*n,o.y=1+2*Math.ceil((o.x*a-1)/2),s.y=Math.round(s.x*a),(o.y*o.x>i||r&&r<o.y)&&(r&&r<o.y?(o.y=r,o.y%2==0&&o.x--):o.y-=2,s.y=o.y*n,o.x=1+2*Math.ceil((o.y/a-1)/2),s.x=Math.round(s.y/a)),{height:s.y,width:s.x,hideYDots:o.y,hideXDots:o.x}}({originalWidth:this._image.width,originalHeight:this._image.height,maxHiddenDots:a,maxHiddenAxisDots:e-14,dotSize:n})}this.drawBackground(),this.drawDots(((t,i)=>{var r,n,o,a,h,d;return!(this._options.imageOptions.hideBackgroundDots&&t>=(e-s.hideYDots)/2&&t<(e+s.hideYDots)/2&&i>=(e-s.hideXDots)/2&&i<(e+s.hideXDots)/2||(null===(r=f[t])||void 0===r?void 0:r[i])||(null===(n=f[t-e+7])||void 0===n?void 0:n[i])||(null===(o=f[t])||void 0===o?void 0:o[i-e+7])||(null===(a=w[t])||void 0===a?void 0:a[i])||(null===(h=w[t-e+7])||void 0===h?void 0:h[i])||(null===(d=w[t])||void 0===d?void 0:d[i-e+7]))})),this.drawCorners(),this._options.image&&await this.drawImage({width:s.width,height:s.height,count:e,dotSize:n})}drawBackground(){var t,e,i;const r=this._element,n=this._options;if(r){const r=null===(t=n.backgroundOptions)||void 0===t?void 0:t.gradient,o=null===(e=n.backgroundOptions)||void 0===e?void 0:e.color;let s=n.height,a=n.width;if(r||o){const t=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"rect\");this._backgroundClipPath=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"clipPath\"),this._backgroundClipPath.setAttribute(\"id\",`clip-path-background-color-${this._instanceId}`),this._defs.appendChild(this._backgroundClipPath),(null===(i=n.backgroundOptions)||void 0===i?void 0:i.round)&&(s=a=Math.min(n.width,n.height),t.setAttribute(\"rx\",String(s/2*n.backgroundOptions.round))),t.setAttribute(\"x\",String(this._roundSize((n.width-a)/2))),t.setAttribute(\"y\",String(this._roundSize((n.height-s)/2))),t.setAttribute(\"width\",String(a)),t.setAttribute(\"height\",String(s)),this._backgroundClipPath.appendChild(t),this._createColor({options:r,color:o,additionalRotation:0,x:0,y:0,height:n.height,width:n.width,name:`background-color-${this._instanceId}`})}}}drawDots(t){var e,i;if(!this._qr)throw\"QR code is not defined\";const r=this._options,n=this._qr.getModuleCount();if(n>r.width||n>r.height)throw\"The canvas is too small.\";const o=Math.min(r.width,r.height)-2*r.margin,a=r.shape===g?o/Math.sqrt(2):o,h=this._roundSize(a/n),d=this._roundSize((r.width-n*h)/2),u=this._roundSize((r.height-n*h)/2),c=new s({svg:this._element,type:r.dotsOptions.type,window:this._window});this._dotsClipPath=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"clipPath\"),this._dotsClipPath.setAttribute(\"id\",`clip-path-dot-color-${this._instanceId}`),this._defs.appendChild(this._dotsClipPath),this._createColor({options:null===(e=r.dotsOptions)||void 0===e?void 0:e.gradient,color:r.dotsOptions.color,additionalRotation:0,x:0,y:0,height:r.height,width:r.width,name:`dot-color-${this._instanceId}`});for(let e=0;e<n;e++)for(let r=0;r<n;r++)t&&!t(e,r)||(null===(i=this._qr)||void 0===i?void 0:i.isDark(e,r))&&(c.draw(d+r*h,u+e*h,h,((i,o)=>!(r+i<0||e+o<0||r+i>=n||e+o>=n)&&!(t&&!t(e+o,r+i))&&!!this._qr&&this._qr.isDark(e+o,r+i))),c._element&&this._dotsClipPath&&this._dotsClipPath.appendChild(c._element));if(r.shape===g){const t=this._roundSize((o/h-n)/2),e=n+2*t,i=d-t*h,r=u-t*h,s=[],a=this._roundSize(e/2);for(let i=0;i<e;i++){s[i]=[];for(let r=0;r<e;r++)i>=t-1&&i<=e-t&&r>=t-1&&r<=e-t||Math.sqrt((i-a)*(i-a)+(r-a)*(r-a))>a?s[i][r]=0:s[i][r]=this._qr.isDark(r-2*t<0?r:r>=n?r-2*t:r-t,i-2*t<0?i:i>=n?i-2*t:i-t)?1:0}for(let t=0;t<e;t++)for(let n=0;n<e;n++)s[t][n]&&(c.draw(i+n*h,r+t*h,h,((e,i)=>{var r;return!!(null===(r=s[t+i])||void 0===r?void 0:r[n+e])})),c._element&&this._dotsClipPath&&this._dotsClipPath.appendChild(c._element))}}drawCorners(){if(!this._qr)throw\"QR code is not defined\";const t=this._element,e=this._options;if(!t)throw\"Element code is not defined\";const i=this._qr.getModuleCount(),r=Math.min(e.width,e.height)-2*e.margin,n=e.shape===g?r/Math.sqrt(2):r,o=this._roundSize(n/i),a=7*o,u=3*o,p=this._roundSize((e.width-i*o)/2),v=this._roundSize((e.height-i*o)/2);[[0,0,0],[1,0,Math.PI/2],[0,1,-Math.PI/2]].forEach((([t,r,n])=>{var g,_,m,b,y,x,S,C,A,M,$,O,D,k;const z=p+t*o*(i-7),B=v+r*o*(i-7);let P=this._dotsClipPath,I=this._dotsClipPath;if(((null===(g=e.cornersSquareOptions)||void 0===g?void 0:g.gradient)||(null===(_=e.cornersSquareOptions)||void 0===_?void 0:_.color))&&(P=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"clipPath\"),P.setAttribute(\"id\",`clip-path-corners-square-color-${t}-${r}-${this._instanceId}`),this._defs.appendChild(P),this._cornersSquareClipPath=this._cornersDotClipPath=I=P,this._createColor({options:null===(m=e.cornersSquareOptions)||void 0===m?void 0:m.gradient,color:null===(b=e.cornersSquareOptions)||void 0===b?void 0:b.color,additionalRotation:n,x:z,y:B,height:a,width:a,name:`corners-square-color-${t}-${r}-${this._instanceId}`})),(null===(y=e.cornersSquareOptions)||void 0===y?void 0:y.type)&&h.includes(e.cornersSquareOptions.type)){const t=new d({svg:this._element,type:e.cornersSquareOptions.type,window:this._window});t.draw(z,B,a,n),t._element&&P&&P.appendChild(t._element)}else{const t=new s({svg:this._element,type:(null===(x=e.cornersSquareOptions)||void 0===x?void 0:x.type)||e.dotsOptions.type,window:this._window});for(let e=0;e<f.length;e++)for(let i=0;i<f[e].length;i++)(null===(S=f[e])||void 0===S?void 0:S[i])&&(t.draw(z+i*o,B+e*o,o,((t,r)=>{var n;return!!(null===(n=f[e+r])||void 0===n?void 0:n[i+t])})),t._element&&P&&P.appendChild(t._element))}if(((null===(C=e.cornersDotOptions)||void 0===C?void 0:C.gradient)||(null===(A=e.cornersDotOptions)||void 0===A?void 0:A.color))&&(I=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"clipPath\"),I.setAttribute(\"id\",`clip-path-corners-dot-color-${t}-${r}-${this._instanceId}`),this._defs.appendChild(I),this._cornersDotClipPath=I,this._createColor({options:null===(M=e.cornersDotOptions)||void 0===M?void 0:M.gradient,color:null===($=e.cornersDotOptions)||void 0===$?void 0:$.color,additionalRotation:n,x:z+2*o,y:B+2*o,height:u,width:u,name:`corners-dot-color-${t}-${r}-${this._instanceId}`})),(null===(O=e.cornersDotOptions)||void 0===O?void 0:O.type)&&c.includes(e.cornersDotOptions.type)){const t=new l({svg:this._element,type:e.cornersDotOptions.type,window:this._window});t.draw(z+2*o,B+2*o,u,n),t._element&&I&&I.appendChild(t._element)}else{const t=new s({svg:this._element,type:(null===(D=e.cornersDotOptions)||void 0===D?void 0:D.type)||e.dotsOptions.type,window:this._window});for(let e=0;e<w.length;e++)for(let i=0;i<w[e].length;i++)(null===(k=w[e])||void 0===k?void 0:k[i])&&(t.draw(z+i*o,B+e*o,o,((t,r)=>{var n;return!!(null===(n=w[e+r])||void 0===n?void 0:n[i+t])})),t._element&&I&&I.appendChild(t._element))}}))}loadImage(){return new Promise(((t,e)=>{var i;const r=this._options;if(!r.image)return e(\"Image is not defined\");if(null===(i=r.nodeCanvas)||void 0===i?void 0:i.loadImage)r.nodeCanvas.loadImage(r.image).then((e=>{var i,n;if(this._image=e,this._options.imageOptions.saveAsBlob){const t=null===(i=r.nodeCanvas)||void 0===i?void 0:i.createCanvas(this._image.width,this._image.height);null===(n=null==t?void 0:t.getContext(\"2d\"))||void 0===n||n.drawImage(e,0,0),this._imageUri=null==t?void 0:t.toDataURL()}t()})).catch(e);else{const e=new this._window.Image;\"string\"==typeof r.imageOptions.crossOrigin&&(e.crossOrigin=r.imageOptions.crossOrigin),this._image=e,e.onload=async()=>{this._options.imageOptions.saveAsBlob&&(this._imageUri=await async function(t,e){return new Promise((i=>{const r=new e.XMLHttpRequest;r.onload=function(){const t=new e.FileReader;t.onloadend=function(){i(t.result)},t.readAsDataURL(r.response)},r.open(\"GET\",t),r.responseType=\"blob\",r.send()}))}(r.image||\"\",this._window)),t()},e.src=r.image}}))}async drawImage({width:t,height:e,count:i,dotSize:r}){const n=this._options,o=this._roundSize((n.width-i*r)/2),s=this._roundSize((n.height-i*r)/2),a=o+this._roundSize(n.imageOptions.margin+(i*r-t)/2),h=s+this._roundSize(n.imageOptions.margin+(i*r-e)/2),d=t-2*n.imageOptions.margin,u=e-2*n.imageOptions.margin,c=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"image\");c.setAttribute(\"href\",this._imageUri||\"\"),c.setAttribute(\"xlink:href\",this._imageUri||\"\"),c.setAttribute(\"x\",String(a)),c.setAttribute(\"y\",String(h)),c.setAttribute(\"width\",`${d}px`),c.setAttribute(\"height\",`${u}px`),this._element.appendChild(c)}_createColor({options:t,color:e,additionalRotation:i,x:r,y:n,height:o,width:s,name:a}){const h=s>o?s:o,d=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"rect\");if(d.setAttribute(\"x\",String(r)),d.setAttribute(\"y\",String(n)),d.setAttribute(\"height\",String(o)),d.setAttribute(\"width\",String(s)),d.setAttribute(\"clip-path\",`url('#clip-path-${a}')`),t){let e;if(\"radial\"===t.type)e=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"radialGradient\"),e.setAttribute(\"id\",a),e.setAttribute(\"gradientUnits\",\"userSpaceOnUse\"),e.setAttribute(\"fx\",String(r+s/2)),e.setAttribute(\"fy\",String(n+o/2)),e.setAttribute(\"cx\",String(r+s/2)),e.setAttribute(\"cy\",String(n+o/2)),e.setAttribute(\"r\",String(h/2));else{const h=((t.rotation||0)+i)%(2*Math.PI),d=(h+2*Math.PI)%(2*Math.PI);let u=r+s/2,c=n+o/2,l=r+s/2,g=n+o/2;d>=0&&d<=.25*Math.PI||d>1.75*Math.PI&&d<=2*Math.PI?(u-=s/2,c-=o/2*Math.tan(h),l+=s/2,g+=o/2*Math.tan(h)):d>.25*Math.PI&&d<=.75*Math.PI?(c-=o/2,u-=s/2/Math.tan(h),g+=o/2,l+=s/2/Math.tan(h)):d>.75*Math.PI&&d<=1.25*Math.PI?(u+=s/2,c+=o/2*Math.tan(h),l-=s/2,g-=o/2*Math.tan(h)):d>1.25*Math.PI&&d<=1.75*Math.PI&&(c+=o/2,u+=s/2/Math.tan(h),g-=o/2,l-=s/2/Math.tan(h)),e=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"linearGradient\"),e.setAttribute(\"id\",a),e.setAttribute(\"gradientUnits\",\"userSpaceOnUse\"),e.setAttribute(\"x1\",String(Math.round(u))),e.setAttribute(\"y1\",String(Math.round(c))),e.setAttribute(\"x2\",String(Math.round(l))),e.setAttribute(\"y2\",String(Math.round(g)))}t.colorStops.forEach((({offset:t,color:i})=>{const r=this._window.document.createElementNS(\"http://www.w3.org/2000/svg\",\"stop\");r.setAttribute(\"offset\",100*t+\"%\"),r.setAttribute(\"stop-color\",i),e.appendChild(r)})),d.setAttribute(\"fill\",`url('#${a}')`),this._defs.appendChild(e)}else e&&d.setAttribute(\"fill\",e);this._element.appendChild(d)}}p.instanceCount=0;const v=p,_=\"canvas\",m={};for(let t=0;t<=40;t++)m[t]=t;const b={type:_,shape:\"square\",width:300,height:300,data:\"\",margin:0,qrOptions:{typeNumber:m[0],mode:void 0,errorCorrectionLevel:\"Q\"},imageOptions:{saveAsBlob:!0,hideBackgroundDots:!0,imageSize:.4,crossOrigin:void 0,margin:0},dotsOptions:{type:\"square\",color:\"#000\",roundSize:!0},backgroundOptions:{round:0,color:\"#fff\"}};function y(t){const e=Object.assign({},t);if(!e.colorStops||!e.colorStops.length)throw\"Field 'colorStops' is required in gradient\";return e.rotation?e.rotation=Number(e.rotation):e.rotation=0,e.colorStops=e.colorStops.map((t=>Object.assign(Object.assign({},t),{offset:Number(t.offset)}))),e}function x(t){const e=Object.assign({},t);return e.width=Number(e.width),e.height=Number(e.height),e.margin=Number(e.margin),e.imageOptions=Object.assign(Object.assign({},e.imageOptions),{hideBackgroundDots:Boolean(e.imageOptions.hideBackgroundDots),imageSize:Number(e.imageOptions.imageSize),margin:Number(e.imageOptions.margin)}),e.margin>Math.min(e.width,e.height)&&(e.margin=Math.min(e.width,e.height)),e.dotsOptions=Object.assign({},e.dotsOptions),e.dotsOptions.gradient&&(e.dotsOptions.gradient=y(e.dotsOptions.gradient)),e.cornersSquareOptions&&(e.cornersSquareOptions=Object.assign({},e.cornersSquareOptions),e.cornersSquareOptions.gradient&&(e.cornersSquareOptions.gradient=y(e.cornersSquareOptions.gradient))),e.cornersDotOptions&&(e.cornersDotOptions=Object.assign({},e.cornersDotOptions),e.cornersDotOptions.gradient&&(e.cornersDotOptions.gradient=y(e.cornersDotOptions.gradient))),e.backgroundOptions&&(e.backgroundOptions=Object.assign({},e.backgroundOptions),e.backgroundOptions.gradient&&(e.backgroundOptions.gradient=y(e.backgroundOptions.gradient))),e}var S=i(873),C=i.n(S);function A(t){if(!t)throw new Error(\"Extension must be defined\");\".\"===t[0]&&(t=t.substring(1));const e={bmp:\"image/bmp\",gif:\"image/gif\",ico:\"image/vnd.microsoft.icon\",jpeg:\"image/jpeg\",jpg:\"image/jpeg\",png:\"image/png\",svg:\"image/svg+xml\",tif:\"image/tiff\",tiff:\"image/tiff\",webp:\"image/webp\",pdf:\"application/pdf\"}[t.toLowerCase()];if(!e)throw new Error(`Extension \"${t}\" is not supported`);return e}class M{constructor(t){(null==t?void 0:t.jsdom)?this._window=new t.jsdom(\"\",{resources:\"usable\"}).window:this._window=window,this._options=t?x(e(b,t)):b,this.update()}static _clearContainer(t){t&&(t.innerHTML=\"\")}_setupSvg(){if(!this._qr)return;const t=new v(this._options,this._window);this._svg=t.getElement(),this._svgDrawingPromise=t.drawQR(this._qr).then((()=>{var e;this._svg&&(null===(e=this._extension)||void 0===e||e.call(this,t.getElement(),this._options))}))}_setupCanvas(){var t,e;this._qr&&((null===(t=this._options.nodeCanvas)||void 0===t?void 0:t.createCanvas)?(this._nodeCanvas=this._options.nodeCanvas.createCanvas(this._options.width,this._options.height),this._nodeCanvas.width=this._options.width,this._nodeCanvas.height=this._options.height):(this._domCanvas=document.createElement(\"canvas\"),this._domCanvas.width=this._options.width,this._domCanvas.height=this._options.height),this._setupSvg(),this._canvasDrawingPromise=null===(e=this._svgDrawingPromise)||void 0===e?void 0:e.then((()=>{var t;if(!this._svg)return;const e=this._svg,i=(new this._window.XMLSerializer).serializeToString(e),r=btoa(i),n=`data:${A(\"svg\")};base64,${r}`;if(null===(t=this._options.nodeCanvas)||void 0===t?void 0:t.loadImage)return this._options.nodeCanvas.loadImage(n).then((t=>{var e,i;t.width=this._options.width,t.height=this._options.height,null===(i=null===(e=this._nodeCanvas)||void 0===e?void 0:e.getContext(\"2d\"))||void 0===i||i.drawImage(t,0,0)}));{const t=new this._window.Image;return new Promise((e=>{t.onload=()=>{var i,r;null===(r=null===(i=this._domCanvas)||void 0===i?void 0:i.getContext(\"2d\"))||void 0===r||r.drawImage(t,0,0),e()},t.src=n}))}})))}async _getElement(t=\"png\"){if(!this._qr)throw\"QR code is empty\";return\"svg\"===t.toLowerCase()?(this._svg&&this._svgDrawingPromise||this._setupSvg(),await this._svgDrawingPromise,this._svg):((this._domCanvas||this._nodeCanvas)&&this._canvasDrawingPromise||this._setupCanvas(),await this._canvasDrawingPromise,this._domCanvas||this._nodeCanvas)}update(t){M._clearContainer(this._container),this._options=t?x(e(this._options,t)):this._options,this._options.data&&(this._qr=C()(this._options.qrOptions.typeNumber,this._options.qrOptions.errorCorrectionLevel),this._qr.addData(this._options.data,this._options.qrOptions.mode||function(t){switch(!0){case/^[0-9]*$/.test(t):return\"Numeric\";case/^[0-9A-Z $%*+\\-./:]*$/.test(t):return\"Alphanumeric\";default:return\"Byte\"}}(this._options.data)),this._qr.make(),this._options.type===_?this._setupCanvas():this._setupSvg(),this.append(this._container))}append(t){if(t){if(\"function\"!=typeof t.appendChild)throw\"Container should be a single DOM node\";this._options.type===_?this._domCanvas&&t.appendChild(this._domCanvas):this._svg&&t.appendChild(this._svg),this._container=t}}applyExtension(t){if(!t)throw\"Extension function should be defined.\";this._extension=t,this.update()}deleteExtension(){this._extension=void 0,this.update()}async getRawData(t=\"png\"){if(!this._qr)throw\"QR code is empty\";const e=await this._getElement(t),i=A(t);if(!e)return null;if(\"svg\"===t.toLowerCase()){const t=`<?xml version=\"1.0\" standalone=\"no\"?>\\r\\n${(new this._window.XMLSerializer).serializeToString(e)}`;return\"undefined\"==typeof Blob||this._options.jsdom?Buffer.from(t):new Blob([t],{type:i})}return new Promise((t=>{const r=e;if(\"toBuffer\"in r)if(\"image/png\"===i)t(r.toBuffer(i));else if(\"image/jpeg\"===i)t(r.toBuffer(i));else{if(\"application/pdf\"!==i)throw Error(\"Unsupported extension\");t(r.toBuffer(i))}else\"toBlob\"in r&&r.toBlob(t,i,1)}))}async download(t){if(!this._qr)throw\"QR code is empty\";if(\"undefined\"==typeof Blob)throw\"Cannot download in Node.js, call getRawData instead.\";let e=\"png\",i=\"qr\";\"string\"==typeof t?(e=t,console.warn(\"Extension is deprecated as argument for 'download' method, please pass object { name: '...', extension: '...' } as argument\")):\"object\"==typeof t&&null!==t&&(t.name&&(i=t.name),t.extension&&(e=t.extension));const r=await this._getElement(e);if(r)if(\"svg\"===e.toLowerCase()){let t=(new XMLSerializer).serializeToString(r);t='<?xml version=\"1.0\" standalone=\"no\"?>\\r\\n'+t,n(`data:${A(e)};charset=utf-8,${encodeURIComponent(t)}`,`${i}.svg`)}else n(r.toDataURL(A(e)),`${i}.${e}`)}}const $=M})(),r.default})()));\n//# sourceMappingURL=qr-code-styling.js.map","// Auto-generated from logo.png (optimized for QR codes)\r\n// Original: 1024x1024, Optimized: 56x56\r\nexport const DROP_LOGO_PNG = `data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4BAMAAABaqCYtAAAAMFBMVEUKfmT+//8Bd1tSpJAginI7l4OgzcNxl0BjrZyQxbl6uas6ilTr9fOz18/R5+KbojH3wCiYAAAACXBIWXMAAAsTAAALEwEAmpwYAAABYklEQVR42mNgGKZACY+UggsTTqmIaWkZOGQjpmWZMHilKjCwBmHIuWWZKCkwKIVNUVJdhC7HNAMoBTLcdmnnBQydE0AyQAUKna2TFdB1TlVQUnBdZQQ0WSkSQzI2JGJazuJpDkA2pwO6sapps0yslJRTgEwtIwwXKSgpdSiAvak6CZtX3SBBoDQFm6TyVQVQSAU/VsAiyQQMAmAgZnVik+QusF0xbVaIkhY2Y+u3K3SFKClgDXrucu4CHFJAye8bCnBGNnt1QTVOye3/8Uiy19fjMXb79g04Jbm/45ZkUir/jlPONTTYBEg7YJNkEwSCJgaWd9g0JoIkLzHoCmKmTAYtkJxgEtNCLJIuNkCpM2eMlAVlMeRUzwDl5FwclHwEj2AEvTLITKAelouCRgxYJQXPvXsjKKmAQxIELjDglpRxwiMprIBHchEDbklZrMFubGxs0dHRYYC9RIAABYZRQAoAAMPFUF7XIspMAAAAAElFTkSuQmCC`;\r\n","import type { QROptions } from './types';\r\nimport QRCodeStyling from 'qr-code-styling';\r\nimport { DROP_LOGO_PNG } from './assets/logo-icon';\r\n\r\nfunction applyStyles(element: HTMLElement, styles: Record<string, string>): void {\r\n Object.entries(styles).forEach(([key, value]) => {\r\n (element.style as any)[key] = value;\r\n });\r\n}\r\n\r\nfunction convertColorToHex(color: string): string {\r\n if (color.startsWith('#')) {\r\n return color;\r\n }\r\n\r\n if (color.startsWith('rgb')) {\r\n const match = color.match(/rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+)/);\r\n if (match) {\r\n const r = parseInt(match[1]).toString(16).padStart(2, '0');\r\n const g = parseInt(match[2]).toString(16).padStart(2, '0');\r\n const b = parseInt(match[3]).toString(16).padStart(2, '0');\r\n return `#${r}${g}${b}`;\r\n }\r\n }\r\n\r\n if (color.startsWith('hsl')) {\r\n const match = color.match(/hsla?\\((\\d+),\\s*(\\d+)%,\\s*(\\d+)%/);\r\n if (match) {\r\n const h = parseInt(match[1]) / 360;\r\n const s = parseInt(match[2]) / 100;\r\n const l = parseInt(match[3]) / 100;\r\n\r\n let r, g, b;\r\n if (s === 0) {\r\n r = g = b = l;\r\n } else {\r\n const hue2rgb = (p: number, q: number, t: number) => {\r\n if (t < 0) t += 1;\r\n if (t > 1) t -= 1;\r\n if (t < 1/6) return p + (q - p) * 6 * t;\r\n if (t < 1/2) return q;\r\n if (t < 2/3) return p + (q - p) * (2/3 - t) * 6;\r\n return p;\r\n };\r\n\r\n const q = l < 0.5 ? l * (1 + s) : l + s - l * s;\r\n const p = 2 * l - q;\r\n r = hue2rgb(p, q, h + 1/3);\r\n g = hue2rgb(p, q, h);\r\n b = hue2rgb(p, q, h - 1/3);\r\n }\r\n\r\n const toHex = (x: number) => Math.round(x * 255).toString(16).padStart(2, '0');\r\n return `#${toHex(r)}${toHex(g)}${toHex(b)}`;\r\n }\r\n }\r\n\r\n return color;\r\n}\r\n\r\n\r\nfunction createLinkElement(url: string, size: number, labelText: string): HTMLDivElement {\r\n const container = document.createElement(\"div\");\r\n container.className = \"drop-payment-link\";\r\n applyStyles(container, {\r\n marginTop: \"16px\",\r\n width: `${size}px`,\r\n });\r\n\r\n const label = document.createElement(\"label\");\r\n label.className = \"drop-link-label\";\r\n label.textContent = labelText;\r\n applyStyles(label, {\r\n display: \"block\",\r\n fontSize: \"14px\",\r\n fontWeight: \"500\",\r\n color: \"hsl(160, 65%, 25%)\",\r\n marginBottom: \"8px\",\r\n fontFamily: \"system-ui, -apple-system, sans-serif\",\r\n });\r\n\r\n const inputWrapper = document.createElement(\"div\");\r\n inputWrapper.className = \"drop-link-input-wrapper\";\r\n applyStyles(inputWrapper, {\r\n position: \"relative\",\r\n });\r\n\r\n const input = document.createElement(\"input\");\r\n input.type = \"text\";\r\n input.readOnly = true;\r\n input.value = url;\r\n input.className = \"drop-link-input\";\r\n input.setAttribute(\"aria-label\", \"Payment link\");\r\n\r\n const hint = document.createElement(\"p\");\r\n hint.className = \"drop-link-hint\";\r\n hint.textContent = \"Tap to copy\";\r\n applyStyles(hint, {\r\n fontSize: \"12px\",\r\n color: \"hsl(160, 30%, 40%)\",\r\n marginTop: \"6px\",\r\n marginBottom: \"0\",\r\n fontFamily: \"system-ui, -apple-system, sans-serif\",\r\n });\r\n\r\n const copyToClipboard = async () => {\r\n input.select();\r\n\r\n try {\r\n if (navigator.clipboard && navigator.clipboard.writeText) {\r\n await navigator.clipboard.writeText(url);\r\n showCopyFeedback();\r\n } else {\r\n const success = document.execCommand(\"copy\");\r\n if (success) {\r\n showCopyFeedback();\r\n }\r\n }\r\n } catch (err) {\r\n document.execCommand(\"copy\");\r\n showCopyFeedback();\r\n }\r\n };\r\n\r\n const showCopyFeedback = () => {\r\n const originalText = hint.textContent;\r\n hint.textContent = \"✓ Copied to clipboard!\";\r\n applyStyles(hint, {\r\n color: \"hsl(160, 65%, 35%)\",\r\n fontWeight: \"500\",\r\n });\r\n\r\n setTimeout(() => {\r\n hint.textContent = originalText;\r\n applyStyles(hint, {\r\n color: \"hsl(160, 30%, 40%)\",\r\n fontWeight: \"normal\",\r\n });\r\n }, 2000);\r\n };\r\n\r\n input.addEventListener(\"click\", copyToClipboard);\r\n\r\n input.addEventListener(\"keydown\", (e) => {\r\n if (e.key === \"Enter\" || e.key === \" \") {\r\n e.preventDefault();\r\n copyToClipboard();\r\n }\r\n });\r\n\r\n applyStyles(input, {\r\n width: \"100%\",\r\n padding: \"12px\",\r\n fontSize: \"14px\",\r\n fontFamily: \"monospace\",\r\n border: \"2px solid hsl(160, 65%, 25%)\",\r\n borderRadius: \"8px\",\r\n backgroundColor: \"hsl(0, 0%, 98%)\",\r\n color: \"hsl(160, 65%, 25%)\",\r\n boxSizing: \"border-box\",\r\n cursor: \"pointer\",\r\n outline: \"none\",\r\n });\r\n\r\n input.addEventListener(\"focus\", () => {\r\n applyStyles(input, {\r\n borderColor: \"hsl(160, 65%, 35%)\",\r\n backgroundColor: \"hsl(160, 80%, 98%)\",\r\n });\r\n });\r\n\r\n input.addEventListener(\"blur\", () => {\r\n applyStyles(input, {\r\n borderColor: \"hsl(160, 65%, 25%)\",\r\n backgroundColor: \"hsl(0, 0%, 98%)\",\r\n });\r\n });\r\n\r\n inputWrapper.appendChild(input);\r\n container.appendChild(label);\r\n container.appendChild(inputWrapper);\r\n container.appendChild(hint);\r\n\r\n return container;\r\n}\r\n\r\nexport async function renderQR(\r\n container: HTMLElement,\r\n data: string,\r\n size: number,\r\n options: QROptions = {}\r\n): Promise<void> {\r\n const {\r\n moduleColor = \"hsl(160, 65%, 25%)\",\r\n backgroundColor = \"hsl(0, 0%, 98%)\",\r\n cornerRadius = 0,\r\n showCopyableLink = true,\r\n linkText = \"Or paste this link:\",\r\n } = options;\r\n\r\n const hexModuleColor = convertColorToHex(moduleColor);\r\n const hexBackgroundColor = convertColorToHex(backgroundColor);\r\n\r\n const logoPercentage = Math.sqrt(0.18);\r\n const imageMargin = Math.round(size * 0.03);\r\n\r\n const qrCode = new QRCodeStyling({\r\n width: size,\r\n height: size,\r\n type: \"svg\",\r\n data: data,\r\n image: DROP_LOGO_PNG,\r\n qrOptions: {\r\n errorCorrectionLevel: 'H'\r\n },\r\n dotsOptions: {\r\n color: hexModuleColor,\r\n type: cornerRadius > 0 ? \"rounded\" : \"square\"\r\n },\r\n backgroundOptions: {\r\n color: hexBackgroundColor,\r\n },\r\n imageOptions: {\r\n hideBackgroundDots: true,\r\n imageSize: logoPercentage,\r\n margin: imageMargin\r\n }\r\n });\r\n\r\n const wrapper = document.createElement(\"div\");\r\n wrapper.className = \"drop-payment-widget\";\r\n\r\n qrCode.append(wrapper);\r\n\r\n const svg = wrapper.querySelector(\"svg\");\r\n if (svg) {\r\n svg.setAttribute('role', 'img');\r\n svg.setAttribute('aria-label', 'Payment QR Code');\r\n }\r\n\r\n if (showCopyableLink) {\r\n const linkElement = createLinkElement(data, size, linkText);\r\n wrapper.appendChild(linkElement);\r\n }\r\n\r\n container.innerHTML = \"\";\r\n container.appendChild(wrapper);\r\n}\r\n","import type { DropConfig } from './types';\r\n\r\nexport class ValidationError extends Error {\r\n constructor(message: string) {\r\n super(message);\r\n this.name = 'ValidationError';\r\n }\r\n}\r\n\r\nexport function validateDropConfig(config: DropConfig): void {\r\n validateClientSecret(config.clientSecret);\r\n if (config.qrSize !== undefined) validateQRSize(config.qrSize);\r\n if (config.pollingInterval !== undefined) validatePollingInterval(config.pollingInterval);\r\n if (config.qrOptions) validateQROptions(config.qrOptions);\r\n if (config.linkText !== undefined) validateLinkText(config.linkText);\r\n validateCallbacks(config);\r\n}\r\n\r\nfunction validateClientSecret(clientSecret: string): void {\r\n if (!clientSecret || clientSecret.trim() === '') {\r\n throw new ValidationError('clientSecret is required and cannot be empty');\r\n }\r\n\r\n if (clientSecret.length < 10) {\r\n throw new ValidationError(\r\n `clientSecret must be at least 10 characters long. Received length: ${clientSecret.length}`\r\n );\r\n }\r\n\r\n if (!clientSecret.startsWith('pi_secret_')) {\r\n throw new ValidationError(\r\n \"clientSecret must start with 'pi_secret_'. Received: \" + clientSecret.substring(0, 10) + '...'\r\n );\r\n }\r\n}\r\n\r\nfunction validateQRSize(qrSize: number): void {\r\n if (typeof qrSize !== 'number' || isNaN(qrSize) || !isFinite(qrSize)) {\r\n throw new ValidationError(`qrSize must be a valid number. Received: ${qrSize}`);\r\n }\r\n\r\n if (qrSize < 128 || qrSize > 1024) {\r\n throw new ValidationError(\r\n `QR size must be between 128 and 1024 pixels. Received: ${qrSize}`\r\n );\r\n }\r\n}\r\n\r\nfunction validatePollingInterval(pollingInterval: number): void {\r\n if (typeof pollingInterval !== 'number' || isNaN(pollingInterval) || !isFinite(pollingInterval)) {\r\n throw new ValidationError(`pollingInterval must be a valid number. Received: ${pollingInterval}`);\r\n }\r\n\r\n if (pollingInterval < 1000 || pollingInterval > 60000) {\r\n throw new ValidationError(\r\n `pollingInterval must be between 1000 and 60000 milliseconds. Received: ${pollingInterval}`\r\n );\r\n }\r\n}\r\n\r\nfunction validateQROptions(qrOptions: DropConfig['qrOptions']): void {\r\n if (!qrOptions) return;\r\n\r\n if (qrOptions.cornerRadius !== undefined) {\r\n validateCornerRadius(qrOptions.cornerRadius);\r\n }\r\n\r\n if (qrOptions.moduleColor !== undefined) {\r\n validateColor(qrOptions.moduleColor, 'moduleColor');\r\n }\r\n\r\n if (qrOptions.backgroundColor !== undefined) {\r\n validateColor(qrOptions.backgroundColor, 'backgroundColor');\r\n }\r\n}\r\n\r\nfunction validateCornerRadius(cornerRadius: number): void {\r\n if (typeof cornerRadius !== 'number' || isNaN(cornerRadius) || !isFinite(cornerRadius)) {\r\n throw new ValidationError(`cornerRadius must be a valid number. Received: ${cornerRadius}`);\r\n }\r\n\r\n if (cornerRadius < 0 || cornerRadius > 1) {\r\n throw new ValidationError(\r\n `cornerRadius must be between 0 and 1. Received: ${cornerRadius}`\r\n );\r\n }\r\n}\r\n\r\nfunction validateColor(color: string, paramName: string): void {\r\n if (typeof color !== 'string') {\r\n throw new ValidationError(`${paramName} must be a string. Received: ${typeof color}`);\r\n }\r\n\r\n const hexPattern = /^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$/;\r\n const rgbPattern = /^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/;\r\n const rgbaPattern = /^rgba\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(0|1|0?\\.\\d+)\\s*\\)$/;\r\n const hslPattern = /^hsl\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})%\\s*,\\s*(\\d{1,3})%\\s*\\)$/;\r\n const hslaPattern = /^hsla\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})%\\s*,\\s*(\\d{1,3})%\\s*,\\s*(0|1|0?\\.\\d+)\\s*\\)$/;\r\n\r\n let isValidColor = hexPattern.test(color);\r\n\r\n if (!isValidColor) {\r\n const rgbMatch = color.match(rgbPattern);\r\n if (rgbMatch) {\r\n const [, r, g, b] = rgbMatch;\r\n isValidColor = parseInt(r) <= 255 && parseInt(g) <= 255 && parseInt(b) <= 255;\r\n }\r\n }\r\n\r\n if (!isValidColor) {\r\n const rgbaMatch = color.match(rgbaPattern);\r\n if (rgbaMatch) {\r\n const [, r, g, b] = rgbaMatch;\r\n isValidColor = parseInt(r) <= 255 && parseInt(g) <= 255 && parseInt(b) <= 255;\r\n }\r\n }\r\n\r\n if (!isValidColor) {\r\n const hslMatch = color.match(hslPattern);\r\n if (hslMatch) {\r\n const [, h, s, l] = hslMatch;\r\n isValidColor = parseInt(h) <= 360 && parseInt(s) <= 100 && parseInt(l) <= 100;\r\n }\r\n }\r\n\r\n if (!isValidColor) {\r\n const hslaMatch = color.match(hslaPattern);\r\n if (hslaMatch) {\r\n const [, h, s, l] = hslaMatch;\r\n isValidColor = parseInt(h) <= 360 && parseInt(s) <= 100 && parseInt(l) <= 100;\r\n }\r\n }\r\n\r\n if (!isValidColor) {\r\n throw new ValidationError(\r\n `${paramName} must be a valid color format (hex, rgb, rgba, hsl, or hsla). Received: ${color}`\r\n );\r\n }\r\n}\r\n\r\nfunction validateLinkText(linkText: string): void {\r\n if (typeof linkText !== 'string') {\r\n throw new ValidationError(`linkText must be a string. Received: ${typeof linkText}`);\r\n }\r\n\r\n if (linkText.length > 100) {\r\n throw new ValidationError(\r\n `linkText must be 100 characters or less. Received length: ${linkText.length}`\r\n );\r\n }\r\n}\r\n\r\nfunction validateCallbacks(config: DropConfig): void {\r\n if (config.onStatusChange !== undefined && typeof config.onStatusChange !== 'function') {\r\n throw new ValidationError(\r\n `onStatusChange must be a function if provided. Received: ${typeof config.onStatusChange}`\r\n );\r\n }\r\n\r\n if (config.onError !== undefined && typeof config.onError !== 'function') {\r\n throw new ValidationError(\r\n `onError must be a function if provided. Received: ${typeof config.onError}`\r\n );\r\n }\r\n\r\n if (config.onPoll !== undefined && typeof config.onPoll !== 'function') {\r\n throw new ValidationError(\r\n `onPoll must be a function if provided. Received: ${typeof config.onPoll}`\r\n );\r\n }\r\n}\r\n","export const PaymentStatuses = {\r\n INITIATED: \"initiated\",\r\n PENDING: \"pending\",\r\n SUCCEEDED: \"succeeded\",\r\n FAILED: \"failed\",\r\n CANCELLED: \"cancelled\",\r\n EXPIRED: \"expired\",\r\n} as const;\r\n\r\nexport type DropPaymentStatus =\r\n (typeof PaymentStatuses)[keyof typeof PaymentStatuses];\r\n\r\nexport const ErrorCodes = {\r\n NETWORK_ERROR: \"NETWORK_ERROR\",\r\n AUTH_ERROR: \"AUTH_ERROR\",\r\n RATE_LIMITED: \"RATE_LIMITED\",\r\n NOT_FOUND: \"NOT_FOUND\",\r\n VALIDATION_ERROR: \"VALIDATION_ERROR\",\r\n UNKNOWN: \"UNKNOWN\",\r\n} as const;\r\n\r\nexport type DropErrorCode = (typeof ErrorCodes)[keyof typeof ErrorCodes];\r\n\r\nexport interface DropError {\r\n code: DropErrorCode;\r\n message: string;\r\n retryable: boolean;\r\n}\r\n\r\nexport interface QROptions {\r\n moduleColor?: string;\r\n backgroundColor?: string;\r\n cornerRadius?: number;\r\n showCopyableLink?: boolean;\r\n linkText?: string;\r\n}\r\n\r\nexport interface DropConfig {\r\n clientSecret: string;\r\n instanceUrl: string;\r\n containerId: string;\r\n apiBaseUrl?: string;\r\n qrSize?: number;\r\n qrOptions?: QROptions;\r\n pollingInterval?: number;\r\n showCopyableLink?: boolean;\r\n linkText?: string;\r\n onStatusChange?: (status: DropPaymentStatus) => void;\r\n onError?: (error: DropError) => void;\r\n onPoll?: () => void;\r\n}\r\n\r\nexport interface DropInstance {\r\n destroy(): void;\r\n getStatus(): DropPaymentStatus;\r\n}\r\n\r\nexport interface StatusResponse {\r\n paymentIntentId: string;\r\n status: string;\r\n currency: string;\r\n amount: number;\r\n expiresAt: string;\r\n}\r\n","import type { DropConfig, DropInstance, DropPaymentStatus } from \"./types\";\r\nimport { Poller } from \"./poller\";\r\nimport { renderQR } from \"./qr\";\r\nimport { validateDropConfig } from \"./validator\";\r\n\r\nconst DEFAULT_QR_SIZE = 256;\r\n\r\nfunction parseInstanceUrl(instanceUrl: string): {\r\n paymentAccountId: string;\r\n paymentIntentId: string;\r\n apiBaseUrl: string;\r\n queryString: string;\r\n} {\r\n const urlWithoutQuery = instanceUrl.split('?')[0].split('#')[0];\r\n const queryString = instanceUrl.includes('?')\r\n ? instanceUrl.substring(instanceUrl.indexOf('?'))\r\n : '';\r\n\r\nconst pattern = \r\n /\\/payment-accounts\\/([^/]+)\\/payment-intents\\/([^/]+)/;\r\n const match = urlWithoutQuery.match(pattern);\r\n\r\n if (!match) {\r\n throw new Error(\r\n \"Invalid instanceUrl format. Expected: .../payment-accounts/{id}/payment-intents/{id}\",\r\n );\r\n }\r\n\r\n const paymentAccountId = match[1];\r\n const paymentIntentId = match[2];\r\n const apiBaseUrl = urlWithoutQuery.substring(\r\n 0,\r\n urlWithoutQuery.indexOf(\"/payment-accounts/\"),\r\n );\r\n\r\n return { paymentAccountId, paymentIntentId, apiBaseUrl, queryString };\r\n}\r\n\r\nexport const Drop = {\r\n async create(config: DropConfig): Promise<DropInstance> {\r\n validateDropConfig(config);\r\n\r\n const {\r\n clientSecret,\r\n instanceUrl,\r\n containerId,\r\n qrSize = DEFAULT_QR_SIZE,\r\n pollingInterval,\r\n onStatusChange,\r\n onError,\r\n onPoll,\r\n } = config;\r\n\r\n const container = document.getElementById(containerId);\r\n if (!container) {\r\n throw new Error(`Element with id \"${containerId}\" not found.`);\r\n }\r\n\r\n const { paymentAccountId, paymentIntentId, apiBaseUrl: parsedApiBaseUrl, queryString } =\r\n parseInstanceUrl(instanceUrl);\r\n const apiBaseUrl = config.apiBaseUrl || parsedApiBaseUrl;\r\n\r\n const { qrOptions, showCopyableLink, linkText } = config;\r\n await renderQR(container, instanceUrl, qrSize, {\r\n ...qrOptions,\r\n showCopyableLink,\r\n linkText,\r\n });\r\n\r\n const poller = new Poller({\r\n apiBaseUrl,\r\n paymentAccountId,\r\n paymentIntentId,\r\n clientSecret,\r\n queryString,\r\n pollingInterval,\r\n onStatusChange: (status: DropPaymentStatus) => {\r\n onStatusChange?.(status);\r\n },\r\n onError: (error) => {\r\n onError?.(error);\r\n },\r\n onPoll: () => {\r\n onPoll?.();\r\n },\r\n });\r\n\r\n poller.start();\r\n\r\n return {\r\n destroy() {\r\n poller.stop();\r\n container.innerHTML = \"\";\r\n },\r\n getStatus(): DropPaymentStatus {\r\n return poller.getStatus();\r\n },\r\n };\r\n },\r\n};\r\n\r\nexport { renderQR } from \"./qr\";\r\nexport { ValidationError } from \"./validator\";\r\nexport { ErrorCodes, PaymentStatuses } from \"./types\";\r\n\r\nexport type {\r\n DropConfig,\r\n DropInstance,\r\n DropPaymentStatus,\r\n DropError,\r\n DropErrorCode,\r\n QROptions,\r\n} from \"./types\";\r\n"],"names":["STATUS_MAP","TERMINAL_STATUSES","mapStatus","backendStatus","isTerminal","status","createError","code","message","retryable","fromHttpStatus","networkError","DEFAULT_INTERVAL","BACKOFF_MULTIPLIER","MAX_INTERVAL","MAX_CONSECUTIVE_FAILURES","EXPIRY_GRACE_MS","Poller","config","_a","_b","response","data","mapped","retryAfter","seconds","queryString","url","t","e","module","this","i","r","n","s","o","h","p","v","m","b","x","y","C","S","M","A","a","d","u","c","l","g","f","w","_","$","O","D","k","z","B","P","I","DROP_LOGO_PNG","applyStyles","element","styles","key","value","convertColorToHex","color","match","hue2rgb","q","toHex","createLinkElement","size","labelText","container","label","inputWrapper","input","hint","copyToClipboard","showCopyFeedback","originalText","renderQR","options","moduleColor","backgroundColor","cornerRadius","showCopyableLink","linkText","hexModuleColor","hexBackgroundColor","logoPercentage","imageMargin","qrCode","QRCodeStyling","wrapper","svg","linkElement","ValidationError","validateDropConfig","validateClientSecret","validateQRSize","validatePollingInterval","validateQROptions","validateLinkText","validateCallbacks","clientSecret","qrSize","pollingInterval","qrOptions","validateCornerRadius","validateColor","paramName","hexPattern","rgbPattern","rgbaPattern","hslPattern","hslaPattern","isValidColor","rgbMatch","rgbaMatch","hslMatch","hslaMatch","PaymentStatuses","ErrorCodes","DEFAULT_QR_SIZE","parseInstanceUrl","instanceUrl","urlWithoutQuery","pattern","paymentAccountId","paymentIntentId","apiBaseUrl","Drop","containerId","onStatusChange","onError","onPoll","parsedApiBaseUrl","poller","error"],"mappings":"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AE,CAAC,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,IAAG,GAAE,KAAI,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,IAAG,GAAE,KAAI,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,IAAG,GAAE,KAAI,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,IAAG,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,IAAG,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,IAAG,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EA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","x_google_ignoreList":[3]}